JP2005110019A - シリアル通信システム - Google Patents

シリアル通信システム Download PDF

Info

Publication number
JP2005110019A
JP2005110019A JP2003342301A JP2003342301A JP2005110019A JP 2005110019 A JP2005110019 A JP 2005110019A JP 2003342301 A JP2003342301 A JP 2003342301A JP 2003342301 A JP2003342301 A JP 2003342301A JP 2005110019 A JP2005110019 A JP 2005110019A
Authority
JP
Japan
Prior art keywords
data
clock
command
unit
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003342301A
Other languages
English (en)
Inventor
Yuichiro Suzuki
裕一郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003342301A priority Critical patent/JP2005110019A/ja
Publication of JP2005110019A publication Critical patent/JP2005110019A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】 1回のトランザクションで扱うデータ量が大きく変化するシリアル通信において、効率的かつ低コストなデータ通信を行えることである。
【解決手段】 マスタユニット9とターゲットユニット10との間で、CPU13により生成されるコマンド、アドレス、ターゲットユニット10に送信あるいは、ターゲットユニット10からコマンド、アドレス、データを受信するためのクロックをクロックコントローラ15より出力し、コマンド、ターゲットユニット10に送信した後、クロックの出力状態に基づいて、データの転送終了をクロックコントローラ15が制御する構成を特徴とする。
【選択図】図1

Description

