(57)【要約】【課題】基準クロック信号とは独立にクロック信号の平均周波数を変更する。【解決手段】基準クロック信号発生回路１は、基準クロック信号を発生する。分周回路２は、基準クロック信号を自然数ｎ（≧１）により分周する。制御回路３は、分周回路２を制御し、所定の周期で延長サイクルを挿入させる。出力回路４は、分周回路２によって得られたクロック信号を出力する。従って、クロック信号の平均周波数を基準クロックとは独立に任意に設定することができる。【選択図】　　　　図１
2004005009.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を発生して出力するクロック信号発生装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、
前記分周回路によって得られたクロック信号を出力する出力回路と、
を有することを特徴とするクロック信号発生装置。
【請求項２】
前記分周回路は、前記基準クロック信号をカウンタによってカウントし、そのカウント値に応じて出力信号を“Ｈ”または“Ｌ”の状態にすることにより前記基準クロック信号を分周し、
前記制御回路は、前記カウンタの動作を一時的に停止させることにより、前記延長サイクルを挿入させる、
ことを特徴とする請求項１記載のクロック信号発生装置。
【請求項３】
前記制御回路は、前記カウンタを停止させる時間を計時するための他のカウンタを更に有し、当該他のカウンタのカウント値に応じて延長サイクルの長さを決定することを特徴とする請求項２記載のクロック信号発生装置。
【請求項４】
前記制御回路は、前記クロック信号の所定のサイクルをグループと定義し、当該グループの所定の位置に前記延長サイクルをそれぞれ挿入することを特徴とする請求項１記載のクロック信号発生装置。
【請求項５】
前記制御回路は、前記グループのそれぞれに対して複数の延長サイクルを挿入することを特徴とする請求項４記載のクロック信号発生装置。
【請求項６】
前記制御回路は、グループを構成するサイクルの数と、挿入しようとする延長サイクルの数と、挿入位置との対応関係を示すテーブルを有しており、当該テーブルに基づいて所定の位置に延長サイクルを挿入することを特徴とする請求項５記載のクロック信号発生装置。
【請求項７】
前記制御回路は、システムが起動された場合に、挿入すべき前記延長サイクルの個数および挿入位置を決定することを特徴とする請求項１記載のクロック信号発生装置。
【請求項８】
前記制御回路は、装置の動作条件が変化した場合に、挿入すべき前記延長サイクルの個数および挿入位置を変更することを特徴とする請求項１記載のクロック信号発生装置。
【請求項９】
クロック信号に同期してデータを送信または受信する通信装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、
前記分周回路によって得られたクロック信号に基づいてデータを送信または受信する送受信回路と、
を有することを特徴とする通信装置。
【請求項１０】
クロック信号に基づいて動作する半導体装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、
前記分周回路によって得られたクロック信号を各部へ供給する供給回路と、
を有することを特徴とする半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はクロック信号発生装置、通信装置および半導体装置に関し、特に、クロック信号を発生して出力するクロック信号発生装置、クロック信号に同期してデータを送信または受信する通信装置およびクロック信号に基づいて動作する半導体装置に関する。
【０００２】
【従来の技術】
図１１は、従来のシリアル通信装置の構成を示す図である。
この図に示すように、従来のシリアル通信装置は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０、通信クロック生成部１１、ＣＰＵインタフェース部１２、シリアル／パラレル変換部１３、パラレル／シリアル変換部１４および送受信部１５によって構成されている。
【０００３】
ここで、ＣＰＵ１０は、図示せぬ記憶装置等に記憶されているプログラムやデータに基づいて装置の各部を制御する。
通信クロック生成部１１は、基準クロック信号を分周して通信クロック信号を生成する。
【０００４】
ＣＰＵインタフェース部１２は、ＣＰＵ１０との間でデータを授受する際に、データの表現形式等を変換する。
シリアル／パラレル変換部１３は、送受信部１５から供給される受信データ（シリアルデータ）を、通信クロック信号に同期してパラレルデータに変換する。
【０００５】
パラレル／シリアル変換部１４は、送信データ（パラレルデータ）を、通信クロック信号に同期してシリアルデータに変換する。
図１２は、通信クロック生成部１１の詳細な構成を示す図である。
【０００６】
この図に示すように、通信クロック生成部１１は、減算回路２０、セレクタ２１、判定回路２２、カウンタ２３、レジスタ２４、判定回路２５、デコーダ２６、フリップフロップ２７およびセレクタ２８によって構成されている。
【０００７】
ここで、減算回路２０は、カウンタ２３の出力を１だけディクリメントしてセレクタ２１に供給する。
セレクタ２１は、判定回路２２によってカウンタ２３の出力が“０”になったと判定された場合には、レジスタ２４の出力を選択し、それ以外の場合には減算回路２０の出力を選択し、カウンタ２３に供給する。
【０００８】
判定回路２２は、カウンタ２３の出力が“０”であるか否かを判定し、“０”である場合にはセレクタ２１にレジスタ２４の出力を選択させ、それ以外の場合には減算回路２０の出力を選択させる。
【０００９】
カウンタ２３は、４個のフリップフロップから構成される４ビットのカウンタであり、セレクタ２１から出力された４ビットのデータを基準クロック信号に同期して保持（ラッチ）する。
【００１０】
レジスタ２４は、分周比を設定するためのデータが格納される。
判定回路２５は、レジスタ２４に設定されているデータが“０”である場合、即ち、分周比が１であることが指定されているか否かを判定し、“０”である場合には、セレクタ２８に基準クロック信号を選択させてそのまま出力させ、それ以外の場合にはフリップフロップ２７の出力を選択させる。
【００１１】
デコーダ２６は、カウンタ２３から出力されるデータに応じてその出力を“Ｈ”または“Ｌ”の状態にし、所定のデューティー比を有するクロック信号を生成する。
【００１２】
フリップフロップ２７は、デコーダ２６からの出力を基準クロック信号に同期してラッチし、出力する。
セレクタ２８は、判定回路２５によって、レジスタ２４に設定されているデータが“０”であると判定された場合には、基準クロック信号を選択し、それ以外の場合にはフリップフロップ２７の出力を選択して通信クロック信号として出力する。
【００１３】
次に、以上の従来例の動作について説明する。
いま、図１１に示すシリアル通信装置に電源が投入されたとすると、ＣＰＵ１０は、ＣＰＵインタフェース部１２を介して通信クロック生成部１１のレジスタ２４に分周比を指定するデータを格納する。例えば、分周比を４に設定する場合には、“３”がレジスタ２４に設定される。
【００１４】
このとき、カウンタ２３は初期状態であり、その出力は“０”の状態であることから、判定回路２２はセレクタ２１にレジスタ２４の出力を選択させる。その結果、レジスタ２４に格納されているデータ“３”が読み出されてカウンタ２３を構成するフリップフロップにそれぞれ格納される。
【００１５】
このような状態において、基準クロック信号が“Ｈ”の状態になると、その立ち上がりエッジに同期してカウンタ２３から“３”が読み出されてデコーダ２６に供給される。
【００１６】
デコーダ２６は、カウンタ２３の出力が“３”および“２”の場合には“Ｈ”を出力し、“１”および“０”の場合には“Ｌ”を出力する。従って、いまの場合、カウンタ２３の出力は“３”であるので、デコーダ２６の出力は基準クロック信号の立ち上がりエッジに同期して“Ｈ”の状態になる。
【００１７】
フリップフロップ２７は、デコーダ２６の出力を基準クロック信号の立ち上がりエッジに同期してラッチする。いまの例では、“Ｈ”がフリップフロップ２７にラッチされる。
【００１８】
このとき、判定回路２５は、レジスタ２４に設定されているデータが“０”でないことこから、セレクタ２８にフリップフロップ２７の出力を選択させている。その結果、セレクタ２８からはフリップフロップ２７にラッチされているデータ（“Ｈ”）が出力される。
【００１９】
カウンタ２３から出力されたデータは、減算回路２０にも供給されており、減算回路２０は、データを１だけディクリメントしてセレクタ２１を介してカウンタ２３に供給する。いまの例では、カウンタ２３から出力されるデータは“３”であるので、減算回路２０からは“２”が出力され、カウンタ２３に再度格納され、基準クロック信号の立ち上がりエッジに同期して出力される。
【００２０】
デコーダ２６は、カウンタ２３の出力を入力し、いまの例では、“２”であることから、その出力を“Ｈ”の状態にする。従って、セレクタ２８からは、前述の場合と同様に“Ｈ”が出力される。
【００２１】
続いて、減算回路２０から“１”が出力されると、このデータは前述の場合と同様にカウンタ２３を介してデコーダ２６に供給される。デコーダ２６は、カウンタ２３の出力が“１”であることから、その出力を“Ｌ”に変更する。
【００２２】
その結果、セレクタ２８からは、“Ｌ”が出力されることになる。
続いて、減算回路２０から“０”が出力されると、デコーダ２６からは“Ｌ”が出力されるので、セレクタ２８からは“Ｈ”が引き続き出力されることになる。
【００２３】
このとき、判定回路２２は、カウンタ２３の出力が“０”になったと判定し、セレクタ２１にレジスタ２４の出力を選択させる。その結果、基準クロック信号の次の立ち上がりエッジに同期して“３”がカウンタ２３に再び読み込まれることになる。
【００２４】
以上のような動作が繰り返されることにより、基準クロック信号を所定の値で分周し、通信クロック信号を生成することができる。
このようにして生成された通信クロック信号は、シリアル／パラレル変換部１３、パラレル／シリアル変換部１４および送受信部１５に供給される。
【００２５】
シリアル／パラレル変換部１３、パラレル／シリアル変換部１４および送受信部１５は、通信クロック信号の所定数のパルス（以下、サイクルと称する）をシリアルデータの１ビットとみなして、データを送受信する。例えば、８サイクルを１ビットとする場合、通信クロック信号が８サイクル供給される毎に、シリアルデータを１ビット送信し、または、受信する。
【００２６】
単位時間あたりに送受信可能なビット数を一般的に、ビットレートと呼ぶ。基準クロック信号の周期をＭ、分周比をＮとすると、通信クロックの周期はＭ×Ｎとなり、１ビットの周期はＭ×Ｎ×８となる。このとき、ビットレートは、１／（Ｍ×Ｎ×８）で表される。
【００２７】
基準クロック信号の周波数を４ＭＨｚ（＝２５０ｎｓ）、分周比を４とすると１秒間に通信できるビット数は１２５，０００ビットとなり、ビットレートは１２５，０００ｂｐｓとなる。
【００２８】
図１３は、分周比を４に設定し、８サイクルを１ビットとした場合における、基準クロック信号、通信クロック信号および送信データの関係を示す図である。この例では、図１３（Ａ）に示す基準クロック信号の４サイクルで１サイクルの通信クロック信号（図１３（Ｂ））が生成されており、また、図１３（Ｃ）に示す通信クロック信号の８サイクルが１ビットとされている。
【００２９】
【発明が解決しようとする課題】
ところで、以上の従来例において、ビットレートを変更する場合、基準クロック信号の分周比を変更することが一般的に行われている。図１３は、分周比を４に設定した場合の動作を示しているが、分周比を３に設定した場合には図１４のような動作となる。即ち、図１４（Ａ）に示す基準クロック信号の３サイクルで通信クロック信号（図１４（Ｂ））の１サイクルが生成され、また、通信クロック信号の８サイクルが図１４（Ｃ）に示す送信データの１ビットとされている。
【００３０】
また、図１５は、分周比を５に設定した場合の関係を示す図である。この例では、図１５（Ａ）に示す基準クロック信号の５サイクルで通信クロック信号（図１５（Ｂ））の１サイクルが生成され、また、通信クロック信号の８サイクルが図１５（Ｃ）に示す送信データの１ビットとされている。
【００３１】
ここで、分周比が３の場合のビットレートは１／（２５０ｎｓ×３×８）＝１６６，６６６ｂｐｓとなり、一方、分周比が５の場合のビットレートは１／（２５０ｎｓ×５×８）＝１００，０００ｂｐｓとなり、いずれの場合も１２５，０００ｂｐｓとの差は大きなものとなる。
【００３２】
このように分周比を変更することにより、ビットレートを制御する方法では、ビットレートを小刻みに変更することができないため、例えば、１２０，０００ｂｐｓのビットレートを得るためには、基準クロック信号の周期自体を変更する必要がある。
【００３３】
しかしながら、基準クロック信号は、送受信部１５以外の他のブロックにも供給されているため、ビットレートを変更する目的で基準クロック信号の周期を変更すると、当該他の部分が動作不良を生じる場合があり得るという問題点があった。
【００３４】
本発明は、以上のような状況に鑑みてなされたものであり、単一の基準クロック信号より、様々な平均周波数のクロック信号を生成することが可能であるクロック信号発生装置、通信装置および半導体装置を提供することを目的とする。
【００３５】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す、クロック信号を発生して出力するクロック信号発生装置において、基準クロック信号を発生する基準クロック信号発生回路１と、前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路２と、前記分周回路２を制御し、所定の周期で延長サイクルを挿入させる制御回路３と、前記分周回路２によって得られたクロック信号を出力する出力回路４と、を有することを特徴とするクロック信号発生装置が提供される。
【００３６】
ここで、基準クロック信号発生回路１は、基準クロック信号を発生する。分周回路２は、基準クロック信号を自然数ｎ（≧１）により分周する。制御回路３は、分周回路２を制御し、所定の周期で延長サイクルを挿入させる。出力回路４は、分周回路２によって得られたクロック信号を出力する。従って、クロック信号の平均周波数を基準クロックとは独立に任意に設定することができる。
【００３７】
また、本発明では、上記課題を解決するために、クロック信号に同期してデータを送信または受信する通信装置において、基準クロック信号を発生する基準クロック信号発生回路と、前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、前記分周回路によって得られたクロック信号に基づいてデータを送信または受信する送受信回路と、を有することを特徴とする通信装置が提供される。
【００３８】
ここで、基準クロック信号発生回路１は、基準クロック信号を発生する。分周回路２は、基準クロック信号を自然数ｎ（≧１）により分周する。制御回路３は、分周回路２を制御し、所定の周期で延長サイクルを挿入させる。出力回路４は、分周回路２によって得られたクロック信号を出力する。従って、通信相手の装置に応じてクロック信号の平均周波数を任意に設定することができる。
【００３９】
また、本発明では、上記課題を解決するために、クロック信号に基づいて動作する半導体装置において、基準クロック信号を発生する基準クロック信号発生回路と、前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、前記分周回路によって得られたクロック信号を各部へ供給する供給回路と、を有することを特徴とする半導体装置が提供される。
【００４０】
ここで、基準クロック信号発生回路１は、基準クロック信号を発生する。分周回路２は、基準クロック信号を自然数ｎ（≧１）により分周する。制御回路３は、分周回路２を制御し、所定の周期で延長サイクルを挿入させる。出力回路４は、分周回路２によって得られたクロック信号を出力する。従って、半導体装置の各部の状況等に応じてクロック信号の平均周波数を任意に設定することができる。
【００４１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明する原理図である。この図に示すように、本発明のクロック信号発生装置は、基準クロック信号発生回路１、分周回路２、制御回路３および出力回路４によって構成されている。
【００４２】
基準クロック信号発生回路１は、装置の各部が動作の基準とする基準クロック信号を発生する。
分周回路２は、基準クロック信号発生回路１によって発生された基準クロック信号を所定の自然数ｎ（≧１）により分周する。
【００４３】
制御回路３は、分周回路２を制御し、所定の周期で延長サイクルを挿入させる。
出力回路４は、例えば、バッファ等によって構成されており、分周回路２によって分周され、また、延長サイクルが挿入されたクロック信号を出力する。なお、分周回路２と出力回路４とを統合して１つの回路として構成することも可能である。
【００４４】
次に、以上の原理図の動作について説明する。
基準クロック信号発生回路１は、図２（Ａ）に示すような基準クロック信号を発生し、分周回路２に供給する。
【００４５】
分周回路２は、基準クロック信号発生回路１によって発生された基準クロック信号を分周する。図２の例では、分周回路２は、基準クロックを４分周（ｎ＝４）して、通信クロック信号を生成している。
【００４６】
制御回路３は、分周回路２が分周処理を行う際に、通信クロック信号の所定のサイクルを１グループとし、各グループの所定のサイクルに対して延長サイクルを挿入させる。
【００４７】
図２の例では、同図（Ｂ）に示すように、通信クロック信号の４サイクルを１グループとし、各グループの第２番目のサイクルに延長サイクルを挿入している。より詳細には、分周回路２は、各グループの第０番目、第１番目および第３番目のサイクルについては、基準クロック信号を４分周し、第２番目のサイクルでは、通信クロック信号が“Ｌ”の状態になる場合において、基準クロック信号の１サイクル分に該当する延長サイクルを挿入する。
【００４８】
出力回路４は、分周回路２から供給されたクロック信号を図示せぬ送受信部等へ通信クロック信号として出力する。
図示せぬ送受信部は、出力回路４から供給された通信クロック信号の８サイクルを１ビットとみなし、データを送受信する。
【００４９】
その結果、１ビットの周期は、２５０ｎｓ×（（４×４）＋１×１）×２＝８．５μｓとなり、ビットレートは、１ｓ÷８．５μｓ＝１１７，６４７ｂｐｓとなる。
【００５０】
このように、本発明による、任意のサイクルにおける周期の延長は、平均の分周比を変更したものと解釈することが可能である。従来の方式において、基準クロックの周期をＭ、分周比をＮとし、前述したように、８サイクルで１ビットの転送とすると、１ビットの周期はＭ×Ｎ×８となり、ビットレートは、１÷（Ｍ×Ｎ×８）となる。一方、本発明によれば、平均の分周比Ｎ’は、ベース周期をＮ、グループサイクル数をＸ、グループ内で延長されるサイクル数をＹ、延長する基準周期数をＺとすると、Ｎ’＝（Ｘ×Ｎ＋Ｙ×Ｚ）÷Ｘとなり、ビットレートは１÷（Ｍ×（（Ｘ×Ｎ＋Ｙ×Ｚ）÷Ｘ）×８）となる。基準クロックを４ＭＨｚ（＝２５０ｎｓ）、ベース周期を４、グループサイクル数を６、グループ内で延長されるサイクル数を１、延長する基準周期数を１とすると、ビットレートとして１２０，０００ｂｐｓが得られる。
【００５１】
なお、以上の原理図では、基準クロック信号の１サイクル分を延長サイクルとしたが、これ以上の長さの延長サイクルを挿入することも可能である。
また、以上の原理図では、第２番目のサイクルのみに延長サイクルを挿入するようにしたが、これ以外のサイクルに延長サイクルを挿入することも可能である。また、１つの延長サイクルのみならず、複数の延長サイクルを挿入することも可能である。
【００５２】
以上に説明したように、本発明のクロック信号発生装置によれば、基準クロック信号を変更することなく、通信クロック信号の平均の分周比を変更することが可能になるので、例えば、通信相手に応じてビットレートを細かく設定することが可能になる。
【００５３】
次に、本発明の実施の形態について説明する。
図３は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明の実施の形態は、ＣＰＵ１０、通信クロック生成部３０、ＣＰＵインタフェース部１２、シリアル／パラレル変換部１３、パラレル／シリアル変換部１４および送受信部１５によって構成されている。なお、図１１に示す従来例と比較すると、通信クロック生成部１１が通信クロック生成部３０に置換されている。その他の構成は図１１の場合と同様である。
【００５４】
ここで、ＣＰＵ１０は、図示せぬ記憶装置等に記憶されているプログラムやデータに基づいて装置の各部を制御する。
通信クロック生成部３０は、後述するように、基準クロック信号を分周するとともに、延長サイクルを挿入して、必要に応じた周波数の通信クロック信号を生成し、各部へ供給する。
【００５５】
ＣＰＵインタフェース部１２は、ＣＰＵ１０との間でデータを授受する際に、データの表現形式等を変換する。
シリアル／パラレル変換部１３は、送受信部１５から供給される受信データ（シリアルデータ）を、通信クロック信号に同期してパラレルデータに変換する。
【００５６】
パラレル／シリアル変換部１４は、送信データ（パラレルデータ）を、通信クロック信号に同期してシリアルデータに変換する。
図４は、通信クロック生成部３０の詳細な構成例を示す図である。
【００５７】
この図に示すように、通信クロック生成部３０は、減算回路２０、セレクタ２１、判定回路２２、カウンタ２３、レジスタ２４、判定回路２５、デコーダ２６、フリップフロップ２７、セレクタ２８、レジスタ５０，５１およびサイクル延長回路５２によって構成されている。なお、図１２に示す従来例と比較すると、レジスタ５０，５１およびサイクル延長回路５２が新たに付加されている点が異なっている。
【００５８】
ここで、減算回路２０は、カウンタ２３の出力を１だけディクリメントしてセレクタ２１に供給する。
セレクタ２１は、判定回路２２によってカウンタ２３の出力が“０”になったと判定された場合には、レジスタ２４の出力を選択し、それ以外の場合には減算回路２０の出力を選択し、カウンタ２３に供給する。
【００５９】
判定回路２２は、カウンタ２３の出力が“０”であるか否かを判定し、“０”である場合にはセレクタ２１にレジスタ２４の出力を選択させ、それ以外の場合には減算回路２０の出力を選択させる。
【００６０】
カウンタ２３は、４個のフリップフロップから構成される４ビットのカウンタであり、セレクタ２１から出力された４ビットのデータを保持（ラッチ）する。レジスタ２４は、分周する際の基準となる周期であるベース周期を設定するためのデータが格納される。
【００６１】
判定回路２５は、レジスタ２４に設定されているデータが“０”である場合、即ち、分周比を１に設定することが指定されているか否かを判定し、“０”である場合には、セレクタ２８に基準クロック信号を選択させ、それ以外の場合にはフリップフロップ２７の出力を選択させる。
【００６２】
デコーダ２６は、カウンタ２３から出力されるデータに応じてその出力を“Ｈ”または“Ｌ”の状態にし、所定のデューティー比を有するクロック信号を生成する。
【００６３】
フリップフロップ２７は、基準クロック信号に同期してデコーダ２６からの出力をラッチし、出力する。
セレクタ２８は、判定回路２５によって、レジスタ２４に設定されているデータが“０”であると判定された場合には、基準クロック信号を選択し、それ以外の場合にはフリップフロップ２７の出力を選択して出力する。
【００６４】
レジスタ５０には、グループを構成するサイクル数を指定するデータが格納される。
レジスタ５１には、延長するサイクル数および延長する基準周波数を指定するデータが格納される。
【００６５】
サイクル延長回路５２は、レジスタ５０，５１に格納されているデータに基づいてカウンタ２３のカウント動作を制御し、延長サイクルを挿入する処理を実行する。
【００６６】
図５は、サイクル延長回路５２の詳細な構成例を示す図である。この図に示すように、サイクル延長回路５２は、減算回路７０、セレクタ７１、判定回路７２、デコーダ７３、カウンタ７４、レジスタ７５、比較回路７６、エッジ検出＆停止回路７７、減算回路７８、レジスタ７９、セレクタ８０、判定回路８１、検出回路８２、カウンタ８３および判定回路８４によって構成されている。
【００６７】
ここで、減算回路７０は、カウンタ７４の出力を１だけディクリメントしてセレクタ７１に供給する。
セレクタ７１は、判定回路７２によってカウンタ７４の出力が“０”になったと判定された場合には、レジスタ５０の出力を選択し、それ以外の場合には減算回路７０の出力を選択し、カウンタ７４に供給する。
【００６８】
判定回路７２は、カウンタ７４の出力が“０”であるか否かを判定し、“０”である場合にはセレクタ７１にレジスタ５０の出力を選択させ、それ以外の場合には減算回路７０の出力を選択させる。
【００６９】
デコーダ７３は、レジスタ５０，５１に格納されているデータをデコードし、レジスタ７５，７９に格納するデータを生成する。
カウンタ７４は、４個のフリップフロップから構成される４ビットのカウンタであり、セレクタ７１から出力された４ビットのデータを保持する。
【００７０】
レジスタ７５は、デコーダ７３から供給された、延長サイクルを挿入する対象となるサイクルの番号（以下、延長サイクル番号と称する）を格納する。
比較回路７６は、レジスタ７５に設定されているデータと、カウンタ７４から出力されるデータとを比較し、比較結果をエッジ検出＆停止回路７７に供給する。
【００７１】
エッジ検出＆停止回路７７は、レジスタ７５に設定されているデータに対応するサイクルが比較回路７６によって検出された場合には、カウンタ８３の動作を開始させ、レジスタ７９に格納されている基準周期数が経過した場合には、カウンタ８３の動作を停止させる。
【００７２】
減算回路７８は、カウンタ８３の出力を１だけディクリメントしてセレクタ８０に供給する。
レジスタ７９は、基準周波数を設定するためのデータが格納される。
【００７３】
セレクタ８０は、判定回路８１によってカウンタ８３の出力が“０”になったと判定された場合には、レジスタ７９の出力を選択し、それ以外の場合には減算回路７８の出力を選択し、カウンタ８３に供給する。
【００７４】
判定回路８１は、カウンタ８３の出力が“０”であるか否かを判定し、“０”である場合にはセレクタ８０にレジスタ７９の出力を選択させ、それ以外の場合には減算回路７８の出力を選択させる。
【００７５】
カウンタ８３は、４個のフリップフロップから構成される４ビットのカウンタであり、セレクタ８０から出力された４ビットのデータを保持する。
判定回路８４は、カウンタ８３からの出力データが“０”以外である場合には図４に示すカウンタ２３に供給されているＥＮ（Ｅｎａｂｌｅ）信号をアクティブの状態にし、それ以外の場合にはインアクティブの状態にする。
【００７６】
次に、以上の実施の形態の動作について説明する。
図６は、本発明の実施の形態の動作を説明するためのタイミングチャートである。以下では、ベース周期を“４”、グループサイクル数を“４”に、延長サイクル番号を“２”に、また、延長基準周波数を“１”に設定した場合、即ち、レジスタ２４に“４”を、レジスタ５０に“３”を、レジスタ５１に“２”および“１”を設定した場合を例に挙げて説明する。
【００７７】
先ず、図３に示す装置が起動されると、ＣＰＵ１０は、ＣＰＵインタフェース部１２を介して通信クロック生成部３０のレジスタ２４，５０，５１に前述したデータを設定する。
【００７８】
このとき、カウンタ２３は初期状態であり、その出力は“０”の状態であることから、判定回路２２はセレクタ２１にレジスタ２４の出力を選択させる。その結果、レジスタ２４に格納されているデータ“４”が読み出されて（図６（Ｌ）参照）カウンタ２３を構成する各フリップフロップに格納される。
【００７９】
このような状態において、基準クロック信号（図６（Ａ）参照）が“Ｈ”の状態になると、その立ち上がりエッジに同期してカウンタ２３からデータ“４”が読み出されて（図６（Ｍ）参照）デコーダ２６に供給される。
【００８０】
デコーダ２６は、カウンタ２３の出力が“４”および“３”の場合には“Ｈ”を出力し、“２”〜“０”の場合には“Ｌ”を出力する。従って、いまの場合、カウンタ２３の出力は“４”であるので、デコーダ２６の出力は基準クロック信号の立ち上がりエッジに同期して“Ｈ”の状態になる（図６（Ｎ）参照）。
【００８１】
フリップフロップ２７は、デコーダ２６の出力を基準クロック信号の立ち上がりエッジに同期してラッチする。
このとき、判定回路２５は、レジスタ２４に設定されているデータが“０”でないことこから、セレクタ２８にフリップフロップ２７の出力を選択させている。その結果、セレクタ２８からはフリップフロップ２７にラッチされているデータ（“Ｈ”）が出力される（図６（Ｏ）参照）。
【００８２】
カウンタ２３から出力されたデータは、減算回路２０にも供給されており、減算回路２０は、供給されたデータを“１”だけディクリメントしてセレクタ２１を介してカウンタ２３に供給する。いまの例では、カウンタ２３から出力されるデータは“４”であるので、減算回路２０からは“３”が出力され、カウンタ２３に再度格納され、基準クロック信号の立ち上がりエッジに同期して出力される。
【００８３】
デコーダ２６は、カウンタ２３の出力を入力し、いまの例では、“３”であることから、その出力を“Ｈ”の状態にする。従って、セレクタ２８の出力は“Ｈ”の状態を維持する。
【００８４】
続いて、減算回路２０から“２”が出力されると、このデータは前述の場合と同様にカウンタ２３を介してデコーダ２６に供給される。デコーダ２６は、カウンタ２３の出力が“２”であることから、その出力を“Ｌ”に変更する。その結果、セレクタ２８からは、“Ｌ”が出力されることになる。次の“１”の場合も同様の動作が繰り返される。
【００８５】
続いて、減算回路２０から“０”が出力されると、デコーダ２６からは“Ｌ”が出力されるので、セレクタ２８からは“Ｌ”が出力されることになる。
このとき、判定回路２２は、カウンタ２３の出力が“０”になったと判定し、セレクタ２１にレジスタ２４の出力を選択させる。その結果、基準クロック信号の次の立ち上がりエッジに同期して“４”がカウンタ２３に再び読み込まれることになる。
【００８６】
以上のようにして生成された通信クロック信号は、サイクル延長回路５２に供給される。
サイクル延長回路５２の減算回路７０、セレクタ７１、判定回路７２およびカウンタ７４は、サイクル番号を計数するためのカウンタであり、レジスタ５０に設定されているデータを、通信クロック信号（図６（Ｂ），（Ｏ）参照）に応じてカウントダウンする。
【００８７】
ここで、レジスタ５０には、“３”が設定されているので、図６（Ｃ）に示すように、起動時においては“３”がカウンタ７４に入力され、通信クロック信号の１サイクル分だけ遅れて読み込まれたデータが出力される（図６（Ｄ）参照）。
【００８８】
比較回路７６は、カウンタ７４から出力されたデータと、レジスタ７５に設定されているデータとを比較し、これらが一致する場合にはエッジ検出＆停止回路７７に通知する。
【００８９】
いまの例では、レジスタ７５には“２”が格納されているので、カウンタ７４から“２”が出力された場合には、比較回路７６の出力が図６（Ｅ）に示すように“Ｈ”の状態になる。
【００９０】
比較回路７６の出力が“Ｈ”の状態になると、エッジ検出＆停止回路７７は、その立ち上がりエッジを検出し（図６（Ｆ）参照）、カウンタ８３の動作を許可する信号を“Ｈ”の状態にする（図６（Ｈ））。
【００９１】
その結果、減算回路７８、レジスタ７９、セレクタ８０、判定回路８１およびカウンタ８３から構成される延長周期カウンタは、レジスタ７９に格納されているデータを読み込み、カウントダウン動作を実行する。
【００９２】
いまの例では、レジスタ７９には“１”が格納されているので、カウンタ８３の動作が許可されると、レジスタ７９から“１”が読み込まれ（図６（Ｉ）参照）、基準クロック信号（図６（Ａ）参照）に同期してカウントダウン動作が実行される（図６（Ｊ）参照）。
【００９３】
そして、セレクタ８０の出力が“０”になると、検出回路８２がこれを検出し、エッジ検出＆停止回路７７に通知する（図６（Ｇ）参照）。
エッジ検出＆停止回路７７は、検出回路８２によってセレクタ８０の出力が“０”になったことが検出された場合には、カウンタ８３の動作を停止される。
【００９４】
判定回路８４は、カウンタ８３の出力が“０”以外である場合には、カウンタ２３の動作を保留させる信号を“Ｈ”の状態にする（図６（Ｋ）参照）。その結果、カウンタ８３が１だけカウントダウンする期間、即ち、基準クロック信号の１サイクルに該当する期間中カウンタ２３がカウントダウン動作を停止することになる。
【００９５】
その結果、判定回路８４の出力が“Ｈ”となるサイクル番号が２のサイクルについては、基準クロック信号の１サイクル分だけ遅延されることになる。
以上の動作が繰り返されることにより、遅延サイクルが挿入された通信クロック信号が発生される。
【００９６】
図７は、図１１に示す従来の回路の動作を示すタイミングチャートである。
図７（Ａ）は、基準クロック信号、（Ｂ）はカウンタ２３の入力信号、（Ｃ）はカウンタ２３の出力信号、（Ｄ）は判定回路２２の出力信号、（Ｅ）はデコーダ２６の出力信号、（Ｆ）はセレクタ２８の出力である通信クロック信号を示している。なお、図６との比較では、図７（Ａ）〜（Ｆ）は、図６（Ａ），（Ｌ）〜（Ｏ）にそれぞれ対応している。
【００９７】
この図に示すように、本発明の実施の形態と比較すると、図７に示す従来例の場合では、カウンタ２３の入出力信号は、常にその周期が一定であるが、図６に示す本発明の実施の形態の場合では、カウント動作が周期的に停止され、周期がイレギュラーになっているのが分かる。このように、本発明の実施の形態では、周期的に延長サイクルを挿入することにより、通信クロック信号の平均周波数を変化させ、基準クロック信号は一定のままで通信レート（ビットレート）を変化させることが可能になる。
【００９８】
ところで、以上の実施の形態では、延長サイクルを第２番目のサイクルに１回だけ挿入する場合を例に挙げて説明したが、これ以外のサイクルに挿入することも可能であることはいうまでもない。また、１つのみならず、複数の延長サイクルを挿入することも可能であることはもちろんである。
【００９９】
図８は、グループサイクル数および延長サイクル数と、挿入する延長サイクルの位置の関係を示す図である。この図の縦軸の「グループサイクル数」は、グループを構成するサイクルの数を示している。また、横軸の「延長サイクル数」は、挿入する延長サイクルの数を示している。
【０１００】
例えば、グループサイクル数が“４”の場合に、延長しようとするサイクル数が“１”である場合、これらが交差する欄には“０”が格納されているので、第０番目のサイクルに延長サイクルが挿入される。また、グループサイクル数が“４”である場合に、延長しようとするサイクル数が“２”である場合、これらが交差する欄には“０，２”が格納されているので、第０番目と第２番目のサイクルに延長サイクルが挿入される。
【０１０１】
このようなテーブルは、ＣＰＵ１０がアクセス可能な記憶装置（例えば、ＲＯＭ等）に格納しておき、装置が起動された場合に、当該記憶装置から適切なデータを読み出してレジスタ５０，５１に格納するようにすればよい。本装置は、レジスタ５０，５１に格納された値から挿入すべき延長サイクルの位置を導き出して動作する。
【０１０２】
なお、以上の実施の形態では、装置が起動された場合（電源が投入された場合）に、ＣＰＵ１０が通信レートを変化させるようにしたが、例えば、通信相手となる周辺装置が新たに接続された場合や、通信状態が変化した場合に、通信レートをダイナミックに変化させることも可能である。
【０１０３】
例えば、周辺装置が接続された場合に通信レートを変化させる方法としては、例えば、ＣＰＵ１０が周辺装置の接続状態を監視しておき、新たに周辺装置が接続されたことを検出した場合には、その周辺装置の種類を特定し、適切な通信レートとなるように通信クロックを設定するようにすればよい。
【０１０４】
また、通信状態に応じて通信レートを変化させる方法としては、例えば、ＣＰＵ１０が通信状態（例えば、単位時間あたりのデータの伝送量）を監視しておき、監視結果に応じて通信クロックを変化させるようにすればよい。
【０１０５】
次に、図４に示すサイクル延長回路５２の他の構成例について説明する。
図９は、図４に示すサイクル延長回路５２の他の構成例を示す図である。なお、この図において、図５の場合と対応する部分には同一の符号を付してあるのでその説明は省略する。
【０１０６】
この図に示す構成例では、図５の場合と比較して、減算回路７０が加算回路９０に置換され、また、判定回路７２が比較回路９１に置換されている。また、セレクタ７１には４ビットのデータ“０”が入力されている。その他の構成は、図５の場合と同様である。
【０１０７】
ここで、加算回路９０は、カウンタ７４から出力されるデータを１だけインクリメントし、セレクタ７１に供給する。
比較回路９１は、レジスタ５０に格納されているデータと、カウンタ７４の出力データとを比較し、これらが一致する場合にはセレクタ７１にデータ“０”を選択させる。また、一致しない場合には加算回路９０の出力を選択させる。
【０１０８】
次に、以上の構成例の動作について説明する。図１０は、図９に示す構成例の動作を説明するためのタイミングチャートである。以下では、ベース周期を“４”、グループサイクル数を“４”に、延長サイクル番号を“２”に、また、延長基準周波数を“１”に設定した場合、即ち、レジスタ２４に“４”を、レジスタ５０に“３”を、レジスタ５１に“２”および“１”を設定した場合を例に挙げて説明する。
【０１０９】
先ず、図３に示す装置が起動されると、ＣＰＵ１０は、ＣＰＵインタフェース部１２を介して通信クロック生成部３０のレジスタ２４，５０，５１に前述したデータを設定する。
【０１１０】
このとき、カウンタ２３は初期状態であり、その出力は“０”の状態であることから、判定回路２２はセレクタ２１にレジスタ２４の出力を選択させる。その結果、レジスタ２４に格納されているデータ“４”が読み出されて（図１０（Ｌ）参照）カウンタ２３を構成する各フリップフロップに格納される。
【０１１１】
このような状態において、基準クロック信号（図１０（Ａ）参照）が“Ｈ”の状態になると、その立ち上がりエッジに同期してカウンタ２３から“４”が読み出されて（図１０（Ｍ）参照）デコーダ２６に供給される。
【０１１２】
前述の場合と同様に、デコーダ２６は、カウンタ２３の出力が“４”および“３”の場合には“Ｈ”を出力し、“２”〜“０”の場合には“Ｌ”を出力する。従って、いまの場合、カウンタ２３の出力は“４”であるので、デコーダ２６の出力は基準クロック信号の立ち上がりエッジに同期して“Ｈ”の状態になる（図１０（Ｎ）参照）。
【０１１３】
フリップフロップ２７は、デコーダ２６の出力を基準クロック信号の立ち上がりエッジに同期してラッチする。
このとき、判定回路２５は、レジスタ２４に設定されているデータが“０”でないことこから、セレクタ２８にフリップフロップ２７の出力を選択させている。その結果、セレクタ２８からはフリップフロップ２７にラッチされているデータ（“Ｈ”）が出力される（図１０（Ｏ）参照）。
【０１１４】
カウンタ２３から出力されたデータは、減算回路２０にも供給されており、減算回路２０は、データを１だけディクリメントしてセレクタ２１を介してカウンタ２３に供給する。いまの例では、カウンタ２３から出力されるデータは“４”であるので、減算回路２０からは“３”が出力され、カウンタ２３に再度格納され、基準クロック信号の立ち上がりエッジに同期して出力される。
【０１１５】
デコーダ２６は、カウンタ２３の出力を入力し、いまの例では、“３”であることから、その出力を“Ｈ”の状態にする。従って、セレクタ２８の出力は“Ｈ”の状態を維持する。
【０１１６】
続いて、減算回路２０から“２”が出力されると、このデータは前述の場合と同様にカウンタ２３を介してデコーダ２６に供給される。デコーダ２６は、カウンタ２３の出力が“２”であることから、その出力を“Ｌ”に変更する。その結果、セレクタ２８からは、“Ｌ”が出力されることになる。次の“１”の場合も同様の動作が繰り返される。
【０１１７】
続いて、減算回路２０から“０”が出力されると、デコーダ２６からは“Ｌ”が出力されるので、セレクタ２８からは“Ｌ”が出力されることになる。
このとき、判定回路２２は、カウンタ２３の出力が“０”になったと判定し、セレクタ２１にレジスタ２４の出力を選択させる。その結果、基準クロック信号の次の立ち上がりエッジに同期して“４”がカウンタ２３に再び読み込まれることになる。
【０１１８】
以上のようにして生成された通信クロック信号は、サイクル延長回路５２に供給される。
サイクル延長回路５２の加算回路９０、セレクタ７１、比較回路９１およびカウンタ７４は、サイクル番号を計数するためのカウンタであり、レジスタ５０に設定されているデータを、通信クロック信号（図１０（Ｂ），（Ｏ）参照）に応じてカウントアップし、レジスタ５０に格納されているデータが等しくなった場合には、“０”に復元してカウント動作を繰り返す。
【０１１９】
ここで、起動時においては、比較回路９１は、セレクタ７１に“０”を選択させるので、図１０（Ｃ）に示すように、“０”がカウンタ７４に入力され、通信クロック信号の１サイクル分だけ遅れて読み込まれたデータが出力される（図１０（Ｄ）参照）。
【０１２０】
比較回路７６は、カウンタ７４から出力されたデータと、レジスタ５０に設定されているデータとを比較し、これらが一致する場合にはエッジ検出＆停止回路７７に通知する。
【０１２１】
いまの例では、レジスタ７５には“２”が格納されているので、カウンタ７４から“２”が出力された場合には、比較回路７６の出力が図１０（Ｅ）に示すように“Ｈ”の状態になる。
【０１２２】
比較回路７６の出力が“Ｈ”の状態になると、エッジ検出＆停止回路７７は、その立ち上がりエッジを検出し（図１０（Ｆ）参照）、カウンタ８３の動作を許可する信号を“Ｈ”の状態にする（図１０（Ｈ））。
【０１２３】
減算回路７８、レジスタ７９、セレクタ８０、判定回路８１およびカウンタ８３から構成される延長周期カウンタは、レジスタ７９に格納されているデータを読み込み、カウントダウン動作を実行する。
【０１２４】
いまの例では、レジスタ７９には“１”が格納されているので、カウンタ８３の動作が許可されると、レジスタ７９から“１”が読み込まれ（図１０（Ｉ）参照）、基準クロック信号（図１０（Ａ）参照）に同期してカウントダウン動作が実行される（図１０（Ｊ）参照）。
【０１２５】
そして、セレクタ８０の出力が“０”になると、検出回路８２がこれを検出し、エッジ検出＆停止回路７７に通知する（図１０（Ｇ）参照）。
エッジ検出＆停止回路７７は、検出回路８２によってセレクタ８０の出力が“０”になったことが検出された場合には、カウンタ８３の動作を停止される。
【０１２６】
判定回路８４は、カウンタ８３の出力が“０”以外である場合には、カウンタ２３の動作を保留させる信号を“Ｈ”の状態にする（図１０（Ｋ）参照）。その結果、カウンタ８３が１だけカウントダウンする期間、即ち、基準クロック信号の１サイクルに該当する期間中カウンタ２３がカウントダウン動作を停止することになる。
【０１２７】
その結果、判定回路８４の出力が“Ｈ”となるサイクル番号が２のサイクルについては、基準クロック信号の１サイクル分だけ遅延されることになる。
以上の動作が繰り返されることにより、遅延サイクルが挿入された通信クロック信号を発生することができる。
【０１２８】
なお、以上の実施の形態では、本発明をシリアル通信装置に適用する場合を例に挙げて説明したが、本発明はこのような場合にのみ限定されるものではなく、他にも種々の適用分野が考えられる。
【０１２９】
例えば、周辺装置に供給するクロック信号を本発明のクロック信号発生装置によって発生し、周辺装置の使用頻度が低い場合等には、クロック信号の平均周期を低く設定することにより、消費電力を低減させることも可能である。
【０１３０】
（付記１）　クロック信号を発生して出力するクロック信号発生装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、
前記分周回路によって得られたクロック信号を出力する出力回路と、
を有することを特徴とするクロック信号発生装置。
【０１３１】
（付記２）　前記分周回路は、前記基準クロック信号をカウンタによってカウントし、そのカウント値に応じて出力信号を“Ｈ”または“Ｌ”の状態にすることにより前記基準クロック信号を分周し、
前記制御回路は、前記カウンタの動作を一時的に停止させることにより、前記延長サイクルを挿入させる、
ことを特徴とする付記１記載のクロック信号発生装置。
【０１３２】
（付記３）　前記制御回路は、前記カウンタを停止させる時間を計時するための他のカウンタを更に有し、当該他のカウンタのカウント値に応じて延長サイクルの長さを決定することを特徴とする付記２記載のクロック信号発生装置。
【０１３３】
（付記４）　前記制御回路は、前記クロック信号の所定のサイクルをグループと定義し、当該グループの所定の位置に前記延長サイクルをそれぞれ挿入することを特徴とする付記１記載のクロック信号発生装置。
【０１３４】
（付記５）　前記制御回路は、前記グループのそれぞれに対して複数の延長サイクルを挿入することを特徴とする付記４記載のクロック信号発生装置。
（付記６）　前記制御回路は、グループを構成するサイクルの数と、挿入しようとする延長サイクルの数と、挿入位置との対応関係を示すテーブルを有しており、当該テーブルに基づいて所定の位置に延長サイクルを挿入することを特徴とする付記５記載のクロック信号発生装置。
【０１３５】
（付記７）　前記制御回路は、システムが起動された場合に、挿入すべき前記延長サイクルの個数および挿入位置を決定することを特徴とする付記１記載のクロック信号発生装置。
【０１３６】
（付記８）　前記制御回路は、装置の動作条件が変化した場合に、挿入すべき前記延長サイクルの個数および挿入位置を変更することを特徴とする付記１記載のクロック信号発生装置。
【０１３７】
（付記９）　クロック信号に同期してデータを送信または受信する通信装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、
前記分周回路によって得られたクロック信号に基づいてデータを送信または受信する送受信回路と、
を有することを特徴とする通信装置。
【０１３８】
（付記１０）　前記制御回路は、装置が起動された場合に、挿入すべき前記延長サイクルの個数および挿入位置を決定することを特徴とする付記９記載の通信装置。
【０１３９】
（付記１１）　前記制御回路は、通信状態が変化した場合に、挿入すべき前記延長サイクルの個数および挿入位置を変更することを特徴とする付記９記載の通信装置。
【０１４０】
（付記１２）　前記制御回路は、通信相手が増減した場合に、挿入すべき前記延長サイクルの個数および挿入位置を変更することを特徴とする付記９記載の通信装置。
【０１４１】
（付記１３）　クロック信号に基づいて動作する半導体装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、所定の周期で延長サイクルを挿入させる制御回路と、
前記分周回路によって得られたクロック信号を各部へ供給する供給回路と、
を有することを特徴とする半導体装置。
【０１４２】
【発明の効果】
以上説明したように本発明では、クロック信号発生装置において、制御回路が分周回路を制御して延長サイクルを必要に応じて挿入させるようにしたので、基準クロック信号を変更することなく、クロック信号の平均的な周波数を容易に変更することが可能になる。
【０１４３】
また、本発明では、通信装置において、制御回路が分周回路を制御して延長サイクルを必要に応じて挿入させるようにしたので、基準クロック信号を変更することなく、クロック信号の平均的な周波数を容易に変更することが可能になるので、通信状態に応じてクロック信号の周期を変更し、最適な通信を実現することが可能になる。
【０１４４】
また、本発明では、半導体装置において、制御回路が分周回路を制御して延長サイクルを必要に応じて挿入させるようにしたので、基準クロック信号を変更することなく、クロック信号の平均的な周波数を容易に変更することが可能になるので、半導体装置の各部の動作状態等に応じて、最適な周波数のクロック信号を供給することが可能になる。
【図面の簡単な説明】
【図１】本発明の動作原理を説明する原理図である。
【図２】図１に示す原理図の動作を説明するための図である。
【図３】本発明の実施の形態の構成例を示す図である。
【図４】図３に示す通信クロック生成部の詳細な構成例を示す図である。
【図５】図４に示すサイクル延長回路の詳細な構成例を示す図である。
【図６】図３〜図５に示す実施の形態の動作を説明するためのタイミングチャートである。
【図７】従来例の動作を説明するための図である。
【図８】グループサイクル数および延長サイクル数と、挿入する延長サイクルの位置の関係を示す図である。
【図９】図４に示すサイクル延長回路の他の詳細な構成例を示す図である。
【図１０】図３，４および図９に示す実施の形態の動作を説明するためのタイミングチャートである。
【図１１】従来のシリアル通信装置の構成を示す図である。
【図１２】図１１に示す通信クロック生成部の詳細な構成例を示す図である。
【図１３】図１１に示す通信クロック生成部の動作を説明するためのタイミングチャートである。
【図１４】図１１に示す通信クロック生成部の動作を説明するためのタイミングチャートである。
【図１５】図１１に示す通信クロック生成部の動作を説明するためのタイミングチャートである。
【符号の説明】
１　基準クロック信号生成部
２　分周回路
３　制御回路
４　出力回路
１０　ＣＰＵ
１２　ＣＰＵインタフェース部
１３　シリアル／パラレル変換部
１４　パラレル／シリアル変換部
１５　送受信部
２０　減算回路
２１　セレクタ
２２　判定回路
２３　カウンタ
２４　レジスタ
２５　判定回路
２６　デコーダ
２７　フリップフロップ
２８　セレクタ
３０　通信クロック生成部
５０　レジスタ
５１　レジスタ
７０　減算回路
７１　セレクタ
７２　判定回路
７３　デコーダ
７４　カウンタ
７５　レジスタ
７６　比較回路
７７　エッジ検出＆停止回路
７８　減算回路
７９　レジスタ
８０　セレクタ
８１　判定回路
８２　検出回路
８３　カウンタ
８４　判定回路
９０　加算回路
９１　比較回路
【図１】
2004005009.tif 000003
【図２】
2004005009.tif 000004
【図３】
2004005009.tif 000005
【図４】
2004005009.tif 000006
【図５】
2004005009.tif 000007
【図６】
2004005009.tif 000008
【図７】
2004005009.tif 000009
【図８】
2004005009.tif 000010
【図９】
2004005009.tif 000011
【図１０】
2004005009.tif 000012
【図１１】
2004005009.tif 000013
【図１２】
2004005009.tif 000014
【図１３】
2004005009.tif 000015
【図１４】
2004005009.tif 000016
【図１５】
2004005009.tif 000017
【手続補正書】
【提出日】平成15年7月8日(2003.7.8)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
クロック信号を発生して出力するクロック信号発生装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、前記基準クロック信号を分周した信号に所定の周期で延長サイクルを挿入させてクロック信号を発生させる制御回路と、
前記分周回路によって得られたクロック信号を出力する出力回路と、
を有することを特徴とするクロック信号発生装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記制御回路は、前記基準クロック信号を分周した信号の所定のサイクルをグループと定義し、当該グループの所定の位置に前記延長サイクルをそれぞれ挿入することを特徴とする請求項１記載のクロック信号発生装置。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
このとき、判定回路２５は、レジスタ２４に設定されているデータが“０”でないことから、セレクタ２８にフリップフロップ２７の出力を選択させている。その結果、セレクタ２８からはフリップフロップ２７にラッチされているデータ（“Ｈ”）が出力される。


