(57)【要約】【課題】通信遅延時間を従来のものより短縮することができるシリアル通信装置を提供する。【解決手段】第１のプロセッサと、第１のプロセッサから送信されるクロック信号に同期して第１のプロセッサとの間でデータを送受信する全二重通信を行う第２のプロセッサとを備えたシリアル通信装置において、第１のプロセッサは、全二重通信が行われてから通信可能信号が受信されるまで、クロック信号の送信が禁止され、第２のプロセッサは、第１のプロセッサに送信すべきデータが生じた場合には（Ｓ３１）、ダミーデータを送信することによってクロック信号の送信を禁止した上で（Ｓ２９）、第２のプロセッサが全二重通信を行うことが可能な状態なったことを表す通信可能信号およびクロック信号の要求を表す通信要求信号を送信する（Ｓ２７、Ｓ２８）ことによってクロック信号の送信を開始させて第１のプロセッサに送信すべきデータを送信する（Ｓ２９）。【選択図】図３
2007208640.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセッサと、
前記第１のプロセッサから送信されるクロック信号に同期して前記第１のプロセッサとの間でデータを送受信する全二重通信を行う第２のプロセッサとを備えたシリアル通信装置において、
前記第１のプロセッサと第２のプロセッサとの間には、前記クロック信号の要求を表す通信要求信号と前記第２のプロセッサが前記全二重通信を行うことが可能な状態になったことを表す通信可能信号とを前記第２のプロセッサから前記第１のプロセッサにそれぞれ送信するための通信要求信号線と通信可能信号線とが設けられ、
前記第１のプロセッサは、前記全二重通信が行われてから前記通信可能信号が受信されるまで、前記クロック信号の送信が禁止され、
前記第２のプロセッサは、前記第１のプロセッサに送信すべきデータが生じた場合には、前記第１のプロセッサに前記通信要求信号を送信してダミーデータを送信することによって前記クロック信号の送信を禁止した上で、前記通信可能信号および前記通信要求信号を送信することによって前記クロック信号の送信を開始させて前記第１のプロセッサに送信すべきデータを送信することを特徴とするシリアル通信装置。
【請求項２】
前記第２のプロセッサは、前回に前記全二重通信を行ったときに前記第１のプロセッサに送信したデータを前記ダミーデータとして送信することを特徴とする請求項１に記載のシリアル通信装置。
【請求項３】
前記第１および第２の各プロセッサは、２つの送信バッファ領域よりなる送信バッファを有し、前記２つの送信バッファ領域の何れか一方を有効状態にし、他方を無効状態にし、前記有効状態にある送信バッファ領域に格納したデータを前記全二重通信時に相手側のプロセッサに送信し、相手側のプロセッサに送信すべきデータがある場合には、該データを前記無効状態にある送信バッファ領域に格納した後に、前記無効状態にある送信バッファ領域を前記有効状態にすると共に、前記有効状態にある送信バッファ領域を前記無効状態にすることを特徴とする請求項１または請求項２に記載のシリアル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ間において３線式シリアル通信方式で全二重通信を行うシリアル通信装置に関する。
【背景技術】
【０００２】
従来、プロセッサ間において、１本のクロック信号線と、２本のデータ信号線とを介した３線式シリアル通信方式で全二重通信を行うものが知られている。このような従来のシリアル通信装置としては、通信を要求するＲＥＱ端子と、要求に対し応答するＡＣＫ端子とを各プロセッサに設け、通信待ち状態において各プロセッサのＲＥＱ端子およびＡＣＫ端子を入力状態に設定しておき、各プロセッサは通信を開始する場合、ＲＥＱ端子を出力に設定して通信開始信号を出力し、相手側のプロセッサはＲＥＱ端子に通信開始信号を検出したとき、ＡＣＫ端子を出力に設定して応答信号を送出できるようにすることによって、プロセッサ間の通信をいずれ側からも開始できるようにしたものがある（例えば、特許文献１参照）。
【特許文献１】特開２００３−２４４２７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のシリアル通信装置は、双方のプロセッサが通信の要求をし合った場合に、５ｍｓの応答待ち時間が経過した後に再び通信の要求を行わせるため、長い通信遅延時間を生じさせてしまうといった問題があった。
【０００４】
本発明は、従来の問題を解決するためになされたもので、通信遅延時間を従来のものより短縮することができるシリアル通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明のシリアル通信装置は、第１のプロセッサと、前記第１のプロセッサから送信されるクロック信号に同期して前記第１のプロセッサとの間でデータを送受信する全二重通信を行う第２のプロセッサとを備えたシリアル通信装置において、前記第１のプロセッサと第２のプロセッサとの間には、前記クロック信号の要求を表す通信要求信号と前記第２のプロセッサが前記全二重通信を行うことが可能な状態になったことを表す通信可能信号とを前記第２のプロセッサから前記第１のプロセッサにそれぞれ送信するための通信要求信号線と通信可能信号線とが設けられ、前記第１のプロセッサは、前記全二重通信が行われてから前記通信可能信号が受信されるまで、前記クロック信号の送信が禁止され、前記第２のプロセッサは、前記第１のプロセッサに送信すべきデータが生じた場合には、前記第１のプロセッサに前記通信要求信号を送信してダミーデータを送信することによって前記クロック信号の送信を禁止した上で、前記通信可能信号および前記通信要求信号を送信することによって前記クロック信号の送信を開始させて前記第１のプロセッサに送信すべきデータを送信するように構成されている。
【０００６】
この構成により、本発明のシリアル通信装置は、第１のプロセッサにダミーデータを送信することでクロック信号の送信を禁止した上で、第２のプロセッサに通信を要求させることにより、双方のプロセッサが通信の要求をし合うことを回避するため、通信遅延時間を従来のものより短縮することができる。
【０００７】
なお、前記第２のプロセッサは、前回に前記全二重通信を行ったときに前記第１のプロセッサに送信したデータを前記ダミーデータとして送信するようにしてもよい。
【０００８】
この構成により、本発明のシリアル通信装置は、第２のプロセッサにダミーデータを送信させることができる。
【０００９】
また、前記第１および第２の各プロセッサは、２つの送信バッファ領域よりなる送信バッファを有し、前記２つの送信バッファ領域の何れか一方を有効状態にし、他方を無効状態にし、前記有効状態にある送信バッファ領域に格納したデータを前記全二重通信時に相手側のプロセッサに送信し、相手側のプロセッサに送信すべきデータがある場合には、該データを前記無効状態にある送信バッファ領域に格納した後に、前記無効状態にある送信バッファ領域を前記有効状態にすると共に、前記有効状態にある送信バッファ領域を前記無効状態にするようにしてもよい。
【００１０】
この構成により、本発明のシリアル通信装置は、更新が完了していない不確定なデータがプロセッサ間で送受信されることを防止することができる。
【発明の効果】
【００１１】
本発明は、通信遅延時間を従来のものより短縮することができるという効果を有するシリアル通信装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照して説明する。なお、本実施の形態にでは、本発明におけるシリアル通信装置を車載装置に適用し、第１のプロセッサを用いて車載装置を車載ナビゲーション機能させ、第２のプロセッサを用いて車載装置を車載オーディオ装置として機能させる例について説明する。
【００１３】
本発明の一実施の形態のシリアル通信装置を図１に示す。
【００１４】
図１において、シリアル通信装置１は、第１のプロセッサ１０と、第２のプロセッサ２０とを備えている。第１のプロセッサ１０には、ＲＡＭ（Random Access Memory）１１と、ＲＯＭ（Read Only Memory）１２と、ディスプレイ１３と、地図情報等を格納するハードディスク１４、ＧＰＳ（Global Positioning System）アンテナで受信した複数の衛星から送出された電波に基づいて現在位置の緯度および経度を測るＧＰＳ受信機１５と、シリアル通信装置１が搭載された車両の進行方位を検出するジャイロ１６とが接続されている。なお、ＲＡＭ１１およびＲＯＭ１２は、第１のプロセッサ１０に内蔵されていてもよい。
【００１５】
第１のプロセッサ１０は、ＲＯＭ１２に記憶されたプログラムをＲＡＭ１１に読み込んで、ＲＡＭ１１に読み込んだプログラムを実行することによって、例えば、ハードディスク１４に格納された地図情報、ＧＰＳ受信機１５によって測られた緯度および経度、ジャイロ１６によって検出された進行方位に基づいた経路案内や経路探索を行うようになっている。
【００１６】
一方、第２のプロセッサ２０には、ＲＡＭ２１と、ＲＯＭ２２と、ディスプレイ１３と一体に設けられたタッチパネル等よりなる操作パネル２３と、テレビチューナ２４と、ラジオチューナ２５と、ＣＤ（Compact Disc）プレイヤ２６とが接続されている。なお、ＲＡＭ２１およびＲＯＭ２２は、第２のプロセッサ２０に内蔵されていてもよい。
【００１７】
第２のプロセッサ２０は、ＲＯＭ２２に記憶されたプログラムをＲＡＭ２１に読み込んで、ＲＡＭ２１に読み込んだプログラムを実行することによって、例えば、テレビチューナ２４、ラジオチューナ２５およびＣＤプレイヤ２６による音響再生を制御するようになっている。
【００１８】
各プロセッサ１０、２０には、それぞれ、データ送信端子Ｔｘ、データ受信端子Ｒｘ、クロック端子ＣＬ、通信可能端子ＲＤＹおよび通信要求端子ＲＥＱが設けられている。
【００１９】
第１のプロセッサ１０のデータ送信端子Ｔｘと第２のプロセッサ２０のデータ受信端子Ｒｘとは、第１のプロセッサ１０から第２のプロセッサ２０にデータを送信するためのデータ信号線３０によって互いに接続されている。
【００２０】
ここで、データ信号線３０を介して第１のプロセッサ１０によって送信されるデータとしては、テレビチューナ２４、ラジオチューナ２５およびＣＤプレイヤ２６等のオーディオ装置に対する制御情報、案内音声の開始要求を表す情報、ならびに、車速情報等がある。
【００２１】
一方、第１のプロセッサ１０のデータ受信端子Ｒｘと第２のプロセッサ２０のデータ送信端子Ｔｘとは、第２のプロセッサ２０から第１のプロセッサ１０にデータを送信するためのデータ信号線３１によって互いに接続されている。
【００２２】
ここで、データ信号線３１を介して第２のプロセッサ２０によって送信されるデータとしては、操作パネル２３の操作情報、再生中のオーディオ装置を表す情報、ディスプレイ１３に表示されている情報の取得元を表す情報、および、ディスプレイ１３の表示画面の切替指示を表す情報等がある。
【００２３】
各プロセッサ１０、２０は、送信するデータを固定長に分割し、前回に受信したデータが正常なものであったか否かを表す受信確認情報やシーケンス番号等のように通信に関する固定長の情報（以下、単に「通信ヘッダ情報」という。）を付加して相手側のプロセッサに各データ信号線３０、３１を介して送信するようになっている。
【００２４】
第１のプロセッサ１０のクロック端子ＣＬと第２のプロセッサ２０のクロック端子ＣＬとは、第１のプロセッサ１０から第２のプロセッサ２０にクロック信号を送信するためのクロック信号線３２によって互いに接続されている。
【００２５】
第１のプロセッサ１０および第２のプロセッサ２０は、このクロック信号に同期して相手側のプロセッサとデータの送受信を行うようになっている。このように、第１のプロセッサ１０および第２のプロセッサ２０は、３線式シリアル通信方式で全二重通信を行うようになっている。
【００２６】
第１のプロセッサ１０の通信可能端子ＲＤＹと第２のプロセッサ２０の通信可能端子ＲＤＹとは、第２のプロセッサ２０が通信を行うことが可能な状態なったことを表す通信可能信号（以下、単に「ＲＤＹ信号」という。）を第２のプロセッサ２０から第１のプロセッサ１０に送信するためのＲＤＹ信号線３３によって互いに接続されている。
【００２７】
第１のプロセッサ１０は、第２のプロセッサ２０からＲＤＹ信号を受信してから一度も第２のプロセッサ２０との間で通信を行っていない状態（以下、単に「ＲＤＹ状態」という。）にあっては、第２のプロセッサ２０に対するクロック信号の送信が許可され、第２のプロセッサ２０との通信を行うことができるようになっている。一方、第１のプロセッサ１０は、非ＲＤＹ状態にあっては、第２のプロセッサ２０に対するクロック信号の送信が禁止されるようになっている。
【００２８】
第１のプロセッサ１０の通信要求端子ＲＥＱと、第２のプロセッサ２０の通信要求端子ＲＥＱとは、通信の要求、すなわち、クロック信号の要求を表すクロック要求信号（以下、単に「ＲＥＱ信号」という。）を第２のプロセッサ２０から第１のプロセッサ１０に送信するためのＲＥＱ信号線３４によって互いに接続されている。
【００２９】
第１のプロセッサ１０は、ＲＤＹ状態で、第２のプロセッサ２０からＲＥＱ信号を受信した場合には、第２のプロセッサ２０にクロック信号を送信して第２のプロセッサ２０との通信を開始するようになっている。
【００３０】
以上のように構成されたシリアル通信装置１について図２乃至図４を用いてその動作を説明する。
【００３１】
図２は、第１のプロセッサ１０の動作説明のためのフロー図である。
【００３２】
まず、第１のプロセッサ１０は、第２のプロセッサ２０に送信すべきデータがあるか否かを判断する（Ｓ１）。第２のプロセッサ２０に送信すべきデータがあると判断した場合には、第１のプロセッサ１０は、送信バッファの更新処理を行う（Ｓ２）。
【００３３】
本実施形態において、第１のプロセッサ１０の送信バッファとは、ＲＡＭ１１の一部の領域によってそれぞれ構成される２つの送信バッファ領域によって構成される。第１のプロセッサ１０は、２つの送信バッファ領域の何れか一方を有効状態にし、他方を無効状態にし、有効状態にある送信バッファ領域に格納したデータを通信時に第２のプロセッサ２０に送信する。
【００３４】
送信バッファの更新処理において、第１のプロセッサ１０は、第２のプロセッサ２０に送信すべきデータから固定長のデータを切出して、切出したデータに通信ヘッダ情報を付加したデータを無効状態にある送信バッファ領域に格納し、データの格納が完了した後に、無効状態にある送信バッファ領域を有効状態にすると共に、有効状態にある送信バッファ領域を無効状態にする。
【００３５】
次に、第１のプロセッサ１０は、ＲＤＹ状態にあるか否かを判断し（Ｓ３）、ＲＤＹ状態にないと判断した場合には、第２のプロセッサ２０からＲＤＹ信号が受信されるのを待つ。
【００３６】
一方、ＲＤＹ状態にあると判断した場合には、第１のプロセッサ１０は、第２のプロセッサ２０にクロック信号を送信して通信を行う（Ｓ４）。ここで、有効状態にある送信バッファ領域に格納されたデータが第２のプロセッサ２０に送信される。
【００３７】
通信が完了すると、第１のプロセッサ１０は、第２のプロセッサ２０から受信したデータの正当性の判断および再構築、ならびに、再構築したデータに応じた内部処理等の受信処理を行う（Ｓ５）。
【００３８】
次に、第１のプロセッサ１０は、第２のプロセッサ２０に送信すべきデータおよびＲＥＱ信号の待ち状態（以下、単に「アイドル状態」という。）となる。ここで、第２のプロセッサ２０に送信すべきデータが残っている場合には、第１のプロセッサ１０は、送信バッファの更新処理を行い（Ｓ２）、残りのデータを送信する。
【００３９】
ステップＳ１において、第２のプロセッサ２０に送信すべきデータがないと判断した場合には、第１のプロセッサ１０は、第２のプロセッサ２０からＲＥＱ信号が受信されたか否かを判断する（Ｓ６）。
【００４０】
第２のプロセッサ２０からＲＥＱ信号が受信されなかった場合には、第１のプロセッサ１０は、アイドル状態となる。一方、第２のプロセッサ２０からＲＥＱ信号が受信された場合には、第１のプロセッサ１０は、第２のプロセッサ２０にクロック信号を送信して通信を行う（Ｓ４）。通信が完了すると、第１のプロセッサ１０は、受信処理を行い（Ｓ５）、アイドル状態になる。
【００４１】
図３は、第２のプロセッサ２０の動作説明のためのフロー図である。
【００４２】
まず、第２のプロセッサ２０は、第１のプロセッサ１０からクロック信号を受信したか否かを判断する（Ｓ２１）。第１のプロセッサ１０からクロック信号を受信したと判断した場合には、第２のプロセッサ２０は、このクロック信号に同期して通信を行う（Ｓ２２）。
【００４３】
通信が完了すると、第２のプロセッサ２０は、第１のプロセッサ１０から受信したデータの正当性の判断および再構築、ならびに、再構築したデータに応じた内部処理等の受信処理を行う（Ｓ２３）。
【００４４】
次に、第２のプロセッサ２０は、第１のプロセッサ１０に送信すべきデータがあるか否かを判断し（Ｓ２４）、第１のプロセッサ１０に送信すべきデータがないと判断した場合には、第１のプロセッサ１０にＲＤＹ信号を送信し（Ｓ２５）、第１のプロセッサ１０に送信すべきデータおよびクロック信号の待ち状態（以下、単に「アイドル状態」という。）となる。一方、第１のプロセッサ１０に送信すべきデータがあると判断した場合には、第２のプロセッサ２０は、送信バッファの更新処理を行う（Ｓ２６）。
【００４５】
本実施形態において、第２のプロセッサ２０の送信バッファとは、ＲＡＭ２１の一部の領域によってそれぞれ構成される２つの送信バッファ領域によって構成される。第２のプロセッサ２０は、２つの送信バッファ領域の何れか一方を有効状態にし、他方を無効状態にし、有効状態にある送信バッファ領域に格納したデータを通信時に第１のプロセッサ１０に送信する。
【００４６】
送信バッファの更新処理において、第２のプロセッサ２０は、第１のプロセッサ１０に送信すべきデータから固定長のデータを切出して、切出したデータに通信ヘッダ情報を付加したデータを無効状態にある送信バッファ領域に格納し、データの格納が完了した後に、無効状態にある送信バッファ領域を有効状態にすると共に、有効状態にある送信バッファ領域を無効状態にする。
【００４７】
次に、第２のプロセッサ２０は、第１のプロセッサ１０にＲＤＹ信号を送信し（Ｓ２７）、ＲＥＱ信号を送信する（Ｓ２８）。次に、第２のプロセッサ２０は、ＲＥＱ信号の送信に応じて第１のプロセッサ１０によって送信されたクロックに同期した通信を行う（Ｓ２９）。
【００４８】
通信が完了すると、第２のプロセッサ２０は、受信処理を行い（Ｓ３０）、第１のプロセッサ１０に送信すべきデータがあるか否かを判断する（Ｓ２４）。ここで、第１のプロセッサ１０に送信すべきデータが残っている場合には、第２のプロセッサ２０は、送信バッファの更新処理を行い（Ｓ２６）、残りのデータを送信する。
【００４９】
ステップＳ２１において、第１のプロセッサ１０からクロック信号を受信していないと判断した場合には、第２のプロセッサ２０は、第１のプロセッサ１０に送信すべきデータがあるか否かを判断し（Ｓ３１）、第１のプロセッサ１０に送信すべきデータがないと判断した場合には、アイドル状態となる。
【００５０】
一方、第１のプロセッサ１０に送信すべきデータがあると判断した場合には、第２のプロセッサ２０は、第１のプロセッサ１０にＲＥＱ信号を送信する（Ｓ２８）。なお、このＲＥＱ信号の送信に応じて第１のプロセッサ１０によって送信されたクロックに同期して行われる通信（Ｓ２９）において、第２のプロセッサ２０から第１のプロセッサ１０に送信されるデータは、更新が行われていない有効状態の送信バッファ領域に格納されているデータ、すなわち、前回に送信された無効なダミーデータであるため、第１のプロセッサ１０における受信処理（Ｓ５、図２）において無効なデータと判断され、廃棄される。
【００５１】
通信が完了すると、第２のプロセッサ２０は、受信処理を行った後に（Ｓ３０）、第１のプロセッサ１０に送信すべきデータで送信バッファの更新処理を行い（Ｓ２６）、第１のプロセッサ１０に送信すべきデータを送信する。
【００５２】
このように、第２のプロセッサ２０は、第１のプロセッサ１０に送信すべきデータがある場合には、ダミーデータを送信することによって、第１のプロセッサ１０を非ＲＤＹ状態にした上で、第１のプロセッサ１０に通信を要求する。
【００５３】
なお、図３において、第１のプロセッサ１０に送信すべきデータがある場合（Ｓ３１）に、第２のプロセッサ２０が第１のプロセッサ１０にＲＥＱ信号を送信する処理（Ｓ２８）を実行している最中にクロック信号を受信したときには、第２のプロセッサ２０は、第１のプロセッサ１０と通信を行う（Ｓ２２）。
【００５４】
しかしながら、図４に示すように、この通信（Ｓ２２）で第２のプロセッサ２０から第１のプロセッサ１０に送信されるデータは、ダミーデータであり、第１のプロセッサ１０は、通信中に受信したＲＥＱ信号を無視するため、シリアル通信装置１は、問題を生じることなく動作する。なお、図４において、各処理に付されている符号は、図２および図３において付された符号に対応している。
【００５５】
このような本発明の一実施の形態のシリアル通信装置１は、第１のプロセッサ１０にダミーデータを送信することでクロック信号の送信を禁止した上で、第２のプロセッサ２０に通信を要求させることにより、双方のプロセッサ１０、２０が通信の要求をし合うことを回避するため、通信遅延時間を従来のものより短縮することができる。
【００５６】
例えば、特許文献１に記載された従来のシリアル通信装置においては、双方のプロセッサが通信の要求をし合った場合に、５ｍｓにリトライ回数を乗じた通信遅延時間が生じる。これに対し、シリアル通信装置１においては、プロセッサ１０、２０間の帯域を２Ｍｂｐｓ、すなわち、１バイトが送受信されるのに４μｓかかるものとし、１回の通信で送受信されるデータ容量を１２８バイトとし、第２のプロセッサ２０が通信を完了してからＲＤＹ信号を送信するまでに１００μｓを要すると仮定した場合には、第２のプロセッサ２０から通信を要求する度に４×１２８＋１００＝６１２μｓの通信遅延時間が生じるだけですむ。
【産業上の利用可能性】
【００５７】
以上のように、本発明にかかるシリアル通信装置は、通信遅延時間を従来のものより短縮することができるという効果を有し、例えば、プロセッサ間において３線式シリアル通信方式で全二重通信を行うシリアル通信装置等として有用である。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施の形態におけるシリアル通信装置のブロック図
【図２】本発明の一実施の形態におけるシリアル通信装置を構成する第１のプロセッサの動作説明のためのフロー図
【図３】本発明の一実施の形態におけるシリアル通信装置を構成する第２のプロセッサの動作説明のためのフロー図
【図４】本発明の一実施の形態におけるシリアル通信装置の動作説明のためのタイミング図
【符号の説明】
【００５９】
１  シリアル通信装置
１０  第１のプロセッサ
１１、２１  ＲＡＭ
１２、２２  ＲＯＭ
１３  ディスプレイ
１４  ハードディスク
１５  ＧＰＳ受信機
１６  ジャイロ
２０  第２のプロセッサ
２３  操作パネル
２４  テレビチューナ
２５  ラジオチューナ
２６  ＣＤプレイヤ
３０、３１  データ信号線
３２  クロック信号線
３３  ＲＤＹ信号線
３４  ＲＥＱ信号線
【図１】
2007208640.tif 000003
【図２】
2007208640.tif 000004
【図３】
2007208640.tif 000005
【図４】
2007208640.tif 000006