(57)【要約】【課題】配線に寄生する負荷容量を考慮して送受信のクロックレートの低下を防止し、高速送受信を実現する。【解決手段】ＳＣＬ同期オン／オフ設定レジスタ２０４に同期をオフする設定を行うと、ＳＣＬ同期回路２０９からカウント待ち信号が出力されなくなり、ＳＣＬ配線のレベルと出力トランジスタ２０６の出力端子のレベルとの間で同期することなく、ＳＣＬ生成カウンタ２０３が立ち上がり期間のカウント動作を開始する。これにより、マルチマスタで動作することを前提とする同期動作がシングルマスタで動作する状態においても行われ、配線負荷容量がもたらすクロックレートの低下が防止される。【選択図】  図１
2004310673.tif 000002
【特許請求の範囲】
【請求項１】
クロック配線を駆動する回路であって、
前記クロック配線との間で立ち上がり同期のオン又はオフを設定され、立ち上がり同期オフが設定された場合、立ち上がり同期禁止信号を出力する立ち上がり同期オン／オフ設定レジスタと、
クロックの立ち上がり期間及び立ち下がり期間をそれぞれカウントし、前記立ち上がり期間をカウントしている間ハイレベルのクロックを出力させ、前記立ち下がり期間をカウントしている間ローレベルのクロックを出力させるためのクロック出力信号を出力するクロック生成カウンタと、
前記クロック配線に接続された出力端子を有し、前記クロック出力信号を与えられて前記クロック配線を駆動する出力部と、
前記クロック配線のレベルを保持し出力するサンプル回路と、
前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルに立ち上がり前記クロック配線がローレベルを維持している時点から、前記クロック配線がその後ハイレベルに立ち上がる時点までの間、立ち上がり同期期間信号を出力する同期期間検出回路と、
前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力しないときは、前記立ち上がり同期期間信号を与えられている間、カウント待ち信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントを待機させ、前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力したときは、前記立ち上がり同期期間信号にかかわらず前記カウント待ち信号を前記クロック生成カウンタに与えず、前記クロックの立ち上がり期間のカウントを待機させない同期回路と、
を備え、これにより
立ち上がり同期オフが設定された場合は、前記クロック配線と前記出力部の前記出力端子のレベルとの間で同期をとることなくクロックを出力することを特徴とするクロック配線駆動回路。
【請求項２】
前記同期期間検出回路は、前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルを維持しているが前記クロック配線がローレベルに立ち下がった時点から、前記出力端子がその後ローレベルに立ち下がる時点までの間、クロック立ち下がり同期期間信号を出力し、
前記同期回路は、前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力するか否かにかかわらず、前記クロック立ち下がり同期期間信号を与えられると、カウントクリア信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントをクリアさせ、
これにより、前記クロック生成カウンタは、前記カウントクリア信号を与えられると、ローレベルのクロックを出力させるための前記クロック出力信号を出力することを特徴とする請求項１記載のクロック配線駆動回路。
【請求項３】
前記同期回路は、前記同期オン／オフ設定レジスタから出力された前記立ち上がり同期禁止信号と、前記同期期間検出回路から出力された前記立ち上がり同期期間信号とを与えられる論理回路を有し、前記論理回路は、前記立ち上がり同期禁止信号が入力されず、前記立ち上がり同期期間信号が入力されている間、前記カウント待ち信号を出力することを特徴とする請求項１又は２記載のクロック配線駆動回路。
【請求項４】
クロック配線を駆動する回路であって、
前記クロック配線との間で立ち上がり同期のオン又はオフを設定され、立ち上がり同期オフが設定された場合、立ち上がり同期禁止信号を出力する立ち上がり同期オン／オフ設定レジスタと、
クロックの立ち上がり期間及び立ち下がり期間をそれぞれカウントし、前記立ち上がり期間をカウントしている間ハイレベルのクロックを出力させ、前記立ち下がり期間をカウントしている間ローレベルのクロックを出力させるためのクロック出力信号を出力するクロック生成カウンタと、
前記クロック配線に接続された出力端子を有し、前記クロック出力信号を与えられて前記クロック配線を駆動する出力部と、
前記クロック生成カウンタから、ハイレベルのクロックを出力させるための前記クロック出力信号が出力されてから、所定の立ち上がり同期禁止期間が経過するまでの間、立ち上がり同期禁止期間信号を出力する立ち上がり同期禁止期間設定部と、
前記クロック配線のレベルを保持し出力するサンプル回路と、
前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルに立ち上がり前記クロック配線がローレベルを維持している時点から、前記クロック配線がその後ハイレベルに立ち上がる時点までの間、立ち上がり同期期間信号を出力する同期期間検出回路と、
前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力したときは、前記立ち上がり同期禁止期間設定部から前記立ち上がり同期禁止期間信号が出力されている間、立ち上がり同期禁止信号を出力する立ち上がり同期禁止信号出力部と、
前記立ち上がり同期禁止信号出力部が前記立ち上がり同期禁止信号を出力している間、前記立ち上がり同期期間信号の有無にかかわらず前記カウント待ち信号を前記クロック生成カウンタに与えて、立ち上がり同期動作を行わせずに前記クロックの立ち上がり期間のカウントを強制的に待機させ、前記立ち上がり同期禁止信号出力部が前記立ち上がり同期禁止信号を出力しないときは、前記クロック立ち上がり同期期間信号を与えられている間、カウント待ち信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントを待機させる同期回路と、
を備え、これにより
立ち上がり同期オフが設定された場合は、前記立ち上がり同期禁止期間が経過するまでの間、前記クロック配線と前記出力部の前記出力端子のレベルとの間で同期をとることなく立ち上がり期間のカウントを強制的に待機し、前記立ち上がり同期禁止期間が経過した後、前記クロック配線と前記出力部の前記出力端子のレベルとの間で同期をとることを特徴とするクロック配線駆動回路。
【請求項５】
前記同期期間検出回路は、前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルを維持しているが前記クロック配線がローレベルに立ち下がった時点から、前記出力端子がその後ローレベルに立ち下がる時点までの間、クロック立ち下がり同期期間信号を出力し、
前記同期回路は、前記立ち上がり同期禁止信号出力部が前記立ち上がり同期禁止信号を出力するか否かにかかわらず、前記クロック立ち下がり同期期間信号を与えられると、カウントクリア信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントをクリアさせ、
これにより、前記クロック生成カウンタは、前記カウントクリア信号を与えられると、ローレベルのクロックを出力させるための前記クロック出力信号を出力することを特徴とする請求項４記載のクロック配線駆動回路。
【請求項６】
前記立ち上がり同期禁止期間設定部は、
前記クロック生成カウンタから出力された前記クロック出力信号を所定のタイミングで順次転送して出力する、直列に接続された複数段のフリップフロップと、
前記クロック生成カウンタから出力された前記クロック出力信号と、前記フリップフロップにより転送された後出力された前記クロック出力信号とを与えられ、前記クロック生成カウンタからハイレベルのクロックを出力させるための前記クロック出力信号が出力されてから前記立ち上がり同期禁止期間が経過するまでの間、前記立ち上がり同期禁止期間信号を出力する第１の論理回路とを有し、
前記同期回路は、
前記立ち上がり同期禁止信号出力部から出力された前記立ち上がり同期禁止信号と、前記同期期間検出回路から出力された前記立ち上がり同期期間信号とを与えられる第２の論理回路を有し、
前記第２の論理回路は、前記立ち上がり同期禁止信号が入力されている間、又は前記立ち上がり同期禁止信号が入力されず前記立ち上がり同期期間信号が入力されている間、前記カウント待ち信号を出力することを特徴とする請求項４又は５記載のクロック配線駆動回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック配線駆動回路に係わり、特にＩ２ＣＢＵＳのプロトコルを使用するクロック制御システムに対して好適なものに関する。
【０００２】
【従来の技術】
図１１に、シングルマスタで構成されたクロック制御システムを示す。マスタとしてデータ送受信の同期に用いるクロックを供給する１つのマイクロコンピュータユニット（以下、ＭＣＵという）１０と、スレーブに相当する複数のデバイス２０Ａ、２０Ｂ、２０Ｃとが、シリアルクロックライン（以下、ＳＣＬという）配線と、シリアルデータ（以下、ＳＤＡという）配線とに接続されている。
【０００３】
このようなシングルマスタで構成されたシステムにおいても、図１２に示されたように、ＳＣＬ配線、ＳＤＡ配線の配線長が長い場合にはＳＣＬ配線、ＳＤＡ配線と接地端子との間に負荷容量Ｃ１、Ｃ２が寄生し、またＳＣＬ配線、ＳＤＡ配線と電源電圧ＶＤＤ端子との間にプルアップ抵抗ＰＲ１、ＰＲ２を接続する必要があり、送受信のクロックレートが設定した本来のクロックレートより低下することがある。
【０００４】
高速送受信が要求されるシステムにおいては、このようなＳＣＬ配線の負荷容量やプルアップ抵抗等が原因となってクロックの転送レートが低下することが問題となっていた。
【０００５】
このような現象は、Ｉ２ＣＢＵＳのプロトコルにおいて、マルチマスタで構成されたクロック制御システムに対応させたクロック同期機能が、シングルマスタで構成されたシステムにおいても同様に作用することに原因があった。
【０００６】
図１３に、マルチマスタで構成されたクロック制御システムを示す。このシステムでは、クロックを供給するマスタとしてＭＣＵ３０のみならずデバイス４０Ｄが存在し、スレーブに相当する複数のデバイス４０Ａ、４０Ｂ、４０ＣとＳＣＬ配線、ＳＤＡ配線に接続されている。
【０００７】
図１４を用いて、Ｉ２ＣＢＵＳプロトコルによりクロックを同期させる方式について説明する。
【０００８】
ここでは、二つのマスタＡ、Ｂがクロックを供給する場合を想定している。
【０００９】
（ａ）マスタＢのクロック出力が、ＳＣＬ配線の立ち下がりとタイミングを同期させる場合
ａ点において、マスタＢから見て、自分のクロック出力より他のマスタＡのクロック出力の方が早いタイミングでローに引いた場合、ＳＣＬ配線はマスタＡのクロック出力の影響を受けて同様に早くローに引く。マスタＢはＳＣＬ配線のローへの立ち下がりを検出し、それまで行っていたハイレベルの期間のカウントをクリアしてローレベルの期間のカウントを開始する。
【００１０】
（ｂ）マスタＡのクロック出力が、ＳＣＬ配線の立ち上がりとタイミングを同期させる場合
ｂ点において、マスタＡから見て、ローレベルの期間が終了してハイレベルに立ち上がり、ハイレベルの期間のカウントを開始しようとしたが、他のマスタＢのクロック出力の方がまだローレベルを維持している場合は、ローに引いたままのマスタＢの影響を受けてＳＣＬ配線はローレベルを維持する。この場合は、マスタＡは時点ｂからハイレベルの期間のカウントを開始せずに待機し、待ち時間とする。そして、ｃ点になってマスタＢのロー期間が終了し、ハイレベルに立ち上がり、この影響を受けてＳＣＬ配線も立ち上がると、このＳＣＬ配線のハイレベルをマスタＡが検出し、マスタＡはハイレベルの期間のカウントを開始する。
【００１１】
図１５に、従来のクロック配線駆動回路（ここでは、マスタＡに相当）として動作するＭＣＵ１００の回路構成を示す。
【００１２】
ＭＣＵ１００は、ＣＰＵ１０１とＩ２ＣＢＵＳ制御回路１０２とを備え、Ｉ２ＣＢＵＳ制御回路１０２は、ＳＣＬ生成カウンタ１０３、ＳＣＬ周波数設定レジスタ１０４、ＳＣＬドライバ１０５、Ｎチャネルトランジスタで構成された出力トランジスタ１０６、バッファ１０７、ＳＣＬサンプル回路１０８、ＳＣＬ同期回路１０９、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路１１０を有している。
【００１３】
そして、ＭＣＵ１００の外部に設けられたＳＣＬ配線に出力トランジスタ１０６の出力端子が接続されている。ＳＣＬ配線には、電源電圧ＶＤＤ端子との間にプルアップ抵抗１１１が接続されている。
【００１４】
ＳＣＬの周波数が、ＣＰＵ１０１が実行するプログラムによって決定されＳＣＬ周波数設定レジスタ１０４に書き込まれる。設定された周波数に応じて、カウント数がＳＣＬ生成カウンタ１０３に与えられる。
【００１５】
カウンタ用クロックＣＬＫがＳＣＬ生成カウンタ１０３に入力され、その出力がＳＣＬドライバ１０５を介して出力トランジスタ１０６のゲートに入力される。ＳＣＬ生成カウンタ１０３の出力がハイレベルのとき出力トランジスタ１０６がオンしてＳＣＬ配線をローレベルに低下させ、ローレベルになると出力トランジスタ１０６がオフし、プルアップ抵抗１１１によってＳＣＬ配線がハイレベルに立ち上がる。またＳＣＬ生成カウンタ１０３の出力は、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路１１０に入力される。
【００１６】
ここで、ＭＣＵ１００が出力する自己のクロック、即ち図１４におけるマスタＡのクロックに相当するものは、出力トランジスタ１０６の出力端子（Ｎチャネルトランジスタのドレイン端子）のレベルとする。
【００１７】
先ず、立ち上がり同期は次のように行われる。クロックＣＬＫを入力されるＳＣＬサンプル回路１０８に、バッファ１０７を介してＳＣＬ配線の信号レベルがモニタ用に入力され、クロックＣＬＫに同期してＳＣＬ配線の信号レベルが保持され、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路１１０に入力される。これにより、ＳＣＬサンプル回路１０８はＳＣＬ配線の信号レベルがハイレベルに立ち上がると、クロックＣＬＫに同期してこれを保持し、ハイレベルの信号を出力する。
【００１８】
ＳＣＬ立ち上がり／立ち下がり同期期間検出回路１１０は、ＳＣＬ立ち上がり同期を行うべき期間を検出する。即ち、ＳＣＬ生成カウンタ１０３の出力がローレベルで自己のクロックはハイレベル出力になったが、ＳＣＬサンプル回路１０８の出力がまだローレベルを維持している間、この期間をＳＣＬ立ち上がり同期期間であるとしてこの期間論理「１」（以下、論理「１」がハイレベルに対応する）となるＳＣＬ立ち上がり同期期間信号をＳＣＬ同期回路１０９に出力する。このＳＣＬ立ち上がり同期期間信号は、ＳＣＬ立ち上がり同期が終了した時点、即ちＳＣＬ生成カウンタ１０３の出力がローレベルで自己のクロックがハイレベル出力となり、かつＳＣＬ配線をモニタするＳＣＬサンプル回路１０８の出力がハイレベルに立ち上がった時点で出力されなくなる。
【００１９】
ＳＣＬ同期回路１０９は、ＳＣＬ立ち上がり同期期間信号が与えられている間、カウンタ待ち信号を出力する。これにより、ＳＣＬ生成カウンタ１０３は、ハイレベルの期間Ｔｈｉｇｈのカウントを開始せずに待機する。論理「１」のＳＣＬ立ち上がり同期期間信号が与えられなくなると、ＳＣＬ同期回路１０９はカウンタ待ち信号の出力を停止する。これにより、ＳＣＬ生成カウンタ１０３はハイレベルの期間Ｔｈｉｇｈのカウントを開始する。この間、ＳＣＬ生成カウンタ１０３はローレベルの出力を維持し、自己のクロックはハイレベル出力を維持する。カウント値が設定された値に到達すると、ＳＣＬ生成カウンタ１０３はその出力をハイレベルにし、自己のクロックはローレベルに立ち下がる。同時に、ローレベルの期間Ｔｌｏｗのカウントを開始する。
【００２０】
立ち下がり同期は次のようにして行われる。ＳＣＬサンプル回路１０８が、ＳＣＬ配線の信号レベルがローレベルに立ち下がると、クロックＣＬＫに同期してローレベルの信号を保持し出力する。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路１１０は、ＳＣＬ立ち下がり同期を行うべき期間を検出し、その間、ＳＣＬ立ち下がり同期期間信号を出力する。即ち、ＳＣＬ生成カウンタ１０３の出力がローレベルで自己のクロックはハイレベルを維持しており、ローレベルに未だ立ち下がっていないが、ＳＣＬ配線をモニタするＳＣＬサンプル回路１０８の出力がローレベルになると、ＳＣＬ立ち下がり同期期間信号をＳＣＬ同期回路１０９に出力する。このＳＣＬ立ち下がり同期期間信号は、ＳＣＬ生成カウンタ１０３の出力がハイレベルになり、自己のクロックがローレベルに立ち下がると直ちに出力されなくなる。
【００２１】
ＳＣＬ同期回路１０９は、ＳＣＬ立ち下がり同期期間信号を与えられるとカウンタクリア信号をＳＣＬ生成カウンタ１０３に与える。ＳＣＬ生成カウンタ１０３は、カウンタクリア信号を与えられるまではハイレベルの期間Ｔｈｉｇｈのカウントを行っていたが、カウンタクリア信号を与えられるとこのカウントを停止し、ローレベルの期間Ｔｌｏｗのカウントを開始する。
【００２２】
以下に、関連する従来技術を開示する文献を示す。
【００２３】
【特許文献１】
特表２００２−５０８６４５号公報
【特許文献２】
米国特許第４，６８９，７４０号
【００２４】
【発明が解決しようとする課題】
従来のクロック配線駆動回路を、シングルマスタとして動作するクロック転送システムに用いると、クロックレートが低下する原因について以下に説明する。
【００２５】
上述したように、シングルマスタとして動作するクロック転送システムにクロック配線駆動回路を用いる場合であっても、マルチマスタ構成のクロック転送システムを前提とするＩ２ＣＢＵＳプロトコルによるクロック同期機能が作用する。そして、このクロック同期方式は、ＳＣＬ配線のハイ期間とＳＣＬのロー期間とを、ＳＣＬ配線に寄生する負荷容量が存在しないことを前提として設計されていた。配線に寄生する容量が無負荷である場合は、図１６に示されたように、ＳＣＬ配線の波形が急峻に立ち上がる。このため、時点ａからｂまでのローレベルの期間Ｔｌｏｗと、時点ｂからｃまでのハイレベルの期間Ｔｈｉｇｈとを合計した周期Ｔｃｙｃは、ローレベルの期間Ｔｌｏｗのカウント数とハイレベルの期間Ｔｈｉｇｈのカウント数とを合計した値に一致する。
【００２６】
ところが、図１７に示されたようにＳＣＬ配線の波形が立ち上がるときになまりが存在すると、時点ｂにおいて自己のクロックが立ち上がり、これに伴いＳＣＬ配線が上昇を開始し、時点ｃでハイレベルに到達したと見なすまでにＳＣＬの立ち上がり待ち時間（ハイレベルの期間Ｔｈｉｇｈのカウント待ち時間）が発生し、この待ち時間分だけクロックレートが低下することになる。即ち、周期Ｔｃｙｃが、時点ａからｂまでのローレベルの期間Ｔｌｏｗのカウント数と、時点ｃからｄまでのハイレベルの期間Ｔｈｉｇｈのカウント数とを合計した値に一致せず、さらに時点ｂからｃまでのハイレベルの期間Ｔｈｉｇｈのカウント待ち時間分だけ長くなる。
【００２７】
例えば、設定したＳＣＬ周波数が４００ＫＨｚ（２５００［ｎｓ］）で、ＳＣＬ配線の立上り待ち時間として３００［ｎｓ］なまりが発生したとすると、ＳＣＬ配線のハイレベル期間ｈｉｇｈのカウント開始が３００［ｎｓ］待たされ、実周波数は３５７ＫＨｚ（２５００＋３００［ｎｓ］）となる。
【００２８】
上述のように、従来はＳＣＬ配線に存在する負荷容量を考慮していなかったため、シングルマスタとして動作するクロック転送システムにおいて、マルチマスタ構成のクロック転送システムにおけるクロック同期機能が作用することで、送受信のクロックレートが低下するという問題があった。
【００２９】
このことは、マルチマスタ構成のクロック転送システムにおいても同様であった。即ち、マルチマスタ構成のクロック転送システムであっても、常時複数のデバイスがクロックをそれぞれ出力するのではなく、単一のデバイスのみがマスタとしてクロックを出力する期間が存在する。このような、実際にはシングルマスタ状態で動作している期間においても同様に、クロック同期機能が作用し、送受信のクロックレートが低下するという問題があった。
【００３０】
本発明は上記事情に鑑み、配線に負荷容量が存在する場合にも送受信のクロックレートの低下を防止し、高速送受信を実現することが可能なクロック配線駆動回路を提供することを目的とする。
【００３１】
【課題を解決するための手段】
本発明のクロック配線駆動回路は、
前記クロック配線との間で立ち上がり同期のオン又はオフを設定され、立ち上がり同期オフが設定された場合、立ち上がり同期禁止信号を出力する立ち上がり同期オン／オフ設定レジスタと、
クロックの立ち上がり期間及び立ち下がり期間をそれぞれカウントし、前記立ち上がり期間をカウントしている間ハイレベルのクロックを出力させ、前記立ち下がり期間をカウントしている間ローレベルのクロックを出力させるためのクロック出力信号を出力するクロック生成カウンタと、
前記クロック配線に接続された出力端子を有し、前記クロック出力信号を与えられて前記クロック配線を駆動する出力部と、
前記クロック配線のレベルを保持し出力するサンプル回路と、
前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルに立ち上がり前記クロック配線がローレベルを維持している時点から、前記クロック配線がその後ハイレベルに立ち上がる時点までの間、立ち上がり同期期間信号を出力する同期期間検出回路と、
前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力しないときは、前記立ち上がり同期期間信号を与えられている間、カウント待ち信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントを待機させ、前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力したときは、前記立ち上がり同期期間信号にかかわらず前記カウント待ち信号を前記クロック生成カウンタに与えず、前記クロックの立ち上がり期間のカウントを待機させない同期回路と、
を備え、これにより
立ち上がり同期オフが設定された場合は、前記クロック配線と前記出力部の前記出力端子のレベルとの間で同期をとることなくクロックを出力することを特徴とする。
【００３２】
ここで前記同期期間検出回路は、前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルを維持しているが前記クロック配線がローレベルに立ち下がった時点から、前記出力端子がその後ローレベルに立ち下がる時点までの間、クロック立ち下がり同期期間信号を出力し、
前記同期回路は、前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力するか否かにかかわらず、前記クロック立ち下がり同期期間信号を与えられると、カウントクリア信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントをクリアさせ、
これにより、前記クロック生成カウンタは、前記カウントクリア信号を与えられると、ローレベルのクロックを出力させるための前記クロック出力信号を出力するように構成してもよい。
【００３３】
前記同期回路は、前記同期オン／オフ設定レジスタから出力された前記立ち上がり同期禁止信号と、前記同期期間検出回路から出力された前記立ち上がり同期期間信号とを与えられる論理回路を有し、前記論理回路は、前記立ち上がり同期禁止信号が入力されず、前記立ち上がり同期期間信号が入力されている間、前記カウント待ち信号を出力することもできる。
【００３４】
また本発明のクロック配線駆動回路は、
前記クロック配線との間で立ち上がり同期のオン又はオフを設定され、立ち上がり同期オフが設定された場合、立ち上がり同期禁止信号を出力する立ち上がり同期オン／オフ設定レジスタと、
クロックの立ち上がり期間及び立ち下がり期間をそれぞれカウントし、前記立ち上がり期間をカウントしている間ハイレベルのクロックを出力させ、前記立ち下がり期間をカウントしている間ローレベルのクロックを出力させるためのクロック出力信号を出力するクロック生成カウンタと、
前記クロック配線に接続された出力端子を有し、前記クロック出力信号を与えられて前記クロック配線を駆動する出力部と、
前記クロック生成カウンタから、ハイレベルのクロックを出力させるための前記クロック出力信号が出力されてから、所定の立ち上がり同期禁止期間が経過するまでの間、立ち上がり同期禁止期間信号を出力する立ち上がり同期禁止期間設定部と、
前記クロック配線のレベルを保持し出力するサンプル回路と、
前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルに立ち上がり前記クロック配線がローレベルを維持している時点から、前記クロック配線がその後ハイレベルに立ち上がる時点までの間、立ち上がり同期期間信号を出力する同期期間検出回路と、
前記同期オン／オフ設定レジスタが前記立ち上がり同期禁止信号を出力したときは、前記立ち上がり同期禁止期間設定部から前記立ち上がり同期禁止期間信号が出力されている間、立ち上がり同期禁止信号を出力する立ち上がり同期禁止信号出力部と、
前記立ち上がり同期禁止信号出力部が前記立ち上がり同期禁止信号を出力しないときは、前記クロック立ち上がり同期期間信号を与えられている間、カウント待ち信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントを待機させ、前記立ち上がり同期禁止信号出力部が前記立ち上がり同期禁止信号を出力している間、前記クロック立ち上がり同期期間信号にかかわらず前記カウント待ち信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントを強制的に待機させる同期回路と、
を備え、これにより
立ち上がり同期オフが設定された場合は、前記立ち上がり同期禁止期間が経過するまでの間、前記クロック配線と前記出力部の前記出力端子のレベルとの間で同期をとることなく立ち上がり期間のカウントを強制的に待機し、前記立ち上がり同期禁止期間が経過した後、前記クロック配線と前記出力部の前記出力端子のレベルとの間で同期をとることを特徴とする。
【００３５】
ここで前記同期期間検出回路は、前記サンプル回路の出力と前記クロック生成カウンタの出力とを用いて、前記出力部の前記出力端子がハイレベルを維持しているが前記クロック配線がローレベルに立ち下がった時点から、前記出力端子がその後ローレベルに立ち下がる時点までの間、クロック立ち下がり同期期間信号を出力し、
前記同期回路は、前記立ち上がり同期禁止信号出力部が前記立ち上がり同期禁止信号を出力するか否かにかかわらず、前記クロック立ち下がり同期期間信号を与えられると、カウントクリア信号を前記クロック生成カウンタに与えて、前記クロックの立ち上がり期間のカウントをクリアさせ、
これにより、前記クロック生成カウンタは、前記カウントクリア信号を与えられると、ローレベルのクロックを出力させるための前記クロック出力信号を出力するように構成してもよい。
【００３６】
前記立ち上がり同期禁止期間設定部は、
前記クロック生成カウンタから出力された前記クロック出力信号を所定のタイミングで順次転送して出力する、直列に接続された複数段のフリップフロップと、
前記クロック生成カウンタから出力された前記クロック出力信号と、前記フリップフロップにより転送された後出力された前記クロック出力信号とを与えられ、前記クロック生成カウンタからハイレベルのクロックを出力させるための前記クロック出力信号が出力されてから前記立ち上がり同期禁止期間が経過するまでの間、前記立ち上がり同期禁止期間信号を出力する第１の論理回路とを有し、
前記同期回路は、
前記立ち上がり同期禁止信号出力部から出力された前記立ち上がり同期禁止信号と、前記同期期間検出回路から出力された前記立ち上がり同期期間信号とを与えられる第２の論理回路を有し、
前記第２の論理回路は、前記立ち上がり同期禁止信号が入力されている間、又は前記立ち上がり同期禁止信号が入力されず前記立ち上がり同期期間信号が入力されている間、前記カウント待ち信号を出力するように構成することもできる。
【００３７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００３８】
（１）第１の実施の形態
先ず、本発明の第１の実施の形態によるクロック配線駆動回路について説明する。
【００３９】
本実施の形態は、シングルマスタとして構成されたクロック転送システムにおいて使用する場合には、クロック立ち上がり同期機能を停止し、マルチマスタで構成されたクロック転送システムにおいて使用する場合は、従来と同様にクロック立ち上がり同期を行う。尚、クロック立ち下がり同期は従来と同様にいずれのシステムにおいても行う。
【００４０】
本実施の形態によるクロック配線制御回路として、ＭＣＵ２００の構成を図１に示す。
【００４１】
ＭＣＵ２００は、ＣＰＵ２０１とＩ２ＣＢＵＳ制御回路２０２とを備え、Ｉ２ＣＢＵＳ制御回路２０２は、ＳＣＬ生成カウンタ２０３、ＳＣＬ周波数設定レジスタ２０４、ＳＣＬドライバ２０５、出力トランジスタ２０６、バッファ２０７、ＳＣＬサンプル回路２０８、ＳＣＬ同期回路２０９、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０、さらにＳＣＬ同期オン／オフ設定レジスタ２１２を有している。
【００４２】
ＭＣＵ２００の外部に設けられたＳＣＬ配線に出力トランジスタ２０６の出力端子が接続されている。ＭＣＵ２００の出力クロックのレベルは、出力トランジスタ２０６の出力端子のレベルが対応する。ＳＣＬ配線には、電源電圧ＶＤＤ端子との間にプルアップ抵抗２１１が接続されている。
【００４３】
先ず、ＳＣＬ立上り同期機能のオン／オフは、ＣＰＵ２０１が実行するプログラム命令によって決定される。ＳＣＬ立ち上がり同期機能をオフさせる場合は、オフ命令がＳＣＬ同期オン／オフ設定レジスタ２１２に与えられて設定される。ＳＣＬ同期オン／オフ設定レジスタ２１２から、論理「１」の立ち上がり同期禁止信号がＳＣＬ同期回路２０９に与えられる。これにより、ＳＣＬ同期回路２０９からはカウント待ち信号が出力されなくなり、ＳＣＬ生成カウンタ２０３はカウンタ用クロックＣＬＫに基づいて同期することなくカウント動作を行う。ＳＣＬの周波数が、ＣＰＵ２０１が実行するプログラムによって決定されＳＣＬ周波数設定レジスタ２０４に書き込まれる。設定された周波数に応じて、カウント数がＳＣＬ生成カウンタ２０３に与えられ、カウント動作が行われる。
【００４４】
ＣＰＵ２０１が実行するプログラム命令によりＳＣＬ立ち上がり同期機能をオンさせる場合は、オン命令がＳＣＬ同期オン／オフ設定レジスタ２１２に与えられて設定される。ＳＣＬ同期オン／オフ設定レジスタ２１２から立ち上がり同期禁止信号がＳＣＬ同期回路２０９に出力されなくなる。これにより、ＳＣＬ同期回路２０９からカウント待ち信号が出力される状態となる。この場合の動作は、図１５を用いて説明した動作と同様である。
【００４５】
カウンタ用クロックＣＬＫがＳＣＬ生成カウンタ２０３に入力され、その出力がＳＣＬドライバ２０５を介して出力トランジスタ２０６のゲートに入力され、ローレベルになるとオフして出力トランジスタ２０６の出力端子はハイレベルに立ち上がる。
【００４６】
ＳＣＬ生成カウンタ２０３の出力は、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０に入力される。
【００４７】
またクロックＣＬＫが入力されたＳＣＬサンプル回路２０８に、バッファ２０７を介してＳＣＬ配線の信号レベルが入力され、クロックＣＬＫに同期して保持され、その出力がＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０に入力される。
【００４８】
ＳＣＬサンプル回路２０８は、ＳＣＬ配線の信号レベルがハイレベルに立ち上がると、クロックＣＬＫに同期して保持し、ハイレベルの信号を出力する。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０は、ＳＣＬ生成カウンタ２０３の出力がローレベル（自己のクロック出力がハイレベル）になり、かつＳＣＬサンプル回路２０８の出力はローレベルの間、ＳＣＬ立ち上がり同期期間信号をＳＣＬ同期回路２０９に出力する。
【００４９】
ＳＣＬ同期回路２０９は、ＳＣＬ立ち上がり同期期間信号を与えられている間、カウント待ち信号を出力する。これにより、ＳＣＬ生成カウンタ２０３は、ハイレベルの期間Ｔｈｉｇｈのカウントを開始せずに待機する。ＳＣＬ同期回路２０９はＳＣＬ立ち上がり同期期間信号を与えられなくなると、カウンタ待ち信号の出力を停止する。これにより、ＳＣＬ生成カウンタ２０３はハイレベルの期間Ｔｈｉｇｈのカウントを開始し、カウント値が設定値に到達するまでの間ハイレベルの出力を維持する。
【００５０】
ＳＣＬ立ち下がりに関しては、ＳＣＬ配線に負荷容量による波形のなまりは影響せず、クロックレートの低下を招くことがないので従来通りに同期を行う。
【００５１】
即ち、ＳＣＬサンプル回路２０８は、ＳＣＬ配線の信号レベルがローレベルに立ち下がると、クロックＣＬＫに同期して保持し、ローレベルの信号を出力する。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０は、ＳＣＬ生成カウンタ２０３の出力がローレベル（自己のクロックがハイレベル）を維持しローレベルに立ち下がっていないが、ＳＣＬサンプル回路２０８の出力がローレベルになると、ＳＣＬ立ち下がり同期期間信号をＳＣＬ同期回路２０９に出力する。
【００５２】
ＳＣＬ同期回路２０９は、ＳＣＬ立ち下がり同期期間信号を与えられるとカウンタクリア信号をＳＣＬ生成カウンタ２０３に与える。ＳＣＬ生成カウンタ２０３は、カウンタクリア信号を与えられるまではハイレベルの期間Ｔｈｉｇｈのカウントを行っていたが、カウンタクリア信号を与えられるとこのカウントを停止し、ローレベルの期間Ｔｌｏｗのカウントを開始する。
【００５３】
図２に、上記第１の実施の形態によるクロック配線制御回路の構成をより具体化した回路構成を示す。
【００５４】
ＣＰＵ２０１からチップセレクト信号ＣＳ、書き込み信号ＷＲが出力される。ＳＣＬ同期オン／オフ設定レジスタ２１２はフリップフロップＦ／Ｆ４を有し、ＣＰＵ２０１から当該チップを選択するチップセレクト信号ＣＳと、ＳＣＬ立ち上がり同期機能をオフさせる書き込み信号ＷＲが出力されると、論理「１」を保持して出力する。これにより、フリップフロップＦ／Ｆ４に立ち上がり同期禁止が設定された状態となり、論理「１」の立ち上がり同期禁止信号が出力される。立ち上がり同期機能の禁止を解除する場合は、ＣＰＵ２０１からリセット信号ＲＥＳが与えられてフリップフロップＦ／Ｆ４がリセットされ、論理「１」の立ち上がり同期禁止信号は出力されなくなる。
【００５５】
ＳＣＬ生成カウンタ２０３からの出力がローレベル（自己のクロックがハイレベル）になったが、ＳＣＬサンプル回路２０８からの出力がローレベルである場合、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０からは論理「１」のＳＣＬ立ち上がり同期期間信号が出力される。
【００５６】
ＳＣＬ同期回路２０９は、ＡＮＤ回路ＡＮ１を有する。このＡＮＤ回路ＡＮ１に、論理「１」のＳＣＬ立ち上がり同期期間信号と、ＳＣＬ同期オン／オフ設定レジスタ２１２からの出力が反転されたものがＡＮＤ回路ＡＮ１に入力される。これにより、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０がＳＣＬ生成カウンタ２０３からハイレベルの信号が出力されかつＳＣＬサンプル回路２０８がモニタしたＳＣＬ配線の信号レベルがまだローレベルにある立ち上がり同期期間を検出して論理「１」のＳＣＬ立ち上がり同期期間信号が出力され、さらに論理「１」の立ち上がり同期信号が出力されておらず、ＳＣＬ同期オン／オフ設定レジスタ２１２からの出力が論理「０」である場合に限り、論理「１」のカウント待ち信号が出力されてＳＣＬ生成カウンタ２０３に与えられる。論理「１」の立ち上がり同期信号が出力されている場合は、出力トランジスタ２０６の出力端子からハイレベルのクロックが出力されＳＣＬ配線のレベルがまだローレベルにある立ち上がり同期期間であっても、ＡＮＤ回路ＡＮ１からは論理「１」のカウント待ち信号は出力されなくなる。
【００５７】
ＳＣＬ生成カウンタ２０３は、カウントアップ用に複数段直列に接続されカウンタ用クロックＣＬＫを順次シフトしていくフリップフロップＦ／Ｆ１、Ｆ／Ｆ２、…、Ｆ／Ｆ３と、フリップフロップＦ／Ｆ１、Ｆ／Ｆ２、…、Ｆ／Ｆ３のリセット端子に出力側が接続されたＮＯＲ回路ＮＲ１とを備えている。
【００５８】
ＮＯＲ回路ＮＲ１は、論理「１」のカウント待ち信号が出力されている期間は、全てのフリップフロップＦ／Ｆ１、Ｆ／Ｆ２、…、Ｆ／Ｆ３のリセット端子に論理「０」のリセット信号を与えてリセット状態にし、カウント動作を開始させない。立ち上がり同期禁止により論理「１」のカウント待ち信号が出力されない場合は、ＮＯＲ回路ＮＲ１からはフリップフロップＦ／Ｆ１、Ｆ／Ｆ２、…、Ｆ／Ｆ３のリセット端子に論理「０」のリセット信号が出力されなくなり、カウント動作が行われる。最終段のフリップフロップＦ／Ｆ３からの出力、即ちカウント値がＳＣＬ周波数設定レジスタ２０４に設定された値に到達すると、ＮＯＲ回路ＮＲ１に論理「１」の信号が入力されて、論理「０」のリセット信号が全てのフリップフロップＦ／Ｆ１〜Ｆ／Ｆ３のリセット端子に入力され、カウント動作がリセットされる。
【００５９】
ＳＣＬ立ち下がりに関しては、上述したように同期を行う。
【００６０】
ＳＣＬサンプル回路２０８が、ＳＣＬ配線の信号レベルがローレベルに立ち下がると、クロックＣＬＫに同期して保持し、ローレベルの信号を出力する。
【００６１】
ＳＣＬ立ち上がり／立ち下がり同期期間検出回路２１０が、ＳＣＬ生成カウンタ２０３の出力が依然としてローレベル（自己のクロック出力がハイレベル）を維持しているが、ＳＣＬサンプル回路２０８の出力がローレベルに立ち下がっているとＳＣＬ立ち下がり同期期間であると判断し、論理「１」のＳＣＬ立ち下がり同期期間信号をＳＣＬ同期回路２０９に出力する。
【００６２】
ＳＣＬ同期回路２０９は、論理「１」のＳＣＬ立ち下がり同期期間信号を論理「１」のカウンタクリア信号としてＳＣＬ生成カウンタ２０３に与える。ＳＣＬ生成カウンタ２０３は、このカウンタクリア信号を与えられるまではハイレベルの期間Ｔｈｉｇｈのカウントを行っているが、カウンタクリア信号を与えられるとＮＯＲ回路ＮＲ１から論理「０」の信号がフリップフロップＦ／Ｆ１、Ｆ／Ｆ２、…、Ｆ／Ｆ３のリセット端子に出力され、ハイレベルの期間Ｔｈｉｇｈのカウント動作がリセットされる。この後、ローレベルの期間Ｔｌｏｗのカウントが開始される。
【００６３】
図１に示された第１の実施の形態、図２に示された第２の実施の形態によれば、立ち下がり同期を禁止することにより、次のような作用、効果を奏する。
【００６４】
図３に示されたように、ＭＣＵ２００から出力される自己のクロックのハイレベル期間Ｔｈｉｇｈ、ローレベルの期間Ｔｌｏｗは規格通りに９００ｎｓ、１６００ｎｓ、またＳＣＬ配線のレベルが時点ｃからｄまでに立ち上がるとき最大規格値の３００ｎｓまで時間を要したとする。
【００６５】
ＳＣＬ配線のハイレベル期間Ｔｈｉｇｈ、ローレベル期間Ｔｌｏｗは次のように決定される。
【００６６】
先ず、ＳＣＬ配線における立ち上がり時間の最大値をＴｒとすると、ハイレベル期間Ｔｈｉｇｈのカウント数は、
（Ｔｈｉｇｈのカウント数−Ｔｒ）≧Ｔｈｉｇｈの最小規格      （１）
を満たすように設定する。
【００６７】
また、ＳＣＬ配線における立ち下がり時間の最大値をＴｆとすると、ローレベル期間Ｔｌｏｗのカウント数は、
（Ｔｌｏｗのカウント数−Ｔｆ）≧Ｔｌｏｗの最小規格        （２）
を満たすように設定する。
【００６８】
例えば、ＳＣＬ配線のクロックを高速モードの４００ｋＨｚ（周期２５００ｎｓ）とする。この場合のＴｒの最大規格は３００ｎｓ、Ｔｆの最大規格は３００ｎｓ、Ｔｌｏｗの最小規格は１３００ｎｓ、Ｔｈｉｇｈの最小規格は６００ｎｓである。
【００６９】
上記（１）式より、（Ｔｈｉｇｈのカウント数−３００）≧６００から、Ｔｈｉｇｈのカウント数は９００ｎｓとして設定する。
【００７０】
また上記（２）式より、（Ｔｌｏｗのカウント数−３００）≧１３００から、Ｔｌｏｗのカウント数は１６００ｎｓとして設定する。
【００７１】
ＳＣＬ配線のクロックを低速モードの１００ｋＨｚ（周期１００００ｎｓ）とした場合は、Ｔｒの最大規格は１０００ｎｓ、Ｔｆの最大規格は３００ｎｓ、Ｔｌｏｗの最小規格は４７００ｎｓ、Ｔｈｉｇｈの最小規格は４０００ｎｓである。
【００７２】
上記（１）式より、（Ｔｈｉｇｈのカウント数−１０００）≧４０００から、Ｔｈｉｇｈのカウント数は５０００ｎｓとして設定する。
【００７３】
また上記（２）式より、（Ｔｌｏｗのカウント数−３００）≧４７００から、Ｔｌｏｗのカウント数は５０００ｎｓとして設定する。
【００７４】
上記第１の実施の形態によれば、図１７を用いて説明した従来の回路において発生したハイレベルの期間Ｔｈｉｇｈのカウント待ち時間が存在しなくなり、クロックレートの低下が防止される。
【００７５】
（２）第２の実施の形態
上記第１の実施の形態によるクロック配線駆動回路は、シングルマスタで構成されたクロック転送システムにおいて使用する場合、ＳＣＬ立ち上がり同期を全く行わないことで、従来と比較しクロックレートの低下を防止することができる。しかし、マルチマスタで構成されたクロック転送システムにおいて使用する場合には、ＳＣＬ立ち上がり同期を全く行わないのでは複数のクロックの間で同期をとることができないので、従来通りに同期せざるを得なくなる。このため、マルチマスタ構成のシステムにおいてはクロックレートの低下を防止することはできない。
【００７６】
これに対し本実施の形態は、マルチマスタで構成されたクロック転送システムにおいても、単一のデバイスのみがクロックを出力し実状としてはシングルマスタ状態で動作している期間が存在することに着目し、所定期間ＳＣＬ立ち上がり同期を禁止し強制的に立ち上がり期間のカウントを禁止し、所定期間経過後立ち上がり同期を行うことで、シングルマスタ状態で動作している間はクロックレートの低下を防止し、マルチマスタ状態で動作する状態では同期動作を実現することでマルチマスタとしても支障なく動作可能とする点に特徴がある。
【００７７】
本実施の形態によるクロック配線制御回路として、ＭＣＵ３００の構成を図４に示す。
【００７８】
ＭＣＵ３００は、ＣＰＵ３０１とＩ２ＣＢＵＳ制御回路３０２とを備え、Ｉ２ＣＢＵＳ制御回路３０２は、ＳＣＬ生成カウンタ３０３、ＳＣＬ周波数設定レジスタ３０４、ＳＣＬドライバ３０５、出力トランジスタ３０６、バッファ３０７、ＳＣＬサンプル回路３０８、ＳＣＬ同期回路３０９、ＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０、ＳＣＬ同期オン／オフ設定レジスタ３１２、さらに立ち上がり同期禁止期間設定部３１３を備えている。立ち上がり同期禁止期間設定部３１３は、ＡＮＤ回路ＡＮ２１、直列に接続された複数段のフリップフロップＦ／Ｆ２１〜Ｆ／Ｆ２３を有している。
【００７９】
ＭＣＵ３００の外部に設けられたＳＣＬ配線に出力トランジスタ３０６の出力端子が接続されている。ＳＣＬ配線には、電源電圧ＶＤＤ端子との間にプルアップ抵抗３１１が接続されている。
【００８０】
上記第１の実施の形態と同様に、ＳＣＬ生成カウンタ３０３の出力がＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０に入力される。
【００８１】
クロックＣＬＫが入力されるＳＣＬサンプル回路３０８に、バッファ３０７を介してＳＣＬ配線の信号レベルが入力され、クロックＣＬＫに同期して保持され、その出力がＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０に入力される。
【００８２】
ＳＣＬサンプル回路３０８は、ＳＣＬ配線の信号レベルがハイレベルに立ち上がると、クロックＣＬＫに同期して保持し、ハイレベルの信号を出力する。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０は、ＳＣＬ生成カウンタ３０３の出力がローレベル（自己のクロック出力がハイレベル）になり、かつＳＣＬサンプル回路３０８の出力が未だローレベルにある間、ＳＣＬ立ち上がり同期期間信号をＳＣＬ同期回路３０９に出力する。
【００８３】
また、ＳＣＬ立上り同期機能のオン／オフは、ＣＰＵ３０１が実行するプログラム命令によって決定される。ＳＣＬ立ち上がり同期機能を所定期間オフさせる場合は、オフ命令がＳＣＬ同期オン／オフ設定レジスタ３１２に与えられて設定される。ＳＣＬ同期オン／オフ設定レジスタ３１２から論理「１」の立ち上がり同期禁止信号が出力されると、ＡＮＤ回路ＡＮ２２の一方の入力端子に入力される。一方、ＳＣＬ立ち上がり同期機能をオンさせる場合は、オン命令がＳＣＬ同期オン／オフ設定レジスタ３１２に与えられて設定される。ＳＣＬ同期オン／オフ設定レジスタ３１２からは、論理「１」の立ち上がり同期禁止信号が出力されなくなる。この場合の動作は、上記第１の実施の形態におけるものと同様である。
【００８４】
立ち上がり同期禁止期間設定部３１３において、ＳＣＬ生成カウンタ３０３からローレベルの信号が入力されると、反転されてハイレベルの信号がＡＮＤ回路ＡＮ２１の一方の入力端子に入力される。
【００８５】
フリップフロップＦ／Ｆ２１〜Ｆ２３に転送クロックが入力され、初段のフリップフロップＦ／Ｆ２１に入力されたハイレベルの出力が順次転送されていく。この初段のフリップフロップＦ／Ｆ２１から最終段のフリップフロップＦ／Ｆ２３に到達するまでの転送時間がＳＣＬ立ち上がり同期禁止期間に対応するように、フリップフロップの段数が設定されている。
【００８６】
ＡＮＤ回路ＡＮ２１の一方の入力端子にＳＣＬ生成カウンタ３０３からハイレベルの信号が入力された時点では、他方の入力端子にはフリップフロップＦ／Ｆ２３のローレベルの出力が反転されてハイレベルの信号が入力されるので、ＡＮＤ回路ＡＮ２１からはハイレベルが出力される。これがＡＮＤ回路ＡＮ２２の他方の入力端子に入力され、ＡＮＤ回路２２からはハイレベルの立ち上がり同期禁止信号が出力される。立ち上がり同期禁止期間設定部３１３において、ＳＣＬ同期禁止期間が経過すると、フリップフロップＦ／Ｆ２３からハイレベルの信号が出力され、ＡＮＤ回路ＡＮ２１にローレベルとして入力されるので、ＡＮＤ回路ＡＮ２１からはローレベルが出力され、ＡＮＤ回路ＡＮ２２の他方の入力端子に入力される。この結果、ＡＮＤ回路ＡＮ２２からは論理「１」の立ち上がり同期禁止信号は出力されなくなる。
【００８７】
ＳＣＬ同期回路３０９のＯＲ回路ＯＲ１１の一方の入力端子に論理「１」の立ち上がり同期禁止信号が与えられている期間中は、ＳＣＬ同期回路３０９からカウント待ち信号が出力されて、ＳＣＬ生成カウンタ３０３は同期動作を行うことなく強制的にカウント動作を待機した状態になる。
【００８８】
立ち上がり同期禁止期間が経過し、ＳＣＬ同期回路３０９のＯＲ回路ＯＲ１１の一方の端子に論理「１」の立ち上がり同期禁止信号が与えられなくなると、ＳＣＬ立ち上がり同期機能がオンした状態となる。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０から論理「１」の立ち上がり同期信号が出力されている間、ＯＲ回路ＯＲ１１の一方の入力端子に入力され、カウント待ち信号が出力される。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０から論理「１」の立ち上がり同期信号が出力されなくなると、ＯＲ回路ＯＲ１１からはカウント待ち信号が出力されなくなる。これにより、ＳＣＬ生成カウンタ３０３において立ち上がり期間のカウント動作が開始される。
【００８９】
ＳＣＬ生成カウンタ３０３において、ハイレベルの期間Ｔｈｉｇｈのカウントが始まり、ローレベルの信号が出力されて出力トランジスタ３０６の出力端子はハイレベルになる。ハイレベルの期間Ｔｈｉｇｈのカウントが終了すると、ＳＣＬ生成カウンタ３０３からハイレベルが出力されて、出力トランジスタ３０６の出力端子はローレベルに立ち下がる。
【００９０】
ＳＣＬ立ち下がりに関しては、上記第１の実施の形態と同様に、ＳＣＬ配線に負荷容量による波形のなまりは影響せず、クロックレートの低下を招くことがないので、従来通りに同期を行う。
【００９１】
即ち、ＳＣＬサンプル回路３０８は、ＳＣＬ配線の信号レベルがローレベルに立ち下がると、クロックＣＬＫに同期して保持し、ローレベルの信号を出力する。ＳＣＬ立ち上がり／立ち下がり同期期間検出回路３１０は、ＳＣＬ生成カウンタ３０３の出力がローレベル（自己のクロックがハイレベル）を維持しローレベルに立ち下がっていないが、ＳＣＬサンプル回路３０８の出力がローレベルになると、ＳＣＬ立ち下がり同期期間信号をＳＣＬ同期回路３０９に出力する。
【００９２】
ＳＣＬ同期回路３０９は、ＳＣＬ立ち下がり同期期間信号を与えられるとカウンタクリア信号をＳＣＬ生成カウンタ３０３に与える。ＳＣＬ生成カウンタ３０３は、カウンタクリア信号を与えられるまではハイレベルの期間Ｔｈｉｇｈのカウントを行っていたが、カウンタクリア信号を与えられるとこのカウントを停止し、ローレベルの期間Ｔｌｏｗのカウントを開始する。
【００９３】
本実施の形態に従いＳＣＬの立ち上がり同期を、所定時間、即ちＳＣＬ立ち上がり同期禁止期間だけオフにした場合におけるハイレベルの期間Ｔｈｉｇｈとローレベルの期間Ｔｌｏｗのカウント数について、図５を用いて説明する。ここで、ＳＣＬ立ち上がり同期をオフにする期間は、立ち上がり時間の最大規格ＴｒＳであるとする。また、立ち下がり時間の最大規格をＴｆとする。
【００９４】
ＳＣＬ波形がハイレベルの期間Ｔｈｉｇｈのカウント数は、
ハイレベルの期間Ｔｈｉｇｈのカウント数≧Ｔｈｉｇｈ幅の最小規格  （３）
とする。
【００９５】
ＳＣＬ波形がローレベルの期間Ｔｌｏｗのカウント数は、
（Ｔｌｏｗのカウント数−Ｔｆ）≧Ｔｌｏｗ幅の最小規格          （４）
とする。
【００９６】
第２の実施の形態において、クロック転送システムが実際にはシングルマスタ状態で動作している場合におけるハイレベルの期間Ｔｈｉｇｈとローレベルの期間Ｔｌｏｗについて図６を用いて説明する。
【００９７】
例えば、ＳＣＬ配線のクロックを高速モードの４００ｋＨｚ（周期２５００ｎｓ）とする。この場合のＴｒの最大規格は３００ｎｓ、Ｔｆの最大規格は３００ｎｓ、Ｔｌｏｗの最小規格は１３００ｎｓ、Ｔｈｉｇｈの最小規格は６００ｎｓである。
【００９８】
上記（３）式より、Ｔｈｉｇｈのカウント数≧６００から、Ｔｈｉｇｈのカウント数は６００ｎｓとして設定する。
【００９９】
また上記（４）式より、（Ｔｌｏｗのカウント数−３００）≧１３００から、Ｔｌｏｗのカウント数は１６００ｎｓとして設定する。
【０１００】
ＳＣＬ配線のクロックを低速モードの１００ｋＨｚ（周期１００００ｎｓ）とした場合は、Ｔｒの最大規格は１０００ｎｓ、Ｔｆの最大規格は３００ｎｓ、Ｔｌｏｗの最小規格は４７００ｎｓ、Ｔｈｉｇｈの最小規格は４０００ｎｓである。
【０１０１】
上記（３）式より、Ｔｈｉｇｈのカウント数≧４０００から、Ｔｈｉｇｈのカウント数は４０００ｎｓとして設定する。
【０１０２】
また上記（４）式より、（Ｔｌｏｗのカウント数−３００）≧４７００から、Ｔｌｏｗのカウント数は５０００ｎｓとして設定する。
【０１０３】
このように、マルチマスタとして構成されたクロック転送システムにおいて、実際にはシングルマスタ状態で動作している期間では、所定期間のみＳＣＬ立ち上がり同期禁止としたことにより、本来のクロックレート（周波数４００ｋＨｚ、周期２５００ｎｓ）を低下させることなくクロックを転送することができる。
【０１０４】
次に、第２の実施の形態において、クロック転送システムがマルチマスタ状態で動作している場合におけるハイレベルの期間Ｔｈｉｇｈとローレベルの期間Ｔｌｏｗについて、図７〜図１０を用いて説明する。この場合は、シングルマスタとして動作している状態とは異なり、場合によってはクロックレートは低下するが、所定の禁止期間を経過した後ＳＣＬ立ち上がり同期を行うことで、マルチマスタとして支障なく動作することが可能である。
【０１０５】
ここでは、ＳＣＬ配線のクロックを高速モードの４００ｋＨｚ（周期２５００ｎｓ）とし、Ｔｒの最大規格は３００ｎｓ、Ｔｆの最大規格は３００ｎｓ、Ｔｌｏｗの最小規格は１３００ｎｓ、Ｔｈｉｇｈの最小規格は６００ｎｓとする。
【０１０６】
（ａ）  本装置が出力するクロックと他の装置が出力するクロックとの間で、ＳＣＬ周波数、ハイレベルの期間Ｔｈｉｇｈ、ローレベルの期間Ｔｌｏｗが全て同じで、自己のクロックが他のデバイスのクロックより先に立ち上がる場合
クロックレートの低下を招くことなく同期を取るための条件は、本装置が出力するクロックと他の装置が出力するクロックとが同一周波数で、かつＳＣＬ配線のクロックの立ち上がりに要する時間が最大規格３００ｎｓ以下の範囲内に収まる場合である。
【０１０７】
図７に示されたように、時点ａでＳＣＬ（本装置）がローレベルになり、ＳＣＬ配線はローレベルになる。ＳＣＬ（他の装置）は立ち下がり同期の原理に従い、ハイレベルの期間Ｔｈｉｇｈのカウントを中止し、この時点ａからローレベルの期間Ｔｌｏｗのカウントを開始する。
【０１０８】
時点ａで同期したＳＣＬ（他の装置）は、図７のＳＣＬ（他の装置：時点ａで同期後）の様にＴｌｏｗ＝１６００ｎｓ、Ｔｈｉｇｈ＝９００ｎｓのカウントを行おうとする。
【０１０９】
ＳＣＬ（本装置）、ＳＣＬ（他の装置）はともに時点ｃでローレベルの期間Ｔｌｏｗカウント１６００ｎｓを終了する。
【０１１０】
時点ｃからＳＣＬ（他の装置）はハイレベルの期間Ｔｈｉｇｈ９００ｎｓのカウントを開始する。ＳＣＬ（本装置）は時点ｃから時点ｅ経過後、時点ｅからハイレベルの期間Ｔｈｉｇｈカウント６００ｎｓを開始する。
【０１１１】
結果、時点ｆでＳＣＬ（本装置）、ＳＣＬ（他の装置）はともにハイレベルの期間Ｔｈｉｇｈのカウントを終了する。
【０１１２】
仮に、ＳＣＬ配線が負荷容量の影響でなまった場合（なまりの最大規格は３００ｎｓ）であっても、時点ｃから時点ｅの３００ｎｓ以内に納まりクロックレートが低下すること無く、同期を実現することができる。
【０１１３】
（ｂ）  本装置が出力するクロックと他の装置が出力するクロックとの間で、ＳＣＬ周波数、ハイレベルの期間Ｔｈｉｇｈ、ローレベルの期間Ｔｌｏｗが全て同じで、他の装置のクロックが先に立ち上がる場合
時点ａでＳＣＬ（本装置）がローレベルになり、ＳＣＬ配線はローレベルになる。ＳＣＬ（他の装置）は立ち下がり同期の原理に従い、ハイレベルの期間Ｔｈｉｇｈのカウントを中止し、ローレベルの期間Ｔｌｏｗのカウントを開始する。
【０１１４】
時点ａで同期したＳＣＬ（他の装置）は、ＳＣＬ（他の装置：時点ａで同期後）の様に、Ｔｌｏｗ＝１７００ｎｓ、Ｔｈｉｇｈ＝８００ｎｓのカウントを行おうとするので、以降（他の装置）は、ＳＣＬ（他の装置：時点ａで同期後）で考える。
【０１１５】
ＳＣＬ（本装置）は、時点ａから時点ｃまで１６００ｎｓの期間ローレベルを出力する。ＳＣＬ（他の装置）は、時点ａから時点ｄまで１７００ｎｓの期間ローレベルを出力する。この結果、ＳＣＬ配線は１７００ｎｓの期間ローレベルとなり、ＳＣＬ（本装置）は自己のクロックが他のデバイスのクロックより先に立ち上がる場合となる。従来回路であればＴｒＳの期間も同期期間であったが、同期禁止期間となり、ＳＣＬ（本装置）は時点ｆより６００ｎｓのカウントを開始する。ＳＣＬ（他の装置）は、時点ｄから８００ｎｓのカウントを開始し、最終的にどちらも時点ｈでハイレベルの期間Ｔｈｉｇｈのカウントを終了する。
【０１１６】
この場合は、サイクルＴｃｙｃが２５００ｎｓを維持し、クロックレートの低下を招くことなく同期が実現される。
【０１１７】
ここで、ＳＣＬ配線が時点ｄから負荷容量の影響で急峻に立ち上がることができず、破線の様に、時点ｄから３００ｎｓ、即ち時点ｆからさらに１００ｎｓ経過した時点ｇまで立ち上がりに時間を要した場合を考える。この場合、時点ｆから時点ｇの期間、本装置はハイレベル期間Ｔｈｉｇｈのカウント待ち状態となり、時点ｇから６００ｎｓ経過するまでカウントする。この結果Ｔｃｙｃは２６００ｎｓとなり、クロックレートが低下するが、同期動作は支障なく実現することができる。この時、他の装置も時点ｇから８００ｎｓのカウントを開始するが、本装置が６００ｎｓでＳＣＬ配線をローレベルにする為、その時点でハイレベルの期間Ｔｈｉｇｈのカウントを中止し、ローレベルの出力になる。
【０１１８】
（ｃ）  本装置が出力するクロックと他の装置が出力するクロックとの間で、周波数は同一（４００ｋＨｚ、周期２５００ｎｓ）であり、ハイレベルの期間Ｔｈｉｇｈ、ローレベルの期間Ｔｌｏｗが異なる場合
他の装置に関しては、図８で説明した様に、時点ａで立ち下がりの同期が完了したものとする。自己のクロックより、他の装置のクロックが先に立ち上がる場合は、ＳＣＬ（他の装置）が時点ｂから時点ｃまでの期間、立ち上がり同期の原理に従い、ハイレベルの期間Ｔｈｉｇｈのカウント待ちとなる。
【０１１９】
この場合、クロックレートは下がらず、また同期も支障なく行われる。
【０１２０】
（ｄ）  本装置が出力するクロックと他の装置が出力するクロックとの間で、ＳＣＬ周波数が異なる（他の装置が２５０ｋＨｚ、周期４０００ｎｓ）場合
ＳＣＬ（本装置）は、時点ｃから時点ｄまでが、ハイレベルの期間Ｔｈｉｇｈのカウント待ちとなり、時点ｄからハイレベルの期間Ｔｈｉｇｈのカウント６００ｎｓを開始する。その結果、ＳＣＬ（本装置）がローレベルに下がるのは時点ｆとなり、ＳＣＬ配線がローレベルになる。ＳＣＬ（他の装置）は、時点ｆでハイレベルの期間Ｔｈｉｇｈのカウントを中止し、ローレベルの期間Ｔｌｏｗのカウントを開始する。
【０１２１】
この場合、クロックレートが低下するが、同期動作は支障なく実現することができる。
【０１２２】
上述したように、第２の実施の形態によれば、マルチマスタで構成されたクロック転送システムにおいて、単一のデバイスのみがクロックを出力しシングルマスタ状態で動作している間は、所定期間ＳＣＬ立ち上がり同期を禁止することでクロックレートの低下を防止し、マルチマスタ状態で動作する間は所定期間ＳＣＬ立ち上がり同期を禁止した後同期することで、クロックレートの低下が生じる場合もあるが、マルチマスタとしても支障なく同期を実現し動作可能とすることができる。
【０１２３】
上述した実施の形態は一例であり、本発明を限定するものではなく、特許請求の範囲内において様々に変形することが可能である。例えば、上記実施の形態における周波数やハイレベル、ローレベルの期間、またカウント待ち時間の数値はいずれも一例に過ぎない。
【０１２４】
【発明の効果】
以上説明したように、本発明のクロック配線駆動回路は、シングルマスタで動作するクロック転送システムでは、クロック立ち上がり同期をオフすることで、クロック配線に負荷容量が存在する場合にもクロックレートの低下を防止し、高速送受信を実現することが可能である。
【０１２５】
あるいは、本発明のクロック配線駆動回路は、マルチマスタで構成されたクロック転送システムにおいても、クロック立ち上がり同期をオフし所定期間ハイレベルの期間のカウント動作を強制的に待機させ、その後同期を行ってカウントを開始することで、マルチマスタ構成であっても実際にはシングルマスタで動作している状態では、クロック配線に負荷容量が存在する場合にもクロックレートの低下を防止し、マルチマスタで動作している状態では支障なく同期動作を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態によるクロック配線駆動回路の構成を示したブロック図。
【図２】上記第１の実施の形態によるクロック配線駆動回路の構成をより具体化した回路構成を示したブロック図。
【図３】図１、図２に示されたクロック配線駆動回路におけるハイレベル期間、ローレベル期間のカウントについて示したタイムチャート。
【図４】本発明の第２の実施の形態によるクロック配線駆動回路の構成を示したブロック図。
【図５】上記第２の実施の形態によるクロック配線駆動回路におけるクロックレートを示したタイムチャート。
【図６】上記第２の実施の形態によるクロック配線駆動回路において、シングルマスタとして動作するシステムにおいて、ＳＣＬ配線に負荷容量が存在する場合のクロックレートを示したタイムチャート。
【図７】上記第２の実施の形態によるクロック配線駆動回路において、マルチマスタとして動作するシステムにおいて、本装置の出力クロックと他の装置の出力クロックのＳＣＬ周波数、ハイレベルの期間、ローレベルの期間が全て同じで、本装置のクロックが他の装置のクロックより先に立ち上がる場合のクロックレートを示したタイムチャート。
【図８】上記第２の実施の形態によるクロック配線駆動回路において、マルチマスタとして動作するシステムにおいて、本装置の出力クロックと他の装置の出力クロックのＳＣＬ周波数、ハイレベルの期間、ローレベルの期間が全て同じで、本装置のクロックより他の装置のクロックが先に立ち上がる場合のクロックレートを示したタイムチャート。
【図９】上記第２の実施の形態によるクロック配線駆動回路において、マルチマスタとして動作するシステムにおいて、本装置の出力クロックと他の装置の出力クロックのＳＣＬ周波数が同一で、ハイレベルの期間、ローレベルの期間が異なる場合のクロックレートを示したタイムチャート。
【図１０】上記第２の実施の形態によるクロック配線駆動回路において、マルチマスタとして動作するシステムにおいて、本装置の出力クロックと他の装置の出力クロックのＳＣＬ周波数が異なる場合のクロックレートを示したタイムチャート。
【図１１】シングルマスタとして構成されたクロック転送システムの構成を示したブロック図。
【図１２】シングルマスタとして構成されたクロック転送システムにおいて負荷容量が存在する場合の構成を示したブロック図。
【図１３】マルチマスタとして構成されたクロック転送システムの構成を示したブロック図。
【図１４】Ｉ２ＣＢＵＳのクロック同期方式を説明するタイムチャート。
【図１５】従来のクロック配線駆動回路の構成を示したブロック図。
【図１６】配線負荷容量が存在しない場合のクロックの波形を示したタイムチャート。
【図１７】配線負荷容量が存在する場合のクロックの波形とこの場合の問題を示したタイムチャート。
【符号の説明】
２００、３００  ＭＣＵ
２０１、３０１  ＣＰＵ
２０２、３０２  Ｉ２ＣＢＵＳ制御回路
２０３、３０３  ＳＣＬ生成カウンタ
２０４、３０４  ＳＣＬ周波数設定レジスタ
２０５、３０５  ＳＣＬドライバ
２０６、３０６  出力トランジスタ
２０７、３０７  バッファ
２０８、３０８  ＳＣＬサンプル回路
２０９、３０９  ＳＣＬ同期回路
２１０、３１０  ＳＣＬ立ち上がり／立ち下がり同期期間検出回路
２１１、３１１  プルアップ抵抗
２１２、３１２  ＳＣＬ同期オン／オフ設定レジスタ
３１３  立ち上がり同期禁止期間設定部
【図１】
2004310673.tif 000003
【図２】
2004310673.tif 000004
【図３】
2004310673.tif 000005
【図４】
2004310673.tif 000006
【図５】
2004310673.tif 000007
【図６】
2004310673.tif 000008
【図７】
2004310673.tif 000009
【図８】
2004310673.tif 000010
【図９】
2004310673.tif 000011
【図１０】
2004310673.tif 000012
【図１１】
2004310673.tif 000013
【図１２】
2004310673.tif 000014
【図１３】
2004310673.tif 000015
【図１４】
2004310673.tif 000016
【図１５】
2004310673.tif 000017
【図１６】
2004310673.tif 000018
【図１７】
2004310673.tif 000019