【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
制御回路３は、分周回路２を制御し、基準クロック信号を分周した信号に所定の周期で延長サイクルを挿入させてクロック信号を発生させる。
出力回路４は、例えば、バッファ等によって構成されており、分周回路２によって分周され、また、延長サイクルが挿入されたクロック信号を出力する。なお、分周回路２と出力回路４とを統合して１つの回路として構成することも可能である。


【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
制御回路３は、分周回路２が分周処理を行う際に、基準クロック信号を分周した信号の所定のサイクルを１グループとし、各グループの所定のサイクルに対して延長サイクルを挿入させる。


【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
図２の例では、同図（Ｂ）に示すように、基準クロック信号を分周した信号の４サイクルを１グループとし、各グループの第２番目のサイクルに延長サイクルを挿入している。より詳細には、分周回路２は、各グループの第０番目、第１番目および第３番目のサイクルについては、基準クロック信号を４分周し、第２番目のサイクルでは、基準クロック信号を分周した信号が“Ｌ”の状態になる場合において、基準クロック信号の１サイクル分に該当する延長サイクルを挿入する。


【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６４
【補正方法】変更
【補正の内容】
【００６４】
レジスタ５０には、グループを構成するサイクル数を指定するデータが格納される。
レジスタ５１には、延長するサイクル数および延長する基準周期数を指定するデータが格納される。


