(57)【要約】【課題】送信側装置のボーレートが不明であっても、複雑な回路を付け加えることなく、受信側装置において送信側装置のボーレートに自動的に合わせる。【解決手段】ホスト１とターゲット２でデータ長、パリティビット、ストップビット長を同じ設定値とし、ボーレート設定用データをホスト１からターゲット２に送信する。ターゲット２は、ボーレートを順次変化させてボーレート設定用データを受信し、ボーレート設定用データを正常に受信可能な範囲を見つけ出す。このボーレート範囲から最適なボーレート値を算出し、その値をターゲット２のボーレート値として設定する。この処理手順を記述したボーレート設定プログラムをホスト１とターゲット２に搭載して、ボーレート設定のために複雑な回路を付け加えることなく、ソフトウェアによる処理だけでホスト１のボーレートに合わせて、ターゲット２側で容易にボーレートの設定を行うことができる。【選択図】　　図３
2004064616.tif 000002
【特許請求の範囲】
【請求項１】
データ交信を行う二つの装置間でボーレートを設定するボーレート設定方法であって、
一方の装置から他方の装置にボーレート設定用データを送信すると共に、該他方の装置でボーレートを順次変化させて、ボーレート設定用データ値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出ステップと、
該他方の装置でボーレート設定用データ値を正常に受信可能なボーレート範囲から算出した最適ボーレート値をボーレートとして設定するボーレート設定ステップとを含むボーレート設定方法。
【請求項２】
前記ボーレート範囲検出ステップにおいて、基本クロックを分周する分周値を変化させることによってボーレートを順次変化させる請求項１記載のボーレート設定方法。
【請求項３】
前記ボーレート設定ステップにおいて、前記ボーレート設定用データ値を正常に受信可能な前記分周値の最大値と最小値との中間値に対応するボーレートを前記最適ボーレート値として算出する請求項１または２記載のボーレート設定方法。
【請求項４】
前記他方の装置でボーレートが設定された場合に、設定されたボーレートによって該他方の装置から前記一方の装置に設定ボーレート確認用のデータを送信するデータ送信ステップをさらに含み、該データの送信により該他方の装置でボーレートの設定が行われたことを該一方の装置に通知する請求項１〜３のいずれかに記載のボーレート設定方法。
【請求項５】
前記他方の装置において正常にボーレートの設定が行われなかった場合に、そのことを示すデータを該他方の装置から前記一方の装置に送信するデータ送信ステップをさらに含み、該一方の装置はこの送信データを検出してボーレート設定処理を終了する請求項１〜３のいずれかに記載のボーレート設定方法。
【請求項６】
前記一方の装置からのボーレート設定用データの送信回数を制限し、その間に前記他方の装置において正常にボーレートの設定が行われなかった場合に、該一方の装置はそれを検出してボーレート設定処理を終了する請求項１〜３のいずれかに記載のボーレート設定方法。
【請求項７】
前記一方の装置および他方の装置において、データ長、パリティビットおよびストップビット長を同じ設定値に設定する請求項１記載のボーレート設定方法。
【請求項８】
請求項１〜７のいずれかに記載のボーレート設定方法の処理手順をコンピュータに実行させるボーレート設定プログラム。
【請求項９】
請求項８記載のボーレート設定プログラムが記録されたコンピュータ読み出し可能な可読記録媒体。
【請求項１０】
二つの装置間でデータ交信する通信システムにおいて、
ボーレート設定用データを他方の装置に送信する一方の装置と、
ボーレートを順次変化させて、該一方の装置からのボーレート設定用データ値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出手段および、該ボーレート設定用データ値を正常に受信可能なボーレート範囲から算出した最適ボーレート値をボーレートとして設定するボーレート設定手段を有し、設定ボーレート値によって該一方の装置にデータを送信する他方の装置とが設けられた通信システム。
【請求項１１】
前記一方の装置はボーレート設定用データを生成するボーレート設定用データ生成手段を有する請求項１０記載の通信システム。
【請求項１２】
前記ボーレート設定手段は、前記ボーレート範囲の中間値をボーレートとして設定する請求項１０記載の通信システム。
【請求項１３】
二つの装置間でデータを交信する通信方法において、
一方の装置から他方の装置にボーレート設定用データを送信すると共に、該他方の装置でボーレートを順次変化させて、該ボーレート設定用データの値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出ステップと、
該他方の装置でボーレート設定用データ値を正常に受信可能なボーレート範囲から算出した最適ボーレート値をボーレートとして設定するボーレート設定ステップとを含み、
該他方の装置で設定されたボーレートにより該二つの装置間でデータ交信可能とする通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばパーソナルコンピュータなどのホストと、ボーレートを任意に設定可能とする例えばマイクロプロセッサなどを搭載したターゲットとの間で、ボーレートを合わせて通信を行うボーレート設定方法、この処理手順をコンピュータに実行させるボーレート設定プログラム、これを記録した可読記録媒体、これを用いた通信システムおよび通信方法に関する。
【０００２】
【従来の技術】
調歩同期式通信方式とは、スタートビット、データ、パリティ、ストップビットの順にデータを伝送する非同期通信方式であり、この調歩同期式通信によりデータ送受信を行う場合には、送信側装置と受信側装置との間で、通信フォーマットを同じフォーマットに設定する必要がある。
【０００３】
この場合に設定される通信フォーマットとしては、１秒間に転送されるビット数であるボーレート（ｂｐｓ）、データ長、パリティビットの有無、パリティビットが付加されている場合には偶数／奇数、およびストップビット長が挙げられる。
【０００４】
また、このような調歩同期式通信を行う通信システムとしては、例えば、パーソナルコンピュータなどのホストと、調歩同期式シリアル通信機能およびそのボーレートを任意に設定する機能を備えたマイクロプロセッサを搭載したシステムボードなどのターゲットとの間でデータ通信を行う通信システムなどが知られている。
【０００５】
図４は、従来の調歩同期式通信装置における通信フォーマット設定方法を説明するためのフローチャートである。
【０００６】
図４に示すように、まず、ステップＳ２０１において、通信用ＩＣに通信フォーマットを初期設定する。通信フォーマットの変更を行う場合には、ステップＳ２０２、ステップＳ２０４、ステップＳ２０６およびステップＳ２０８の各入力処理においてそれぞれ、ボーレート、キャラクタ長（データ長）、パリティビットおよびストップビットの情報を入力装置から入力し、ステップＳ２０３、ステップＳ２０５、ステップＳ２０７およびステップＳ２０９の各設定処理においてそれぞれ、入力された情報を通信用ＩＣにデータ設定する。これによって、通信フォーマットが変更される。
【０００７】
次に、ステップＳ２１０において、通信相手の装置が通信可能状態になるまで待ち、通信相手の装置が通信可能状態になると（ＹＥＳ）、ステップＳ２１１で、設定された通信フォーマットでデータ通信が行われる。
【０００８】
しかしながら、図４に示す従来の通信フォーマット設定方法では、通信フォーマットを変更する際に、通信を行う両方の装置においてそれぞれ、入力装置から通信フォーマットを入力して再設定する必要がある。
【０００９】
これを解決するために、例えば特開平６−１６４６７１号公報「調歩同期式データ通信装置」では、一方の装置に通信フォーマットを設定することによって、他方の装置の通信フォーマットを自動的に合わせて設定することができる通信フォーマット設定方法が提示されている。
【００１０】
図５は、特開平６−１６４６７１号公報「調歩同期式データ通信装置」における通信フォーマット設定処理の動作手順を示すフローチャートである。
【００１１】
図５に示すように、まず、送信側装置と受信側装置の双方で、同じ通信フォーマットに予め設定しておく。通信フォーマットの変更を行う場合には、送信局のステップＳ３０１と、受信局のステップＳ３０４において、通信相手の装置が通信可能状態になるまで待つ。
【００１２】
次に、通信相手の装置が通信可能状態になると（ＹＥＳ）、送信側装置では、ステップＳ３０２でボーレートの情報（ボーレート設定用初期化信号）を受信側装置に送信すると共に、ステップＳ３０３でキャラクタ長（データ長）、パリティビット、ストップビットの情報（キャラクタ長、パリティビット、ストップビット設定用初期化信号）を受信側装置に送信する。
【００１３】
一方、受信側装置では、ステップＳ３０５でボーレート設定用初期化信号を受信すると、受信した信号を解析し、通信用ＩＣにボーレートを設定する。また、ステップＳ３０６でキャラクタ長、パリティビット、ストップビット設定用初期化信号を受信すると、受信した信号を解析し、通信用ＩＣにキャラクタ長、パリティビット、ストップビットを設定する。これによって、設定された通信フォーマットで送信側装置と受信側装置との間でデータ通信が行われる。
【００１４】
【発明が解決しようとする課題】
上記従来の特開平６−１６４６７１号公報「調歩同期式データ通信装置」では、送信側装置からボーレート、キャラクタ長（データ長）、パリティビット、ストップビットなどの情報が受信側装置に送信され、その受信側装置では、受信されたこれらの各情報値に合わせて通信フォーマットが設定される。
【００１５】
しかしながら、通信に際して最初に双方の各装置に同じ通信フォーマットに設定する必要があるにもかかわらず、この方法により通信フォーマットの設定時に、送信側装置から受信側装置に通信フォーマットの情報を送信している。よって、送信側装置と受信側装置とを接続する際に、予め双方のボーレートを確認しておくことが必要になってくる。
【００１６】
また、システムボード上に搭載されているマイクロプロセッサのＩ／Ｏポート端子とスイッチとを接続して、そのスイッチ状態をマイクロプロセッサに入力することにより、通信フォーマットを設定することも可能である。しかしながら、この場合には、マイクロプロセッサのＩ／Ｏポート端子とスイッチとを接続するための複雑な回路が必要となる。
【００１７】
さらに、ホスト側のパーソナルコンピュータから送信されたスタートビット幅を、ターゲット側でタイマを用いて測定し、ボーレートを自動的に設定することも可能である。しかしながら、この場合にも、ボーレート設定のための専用の回路が必要になり、通信システムの構成がより複雑になる。
【００１８】
本発明は、上記従来の事情に鑑みて為されたもので、調歩同期式シリアル通信を行う際に、送信側装置のボーレートが不明であっても、複雑な回路を付け加えることなく、受信側装置において送信側装置のボーレートに自動的に合わせることができるボーレート設定方法、この処理手順をコンピュータに実行させるボーレート設定プログラム、これを記録した可読記録媒体、これを用いた通信システムおよび通信方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
本発明のボーレート設定方法は、例えば調歩同期式シリアル通信などによりデータ交信する二つの装置間でボーレートを設定するボーレート設定方法において、一方の装置から他方の装置にボーレート設定用データを送信すると共に、他方の装置でボーレートを順次変化させて、ボーレート設定用データ値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出ステップと、他方の装置でボーレート設定用データ値を正常に受信可能なボーレート範囲から算出した最適ボーレート値をボーレートとして設定するボーレート設定ステップとを含み、そのことにより上記目的が達成される。
【００２０】
また、好ましくは、本発明のボーレート設定方法におけるボーレート範囲検出ステップにおいて、基本クロックを分周する分周値を変化させることによってボーレートを順次変化させる。
【００２１】
さらに、好ましくは、本発明のボーレート設定方法におけるボーレート設定ステップにおいて、ボーレート設定用データ値を正常に受信可能な分周値の最大値と最小値との中間値に対応するボーレートを最適ボーレート値として算出する。
【００２２】
さらに、好ましくは、本発明のボーレート設定方法において、他方の装置でボーレートが設定された場合に、設定されたボーレートによって他方の装置から一方の装置に設定ボーレート確認用のデータを送信するデータ送信ステップをさらに含み、このデータの送信により他方の装置でボーレートの設定が行われたことを一方の装置に通知する。
【００２３】
さらに、好ましくは、本発明のボーレート設定方法において、他方の装置で正常にボーレートの設定が行われなかった場合に、そのことを示すデータを他方の装置から一方の装置に送信するデータ送信ステップをさらに含み、一方の装置はこの送信データを検出してボーレート設定処理を終了する。また、好ましくは、本発明のボーレート設定方法において、一方の装置からのボーレート設定用データの送信回数を制限し、その間に他方の装置において正常にボーレートの設定が行われなかった場合に、一方の装置はそれを検出してボーレート設定処理を終了する。
【００２４】
さらに、好ましくは、本発明のボーレート設定方法における一方の装置および他方の装置において、データ長、パリティビットおよびストップビット長を同じ設定値に設定する。
【００２５】
本発明のボーレート設定プログラムは、請求項１〜６のいずれかに記載のボーレート設定方法の処理手順をコンピュータに実行させるものであり、そのことにより上記目的が達成される。
【００２６】
本発明の可読記録媒体は、請求項７記載のボーレート設定プログラムが記録されたコンピュータ読み出し可能であり、そのことにより上記目的が達成される。
【００２７】
本発明の通信システムは、例えば調歩同期式シリアル通信などにより二つの装置間でデータ交信する通信システムにおいて、ボーレート設定用データを他方の装置に送信する一方の装置と、
ボーレートを順次変化させて、一方の装置からのボーレート設定用データ値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出手段および、ボーレート設定用データ値を正常に受信可能なボーレート範囲から算出した最適ボーレート値をボーレートとして設定するボーレート設定手段を有し、設定ボーレート値によって一方の装置にデータを送信する他方の装置とが設けられており、そのことにより上記目的が達成される。
【００２８】
また、好ましくは、本発明の通信システムにおける一方の装置は、ボーレート設定用データを生成するボーレート設定用データ生成手段を有する。
【００２９】
さらに、好ましくは、本発明の通信システムにおけるボーレート設定手段は、検出したボーレート範囲の中間値をボーレートとして設定する。
【００３０】
本発明の通信方法は、例えば調歩同期式シリアル通信などにより二つの装置間でデータを交信する通信方法において、一方の装置から他方の装置にボーレート設定用データを送信すると共に、他方の装置でボーレートを順次変化させて、ボーレート設定用データの値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出ステップと、他方の装置でボーレート設定用データ値を正常に受信可能なボーレート範囲から算出した最適ボーレート値をボーレートとして設定するボーレート設定ステップとを含み、他方の装置で設定されたボーレートにより二つの装置間でデータ交信するものであり、そのことにより上記目的が達成される。
【００３１】
以下に、本発明の作用について説明する。
【００３２】
本発明においては、例えば調歩同期式シリアル通信などの通信を行う二つの装置間でデータ長、パリティビット、ストップビット長が同じフォーマットに設定しておき、予め定められたボーレート設定用データを一方の装置（例えばホスト）から他方の装置（例えばターゲット）に送信する。
【００３３】
ターゲットは、ボーレートを順次変化させて、調歩同期式通信機能を有する例えばマイクロプロセッサによりボーレート設定用データを受信することによって、ボーレート設定用データが正常に受信可能なボーレートの範囲を検出する。
【００３４】
例えば、ターゲットは、マイクロプロセッサによって基本クロックの分周値を順次変化させて、最初にボーレート設定用データを正常に受信することができた分周値を記憶しておく。さらに、分周値を変化させて、次にボーレート設定用データが正常に受信できなくなった分周値を検出する。ボーレートは、ある程度の誤差があっても正常にデータを送受信することができるため、このようにしてボーレート設定用データを正常に受信可能なボーレートの範囲を検出することができる。
【００３５】
次に、このようにして得られたボーレート範囲で最も誤差が少なくなるセンター値（中間値）を算出し、この値をターゲットのボーレート値として設定する。例えば、ボーレート設定用データを正常に受信することができる分周値の最大値と最小値との中間値に対応するボーレート値を、最適ボーレート値として算出し、その算出した最適ボーレート値をボーレートとして設定する。
【００３６】
この処理手順を記述したボーレート設定プログラムを装置に搭載することによって、ボーレート設定のために複雑な回路を付け加えることなく、ソフトウェアによる処理だけで、送信側のボーレートに合わせて、受信側で容易にボーレート設定を行うことが可能となる。
【００３７】
【発明の実施の形態】
以下に、本発明の通信システムの実施形態について図面を参照しながら説明する。
【００３８】
本発明の通信システムは、ホストとターゲットとを調歩同期式シリアル通信によって通信させるためのハードウェアシステムと、ホストおよびターゲット上で起動される専用のソフトウェア（ボーレート設定プログラム）とによって構成される。このボーレート設定プログラムは、ホスト側から送信されるボーレート設定用データをターゲット側が受信し、このデータによりターゲット側でホスト側のボーレートに合わせてボーレートを設定するための処理手順が記述されている。
【００３９】
図１は、本発明の通信システムの実施形態におけるハードウェアの構成例を示すブロック図である。
【００４０】
図１において、この通信システム１００は、パーソナルコンピュータで構成された一方の装置としてのホスト１と、マイクロプロセッサ３を登載したターゲットボートで構成された他方の装置としてのターゲット２とを有し、これらの二つの装置のＤ−ＳＵＢ９ｐｉｎコネクタ４，５間でケーブル６（例えばＲＳ２３２Ｃのクロス配線ケーブル）を介して調歩同期式シリアル通信により互いにデータ交信する。
【００４１】
ホスト１はＣＰＵ（中央演算処理装置）およびメモリ（光ディスクや磁気ディスクを含む可読記録媒体）を有しており、このメモリ内のボーレート設定プログラムおよびそのデータに基づいて、調歩同期式シリアル通信機能（調歩同期式シリアル通信手段１０）を実行するようになっている。
【００４２】
調歩同期式シリアル通信手段１０は、ボーレート設定用データを作成するボーレート設定用データ生成手段１１と、調歩同期式シリアル通信方式でＤ−ＳＵＢ９ｐｉｎコネクタ４を介してターゲット２または周辺機器（図示せず）にボーレート設定用データを送信可能とするデータ送信手段１２と、ターゲット２からの各種データを受信可能とするデータ受信手段１３と、ボーレート、データ長、パリティビットの有／無、パリティビットが付加されている場合には偶数／奇数、ストップビット長を任意に設定可能とするデータ設定手段１４とを有している。
【００４３】
一方、ターゲット２は、マイクロプロセッサ３の他、ＲＳ２３２Ｃ（インターフェイス規格）ドライバＩＣ７を搭載したターゲットボードで構成されている。
【００４４】
マイクロプロセッサ３は、後述するＣＰＵ３１（中央演算処理装置）およびメモリ（可読記録媒体）を有しており、このメモリ（図示せず）内のボーレート設定プログラムおよび各種データに基づいて、調歩同期式シリアル通信機能（調歩同期式シリアル通信手段３０）を実行するようになっている。
【００４５】
調歩同期式シリアル通信手段３０は、ホスト１からのボーレート設定用データ値を受信するデータ受信手段３１１と、基本クロックを分周する分周値を変化させることによってボーレートを順次変化させて、ホスト１からのボーレート設定用データ値を正常に受信可能なボーレート範囲を検出するボーレート範囲検出手段３１２と、このボーレート設定用データ値を正常に受信可能なボーレート範囲から最適ボーレート値（例えばその中間値）を算出する最適ボーレート値算出手段３１３と、この最適ボーレート値をボーレートとして設定するボーレート設定手段３１４と、設定したボーレート値に基づいてホスト１にデータを送信するデータ送信手段３１５とを有している。このデータ設定手段３１４は、プログラミングでレジスタ値を設定して、ボーレートを設定する他、データ長、パリティビット、ストップビット長なども任意に設定する。
【００４６】
データ設定について説明すると、データ長は７ｂｉｔまたは８ｂｉｔに設定される。また、パリティビットは、付加してもよく、または付加しなくてもよい。このパリティビットを付加する場合には、偶数パリティまたは奇数パリティのいずれかが選択される。さらに、ストップビットは１ビットまたは２ビットが設定される。
【００４７】
また、ボーレート用クロックについては、マイクロプロセッサ３に入力されるシステムクロックまたはボーレート専用に入力されるクロックを基準クロック（基本クロック）として、レジスタ設定値（分周値）に応じて基本クロックを分周することによって生成される。例えばマイクロプロセッサ３に入力されるクロックが１１．０５９２ＭＨｚである場合に、９６００ｂｐｓのボーレートで通信を行うためには、
１１．０５９２ＭＨｚ／７２＝９６００×１６　　・・・（１）
により、この入力クロックを７２分周する必要がある。上記式（１）において、ボーレートを１６倍している理由は、調歩同期式では一般に転送クロックが×１６モードとされており、１ｂｐｓクロック幅の１６倍の速度の転送クロック（ボーレートクロック）が必要とされるからである。
【００４８】
マイクロプロセッサ３の端子から入出力される信号９は、０Ｖ〜５Ｖの電位であるため、ＲＳ２３２ＣドライバＩＣ６を介してその信号レベルがＲＳ２３２Ｃ通信の信号レベル−１２Ｖ〜＋１２Ｖに変換され、変換された信号８がＤ−ＳＵＢ９ｐｉｎコネクタ５を介してホスト１に出力される。
【００４９】
図２は、図１のマイクロプロセッサ３内部に設けられた調歩同期式シリアル通信手段３０の構成を示すブロック図である。
【００５０】
図２において、調歩同期式シリアル通信手段３０は、制御手段としてのＣＰＵ３１（中央演算処理装置）と、ボーレート設定用レジスタ３２と、クロック分周器３３と、発振子３４を接続したインバータ３５と、ＵＡＲＴ３６とを有している。
【００５１】
ＣＰＵ３１は、ボーレート設定用レジスタ１２に対して基本クロックを分周する値（分周値）を順次設定する。また、ＣＰＵ３１は、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ　Ａｓｙｎｃｈｒｏｎｏｕｓ　Ｒｅｃｅｉｖｅｒ　Ｔｒａｎｓｍｉｔｔｅｒ）３６に対して通信フォーマットの設定、通信制御のための各種指示を行う。さらに、ＣＰＵ３１には、図示しないがメモリ（光ディスクや磁気ディスクを含む可読記録媒体）を有しており、このメモリ内にボーレート設定プログラムおよび各種データが記憶されている。各種データはボーレート設定プログラム実行時に必要とするデータの他に各種設定データが含まれている。
【００５２】
クロック分周器３３は、ボーレート設定用レジスタ１２に設定された値に基づいて基本クロックを分周し、その分周したクロックをボーレート用クロックとしてＵＡＲＴ３６に供給する。
【００５３】
発振子３４およびインバータ３５は、発振基本クロックをクロック分周器３３に供給するためのものである。
【００５４】
ＵＡＲＴ３６は、マイクロプロセッサ３内部で生成されるパラレル信号をシリアル信号に変換し、また、マイクロプロセッサ３外部から供給されるシリアル信号をパラレル信号に変換するパラレル／シリアル変換機能（パラレル／シリアル変換手段）を有している。また、ＵＡＲＴ３６は、ＣＰＵ３１から通信処理を実行するように指示を受けると、その所定条件の通信信号３７によって外部との間でシリアル通信を行う。
【００５５】
例えば、発振子３４およびインバータ３５によって１１．０５９２ＭＨｚの基準クロックが発振される場合に、ボーレート設定用レジスタ３２に分周値「２」が設定されていると５．５２９６ＭＨｚに分周され、ボーレート設定用レジスタ３２に設定された分周値が「３」であれば３．６８６４ＭＨｚに分周され、その分周クロックがＵＡＲＴ３６に供給される。
【００５６】
一般に、調歩同期式通信では、転送クロックは×１６モードとされているため、必要とされる転送クロック（ボーレートクロック）は、ボーレートの１６倍のクロック周波数になる。例えば、ボーレートが９６００ｂｐｓの場合には、９６００×１６＝１５３．６ｋＨｚの周波数のボーレートクロックが必要とされる。
【００５７】
下記の（表１）は、発振子３４から１１．０５９２ＭＨｚの基準クロック（システムクロック）が発振される場合に、ボーレートと、そのボーレート値を得るための分周値（レジスタ設定値）と、そのときの転送クロック（ボーレートクロック）とを示している。この（表１）において、ボーレートは、一般に使用される値のみを記載している。
【００５８】
【表１】
2004064616.tif 000003
例えば、ボーレート３００ｂｐｓで通信を行うためには、基準クロックの分周値は、
１１．０５９２ＭＨｚ／２３０４＝３００×１６
により２３０４となる。また、転送クロックは３００×１６＝４．８ｋＨｚとなる。
【００５９】
これと同様に、ボーレート３８４００ｂｐｓで通信を行うためには、基準クロックの分周値は、
１１．０５９２ＭＨｚ／１８＝３８４００×１６
により１８となる。また、転送クロックは３８４００×１６＝６１４．４ｋＨｚとなる。
【００６０】
上記構成により、以下に、本実施形態の通信システム１００を用いたボーレート設定方法について説明する。
【００６１】
図３は、図１の通信システム１００におけるボーレート設定処理の手順を示すフローチャートである。なお、初期状態として、ホスト１は、既に所定のボーレート値（例えば９６００ｂｐｓ）が設定されている。その他の通信フォーマットは、一般的なデータ長として８ビットが設定され、パリティビット有、偶数パリティ、ストップビット１が設定されているものとする。また、ターゲット２は、データ長、パリティ、ストップビットについてはホスト１側と同じ設定値とされており、ターゲット２側のボーレートについては、以下のようにして、制御プログラム（ソフトウエア）に基づいたコンピュータ制御により自動設定される。
【００６２】
図３に示すように、まず、ホスト１側から、ボーレート設定用データとして、「５５ｈ（ｈは１６進数を表す）、ＡＡｈ、・・・」のデータをターゲット２側に送信する。このデータを２進数で表すと、「０１０１０１０１、１０１０１０１０、・・・」となる。このように、１ビット毎にデータを変化させることによって、ターゲット２がデータを正常に受信できなかった場合に、受信誤りを見つけやすくなる。
【００６３】
次に、ターゲット２側では、ステップＳ１０１で、ＣＰＵ３１はボーレート設定プログラムに基づいて、分周値を「１」に設定してホスト１側から送信されてくるボーレート設定用データを受信する。
【００６４】
さらに、ステップＳ１０２で、ＣＰＵ３１はボーレート設定プログラムに基づいて、「５５ｈ」または「０ＡＡｈ」を読み込むことができたか否かを判断する。「５５ｈ」または「０ＡＡｈ」を読み込むことができない場合（ＮＯ）には、ステップＳ１０３で分周値に「＋１」を加算してステップＳ１０２の受信処理に戻り、「５５ｈ」または「０ＡＡｈ」を読み込むことができたか否かを再度判断する。この動作を、「５５ｈ」または「０ＡＡｈ」を読み込むことができるまで繰り返して行う。
【００６５】
ステップＳ１０２で「５５ｈ」または「０ＡＡｈ」を一度読み込むことができた場合（ＹＥＳ）には、続けて「０ＡＡｈ」または「５５ｈ」を読み込むことができるか否かを判断する。例えば、最初に「５５ｈ」を読み込むことができた場合には、次は「０ＡＡｈ」を読み込む。または、最初に「０ＡＡｈ」を読み込むことができた場合には、次に「５５ｈ」を読み込む。
【００６６】
この動作を繰り返して、ステップＳ１０４で、ＣＰＵ３１はボーレート設定プログラムに基づいて、最初の回を含めて合計８回、受信データを正確に読み込むことができた場合（ＹＥＳ）には、そのときの分周値をメモリ（図示せず）に記憶しておく。ここで、８回読み込むことができなかった場合（ＮＯ）には、ステップＳ１０３で分周値に「＋１」を加算して、ステップＳ１０２の受信処理に再び戻る。
【００６７】
ステップＳ１０４で受信データを８回続けて正確に読み込むことができた場合（ＹＥＳ）に、ＣＰＵ３１はボーレート設定プログラムに基づいて、ステップＳ１０５で分周値を「＋１」加算して、ステップＳ１０６で「５５ｈ」または「０ＡＡｈ」を交互に合計８回読み込むことができるか否かを確認する。
【００６８】
ステップＳ１０６で最初の回を含めて合計８回、受信データを正確に読み込むことができた場合（ＹＥＳ）には、ＣＰＵ３１はボーレート設定プログラムに基づいて、そのときの分周値を所定のメモリ（図示せず）に記憶しておく。この動作を、「５５ｈ」または「０ＡＡｈ」を読み込むことができなくなるまで繰り返して行う。
【００６９】
ステップＳ１０７で５５ｈまたは０ＡＡｈを読み込むことができなくなったときの分周値と、最初に合計８回続けて受信データを正確に読み込むことができたときの分周値とのセンター値（中間値）を取るために、両者を加えて２で割る。
【００７０】
さらに、ステップＳ１０８で、得られたセンター値（中間値）の分周値に対応するボーレートを、ターゲット２側の最適ボーレート値として設定する。
【００７１】
ターゲット２側でボーレート値が設定されると、ターゲット２側からホスト１側にデータ「１２ｈ、３４ｈ、５６ｈ、７８ｈ、９Ａｈ、０ＢＣｈ、０ＤＥｈ、０Ｆ０ｈ」を送信する。これは、ターゲット２側が設定したボーレートでホスト１側がデータを読み込むことができるか否かを確認するためのデータである。このデータをホスト１側で正確に受信することができれば、ボーレート設定は完全に終了し、以後、このボーレート値を用いてホストとターゲットとの間でデータの送受信（交信）を行うことが可能になる。
【００７２】
さらに、ホスト１において、ボーレート設定用データの送信回数（または所定時間）を制限し、その間にターゲット２側から何らかのデータが送信されない場合に、ボーレート設定動作を終了させることができる。また、ターゲット２において、分周値の最大値を制限し、分周値「１」から最大の分周値までの間に、ホスト１側から送信されたボーレート設定用データを正常に読み込むことができない場合にも、ボーレート設定動作を終了させることができる。さらに、ターゲット２側で何らかの不都合が生じて、ボーレート設定が正常に行われなかった場合に、そのことを示すデータをターゲット２からホスト１に送信することにより、ホスト１側ではこれを検出してボーレート設定処理を終了させることができる。これによって、何らかの不都合が生じて、ターゲット２側でボーレート設定が正常に行われなかった場合に、ターゲット２側でボーレート設定処理を終了させることができる。当然のことながら、これらの場合には、ボーレート設定は行われない。
【００７３】
以上により、本実施形態によれば、ホスト１とターゲット２において、データ長、パリティビット、ストップビット長を同じ設定値に設定し、ボーレート設定用データをホスト１からターゲット２に送信する。ターゲット２側では、ボーレートを順次変化させてボーレート設定用データを受信し、ボーレート設定用データを正常に受信可能な範囲を見つけ出す。このボーレート範囲から最適なボーレート値を算出し、その値をターゲット２のボーレート値として設定する。この処理手順を記述したボーレート設定プログラムをホスト１とターゲット２に搭載して、従来のようにボーレート設定のために複雑な回路を付け加えることなく、ソフトウェアによる処理だけでホスト１のボーレートに合わせて、ターゲット２側で容易にボーレートの設定を行うことができる。
【００７４】
なお、上記実施形態では、ホストとターゲットとの間で調歩同期式シリアル通信を行う通信システムについて説明を行ったが、本発明は、二つ以上の装置間で調歩同期式通信を行う通信システムであれば、いずれも適用可能である。
【００７５】
【発明の効果】
以上のように、本発明によれば、例えば調歩同期式通信などの通信を行う二つの装置において、送信側からボーレート設定用データを送信し、受信側でボーレートを順次変化させてボーレート設定用データを正常に受信可能なボーレート範囲を検出し、このボーレート範囲から最適なボーレート値を算出することによって、送信側のボーレート値が不明であっても、受信側で送信側のボーレート値に合わせてボーレートを設定することができる。
【００７６】
また、本発明のボーレート設定プログラムを送信側および受信側の装置に搭載することによって、スイッチやタイマなどの余分な回路（ハードウェア）を付け加えることなく、ソフトウェアによる処理だけで、送信側のボーレートに合わせて、受信側で容易にボーレート設定を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態である通信システムにおけるハードウェア構成例を示すブロック図である。
【図２】図１のマイクロプロセッサの要部構成例を示すブロック図である。
【図３】図１の通信システムにおけるボーレート設定方法の処理手順を示すフローチャートである。
【図４】従来の通信フォーマット設定方法における処理手順を示すフローチャートである。
【図５】従来の他の通信フォーマット設定方法における処理手順を示すフローチャートである。
【符号の説明】
１　　ホスト
２　　ターゲット
３　　マイクロプロセッサ
４　　　ホスト側のＤ−ＳＵＢ　９ｐｉｎコネクタ
５　　　ターゲット側のＤ−ＳＵＢ　９ｐｉｎコネクタ
６　　　ＲＳ２３２ＣドライバＩＣ
７　　　ＲＳ２３２Ｃケーブル
８　　　レベル−１２Ｖ〜＋１２Ｖに変換された信号
９　　　ＣＰＵの入出力信号
１０，３０　　　　調歩同期式シリアル通信手段
１１　　ボーレート設定用データ生成手段
１２，３１５　　データ送信手段
１３，３１１　　データ受信手段
１４　　データ設定手段
３１２　　ボーレート範囲検出手段
３１３　　最適ボーレート値算出手段
３１４　　ボーレート設定手段
３１　　ＣＰＵ
３２　　ボーレート設定用レジスタ
３３　　クロック分周器
３４　　発振子
３５　　インバータ
３６　　ＵＡＲＴ
３７　通信信号
１００　　通信システム
【図１】
2004064616.tif 000004
【図２】
2004064616.tif 000005
【図３】
2004064616.tif 000006
【図４】
2004064616.tif 000007
【図５】
2004064616.tif 000008