(57)【要約】    【課題】  簡易な構成によって、“Ｈ”期間と“Ｌ”期間とが異なるクロック信号を生成可能な信号発生装置を提供する。    【解決手段】  カウンタ１０７はクロックＣＬＫのカウントを行い、カウント値がレジスタ１０２の設定値に一致すると、比較回路１０８が出力ＯＶＦを“Ｈ”にし、ＥＸＯＲ回路１０５とフリップフロップ１０６からなる信号発生部１０が出力クロックＣＬＫＯＵＴの論理値を変化させる。セレクタ１０９は２個の入力ＳＬＩ１，ＳＬＩ２のいずれか一方を出力クロックＣＬＫＯＵＴの論理値に応じて選択出力し、カウンタ１０７はセレクタ１０９の出力ＳＬＯをカウントイネーブル信号として受ける。【選択図】  図１
2005136581.tif 000002
【特許請求の範囲】
【請求項１】
クロックをカウントするカウンタと、
所定の値を記憶する記憶手段と、
前記カウンタのカウント値と前記記憶手段に設定された所定の値とを比較し、前記カウント値が前記所定の値と一致したとき、検出信号を出力するとともに、前記カウンタにリセットをかける比較手段と、
出力クロックを生成し、かつ、前記比較手段から前記検出信号を受けたとき、前記出力クロックの論理値を変化させる信号発生部と、
前記出力クロックを選択信号として受け、２個の入力のいずれか一方を、前記出力クロックの論理値に応じて、選択出力するセレクタとを備え、
前記カウンタは、前記セレクタの出力を、カウントイネーブル信号として受ける
ことを特徴とする信号発生装置。
【請求項２】
請求項１において、
第１および第２の分周回路を備え、
前記セレクタは、前記第１および第２の分周回路の出力を、前記２個の入力とする
ことを特徴とする信号発生装置。
【請求項３】
請求項２において、
前記第１および第２の分周回路は、それぞれ、分周比が固定されたものである
ことを特徴とする信号発生装置。
【請求項４】
請求項２の信号発生装置において、
前記第１および第２の分周回路は、それぞれ、独立に分周比を設定可能である
ことを特徴とする信号発生装置。
【請求項５】
請求項１において、
外部からモード信号を受け、前記モード信号が所定値を示すとき、前記セレクタを、前記出力クロックの論理値にかかわらず、前記２個の入力のいずれか一方を固定して出力するように制御するセレクタ制御部を備えた
ことを特徴とする信号発生装置。
【請求項６】
請求項１記載の信号発生装置を備え、
前記信号発生装置によって得られた前記出力クロックを、データ転送用クロックとして用いて、データを出力または入力する
データ送受信装置。
【請求項７】
請求項１記載の信号発生装置を備え、
前記信号発生装置によって得られた前記出力クロックを、データ転送用クロックとして用いて、データを出力または入力する
Ｉ２Ｃバスインターフェース装置。
【請求項８】
マスターとして動作し、データ転送用クロックを発生する第１の半導体装置と、
スレーブとして動作し、前記転送用クロックを受け、データ転送を行う第２の半導体装置とを備え、
前記第１の半導体装置は、
請求項５記載の信号発生装置を備え、前記信号発生装置によって得られた前記出力クロックを、前記データ転送用クロックとして出力し、かつ、
前記第２の半導体装置から制御信号を受け、この制御信号に応じて、前記信号発生装置に与える前記モード信号を設定し、前記出力クロックの切り替えを行うものである
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号を発生する技術に関するものであり、特に、“Ｈ”期間と“Ｌ”期間とが異なるクロック信号を、簡易な回路構成によって生成する技術に関する。
【背景技術】
【０００２】
図１０は従来の信号発生装置の構成を示す図、図１１は図１０の構成の動作を示すタイミングチャートである。カウンタ１０１はクロックＣＬＫの立ち上がりエッジをカウントしており、そのカウント値は図１１に示すように０，１，２，３と順に増えていく。いま、周期設定レジスタ１０２が保持している値を「３」とする。カウンタ値が「３」になったとき（時刻Ａ）、周期設定レジスタ１０２の設定値と一致したので、比較回路１０３はクロックＣＬＫの１周期分だけ“Ｈ”を出力する。比較回路１０３の出力ＯＶＦが“Ｈ”になったために排他的論理和回路１０５の出力ＥＸＯＶＦも“Ｈ”になる。この結果、フリップフロップ１０６の出力ＣＬＫＯＵＴが“Ｈ”になる（時刻Ｂ）。
【０００３】
また比較回路１０３の出力ＯＶＦが“Ｈ”になったのでカウンタ１０１はリセットされ、カウント値は「０」に初期化される。その後、カウント値が再び１，２，３と順に増えていき、周期設定レジスタ１０２の設定値と一致したため（時刻Ｃ）比較回路１０３の出力ＯＶＦが再び“Ｈ”になると、排他的論理和回路１０５の出力ＥＸＯＶＦは“Ｌ”になる。この結果、フリップフロップ１０６の出力ＣＬＫＯＵＴは“Ｌ”になる（時刻Ｄ）。以降、フリップフロップ１０６の出力ＣＬＫＯＵＴはクロックＣＬＫの４周期分ずつ“Ｈ”期間と“Ｌ”期間を繰り返し、これにより、“Ｈ”期間と“Ｌ”期間の長さが等しいクロック信号ＣＬＫＯＵＴが生成される。
【０００４】
また、他の従来例として、“Ｈ”期間と“Ｌ”期間の長さを任意に設定でき、周波数も任意に設定できるＰＷＭ信号生成装置も提案されている（例えば、特許文献１参照。）。この装置は、クロックの１周期分をカウントするカウンタ回路と、“Ｈ”期間および“Ｌ”期間の長さの比率を決めるレジスタとを備えている。
【特許文献１】特開２０００−１５２６４０  （第２図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
図１０の構成では、単一のカウンタによって“Ｈ”期間と“Ｌ”期間の両方の時間をカウントしている。このため、“Ｈ”期間と“Ｌ”期間の長さを互いに異なるように設定することができない。したがって、例えばＩ２Ｃバスインターフェース装置において、図１０の信号発生装置を設けて、この信号発生装置が生成した信号をクロックとして用いた場合には、“Ｈ”期間と“Ｌ”期間が同じであるクロックによるデータ転送しかできなかった。
【０００６】
Ｉ２Ｃバスインターフェースのクロックに関する規格のうち、“Ｈ”期間と“Ｌ”期間の最小時間は、最大転送速度毎に異なる。最大転送速度１００ｋＨｚのときの規格では、信号の立ち下がり時間に“Ｌ”期間を加えた時間と、信号の立ち上がり時間に“Ｈ”期間を加えた時間とは等しい。ところが、最大転送速度４００ｋＨｚのときの規格では、信号の立ち下がり時間に“Ｌ”期間を加えた時間と、信号の立ち上がり時間に“Ｈ”期間を加えた時間とは異なっており、クロックの“Ｈ”期間よりも“Ｌ”期間の方を長くしておく必要がある。
【０００７】
このため、従来の信号発生装置では、Ｉ２Ｃバスインターフェースの転送速度の高速化に対応することができなかった。また、特許文献１の装置では、図１０のような“Ｈ”期間と“Ｌ”期間の長さを１個のカウンタで決定する構成に比べて、回路規模が大きくなるという問題がある。すなわち、特にＩ２Ｃバスインターフェース装置において、小規模な回路構成で、異なる最大転送速度のモードにおけるクロックに関する規格をすべて満たすような装置が望まれる。
【０００８】
前記の問題に鑑み、本発明は、簡易な構成によって、“Ｈ”期間と“Ｌ”期間とが異なるクロック信号を生成可能な信号発生装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記の課題を解決するために、本発明は、信号発生装置として、クロックをカウントするカウンタと、所定の値を記憶する記憶手段と、前記カウンタのカウント値と前記記憶手段に設定された所定の値とを比較し、前記カウント値が前記所定の値と一致したとき、検出信号を出力するとともに、前記カウンタにリセットをかける比較手段と、出力クロックを生成し、かつ、前記比較手段から前記検出信号を受けたとき、前記出力クロックの論理値を変化させる信号発生部と、前記出力クロックを選択信号として受け、２個の入力のいずれか一方を、前記出力クロックの論理値に応じて選択出力するセレクタとを備え、前記カウンタは、前記セレクタの出力をカウントイネーブル信号として受けるものである。
【００１０】
本発明によると、カウンタはクロックのカウントを行い、カウント値が記憶手段の所定の値に一致すると、比較手段から検出信号を受けて、信号発生部が出力クロックの論理値を変化させる。このため、カウンタのカウント動作によって、出力クロックの“Ｈ”期間と“Ｌ”期間の長さが規定される。さらに、セレクタは、２個の入力のいずれか一方を出力クロックの論理値に応じて選択出力し、カウンタは、セレクタの出力をカウントイネーブル信号として受ける。すなわち、カウンタのカウント動作は、出力クロックが“Ｈ”であるときと“Ｌ”であるときとで、セレクタの２個の入力によってそれぞれ制御される。このため、セレクタの２個の入力に与える信号をそれぞれ設定することによって、出力クロックの“Ｈ”期間および“Ｌ”期間の長さを、個別に設定することができる。しかも、クロックをカウントするのは１個のカウンタですむので、簡易な構成によって実現することができる。また、記憶手段に記憶する所定の値を変えることによって、出力クロックの周波数を変えることも可能である。
【００１１】
そして、前記本発明に係る信号発生装置は、第１および第２の分周回路を備え、前記セレクタは、前記第１および第２の分周回路の出力を前記２個の入力とするものでもよい。さらには、前記第１および第２の分周回路はそれぞれ、分周比が固定されたものでもよいし、独立に分周比を設定可能であってもよい。
【００１２】
また、本発明は、前記本発明に係る信号発生装置を備え、前記信号発生装置によって得られた前記出力ロックをデータ転送用クロックとして用いてデータを出力または入力するデータ送受信装置およびＩ２Ｃバスインターフェース装置である。
【００１３】
また、前記本発明に係る信号発生装置において、外部からモード信号を受け、前記モード信号が所定値を示すとき、前記セレクタを、前記出力クロックの論理値にかかわらず、前記２個の入力のいずれか一方を固定して出力するように制御するセレクタ制御部を備えたものとするのが好ましい。
【００１４】
そして、本発明は、マスターとして動作しデータ転送用クロックを発生する第１の半導体装置と、スレーブとして動作し、前記転送用クロックを受けデータ転送を行う第２の半導体装置とを備え、前記第１の半導体装置は、上述の信号発生装置を備え、前記信号発生装置によって得られた前記出力クロックを前記データ転送用クロックとして出力し、かつ、前記第２の半導体装置から制御信号を受け、この制御信号に応じて前記信号発生装置に与える前記モード信号を設定し、前記出力クロックの切り替えを行うものである。
【発明の効果】
【００１５】
本発明によると、簡易な構成によって、“Ｈ”期間と“Ｌ”期間とが異なるクロック信号を生成することができる。また、クロック信号の“Ｈ”期間と“Ｌ”期間とを変更することも可能になり、例えばＩ２Ｃバスインターフェースの転送速度の高速化を図ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１７】
（第１の実施形態）
図１は本発明の第１の実施形態に係る信号発生装置の構成を示す図である。図１において、１０７はクロックＣＬＫをカウントするカウンタ、１０２は周期を設定するための所定の値を記憶する記憶手段としてのレジスタ、１０８はカウンタ１０７のカウンタ値ＶＣＮとレジスタ１０２に記憶された所定値とを比較する比較回路、１０５は比較回路１０８の出力ＯＶＦを一方の入力とするともに、後述する出力クロックＣＬＫＯＵＴを他方の入力とする排他的論理和（ＥＸＯＲ）回路、１０６はＥＸＯＲ回路１０５の出力ＥＸＯＶＦをデータ入力とするとともにクロックＣＬＫをクロック入力とし、出力クロックＣＬＫＯＵＴを出力するフリップフロップ、１０９は出力クロックＣＬＫＯＵＴを選択信号として受け、２個の入力ＳＬＩ１，ＳＬＩ２のいずれか一方を出力クロックＣＬＫＯＵＴの論理値に応じて選択出力するセレクタである。ＥＸＯＲ回路１０５およびフリップフロップ１０６によって、信号発生部１０が構成されている。
【００１８】
セレクタ１０９は、出力クロックＣＬＫＯＵＴが“Ｈ”のときは入力ＳＬＩ１を選択出力する一方、“Ｌ”のときは入力ＳＬＩ２を選択出力する。カウンタ１０７はセレクタ１０９の出力ＳＬＯをカウントイネーブル信号として受ける。すなわち、セレクタ１０９の出力ＳＬＯが“Ｈ”の期間だけクロックＣＬＫの立ち上がりエッジをカウントする。比較回路１０８はカウンタ１０７のカウント値ＶＣＮがレジスタ１０２に設定された値と一致したとき、検出信号として“Ｈ”を出力する。レジスタ１０２には、ＣＰＵまたはそれ以外の手段によって値を設定することができる。あるいは、予め決まった値を保持していてもよい。信号発生部１０は、比較回路１０８から検出信号すなわち“Ｈ”を受けたとき、出力クロックＣＬＫＯＵＴの論理値を変化させる。
【００１９】
またカウンタ１０７は、比較回路１０８の出力ＯＶＦおよびリセット信号ＲＳＴを入力とする論理和回路１０４の出力をリセット入力として受け、出力ＯＶＦおよびリセット信号ＲＳＴの少なくともいずれか一方が“Ｈ”になったとき、カウント値ＶＣＮを“０”にリセットする。比較回路１０８および論理和回路１０４によって、比較手段が構成されている。カウンタ１０７は、レジスタ１０２に設定された値以上の値をカウントできる機能があればよい。
【００２０】
また、図１の構成では、第１の分周回路としての２分周回路１１０および第２の分周回路としての３分周回路１１１を備えている。２分周回路１１０はクロックＣＬＫを受け、このクロックＣＬＫの立ち上がりエッジの数を０，１，０，１とカウントし、カウント値が“１”になったとき出力を“Ｈ”にし、それ以外のときは“Ｌ”を出力する。３分周回路１１１もまたクロックＣＬＫを受け、このクロックＣＬＫの立ち上がりエッジの数を０，１，２，０，１，２とカウントし、カウント値が“２”になったとき出力を“Ｈ”にし、それ以外のときは“Ｌ”を出力する。セレクタ１０９は２分周回路１１０の出力を入力ＳＬＴ１として受けるとともに、３分周回路１１１の出力を入力ＳＬＴ２として受ける。すなわち、カウンタ１０７のカウントイネーブル信号として、出力クロックＣＬＫＯＵＴが“Ｈ”のときは２分周回路１１０の出力が与えられ、“Ｌ”のときは３分周回路１１１の出力が与えられる。
【００２１】
また２分周回路１１０および３分周回路１１１は、比較回路１０８の出力ＯＶＦおよびリセット信号ＲＳＴを入力とする論理和回路１１２の出力をリセット入力として受け、出力ＯＶＦおよびリセット信号ＲＳＴの少なくともいずれか一方が“Ｈ”になったとき、カウント値を“０”にリセットする。
【００２２】
図２のタイミングチャートを用いて、図１の信号発生装置の動作を説明する。図２では、リセット信号ＲＳＴ、クロックＣＬＫ、２分周回路１１０および３分周回路１１１のカウンタ値、セレクタ１０９の選択出力ＳＬＯ、カウンタ１０７のカウンタ値ＶＣＮ、比較回路１０８の出力ＯＶＦ、ＥＸＯＲ回路１０５の出力ＥＸＯＶＦ、並びにフリップフロップ１０６から出力された出力クロックＣＬＫＯＵＴの時間変化が示されている。
【００２３】
いま、レジスタ１０２に所定の値として「１」が設定されているものとする。
【００２４】
リセット信号ＲＳＴによる初期化（時刻Ａ）の後、出力クロックＣＬＫＯＵＴが“Ｌ”であるので、セレクタ１０９の選択出力ＳＬＯとして３分周回路１１１の出力ＳＬＩ２が選択される。３分周回路１１１はカウント値として「２」をとったとき（時刻Ｂ）“Ｈ”を出力するため、このとき、セレクタ１０９の選択出力ＳＬＯも“Ｈ”になる。カウンタ１０７は、セレクタ１０９の選択出力ＳＬＯが“Ｈ”の期間だけクロックＣＬＫの立ち上がりエッジをカウントするので、カウント値ＶＣＮは初期値「０」から「１」に変化する（時刻Ｃ）。
【００２５】
３分周回路１１１が再びカウント値「２」をとったとき（時刻Ｄ）、セレクタ１０９の選択出力ＳＬＯが再び“Ｈ”になるので、カウンタ１０７はクロックＣＬＫの立ち上がりエッジをカウントする。ところが、カウント値ＶＣＮは「１」であり、レジスタ１０２の設定値「１」と一致していたので、カウンタ値ＶＣＮとレジスタ１０２の値とが一致する期間が終わったとき（時刻Ｅ）、比較回路１０８はクロックＣＬＫの１周期分だけ検出信号として“Ｈ”を出力する。このとき、カウンタ１０７のカウンタ値ＶＣＮは「０」に初期化される。比較回路１０８の出力ＯＶＦが“Ｈ”になると、ＥＸＯＲ回路１０５の出力ＥＸＯＶＦも“Ｈ”になる。この結果、フリップフロップ１０６の出力すなわち出力クロックＣＬＫＯＵＴも“Ｈ”になる（時刻Ｆ）。
【００２６】
セレクタ１０９は、選択信号としての出力クロックＣＬＫＯＵＴが“Ｈ”に変化したので、３分周回路１１１の出力ＳＬＩ２に代えて、２分周回路１１０の出力ＳＬＩ１を選択出力する。
【００２７】
２分周回路１１０は、比較回路１０８の出力ＯＶＦが“Ｈ”になったとき（時刻Ｅ）に初期化されており、「０」からカウントを開始している。２分周回路１１０はカウント値として「１」をとったとき（時刻Ｆ）“Ｈ”を出力するため、このとき、セレクタ１０９の選択出力ＳＬＯも“Ｈ”になる。カウンタ１０７は、セレクタ１０９の選択出力ＳＬＯが“Ｈ”の期間だけクロックＣＬＫの立ち上がりエッジをカウントするので、カウント値ＶＣＮは初期値「０」から「１」に変化する（時刻Ｇ）。
【００２８】
２分周回路１１０が再びカウント値「１」をとったとき（時刻Ｈ）、セレクタ１０９の選択出力ＳＬＯが再び“Ｈ”になるので、カウンタ１０７はクロックＣＬＫの立ち上がりエッジをカウントする。ところが、カウント値ＶＣＮは「１」であり、レジスタ１０２の設定値「１」と一致していたので、カウンタ値ＶＣＮとレジスタ１０２の値とが一致する期間が終わったとき（時刻Ｉ）、比較回路１０８はクロックＣＬＫの１周期分だけ検出信号として“Ｈ”を出力する。このとき、カウンタ１０７のカウンタ値ＶＣＮは「０」に初期化される。比較回路１０８の出力ＯＶＦが“Ｈ”になると、ＥＸＯＲ回路１０５の出力ＥＸＯＶＦは“Ｌ”になる。この結果、フリップフロップ１０６の出力すなわち出力クロックＣＬＫＯＵＴも“Ｌ”になる（時刻Ｊ）。
【００２９】
セレクタ１０９は、選択信号としての出力クロックＣＬＫＯＵＴが“Ｌ”に変化したので、２分周回路１１０の出力ＳＬＩ１に代えて、３分周回路１１１の出力ＳＬＩ２を選択出力する。以降、上述の動作を繰り返す。
【００３０】
このような動作の結果、出力クロックＣＬＫＯＵＴは、クロックＣＬＫの４周期分の“Ｈ”期間と、６周期分の“Ｌ”期間とを繰り返す。すなわち、“Ｈ”期間と“Ｌ”期間の長さが異なり、その比率が２：３となる出力クロックＣＬＫＯＵＴが生成される。
【００３１】
以上のように本実施形態によると、信号の“Ｈ”期間と“Ｌ”期間とにおいてクロックＣＬＫをカウントする間隔を切り替えることによって、“Ｈ”期間と“Ｌ”期間の長さが異なる信号を生成することができる。このため、発生する信号の１周期分のカウンタを設けるよりも小規模な回路で、信号を発生できる。また、“Ｈ”期間と“Ｌ”期間の比率は２個の分周回路１１０，１１１の分周比率によって定まるため、レジスタ１０２の設定値を変更することによって、“Ｈ”期間と“Ｌ”期間の比率を保ったまま、信号の周期を変更することができる。
【００３２】
なお、本実施形態では、カウントする間隔を定める信号を生成するために、２分周回路と３分周回路を設けたが、カウントする間隔を定める信号としては例えば、分周しないクロックと３分周のクロックを用いたり、クロックとは同期関係にない信号を用いたり、任意の信号を用いたりなどしてもよい。
【００３３】
図３〜図５は本実施形態に係る信号発生装置の変形例を示す図である。まず図３では、図１の構成において、２分周回路１１０および３分周回路１１１に代えて、プログラマブル分周回路１１３，１１４が設けられており、その出力がセレクタ１０９の入力ＳＬＩ１，ＳＬＩ２として与えられている。第１および第２の分周回路としてのプログラマブル分周回路１１３，１１４は、それぞれ、独立に分周比を設定可能である。分周比の設定はＣＰＵ等によって実施可能である。プログラマブル分周回路１１３，１１４の分周比を変更することによって、出力クロックＣＬＫＯＵＴの“Ｈ”期間と“Ｌ”期間の長さを任意に変えることができる。なお、“Ｈ”期間と“Ｌ”期間の比率を変える必要がない場合は、図１のように分周比が固定された分周回路を用いる方が、回路規模が小さくなるので好ましい。
【００３４】
さらに図４のように、セレクタ１０９の入力ＳＬＩ１，ＳＬＩ２として、任意の信号を与えるようにしてもよい。これにより、“Ｈ”期間と“Ｌ”期間の比率を任意に定めることができる。
【００３５】
また図５では、図１の構成において、２分周回路１１０に代えて、外部クロックＡ，Ｂのいずれかをクロック選択信号に応じて選択出力する第２のセレクタ１１６が設けられている。第２のセレクタ１１６の出力は、セレクタ１０９の第１の入力ＳＬＩ１として与えられる。図５の構成により、出力クロックＣＬＫＯＵＴの“Ｈ”期間と“Ｌ”期間の比率を、クロックＣＬＫとは同期しない外部からの信号によって設定することができる。また、セレクタ１１６を用いることによって、カウンタ１０７のカウント間隔を定める信号を複数のクロックの中から選択することができる。すなわち、上述したような分周比の変更以外の手法によって、“Ｌ”期間と“Ｈ”期間の比率を変更することができる。なお、セレクタ１１６の入力として、外部クロックだけでなく、クロックＣＬＫの分周回路の出力を与えてもよい。
【００３６】
（第２の実施形態）
図６は本発明の第２の実施形態に係る信号発生装置の構成を示す図である。図６では、図１の構成に加えて、セレクタ制御部としての論理積回路１１５が設けられている。論理積回路１１５は、外部からのモード信号ＭＯＤＥと出力クロックＣＬＫＯＵＴとを入力とし、その論理積を出力する。セレクタ１０９は、出力クロックＣＬＫＯＵＴの代わりに、論理積回路１１５の出力を選択信号として受ける。
【００３７】
図６の構成によると、モード信号ＭＯＤＥによって、セレクタ１０９の動作について、出力クロックＣＬＫＯＵＴに応じた選択出力を行うか否かを制御することができる。すなわち、モード信号ＭＯＤＥが“Ｈ”のときは、セレクタ１０９は第１の実施形態と同様に、出力クロックＣＬＫＯＵＴの論理値に応じた選択動作を行う。この場合、図２に示すような、“Ｈ”期間と“Ｌ”期間の比率が２分周回路１１０と３分周回路１１１の分周比率によって定まった出力クロックＣＬＫＯＵＴが生成される。一方、モード信号ＭＯＤＥが所定値としての“Ｌ”のときは、論理積回路１１５の出力は常に“Ｌ”になり、このため、セレクタ１０９は出力クロックＣＬＫＯＵＴの論理値にかかわらず、常に３分周回路１１１の出力ＳＬＩ２を固定して出力する。この場合、従来例と同様に、“Ｈ”期間と“Ｌ”期間の長さが同じ出力クロックＣＬＫＯＵＴが生成される。
【００３８】
このように本実施形態によると、モード信号ＭＯＤＥによって、共通のカウンタ回路を用いて、“Ｈ”期間と“Ｌ”期間の比率が異なる信号を生成する動作と、“Ｈ”期間と“Ｌ”期間の長さが同じ信号を生成する動作とを、切り替えることができる。
【００３９】
（第３の実施形態）
図７は本発明の第３の実施形態に係るデータ送受信装置の構成を示す図である。図７のデータ送受信装置は、上述の各実施形態および変形例に係る信号発生装置のいずれかを備えており、この信号発生装置によって得られた信号をクロックとして用いてデータの送受信を行う。
【００４０】
図７において、１３０は上述した信号発生装置であり、出力クロックＣＬＫＯＵＴを生成する。１１８は複数ビットのバスの信号を１ビット毎の信号に変換するパラレル・シリアル変換回路、１１９は１ビット毎の信号を複数ビットのバスの信号に変換するシリアル・パラレル変換回路、１２０は送信データを蓄えておく送信データバッファ、１２１は受信データを蓄えておく受信データバッファ、１２２はＣＰＵ、１２３はＣＰＵ１２２のプログラムを格納する記憶装置であり、本実施形態ではＲＯＭである。
【００４１】
データを送信する場合、ＣＰＵ１２２はＲＯＭ１２３に格納されたプログラムに従って、送信データを送信データバッファ１２０に書き込む。パラレル・シリアル変換回路１１８は、信号発生装置１３０によって生成されたクロックＣＬＫＯＵＴに同期して、送信データバッファ１２０から出力されたバス信号を１ビット毎の信号に変換し、送信データとして出力する。一方、データを受信する場合、シリアル・パラレル変換回路１１９はクロックＣＬＫＯＵＴに同期して、受信データとして受信した１ビット毎の信号をバス信号に変換する。バス信号は受信データバッファ１２１に格納され、ＣＰＵ１２２によって読み出される。
【００４２】
本実施形態に係るデータ送受信装置は、動作クロックや転送クロックの高速化が進んだ場合でも対応できる。クロックの高速化が進むと、“Ｌ”から“Ｈ”あるいは“Ｈ”から“Ｌ”に遷移する時間が無視できなくなる。この点について、図８を用いて説明する。
【００４３】
図８（ａ）に示すように、“Ｈ”期間と“Ｌ”期間が等しいクロック５００を生成した場合、半導体装置等では実際には信号遷移に時間がかかるため、クロックの高速化が進むと、信号５０１のように、“Ｌ”から“Ｈ”への遷移時間がクロック周期に対して相対的に大きくなり、“Ｈ”期間を十分に確保できなくなる。さらに高速になると、“Ｈ”期間がなくなってしまい、クロックとしての機能を果たさなくなってしまう。
【００４４】
これに対して、上述の信号発生装置では“Ｈ”期間と“Ｌ”期間の比率を変えることができるので、図８（ｂ）に示すように、“Ｌ”期間よりも“Ｈ”期間を長くしたクロック５０２を予め生成することによって、遅延が発生した後の信号５０３において、“Ｈ”期間と“Ｌ”期間の長さをほぼ同じにすることができる。すなわち、高速な送受信が可能になる。また逆に、“Ｈ”から“Ｌ”になる時間が大きくなり、クロックの“Ｌ”期間として十分な時間を確保できない場合は、上述の信号発生装置によって、“Ｈ”期間よりも“Ｌ”期間を長くしたクロックを予め生成することによって、高速な送受信が可能になる。
【００４５】
なお、本実施形態では、データを１ビット毎のデータに変換して送受信を行うものとしたが、複数のビットを持ったバス信号を１ビットの信号に変換せずにそのままクロックに同期して送受信することもできる。１ビット毎の信号を送受信する場合は、通信に使用する信号数を少なくできるという良さがある。逆に、バス信号を送受信する場合は、単位時間あたりの転送データ量を大きくすることができるという良さがある。
【００４６】
図７の構成を、Ｉ２Ｃバスインターフェース装置として用いることもできる。Ｉ２ＣバスインターフェースのＡＣタイミングに関する規格は、最大転送速度１００ｋＨｚの場合と４００ｋＨｚの場合とで異なる。特に、クロックの“Ｈ”期間と“Ｌ”期間は、１００ｋＨｚの場合は同じでよいが、４００ｋＨｚの場合は“Ｈ”期間よりも“Ｌ”期間を長くしなければ規格を満たすことができない。逆に、４００ｋＨｚの場合のクロックを、“Ｈ”期間と“Ｌ”期間の比率をそのままにして１００ｋＨｚの場合に用いようとすると、“Ｈ”期間が短いために規格を満たすことができない。
【００４７】
図７の構成において、信号発生装置１３０として図６の信号発生装置を用いることによって、モード信号ＭＯＤＥにより、１００ｋＨｚと４００ｋＨｚの両方の場合の規格を満たすように、クロックＣＬＫＯＵＴを切り替えることができる。Ｉ２Ｃバスシステムでは、最大転送速度が１００ｋＨｚの装置と４００ｋＨｚの装置とが混在する可能性がある。そこで、モード信号ＭＯＤＥを制御することによって、転送クロックの“Ｈ”期間と“Ｌ”期間の比率を変えることができるので、通信する装置の転送速度に応じて転送クロックを変えることができる。すなわち、最大転送速度が１００ｋＨｚの装置とは１００ｋＨｚで通信を行い、最大転送速度４００ｋＨｚの装置とは４００ｋＨｚで通信を行うことができるので、常に各装置がもつ最大の性能で通信を行うことができる。モード信号ＭＯＤＥは、ＣＰＵ１２２から供給するようにしてもよいし、半導体装置の外部から与えるようにしてもよい。
【００４８】
また、図７の信号発生装置１３０として図１の構成を用いることによって、“Ｈ”期間と“Ｌ”期間の比率が定まった転送クロックを得ることができる。このため、Ｉ２Ｃバスインターフェースの最大転送速度を常に４００ｋＨｚにて使用する場合は、図６の信号発生装置を用いる場合よりも回路規模を小さくすることができる。さらに、図７の信号発生装置１３０として図３または図５の構成を用いることによって、任意の“Ｈ”期間と“Ｌ”期間の比率を持った転送クロックを得ることができる。すなわち、４００ｋＨｚを超える転送速度の規格にも合うクロックを生成できるので、Ｉ２Ｃバスインターフェースの高速化を実現できる。
【００４９】
（第４の実施形態）
図９は本発明の第４の実施形態に係る通信システムとしてのＩ２Ｃシステムの構成を示すブロック図である。図９において、１２４はＩ２Ｃバスシステムにおいてマスターとして動作しクロックを発生する半導体装置（以下、マスターという）、１２５および１２６はスレーブとして動作し、マスター１２４からクロックを受ける半導体装置（以下、それぞれスレーブＡ、スレーブＢという）、２３０はクロック信号線、２３１はデータ信号線、２３２はスレーブＡ１２５からマスター１２４への制御信号、２３３はスレーブＢ１２６からマスター１２４への制御信号である。第１の半導体装置としてのマスタ−１２４は、第２の実施形態で示したような信号発生装置を備えており、この信号発生装置によって得られた出力クロックＣＬＫＯＵＴをデータ転送用クロックとしてクロック信号線２３０に出力する。
【００５０】
Ｉ２Ｃバスシステムでは、上述の通り、半導体装置の仕様として、最大転送速度が１００ｋＨｚのものと４００ｋＨｚのものとが混在する可能性がある。本実施形態では、マスターが、ＣＰＵによって転送速度を変えるのではなく、スレーブから受け取った制御信号を認識して、通信するスレーブデバイスに応じて転送速度を変える。いま、第２の半導体装置としてのスレーブＡ１２５の最大転送速度が１００ｋＨｚ、第２の半導体装置としてのスレーブＢ１２６の最大転送速度が４００ｋＨｚとする。マスター１２４は、スレーブＡ１２５と通信するときは、制御信号２３２を認識した上でそれに応じて上述のモード信号ＭＯＤＥを設定し、１００ｋＨｚのクロックを生成して通信する。また、スレーブＢ１２６と通信するときは制御信号２３３を認識した上でモード信号ＭＯＤＥを設定し、４００ｋＨｚのクロックを生成して通信する。
【００５１】
例えば、スレーブＢ１２６が通常動作状態と、低消費電力動作用として動作クロック周波数を遅くして動作するスロー動作状態とで、最大転送速度が変わる場合を考える。スレーブＢ１２６が、マスター１２４に供給する制御信号を通常動作時とスロー動作時とで変えることによって、マスター１２４はスレーブＢ１２６の動作状態に合わせて転送速度を選択することができる。このため、常に、通信装置毎だけでなく、通信装置の動作状態に合わせた最大の性能を得ることができる。
【産業上の利用可能性】
【００５２】
本発明に係る信号発生装置は、簡易な構成によって、“Ｈ”期間と“Ｌ”期間とが異なるクロック信号を生成することができるため、例えば、Ｉ２Ｃバスインターフェースの信号発生装置として用いることによって、転送速度の高速化を図ることができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１の実施形態に係る信号発生装置の構成を示す回路図である。
【図２】図１の信号発生装置の動作を示すタイミングチャートである。
【図３】図１の信号発生装置の変形例を示す図である。
【図４】図１の信号発生装置の変形例を示す図である。
【図５】図１の信号発生装置の変形例を示す図である。
【図６】本発明の第２の実施形態に係る信号発生装置の構成を示す回路図である。
【図７】本発明の第３の実施形態に係るデータ送受信装置の構成を示す図である。
【図８】クロックの高速化に伴う問題を説明するための図である。
【図９】本発明の第４の実施形態に係る通信システムの構成を示すブロック図である。
【図１０】従来の信号発生装置の構成を示す回路図である。
【図１１】図１０の構成の動作を示すタイミングチャートである。
【符号の説明】
【００５４】
１０  信号発生部
１０２  レジスタ（記憶手段）
１０４  論理和回路
１０５  ＥＸＯＲ回路
１０６  フリップフロップ
１０７  カウンタ
１０８  比較回路（比較手段）
１０９  セレクタ
１１０  ２分周回路（第１の分周回路）
１１１  ３分周回路（第２の分周回路）
１１３  プログラマブル分周回路（第１の分周回路）
１１４  プログラマブル分周回路（第２の分周回路）
１１５  論理積回路（セレクタ制御部）
１２４  マスター（第１の半導体装置）
１２５  スレーブＡ（第２の半導体装置）
１２６  スレーブＢ（第２の半導体装置）
ＣＬＫ  クロック
ＣＬＫＯＵＴ  出力クロック
ＭＯＤＥ  モード信号
【図１】
2005136581.tif 000003
【図２】
2005136581.tif 000004
【図３】
2005136581.tif 000005
【図４】
2005136581.tif 000006
【図５】
2005136581.tif 000007
【図６】
2005136581.tif 000008
【図７】
2005136581.tif 000009
【図８】
2005136581.tif 000010
【図９】
2005136581.tif 000011
【図１０】
2005136581.tif 000012
【図１１】
2005136581.tif 000013