(57)【要約】【課題】デバイス間におけるコマンド又はデータの送信に不具合があった場合でも、受信側の再送要求を要せずに、レイテンシを抑制できるシリアル通信方法を提供する。【解決手段】ホストデバイス１は、リモートデバイス２にコマンド又はデータを送信して、リモートデバイス２がコマンド又はデータを正常に受信できたときには、ホストデバイス１にレスポンスを返信するシリアル通信方法において、ホストデバイス１は、リモートデバイス２からレスポンスの返信を受けるまでの間は、同一のコマンド又はデータを連続送信する。【選択図】図１
2008270887.tif 000002
【特許請求の範囲】
【請求項１】
ホストデバイスは、リモートデバイスにコマンド又はデータを送信して、前記リモートデバイスが前記コマンド又は前記データを正常に受信できたときには、前記ホストデバイスにレスポンスを返信するシリアル通信方法において、
前記ホストデバイスは、前記リモートデバイスから前記レスポンスの返信を受けるまでの間は、同一のコマンド又はデータを連続送信することを特徴とするシリアル通信方法。
【請求項２】
請求項１において、
前記ホストデバイスは、前記リモートデバイスから前記コマンド又は前記データに対応したレスポンスを正常に受信できたときには、前記コマンドの連続送信を停止することを特徴とするシリアル通信方法。
【請求項３】
請求項１または２において、
前記ホストデバイスは、連続送信すべきコマンド又はデータに識別符号を含めて送信し、前記リモートデバイスは、前記ホストデバイスから送信された前記コマンド又は前記データを正常に受信し、前記レスポンスを返信した後には、その後に送信されてきた同一の識別符号を含んだ前記コマンド又は前記データを無効とすることを特徴とするシリアル通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストデバイスは、リモートデバイスにコマンド又はデータを送信して、リモートデバイスがコマンド又はデータを正常に受信できたときには、ホストデバイスにレスポンスを返信するシリアル通信方法に関し、両デバイス間におけるコマンド又はデータの送信に不具合があった場合でも、受信側の再送要求を要せずに、レイテンシを抑制することができるシリアル通信方法に関する。
【背景技術】
【０００２】
近時、ホストデバイスは、リモートデバイスにコマンド又はデータを送信して、リモートデバイスがコマンド又はデータを正常に受信できたときには、ホストデバイスにレスポンスを返信するシリアル通信方法が普及している。
【０００３】
特許文献１では、この種のシリアル通信方法が提案されており、ホストコンピュータから周辺機器に対して、データ信号を送信し、周辺機器からホストコンピュータに対して返信データを返信するようにしており、周辺機器が受信データの誤りをパリティやチェックサムなどで検出した場合には、受信データの誤りを表すデータを再送要求としてホストコンピュータに通知し、同一データを再送させるようにしている。
【０００４】
また、受信データに誤りが検出された場合には、ホストコンピュータは同一データを再送するので、周辺機器が受信データに基づく処理を確実に行うことができるが、受信データの誤りを表すデータ自体に誤りが発生する可能性があるため、ホストコンピュータでは、データを送信してから所定時間が経過しても、周辺機器から受信データの誤りを表すデータが正常に受信されなかったときにはデータを再送するようにしているシリアル通信方法も存在している。
【特許文献１】特開２００２−７７３１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記した従来のシリアル通信では、データを送信して受信側の再送要求を待ってからデータの再送を行っているため、その手続きの間、送信データに対するレスポンスが返信されないので、送信したデータに対するレスポンスが返信されるまでの遅延時間、すなわち、レイテンシが大きくなる。
【０００６】
特に、送信側が、データを送信してから所定時間の間、受信側の再送要求が正常にされなかった場合に、同一データを再送するようなシリアル方法では、更に、送信データに対する受信側のレスポンスが遅れることになり、レイテンシがより大きくなってしまう。
【０００７】
本発明は、このような事情を考慮して提案されるものであり、デバイス間におけるコマンド又はデータの送信に不具合があった場合でも、受信側の再送要求を要せずに、レイテンシを抑制することができるシリアル通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の請求項１に係るシリアル通信方法では、ホストデバイスは、リモートデバイスにコマンド又はデータを送信して、前記リモートデバイスが前記コマンド又は前記データを正常に受信できたときには、前記ホストデバイスにレスポンスを返信するシリアル通信方法において、前記ホストデバイスは、前記リモートデバイスから前記レスポンスの返信を受けるまでの間は、同一のコマンド又はデータを連続送信することを特徴とする。
【０００９】
請求項２に係るシリアル通信方法では、前記ホストデバイスは、前記リモートデバイスから前記コマンド又は前記データに対応したレスポンスを正常に受信できたときには、前記コマンドの連続送信を停止することを特徴とする。
【００１０】
請求項３に係るシリアル通信方法では、前記ホストデバイスは、連続送信すべきコマンド又はデータに識別符号を含めて送信し、前記リモートデバイスは、前記ホストデバイスから送信された前記コマンド又は前記データを正常に受信し、前記レスポンスを返信した後には、その後に送信されてきた同一の識別符号を含んだ前記コマンド又は前記データを無効とすることを特徴とする。
【発明の効果】
【００１１】
本発明の請求項１に係るシリアル通信方法によれば、ホストデバイスは、リモートデバイスから正常にレスポンスの返信を受けるまでの間は、同一のコマンド又はデータを連続送信するので、リモートデバイスは、送信されたコマンド又はデータに誤りが生じても、ホストデバイスに再送要求を行うことなく、コマンド又はデータを正常に受信することができ、レイテンシを抑制できる。
【００１２】
請求項２に係るシリアル通信方法によれば、ホストデバイスは、リモートデバイスからコマンド又はデータに対応したレスポンスを正常に受信できたときには、コマンドの連続送信を停止するので、ホストデバイスは、リモートデバイスへのコマンド又はデータの送信が正常に送信できたことをレスポンスによって認識し、コマンド又はデータの連続送信を停止して、次のコマンド又はデータを送信することができるので、コマンド又はデータの送信レートを高速にすることができる。
【００１３】
請求項３に係るシリアル通信方法によれば、ホストデバイスは、連続送信すべきコマンド又はデータに識別符号を含めて送信し、リモートデバイスは、ホストデバイスから送信されたコマンド又はデータを正常に受信し、レスポンスを返信した後には、その後に送信されてきた同一の識別符号を含んだコマンド又はデータを無効とするので、リモートデバイスは、ホストデバイスから受信した同一のコマンド又はデータに基づく処理を重複して実行することがない。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明のシリアル通信方法を実現することができるホストデバイス、リモートデバイスの要部構成の一例を示すブロック図である。
【００１５】
１はホストデバイスであり、送信端子ＴＸ、受信端子ＲＸ、クロック端子ＣＬＫを備えており、これらの端子のそれぞれには信号線を接続して、リモートデバイス２を接続している。２はリモートデバイスであり、ホストデバイス１の送信端子ＴＸ、受信端子ＲＸ、クロック端子ＣＬＫのそれぞれに対応して、受信端子ＲＸ、送信端子ＴＸ、クロック端子ＣＬＫを備えており、これらの端子のそれぞれには信号線を接続して、ホストデバイス１を接続している。
【００１６】
ホストデバイス１は、送信端子ＴＸに対応した送信側シフトレジスタ１１、受信端子ＲＸに対応した受信側シフトレジスタ１２、クロック端子ＣＬＫに対応し、送信側シフトレジスタ１１、受信側シフトレジスタ１２の動作クロックを出力し、また、リモートデバイス２の受信側シフトレジスタ２１、送信側シフトレジスタ２２の動作クロックを出力するクロック出力回路１３、ＣＰＵなどで構成され、このホストデバイス１を制御するコントローラ１０を備えている。
【００１７】
送信側シフトレジスタ１１は、リモートデバイス２に、１キャラクタ単位でリードコマンド、ライトコマンドを送信したり、１キャラクタ単位でライトすべきデータを送信する。受信側シフトレジスタ１２は、リモートデバイス２から、１キャラクタ単位で、リモートデバイス２に格納されたデータを含むレスポンスや、ライトコマンドに対するレスポンスの返信を受け付けて受信する。
【００１８】
コントローラ１０は、送信側シフトレジスタ１１から、リモートデバイス２におけるコマンド又はデータの正常受信の判別のために、エラー識別符号を含ませたコマンド又はデータを、受信側シフトレジスタ１２に正常なレスポンスが受け付けられるまでの間、連続して送信し、正常なレスポンスが受け付けられたときには、コマンド又はデータの連続送信を停止する。ここで、正常なレスポンスか否かの判断は、レスポンスに含まれたエラー識別符号と、受信したレスポンスとの関係がその規則通りであるか否かにより行うようにしており、規則通りである場合には、レスポンスが正常に受信されたとみなすようにしている。
【００１９】
また、コントローラ１０は、コマンド又はデータを送信するときには、リモートデバイス２に対して、、すでに正常に受信済みのコマンド又はデータであるか否かを判別させるために、ＩＤコードなどの識別符号を含ませて送信するようにしている。
【００２０】
さらに、コントローラ１０は、リモートデバイス２から返信されるレスポンスには、コントローラ１０が、受信したレスポンスが、送信したコマンド又はデータに対応したものであるか否かを判別するために、リモートデバイス２のコントローラ２０によって、ホストデバイス１から受信したコマンド又はデータに含ませたＩＤコードなどの識別符号と同一の識別符号を含ませているので、送信したコマンド又はデータの識別符号と同一の識別符号を含ませたレスポンスであるときには、送信したコマンド又はデータに対応したレスポンスと判断する。
【００２１】
リモートデバイス２は、受信端子ＲＸに対応した受信側シフトレジスタ２１、送信端子ＴＸに対応した送信側シフトレジスタ２２、クロック端子ＣＬＫを通じてホストデバイス１から受信した動作クロックを、受信側シフトレジスタ２１、送信側シフトレジスタ２２に出力するクロック受信回路２３、アドレスが予め割り当てられた１または複数のデータメモリを有するメモリ２４、ＣＰＵなどで構成され、このリモートデバイス２を制御するコントローラ２０を備えている。
【００２２】
受信側シフトレジスタ２１は、ホストデバイス１から、１キャラクタ単位でリードコマンド、ライトコマンドを受信したり、１キャラクタ単位でライトすべきデータを受信する。送信側シフトレジスタ２２は、ホストデバイス１に対して、１キャラクタ単位で、リモートデバイス２に格納されたデータを含むレスポンスや、ライトコマンドに対するレスポンスの返信を行う。
【００２３】
コントローラ２０は、受信側シフトレジスタ２１に、ホストデバイス１から連続送信されたコマンド又はデータを正常に受信できたときには、受信したコマンド又はデータが、すでに受信済みであるか否かを判別し、受信済みでないときには、ホストデバイス１におけるレスポンスの正常受信の判断のために、エラー識別符号を含ませたレスポンスを返信するようにしている。ここで、ホストデバイス１から連続送信されたコマンド又はデータを正常に受信できたか否かの判断は、コマンド又はデータに含まれたエラー検出のためのエラー検出符号と、受信したコマンド又はデータとの関係が規則通りであるか否かを判別し、規則通りである場合、正常に受信したとみなす。
【００２４】
コントローラ２０は、ホストデバイス１のコントローラ１０が、送信したコマンド又はデータに対応したレスポンスであるか否かを判別するために、返信するレスポンスに、正常に受信できたコマンド又はデータに含まれた識別符号と同一の識別符号を含める。
【００２５】
図２は、ホストデバイスの基本動作の一例を示すフローチャートである（１００〜１０４）。
【００２６】
ホストデバイス１は、リモートデバイス２に対して、コマンド又はデータを、リモートデバイス２からレスポンスが正常に受信されるまで、連続して複数回送信する（１００〜１０２）。なお、ホストデバイス１は、連続送信する回数を予め制限しておき、一定回数送信しても、リモートデバイス２から正常なレスポンスが受信されない場合には、エラー通知をするようにしてもよい。
【００２７】
ホストデバイス１は、リモートデバイス２からレスポンスが正常に受信された場合には、送信済みのコマンド又はデータに対応するレスポンスであるか否かを判断し、対応したレスポンスであれば、そのレスポンスに基づいた処理をし、対応したレスポンスでなければ、次のコマンド又はデータの受信に備える（１０１〜１０５）。
【００２８】
このように、ホストデバイス１は、リモートデバイス２から正常にレスポンスを受信するまで、同一のコマンド又はデータを連続送信するので、送信したコマンド又はデータがリモートデバイス２に到達していないときや、リモートデバイス２に到達していても内容にエラーがあった場合でも、リモートデバイス２に正常に到達するまで、同一のコマンド又はデータを続けて送信できるので、リモートデバイス２からのエラー通知を待機して再送するような手順を必要としないので、レイテンシを抑制できる。
【００２９】
図３は、リモートデバイスの基本動作の一例を示すフローチャートである（２００〜２０４）。
【００３０】
リモートデバイス２は、ホストデバイス１からコマンド又はデータを受信するごとに、そのコマンド又はデータにエラーがないか否かを判別する（２００，２０１）。
【００３１】
リモートデバイス２は、受信したコマンド又はデータにエラーがないことを判別すると、そのコマンド又はデータを受信済みのものであるか否かを判別し、受信済みでないときにはレスポンスを返信し、受信済みであるときには、そのコマンド又はデータを破棄する（２０１〜２０４）。
【００３２】
このように、リモートデバイス２は、ホストコマンド１から、同一のコマンド又はデータを正常に到達するまで、連続して受信し、正常に受信できた場合にレスポンスを返信するので、ホストコマンド１からのコマンド又はデータが到達しなかったり、到達しても内容に誤りがある場合でも、再送要求を行わずに、正常に受信されるまで、同一のコマンド又はデータの送信を受け付けることができるので、レイテンシを抑制できる。
【図面の簡単な説明】
【００３３】
【図１】本発明のシリアル通信方法を実現することができるホストデバイス、リモートデバイスの要部構成の一例を示すブロック図
【図２】ホストデバイスの基本動作の一例を示すフローチャート
【図３】リモートデバイスの基本動作の一例を示すフローチャート
【符号の説明】
【００３４】
１  ホストデバイス
２  リモートデバイス
１０，２０  コントローラ
１１，２２  送信側シフトレジスタ
１２，２１  受信側シフトレジスタ
１３  クロック出力回路
２３  クロック受信回路
２４  メモリ
【図１】
2008270887.tif 000003
【図２】
2008270887.tif 000004
【図３】
2008270887.tif 000005