(57)【要約】【課題】マイクロプロセッサ（μＰ）間で入出力ポートを介して直接データ通信を行うことの可能なデータ通信装置及び方法を提供する。【解決手段】二つのμＰの入出力ポートをデータ線で、第一のμＰの出力ポートと第二のμＰの入力ポートを第一の制御線で、第二のμＰの出力ポートと第一のμＰの入力ポートを第二の制御線で接続する。第一のμＰの入出力ポートにデータを設定した後に、第一のμＰの出力ポートを反転する。第二のμＰは、入力ポートが反転したことを検出すると入出力ポートからデータを読込んだ後、出力ポートを反転する。第一のμＰは、入力ポートが反転したことを検出すると，出力ポートを通常状態に戻し、送信状態をリセットする。第二のμＰは、入力ポートが通常状態に戻ったことを検出すると、出力ポートを通常状態に戻し、受信状態をリセットする。【選択図】      図１
2004159092.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの入出力ポート、一つの出力ポート及び一つの入力ポートを具備する第一及び第二のマイクロプロセッサと、
前記第一及び第二のマイクロプロセッサの入出力ポートを接続するデータ線、前記第一のマイクロプロセッサの出力ポートと前記第二のマイクロプロセッサの入力ポートを接続する第一の制御線、及び前記第二のマイクロプロセッサの出力ポートと前記第一のマイクロプロセッサの入力ポートを接続する第二の制御線を具備する通信回線から構成されるデータ通信装置であって、
前記第一及び第二のマイクロプロセッサが、
自己がデータ送信中又はデータ受信中でない待機中に、前記入出力ポートを介して自己から相手にデータを送信するとともに、前記出力ポートを反転状態として相手にデータ送信を通知するデータ送信手段と、
自己がデータ送信中又はデータ受信中でない待機中に、前記入力ポートの状態から相手からのデータ送信通知を確認した場合は、前記入出力ポートを介して相手からのデータを受信するデータ受信手段を具備するデータ通信装置。
【請求項２】
前記データ送信手段が、
自己がデータ送信中又はデータ受信中でない待機中であることを確認する待機中確信手段と、
前記待機中確認手段で待機中であると確認されたときに、相手に送信すべきデータを前記送受信ポートに設定する設定手段と、
前記設定手段によるデータ設定後に、前記出力ポートを反転状態として相手に送信データの設定完了通知する設定完了通知手段と、
前記入力ポートを介して相手から読込完了通知を受信したときに、前記出力ポートを通常状態として自己の送信状態をリセットする送信リセット手段を具備し、
前記データ受信手段が、
自己がデータ送信中でないことを確認する非送信中確認手段と、
前記非送信中確認手段で非送信中であると確認されたときに、前記入出力ポートを介して相手から送信されたデータを読込む読込手段と、
前記読込手段によりデータの読込が完了した後に、前記出力ポートを反転状態として相手にデータ読込完了を通知する読込完了通知手段と、
前記入力ポートが通常状態にあり相手の送信状態がリセットされたことを認識した後に、出力ポートを通常状態として自己の受信状態をリセットする受信リセット手段を具備する請求項１に記載のデータ通信装置。
【請求項３】
前記通信回線のデータ線が一本であり、
前記データ送信手段が、データを構成するビット数だけデータ送信を繰返す送信繰返し手段を、
前記データ送信手段が、受信したデータを所定ビット纏めてデータを複製するデータ複製手段をさらに具備する請求項１又は２に記載のデータ通信装置。
【請求項４】
前記通信回線のデータ線が複数本であり、
前記データ送信手段が、前記複数本のデータ線を介して複数ビットのデータを一度に送信するものであり、
前記データ受信手段が、前記複数本のデータ線を介して送信された複数ビットのデータを一度に受信するものである請求項１又は２に記載のデータ通信装置。
【請求項５】
少なくとも一つの入出力ポート、一つの出力ポート及び一つの入力ポートを具備する第一及び第二のマイクロプロセッサと、
前記第一及び第二のマイクロプロセッサの入出力ポートを接続するデータ線、前記第一のマイクロプロセッサの出力ポートと前記第二のマイクロプロセッサの入力ポートを接続する第一の制御線、及び前記第二のマイクロプロセッサの出力ポートと前記第一のマイクロプロセッサの入力ポートを接続する第二の制御線を具備する通信回線から構成されるデータ通信装置を使用するデータ通信方法であって、
前記第一のマイクロプロセッサの入出力ポートに第二のマイクロプロセッサに送信すべきデータを設定するデータ設定段階と、
前記データ設定段階によるデータの設定後に、前記第一のマイクロプロセッサの出力ポートを反転させてデータの設定完了を第二のマイクロプロセッサに通知する設定完了通知段階と、
前記設定完了通知段階による前記第一のマイクロプロセッサの出力ポートの反転を前記第二のマイクロプロセッサで受信してデータが設定されたことを認識した後に、第二のマイクロプロセッサで入出力ポートを読取りデータを受信するデータ受信段階と、
前記データ受信段階によるデータ読取が完了したときに、前記第二のマイクロプロセッサの出力ポートを反転させてデータの読取完了を第一のマイクロプロセッサに通知する読取完了通知段階と、
前記読取完了通知段階による前記第二のマイクロプロセッサの出力ポートの反転を前記第一のマイクロプロセッサで受信してデータが読取られたことを認識した後に、前記第一のマイクロプロセッサの出力ポートを通常状態に復帰させて前記第一のマイクロプロセッサのデータ送信状態をリセットする送信状態リセット段階と、
前記送信状態リセット段階による前記第一のマイクロプロセッサの出力ポートの通常状態への復帰を認識した後に、前記第二のマイクロプロセッサの出力ポートを通常状態に復帰させて前記第二のマイクロプロセッサのデータ受信状態をリセットする受信状態リセット段階からなるデータ通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ通信装置及び方法に係り、特にプロセス入出力ポートを使用してマイクロプロセッサ間でデータ通信をすることの可能なデータ通信装置及び方法に関する。
【０００２】
【従来の技術】
近年電子回路に複数のマイクロプロセッサが搭載される場合があるが、複数のマイクロプロセッサ間におけるデータ通信のためにはマイクロプロセッサ内に組み込まれた通信インターフェイスが使用されていた。しかし、各マイクロプロセッサが搭載する通信インターフェイスは同一規格とする必要があったため、マイクロプロセッサの選択範囲が狭まるという弊害が生じる。
【０００３】
また、マイクロプロセッサは一層の小型化が進み、通信インターフェイスを具備しないものも存在するが、このようなマイクロプロセッサでデータ通信を行うために、外部通信インターフェイスを使用してマイクロプロセッサ間でデータ通信を行うシステム（例えば特許文献１を参照）、あるいはプロセス入出力ポートを使用してマイクロプロセッサ間でデータ通信を行う通信装置も既に提案されている（例えば特許文献２を参照）。
【０００４】
【特許文献１】
特開平０８−１９１３１９号公報（［０００９］、図１）
【特許文献２】
特開昭６１−０６９２４３号公報（第２及び３頁、第２図）
【０００５】
【発明が解決しようとする課題】
しかしながら、特許文献１に記載された発明は、マイクロプロセッサとは別にデータ通信装置を設置する必要があり、構成が複雑となることは回避できない。
【０００６】
また、特許文献２に記載された発明は、マイクロプロセッサ間に先入れ先出しメモリ（ＦＩＦＯ）を設置することが必要であり、やはり構成が複雑となる。
【０００７】
本発明は上記課題に鑑みなされたものであって、通信インターフェイスを具備しないマイクロプロセッサ間でプロセス入出力ポートを介して直接データ通信を行うことの可能なデータ通信装置及び方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
第一の発明に係るデータ通信装置は、少なくとも一つの入出力ポート、一つの出力ポート及び一つの入力ポートを具備する第一及び第二のマイクロプロセッサと、第一及び第二のマイクロプロセッサの入出力ポートを接続するデータ線、第一のマイクロプロセッサの出力ポートと第二のマイクロプロセッサの入力ポートを接続する第一の制御線、及び第二のマイクロプロセッサの出力ポートと第一のマイクロプロセッサの入力ポートを接続する第二の制御線を具備する通信回線から構成されるデータ通信装置であって、
第一及び第二のマイクロプロセッサが、自己がデータ送信中又はデータ受信中でない待機中であることを確認したときに入出力ポートを介して自己から相手にデータを送信するとともに出力ポートを反転状態として相手にデータ送信を通知するデータ送信手段と、自己がデータ送信中又はデータ受信中でない待機中であることを確認したときに入力ポートの状態からデータ送信通知を確認した場合は入出力ポートを介して相手からのデータを受信するデータ受信手段を具備する。
【０００９】
第二の発明に係るデータ通信方法は、第一のマイクロプロセッサの入出力ポートに第二のマイクロプロセッサに送信すべきデータを設定するデータ設定段階と、データ設定段階によるデータの設定後に第一のマイクロプロセッサの出力ポートを反転してデータの設定完了を第二のマイクロプロセッサに通知する設定完了通知段階と、設定完了通知段階による第一のマイクロプロセッサの出力ポートの反転を第二のマイクロプロセッサで受信してデータが設定されたことを認識した後に第二のマイクロプロセッサで入出力ポートを読取りデータを受信するデータ受信段階と、データ受信段階によるデータ読取が完了したときに第二のマイクロプロセッサの出力ポートを反転してデータの読取完了を第一のマイクロプロセッサに通知する読取完了通知段階と、読取完了通知段階による第二のマイクロプロセッサの出力ポートの反転を第一のマイクロプロセッサで受信してデータが読取られたことを認識して第一のマイクロプロセッサの出力ポートを通常状態に復帰させて第一のマイクロプロセッサのデータ送信状態をリセットする送信状態リセット段階と、送信状態リセット段階による第一のマイクロプロセッサの出力ポートの通常状態への復帰を認識して第二のマイクロプロセッサの出力ポートを通常状態に復帰させて第二のマイクロプロセッサのデータ受信状態をリセットする受信状態リセット段階からなる。
【００１０】
本発明にあっては、第一及び第二のマイクロプロセッサの入出力ポート同士を接続するデータ線、第一のマイクロプロセッサの出力ポートと第二のマイクロプロセッサの入力ポートを接続する第一の制御線、及び第一のマイクロプロセッサの入力ポートと第二のマイクロプロセッサの出力ポートを接続する第二の制御線を用いて第一及び第二のマイクロプロセッサ間でデータ通信が行われる。
【００１１】
【発明の実施の形態】
図１は第一の発明に係るデータ通信装置の構成図であって、第一のマイクロプロセッサ１、第二のマイクロプロセッサ２、及び通信線３から構成される。
【００１２】
第一のマイクロプロセッサ１は、バス１０を中心としてＣＰＵ１１、メモリ１２及びディジタルインダーフェイス（ＤＩ／Ｆ）１３から構成され、ＤＩ／Ｆ１３は入出力ポート１３０、出力ポート１３１及び入力ポート１３２を具備する。
【００１３】
第二のマイクロプロセッサ２は、バス２０を中心としてＣＰＵ２１、メモリ２２及びディジタルインダーフェイス（ＤＩ／Ｆ）２３から構成され、ＤＩ／Ｆ２３は入出力ポート２３０、出力ポート２３１及び入力ポート２３２を具備する。
【００１４】
通信線３は一本のデータ線３０と第一及び第二の制御線３１及び３２から構成されるが、データ線３０は第一のマイクロプロセッサ１の入出力ポート１３０と第二のマイクロプロセッサ１の入出力ポート２３０を接続し、第一の制御線３１は第一のマイクロプロセッサ１の出力ポート１３１と第二のマイクロプロセッサ２の入力ポート２３２を接続し、第二の制御線３２は第一のマイクロプロセッサ１の入力ポート１３２と第二のマイクロプロセッサ２の出力ポート２３１を接続する。
【００１５】
図２は第一及び第二のマイクロプロセッサ１及び２に組み込まれる通信ルーチンのフローチャートであって、ステップ２０１で出力ポート１３１又は２３１の設定が低レベルであるか、即ちデータ送信中であるかを判定する。
【００１６】
ステップ２０１で肯定判定されたときは、第一及び第二のマイクロプロセッサ１及び２はデータ送信中であり、待機中ではないものとして、直接このルーチンを終了する。
【００１７】
逆にステップ２０１で否定判定されたときはステップ２０２で入力ポート１３２又は２３２の設定が低レベルであるか、即ちデータ受信中であるかを判定する。
【００１８】
ステップ２０２で否定判定されたときは、第一及び第二のマイクロプロセッサ１及び２は待機中であるものとして、ステップ２０３でデータ送信を行うかを判定する。
【００１９】
ステップ２０３で否定判定されたときは、送信すべきデータはないものとして直接このルーチンを終了する。
【００２０】
ステップ２０３で肯定判定されたときは、データ送信のためにステップ２０４からステップ２０８の処理を実行する。
【００２１】
即ち、ステップ２０８で入出力ポート１３０又は２３０に出力すべき１ビットのデータを設定する。この結果入出力ポート１３０又は２３０は送信データに応じて高レベル又は低レベルに設定される。
【００２２】
入出力ポート１３０又は２３０へのデータ設定が終了すると、ステップ２０５で相手のマイクロプロセッサに送信データの設定が完了したことを通知するために出力ポート１３１又は２３１を低レベルに設定する。
【００２３】
次にステップ２０６で入力ポート１３２又は２３２のレベルを読み込み、ステップ２０７で入力ポート１３２又は２３２が低レベルであるかを判定する。
【００２４】
ステップ２０７で否定判定されたとき、即ち入力ポート１３２又は２３２のレベルが高レベルであるときはステップ２０６に戻り入力ポート１３２又は２３２のレベル読み込みを繰り返す。
【００２５】
ステップ２０７で肯定判定されたとき、即ち入力ポート１３２又は２３２のレベルが低レベルに移行したときは相手でのデータ読込が完了したものと認識する。
【００２６】
最後に、ステップ２０８で出力ポートを高レベルに設定して自己の送信状態をリセットしてこのルーチンを終了する。
【００２７】
ステップ２０２で肯定判定されたときは、データを受信するためにステップ２１１からステップ２１５の処理を実行する。
【００２８】
即ちステップ２０２で肯定判定されたとき、即ち入力ポート１３２又は２３２のレベルが低レベルであるときは相手のデータ設定が完了したものとして、ステップ２１１で入出力ポート１３０又は２３０のレベルを読み込み、データを読込む。
【００２９】
データの読込が完了したときは、ステップ２１２でデータの読込が完了したことを相手に通知するために、出力ポート１３１又は２３１を低レベルに設定する。
【００３０】
次に、ステップ２１３で入力ポート１３２又は２３２のレベルを読み込み、ステップ２１４で入力ポート１３２又は２３２が高レベルであるかを判定する。
【００３１】
ステップ２１４で否定判定されたとき、即ち入力ポート１３２又は２３２のレベルが低レベルであるときはステップ２１３に戻り入力ポート１３２又は２３２のレベル読み込みを繰返す。
【００３２】
ステップ２１４で肯定判定されたとき、即ち入力ポート１３２又は２３２のレベルが高レベルに移行したときは、相手の送信状態がリセットされたものとしてステップ２１５で出力ポート１３１又は２３１を高レベルに設定して自己の受信状態をリセットして、このルーチンを終了する。
【００３３】
図３は、例えば第一のマイクロプロセッサ１（送信側）から第二のマイクロプロセッサ２（受信側）へデータを伝送する場合のタイミングチャートであって、まず送信側マイクロプロセッサの入出力ポートに送信データが」設定される。
【００３４】
送信データの設定が完了すると、送信側マイクロプロセッサは出力ポートを低レベルに設定して受信側マイクロプロセッサに送信データの設定完了を通知する。
【００３５】
受信側マイクロプロセッサは、入力ポートが低レベルに移行して送信側マイクロプロセッサの送信データ設定完了を認識すると、受信側マイクロプロセッサの入出力ポートを読取り送信データを受信側マイクロプロセッサに読込む。
【００３６】
受信側マイクロプロセッサは、送信データの読込みが完了すると、受信側マイクロプロセッサの出力ポートを低レベルに設定して、送信側マイクロプロセッサに送信データの読込みが完了したことを通知する。
【００３７】
送信側マイクロプロセッサが、入力ポートの低レベルへの移行を検出して受信側マイクロプロセッサで送信データの読込み完了を認識すると、出力ポートを高レベルにして送信状態をリセットする。
【００３８】
受信側マイクロプロセッサは、入力ポートが高レベルに移行して送信側マイクロプロセッサの送信状態がリセットされたことを認識すると、出力ポートを高レベルに設定して受信状態をリセットする。
【００３９】
送信側マイクロプロセッサが、入力ポートの高レベルへの移行を検出して受信側マイクロプロセッサで受信状態がリセットされたことを認識すると、一連の通信が完了し、次のデータを送信することが可能となる。
【００４０】
なお、上記実施形態にあっては通常状態が高レベルであり反転状態が低レベルであるとしているが、通常状態を低レベル、反転状態を高レベルとしてもよい。
【００４１】
上記実施形態は、データが１ビットの場合について説明したが、データが複数ビット（例えば８ビット）で構成される場合は上記の手順をビット数繰返せばよい。
【００４２】
さらに、上記実施形態ではデータ線が一本としているが、ＤＩ／Ｆが複数（例えば８個）の入出力ポートを装備している場合には、データ線を複数本とすることにより複数ビットのデータを一回の通信ルーチンの実行で通信することが、可能となる。
【００４３】
また、正規データの送付に先立って、正規データのビット数を送信側マイクロプロセッサから受信側マイクロプロセッサに送信するようにすれば、正規データを確実に通信することが可能である。なお、ビット数だけでなくその他の情報を含むヘッダを最初に送信するようにしてもよい。
【００４４】
さらに、正規データのあとにチェックサムビットを付加すれば、通信中にエラーが発生した場合にも、エラーを訂正すること、あるいは正規データを再送信することが可能となる。
【００４５】
なお、本発明にあっては、二つのマイクロプロセッサの機種が同一である必要はなく、異なる機種のマイクロプロセッサ間で直接通信することが可能となる。
【００４６】
【発明の効果】
本発明に係るデータ通信装置及び方法によれば、二つのマイクロプロセッサ間を少なくとも一本のデータ線及び二本の制御線で接続することにより、二つのマイクロプロセッサ間で直接データ通信することが可能となる。
【図面の簡単な説明】
【図１】第一の発明に係るデータ通信装置の構成図である。
【図２】通信ルーチンのフローチャートである。
【図３】タイミングチャートである。
【符号の説明】
１…第一のマイクロプロセッサ
１０…バス
１１…ＣＰＵ
１２…メモリ
１３…ディジタルインターフェイス
１３０…入出力ポート
１３１…出力ポート
１３２…入力ポート
２…第二のマイクロプロセッサ
２０…バス
２１…ＣＰＵ
２２…メモリ
２３…ディジタルインターフェイス
２３０…入出力ポート
２３１…出力ポート
２３２…入力ポート
３０…データ線
３１…第一の制御線
３２…第二の制御
【図１】
2004159092.tif 000003
【図２】
2004159092.tif 000004
【図３】
2004159092.tif 000005