【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
減算回路７８は、カウンタ８３の出力を１だけディクリメントしてセレクタ８０に供給する。
レジスタ７９は、基準周期数を設定するためのデータが格納される。


【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
判定回路８１は、カウンタ８３の出力が“０”であるか否かを判定し、“０”である場合にはセレクタ８０にレジスタ７９の出力を選択させ、それ以外の場合には減算回路７８の出力を選択させる。
検出回路８２は、セレクタ８０の出力が“０”になったことを検出し、エッジ検出＆停止回路７７に通知する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
次に、以上の実施の形態の動作について説明する。
図６は、本発明の実施の形態の動作を説明するためのタイミングチャートである。以下では、ベース周期を“５”、グループサイクル数を“４”に、延長サイクル番号を“２”に、また、延長基準周期数を“１”に設定した場合、即ち、レジスタ２４に“４”を、レジスタ５０に“３”を、レジスタ５１に“２”および“１”を設定した場合を例に挙げて説明する。


【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
フリップフロップ２７は、デコーダ２６の出力を基準クロック信号の立ち上がりエッジに同期してラッチする。
このとき、判定回路２５は、レジスタ２４に設定されているデータが“０”でないことから、セレクタ２８にフリップフロップ２７の出力を選択させている。その結果、セレクタ２８からはフリップフロップ２７にラッチされているデータ（“Ｈ”）が出力される（図６（Ｏ）参照）。