本発明は、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムに関するものである。
従来、この種のシリアルインタフェースにおけるシリアル通信は、1回のトランザクションで通信するデータ量は、固定の場合と可変の場合とがある。固定の場合の例を図16〜図18に示す。
図16〜図18は、この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。
図16に示すように、シリアル通信データは、コマンド1、アドレス2、データ3ともに、あらかじめ決められたビット長に固定し、データ順もあらかじめ決定しておき、そのルールのもとにデータ通信を行う。
この方法はデータ通信のルールがシンプルであり、比較的容易にシリアル通信システムを形成できるという利点がある。
また、図17は、1回のトランザクションで通信するデータ量が可変の場合の例を示す。
図17に示すように、コマンド1、アドレス2に加えて、データサイズ4というコマンドを埋め込む。そして、データサイズ4で示されたデータサイズに従って、可変データ5のデータ量が変化する。
この方法は上記「1回のトランザクションで通信するデータ量が固定」の場合と比べて、効率的に大量のデータを通信できるというメリットがある。従来、この種の公知文献として、既に下記特許文献1が公開されている。
特開平2003−273942号公報
しかしながら、上記「1回のトランザクションで通信するデータ量が固定」の場合の従来例では、例えば画像データなど、1回のトランザクションで扱うデータ量が大きく変化する場合に、コマンド、アドレスをその都度付加する必要がある為、非常に効率が悪く、スループットが向上しないという問題がある。
また、上記「1回のトランザクションで通信するデータ量が可変」の場合の従来例では、扱うデータ量が可変になった分、効率は上がるのだが、その分システムの構築が複雑になりコスト的なデメリットが発生する。
また、上記2つの従来例は、何らかの要因でトランザクションを中断した場合、そのトランザクションの再開時は、前回のトランザクションを最初からやり直す必要があった。
さらに、最初からやり直さなない方法として、図18に示すように中断したポイントからの再開をするシステムも存在するが、コマンド1、データサイズ4、再開アドレス7等のコマンドを最初から入れ直す必要があることから、スループット向上の妨げになり、また、中断ポイントを記憶しておかなければならないことから、システムはより複雑になり、コストアップにつながるという問題がある。
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおいて、生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力し、コマンド、アドレスを相手先に送信した後、クロックの出力状態に基づいて、データの転送終了を制御することにより、1回のトランザクションで扱うデータ量が大きく変化するシリアル通信において、効率的かつ低コストなデータ通信を行えるシリアル通信システムを提供することである。
上記目的を達成する本発明のデータ通信システムは以下に示す構成を備える。
本発明は、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、コマンド、アドレス、データを生成する生成手段(図1に示すCPU13)と、前記生成手段により生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力するクロック手段(図1に示すクロックコントローラ15)と、前記生成手段により生成されるコマンド、アドレスを相手先に送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段(図1に示すクロックコントローラ15)と有することを特徴とする。
また、マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、コマンド、アドレス、データを生成する生成手段(図1に示すCPU13)と、前記生成手段により生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力するクロック手段(図1に示すクロックコントローラ15)と、前記生成手段により生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段(図1に示すクロックコントローラ15)とを有することを特徴とする。
以上説明したように、本発明によれば、所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおいて、生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力し、コマンド、アドレスを相手先に送信した後、クロックの出力状態に基づいて、データの転送終了を制御することにより、1回のトランザクションで扱うデータ量が大きく変化するシリアル通信において、効率的かつ低コストなデータ通信を行えるという効果を奏する。
〔第1実施形態〕
図1は、本発明の第1実施形態を示すインタフェース装置を適用可能な通信システム例を示すブロック図であり、マスタユニット9とシリアル通信データ10とが双方向シリアルデータ線19を介してシリアル通信する通信システム例に対応する。なお、双方向シリアルデータ線19を介したターゲットユニット10との送受信のコントロールは全てマスタユニット9が行う。
図1において、13はCPUであり、双方向パラレルデータ線17を通じてメモリ18のリードライト、双方向データ線12を通じてシフトレジスタ11,33及びデータ有効ビット31、32のリードライトを行う。
15はクロックコントローラで、データ有効ビット制御信号16及びリードイネーブル21の内容によって、通信用クロック20及びシフトクロック14の制御を行う。
また、クロックコントローラ15は、シフトクロック14の入力先をシフトレジスタ11もしくはシフトレジスタ33に切り替えることが可能である。
そして、シフトレジスタ11,33はシフトクロック14に同期して、双方向シリアルデータ線19にデータを入出力する。
データ有効ビット31,32は、それぞれのシフトレジスタ11,33内のデータの有効性を示すビットであり、「1」が立っているときは、データが有効であることを示す。
22はコマンド解析ユニットで、双方向シリアルデータ線19より受信したデータからリード/ライトコマンド、アドレスを抜き出し、メモリコントローラ27にコマンド/アドレス28を送信する。そして、データ有効ビット制御信号37を介して得られるデータ有効ビット34およびデータ有効ビット35の状態によって、シフトレジスタ36およびシフトレジスタ24からデータを入出力し、リード/ライトのモードによって双方向シリアルデータ線19へデータを入出力する。その際に、リードイネーブル信号21の操作も合わせて行う。
メモリコントローラ27はコマンド/アドレス28の状態によって双方向パラレルデータ線29を介したメモリ30のリードライトや双方向パラレルデータ線26を介したシフトレジスタ24,36及びデータ有効ビット35、34のリードライトを行う。
また、シフトレジスタ24とデータ有効ビット35及びシフトレジスタ36とデータ有効ビット34の関係は、上記シフトレジスタ11、33とデータ有効ビット31,32との関係と同様である。
図2は、図1に示した通信システムにおける通信データのフォーマットを示す図である。
図2に示すように、本実施形態では、リードアクセスかライトアクセスかを示すコマンド1、アクセス場所を示す固定長のアドレスであるアドレス2,可変長データ5の順番でデータ送信されるものとする。
図3は、本発明に係る通信システムにおける第1のデータ処理手順の一例を示すフローチャートであり、マスタユニット9からターゲットユニット10へのデータ送信手順におけるメモリ18内のデータをデータ有効ビット31,32の情報を元にシフトレジスタ11,33へ書き込む動作に対応する。なお、(1)〜(6)は各ステップを示す。
まず、ステップ(1)において、CPU13はメモリ18からデータをリードし、ステップ(2)へ進み、CPU13はデータ有効ビット32が「0」であるかを確認し、「0」であると判断した場合は、ステップ(3)へ進み、「1」であると判断した場合は、ステップ(5)へ移行する。
そして、ステップ(3)において、CPU13はシフトレジスタ33へメモリ18から読み出したデータを書き込み、データ有効ビット32に「1」を書き込む。
次に、ステップ(4)において、CPU13は、ターゲットユニット10への送信すべきデータが全てシフトレジスタ11、33に書き込まれているかどうか、すなわち、データ終了か否かを判断して、終了していると判断した場合には、本処理を終了し、送信すべきデータが残っていると判断した場合は、ステップ(1)へ戻る。
一方、ステップ(5)において、CPU13はデータ有効ビット31が「0」であれば、ステップ(6)に移行し、「1」であれば再びステップ(2)へ移行する。
そして、ステップ(6)において、CPU13は、シフトレジスタ11へメモリ18から読み出したデータを書き込み、データ有効ビット31に1をライトしてから、ステップ4へ移行する。
図4は、本発明に係る通信システムにおける第2のデータ処理手順の一例を示すフローチャートであり、シフトレジスタ11、33から双方向シリアルデータ線19を介して、ターゲットユニット10へデータ送信を行う動作手順に対応する。なお、(8)〜(16)は各ステップを示す。
まず、ステップ(8)において、クロックコントローラ15は、データ有効ビット32が「1」であると判断した場合は、ステップ(9)へ移行し、「0」であると判断した場合は、ステップ(12)へ移行する。
そして、ステップ(9)において、クロックコントローラ15はシフトレジスタ33へシフトクロック14を供給すると同時に通信用クロック20も出力して、ステップ(10)へ移行する。
そして、ステップ(10)において、シフトレジスタ33はシフトクロック14に同期してデータを送信し、クロックコントローラ15は、シフトレジスタ33内のデータを全て送信するまで、ステップ(10)の処理を続け、処理が終了したら、ステップ(11)へ移行する。
そして、ステップ(11)において、クロックコントローラ15はデータ有効ビット32に「0」をライトして、ステップ(8)に戻る。
一方、ステップ(8)からステップ(12)へ進んだ場合には、クロックコントローラ15は、データ有効ビット31が「1」であるかどうかを判断して、「1」であると判断した場合には、ステップ(13)に移行し、「0」であると判断した場合には、ステップ(16)に移行し、シフトクロック14及び通信用クロック20を停止して、ステップ(8)へ戻る。つまり、データ転送中は、シフトクロック14及び通信用クロック20が継続して出力されている状態となっている。
一方、ステップ(12)で、ステップ(13)へ進んだ場合は、クロックコントローラ15はシフトレジスタ11へシフトクロック14を供給し通信用クロック20を出力してステップ(14)に移行する。そして、ステップ(14)において、シフトレジスタ11はシフトクロック14に同期してデータを送信し、クロックコントローラ15は、シフトレジスタ11内データを全て送信するまでステップ(14)の処理を続け、処理が終了したらステップ(15)に移行する。
そして、ステップ(15)において、クロックコントローラ15はデータ有効ビット31に「0」をライトして、ステップ(8)に戻る。
図5は、本発明に係る通信システムにおける第3のデータ処理手順の一例を示すフローチャートであり、図3,図4の処理動作によって、マスタユニット9から送信されたデータをターゲットユニット10が受信し、シフトレジスタ24、36へ書き込む動作手順に対応する。なお、(32)〜(41)は各ステップを示す。
まず、ステップ(32)において、コマンド解析ユニット22は、受信したコマンド1がライトコマンドであるかどうかを判断して、ライトコマンドであると判断した場合は、ステップ(33)へ移行し、リードコマンドであれば、詳細は後述する図7に示すステップ(42)に移行する。
そして、ステップ(33)において、コマンド解析ユニット22はメモリコントローラ27にライトコマンドと受信したアドレス2をコマンド/アドレス28として送信しステップ(34)へ移行する。
そして、ステップ(34)において、コマンド解析ユニット22は、データ有効ビット35が「0」であるかどうかを判断して、「0」であると判断した場合には、ステップ(35)に移行し、「1」であると判断した場合は、ステップ(38)に移行する。
そして、ステップ(35)において、コマンド解析ユニット22はシフトレジスタ24にシフトクロック25を供給しつつ、双方向シリアルデータ線19から受信した可変長データ5を双方向シリアルデータ線23に出力して、ステップ(36)へ移行する。
そして、ステップ(36)において、コマンド解析ユニット22はシフトレジスタ24がFULL状態になるまで、ステップ(36)の処理を続け、FULL状態になったらステップ(37)へ移行する。
そして、ステップ(37)において、コマンド解析ユニット22はデータ有効ビット35に「1」をライトして、ステップ(34)へ戻る。
一方、ステップ(34)で、コマンド解析ユニット22はデータ有効ビット35が「1」であると判断された場合には、ステップ(38)において、コマンド解析ユニット22はデータ有効ビット34が「0」であるか否かを判断して、「0」であると判断した場合には、ステップ(39)に移行し、「1」であると判断した場合には、ステップ(34)に戻る。
そして、ステップ(39)において、コマンド解析ユニット22はシフトレジスタ36にシフトクロック25を供給しつつ双方向シリアルデータ線19から受信した可変長データ5を双方向シリアルデータ線23に出力して、ステップ(40)へ移行する。
そして、ステップ(40)において、コマンド解析ユニット22はシフトレジスタ36がFULL状態になるまでステップ(40)の処理を続け、FULL状態になったらステップ(41)へ移行する。
そして、ステップ(41)において、コマンド解析ユニット22はデータ有効ビット34に「1」をライトしてステップ(34)へ戻る。
なお、上記動作は、クロックコントローラ15から出力される通信用クロック20が供給され続ける限り続くものとする。
図6は、本発明に係る通信システムにおける第4のデータ処理手順の一例を示すフローチャートであり、メモリコントローラ27がシフトレジスタ24,36からリードしたデータをメモリ30に書き込む動作手順に対応する。なお、(43)〜(49)は各ステップを示す。
まず、ステップ(43)において、コマンド解析ユニット22からライトコマンドとライトアドレスを受信したら、ステップ(44)へ移行し、メモリコントロールユニット27は、データ有効ビット35を参照し、その内容が「1」かどうかを判断して、データ有効ビット35が「1」であると判断した場合は、ステップ(45)に移行し、「0」の場合はステップ(47)に移行する。
そして、ステップ(45)において、メモリコントローラ27は、シフトレジスタ24からデータをリードし、データ有効ビット35に「0」をライトしてステップ(46)へ移行する。
次に、ステップ(46)において、メモリコントローラ27はシフトレジスタ24からリードしたデータをメモリ30に書き込みステップ(44)に戻る。なお、メモリ30に書き込む際のアドレスは、ステップ(43)で受信したアドレスとする。
一方、ステップ(44)で、データ有効ビット35が「1」であると判断した場合は、ステップ(47)で、メモリコントローラ27はデータ有効ビット34が「1」であるかどうかを判断して、「0」であると判断した場合は、ステップ(44)へ戻る。
ステップ(47)で、データ有効ビット34が「1」であると判断した場合には、ステップ(48)において、メモリコントローラ27はシフトレジスタ36をリードし、データ有効ビット34に「0」をライトして、ステップ(49)に移行する。
そして、ステップ(49)において、メモリコントローラ27は、シフトレジスタ36からリードしたデータをメモリ30にライトして、ステップ(44)に戻る。
なお、メモリ30に書き込む際のアドレスは、前回の書き込みアドレスに続くアドレスとする。
次に、マスタユニット9がターゲットユニット10からデータを受信する動作を説明する。
本実施形態の受信動作は、マスタユニット9主導で行われるので、マスタユニット9からコマンド1、アドレス2が出力される動作は、図5、6を使用して説明した上記動作と同様である。
図7は、本発明に係る通信システムにおける第5のデータ処理手順の一例を示すフローチャートであり、リードコマンドを受信したコマンド解析ユニット22がシフトレジスタ24,36内のデータを双方向シリアルデータ線19に出力する動作手順に対応する。なお、(31),(42),(51)〜(58)は各ステップを示す。
また、シフトレジスタ24,36には、メモリコントローラ27によってメモリ30のデータがライトされているが、その動作の説明は後述する。
図7に示したステップ(32)において、リードコマンドを受信したコマンド解析ユニット22は、ステップ(42)に移行し、受信したアドレス2とリードコマンドをメモリコントローラ27に出力して、ステップ(51)に移行する。
そして、ステップ(51)において、コマンド解析ユニット22はデータ有効ビット35が「1」であるかどうかを判断して、「1」であると判断した場合には、ステップ(52)に移行し、「0」であると判断した場合は、ステップ(55)に移行する。
そして、ステップ(52)において、コマンド解析ユニット52はリードイネーブル21に「1」を出力し、シフトレジスタ24にシフトクロック25を供給することでシフトレジスタ24のデータを双方向シリアルデータ線に出力し、ステップ(53)に移行する。
そして、ステップ(53)において、コマンド解析ユニットはシフトレジスタ24内のデータが無くなるまで、通信用クロック20に同期して双方向シリアルデータ線19にデータを出力し続け、シフトレジスタ24のデータが無くなったら、ステップ(54)へ移行する。
そして、ステップ(54)において、コマンド解析ユニット22はデータ有効ビット35に「0」をライトして、ステップ(51)へ戻る。
一方、ステップ(51)で、データ有効ビット35が「0」であると判断された場合には、ステップ(55)において、コマンド解析ユニット22は、データ有効ビット34が「1」であるかどうかを判断して、データ有効ビット34が「1」であると判断した場合は、ステップ(56)へ移行し、「0」であると判断した場合は、ステップ(31)に移行し、リードイネーブル21に「0」を出力して、ステップ(51)に戻る。
そして、ステップ(56)において、コマンド解析ユニット22はリードイネーブル21に「1」を出力し、シフトレジスタ36にシフトクロック25を供給することで、シフトレジスタ36のデータを双方向シリアルデータ線19に出力して、ステップ(57)に移行する。
そして、ステップ(57)において、コマンド解析ユニット22はシフトレジスタ36内のデータが無くなるまで、通信用クロック20に同期して双方向シリアルデータ線19にデータを出力し続け、シフトレジスタ36のデータが無くなったら、ステップ(58)へ移行し、コマンド解析ユニット22はデータ有効ビット34に「0」をライトして、ステップ(51)へ戻る。
なお、コマンド解析ユニット22は、マスタユニット9の通信用クロック20が供給されている限り上記動作を続けるものとする。
図8は、本発明に係る通信システムにおける第6のデータ処理手順の一例を示すフローチャートであり、コマンド解析ユニット22からリードコマンドとアドレスを受信したメモリコントローラ27がメモリ30からデータを読み出して、シフトレジスタ24,36にデータをライトする動作手順に対応する。なお、(60)〜(67)は各ステップを示す。
まず、ステップ(60)において、メモリコントローラ27はコマンド解析ユニット22からリードコマンドとアドレスを受信して、ステップ(61)へ移行する。
そして、ステップ(61)にて、メモリ30からデータをリードしてステップ(62)に移行する。なお、メモリ30からデータをリードする際のアドレスは最初はステップ(60)で受信したアドレスに対して行い、それ以降は前回アクセスしたアドレスに続くアドレスに対して行うものとする。
そして、ステップ(62)において、メモリコントローラ27はデータ有効ビット35が「0」であるかどうかを判断して、「0」であると判断した場合には、ステップ(63)へ進み、「1」であると判断した場合は、ステップ(65)に移行する。
そして、ステップ(63)において、メモリコントローラ27はステップ(61)で、メモリ30からリードしたデータをシフトレジスタ24に書き込みステップ(64)に移行し、メモリコントローラ27はデータ有効ビット35に「1」をライトしてステップ(61)に戻る。
一方、ステップ(65)では、メモリコントローラ27はデータ有効ビット34が「0」であるかどうかを判断して、データ有効ビット34が「0」であると判断した場合には、ステップ(66)に移行し、「1」であると判断した場合には、ステップ(62)に戻る。
一方、ステップ(66)では、メモリコントローラ27はステップ(61)でメモリ30からリードしたデータをシフトレジスタ36に書き込み、ステップ(67)に移行し、メモリコントローラ27はデータ有効ビット34に1ライトした後、ステップ(61)に戻る。
図9は、本発明に係る通信システムにおける第7のデータ処理手順の一例を示すフローチャートであり、ターゲットユニット10から出力されたデータをシフトレジスタ11,33で受信する動作手順に対応する。なお、(17)〜(25),(68)は各ステップを示す。
まず、ステップ(68)でコマンド1とアドレス2を双方向シリアルデータ線19に対して出力し、ステップ(17)に移行し、クロックコントローラ15はリードイネーブル21を参照し、「1」であるかどうかを判断して、「1」であると判断した場合には、ステップ(18)に移行し、「0」であると判断した場合には、リードイネーブル21が「1」になるまで参照しつづける。
そして、ステップ(18)において、クロックコントローラ15はデータ有効ビット31が「0」であるかどうかを判断して、データ有効ビット31が「0」であると判断した場合には、ステップ(19)に移行し、「1」であると判断した場合には、ステップ(22)に移行する。
そして、ステップ(19)において、クロックコントローラ15はシフトレジスタ11にシフトクロック14を供給することで双方向シリアルデータ線19からシフトレジスタ11にデータを受信し、ステップ(20)へ移行する。
そして、ステップ(20)において、クロックコントローラ15はシフトレジスタ11がFULL状態になるまでデータを受信し続け、FULL状態になったら、ステップ(21)へ移行し、クロックコントローラ15はデータ有効ビット31に「1」をライトしてステップ(18)に戻る。
一方、ステップ(18)で、データ有効ビット31が「1」であると判断した場合は、ステップ(22)において、クロックコントローラ15はデータ有効ビット32が「0」であるかどうかを判断して、データ有効ビット32が「0」であると判断した場合には、ステップ(23)に移行し、「1」であると判断した場合には、ステップ(18)に戻る。
そして、ステップ(23)において、マスタユニット9のクロックコントローラ15はシフトレジスタ33でシフトクロック14を供給することで、双方向シリアルデータ線19からシフトレジスタ33にデータを受信し、ステップ(24)へ移行する。
そして、ステップ(24)において、クロックコントローラ15はシフトレジスタ33がFULL状態になるまでデータを受信し続け、FULL状態になったら、ステップ(25)へ移行し、クロックコントローラ15はデータ有効ビット32に「1」をライトして、ステップ(18)に戻る。
図10は、本発明に係る通信システムにおける第8のデータ処理手順の一例を示すフローチャートであり、CPU13がシフトレジスタ11,33からデータをリードして、メモリ18にライトする動作手順に対応する。なお、(26)〜(30),(68),(81)は各ステップを示す。
まず、ステップ(68)で、図2に示したコマンド1とアドレス2を双方向シリアルデータ線19に対して出力し、ステップ(26)へ移行する。
そして、ステップ(26)において、CPU13はデータ有効ビット31が「1」であるかどうかを判断して、データ有効ビット31が「1」であると判断した場合には、ステップ(27)へ移行し、「0」であればステップ(29)に移行する。
そして、ステップ(27)において、CPU13はシフトレジスタ11からデータをリードしてメモリ18の適当なアドレスにライトし、データ有効ビット31に「0」をライトして、ステップ(28)に移行する。
一方、ステップ(26)で、データ有効ビット31が「0」であると判断した場合には、ステップ(29)において、CPU13はデータ有効ビット32が「1」であるかどうかを判断して、データ有効ビット32が「1」であると判断した場合は、場合ステップ(30)に移行し、「0」であると判断した場合には、ステップ(26)に戻る。
そして、ステップ(30)において、CPU13はシフトレジスタ33をリードしてメモリ18の適当なアドレスにライトし、データ有効ビット32に「0」をライトしてステップ(28)に移行し、CPU13は、ターゲットユニット10から読み出したいデータをすべて読み出したかどうか、すなわち、受信終了かどうかを判断して、読み出していると判断した場合には、ステップ(81)に移行して、マスタユニット9のクロックコントローラ15に対してクロック制御信号38を出力することによって、シフトクロック14と通信用クロック20を停止して、処理を終了する。
一方、ステップ(28)で、読み出しが終了していないと判断した場合には、ステップ(26)に戻る。
なお、上記実施形態において、シフトレジスタ11,33,24,36のFull状態、空状態の認識は、シフトレジスタが固定長であるために、送受信データ数をカウントすることによって行っているが、Full状態を示すフラグや信号などを設けて上記機能を実現してもかまわないものとする。
このように、アクセス元がアクセス先に対して、READ/WRITEを示す1ビットの情報とアドレス情報のみをコマンドとして与え、データの入出力は、アクセス元がアクセス先にクロックを供給している限り行われ続けるものとする。
そして、トランザクションの途中に、何らかの要因で通信を中断する必要が生じた時は、アクセス元からアクセス先に供給されるクロックを停止することでアクセスを中断し、再度クロックを供給することでアクセスを再開することが可能となる。
以上のように、本実施形態によれば、ターゲットユニット10に対してデータを送受信する際に、マスタユニット9が送受信したいデータ数に応じてクロック出力することで、送受信のデータ量をコントロールすることが可能となり、1回のトランザクションで送受信するデータ量が変化したり、大量のデータの送受信を行うときに、少ない信号線で効率よくデータの送受信が出来るという効果がある。
また、何らかの要因でデータの送受信を中断したいときでも、クロックを停止させるだけで、中断/再開が出来るという効果もある。
〔第2実施形態〕
第2実施形態は、第1実施形態におけるリードイネーブル21の機能を、後述するリードイネーブルコマンドで実現することを特徴とする。以下、本実施形態について詳述する。
図11は、本発明の第2実施形態を示す通信システムの一例を示すブロック図であり、図1と同一のものには同一の符号を付してある。
図11において、40はコマンド解析ユニットであり、第1実施形態のコマンド解析ユニット22の機能に加えて、マスタユニット9が要求したデータが準備出来たときに、図12に示すリードイネーブルコマンド39を双方向シリアルデータ線19に対して出力する機能をもつ。
41はクロックコントローラであり、第1実施形態のクロックコントローラ15の機能に加えてターゲットユニット10が送信するリードイネーブルコマンド39を解析する機能を有する。
マスタユニット9からターゲットユニット10へのデータの送信動作は、上記第1実施形態の場合と同様であり、マスタユニット9がターゲットユニット10からデータ受信する際の、CPU13の動き及びメモリコントローラの動きは第1実施形態の場合と同様である。
図13は、本発明に係る通信システムにおける第9のデータ処理手順の一例を示すフローチャートであり、図11に示したシフトレジスタ24,36内のデータを双方向シリアルデータ線19に出力する際のコマンド解析ユニット40の動作手順に対応する。なお、(68)〜(78)は各ステップを示し、ステップ(42)は、図7のステップと同様であり、ステップ(42)までのステップは、第1実施形態における動作と同様である。
ステップ(42)で、メモリコントローラ27に対してアドレスとコマンドの送信が終了すると、図13に示すステップ(68)へ移行する。
そして、ステップ(68)において、コマンド解析ユニット40はデータ有効ビット35が「1」であるかどうかを判断して、データ有効ビット35が「1」であると判断した場合は、ステップ(71)へ移行し、データ有効ビット35が「0」であると判断した場合は、ステップ(69)へ移行し、データ有効ビット34が「1」であるかどうかを判断して、データ有効ビット34が「1」であると判断した場合には、ステップ(72)に移行し、データ有効ビット34が「0」であればステップ(70)に移行し、8ビットのnullコマンドを双方向シリアルデータ線19に対して送信してステップ(68)に戻る。
一方、ステップ(68)で、データ有効ビット35が「1」であると判断した場合は、ステップ(71)において、コマンド解析ユニット40は8ビットから成るリードイネーブルコマンド39を双方向シリアルデータ線19に対して送信し、ステップ(72)に移行する。
そして、ステップ(72)において、コマンド解析ユニット40はデータ有効ビット35が「1」であるかどうかを判断して、データ有効ビット35が「1」であると判断した場合は、ステップ(73)に移行し、データ有効ビット35が「0」であると判断した場合は、ステップ(74)に移行する。
そして、ステップ(73)において、コマンド解析ユニット40はシフトレジスタ24内のデータの双方向シリアルデータ線19への送信を開始して、ステップ(75)に移行し、シフトレジスタ24内のデータが全て送信されるまで送信処理を続け、送信が終了したら、ステップ(77)に移行して、コマンド解析ユニット40はデータ有効ビット35に「0」をライトして、ステップ(72)に戻る。
一方、ステップ(72)で、データ有効ビット35が「0」であると判断した場合には、ステップ(74)において、コマンド解析ユニット40はシフトレジスタ36内のデータの双方向シリアルデータ線19に対する送信を開始してステップ(76)へ移行し、シフトレジスタ36内のデータ送信が全て終了するまで送信処理を続け、送信を終了したらステップ(78)へ移行して、コマンド解析ユニット40はデータ有効ビット34に0をライトして、ステップ(72)に戻る。
図14は、本発明に係る通信システムにおける第10のデータ処理手順の一例を示すフローチャートであり、図11に示したクロックコントローラ41がリードイネーブルコマンド39を解析する動作手順に対応する。なお、(68),(79),(80)は各ステップを示す。また、図9に示したステップ(68)までは第1実施形態と同様の処理を実行する。
そして、ステップ(68)で、ターゲットユニット10に対して、図2に示したアドレス2とコマンド1を送信したら、ステップ(79)に移行する。
そして、ステップ(79)で、図11に示したクロックコントローラ41は、双方向シリアルデータ線から8ビットのデータを読み込むまで読み込み動作を続け、8ビット読み込みを終了したら、ステップ(80)に移行し、クロックコントローラ41は読み込んだ8ビットデータが、図12に示したリードイネーブルコマンド39であるかどうかを判断して、リードイネーブルコマンド39であると判断した場合は、図9に示したステップ(18)へ移行し、その後、第1実施形態と同様の動作を行う。
一方、ステップ(80)で、読み込んだ8ビットデータがリードイネーブルコマンド39ではなかったと判断した場合は、ステップ(79)に戻る。
なお、上記第2実施形態において、シフトレジスタ11,33,24,36のFull状態、空状態の認識は、シフトレジスタが固定長であるために、送受信データ数をカウントすることによって行っているが、Full状態を示すフラグや信号などを設けて上記機能を実現してもかまわないものとする。
以上のように、第2実施形態によれば、第1実施形態におけるリードイネーブル21の役割をコマンド解析ユニット40が出力するリードイネーブルコマンド39で実現することにより、第1実施形態よりも少ない信号線で第1実施形態と同様の機能を実現することが可能である。
以下、図15に示すメモリマップを参照して本発明に係る通信システムで読み取り出し可能なデータ処理プログラムの構成について説明する。
図15は、本発明に係る通信システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図3〜図10,図13,図14,図3に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。以下、その実施態様1〜16について説明する。
〔実施態様1〕
所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、コマンド、アドレス、データを生成する生成手段(図4に示すCPU13)と、前記生成手段により生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力するクロック手段(図4に示すクロックコントローラ15)と、前記生成手段により生成されるコマンド、アドレスを相手先に送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段(図4に示すクロックコントローラ15)とを有することを特徴とするシリアル通信システム。
〔実施態様2〕
マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、
コマンド、アドレス、データを生成する生成手段(図4に示すCPU13)と、
前記生成手段により生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力するクロック手段(図4に示すクロックコントローラ15)と、
前記生成手段により生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段(図4に示すクロックコントローラ15)と、
を有することを特徴とするシリアル通信システム。
〔実施態様3〕
前記転送制御手段は、前記クロック手段から前記クロックの停止または再出力を検知して、前記データ転送処理の中断または再開を制御することを特徴とする実施態様1または2記載のシリアル通信システム。
〔実施態様4〕
前記転送制御手段は、前記クロック手段により出力される前記クロックの出力されている間、生成される任意長のデータを前記クロックに同期してマスタユニット部とターゲットユニット部との間で継続してデータ転送処理を行うことを特徴とする実施態様1または2記載のシリアル通信システム。
〔実施態様5〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということ通知することを特徴とする実施態様2記載のシリアル通信システム。
〔実施態様6〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定の信号線を介して通知することを特徴とする実施態様2記載のシリアル通信システム。
〔実施態様7〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定のコマンドで通知することを特徴とする実施態様2記載のシリアル通信システム。
〔実施態様8〕
所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおけるデータ通信方法であって、コマンド、アドレス、データを生成する生成ステップ(図3のステップ(1))と、前記生成ステップにより生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力する出力ステップ(図4に示すステップ(9),(13)等)と、前記生成ステップにより生成されるコマンド、アドレスを相手先に送信した後、前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御ステップ(図4に示すステップ(8)〜(16))とを有することを特徴とするデータ通信方法。
〔実施態様9〕
マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムにおけるデータ通信方法であって、コマンド、アドレス、データを生成する生成ステップ(図3のステップ(1))と、前記生成ステップにより生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力する出力ステップ(図4のステップ(9),(13)等)と、前記生成ステップにより生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御ステップ(図4に示すステップ(8)〜(16))と、を有することを特徴とするデータ通信方法。
〔実施態様10〕
前記転送制御ステップは、前記クロックの停止または再出力を検知して、前記データ転送処理の中断または再開を制御することを特徴とする実施態様8または9記載のデータ通信方法。
〔実施態様11〕
前記転送制御ステップは、出力される前記クロックの出力されている間、生成される任意長のデータを前記クロックに同期してマスタユニット部とターゲットユニット部との間で継続してデータ転送処理を行うことを特徴とする実施態様8または9記載のデータ通信方法。
〔実施態様12〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということ通知することを特徴とする実施態様9記載のデータ通信方法。
〔実施態様13〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定の信号線を介して通知することを特徴とする実施態様9記載のデータ通信方法。
〔実施態様14〕
前記マスタユニット部が前記ターゲットユニット部からデータを受信する際に、前記ターゲットユニット部から前記マスタユニット部に対して、データ送信可能ということを所定のコマンドで通知することを特徴とする実施態様9記載のデータ通信方法。
〔実施態様15〕
実施態様8〜14のいずれかに記載のデータ通信方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
〔実施態様16〕
実施態様8〜14のいずれかに記載のデータ通信方法を実現することを特徴とするプログラム。
上記実施形態および実施態様によれば、シリアル送受信を行う際に、リード/ライトコマンド、アドレス、データのみ送受信で、データ量は送信側が出力するクロック数で決定することにより、少ない信号線、シンプルなシステム構成で効率の良いデータの送受信を可能とする効果がある。
なお、上記第2実施形態において、シフトレジスタ11,33,24,36のFull状態、空状態の認識は、シフトレジスタが固定長であるために、送受信データ数をカウントすることによって行っているが、Full状態を示すフラグや信号などを設けて上記機能を実現してもよい。
本発明の第1実施形態を示すインタフェース装置を適用可能な通信システム例を示すブロック図である。 図1に示した通信システムにおける通信データのフォーマットを示す図である。 本発明に係る通信システムにおける第1のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第2のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第3のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第4のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第5のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第6のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第7のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第8のデータ処理手順の一例を示すフローチャートである。 本発明の第2実施形態を示す通信システムの一例を示すブロック図である。 本発明の第2実施形態を示す通信システムにおける通信データの構成を説明する図である。 本発明に係る通信システムにおける第9のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムにおける第10のデータ処理手順の一例を示すフローチャートである。 本発明に係る通信システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。 この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。 この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。 この種のシリアルインタフェースにおけるシリアル通信データの一例を示す図である。
符号の説明
9 マスタユニット
10 ターゲットユニット
11 シフトレジスタ
12 双方向パラレルデータ線
13 CPU
14 シフトクロック
15 クロックコントローラ
16 データ有効ビット制御信号
17 双方向パラレルデータ線
18 メモリ
19 双方向シリアルデータ線
20 通信用クロック
21 リードイネーブル
22 コマンド解析ユニット
23 双方向シリアルデータ線
24 シフトレジスタ
25 シフトCLK
26 双方向パラレルデータ線
27 メモリコントローラ
28 コマンド/アドレス
29 双方向パラレルデータ線
30 メモリ

