(57)【要約】【課題】  高速で安定な切り換えが可能で、かつ、回路規模の削減を可能とする。【解決手段】  クロック分周回路は、分周クロック信号のロウレベルへの変化のタイミングに同期して、分周クロック信号の基本クロック信号に対する分周比に対応するｎビットの分周比設定データを設定するとともに、分周比設定データの値を２分の１したｎビットの１／２分周比設定データを設定する。カウンタからのカウントデータが１／２分周比設定データに一致するときに、分周クロック信号をハイレベルに変化させるための分周クロックセット信号を発生する。カウンタからのカウントデータが分周比設定データに一致するときに、分周クロック信号をロウレベルに変化させるための分周クロックリセット信号を発生する。分周クロックセット信号に従って、分周クロック信号をハイレベルに変化させ、分周クロックリセット信号に従って、分周クロック信号をロウレベルに変化させる。【選択図】        図１
2006318002.tif 000002
【特許請求の範囲】
【請求項１】
基本クロック信号を分周した分周クロック信号を出力するクロック分周回路であって、
前記基本クロック信号のクロック数をカウントしたカウントデータを出力するｎビット（ｎは２以上の整数）のカウンタと、
前記分周クロック信号のロウレベルへの変化のタイミングに同期して、前記分周クロック信号の前記基本クロック信号に対する分周比に対応するｎビットの分周比設定データを設定するとともに、前記分周比設定データの値を２分の１したｎビットの１／２分周比設定データを設定する分周比設定部と、
前記カウンタからのカウントデータが前記１／２分周比設定データに一致するときに、前記分周クロック信号をハイレベルに変化させるための分周クロックセット信号を発生する第１のコンペア回路と、
前記カウンタからのカウントデータが前記分周比設定データに一致するときに、前記分周クロック信号をロウレベルに変化させるための分周クロックリセット信号を発生する第２のコンペア回路と、
前記分周クロックセット信号に従って、前記分周クロック信号をハイレベルに変化させ、前記分周クロックリセット信号に従って、前記分周クロック信号をロウレベルに変化させるフリップフロップ回路と、
を備えることを特徴とするクロック分周回路。
【請求項２】
基本クロック信号を分周した分周クロック信号を出力するクロック分周回路であって、
前記基本クロック信号のクロック数をカウントしたカウントデータを出力するｎビット（ｎは２以上の整数）のカウンタと、
前記分周クロック信号のロウレベルへの変化のタイミングに同期して、前記分周クロック信号の前記基本クロック信号に対する分周比に対応するｎビットの分周比設定データを設定するとともに、前記分周比設定データの値を２分の１したｎビットの１／２分周比設定データを設定する分周比設定部と、
前記カウンタからのカウントデータが前記分周比設定データに一致するときに、前記分周クロック信号をハイレベルに変化させるための分周クロックセット信号を発生する第１のコンペア回路と、
前記カウンタからのカウントデータが前記１／２分周比設定データに一致するときに、前記分周クロック信号をロウレベルに変化させるための分周クロックリセット信号を発生する第２のコンペア回路と、
前記分周クロックセット信号に従って、前記分周クロック信号をハイレベルに変化させ、前記分周クロックリセット信号に従って、前記分周クロック信号をロウレベルに変化させるフリップフロップ回路と、
を備えることを特徴とするクロック分周回路。
【請求項３】
請求項１または請求項２記載のクロック分周回路であって、
前記分周比設定部は、２ｍ個（ｍはｎ−１以下の整数）の分周比に対応する分周比のうち１つの分周比を選択するためのｍビットの分周比選択信号を、前記分周クロック信号のロウレベルへの変化のタイミングに同期して取り込み、２ｍ個の分周比に対応する分周比設定データのなかから、取り込まれた分周比選択信号に対応する分周比設定データを選択する
ことを特徴とするクロック分周回路。
【請求項４】
請求項１ないし請求項３のいずれかに記載のクロック分周回路であって、
前記分周比設定部は、調歩同期式のシリアル通信における転送速度の１６倍のクロックを生成するように、前記分周比設定データおよび前記１／２分周比設定データを設定する
ことを特徴とするクロック分周回路。
【請求項５】
請求項４記載のクロック分周回路を備え、調歩同期式のシリアル通信を行うことを特徴とするシリアル通信装置。
【請求項６】
請求項５記載のシリアル通信装置を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本クロックを分周した分周クロックを出力するクロック分周回路に関し、特に、異なった周波数の分周クロックを切り換えて出力することが可能なクロック分周回路に関する。
【背景技術】
【０００２】
異なった周波数のクロックを切り換えて出力することが可能なクロック生成回路として、例えば、特許文献１や特許文献２に記載のクロック分周回路を用いたものが知られている。これらの特許文献に記載のクロック分周回路は、いずれも、分周比の異なった複数の分周器と、各分周器から出力される複数の分周クロックのうちいずれかを選択する選択回路（切換回路）と、を有する回路であり、切り換え時において発生するいわゆるハザードを防止しつつ、異なった周波数の分周クロックの出力を可能とする回路である。
【０００３】
【特許文献１】特開２００１−２９６９３７号公報
【特許文献２】特開平５−１９８９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１および特許文献２に記載のクロック分周回路は、出力可能な異なった周波数の分周クロックの数に対応する数の分周器を備える構成であるため、出力可能な分周クロックの周波数の種類を増やしたクロック分周回路を構成するには、増加した周波数の種類だけ分周器の数も増えてしまい、回路規模が増大するという問題がある。
【０００５】
また、特許文献１に記載のクロック分周回路では、分周クロックの切り換えが、複数の分周器から切換回路に入力する分周クロックの全てがロウ（Ｌ）レベルで、基本クロックがハイ（Ｈ）レベルに立ち上がったときに行われるため、切り換えに要する時間は、出力する分周クロックの種類によらず、分周比の最も大きな分周クロックの１／２周期〜１周期の時間を要することになり、切り換えに要する時間が長いという問題もある。
【０００６】
以上説明したように、従来のクロック分周回路は、回路規模の点で問題があった。また、分周クロックの切り換えの安定で高速な切り換えの点で不十分な場合もあった。
【０００７】
本発明は、上述した従来の課題を解決するためになされたものであり、クロック分周回路において、高速で安定な切り換えが可能で、かつ、回路規模の削減が可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的の少なくとも一部を達成するために、本発明の第１のクロック分周回路は、
基本クロック信号を分周した分周クロック信号を出力するクロック分周回路であって、
前記基本クロック信号のクロック数をカウントしたカウントデータを出力するｎビット（ｎは２以上の整数）のカウンタと、
前記分周クロック信号のロウレベルへの変化のタイミングに同期して、前記分周クロック信号の前記基本クロック信号に対する分周比に対応するｎビットの分周比設定データを設定するとともに、前記分周比設定データの値を２分の１したｎビットの１／２分周比設定データを設定する分周比設定部と、
前記カウンタからのカウントデータが前記１／２分周比設定データに一致するときに、前記分周クロック信号をハイレベルに変化させるための分周クロックセット信号を発生する第１のコンペア回路と、
前記カウンタからのカウントデータが前記分周比設定データに一致するときに、前記分周クロック信号をロウレベルに変化させるための分周クロックリセット信号を発生する第２のコンペア回路と、
前記分周クロックセット信号に従って、前記分周クロック信号をハイレベルに変化させ、前記分周クロックリセット信号に従って、前記分周クロック信号をロウレベルに変化させるフリップフロップ回路と、
を備えることを特徴とする。
【０００９】
また、本発明の第２のクロック分周回路は、
基本クロック信号を分周した分周クロック信号を出力するクロック分周回路であって、
前記基本クロック信号のクロック数をカウントしたカウントデータを出力するｎビット（ｎは２以上の整数）のカウンタと、
前記分周クロック信号のロウレベルへの変化のタイミングに同期して、前記分周クロック信号の前記基本クロック信号に対する分周比に対応するｎビットの分周比設定データを設定するとともに、前記分周比設定データの値を２分の１したｎビットの１／２分周比設定データを設定する分周比設定部と、
前記カウンタからのカウントデータが前記分周比設定データに一致するときに、前記分周クロック信号をハイレベルに変化させるための分周クロックセット信号を発生する第１のコンペア回路と、
前記カウンタからのカウントデータが前記１／２分周比設定データに一致するときに、前記分周クロック信号をロウレベルに変化させるための分周クロックリセット信号を発生する第２のコンペア回路と、
前記分周クロックセット信号に従って、前記分周クロック信号をハイレベルに変化させ、前記分周クロックリセット信号に従って、前記分周クロック信号をロウレベルに変化させるフリップフロップ回路と、
を備えることを特徴とする。
【００１０】
上記第１および第２のクロック分周回路によれば、高速で安定な切り換えが可能とし、かつ、回路規模の削減を可能とすることができる。
【００１１】
なお、前記分周比設定部は、２ｍ個（ｍはｎ−１以下の整数）の分周比に対応する分周比のうち１つの分周比を選択するためのｍビットの分周比選択信号を、前記分周クロック信号のロウレベルへの変化のタイミングに同期して取り込み、２ｍ個の分周比に対応する分周比設定データのなかから、取り込まれた分周比選択信号に対応する分周比設定データを選択するようにしてもよい。
【００１２】
上記第１および第２のクロック分周回路において、
前記分周比設定部は、調歩同期式のシリアル通信における転送速度の１６倍のクロックを生成するように、前記分周比設定データおよび前記１／２分周比設定データを設定するようにしてもよい。
【００１３】
こうすれば、本発明のクロック分周回路を、調歩同期式のシリアル通信に容易に利用することが可能である。
【００１４】
なお、本発明は、上記した発明の態様に限ることなく、クロック分周回路を備えるシリアル通信装置等の種々の情報処理装置の態様で実現することも可能である。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ａ１．クロック分周回路の構成：
Ａ２．基本動作：
Ａ３．切り換え動作：
Ａ４．実施例の効果：
Ｂ．第２実施例：
Ｂ１．クロック分周回路の構成および基本動作：
Ｂ２．切り換え動作：
Ｂ３．実施例の効果：
Ｃ．変形例：
【００１６】
Ａ．第１実施例：
Ａ１．クロック分周回路の構成：
図１は、本発明の第１実施例としてのクロック分周回路１００の構成を示すブロック図である。このクロック分周回路１００は、カウンタ１０と、２つのコンペア回路２０，３０と、ＪＫフリップフロップ４０と、ラッチ５０と、分周比設定回路６０と、１／２分周比設定回路７０と、インバータ８０と、を備えている。なお、以下では、説明の便宜上ＪＫフリップフロップを単にフリップフロップと呼ぶ場合もある。
【００１７】
カウンタ１０は、クロック端子（ＣＫ端子）に入力されるクロック信号の立ち上がりエッジタイミングで、クロックの数をカウントするｎビット（ｎは２以上の整数）のカウンタである。このカウンタ１０のＣＫ端子には基本クロック信号ＲＣＫが入力されており、クリア端子（ＣＬＲ端子）には第２のコンペア回路３０から出力される分周クロックリセット信号ＢＲＳＴが入力されている。また、ｎビットのプリセット端子（Ｐ端子：Ｐ０〜Ｐｎ）は、Ｌレベルに固定され、プリセットするカウント値が「０」に設定されている。従って、カウンタ１０は、ＣＬＲ端子に入力される分周クロックリセット信号ＢＲＳＴがＨレベルに変化して、出力端子（QD端子：ＱＤ０〜ＱＤｎ）から出力されるｎビットのカウント信号ＣＳＩＧの値が「０」にセットされるまで、ＣＫ端子に入力される基本クロック信号ＲＣＫの立ち上がりエッジタイミングで、０〜（２ｎ−１）までの数を順にカウントする。
【００１８】
２つのコンペア回路２０，３０は、第１の入力端子（Ａ端子）に入力されるｎビットの信号と、第２の入力端子（Ｂ端子）に入力されるｎビットの信号との一致を検出する回路であり、出力端子（ＥＱ端子）から出力される信号は、２つの入力信号が一致している場合にはＨレベルに変化し、一致していない場合にはＬレベルのままとなる。
【００１９】
第１のコンペア回路２０のＡ端子にはカウンタ１０から出力されるカウント信号ＣＳＩＧが入力されており、Ｂ端子には１／２分周比設定回路７０から出力される１／２分周比設定信号ＨＢＳＩＧが入力されている。従って、第１のコンペア回路２０は、カウント信号ＣＳＩＧと１／２分周比設定信号ＨＢＳＩＧとが一致している場合においてＨレベルに変化する信号を出力する。第１のコンペア回路２０からの出力信号は、分周クロックセット信号ＢＳＥＴとしてフリップフロップ４０のＪ端子に入力される。なお、分周比は、基本クロック信号ＲＣＫの分周する分周数であり、カウンタ１０でカウントされるカウント値を意味している。
【００２０】
第２のコンペア回路３０のＡ端子にもカウンタ１０から出力されるカウント信号ＣＳＩＧが入力されており、Ｂ端子には分周比設定回路６０から出力される分周比設定信号ＢＳＩＧが入力されている。従って、第２のコンペア回路３０は、カウント信号ＣＳＩＧと分周比設定信号ＢＳＩＧとが一致している場合においてＨレベルに変化する信号を出力する。第２のコンペア回路３０からの出力信号は、分周クロックリセット信号ＢＲＳＴとしてフリップフロップ４０のＫ端子およびカウンタ１０のＣＬＲ端子に入力される。
【００２１】
フリップフロップ４０は、Ｊ端子に入力されている分周クロックセット信号ＢＳＥＴがＨレベルにおいて、クロック入力端子（ＣＫ端子）に入力されている基本クロック信号ＲＣＫの立ち上がりエッジタイミングで、出力端子（Ｑ端子）から出力される分周クロック信号ＢＣＫをＨレベルに変化させる。また、フリップフロップ４０は、Ｋ端子に入力されている分周クロックリセット信号ＢＲＳＴがＨレベルにおいて、ＣＫ端子に入力されている基本クロック信号ＲＣＫの立ち上がりエッジタイミングで分周クロック信号ＢＣＫをＬレベルに変化させる。
【００２２】
ラッチ５０は、データ端子（Ｄ端子）に入力されるｍビット（ｍは２以上ｎ未満の整数）のクロック選択信号ＳＥＬＤを、クロック入力端子（ＬＴ端子）に入力されているクロック信号の立ち上がりエッジタイミングでラッチし、ｍビットの出力端子（Ｑ端子：Ｑ０〜Ｑｍ）からクロック選択信号ＬＳＥＬＤとして出力する。クロック選択信号ＬＳＥＬＤは、分周比設定回路６０に入力される。
【００２３】
分周比設定回路６０は、入力されるクロック選択信号ＬＳＥＬＤに応じたｎビットの分周比設定信号ＢＳＩＧを出力する。出力された分周比設定信号ＢＳＩＧは、第２のコンペア回路３０の第２の入力端子（Ｂ端子）および１／２分周比設定回路７０に入力される。
【００２４】
図２は、分周比設定回路６０の構成例を示すブロック図である。この分周比設定回路６０は、２ｍ個の分周比設定レジスタ６２（０）〜６２（ｋ）（ｋ＝２ｍ−１）と、セレクタ６４と、を備えている。
【００２５】
各分周比設定レジスタ６２（０）〜６２（ｋ）は、それぞれ設定したい分周クロックに対応する分周比がｎビットのデータとして設定されている。それぞれに設定されているｎビットの分周比設定データＢＤ（０）〜ＢＤ（ｋ）は、それぞれセレクタ６４の入力端子Ａ（０）〜Ａ（ｋ）に入力されている。なお、各分周比設定レジスタ６２（０）〜６２（ｋ）の設定値は、図示しない制御回路を介してあらかじめユーザが所望する値に設定することができる。
【００２６】
セレクタ６４は、［ｋ＋１］個（＝２ｍ）の入力端子Ａ（０）〜Ａ（ｋ）に入力された分周比設定データＢＤ（０）〜ＢＤ（ｋ）のいずれかを、選択端子（ＳＬ端子）に入力されるｍビットのクロック選択信号ＬＳＥＬＤに応じて選択して、出力端子（ＳＯ）からｎビットの分周比設定信号ＢＳＩＧとして出力する。例えば、ｍ＝３として、３ビットのクロック選択信号ＬＳＥＬＤの表すクロック選択データ（２進数）が［０００］，［００１］，［０１０］，...，［１１０］，［１１１］の順に変化すると、これに応じて分周比設定データＢＤ（０），ＢＤ（１），ＢＤ（２），...，ＢＤ（６），ＢＤ（７）の順に選択される。
【００２７】
図１の１／２分周比設定回路７０は、分周比設定回路６０から出力されるｎビットの分周比設定信号ＢＳＩＧの値を２分の１したｎビットの１／２分周比設定信号ＨＢＳＩＧを出力する。出力された１／２分周比設定信号ＨＢＳＩＧは、第１のコンペア回路２０の第２の入力端子（Ｂ端子）に入力される。なお、１／２分周比設定回路は、ビットシフト演算回路を用いることにより容易に構成される。
【００２８】
図３は、調歩同期式シリアル通信の転送レートに対応した転送クロックの生成に、本実施例のクロック分周回路を用いた場合における、転送レート、転送クロック、および分周比の設定の具体例について示す説明図である。
【００２９】
調歩同期式シリアル通信の転送レートとして、４８００ｂｐｓ，９６００ｂｐｓ，１９２００ｂｐｓ，３８４００ｂｐｓ，５７６００ｂｐｓ，１１５２００ｂｐｓの６種類に対応することとする。この場合、各転送レートの転送クロックの周波数は各転送レートの１６倍の周波数であるとすると、転送レートの低いほうから順に、７６．８ｋＨｚ，１５３．６ｋＨｚ，３０７．２ｋＨｚ，６１４．４ｋＨｚ，９２１．６ｋＨｚ，１８４３．２ｋＨｚとなる。
【００３０】
また、基本クロック信号ＲＣｋの周波数を１４．７４５６ＭＨｚとすると、各転送クロックを生成するための分周比は、周波数の低いほうから順に、１９２，９６，４８，２４，１６，８となる。
【００３１】
そして、３ビットのクロック選択信号ＳＥＬＤ（ＬＳＥＬＤ）の表すクロック選択データ［０００］，［００１］，［０１０］，［０１１］，［１００］，［１０１］のそれぞれを、各転送レートに対して低い転送レートのほうから順に割り当てることとすると、分周比設定レジスタ６２（０）に分周比１９２を表す８ビットのデータ［１０１１１１１１］（２進数）を分周比設定データＢＤ（０）として設定し、分周比設定レジスタ６２（１）に分周比９６２を表す８ビットのデータ［０１０１１１１１］を分周比設定データＢＤ（１）として設定し、分周比設定レジスタ６２（２）に分周比４８を表す８ビットのデータ［００１０１１１１］を分周比設定データＢＤ（２）として設定し、分周比設定レジスタ６２（３）に分周比２４を表す８ビットのデータ［０００１０１１１］を分周比設定データＢＤ（３）として設定し、分周比設定レジスタ６２（４）に分周比１６を表す８ビットのデータ［００００１１１１］を分周比設定データＢＤ（４）として設定し、分周比設定レジスタ６２（５）に分周比８を表す８ビットのデータ［０００００１１１］を分周比設定データＢＤ（５）として設定する。
【００３２】
以上のように設定することにより、実施例のクロック分周回路１００は、調歩同期式シリアル通信の転送レートとして、４８００ｂｐｓ，９６００ｂｐｓ，１９２００ｂｐｓ，３８４００ｂｐｓ，５７６００ｂｐｓ，１１５２００ｂｐｓの６種類に対応する７６．８ｋＨｚ，１５３．６ｋＨｚ，３０７．２ｋＨｚ，６１４．４ｋＨｚ，９２１．６ｋＨｚ，１８４３．２ｋＨｚの６種類の転送クロックを生成することができる。
【００３３】
なお、６種類の転送レートの場合、クロック選択信号ＳＥＬＤの表すクロック選択データ［１１０］および［１１１］に対応する転送レートが存在しない。このような場合には、例えば、［１０１］の場合と同じ転送レートに割り当てるようにすればよい。もちろん未割り当て状態としてもよいし、他の転送レートに割り当てるようにしてもよい。
【００３４】
次に、以下では、本実施例のクロック分周回路１００が、クロック選択信号ＳＥＬＤのビット数がｍ＝３で、カウンタのビット数がｎ＝８であり、かつ、図３で説明した条件で動作するものとして、その基本動作および切り換え動作について説明する。
【００３５】
Ａ２．基本動作：
図４は、クロック分周回路１００の基本的な動作を示すタイミングチャートである。このタイミングチャートは、クロック分周回路１００における分周クロック生成動作の説明を容易にするため、３ビットのクロック選択信号ＳＥＬＤ（図４（ａ））の表すクロック選択データが［１０１］(２進数)であって分周比が［８］（１０進数）の状態に設定されており、分周クロック信号ＢＣＫ（図４（ｉ））の立ち下がりエッジタイミングでラッチされてラッチ５０（図１）から出力されるクロック選択信号ＬＳＥＬＤ（図４（ｂ））の表すクロック選択データも［１０１］となっていることとして示している。
【００３６】
上記前提の場合、分周比設定回路６０（図１）から出力される分周比設定信号ＢＳＩＧ（図４（ｃ））は、分周比が［８］に対応するカウンタ１０(図１)のカウント値［７］（１０進数）を表す８ビットの分周比設定データ［０００００１１１］(２進数)に設定されている。また、１／２分周比設定回路７０から出力される１／２分周比設定信号ＨＢＳＩＧ（図４（ｄ））は、カウンタ１０のカウント値［３］を表す８ビットの１／２分周比設定データ［００００００１１］に設定されている。
【００３７】
カウンタ１０から出力される８ビットのカウント信号ＣＳＩＧ(図４（ｆ）)は、基本クロック信号ＲＣＫ（図４（ｅ））の立ち上がりエッジタイミングで［０］から［７］まで順にカウントアップされるカウント信号である。図の例では、時刻ｔ０における基本クロックＲＣＫの立ち上がりエッジタイミングでカウント信号ＣＳＩＧの表すカウント値を［０］とし、［０］から［７］までのカウントを繰り返す状態を示している。
【００３８】
基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ３で、カウント信号ＣＳＩＧのカウント値が［３］にカウントアップされると、この値は１／２分周比設定信号ＨＢＳＩＧの値と一致するので、分周クロックセット信号ＢＳＥＴ(図４（ｇ）)は、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ４で、分周クロック信号ＢＣＫ（図４（ｉ））がＨレベルにセットされる。
【００３９】
次に、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ７で、カウント信号ＣＳＩＧのカウント値が［７］にカウントアップされると、この値は分周比設定信号ＢＳＩＧの値と一致するので、分周クロックリセット信号ＢＲＳＴ(図４（ｈ）)は、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ１０で、分周クロック信号ＢＣＫがＨレベルにリセットされる。
【００４０】
さらに、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１３で、カウント信号ＣＳＩＧのカウント値が［３］にカウントアップされると、この値は１／２分周比設定信号ＨＢＳＩＧの値と一致するので、分周クロックセット信号ＢＳＥＴは、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ１４で、分周クロック信号ＢＣＫがＨレベルにセットされる。
【００４１】
この結果、分周クロック信号ＢＣＫは、基本クロック信号ＲＣＫを８分周したクロック信号、すなわち、基本クロック信号ＲＣＫの８周期を１周期とするクロック信号となる。
【００４２】
なお、上記タイミングチャートは、３ビットのクロック選択信号ＳＥＬＤの表すクロック選択データが［１０１］（２進数）であって分周比が［８］（１０進数）の場合を例に説明したが、クロック選択信号ＳＥＬＤの表すクロック選択データがその他の場合においても、分周クロック信号ＢＣＫは、それぞれの分周比に対応した分周周期のクロック信号となる。
【００４３】
Ａ３．切り換え動作：
図５は、クロック分周回路１００から出力される分周クロックの切り換え動作を示すタイミングチャートである。このタイミングチャートは、基本クロック信号ＲＣＫ（図５（ｅ））の立ち上がりエッジタイミングｔ０で、分周クロック信号ＢＣＫ（図５（ｉ））が立ち下がった後、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１０で再びたち下がるまでの間のいずれかの時刻において、クロック選択信号ＳＥＬＤ(図５（ａ）)の表すクロック選択データが［１０１］(２進数)から［１００］に変化し、分周比が［８］（１０進数）の状態から［１６］の状態に変化した場合を例に示している。
【００４４】
上記前提の場合、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１０で分周クロック信号ＢＣＫが立ち下がるまで、ラッチ後のクロック選択信号ＬＳＥＬＤ(図５（ｂ）)の表すクロック選択データは、切り換え前の［１０１］のままである。
【００４５】
そして、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１０で分周クロック信号ＢＣＫが立ち下がると、クロック選択信号ＳＥＬＤの表すクロック選択データ［１００］がラッチされ、クロック選択信号ＬＳＥＬＤの表すクロック選択データが［１０１］から［１００］に変化する。このとき、分周比設定信号ＢＳＩＧ(図５（ｃ）)は、分周比が［１６］に対応するカウント値［１５］を表す８ビットの分周比設定データ［００００１１１１］(２進数)に設定され、１／２分周比設定信号ＨＢＳＩＧ（図５（ｄ））は、カウント値［７］を表す８ビットの１／２分周比設定データ［０００００１１１］に設定される。
【００４６】
これにより、カウンタ１０から出力される８ビットのカウント信号ＣＳＩＧ(図５（ｆ）)は、基本クロック信号ＲＣＫの立ち上がりエッジタイミングで［０］から［１５］まで順にカウントアップされることになる。
【００４７】
基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１７で、カウント信号ＣＳＩＧのカウント値が［７］にカウントアップされると、この値は１／２分周比設定信号ＨＢＳＩＧの表す１／２分周比設定データ［０００００１１１］の値と一致するので、分周クロックセット信号ＢＳＥＴ(図５（ｇ）)は、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ１８で、分周クロック信号ＢＣＫがＨレベルにセットされる。
【００４８】
次に、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１Ｆで、カウント信号ＣＳＩＧのカウント値が［１５］にカウントアップされると、この値は分周比設定信号ＢＳＩＧの表す分周比設定データ［００００１１１１］の値と一致するので、分周クロックリセット信号ＢＲＳＴ(図５（ｈ）)は、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ２０で、分周クロック信号ＢＣＫがＬレベルにリセットされる。
【００４９】
以降、同様のタイミングで、分周クロック信号ＢＣＫのＨレベルへのセットとＬレベルへのリセットとが繰り返される。この結果、分周クロック信号ＢＣＫは、基本クロック信号ＲＣＫを８分周したクロック信号、すなわち、基本クロック信号ＲＣＫの８周期を１周期とするクロック信号から、基本クロック信号ＲＣＫを１６分周したクロック信号、すなわち、基本クロック信号ＲＣＫの１６周期を１周期とするクロック信号に切り換えられる。
【００５０】
ここで、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１８で分周クロック信号ＢＣＫが立ち上がった後の分周クロック信号ＢＣＫは、基本クロック信号ＲＣＫを１６分周したクロック信号として動作している。従って、基本クロック信号ＲＣＫを８分周したクロック信号から、基本クロック信号ＲＣＫを１６分周したクロック信号に切り換わるのに要した時間は、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１０で、クロック選択信号ＳＥＬＤの表すクロック選択データ［１００］がラッチされてから、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１８で、分周クロック信号ＢＣＫが立ち上がるまでの時間で定義できる。そして、この時間は、基本クロック信号ＲＣＫの周期をＴｒとすると、［８・Ｔｒ］となり、切り換え後の分周クロック信号ＢＣＫの周期［１６・Ｔｒ］の１／２周期に相当する。
【００５１】
なお、上記タイミングチャートは、クロック選択信号ＳＥＬＤの表すクロック選択データが［１０１］から［１００］に切り換えられて、基本クロック信号ＲＣＫを８分周したクロック信号の状態から基本クロック信号ＲＣＫを１６分周したクロック信号の状態に切り換える場合を例に説明したが、他の切り換えの場合においても同様である。
【００５２】
Ａ４．実施例の効果：
本実施例のクロック分周回路１００は、分周比の異なった複数の分周器を用いることなく、１つのカウンタ１０を用いて、出力する分周クロックの周波数を切り換えることができるので、従来の回路に比べて回路規模を小さくすることができる。
【００５３】
また、本実施例のクロック分周回路１００は、分周クロック信号ＢＣＫの立下りエッジタイミングで、与えられるクロック選択信号ＳＥＬＤをラッチすることにより、分周クロック信号ＢＣＫの分周比および１／２分周比を設定して、分周クロックのリセット信号を出力する第２のコンペア回路３０により、設定した分周比に対応するカウント値を検出し、分周クロックのセット信号を出力する第１のコンペア回路２０により、設定した１／２分周比に対応するカウント値を検出しているので、切り換え時におけるいわゆるハザードの発生を防止し、安定な切り換えを実現することができる。
【００５４】
さらに、本実施例のクロック分周回路１００は、切り換えに要する時間を、切り換え後の分周クロック信号ＢＣＫの１／２周期に相当する時間とすることができるので、高速な切り換えが可能である。
【００５５】
以上説明したように本実施例のクロック分周回路１００は、高速で安定な切り換えが可能で、かつ、回路規模の削減を図ることができる。
【００５６】
Ｂ．第２実施例：
Ｂ１．クロック分周回路の構成および基本動作：
図６は、本発明の第２実施例としてのクロック分周回路１００Ａの構成を示すブロック図である。この分周回路１００Ａは、分周比設定回路６０の出力である分周比設定信号ＢＳＩＧを第１のコンペア回路２０のＢ端子に入力し、１／２分周比設定回路７０の１／２分周比設定信号ＨＢＳＩＧを第２のコンペア回路３０に入力し、第１のコンペア回路２０のＥＱ端子から出力される分周クロックセット信号ＢＳＥＴをカウンタ１０のＣＬＲ端子に入力している点を除いて、第１実施例のクロック分周回路と同じ構成を有している。
【００５７】
本実施例のクロック分周回路１００Ａは、上記構成上の相違点により、第１のコンペア回路２０から出力される分周クロックセット信号ＢＳＥＴがＨレベルに変化するタイミングと、第２のコンペア回路３０から出力される分周クロックリセット信号ＢＲＳＴがＨレベルに変化するタイミングとが、第１実施例の場合と互いに反対のタイミングとなり、フリップフロップ４０から出力される分周クロックＢＣＫの立ち上がタイミングと、立ち下がりタイミングとが、第１実施例の場合と互いに反対のタイミングとなるが、第１実施例の場合と同様に、設定した分周比に対応する分周クロック信号を出力することができる。
【００５８】
Ｂ２．切り換え動作：
本実施例のクロック分周回路１００Ａは、クロックの切り換え時に要する時間が、上記相違点により、以下で示すように第１実施例の場合と異なることになる。なお、以下では、第１実施例における切り換え動作の説明の場合と同様に、本実施例のクロック分周回路１００Ａが、クロック選択信号ＳＥＬＤのビット数がｍ＝３で、カウンタのビット数がｎ＝８であり、かつ、図３で説明した条件で動作するものとして説明する。
【００５９】
図７は、クロック分周回路１００Ａから出力される分周クロックの切り換え動作を示すタイミングチャートである。このタイミングチャートは、第１実施例における切り換え動作（図５参照）と同様に、基本クロック信号ＲＣＫ（図７（ｅ））の立ち上がりエッジタイミングｔ４で、分周クロック信号ＢＣＫ（図７（ｉ））が立ち下がった後、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１４で再びたち下がるまでの間のいずれかの時刻において、クロック選択信号ＳＥＬＤ(図７（ａ）)の表すクロック選択データが［１０１］（２進数）から［１００］に変化し、分周比が［８］（１０進数）の状態から［１６］の状態に変化した場合を例に示している。
【００６０】
上記前提の場合、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１４で分周クロック信号ＢＣＫが立ち下がるまで、ラッチ後のクロック選択信号ＬＳＥＬＤ(図７（ｂ）)の表すクロック選択データは、切り換え前の［１０１］のままである。
【００６１】
そして、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１４で分周クロック信号ＢＣＫが立ち下がると、クロック選択信号ＳＥＬＤの表すクロック選択データ［１００］がラッチされ、クロック選択信号ＬＳＥＬＤの表すクロック選択データが［１０１］から［１００］に変化する。このとき、分周比設定信号ＢＳＩＧ(図７（ｃ）)は、分周比が［１６］に対応するカウント値［１５］を表す８ビットの分周比設定データ［００００１１１１］（２進数）に設定され、１／２分周比設定信号ＨＢＳＩＧ（図５（ｄ））は、カウント値［７］を表す８ビットの１／２分周比設定データ［０００００１１１］に設定される。
【００６２】
これにより、カウンタ１０から出力される８ビットのカウント信号ＣＳＩＧ(図７（ｆ）)は、基本クロック信号ＲＣＫの立ち上がりエッジタイミングで［０］から［１５］まで順にカウントアップされることになる。
【００６３】
基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１７で、カウント信号ＣＳＩＧのカウント値が［７］にカウントアップされると、この値は１／２分周比設定信号ＨＢＳＩＧの表す１／２分周比設定データ［０００００１１１］の値と一致するので、分周クロックリセット信号ＢＲＳＴ(図７（ｈ）)は、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ１８で、分周クロック信号ＢＣＫがＬレベルにリセットされる。ただし、分周クロック信号ＢＣＫは、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１４で、既にリセットされているので、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１８ではなにも変化しない。
【００６４】
次に、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１Ｆで、カウント信号ＣＳＩＧのカウント値が［１５］にカウントアップされると、この値は分周比設定信号ＢＳＩＧの表す分周比設定データ［００００１１１１］の値と一致するので、分周クロックセット信号ＢＳＥＴ(図７（ｇ）)は、Ｈレベルに変化する。そして、基本クロック信号ＲＣＫの次の立ち上がりエッジタイミングｔ２０で、分周クロック信号ＢＣＫがＨレベルにセットされる。
【００６５】
以降、同様のタイミングで、分周クロック信号ＢＣＫのＬレベルへのリセットとＨレベルへのセットとが繰り返される。この結果、分周クロック信号ＢＣＫは、基本クロック信号ＲＣＫを８分周したクロック信号から、基本クロック信号ＲＣＫを１６分周したクロック信号に切り換えられる。
【００６６】
ここで、基本クロック信号ＲＣＫを８分周したクロック信号から、基本クロック信号ＲＣＫを１６分周したクロック信号に切り換わるのに要した時間は、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ１４で、クロック選択信号ＳＥＬＤの表すクロック選択データ［１００］がラッチされてから、基本クロック信号ＲＣＫの立ち上がりエッジタイミングｔ２０で、分周クロック信号ＢＣＫが立ち上がるまでの時間で定義できる。この時間は、基本クロック信号ＲＣＫの周期をＴｒとすると、［１２・Ｔｒ］となり、切り換え後の分周クロック信号ＢＣＫの周期［１６・Ｔｒ］の３／４周期に相当する。
【００６７】
なお、上記タイミングチャートは、クロック選択信号ＳＥＬＤの表すクロック選択データが［１０１］から［１００］に切り換えられて、基本クロック信号ＲＣＫを８分周したクロック信号の状態から基本クロック信号ＲＣＫを１６分周したクロック信号の状態に切り換える場合を例に説明したが、他の切り換えの場合においても同様である。ただし、切り換えに要する時間は、切り換え後のクロックの分周比から、切り換え前のクロックの１／２分周比を差し引いた値となる。例えば、切り換え前の分周比が［８］で切り換え後の分周比が［１９２］の場合において、切り換えに要する時間は、［１８８・Ｔｒ］となる。すなわち、切り換え後の分周比に対して、切り換え前の１／２分周比の差が大きくなるほど、切り換えに要する時間は、切り換え後の分周クロック信号の１周期に近くなり、差が小さくなるほど、切り換え後の分周クロック信号の１／２周期に近くなる。しかしながら、少なくとも、切り換え後の分周クロック信号ＢＣＫの周期以内では切り換えることが可能である。
【００６８】
Ｂ３．実施例の効果：
本実施例のクロック分周回路１００Ａにおいても、第１実施例と同様に、分周比の異なった複数の分周器を用いることなく、１つのカウンタ１０を用いて、出力する分周クロックの周波数を切り換えることができるので、従来の回路に比べて回路規模を小さくすることができる。
【００６９】
また、本実施例のクロック分周回路１００Ａにおいても、分周クロック信号ＢＣＫの立下りエッジタイミングで、与えられるクロック選択信号ＳＥＬＤをラッチすることにより、分周クロック信号ＢＣＫの分周比および１／２分周比を設定して、分周クロックのリセット信号を出力する第２のコンペア回路３０により、設定した１／２分周比に対応するカウンタのカウント値を検出し、分周クロックのセット信号を出力する第１のコンペア回路２０により、設定した分周比に対応するカウンタのカウント値を検出しているので、切り換え時におけるいわゆるハザードの発生を防止し、安定な切り換えを実現することができる。
【００７０】
さらに、本実施例のクロック分周回路１００Ａは、切り換えに要する時間を、切り換え後の分周クロック信号ＢＣＫの１周期以内の時間とすることができるので、高速な切り換えが可能である。
【００７１】
以上説明したように本実施例のクロック分周回路１００Ａも、高速で安定な切り換えが可能で、かつ、回路規模の削減を図ることができる。
【００７２】
Ｃ．変形例：
なお、本発明では、上記した実施の形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
【００７３】
Ｃ１．変形例１：
上記実施例では、３ビットのクロック選択信号ＳＥＬＤに基づいて、８ビットのカウンタにより、分周クロック信号ＢＣＫとして出力可能な２５６種類の分周クロック信号に対応する分周比のうち、あらかじめ用意されている８種類の分周比から１種類の分周比を設定して、設定した分周比に対応する分周クロック信号を生成する構成の場合を具体例として説明している。しかしながら、これに限定されるものではなく、あらかじめ用意されている複数種類の分周比から１種類を選択設定し、設定した分周比に対応する分周クロックを生成する構成であってもよい。ただし、この場合には、ラッチ５０を、複数種類から１種類を選択設定するために要するビット数のクロック選択信号をラッチ可能な構成とし、分周比設定回路６０を構成するセレクタ６４を、複数種類の分周比設定データから１種類を選択する構成とする必要がある。
【００７４】
さらに、カウンタにより、分周クロック信号として出力可能な全種類の分周クロック信号に対応する分周比から１種類の分周比を設定して、設定した分周比に対応する分周クロック信号を生成する構成であってもよい。この場合には、分周比設定回路６０を省略することができる。
【００７５】
Ｃ２．変形例２：
上記実施例では、分周比設定回路６０の各分周比設定レジスタ６２に、図示しない制御回路を介してあらかじめユーザが所望する値に設定することが可能であるとして説明したが、あらかじめ固定のデータが記憶されており、書き換え不可としてもよい。また、あらかじめ固定のデータとする場合には、分周比設定レジスタ６２のような記憶回路は省略することが可能である。
【００７６】
Ｃ３．変形例３：
なお、上記実施例のクロック分周回路は、シリアル通信の転送速度の１６倍のクロックを生成し、調歩同期式のシリアル通信を行うシリアル通信装置や、このようなシリアル通信装置を備える情報処理装置等の種々の情報処理装置に備えるクロック生成回路として利用することが可能である。
【図面の簡単な説明】
【００７７】
【図１】本発明の第１実施例としてのクロック分周回路１００の構成を示すブロック図である。
【図２】分周比設定回路６０の構成例を示すブロック図である。
【図３】調歩同期式シリアル通信の転送レートに対応した転送クロックの生成に本実施例のクロック分周回路を用いた場合における、転送レート、転送クロック、および分周比の設定の具体例について示す説明図である。
【図４】クロック分周回路１００の基本的な動作を示すタイミングチャートである。
【図５】クロック分周回路１００から出力される分周クロックの切り換え動作を示すタイミングチャートである。
【図６】本発明の第２実施例としてのクロック分周回路１００Ａの構成を示すブロック図である。
【図７】クロック分周回路１００Ａから出力される分周クロックの切り換え動作を示すタイミングチャートである。
【符号の説明】
【００７８】
１００...クロック分周回路
１００Ａ...分周回路    １０...カウンタ
２０...第１のコンペア回路
３０...第２のコンペア回路
３０...第２のコンペア回路
４０...ＪＫフリップフロップ
５０...ラッチ
６０...分周比設定回路
６２...分周比設定レジスタ
６４...セレクタ
８０...インバータ
【図１】
2006318002.tif 000003
【図２】
2006318002.tif 000004
【図３】
2006318002.tif 000005
【図４】
2006318002.tif 000006
【図５】
2006318002.tif 000007
【図６】
2006318002.tif 000008
【図７】
2006318002.tif 000009