(57)【要約】【課題】  ペリフェラル数が多くなると期待値を入出力する外部端子も多くなってしまう。【解決手段】  共通バスに接続されて該バスを介して外部から制御信号と期待値との送受が可能なテストレジスタ制御部１２０と、このテストレジスタ制御部１２０から期待値を受けて一時的に保持して信号線を介してペリフェラルへ書き込むための第１のレジスタ１３８と、期待値の書込み後にこの期待値を読み出して一時的に保持し、テストレジスタ制御部１２０に送る第２のレジスタ１３９とを有し、共通バスの外部端子から期待値の入力及び出力を行う。【選択図】        図６
2008176822.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラに内蔵され、マイクロコントローラが含む複数のペリフェラルを個別にテストするため、外部端子を介して所定の信号を前記マイクロコントローラの外部から入出力するマイクロコントローラテスト回路であって、
共通バスに接続され、前記共通バスを介して前記マイクロコントローラの外部から所定の制御信号と期待値との送受信を可能にするテストレジスタ制御部と、
前記テストレジスタ制御部から期待値を受け入れたときこの期待値を一時保持し、固有の信号線を介して前記ペリフェラルへ書き込む第一のレジスタと、
前記ペリフェラルへ期待値の書き込み完了後に、この期待値を固有の信号線を介して読み出して一時保持し、前記テストレジスタ制御部へ送る第二のレジスタとを前記ペリフェラル毎に備え、
前記共通バスの外部端子を介して前記期待値を入力し、前記読み出した期待値を前記共通バスの外部端子から出力することを特徴とするマイクロコントローラテスト回路。
【請求項２】
マイクロコントローラに内蔵され、マイクロコントローラが含む複数のペリフェラルを個別にテストするために外部端子を介して所定の信号を前記マイクロコントローラの外部から入出力するマイクロコントローラテスト回路であって、
共通バス又は第一のペリフェラルに選択接続して所定の信号を受け入れて一時保持し、前記所定の信号を第二のペリフェラルへ送出する第一の記憶部と、
共通バス又は第二のペリフェラルに選択接続して所定の信号を受け入れて一時保持し、前記所定の信号を第三のペリフェラルへ送出する第二の記憶部と、
前記第一の記憶部及び前記第二の記憶部の選択接続を制御するテストポート制御部とを備え、
テスト時に前記テストポート制御部は、
前記第一の記憶部を制御して前記共通バスの外部端子を介して受け入れた前記期待値を一時保持させ、この期待値を前記第二のペリフェラルへ書き込ませ、前記第二の記憶部を制御して前記第二のペリフェラルから前記期待値を読み出して一時保持させ、この期待値を前記共通バスの外部端子を介して出力させることを特徴とするマイクロコントローラテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラ（以下マイコンと記す）内部の各機能を有するペリフェラル（周辺回路）をＣＰＵを用いないで外部端子を介してテストするために内蔵されるマイクロコントローラテスト回路に関する。
【背景技術】
【０００２】
マイコンの高機能化が進み内部の各ペリフェラルをテストすることが難しくなる中で、マイクロコントローラテスト回路を内蔵させ、各ペリフェラル単体をＣＰＵを用いずに各ペリフェラル毎に外部端子を介してテストするＭＵＸ分離方式が採用されている。このＭＵＸ分離方式では、マイクロコントローラテスト回路を正常に動作させるために、各ペリフェラル毎に分離して外部からテスト信号、制御信号等を入出力させる必要がある。そのため、各ペリフェラルを接続する共通バスの他に、各ペリフェラル毎に、外部からテスト信号を入出力するライン、制御信号を入出力する制御信号ライン等が配置され、これらのライン毎に外部端子が配置されていた。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記従来技術には、共通バスのビット数が大きくなる程、又はペリフェラル数が多くなる程、テストに必要な外部端子数が多くなり、かかる外部端子の全てを通常機能端子に割り当てることが困難になるという解決すべき課題が残されていた。
【課題を解決するための手段】
【０００４】
〈構成１〉
マイクロコントローラに内蔵され、マイクロコントローラが含む複数のペリフェラルを個別にテストするため、外部端子を介して所定の信号を前記マイクロコントローラの外部から入出力するマイクロコントローラテスト回路であって、共通バスに接続され、前記共通バスを介して前記マイクロコントローラの外部から所定の制御信号と期待値との送受信を可能にするテストレジスタ制御部と、前記テストレジスタ制御部から期待値を受け入れたときこの期待値を一時保持し、固有の信号線を介して前記ペリフェラルへ書き込む第一のレジスタと、前記ペリフェラルへ期待値の書き込み完了後に、この期待値を固有の信号線を介して読み出して一時保持し、前記テストレジスタ制御部へ送る第二のレジスタとを前記ペリフェラル毎に備え、前記共通バスの外部端子を介して前記期待値を入力し、前記読み出した期待値を前記共通バスの外部端子から出力することを特徴とするマイクロコントローラテスト回路。
【０００５】
〈構成２〉
マイクロコントローラに内蔵され、マイクロコントローラが含む複数のペリフェラルを個別にテストするために外部端子を介して所定の信号を前記マイクロコントローラの外部から入出力するマイクロコントローラテスト回路であって、共通バス又は第一のペリフェラルに選択接続して所定の信号を受け入れて一時保持し、前記所定の信号を第二のペリフェラルへ送出する第一の記憶部と、共通バス又は第二のペリフェラルに選択接続して所定の信号を受け入れて一時保持し、前記所定の信号を第三のペリフェラルへ送出する第二の記憶部と、前記第一の記憶部及び前記第二の記憶部の選択接続を制御するテストポート制御部とを備え、テスト時に前記テストポート制御部は、前記第一の記憶部を制御して前記共通バスの外部端子を介して受け入れた前記期待値を一時保持させ、この期待値を前記第二のペリフェラルへ書き込ませ、前記第二の記憶部を制御して前記第二のペリフェラルから前記期待値を読み出して一時保持させ、この期待値を前記共通バスの外部端子を介して出力させることを特徴とするマイクロコントローラテスト回路。
【発明の効果】
【０００６】
本発明によれば、共通バスを用いて期待値の書き込み及び読み出しを行うことができるので、期待値の入出力用の外部端子を不要とすることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例１〉
図１は、具体例１の構成のブロック図である。
図１を用いて具体例１の説明をする前に、本発明によるマイクロコントローラテスト回路の解決課題をより鮮明にするために、以下に比較例を用いて上記ＭＵＸ分離方式について説明する。
【０００８】
図２は、比較例のブロック図である。
図２は、複数の各機能を有するペリフェラル（周辺回路）単体をＣＰＵを用いずに、外部端子からテストするテスト方式、即ちＭＵＸ分離方式を採用したマイコンのブロック図である。
図より、このマイコンは、ＣＰＵ１１、第一のペリフェラル１２、第二のペリフェラル１３、第三のペリフェラル１４、アドレスデコーダ１５、テスト回路１６、ポート制御回路１７、セレクタ２０〜２５、テスト制御回路２６とで構成されている。
【０００９】
ＣＰＵ１１は、マイコン全体を制御するマイクロプロセッサである。
第一から第三のペリフェラル１２〜１４は、マイコンが内蔵する各種の機能ブロックである。本発明の対象は、このペリフェラルを個別に外部端子から所定の信号を入出力させてテストすることである。ここでは一例として３個のみ記載したが実際のマイコンでは極めて多くの数量が内蔵されている。
【００１０】
アドレスデコーダ１５は、テストモードの時にテストすべきペリフェラル内部のアドレスを指定する部分である。
テスト回路１６は、テストモードの時に上記第一から第三のペリフェラル１２〜１４に必要な制御信号を供給する部分である。
【００１１】
ポート制御回路１７は、ポートの入出力を制御する部分である。ここではテストモードの時にテストすべきペリフェラルを選択する部分である。
セレクタ２０〜２５は、入出力切替器である。
テスト制御回路２６は、テストモードの時に共通バスを制御する部分である。
【００１２】
上記マイコンのテストモードでの動作について一例として第二のペリフェラル１３をテストする場合について説明する。
テスト回路１６のテストモード端子８１、８２から第二のペリフェラル１３をテストモードに設定する。
【００１３】
このモード設定によって、テスト制御信号６１、６３がアクティブになる。テスト制御信号６１がアクティブになるとＣＰＵ１１は、共通バスを開放する。この時点から共通バスをセレクタ２１とセレクタ２０とテスト制御回路２６が支配する。ここで、セレクタ２１は、図上１個のみ記載されているが、実回路ではリードデータ４１が通常３２ビットデータ線を採用しているのでセレクタ２１は３２ビット分必要になる。
【００１４】
このセレクタ２１は、テスト制御信号６１がアクティブになるとリードデータ４１を３２ビット分の通常機能端子（外部端子）５１に接続する。即ち、第二のペリフェラル１３の出力は外部から読み出し可能になる。
【００１５】
テスト制御回路２６は、３２ビット分の通常機能端子（外部端子）５２、２４ビット分の通常機能端子（外部端子）５３、及び２ビット分の通常機能端子（外部端子）５４を、３２ビットライトデータ４２、２４ビットアドレス信号４３、及び２ビットバス制御信号４４と接続して各通常機能端子５２〜５４から第二のペリフェラル１３への期待値（ライトデータ）、アドレス値、バス制御信号値を外部から入力可能にする。
【００１６】
またテスト制御信号６３がアクティブ状態になるとセレクタ２４は通常機能端子（外部端子）７２を選択し、外部から第二のペリフェラル１３への入力を可能にする。同様にセレクタ２３は、第二のペリフェラル１３の出力端子９３を選択し、第二のペリフェラル１３の出力信号値を通常機能端子（外部端子）７３に出力可能にする。
【００１７】
以上の結果、第二のペリフェラル１３の全ての信号（バスを含む）をチップの通常機能端子（外部端子）から制御及びテストすることが可能になる。
ここで留意すべき点は以下の通りである。
ここではペリフェラルを３個に限定して記載したが実回路では極めて多数個である。従って、通常機能端子（外部端子）の必要数量は膨大な数量になってしまう。この通常機能端子（外部端子）の数量を増やすことなくテストすることを可能にすることが本発明の目的である。以下にその具体例について説明する。
【００１８】
再度図１に戻って、具体例１の構成について説明する。
具体例１では、３２ビットリードデータ４１（図２）の通常機能端子（外部端子）５１の数量減少を目的とする。
以下、一例としてリードデータ、ライトデータを３２ビットに限定して説明する。
【００１９】
図１より、具体例１のマイクロコントローラテスト回路は、比較部１と状態監視部２と選択部３とを備える。
比較部１は、ペリフェラルの所定のアドレス（レジスタ）に並列３２ビットの期待値を書き込むライトデータ４２（図２）と、書き込み完了後に書き込まれた期待値を読み出す並列３２ビットのリードデータ４１（図２）とを比較して、一致したときに一致信号を出力する部分である。
【００２０】
ここではライトデータ４２（図２）３２ビットとリードデータ４１（図２）３２ビットの対応ビット毎に比較され３２ビット全てが一致している時、即ち所定のアドレス（レジスタ）が正常に動作していることが確認されたときに一致信号が出力される。
【００２１】
状態監視部２は、マイコンの動作状態を監視して所望の動作状態を検知した時上記比較部の一致信号を出力する部分である。
一例として３入力のアンドゲート１０２によって構成される。アクノリッジ信号４０とバス制御信号４４とを受け入れた時に一致信号１１１を通過させる。
【００２２】
バス制御信号４４によって所定のアドレス（レジスタ）への読み出しが指示され、読み出しが完了するとアクノリッジ信号４０がアクティブになる。この状態で初めてライトデータ４２（図２）とリードデータ４１（図２）との一致を確認できるからである。
【００２３】
選択部３は、テスト回路１６（図２）が出力するテスト制御信号６１によって、上記一致信号を通常機能端子（外部端子）１２１へ出力させる部分である。
かかる構成を備えることによって、比較例で説明したように３２ビット分必要とされた通常機能端子（外部端子）５１を１ビットの通常機能端子（外部端子）１２１で置き換えることが可能になる。
【００２４】
〈具体例１の効果〉
以上説明した具体例１の構成を備えることによって、３２ビット分必要とされた通常機能端子（外部端子）５１を１ビットの通常機能端子（外部端子）１２１で置き換えることが可能になる。
【００２５】
〈具体例２〉
具体例２では、テストの自動化を図ることを目的として内部にアドレス生成部を備える。
図３は、具体例２の構成のブロック図である。
図３より、具体例２のマイクロコントローラテスト回路は、アドレス生成部１３０と、オアゲート１４０と、予約領域認識部１５０とを備える。
【００２６】
アドレス生成部１３０は、ペリフェラルの所定のアドレス（レジスタ）に期待値の書き込み完了後にアクノリッジ信号がアクティブになった時、又は後に説明する予約領域認識部からスキップ信号を受け入れた時カウントアップしたアドレスを出力する部分である。
【００２７】
予約領域認識部１５０は、ペリフェラルからのアクノリッジ信号が所定の時間アクティブにならなかったとき、そのアドレスが予約領域であると認識してスキップ信号を上記アドレス生成部１３０へ送出する部分である。この所定の時間は内部に配置されているクロックカウンタに予め設定されている。アクノリッジ信号の受入停止状態時に所定数のクロック数をカウントすると予約領域認識部１５０は、オーバフローしてスキップ信号を出力して再度カウント０に戻る。
【００２８】
オアゲート１４０は、ペリフェラルの所定のアドレス（レジスタ）に期待値の書き込み完了後にアクノリッジ信号がアクティブになった時、又は予約領域認識部１５０からスキップ信号１５１を受け入れた時にカウントアップ信号１４１をアドレス生成部１３０へ送出する部分である。
【００２９】
アドレス生成部１３０のアドレス生成動作について説明する。
図４は、レジスタマップ例説明図である。
通常、アドレス順に所定のアドレス（レジスタ）に期待値が書き込まれる場合には、アドレス生成部１３０が、アクノリッジ信号がアクティブになる毎にカウントアップすれば足りる。しかし図４に示す予約状態が設定される場合がある。例えば図４のアドレス１に書き込み完了後にアクノリッジ信号がアクティブになりアドレス生成部１３０はカウントアップされアドレス２を出力する。
【００３０】
このアドレス（レジスタ）２は予約が設定されているため、アクノリッジ信号はアクティブにならない。即ちアドレス生成部１３０はカウントアップされずに動作停止状態になる。この場合に予約領域認識部１５０は、クロックカウントを開始する。ペリフェラルからのアクノリッジ信号が所定の時間アクティブにならなかったとき、そのアドレスが予約領域であると認識してスキップ信号１５１を上記オアゲート１４０へ送出する。
オアゲート１４０は予約領域認識部１５０からスキップ信号を受け入れた時にカウントアップ信号１４１をアドレス生成部１３０へ送出する。その結果アドレス生成部１３０は、カウントアップされアドレス３を出力する。
【００３１】
〈具体例２の効果〉
以上説明した具体例２の構成を備えることによって以下の効果を得る。
１．ペリフェラルのテストを自動化できる。
２．ペリフェラルのアドレスに予約状態がある場合でもテストの自動化が可能になる。
３．２４ビットのアドレス信号４３（図２）を外部から入力する通常機能端子（外部端子）５３（図２）を削除することも可能になる。
【００３２】
〈具体例３〉
具体例３は、具体例２の拡張例であって、予約領域認識部が予約状態を認識するための時間を任意に変更するための時間設定回路を備える。
図５は、具体例３の構成のブロック図である。
具体例２との差異のみについて説明する。
図５より、予約領域認識部２００は、一例として内部にカウンタ回路２１０と、時間設定回路２２０とを備える。
【００３３】
カウンタ回路２１０は、アクノリッジ信号がノンアクティブ状態時に所定数のクロック数をカウントするとオーバフローしてスキップ信号を出力して再度カウント０に戻る部分である。
時間設定回路２２０は、バスを介して予約領域をスキップするためのカウント数を外部から任意に設定する部分である。即ち予約領域をスキップするための猶予時間を任意に外部から設定する部分である。
オアゲート１４０からカウントアップ信号を受け入れたアドレス生成部１３０は、上記具体例２と全く同様の動作を実行することになる。
その他の構成機能は具体例２と同様である。
【００３４】
〈具体例３の効果〉
以上説明した構成を備えることによって、具体例２の効果に加えて、予約領域をスキップするための猶予時間を任意に外部から設定することが可能になるため冗長なテストサイクルを減らすことが可能になる。
【００３５】
〈具体例４〉
具体例４では、ペリフェラルへの期待値の書き込み、及び読み出しとも共通バスを用いて行い、共通バス用の通常機能端子（外部端子）以外の外部端子を削除することを目的とする。
【００３６】
図６は、具体例４の構成のブロック図である。
図６より具体例４のマイクロコントローラテスト回路は、テストレジスタ制御部１２０と、第一のレジスタ１３８と、第二のレジスタ１３９を備える。
テストレジスタ制御部１２０は、共通バスに接続され、この共通バスを介してマイコンの外部から所定の制御信号と期待値との送受信を可能にする部分である。
【００３７】
第一のレジスタ１３８は、上記テストレジスタ制御部１２０から期待値を受け入れて、この期待値を一時保持し、固有の信号線を介してペリフェラルへ書き込む部分である。
第二のレジスタ１３９は、上記ペリフェラルへ期待値の書き込み完了後に固有の信号線を介して期待値を読み出して一時保持し、上記テストレジスタ制御部１２０へ送出する部分である。
【００３８】
具体例４のマイクロコントローラテスト回路では、上記テストレジスタ制御部１２０と、第一のレジスタ１３８と、第二のレジスタ１３９とが、各ペリフェラル毎に配置される。
図６は、一例として第二のペリフェラル１３に配置されている状態を表している。
【００３９】
次に具体例４のマイクロコントローラテスト回路の動作について説明する。
テスト制御信号６１〜６４によって、第二のペリフェラル１３はテスト状態に制御される。
テストレジスタ制御部１２０は、テスト制御信号６１〜６４の値によってテストセレクト信号１２２、１２５を制御して、第一のレジスタ１３８を共通バスから書き込み可能状態にし、第二のレジスタ１３９を第二のペリフェラル１３から読み出し可能状態にする。
【００４０】
上記状態でテストを行う。
共通バスを介して第一のレジスタ１３８へ期待値が書き込まれ一時保持される。この期待値は、セレクタ２４を介して第二のペリフェラル１３に書き込まれる。
第二のペリフェラル１３に書き込まれた期待値は、信号線９９を介して第二のレジスタ１３９へ送られ、一時保持される。
【００４１】
この状態でテスト制御信号６１〜６４の値によってテストセレクト信号１２７を制御して、第二のレジスタ１３９を共通バスから読み出し可能にして第二のペリフェラル１３に書き込まれた期待値を読み出す。
以上の結果、外部から第二のペリフェラル１３をテストすることが可能になる。
【００４２】
〈具体例４の効果〉
以上説明した構成を備えることによって、共通バス以外に接続される通常機能端子（外部端子）を削除することが可能になる。
【００４３】
〈具体例５〉
具体例５では、具体例４と同様にペリフェラルへの期待値の書き込み、及び読み出しとも共通バスを用いて行い、共通バス用の通常機能端子（外部端子）以外の外部端子を削除することを目的とする他の例に関する。
【００４４】
図７は、具体例５の構成のブロック図である。
図７より具体例５のマイクロコントローラテスト回路は、ポートレジスタ制御回路５０と、第一のテストレジスタ５６と、第２のテストレジスタ５７と、テストポート制御部３００と、セレクタ３０１、３０２とを備える。
ポートレジスタ制御回路５０と、第一のテストレジスタ５６と、第２のテストレジスタ５７と、セレクタ３０１、３０２は、各ペリフェラル毎に配置される。
図７は、一例として第二のペリフェラル１３に配置されている状態を表している。
【００４５】
ポートレジスタ制御回路５０は、共通バスに接続され、この共通バスを介してマイクロコントローラの外部から所定の制御信号と期待値との送受信を可能にする部分である。
第一のテストレジスタ５６、及び第２のテストレジスタ５７は、ポートレジスタ制御回路５０とペリフェラルの間に配置され共通バスから期待値を受け入れて一時保持し、この期待値をペリフェラルへ書き込む部分である。更に、ペリフェラルに書き込まれた期待値を読み出して一時保持し、共通バスへ送出する部分でもある。
【００４６】
テストポート制御部３００は、マイクロコントローラテスト回路を制御してペリフェラルのテストを行う部分である。
セレクタ３０１、及びセレクタ３０２は、テストポート制御部３００の制御に基づいてテストに必要な信号通路を形成する部分である。
【００４７】
次に具体例５のマイクロコントローラテスト回路の動作について説明する。
テスト制御信号６１〜６４によって第二のペリフェラル１３はテスト状態に制御される。
テストポート制御部３００は、テスト制御信号６１〜６４の値によってテストセレクト信号３１１、３１２を制御して、第一のテストレジスタ５６を共通バスから書き込み可能状態にし、第２のテストレジスタ５７を第二のペリフェラル１３から読み出し可能状態にする。
【００４８】
上記状態でテストを行う。
共通バスを介して第一のテストレジスタ５６へ期待値を書き込んで一時保持させる。この期待値は、セレクタ２４を介して第二のペリフェラル１３に書き込まれる。
第二のペリフェラル１３に書き込まれた期待値は、信号線９９を介して第２のテストレジスタ５７へ送られ、一時保持される。
【００４９】
この第２のテストレジスタ５７に保持された期待値は、セレクタ５９を介して外部端子２１４へ出力される。
以上の結果、外部から第二のペリフェラル１３をテストすることが可能になる。
ここで留意すべき事項は以下の通りである。
セレクタ５８、５９と、第一のテストレジスタ５６と、第２のテストレジスタ５７と、ポートレジスタ制御回路５０とは、既に説明した比較例（図２）のポート制御回路１７（図２）に採用されており、当業者にとって周知の構成部分である。従ってマイクロコントローラテスト回路用として改めて配置する必要はなく、ポート制御回路１７（図２）と共用できる。
【００５０】
〈具体例５の効果〉
以上説明した構成を備えることによって、具体例４と同様に共通バス以外に接続される通常機能端子（外部端子）を削除することが可能になる。
更に、一部構成要素をポート制御回路と共用できるのでマイクロコントローラテスト回路のＩＣ基板上での占有面積を縮小することができる。
【図面の簡単な説明】
【００５１】
【図１】具体例１の構成のブロック図である。
【図２】比較例の構成のブロック図である。
【図３】具体例２の構成のブロック図である。
【図４】レジスタマップ例説明図である。
【図５】具体例３の構成のブロック図である。
【図６】具体例４の構成のブロック図である。
【図７】具体例５の構成のブロック図である。
【符号の説明】
【００５２】
１  比較部
２  状態監視部
３  選択部
４１  リードデータ
４２  ライトデータ
１１２  一致信号
１２１  外部端子
【図１】
2008176822.tif 000003
【図２】
2008176822.tif 000004
【図３】
2008176822.tif 000005
【図４】
2008176822.tif 000006
【図５】
2008176822.tif 000007
【図６】
2008176822.tif 000008
【図７】
2008176822.tif 000009