(57)【特許請求の範囲】
【請求項１】
データ信号線およびクロック信号線によりマスタデバイスと接続され、前記クロック信号線を介して前記マスタデバイスから入力されたクロック信号に同期して、前記データ信号線を介して前記マスタデバイスとシリアルにデータの送受信を行うシリアルインタフェースバス送受信回路において、
前記データ信号線を介して前記マスタデバイスから入力された前記データおよび前記クロック信号線を介して前記マスタデバイスから入力されたクロック信号をもとに、前記マスタデバイスとの間のデータ送受の停止および前記データ送受の開始を検出して当該検出結果を出力するとともに、前記クロック信号の信号レベルによりリセットされるデータ送受停止・開始検出手段と、
該データ送受停止・開始検出手段による検出結果をもとに時限動作を行い、設定された時間経過後にストップ条件認識信号およびスタート条件認識信号を出力する条件認識信号時限出力手段と、
前記データ送受のための初期化を指示する初期化指示信号を前記条件認識信号時限出力手段の出力をもとに生成し出力する初期化指示信号生成手段と、
前記クロック信号をもとに前記初期化指示信号生成手段が出力した前記初期化指示信号をリセットする初期化指示信号リセット手段と、
前記初期化指示信号生成手段の出力する初期化指示信号をもとにデータ送受のための初期化を実行し、前記初期化指示信号リセット手段により前記初期化指示信号がリセットされた後、前記クロック信号と同期してデータを前記マスタデバイスとの間で送受する制御手段とを備えていることを特徴とするシリアルインタフェースバス送受信回路。
【請求項２】
初期化指示信号生成手段は、条件認識信号時限出力手段の出力またはデータ送受停止・開始検出手段が検出したマスタデバイスとの間のデータ送受の停止、前記データ送受の開始の検出結果をもとに、データ送受のための初期化を指示する初期化指示信号を生成し出力することを特徴とする請求項１記載のシリアルインタフェースバス送受信回路。
【請求項３】
データ信号線を介して入力されたデータとクロック信号線を介して入力されたクロック信号との相互入力条件を判定するために使用する判定データを格納する判定データ格納手段と、
該判定データ格納手段に格納した判定データをもとに、前記相互入力条件を判定する相互入力条件判定手段と、
該相互入力条件判定手段による判定結果を格納する判定結果格納手段と、
該判定結果格納手段に格納した前記判定結果をマスタデバイスから読み出す判定結果読出手段とを備えたことを特徴とする請求項１または請求項２記載のシリアルインタフェースバス送受信回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ信号線およびクロック信号線の２本の信号線により情報の転送を行うシリアルインタフェースバス送受信回路に関するものである。
【０００２】
【従来の技術】
従来のシリアルインタフェースバス送受信回路としてはＩ2 Ｃバスがあり、ＴＶ製品やＶＴＲ製品などの電気回路に用いられるＩＣ間の情報転送に用いられている。
図６は、従来のシリアルインタフェースバス送受信回路の構成を示す回路図であり、図において、１はシリアルインタフェースバスのデータが出力されるデータ信号線、２はシリアルインタフェースバスのクロック信号が出力されるクロック信号線であり、このシリアルインタフェースバスは図示していない例えばマイクロコントローラなどのマスタデバイスと接続されている。３はデータ信号線１へ出力されたデータをこのシリアルインタフェースバス送受信回路へ取り込むためのデータ用入力バッファ回路、４は当該シリアルインタフェースバス送受信回路からデータをデータ信号線１へ出力するためのデータ用出力バッファ回路、５はクロック信号線２へ出力されたクロック信号を当該シリアルインタフェースバス送受信回路へ取り込むためのクロック用入力バッファ回路である。
【０００３】
６はストップ条件およびスタート条件を生成するストップ・スタート条件生成回路であり、ストップ条件検出用Ｄフリップフロップ６ａ、スタート条件検出用Ｄフリップフロップ６ｂ、ノア回路６ｃ、ラッチ回路６ｄ、Ｄフリップフロップ６ｅ、Ｄフリップフロップ６ｆを備えている。
スタート条件検出用Ｄフリップフロップ６ｂのリセット端子は、前記マスタデバイスからクロック信号線２へ供給されたクロック信号がクロック用入力バッファ回路５を介して出力されるクロック信号供給ライン（以下、ＳＣＬという）と接続される。また、スタート条件検出用Ｄフリップフロップ６ｂのクロック信号入力端子は、前記マスタデバイスからデータ信号線１へ供給されたデータがデータ用入力バッファ回路３を介して出力されるデータ供給ライン（以下、ＳＤＡという）と接続されている。また、スタート条件検出用Ｄフリップフロップ６ｂのデータ端子はＶｃｃラインと接続されている。
ストップ条件検出用Ｄフリップフロップ６ａのリセット端子は、スタート条件検出用Ｄフリップフロップ６ｂの反転Ｑ￣出力端子と接続されている。また、ストップ条件検出用Ｄフリップフロップ６ａのクロック信号入力端子は、前記ＳＤＡと接続されている。また、スタート条件検出用Ｄフリップフロップ６ａのデータ端子はＶｃｃラインと接続されている。
【０００４】
ノア回路６ｃのそれぞれの入力端子は、一方の入力端子がストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子と接続され、他方の入力端子がスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子と接続されている。また、ノア回路６ｃの出力端子はラッチ回路６ｄのセット端子およびＤフリップフロップ６ｆのリセット端子と接続されている。
【０００５】
ラッチ回路６ｄの非反転Ｑ出力端子はＤフリップフロップ６ｅのデータ端子と接続され、リセット端子はＤフリップフロップ６ｆの反転Ｑ￣出力端子と接続されており、ラッチ回路６ｄの反転Ｑ￣出力端子からはシリアルインタフェース動作の初期化を行うためのバスフリー信号（ＢＵＳ  ＦＲＥＥ）が出力される。
【０００６】
Ｄフリップフロップ６ｅおよびＤフリップフロップ６ｆのクロック信号入力端子は前記ＳＣＬと接続され、Ｄフリップフロップ６ｅの非反転Ｑ出力端子はＤフリップフロップ６ｆのデータ端子と接続されている。
【０００７】
７は制御論理部、８は８ビットのデータを直並列変換または並直列変換する８ビットシフトレジスタ、９はサブアドレスを内部状態として保持し出力するＮビットカウンタ、１０は８ビットシフトレジスタ８から出力された内部情報またはアクノレッジを出力する出力選択回路、１１は出力選択回路１０の出力に対しバス規格で規定する遅延量を付加するための遅延回路、１２および１４はデータ情報が書き込まれるサブアドレスをデコードするアドレスデコーダ、１３はアドレスデコーダ１２のデコード出力によりデータ情報が書き込まれる内部レジスタ、１５はアドレスデコーダ１４のデコード出力によりデータ情報が書き込まれる内部レジスタである。１６および１８は内部情報を読み出すためのサブアドレスをデコードするアドレスデコーダ、１７はアドレスデコーダ１６のデコード出力により内部情報を読み出すための情報選択素子、１９はアドレスデコーダ１８のデコード出力により内部情報を読み出すための情報選択素子である。
【０００８】
制御論理部７は、データ用入力バッファ回路３を介して前記ＳＤＡへ出力されたデータ、クロック用入力バッファ回路５を介して前記ＳＣＬへ出力されたクロック信号、ラッチ回路６ｄの反転Ｑ￣出力端子から出力されたバスフリー信号、および８ビットシフトレジスタ８により変換されたデータが供給され、これら各信号をもとに操作信号ＰＩＤＳＣ、ＳＲ８Ｔ、ＤＡＴＡＯＵＴＥＮ、ＡＣＫＯＵＴ、ＳＡＥＰ、ＳＡＬＤＣ、ＳＴＲＢＣ、ＬＱＢＯＥＣを生成し、各制御信号線へ出力する。ＰＩＤＳＣは読み出された内部情報を８ビットシフトレジスタ８へロードするための操作信号、ＳＲ８Ｔは８ビットシフトレジスタ８のシフトタイミングを規定する操作信号、ＤＡＴＡＯＵＴＥＮは出力選択回路１０からの内部情報の出力を制御する操作信号、ＡＣＫＯＵＴは出力選択回路１０からのアクノレッジの出力を制御する操作信号、ＳＡＥＰはＮビットカウンタ９の内部状態を‘＋１’更新するための操作信号である。ＳＡＬＤＣはＮビットカウンタ９へサブアドレス情報をロードするための操作信号である。ＳＴＲＢＣは内部レジスタ１３，１５へデータ情報を書き込むための操作信号である。ＬＱＢＯＥＣは読み出された内部情報を８ビットシフトレジスタ８へ与えるための操作信号である。
【０００９】
次に動作について説明する。
図７は、このシリアルインタフェースバス送受信回路の動作を示すタイミングチャートである。
先ず、ＳＣＬ上のクロック信号レベルが‘Ｈ’レベルのときのＳＤＡ上のデータの立ち上がりエッジを検出することでＤフリップフロップ６ａがストップ条件を検出する。Ｄフリップフロップ６ａの非反転Ｑ出力端子からのストップ条件検出出力はノア回路６ｃを経てラッチ回路６ｄのセット端子およびＤフリップフロップ６ｆのリセット端子へ与えられる。この結果、ラッチ回路６ｄはセットされて、ラッチ回路６ｄの反転Ｑ￣出力であるバスフリー信号が有意となり制御論理部７の動作を初期化する。引き続いてＳＣＬ上のクロック信号レベルが‘Ｈ’レベルのときのＳＤＡ上のデータの立ち下がりエッジを検出することでＤフリップフロップ６ｂがスタート条件を検出する。Ｄフリップフロップ６ｂの反転Ｑ￣出力端子からの出力はＤフリップフロップ６ａをリセットして、Ｄフリップフロップ６ａから出力されていたストップ条件検出出力を消す。Ｄフリップフロップ６ｂの非反転Ｑ出力端子からのスタート条件検出出力は、ノア回路６ｃを経てラッチ回路６ｄのセット端子およびＤフリップフロップ６ｆのリセット端子へ与えられ、ラッチ回路６ｄはセット状態を維持し、制御論理部７は前記初期化を継続する。
【００１０】
次いで、シリアル転送操作が開始されて、ＳＣＬ上に負極性のクロック信号がマスタデバイスから供給される。この結果、最初の前記クロック信号の‘Ｌ’レベルによりＤフリップフロップ６ｂはリセットされ、Ｄフリップフロップ６ｂの非反転Ｑ出力端子から出力されていたスタート条件検出出力は消える。この状態ではラッチ回路６ｄはセット状態を維持しており前記バスフリー信号は有意である。
【００１１】
前記最初のクロック信号の立ち下がりエッジにより、ラッチ回路６ｃの非反転Ｑ出力はＤフリップフロップ６ｅへ伝わり、さらに前記最初のクロック信号の立ち上がりエッジにより、Ｄフリップフロップ６ｅへ伝わったラッチ回路６ｃの非反転Ｑ出力はＤフリップフロップ６ｆへ伝わり、この結果、Ｄフリップフロップ６ｆの反転Ｑ￣出力によりラッチ回路６ｃはセット状態からリセット状態へ移行する。前記バスフリー信号はこの時点で非有意となって、制御論理部７は動作を開始する。
【００１２】
制御論理部７が動作を開始した状態で、始めにＳＤＡ上にデバイスアドレス情報がマスタデバイスから送られてくる。このデバイスアドレス情報は、８ビットシフトレジスタ８へ入力される。８ビットシフトレジスタ８は、制御論理部７から出力される操作信号ＳＲ８Ｔにより駆動されて、前記デバイスアドレス情報の８ビット転送終了時には当該デバイスアドレス情報をラインＬＤＢ〈７：０〉へ出力する。このラインＬＤＢ〈７：０〉へ出力されたデバイスアドレス情報が当該シリアルインタフェースバス送受信回路のデバイスアドレスと一致している場合には、制御論理部７は操作信号ＡＣＫＯＵＴを有意にすると同時に出力選択回路１０を操作信号ＤＡＴＡＯＵＴＥＮにより制御して、出力選択回路１０からアクノレッジ信号を出力する。この結果、データ信号線１には‘Ｌ’レベルのアクノレッジ信号が出力される。一方、一致していない場合には、制御論理部７は操作信号ＡＣＫＯＵＴを有意にしないで内部動作を停止する。
なお、アクノレッジ期間にはマスタデバイスは、データ信号線１を開放することによりスレーブのアクノレッジを監視している。
【００１３】
デバイスアドレス情報が当該シリアルインタフェースバス送受信回路のデバイスアドレスと一致しており、‘Ｌ’レベルのアクノレッジ信号が出力されるとともにデバイスアドレスのＬＳＢが‘Ｌ’レベルである場合には、データ情報の書き込みシーケンスが開始される。このシーケンスでは、サブアドレス情報がマスタデバイスからデータ信号線１を介して送られてくる。このサブアドレス情報の８ビット転送終了時には８ビットシフトレジスタ８は当該サブアドレス情報をラインＬＤＢ〈７：０〉へ出力する。
【００１４】
制御論理部７は、操作信号ＡＣＫＯＵＴを有意にすると同時に操作信号ＤＡＴＡＯＵＴＥＮで制御して出力選択回路１０の出力にアクノレッジ信号を出力する。このとき同時に制御論理部７の出力する操作信号ＳＡＬＤＣによりラインＬＤＢ＜７：０＞へ出力されたサブアドレス情報の値をＮビットカウンタ９にロードし、ラインＬＡＢ＜Ｎ−１：０＞へ出力されているサブアトレス情報を更新する。次に、マスタデバイスから送られてくる書き込みデータ情報が入力され、８ビット転送終了時には８ビットシフトレジスタ８は前記書き込みデータ情報をラインＬＤＢ〈７：０〉へ出力する。制御論理部７は操作信号ＡＣＫＯＵＴを有意にしてデータ信号線１に‘Ｌ’レベルのアクノレッジ信号を出力すると同時に内部レジスタへデータ情報の書き込みを行うための操作信号ＳＴＲＢＣを有意にする。この結果、アドレスデコーダ１２，１４の中で、ラインＬＡＢ〈Ｎ−１：０〉へ出力されたサブアドレスに対応するアドレスデコーダだけが前記操作信号ＳＴＲＢＣの有意期間中にラインＬＤＢ〈７：０〉上の書き込みデータを内部レジスタ１３または内部レジスタ１５に格納する。
【００１５】
以降、引き続いて書き込みデータ情報が８ビット入力される毎に、制御論理部７の出力する操作信号ＳＡＥＰによりＮビットカウンタ９の内容が‘＋１’更新される。そして、ラインＬＡＢ〈Ｎ−１：０〉上のサブアドレスが更新され前記内部レジスタへの書き込みデータの更新動作が繰り返される。ＳＴＯＰ条件の検出もしくは再ＳＴＡＲＴ条件の検出により書き込みデータ更新動作は終了する。
【００１６】
デバイスアドレス情報に対し‘Ｌ’レベルのアクノレッジ信号が出力され、かつデバイスアドレスのＬＳＢが‘Ｈ’レベルである場合にはデータ情報の読み出しシーケンスが開始される。‘Ｌ’レベルのアクノレッジ信号を出力した直後に、アドレスデコーダ１６，１８の中でラインＬＡＢ〈Ｎ−１：０〉上に出力されているサブドレスに対応するアドレスデコーダだけが、操作信号ＬＱＢＯＥＣの有意期間中に読み出しデータをラインＬＱＢ〈７：０〉上に出力する。操作信号ＬＱＢＯＥＣの有意期間が十分に覆うタイミングで制御論理部７により生成され出力された操作信号ＰＩＤＳＣによりラインＬＱＢ〈７：０〉上の前記読み出しデータが８ビットシフトレジスタ８にロードされる。入力されるＳＣＬ上のクロック信号の立ち上がりエッジとタイミングを同じにして、制御論理部７から出力される操作信号ＳＲ８Ｔにより８ビットシフトレジスタ８は読み出しデータをシリアルデータに変換し出力選択回路１０へ出力する。制御論理部７の出力する操作信号ＤＡＴＡＯＵＴＥＮにより、出力選択回路１０は前記シリアルデータに変換された前記読み出しデータを出力する。
なお、出力選択回路１０から出力された前記読み出しデータは遅延回路１１によりバス規格が規定する遅延が施されてデータ信号線１へ出力される。
【００１７】
８ビット出力後にマスタデバイスがＳＤＡ上のデータを‘Ｌ’操作している場合には、制御論理部７の出力する操作信号ＳＡＥＰによりＮビットカウンタ９の内部状態は‘＋１’更新され、ラインＬＡＢ〈Ｎ−１：０〉上のサブアドレスを更新し読み出しデータ出力動作を繰り返す。８ビット出力後にマスタデバイスがＳＤＡ上のデータを‘Ｈ’操作している場合には、データ信号線１を解放する状態で内部動作を停止する。
【００１８】
このようにシリアルインタフェースバス送受信回路をスレーブとしてマスタデバイスとの間で情報転送を行うためには、ＳＣＬ上の信号レベルが‘Ｈ’レベルのときのＳＤＡ上のデータが‘Ｈ’レベルから‘Ｌ’レベルへ変化することで開始条件をマスタデバイスが生成し、またＳＣＬ上の信号レベルが‘Ｈ’レベルのときのＳＤＡ上のデータが‘Ｌ’レベルから‘Ｈ’レベルへ変化することでマスタデバイスが停止条件を生成する。また、ＳＣＬ上の信号レベルが‘Ｈ’レベルのときのＳＤＡ上のデータの状態は一定でなければならず、‘Ｌ’レベルのときのみ状態変更が許される。また、これらの定義を成立させるためにＳＣＬ上の信号レベルが‘Ｈ’レベルから‘Ｌ’レベルへの変化を起点として最低３００ｎｓｅｃのＳＤＡ上のデータが変化してはいけないＳＤＡ信号ホールド時間を設けるなどのタイミング制約条件が決められている。
【００１９】
【発明が解決しようとする課題】
従来のシリアルインタフェースバス送受信回路は以上のように構成されているので、マスタデバイスに接続された複数のスレーブの中で前記ＳＤＡ信号ホールド時間を設けるというタイミング制約条件を満足していないシリアルインタフェースバス送受信回路が存在すると、他のスレーブにとってＳＤＡ上のデータとＳＣＬ上のクロック信号とが同時的に変化する場合が生じることになって誤動作する可能性が大きくなる課題があった。
【００２０】
このような誤動作を引き起こす原因は、バスに複数のスレーブを接続した状態においては、バスラインの保有する抵抗値や寄生容量およびバスに接続するスレーブの入力容量が各スレーブ入力端でのＳＤＡ上の信号とＳＣＬ上の信号の伝搬遅延量をばらつかせるため、他のスレーブへのＳＤＡ上のデータとＳＣＬ上のクロック信号とが同時的に変化する場合が生じるからである。
この誤動作についてさらに説明すると、誤動作を引き起こすスレーブがアクノレッジまたはデータ読み出し出力動作時に、他のスレーブで前記通信の開始条件や停止条件の検出が成立してしまい、引き続くＳＤＡ上の情報が、マスタデバイスではデータとして管理している転送サイクルにおいて前記他のスレーブでアドレスとして受信され、この受信されたアドレスが前記他のスレーブのデバイスアドレスと一致した場合に当該スレーブでは送受信動作が起動されてしまう。このような誤動作を起す場合には誤反応を起したスレーブのＳＤＡ入力端において遅延要素を付加することにより対処している。しかしながらこのような誤反応は、対象となるスレーブの持つ機能の多様性および前述のバスの電気的な環境の変化が関係することから早期の発見が困難である。また、このようなシリアルインタフェースバス送受信回路を内蔵した製品のシリアルインタフェース機能をテストする際には、テスト時間を短縮するためにバス規格で規定している以上の高速安定動作が望まれるが、このように高速動作させる場合には、前記ＳＤＡ入力端とＳＣＬ入力端の入力位相管理がテスタの動作精度に左右されず、またタイミング制約条件の設定が容易であることが望まれる課題があった。
【００２１】
この発明は、上記のような課題を解決するためになされたもので、マスタデバイスに接続された複数のスレーブの中で他のスレーブの誤動作の原因となる前記タイミング制約条件を満足しないものがあっても、誤動作の影響を受けにくい、誤動作に対する耐性を向上させたシリアルインタフェースバス送受信回路を得ることを目的とする。
【００２２】
また、この発明はシリアルインタフェース機能をテストする際のテスト時間を短縮できるシリアルインタフェースバス送受信回路を得ることを目的とする。
【００２３】
【課題を解決するための手段】
請求項１記載の発明に係るシリアルインタフェースバス送受信回路は、データ信号線を介して前記マスタデバイスから入力された前記データおよび前記クロック信号線を介して前記マスタデバイスから入力されたクロック信号をもとに、マスタデバイスとの間のデータ送受の停止および前記データ送受の開始を検出して当該検出結果を出力するとともに、前記クロック信号の信号レベルによりリセットされるデータ送受停止・開始検出手段と、該データ送受停止・開始検出手段による検出結果をもとに時限動作を行い、設定された時間経過後にストップ条件認識信号およびスタート条件認識信号を出力する条件認識信号時限出力手段と、前記データ送受のための初期化を指示する初期化指示信号を前記条件認識信号時限出力手段の出力をもとに生成し出力する初期化指示信号生成手段と、前記クロック信号をもとに前記初期化指示信号生成手段が出力した前記初期化指示信号をリセットする初期化指示信号リセット手段と、前記初期化指示信号生成手段の出力する初期化指示信号をもとにデータ送受のための初期化を実行し、前記初期化指示信号リセット手段により前記初期化指示信号がリセットされた後、前記クロック信号と同期してデータを前記マスタデバイスとの間で送受する制御手段とを備えるようにしたものである。
【００２４】
請求項２記載の発明に係るシリアルインタフェースバス送受信回路は、条件認識信号時限出力手段の出力またはデータ送受停止・開始検出手段が検出したマスタデバイスとの間のデータ送受の停止、前記データ送受の開始の検出結果をもとに、データ送受のための初期化を指示する初期化指示信号を生成し出力する初期化指示信号生成手段を備えるようにしたものである。
【００２５】
請求項３記載の発明に係るシリアルインタフェースバス送受信回路は、データ信号線を介して入力されたデータとクロック信号線を介して入力されたクロック信号との相互入力条件を判定するために使用する判定データを格納する判定データ格納手段と、該判定データ格納手段に格納した判定データをもとに、前記相互入力条件を判定する相互入力条件判定手段と、該相互入力条件判定手段による判定結果を格納する判定結果格納手段と、該判定結果格納手段に格納した前記判定結果をマスタデバイスから読み出す判定結果読出手段とを備えるようにしたものである。
【００２６】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１は、この実施の形態１のシリアルインタフェースバス送受信回路の構成を示す回路図である。図１において、１はシリアルインタフェースバスのデータが出力されるデータ信号線、２はシリアルインタフェースバスのクロック信号が出力されるクロック信号線であり、このシリアルインタフェースバスは図示していない例えばマイクロコントローラなどのマスタデバイスと接続されている。３はデータ信号線１へ出力されたデータをこのシリアルインタフェースバス送受信回路へ取り込むためのデータ用入力バッファ回路、４は当該シリアルインタフェースバス送受信回路からデータをデータ信号線１へ出力するためのデータ用出力バッファ回路、５はクロック信号線２へ出力されたクロック信号を当該シリアルインタフェースバス送受信回路へ取り込むためのクロック用入力バッファ回路である。
【００２７】
１００はストップ条件およびスタート条件を生成するストップ・スタート条件生成回路であり、ストップ条件検出用Ｄフリップフロップ（データ送受停止・開始検出手段）６ａ、スタート条件検出用Ｄフリップフロップ（データ送受停止・開始検出手段）６ｂ、第１時限計測回路（条件認識信号時限出力手段）５４、第２時限計測回路（条件認識信号時限出力手段）５６、ＮＯＲ回路６ｃ、ラッチ回路（初期化指示信号生成手段）６ｄ、Ｄフリップフロップ（初期化指示信号リセット手段）６ｅ、Ｄフリップフロップ（初期化指示信号リセット手段）６ｆを備えている。
第１時限計測回路５４および第２時限計測回路５６に設定されている時限値は、ストップ条件、スタート条件をマスタデバイスが生成するためのデータ、クロックの変化であるか、スレーブデバイスのアクノレッジ出力や読み出しデータ出力の動作によるデータ、クロックの変化であるかの識別を可能にする値に設定されている。
ストップ条件検出用Ｄフリップフロップ６ａ、スタート条件検出用Ｄフリップフロップ６ｂのリセット端子は、前記マスタデバイスからクロック信号線２へ供給されたクロック信号がクロック用入力バッファ回路５を介して入力されるＳＣＬ（クロック信号供給ライン）と接続されている。また、ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂのクロック信号入力端子は、前記マスタデバイスからデータ信号線１へ供給されたデータがデータ用入力バッファ回路３を介して入力されるＳＤＡ（データ供給ライン）と接続されている。また、ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂのデータ端子はＶｃｃラインと接続されている。
【００２８】
ストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子は、第１時限計測回路５４のリセット端子と接続されている。また、スタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子は第２時限計測回路５６のリセット端子と接続されている。第１時限計測回路５４および第２時限計測回路５６のクロック入力端子には内部クロックが供給されている。
ＮＯＲ回路６ｃの一方の入力端子は第１時限計測回路５４のＦＬＡＧ出力端子と接続され、また他方の入力端子は第２時限計測回路５６のＦＬＡＧ出力端子と接続されている。第２時限計測回路５６のＦＬＡＧ出力端子は、また、第１時限計測回路５４の第２リセット端子（Ｒ＿ＦＬＡＧ）と接続されている。ＮＯＲ回路６ｃの出力端子はラッチ回路６ｄのセット端子およびＤフリップフロップ６ｆのリセット端子と接続されている。
【００２９】
ラッチ回路６ｄの非反転Ｑ出力端子はＤフリップフロップ６ｅのデータ端子と接続され、リセット端子はＤフリップフロップ６ｆの反転Ｑ￣出力端子と接続されており、ラッチ回路６ｄの反転Ｑ￣出力端子からはシリアルインタフェース動作の初期化を行うためのバスフリー信号（ＢＵＳ  ＦＲＥＥ）が出力される。
【００３０】
Ｄフリップフロップ６ｅおよびＤフリップフロップ６ｆのクロック信号入力端子は前記ＳＣＬと接続され、Ｄフリップフロップ６ｅの非反転Ｑ出力端子はＤフリップフロップ６ｆのデータ端子と接続されている。
【００３１】
７は制御論理部（制御手段）、８は８ビットのデータを直並列変換または並直列変換する８ビットシフトレジスタ、９はサブアドレスを内部状態として保持し出力するＮビットカウンタ、１０は８ビットシフトレジスタ８から出力された内部データまたはアクノレッジを出力する出力選択回路、１１は出力選択回路１０の出力に対しバス規格で規定する遅延量を付加するための遅延回路、１２および１４はデータ情報が書き込まれるサブアドレスをデコードするアドレスデコーダ、１３はアドレスデコーダ１２のデコード出力によりデータ情報が書き込まれる内部レジスタ、１５はアドレスデコーダ１４のデコード出力によりデータ情報が書き込まれる内部レジスタである。１６および１８は内部データを読み出すためのサブアドレスをデコードするアドレスデコーダ、１７はアドレスデコーダ１６のデコード出力により内部データを読み出すための情報選択素子、１９はアドレスデコーダ１８のデコード出力により内部データを読み出すための情報選択素子である。
【００３２】
制御論理部７は、データ用入力バッファ回路３を介して前記ＳＤＡへ入力されたデータ、クロック用入力バッファ回路５を介して前記ＳＣＬへ入力されたクロック信号、ラッチ回路６ｄの反転Ｑ￣出力端子から出力されたバスフリー信号、および８ビットシフトレジスタ８により変換されたデータが供給され、これら各信号をもとに操作信号ＰＩＤＳＣ、ＳＲ８Ｔ、ＤＡＴＡＯＵＴＥＮ、ＡＣＫＯＵＴ、ＳＡＥＰ、ＳＡＬＤＣ、ＳＴＲＢＣ、ＬＱＢＯＥＣを生成し、各制御信号線へ出力する。
ＰＩＤＳＣは読み出された内部情報を８ビットシフトレジスタ８へロードするための操作信号、ＳＲ８Ｔは８ビットシフトレジスタ８のシフトタイミングを規定する操作信号、ＤＡＴＡＯＵＴＥＮは出力選択回路１０からの内部情報の出力を制御する操作信号、ＡＣＫＯＵＴは出力選択回路１０からのアクノレッジの出力を制御する操作信号、ＳＡＥＰはＮビットカウンタ９の内部状態を‘＋１’更新するための操作信号である。ＳＡＬＤＣはＮビットカウンタ９へサブアドレス情報をロードするための操作信号である。ＳＴＲＢＣは内部レジスタ１３，１５へデータ情報を書き込むための操作信号である。ＬＱＢＯＥＣは読み出された内部情報を８ビットシフトレジスタ８へ与えるための操作信号である。
【００３３】
ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂは、ＳＣＬ上のクロック信号のレベルが‘Ｌ’レベルのときには非有意化される。ストップ条件検出用Ｄフリップフロップ６ａは、ＳＣＬ上のクロック信号のレベルが‘Ｈ’レベルのときのＳＤＡ上へ供給されているデータの立ち上がりエッジを検出し、非反転Ｑ出力端子からの出力であるＳＴＯＰ条件を有意化する。また、スタート条件検出用Ｄフリップフロップ６ｂは、ＳＣＬ上のクロック信号のレベルが‘Ｈ’レベルのときのＳＤＡ上へ供給されているデータの立ち下かりエッジを検出し、非反転Ｑ出力端子からの出力であるＳＡＲＴ条件を有意化する。
【００３４】
ＳＴＯＰ条件もしくはＳＴＡＲＴ条件が成立すると第１時限計測回路５４、第２時限計測回路５６が動作を開始し、既定の時限に達すると第１時限計測回路５４のＦＬＡＧ出力端子からの信号ＷＤＴ＿ＳＴＯＰ、第２時限計測回路５６のＦＬＡＧ出力端子からの信号ＷＤＴＳＴＡＲＴが有意になる。
ストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子から出力されるＳＴＯＰ条件が非有意の場合、第１時限計測回路５４の時限計測機能は初期化される。但し、信号ＷＤＴ＿ＳＴＯＰの出力機能の初期化は、信号ＷＤＴ＿ＳＴＡＲＴの非有意から有意への変化エッジにより実行される。ＳＴＡＲＴ条件が非有意の場合、第２時限計測回路５６の時限計測機能と信号ＷＤＴ＿ＳＴＡＲＴの出力機能は共に初期化される。これら信号ＷＤＴ＿ＳＴＯＰ、ＷＤＴ＿ＳＴＡＲＴによりＮＯＲ回路６ｃの出力が有意となりラッチ回路６ｄをセットする。ラッチ回路６ｄの反転Ｑ￣出力端子からの出力は、バスフリー信号としてシリアルインタフェース動作を初期化する。
【００３５】
ラッチ回路６ｄの非反転Ｑ出力端子からの出力は、ＳＣＬ上の負極性クロック信号の立ち下がりエッジでＤフリップフロップ６ｅに取り込まれ非反転Ｑ出力端子から出力され、この出力は前記負極性クロック信号の次の立ち上がりエッジでＤフリップフロップ６ｆに伝搬する。
Ｄフリップフロップ６ｆの反転Ｑ￣出力端子からの出力はラッチ回路６ｄをリセットして、ラッチ回路６ｄから出力されていたバスフリー信号を終了させる。この結果、シリアルインタフェース動作が始まる。
Ｄフリップフロップ６ｆは、バスフリー信号の非有意がラッチ回路６ｄから伝搬して非有意となるか、またはノア回路６ｃの出力により非有意化される。
ＳＤＡ上へ供給されたデータのシリアル信号は８ビットシフトレジスタ８により８ビットのパラレル信号に直並列変換されＬＤＢ〈７：０〉に出力される。こうしてＬＤＢ〈７：０〉上へ出力されたパラレル信号は、内部レジスタ１３，１５のサブアドレスを内容とするタイミングにおいて、Ｎビットカウンタ９にロードされ内部レジスタ１３，１５のサブアドレスとして保持され、ＬＡＢ〈Ｎ−１：０〉へ出力される。ＬＡＢ〈Ｎ−１：０〉へ出力されている前記サブアドレスは、内部レジスタ１３，１５へデータ情報を書き込み内部で使用する情報とする場合の内部レジスタ１３，１５を選択するレジスタ選択指定用として、または内部データを外部へ読み出す場合の内部情報選択指定用として用いられる。
【００３６】
次に、このシリアルインタフェースバス送受信回路の動作について説明する。
このシリアルインタフェースバス送受信回路の動作の説明では、図７に示すタイミングチャートを参照する。
ＳＣＬ上のクロック信号のレベルが‘Ｈ’レベルのときのＳＤＡ上へ供給されたデータの立ち上がりエッジを検出し、ストップ条件検出用Ｄフリップフロップ６ａはＳＴＯＰ条件を検出する。このＳＴＯＰ条件を検出するとストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子の出力は‘Ｈ’レベルに変化し、このタイミングからさらに既定の時限後に第１時限計測回路５４から出力される信号ＷＤＴ＿ＳＴＯＰが有意となる。この結果、ＮＯＲ回路６ｃの出力によりラッチ回路６ｄがセットされ、反転Ｑ￣出力端子から出力されるバスフリー信号が有意となり制御論理部７の動作が初期化される。
【００３７】
引き続いて、ＳＣＬ上のクロック信号のレベルが‘Ｈ’レベルのときのＳＤＡ上へ供給されたデータの立ち下がりエッジを検出し、スタート条件検出用Ｄフリップフロップ６ｂはＳＴＡＲＴ条件を検出する。このＳＴＡＲＴ条件を検出するとスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子の出力は‘Ｈ’レベルに変化し、このタイミングからさらに既定の時限後に第２時限計測回路５６から出力される信号ＷＤＴ＿ＳＴＡＲＴが有意となる。この結果、ＮＯＲ回路６ｃの出力によりラッチ回路６ｄが再びセットされる。信号ＷＤＴ＿ＳＴＡＲＴが有意になると、第１時限計測回路５４の出力は初期化され、第１時限計測回路５４の出力である有意となっていた信号ＷＤＴ＿ＳＴＯＰは非有意となる。この時点ではバスフリー信号は制御論理部７の動作の初期化を続ける。
【００３８】
そして、シリアル転送操作が開始され、ＳＣＬ上へ負極性クロックが入力される。最初のＳＣＬ上へ入力された最初の前記負極性クロックにより、ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂはリセットされ初期化されて、前記ＳＴＯＰ条件と前記ＳＴＡＲＴ条件は消える。ＳＴＯＰ条件が消えてストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子のレベルが‘Ｌ’レベルになることにより、第１時限計測回路５４の時限計測機能は初期化される。また、ＳＴＡＲＴ条件が消えてスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子のレベルが‘Ｌ’レベルになることにより、第２時限計測回路５６の時限計測機能と出力機能は初期化されて信号ＷＤＴ＿ＳＴＡＲＴは非有意となる。ＳＣＬ上へ入力されたクロック信号の最初の立ち下がりエッジで、バスフリー信号を出力しているラッチ回路６ｄの有意状態がＤフリップフロップ６ｅに伝搬し、さらに前記クロック信号の次の立ち上がりエッジでＤフリップフロップ６ｆへ伝わり、Ｄフリップフロップ６ｆの反転Ｑ￣出力端子からの出力によりラッチ回路６ｃはリセットされ、バスフリー信号は非有意となり、この時点で制御論理部７は動作を開始する。
【００３９】
マスタデバイスからは、始めにデバイスアドレス情報が入力され、制御論理部７の出力する操作信号ＳＲ８Ｔで駆動される８ビットシフトレジスタ８は、８ビット転送終了時にはＬＤＢ〈７：０〉へデバイスアドレス情報を出力する。このときのＬＤＢ〈７：０〉へ出力された前記デバイスアドレス情報がこのシリアルインタフェースバス送受信回路のデバイスアドレスと一致している場合には、制御論理部７は操作信号ＡＣＫＯＵＴを有意にすると同時に操作信号ＤＡＴＡＯＵＴＥＮで出力選択回路１０を制御して、出力選択回路１０の出力にアクノレッジを出力する。この結果、データ信号線１に‘Ｌ’レベルのアクノレッジ信号が出力される。
一方、前記デバイスアドレス情報がこのシリアルインタフェースバス送受信回路のデバイスアドレスと一致していない場合には、制御論理部７は操作信号ＡＣＫＯＵＴを有意にしないて内部動作を停止する。
なお、アクノレッジ期間には、マスタデバイスはデータ信号線１を解放することによりスレーブ出力するアクノレッジ信号を監視している。
【００４０】
‘Ｌ’レベルのアクノレッジ信号が出力された場合であり、かつデバイスアドレスのＬＳＢが‘Ｌ’である場合には、データ情報の書き込みシーケンスが始まる。データ信号線１にはマスタデバイスからサブアドレス情報が入力され、８ビット転送終了時には８ビットシフトレジスタ８は前記サブアドレス情報をＬＤＢ〈７：０〉に出力する。制御論理部７は操作信号ＡＣＫＯＵＴを有意にすると同時に操作信号ＤＡＴＡＯＵＴＥＮで出力選択回路１０を制御して、出力選択回路１０の出力にアクノレッジ信号を出力する。このとき同時に制御論理部７の出力する操作信号ＳＡＬＤＣによりＬＤＢ〈７：０〉へ出力されている前記サブアドレス情報の値をＮビットカウンタ９にロードし、ＬＡＢ〈Ｎ−１：０〉上へ出力されていたサブアドレス情報が更新される。
【００４１】
次に、書き込みデータ情報が入力される。この書き込みデータ情報は、８ビット転送終了時には８ビットシフトレジスタ８からＬＤＢ〈７：０〉に出力される。制御論理部７は、操作信号ＡＣＫＯＵＴを有意にしてデータ信号線１へ‘Ｌ’レベルのアクノレッジを出力すると同時に、内部レジスタ１３，１５へデータ情報を書き込むための操作信号（ストローブ信号）ＳＴＲＢＣを有意にする。アドレスデコーダ１２，１４の中で、ＬＡＢ〈Ｎ−１：０〉へ出力されているサブアトレス情報に対応するアドレスデコーダだけが前記操作信号ＳＴＲＢＣの有意期間にストローブ信号を生成し、ＬＤＢ〈７：０〉上の書き込みデータを内部レジスタ１３または内部レジスタ１５に格納する。
【００４２】
以降、引き続いて書き込みデータ情報が８ビット入力される毎に、制御論理部７の出力する操作信号ＳＡＥＰによりＮビットカウンタ９の内容が＋１更新される。そして、ＬＡＢ〈Ｎ−１：０〉へ出力されているサブアドレス情報の指定するサブアドレスが更新され内部レジスタへの書き込みデータ更新動作を繰り返す。なお、ＳＴＯＰ条件の検出または再ＳＴＡＲＴ条件の検出により書き込みデータ更新動作は終了する。
【００４３】
デバイスアドレス情報に対するアクノレッジ信号を出力した場合であり、かつデバイスアドレスのＬＳＢが‘Ｈ’である場合には内部データの読み出しシーケンスが始まる。‘Ｌ’レベルのアクノレッジ信号を出力した直後に、ＬＡＢ〈Ｎ−１：０〉へ出力されているサブアドレス情報の指定するサブアドレスに対応するアドレスデコーダ１６またはアドレスデコーダ１８だけが、操作信号（情報選択期間信号）ＬＱＢＯＥＣの有意期間中に内部データをＬＱＢ〈７：０〉上に出力させる。操作信号ＬＱＢＯＥＣの有意期間が十分に覆うタイミングで生成される制御論理部７の出力する操作信号ＰＩＤＳＣにより、ＬＱＢ〈７：０〉へ読み出された前記内部データの値は８ビットシフトレジスタ８にロードされる。ＳＣＬ上へ入力されたクロック信号の立ち上がりエッジとタイミングを同じにして制御論理部７から出力される操作信号ＳＲ８Ｔ毎に、８ビットシフトレジスタ８が前記内部データを並直列変換し、制御論理部７の出力する操作信号ＤＡＴＡＯＵＴＥＮにより出力選択回路１０は前記並直列変換された内部データを出力する。
なお、出力選択回路１０の出力は、遅延回路１１によりバス規格が規定する遅延が施されてデータ信号線１へ出力される。
【００４４】
８ビット出力後にマスタデバイスがＳＤＡ上の信号レベルを‘Ｌ’操作している場合には、制御論理部７の出力する操作信号ＳＡＥＰによりＮビットカウンタ９の内部状態を‘＋１’更新してＬＡＢ〈Ｎ−１：０〉へ出力されているサブアドレス情報の指定するサブアドレスを更新し、前記内部データ出力動作を繰り返す。８ビット出力後に、マスタデバイスがＳＤＡ上の信号レベルを‘Ｈ’操作している場合には、データ信号線１を解放する状態で内部動作を停止する。
【００４５】
図２は、ＳＤＡ上に入力されたデータとＳＣＬ上に入力されたクロック信号とが同時的に変化する従来のシリアルインタフェースバス送受信回路では誤動作してしまう状況を示すタイミングチャートである。このタイミングチャートに示すように、ＳＣＬ上のクロック信号とＳＤＡ上のデータとが同時変化しても、ＳＣＬ上のクロック信号の‘Ｌ’レベルによりストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂは共にリセットされ、さらに第２時限計測回路５６が前記クロック信号の‘Ｌ’レベルによりリセットされる。このため、ＳＣＬ上のクロック信号とＳＤＡ上のデータとが同時変化した時点でストップ条件検出用Ｄフリップフロップ６ａによりストップ条件が検出されても、その直後に前記クロック信号の‘Ｌ’レベルにより前記ストップ条件は消滅し、図８に示すような誤動作が防止できる。
【００４６】
以上のように、この実施の形態１によれば、第１時限計測回路５４および第２時限計測回路５６に設定されている時限値は、ストップ条件、スタート条件をマスタデバイスが生成するためのデータ、クロックであるか、スレーブデバイスのアクノレッジ出力や読み出しデータ出力の動作によるデータ、クロックであるかの識別を可能にする値に設定されており、バスフリー信号を生成するためのラッチ回路６ｃをセットする信号は、前記第１時限計測回路５４が出力するＷＤＴ＿ＳＴＯＰおよび第２時限計測回路５６が出力するＷＤＴ＿ＳＴＡＲＴである。ＳＤＡ上に入力されたデータとＳＣＬ上に入力されたクロック信号とが同時的に変化する従来のシリアルインタフェースバス送受信回路では誤動作してしまう状況下では、ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力から‘Ｈ’レベルの信号が短時間出力される。しかしながら、この実施の形態のシリアルインタフェースバス送受信回路では、前記‘Ｈ’レベルの信号出力期間より充分期間の長い時限値が第１時限計測回路５４および第２時限計測回路５６に設定されている。このため、前記時限値に対応する時間が経過してＷＤＴ＿ＳＴＯＰやＷＤＴ＿ＳＴＡＲＴが出力される前に前記‘Ｈ’レベルの信号は消えてしまい、ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂ、さらに第１時限計測回路５４および第２時限計測回路５６がＳＣＬ上のクロック信号レベル‘Ｌ’によりリセットされる。
【００４７】
従って、マスタデバイスに接続された複数のスレーブの中で他のスレーブの誤動作の原因となるタイミング制約条件を満足しないものがある、ＳＤＡ上に入力されたデータとＳＣＬ上に入力されたクロック信号とが同時的に変化する従来のシリアルインタフェースバス送受信回路では誤動作してしまう状況に対し、誤動作の影響を受けにくい、誤動作に対する耐性を向上させたシリアルインタフェースバス送受信回路が得られる効果がある。
【００４８】
実施の形態２．
図３は、この実施の形態２のシリアルインタフェースバス送受信回路を示す回路図であり、図３において図１と同一または相当の部分については同一の符号を付し説明を省略する。図において、２００はストップ条件およびスタート条件を生成するストップ・スタート条件生成回路、５８はバスフリー信号を反転Ｑ￣出力端子から出力するセット端子、リセット端子が付加されたＤフリップフロップ（初期化指示信号生成手段）、５９はストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子の出力であるストップ条件およびスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子の出力であるスタート条件が共に有意の状態を検出するＮＡＮＤ回路、６１はＮＯＲ回路６ｃの出力とＮＡＮＤ回路５９の出力のＡＮＤ結果を、Ｄフリップフロップ６ｆをリセットするリセット信号として出力するＡＮＤ回路であり、ストップ・スタート条件生成回路２００の他の構成は前記実施の形態１のストップ・スタート条件生成回路１００と同様である。
【００４９】
なお、この実施の形態２の動作と前記実施の形態１の動作の違いはストップ・スタート条件生成回路２００における動作の違いのみであるため、ストップ・スタート条件生成回路２００の動作について説明する。このストップ・スタート条件生成回路２００では、ＳＣＬ上のクロック信号のレベルが‘Ｈ’のときのＳＤＡ上へ供給されたデータの立ち上がりエッジを検出し、ストップ条件検出用Ｄフリップフロップ６ａがＳＴＯＰ条件検出出力を非反転Ｑ出力端子から出力する。ストップ条件検出用Ｄフリップフロップ６ａの非反転Ｑ出力端子が‘Ｈ’に変化してＳＴＯＰ条件が検出され、ＳＴＯＰ条件検出出力が前記非反転Ｑ出力端子から出力されると、第１時限計測回路５４は既定の時限後に出力信号ＷＤＴ＿ＳＴＯＰを有意にする。この結果、ＮＯＲ回路６ｃの出力によりＤフリップフロップ５８がセットされてバスフリー信号が有意となり制御論理部７の動作を初期化する。
【００５０】
引き続いて、スタート条件検出用Ｄフリップフロップ６ｂは、ＳＣＬ上のクロック信号のレベルが‘Ｈ’のときのＳＤＡ上へ出力されたデータの立ち下がりエッジを検出してＴＡＲＴ条件検出出力を非反転Ｑ出力端子から出力する。スタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子が‘Ｈ’に変化してＳＴＡＲＴ条件が検出され、ＳＴＡＲＴ条件検出出力が前記非反転Ｑ出力端子から出力されると、第２時限計測回路５６はＳＴＡＲＴ条件検出出力が出力されてから既定の時限後に出力信号ＷＤＴ＿ＳＴＡＲＴを有意にする。そして、ＮＯＲ回路６ｃの出力を有意にしてＤフリップフロップ５８は再びセットされる。出力信号ＷＤＴ＿ＳＴＡＲＴが有意になると、この変化エッジにより第１時限計測回路５４の出力は初期化され、第１時限計測回路５４の出力信号ＷＤＴ＿ＳＴＯＰは非有意となる。この時点ではバスフリー信号は制御論理部７の動作の初期化を続ける。
【００５１】
シリアル転送操作が開始され、ＳＣＬ上に負極性クロックが入力される。この入力された最初の負極性クロックの‘Ｌ’により、ストップ条件検出用Ｄフリップフロップ６ａおよびスタート条件検出用Ｄフリップフロップ６ｂは初期化され、ＳＴＯＰ条件とＳＴＡＲＴ条件は消える。ＳＴＯＰ条件が消えて‘Ｌ’になることにより第１時限計測回路５４の時限計測機能は初期化される。また、ＳＴＡＲＴ条件が消えて‘Ｌ’になることにより第２時限計測回路５６の計測機能と出力機能は初期化されて第２時限計測回路５６の出力信号ＷＤＴ＿ＳＴＡＲＴは非有意となる。
【００５２】
また、ＳＣＬ上のクロック信号の最初の立ち下がりエッジで、バスフリー信号を生成しているＤフリップフロップ５８の有意状態がＤフリップフロップ６ｅへ伝搬し、クロック信号の次の立ち上がりエッジでＤフリップフロップ６ｅの状態がＤフリップフロップ６ｆへ伝わり、Ｄフリップフロップ６ｆの反転Ｑ￣出力がＤフリップフロップ５８をリセットする。バスフリー信号はこの時点で非有意となり制御論理部７は動作を開始する。
【００５３】
次にテスト時のバス操作仕様に基づく回路動作を説明する。
ＳＣＬ上のクロック信号のレベルが‘Ｈ’のときのＳＤＡ上のデータの立ち上がりエッジを検出し、ストップ条件検出用Ｄフリップフロップ６ａはＳＴＯＰ条件を検出する。この結果、第１時限計測回路５４が時限計測している途中で、ＳＣＬ上のクロック信号が‘Ｈ’のときのＳＤＡ上のデータの立ち下がりエッジを検出すると、スタート条件検出用Ｄフリップフロップ６ｂはＳＴＡＲＴ条件を検出し、非反転Ｑ出力を‘Ｈ’レベルにする。この‘Ｈ’レベルへの立ち上がりエッジでＤフリップフロップ５８は、データ端子へ供給されているＳＴＯＰ条件をサンプルしてバスフリー信号を有意にし制御論理部７の動作を初期化する。
【００５４】
シリアル転送操作が開始され、ＳＣＬに負極性クロックが入力される。ＳＣＬ上へ入力された負極性クロックの最初の‘Ｌ’によりスタート条件検出用Ｄフリップフロップ６ｂは初期化されてＳＴＡＲＴ条件は消え、ＳＴＡＲＴ条件が消えて‘Ｌ’となることにより第２時限計測回路５６も初期化されて信号ＷＤＴ＿ＳＴＡＲＴは非有意を継続する。また、Ｄフリップフロップ５８はバスフリー信号の出力を維持している。
ＳＣＬ上の負極性クロックの最初の立ち下がりエッジ、さらに次の立ち上がりエッジでＤフリップフロップ６ｆにＤフリップフロップ５８の有意状態が伝搬し、Ｄフリップフロップ６ｆの反転Ｑ￣出力がＤフリップフロップ５８をリセットする。バスフリー信号は、この時点で非有意となり制御論理部７は動作を開始する。
【００５５】
テスト時のバス操作仕様においては、第１時限計測回路５４、第２時限計測回路５６が共に時限計測中にシリアル転送操作が開始される。このテスト時には、ストップ条件検出用Ｄフリップフロップ６ａがＳＴＯＰ条件を検出し、非反転Ｑ出力を‘Ｈ’レベルに変化させる。次いでストップ条件検出用Ｄフリップフロップ６ｂがＳＴＡＲＴ条件を検出し、非反転Ｑ出力を‘Ｈ’レベルに変化させると、この立ち上がりエッジによりＤフリップフロップ５８はデータ端子へ供給されているストップ条件検出用Ｄフリップフロップ６ａの‘Ｈ’レベルの非反転Ｑ出力を読み込んでバスフリー信号を出力する。前記実施の形態１では、第１時限計測回路５４が信号ＷＤＴ＿ＳＴＯＰを有意にした後、さらに第２限計測回路５６がＷＤＴ＿ＳＴＡＲＴを有意にする時間を経てシリアル転送操作が開始できる構成であったが、この実施の形態２のシリアルインタフェースバス送受信回路では、ストップ条件検出用Ｄフリップフロップ６ａがＳＴＯＰ条件を検出し、非反転Ｑ出力を‘Ｈ’レベルに変化させた後、ストップ条件検出用Ｄフリップフロップ６ｂがＳＴＡＲＴ条件を検出すると、第１時限計測回路５４および第２時限計測回路５６の時限動作を待たずにシリアル転送操作が開始できる。
【００５６】
以上のように、この実施の形態２によれば、前記実施の形態１の効果に加えて、第１時限計測回路５４および第２時限計測回路５６の時限動作を待たずにテストを開始できるため、テスト時間を短縮できるシリアルインタフェースバス送受信回路が得られる効果がある。
【００５７】
実施の形態３．
図４は、この実施の形態３のシリアルインタフェースバス送受信回路を示す回路図であり、図４において図１と同一または相当の部分については同一の符号を付し説明を省略する。この実施の形態３のシリアルインタフェースバス送受信回路は、前記実施の形態１においてＳＴＯＰ条件もしくはＳＴＡＲＴ条件が成立すると動作が起動される第１時限計測回路５４および第２時限計測回路５６を、第１の時限と第２の時限（第１の時限＞第２の時限）を計測できる第３時限計測回路（相互入力条件判定手段）７０および第４時限計測回路（相互入力条件判定手段）７２に置き換え、かつ第３時限計測回路７０および第４時限計測回路７２の第２の時限の計測結果をバスのステータスとしてフラグレジスタ（判定結果格納手段）７４へフラグ出力し、マスタデバイスはシリアルインタフェース通信により前記フラグレジスタ７４に設定されたフラグを読み取ることで、データとクロック間の相互入力遅延条件を実動作状態において判定できる構成である。なお、この場合の前記第２の時限値はマスタデバイスから内部レジスタ（判定データ格納手段）１３に設定された値である。
【００５８】
図４において、３００はストップ条件およびスタート条件を生成するストップ・スタート条件生成回路、７０は第１の時限と第２の時限を計測できる第３時限計測回路、７２は第１の時限と第２の時限を計測できる第４時限計測回路、７４は制御論理部（判定結果読出手段）７が出力する操作信号ＬＱＢＯＥＣをもとにバスステータスフラッグをＬＤＢ〈７：０〉へ出力するフラグレジスタである。なお、ストップ・スタート条件生成回路３００の他の構成は前記実施の形態１のストップ・スタート条件生成回路１００と同様である。
【００５９】
次に動作について説明する。
この実施の形態３のシリアルインタフェースバス送受信回路の動作は、前記実施の形態１のシリアルインタフェースバス送受信回路の動作とほぼ同じであるが、実施の形態１の動作に加えて∵第３時限計測回路７０および第４時限計測回路７２からの各第２の時限計測結果がバスのステータスとしてフラグレジスタ７４にセットされる。このフラグレジスタ７４は、マスタデバイスのバスのステータス読み取り動作後にリセットされる。
【００６０】
マスタデバイスから送られてきた第２の時限値は内部レジスタ１３に格納される。この内部レジスタ１３に格納された第２の時限値は、第３時限計測回路７０および第４時限計測回路７２に設定され、第３時限計測回路７０および第４時限計測回路７２のリセットが解除されてから第３時限計測回路７０や第４時限計測回路７２にＦＬＡＧ２が立つ前記第２の時限値に対応した時刻が経過するまでの時間を規定する。
ＳＤＡ上のデータとＳＣＬ上のクロック信号との相互入力遅延条件を満足しない前記データと前記クロック信号が同時的に変化する状況では、ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力からはストップ条件検出出力、スタート条件検出出力として短期間、‘Ｈ’レベルの信号が出力される場合がある。この短期間出力されることのある‘Ｈ’レベルの信号は第３時限計測回路７０や第４時限計測回路７２のリセットを解除するが、このような短期間リセットが解除される場合には前記実施の形態１で説明したように、第３時限計測回路７０や第４時限計測回路７２からは信号ＷＤＴ＿ＳＴＯＰ、ＷＤＴ＿ＳＴＡＲＴは出力されないので、ラッチ回路６ｄはバスフリー信号を有意にすることはない。
【００６１】
しかしながら第３時限計測回路７０や第４時限計測回路７２に設定される前記第２の時限値が、前記ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子から短期間‘Ｈ’レベルとして出力される信号の出力期間内であれば、第３時限計測回路７０や第４時限計測回路７２のＦＬＡＧ２端子からは前記ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子からの‘Ｈ’レベルから‘Ｌ’レベルに変化するタイミングで‘Ｈ’パルス状のＦＬＡＧ２が出力され、フラグレジスタ７４は‘Ｈ’レベルにセットされる。また、前記第２の時限値が、前記ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子から短期間‘Ｈ’レベルとして出力される信号の出力期間後であれば、第３時限計測回路７０や第４時限計測回路７２のＦＬＡＧ２端子からは、前記ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子からの‘Ｈ’レベルから‘Ｌ’レベルに変化するタイミングで‘Ｈ’パルス状のＦＬＡＧ２は出力されず、フラグレジスタ７４にもフラグがセットされることはない。ＳＤＡ上のデータとＳＣＬ上のクロック信号との相互入力遅延条件を満足する信号が入力される状況では、前記ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子からはストップ条件検出出力やスタート条件検出出力として第２の時限値はもとより第１の時限値を満たす期間‘Ｈ’レベルの信号が出力される。この場合は、第１の時限値経過後であることによりＷＤＴ＿ＳＴＯＰ、ＷＤＴ＿ＳＴＡＲＴが‘Ｈ’レベルとなることにより、前記ストップ条件検出用Ｄフリップフロップ６ａやスタート条件検出用Ｄフリップフロップ６ｂの非反転Ｑ出力端子からの‘Ｈ’レベルから‘Ｌ’レベルに変化するタイミングでは‘Ｈ’パルス状のＦＬＡＧ２は出力されない動作をする。従って、前記第２の時限値を徐々に短くするように操作することで、前記相互入力遅延条件を満足しない前記データと前記クロック信号が同時的に変化する状況を実操作状態において判定できる。
【００６２】
なお、この実施の形態３ではＳＴＯＰ条件用、ＳＴＡＲＴ条件用の第２の時限値のみを共通に可変設定できる構成であるが、第１の時限および第２の時限を共に可変設定できる構成、さらにはＳＴＯＰ条件用およびＳＴＡＲＴ条件用の時限を独立にそれぞれ可変設定できる構成にしてもよい。
【００６３】
以上のように、この実施の形態３によれば、前記実施の形態１の効果に加えて、相互入力遅延条件を満足しないＳＤＡ上のデータとＳＣＬ上のクロック信号が同時的に変化する状況を実動作状態において判定できるシリアルインタフェースバス送受信回路が得られる効果がある。
【００６４】
実施の形態４．
図５は、この実施の形態４のシリアルインタフェースバス送受信回路を示す回路図であり、図５において図３および図４と同一または相当の部分については同一の符号を付し説明を省略する。この実施の形態４のシリアルインタフェースバス送受信回路は、前記実施の形態２で説明したシリアルインタフェースバス送受信回路と前記実施の形態３で説明したシリアルインタフェースバス送受信回路の特徴を共に備えた構成をストップ・スタート条件生成回路が備えている。
図５において、４００はストップ・スタート条件生成回路である。
【００６５】
この実施の形態４のシリアルインタフェースバス送受信回路の動作は、テスト時のバス操作仕様において第３時限計測回路７０、第４時限計測回路７２が共に時限計測中にシリアル転送操作を開始するため、第３時限計測回路７０、第４限計測回路７２が信号ＷＤＴ＿ＳＴＯＰ、ＷＤＴ＿ＳＴＡＲＴを有意にする時間を介さずにシリアル転送操作が開始できるという前記実施の形態２の動作と、相互入力遅延条件を満足しないデータとクロック信号が同時的に変化する状況を実動作状態において判定できるという前記実施の形態３の動作が両立する。
【００６６】
従って、この実施の形態４では、前記実施の形態２の効果と前記実施の形態３の効果を実現するシリアルインタフェースバス送受信回路が得られる効果がある。
【００６７】
【発明の効果】
以上のように、請求項１記載の発明によれば、データ信号線を介してマスタデバイスから入力されたデータおよびクロック信号線を介して前記マスタデバイスから入力されたクロック信号をもとに、前記マスタデバイスとの間のデータ送受の停止および前記データ送受の開始を検出して当該検出結果を出力するとともに、前記クロック信号の信号レベルによりリセットされるデータ送受停止・開始検出手段と、該データ送受停止・開始検出手段による検出結果をもとに時限動作を行い、設定された時間経過後にストップ条件認識信号およびスタート条件認識信号を出力する条件認識信号時限出力手段とを備えるように構成したので、データ信号線を介して入力されたデータとクロック信号線を介して入力されたクロック信号が相互入力条件を満足していない状況にあっても、すなわち前記信号両者が同時的に変化するような場合であっても、ストップ条件認識信号およびスタート条件認識信号は条件認識信号時限出力手段から出力されず、誤動作の原因にはならず、誤動作の影響を受けにくい誤動作に対する耐性を向上できる効果がある。
【００６８】
請求項２記載の発明によれば、条件認識信号時限出力手段の出力またはデータ送受停止・開始検出手段が検出したマスタデバイスとの間のデータ送受の停止、前記データ送受の開始の検出結果をもとに、データ送受のための初期化を指示する初期化指示信号を生成し出力する初期化指示信号生成手段を備えるように構成したので、条件認識信号時限出力手段を介さないで初期化指示信号を生成し出力することができ、シリアルインタフェース機能をテストする際のテスト時間を短縮できる効果がある。
【００６９】
請求項３記載の発明によれば、データ信号線を介して入力されたデータとクロック信号線を介して入力されたクロック信号との相互入力条件を判定するために使用する判定データを格納する判定データ格納手段と、該判定データ格納手段に格納した判定データをもとに、前記相互入力条件を判定する相互入力条件判定手段と、該相互入力条件判定手段による判定結果を格納する判定結果格納手段と、該判定結果格納手段に格納した前記判定結果をマスタデバイスから読み出す判定結果読出手段とを備えるように構成したので、前記相互入力条件を満足しないデータとクロック信号が同時的に変化する状況などを実動作状態において判定できる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１によるシリアルインタフェースバス送受信回路の構成を示す回路図である。
【図２】  この発明の実施の形態１によるシリアルインタフェースバス送受信回路のストップ・スタート条件生成回路の動作を示すタイミングチャートである。
【図３】  この発明の実施の形態２によるシリアルインタフェースバス送受信回路の構成を示す回路図である。
【図４】  この発明の実施の形態３によるシリアルインタフェースバス送受信回路の構成を示す回路図である。
【図５】  この発明の実施の形態４によるシリアルインタフェースバス送受信回路の構成を示す回路図である。
【図６】  従来のシリアルインタフェースバス送受信回路の構成を示す回路図である。
【図７】  シリアルインタフェースバス送受信回路の動作を示すタイミングチャートである。
【図８】  従来のシリアルインタフェースバス送受信回路のストップ・スタート条件生成回路における正常動作および異常動作を示すタイミングチャートである。
【符号の説明】
１  データ信号線、２  クロック信号線、６ａ  ストップ条件検出用Ｄフリップフロップ（データ送受停止・開始検出手段）、６ｂ  スタート条件検出用Ｄフリップフロップ（データ送受停止・開始検出手段）、６ｄ  ラッチ回路（初期化指示信号生成手段）、６ｅ，６ｆ  Ｄフリップフロップ（初期化指示信号リセット手段）、７  制御論理部（制御手段、判定結果読出手段）、１３  内部レジスタ（判定データ格納手段）、５４  第１時限計測回路（条件認識信号時限出力手段）、５６  第２時限計測回路（条件認識信号時限出力手段）、５８  Ｄフリップフロップ（初期化指示信号生成手段）、７０  第３時限計測回路（相互入力条件判定手段）、７２  第４時限計測回路（相互入力条件判定手段）、７４  フラグレジスタ（判定結果格納手段）。
【図１】
0003929559.tif 000002
【図２】
0003929559.tif 000003
【図３】
0003929559.tif 000004
【図４】
0003929559.tif 000005
【図５】
0003929559.tif 000006
【図６】
0003929559.tif 000007
【図７】
0003929559.tif 000008
【図８】
0003929559.tif 000009