(57)【要約】【課題】双方向バスの方向切り替え時のデータ確認の無効期間を認識することによって、誤動作を防止することに関する。【解決手段】バスの方向を指示する第１及び第２の方向信号が入力され、且つクロック信号及びデータ信号が入出力される双方向バス制御回路２であって、第２の方向信号によって指示される信号方向にしたがって、クロック信号の入力又は出力方向を切り替える第１の双方向バッファ２３と、第２の方向信号によって指示される信号方向にしたがって、データ信号の入力又は出力方向を切り替える第２の双方向バッファ２４と、第２の双方向バッファに入力されたデータ信号の確認を行い、且つ第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがってデータ信号の確認を無効にするデータ確認部４６を有する双方向バス制御回路が提供される。【選択図】図１
2010011041.tif 000002
【特許請求の範囲】
【請求項１】
バスの方向を指示する第１及び第２の方向信号が入力され、且つクロック信号及びデータ信号を入出力する双方向バス制御回路であって、
前記第２の方向信号によって指示される信号方向にしたがって、前記クロック信号の入力又は出力方向を切り替える第１の双方向バッファと、
前記第２の方向信号によって指示される信号方向にしたがって、前記データ信号の入力又は出力方向を切り替える第２の双方向バッファと、
前記第２の双方向バッファに入力したデータ信号の確認を行い、且つ前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがって前記データ信号の確認を無効にするデータ確認部と、を有し、
前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えは、前記第２の方向信号によって指示される入力方向から出力方向への信号方向の切り替えより先に生じることを特徴とする双方向バス制御回路。
【請求項２】
前記第１の方向信号によって指示される出力方向から入力方向への信号方向の切り替えは、前記第２の方向信号によって指示される出力方向から入力方向への信号方向の切り替え後に生じ、且つ、
前記データ確認部は、前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがって前記データ信号の確認を有効にする請求項１に記載の双方向バス制御回路。
【請求項３】
前記データ確認部による確認は、パリティチェック及び／又はＥＣＣ（Error-Correcting Code）を用いたエラーチェックを含む請求項１又は２に記載の双方向バス制御回路。
【請求項４】
バスの方向を指示する第１及び第２の方向信号が入力され、且つクロック信号及びデータ信号を入出力する双方向バス制御回路であって、
前記第２の方向信号によって指示される信号方向にしたがって、前記クロック信号の入力又は出力方向を切り替える第１の双方向バッファと、
前記第２の方向信号によって指示される信号方向にしたがって、前記データ信号の入力又は出力方向を切り替える第２の双方向バッファと、
前記第１の方向信号によって指示される出力方向から入力方向への信号方向の切り替えにしたがって前記データ信号の確認を有効にするデータ確認部と、を有し、
前記第１の方向信号によって指示される出力方向から入力方向への信号方向の切り替えは、前記第２の方向信号によって指示される出力方向から入力方向への信号方向の切り替えより先に生じることを特徴とする双方向バス制御回路。
【請求項５】
バスの方向を指示する第１及び第２の方向信号を出力し、且つクロック信号及び前記データ信号を入出力する第１の双方向バス制御回路、及び、前記第１及び第２の方向信号が入力され、且つクロック信号及びデータ信号を入出力する第２の双方向バス制御回路を含むシステム双方向バス制御回路であって、
前記第１の双方向バス制御回路は、前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えが、前記第２の方向信号によって指示される入力方向から出力方向への信号方向の切り替えより先に生じるように前記第１及び第２の方向信号を生成する方向信号生成部を有し、
前記第２の双方向バス制御回路は、
前記第２の方向信号によって指示される信号方向にしたがって、前記クロック信号の入力又は出力方向を切り替える第１の双方向バッファと、
前記第２の方向信号によって指示される信号方向にしたがって、前記データ信号の入力又は出力方向を切り替える第２の双方向バッファと、
前記第２の双方向バッファに入力された前記データ信号の確認を行い、且つ前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがって前記データ信号の確認を無効にするデータ確認部と、を有する、
ことを特徴とするシステム双方向バス制御回路。
【請求項６】
前記方向信号生成部は、前記第１の方向信号によって指示される出力方向から入力方向への信号方向の切り替えが前記第２の方向信号によって指示される出力方向から入力方向への信号方向の切り替え後に生じるように、前記第１及び第２の方向信号を生成し、且つ、
前記データ確認部は、前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがって前記データ信号の確認を有効にする請求項５に記載のシステム双方向バス制御回路。
【請求項７】
前記第２の双方向バス制御回路は、クロック信号を生成するクロック生成部をさらに有し、
前記方向信号生成部は、前記クロック信号をカウントすることで得た遅延信号を、前記第１及び第２の方向信号として生成する請求項５又は６に記載のシステム双方向バス制御回路。
【請求項８】
前記第２の双方向バス制御回路は、前記データを監視するデータ監視部をさらに有し、
前記方向信号生成部は、前記クロック信号をカウントすることで得た遅延信号にしたがって、前記第２の双方向バス制御回路のデータ確認部の確認を有効にする請求項７に記載のシステム双方向バス制御回路。
【請求項９】
バスの方向を指示する第１及び第２の方向信号が入力し、且つクロック信号及びデータ信号を入出力する半導体集積回路であって、
前記第２の方向信号によって指示される信号方向にしたがって、前記クロック信号の入力又は出力方向を切り替える第１の双方向バッファと、
前記第２の方向信号によって指示される信号方向にしたがって、前記データ信号の入力又は出力方向を切り替える第２の双方向バッファと、
前記第２の双方向バッファに入力された前記データ信号の確認を行い、且つ前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがって前記データ信号の確認を無効にするデータ確認部と、を有し、
前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えは、前記第２の方向信号によって指示される入力方向から出力方向への信号方向の切り替えより先に生じることを特徴とする半導体集積回路。
【請求項１０】
バスの方向を指示する第１及び第２の方向信号を出力し、且つ双方向バスを用いてクロック信号及び前記データ信号を入出力する第１の装置、及び、前記第１及び第２の方向信号が入力し、且つ双方向バスを用いてクロック信号及びデータ信号を入出力する第２の装置を含む処理装置であって、
前記第１の装置は、前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えが、前記第２の方向信号によって指示される入力方向から出力方向への信号方向の切り替えより先に生じるように前記第１及び第２の方向信号を生成する方向信号生成部、前記第２の方向信号によって指示される信号方向にしたがって、前記クロック信号の入力又は出力方向を切り替える第１の双方向バッファ、及び、前記第２の方向信号によって指示される信号方向にしたがって、前記データ信号の入力又は出力方向を切り替える第２の双方向バッファを有し、
前記第２の装置は、前記第２の方向信号によって指示される信号方向にしたがって、前記クロック信号の入力又は出力方向を切り替える第３の双方向バッファ、前記第２の方向信号によって指示される信号方向にしたがって、前記データ信号の入力又は出力方向を切り替える第４の双方向バッファ、前記第４の双方向バッファに入力された前記データ信号の確認を行い、且つ前記第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがって前記データ信号の確認を無効にするデータ確認部を有することを特徴とする処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関し、特に、双方向バス制御回路に関する。
【背景技術】
【０００２】
近年、Application Specific Integrated Circuit（ＡＳＩＣ）等の半導体集積回路は、複雑化及び小型化されているため、半導体集積回路（以下、「ＩＣ」と言う）間ではクロック種類の異なる信号が送受信されている。また、ＩＣ間信号の送受信に採用される双方向バスは、信号の送信時又は受信時にバスの向きを出力又は入力方向に切り替えるため、送信側及び受信側の両ＩＣは、バスの向きを常に認識する必要がある。
【０００３】
図５を用いて、従来の双方向バスの構成を説明する。バスの方向を指示するマスタ側のＩＣが、入力方向又は出力方向を指示する方向信号をスレーブ側のＩＣに送信することで、双方向バスの方向が両ＩＣ間で認識される。
また、方向信号を伝送するためのバスは、方向信号がクリップされた場合等に両ＩＣ間でバスの向きの認識に誤り生じること（バスファイト）を回避するため二重化されている。
【０００４】
図６を用いて、従来の双方向バス間を伝送される信号のフローチャートを説明する。従来、バスの方向を指示するマスタＩＣと接続され、マスタＩＣから送信される方向信号を受信するスレーブＩＣでは、クロック信号用及びデータ信号用のバスの方向が出力方向から入力方向に切り替わった後の所定時間は、入力クロック及び入力データ無しでデータの確認が行われるため、データの誤認識とそれに伴う異常データが発生する。
そのため、従来のスレーブＩＣは、図５に示すように、自ＩＣのバスの方向が出力方向から入力方向に切り替わるときに発生する異常データに対するエラーチェックを抑止するための信号抑止回路や、一定期間後にエラーチェックを開始するための時間監視回路等を備えていた。
【０００５】
なお、送信側及び受信側装置の各々の双方向バッファの向きが互いに正対しないように制御する回路が提案されている（下記特許文献１及び２）。この文献では、送信側及び受信側装置の各々の双方向バッファの向きが互いに正対しないように、双方向バッファの向きを切り替える制御回路を用いて、データ信号の送信時において、送信側双方向バッファより先に受信側双方向バッファを送信側双方向バッファに対して背を向ける方向に切り替える技術が提案されている。
【０００６】
【特許文献１】特開昭６３−０９３２２０号
【特許文献２】特開昭５７−０７１０３４号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上記文献で提案される制御回路は、バスの方向誤認識を回避することはできても、バス方向切り替え時に生じるデータの誤認識を回避することはできない。
本発明は、双方向バスの方向切り替え時のデータ確認の無効期間を認識することによって、誤動作を防止することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、バスの方向を指示する第１及び第２の方向信号が入力され、且つクロック信号及びデータ信号が入出力される双方向バス制御回路であって、第２の方向信号によって指示される信号方向にしたがって、クロック信号の入力又は出力方向を切り替える第１の双方向バッファと、第２の方向信号によって指示される信号方向にしたがって、データ信号の入力又は出力方向を切り替える第２の双方向バッファと、第２の双方向バッファに入力されたデータ信号の確認を行い、且つ第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えにしたがってデータ信号の確認を無効にするデータ確認部と、を有する双方向バス制御回路が提供される。第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替えは、第２の方向信号によって指示される入力方向から出力方向への信号方向の切り替えより先に生じ得る。
【発明の効果】
【０００９】
上記の双方向バス制御回路によれば、第１の方向信号によって指示される入力方向から出力方向への信号方向の切り替え後に、データ信号の確認動作を無効にするように動作させ、確認動作無効後に第２方向信号の切り替えに同期したクロック信号が無効になるので、データの誤認識を回避できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明の実施の形態を説明する。
図１を用いて、本実施形態によるシステムＩＣ１の構成の一例を説明する。システムＩＣ１は、マスタＩＣ２及びスレーブＩＣ３を有する。マスタＩＣ２とスレーブＩＣ３とは、バスを介して接続される。
【００１１】
マスタＩＣ２は、双方向バスの方向を指示する方向信号をスレーブＩＣ３に対して出力するマスタＩＣである。本実施形態では、マスタＩＣ２は方向信号Ａと方向信号Ｂとの二種類の方向信号を、スレーブＩＣ３に対して出力する。マスタＩＣ２は、双方向バス制御回路として機能するＩ／Ｏ切り替え部１０、及び、制御回路３０を有する。
Ｉ／Ｏ切り替え部１０は、方向信号Ａを出力する第１出力バッファ１１、方向信号Ｂを出力する第２出力バッファ１２、クロック信号が入力又は出力するクロック用双方向バッファ１３、及び、データ信号が入力又は出力するデータ用双方向バッファ１４を備える。
【００１２】
クロック用双方向バッファ１３は、クロック出力用バッファ１７ａ及びクロック入力用バッファ１７ｂを有する。クロック出力用バッファ１７ａは、クロック生成部３２が生成したクロック信号を受信し、バスを介してスレーブＩＣ３にクロック信号を出力する。また、クロック入力用バッファ１７ｂは、スレーブＩＣ３から送出されたクロック信号を受信し、クロック受信部３３に出力する。クロック出力用バッファ１７ａのイネーブル端子１５ａ及びクロック入力用バッファ１７ｂのイネーブル端子１５ｂには、それらのバッファを有効又は無効にしてバッファ信号の入出力制御を行うため、バッファ１９を介して方向信号Ｂが入力する。
同様に、データ用双方向バッファ１４は、データ出力用バッファ１８ａ及びデータ入力用バッファ１８ｂを有する。データ出力用バッファ１８ａは、データ出力部３４が出力したデータを受信し、受信データをスレーブＩＣ３に向けて出力する。また、データ入力用バッファ１８ｂは、スレーブＩＣ３が送出したデータを受信し、受信データをデータ確認部３５に向けて出力する。データ出力用バッファ１８ａのイネーブル端子１６ａ及びデータ入力用バッファ１８ｂのイネーブル端子１６ｂには、それらのバッファを有効又は無効にしてバッファ信号の入出力制御を行うため、バッファ１９を介して方向信号Ｂが入力する。
【００１３】
制御回路３０は、方向信号生成部３１、クロック生成部３２、クロック受信部３３、データ出力部３４、データ確認部３５を有する。方向信号生成部３１は、方向信号Ａ及び方向信号Ｂを生成し、方向信号Ａを第１出力バッファ１１に、方向信号Ｂを第２出力バッファ１２にそれぞれ出力する。クロック生成部３２はクロック信号を生成し、クロック用出力バッファ１７ａに出力する。クロック受信部３３は、クロック用入力バッファ１７ｂに入力したクロック信号を受信する。データ出力部３４は、データ出力用バッファ１８ａにデータを出力する。データ確認部３５は、データ用入力バッファ１８ｂに入力したデータを受信して、受信したデータに対する確認処理を行う。
なお、データ確認部３５は、データ用入力バッファ１８ｂに入力したスレーブＩＣ３からの入力データに対するパリティチェック及び／又はＥＣＣ（Error-Correcting Code）を用いたエラーチェックを含むデータ確認処理を行う。
【００１４】
スレーブＩＣ３は、マスタＩＣ２によって送信された方向信号を受信するスレーブＩＣである。スレーブＩＣ３は、双方向バス制御回路として機能するＩ／Ｏ切り替え部２０、及び、制御回路４０を有する。
Ｉ／Ｏ切り替え部２０は、マスタＩＣ２から受信した方向信号Ａが入力する第１入力バッファ２１、マスタＩＣ２から受信した方向信号Ｂが入力する第２入力バッファ２２、クロック信号が入力又は出力するクロック用双方向バッファ２３、データ信号が入力又は出力するデータ用双方向バッファ２４、を備える。
【００１５】
クロック用双方向バッファ２３は、クロック出力用バッファ２７ａ及びクロック入力用バッファ２７ｂを有する。クロック出力用バッファ２７ａは、クロック生成部４３が生成したクロック信号を受信し、マスタＩＣ２に対して出力する。クロック入力用バッファ２７ｂは、マスタＩＣ２が出力したクロック信号を受信し、クロック受信部４４に向けて出力する。クロック出力用バッファ２７ａのイネーブル端子２５ａ及びクロック入力用バッファ２７ｂのイネーブル端子２５ｂには、それらのバッファを有効又は無効にしてバッファ信号の入出力制御を行うため、第２入力バッファ２２及びバッファ２９を介して、方向信号Ｂが入力される。
同様に、データ用双方向バッファ２４は、データ出力用バッファ２８ａ及びデータ入力用バッファ２８ｂを有する。データ出力用バッファ２８ａは、データ出力部４５が出力したデータを受信し、マスタＩＣ２に向けて出力する。データ入力用バッファ２８ｂは、マスタＩＣ２が送出したデータを受信し、データ確認部４６に向けて出力する。データ出力用バッファ２８ａのイネーブル端子２６ａ及びデータ入力用バッファ２８ｂのイネーブル端子２６ｂには、それらのバッファを有効又は無効にしてバッファ信号の入出力制御を行うため第２入力バッファ２２及びバッファ２９を介して方向信号Ｂが入力される。
【００１６】
制御回路４０は、方向信号Ａ受信部４１、方向信号Ｂ受信部４２、クロック生成部４３、クロック受信部４４、データ出力部４５、データ確認部４６を有する。方向信号Ａ受信部４１は、第１入力バッファ２１を介してマスタＩＣ２から受信した方向信号Ａを受信する。方向信号Ｂ受信部４２は、第２入力バッファ２２を介してマスタＩＣ２から受信した方向信号Ｂを受信する。クロック生成部４３はクロック信号を生成し、クロック用出力バッファ２７ａに出力する。クロック受信部４４は、クロック用入力バッファ２７ｂに入力された、マスタＩＣ２が送出したクロック信号を受信する。データ出力部４５は、データ出力用バッファ２８ａにデータを出力する。データ確認部４６は、データ用入力バッファ２８ｂに入力した、マスタＩＣ２からのデータに対する確認処理を行う。
第１入力バッファ２１で受信した方向信号Ａは、データ確認部４６に伝送され、データ確認部４６で利用される（後述）。なお、データ確認部４６は、マスタＩＣ２からの入力データに対するパリティチェック及び／又はＥＣＣを用いたエラーチェックを含むデータ確認を行う。
ここで、マスタＩＣ２のＩ／Ｏ切り替え部１０内の各バッファは、スレーブＩＣ３のＩ／Ｏ切り替え部２０内の各バッファとバス接続される。
【００１７】
なお、図示しないが、マスタＩＣ２及びスレーブＩＣ３は、上記した双方向バス制御機能に加えて、特定の様々な機能を果たすために、基板、及び基板上に半導体から構成されるトランジスタ、ダイオード、抵抗等の素子、それらの結線を有することができる。
【００１８】
図２を用いて、マスタＩＣから送信され且つスレーブＩＣが受信する信号及び入力データ処理のタイムチャートの一例を示す。
タイムチャート１０１及び１０２では、方向信号Ａ及びＢを用いて、マスタＩＣから出力されるクロック信号（以下、「マスタクロック信号」と称す）及びデータ信号の信号方向がスレーブＩＣに対して入力又は出力かが示される。つまり、「入力モード」の方向信号は、マスタＩＣから送信されるマスタクロック信号及びデータ信号をスレーブＩＣが入力する状態を示す。「出力モード」の方向信号は、クロック信号及びデータ信号をスレーブＩＣがマスタＩＣに出力する状態を示す。
タイムチャート１０３では、マスタクロック信号の状態を示す。つまり、方向信号Ｂが「入力モード」の場合は、スレーブＩＣはマスタＩＣから出力されるデータ信号を確認するため、クロック生成部３２により生成されマスタＩＣより出力されるマスタクロック信号を検出する。また、方向信号Ｂが「出力モード」の場合は、マスタＩＣからスレーブＩＣに出力されるデータは無く、マスタクロック信号は不要であるため、入力されるマスタクロック信号を無効にする。
タイムチャート１０４では、方向信号Ａに従ってスレーブＩＣが確認するデータ信号の状態を示す。つまり、方向信号Ａが「入力モード」の場合は、スレーブＩＣは、マスタＩＣから出力されるデータ信号の確認は有効である。また、方向信号Ａが「出力モード」の場合は、マスタＩＣからスレーブＩＣに出力されるデータは無く、スレーブＩＣがマスタＩＣにデータ信号を出力するため、入力されるデータ信号を無効にする。
マスタＩＣ２は、方向信号ＡによってスレーブＩＣ３に（指示先の明示が必要なので付加しました）指示される入力方向から出力方向への信号方向の切り替えが、方向信号ＢによってスレーブＩＣ３に指示される入力方向から出力方向への信号方向の切り替えより先に生じるように、方向信号Ａ及び方向信号Ｂを生成する。
切り替え時間１１０は、方向信号Ａの入力モードから出力モードへの切り替え開始時と、方向信号Ｂの入力モードから出力モードへの切り替え終了時との時間間隔を示す。切り替え時間１１０は、入力データの確認処理を「有効」から「無効」に切り替えるために必要な時間間隔とするのが好ましい。
切り替え時間１１０を設定するために、マスタＩＣ２の方向信号生成部３１は、方向信号Ａによって指示される信号方向を「入力モード」から「出力モード」へ切り替えた後に、所定の時間間隔を置いて、方向信号Ｂによって指示される信号方向を「入力モード」から「出力モード」へ切り替えるように方向信号Ａ及びＢを生成する。
【００１９】
このように、本実施形態においては、モード変更をスレーブＩＣに指示する２つの方向信号を同じタイミングでスレーブＩＣに送信するのではなく、異なるモード変更タイミングを有する２つの方向信号Ａ及び方向信号ＢがスレーブＩＣに送信される。
【００２０】
切り替え時間１１０では、スレーブＩＣ３は、方向信号Ａを、「データ信号及びクロック信号の切り替え」を予告する予告信号として利用し、方向信号Ｂを、データ信号及びクロック信号の双方向バッファを実際に切り替える信号として利用することができる。
【００２１】
矢印１０５及びタイムチャート１０４に示されるように、スレーブＩＣ３のデータ確認部４６は、マスタＩＣ２から受信した方向信号Ａの入力モードから出力モードへの変更をトリガイベントにして、入力データの確認処理を有効から無効にする。
【００２２】
また、マスタＩＣ２は、データ確認部４６による確認処理の停止後に、方向信号Ｂのモードを入力モードから出力モードに変更する。
なお、方向信号Ａの伝送遅延並びにデータ確認部４６の停止処理に必要となる時間とによって、方向信号Ａの切り替えと、データ確認部４６による入力データの確認処理の停止との時間にタイムラグが生じる。したがって、このタイムラグを考慮して、確認処理の停止が確実に終了した後に方向信号Ｂによる方向切り替えが行われるように、方向信号Ｂを生成することが好ましい。
【００２３】
方向信号Ｂは、クロック用双方向バッファ２３のイネーブル端子２５ａ、２５ｂに直接接続されている。方向信号Ｂを入力モード（例えば、「ＬＯＷ」レベル）から出力モード（例えば、「ＨＩＧＨ」レベル）に切り替えることで、バスの向きを入力方向から出力方向に反転する。この場合、クロック出力用バッファ２７ａは有効、クロック入力用バッファ２７ｂは無効になる。さらに、タイムチャート１０３に示されるように、方向信号Ｂの「入力モード」から「出力モード」への切り替えによりマスタクロック信号を無効にする。このように、スレーブＩＣが受信するマスタクロック信号は、方向信号Ｂの切り替えと同期して無効になる。
なお、図２のチャートには示されていないが、方向信号Ｂは、データ用双方向バッファ２４のイネーブル端子２６ａ、２６ｂに直接接続されているので、バスの向きは入力方向から出力方向に反転し、スレーブＩＣ３によるデータ信号入力も無効になる。
【００２４】
以上のように、本実施形態のスレーブＩＣによれば、方向信号Ａが入力から出力へ切り替えられた後に、データ確認部４６による入力データ信号の確認動作を終了するように動作させ、さらに確認動作終了後に、方向信号Ｂの入力から出力への方向切り替えによってマスタクロック信号を無効にする。そのため、本実施形態では、クロック不定等による確認データの誤認識を回避でき、それに伴う異常データの発生も防ぐことができる。
そのため、スレーブＩＣは、バス方向切り替え時のデータに対する信号抑止回路やエラーチェックの時間監視回路を不要にすることができ、マスタＩＣは、スレーブＩＣ側の信号抑止／時間監視回路の設定を考慮することなくバス方向の切り替えを行うことができる。
【００２５】
図２に示す、スレーブＩＣ３における出力から入力への切り替え時間１２０では、マスタＩＣ２から出力される方向信号が出力モードから入力モードに変更され、それに伴い、スレーブＩＣ３のデータ確認処理が無効から有効に変わる状態が示される。
【００２６】
マスタＩＣ２は、方向信号Ａによって指示される出力方向から入力方向への信号方向の切り替えが、方向信号Ｂによって指示される出力方向から入力方向への信号方向の切り替え後に生じるように、方向信号Ａ及びＢを生成する。そのため、切り替え時間１２０では、方向信号Ｂによって指示される信号方向が、出力方向から入力方向への信号方向の切り替え後に、方向信号Ａによって指示される信号方向が出力方向から入力方向へ切り替わる。
【００２７】
切り替え時間１２０は、方向信号Ｂの出力モードから入力モードへの切り替え開始時と、方向信号Ａの出力モードから入力モードへの切り替え終了時との時間間隔を示す。切り替え時間１２０は、入力データの確認処理を「無効」から「有効」に切り替えて、十分な安定期間を確保した時間間隔とするのが好ましい。
切り替え時間１２０を設定するために、マスタＩＣ２の方向信号生成部３１は、方向信号Ｂによって指示される信号方向を「出力モード」から「入力モード」へ切り替えた後に、所定の時間間隔を置いて、方向信号Ａによって指示される信号方向を「出力モード」から「入力モード」へ切り替えるように方向信号Ａ及びＢを生成する。
切り替え時間１２０では、スレーブＩＣ３は、方向信号Ｂを、データ信号及びクロック信号の双方向バッファを実際に切り替える信号として利用し、方向信号Ａを、データ確認を開始するためのトリガ信号として利用することができる。
【００２８】
タイムチャート１０２及び１０３に示されるように、方向信号Ｂはイネーブル端子２５ａ、２５ｂに直接接続されているので、方向信号Ｂは出力モード（例えば、「ＨＩＧＨ」レベル）から入力モード（例えば、「ＬＯＷ」レベル）に切り替わると、クロック出力用バッファ２７ａは無効、クロック入力用バッファ２７ｂは有効になる。そのため、タイムチャート１０３に示されるように、マスタクロック信号の入力は、方向信号Ｂと同期して有効になる。
なお、図２には示していないが、方向信号Ｂは、イネーブル端子２６ａ、２６ｂに直接接続されているので、方向信号Ｂは出力モードから入力モードに切り替わることで、データ信号の入力も有効になる。
【００２９】
方向信号Ａは、マスタＩＣ２の方向信号生成部３１によって、方向信号Ｂのモード変更後、クロック及びバスデータが十分に安定する期間後に、出力モードから入力モードに変更される。そのため、方向信号Ｂの出力から入力へのモード変更タイミングと、方向信号Ａの出力から入力へのモード変更タイミングは、クロック信号の種類等に応じて、マスタＩＣ側で設定可能であることが好ましい。
データ確認部２７は、方向信号Ａの出力モードから入力モードへの変更をトリガイベントにして、入力データの確認処理を開始する。
【００３０】
このように、スレーブＩＣ３は、入力モード変更後、一定期間経過後に確認処理を開始することで、入力後に生じるクロック信号及びデータ信号の不安定状態中の確認処理を回避することができる。そして、データの確認処理は、安定した波形を有するクロック信号及びデータ信号を用いて行うことができるため、方向信号の変更後の不安定波形によるデータ確認による誤認識を回避できる。
そのため、スレーブＩＣは、入力方向から出力方向への信号方向の変化時においても、バス方向切り替え時のデータに対する信号抑止回路やエラーチェックの時間監視回路を不要にすることができ、マスタＩＣは、スレーブＩＣ側の信号抑止／時間監視回路の設定を考慮することなくバス方向の切り替えを行うことができる。
【００３１】
図３を用いて、方向信号生成部の一例を説明する。この例では、方向信号生成部による方向信号Ａ及びＢの生成方法について説明する。
方向信号生成部３１は、基準信号生成回路３１ａ、立上り検出回路３１ｂ、立下り検出回路３１ｃ、遅延生成カウンタ３１ｃ、３１ｄ、及び方向信号Ｂ生成部３１ｅを有する。
【００３２】
基準信号生成回路３１ａは、基準信号Ｓ１を生成する。基準信号Ｓ１は、マスタＩＣ２がバスを切替えるときに変化するバス切替えの基準信号である。例えば、本実施形態では、基準信号Ｓ１がＬＯＷレベルである時は、マスタＩＣのバスは出力方向であるか、又は、これから出力方向になることを意味する。また、基準信号Ｓ１がＨＩＧＨレベルである時は、マスタ側のバスは入力方向であるか、又は、これから入力方向になることを示す。
立上り検出回路３１ｂは、基準信号Ｓ１の立上りを検出して、遅延生成カウンタ３１ｄ、３１ｅに立上り検出信号を送信する。また、立下り検出回路３１ｃは、基準信号Ｓ１の立下りを検出して、遅延生成カウンタ３１ｄ、３１ｅに立下り検出信号を送信する。
【００３３】
遅延生成カウンタ３１ｄは、立上り検出回路３１ｂからの立上り検出信号の受信をトリガにして、クロック生成部３２から出力されるクロックパルスのカウントアップを始め、カウントスタート７τ後にＨＩＧＨを出力し、立下り検出信号の受信と同時にＬＯＷへ落ちるＵＰ７τ遅延信号Ｓ２を生成する。
さらに、遅延生成カウンタ３１ｄは立上り検出回路３１ｂからの立上り検出信号の受信をトリガにして、クロック生成部３２から出力されるクロックパルスのカウントアップを始め、カウントスタート１２τ後にＨＩＧＨを出力し、立下り検出信号の受信と同時にＬＯＷへ落ちるＵＰ１２τ遅延信号Ｓ６を生成する。
遅延生成カウンタ３１ｅは、立下り検出回路３１ｂからの立下り検出信号の受信をトリガにして、クロック生成部３２から出力されるクロックパルスのカウントアップを始め、カウントスタート６τ後にＬＯＷを出力し、立上り検出信号の受信と同時にＨＩＧＨになるＤＮ６τ遅延信号Ｓ３を生成する。
また、遅延生成カウンタ３１ｅは、立下り検出回路３１ｂからの立下り検出信号の受信をトリガにして、クロック生成部３２から出力されるクロックパルスのカウントアップを始め、カウントスタート９τ後にＬＯＷを出力し、立上り検出信号の受信と同時にＨＩＧＨになるＤＮ９τ遅延信号Ｓ４を生成する。
【００３４】
また、方向信号Ｂ生成部３１ｆは、ＵＰ７τ遅延信号Ｓ２及びＤＮ６τ遅延信号Ｓ３を受信して、含意演算を実行することで、Ｓ２の立上りにより、つまり立上り検出信号による始点生成カウンタ３１ｄのカウントスタートから７τ後にＨＩＧＨになり、Ｓ３の立下りにより、つまり立下り検出信号による遅延生成カウンタ３１ｅのカウントスタートから６τ後にＬＯＷになるＵＰ７τ遅延信号ＤＮ６τ遅延信号Ｓ５を出力する。
【００３５】
遅延生成カウンタ３１ｅが生成したＤＮ９τ遅延信号Ｓ４は、方向信号Ａとして、スレーブＩＣ３へ出力される。また、方向信号Ｂ生成部３１ｆが生成したＵＰ７τ遅延信号ＤＮ６τ遅延信号Ｓ５は、方向信号Ｂとして、スレーブＩＣ３へ出力される。
【００３６】
図４を用いて、方向信号生成部が生成する信号チャートの一例を説明する。
スレーブＩＣ３は、マスタＩＣ２から受信した受信信号Ｓ４ａ、つまり方向信号Ａの立上りにより、タイミングＴ１において、これからバスが入力から出力に切替わることを認識し、図２を用いて説明したように、入力データの確認を無効にすることができる。
【００３７】
次に、スレーブＩＣ３は、マスタＩＣ２から受信した受信信号Ｓ５ａ、つまり方向信号Ｂの立上りにより、タイミングＴ２で、クロック用双方向バス２３及びデータ用双方向バス２４の向きを入力方向から出力方向に反転する。
このタイミングＴ１及びＴ２の間の時間中に、スレーブＩＣ３のデータ確認部４６の確認処理が無効に切り替わることが好ましい。図３および図４の例では、Ｓ５はＳ４の立上りから７τ遅延した後に立ち上がっているが、スレーブＩＣでの確認処理の無効切替に７τ以上の時間を要する場合、あるいは無効切替が７τ未満で完了する場合には、Ｓ５の立上りタイミングを図４に示したものと替えることが好ましい。したがって、Ｓ４の立上りからの遅延信号Ｓ５立上りの遅延カウント数を、クロックの種類等に応じて７τ以外の他のカウント数に再設定可能にすることで、クロックの仕様が異なる場合でも、タイミングＴ１−Ｔ２間に確認処理を無効にすることを確実にすることができる。
【００３８】
マスタＩＣ２は、方向信号Ｂ、つまり遅延信号Ｓ５の立上りあるいは立下りによってクロック及びデータ用双方向バス１３、１４の向きを逆に切替える。そして、タイミングＴ２から、スレーブＩＣ３がデータを出力するモードに切り替えられるため、スレーブＩＣ３からからマスタＩＣ２にデータ信号及びクロック信号が送信される。
スレーブＩＣ３からマスタＩＣ２に入力するクロック及びデータ信号は、バスの切り替え直後は不安定となり得る。そのため、マスタＩＣ２は、遅延信号Ｓ６を用いて、スレーブＩＣ３より送信されるデータ及びクロック信号が安定状態となった後にデータ監視部３５によりデータ監視を行うことができる。
例えば、タイミングＴ２により、スレーブＩＣ３からマスタＩＣ２へのデータ送信が開始されるが、マスタＩＣ２は、遅延信号Ｓ６がＬＯＷ状態のときは、データ確認部３５による確認処理を開始せず、遅延信号Ｓ６がＨＩＧＨ状態となった後にデータ確認部３５による確認処理を開始する。そして、遅延信号Ｓ６のＳ５立上りからの遅延カウント数は、遅延生成カウンタ３１ｄにクロックの種類等に応じて他のカウント数に再設定可能にすることで、クロックの仕様が異なる場合でも、受信信号が安定状態後に適切な遅延信号Ｓ６を生成することができる。
【００３９】
このように、マスタＩＣ２は、入力モード変更後、一定期間経過後にデータ確認部による確認処理を開始することで、マスタ入力後に生じるクロック信号及びデータ信号の不安定状態中の確認処理を回避することができる。そして、データの確認処理は、安定した波形を有するクロック信号及びデータ信号を用いて行うことができるため、方向信号の変更後の不安定波形によるデータ確認による誤認識を回避できる。
【００４０】
スレーブＩＣ３は、マスタＩＣ２から遅延信号Ｓ４と遅延信号Ｓ５を受信して、受信信号Ｓ５ａにより、Ｓ５ａが立ち下がるタイミングＴ３でクロック用双方向バス２３及びデータ用双方向バス２４の向きを出力方向から入力方向に反転する。これによりバスを介して、マスタＩｃ２からクロック信号及びデータ信号が入力する。
さらに、スレーブＩＣ３では、タイミングＴ４では、受信信号Ｓ４ａの信号の立下りを検出後にデータの確認処理を開始することで、バス切り替え後に生じるクロック信号及びデータ信号の不安定状態中の確認処理を回避することができる。
【００４１】
そして、遅延信号Ｓ４のカウント数９及び／又は遅延信号Ｓ５のカウント数６を、遅延生成カウンタ３１ｅに変更可能に設定することで、タイミングＴ３とＴ４との時間も変更が可能となる。そのため、データ信号の安定状態後に方向信号Ａの出力から入力への変更タイミングが来るように、クロック信号の種類等に応じて、マスタＩＣ側でカウント数を設定可能である。
【図面の簡単な説明】
【００４２】
【図１】システムＩＣ１の一例を説明する図である。
【図２】スレーブＩＣが受信する信号及び入力データ処理の一例を示すタイムチャートである。
【図３】方向信号を生成する回路ブロックの一例を説明する図である。
【図４】方向信号のタイムチャートの一例を説明する図である。
【図５】従来のマスタＩＣ及びスレーブＩＣのＩ／Ｏ切り替え部の概略を説明する図である。
【図６】従来のスレーブＩＣが受信する信号及び入力データ処理の一例を示すタイムチャートである。
【符号の説明】
【００４３】
１    システムＩＣ
２    マスタＩＣ
３    スレーブＩＣ
１０、２０    Ｉ／Ｏ切り替え部
１１、１２    出力バッファ
１３、２３    クロック用双方向バッファ
１４、２４    データ用双方向バッファ
３０、４０    制御回路
３５、４６    データ確認部
【図１】
2010011041.tif 000003
【図２】
2010011041.tif 000004
【図３】
2010011041.tif 000005
【図４】
2010011041.tif 000006
【図５】
2010011041.tif 000007
【図６】
2010011041.tif 000008