説明

データ受信装置、データ転送制御装置およびデータ転送システム

【課題】 マスタから高速クロックで転送されるシリアルデータを、相対的に低速なクロックで受信して、低消費電力で、しかも低コストで装置を構成し得るデータ受信装置、データ転送制御装置およびデータ転送システムを提供する。
【解決手段】 マスタ1から送られてくるN×Mビットのシリアルデータを1つの転送サイクルで受信する際に、N×Mビットシリアルデータをマスタ1側のクロック信号CLK1に同期して、シフトレジスタ20に入力して保持し、転送サイクルの残りの期間で、シフトレジスタ20に保持したデータをスレーブ3側のクロック信号CLK2に同期したシフト動作によりスレーブ3(受信部10)に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスタから高速クロックで転送されるシリアルデータを、相対的に低速なクロックで受信して、低消費電力・低コストで装置を構成し得るデータ受信装置、データ転送制御装置およびデータ転送システムに関する。
【背景技術】
【0002】
従来、マスタ(送信側)およびスレーブ(受信側)間のデータ転送において、信号線数に制約がある場合には、例えばマスタ・スレーブ間をデータ信号、クロック信号およびストローブ信号の3本の信号線を用いたシリアルデータ転送が行われている(例えば、特開2005−301423号公報参照)。
【0003】
従来のシリアルデータ転送について、図12〜図15を参照して説明する。図12は従来のデータ転送システムを例示する構成図であり、マスタ(CPUボード)101からスレーブ(表示器)103へ転送サイクル毎に64ビットシリアルデータ(表示データ)を転送するものである。シリアルデータ転送は、データ信号DATA、クロック信号CLKおよびストローブ信号SSの3本の信号線を用いた3線式で行われ、スレーブ(表示器)103側では、受信部110が64ビットシリアルデータ(表示データ)を受信して、LCDドライバ112を介してLCD表示パネル113に表示する。
【0004】
各信号(データ信号DATA、クロック信号CLKおよびストローブ信号SS)は、図13または図14に示すタイミングで送信される。図13の場合、受信部110では、ストローブ信号SSがイネーブル(Lレベル)となる期間に、クロック信号CLKの立ち上がりタイミングで順次データがサンプリングされ、取り込んでいくこととなる。なお、64ビットシリアルデータはバイト単位で連続して送受信される。また図14は、バイト間に転送間隔Tsが設けられている場合である。さらに、図15に示すように、1転送サイクルの周期はTcであり、1バイト目から8バイト目までの64ビットシリアルデータが転送された後、次の転送サイクルが開始されるまでの間は待ち状態となる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−301423号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
このようなシリアルデータ転送においては、スレーブ103側では、マスタ101側から送られてくる転送データの速度(即ちクロック信号CLKの周波数や1バイトの受信間隔)に応じた受信処理を行う必要がある。つまり、スレーブ103側で、マスタ101側の高速なクロック信号CLKを用いて受信処理する場合には、スレーブ103の動作周波数を高速にする必要があるが、消費電力が動作周波数に比例して増大するという事情がある。また、スレーブ103の動作周波数の高速化に伴って装置コストも増大するという事情もある。
【0007】
一般的に、シリアルデータ転送におけるボーレート(Baud Rate)、バイト間の転送間隔Tsおよび転送サイクルTc等の通信仕様は、マスタ101およびスレーブ103の処理や構成部品の仕様に応じて設計段階で決定される。したがって、例えば、部品改廃等の理由で設計変更が生じたときには、上記通信仕様を自由に変更可能なパラメータが存在しないことから、設計仕様に余裕がない場合などでは、代替部品の選定が難しく容易に設計変更が行えないという事情があった。
【0008】
また、オーバースペックの部品を使用することも考えられるが、装置コストが増大してしまうという事情があった。さらに、マスタ101側でファームウェアの変更を行うことにより、スレーブ103側での設計変更を比較的容易にすることも可能であるが、この場合、ファームウェアの種類が増えてしまうことにより、ファームウェアの管理や切り替えのタイミング、並びに規格対応が困難となるという事情があった。
【0009】
特に、圧力伝送器などの2線式計器等に適用する場合には、消費電力(消費電流)に制限があることから、スレーブ103の動作周波数が制限され、低消費電力(低消費電流)で且つ安価な部品を選定してシステムを構築する必要がある。
【0010】
本発明は、上記従来の事情に鑑みてなされたものであって、マスタから高速クロックで転送されるシリアルデータを、相対的に低速なクロックで受信して、低消費電力で、しかも低コストで装置を構成し得るデータ受信装置、データ転送制御装置およびデータ転送システムを提供することを目的としている。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明に係るデータ受信装置は、マスタから送られてくるN×Mビット(N,Mはそれぞれ正整数)のシリアルデータを1つの転送サイクルで受信するデータ受信装置であって、前記N×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、前記転送サイクルの残りの期間で、保持したデータを当該データ受信装置側のクロックで出力するシフトレジスタ、を備えたことを特徴とする。
【0012】
また、上記発明において、前記N×Mビットシリアルデータの転送タイミングを規定するストローブ信号に基づき、該ストローブ信号が有効である期間は前記マスタ側のクロックを選択し、該ストローブ信号が無効である期間の内の所定期間は当該データ受信装置側のクロックを選択して前記シフトレジスタに供給するクロック選択手段、を備えたことを特徴とする。
【0013】
また、本発明に係るデータ受信装置は、マスタから送られてくるL組のN×Mビット(N,M,Lはそれぞれ正整数)のシリアルデータをL+1個の転送サイクルで受信するデータ受信装置であって、前記転送サイクルの奇数番目または偶数番目を判別する奇偶サイクル判別手段と、奇数番目の転送サイクルで、奇数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを当該データ受信装置側のクロックで出力する第1シフトレジスタと、偶数番目の転送サイクルで、偶数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを当該データ受信装置側のクロックで出力する第2シフトレジスタと、を備えたことを特徴とする。
【0014】
また、上記発明において、奇数番目の転送サイクル期間は前記マスタ側のクロックを選択し、偶数番目の転送サイクル期間は当該データ受信装置側のクロックを選択して前記第1シフトレジスタに供給する第1クロック選択手段と、偶数番目の転送サイクル期間は前記マスタ側のクロックを選択し、奇数番目の転送サイクル期間は当該データ受信装置側のクロックを選択して前記第2シフトレジスタに供給する第2クロック選択手段と、を備えたことを特徴とする。
【0015】
また、上記発明において、前記第1クロック選択手段は、奇数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第1シフトレジスタのクロック入力を開放状態とし、前記第2クロック選択手段は、偶数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第2シフトレジスタのクロック入力を開放状態とすることを特徴とする。
【0016】
また、本発明に係るデータ転送制御装置は、1つの転送サイクルで、マスタ側から送られてくるN×Mビット(N,Mはそれぞれ正整数)のシリアルデータを受信して、スレーブ側に送信するデータ転送制御装置であって、前記N×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、前記転送サイクルの残りの期間で、保持したデータを前記スレーブ側のクロックで出力するシフトレジスタ、を備えたことを特徴とする。
【0017】
また、上記発明において、前記N×Mビットシリアルデータの転送タイミングを規定するイネーブル信号に基づき、該イネーブル信号が有効である期間は前記マスタ側のクロックを選択し、該イネーブル信号が無効である期間の内の所定期間は前記スレーブ側のクロックを選択して前記シフトレジスタに供給するクロック選択手段、を備えたことを特徴とする。
【0018】
さらに、本発明に係るデータ転送制御装置は、L+1個の転送サイクルで、マスタから送られてくるL組のN×Mビット(N,M,Lはそれぞれ正整数)のシリアルデータを受信して、スレーブ側に送信するデータ転送制御装置であって、前記転送サイクルの奇数番目または偶数番目を判別する奇偶サイクル判別手段と、奇数番目の転送サイクルで、奇数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを前記スレーブ側のクロックで出力する第1シフトレジスタと、偶数番目の転送サイクルで、偶数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを前記スレーブ側のクロックで出力する第2シフトレジスタと、偶数番目の転送サイクルでは前記第1シフトレジスタの出力を選択し、3番目以降の奇数番目の転送サイクルでは前記第2シフトレジスタの出力を選択して、前記スレーブに出力する出力選択手段と、を備えたことを特徴とする。
【0019】
また、上記発明において、奇数番目の転送サイクル期間は前記マスタ側のクロックを選択し、偶数番目の転送サイクル期間は前記スレーブ側のクロックを選択して前記第1シフトレジスタに供給する第1クロック選択手段と、偶数番目の転送サイクル期間は前記マスタ側のクロックを選択し、奇数番目の転送サイクル期間は前記スレーブ側のクロックを選択して前記第2シフトレジスタに供給する第2クロック選択手段と、を備えたことを特徴とする。
【0020】
また、上記発明において、前記第1クロック選択手段は、奇数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第1シフトレジスタのクロック入力を開放状態とし、前記第2クロック選択手段は、偶数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第2シフトレジスタのクロック入力を開放状態とすることを特徴とする。
【0021】
さらに、本発明に係るデータ転送システムは、マスタ並びに請求項1〜請求項5の何れか1項に記載のデータ受信装置、または、マスタ、スレーブ並びに請求項6〜請求項10の何れか1項に記載のデータ転送制御装置の何れかを備えたことを特徴とする。
【発明の効果】
【0022】
本発明に係るデータ受信装置、データ転送制御装置およびデータ転送システムによれば、シフトレジスタにおいて、シリアルデータをマスタ側のクロックで入力して保持し、保持したデータをデータ受信装置(またはスレーブ)側のクロックで出力することとしたので、低消費電力で、しかも低コストで装置を構成し得るデータ受信装置、データ転送制御装置およびデータ転送システムを提供することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施例1に係るデータ転送システムの構成図である。
【図2】実施例1のシフトレジスタの状態遷移を例示する説明図である。
【図3】実施例1の1転送サイクルにおける各種信号のタイムチャートである。
【図4】本発明の実施例2に係るデータ転送システムの構成図である。
【図5】実施例2の第1シフトレジスタおよび第2シフトレジスタの状態遷移を例示する説明図である。
【図6】実施例2の第1〜第4セレクタによる選択状態並びに第1シフトレジスタおよび第2シフトレジスタの動作状態を転送サイクル別に説明する説明図である。
【図7】実施例2の第1転送サイクルおよび第2転送サイクルにおける各種信号のタイムチャートである。
【図8】シフトレジスタのデータ出力時におけるタイムチャートである。
【図9】実施例2の第3転送サイクルおよび第4転送サイクルにおける各種信号のタイムチャートである。
【図10】実施例2の第L転送サイクルおよび第L+1転送サイクルにおける各種信号のタイムチャートである。
【図11】本発明の変形例に係るデータ転送システムの構成図である。
【図12】従来のデータ転送システムを例示する構成図である。
【図13】シリアルデータ転送(バイト間の転送間隔無し)における各種信号のタイムチャートである。
【図14】シリアルデータ転送(バイト間の転送間隔有り)における各種信号のタイムチャートである。
【図15】従来の1転送サイクルにおける各種信号のタイムチャートである。
【発明を実施するための形態】
【0024】
以下、本発明に係る好適な実施の形態について、実施例1、実施例2の順に図面を参照しながら詳細に説明する。
【実施例1】
【0025】
図1は本発明の実施例1に係るデータ転送システムの構成図である。同図において、本実施例のデータ転送システムは、データ送信装置としてのマスタ1と、データ転送制御装置5と、データ受信装置としてのスレーブ3と、を備えて構成されている。なお、図1の構成では、データ転送制御装置5をスレーブ3から分離した構成としているが、データ転送制御装置5およびスレーブ3を一体型として、即ちスレーブ3にデータ転送制御装置5を含む構成として、データ受信装置を構成しても良い。
【0026】
また、図1の構成は、本発明に係るデータ転送システムを温度伝送器に適用したものを例示しており、マスタ1(CPUボード)からスレーブ3(表示器)間のシリアルデータ転送を想定している。なお、本発明の適用は、本実施例に限定されるものではなく、マスタ1から送られてくるN×Mビット(N,Mはそれぞれ正整数であり、本実施例ではN=M=8)のシリアルデータを1つの転送サイクルで受信する形態のものであれば如何なるシステム種別またはスレーブ種別であっても良い。
【0027】
ここで、マスタ1は、データ信号DATAi、クロック信号CLK1およびストローブ信号SSの3本の信号線を用いてシリアルデータを送信する。ここで、マスタ1側(送信側)からは、従来と同様に、転送サイクル毎に64ビットシリアルデータ(表示データ)が図13〜図15に示したタイミングで送信される。
【0028】
また、スレーブ3は、受信部10、LCDドライバ12およびLCD表示パネル13を備えた構成である。受信部10は、データ転送制御装置5を介して転送サイクル毎に64ビットシリアルデータを受信する。LCDドライバ12は、受信部10で受信した64ビットシリアルデータに基づき、LCD表示パネル13のセグメント点灯出力信号を生成して、LCD表示パネル13を駆動する。なお、受信部10は選択信号生成部15を備えるが、選択信号生成部15は、ストローブ信号SSに基づき、データ転送制御装置5のシフトレジスタ20に供給するクロック信号を選択切り替えする選択信号SELを生成するものである。
【0029】
なお、受信部10には、例えば8ビットシフトレジスタ(受信バッファ)を備えたシリアルインタフェース(図示せず)を内蔵しているが、より低コストの部品を選定する観点から、DMA(Direct Memory Access)等の機能は持たないものとする。また、受信部10およびLCDドライバ12を一体型として、LCDドライバ機能付きマイコンを用いた構成としても良い。
【0030】
また、データ転送制御装置5は、シフトレジスタ20およびセレクタ30を備えた構成である。ここで、シフトレジスタ20は、64個のDフリップフロップをカスケード接続して構成した直列入力直列出力形(SISO)シフトレジスタであり、クロック端子CKに供給されるクロック信号に同期して、データ入力端子DIに接続される1段目のDフリップフロップは、データ入力端子DIに入力されるデータ(1ビットデータ)をラッチし、j段目(j=2〜64)のDフリップフロップはj−1段目のDフリップフロップ出力をラッチする。つまり、1段目のDフリップフロップにデータが取り込まれた後、データはクロック信号の立ち上がりタイミング毎にDフリップフロップを1段ずつ進んでいき、最終段目のDフリップフロップが保持していたデータがデータ出力端子DOから出力される。
【0031】
また、セレクタ30は、特許請求の範囲にいうクロック選択手段に該当し、選択信号生成部15の選択信号SELに基づき、マスタ1側のクロック信号CLK1またはスレーブ3側のクロック信号CLK2の何れかをシフトレジスタ20のクロック端子CKに供給する。セレクタ30の構成は、例えば、2つの入力端子間に2個のトランスファーゲートトランジスタを直列接続し、両者の接続点を出力端子として、一方のトランスファーゲートトランジスタのゲート電極には選択信号SELを、他方のトランスファーゲートトランジスタのゲート電極には選択信号SELの否定論理信号を、それぞれ供給してオンオフ制御するようにすれば良い。
【0032】
本実施例では、セレクタ30において、ストローブ信号SSに基づき、ストローブ信号SSが有効である期間はマスタ1側のクロック信号CLK1を選択し、ストローブ信号SSが無効である期間の内の所定期間はスレーブ3側のクロック信号CLK2を選択してシフトレジスタ20に供給する。このようなセレクタ30によるシフトレジスタ20の状態遷移について図2を参照して詳しく説明する。
【0033】
図2は本実施例のシフトレジスタ20の状態遷移を例示する説明図である。同図に示すように、シフトレジスタ20は、4つの状態を持つ。すなわち、状態S0(初期状態)、状態S1(IDLE状態)、状態S2(データ入力状態)および状態S3(データ出力状態)である。
【0034】
マスタ1からのシリアルデータ転送が開始される以前は、初期状態(状態S0)にある。次に、シリアルデータ転送の開始と共にストローブ信号SSが有効(Lレベル)になると、その立ち下がりタイミング(ストローブ信号SS:Hレベル→Lレベル)でデータ入力状態(状態S2)に遷移する。ストローブ信号SSが有効(Lレベル)である期間、即ちストローブ信号SSが無効(Hレベル)となるまでの期間は、セレクタ30ではマスタ1側のクロック信号CLK1が選択(選択信号SEL:Hレベル)されており、シフトレジスタ20は、クロック信号CLK1に同期して64ビットシリアルデータ(8ビット×8バイト)が順次保持されていく。
【0035】
次に、64ビットシリアルデータのマスタ1からシフトレジスタ20へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、シフトレジスタ20はデータ出力状態(状態S3)に遷移する。このときセレクタ30ではスレーブ3側のクロック信号CLK2が選択され(選択信号SEL:Hレベル→Lレベル)、シフトレジスタ20は、クロック信号CLK2に同期して64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ3に出力していく。
【0036】
次に、64ビットシリアルデータのシフトレジスタ20からスレーブ3へのデータ転送が終了すると、シフトレジスタ20はIDLE状態(状態S1)に遷移する。この遷移は選択信号SELがLレベルからHレベルに変化するイベントに伴って行われ、このときセレクタ30ではマスタ1側のクロック信号CLK1が選択されるが、ストローブ信号SSは無効(Hレベル)でマスタ1側のクロック信号CLK1が供給されないことから、シフトレジスタ20は何ら動作しないIDLE状態となる。
【0037】
以上説明した「状態S2(データ入力状態)→状態S3(データ出力状態)→状態S1(IDLE状態)」の一連の遷移によって、1つの転送サイクルが形成される。また、IDLE状態(状態S1)にあるときに、続いて次の転送サイクルがある場合には、ストローブ信号SSがHレベルからLレベルに変化するイベントに伴って、データ入力状態(状態S2)に遷移する。つまり、L組(Lは任意の正整数)の64ビットシリアルデータが転送されるケースでは、上記一連の遷移がL回繰り返されることとなる。なお、64ビットシリアルデータの組数Lが予め分かっている場合には、L回目の一連の遷移における状態S3(データ出力状態)で、L組目の64ビットシリアルデータがシフトレジスタ20からスレーブ3へデータ転送された後、初期状態(状態S0)に遷移する。
【0038】
次に、1転送サイクルにおけるシフトレジスタ20の動作について、図3を参照して詳しく説明する。ここで、図3は、本実施例の1転送サイクルにおける各種信号のタイムチャートであり、図3(a)はストローブ信号SSを、図3(b)はマスタ1側のクロック信号CLK1を、図3(c)はマスタ1から送信されるデータ信号DATAiを、図3(d)はクロックの選択信号SELを、図3(e)はスレーブ3側のクロック信号CLK2を、図3(f)はシフトレジスタ20の出力データ信号DATAoを、それぞれ示す。
【0039】
まず、シリアルデータ転送の開始と共にストローブ信号SSが有効(Lレベル)となり(図3(a)参照)、シフトレジスタ20は、そのHレベルからLレベルへの立ち下がりタイミングでデータ入力状態(状態S2)に遷移して、マスタ1から送信されるデータ信号DATAiを受信する。なお、このときセレクタ30ではマスタ1側のクロック信号CLK1が選択され(選択信号SEL:Hレベル;図3(d)参照)、クロック信号CLK1がシフトレジスタ20のクロック端子CKに供給される。
【0040】
このデータ入力状態(状態S2)において、シフトレジスタ20では、クロック信号CLK1に同期して64ビットシリアルデータ(8ビット×8バイト)が順次保持されていく(図3(b)および(c)参照)。なお図3では、図14と同様にバイト間に転送間隔を設けているが、これに限定されることなく、図13と同様にバイト間の転送間隔を設けず連続的に転送を行うようにしても良い。
【0041】
次に、64ビットシリアルデータのマスタ1からシフトレジスタ20へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり(図3(a)参照)、また、セレクタ30ではスレーブ3側のクロック信号CLK2が選択され(選択信号SEL:Hレベル→Lレベル;図3(d)参照)、クロック信号CLK2がシフトレジスタ20のクロック端子CKに供給されて、シフトレジスタ20はデータ出力状態(状態S3)に遷移する。なお、ストローブ信号SSの立ち上がりタイミングから選択信号SELの立ち下がりタイミングまで一定の期間を設けているのはハザード対策等のためである。
【0042】
このデータ出力状態(状態S3)において、シフトレジスタ20は、クロック信号CLK2に同期して64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ3に出力していく(図3(e)および(f)参照)。なお図3では、バイト間に転送間隔を設けているが、これに限定されることなく、バイト間の転送間隔を設けず連続的に転送を行うようにしても良い。
【0043】
次に、64ビットシリアルデータのシフトレジスタ20からスレーブ3へのデータ転送が終了すると、選択信号SELがLレベルからHレベルに変化することに伴って、シフトレジスタ20はIDLE状態(状態S1)に遷移する。そしてさらに、ストローブ信号SSがHレベルからLレベルに変化するイベントに伴って、次の転送サイクルに移行する。
【0044】
なお、スレーブ3(受信部10)では、例えば、1バイト毎にシリアルインタフェースの受信バッファで受信した後、順次、メモリ等の記憶手段に退避させており、データ出力状態(状態S3)のバイト間の転送間隔やIDLE状態(状態S1)の期間を、この処理に当てることができる。より具体的に、スレーブ3(受信部10)における退避処理は、バイト間に転送間隔を設けた転送の場合には、データ出力状態(状態S3)のバイト間の転送間隔の期間に行い、バイト間に転送間隔を設けない連続転送の場合には、IDLE状態(状態S1)の期間に行う。
【0045】
以上説明したように、本実施例のデータ受信装置、データ転送制御装置およびデータ転送システムでは、マスタ1から送られてくるN×Mビット(N=M=8)のシリアルデータを1つの転送サイクルで受信する際に、N×Mビットシリアルデータをマスタ1側のクロック信号CLK1に同期して、シフトレジスタ20に入力して保持し、転送サイクルの残りの期間で、シフトレジスタ20に保持したデータをスレーブ3側のクロック信号CLK2に同期したシフト動作によりスレーブ3(受信部10)に出力する。より具体的に、シフトレジスタ20に供給するクロック信号の選択切り替えはセレクタ30(クロック選択手段)で行い、N×Mビットシリアルデータの転送タイミングを規定するストローブ信号SSに基づき、ストローブ信号SSが有効である期間はマスタ1側のクロック信号CLK1を選択し、ストローブ信号SSが無効である期間の内の所定期間はスレーブ3側のクロック信号CLK2を選択してシフトレジスタ20に供給する。
【0046】
このように、転送サイクルの内のシフトレジスタ20がデータ入力状態(状態S2)となる期間を除く期間で、シフトレジスタ20に一旦保持したデータを、スレーブ3側のクロック信号CLK2に同期したシフト動作によりスレーブ3(受信部10)に出力するので、マスタ1から高速クロック(クロック信号CLK1)で転送されるシリアルデータを、スレーブ3側の相対的に低速なクロック(クロック信号CLK2)で受信することができる。
【0047】
また、スレーブ3側のクロック信号CLK2は、転送サイクル周期が規定値である場合には、該転送サイクル周期からシフトレジスタ20がデータ入力状態(状態S2)となる期間、並びに、バイト間の転送間隔およびIDLE状態(状態S1)の期間を除いた期間に、シフトレジスタ20からN×Mビットシリアルデータをシフト出力し得る周波数であれば良く、より低速なクロックを使用することができる。また、転送サイクル周期を任意設定可能な通信仕様である場合には、スレーブ3側のクロック信号CLK2は、マスタ1側のクロック信号CLK1に依らず、より低速なクロックを使用することができる。
【0048】
その結果として、スレーブ3は、通信仕様が異なる様々なマスタデバイスから送信されるシリアルデータを受信することができ、また、スレーブ3の動作周波数を低く抑えることができることから、スレーブ3の消費電力を低減することができる。特に、2線式計器などの消費電力(消費電流)に制限がある機器に適用する場合には、消費電力の制限下で通信仕様に応じた機器設計を容易に行うことができる。
【0049】
また、本実施例において追加される構成要素は、データ転送制御装置5(シフトレジスタ20およびセレクタ30)、並びに受信部10の選択信号生成部15であり、これらを実現する回路は比較的安価な汎用部品(ディスクリート部品等)を用いて構成できるため、追加回路によるコスト増を抑制することができる。また、マスタ側でクロックが高速化された場合でも、転送サイクル周期の調整によりスレーブ3の動作周波数を高速化する必要がなく、さらに、部品改廃や通信仕様に応じた設計変更が必要な場合であっても、スレーブ3の動作周波数を抑制できることから、代替部品の選定等もオーバースペックの部品を使用することなく容易に行うことができ、安価な汎用部品を用いて容易に装置コストを抑制した設計変更が可能となる。
【0050】
また、通信仕様が異なる様々なマスタデバイスから送信されるシリアルデータを受信することができるので、データ転送制御装置5およびスレーブ3を一体のものとして扱えば、これらを標準化されたデータ受信装置とすることができる。さらに、スレーブ3(受信部10)の選択信号生成部15をデータ転送制御装置5に移して、データ転送制御装置5内でストローブ信号SSに基づき選択信号SELを生成する構成とすれば、データ転送制御装置を標準化されたモジュールとして扱うことができる。つまり、既存のデータ転送システム(例えば図12に示した構成)において、マスタ側クロックの高速化などの変更が生じた場合に、このデータ転送制御装置をマスタおよびスレーブ間に組み込むことで、スレーブ側の動作周波数等の変更をすることなく、マスタおよびスレーブ間のシリアルデータ転送を実現することができるようになる。
【0051】
なお、本実施例では、1つの転送サイクルで64ビットシリアルデータ(N=M=8)を受信することとしたが、これに限定されることなく、NおよびMを任意の正整数として良い。例えば、N=8,M=1として、1つの転送サイクルで8ビットシリアルデータを受信する場合には、シフトレジスタ20を8ビットで構成し、8つの転送サイクルで64ビットシリアルデータを転送することとなる。
【0052】
また、シフトレジスタ20の実現は、ディスクリート部品による構成に限らず、PLA(Programmable Logic Array)、PLD(Programmable
Logic Device)またはFPGA(Field-Programmable Gate Array)等のデバイスを用いて構成しても良い。
【実施例2】
【0053】
次に、図4は本発明の実施例2に係るデータ転送システムの構成図である。同図において、本実施例のデータ転送システムは、データ送信装置としてのマスタ1と、データ転送制御装置6と、データ受信装置としてのスレーブ4と、を備えた構成である。なお、図4の構成では、データ転送制御装置6をスレーブ4から分離した構成としているが、データ転送制御装置6およびスレーブ4を一体型として、即ちスレーブ4にデータ転送制御装置6を含む構成として、データ受信装置を構成しても良い。
【0054】
また、図4の構成は、本発明に係るデータ転送システムを温度伝送器に適用したものを例示しており、マスタ1(CPUボード)からスレーブ4(表示器)間のシリアルデータ転送を想定している。なお、本発明の適用は、本実施例に限定されるものではなく、マスタ1から送られてくるL組のN×Mビット(N,M,Lはそれぞれ正整数であり、本実施例ではN=M=8)のシリアルデータをL+1個の転送サイクルで受信する形態のものであれば如何なるシステム種別またはスレーブ種別であっても良い。
【0055】
ここで、マスタ1は、実施例1と同様に、データ信号DATAi、クロック信号CLK1およびストローブ信号SSの3本の信号線を用いてシリアルデータを送信する。ここで、マスタ1側(送信側)からは、従来と同様に、転送サイクル毎に64ビットシリアルデータ(表示データ)が図13〜図15に示したタイミングで送信される。
【0056】
また、スレーブ4は、受信部11、LCDドライバ12およびLCD表示パネル13を備えた構成である。受信部11は、データ転送制御装置6を介して転送サイクル毎に64ビットシリアルデータを受信する。LCDドライバ12は、受信部11で受信した64ビットシリアルデータに基づき、LCD表示パネル13のセグメント点灯出力信号を生成して、LCD表示パネル13を駆動する。
【0057】
また、受信部11は、奇遇サイクル判定部16および選択信号生成部17を備えている。ここで、奇遇サイクル判定部16は、ストローブ信号SSに基づき、転送サイクルの奇数番目または偶数番目を判別する。また、選択信号生成部17は、転送サイクルの順番に応じて、データ転送制御装置6の第1シフトレジスタ21および第2シフトレジスタ22に供給するクロック信号を選択切り替えする選択信号SEL2〜SEL4、並びに、第1シフトレジスタ21の出力または第2シフトレジスタ22の出力の何れか選択切り替えする選択信号SEL1を生成する。なお、選択信号生成部17の入力としては、少なくとも奇遇サイクル判定部16による転送サイクルの奇数/偶数判定結果と、第1転送サイクルおよび最終の転送サイクルを識別し得る情報があれば良い。また、選択設定等の具体的内容については後述する。
【0058】
なお、受信部11には、例えば8ビットシフトレジスタ(受信バッファ)を備えたシリアルインタフェース(図示せず)を内蔵しているが、より低コストの部品を選定する観点から、DMA(Direct Memory Access)等の機能は持たないものとする。また、受信部11およびLCDドライバ12を一体型として、LCDドライバ機能付きマイコンを用いた構成としても良い。
【0059】
また、データ転送制御装置6は、第1シフトレジスタ21および第2シフトレジスタ22、並びに、第1セレクタ31、第2セレクタ32、第3セレクタ33および第4セレクタ34を備えた構成である。
【0060】
ここで、第1シフトレジスタ21および第2シフトレジスタ22は、それぞれ64個のDフリップフロップをカスケード接続して構成した直列入力直列出力形(SISO)シフトレジスタである。それぞれのシフトレジスタは、クロック端子CKに供給されるクロック信号に同期して、データ入力端子DIに接続される1段目のDフリップフロップは、データ入力端子DIに入力されるデータ(1ビットデータ)をラッチし、j段目(j=2〜64)のDフリップフロップはj−1段目のDフリップフロップ出力をラッチする。つまり、1段目のDフリップフロップにデータが取り込まれた後、データはクロック信号の立ち上がりタイミング毎にDフリップフロップを1段ずつ進んでいき、最終段目のDフリップフロップが保持していたデータがデータ出力端子DOから出力される。
【0061】
また、一方の第1シフトレジスタ21は、奇数番目の転送サイクルで、奇数組目の64ビットシリアルデータをマスタ1側のクロック信号CLK1で入力して保持し、次の転送サイクルで、保持したデータをスレーブ4側のクロック信号CLK2で出力する。また、他方の第2シフトレジスタ22は、偶数番目の転送サイクルで、偶数組目の64ビットシリアルデータをマスタ1側のクロック信号CLK1で入力して保持し、次の転送サイクルで、保持したデータをスレーブ4側のクロック信号CLK2で出力する。
【0062】
また、第2セレクタ32および第4セレクタ34の組み合わせは、特許請求の範囲にいう第1クロック選択手段に該当し、選択信号生成部17の選択信号SEL2およびSEL4に基づき、奇数番目の転送サイクル期間はマスタ1側のクロック信号CLK1を選択し、偶数番目の転送サイクル期間はスレーブ4側のクロック信号CLK2を選択して、第1シフトレジスタ21のクロック端子CKに供給する。
【0063】
また、第3セレクタ33および第4セレクタ34の組み合わせは、特許請求の範囲にいう第2クロック選択手段に該当し、選択信号生成部17の選択信号SEL3およびSEL4に基づき、偶数番目の転送サイクル期間はマスタ1側のクロック信号CLK1を選択し、奇数番目の転送サイクル期間はスレーブ4側のクロック信号CLK2を選択して、第2シフトレジスタ22のクロック端子CKに供給する。
【0064】
なお、第1クロック選択手段および第2クロック選択手段を構成するために第4セレクタ34を追加しているのは、次の理由による。すなわち、第1クロック選択手段では、奇数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は第1シフトレジスタ21のクロック入力を開放状態とするためであり、第2クロック選択手段では、偶数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は第2シフトレジスタ22のクロック入力を開放状態とするためである。
【0065】
また、第1セレクタ31は、特許請求の範囲にいう出力選択手段に該当し、選択信号生成部17の選択信号SEL1に基づき、偶数番目の転送サイクルでは第1シフトレジスタ21の出力を選択し、3番目以降の奇数番目の転送サイクルでは第2シフトレジスタ22の出力を選択して、スレーブ4の受信部11に出力する。
【0066】
なお、第4セレクタ34の構成は、例えば、2つの出力端子間に2個のトランスファーゲートトランジスタを直列接続し、両者の接続点を入力端子として、一方のトランスファーゲートトランジスタのゲート電極には選択信号SEL4を、他方のトランスファーゲートトランジスタのゲート電極には選択信号SEL4の否定論理信号を、それぞれ供給してオンオフ制御するようにすれば良い。また、第1セレクタ31〜第3セレクタ33の各セレクタの構成は、実施例1のセレクタ30と同等で良い。
【0067】
次に、第1セレクタ31〜第4セレクタ34の選択切り替えによる第1シフトレジスタ21および第2シフトレジスタ22の状態遷移について、図5を参照して詳しく説明する。ここで図5は、本実施例の第1シフトレジスタ21および第2シフトレジスタ22の状態遷移を例示する説明図である。同図に示すように、第1シフトレジスタ21および第2シフトレジスタ22は、それぞれ4つの状態を持つ。すなわち、状態S0(初期状態)、状態S10,S20(IDLE状態)、状態S11,S21(データ入力状態)および状態S12,S22(データ出力状態)である。
【0068】
マスタ1からのシリアルデータ転送が開始される以前は、第1シフトレジスタ21および第2シフトレジスタ22は共に初期状態(状態S0)にある。次に、第1転送サイクルにおいて、シリアルデータ転送の開始と共にストローブ信号SSが有効(Lレベル)になると、第1シフトレジスタ21は、その立ち下がりタイミング(ストローブ信号SS:Hレベル→Lレベル)でデータ入力状態(状態S11)に遷移する。ストローブ信号SSが有効(Lレベル)である期間、即ちストローブ信号SSが無効(Hレベル)となるまでの期間は、第1シフトレジスタ21のクロック端子CKにはマスタ1側のクロック信号CLK1が供給されており、第1シフトレジスタ21には、クロック信号CLK1に同期して第1組目の64ビットシリアルデータ(8ビット×8バイト)が順次保持されていく。
【0069】
次に、第1組目の64ビットシリアルデータのマスタ1から第1シフトレジスタ21へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、第1転送サイクルが終了して次の第2転送サイクルに移る。この時、第1シフトレジスタ21はデータ出力状態(状態S12)に遷移する。すなわち、第1シフトレジスタ21のクロック端子CKにはスレーブ4側のクロック信号CLK2が供給され、第1シフトレジスタ21は、クロック信号CLK2に同期して第1組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく。そして、第1組目の64ビットシリアルデータの第1シフトレジスタ21からスレーブ4へのデータ転送が終了すると、第1シフトレジスタ21はIDLE状態(状態S10)に遷移する。
【0070】
また、第2転送サイクルでは、この第1シフトレジスタ21によるデータ出力と並行して、第2シフトレジスタ22ではデータ入力が行われる。すなわち、第2転送サイクルにおいてストローブ信号SSが有効(Lレベル)になると、第2シフトレジスタ22は、その立ち下がりタイミング(ストローブ信号SS:Hレベル→Lレベル)でデータ入力状態(状態S21)に遷移する。ストローブ信号SSが有効(Lレベル)である期間、即ちストローブ信号SSが無効(Hレベル)となるまでの期間は、第2シフトレジスタ22のクロック端子CKにはマスタ1側のクロック信号CLK1が供給されており、第2シフトレジスタ22には、クロック信号CLK1に同期して第2組目の64ビットシリアルデータ(8ビット×8バイト)が順次保持されていく。
【0071】
次に、第2組目の64ビットシリアルデータのマスタ1から第2シフトレジスタ22へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、第2転送サイクルが終了して次の第3転送サイクルに移る。この時、第2シフトレジスタ22はデータ出力状態(状態S22)に遷移する。すなわち、第2シフトレジスタ22のクロック端子CKにはスレーブ4側のクロック信号CLK2が供給され、第2シフトレジスタ22は、クロック信号CLK2に同期して第2組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく。そして、第2組目の64ビットシリアルデータの第2シフトレジスタ22からスレーブ4へのデータ転送が終了すると、第2シフトレジスタ22はIDLE状態(状態S20)に遷移する。
【0072】
また、第3転送サイクルでは、この第2シフトレジスタ22によるデータ出力と並行して、第1シフトレジスタ21ではデータ入力が行われる。すなわち、第3転送サイクルにおいてストローブ信号SSが有効(Lレベル)になると、第1シフトレジスタ21は、その立ち下がりタイミング(ストローブ信号SS:Hレベル→Lレベル)でデータ入力状態(状態S11)に遷移する。このようにして、第1シフトレジスタ21では、奇数番目の転送サイクルで奇数組目の64ビットシリアルデータを入力して保持し、次の転送サイクルで保持したデータをスレーブ4に出力し、また、他方の第2シフトレジスタ22では、偶数番目の転送サイクルで偶数組目の64ビットシリアルデータを入力して保持し、次の転送サイクルで保持したデータをスレーブ4に出力することとなる。
【0073】
こうして、64ビットシリアルデータの組数Lが奇数である場合には、第1シフトレジスタ21は、第L+1転送サイクルにおける状態S12(データ出力状態)で、L組目の64ビットシリアルデータをスレーブ4へ出力した後、初期状態(状態S0)に遷移する。またこのとき、第2シフトレジスタ22はIDLE状態(状態S20)にあり、第L+1転送サイクルの終了と共に初期状態(状態S0)に遷移する。また、64ビットシリアルデータの組数Lが偶数である場合には、第2シフトレジスタ22は、第L+1転送サイクルにおける状態S22(データ出力状態)で、L組目の64ビットシリアルデータをスレーブ4へ出力した後、初期状態(状態S0)に遷移する。またこのとき、第1シフトレジスタ21はIDLE状態(状態S10)にあり、第L+1転送サイクルの終了と共に初期状態(状態S0)に遷移する。
【0074】
次に、第1セレクタ31〜第4セレクタ34の選択切り替えによる第1シフトレジスタ21および第2シフトレジスタ22の動作について、図6に示す説明図、並びに図7〜図10に示すタイムチャートを参照して詳しく説明する。ここで、図6は第1セレクタ31〜第4セレクタ34による選択状態並びに第1シフトレジスタ21および第2シフトレジスタ22の動作状態を転送サイクル別に説明する説明図であり、図6(a)は3組(L:奇数)の64ビットシリアルデータを転送する場合、図6(b)はL組(L:偶数)の64ビットシリアルデータを転送する場合、をそれぞれ示す。また、図7は第1転送サイクルおよび第2転送サイクルにおける各種信号のタイムチャート、図8はシフトレジスタのデータ出力時におけるタイムチャート、図9は第3転送サイクルおよび第4転送サイクルにおける各種信号のタイムチャート、図10は第L転送サイクルおよび第L+1転送サイクルにおける各種信号のタイムチャートである。各タイムチャートにおいて、(a)は転送サイクルを、(b)はストローブ信号SSを、(c)はマスタ1側のクロック信号CLK1を、(d)はマスタ1から送信されるデータ信号DATAiを、(e)は第1シフトレジスタ21に供給されるクロック信号を、(f)は第1シフトレジスタ21に入力されるデータ信号を、(g)は第1シフトレジスタ21から出力されるデータ信号を、(h)は第2シフトレジスタ22に供給されるクロック信号を、(i)は第2シフトレジスタ22に入力されるデータ信号を、(j)は第2シフトレジスタ22から出力されるデータ信号を、それぞれ示す。
【0075】
まず、図7の第1転送サイクルにおいては、図6(a)に示すように、選択信号SEL1〜SEL4に基づき、第1セレクタ31ではIA(第1シフトレジスタ21出力)側が選択され、第2セレクタ32ではIA(クロック信号CLK1)側が選択され、第3セレクタ33ではIB(第4セレクタ34出力)側が選択され、第4セレクタ34ではOA(第2セレクタ32)側が選択される。なお、第4セレクタ34の選択論理はドントケアであり、何れの選択であっても良い。
【0076】
このような選択下において、第1シフトレジスタ21は、ストローブ信号SSが有効(Lレベル)となると(図7(b)参照)、そのHレベルからLレベルへの立ち下がりタイミングでデータ入力状態(状態S11)に遷移して、マスタ1から送信されるデータ信号DATAiを受信する。なお、このとき第1シフトレジスタ21のクロック端子CKには、マスタ1側のクロック信号CLK1が供給されている(図7(e)参照)。このデータ入力状態(状態S11)において、第1シフトレジスタ21では、64ビットシリアルデータ(8ビット×8バイト)がクロック信号CLK1に同期して順次保持されていく(図7(f)参照)。なお、第1シフトレジスタ21へのデータ入力についての詳細なタイムチャートは、バイト間に転送間隔を設けている場合は図14と同様であり、バイト間の転送間隔を設けず連続的に転送を行う場合は図13と同様である。
【0077】
次に、第1組目の64ビットシリアルデータのマスタ1から第1シフトレジスタ21へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、第1転送サイクルが終了して次の第2転送サイクルに移る。この第2転送サイクルにおいては、図6(a)に示すように、選択信号SEL1〜SEL4に基づき、第1セレクタ31ではIA(第1シフトレジスタ21出力)側が選択され、第2セレクタ32ではIB(第4セレクタ34出力即ちクロック信号CLK2)側が選択され、第3セレクタ33ではIA(クロック信号CLK1)側が選択され、第4セレクタ34ではOA(第2セレクタ32)側が選択される。
【0078】
この第2転送サイクルにおいては、第1シフトレジスタ21はデータ出力状態(状態S12)に遷移している。すなわち、上記選択下において、第1シフトレジスタ21のクロック端子CKにはスレーブ4側のクロック信号CLK2が供給され(図7(e)参照)、第1シフトレジスタ21は、クロック信号CLK2に同期して第1組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく(図7(g)参照)。ここで、第1シフトレジスタ21からのバイト単位のデータ出力についての詳細なタイムチャートは図8に示す通りである。なお、図7では、バイト間に転送間隔を設けているが、バイト間の転送間隔を設けず連続的に転送を行っても良い。このようにして、第1組目の64ビットシリアルデータの第1シフトレジスタ21からスレーブ4へのデータ転送が終了すると、第1シフトレジスタ21はIDLE状態(状態S10)に遷移する。
【0079】
また、第2転送サイクルにおいては、この第1シフトレジスタ21によるデータ出力と並行して、第2シフトレジスタ22ではデータ入力が行われる。すなわち、第2転送サイクルにおいてストローブ信号SSが有効(Lレベル)になると(図7(b)参照)、第2シフトレジスタ22は、その立ち下がりタイミング(ストローブ信号SS:Hレベル→Lレベル)でデータ入力状態(状態S21)に遷移する。すなわち、上記選択下において、第2シフトレジスタ22のクロック端子CKにはマスタ1側のクロック信号CLK1が供給され(図7(h)参照)、第2組目の64ビットシリアルデータ(8ビット×8バイト)がクロック信号CLK1に同期して順次保持されていく(図7(i)参照)。なお、第2シフトレジスタ22へのデータ入力についての詳細なタイムチャートは、バイト間に転送間隔を設けている場合は図14と同様であり、バイト間の転送間隔を設けず連続的に転送を行う場合は図13と同様である。
【0080】
次に、第2組目の64ビットシリアルデータのマスタ1から第2シフトレジスタ22へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、第2転送サイクルが終了して次の第3転送サイクル(図9参照)に移る。この第3転送サイクルにおいては、図6(a)に示すように、選択信号SEL1〜SEL4に基づき、第1セレクタ31ではIB(第2シフトレジスタ22出力)側が選択され、第2セレクタ32ではIA(クロック信号CLK1)側が選択され、第3セレクタ33ではIB(第4セレクタ34出力即ちクロック信号CLK2)側が選択され、第4セレクタ34ではOB(第3セレクタ33)側が選択される。
【0081】
この第3転送サイクルにおいては、第2シフトレジスタ22はデータ出力状態(状態S22)に遷移している。すなわち、上記選択下において、第2シフトレジスタ22のクロック端子CKにはスレーブ4側のクロック信号CLK2が供給され(図9(h)参照)、第2シフトレジスタ22は、クロック信号CLK2に同期して第2組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく(図9(j)参照)。ここで、第2シフトレジスタ22からのバイト単位のデータ出力についての詳細なタイムチャートは図8に示す通りである。なお、図9では、バイト間に転送間隔を設けているが、バイト間の転送間隔を設けず連続的に転送を行っても良い。このようにして、第2組目の64ビットシリアルデータの第2シフトレジスタ22からスレーブ4へのデータ転送が終了すると、第2シフトレジスタ22はIDLE状態(状態S20)に遷移する。
【0082】
また、第3転送サイクルにおいては、この第2シフトレジスタ22によるデータ出力と並行して、第1シフトレジスタ21ではデータ入力が行われる。すなわち、第3転送サイクルにおいてストローブ信号SSが有効(Lレベル)になると(図9(b)参照)、第1シフトレジスタ21は、その立ち下がりタイミング(ストローブ信号SS:Hレベル→Lレベル)でデータ入力状態(状態S11)に遷移する。すなわち、上記選択下において、第1シフトレジスタ21のクロック端子CKにはマスタ1側のクロック信号CLK1が供給され(図9(c)参照)、第3組目の64ビットシリアルデータ(8ビット×8バイト)がクロック信号CLK1に同期して順次保持されていく(図9(f)参照)。
【0083】
次に、第3組目の64ビットシリアルデータのマスタ1から第1シフトレジスタ21へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、第3転送サイクルが終了して最終転送サイクルである第4転送サイクルに移る。この第4転送サイクルにおいては、図6(a)に示すように、選択信号SEL1〜SEL4に基づき、第1セレクタ31ではIA(第1シフトレジスタ21出力)側が選択され、第2セレクタ32ではIB(第4セレクタ34出力即ちクロック信号CLK2)側が選択され、第3セレクタ33ではIB(第4セレクタ34出力即ち開放状態)側が選択され、第4セレクタ34ではOA(第2セレクタ32)側が選択される。
【0084】
この第4転送サイクルにおいては、第1シフトレジスタ21はデータ出力状態(状態S12)に遷移している。すなわち、上記選択下において、第1シフトレジスタ21のクロック端子CKにはスレーブ4側のクロック信号CLK2が供給され(図9(e)参照)、第1シフトレジスタ21は、クロック信号CLK2に同期して第3組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく(図9(g)参照)。ここで、第1シフトレジスタ21からのバイト単位のデータ出力についての詳細なタイムチャートは図8に示す通りである。なお、図7では、バイト間に転送間隔を設けているが、バイト間の転送間隔を設けず連続的に転送を行っても良い。このようにして、第3組目の64ビットシリアルデータの第1シフトレジスタ21からスレーブ4へのデータ転送が終了すると、第1シフトレジスタ21は初期状態(状態S0)に遷移する。またこのとき、第2シフトレジスタ22はIDLE状態(状態S20)にあり、第4転送サイクルの終了と共に初期状態(状態S0)に遷移する。
【0085】
以上の説明から、L組の64ビットシリアルデータを転送する際には、基本的に、第3転送サイクル(奇数番目の転送サイクル)と第2転送サイクル(偶数番目の転送サイクル)を順繰りに繰り返せばよいことが分かる。基本的に、第1転送サイクルにおける選択信号SEL1〜SEL4の設定は、第3転送サイクルにおける設定としても良いが、非動作状態となるべき第2シフトレジスタ22に対してスレーブ4側のクロック信号CLK2が供給されないよう(第2シフトレジスタ22のクロック端子CKを開放状態)にするために別設定とした。また同様に、最終の第4転送サイクルにおける選択信号SEL1〜SEL4の設定は、第2転送サイクルにおける設定としても良いが、非動作状態となるべき第2シフトレジスタ22に対してスレーブ4側のクロック信号CLK2が供給されないようにするために別設定とした。
【0086】
また、以上の説明は、64ビットシリアルデータの組数L=3で、奇数組の64ビットシリアルデータを転送する場合についてであったが、偶数組の64ビットシリアルデータを転送する場合には、最終の転送サイクルにおける選択信号SEL1〜SEL4の設定は、図6(a)の第4転送サイクルとは異なる設定となる。次に、L組(L:偶数)の64ビットシリアルデータを転送する場合について、図6(b)および図10を参照して説明する。
【0087】
まず、最終転送サイクルより1つ前の第L転送サイクルにおいては、図6(b)に示す如く第2転送サイクルと同様に、選択信号SEL1〜SEL4に基づき、第1セレクタ31ではIA(第1シフトレジスタ21出力)側が選択され、第2セレクタ32ではIB(第4セレクタ34出力即ちクロック信号CLK2)側が選択され、第3セレクタ33ではIA(クロック信号CLK1)側が選択され、第4セレクタ34ではOA(第2セレクタ32)側が選択される。
【0088】
この第L転送サイクルにおいては、第1シフトレジスタ21はデータ出力状態(状態S12)に遷移している。すなわち、上記選択下において、第1シフトレジスタ21のクロック端子CKにはスレーブ3側のクロック信号CLK2が供給され(図10(e)参照)、第1シフトレジスタ21は、クロック信号CLK2に同期して第L−1組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく(図10(g)参照)。そして、第L−1組目の64ビットシリアルデータの第1シフトレジスタ21からスレーブ4へのデータ転送が終了すると、第1シフトレジスタ21はIDLE状態(状態S10)に遷移する。
【0089】
また、第L転送サイクルにおいては、この第1シフトレジスタ21によるデータ出力と並行して、第2シフトレジスタ22ではデータ入力が行われる。すなわち、第L転送サイクルにおいてストローブ信号SSが有効(Lレベル)になると(図10(b)参照)、第2シフトレジスタ22は、その立ち下がりタイミングでデータ入力状態(状態S21)に遷移する。すなわち、上記選択下において、第2シフトレジスタ22のクロック端子CKにはマスタ1側のクロック信号CLK1が供給され(図10(h)参照)、第L組目の64ビットシリアルデータ(8ビット×8バイト)がクロック信号CLK1に同期して順次保持されていく(図10(i)参照)。
【0090】
次に、第L組目の64ビットシリアルデータのマスタ1から第2シフトレジスタ22へのデータ転送が終了すると、ストローブ信号SSが無効(Hレベル)となり、第L転送サイクルが終了して最終の第L+1転送サイクルに移る。この第L+1転送サイクルにおいては、図6(b)に示すように、選択信号SEL1〜SEL4に基づき、第1セレクタ31ではIB(第2シフトレジスタ22出力)側が選択され、第2セレクタ32ではIB(第4セレクタ34出力即ち開放状態)側が選択され、第3セレクタ33ではIB(第4セレクタ34出力即ちクロック信号CLK2)側が選択され、第4セレクタ34ではOB(第3セレクタ33)側が選択される。
【0091】
この第L+1転送サイクルにおいては、第2シフトレジスタ22はデータ出力状態(状態S22)に遷移している。すなわち、上記選択下において、第2シフトレジスタ22のクロック端子CKにはスレーブ3側のクロック信号CLK2が供給され(図10(h)参照)、第2シフトレジスタ22は、クロック信号CLK2に同期して第2組目の64ビットシリアルデータ(8ビット×8バイト)を順次シフトしてスレーブ4に出力していく(図10(j)参照)。そして、第L組目の64ビットシリアルデータの第2シフトレジスタ22からスレーブ4へのデータ転送が終了すると、第2シフトレジスタ22は初期状態(状態S0)に遷移する。またこのとき、第1シフトレジスタ21はIDLE状態(状態S10)にあり、第L+1転送サイクルの終了と共に初期状態(状態S0)に遷移する。
【0092】
なお、スレーブ4(受信部11)では、例えば、1バイト毎にシリアルインタフェースの受信バッファで受信した後、順次、メモリ等の記憶手段に退避させており、データ出力状態(状態S12または状態S22)のバイト間の転送間隔やIDLE状態(状態S10または状態S20)の期間を、この処理に当てることができる。より具体的に、スレーブ4(受信部11)における退避処理は、バイト間に転送間隔を設けた転送の場合には、データ出力状態(状態S12または状態S22)のバイト間の転送間隔の期間に行い、バイト間に転送間隔を設けない連続転送の場合には、IDLE状態(状態S10または状態S20)の期間に行う。
【0093】
以上説明したように、本実施例のデータ受信装置、データ転送制御装置およびデータ転送システムでは、マスタ1から送られてくるL組のN×Mビット(N=M=8)のシリアルデータをL+1個の転送サイクルで受信する際に、奇偶サイクル判別部16により転送サイクルの奇数番目または偶数番目を判別し、第1シフトレジスタ21では、奇数番目の転送サイクルで、奇数組目の64ビットシリアルデータをマスタ1側のクロック信号CLK1で入力して保持し、次の転送サイクルで、保持したデータをスレーブ4側のクロック信号CLK2でスレーブ4に出力し、また、第2シフトレジスタ22では、偶数番目の転送サイクルで、偶数組目の64ビットシリアルデータをマスタ1側のクロック信号CLK1で入力して保持し、次の転送サイクルで、保持したデータをスレーブ4側のクロック信号CLK2でスレーブ4に出力する。
【0094】
より具体的には、第1クロック選択手段(第2セレクタ32および第4セレクタ34)により、奇数番目の転送サイクル期間はマスタ1側のクロック信号CLK1を選択し、偶数番目の転送サイクル期間はスレーブ4側のクロック信号CLK2を選択して第1シフトレジスタ21に供給し、また、第2クロック選択手段(第3セレクタ33および第4セレクタ34)により、偶数番目の転送サイクル期間はマスタ1側のクロック信号CLK1を選択し、奇数番目の転送サイクル期間はスレーブ4側のクロック信号CLK2を選択して第2シフトレジスタ22に供給するようにしている。
【0095】
このように、第1シフトレジスタ21および第2シフトレジスタ22において、1つの転送サイクル期間で、当該シフトレジスタに保持したデータを、スレーブ4側のクロック信号CLK2に同期したシフト動作によりスレーブ4(受信部11)に出力するので、マスタ1から高速クロック(クロック信号CLK1)で転送されるシリアルデータを、スレーブ4側の相対的に低速なクロック(クロック信号CLK2)で受信することができる。
【0096】
つまり、スレーブ4側のクロック信号CLK2は、1つの転送サイクル期間に、第1シフトレジスタ21または第2シフトレジスタ22からN×Mビットシリアルデータをシフト出力し得る周波数であれば良く、より低速なクロックを使用することができる。また、転送サイクル周期を任意設定可能な通信仕様である場合には、スレーブ4側のクロック信号CLK2は、マスタ1側のクロック信号CLK1に依らず、より低速なクロックを使用することができる。
【0097】
その結果として、スレーブ4は、通信仕様が異なる様々なマスタデバイスから送信されるシリアルデータを受信することができ、また、スレーブ4の動作周波数を低く抑えることができることから、スレーブ4の消費電力を低減することができる。特に、2線式計器などの消費電力(消費電流)に制限がある機器に適用する場合には、消費電力の制限下で通信仕様に応じた機器設計を容易に行うことができる。
【0098】
また、本実施例において追加される構成要素は、データ転送制御装置6(第1シフトレジスタ21、第2シフトレジスタ22、第1セレクタ31、第2セレクタ32、第3セレクタ33および第4セレクタ34)、並びに受信部11の奇遇サイクル判定部16および選択信号生成部17であり、これらを実現する回路は比較的安価な汎用部品(ディスクリート部品等)を用いて構成できるため、追加回路によるコスト増を抑制することができる。また、マスタ側でクロックが高速化された場合でも、転送サイクル周期の調整によりスレーブ4の動作周波数を高速化する必要がなく、さらに、部品改廃や通信仕様に応じた設計変更が必要な場合であっても、スレーブ4の動作周波数を抑制できることから、代替部品の選定等もオーバースペックの部品を使用することなく容易に行うことができ、安価な汎用部品を用いて容易に装置コストを抑制した設計変更が可能となる。
【0099】
また、通信仕様が異なる様々なマスタデバイスから送信されるシリアルデータを受信することができるので、データ転送制御装置6およびスレーブ4を一体のものとして扱えば、これらを標準化されたデータ受信装置とすることができる。
【0100】
さらに、本実施例の変形として、スレーブ4(受信部11)の奇遇サイクル判定部16および選択信号生成部17をデータ転送制御装置6に移して、データ転送制御装置6内でストローブ信号SSに基づき選択信号奇遇サイクル判定部16および選択信号生成部17を生成する構成とすることができる。この変形例に係るデータ転送システムの構成図を図11に示す。
【0101】
本変形例のデータ転送システムは、データ送信装置としてのマスタ1と、内部に奇遇サイクル判定部36および選択信号生成部37を備えたデータ転送制御装置7と、データ受信装置としてのスレーブ2と、を備えた構成であり、マスタ1およびスレーブ2のそれぞれの構成は従来のものと同等である。このような構成とすれば、データ転送制御装置7を標準化されたモジュールとして扱うことができる。つまり、既存のデータ転送システム(例えば図12に示した構成)において、マスタ側クロックの高速化などの変更が生じた場合に、このデータ転送制御装置7をマスタおよびスレーブ間に組み込むことで、スレーブ側の動作周波数等の変更をすることなく、マスタおよびスレーブ間のシリアルデータ転送を実現することができるようになる。
【0102】
なお、本実施例および変形例では、1つの転送サイクルで64ビットシリアルデータ(N=M=8)を受信することとしたが、これに限定されることなく、NおよびMを任意の正整数として良い。例えば、N=8,M=1とした場合には、第1シフトレジスタ21および第2シフトレジスタ22を8ビットで構成し、マスタから送られてくるL×8組の8ビットのシリアルデータをL×8+1個の転送サイクルで受信することとなる。
【0103】
さらに、第1シフトレジスタ21および第2シフトレジスタ22の実現は、ディスクリート部品による構成に限らず、PLA(Programmable Logic Array)、PLD(Programmable
Logic Device)またはFPGA(Field-Programmable Gate Array)等のデバイスを用いて構成しても良い。
【符号の説明】
【0104】
1 マスタ
2,3,4 スレーブ
5,6,7 データ転送制御装置
10,11 受信部
12 LCDドライバ
13 LCD表示パネル
20,21,22 シフトレジスタ
30,31,32,33,34 セレクタ
15,17,37 選択信号生成部
16,36 奇遇サイクル判定部
CLK1,CLK2 クロック信号
DATAi データ信号
SS ストローブ信号
SEL,SEL2〜SEL4 選択信号


