(57)【要約】【課題】ホストデバイスがリモートデバイスのデータＩ／Ｏを指定したデータのリードを行った後、同一のアドレスのデータＩ／Ｏに対するデータの書き戻し手順を簡略化できる、デバイスのアクセス方法を提供する。【解決手段】ホストデバイス１は、データＩ／Ｏの目的アドレスにデータを書き込みたいときには、その目的アドレスを含ませたリードコマンドを送信し、リモートデバイスからのリードレスポンスを受信した後、書き込みすべきデータを含ませたライトコマンドを送信し、リモートデバイス２は、リードコマンドを受信すると、リードコマンドに含まれた目的アドレスを記憶し、ホストデバイス１にリードレスポンスを返信し、その後、書き込みすべきデータを含ませたライトコマンドを受け付けたときには、データＩ／Ｏの、その時点で記憶しているアドレスに、受け付けたライトコマンドに含まれたデータを格納する。【選択図】図１
2008293320.tif 000002
【特許請求の範囲】
【請求項１】
コマンドと、そのコマンドに対応したレスポンスによって規定されたシリアル通信によって、ホストデバイスから、リモートデバイスのアドレスを割り当てられたデータＩ／Ｏをアクセスする、デバイスのアクセス方法において、
前記ホストデバイスは、前記データＩ／Ｏの目的アドレスにデータを書き込みたいときには、その目的アドレスを含ませたリードコマンドを送信し、前記リモートデバイスからのリードレスポンスを受信した後、書き込みすべきデータを含ませたライトコマンドを送信し、
リモートデバイスは、前記リードコマンドを受信すると、前記リードコマンドに含まれた目的アドレスを記憶し、前記ホストデバイスにリードレスポンスを返信し、その後、前記書き込みすべきデータを含ませたライトコマンドを受け付けたときには、前記データＩ／Ｏの、その時点で記憶しているアドレスに、受け付けたライトコマンドに含まれたデータを格納することを特徴とする、デバイスのアクセス方法。
【請求項２】
コマンドと、そのコマンドに対応したレスポンスによって規定されたシリアル通信によって、ホストデバイスから、リモートデバイスのアドレスを割り当てられたデータＩ／Ｏをアクセスする、デバイスのアクセス方法において、
前記ホストデバイスは、前記データＩ／Ｏの連続したアドレスにデータを書き込みたいときには、その連続したアドレスの先頭アドレスを含ませたリードコマンドを送信し、リモートデバイスからのリードレスポンスを受信した後、書き込みすべきデータを含ませたライトコマンドを連続して送信し、
前記リモートデバイスは、前記リードコマンドを受信すると、前記リードコマンドに含まれた先頭アドレスを記憶し、前記ホストデバイスにリードレスポンスを送信し、ついで、書き込みすべきデータを含ませた最初のライトコマンドを受け付けたときには、前記データＩ／Ｏの記憶された先頭アドレスに、受け付けたライトコマンドに含まれたデータを格納し、記憶しているアドレスをインクリメントして更新し、その後、データを含ませたライトコマンドを前記ホストデバイスから受け付ける毎に、その時点で記憶しているデータＩ／Ｏのアドレスに、受け付けたライトコマンドに含まれたデータを書き込み、記憶しているアドレスをインクリメントして更新することを特徴とする、デバイスのアクセス方法。
【請求項３】
請求項２において、
前記リモートデバイスは、インクリメントした後のアドレスを含ませたライトレスポンスを返信することを特徴とする、デバイスのアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドと、そのコマンドに対応したレスポンスによって規定されたシリアル通信によって、ホストデバイスから、リモートデバイスのアドレスを割り当てられたデータＩ／Ｏをアクセスする、デバイスのアクセス方法に関し、特に、ホストデバイスがリモートデバイスのデータＩ／Ｏを指定したデータの読み込みを行った後、同一のデータＩ／Ｏに対するデータの書き戻し手順を簡略化できる、デバイスのアクセス方法に関する。
【背景技術】
【０００２】
近時、コマンドと、そのコマンドに対応したレスポンスによって規定されたシリアル通信によって、ホストデバイスから、リモートデバイスのアドレスを割り当てられたデータＩ／Ｏをアクセスする、デバイスのアクセス方法が普及している。このようなシリアル通信によるアクセス方法によれば、パラレル通信と比較して、シンプルな構成で伝送距離を大きくできる。
【０００３】
また、特許文献１に示すようなマルチプロセッサ用インタフェースが提案されている。このマルチプロセッサ用インタフェースでは、プロセッサは、データ送信の場合には、他のプロセッサの内部データメモリに割り当てられた目的アドレスをコマンドに含ませて送信し、ついで、その目的アドレスが割り当てられた内部データメモリに書き込みすべきデータを送信することにより、他のプロセッサの目的アドレスが割り当てられた内部データメモリにデータを書き込ませる。
【０００４】
一方、プロセッサは、データ受信の場合には、他のプロセッサから目的アドレスを含んだコマンドを受信し、ついで、その目的アドレスに書き込みすべきデータを受信することにより、その目的アドレスが割り当てられた内部データメモリに、受信データを書き込む。
【特許文献１】特開２００２−２２９９６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記した従来のシリアル通信によるデバイスのアクセス方法では、プロセッサは、他のプロセッサにデータを書き込ませる場合には、データを書き込むべき目的アドレスを含んだコマンドを送信し、他のプロセッサで目的アドレスをデコードさせてから、書き込みすべきデータを送信するため、以下の問題がある。
【０００６】
つまり、他のプロセッサの目的アドレスを指定して、その目的アドレスが割り当てられたデータメモリのデータを読み込みした後、そのデータの幾つかのビットを変更して、同一のアドレスが割り当てられたデータメモリに書き戻しを行う場合には、すでに他のプロセッサに対してアドレスを指定しているのに、再度、プロセッサは同一のアドレスを指定し、そのアドレスを他のプロセッサにデコードさせるため、時間の無駄となる。
【０００７】
また、データを順次、連続して書き込む場合には、先頭アドレスにデータを書き込んだ後、次のアドレスの送信→そのアドレスのデコード→そのアドレスが割り当てられたデータメモリへのデータの書き込みという処理を繰り返す必要があるので、データのライト時間を大幅に要するという問題がある。
【０００８】
本発明は、このような事情を考慮して提案されるものであり、ホストデバイスがリモートデバイスのデータＩ／Ｏの読み込みを行った後、同一のアドレスが割り当てられたデータＩ／Ｏに対するデータの書き戻し手順を簡略化できる、デバイスのアクセス方法の提供を目的とする。
【０００９】
また、目的アドレスに連続するアドレスが割り当てられたデータＩ／Ｏに対するデータの連続書き込みを簡略化できる、デバイスのアクセス方法の提供を目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の請求項１に係るデバイスのアクセス方法では、前記ホストデバイスは、前記データＩ／Ｏの目的アドレスにデータを書き込みたいときには、その目的アドレスを含ませたリードコマンドを送信し、前記リモートデバイスからのリードレスポンスを受信した後、書き込みすべきデータを含ませたライトコマンドを送信し、リモートデバイスは、前記リードコマンドを受信すると、前記リードコマンドに含まれた目的アドレスを記憶し、前記ホストデバイスにリードレスポンスを返信し、その後、前記書き込みすべきデータを含ませたライトコマンドを受け付けたときには、前記データＩ／Ｏの、その時点で記憶しているアドレスに、受け付けたライトコマンドに含まれたデータを格納することを特徴とする。
【００１１】
ここに、「目的アドレス」とは、リモートデバイスのデータＩ／Ｏに割り付けられているアドレスのうち、ホストデバイスがアクセスしたいアドレスのことをいう。
【００１２】
このデバイスのアクセス方法は、リモートデバイスの目的アドレスを指定して、その目的アドレスが割り当てられたデータＩ／Ｏのデータの読み込みを行った後、そのデータの幾つかのビットを変更して、同一アドレスのデータＩ／Ｏに書き戻しを行う書き戻し処理の新たな方法を提案している。
【００１３】
請求項２に係るデバイスのアクセス方法では、前記ホストデバイスは、前記データＩ／Ｏの連続したアドレスにデータを書き込みたいときには、その連続したアドレスの先頭アドレスを含ませたリードコマンドを送信し、リモートデバイスからのリードレスポンスを受信した後、書き込みすべきデータを含ませたライトコマンドを連続して送信し、前記リモートデバイスは、前記リードコマンドを受信すると、前記リードコマンドに含まれた先頭アドレスを記憶し、前記ホストデバイスにリードレスポンスを送信し、ついで、書き込みすべきデータを含ませた最初のライトコマンドを受け付けたときには、前記データＩ／Ｏの記憶された先頭アドレスに、受け付けたライトコマンドに含まれたデータを格納し、記憶しているアドレスをインクリメントして更新し、その後、データを含ませたライトコマンドを前記ホストデバイスから受け付ける毎に、その時点で記憶しているデータＩ／Ｏのアドレスに、受け付けたライトコマンドに含まれたデータを書き込み、記憶しているアドレスをインクリメントして更新することを特徴とする。
【００１４】
このデバイスのアクセス方法は、目的アドレスに連続するアドレスが割り当てられたデータＩ／Ｏに対するデータの連続書き込みを簡略化できる新たな方法を提案している。
【００１５】
請求項３に係るデバイスのアクセス方法では、前記リモートデバイスは、インクリメントした後のアドレスを含ませたライトレスポンスを返信することを特徴とする。
【００１６】
このデバイスのアクセス方法では、リモートデバイスは、インクリメントした後のアドレスを含ませたライトレスポンスを返信して、ホストデバイスに対して、アドレスがインクリメントされたことを知らせている。
【発明の効果】
【００１７】
本発明の請求項１に係るデバイスのアクセス方法によれば、ホストデバイスは、データＩ／Ｏの目的アドレスにデータを書き込みたいときには、その目的アドレスを含ませたリードコマンドを送信し、その後、リモートデバイスからリードレスポンスを受信すれば、書き込みすべきデータを含ませたライトコマンドを送信し、リモートデバイスは、リードコマンドを受信すると、リードコマンドに含まれた目的アドレスを記憶し、リードレスポンスを返信した後、書き込みすべきデータを含ませたライトコマンドを受け付けたときには、データＩ／Ｏの、その時点で記憶しているアドレスに、受け付けたライトコマンドに含まれたデータを格納するので、ホストデバイスは、リモートデバイスのデータメモリの目的アドレスを指定して、そのアドレスが割り当てられたデータＩ／Ｏのデータを読み出した後には、再度、リモートデバイスの同一アドレスを指定せずに、ライトコマンドのみを送信して、同一アドレスのデータＩ／Ｏにデータを書き込むことができるため、目的アドレスを指定したデータの読み出しを行った後、同一アドレスのデータＩ／Ｏに対するデータの書き戻し手順を簡略化でき、処理にかかる時間を短縮できる。
【００１８】
請求項２に係るデバイスのアクセス方法によれば、ホストデバイスは、データＩ／Ｏの連続したアドレスにデータを書き込みたいときには、その連続したアドレスの先頭アドレスを含ませたリードコマンドを送信し、リモートデバイスからリードレスポンスを受信した後、書き込みすべきデータを含ませたライトコマンドを連続して送信し、リモートデバイスは、リードコマンドを受信すると、リードコマンドに含まれた先頭アドレスを記憶し、リードレスポンスを返信し、ついで、書き込みすべきデータを含ませた最初のライトコマンドを受け付けたときには、データＩ／Ｏの記憶された先頭アドレスに、受け付けたライトコマンドに含まれたデータを格納し、記憶しているアドレスをインクリメントして更新し、その後、データを含ませたライトコマンドをホストデバイスから受け付ける毎に、その時点で記憶しているデータＩ／Ｏのアドレスに、受け付けたライトコマンドに含まれたデータを書き込み、記憶しているアドレスをインクリメントして更新するので、ホストデバイスからリモートデバイスにリードコマンドを送信して、連続するアドレスの先頭アドレスを指定した後、データを含ませたライトコマンドを連続して送信するだけで、先頭アドレスに続く連続したアドレスに順次データを格納できる。
【００１９】
請求項３に係るデバイスのアクセス方法によれば、リモートデバイスは、インクリメントした後のアドレスを含ませたライトレスポンスを返信するので、ホストデバイスは、リモートデバイスが記憶しているアドレスがインクリメントされたことを認識することができ、その後のライトコマンドの送信と、リモートデバイスにおけるデータの書き込みとをスムースに行える。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明のデバイスのアクセス方法を実現するホストデバイス、リモートデバイスの要部構成の一例を示すブロック図である。
【００２１】
１はホストデバイスであり、送信端子ＴＸ、受信端子ＲＸ、クロック端子ＣＬＫを備えており、これらの端子のそれぞれには信号線を接続して、リモートデバイス２を接続している。２はリモートデバイスであり、ホストデバイス１の送信端子ＴＸ、受信端子ＲＸ、クロック端子ＣＬＫのそれぞれに対応して、受信端子ＲＸ、送信端子ＴＸ、クロック端子ＣＬＫを備えており、これらの端子のそれぞれには信号線を接続して、ホストデバイス１を接続している。
【００２２】
ホストデバイス１は、送信端子ＴＸに対応し、リモートデバイス２に、１キャラクタ単位でリードコマンド、ライトコマンドを送信する送信側シフトレジスタ１１、受信端子ＲＸに対応し、リモートデバイス２から、１キャラクタ単位でリードレスポンス、ライトレスポンスを受信する受信側シフトレジスタ１２、クロック端子ＣＬＫに対応し、送信側シフトレジスタ１１、受信側シフトレジスタ１２の動作クロックを出力し、また、リモートデバイス２の受信側シフトレジスタ２１、送信側シフトレジスタ２２の動作クロックを出力するクロック出力回路１３、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などで構成され、このホストデバイス１を制御するコントローラ１０を備えている。
【００２３】
リモートデバイス２は、受信端子ＲＸに対応し、ホストデバイス１から、リードコマンド、ライトコマンドを受信する受信側シフトレジスタ２１、送信端子ＴＸに対応し、ホストデバイス１に、リードレスポンス、ライトレスポンスを返信する送信側シフトレジスタ２２、クロック端子ＣＬＫを通じてホストデバイス１から受信した動作クロックを、受信側シフトレジスタ２１、送信側シフトレジスタ２２に送信するクロック受信回路２３、受信側シフトレジスタ２１がホストデバイス１から受信したリードコマンドに含まれるアドレスを記憶するアドレスレジスタ２４、アドレスレジスタ２４に記憶しているアドレスをインクリメントして更新するインクリメント手段２５、アドレスが予め割り当てられたデータＩ／Ｏとして、１または複数のデータメモリを有するメモリ２６、ＣＰＵなどで構成され、リードコマンド、ライトコマンドをデコードして、メモリ２６を制御するコントローラ２０を備えている。
【００２４】
なお、アドレスが割り当てられたデータＩ／Ｏは、データメモリに限られず、アドレスが予め割り当てられ、データの入出力機能を備えるものであればよく、例えば、レジスタや、コネクタのピンなどがあり、特に限定はされない。
【００２５】
このような構成によれば、ホストデバイス１は、リモートデバイス２の目的アドレスのデータメモリのデータを読み込んだ後、そのデータの幾つかのビットを変更して、同一のアドレスが割り当てられたデータメモリに書き戻しできる（以下、書き戻し処理という）。
【００２６】
また、ホストデバイス１は、連続するアドレスのデータメモリに対して、順次データの書き込みができる（以下、連続アドレス書き込み処理という）。
【００２７】
すなわち、書き戻し処理は以下のように実行されるようにしている。ホストデバイス１では、コントローラ１０によって、目的アドレスを含んだリードコマンドを生成して送信側シフトレジスタ１１に格納し、送信側シフトレジスタ１１によって送信端子ＴＸを通じて、リモートデバイス２に送信する。
【００２８】
ついで、リモートデバイス２から、受信端子ＲＸを通じて目的アドレスのデータメモリに格納されたデータを含んだリードレスポンスを受信したときには、コントローラ１０は、受信したリードレスポンスを受信側シフトレジスタ１２に格納し、リードレスポンスに含まれるデータを取り出して、図示しないメモリに格納させる。
【００２９】
リモートデバイス２からリードレスポンスを受信すると、コントローラ１０は、目的アドレスを含まないライトコマンドを生成し、送信側シフトレジスタ１１に格納させ、送信側シフトレジスタ１１によって送信端子ＴＸを通じて、リモートデバイス２に送信する。
【００３０】
一方のリモートデバイス２では、ホストデバイス１からリードコマンドを受信したときには、コントローラ２０は、受信したリードコマンドを受信側シフトレジスタ２１に格納し、リードコマンドをデコードし、目的アドレスをアドレスレジスタ２４に記憶させ、リードコマンドに含まれる目的アドレスが割り当てられたデータメモリのデータを取り出して、そのデータを含んだリードレスポンスを送信側シフトレジスタ２２に格納させ、送信側シフトレジスタ２２によってリードレスポンスを返信させる。
【００３１】
ついで、ホストデバイス１から、データを含んだライトコマンドを受信したときには、コントローラ２０は、ライトコマンドをデコードし、実行して、ライトコマンドに含まれるデータを取り出して、アドレスレジスタ２４に記憶されているアドレスが割り当てられたデータメモリに格納させる。
【００３２】
また、連続アドレス書き込み処理は以下のように実行されるようにしている。すなわち、ホストデバイス１は、リモートデバイス２に先頭アドレスを含ませたリードコマンドを送信し、リモートデバイス２からリードレスポンスが返信された後には、目的アドレスを含まないライトコマンドを連続して送信する。
【００３３】
一方のリモートデバイス２では、コントローラ２０は、ホストデバイス１から先頭アドレスを含ませたリードコマンドを受け付けると、その先頭アドレスを記憶させ、その後、最初に受け付けたライトコマンドに含まれるデータを先頭アドレスに記憶させ、記憶させたアドレスを１インクリメントさせ、ついで、ホストデバイス１からライトコマンドを受け付ける毎に、その時点で記憶しているアドレスに、受け付けたライトコマンドに含まれたデータを格納し、記憶しているアドレスを１つづつインクリメントして更新する。
【００３４】
なお、リモートデバイス２は、ホストデバイス１からライトコマンドを受信して、ライトコマンドに含まれるデータを格納する毎に、インクリメントした後のアドレスを含ませたライトレスポンスを返信してもよく、こうすれば、ホストデバイス１に、アドレスのインクリメントを知らせることができ、コマンドが正常に処理されたことを確認できる。
【００３５】
図２は、ホストデバイスの基本動作の一例を示すフローチャートであり、先述した書き戻し処理、連続アドレス書き込み処理の双方を含んでいる（１００〜１０３）。ホストデバイス１では、コントローラ１０は、目的アドレスを含んだリードコマンドを生成して、リモートデバイス２に送信する（１００）。なお、連続アドレス書き込み処理を行う場合には、目的アドレスとして先頭アドレスを含ませる。
【００３６】
すると、リモートデバイス２から、目的アドレスのデータメモリのデータを含んだリードレスポンスが返信されてくるので、これを受信し、書き込みすべきデータを含んだライトコマンドを生成し、リモートデバイス２に送信する（１０１，１０２）。
【００３７】
すると、リモートデバイス２からは、インクリメントした後のアドレスを含んだライトレスポンスが返信されてくるので、これを受信するごとに、ホストデバイス１は、書き込みすべきデータを含んだライトコマンドをリモートデバイス２に送信する（１０２，１０３）。
【００３８】
図３は、リモートデバイスの基本動作の一例を示すフローチャートであり、先述した書き戻し処理、連続アドレス書き込み処理の双方を含んでいる（２００〜２０８）。リモートデバイス２では、コントローラ２０は、ホストデバイス１から、目的アドレスを含んだリードコマンドを受信すると、リードコマンドをデコードし、目的アドレスを記憶して、目的アドレスのデータメモリに格納されているデータを取り出して、リードレスポンスとして返信する（２００〜２０３）。
【００３９】
ついで、ホストデバイス１からコマンドを受信すると以下のような処理を行う。すなわち、書き込みすべきデータを含んだライトコマンドを受信する毎に、ライトコマンドをデコードし、ライトコマンドに含まれるデータを、その時点で記憶されている目的アドレスに対応するデータメモリに格納させ、その後、記憶されている目的アドレスを１インクリメントして更新し、インクリメントした後のアドレスを含んだライトレスポンスをホストデバイス１に返信する（２０４〜２０８）。
【００４０】
一方、ホストデバイス１から、リードコマンドを受信すると（２０４）、ステップ２０１〜２０３の処理を行い、リードコマンドをデコードし、目的アドレスを記憶して、目的アドレスのデータメモリに格納されているデータを取り出して、リードレスポンスとして返信し、その後、ステップ２０４の処理を行う。
【００４１】
このように、ホストデバイス１は、目的アドレスを含んだリードコマンドをリモートデバイス２に送信して、目的アドレスに格納されたデータを返信させた後には、アドレスを含まないライトコマンドのみを送信して、同一アドレスにデータを書き戻しできる。また、ホストデバイス１は、目的アドレスを含んだリードコマンドをリモートデバイス２に送信して、目的アドレスに格納されたデータを返信させた後には、ホストデバイス１からリモートデバイス２に対してライトコマンドのみを順次送信して、目的アドレスに連続するアドレスのデータメモリへのデータを順次格納できる。
【図面の簡単な説明】
【００４２】
【図１】本発明のデバイスのアクセス方法を実現するホストデバイス、リモートデバイスの要部構成の一例を示すブロック図
【図２】ホストデバイスの基本動作の一例を示すフローチャート
【図３】リモートデバイスの基本動作の一例を示すフローチャート
【符号の説明】
【００４３】
１  ホストデバイス
２  リモートデバイス
１０，２０  コントローラ
１１，２２  送信側シフトレジスタ
１２，２１  受信側シフトレジスタ
１３  クロック出力回路
２３  クロック受信回路
２４  アドレスレジスタ
２５  インクリメント手段
２６  メモリ
【図１】
2008293320.tif 000003
【図２】
2008293320.tif 000004
【図３】
2008293320.tif 000005