Claims (2)

  1. 所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、
    コマンド、アドレス、データを生成する生成手段と、
    前記生成手段により生成されるコマンド、アドレス、データを相手先に送信あるいは、相手先からコマンド、アドレス、データを受信するためのクロックを出力するクロック手段と、
    前記生成手段により生成されるコマンド、アドレスを相手先に送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段と、
    を有することを特徴とするシリアル通信システム。
  2. マスタユニット部とターゲットユニット部とを所定のデータ伝達媒体を介してデータ通信を行うシリアル通信システムであって、
    コマンド、アドレス、データを生成する生成手段と、
    前記生成手段により生成されるコマンド、アドレス、データをマスタユニット部とターゲットユニット部との間でやり取りするためのクロックを出力するクロック手段と、
    前記生成手段により生成されるコマンド、アドレスをターゲットユニットに送信した後、前記クロック手段による前記クロックの出力状態に基づいて、前記データの転送終了を制御する転送制御手段と、
    を有することを特徴とするシリアル通信システム。
JP2003342301A 2003-09-30 2003-09-30 シリアル通信システム Pending JP2005110019A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003342301A JP2005110019A (ja) 2003-09-30 2003-09-30 シリアル通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003342301A JP2005110019A (ja) 2003-09-30 2003-09-30 シリアル通信システム

