(57)【要約】【課題】特殊なコマンドを送受信することなしに、送信データサイズに応じてボーレートを適正に調整可能とすることによって、データ転送時の通信時間を短縮することができると共に転送エラーの発生頻度を低くすることができ、更に、ボーレート決定のための一連の動作を不要として初期化処理の時間を短縮すること。【解決手段】調歩同期方式の転送データのスタートマーク部ＳＴを２ビットの交番データとする。検出部２２でＳＴの立下り及び立上りエッジ間を計測してパルス幅ＰＷを求め、生成部２３でＰＷからボーレートに対応したＣＫ２を生成し、受信制御部２４でＣＫ２によりデータ部を取り込む。演算設定部２６でデータ部の処理結果データＤ４のサイズに応じた最適ボーレートを求め、生成部２７で最適ボーレートに対応したＣＫ３を生成する。送信制御部２８でＣＫ３によりＤ４を取り込んで、この前に上記ＳＴを、後にストップマーク部を付加して送信する。【選択図】      図２
2007259094.tif 000002
【特許請求の範囲】
【請求項１】
スタートマーク部、データ部及びストップマーク部の順にフォーマット構成された送受信用のデータを用いる調歩同期方式でシリアル通信を行うシリアル通信装置において、
前記スタートマーク部が２ビットの交番データとされた受信データにおける前記交番データの立下り及び立上りエッジ間を計測してパルス幅を求めるパルス幅検出手段と、
前記パルス幅を用いて得られる通信速度に対応した周波数の受信クロック信号を生成する受信クロック生成手段と、
前記受信クロック信号により受信データを取り込んで前記データ部を得る受信制御手段と、
前記受信制御手段で得られたデータ部の処理結果であるデータのサイズを検出し、このサイズのデータをシリアル送信するに最適な通信速度を求める演算手段と、
前記最適な通信速度に対応した周波数の送信クロック信号を生成する送信クロック生成手段と、
前記送信クロック信号によって前記処理結果であるデータを取り込み、このデータの前に前記２ビットの交番データ構成のスタートマーク部を付加し、後にストップマーク部を付加して通信相手へ送信する送信制御手段と
を備えたことを特徴とするシリアル通信装置。
【請求項２】
前記送信制御手段は、前記スタートマーク部を２ビットを超える交番データとすることを特徴とする請求項１に記載のシリアル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、調歩同期方式でシリアル通信を行う際にボーレートを自動で調整することを可能としたシリアル通信装置に関する。
【背景技術】
【０００２】
従来、複数の通信装置間でシリアル通信を行う場合、例えば、各通信装置が予め決められたボーレート（通信速度）で通信を行う構成や、送信側が受信側にボーレートを合わせる構成などがある。
例えば、マスタ装置と複数のスレーブ装置間で通信を行うシステムでは、前者の構成では、マスタ装置、各スレーブ装置の全てが予め決められたボーレートで通信を行う。後者の構成では、マスタ装置が複数のボーレートで順次スレーブ装置に対して問いかけを行い、返答があったボーレートをそのシステムのボーレートとする。つまり、スレーブ装置は自装置と同じボーレートでの問いかけ時に正しく受信することができ、この場合にマスタ装置ヘの返答が可能であり、スレーブ装置からの返答があったことでボーレートが決定されるようになっている。
【０００３】
この種の従来のシリアル通信装置として、例えば特許文献１及び２に記載のものがある。これらは何れも特殊なＡＴコマンドを送信側から受信側へ送信することによって、受信側がボーレートを把握し、この把握したボーレートで次からのデータを受信するようになっている。
【特許文献１】特開２０００−２７８３５６号公報
【特許文献２】特開平１０−２９４７７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のシリアル通信装置では、次のような問題があった。各通信装置が予め決められたボーレートで通信を行う構成の場合、固定のボーレートでなければ通信することができない。ボーレートを固定した場合、送信データサイズに応じてボーレートを調整することは不可能であり、また、送信データサイズが増大した場合に通信時間が長くなり、更に、固定ボーレートが高速通信レートである場合は転送エラーの発生頻度が高くなる。
【０００５】
次に、送信側が受信側にボーレートを合わせる構成の場合、ボーレート決定のために送受信側で一連の動作が必要となるので初期化処理に時間が掛かる。
上記特許文献１及び２においては、特殊なＡＴコマンドを送受信してボーレートを把握する構成をとっているので、そのための余計な構成が必要となる。
本発明は、このような課題に鑑みてなされたものであり、特殊なコマンドを送受信することなしに、送信データサイズに応じてボーレートを適正に調整可能とすることによって、データ転送時の通信時間を短縮することができると共に転送エラーの発生頻度を低くすることができ、更に、ボーレート決定のための一連の動作を不要として初期化処理の時間を短縮するができるシリアル通信装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の請求項１によるシリアル通信装置は、スタートマーク部、データ部及びストップマーク部の順にフォーマット構成された送受信用のデータを用いる調歩同期方式でシリアル通信を行うシリアル通信装置において、前記スタートマーク部が２ビットの交番データとされた受信データにおける前記交番データの立下り及び立上りエッジ間を計測してパルス幅を求めるパルス幅検出手段と、前記パルス幅を用いて得られる通信速度に対応した周波数の受信クロック信号を生成する受信クロック生成手段と、前記受信クロック信号により受信データを取り込んで前記データ部を得る受信制御手段と、前記受信制御手段で得られたデータ部の処理結果であるデータのサイズを検出し、このサイズのデータをシリアル送信するに最適な通信速度を求める演算手段と、前記最適な通信速度に対応した周波数の送信クロック信号を生成する送信クロック生成手段と、前記送信クロック信号によって前記処理結果であるデータを取り込み、このデータの前に前記２ビットの交番データ構成のスタートマーク部を付加し、後にストップマーク部を付加して通信相手へ送信する送信制御手段とを備えたことを特徴とする。
【０００７】
この構成によれば、従来のような特殊なＡＴコマンドを送受信することなしに、送信データサイズに応じて通信速度を最適に調整可能とすることができる。これによって、データ転送時の通信時間を短縮することができると共に転送エラーの発生頻度を低くすることができる。更に、受信データのパルス幅を計測して通信速度に対応した周波数の受信クロック信号を生成してデータ受信を行うようにしたので、ボーレート決定のための一連の動作が不要となり、これによって従来のような初期化処理の時間を短縮するができる。
【０００８】
また、本発明の請求項２によるシリアル通信装置は、請求項１において、前記送信制御手段は、前記スタートマーク部を２ビットを超える交番データとすることを特徴とする。
この構成によれば、パルス幅検出手段でパルス幅を計測する精度を更に高めることができるので、その分、受信データの通信速度も高精度に求めることができる。
【発明の効果】
【０００９】
以上説明したように本発明によれば、特殊なコマンドを送受信することなしに、送信データサイズに応じてボーレートを適正に調整可能とすることによって、データ転送時の通信時間を短縮することができると共に転送エラーの発生頻度を低くすることができ、更に、ボーレート決定のための一連の動作を不要として初期化処理の時間を短縮するができるという効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を、図面を参照して説明する。
図１は、本発明の実施の形態に係るシリアル通信装置をマスタ装置及び複数のスレーブ装置に適用した通信システムの構成を示すブロック図である。
図１に示す通信システムは、マスタ装置１１と、第１〜第ｎのスレーブ装置１２−１〜１２−ｎとがシリアル通信回線１３により接続されて構成されている。
シリアル通信回線１３は、半２重、全２重通信用のものがあるが、ここでは送信データ用及び受信データ用の２本で構成される全２重回線であるとする。
【００１１】
マスタ装置１１及び各スレーブ装置１２−１〜１２−ｎは、図２に示すシリアル通信装置２０を備えている。シリアル通信装置２０は、受信バッファ２１と、パルス幅検出部（パルス幅検出手段）２２と、受信クロック生成部（受信クロック生成手段）２３と、受信制御部（受信制御手段）２４と、データ処理部２５と、分周率演算設定部（演算手段）２６と、送信クロック生成部（送信クロック生成手段）２７と、送信制御部（送信制御手段）２８とを備えて構成されている。受信制御部２４は、スタートマーク除去部２４ａ、データ部２４ｂ及びストップマーク除去部２４ｃを有し、送信制御部２８は、スタートマーク付加部２８ａ、データ部２８ｂ及びストップマーク付加部２８ｃを有する。
【００１２】
このシリアル通信装置２０でシリアル通信回線１３を介して受信される通信相手側からのデータ（受信データ）Ｄ１と、本シリアル通信装置２０から通信相手側へ送信されるデータ（送信データ）Ｄ２とは、図３に示すフォーマット構成となっている。なお、受信データＤ１と送信データＤ２とを区別成しにシリアル転送データと表現する場合もある。
即ち、シリアル転送データは、通常、調歩同期方式でシリアル通信を行う際に使用される信号フォーマットと同じであり、転送の始まりを表すスタートマーク部ＳＴと、データ部ＤＡと、転送の終わりを表すストップマーク部ＳＰとが、この順に配列されて構成されている。
【００１３】
この特徴は、スタートマーク部ＳＴを「０」及び「１」の２ビットとした点にある。これは後述で説明するように、スタートマーク部ＳＴから立下りエッジｅ１と立上りエッジｅ２とを検出してパルス幅ＰＷを計測するためのパターン構成である。この２ビットパターンは最小パターンであり、更に精度を高める必要がある場合、「０」と「１」の繰り返しを長くしてもよい。この特徴構成のスタートマーク部ＳＴは、後述する送信制御部２８にて付加されるようになっている。
【００１４】
受信バッファ２１は、ＦｉＦｏ(First-In First-Out)メモリ等が用いられ、受信データＤ１のスタートマーク部ＳＴを検出してパルス幅ＰＷを計測するために必要なバッファサイズを備え、基本クロック信号ＣＫ１によって受信データＤ１を順次バッファリングする。但し、バッファサイズとしては、通信時に使用されるボーレートの中で最も遅いボーレートにおけるスタートマーク部ＳＴの長さ分とする。
【００１５】
但し、基本クロック信号ＣＫ１の周波数は、通信の安定度を考え、通信時に使用されるボーレートの中で最も速いボーレートの数百倍程度が望ましい。
パルス幅検出部２２は、基本クロック信号ＣＫ１によって受信データＤ１を取り込み、この受信データＤ１に含まれるスタートマーク部ＳＴのパルス幅ＰＷを、次のように計測する。立下りエッジｅ１と立上りエッジｅ２とを抽出し、これらのエッジｅ１とｅ２との間隔をカウンタ等で計測することでパルス幅ＰＷを求め、これを受信クロック生成部２３へ出力する。つまり、立下りエッジｅ１と立上りエッジｅ２とを抽出してパルス幅ＰＷを求めるために、スタートマーク部ＳＴが「０」と「１」の２ビット構成とされている。
【００１６】
受信クロック生成部２３は、パルス幅ＰＷを用いて基本クロック信号ＣＫ１を分周して受信クロック信号ＣＫ２を、次のように生成する。これは、調歩同期通信において１ビットデータ幅はボーレートのＸ倍とされているが、その１ビットデータ幅のボーレートの倍率Ｘでパルス幅ＰＷを割り（ＰＷ／Ｘ）、この結果Ｎを分母としたＮ分の１を分周率１／Ｎとする。そして、その分周率１／Ｎで基本クロック信号ＣＫ１を分周し、これを受信クロック信号ＣＫ２として受信制御部２４へ出力する。
【００１７】
例えば、パルス幅ＰＷが「１１２」であったとすると、調歩同期通信においては１ビットデータ幅がボーレートの１６倍なので、１１２／１６＝７となって、分周率の１／７が求められる。従って、基本クロック信号ＣＫ１が１／７分周され、この分周によって受信クロック信号ＣＫ２が得られる。
但し、基本クロック信号ＣＫ１を２０ＭＨｚとした場合、分周率１／Ｎは次の（１）〜（５）のようになる。
【００１８】
（１）受信データＤ１のボーレートが５Ｋｂｐｓ時、スタートマーク部ＳＴのパルス幅ＰＷは２０Ｍ／５Ｋ＝４０００となるので、４０００／１６＝２５０となって、分周率が１／２５０となる。
（２）受信データＤ１のボーレートが１０Ｋｂｐｓ時、スタートマーク部ＳＴのパルス幅ＰＷは２０Ｍ／１０Ｋ＝２０００となるので、２０００／１６＝１２５となって、分周率が１／１２５となる。
【００１９】
（３）受信データＤ１のボーレートが２０Ｋｂｐｓ時、スタートマーク部ＳＴのパルス幅ＰＷは２０Ｍ／２０Ｋ＝１０００となるので、１０００／１６＝６２となって、分周率が１／６２となる。
（４）受信データＤ１のボーレートが４０Ｋｂｐｓ時、スタートマーク部ＳＴのパルス幅ＰＷは２０Ｍ／４０Ｋ＝５００となるので、５００／１６＝３１となって、分周率が１／３１となる。
【００２０】
（５）受信データＤ１のボーレートが８０Ｋｂｐｓ時、スタートマーク部ＳＴのパルス幅ＰＷは２０Ｍ／８０Ｋ＝２５０となるので、２５０／１６＝１５となって、分周率が１／１５となる。
受信制御部２４は、受信クロック信号ＣＫ２によって受信バッファ２１から受信データＤ１を取り込み、スタートマーク除去部２４ａでスタートマーク部ＳＴを除去し、ストップマーク除去部２４ｃでストップマーク部ＳＰを除去し、更にデータ部２４ｂでデータ部ＤＡを入力データＤ３としてデータ処理部２５に入力する。
【００２１】
データ処理部２５は、入力データＤ３を取り込んで所定の処理を行い、この処理結果のデータを出力データＤ４として、分周率演算設定部２６及び送信制御部２８へ出力する。
分周率演算設定部２６は、出力データＤ４を保持し、この保持されたデータサイズのデータをシリアル通信回線１３を介して通信相手へ送信するに最適なボーレートを求め、更に、基本クロック信号ＣＫ１を、その最適ボーレートでデータを送信する周波数に分周するための分周率１／Ｍを求め、これを設定して送信クロック生成部２７へ出力する。
【００２２】
送信クロック生成部２７は、その分周率１／Ｍで基本クロック信号ＣＫ１を分周し、これを送信クロック信号ＣＫ３として送信制御部２８へ出力する。
送信制御部２８は、送信クロック信号ＣＫ３によって出力データＤ４をデータ部２８ｂに取り込み、この取り込まれたデータ部ＤＡ（＝Ｄ４）にスタートマーク付加部２８ａでスタートマーク部ＳＴを付加し、ストップマーク付加部２８ｃでストップマーク部ＳＰを付加し、これを送信データＤ２としてシリアル通信回線１３を介して通信相手へ送信する。
【００２３】
このような構成のシリアル通信装置２０が適用されたマスタ装置１１と各スレーブ装置１２−１〜１２−ｎ間のシリアル通信動作を、図４に示すフローチャートを参照して説明する。但し、マスタ装置１１と第１のスレーブ装置１２−１間の動作を説明する。また、第１のスレーブ装置１２−１の基本クロック信号ＣＫ１の周波数は２０ＭＨｚであるとする。
【００２４】
ステップＳ１において、マスタ装置１１からデータＤ１が２０Ｋｂｐｓのボーレートでシリアル通信回線１３を介して第１のスレーブ装置１２−１へ送信されたとする。
ステップＳ２において、第１のスレーブ装置１２−１の受信バッファ２１にて、そのマスタ装置１１からのデータＤ１が基本クロック信号ＣＫ１によって順次取り込まれてバッファリングされる。
【００２５】
ステップＳ３において、そのバッファリング動作と同時に、パルス幅検出部２２で、基本クロック信号ＣＫ１によって受信データＤ１が取り込まれ、この受信データＤ１のスタートマーク部ＳＴの立下りエッジｅ１と立上りエッジｅ２とが抽出され、これらエッジｅ１とｅ２の間隔がカウンタで計測されることによってパルス幅ＰＷ＝「１０００」が求められる。このパルス幅「１０００」は受信クロック生成部２３へ出力される。
【００２６】
ステップＳ４において、受信クロック生成部２３で、そのパルス幅「１０００」が１ビットデータ幅のボーレートの倍率「１６」で除算され、この結果「６２」が分母とされた分周率１／６２で、２０ＭＨｚの基本クロック信号ＣＫ１が分周され、これが受信クロック信号ＣＫ２として受信制御部２４へ出力される。
ステップＳ５において、受信制御部２４で、その受信クロック信号ＣＫ２によって受信バッファ２１からの受信データＤ１が取り込まれ、スタートマーク除去部２４ａでスタートマーク部ＳＴが除去、ストップマーク除去部２４ｃでストップマーク部ＳＰが除去され、この除去後に、データ部２４ｂからデータ部ＤＡが入力データＤ３としてデータ処理部２５へ出力される。
【００２７】
ステップＳ６において、データ処理部２５で、入力データＤ３が取り込まれた後、所定の処理が行われ、この処理結果のデータが出力データＤ４として、分周率演算設定部２６及び送信制御部２８へ出力される。
ステップＳ７において、分周率演算設定部２６で、出力データＤ４が保持され、この保持されたデータサイズのデータをシリアル通信回線１３を介して通信相手であるマスタ装置１１へ送信するに最適なボーレート（例えば１０ＫＨｚ）が求められる。更に、２０ＭＨｚの基本クロック信号ＣＫ１を、その最適ボーレート１０ＫＨｚでデータ送信する周波数に分周するための分周率「１／１２５」が求められ、これが設定されて送信クロック生成部２７へ出力される。
【００２８】
ステップＳ８において、送信クロック生成部２７で、その分周率「１／１２５」で基本クロック信号ＣＫ１が分周され、これが送信クロック信号ＣＫ３として送信制御部２８へ出力される。
ステップＳ９において、送信制御部２８で、送信クロック信号ＣＫ３によって出力データＤ４がデータ部２８ｂに取り込まれ、この取り込まれたデータ部ＤＡ（＝Ｄ４）にスタートマーク付加部２８ａでスタートマーク部ＳＴが付加され、ストップマーク付加部２８ｃでストップマーク部ＳＰが付加され、これが送信データＤ２として１０Ｋｂｐｓのボーレートでシリアル通信回線１３を介してマスタ装置１１へ送信される。
【００２９】
このように、本実施の形態のシリアル通信装置２０をマスタ装置１１及び各スレーブ装置１２−１〜１２−ｎに用いることによって、従来のような特殊なＡＴコマンドを送受信することなしに、送信データサイズに応じてボーレートを最適に調整可能とすることができる。これによって、データ転送時の通信時間を短縮することができると共に転送エラーの発生頻度を低くすることができる。更に、受信データのパルス幅ＰＷを計測してボーレートに対応した周波数の受信クロック信号ＣＫ２を生成してデータ受信を行うようにしたので、ボーレート決定のための一連の動作が不要となり、これによって従来のような初期化処理の時間を短縮するができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態に係るシリアル通信装置をマスタ装置及び複数のスレーブ装置に適用した通信システムの構成を示すブロック図である。
【図２】上記シリアル通信装置の構成を示すブロック図である。
【図３】上記シリアル通信装置で送受信されるデータのフォーマット構成図である。
【図４】上記シリアル通信装置が適用されたマスタ装置と各スレーブ装置間のシリアル通信動作を説明するためのフローチャートである。
【符号の説明】
【００３１】
１１  マスタ装置
１２−１〜１２−ｎ  スレーブ装置
１３  シリアル通信回線
２０  シリアル通信装置
２１  受信バッファ
２２  パルス幅検出部
２３  受信クロック生成部
２４  受信制御部
２４ａ  スタートマーク除去部
２４ｂ  データ部
２４ｃ  ストップマーク除去部
２５  データ処理部
２６  分周率演算設定部
２７  送信クロック生成部
２８  送信制御部
２８ａ  スタートマーク付加部
２８ｂ  データ部
２８ｃ  ストップマーク付加部
Ｄ１  受信データ
Ｄ２  送信データ
Ｄ３  入力データ
Ｄ４  出力データ
ＣＫ１  基本クロック信号
ＣＫ２  受信クロック信号
ＣＫ３  送信クロック信号
ＰＷ  パルス幅
１／Ｎ，１／Ｍ  分周率
Ｘ  １ビットデータ幅のボーレートの倍率
【図１】
2007259094.tif 000003
【図２】
2007259094.tif 000004
【図３】
2007259094.tif 000005
【図４】
2007259094.tif 000006