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