(57)【要約】【課題】ＤＭＡコントローラを用いたシリアル通信において通信異常やフレームずれが発生した場合にすみやかに正常なフレームに復帰させることができる同期方法を実現する。【解決手段】送信側装置で一定期間送信を行わないことで、受信側装置に受信の初期化を行わせることにより通信の同期を取る。また、通信異常発生時に一定期間受信停止をする期間を設けることにより、同期ずれが継続して起こらないようにする。【選択図】        図１
2005333486.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのシリアルデータ伝送線で接続されている２つの装置間において、送信側装置で一定期間送信を行わない送信周期区間を設け、該送信を行わない送信周期区間に受信側装置において受信の初期化を行わせることを特徴としたシリアル通信システムにおけるデータ同期方法。
【請求項２】
少なくとも１つのシリアルデータ伝送線で接続されている２つの装置間において、受信側装置において通信異常発生した際に一定期間受信停止させて同期ずれの継続を防止することを特徴としたシリアル通信システムにおけるデータ同期方法。
【請求項３】
少なくとも１つのシリアルデータ伝送線で接続されている２つの装置間において、受信側装置において通信異常発生時に一定期間受信停止をすることにより、同期ずれが継続することを防止するとともに、送信側装置において一定期間送信を行わない送信周期区間を設け、該送信を行わない送信周期区間に受信側装置において受信の初期化を行わせることを特徴としたシリアル通信システムにおけるデータ同期方法。
【請求項４】
送信側装置において送信フレーム番号Ｎを設定する手順と、
該送信フレーム番号Ｎが所定の自然数Ｍより大きいか否かを判定する手順と、
前記送信フレーム番号Ｎが前記所定の自然数Ｍ以下のときに送信開始処理を実行する手順と、
前記送信フレーム番号が前記所定の自然数Ｍよりも大きくかつ所定の自然数Ｌ（Ｌ＞Ｍ）以下のときに送信開始処理を行わないようにする手順と、
前記送信フレーム番号Ｎが前記所定の自然数Ｌに一致したとき、該フレーム番号Ｎを０に戻す手順を
実行させることによりコンピュータにシリアル通信のデータ同期を行わせることを特徴とするプログラム。
【請求項５】
送信側装置において、送信フレーム番号Ｎを設定する手順と、
該送信フレーム番号Ｎが所定の自然数Ｍより大きいか否かを判定する手順と、
前記送信フレーム番号Ｎが前記所定の自然数Ｍ以下のときに送信開始処理を実行する手順と、
前記送信フレーム番号が前記所定の自然数Ｍよりも大きくかつ所定の自然数Ｌ（Ｌ＞Ｍ）以下のときに送信開始処理を行わないようにする手順と、
前記送信フレーム番号Ｎが前記所定の自然数Ｌに一致したとき、該フレーム番号Ｎを０に戻す手順を
実行させるとともに、
受信側装置において、受信異常を検出したときに受信停止時間を受信側タイマに設定して受信側タイマを起動する受信異常処理を行う手順と、
前記受信異常処理終了後に、前記送信開始処理を行わない期間と同じ期間を受信側タイマに設定して受信側タイマを起動する受信側装置タイマ割り込み処理を行う手順を
実行させることによりコンピュータにシリアル通信のデータ同期を行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信システムにおけるデータの同期方法とそれを実現するためのプログラムに関する。
【背景技術】
【０００２】
従来、複数の装置間でデータを転送する際のデータ同期を取る方法としては、少なくとも一つの送信データ伝送線と通信同期用のクロック伝送線を有するシリアル通信システムが用いられている。このシリアル通信システムにおいては、複数のバイトデータを1フレームとして転送するフレームデータの同期方法としては、スタートビットを基準とする同期クロックによる単純な順序処理を実行することによって同期を保っていく方法が取られている。
【０００３】
この同期方法では、例えば、通信同期用のクロック線にノイズが混入して受信側装置の同期処理が本来のクロックサイクルよりも先に進んでしまった場合には、受信側のフレームが通常のクロックよりも早く終了してしまうため、その後の正規のクロックで送信データ伝送線がローレベル状態であると、受信側装置は新たな通信フレームを受信したと誤認識をしてしまう。このため、それ以降の順序処理が誤って進むことになり、正常なフレーム状態に戻すことが不可能であった。
【０００４】
そこで、所定期間内もしくはタイミングでフレームずれを起こしている受信側装置を正常なフレーム状態に復帰させることが可能なシリアル通信方法及びシステムが提案されている（例えば、特許文献１を参照。）。この特許文献１に記載の方法及びシステムは、予め定められた通信主体が通信異常の検知、非検知にかかわらず、所定の時間間隔で、通常の通信局間のデータ通信動作時以外に、シリアルデータ伝送線上のデータの1フレーム（通信単位）を伝送するのに必要な数の通信用同期クロックを通信用同期クロック伝送線に送出するものである。この通信用同期クロックの伝送線への送出は非通信時の論理を保持したままで行われる。
【０００５】
また、複数のバイトデータからなるフレームデータを調歩同期式、すなわちクロックを使用せずに決められた速度でデータをやり取りする非同期方式によってシリアル通信を行う場合、送信側では１バイトのデータを送信する毎にＣＰＵ（Central Processing Unit）が持つソフトウエアにより次の送信データを設定し、受信側では１バイトデータの受信毎に同じくＣＰＵ内のソフトウエアにより受信データをバッファとなるメモリ（ＲＡＭ）に転送する必要があった。この方法では、１バイトのデータ転送毎に、ＣＰＵ内のソフトウエアを動作させる必要があるため、ＣＰＵへの負荷がきわめて大きいものとなっていた。
【０００６】
そこで、各種の装置やメモリがＣＰＵを介在させることなく受信データを転送する機能を持つＤＭＡ（Direct Memory Access）コントローラを用いるものが提案されている。このＤＭＡ方式は、ＣＰＵが１バイト毎にソフトエア処理を行う必要がなく、ＣＰＵによるソフトウエア処理を１フレーム終了時のみとすることができるため、ＣＰＵに対する負荷を大幅に軽減することができる。
【０００７】
また、シリアル通信における異常検出については、１バイトデータ毎にスタートビット、パリティビット、ストップビットを設けて、１バイトデータ毎の異常を検出するようにしている。そして、フレーム毎の異常検出については、各フレームの後尾に当該フレームデータが正常に送られているかどうかをチェックするためのデータ、例えばサム値を格納する領域を設け、特に、フレームずれ対策としては、各フレームの先頭に他では使用されないキャラクタデータを同期用データとして用いている。
【特許文献１】特開平１０−１９０６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ここで、送信データの１バイト毎にＣＰＵがソフトウエア処理を行う方式であれば、フレームのどこのデータを受信中に異常が起きたかを把握しているので、異常が発生したフレームの残りバイト数が分かり、その残りバイト数だけ受信データを無視すれば、正常なフレームに復帰できる。また、各受信データが同期用データかどうかをチェックしていけば、フレームの先頭を見つけることもできる。
【０００９】
しかしながら、受信側にＤＭＡコントローラを用いた方式では、通信異常が発生した時に受信側が次のフレームの先頭を見つけることは、１バイト毎にソフトウエアが介在しないため、前述した方法を使用できず、困難である。すなわち、ＤＭＡコントローラを用いた方式においても、ＤＭＡコントローラにある残りのバイト数とビットレートから残り時間を算出し、その残り時間経過後に受信を再開する方法が考えられるが、この方法では、残り時間を算出するためにＣＰＵ負荷が増えてしまう。そして、フレームずれが発生した場合において、次の正常なフレーム開始時間を知るためには、受信した異常なフレームのどこに同期用データがあるかを調べなくてはならず、その処理のためにＣＰＵ負荷が増えてしまうという不都合があった。
【００１０】
また、シリアルデータ伝送線以外にフレーム同期用の信号線を追加してフレームの同期を取る方法もあるが、コストや小型化の面で不利である。例えば、特許文献１に示された例では、クロック同期式シリアル通信にてフレームずれの状態から正常なフレーム終了状態に復帰させる方法が考えられている。しかし、この方法は調歩同期式（非同期式）のシリアル通信には適用できない。
【００１１】
本発明は、上記した従来技術の問題点に鑑み、シリアル通信におけるフレームずれ等の通信異常に適切に対処することができ、かつ速やかに同期を取ることが可能な同期方法とそのためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決し、本発明の目的を達成するため、本発明のシリアル通信におけるデータ同期方法は、少なくとも１つのシリアルデータ伝送線で接続されている２つの装置間において、送信側装置で一定期間送信を行わない送信周期を設け、該送信を行わない送信周期の区間に受信側装置において受信の初期化を行わせることによりシリアル通信におけるデータ同期を取ることを特徴とするものである。
【００１３】
また、少なくとも１つのシリアルデータ伝送線で接続されている２つの装置間において、受信側装置において、通信異常の発生を検出した場合には、一定期間受信停止する時間を設けることにより、同期ずれの継続を防止することを特徴としている。
【００１４】
また、本発明のシリアル通信のデータ同期を実現するプログラムは、送信側装置において送信フレーム番号Ｎを設定する手順と、該送信フレーム番号が所定の自然数Ｍ（例えば１０）より大きいか否かを判定する手順と、この送信フレーム番号が所定の自然数Ｍ（例えば１０）以下のときに送信開始処理を実行する手順と、送信フレーム番号Ｎが所定の自然数Ｍ（例えば１０）よりも大きくかつ所定の自然数Ｌ（例えば１２）以下のときに送信開始処理を行わないようにする手順を実行するプログラムである。そして、このプログラムにおいては、送信フレーム番号Ｎが前記所定の自然数Ｌ（例えば１２）に一致したときに、フレーム番号Ｎを０に戻し、次に送信するフレーム（例えば１３番目のフレーム）を最初のフレーム（１番目のフレーム）として送信を継続するようにしている。
【００１５】
また、本発明のシリアル通信のデータ同期を実現するプログラムは、送信側装置において、送信フレーム番号Ｎを設定する手順と、該送信フレーム番号Ｎが所定の自然数Ｍ（例えば１０）より大きいか否かを判定する手順と、送信フレーム番号Ｎが前記所定の自然数Ｍ以下のときに送信開始処理を実行する手順と、送信フレーム番号Ｎがこの所定の自然数Ｍよりも大きくかつ所定の自然数Ｌ（例えば１２）以下のときに送信開始処理を行わないようにする手順と、送信フレーム番号Ｎが所定の自然数Ｌに一致したとき、該フレーム番号Ｎを０に戻す手順を実行させるとともに、受信側装置において、受信異常を検出したときに受信停止時間を受信側タイマに設定して受信側タイマを起動する受信異常処理を行う手順と、この受信異常処理終了後に、前記送信開始処理を行わない期間と同じ期間を受信側タイマに設定して受信側タイマを起動する受信側装置タイマ割り込み処理を行う手順を
実行させるプログラムである。
【発明の効果】
【００１６】
本発明によれば、シリアル通信において、フレーム同期用の信号線を追加することなく、ＤＭＡコントローラを用いてＣＰＵの負荷を軽減しつつ、通信異常やフレームずれが発生した場合に速やかに正常なフレームに復帰させることが可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の一実施の形態の例について説明する。
図１は本発明の一実施の形態の例を説明するための２装置間のシリアル通信を説明するためのブロック構成図である。
送信側装置１と受信側装置１０はシリアルデータ伝送線２２で接続されている。送信側装置１は、データの送受信を制御する通信モジュール２と、データ処理及び演算を行うＣＰＵ３と、データを一時的に保存するＲＡＭ４と、ＣＰＵ３で処理されるプログラムを保存するＲＯＭ５と、時間を計測するタイマ６から構成され、各構成要素はバス７によって結合されている。この通信モジュール２は送信制御のみならず受信制御も可能とするものである。
【００１８】
送信側装置１において、ＣＰＵ３は、ＲＯＭ５に保存されているプログラムを実行して演算処理を行う。この演算結果はＲＡＭ４に一時保存される。通信モジュール２は、ＣＰＵ３の制御に基づいて形成される送信データをシリアルデータ伝送線２２に出力し、あるフレームの送信データが出力されて次のフレームの送信データをＣＰＵ３が形成できる状態になるとＣＰＵ３に割り込み信号９を送る。タイマ６は、送信側装置１が起動している間、ＣＰＵ３によって設定された時間が経過する毎に、ＣＰＵ３に割り込み信号８を送っている。
【００１９】
受信側装置１０は、送信側装置１から送信されるデータを受信制御する通信モジュール１１と、データ処理及び演算を行うＣＰＵ１２と、データを一時的に保存するＲＡＭ１３と、ＣＰＵ１２で処理されるプログラムを保存するＲＯＭ１４と、時間を計測するタイマ１５と、ＣＰＵ１２を介することなく受信データをＲＡＭ１３に転送する機能を持つＤＭＡコントローラ１６から構成され、これら受信側装置１０を構成する各構成要素はバス１７によって結合されている。通信モジュール１１が受信制御のみならず、送信の制御を可能とすることはいうまでもない。
【００２０】
受信側装置１０において、ＣＰＵ１２は、ＲＯＭ１４に保存されているプログラムを実行して演算処理を行い、演算結果をＲＡＭ１３に保存する。タイマ１５は、受信側装置１０が起動している間、ＣＰＵ１２によって設定された時間が経過する毎に、ＣＰＵ１２に割り込み信号２１を送る。また、通信モジュール１１はシリアルデータ伝送線２２から受信したデータを１バイト受信する毎にＤＭＡコントローラ１６に割り込み信号１８を送り、ＤＭＡコントローラ１６は、ＣＰＵ１２によってＤＭＡコントローラ１６に設定された転送回数だけ、受信したデータをＲＡＭ１３へ転送する。
【００２１】
さらに、通信モジュール１１は、受信したデータの中に、パリティ異常やストップビット異常等の通信異常を検出すると、ＣＰＵ１２に割り込み信号２０を送る。ＣＰＵ１２は、通信モジュール１１から通信異常を知らせる割り込み信号２０を受けると、所定の受信停止期間を設定し、タイマ１５を起動する。受信停止期間終了後は、送信側装置で設定された送信開始処理を行わないフレームと同じ時間をタイマ１５に設定し、これを起動させる。なお、送信側装置１と受信側装置１０の各構成要素はそれぞれ独立した別のＩＣであってもよいし、マイクロコンピュータやＬＳＩ内に組込まれたものであってもよい。
【００２２】
次に送信側装置１の動作について説明する。送信側装置１は、タイマ６に送信周期を設定して起動し、送信周期毎にタイマ６からＣＰＵ３に対して割り込み信号８を送る。ＣＰＵ３は、タイマ６から割り込み信号８が供給される毎に、ＲＡＭ４内に作られた通信データのフレームを通信モジュール２に送り、フレームデータの送信を開始する。
【００２３】
図２は、本発明の一実施の形態の例で送受信されるフレームデータのフォーマットを示したものであり、最初にキャラクタデータからなる同期用データが形成され、続いて送信情報からなるフレームデータが続き、最後にフレームの後尾に当該フレームデータが正常に送られているかどうかをチェックするためのサム値が形成されている。
【００２４】
この一実施の形態の例では、送信装置側１と受信側装置１０の通信異常に対処するために、一定周期毎に一定期間送信を停止するようにしている。図３は、送信側装置１と受信側装置１０のフレームデータを送受信する際のタイムチャートを示したものであるが、この図に示すように、送信周期は送信側装置１において任意に設定され、この送信周期内に１フレーム分の送信データが受信側に送信される。各送信フレームにはフレーム番号が付されている。図３において、１フレーム分のデータ送信時間が送信周期より短くなっているのは、受信側装置１０で受信したデータを処理する時間を考慮しているからである。図３の例では、送信フレーム番号が１１番目と１２番目のとき、送信を行わない期間に設定している。
【００２５】
受信側装置１０において、１番目の送信フレームを受信すると、ＤＭＡコントローラ１６がＣＰＵ１２に割り込み信号１９を送る。ＣＰＵ１２は、この割り込み信号１９を受けて、タイマ１５に２送信周期分の時間経過後に割り込み信号２１を発生させるように２送信周期分の時間を設定し、タイマ１５を起動する。続いて２番目、３番目、・・・の送信フレームの受信時には、２送信周期分の時間が経過する前に１フレーム分のデータを受信し、その都度ＤＭＡコントローラ１６がＣＰＵ１２に割り込み信号１９が送られるので、タイマ１５が再起動され、タイマ１６からＣＰＵ１２への割り込み信号２１は発生しない。
【００２６】
しかし、図３に示す１１番目、１２番目のように送信側で送信を行わない期間では、受信側装置１０において、２送信周期の間、データ受信が行われないので、タイマ１６からＣＰＵ１２に対して割り込み信号２１が発生する。ＣＰＵ１２はこの割り込み信号２１を受けて受信モジュール１１及びＤＭＡコントローラ１６を初期化し、次に送信されてくるフレームの受信準備態勢をとる。そして、再びタイマ１５に２送信周期分の時間経過後に割り込み２１を発生させるように２送信周期分の時間を設定し、タイマ１５を起動する。そして、送信側装置１からフレーム番号１３番目の送信フレームが送信されると、受信処理が再開される。
【００２７】
図４は、送信側装置１のＣＰＵ３で行われる送信開始判定処理を実行するフローチャートを示したものであり、図３のタイムチャートの送信側に対応している。以下、図４に基づいて本実施の形態の例における送信開始判定処理について説明する。
【００２８】
上述したように、本例の場合は、送信側装置１のＣＰＵ３において、１０フレーム分の送信データの送信が完了したら、２フレーム分の送信停止期間を作るようにしている。
この送信開始判定処理においては、まず、１バイト送信毎に通信モジュール２からＣＰＵ３に対して割り込み信号９が送られる。ＣＰＵ３はフレームの最後のデータになるまで１バイトずつ送信データを通信モジュール２にセットする。フレームデータは図２において既に説明しているが、フレームの先頭に同期用データ、フレーム後尾に通信データのサム値が設けられている。最初に送信フレームにフレーム番号Ｎが付与される。このフレーム番号Ｎは、１フレームの送信が終了する毎に１だけインクリメント（増加）される（ステップＳ１）。
【００２９】
そして、次に、フレーム番号Ｎが、自然数Ｍ（本例ではＭ＝１０）を超えたか否かが判定される（ステップＳ２）。この判断ステップＳ２において、フレーム番号ＮがＭ（Ｍ＝１０）を超えていないときは（すなわち、Ｎ＝１、２、・・・・９、１０のとき）、送信開始処理が実行され、ＣＰＵ３からの指令に基づいて通信モジュール２は上記フレーム番号Ｎのデータをシリアル伝送線２２に出力する（ステップＳ３）。
【００３０】
判断ステップＳ２において、フレーム番号ＮがＭを超えていると判断された場合は（本例ではＮ＝１１、１２、１３・・・）、次に、フレーム番号ＮがＭより大きな自然数Ｌ（本例ではＬ＝Ｍ＋２＝１２）を超えたか否かが判定される（ステップＳ４）。この判断ステップＳ４において、フレーム番号ＮがＬ（本例ではＬ＝１２）を超えていない場合、すなわちＮ＝L（L=１２）より小さい場合（すなわちＮが１１の場合）は、ステップＳ３の送信開始処理を行うことなく送信開始判定処理を終了する。判断ステップＳ４において、ＮがＬ以上と判断された場合は（本例ではＮ＝１２以上、実際にはＮ＝１２のとき）はフレーム番号Ｎを０に戻して送信開始判定処理を終了する（ステップＳ５）。したがって、次の送信フレーム（１３番目の送信フレーム）は１番目の送信フレーム（Ｎ＝１）とされ、再びステップＳ１の処理が実行される。
【００３１】
次に、受信側装置１０における受信データの処理について説明する。
受信側装置１０において、通信モジュール１１がシリアルデータ伝送線２２から送信フレームデータを受信すると、通信モジュール１１は１バイトのデータを受信する毎にＤＭＡコントローラ１６に割り込み信号１８を送る。ＤＭＡコントローラ１６は通信モジュール１１からの割り込み信号１８を受け取ると、通信モジュール１１の受信データをＲＡＭ１３に転送する。
【００３２】
そして、ＤＭＡコントローラ１６が１フレーム分の受信データを通信モジュール１１からＲＡＭ１３に転送したところで、ＤＭＡコントローラ１６からＣＰＵ１２に割り込み信号１９が送信される。ＤＭＡコントローラ１６は予め上記処理を行うように設定されており、ＣＰＵ１２はＤＭＡコントローラ１６からの割り込み信号１９を受け取ると、ＲＡＭ１３に転送されたフレームの先頭データが同期用データであるかをチェックし、同期用データと異なる場合にはフレームずれが発生したと判定する。
【００３３】
また、ＣＰＵ１２は、常時、受信データのサム値を算出しており、ＣＰＵ１２で算出したサム値と受信されたフレームデータの後尾にあるサム値が異なる場合には、フレーム異常があったと判定される。
【００３４】
上述したように、受信側装置１０の通信モジュール１１は、受信したデータの中に、パリティ異常やストップビット異常等の通信異常を検出すると、ＣＰＵ１２に割り込み信号２０を送る。ＣＰＵ１２は、割り込み信号２０を受け取ると、フレームデータの受信を停止し、タイマ１５に送信周期から受信時間を引いた時間よりも少し短い時間を設定した後、タイマ１５を起動する。そして、タイマ１５を用いて次のデータを受信するまでの時間を計測し、上記設定した一定時間が経過しても次の受信が完了しないときは受信をリセットし、受信準備を行う。
【００３５】
次に、以上の動作を図５のタイムチャートを用いてさらに詳しく説明する。
図５は受信途中で通信異常が発生したときの通信の様子を示すタイムチャートである。受信側装置１０の通信モジュール１１において通信異常が検出されると、通信モジュール１１からの割り込み信号２０を受け取ったＣＰＵ１２は、フレームデータの受信を一定期間停止するようにし、受信停止期間終了後、受信準備を行う。図５に示す例は受信したフレームの後方で通信異常が発生した場合であるが、この場合には、図５に示すように次のフレームから正常に受信可能となる。
【００３６】
図６は、受信停止期間を持たない場合のタイムチャートを示したものである。図６に示すように、通信異常を検出しても受信停止期間を持たない場合は、一端受信データのフレームずれが発生すると、正常フレームに対する受信開始位置を変えることできないため、常に同じ位置でフレームずれが生じ、しかもこのフレームずれの状態が継続的に続くことになる。すなわち、図６に示すように、いったん受信開始位置が送信開始位置からずれると、次のフレームの受信開始も同じ位置になり、フレームずれが後続の全てのフレームで継続的に検出されてしまう。
【００３７】
そこで、図７に示すように、異常発生時に受信停止期間を設けることにより、正常フレームに対する受信開始位置を少しずつずらしていき、所定時間経過後に正常なフレームに復帰できるようにすることが考えられる。つまり、図７の例では、受信側装置１０のＣＰＵ１２でフレームずれが検出されると、ＣＰＵ１２が所定の受信停止期間を設定する。このように受信停止期間を設けることにより、送信フレームに対するフレームずれの位置が次第に変化していき、時間がかかるものの、やがて正常なフレームに復帰させることができる。
【００３８】
本発明の一実施の形態の例では、図８のタイムチャートに示すように、受信側装置１０において、送信側装置１で設けられた送信しない送信周期期間に対応する時間をタイマ１５に設定している。このように受信側装置１０の通信モジュール１１でフレームずれを検出したときに所定の受信停止期間を設定することに加え、送信されない送信周期期間に相当する時間を受信側装置に設定し、この時間に受信をリセットして受信準備を行うことにより、送信側装置１で送信されない送信周期を設けない場合に比べて、短時間で正常なフレームに復帰することが可能となるのである。
【００３９】
すなわち、図８に示すように、受信開始位置と送信開始位置がずれ、受信側装置１０においてフレームずれが検出されると、上述したようにＣＰＵ１２が受信停止期間を設定し、受信停止期間終了後に受信準備にかかる。そして受信側装置１０のタイマ１５により、受信準備の後の２送信周期だけ時間経過してから、初期状態に受信をリセットする。すると、送信側においても２送信周期期間の間、送信を行わない送信周期が設定されているため、受信側で設定した２送信周期後に、最初に受信されるフレームの受信開始時間が送信側装置１から送られてくる送信フレームの開始時間に一致するので、極めて短時間で送信側と受信側のデータ同期が実現することになる。
【００４０】
図９は、図８に示した本発明の実施の形態の例に基づいた処理を行うためのフローチャートである。以下の図９に基づいて本発明の実施の形態の例をより詳細に説明する。
図９の（Ａ）は、受信異常時の処理を示すフローチャートであり、（Ｂ）は受信側装置１０におけるタイマ１５の割り込み処理を示すフローチャートである。
【００４１】
まず、図９（Ａ）に示されるように、受信側装置１０の通信モジュールにおいて受信異常が検出されると、受信異常処理が開始される（ステップＳ１０）。この受信異常処理は、通信モジュール１１がＣＰＵ１２に対して割り込み信号２０を送信することによって開始される。ＣＰＵ１２はこの通信モジュール１１からの割り込み信号を受信すると、受信を停止する処理を行う（ステップＳ１１）。そして受信停止期間を受信側タイマ１５に設定する（ステップＳ１２）。このタイマ１５に設定される受信停止期間としては、図８に示すように送信周期と比べてかなり少ない時間を設定する。
【００４２】
続いて、受信側タイマ１５を起動し（ステップＳ１３）、受信異常処理を終了する（ステップＳ１４）。そして、図８に示す受信停止期間が経過すると（ステップＳ１５）、次に、受信側装置タイマ１５の割り込み処理が行われる（ステップＳ１６）。この受信側タイマ１５の割り込み処理は図８に示すように、受信停止期間終了後に受信リセット処理がなされ（ステップＳ１７）、受信の準備が行われる（ステップＳ１８）。そしてタイマ１５に送信周期の２倍の時間（２送信周期の時間）が設定され(ステップＳ１９)、受信側装置タイマ１５が起動される（ステップＳ２０）。以上の処理を完了して受信側装置タイマ１５を用いた割込み処理が完了する（ステップＳ２１）。
【００４３】
以上、説明したように、本発明のシリアル通信におけるデータ同期方法によれば、送信側で送信データを送信しない送信周期期間を設けるとともに、フレームずれ等の受信異常を受信側で検出した場合には、受信側において、受信停止期間を設けているので、受信側でフレームずれ等の異常を検出しても、短時間で正常なフレームの受信に移行することができるので、送信側と受信側のデータ同期を容易に実現することが可能となる。
【００４４】
なお、本発明の実施の形態においては、送信側で送信しない期間を送信周期の２倍に設定したが、この送信しない期間は送信側装置１と受信側装置１０間において任意に設定できるものである。また、本発明は、上記実施の形態で説明した範囲に限定されるものではなく、本発明の要旨を逸脱しない限りにおいて、上記実施の形態の種々な変形例を含むことは言うまでもない。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施の形態の例を実現するための送信側及び受信側装置のブロック構成図である。
【図２】本発明の一実施の形態の例で用いられる送信データフレームのデータ構造を示した図である。
【図３】本発明の一実施の形態の例を説明するための、送信を行わない送信周期を設けたタイムチャートである。
【図４】本発明の一実施の形態の例の送信開始判定処理を説明するためのフローチャートである。
【図５】本発明の一実施の形態の例の異常検出が、受信されたフレームの後尾部分で生じた場合のタイムチャートである。
【図６】受信側装置において、異常検出時に受信停止時間を持たない場合のフレームずれを説明するためのタイムチャートである。
【図７】本発明の一実施の形態の例の受信側装置において、異常検出時に受信停止時間を持つ場合のフレームずれを説明するためのタイムチャートである。
【図８】本発明の一実施の形態の例のデータ同期処理を説明するためのタイムチャートである。
【図９】本発明の一実施の形態の例のデータ同期処理を説明するためのフローチャートである。
【符号の説明】
【００４６】
１・・・送信側装置
２、１１・・・通信モジュール
３、１２・・・ＣＰＵ
４、１３・・・ＲＡＭ
５、１４・・・ＲＯＭ
６、１５・・・タイマ
７、１７・・・バス
８、９、１８、１９、２０、２１・・・割り込み信号
１０・・・受信側装置
１６・・・ＤＭＡコントローラ
２２・・・シリアルデータ伝送線
【図１】
2005333486.tif 000003
【図２】
2005333486.tif 000004
【図３】
2005333486.tif 000005
【図４】
2005333486.tif 000006
【図５】
2005333486.tif 000007
【図６】
2005333486.tif 000008
【図７】
2005333486.tif 000009
【図８】
2005333486.tif 000010
【図９】
2005333486.tif 000011