【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
そして、セレクタ８０の出力が“０”になると、検出回路８２がこれを検出し、エッジ検出＆停止回路７７に通知する（図６（Ｇ）参照）。
エッジ検出＆停止回路７７は、検出回路８２によってセレクタ８０の出力が“０”になったことが検出された場合には、カウンタ８３の動作を停止させる。


【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
次に、以上の構成例の動作について説明する。図１０は、図９に示す構成例の動作を説明するためのタイミングチャートである。以下では、ベース周期を“５”、グループサイクル数を“４”に、延長サイクル番号を“２”に、また、延長基準周期数を“１”に設定した場合、即ち、レジスタ２４に“４”を、レジスタ５０に“３”を、レジスタ５１に“２”および“１”を設定した場合を例に挙げて説明する。


【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
フリップフロップ２７は、デコーダ２６の出力を基準クロック信号の立ち上がりエッジに同期してラッチする。
このとき、判定回路２５は、レジスタ２４に設定されているデータが“０”でないことから、セレクタ２８にフリップフロップ２７の出力を選択させている。その結果、セレクタ２８からはフリップフロップ２７にラッチされているデータ（“Ｈ”）が出力される（図１０（Ｏ）参照）。


【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１２０
【補正方法】変更
【補正の内容】
【０１２０】
比較回路７６は、カウンタ７４から出力されたデータと、レジスタ７５に設定されているデータとを比較し、これらが一致する場合にはエッジ検出＆停止回路７７に通知する。


【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１３０
【補正方法】変更
【補正の内容】
【０１３０】
（付記１）　クロック信号を発生して出力するクロック信号発生装置において、
基準クロック信号を発生する基準クロック信号発生回路と、
前記基準クロック信号を自然数ｎ（≧１）により分周する分周回路と、
前記分周回路を制御し、前記基準クロック信号を分周した信号に所定の周期で延長サイクルを挿入させてクロック信号を発生させる制御回路と、
前記分周回路によって得られたクロック信号を出力する出力回路と、
を有することを特徴とするクロック信号発生装置。


【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０１３３
【補正方法】変更
【補正の内容】
【０１３３】
（付記４）　前記制御回路は、前記基準クロック信号を分周した信号の所定のサイクルをグループと定義し、当該グループの所定の位置に前記延長サイクルをそれぞれ挿入することを特徴とする付記１記載のクロック信号発生装置。


【手続補正１８】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2004005009.tif 000018
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2004005009.tif 000019