(57)【特許請求の範囲】
【請求項１】
システムクロック信号を受けて、タイマー回路のテスト動作時にシステムクロック信号のグリッジ処理を行いシステムクロック信号を出力するグリッジ処理回路と、
システムクロック信号を分周して得られるタイマーカウントクロック信号又は外部から与えられる外部クロック信号と、前記グリッジ処理回路から出力されるシステムクロック信号とを受けて、通常動作時にはタイマーカウントクロック信号又は外部クロック信号を選択し、テスト動作時にはシステムクロック信号を選択して出力するセレクタ回路と、
前記セレクタ回路によって選択されたクロック信号を受けてカウント動作を行い、テスト動作時にはシステムクロック信号に同期してカウント動作を並行して行う複数のタイマーカウンタ回路と、
テスト動作時にカウント動作の終了を判別する所定値と前記タイマーカウンタ回路のそれぞれのカウント出力値とを比較し、両値が一致した時にテスト動作の終了を判別する比較判別回路と
を有することを特徴とするタイマー回路。
【請求項２】
それぞれのタイマーカウンタ回路には複数のカウンタ回路が直列に接続されて構成され、テスト動作時には、それぞれのタイマーカウンタ回路においてカウンタ回路が予め設定された組み合わせにより接続されてそれぞれ独立してカウント動作が行われるカウンタ回路のブロックに分割され、それぞれのブロックの前記カウンタ回路がシステムクロック信号に同期してカウント動作を行い、前記それぞれのタイマーカウンタ回路はカウンタ値が一巡して初期値に達するとオーバーフロー信号を出力し、前記タイマーカウンタ回路のそれぞれのオーバーフロー信号を受けて、全てのタイマーカウンタ回路からオーバーフロー信号が出力されるとテストの終了を検出する
ことを特徴とする請求項１記載のタイマー回路。
【請求項３】
テスト動作開始時に前記タイマーカウンタ回路及び前記比較判別回路を初期化する初期化回路
を有することを特徴とする請求項１又は２記載のタイマー回路。
【請求項４】
テスト動作時に前記タイマーカウンタ回路の所定のビット値を比較し、比較したビット値が異なる場合にはテスト動作時のカウント動作にエラーが発生したことを検出するエラー検出回路
を有することを特徴とする請求項１又は２記載のタイマー回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、タイマー回路のフリーランニングテスト時におけるテスト時間の短縮化、及びカウントアップ動作の高信頼性を高めたタイマー回路に関し、特に、１チップマイコンに内蔵される多ビット・多チャンネルのタイマー回路で使用されるものである。
【０００２】
【従来の技術】
図１３は従来の２チャンネルのタイマー回路の構成を示す図であり、図１４は図１３に示す従来のタイマー回路のタイマーフリーランニングカウントテストのフローチャートを示す図である。
【０００３】
タイマー回路の動作は、発振器１０１により生成されるｆｃ＝２０ＭＨｚ（Ｔｃｙｃ＝５０ｎｓ）のシステムクロック信号に基づいて行われ、タイマーフリーランニングカウントテストも同様である。タイマーフリーランニングカウントテストを行うには、発振器１０１により生成されて分周器１０２により分周されたクロック信号を１３ビットのプリスケーラ回路１０３によりさらに分周し、その出力を各タイマーチャンネル毎のデコード回路１０４でデコードし、最も高速をクロック信号を選択し、選択した最も高速なクロック信号がそれぞれのチャンネルの１６ビットのタイマーカウンタ（ＴＩＭ１、ＴＩＭ２）１０５、１０６に与えられていた。
【０００４】
１６ビットのタイマーカウンタ１０５、１０６に与えられ高速周期のクロック信号は、１６ビットのタイマーカウンタ１０５のクロック信号（Ｔ１ＣＬＫ）＝１３ビットのプリスケーラ回路１０３の出力（ＰＴ３）＝Ｔｃｙｃ＊２５  ＝１．６μｓのクロック周期であり、１６ビットのタイマーカウンタ１０６のクロック信号（Ｔ２ＣＬＫ）＝１３ビットのプリスケーラ回路１０３の出力（ＰＴ１０）＝Ｔｃｙｃ＊２１２＝２０４．８μｓのクロック周期である。このようなクロック信号に同期してそれぞれの１６ビットのタイマーカウンタ１０５、１０６において００００ＨからＦＦＦＦＨまでフリーランニングカウント動作が行われる。この時のカウント時間は、タイマーカウンタ１０５のカウント時間ＴＴＩＭ１＝Ｔ１ＣＬＫ＊２１６＝５２．４ｍｓ、タイマーカウンタ１０６のカウント時間
ＴＴＩＭ２＝Ｔ２ＣＬＫ＊２１６＝１３．４２１８秒のテスト時間が費やされていた。また、タイマーフリーランニングカウント動作の時間に加えて、それぞれのタイマーカウンタ１０５、１０６の初期値（００００Ｈ）の設定、最速デコードモード（最速クロック信号）の設定、テストイネーブル信号（ＰＲＳＲＵＮ＝１）値の設定、テスト終了（テスト終了信号ＩＮＴＴＯＦ１，２＝１）後ＣＰＵ割り込み処理のための時間が必要となり、トータルのテスト時間として、約１３．５秒と膨大なテスト時間が費やされており、テストするタイマーカウンタの数やチャンネル数が増加するにしたがってテスト時間がより一層長くなっていた。
【０００５】
さらに、各チャンネル毎にテストしていたため、ソフトプログラム上でも各チャンネルのタイマーテスト毎に、初期値設定、最速デコードモード設定、ＰＲＳＲＵＮ値設定、ＣＰＵ割り込み処理ルーチン設定が必要となり、ソフトプログラムも長くなり、ソフトプログラムのバグが発生しやすい状況となっていた。また、タイマーカウント動作の正常／異常の判断が、ＣＰＵ割り込み終了後の復帰タイミングで判断していたため、タイマーカウント動作異常時の原因究明が困難であった。
【０００６】
【発明が解決しようとする課題】
以上説明したように、従来の多チャンネルのタイマー回路にあって、フリーランニングカウントテスト動作は、タイマー回路が内蔵されるシステムのシステムクロック信号よりも遅いクロック信号に同期して行われていたため、１チャンネル当たり多くのテスト時間が費やされていた。また、それぞれのチャンネルのタイマーカウンタ毎にテストが行われていたため、チャンネル数が増加するにしたがってテスト時間の長大化を招いていた。さらに、テストのためのプログラムも長くなり、かつバグが発生しやすくなっていた。
【０００７】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、フリーランニングカウントテスト時におけるテスト時間の短縮化、ならびにカウントアップの誤動作検出機能を備えたタイマー回路を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、システムクロック信号を受けて、タイマー回路のテスト動作時にシステムクロック信号のグリッジ処理を行いシステムクロック信号を出力するグリッジ処理回路と、システムクロック信号を分周して得られるタイマーカウントクロック信号又は外部から与えられる外部クロック信号と、前記グリッジ処理回路から出力されるシステムクロック信号とを受けて、通常動作時にはタイマーカウントクロック信号又は外部クロック信号を選択し、テスト動作時にはシステムクロック信号を選択して出力するセレクタ回路と、前記セレクタ回路によって選択されたクロック信号を受けてカウント動作を行い、テスト動作時にはシステムクロック信号に同期してカウント動作を並行して行う複数のタイマーカウンタ回路と、テスト動作時にカウント動作の終了を判別する所定値と前記タイマーカウンタ回路のそれぞれのカウント出力値とを比較し、両値が一致した時にテスト動作の終了を判別する比較判別回路とを有することを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【００１５】
図１は本発明の一実施形態に係るタイマー回路の構成を示す図であり、図２は図１に示すタイマー回路におけるフリーランニングカウントテストのフローチャートを示す図である。
【００１６】
図１において、この実施形態のタイマー回路は、タイマー回路が含まれるシステムの基準クロック信号となるシステムクロック信号を発振器１から受けて、フリーランニングカウントテスト時にシステムクロック信号のグリッジ処理を行いシステムクロック信号を出力するグリッジ処理回路２と、システムクロック信号を１３ビットプリスケーラ回路３により分周しそれをデコード回路４でデコードして得られるタイマーカウントクロック信号又は外部から与えられる外部クロック信号と、グリッジ処理回路２から出力されるシステムクロック信号を受けて、通常動作時にはタイマーカウントクロック信号又は外部クロック信号を選択し、テスト動作時にはシステムクロック信号を選択して出力するセレクタ回路５と、セレクタ回路５によって選択されたクロック信号を受けてカウント動作を行い、テスト動作時にはシステムクロック信号に同期してフリーランニングカウント動作を並行して行う２チャンネルの１６ビットのタイマーカウンタ６（ＴＩＭ１，ＴＩＭ２）と、テスト動作時にカウント動作の終了を判別するＦＦＦＦＨ値を保持するコンペアレジスタ７と、対応するコンペアレジスタ７に保持された値と対応するチャンネルのタイマーカウンタ６のカウント出力値とを比較し、両値が一致した時にそれぞれ対応したタイマーカウンタ６のテスト動作の終了を判別するコンペア回路８と、コンペア回路８の比較結果を受けて２チャンネルのタイマーカウンタ６のテスト終了を判別する論理ゲート９と、テスト動作開始時にタイマーカウンタ６及びコンペアレジスタ７を初期化する初期化回路となる１ショットパルス発生回路１０と、テスト動作時にそれぞれのチャンネルのタイマーカウンタ６の所定のビット値例えば最上位ビットの値を比較し、比較ビット値が異なる場合にはテスト時のカウント動作にエラーが発生したことを検出するエラー検出回路１１と、コンペア回路８の比較結果を出力する出力回路１２を備えて構成される。
【００１７】
１６ビットのタイマーカウンタ６は例えば図３に示すように構成され、発振器１は例えば図４に示すように構成され、１３ビットのプリスケーラ回路３は例えば図５に示すように構成され、デコード回路４は例えば図６に示すように構成され、１６ビットのコンペアレジスタ７ならびにコンペア回路８は例えば図７に示すように構成され、１ショットパルス発生回路１０は例えば図８に示すように構成され、出力回路１２は例えば図９に示すように構成される。
【００１８】
次に、このような構成において、フリーランニングカウントテスト動作を図２を参照して説明する。
【００１９】
まず、タイマーフリーランニングカウントテストモードに設定（ＴＥＳＴ＝１）することにより、タイマーカウンタ６に与えられるクロック信号（Ｔ１ＣＬＫ，Ｔ２ＣＬＫ）が発振器１からグリッジ処理回路２を介して与えられるシステムクロック信号（ＣＫＩＮ）となり、システムクロック周期と同一なクロック周期（Ｔｃｙｃ＝５０ｎｓ）となる。また、タイマーカウンタ６の初期値＝００００Ｈ、及びコンペアレジスタ（ＣＲＧ１，ＣＲＧ２）７のコンペアレジスタ値＝ＦＦＦＦＨにハード的に設定される。次に、テストイネーブル信号（ＰＲＳＲＵＮ）＝１に設定することにより、システムクロック信号（ＣＫＩＮ）の立ち下がりに同期してタイマーカウンタ６は００００Ｈのカウンタ値から順次＋１カウント動作が実行される。タイマーカウンタ６のカウンタ値がコンペアレジスタ７に保持されたＦＦＦＦＨに到達した時に、コンペア回路８のコンペア一致信号（ＭＴＣＭＰ１，ＭＴＣＭＰ２）が共に１となり、割込み要因信号（ＩＮＴＴＳＴ）が１となって論理ゲート９から出力され、ＣＰＵ割込み処理シーケンスに入り、処理実行終了後にＰＲＳＲＵＮが０となり、タイマーフリーランニングカウントテストが終了する。
【００２０】
カウント動作の正常／異常動作確認のため、タイマーカウンタ６の最上位ビットのカウンタ値の常時比較をエラー検出回路１１で行い、異常時にはエラー（ＥＲＲ）信号が１となり、ＣＰＵへカウント動作の異常を知らせ、カウントテストが中止される。
【００２１】
このような実施形態のコンペア一致方式では、タイマーフリーランニングカウントテスト時、２チャンネルのタイマーカウンタ６のクロック周期が発振器１の出力と同一な高速クロック周期となり、ＰＲＳＲＵＮ＝１の設定により２つのタイマーカウンタ６が同タイミング、同周期でカウント動作するため、上記テストが１チャンネル分のタイマーカウンタのテストのみで確認可能となり、タイマーフリーランニングカウントテスト時間を大幅に短縮できる。具体的な時間として、従来時のテスト時間＝１３．４２１８秒に対し、この実施形態のテスト時間＝３．２７７ｍｓと大幅に短縮することができる。さらに、２つのタイマーカウンタ６のカウントアップ出力の比較を行なうため、不良タイマー動作の有無が確認でき、高信頼性タイマー動作テストも同時に行なうことができ、高信頼性タイマーカウンタ回路が提供できる。また、テストシーケンスも１チャンネル分のタイマーカウンタ回路のテストシーケンスで済むと共に、プログラムによりタイマーカウンタ６の初期値００００Ｈの設定が不要となり、デコード回路４を制御する制御レジスタの設定が不要となるため、大幅にテストプログラムを短縮でき、ソフトプログラムのバグが低減できる。
【００２２】
図１０は本発明の他の実施形態に係るタイマー回路の構成を示す図である。
【００２３】
図１０において、この実施形態のタイマー回路は、タイマー回路が含まれるシステムの基準クロック信号となるシステムクロック信号を発振器１から受けて、フリーランニングカウントテスト時にシステムクロック信号のグリッジ処理を行いシステムクロック信号を出力するグリッジ処理回路２と、システムクロック信号を１３ビットプリスケーラ回路３により分周しそれをデコード回路４でデコードして得られるタイマーカウントクロック信号又は外部から与えられる外部クロック信号と、グリッジ処理回路２から出力されるシステムクロック信号を受けて、通常動作時にはタイマーカウントクロック信号又は外部クロック信号を選択し、テスト動作時にはシステムクロック信号を選択して出力するセレクタ回路５と、それぞれのチャンネルの１６ビットのタイマーカウンタ２１は図１１に示すように４つの４ビットのカウンタ回路２２が直列に接続されて構成され、セレクタ回路５によって選択されたクロック信号を受けてカウント動作を行い、テスト動作時には、それぞれのチャンネルのタイマーカウンタ２１においてカウンタ回路２２が予め設定された組み合わせにより接続されてそれぞれ独立してカウント動作が行われるカウンタ回路のブロックに分割され、それぞれのチャンネルのそれぞれのブロックのカウンタ回路２２がシステムクロック信号に同期してフリーランニングカウント動作を並行して行い、それぞれのチャンネルのタイマーカウンタ２１はカウンタ値が一巡して初期値に達するとオーバーフロー信号（ＩＮＴＴＯＦ１、２）を出力するタイマーカウンタ２１（ＴＩＭ１，ＴＩＭ２）と、それぞれのチャンネルのタイマーカウンタ２１のオーバーフロー信号を受けて、全てのチャンネルのタイマーカウンタ２１からオーバーフロー信号が出力されるとテストの終了を示す信号（ＩＮＴＴＳＴ）を出力する論理ゲート２３と、テスト動作開始時にタイマーカウンタ２１を００００Ｈに初期化する初期化回路となる１ショットパルス発生回路１０と、テスト動作時にそれぞれのチャンネルのタイマーカウンタ２１の所定のビット値例えば最上位ビットを比較し、比較ビット値が異なる場合にはテスト時のカウント動作にエラーが発生したことを検出するエラー検出回路２４を備えて構成される。
【００２４】
このような構成において、タイマーフリーランニングカウントテストモードを設定（ＴＥＳＴ＝１）することにより、それぞれのタイマーカウンタ２１に供給されるクロック信号（Ｔ１ＣＬＫ，Ｔ２ＣＬＫ）はシステムクロック信号（ＣＫＩＮ）となり、システムクロック周期と同一なクロック周期（Ｔｃｙｃ＝５０ｎｓ）となる。また、タイマーカウンタ２１（ＴＩＭ１，ＴＩＭ２）のカウンタ値は００００Ｈにハード的に設定される。
【００２５】
次に、タイマーカウンタ２１は４分割され、第１のテスト（ＴＥＳＴ１＝１）時は上位８ビットカウンタ回路２２と下位８ビットカウンタ回路２２のブロックに分離され、テストイネーブル信号（ＰＲＳＲＵＮ）を１に設定することにより、ＴＩＭ１上位／ＴＩＭ１下位／ＴＩＭ２上位／ＴＩＭ２下位のカウンタ回路が００Ｈのカウンタ値から順次＋１カウント動作が同時に実行される。カウント動作が進んで一巡し各々のブロックのカウンタ回路２２のカウンタ値がＦＦＨから００Ｈにカウントアップ時にＩＮＴＴＯＦ１，ＩＮＴＴＯＦ２＝１となると共に、割込み要因信号（ＩＮＴＴＳＴ）が１となり論理ゲート２３から出力され、ＣＰＵ割込み処理シーケンスに入り、処理実行終了後にＰＲＳＲＵＮ＝“０”に設定することにより、タイマーフリーランニングカウントテストが終了する。
【００２６】
一方、第２のテスト（ＴＥＳＴ２＝１）時は、（下位右＋上位左）の８ビットカウンタ回路２２と、（上位右＋下位左）の８ビットカウンタ回路のブロックに分離され、上記第１のテストと同様なテストが実行される。
【００２７】
カウンタ動作の正常／異常動作確認のため、第１のテスト時は、ＴＩＭ１上位／ＴＩＭ１下位／ＴＩＭ２上位／ＴＩＭ２下位の最上位ビットのカウンタ値を常時比較を行い、異常時にはエラー信号（ＥＲＲ）が１となりエラー検出回路２４から出力され、ＣＰＵへカウント動作の異常が伝達され、カウントテストが中止される。
【００２８】
このような実施形態のタイマーカウンタオーバーフロー方式では、タイマーフリーランニングカウントテスト時、２チャンネルのタイマーカウンタクロックのクロック周期が発振器１の出力と同一な高速クロック周期となり、タイマーカウンタ回路を上位／下位、又は（下位右＋上位左）／（上位右＋下位左）と分割され、２チャンネルのタイマーカウンタ回路、及び各チャンネル毎のそれぞれのブロックのタイマーカウンタ回路が同タイミング、同周期でカウント動作するため、上記テストが１チャンネル分のタイマーカウンタのテストのみで確認可能となり、先の実施形態よりも更にタイマーフリーランニングカウントテスト時間を大幅に短縮できる。具体的な時間として、従来時のテスト時間＝１３．４２１８秒に対し、この実施形態では、２種類のテスト時間を合計してもテスト時間は、（ＴＥＳＴ１＋ＴＥＳＴ２）のカウントテスト時間＝ＣＫＩＮのクロック周期＊８ビットカウント回数＊（ＴＥＳＴ１＋ＴＥＳＴ２）＝５０ｎｓ＊２８＊２＝２５．６μｓと驚異的に短くできる。さらに、２つのタイマーカウンタ内の各チャンネル毎の分割タイマーカウンタ回路のカウントアップ出力の比較を行なうため、不良タイマー動作の有無が確認でき、高信頼性タイマー動作テストも同時に行なうことができ、高信頼性タイマーカウンタ回路が提供できる。また、先の実施形態同様、テストシーケンスも１チャンネル分のタイマーカウンタ回路のテストシーケンスで済むと共に、タイマーカウンタ回路の初期値００００Ｈの設定も不要となり、デコード回路４を制御する制御レジスタの設定も不要となるため、大幅にテストプログラムを短くでき、ソフトプログラムのバグが低減できる。
【００２９】
【発明の効果】
以上説明したように、本発明によれば、システムクロック信号に同期して複数のチャンネルのタイマーカウンタ回路を並列動作させてフリーランニングカウントテストを行うようにしたので、テスト時間を従来に比べて大幅に短縮することができ、テストのためのプログラム量を削減することができる。また、テスト中のそれぞれのタイマーカウンタ回路の値を比較するようにしたので、カウント動作の不良を検出することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るタイマー回路の構成を示す図である。
【図２】図１に示す実施形態のタイマーフリーランニングカウントテストのフローチャートを示す図である。
【図３】１６ビットタイマーカウンタ回路の構成を示す図である。
【図４】発振器の構成を示す図である。
【図５】１３ビットプリスケーラ回路の構成を示す図である。
【図６】デコード回路の構成を示す図である。
【図７】コンペア回路及びコンペアレジスタの構成を示す図である。
【図８】１ショットパルス発生回路の構成を示す図である。
【図９】出力回路の構成を示す図である。
【図１０】本発明の他の実施形態に係るタイマー回路の構成を示す図である。
【図１１】１６ビットタイマーカウンタ回路の構成を示す図である。
【図１２】４ビットタイマーカウンタ回路の構成を示す図である。
【図１３】従来例のタイマー回路の構成を示す図である。
【図１４】図１３に示す従来例のタイマーフリーランニングカウントテストのフローチャートを示す図である。
【符号の説明】
１  発振器
２  グリッジ処理回路
３  プリスケーラ回路
４  デコード回路
５  セレクタ回路
６，２１  １６ビットタイマーカウンタ
７  コンペアレジスタ
８  コンペア回路
９，２３  論理ゲート
１０  １ショットパルス発生回路
１１，２４  エラー検出回路
１２  出力回路
２２  ４ビットカウンタ回路
【図１】
0003575980.tif 000002
【図２】
0003575980.tif 000003
【図３】
0003575980.tif 000004
【図４】
0003575980.tif 000005
【図５】
0003575980.tif 000006
【図６】
0003575980.tif 000007
【図７】
0003575980.tif 000008
【図８】
0003575980.tif 000009
【図９】
0003575980.tif 000010
【図１０】
0003575980.tif 000011
【図１１】
0003575980.tif 000012
【図１２】
0003575980.tif 000013
【図１３】
0003575980.tif 000014
【図１４】
0003575980.tif 000015