Publications (1)

Publication Number Publication Date
JP2005110019A true JP2005110019A (ja) 2005-04-21

Family

ID=34536629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003342301A Pending JP2005110019A (ja) 2003-09-30 2003-09-30 シリアル通信システム

Country Status (1)

Country Link
JP (1) JP2005110019A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743273B2 (en) 2007-05-25 2010-06-22 Toyota Jidosha Kabushiki Kaisha Serial communication system and method for transmitting and receiving data in synchronization with a clock signal
JP2012168826A (ja) * 2011-02-16 2012-09-06 Hitachi Automotive Systems Ltd 物理量検出装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743273B2 (en) 2007-05-25 2010-06-22 Toyota Jidosha Kabushiki Kaisha Serial communication system and method for transmitting and receiving data in synchronization with a clock signal
JP2012168826A (ja) * 2011-02-16 2012-09-06 Hitachi Automotive Systems Ltd 物理量検出装置

Similar Documents

Publication Publication Date Title
JP6046216B2 (ja) ホストシステム及びホストコントローラ
CN109471824B (zh) 基于axi总线的数据传输系统及方法
JP4452690B2 (ja) 電子装置、その制御方法、ホスト装置及びその制御方法
JP2002541554A (ja) ユニバーサル・シリアル・バスに基づくpcフラッシュディスクのためのアーキテクチャ
JP5149567B2 (ja) 画像処理装置及び方法
US20070079015A1 (en) Methods and arrangements to interface a data storage device
CN109726163A (zh) 一种基于spi的通信系统、方法、设备和储存介质
JP4739349B2 (ja) マルチメディア・カード・インターフェース方法、コンピュータ・プログラム及び装置
US20060236001A1 (en) Direct memory access controller
JP2008521080A5 (ja)
JP4373255B2 (ja) ダイレクトメモリアクセス制御装置および方法
US20220365892A1 (en) Accelerating Method of Executing Comparison Functions and Accelerating System of Executing Comparison Functions
US20060112184A1 (en) Adapter card for on-demand formatting of data transfers between network devices
CN110046114B (zh) 基于pcie协议的dma控制器及dma数据传输方法
JP3641239B2 (ja) メモリカードを制御するための装置および方法
JPH0758780A (ja) 一時データをバッファリングするための方法および装置
JPH10116187A (ja) マイクロコンピュータ
CN110795373B (zh) 一种i2c总线到并行总线的转换方法、终端及存储介质
JP2005110019A (ja) シリアル通信システム
JP2006331391A (ja) データ処理装置及びデータ処理方法
US20040186949A1 (en) XIP system and method for serial memory
CN108268280B (zh) 半导体装置的处理器及其操作方法
CN1234550B (zh) 一种输入/输出总线系统
KR20080066463A (ko) 멀티미디어 저장장치 및 그 제어방법
CN113127399B (zh) 一种通用串列汇流排装置以及存取方法