(57)【特許請求の範囲】
【請求項１】
マスター装置からスレーブ装置にクロック信号を送信すると共に、該マスター装置と該スレーブ装置との間でシリアルデータの双方向通信を行うことができるシリアルデータ通信システムにおいて、
前記スレーブ装置は、シリアルデータを送信した後はデータ送信禁止にして端子の状態をハイレベル又はローレベルに固定し、
前記マスター装置は、前記端子の状態以外の信号を認識した場合には受信開始として前記スレーブ装置からのデータを受信し、前記端子の状態を示す信号を認識した場合には受信禁止としてデータの解析を行う、
ことを特徴とするシリアルデータ通信システム。
【請求項２】
前記マスター装置は、前記端子の状態を示す信号を認識することに基づき、前記スレーブ装置からのデータのシフト量を計算する、
ことを特徴とする請求項１に記載のシリアルデータ通信システム。
【請求項３】
マスター装置からスレーブ装置にクロック信号を送信すると共に、該マスター装置と該スレーブ装置との間でシリアルデータの双方向通信を行うことができるシリアルデータ通信方法において、
前記スレーブ装置は、シリアルデータを送信した後はデータ送信禁止にして端子の状態をハイレベル又はローレベルに固定し、
前記マスター装置は、前記端子の状態以外の信号を認識した場合には受信開始として前記スレーブ装置からのデータを受信し、前記端子の状態を示す信号を認識した場合には受信禁止としてデータの解析を行う、
ことを特徴とするシリアルデータ通信方法。
【請求項４】
前記マスター装置は、前記端子の状態を示す信号を認識することに基づき、前記スレーブ装置からのデータのシフト量を計算する、
ことを特徴とする請求項３に記載のシリアルデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスター装置からスレーブ装置にクロック信号を送信すると共に、該マスター装置と該スレーブ装置との間でシリアルデータの双方向通信を行うことができるシリアルデータ通信システム及びシリアルデータ通信方法に関する。
【背景技術】
【０００２】
従来、クロック同期型のシリアルデータ通信システムやシリアルデータ通信方法は種々の機器に利用されている。以下、該通信システムの代表的な従来構成を説明する。
〈従来例１〉
【０００３】
図５は、シリアルデータ通信システムの従来構成の一例を示すブロック図であり、図中の符号１２はマスター装置を示し、符号１３はスレーブ装置を示し、符号１４はクロック信号を発生するクロック発生部を示し、符号１５はシリアルデータＴｘＤを送信するためのデータ線を示し、符号１７はクロック信号ＣＬＫを送信するためのクロック線を示す。図示のシステムにおいては、マスター装置１２からスレーブ装置１３にクロック信号ＣＬＫが送信されると共に、該クロック信号ＣＬＫに同期した形でシリアルデータＴｘＤが送信されるようになっていた。
【０００４】
ところで、マスター装置１２からスレーブ装置１３へのシリアルデータ送信だけでなく、スレーブ装置１３からマスター装置１２へもシリアルデータ送信できるようにした通信システムについても種々の構造のものが提案されている（例えば、特許文献１及び２参照。）。
〈従来例２〉
【０００５】
図６は、シリアルデータ通信システムの従来構成の他の例を示すブロック図であり、図中の符号２２はマスター装置を示し、符号２３はスレーブ装置を示し、符号２４はクロック信号を発生するクロック発生部を示し、符号２５は、マスター装置２２からスレーブ装置２３にシリアルデータＴｘＤを送信するためのデータ線を示し、符号２６は、スレーブ装置２３からマスター装置２２にシリアルデータＲｘＤを送信するためのデータ線を示し、符号２７は、マスター装置２２からスレーブ装置２３にクロック信号ＣＬＫ１を送信するためのクロック線を示し、符号２８はハンドシェーク線を示す。図示の通信システムにおいては、マスター装置２２がスレーブ装置２３に対して受信のためのクロック信号ＣＬＫ１を送信し、スレーブ装置２３は、送信データの用意が出来たタイミングで、送信可能な状態であることをマスター装置２２にハンドシェーク線２８を介して知らせ、それを受けて、マスター装置２２はスレーブ装置２３に対して受信用クロック信号ＣＬＫ１を送信するようになっている。これにより、クロック信号ＣＬＫ１に同期した状態でシリアルデータＲｘＤがスレーブ装置２３からマスター装置２２に送信されるようになっていた。
〈従来例３〉
【０００６】
図７は、シリアルデータ通信システムの従来構成のさらに他の例を示すブロック図である。なお、図６と同一の部分には同一符号を付して重複説明を省略する。図示の通信システムにおいては、クロック信号ＣＬＫ２を発生するクロック発生部３０をスレーブ装置２３の側に設け、ハンドシェーク線３１（又は、クロック信号送信専用の線）を介してスレーブ装置２３からマスター装置２２にクロック信号ＣＬＫ２を送信するように構成されている。これにより、該クロック信号ＣＬＫ２に同期した状態でスレーブ装置２３からマスター装置２２にシリアルデータＲｘＤが送信されるようになっていた。
【特許文献１】特開平０６−２４３０５２号公報
【特許文献２】特開２００３−１６３６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上記従来例１のようなシステムでスレーブ装置１３からマスター装置１２にシリアルデータを送信しようとしても、クロック信号ＣＬＫとの同期が取れず、データの認識ができないという問題があった。つまり、マスター装置１２からスレーブ装置１３へは、一定の間隔でクロック信号ＣＬＫが送信されるが、スレーブ装置１３は、（該クロック信号ＣＬＫとは無関係に）データ送信の用意が出来た段階で該送信を開始してしまう。そして、クロックの途中からスレーブ装置１３がデータを送信してしまうと（つまり、例えば８ビット構成のクロックの最初からデータを送信せずに、４ビット目からデータを送信してしまうと）、各データは、１つのクロックで送出されずに２つのクロックにまたがって送出されることとなり、マスター装置１２側では各データを認識することができないこととなる。また、マスター装置１２がＥＴＸを認識できない場合にはデータ終了を知ることができず、いつまでもデータ待ちの状態が続くことにもなってしまう。
【０００８】
また、上記従来例２や従来例３のようにハンドシェーク線２８やクロック発生部３０等を設けた場合にはマスター装置２２はデータ終了を知ることができるが、ハンドシェーク線やクロック発生部を設けるために構成が複雑となって、コストも増加してしまうという問題があった。
【０００９】
本発明は、上述の各問題を解決できるシリアルデータ通信システム及びシリアルデータ通信方法を提供することを目的とするものである。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、図２に例示するものであって、マスター装置（２）からスレーブ装置（３）にクロック信号（ＣＬＫ）を送信すると共に、該マスター装置（２）と該スレーブ装置（３）との間でシリアルデータ（ＴｘＤ，ＲｘＤ）の双方向通信を行うことができるシリアルデータ通信システム（１）において、
前記スレーブ装置（３）は、シリアルデータ（ＲｘＤ）を送信した後はデータ送信禁止にして端子の状態をハイレベル又はローレベルに固定し（図４の符号Ｓ６，Ｓ７参照）、
前記マスター装置（２）は、前記端子の状態以外の信号を認識した場合には受信開始として前記スレーブ装置（３）からのデータを受信し（図４の符号Ｓ３，Ｓ４参照）、前記端子の状態を示す信号（ｄｕｍｍｙ）を認識した場合には受信禁止としてデータの解析を行うことを特徴とする。
【００１１】
請求項２に係る発明は、請求項１に係る発明において、前記マスター装置（２）が、前記端子の状態を示す信号（ｄｕｍｍｙ）を認識することに基づき、前記スレーブ装置（３）からのデータのシフト量（図１(a) の符号Δｔ参照）を計算することを特徴とする。
【００１２】
請求項３に係る発明は、図２に例示するものであって、マスター装置（２）からスレーブ装置（３）にクロック信号（ＣＬＫ）を送信すると共に、該マスター装置（２）と該スレーブ装置（３）との間でシリアルデータ（ＴｘＤ，ＲｘＤ）の双方向通信を行うことができるシリアルデータ通信方法において、
前記スレーブ装置（３）は、シリアルデータ（ＲｘＤ）を送信した後はデータ送信禁止にして端子の状態をハイレベル又はローレベルに固定し（図４の符号Ｓ６，Ｓ７参照）、
前記マスター装置（２）は、前記端子の状態以外の信号を認識した場合には受信開始として前記スレーブ装置（３）からのデータを受信し（図４の符号Ｓ３，Ｓ４参照）、前記端子の状態を示す信号（ｄｕｍｍｙ）を認識した場合には受信禁止としてデータの解析を行うことを特徴とする。
【００１３】
請求項４に係る発明は、請求項３に係る発明において、前記マスター装置（２）が、前記端子の状態を示す信号（ｄｕｍｍｙ）を認識することに基づき、前記スレーブ装置（３）からのデータのシフト量（図１(a) の符号Δｔ参照）を計算することを特徴とする。
【００１４】
なお、括弧内の番号などは、図面における対応する要素を示す便宜的なものであり、従って、本記述は図面上の記載に限定拘束されるものではない。
【発明の効果】
【００１５】
請求項１乃至４に係る発明によれば、マスター装置が受信するシリアルデータとクロック信号との同期が取られていない場合でも、或いはノイズ等の影響によりＥＴＸを認識できなかった場合でも、ダミーデータを認識してシリアルデータの送信の終了を知り、各受信データを解析することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図１乃至図４に沿って、本発明を実施するための最良の形態について説明する。ここで、図１(a) は、スレーブ装置からのシリアルデータがシフトした状態を説明するための図であり、図１(b) は、データ受信終了時の作用を説明するための模式図である。また、図２は、本発明に係るシリアルデータ通信システムの構成の一例を示すブロック図であり、図３は、クロック信号の波形の一例を示す波形図であり、図４は、本発明に係るシリアルデータ通信方法の一例を示す図である。
【００１７】
本発明に係るシリアルデータ通信システムは、図２に符号１で例示するものであって、
・  マスター装置２と、
・  スレーブ装置３と、
・  マスター装置２に設けられてクロック信号ＣＬＫを発生するクロック発生部４と、
・  前記マスター装置２と前記スレーブ装置３との間に介装されて、前記マスター装置２から前記スレーブ装置３へのシリアルデータＴｘＤの送信を行う第１データ線５と、
・  前記マスター装置２と前記スレーブ装置３との間に介装されて、前記スレーブ装置３から前記マスター装置２へのシリアルデータＲｘＤの送信を行う第２データ線６と、
・  前記マスター装置２と前記スレーブ装置３との間に介装されて、前記クロック発生部４からのクロック信号ＣＬＫを前記スレーブ装置３に送信するクロック線７と、
により構成されており、前記マスター装置２から前記スレーブ装置３にクロック信号ＣＬＫを送信すると共に、該マスター装置２と該スレーブ装置３との間でシリアルデータの双方向通信を行うことができるように構成されている。
【００１８】
なお、シリアルデータＲｘＤは、図１(a) に例示するように、ＳＴＸ（テキスト開始の制御コード）と、データ本体ｄａｔａ１，ｄａｔａ２，ｄａｔａ３と、ＥＴＸ（テキスト終了の制御コード）とにより構成すると良い。また、クロック信号ＣＬＫは、図３に詳示するように、複数のビット（例えば、８ビット）のクロックＣを一定の間隔ΔＴ（例えば、４０μｓｅｃ）毎に送信して構成すると良いが、マスター装置及びスレーブ装置の回路の性能が良ければΔＴ＝０μｓｅｃとしても（つまり、クロックＣを連続させても）良い。
【００１９】
ところで、上述のスレーブ装置３は、シリアルデータＲｘＤを送信し（図４の符号Ｓ３，Ｓ４，Ｓ５参照）、その後はデータ送信禁止にして端子の状態をハイレベル０ｘＦＦ又はローレベル０ｘ００に固定するように構成されている（同図の符号Ｓ６，Ｓ７参照。以下、この端子の状態を示す信号を“ダミーデータ”とする）。つまり、本発明に係るシリアルデータ通信システム１においては、スレーブ装置３からマスター装置２に送信されるシリアルデータＲｘＤの最後の部分にダミーデータｄｕｍｍｙを付加するのではなく、スレーブ装置３の端子の状態（データを送信していない間の端子の状態）がＨであればマスター装置２の側においてダミーデータｄｕｍｍｙを０ｘＦＦと定義しておき、該スレーブ装置３の端子の状態（データを送信していない間の端子の状態）がＬであればマスター装置２の側においてダミーデータｄｕｍｍｙを０ｘ００と定義しておく。
【００２０】
そして、他方のマスター装置２は、次のように構成されている。
(a) ダミーデータ（０ｘＦＦ又は０ｘ００）及びＥＴＸ以外の信号を認識した場合には受信開始として前記スレーブ装置３からのデータを受信する（例えば、図４の符号Ｓ３参照）。
(b) 受信開始の場合には、受信した各データを受信バッファに保存する。
(c) ＥＴＸ、或いはダミーデータ（０ｘＦＦ又は０ｘ００）を認識した場合に受信禁止としてデータの解析を行う（図４の符号Ｓ５，Ｓ６，Ｓ７参照）。
【００２１】
本発明に係るシリアルデータ通信システム１においては、スレーブ装置３からマスター装置２にシリアルデータＲｘＤを送信する場合、クロック信号ＣＬＫとの同期を取るようには構成されておらず、該シリアルデータＲｘＤの送信は、スレーブ装置３にて送信の準備が出来た段階で（任意のタイミングで）行われる。したがって、図１(a) に符号ＲｘＤ２で示すように、クロック信号ＣＬＫからずれた状態でシリアルデータＲｘＤが受信されることが起こり得る（つまり、１キャラクタのクロックの開始のタイミングｔ１と、データの受信開始のタイミングｔ２とがずれてしまうことはある）。以下、このときの作用について説明する。
【００２２】
スレーブ装置３がマスター装置２にシリアルデータＲｘＤを送信開始するまでは、上述したように端子の状態は固定（例えば、０ｘＦＦ）になっており、その端子の状態をデータとしてマスター装置２が受信することとなる（図４の符号Ｓ１，Ｓ２参照）。この状態では、上記(a) の条件により受信開始とはならず、ダミーデータｄｕｍｍｙは保存されずに破棄される。また、マスター装置２からスレーブ装置３へは、前記クロック線７を介してクロック信号ＣＬＫが送信されている。
【００２３】
そして、図１(a) に符号Ａ１で示す期間において、例えば、８ビットのクロック信号の内の４ビット目からＳＴＸが送られてきたとする。その場合、１〜３ビット目のデータ（符号８参照）はゴミデータとして認識し、４〜８ビット目ではＳＴＸの一部を受信することとなるが、このように受信するデータはダミーデータｄｕｍｍｙでもＥＴＸでも無いので、上記(a) の条件に従って受信開始となり、データの取込みを開始する。そして、符号Ａ２，Ａ３，Ａ４で示す期間では、シフトした状態の各データを受信することとなる（図４の符号Ｓ４参照）。
【００２４】
さらに、符号Ａ５で示す期間においては、何らかのデータとＥＴＸの一部とを受信するが、データがシフトしていることからＥＴＸとして認識されることは無く、したがって、データ終了とは判断されない。次の期間Ａ６においては、ＥＴＸの残りの部分とダミーデータ０ｘＦＦの一部とが受信されるが、この場合も、ＥＴＸとしてもダミーデータ０ｘＦＦとしても認識されないため、データ終了とは判断されない。しかし、符号Ａ７で示す期間では、１つ目のダミーデータ０ｘＦＦの一部と２つ目のダミーデータ０ｘＦＦの一部とを受信することとなるので、マスター装置２がダミーデータ０ｘＦＦを認識することができ、これにより、全データの受信の完了を知ることができる。この場合、前記マスター装置２は、前記ダミーデータ０ｘＦＦを認識してビット解析を行い、前記スレーブ装置３からのデータのシフト量（図１(a) の符号Δｔ参照）を計算するようにしておくと良い。また、ダミーデータとは別に定義した同期用コードを用いてシフト量Δｔを計算するようにしても良い。このようにしてシフト量Δｔを知ることで、ＢＹＴＥデータを組立てることができる。なお、このようにデータの解析を行う場合には、データの先頭（換言すれば、ダミーデータｄｕｍｍｙとシリアルデータＲｘＤとの境界）が識別できるようになっている必要がある。図１及び図４に示す例では、ダミーデータ０ｘＦＦの最終ビットが“１”であり、シリアルデータＲｘＤの最初のビット（つまり、ＳＴＸ（０ｘ０２）の最初のビット）は“０”であるので、ＬＳＢファーストでもＭＳＢファーストでもその境界を識別でき、上述のようなデータ解析を行うことが可能となる。つまり、該境界を識別できるように、シリアルデータの先頭のデータとダミーデータとを選択する必要がある。そして、ＢＹＴＥデータを組立てた後は、そのデータが適正かどうかの解析を適当な方法で行うと良い。
【００２５】
ところで、スレーブ装置３からのシリアルデータがＲｘＤ２のようにシフトせず、ＲｘＤ１の状態で適正に受信できていたとすれば、Ａ５の期間でＥＴＸが認識されて全データの受信の完了を知ることができる。また、マスター装置２が全データの受信を完了した後は（図４の符号Ｓ５，Ｓ６，Ｓ７参照）、クロック信号ＣＬＫの出力は一定期間（例えば、１５０μｓｅｃ）だけ禁止される。さらに、バイナリコードで通信する場合、データ本体ｄａｔａ１，…等にダミーデータを使用しない必要があり、また、隣接するデータ本体（例えば、ｄａｔａ１とｄａｔａ２）の組み合わせでダミーデータと同一のコードが出現しないようにする必要がある。ダミーデータｄｕｍｍｙを０ｘＦＦとし、キャラクタコード（７ｂｉｔ−ＡＳＣＩＩコード）を使用してＬＳＢから送信した場合にはそのような制限は無いので、本システムを用いた通信には適している。
【００２６】
本発明によれば、シリアルデータＲｘＤとクロック信号ＣＬＫとの同期を取られていなくてシリアルデータＲｘＤがシフトされている場合でも、或いはノイズ等の影響によりＥＴＸを認識できなかった場合でも、ダミーデータｄｕｍｍｙを認識してシリアルデータＲｘＤの送信の終了を知り、各受信データを解析することができる。また、本発明によれば、ハンドシェーク線（図６の符号２８参照）やクロック発生部（図７の符号３０参照）を設ける必要が無いため、その分、コストを抑えることができる。さらに、本発明によれば、データのシフトやノイズ等の影響によってＥＴＸを認識出来なかった場合でも、ダミーデータｄｕｍｍｙを認識することによってデータの終了を即座に知ることができるので、マスター装置２がデータ待ちの状態になることもなく（つまり、最終データを受信するためにタイムアウト期間を設けておいて、該最終データを受信するまでクロック信号ＣＬＫを送出し続ける必要もなく）、通信エラーを認識して復帰するまでの時間を短くできる。また、本発明によれば、データ受信中に各ビットを随時チェックしてＢＹＴＥデータを組立てるのでは無く、データ受信終了後にＢＹＴＥデータを組立てるため、時間をかけた解析が可能となるので、低速のＣＰＵを使用することができ、装置を安価にすることができる。
【００２７】
本発明に係るシリアルデータ通信方法は、マスター装置２からスレーブ装置３にクロック信号ＣＬＫを送信すると共に、該マスター装置２と該スレーブ装置３との間でシリアルデータの双方向通信を行うことができる方法であって、前記スレーブ装置３は、シリアルデータＲｘＤを送信した後はデータ送信禁止にして端子の状態をハイレベル０ｘＦＦ又はローレベル０ｘ００に固定し、前記マスター装置２は、前記端子の状態以外の信号を認識した場合には受信開始として前記スレーブ装置３からのデータを受信し、前記端子の状態を示す信号ｄｕｍｍｙを認識した場合には受信禁止としてデータの解析を行うことを特徴とする。
【００２８】
この場合、前記マスター装置２は、前記信号ｄｕｍｍｙを認識することに基づき、前記スレーブ装置３からのデータのシフト量Δｔを計算するようにすると良い。
【産業上の利用可能性】
【００２９】
本発明に係るシリアルデータ通信システム及びシリアルデータ通信方法は、データ通信を行う機器全般に使用することができる。
【図面の簡単な説明】
【００３０】
【図１】図１(a) は、スレーブ装置からのシリアルデータがシフトした状態を説明するための図であり、図１(b)は、データ受信終了時の作用を説明するための模式図である。
【図２】図２は、本発明に係るシリアルデータ通信システムの構成の一例を示すブロック図である。
【図３】図３は、クロック信号の波形の一例を示す波形図である。
【図４】図４は、本発明に係るシリアルデータ通信方法の一例を示す図である。
【図５】図５は、シリアルデータ通信システムの従来構成の一例を示すブロック図である。
【図６】図６は、シリアルデータ通信システムの従来構成の他の例を示すブロック図である。
【図７】図７は、シリアルデータ通信システムの従来構成のさらに他の例を示すブロック図である。
【符号の説明】
【００３１】
１            シリアルデータ通信システム
２            マスター装置
３            スレーブ装置
ＣＬＫ        クロック信号
ＲｘＤ        シリアルデータ
Δｔ          データのシフト量
【図１】
0004615553.tif 000002
【図２】
0004615553.tif 000003
【図３】
0004615553.tif 000004
【図４】
0004615553.tif 000005
【図５】
0004615553.tif 000006
【図６】
0004615553.tif 000007
【図７】
0004615553.tif 000008