(57)【要約】【課題】  送信データが相手の機器に正しく受信されたかどうかの確認を確実に、しかも通信終了と同時に判断できる全２重の３線同期式シリアル通信方法およびその装置を提供することを目的とする。【解決手段】  ２台の機器Ａ，Ｂ間で互いに、Ｎ個のデータを送信するとき、（Ｎ＋１）番目のデータとしてＮ個のデータの合計値を送信し、同時に受信した（Ｎ＋１）個のデータの合計値を（Ｎ＋２）番目のデータとして送信する。これにより、送信したＮ個のデータおよび（Ｎ＋１）番目のデータの合計値を、（Ｎ＋２）番目のデータとして受信することになり、送信した「Ｎ個の送信データおよび（Ｎ＋１）番目のデータの合計値」と受信した（Ｎ＋２）番目のデータとが一致するかどうかによって、送信したデータが正常に受信されたかをどうかを確実に、しかも通信終了と同時に判断できる。【選択図】      図１
2006067145.tif 000002
【特許請求の範囲】
【請求項１】
２台の機器間にて、記憶されたＮ（Ｎは２以上の自然数）個のデータを同時に送受信する全２重の３線同期式シリアル通信方法であって、
一方の機器より他方の機器へ、前記Ｎ個のデータを順に送信し、（Ｎ＋１）番目のデータとして、前記Ｎ個のデータの合計値を送信し、これら送信と同時に他方の機器より受信する（Ｎ＋１）個のデータの合計値を（Ｎ＋２）番目のデータとして送信し、
前記（Ｎ＋２）番目のデータの送信と同時に他方の機器より受信する（Ｎ＋２）番目のデータと、前記Ｎ個のデータおよび前記（Ｎ＋１）番目のデータの合計値とが一致するかどうかにより、送信したデータが他方の機器において正常に受信されたかどうかを判断すること
を特徴とする全２重の３線同期式シリアル通信方法。
【請求項２】
受信した（Ｎ＋１）番目のデータと、受信した前記Ｎ個のデータの合計値とが一致するかどうかにより、受信したデータが正常かどうかを判断すること
を特徴とする請求項１に記載の全２重の３線同期式シリアル通信方法。
【請求項３】
受信したデータが正常ではないと判断すると、送信したデータも正常に受信されていないと判断すること
を特徴とする請求項２に記載の全２重の３線同期式シリアル通信方法。
【請求項４】
２台の機器間にて、記憶されたＮ（Ｎは２以上の自然数）個のデータを同時に送受信する全２重の３線同期式シリアル通信装置であって、
前記各機器毎に、
送信するＮ個のデータを記憶する送信データ記憶部と、
前記送信データ記憶部に記憶されたＮ個のデータの合計値を求める送信データ加算部と、
前記送信データ記憶部に記憶されたＮ個のデータと前記送信データ加算部の合計値を加算して、送信したデータの良否を判断する比較用データを求める送信データ比較用加算部と、
（Ｎ＋２）個のデータを順に、一方の機器より他方の機器へ送信するシリアル通信方式の送信部と、
前記送信部からデータを送信すると同時に他方の機器よりデータを受信する受信部と、
前記受信部に受信されたデータのうち（Ｎ＋１）番目までのデータの合計値を求める比較受信データ加算部と
を備え、
前記送信部は、前記送信データ記憶部に記憶されたＮ個のデータに続いて、（Ｎ＋１）番目に、前記送信データ加算部において求められた前記Ｎ個のデータの合計値を送信し、続いて（Ｎ＋２）番目に、前記比較受信データ加算部において求められた（Ｎ＋１）個のデータの合計値を送信し、
前記受信部に受信されたデータのうち（Ｎ＋２）番目のデータと、前記送信データ比較用加算部により求められた比較用データを比較し、前記送信手段から送信されたデータが他方の機器において正常に受信されたかどうかを判断すること
を特徴とする全２重の３線同期式シリアル通信装置。
【請求項５】
前記各機器毎に、前記受信部に受信されたデータのうちＮ番目までのデータの合計値を求める受信データ加算部を備え、
前記受信部に受信されたデータのうち（Ｎ＋１）番目のデータと、前記受信データ加算部により求められたＮ番目までのデータの合計値を比較し、前記受信したデータが正常かどうかを判断すること
を特徴とする請求項４に記載の全２重の３線同期式シリアル通信装置。
【請求項６】
受信したデータが正常ではないと判断すると、送信したデータも正常に受信されていないと判断すること
を特徴とする請求項５に記載の全２重の３線同期式シリアル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２台の機器間で定期的に複数のデータの送受信を同時に行う全２重の３線同期式シリアル通信技術に関するものである。
【背景技術】
【０００２】
従来、２台の機器の全２重の３線同期式シリアル通信において、受信データを正確に受信できたかどうかの確認が、送信側の機器がデータの最後尾に送信データの合計値を付加して送信し、受信側の機器は受信データの合計値を再計算し、最後尾の受信データと比較して等しいかどうかを確認することにより行われている（例えば、特許文献１参照）。
【０００３】
例としてＮ個のデータを送受信する機器Ａと機器Ｂについて図８〜図１２を用いて説明する。
図８に示すように、機器Ａは、同期クロック発生部１１３と、Ｎ（Ｎは２以上の自然数）個の送信データＡ（０）〜Ａ（Ｎ−１）を保存する送信データメモリ部１１４と、Ｎ個の送信データＡ（０）〜Ａ（Ｎ−１）を加算し、その合計値Ａ（Ｎ）を出力する送信データ加算部１１５と、送信データメモリ部１１４のＮ個の送信データＡ（０）〜Ａ（Ｎ−１）に続けて送信データ加算部１１５の加算値Ａ（Ｎ）を順に、すなわち（Ｎ＋１）個の送信データＡ（０）〜Ａ（Ｎ）を送信する送信部１１６と、機器Ｂより（Ｎ＋１）個の受信データＢ（０）〜Ｂ（Ｎ）を受信する受信部１１８と、受信データのはじめからＮ番目まで、すなわち受信データＢ（０）〜Ｂ（Ｎ−１）を加算し、その合計値を出力する受信データ加算部１１７と、受信データの（Ｎ＋１）番目の受信データＢ（Ｎ）をメモリする受信データ最後尾部１１ａと、受信データ加算部１１７の合計値と受信データ最後尾部１１ａの受信データＢ（Ｎ）を比較する受信データ比較部１１９とを備えている。
【０００４】
受信データ比較部１１９で比較した結果が同じであった場合は受信したデータが正しい受信データと判断できる。また、比較した結果が異なっていた場合は受信したデータが間違った受信データと判断できる。
【０００５】
機器Ｂは同期クロック受信部１１ｂ以外、機器Ａと同様であり、同一の符号を付している。なお、機器Ａの送信データＡ（０）〜Ａ（Ｎ）に対応する受信データをＣ（０）〜Ｃ（Ｎ）、機器Ａの受信データＢ（０）〜Ｂ（Ｎ）に対応する送信データをＤ（０）〜Ｄ（Ｎ）としている。
【０００６】
図９は機器Ａおよび機器ＢのＣＰＵ内部のメモリを示しており、機器ＡのＣＰＵ２１１から機器ＢのＣＰＵ２１２へデータ通信する場合は、ＣＰＵ２１１内の（Ｎ＋１）個の送信用バッファ２１３の内容がデータラインを介してＣＰＵ２１２の（Ｎ＋１）個の受信用バッファ２１５に転送される。また、ＣＰＵ２１２からＣＰＵ２１１へデータ通信する場合は、ＣＰＵ２１２内の（Ｎ＋１）個の送信用バッファ２１６の内容がデータラインを介してＣＰＵ２１１内の（Ｎ＋１）個の受信用バッファ２１４に転送される。
【０００７】
上記送信データメモリ部１１４と送信データ加算部１１５と送信部１１６による動作を図１０に示す。図１０は、機器Ａの送信データの最後尾値Ａ(Ｎ)を作成し、送信用バッファ２１３に格納し、Ａ(０)からＡ(Ｎ)のデータを送信するフローチャートである。
【０００８】
ステップ２２１において初期化した後、ステップ２２２，２２３において、送信するＮ個の送信データＡ（０）〜Ａ（Ｎ−１）のＳＵＭ値Ａを計算する。次にステップ２２４にて、ＳＵＭ値Ａをリングバッファの最後尾Ａ（Ｎ）に付加し、ステップ２２５にて、Ａ（０）〜Ａ（Ｎ）の合計（Ｎ＋１）個のデータをデータラインを介して機器ＢのＣＰＵ２１２に送信する。
【０００９】
上記受信部１１８と受信データ加算部１１７と受信データ最後尾部１１ａと受信データ比較部１１９による動作を図１１に示す。図１１は機器Ａの受信用バッファ２１４に受信したデータが正しい受信データかどうかを判断するフローチャートである。
【００１０】
ステップ２３１において初期化した後、ステップ２３２，２３３において、Ｂ（０）〜Ｂ（Ｎ−１）のＳＵＭ値Ｂを計算し、ステップ２３４にて、このＳＵＭ値Ｂと（Ｎ＋１）番目のＢ（Ｎ）とを比較し、等しい場合には、ステップ２３６にて正常に受信したことを示す正常受信フラグＦ＿Ｒｏｋをセットし、ＳＵＭ値Ｂと（Ｎ＋１）番目のＢ（Ｎ）とが等しくない場合には、ステップ２３５にて正常受信フラグＦ＿Ｒｏｋをクリアする。
【００１１】
そして、機器Ａの受信用バッファ２１４にストアされたデータが、ＣＰＵ２１１内にストアされる。すなわち、正常受信フラグＦ＿Ｒｏｋが１であるならば、この受信データを採用して制御用データとしてストアし、正常受信フラグＦ＿Ｒｏｋが０であるならば、受信データに異常があると判断して、この受信データは制御用データとして採用しない。
【００１２】
上記構成・処理において、例として３バイトのデータを機器Ａと機器Ｂにおいて送受信する場合について図１２を用いて説明する。機器Ａは送信データ１７，１８，１９の合計値１ａを最後尾に付加してデータ１７，１８，１９，１ａの順に送信する。同時に機器Ｂから受信するデータは、データ１３，１４，１５，１６の順に受信する。受信データ１６は機器Ｂがデータ１３，１４，１５を加算した合計値である。機器Ａは受信データ１３，１４，１５の合計値を再計算し、データ１６と比較する。比較結果が同じであった場合、受信データ１３，１４，１５は正しい受信データと判断できる。異なっていた場合は、データ１３，１４，１５は間違った受信データと判断できる。機器Ｂについても同様である。
【特許文献１】特開平７−２６９４０９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来の３線同期式シリアル通信方法では、送信データが相手の機器に正しく受信されたかどうかを確認する方法については、いくつかの課題がある。
図１３、図１４、図１５を参照しながら説明する。
【００１４】
図１３に示す確認方法は、機器Ａが送信したデータ２６を機器Ｂが受信し、機器Ａが送信データ２７を送信すると同時に機器Ｂからデータ２６のエコーバックデータ２４を受信し、機器Ａは送信データ２６と受信データ２４を比較することにより１バイト毎に前回の送信データが正しく機器Ｂに送信できたかを確認する方法である。
【００１５】
この方法はデータの送受信を同時に行うことができず、送信側と受信側に分けられ、また最後尾の送信データ２８のエコーバック受信データが存在しないという問題がある。
図１４に示す確認方法は、「背景技術」に記載した図８〜図１２の通信方法で受信データが正しく受信できたと判断した場合、機器Ａはデータ３５、機器Ｂはデータ３８の最後尾のデータを受信してからt時間(例えばt=100msec)以内に機器ＡはＡＣＫ（肯定応答）３９、機器ＢはＡＣＫ（肯定応答）３ａをそれぞれ出力し、最後尾のデータを送信してからt時間以内にＡＣＫを認識した場合、相手の機器が送信データを正しく受信したと判断する方法である。ＡＣＫを認識できなかった場合は、相手の機器が送信データを正しく受信できなかったと判断する。
【００１６】
この方法は３つの通信用端子(ＣＬＫ，ＤＩ，ＤＯ)以外に、ＡＣＫ＿ＯＵＴ出力端子とＡＣＫ＿ＩＮ入力端子が必要であり、コスト高につながり、またタイムアウト時間tが存在するため、送受信終了と同時に送信結果が判断できないという問題がある。
【００１７】
図１５では、「背景技術」に記載した図８〜図１２の通信方法で受信データが正しく受信できたと判断しても判断結果を返さない。そのため送信データが相手の機器に正しく受信されたかどうかの確認ができない方法である。
【００１８】
この方法は機器Ａから送信したデータ４６，４７，４８を機器Ｂが正しく受信できたか全く分からないため、機器Ａは数回同じデータを送信する必要がある。しかし、何回同じデータを送信しても機器Ｂは全て正しく受信できていない可能性もある。機器Ｂについても同様である。
【００１９】
そこで、本発明は、付加する端子無しに、すなわち２つの機器間の接続端子を３つの通信用端子(ＣＬＫ，ＤＩ，ＤＯ)のみで、送信データが相手の機器に正しく受信されたかどうかの確認を、確実に、しかも通信終了と同時に判断できる全２重の３線同期式シリアル通信方法およびその装置を提供することを目的としたものである。
【課題を解決するための手段】
【００２０】
前述した目的を達成するために、本発明のうち請求項１に記載の発明は、２台の機器間にて、記憶されたＮ（Ｎは２以上の自然数）個のデータを同時に送受信する全２重の３線同期式シリアル通信方法であって、一方の機器より他方の機器へ、前記Ｎ個のデータを順に送信し、（Ｎ＋１）番目のデータとして、前記Ｎ個のデータの合計値を送信し、これら送信と同時に他方の機器より受信する（Ｎ＋１）個のデータの合計値を（Ｎ＋２）番目のデータとして送信し、前記（Ｎ＋２）番目のデータの送信と同時に他方の機器より受信する（Ｎ＋２）番目のデータと、前記Ｎ個のデータおよび前記（Ｎ＋１）番目のデータの合計値とが一致するかどうかにより、送信したデータが他方の機器において正常に受信されたかどうかを判断することを特徴とするものである。
【００２１】
上記方法によれば、２台の機器間で互いに、受信した（Ｎ＋１）個のデータの合計値を（Ｎ＋２）番目のデータとして送信することにより、送信したＮ個のデータおよび（Ｎ＋１）番目のデータの合計値を、（Ｎ＋２）番目のデータとして受信することになり、送信した［Ｎ個のデータおよび（Ｎ＋１）番目のデータの合計値］と、受信した（Ｎ＋２）番目のデータとが一致するかどうかによって、送信データが他方の機器において正常に受信されたかをどうかが、確実に、しかも通信終了と同時に判断される。またＡＣＫ（肯定応答）のためのＡＣＫ＿ＯＵＴ出力端子とＡＣＫ＿ＩＮ入力端子を必要としない。
【００２２】
また請求項２に記載の発明は、請求項１に記載の発明であって、受信した（Ｎ＋１）番目のデータと、受信した前記Ｎ個のデータの合計値とが一致するかどうかにより、受信したデータが正常かどうかを判断することを特徴とするものである。
【００２３】
上記方法によれば、（Ｎ＋１）番目のデータとして、Ｎ個のデータの合計値が送信されることにより、受信したＮ個のデータの合計値と受信した（Ｎ＋１）番目のデータとが一致するかどうかによって、受信したデータが正常かどうかが判断される。
【００２４】
また請求項３に記載の発明は、請求項２に記載の発明であって、受信したデータが正常ではないと判断すると、送信したデータも正常に受信されていないと判断することを特徴とするものである。
【００２５】
上記方法によれば、受信したデータが正常ではないとき、送信したデータも正常に受信されていないと判断される。
また請求項４に記載の発明は、２台の機器間にて、記憶されたＮ（Ｎは２以上の自然数）個のデータを同時に送受信する全２重の３線同期式シリアル通信装置であって、前記各機器毎に、送信するＮ個のデータを記憶する送信データ記憶部と、前記送信データ記憶部に記憶されたＮ個のデータの合計値を求める送信データ加算部と、前記送信データ記憶部に記憶されたＮ個のデータと前記送信データ加算部の合計値を加算して、送信したデータの良否を判断する比較用データを求める送信データ比較用加算部と、（Ｎ＋２）個のデータを順に、一方の機器より他方の機器へ送信するシリアル通信方式の送信部と、前記送信部からデータを送信すると同時に他方の機器よりデータを受信する受信部と、前記受信部に受信されたデータのうち（Ｎ＋１）番目までのデータの合計値を求める比較受信データ加算部とを備え、前記送信部は、前記送信データ記憶部に記憶されたＮ個のデータに続いて、（Ｎ＋１）番目に、前記送信データ加算部において求められた前記Ｎ個のデータの合計値を送信し、続いて（Ｎ＋２）番目に、前記比較受信データ加算部において求められた（Ｎ＋１）個のデータの合計値を送信し、前記受信部に受信されたデータのうち（Ｎ＋２）番目のデータと、前記送信データ比較用加算部により求められた比較用データを比較し、前記送信手段から送信されたデータが他方の機器において正常に受信されたかどうかを判断することを特徴とするものである。
【００２６】
上記構成によれば、２台の機器間で互いに、受信した（Ｎ＋１）個のデータの合計値を（Ｎ＋２）番目のデータとして送信することにより、送信したＮ個のデータおよび（Ｎ＋１）番目のデータの合計値を、（Ｎ＋２）番目のデータとして受信することになり、送信した［Ｎ個のデータおよび（Ｎ＋１）番目のデータの合計値］である比較用データと、受信した（Ｎ＋２）番目のデータとが一致するかどうかによって送信したデータが他方の機器において正常に受信されたかが、確実に、しかも通信終了と同時に判断される。またＡＣＫ（肯定応答）のためのＡＣＫ＿ＯＵＴ出力端子とＡＣＫ＿ＩＮ入力端子を必要としない。
【００２７】
また請求項５に記載の発明は、請求項４に記載の発明であって、前記各機器毎に、前記受信部に受信されたデータのうちＮ番目までのデータの合計値を求める受信データ加算部を備え、前記受信部に受信されたデータのうち（Ｎ＋１）番目のデータと、前記受信データ加算部により求められたＮ番目までのデータの合計値を比較し、前記受信したデータが正常かどうかを判断することを特徴とするものである。
【００２８】
上記構成によれば、（Ｎ＋１）番目のデータとして、Ｎ個のデータの合計値が送信されることにより、受信したＮ個のデータの合計値と受信した（Ｎ＋１）番目のデータとが一致するかどうかによって、受信したデータが正常かどうかが判断される。
【００２９】
また請求項６に記載の発明は、請求項５に記載の発明であって、受信したデータが正常ではないと判断すると、送信したデータも正常に受信されていないと判断することを特徴とするものである。
【００３０】
上記構成によれば、受信したデータが正常ではないとき、送信したデータも正常に受信されていないと判断される。
【発明の効果】
【００３１】
本発明の全２重の３線同期式シリアル通信方法は、上記方法を有し、全２重の３線同期式シリアル通信において、低コストで高速かつ高品質の送受信を実現することができる、という効果を有している。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を、図面を参照しながら説明する。
図１は本実施の形態における全２重の３線同期式シリアル通信装置である、Ｎ個のデータを送受信する２台の機器のブロック図である。
【００３３】
機器Ａは、同期クロック発生部１２３と、Ｎ個の送信データＡ（０）〜Ａ（Ｎ−１）を保存する送信データメモリ部（送信データ記憶部）１２４と、Ｎ個の送信データＡ（０）〜Ａ（Ｎ−１）を加算し、その合計値Ａ（Ｎ）を出力する送信データ加算部１２５と、機器Ｂより（Ｎ＋２）個の受信データＢ（０）〜Ｂ（Ｎ＋１）を順に受信する受信部１２ｃと、受信データのはじめから（Ｎ＋１）番目までのデータを加算し、すなわち受信データＢ（０）〜Ｂ（Ｎ）を加算し、その合計値Ａ（Ｎ＋１）を出力する比較受信データ加算部１２９と、機器Ｂへ送信データメモリ部１２４のＮ個の送信データＡ（０）〜Ａ（Ｎ−１）を順に送信し、続いて送信データ加算部１２５の合計値Ａ（Ｎ），比較受信データ加算部１２９の合計値Ａ（Ｎ＋１）を順に送信するシリアル通信方式の送信部１２６と、送信データのはじめから（Ｎ＋１）個目までを加算する、すなわち送信データメモリ部１２４のＮ個の送信データＡ（０）〜Ａ（Ｎ−１）と送信データ加算部１２５の合計値Ａ（Ｎ）を加算する送信データ比較用加算部１２７と、機器Ｂより受信した受信データのはじめからＮ番目まで、すなわち受信データＢ（０）〜Ｂ（Ｎ−１）を加算する受信データ加算部１２ｂと、受信データのＮ番目の値をメモリする比較受信データ部１２ｅと、受信データ加算部１２ｂの合計値と比較受信データ部１２ｅの値を比較する受信データ比較部１２ｄと、受信データの最後尾のＢ（Ｎ＋１）をメモリする受信データ最後尾部１２ａと、送信データ比較用加算部１２７の合計値と受信データ最後尾部１２ａのＢ（Ｎ＋１）を比較する送信データ比較部１２８を備えている。
【００３４】
受信データ比較部１２ｄで比較した結果が同じであった場合は受信したデータが正しい受信データと判断できる。また、比較した結果が異なっていた場合は受信したデータが間違った受信データと判断できる。
【００３５】
また送信データ比較部１２８で比較した結果が同じであった場合は送信したデータが機器Ｂ側で正しく受信されたと判断できる。また、比較した結果が異なっていた場合は機器Ｂ側で受信したデータが間違って受信されたと判断できる。
【００３６】
機器Ｂは同期クロック受信部１２ｆ以外、機器Ａと同様であり、同一の符号を付している。なお、機器Ａの送信データＡ（０）〜Ａ（Ｎ＋１）に対応する受信データをＣ（０）〜Ｃ（Ｎ＋１）、機器Ａの受信データＢ（０）〜Ｂ（Ｎ＋１）に対応する送信データをＤ（０）〜Ｄ（Ｎ＋１）としている。
【００３７】
図２は機器Ａおよび機器ＢのＣＰＵ内部のメモリを示しており、機器ＡのＣＰＵ２４１から機器ＢのＣＰＵ２４２へデータ通信する場合は、ＣＰＵ２４１内の（Ｎ＋２）個の送信用バッファ２４３の内容がデータラインを介してＣＰＵ２４２の（Ｎ＋２）個の受信用バッファ２４５に転送される。また、ＣＰＵ２４２からＣＰＵ２４１へデータ通信する場合は、ＣＰＵ２４２内の（Ｎ＋２）個の送信用バッファ２４６の内容がデータラインを介してＣＰＵ２４１内の（Ｎ＋２）個の受信用バッファ２４４に転送される。
【００３８】
上記送信データメモリ部１２４と送信データ加算部１２５と送信部１２６による動作を図３に示す。図３は機器Ａの送信データのＮ番目のＡ(Ｎ)を作成し、送信用バッファ２４１に格納し、Ａ(０)からＡ(Ｎ)の送信を開始するフローチャート図である。機器Ｂにおいても同様である。
【００３９】
背景の技術の図１０と同様に、ステップ２５１において初期化した後、ステップ２５２，２５３において、送信するＮ個の送信データＡ（０）〜Ａ（Ｎ−１）のＳＵＭ値Ａを計算する。次にステップ２５４にて、ＳＵＭ値Ａを送信用バッファ２４３のＡ（Ｎ）に付加し、ステップ２５５にて、Ａ（０）〜Ａ（Ｎ）のデータを順にデータラインを介して機器ＢのＣＰＵ２４２へ送信を開始する。
【００４０】
また上記受信データ最後尾部１２ａと、受信データ加算部１２ｂと、受信部１２ｃと、受信データ比較部１２ｄと、比較受信データ部１２ｅと、送信データ比較用加算部１２７と、送信データ比較部１２８と、比較受信データ加算部１２９とによる動作を図４に示す。図４は、機器Ａの受信用バッファ２４４に受信したデータＢ(０)からＢ(Ｎ)までの加算値により送信用バッファ２４１のＡ(Ｎ＋１)を作成し、受信したデータＢ(０)からＢ(Ｎ−１)までの受信データが正しい受信データかどうかを判断するとともに送信データが正しく受信されたかどうかを判断するフローチャート図である。機器Ｂにおいても同様である。
【００４１】
ステップ２６１において初期化した後、ステップ２６２，２６３において、受信データＢ（０）〜Ｂ（Ｎ−１）のＳＵＭ値Ｂを計算し、ステップ２６４において、このＳＵＭ値Ｂに受信データＢ（Ｎ）を加算してその値により送信用バッファ２４１のＡ(Ｎ＋１)を作成し、ステップ２６５においてこのＡ(Ｎ＋１)を上記ステップ２５５（図３）のＡ（Ｎ）のデータの次に送信する。
【００４２】
続いてステップ２６６にて、上記ＳＵＭ値Ｂ｛Ｂ（０）〜Ｂ（Ｎ−１）の加算値｝と（Ｎ＋１）番目のＢ（Ｎ）とを比較し、等しい場合には、ステップ２６８にて正常に受信したことを示す正常受信フラグＦ＿Ｒｏｋをセットし、ＳＵＭ値Ｂと（Ｎ＋１）番目のＢ（Ｎ）とが等しくない場合には、ステップ２６７にて正常受信フラグＦ＿Ｒｏｋをクリアする。そして、機器Ａの受信用バッファ２４４にストアされたデータが、ＣＰＵ２４１内にストアされる。すなわち、正常受信フラグＦ＿Ｒｏｋが１であるならば、この受信データを採用して制御用データとしてストアし、正常受信フラグＦ＿Ｒｏｋが０であるならば、受信データに異常があると判断して、この受信データは制御用データとして採用しない。
【００４３】
続いてステップ２６９において初期化した後、ステップ２６ａ，２６ｂにおいて、送信データＡ（０）〜Ａ（Ｎ）のＳＵＭ値Ａを計算し、ステップ２６ｃにおいて、このＳＵＭ値Ａと（Ｎ＋２）番目の受信データＢ（Ｎ＋１）とを比較し、等しい場合には、ステップ２６ｅにて正常に送信したことを示す正常送信フラグＦ＿Ｓｏｋをセットし、ＳＵＭ値Ａと（Ｎ＋２）番目のＢ（Ｎ＋１）とが等しくない場合には、ステップ２６ｄにて正常送信フラグＦ＿Ｓｏｋをクリアする。
【００４４】
そして、正常送信フラグＦ＿Ｓｏｋが１であるならば、この送信データは正常に機器Ｂに送信されたと判断し、正常送信フラグＦ＿Ｓｏｋが０であるならば、送信データに異常が発生したと判断して、この送信データを再度送信するなどの処理を行う。
【００４５】
上記構成・処理において、例として送信データメモリ部１２４に記憶された３バイトのデータを機器Ａと機器Ｂにおいて送受信する場合について図５を用いて説明する。
機器Ａは送信データ５８，５９，５ａの合計値５ｂを最後尾から１つ前にＡ（３）として付加してデータ５８，５９，５ａ，５ｂの順に送信する。また、送信データ５８，５９，５ａ，５ｂの合計値｛Ｂ（４）に相当する｝を算出しておく。
【００４６】
機器Ｂから受信するデータは、５３，５４，５５，５６，５７の順に受信する。受信データ５６は機器Ｂが５３，５４，５５の合計値を計算した値である。機器Ａは受信データ５３，５４，５５の合計値を再計算し、受信データ５６と比較する。比較結果が同じであった場合、受信データ５３，５４，５５は正しい受信データと判断できる。異なっていた場合は、受信データ５３，５４，５５は間違った受信データと判断できる。
【００４７】
機器Ａは受信データ５６を受信したら、受信データ５３，５４，５５，５６の合計値５ｃを計算し、送信データの最後尾Ａ（４）に付加して送信する。送信データ５ｃの送信と同時に受信した受信データ５７と送信データ５８，５９，５ａ，５ｂの合計値とを比較する。比較結果が同じであった場合、送信データ５８，５９，５ａ，５ｂは正しく機器Ｂに受信されたと判断できる。異なっていた場合は、送信データ５８，５９，５ａ，５ｂは機器Ｂに間違って受信されたと判断できる。
【００４８】
機器Ｂについても同様である。
以上のように本実施の形態によれば、２台の機器Ａ，Ｂ間で互いに、Ｎ個のデータを送受信するとき、受信した（Ｎ＋１）個の受信データの合計値を（Ｎ＋２）番目のデータとして送信することにより、Ｎ個の送信データおよび（Ｎ＋１）番目のデータの合計値を、（Ｎ＋２）番目の受信データとして受信することになり、したがってこれら［Ｎ個の送信データおよび（Ｎ＋１）番目のデータの合計値］と（Ｎ＋２）番目の受信データとが一致するかどうかによって、送信データが他方の機器に正常に受信されたかをどうかを確実に、しかも通信終了と同時に判断することができ、さらにＡＣＫ（肯定応答）のためのＡＣＫ＿ＯＵＴ出力端子とＡＣＫ＿ＩＮ入力端子を必要とせず、付加する端子無しに、すなわち２つの機器間の接続端子を３つの通信用端子(ＣＬＫ，ＤＩ，ＤＯ)のみで通信を行うことができ、低コストで、高速かつ高品質の通信装置を実現できる。
【００４９】
また本実施の形態によれば、（Ｎ＋１）番目のデータとして、Ｎ個の送信データの合計値が送信されることにより、受信したＮ個の受信データの合計値と（Ｎ＋１）番目の受信データとが一致するかどうかにより受信したデータが正常かどうかを判断できる。
【００５０】
なお、本実施の形態では、受信データの良否の判断、すなわち図４のステップ２６６，２６７，２６８における正常受信フラグＦ＿Ｒｏｋのセット・リセットの実行後に、受信データの良否に関係なく、送信データの良否の判断を実行しているが、図６に示すように、正常受信フラグＦ＿Ｒｏｋが０（クリア）であるならば（受信データが異常ならば）、ステップ２６ｄにて正常送信フラグＦ＿Ｓｏｋをクリアして、すなわち送信データも正しく受取られてないものと判断して、終了するようにしてもよい。
【００５１】
また本実施の形態では、受信データの良否の判断、すなわち図４のステップ２６６，２６７，２６８における正常受信フラグＦ＿Ｒｏｋのセット・リセットの実行後に、受信データの良否に関係なく、送信データの良否の判断を実行しているが、図７に示すように、ステップ２６６において受信データが間違っていると判断すると、またはステップ２６ｃにおいて送信データに異常が発生したと判断すると、ステップ２６ｆにて、正常受信フラグＦ＿Ｒｏｋおよび正常送信フラグＦ＿Ｓｏｋを共にクリアして、すなわち受信データも送信データも共に間違っていると判断して、終了するようにしてもよい。
【産業上の利用可能性】
【００５２】
本発明にかかる全２重の３線同期式シリアル通信方法およびその装置は、付加する端子無しに、送信データが正常に受信されたかをどうかを、確実に、しかも通信終了と同時に判断することができ、機器間のデータ通信分野等として有用である。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施の形態における全２重の３線同期式シリアル通信装置の構成を示すブロック図である。
【図２】同全２重の３線同期式シリアル通信装置の送受信バッファの構成図である。
【図３】同全２重の３線同期式シリアル通信装置の動作を説明するフローチャートである。
【図４】同全２重の３線同期式シリアル通信装置の動作を説明するフローチャートである。
【図５】同全２重の３線同期式シリアル通信装置によるデータ送受信の特性図である。
【図６】本発明の他の実施の形態における全２重の３線同期式シリアル通信装置の動作を説明するフローチャートである。
【図７】本発明の他の実施の形態における全２重の３線同期式シリアル通信装置の動作を説明するフローチャートである。
【図８】従来の全２重の３線同期式シリアル通信装置の構成を示すブロック図である。
【図９】従来の全２重の３線同期式シリアル通信装置の送受信バッファの構成図である。
【図１０】従来の全２重の３線同期式シリアル通信装置の動作を説明するフローチャートである。
【図１１】従来の全２重の３線同期式シリアル通信装置の動作を説明するフローチャートである。
【図１２】従来の全２重の３線同期式シリアル通信装置によるデータ送受信の特性図である。
【図１３】従来のエコーバックによる送信データの確認手法を示す特性図である。
【図１４】従来のＡＣＫによる送信データの確認手法を示す特性図である。
【図１５】従来の受信データの確認をしない手法を示す特性図である。
【符号の説明】
【００５４】
５３，５４，５５    機器Ｂから受信するデータ
５６    機器Ｂから受信するデータ(５３,５４,５５の合計値)
５７    送信データ５８，５９，５ａ，５ｂの合計値
５８，５９，５ａ    機器Ａの送信データ
５ｂ    機器Ａの送信データ(５８，５９，５ａの合計値)
５ｃ    受信データ５３，５４，５５，５６の合計値
１２３  同期クロック発生部
１２４  送信データメモリ部
１２５  送信データ加算部
１２６  送信部
１２７  送信データ比較用加算部
１２８  送信データ比較部
１２９  比較受信データ加算部
１２ａ  受信データ最後尾部
１２ｂ  受信データ加算部
１２ｃ  受信部
１２ｄ  受信データ比較部
１２ｅ  比較受信データ部
１２ｆ  同期クロック受信部
２４１  機器ＡのＣＰＵ
２４２  機器ＢのＣＰＵ
２４３  機器Ａの送信用バッファ
２４４  機器Ａの受信用バッファ
２４５  機器Ｂの受信用バッファ
２４６  機器Ｂの送信用バッファ
【図１】
2006067145.tif 000003
【図２】
2006067145.tif 000004
【図３】
2006067145.tif 000005
【図４】
2006067145.tif 000006
【図５】
2006067145.tif 000007
【図６】
2006067145.tif 000008
【図７】
2006067145.tif 000009
【図８】
2006067145.tif 000010
【図９】
2006067145.tif 000011
【図１０】
2006067145.tif 000012
【図１１】
2006067145.tif 000013
【図１２】
2006067145.tif 000014
【図１３】
2006067145.tif 000015
【図１４】
2006067145.tif 000016
【図１５】
2006067145.tif 000017