【特許請求の範囲】
【請求項1】
マスタから送られてくるN×Mビット(N,Mはそれぞれ正整数)のシリアルデータを1つの転送サイクルで受信するデータ受信装置であって、
前記N×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、前記転送サイクルの残りの期間で、保持したデータを当該データ受信装置側のクロックで出力するシフトレジスタ、
を備えたことを特徴とするデータ受信装置。
【請求項2】
前記N×Mビットシリアルデータの転送タイミングを規定するストローブ信号に基づき、該ストローブ信号が有効である期間は前記マスタ側のクロックを選択し、該ストローブ信号が無効である期間の内の所定期間は当該データ受信装置側のクロックを選択して前記シフトレジスタに供給するクロック選択手段、
を備えたことを特徴とする請求項1に記載のデータ受信装置。
【請求項3】
マスタから送られてくるL組のN×Mビット(N,M,Lはそれぞれ正整数)のシリアルデータをL+1個の転送サイクルで受信するデータ受信装置であって、
前記転送サイクルの奇数番目または偶数番目を判別する奇偶サイクル判別手段と、
奇数番目の転送サイクルで、奇数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを当該データ受信装置側のクロックで出力する第1シフトレジスタと、
偶数番目の転送サイクルで、偶数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを当該データ受信装置側のクロックで出力する第2シフトレジスタと、
を備えたことを特徴とするデータ受信装置。
【請求項4】
奇数番目の転送サイクル期間は前記マスタ側のクロックを選択し、偶数番目の転送サイクル期間は当該データ受信装置側のクロックを選択して前記第1シフトレジスタに供給する第1クロック選択手段と、
偶数番目の転送サイクル期間は前記マスタ側のクロックを選択し、奇数番目の転送サイクル期間は当該データ受信装置側のクロックを選択して前記第2シフトレジスタに供給する第2クロック選択手段と、
を備えたことを特徴とする請求項3に記載のデータ受信装置。
【請求項5】
前記第1クロック選択手段は、奇数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第1シフトレジスタのクロック入力を開放状態とし、
前記第2クロック選択手段は、偶数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第2シフトレジスタのクロック入力を開放状態とすることを特徴とする請求項4に記載のデータ受信装置。
【請求項6】
1つの転送サイクルで、マスタ側から送られてくるN×Mビット(N,Mはそれぞれ正整数)のシリアルデータを受信して、スレーブ側に送信するデータ転送制御装置であって、
前記N×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、前記転送サイクルの残りの期間で、保持したデータを前記スレーブ側のクロックで出力するシフトレジスタ、
を備えたことを特徴とするデータ転送制御装置。
【請求項7】
前記N×Mビットシリアルデータの転送タイミングを規定するイネーブル信号に基づき、該イネーブル信号が有効である期間は前記マスタ側のクロックを選択し、該イネーブル信号が無効である期間の内の所定期間は前記スレーブ側のクロックを選択して前記シフトレジスタに供給するクロック選択手段、
を備えたことを特徴とする請求項6に記載のデータ転送制御装置。
【請求項8】
L+1個の転送サイクルで、マスタから送られてくるL組のN×Mビット(N,M,Lはそれぞれ正整数)のシリアルデータを受信して、スレーブ側に送信するデータ転送制御装置であって、
前記転送サイクルの奇数番目または偶数番目を判別する奇偶サイクル判別手段と、
奇数番目の転送サイクルで、奇数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを前記スレーブ側のクロックで出力する第1シフトレジスタと、
偶数番目の転送サイクルで、偶数組目のN×Mビットシリアルデータを前記マスタ側のクロックで入力して保持し、次の転送サイクルで、保持したデータを前記スレーブ側のクロックで出力する第2シフトレジスタと、
偶数番目の転送サイクルでは前記第1シフトレジスタの出力を選択し、3番目以降の奇数番目の転送サイクルでは前記第2シフトレジスタの出力を選択して、前記スレーブに出力する出力選択手段と、
を備えたことを特徴とするデータ転送制御装置。
【請求項9】
奇数番目の転送サイクル期間は前記マスタ側のクロックを選択し、偶数番目の転送サイクル期間は前記スレーブ側のクロックを選択して前記第1シフトレジスタに供給する第1クロック選択手段と、
偶数番目の転送サイクル期間は前記マスタ側のクロックを選択し、奇数番目の転送サイクル期間は前記スレーブ側のクロックを選択して前記第2シフトレジスタに供給する第2クロック選択手段と、
を備えたことを特徴とする請求項8に記載のデータ転送制御装置。
【請求項10】
前記第1クロック選択手段は、奇数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第1シフトレジスタのクロック入力を開放状態とし、
前記第2クロック選択手段は、偶数番目の転送サイクルがL+1番目の転送サイクルであるときは、該転送サイクル期間は前記第2シフトレジスタのクロック入力を開放状態とすることを特徴とする請求項9に記載のデータ転送制御装置。
【請求項11】
マスタ並びに請求項1〜請求項5の何れか1項に記載のデータ受信装置、または、マスタ、スレーブ並びに請求項6〜請求項10の何れか1項に記載のデータ転送制御装置の何れかを備えたことを特徴とするデータ転送システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate