(57)【要約】【課題】マイクロプロセッサにおけるシステムレベルでのテストにおいて、システムのデバッグを容易に行うことができる機能を有したマイクロプロセッサを提供する。【解決手段】ＣＰＵ１ａ、アドレスバス２、データバス３、外部通信機器９９との通信を行う通信回路４ｂ、通信データを格納する通信バッファ５、外部通信機器９９から送信される受信データを格納する記憶回路１３ａ、記憶回路１３ａに外部通信機器９９からの受信データを転送する転送回路１４、記憶回路１３ａにおけるデータの格納位置を設定する格納位置設定レジスタ１５、記憶回路１３ａに通信中に自動でデータを格納するか否かを設定するモードレジスタ１６、およびモードレジスタ１６において手動でデータを格納することを選択した場合に受信データを格納するタイミングを示す格納タイミング設定レジスタ１７を主たる構成として備えている。【選択図】図１
2006048214.tif 000002
【特許請求の範囲】
【請求項１】
外部通信機器と通信を行う通信回路を内蔵するマイクロプロセッサであって、
演算処理装置と、
前記外部通信機器から送信される受信データを格納する記憶回路と、
前記記憶回路に前記受信データを転送する転送回路と、を備え、
前記受信データは、前記通信回路に与えられるとともに、前記転送回路を介して前記記憶回路にも格納される、マイクロプロセッサ。
【請求項２】
前記受信データを前記記憶回路に格納するか否かを選択するモード選択手段をさらに備える、請求項１記載のマイクロプロセッサ。
【請求項３】
前記通信回路は、
前記外部通信機器との通信中には有効状態となる通信ビジー信号を出力し、
前記モード選択手段は、
前記通信ビジー信号を受け、前記通信ビジー信号に基づいて生成されるセレクト信号を有効状態として前記転送回路に与えるか否かで、前記受信データを前記記憶回路に格納する否かを設定する、請求項２記載のマイクロプロセッサ。
【請求項４】
前記前記通信回路は、
前記外部通信機器との通信中には有効状態となる通信ビジー信号を出力し、
前記通信ビジー信号を受け、前記通信ビジー信号に基づいてセレクト信号を生成するセレクト信号生成部をさらに備え、
前記セレクト信号を有効状態として前記転送回路に与えることで、前記受信データを前記記憶回路に格納する、請求項１記載のマイクロプロセッサ。
【請求項５】
前記演算処理装置は、
データ格納を停止する場合に有効状態となる割り込み信号を出力し、
前記セレクト信号生成部は、
前記割り込み信号受け、前記割り込み信号が有効状態となった場合に、前記セレクト信号の有効状態を解除する、請求項４記載のマイクロプロセッサ。
【請求項６】
前記記憶回路は、
前記記憶回路に格納された前記受信データを、格納受信データとして出力し、
前記格納受信データは、前記受信データの代わりに前記通信回路に与えられる、請求項１記載のマイクロプロセッサ。
【請求項７】
前記通信回路は、
前記外部通信機器との通信中には有効状態となる通信ビジー信号を出力し、
前記通信ビジー信号を受け、通信中には前記通信ビジー信号に基づいてセレクト信号を生成するセレクト信号生成部と、
前記受信データおよび前記格納受信データの一方を選択して前記通信回路に与えるセレクタとを備え、
前記セレクト信号生成部は、
前記記憶回路から前記格納受信データを取り出す場合には、前記セレクト信号を強制的に有効状態にして前記記憶回路にリード要求信号として与えることで、前記格納受信データを取り出し、
前記セレクタは、前記セレクト信号を強制的に有効状態にする場合には、前記格納受信データを選択する、請求項６記載のマイクロプロセッサ。
【請求項８】
前記記憶回路は、
前記演算処理装置からの指示に基づいて、前記記憶回路内の前記格納受信データを変更する、請求項６記載のマイクロプロセッサ。
【請求項９】
前記転送回路は、
前記受信データを受けてパラレル変換し、所定の複数のビットを１単位とするデータ列を生成するパラレル変換器と、
前記データ列の前記記憶回路内での格納位置を規定する格納アドレスを生成するカウンタと、
前記セレクト信号を受け、前記データ列が完成するタイミングで有効状態となる格納指示信号を生成する、格納指示信号生成部とを有し、
有効状態となった前記格納指示信号を前記記憶回路に与えることで、前記データ列を前記格納アドレスに格納する、請求項３、請求項４および請求項６の何れかに記載のマイクロプロセッサ。
【請求項１０】
外部通信機器と通信を行う通信回路を内蔵するマイクロプロセッサであって、
演算処理装置と、
前記通信回路のテストのためのテストデータが格納されたデータテーブルと、
前記演算処理装置からの転送要求に応じて、前記通信回路に前記テストデータを転送する転送回路と、を備えるマイクロプロセッサ。
【請求項１１】
前記データテーブル内の前記テストデータは、前記演算処理装置によって任意に設定される、請求項１０記載のマイクロプロセッサ。
【請求項１２】
前記データテーブル内の前記テストデータを取り出すセレクタと、
前記セレクタに、取り出すべき前記テストデータを指示するデータ選択レジスタとをさらに備え、
前記セレクタは、前記データ選択レジスタに設定された設定値に対応する前記データテーブル内のアドレスに対応する前記テストデータを選択して出力する、請求項１０記載のマイクロプロセッサ。
【請求項１３】
前記データ選択レジスタ内の前記設定値は、前記演算処理装置によって任意に設定される、請求項１２記載のマイクロプロセッサ。
【請求項１４】
前記転送回路は、
前記データ選択レジスタに設定された設定値に対応して取り出された前記テストデータの転送が完了した場合に有効状態となる完了信号を出力し、
前記演算処理装置は前記完了信号を受け、前記完了信号が有効状態になった場合には、前記転送要求を停止する、請求項１２記載のマイクロプロセッサ。
【請求項１５】
前記完了信号が有効状態になる回数を計数し、
前記データテーブル内の前記テストデータを全て読み出したことを確認する、状態確認手段をさらに備える、請求項１４記載のマイクロプロセッサ。
【請求項１６】
前記テストデータの取り出し順に合わせて予め設定された複数の設定値を含む順序テーブルと、
前記順序テーブル内の前記複数の設定値を順番に読み出して前記データ選択レジスタに前記設定値として設定する設定値読み出し部とをさらに備え、
前記設定値を前記データ選択レジスタに、前記テストデータの取り出し順に設定する、請求項１２記載のマイクロプロセッサ。
【請求項１７】
前記転送回路は、
前記データ選択レジスタに設定された設定値に対応して取り出された前記テストデータの転送が完了した場合に有効状態となる完了信号を出力し、
前記設定値読み出し部は、
前記完了信号が有効状態となるごとに、前記順序テーブルから前記複数の設定値のうちの１つを読み出し、
前記複数の設定値の全てが読み出された場合に有効状態となる割り込み要求信号を前記演算処理装置に与える、請求項１６記載のマイクロプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロプロセッサに関し、特に、外部通信機器と通信を行う通信回路を内蔵するマイクロプロセッサに関する。
【背景技術】
【０００２】
外部通信機器と通信を行う通信回路を内蔵した従来のマイクロプロセッサにおいては、通信データを格納する通信バッファから、内部バスを通じて任意の受信データを取り出して格納するレジスタを備え、通信回路にテストの必要が生じた場合には、当該レジスタのデータを通信回路に与えることで、プロトコル障害も含めた通信回路のテストを行う構成を採用していた。
【０００３】
しかしながら、このようなマイクロプロセッサにおけるシステムレベルでのテストにおいては、内部バスの状態に起因する通信エラーや、マイクロプロセッサ内部のノイズや信号レベルの低下による受信データの異常に起因する通信エラーによって、システム異常を起こす場合がある。
【０００４】
このような現象は発生頻度が高くないというだけでなく、単純に通信回路にエラー処理を発生させただけでは現象を再現させることが困難な場合も多く、システムのデバッグを難しくしていた。
【０００５】
また、通信プロトコルに対する準拠性を確認する従来の方法として、例えば特許文献１に提案されているように、通信テスト専用のモードを用いることにより、専用のテストデータ生成装置を接続することなく通信プロトコルの規約で決められた動作が行われるか否かを確認していた。
【０００６】
【特許文献１】特開平７−３０２２３４号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は上記のような問題点を解決するためになされたものであり、マイクロプロセッサにおけるシステムレベルでのテストにおいて、システムのデバッグを容易に行うことができる機能を有したマイクロプロセッサを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る請求項１記載のマイクロプロセッサは、外部通信機器と通信を行う通信回路を内蔵するマイクロプロセッサであって、演算処理装置と、前記外部通信機器から送信される受信データを格納する記憶回路と、前記記憶回路に前記受信データを転送する転送回路とを備え、前記受信データは、前記通信回路に与えられるとともに、前記転送回路を介して前記記憶回路にも格納される。
【０００９】
本発明に係る請求項１０記載のマイクロプロセッサは、外部通信機器と通信を行う通信回路を内蔵するマイクロプロセッサであって、演算処理装置と、前記通信回路のテストのためのテストデータが格納されたデータテーブルと、前記演算処理装置からの転送要求に応じて、前記通信回路に前記テストデータを転送する転送回路とを備えている。
【発明の効果】
【００１０】
本発明に係る請求項１記載のマイクロプロセッサによれば、受信データを通信回路に与えるとともに記憶回路に格納するので、何らかの通信エラーが発生した場合に、受信データを記憶回路から取り出し、演算処理装置において確認することにより、通信エラーが、ノイズ等によって受信データそのものに異常が生じて発生したものか否かの判断が容易になりシステムのデバッグを容易に行うことができる。
【００１１】
本発明に係る請求項１０記載のマイクロプロセッサによれば、演算処理装置からの転送要求に応じて、通信回路にデータテーブルに格納されたテストデータを転送するので、通信システムのデバッグを容易に行うことができる。
【発明を実施するための最良の形態】
【００１２】
＜Ａ．実施の形態１＞
＜Ａ−１．装置構成＞
図１および図２を用いて、本発明に係る実施の形態１のマイクロプロセッサ１００の構成について説明する。
【００１３】
図１に示すように、マイクロプロセッサ１００は、ＣＰＵ（Central Processing Unit）１ａ、アドレスバス２、データバス３、外部通信機器９９との通信を行う通信回路４ｂ、通信データ（受信および送信データ）を格納する通信バッファ５、外部通信機器９９から送信される受信データを格納する記憶回路１３ａ、記憶回路１３ａに外部通信機器９９からの受信データを転送する転送回路１４、記憶回路１３ａにおけるデータの格納位置を設定する格納位置設定レジスタ１５、記憶回路１３ａに通信中に自動でデータを格納するか否かを設定するモードレジスタ１６、およびモードレジスタ１６において手動でデータを格納することを選択した場合に受信データを格納するタイミングを示す格納タイミング設定レジスタ１７を主たる構成として備え、少なくともＣＰＵ１ａ、通信バッファ５および記憶回路１３ａは、アドレスバス２およびデータバス３に接続されている。
【００１４】
通信回路４ｂは、外部通信機器９９からの受信データ１０を受信データ端子ＲＸＤで受け、送信データ端子ＴＸＤから外部通信機器９９に対して送信データ１１を送信し、通信中が”Ｈ”状態、それ以外は”Ｌ”状態を示す通信ビジー信号１８を出力する機能を有している。
【００１５】
通信ビジー信号１８は、ＡＮＤ回路Ｃ２の一方の入力に与えられる。ＡＮＤ回路Ｃ２の他方の入力（反転入力）にはモードレジスタ１６の設定値が与えられ、ＡＮＤ回路Ｃ２の出力は、ＯＲ回路Ｃ１の一方の入力に与えられる。ＯＲ回路Ｃ１の他方の入力には格納タイミング設定レジスタ１７の設定値が与えられる。
【００１６】
転送回路１４には、ＯＲ回路Ｃ１の出力がセレクト信号１９として与えられるとともに、受信データ１０および格納位置設定レジスタ１５の設定値が与えられる構成となっている。
【００１７】
ここで、転送回路１４の構成について図２を用いて説明する。
転送回路１４は、受信データ１０を格納すべき記憶回路１３ａ内のアドレス１４６を生成するカウンタ１４１、受信データをサンプリングするクロック信号ＣＬを受け、記憶回路１３ａに与えるデータのデータ長に相当するビット数分（ビット幅）だけクロック信号ＣＬをカウントするカウンタ１４３、カウンタ１４３での計数値と、予め定めた数値（データ長に相当）とを比較して、両者が一致した場合に”Ｈ”信号を出力する比較器１４４、クロック信号ＣＬおよび受信データ１０を受け、受信データ１０をパラレル変換してデータ列１４８として出力するパラレル変換器１４５を備え、比較器１４４の出力は、ＡＮＤ回路Ｃ１１の一方の入力に与えられ、ＡＮＤ回路Ｃ１１の他方の入力には、セレクト信号１９が与えられ、比較器１４４での比較結果が一致した場合に格納指示信号１４７として出力する構成となっている。
【００１８】
このような構成を採用することで、簡便でかつ、発明の実施に十分な機能を備えた転送回路１４を得ることができる。
【００１９】
なお、カウンタ１４３、比較器１４４およびＡＮＤ回路Ｃ１１は、格納指示信号１４７を生成するので、格納指示信号生成部と呼称する場合もある。
【００２０】
＜Ａ−２．装置動作＞
次に、マイクロプロセッサ１００において、受信データを受信中に自動で記憶回路１３ａに格納しＣＰＵ１ａによって取り出す動作について、図１および図２を参照しつつ説明する。
【００２１】
＜Ａ−２−１．データの格納＞
まず、モードレジスタ１６および格納タイミング設定レジスタ１７に”０”を設定し自動モードを選択する。次に、通信回路４ｂを通信可能状態に設定し、外部通信機器９９との通信を開始する。なお、これらの設定はＣＰＵ１ａにより行うが、図示しないＤＭＡ（Direct Memory Access）コントローラによって設定することも可能である。
【００２２】
通信が開始されると、通信回路４ｂから出力される通信ビジー信号１８が”Ｌ”状態から”Ｈ”状態に変化する。
【００２３】
通信ビジー信号１８が”Ｈ”状態になると、ＡＮＤ回路Ｃ２の出力が”Ｈ”状態となり、それを受けたＯＲ回路Ｃ１の出力、すなわちセレクト信号１９が有効を示す”Ｈ”状態となる。
【００２４】
セレクト信号１９が”Ｈ”状態になると、転送回路１４内のカウンタ１４１が１ビットずつのカウントを開始するが、このとき、予め、ＣＰＵ１ａにより格納位置設定レジスタ１５に設定されたカウンタ初期値を取り込み、当該初期値に対して１ビットずつ加算することになる。このカウントは、通信ビジー信号１８が”Ｈ”の期間、続けられる。
【００２５】
なお、アドレス１４６は、記憶回路１３ａ内の複数の記憶領域に対して０番目の記憶領域、１番目の記憶領域というように単純化された情報で構成される。そして、記憶回路１３ａ内のデータはアドレス１４６の順に記憶されるので、カウンタ１４１の０番目のカウントがアドレス１４６として出力された場合には、データ列１４８は記憶回路１３ａ内の０番目の記憶領域に格納される。
【００２６】
また、クロック信号ＣＬをカウントするカウンタ１４３において、カウント値が記憶回路１３ａのデータ長（ビット幅）に一致すると、比較器１４４の出力が”Ｈ”状態となり、パラレル変換器１４５から記憶回路１３ａへのデータ列１４８の入力が可能となる。
【００２７】
すなわち、受信データ１０はシリアルに１ビットずつ与えられるのに対し、記憶回路１３ａには、複数ビット分のデータを１単位とするデータ列として格納するので、その１単位分のデータ列がパラレル変換器１４５に蓄積されるまでの時間を確保するのがカウンタ１４３および比較器１４４であり、比較器１４４の出力が”Ｈ”状態となることで、パラレル変換器１４５から記憶回路１３ａへのデータ列１４８の入力が可能となる。
【００２８】
実際には、セレクト信号１９が”Ｈ”状態である場合に、比較器１４４の出力が”Ｈ”状態となることで、ＡＮＤ回路Ｃ１１の出力である格納指示信号１４７が有効を示す”Ｈ”状態となり、記憶回路１３ａへのデータ列１４８の入力が開始される。
【００２９】
このように、有効状態のセレクト信号１９を転送回路１４に与えるか否かによって記憶回路１３ａへのデータ列１４８の入力を簡便にかつ容易に制御することができる。
【００３０】
なお、比較器１４４の出力はカウンタ１４３にフィードバックされ、比較器１４４の出力が”Ｈ”状態になるとカウンタ１４３をリセットする。
【００３１】
ここで、データ列１４８は、カウンタ１４１から出力されるアドレス１４６に対応する記憶領域に格納されるが、アドレス１４６も格納指示信号１４７が有効を示す”Ｈ”状態となるタイミングで記憶回路１３ａに入力されるので、アドレス１４６はデータ列１４８のビット幅ごとの値となる。例えば、データ列１４８のビット幅が、１６ビットである場合、カウンタ１４１から入力力されるアドレス１４６も１６ビットごとのアドレスとなり、例えば、初期値として０番目のアドレスが指定されたとすれば、実際にデータ列１４８が入力される最初のアドレスは１６番目ということになる。
【００３２】
また、カウンタ１４１には格納位置設定レジスタ１５に設定された初期値が与えられる構成となっているが、これは、最初のデータの格納位置を任意に設定する場合に用いられ、上述の場合、初期値として０番目のアドレスが指定されている場合には、最初にデータ列１４８が入力されるアドレスは１６番目となる。従って、初期値として１番目のアドレスを指定すれば、最初にデータ列１４８が入力されるアドレスは１７番目ということになる。換言すれば、１７番目のアドレスにデータ列１４８を入力したければ、格納位置設定レジスタ１５には、初期値として１番目のアドレスを設定しておけば良いということになる。
【００３３】
パラレル変換器１４５においては、受信データ１０がクロック信号ＣＬに同期してパラレル変換されてパラレル変換器１４５内の複数の記憶領域（データ列１４８のビット幅に相当する個数を有し、それぞれがデータ列１４８のビット幅の記憶容量を有している）内に蓄積され、格納指示信号１４７が”Ｈ”状態となるタイミングで、フル記憶状態にある記憶領域からデータ列１４８のビット幅に相当する分の受信データ１０が出力される。
【００３４】
通信が終了すると通信ビジー信号１８が”Ｌ”状態となるためセレクト信号１９も無効を示す”Ｌ”状態になり記憶回路１３ａへのデータ格納が停止する。
【００３５】
なお、以上の説明においては、受信データ１０を自動的に記憶回路１３ａに格納する自動モードについて説明したが、受信データ１０を手動で記憶回路１３ａに格納する場合は、モードレジスタ１６に”１”を設定し、格納を始める時に格納タイミング設定レジスタ１７に”１”を設定する。
【００３６】
この操作により、セレクト信号１９が有効を示す”Ｈ”状態になり記憶回路１３ａに受信データ１０を格納することができる。
【００３７】
なお、手動でデータ格納を終了する場合は、格納タイミング設定レジスタ１７に”０”を設定することで、セレクト信号１９が”Ｌ”となり受信データ１０の格納を停止することができる。
【００３８】
なお、モードレジスタ１６、格納タイミング設定レジスタ１７、ＯＲ回路Ｃ１およびＡＮＤ回路Ｃ２は、受信データ１０を記憶回路１３ａに格納するか否かを選択するという意味で、モード選択手段と総称することができ、これらを備えることで、受信データ１０を自動であるいは手動で記憶回路１３ａに格納することが可能となる。
【００３９】
＜Ａ−２−２．データの取り出し＞
記憶回路１３ａに格納された受信データを取り出すためには、ＣＰＵ１ａから記憶回路１３ａに与えられるセレクト信号２０を、有効を示す”Ｈ”状態とし、取り出すべきデータの格納アドレス２１をアドレスバス２を介して記憶回路１３ａに与えることで、格納アドレス２１に対応する記憶領域に格納された格納受信データ２２がデータバス３に出力される。
【００４０】
従って、何らかの通信エラーが発生した場合、通信回路４ｂに入力された受信データ１０を記憶回路１３ａから取り出し、データバス３を介してＣＰＵ１ａに与え、ＣＰＵ１ａにおいて確認することで、通信エラーが受信データに起因するものであるか否かを判断することが可能となる。
【００４１】
＜Ａ−３．効果＞
以上説明したように、実施の形態１のマイクロプロセッサ１００においては、外部通信機器９９から送信された受信データ１０を記憶回路１ａに格納するので、何らかの通信エラーが発生した場合に、受信データ１０を記憶回路１ａから取り出し、ＣＰＵ１ａにおいて確認することにより、通信エラーが、ノイズ等によって受信データ１０そのものに異常が生じて発生したものか否かの判断が容易になりシステムのデバッグを容易に行うことができる。
【００４２】
＜Ｂ．実施の形態２＞
＜Ｂ−１．装置構成＞
図３を用いて、本発明に係る実施の形態２のマイクロプロセッサ２００の構成について説明する。なお、図１に示したマイクロプロセッサ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００４３】
図３に示すマイクロプロセッサ２００は、データ格納の停止の必要性があると判断した場合に、”Ｈ”状態を示す割り込み信号２３を出力する機能を有したＣＰＵ１ｂを備えている。なお、ＣＰＵ１ｂは、この機能以外は、図１を用いて説明したＣＰＵ１ａと同じ機能を有している。
【００４４】
マイクロプロセッサ２００においては、通信ビジー信号１８は、ＡＮＤ回路Ｃ２１の一方の入力に与えられ、ＡＮＤ回路Ｃ２の他方の入力（反転入力）にはＣＰＵ１ｂから割り込み信号２３与えられる構成となっている。そして、ＡＮＤ回路Ｃ２１の出力がセレクト信号１９として転送回路１４に与えられる構成となっている。
【００４５】
なお、ＡＮＤ回路Ｃ２１はセレクト信号１９を生成するので、セレクト信号生成部と呼称する場合もある。
【００４６】
＜Ｂ−２．装置動作＞
このような構成のマイクロプロセッサ２００においては、外部通信機器９９との通信中は通信ビジー信号１８が”Ｈ”状態となり、また、割り込み信号２３は、データ格納の停止の必要性がない場合は、”Ｌ”状態を維持するので、セレクト信号１９は有効を示す”Ｈ”状態となり、受信データ１０が記憶回路１３ａに格納される。
【００４７】
しかし、通信回路４ｂに通信エラーが発生した場合や、その他の要因によってＣＰＵ１ｂがデータ格納の停止の必要性ありと判断すると、割り込み信号２３を”Ｈ”状態とするので、セレクト信号が”Ｌ”状態となり記憶回路１３ａへのデータ格納が停止する。
【００４８】
このように、有効状態のセレクト信号１９を転送回路１４に与えることで記憶回路１３ａへのデータ列１４８の入力を簡便にかつ容易に制御することができる。
【００４９】
＜Ｂ−３．効果＞
以上説明したように、実施の形態２のマイクロプロセッサ２００においては、ＣＰＵ１ｂがデータ格納の停止の必要性ありと判断するような異常状態を感知した場合には、割り込み信号２３を”Ｈ”状態として、記憶回路１３ａへのデータ格納を強制的に停止するので、記憶回路１３ａへの受信データ１０の上書きが停止され、異常状態および、その前後の受信データ１０を確実に保存することができ、異常状態発生時の通信システムのデバッグを確実に行うことができる。このような機能は、通信速度が高速な通信回路を有する場合に特に有効となる。
【００５０】
＜Ｃ．実施の形態３＞
＜Ｃ−１．装置構成＞
図４を用いて、本発明に係る実施の形態３のマイクロプロセッサ３００の構成について説明する。なお、図１に示したマイクロプロセッサ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００５１】
図４に示すマイクロプロセッサ３００は、ＣＰＵ１ａから直接にデータの変更指示を受け付ける機能を有した記憶回路１３ｂを備えている。
【００５２】
マイクロプロセッサ３００においては、通信ビジー信号１８は、ＯＲ回路Ｃ３１の一方の入力に与えられ、ＯＲ回路Ｃ３１の他方の入力にはテストモードレジスタ６の設定値が与えられる構成となっている。そして、ＯＲ回路Ｃ３１の出力は、セレクト信号１９として転送回路１４に与えられるとともに、記憶回路１３ｂに対しては、格納受信データ４１の取り出しを要求するリード要求信号２５として与えられる構成となっている。
【００５３】
なお、ＯＲ回路Ｃ３１はセレクト信号１９を生成するので、セレクト信号生成部と呼称する場合もある。
【００５４】
また、外部通信機器９９からの受信データ１０は、転送回路１４に与えられるとともに、セレクタ２４の入力の１つに与えられる構成となっている。また、セレクタ２４の他の入力には、記憶回路１３ｂに格納された格納受信データ４１が与えられる構成となっている。なお、セレクタ２４はテストモードレジスタ６の設定値に基づいて、受信データ１０あるいは格納受信データ４１を選択して通信回路４ｂの受信データ端子ＲＸＤに与える構成となっている。そして、テストモードレジスタ６には、通常の通信に際しては”０”が設定され、セレクタ２４では受信データ１０を選択して通信回路４ｂの受信データ端子ＲＸＤに与える。一方、テストモード時にはテストモードレジスタ６に”１”を設定することで、格納受信データ４１を選択して通信回路４ｂの受信データ端子ＲＸＤに与える。
【００５５】
記憶回路１３ｂは、ＣＰＵ１ａからのセレクト信号２０およびライト信号２６が有効を示す”Ｈ”状態である場合に、アドレスバス２を介して与えられた格納アドレス２１に対応する記憶領域に、データバス３を介してＣＰＵ１ａから与えられるデータ２７を格納する機能を有している。なお、記憶回路１３ｂは、この機能以外は、図１を用いて説明した記憶回路１３ａと同じ機能を有している。
【００５６】
＜Ｃ−２．装置動作＞
＜Ｃ−２−１．通常モードでのデータの格納＞
このような構成のマイクロプロセッサ３００においては、外部通信機器９９との通信中は通信ビジー信号１８が”Ｈ”状態となり、また、テストモードレジスタ６には”０”が設定され、通常モードとなっているので、セレクト信号１９は有効を示す”Ｈ”状態となり、受信データ１０が記憶回路１３ａに格納される。このとき、セレクタ２４は、受信データ１０を選択して通信回路４ｂの受信データ端子ＲＸＤに与える。
【００５７】
また、通信中はテストモードレジスタ６には”０”が設定されているので、格納受信データ４１が取り出されたとしても通信回路４ｂには与えられない。
【００５８】
＜Ｃ−２−２．通常モードでのデータの取り出し＞
通常モードにおいて、記憶回路１３ｂに格納された受信データを取り出すためには、ＣＰＵ１ａから記憶回路１３ｂに与えられるセレクト信号２０を、有効を示す”Ｈ”状態とし、取り出すべきデータの格納アドレス２１をアドレスバス２を介して記憶回路１３ａに与えることで、格納アドレス２１に対応する記憶領域に格納された格納受信データ２２がデータバス３に出力される。
【００５９】
＜Ｃ−２−３．テストモードでのデータの取り出し＞
通信が終了すると、通信ビジー信号１８が”Ｌ”状態となり、セレクト信号１９が”Ｌ”状態となって記憶回路１３ｂへのデータ格納も終了する。
【００６０】
ここで、記憶回路１３ｂに格納されたデータを用いて通信回路４ｂの動作テストを行うモードがテストモードであり、テストモードレジスタ６に”１”を設定すると、セレクト信号１９が強制的に有効を示す”Ｈ”状態になるとともに、リード要求信号２５も有効を示す”Ｈ”状態となり、記憶回路１３ｂに格納された格納受信データ４１が取り出されることになる。
【００６１】
すなわち、セレクト信号１９が有効状態となることで、転送回路１４中のカウンタ１４１（図２参照）がカウントを開始し、取り出すべき格納受信データ４１のアドレス１４６が設定される。また、カウンタ１４３、比較器１４４およびＡＮＤ回路Ｃ１１で構成される格納指示信号生成部（図２参照）において生成される格納指示信号１４７が有効状態となり、アドレス１４６が記憶回路１３ｂに与えられる。なお、記憶回路１３ｂはリード要求信号２５が有効状態にある場合は、ライト動作は受け付けず、記憶回路１３ｂにはデータは格納されない。
【００６２】
そして、リード要求信号２５が有効状態となっているので、アドレス１４６に対応した格納受信データ４１が取り出されることになる。
【００６３】
セレクタ２４は格納受信データ４１を選択するので、通信回路４ｂの受信データ端子ＲＸＤに格納受信データ４１が与えられ、格納受信データ４１を用いて通信回路４ｂの動作テストを行うことが可能となる。
【００６４】
ここで、記憶回路１３ｂは、ＣＰＵ１ａからのセレクト信号２０およびライト信号２６が有効を示す”Ｈ”状態である場合に、アドレスバス２を介して与えられた格納アドレス２１に対応する記憶領域に、データバス３を介してＣＰＵ１ａから与えられるデータ２７を格納する機能を有していることは先に説明したが、この機能を利用すれば、格納受信データ４１を任意に変更することができ、通信回路４ｂの動作テストに適したデータを得ることができる。
【００６５】
すなわち、通信回路４ｂの動作テストに際しては、何もない状態からデータを作成してそれを使用することも可能であるが、通信データは一般に複雑であるので、何もない状態から作成するよりも、既存の通信データを利用し、それに修正を加えてテスト用のデータを作成する方がデータ作成に費やす時間を削減して、通信システムのデバッグ等をより速やかに、より容易に行うことができ、また、通信システムに対する様々なテストが可能となる。
【００６６】
従って、記憶回路１３ｂに格納された受信データのうち、修正が必要なものについてはデータ２７で置き換えることで、所望のテスト用のデータを得ることができる。
【００６７】
なお、格納受信データ４１のうち修正すべき部位としては、アドレス部分などが挙げられ、アドレス部分を変更しても通信回路４ｂが正常に動作するかなどの確認を行うことができる。
【００６８】
もちろん、格納受信データ４１を変更せずにそのまま用いて通信回路４ｂの動作テストを行うようにしても良いことは言うまでもなく、この場合にも、テストデータ作成に費やす時間を削減できることは言うまでもない。
【００６９】
＜Ｃ−３．効果＞
以上説明したように、実施の形態３のマイクロプロセッサ３００においては、記憶回路１ｂに格納された格納受信データ４１を、通信回路４ｂの動作テスト用のデータとして使用するので、通信システムのデバッグ等をより速やかに、より容易に行うことができる。
【００７０】
また、記憶回路１ｂは、格納受信データ４１を変更することが可能なため、格納受信データ４１に対して種々の変更を加えることで、通信システムに対する様々なテストが可能となる。
【００７１】
＜Ｄ．実施の形態４＞
＜Ｄ−１．装置構成＞
図５〜図７を用いて、本発明に係る実施の形態４のマイクロプロセッサ４００の構成について説明する。なお、図１に示したマイクロプロセッサ１００と同一の構成については同一の符号を付し、重複する説明は省略する。
【００７２】
図５に示すマイクロプロセッサ４００は、実施の形態１において説明した記憶回路１３ａや、実施の形態３において説明した記憶回路１３ｂの代わりに、例えば、ＣＰＵ１ａにより設定可能なレジスタ群で構成されるデータテーブル２８を備えている。また、通信回路４ａは、実施の形態１において説明した通信回路４ｂとは異なり、通信状態を示す通信ビジー信号１８を出力する機能は必要とされない。
【００７３】
データテーブル２８には、動作テスト用のデータとして通信回路４ａに入力すべきデータおよびそのデータ長に関する情報が格納されている。
【００７４】
ここで、データテーブル２８の構成を図６に模式的に示す。図６に示すように、受信データのデータ列がＮ列格納され、各データ列のそれぞれのデータ長に関する情報がデータ列に１対１で対応するように格納されている。なお、データテーブル２８は外部ＲＯＭ（
Read Only Memory）に設けても良い。
【００７５】
データテーブル２８に格納されているデータは、テスト用として任意に設定されたテストデータであり、データテーブル２８が、マイクロプロセッサ４００に内蔵されたレジスタ群で構成されている場合は、ＣＰＵ１ａによりデータが設定され、外部ＲＯＭを使用する場合にはＲＯＭライタで設定する。
【００７６】
再び、図５の説明に戻る。
データテーブル２８に格納されているテストデータは、セレクタ３０を介して転送回路３１に与えられる構成となっており、セレクタ３０はデータ選択レジスタ２９の設定値に基づいて、データテーブル２８内のデータ列およびデータ長を選択して出力する。
【００７７】
このような構成を採用することで、簡便でかつ、テストデータの取り出しに十分な機能を得ることができる。
【００７８】
転送回路３１はＣＰＵ１ａから与えられる転送要求信号３２が、有効を示す”Ｈ”状態になると、データテーブル２８に設定されたデータ列から所定のデータ列を読み出してテストデータ３１６として通信回路４ａに転送する装置であり、データ転送が終了すると、完了信号３１５を有効を示す”Ｈ”状態として、状態レジスタ３３（状態確認手段）およびＣＰＵ１ａに対して送信する。
【００７９】
完了信号３１５が有効を示す”Ｈ”状態となると、ＣＰＵ１ａからの転送要求信号３２がキャンセルされテストデータ３１６の送信が停止する。これにより、転送回路３１を停止状態にすることができる。
【００８０】
状態レジスタ３３は、完了信号３１５をカウントし、データテーブル２８に設定された全てのデータ列が転送された場合には、転送が終了したものとして転送回路３１にその情報を与え、転送回路３１の動作を停止させる。
【００８１】
ここで転送回路３１の構成について図７を用いて説明する。
転送回路３１は、セレクタ３０によって選択的に出力されるデータテーブル２８内のデータ列を受けるデータシフトレジスタ３１３、当該データ列のデータ長の情報を受けるデータ長レジスタ３１２、データ列のデータ長に相当するビット数分（ビット幅）のカウントを行うカウンタ３１１、カウンタ３１１での計数値と、データ長レジスタ３１２に設定された数値（データ長）とを比較して、両者が一致した場合に有効を示す”Ｈ”状態となる完了信号３１５を出力する比較器３１４を主たる構成として備えている。
【００８２】
ここで、カウンタ３１１におけるカウント数は予め設定されており、それは、通信回路４ａに与えるべきテストデータ３１６の１単位分に相当する値である。なお、カウンタ３１１を設け、データ長レジスタ３１２に設定されたデータ長を確認するのはデータの終わりを確認するためである。なお、データ長の情報はビット数で表しても良いが、ワード数で表すこともできる。
【００８３】
ＣＰＵ１ａから与えられる転送要求信号３２は、ＡＮＤ回路Ｃ４１の一方の入力に与えられ、ＡＮＤ回路Ｃ４１の他方の入力（反転入力）には完了信号３１５が与えられ、ＡＮＤ回路Ｃ４１の出力が、転送開始信号３１７としてカウンタ３１１に与えられ、カウンタ３１１においては、転送開始信号３１７が有効を示す”Ｈ”状態になるタイミングでカウントを開始する。カウンタ３１１でのカウントの始まりは、データシフトレジスタ３１３に伝えられ、データシフトレジスタ３１３に設定されたデータが、カウントの進展に合わせて、例えば１ビットずつテストデータ３１６として出力され、カウントの終了時にはデータシフトレジスタ３１３内のデータが全て出力されることになる。
【００８４】
ここで、図５の説明に戻る。
外部通信機器９９からの受信データ１０は、セレクタ２４の入力の１つに与えられる構成となっている。また、セレクタ２４の他の入力には、転送回路３１から出力されるテストデータ３１６が与えられる構成となっている。
【００８５】
なお、セレクタ２４はテストモードレジスタ６の設定値に基づいて、受信データ１０あるいはテストデータ３１６を選択して通信回路４ａの受信データ端子ＲＸＤに与える構成となっており、テストモードレジスタ６には、通常の通信に際しては”０”が設定され、セレクタ２４では受信データ１０を選択して通信回路４ｂの受信データ端子ＲＸＤに与える。一方、テストモード時にはテストモードレジスタ６に”１”を設定することで、テストデータ３１６を選択して通信回路４ａの受信データ端子ＲＸＤに与える。
【００８６】
ここで、データテーブル２８に格納されたテストデータは、テスト内容が変わればそれに合わせて変更することになる。
【００８７】
＜Ｄ−２．装置動作＞
このような構成のマイクロプロセッサ４００においては、外部通信機器９９との通信中はテストモードレジスタ６には”０”が設定され、通常モードとなっているので、セレクタ２４は受信データ１０を選択して通信回路４ａの受信データ端子ＲＸＤに与える。
【００８８】
ここで、データテーブル２８に格納されたデータを用いて通信回路４ａの動作テストを行うモードがテストモードであり、テストモードレジスタ６に”１”を設定すると、セレクタ２４はテストデータ３１６を選択するので、通信回路４ａの受信データ端子ＲＸＤにテストデータ３１６を与えることが可能となる。
【００８９】
テストモードにおいては、データテーブル２８に格納された複数のデータ列から、テストデータ３１６として通信回路４ａに与えるべきデータを読み出すために、当該データのテーブル内でのデータ番号をデータ選択レジスタ２９に設定する。
【００９０】
データ選択レジスタ２９への設定はＣＰＵ１ａから自動的に行うので、例えば、データ番号の１番から順にデータを読み出すように単純に設定することもでき、任意の番号順に読み出すように設定することもできる。
【００９１】
データ選択レジスタ２９にデータ番号が設定されると、セレクタ３０により当該データ番号に対応するデータテーブル２８内のアドレスのデータ列およびデータ長が選択され、転送回路３１に与えられる。
【００９２】
転送回路３１において、データ列はデータシフトレジスタ３１３に、データ長はデータ長レジスタ３１２に格納される。そして、ＣＰＵ１ａからの転送要求信号３２が有効を示す”Ｈ”状態になると、転送開始信号３１７も有効を示す”Ｈ”状態になり、カウンタ３１１がカウントを開始する。同時にデータシフトレジスタ３１３のデータが１ビットずつテストデータ３１６として出力され、セレクタ２４を介して通信回路４ａに入力される。
【００９３】
比較器３１４においては、カウンタ３１１での計数値と、データ長レジスタ３１２に設定された数値（データ長）とを比較し、両者が一致した場合には完了信号３１５を有効を示す”Ｈ”状態として出力する。
【００９４】
完了信号３１５が有効になると、ＣＰＵ１ａが転送要求信号３２をキャンセルし、テストデータ３１６の送信が停止する。
【００９５】
なお、転送回路３１は、データ選択レジスタ２９に新たなデータ番号が設定され、次のテストデータ３１６がデータテーブル２８から読み出され、転送回路３１に入力されるまで待機状態にある。
【００９６】
以上の動作を、データテーブル２８内の全てのデータ列が転送されるまで繰り返し、状態レジスタ３３において完了信号３１５をカウントすることで転送の終了を知得し、転送回路３１にその情報を与えることで転送回路３１の動作を停止させる。
【００９７】
＜Ｄ−３．効果＞
以上説明したように、実施の形態４のマイクロプロセッサ４００においては、データテーブル２８に格納された任意に設定されたデータを、ＣＰＵ１ａからの転送要求に応じて通信回路４ａに与えて通信回路４ａの動作テスト用のデータとして使用するので、通信システムのデバッグ等を容易に行うことができる。
【００９８】
また、データテーブル２８にテストデータを設定する際には、アドレスバス２やデータバス３などの内部バスを使用せずに設定することができるので、テストデータの設定に際して内部バスの負荷が高くなることが防止され、通信回路４ａの動作テスト時に、通信システムの通常動作時に近い状態でマイクロプロセッサを動作させることができ、より信頼性の高いテスト結果を得ることができる。
【００９９】
＜Ｅ．実施の形態５＞
＜Ｅ−１．装置構成＞
図８および図９を用いて、本発明に係る実施の形態５のマイクロプロセッサ５００の構成について説明する。なお、図５に示したマイクロプロセッサ４００と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１００】
図８に示すマイクロプロセッサ５００は、データテーブル２８に格納されたデータを転送する順番を予め設定しておくための順序テーブル３４を備えている。
【０１０１】
ここで、順序テーブル３４の構造を図９に模式的に示す。順序テーブル３４はＣＰＵ１ａにより設定可能なレジスタ群で構成され、データテーブル２８に格納された複数のデータ列を直列的に転送する順番をデータ番号１〜Ｎとして格納している。なお、順序テーブル３４は外部ＲＯＭに設けても良い。
【０１０２】
再び、図８の説明に戻る。
データテーブル２８に格納されているテストデータは、セレクタ３０を介して転送回路３１に与えられる構成となっており、セレクタ３０はデータ選択レジスタ２９の設定値に基づいて、データテーブル２８内のデータ列およびデータ長を選択して出力する。
【０１０３】
そして、データ選択レジスタ２９の設定値は、順序テーブル３４からセレクタ３９を介して与えられる構成となっており、セレクタ３９はカウンタ３６における計数値に対応する順序テーブル３４内のデータ番号を選択して出力する。
【０１０４】
カウンタ３６には、初期値として”０”が設定されており、テストモードが開始されると、初期値”０”に対応するデータ番号が順序テーブル３４から選択されて、データ選択レジスタ２９に設定される。その後は、転送回路３１から出力される完了信号３１５が”Ｈ”状態になりカウンタ３６が加算されることで、選択レジスタ２９に次のデータ番号が設定される。
【０１０５】
また、カウンタ３６の計数値は比較器３７にも与えられ、比較器３７においては、データ数レジスタ３５の設定値とカウンタ３６の計数値との比較を行い、両者が一致を示す場合には、割り込み要求信号３８を有効を示す”Ｈ”状態とする。
【０１０６】
なお、データ数レジスタ３５の設定値は、順序テーブル３４内のデータ個数マイナス１となるように予め設定されており、この値とカウンタ３６の計数値とが一致するということは、データテーブル２８内の全データの転送が完了したことを意味する。
【０１０７】
ここで、データ数レジスタ３５、カウンタ３６、比較器３７およびセレクタ３９は、順序テーブル３４からデータ選択レジスタ２９の設定値を読み出すこと関連するので、設定値読み出し部と総称することができる。
【０１０８】
このような構成を採用することで、簡便でかつ、データ選択レジスタ２９の設定値の読み出しに十分な機能を得ることができる。
【０１０９】
割り込み要求信号３８はＣＰＵ１ａに与えられ、割り込み要求信号３８が”Ｈ”状態となることで、ＣＰＵ１ａがデータテーブル２８内の全データの転送完了を知得できる。
【０１１０】
＜Ｅ−２．装置動作＞
このような構成のマイクロプロセッサ５００においては、外部通信機器９９との通信中はテストモードレジスタ６には”０”が設定され、通常モードとなっているので、セレクタ２４は受信データ１０を選択して通信回路４ａの受信データ端子ＲＸＤに与える。
【０１１１】
ここで、データテーブル２８に格納されたデータを用いて通信回路４ａの動作テストを行うモードがテストモードであり、テストモードレジスタ６に”１”を設定すると、セレクタ２４はテストデータ３１６を選択するので、通信回路４ａの受信データ端子ＲＸＤにテストデータ３１６を与えることが可能となる。
【０１１２】
テストモードにおいては、データテーブル２８に格納された複数のデータ列から、テストデータ３１６として通信回路４ａに与えるべきデータを読み出すために、当該データのテーブル内でのデータ番号をデータ選択レジスタ２９に設定するが、これは、順序テーブル３４に予め設定された転送順序に従う。
【０１１３】
なお、テストモードが選択されて、最初にデータ選択レジスタ２９に設定されるデータ番号は、カウンタ３６の初期値”０”に対応するデータ番号が順序テーブル３４から選択される。
【０１１４】
データ選択レジスタ２９にデータ番号が設定されると、セレクタ３０により当該データ番号に対応するデータテーブル２８内のデータ列およびデータ長が選択され、転送回路３１に与えられる。
【０１１５】
そして転送回路３１を介してテストデータ３１６が出力され終わると完了信号３１５が有効を示す”Ｈ”状態として出力され、ＣＰＵ１ａが転送要求信号３２をキャンセルし、テストデータ３１６の送信が停止するとともに、カウンタ３６が加算され、カウンタ３６の新たな計数値に対応したデータ番号が順序テーブル３４から選択され、選択レジスタ２９に新たなデータ番号が設定され、データ転送が再開される。
【０１１６】
なお、カウンタ３６の計数値は比較器３７にも与えられ、データ数レジスタ３５の設定値とカウンタ３６の計数値とが一致した場合には、割り込み要求信号３８を有効にすることで、ＣＰＵ１ａがデータテーブル２８内の全データの転送完了を知得できる。
【０１１７】
データ転送完了を知得したＣＰＵ１ａは、転送要求信号３２を”Ｌ”状態にすることで転送回路３１の動作を停止させる。
【０１１８】
ここで、データテーブル２８に格納されたテストデータ、順序テーブル３４に設定されたデータ番号およびデータ数レジスタ３５の設定値は、テスト内容が変わればそれに合わせて変更することになるが、データテーブル２８に格納されたテストデータはそのままで、読み出す順序を変えることでテスト内容を変えることができる場合には、順序テーブル３４に設定されたデータ番号の順序を変更すれば良く、順序テーブル３４の構成は単純であるので、容易に変更することができる。
【０１１９】
＜Ｅ−３．効果＞
以上説明したように、実施の形態５のマイクロプロセッサ５００においては、データテーブル２８に格納された任意に設定されたデータを、ＣＰＵ１ａからの転送要求に応じて通信回路４ａに与えて通信回路４ａの動作テスト用のデータとして使用するので、通信システムのデバッグ等を容易に行うことができる。
【０１２０】
また、データテーブル２８にテストデータを設定する際には、アドレスバス２やデータバス３などの内部バスを使用せずに設定することができるので、テストデータの設定に際して内部バスの負荷が高くなることが防止され、通信回路４ａの動作テスト時に、通信システムの通常動作時に近い状態でマイクロプロセッサを動作させることができ、より信頼性の高いテスト結果を得ることができる。
【０１２１】
また、データテーブル２８に格納されたテストデータの読み出し順序は、順序テーブル３４に設定されたデータ番号の順序を変更することで容易に変更でき、テスト内容の変更を容易に行うこともできる。
【０１２２】
また、データテーブル２８内の全データの転送が完了した場合には、割り込み要求信号３８を”Ｈ”状態とすることでＣＰＵ１ａがデータ転送完了を知得できるので、ＣＰＵ１ａがデータ転送完了を監視する必要がない。
【図面の簡単な説明】
【０１２３】
【図１】本発明に係る実施の形態１のマイクロプロセッサの構成を示すブロック図である。
【図２】転送回路の構成を示すブロック図である。
【図３】本発明に係る実施の形態２のマイクロプロセッサの構成を示すブロック図である。
【図４】本発明に係る実施の形態３のマイクロプロセッサの構成を示すブロック図である。
【図５】本発明に係る実施の形態４のマイクロプロセッサの構成を示すブロック図である。
【図６】データテーブルの構成を説明する図である。
【図７】転送回路の構成を示すブロック図である。
【図８】本発明に係る実施の形態５のマイクロプロセッサの構成を示すブロック図である。
【図９】順序テーブルの構成を説明する図である。
【符号の説明】
【０１２４】
１０  受信データ、１８  通信ビジー信号、４１  格納受信データ、３１６  テストデータ。
【図１】
2006048214.tif 000003
【図２】
2006048214.tif 000004
【図３】
2006048214.tif 000005
【図４】
2006048214.tif 000006
【図５】
2006048214.tif 000007
【図６】
2006048214.tif 000008
【図７】
2006048214.tif 000009
【図８】
2006048214.tif 000010
【図９】
2006048214.tif 000011