(57)【要約】【課題】  １回のトランザクションで扱うデータ量が大きく変化するシリアル通信において、効率的かつ低コストなデータ通信を行えることである。【解決手段】  マスタユニット９とターゲットユニット１０との間で、ＣＰＵ１３により生成されるコマンド、アドレス、ターゲットユニット１０に送信あるいは、ターゲットユニット１０からコマンド、アドレス、データを受信するためのクロックをクロックコントローラ１５より出力し、コマンド、ターゲットユニット１０に送信した後、クロックの出力状態に基づいて、データの転送終了をクロックコントローラ１５が制御する構成を特徴とする。【選択図】図１
2005110019.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、
コマンド、アドレス、データを生成する生成手段と、
前記生成手段により生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力するクロック手段と、
前記生成手段により生成されるコマンド、アドレスを相手先に送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段と、
を有することを特徴とするシリアル通信システム。
【請求項２】
マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、
コマンド、アドレス、データを生成する生成手段と、
前記生成手段により生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力するクロック手段と、
前記生成手段により生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段と、
を有することを特徴とするシリアル通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムに関するものである。
【背景技術】
【０００２】
従来、この種のシリアルインタフェースにおけるシリアル通信は、１回のトランザクションで通信するデータ量は、固定の場合と可変の場合とがある。固定の場合の例を図１６〜図１８に示す。
【０００３】
図１６〜図１８は、この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。
【０００４】
図１６に示すように、シリアル通信データは、コマンド１、アドレス２、データ３ともに、あらかじめ決められたビット長に固定し、データ順もあらかじめ決定しておき、そのルールのもとにデータ通信を行う。
【０００５】
この方法はデータ通信のルールがシンプルであり、比較的容易にシリアル通信システムを形成できるという利点がある。
【０００６】
また、図１７は、１回のトランザクションで通信するデータ量が可変の場合の例を示す。
【０００７】
図１７に示すように、コマンド１、アドレス２に加えて、データサイズ４というコマンドを埋め込む。そして、データサイズ４で示されたデータサイズに従って、可変データ５のデータ量が変化する。
【０００８】
この方法は上記「１回のトランザクションで通信するデータ量が固定」の場合と比べて、効率的に大量のデータを通信できるというメリットがある。従来、この種の公知文献として、既に下記特許文献１が公開されている。
【特許文献１】特開平２００３−２７３９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記「１回のトランザクションで通信するデータ量が固定」の場合の従来例では、例えば画像データなど、１回のトランザクションで扱うデータ量が大きく変化する場合に、コマンド、アドレスをその都度付加する必要がある為、非常に効率が悪く、スループットが向上しないという問題がある。
【００１０】
また、上記「１回のトランザクションで通信するデータ量が可変」の場合の従来例では、扱うデータ量が可変になった分、効率は上がるのだが、その分システムの構築が複雑になりコスト的なデメリットが発生する。
【００１１】
また、上記２つの従来例は、何らかの要因でトランザクションを中断した場合、そのトランザクションの再開時は、前回のトランザクションを最初からやり直す必要があった。
【００１２】
さらに、最初からやり直さなない方法として、図１８に示すように中断したポイントからの再開をするシステムも存在するが、コマンド１、データサイズ４、再開アドレス７等のコマンドを最初から入れ直す必要があることから、スループット向上の妨げになり、また、中断ポイントを記憶しておかなければならないことから、システムはより複雑になり、コストアップにつながるという問題がある。
【００１３】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおいて、生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力し、コマンド、アドレスを相手先に送信した後、クロックの出力状態に基づいて、データの転送終了を制御することにより、１回のトランザクションで扱うデータ量が大きく変化するシリアル通信において、効率的かつ低コストなデータ通信を行えるシリアル通信システムを提供することである。
【課題を解決するための手段】
【００１４】
上記目的を達成する本発明のデータ通信システムは以下に示す構成を備える。
【００１５】
本発明は、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、コマンド、アドレス、データを生成する生成手段（図１に示すＣＰＵ１３）と、前記生成手段により生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力するクロック手段（図１に示すクロックコントローラ１５）と、前記生成手段により生成されるコマンド、アドレスを相手先に送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段（図１に示すクロックコントローラ１５）と有することを特徴とする。
【００１６】
また、マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、コマンド、アドレス、データを生成する生成手段（図１に示すＣＰＵ１３）と、前記生成手段により生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力するクロック手段（図１に示すクロックコントローラ１５）と、前記生成手段により生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段（図１に示すクロックコントローラ１５）とを有することを特徴とする。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおいて、生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力し、コマンド、アドレスを相手先に送信した後、クロックの出力状態に基づいて、データの転送終了を制御することにより、１回のトランザクションで扱うデータ量が大きく変化するシリアル通信において、効率的かつ低コストなデータ通信を行えるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
〔第１実施形態〕
図１は、本発明の第１実施形態を示すインタフェース装置を適用可能な通信システム例を示すブロック図であり、マスタユニット９とシリアル通信データ１０とが双方向シリアルデータ線１９を介してシリアル通信する通信システム例に対応する。なお、双方向シリアルデータ線１９を介したターゲットユニット１０との送受信のコントロールは全てマスタユニット９が行う。
【００１９】
図１において、１３はＣＰＵであり、双方向パラレルデータ線１７を通じてメモリ１８のリードライト、双方向データ線１２を通じてシフトレジスタ１１，３３及びデータ有効ビット３１、３２のリードライトを行う。
【００２０】
１５はクロックコントローラで、データ有効ビット制御信号１６及びリードイネーブル２１の内容によって、通信用クロック２０及びシフトクロック１４の制御を行う。
【００２１】
また、クロックコントローラ１５は、シフトクロック１４の入力先をシフトレジスタ１１もしくはシフトレジスタ３３に切り替えることが可能である。
【００２２】
そして、シフトレジスタ１１，３３はシフトクロック１４に同期して、双方向シリアルデータ線１９にデータを入出力する。
【００２３】
データ有効ビット３１，３２は、それぞれのシフトレジスタ１１，３３内のデータの有効性を示すビットであり、「１」が立っているときは、データが有効であることを示す。
【００２４】
２２はコマンド解析ユニットで、双方向シリアルデータ線１９より受信したデータからリード／ライトコマンド、アドレスを抜き出し、メモリコントローラ２７にコマンド／アドレス２８を送信する。そして、データ有効ビット制御信号３７を介して得られるデータ有効ビット３４およびデータ有効ビット３５の状態によって、シフトレジスタ３６およびシフトレジスタ２４からデータを入出力し、リード／ライトのモードによって双方向シリアルデータ線１９へデータを入出力する。その際に、リードイネーブル信号２１の操作も合わせて行う。
【００２５】
メモリコントローラ２７はコマンド／アドレス２８の状態によって双方向パラレルデータ線２９を介したメモリ３０のリードライトや双方向パラレルデータ線２６を介したシフトレジスタ２４，３６及びデータ有効ビット３５、３４のリードライトを行う。
【００２６】
また、シフトレジスタ２４とデータ有効ビット３５及びシフトレジスタ３６とデータ有効ビット３４の関係は、上記シフトレジスタ１１、３３とデータ有効ビット３１，３２との関係と同様である。
【００２７】
図２は、図１に示した通信システムにおける通信データのフォーマットを示す図である。
【００２８】
図２に示すように、本実施形態では、リードアクセスかライトアクセスかを示すコマンド１、アクセス場所を示す固定長のアドレスであるアドレス２，可変長データ５の順番でデータ送信されるものとする。
【００２９】
図３は、本発明に係る通信システムにおける第１のデータ処理手順の一例を示すフローチャートであり、マスタユニット９からターゲットユニット１０へのデータ送信手順におけるメモリ１８内のデータをデータ有効ビット３１，３２の情報を元にシフトレジスタ１１，３３へ書き込む動作に対応する。なお、（１）〜（６）は各ステップを示す。
【００３０】
まず、ステップ（１）において、ＣＰＵ１３はメモリ１８からデータをリードし、ステップ（２）へ進み、ＣＰＵ１３はデータ有効ビット３２が「０」であるかを確認し、「０」であると判断した場合は、ステップ（３）へ進み、「１」であると判断した場合は、ステップ（５）へ移行する。
【００３１】
そして、ステップ（３）において、ＣＰＵ１３はシフトレジスタ３３へメモリ１８から読み出したデータを書き込み、データ有効ビット３２に「１」を書き込む。
【００３２】
次に、ステップ（４）において、ＣＰＵ１３は、ターゲットユニット１０への送信すべきデータが全てシフトレジスタ１１、３３に書き込まれているかどうか、すなわち、データ終了か否かを判断して、終了していると判断した場合には、本処理を終了し、送信すべきデータが残っていると判断した場合は、ステップ（１）へ戻る。
【００３３】
一方、ステップ（５）において、ＣＰＵ１３はデータ有効ビット３１が「０」であれば、ステップ（６）に移行し、「１」であれば再びステップ（２）へ移行する。
【００３４】
そして、ステップ（６）において、ＣＰＵ１３は、シフトレジスタ１１へメモリ１８から読み出したデータを書き込み、データ有効ビット３１に１をライトしてから、ステップ４へ移行する。
【００３５】
図４は、本発明に係る通信システムにおける第２のデータ処理手順の一例を示すフローチャートであり、シフトレジスタ１１、３３から双方向シリアルデータ線１９を介して、ターゲットユニット１０へデータ送信を行う動作手順に対応する。なお、（８）〜（１６）は各ステップを示す。
【００３６】
まず、ステップ（８）において、クロックコントローラ１５は、データ有効ビット３２が「１」であると判断した場合は、ステップ（９）へ移行し、「０」であると判断した場合は、ステップ（１２）へ移行する。
【００３７】
そして、ステップ（９）において、クロックコントローラ１５はシフトレジスタ３３へシフトクロック１４を供給すると同時に通信用クロック２０も出力して、ステップ（１０）へ移行する。
【００３８】
そして、ステップ（１０）において、シフトレジスタ３３はシフトクロック１４に同期してデータを送信し、クロックコントローラ１５は、シフトレジスタ３３内のデータを全て送信するまで、ステップ（１０）の処理を続け、処理が終了したら、ステップ（１１）へ移行する。
【００３９】
そして、ステップ（１１）において、クロックコントローラ１５はデータ有効ビット３２に「０」をライトして、ステップ（８）に戻る。
【００４０】
一方、ステップ（８）からステップ（１２）へ進んだ場合には、クロックコントローラ１５は、データ有効ビット３１が「１」であるかどうかを判断して、「１」であると判断した場合には、ステップ（１３）に移行し、「０」であると判断した場合には、ステップ（１６）に移行し、シフトクロック１４及び通信用クロック２０を停止して、ステップ（８）へ戻る。つまり、データ転送中は、シフトクロック１４及び通信用クロック２０が継続して出力されている状態となっている。
【００４１】
一方、ステップ（１２）で、ステップ（１３）へ進んだ場合は、クロックコントローラ１５はシフトレジスタ１１へシフトクロック１４を供給し通信用クロック２０を出力してステップ（１４）に移行する。そして、ステップ（１４）において、シフトレジスタ１１はシフトクロック１４に同期してデータを送信し、クロックコントローラ１５は、シフトレジスタ１１内データを全て送信するまでステップ（１４）の処理を続け、処理が終了したらステップ（１５）に移行する。
【００４２】
そして、ステップ（１５）において、クロックコントローラ１５はデータ有効ビット３１に「０」をライトして、ステップ（８）に戻る。
【００４３】
図５は、本発明に係る通信システムにおける第３のデータ処理手順の一例を示すフローチャートであり、図３，図４の処理動作によって、マスタユニット９から送信されたデータをターゲットユニット１０が受信し、シフトレジスタ２４、３６へ書き込む動作手順に対応する。なお、（３２）〜（４１）は各ステップを示す。
【００４４】
まず、ステップ（３２）において、コマンド解析ユニット２２は、受信したコマンド１がライトコマンドであるかどうかを判断して、ライトコマンドであると判断した場合は、ステップ（３３）へ移行し、リードコマンドであれば、詳細は後述する図７に示すステップ（４２）に移行する。
【００４５】
そして、ステップ（３３）において、コマンド解析ユニット２２はメモリコントローラ２７にライトコマンドと受信したアドレス２をコマンド／アドレス２８として送信しステップ（３４）へ移行する。
【００４６】
そして、ステップ（３４）において、コマンド解析ユニット２２は、データ有効ビット３５が「０」であるかどうかを判断して、「０」であると判断した場合には、ステップ（３５）に移行し、「１」であると判断した場合は、ステップ（３８）に移行する。
【００４７】
そして、ステップ（３５）において、コマンド解析ユニット２２はシフトレジスタ２４にシフトクロック２５を供給しつつ、双方向シリアルデータ線１９から受信した可変長データ５を双方向シリアルデータ線２３に出力して、ステップ（３６）へ移行する。
【００４８】
そして、ステップ（３６）において、コマンド解析ユニット２２はシフトレジスタ２４がFULL状態になるまで、ステップ（３６）の処理を続け、FULL状態になったらステップ（３７）へ移行する。
【００４９】
そして、ステップ（３７）において、コマンド解析ユニット２２はデータ有効ビット３５に「１」をライトして、ステップ（３４）へ戻る。
【００５０】
一方、ステップ（３４）で、コマンド解析ユニット２２はデータ有効ビット３５が「１」であると判断された場合には、ステップ（３８）において、コマンド解析ユニット２２はデータ有効ビット３４が「０」であるか否かを判断して、「０」であると判断した場合には、ステップ（３９）に移行し、「１」であると判断した場合には、ステップ（３４）に戻る。
【００５１】
そして、ステップ（３９）において、コマンド解析ユニット２２はシフトレジスタ３６にシフトクロック２５を供給しつつ双方向シリアルデータ線１９から受信した可変長データ５を双方向シリアルデータ線２３に出力して、ステップ（４０）へ移行する。
【００５２】
そして、ステップ（４０）において、コマンド解析ユニット２２はシフトレジスタ３６がFULL状態になるまでステップ（４０）の処理を続け、FULL状態になったらステップ（４１）へ移行する。
【００５３】
そして、ステップ（４１）において、コマンド解析ユニット２２はデータ有効ビット３４に「１」をライトしてステップ（３４）へ戻る。
【００５４】
なお、上記動作は、クロックコントローラ１５から出力される通信用クロック２０が供給され続ける限り続くものとする。
【００５５】
図６は、本発明に係る通信システムにおける第４のデータ処理手順の一例を示すフローチャートであり、メモリコントローラ２７がシフトレジスタ２４，３６からリードしたデータをメモリ３０に書き込む動作手順に対応する。なお、（４３）〜（４９）は各ステップを示す。
【００５６】
まず、ステップ（４３）において、コマンド解析ユニット２２からライトコマンドとライトアドレスを受信したら、ステップ（４４）へ移行し、メモリコントロールユニット２７は、データ有効ビット３５を参照し、その内容が「１」かどうかを判断して、データ有効ビット３５が「１」であると判断した場合は、ステップ（４５）に移行し、「０」の場合はステップ（４７）に移行する。
【００５７】
そして、ステップ（４５）において、メモリコントローラ２７は、シフトレジスタ２４からデータをリードし、データ有効ビット３５に「０」をライトしてステップ（４６）へ移行する。
【００５８】
次に、ステップ（４６）において、メモリコントローラ２７はシフトレジスタ２４からリードしたデータをメモリ３０に書き込みステップ（４４）に戻る。なお、メモリ３０に書き込む際のアドレスは、ステップ（４３）で受信したアドレスとする。
【００５９】
一方、ステップ（４４）で、データ有効ビット３５が「１」であると判断した場合は、ステップ（４７）で、メモリコントローラ２７はデータ有効ビット３４が「１」であるかどうかを判断して、「０」であると判断した場合は、ステップ（４４）へ戻る。
【００６０】
ステップ（４７）で、データ有効ビット３４が「１」であると判断した場合には、ステップ（４８）において、メモリコントローラ２７はシフトレジスタ３６をリードし、データ有効ビット３４に「０」をライトして、ステップ（４９）に移行する。
【００６１】
そして、ステップ（４９）において、メモリコントローラ２７は、シフトレジスタ３６からリードしたデータをメモリ３０にライトして、ステップ（４４）に戻る。
【００６２】
なお、メモリ３０に書き込む際のアドレスは、前回の書き込みアドレスに続くアドレスとする。
【００６３】
次に、マスタユニット９がターゲットユニット１０からデータを受信する動作を説明する。
【００６４】
本実施形態の受信動作は、マスタユニット９主導で行われるので、マスタユニット９からコマンド１、アドレス２が出力される動作は、図５、６を使用して説明した上記動作と同様である。
【００６５】
図７は、本発明に係る通信システムにおける第５のデータ処理手順の一例を示すフローチャートであり、リードコマンドを受信したコマンド解析ユニット２２がシフトレジスタ２４，３６内のデータを双方向シリアルデータ線１９に出力する動作手順に対応する。なお、（３１），（４２），（５１）〜（５８）は各ステップを示す。
【００６６】
また、シフトレジスタ２４，３６には、メモリコントローラ２７によってメモリ３０のデータがライトされているが、その動作の説明は後述する。
【００６７】
図７に示したステップ（３２）において、リードコマンドを受信したコマンド解析ユニット２２は、ステップ（４２）に移行し、受信したアドレス２とリードコマンドをメモリコントローラ２７に出力して、ステップ（５１）に移行する。
【００６８】
そして、ステップ（５１）において、コマンド解析ユニット２２はデータ有効ビット３５が「１」であるかどうかを判断して、「１」であると判断した場合には、ステップ（５２）に移行し、「０」であると判断した場合は、ステップ（５５）に移行する。
【００６９】
そして、ステップ（５２）において、コマンド解析ユニット５２はリードイネーブル２１に「１」を出力し、シフトレジスタ２４にシフトクロック２５を供給することでシフトレジスタ２４のデータを双方向シリアルデータ線に出力し、ステップ（５３）に移行する。
【００７０】
そして、ステップ（５３）において、コマンド解析ユニットはシフトレジスタ２４内のデータが無くなるまで、通信用クロック２０に同期して双方向シリアルデータ線１９にデータを出力し続け、シフトレジスタ２４のデータが無くなったら、ステップ（５４）へ移行する。
【００７１】
そして、ステップ（５４）において、コマンド解析ユニット２２はデータ有効ビット３５に「０」をライトして、ステップ（５１）へ戻る。
【００７２】
一方、ステップ（５１）で、データ有効ビット３５が「０」であると判断された場合には、ステップ（５５）において、コマンド解析ユニット２２は、データ有効ビット３４が「１」であるかどうかを判断して、データ有効ビット３４が「１」であると判断した場合は、ステップ（５６）へ移行し、「０」であると判断した場合は、ステップ（３１）に移行し、リードイネーブル２１に「０」を出力して、ステップ（５１）に戻る。
【００７３】
そして、ステップ（５６）において、コマンド解析ユニット２２はリードイネーブル２１に「１」を出力し、シフトレジスタ３６にシフトクロック２５を供給することで、シフトレジスタ３６のデータを双方向シリアルデータ線１９に出力して、ステップ（５７）に移行する。
【００７４】
そして、ステップ（５７）において、コマンド解析ユニット２２はシフトレジスタ３６内のデータが無くなるまで、通信用クロック２０に同期して双方向シリアルデータ線１９にデータを出力し続け、シフトレジスタ３６のデータが無くなったら、ステップ（５８）へ移行し、コマンド解析ユニット２２はデータ有効ビット３４に「０」をライトして、ステップ（５１）へ戻る。
【００７５】
なお、コマンド解析ユニット２２は、マスタユニット９の通信用クロック２０が供給されている限り上記動作を続けるものとする。
【００７６】
図８は、本発明に係る通信システムにおける第６のデータ処理手順の一例を示すフローチャートであり、コマンド解析ユニット２２からリードコマンドとアドレスを受信したメモリコントローラ２７がメモリ３０からデータを読み出して、シフトレジスタ２４，３６にデータをライトする動作手順に対応する。なお、（６０）〜（６７）は各ステップを示す。
【００７７】
まず、ステップ（６０）において、メモリコントローラ２７はコマンド解析ユニット２２からリードコマンドとアドレスを受信して、ステップ（６１）へ移行する。
【００７８】
そして、ステップ（６１）にて、メモリ３０からデータをリードしてステップ（６２）に移行する。なお、メモリ３０からデータをリードする際のアドレスは最初はステップ（６０）で受信したアドレスに対して行い、それ以降は前回アクセスしたアドレスに続くアドレスに対して行うものとする。
【００７９】
そして、ステップ（６２）において、メモリコントローラ２７はデータ有効ビット３５が「０」であるかどうかを判断して、「０」であると判断した場合には、ステップ（６３）へ進み、「１」であると判断した場合は、ステップ（６５）に移行する。
【００８０】
そして、ステップ（６３）において、メモリコントローラ２７はステップ（６１）で、メモリ３０からリードしたデータをシフトレジスタ２４に書き込みステップ（６４）に移行し、メモリコントローラ２７はデータ有効ビット３５に「１」をライトしてステップ（６１）に戻る。
【００８１】
一方、ステップ（６５）では、メモリコントローラ２７はデータ有効ビット３４が「０」であるかどうかを判断して、データ有効ビット３４が「０」であると判断した場合には、ステップ（６６）に移行し、「１」であると判断した場合には、ステップ（６２）に戻る。
【００８２】
一方、ステップ（６６）では、メモリコントローラ２７はステップ（６１）でメモリ３０からリードしたデータをシフトレジスタ３６に書き込み、ステップ（６７）に移行し、メモリコントローラ２７はデータ有効ビット３４に１ライトした後、ステップ（６１）に戻る。
【００８３】
図９は、本発明に係る通信システムにおける第７のデータ処理手順の一例を示すフローチャートであり、ターゲットユニット１０から出力されたデータをシフトレジスタ１１，３３で受信する動作手順に対応する。なお、（１７）〜（２５），（６８）は各ステップを示す。
【００８４】
まず、ステップ（６８）でコマンド１とアドレス２を双方向シリアルデータ線１９に対して出力し、ステップ（１７）に移行し、クロックコントローラ１５はリードイネーブル２１を参照し、「１」であるかどうかを判断して、「１」であると判断した場合には、ステップ（１８）に移行し、「０」であると判断した場合には、リードイネーブル２１が「１」になるまで参照しつづける。
【００８５】
そして、ステップ（１８）において、クロックコントローラ１５はデータ有効ビット３１が「０」であるかどうかを判断して、データ有効ビット３１が「０」であると判断した場合には、ステップ（１９）に移行し、「１」であると判断した場合には、ステップ（２２）に移行する。
【００８６】
そして、ステップ（１９）において、クロックコントローラ１５はシフトレジスタ１１にシフトクロック１４を供給することで双方向シリアルデータ線１９からシフトレジスタ１１にデータを受信し、ステップ（２０）へ移行する。
【００８７】
そして、ステップ（２０）において、クロックコントローラ１５はシフトレジスタ１１がFULL状態になるまでデータを受信し続け、FULL状態になったら、ステップ（２１）へ移行し、クロックコントローラ１５はデータ有効ビット３１に「１」をライトしてステップ（１８）に戻る。
【００８８】
一方、ステップ（１８）で、データ有効ビット３１が「１」であると判断した場合は、ステップ（２２）において、クロックコントローラ１５はデータ有効ビット３２が「０」であるかどうかを判断して、データ有効ビット３２が「０」であると判断した場合には、ステップ（２３）に移行し、「１」であると判断した場合には、ステップ（１８）に戻る。
【００８９】
そして、ステップ（２３）において、マスタユニット９のクロックコントローラ１５はシフトレジスタ３３でシフトクロック１４を供給することで、双方向シリアルデータ線１９からシフトレジスタ３３にデータを受信し、ステップ（２４）へ移行する。
【００９０】
そして、ステップ（２４）において、クロックコントローラ１５はシフトレジスタ３３がFULL状態になるまでデータを受信し続け、FULL状態になったら、ステップ（２５）へ移行し、クロックコントローラ１５はデータ有効ビット３２に「１」をライトして、ステップ（１８）に戻る。
【００９１】
図１０は、本発明に係る通信システムにおける第８のデータ処理手順の一例を示すフローチャートであり、ＣＰＵ１３がシフトレジスタ１１，３３からデータをリードして、メモリ１８にライトする動作手順に対応する。なお、（２６）〜（３０），（６８），（８１）は各ステップを示す。
【００９２】
まず、ステップ（６８）で、図２に示したコマンド１とアドレス２を双方向シリアルデータ線１９に対して出力し、ステップ（２６）へ移行する。
【００９３】
そして、ステップ（２６）において、ＣＰＵ１３はデータ有効ビット３１が「１」であるかどうかを判断して、データ有効ビット３１が「１」であると判断した場合には、ステップ（２７）へ移行し、「０」であればステップ（２９）に移行する。
【００９４】
そして、ステップ（２７）において、ＣＰＵ１３はシフトレジスタ１１からデータをリードしてメモリ１８の適当なアドレスにライトし、データ有効ビット３１に「０」をライトして、ステップ（２８）に移行する。
【００９５】
一方、ステップ（２６）で、データ有効ビット３１が「０」であると判断した場合には、ステップ（２９）において、ＣＰＵ１３はデータ有効ビット３２が「１」であるかどうかを判断して、データ有効ビット３２が「１」であると判断した場合は、場合ステップ（３０）に移行し、「０」であると判断した場合には、ステップ（２６）に戻る。
【００９６】
そして、ステップ（３０）において、ＣＰＵ１３はシフトレジスタ３３をリードしてメモリ１８の適当なアドレスにライトし、データ有効ビット３２に「０」をライトしてステップ（２８）に移行し、ＣＰＵ１３は、ターゲットユニット１０から読み出したいデータをすべて読み出したかどうか、すなわち、受信終了かどうかを判断して、読み出していると判断した場合には、ステップ（８１）に移行して、マスタユニット９のクロックコントローラ１５に対してクロック制御信号３８を出力することによって、シフトクロック１４と通信用クロック２０を停止して、処理を終了する。
【００９７】
一方、ステップ（２８）で、読み出しが終了していないと判断した場合には、ステップ（２６）に戻る。
【００９８】
なお、上記実施形態において、シフトレジスタ１１，３３，２４，３６のFull状態、空状態の認識は、シフトレジスタが固定長であるために、送受信データ数をカウントすることによって行っているが、Full状態を示すフラグや信号などを設けて上記機能を実現してもかまわないものとする。
【００９９】
このように、アクセス元がアクセス先に対して、ＲＥＡＤ／ＷＲＩＴＥを示す１ビットの情報とアドレス情報のみをコマンドとして与え、データの入出力は、アクセス元がアクセス先にクロックを供給している限り行われ続けるものとする。
【０１００】
そして、トランザクションの途中に、何らかの要因で通信を中断する必要が生じた時は、アクセス元からアクセス先に供給されるクロックを停止することでアクセスを中断し、再度クロックを供給することでアクセスを再開することが可能となる。
【０１０１】
以上のように、本実施形態によれば、ターゲットユニット１０に対してデータを送受信する際に、マスタユニット９が送受信したいデータ数に応じてクロック出力することで、送受信のデータ量をコントロールすることが可能となり、１回のトランザクションで送受信するデータ量が変化したり、大量のデータの送受信を行うときに、少ない信号線で効率よくデータの送受信が出来るという効果がある。
【０１０２】
また、何らかの要因でデータの送受信を中断したいときでも、クロックを停止させるだけで、中断／再開が出来るという効果もある。
【０１０３】
〔第２実施形態〕
第２実施形態は、第１実施形態におけるリードイネーブル２１の機能を、後述するリードイネーブルコマンドで実現することを特徴とする。以下、本実施形態について詳述する。
【０１０４】
図１１は、本発明の第２実施形態を示す通信システムの一例を示すブロック図であり、図１と同一のものには同一の符号を付してある。
【０１０５】
図１１において、４０はコマンド解析ユニットであり、第１実施形態のコマンド解析ユニット２２の機能に加えて、マスタユニット９が要求したデータが準備出来たときに、図１２に示すリードイネーブルコマンド３９を双方向シリアルデータ線１９に対して出力する機能をもつ。
【０１０６】
４１はクロックコントローラであり、第１実施形態のクロックコントローラ１５の機能に加えてターゲットユニット１０が送信するリードイネーブルコマンド３９を解析する機能を有する。
【０１０７】
マスタユニット９からターゲットユニット１０へのデータの送信動作は、上記第１実施形態の場合と同様であり、マスタユニット９がターゲットユニット１０からデータ受信する際の、ＣＰＵ１３の動き及びメモリコントローラの動きは第１実施形態の場合と同様である。
【０１０８】
図１３は、本発明に係る通信システムにおける第９のデータ処理手順の一例を示すフローチャートであり、図１１に示したシフトレジスタ２４，３６内のデータを双方向シリアルデータ線１９に出力する際のコマンド解析ユニット４０の動作手順に対応する。なお、（６８）〜（７８）は各ステップを示し、ステップ（４２）は、図７のステップと同様であり、ステップ（４２）までのステップは、第１実施形態における動作と同様である。
【０１０９】
ステップ（４２）で、メモリコントローラ２７に対してアドレスとコマンドの送信が終了すると、図１３に示すステップ（６８）へ移行する。
【０１１０】
そして、ステップ（６８）において、コマンド解析ユニット４０はデータ有効ビット３５が「１」であるかどうかを判断して、データ有効ビット３５が「１」であると判断した場合は、ステップ（７１）へ移行し、データ有効ビット３５が「０」であると判断した場合は、ステップ（６９）へ移行し、データ有効ビット３４が「１」であるかどうかを判断して、データ有効ビット３４が「１」であると判断した場合には、ステップ（７２）に移行し、データ有効ビット３４が「０」であればステップ（７０）に移行し、８ビットのnullコマンドを双方向シリアルデータ線１９に対して送信してステップ（６８）に戻る。
【０１１１】
一方、ステップ（６８）で、データ有効ビット３５が「１」であると判断した場合は、ステップ（７１）において、コマンド解析ユニット４０は８ビットから成るリードイネーブルコマンド３９を双方向シリアルデータ線１９に対して送信し、ステップ（７２）に移行する。
【０１１２】
そして、ステップ（７２）において、コマンド解析ユニット４０はデータ有効ビット３５が「１」であるかどうかを判断して、データ有効ビット３５が「１」であると判断した場合は、ステップ（７３）に移行し、データ有効ビット３５が「０」であると判断した場合は、ステップ（７４）に移行する。
【０１１３】
そして、ステップ（７３）において、コマンド解析ユニット４０はシフトレジスタ２４内のデータの双方向シリアルデータ線１９への送信を開始して、ステップ（７５）に移行し、シフトレジスタ２４内のデータが全て送信されるまで送信処理を続け、送信が終了したら、ステップ（７７）に移行して、コマンド解析ユニット４０はデータ有効ビット３５に「０」をライトして、ステップ（７２）に戻る。
【０１１４】
一方、ステップ（７２）で、データ有効ビット３５が「０」であると判断した場合には、ステップ（７４）において、コマンド解析ユニット４０はシフトレジスタ３６内のデータの双方向シリアルデータ線１９に対する送信を開始してステップ（７６）へ移行し、シフトレジスタ３６内のデータ送信が全て終了するまで送信処理を続け、送信を終了したらステップ（７８）へ移行して、コマンド解析ユニット４０はデータ有効ビット３４に０をライトして、ステップ（７２）に戻る。
【０１１５】
図１４は、本発明に係る通信システムにおける第１０のデータ処理手順の一例を示すフローチャートであり、図１１に示したクロックコントローラ４１がリードイネーブルコマンド３９を解析する動作手順に対応する。なお、（６８），（７９），（８０）は各ステップを示す。また、図９に示したステップ（６８）までは第１実施形態と同様の処理を実行する。
【０１１６】
そして、ステップ（６８）で、ターゲットユニット１０に対して、図２に示したアドレス２とコマンド１を送信したら、ステップ（７９）に移行する。
【０１１７】
そして、ステップ（７９）で、図１１に示したクロックコントローラ４１は、双方向シリアルデータ線から８ビットのデータを読み込むまで読み込み動作を続け、８ビット読み込みを終了したら、ステップ（８０）に移行し、クロックコントローラ４１は読み込んだ８ビットデータが、図１２に示したリードイネーブルコマンド３９であるかどうかを判断して、リードイネーブルコマンド３９であると判断した場合は、図９に示したステップ（１８）へ移行し、その後、第１実施形態と同様の動作を行う。
【０１１８】
一方、ステップ（８０）で、読み込んだ８ビットデータがリードイネーブルコマンド３９ではなかったと判断した場合は、ステップ（７９）に戻る。
【０１１９】
なお、上記第２実施形態において、シフトレジスタ１１，３３，２４，３６のFull状態、空状態の認識は、シフトレジスタが固定長であるために、送受信データ数をカウントすることによって行っているが、Full状態を示すフラグや信号などを設けて上記機能を実現してもかまわないものとする。
【０１２０】
以上のように、第２実施形態によれば、第１実施形態におけるリードイネーブル２１の役割をコマンド解析ユニット４０が出力するリードイネーブルコマンド３９で実現することにより、第１実施形態よりも少ない信号線で第１実施形態と同様の機能を実現することが可能である。
【０１２１】
以下、図１５に示すメモリマップを参照して本発明に係る通信システムで読み取り出し可能なデータ処理プログラムの構成について説明する。
【０１２２】
図１５は、本発明に係る通信システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１２３】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１２４】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１２５】
本実施形態における図３〜図１０，図１３，図１４，図３に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１２６】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２７】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いることができる。
【０１２９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１３２】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様１〜１６について説明する。
【０１３３】
〔実施態様１〕
所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、コマンド、アドレス、データを生成する生成手段（図４に示すＣＰＵ１３）と、前記生成手段により生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力するクロック手段（図４に示すクロックコントローラ１５）と、前記生成手段により生成されるコマンド、アドレスを相手先に送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段（図４に示すクロックコントローラ１５）とを有することを特徴とするシリアル通信システム。
【０１３４】
〔実施態様２〕
マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、
コマンド、アドレス、データを生成する生成手段（図４に示すＣＰＵ１３）と、
前記生成手段により生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力するクロック手段（図４に示すクロックコントローラ１５）と、
前記生成手段により生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段（図４に示すクロックコントローラ１５）と、
を有することを特徴とするシリアル通信システム。
【０１３５】
〔実施態様３〕
前記転送制御手段は、前記クロック手段から前記クロックの停止または再出力を検知して、前記データ転送処理の中断または再開を制御することを特徴とする実施態様１または２記載のシリアル通信システム。
【０１３６】
〔実施態様４〕
前記転送制御手段は、前記クロック手段により出力される前記クロックの出力されている間、生成される任意長のデータを前記クロックに同期してマスタユニット部とターゲットユニット部との間で継続してデータ転送処理を行うことを特徴とする実施態様１または２記載のシリアル通信システム。
【０１３７】
〔実施態様５〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということ通知することを特徴とする実施態様２記載のシリアル通信システム。
【０１３８】
〔実施態様６〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定の信号線を介して通知することを特徴とする実施態様２記載のシリアル通信システム。
【０１３９】
〔実施態様７〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定のコマンドで通知することを特徴とする実施態様２記載のシリアル通信システム。
【０１４０】
〔実施態様８〕
所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおけるデータ通信方法であって、コマンド、アドレス、データを生成する生成ステップ（図３のステップ（１））と、前記生成ステップにより生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力する出力ステップ（図４に示すステップ（９），（１３）等）と、前記生成ステップにより生成されるコマンド、アドレスを相手先に送信した後、前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御ステップ（図４に示すステップ（８）〜（１６））とを有することを特徴とするデータ通信方法。
【０１４１】
〔実施態様９〕
マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおけるデータ通信方法であって、コマンド、アドレス、データを生成する生成ステップ（図３のステップ（１））と、前記生成ステップにより生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力する出力ステップ（図４のステップ（９），（１３）等）と、前記生成ステップにより生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御ステップ（図４に示すステップ（８）〜（１６））と、を有することを特徴とするデータ通信方法。
【０１４２】
〔実施態様１０〕
前記転送制御ステップは、前記クロックの停止または再出力を検知して、前記データ転送処理の中断または再開を制御することを特徴とする実施態様８または９記載のデータ通信方法。
【０１４３】
〔実施態様１１〕
前記転送制御ステップは、出力される前記クロックの出力されている間、生成される任意長のデータを前記クロックに同期してマスタユニット部とターゲットユニット部との間で継続してデータ転送処理を行うことを特徴とする実施態様８または９記載のデータ通信方法。
【０１４４】
〔実施態様１２〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということ通知することを特徴とする実施態様９記載のデータ通信方法。
【０１４５】
〔実施態様１３〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定の信号線を介して通知することを特徴とする実施態様９記載のデータ通信方法。
【０１４６】
〔実施態様１４〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定のコマンドで通知することを特徴とする実施態様９記載のデータ通信方法。
【０１４７】
〔実施態様１５〕
実施態様８〜１４のいずれかに記載のデータ通信方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【０１４８】
〔実施態様１６〕
実施態様８〜１４のいずれかに記載のデータ通信方法を実現することを特徴とするプログラム。
【０１４９】
上記実施形態および実施態様によれば、シリアル送受信を行う際に、リード／ライトコマンド、アドレス、データのみ送受信で、データ量は送信側が出力するクロック数で決定することにより、少ない信号線、シンプルなシステム構成で効率の良いデータの送受信を可能とする効果がある。
【産業上の利用可能性】
【０１５０】
なお、上記第２実施形態において、シフトレジスタ１１，３３，２４，３６のFull状態、空状態の認識は、シフトレジスタが固定長であるために、送受信データ数をカウントすることによって行っているが、Full状態を示すフラグや信号などを設けて上記機能を実現してもよい。
【図面の簡単な説明】
【０１５１】
【図１】本発明の第１実施形態を示すインタフェース装置を適用可能な通信システム例を示すブロック図である。
【図２】図１に示した通信システムにおける通信データのフォーマットを示す図である。
【図３】本発明に係る通信システムにおける第１のデータ処理手順の一例を示すフローチャートである。
【図４】本発明に係る通信システムにおける第２のデータ処理手順の一例を示すフローチャートである。
【図５】本発明に係る通信システムにおける第３のデータ処理手順の一例を示すフローチャートである。
【図６】本発明に係る通信システムにおける第４のデータ処理手順の一例を示すフローチャートである。
【図７】本発明に係る通信システムにおける第５のデータ処理手順の一例を示すフローチャートである。
【図８】本発明に係る通信システムにおける第６のデータ処理手順の一例を示すフローチャートである。
【図９】本発明に係る通信システムにおける第７のデータ処理手順の一例を示すフローチャートである。
【図１０】本発明に係る通信システムにおける第８のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明の第２実施形態を示す通信システムの一例を示すブロック図である。
【図１２】本発明の第２実施形態を示す通信システムにおける通信データの構成を説明する図である。
【図１３】本発明に係る通信システムにおける第９のデータ処理手順の一例を示すフローチャートである。
【図１４】本発明に係る通信システムにおける第１０のデータ処理手順の一例を示すフローチャートである。
【図１５】本発明に係る通信システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図１６】この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。
【図１７】この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。
【図１８】この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。
【符号の説明】
【０１５２】
９  マスタユニット
１０  ターゲットユニット
１１  シフトレジスタ
１２  双方向パラレルデータ線
１３  ＣＰＵ
１４  シフトクロック
１５  クロックコントローラ
１６  データ有効ビット制御信号
１７  双方向パラレルデータ線
１８  メモリ
１９  双方向シリアルデータ線
２０  通信用クロック
２１  リードイネーブル
２２  コマンド解析ユニット
２３  双方向シリアルデータ線
２４  シフトレジスタ
２５  シフトＣＬＫ
２６  双方向パラレルデータ線
２７  メモリコントローラ
２８  コマンド／アドレス
２９  双方向パラレルデータ線
３０  メモリ
【図１】
2005110019.tif 000003
【図２】
2005110019.tif 000004
【図３】
2005110019.tif 000005
【図４】
2005110019.tif 000006
【図５】
2005110019.tif 000007
【図６】
2005110019.tif 000008
【図７】
2005110019.tif 000009
【図８】
2005110019.tif 000010
【図９】
2005110019.tif 000011
【図１０】
2005110019.tif 000012
【図１１】
2005110019.tif 000013
【図１２】
2005110019.tif 000014
【図１３】
2005110019.tif 000015
【図１４】
2005110019.tif 000016
【図１５】
2005110019.tif 000017
【図１６】
2005110019.tif 000018
【図１７】
2005110019.tif 000019
【図１８】
2005110019.tif 000020