(57)【要約】【課題】ＳＴＯＰ命令を実行する番地を考慮せずにテストプログラムを作成でき、かつテスト時間を短縮できるワンチップマイクロコンピュータを得る。【解決手段】ＣＰＵ１はＳＴＯＰ命令実行時に、ＳＴＯＰ信号を出力し、これに１クロックサイクル遅れてＳＴＯＰ２信号を出力する。アドレスバス用スイッチ群７およびデータバス用スイッチ群９はＳＴＯＰ２信号に応答して、アドレスバス１０およびデータバス１１とＣＰＵ１とを切り離す。このとき、アドレスバス用固定値回路６のスイッチ６−ａ０〜６−ａ１５がオンとなり、アドレスバス１０に固定値６−ｂ０〜６−ｂ１５が書き込まれる。【選択図】        図１
2004252565.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置がバスを介して記憶手段の内容を読み出し、前記記憶手段の内容に応じてクロック信号の出力を停止するクロック停止機能を備えたワンチップマイクロコンピュータにおいて、
前記クロック停止機能によって当該ワンチップマイクロコンピュータが停止モードとなったとき、前記中央処理装置と前記バスとを切り離すバス切り離しスイッチと、
前記停止モードのとき前記バスに固定の値を設定するバス値固定回路とを備えたことを特徴とするワンチップマイクロコンピュータ。
【請求項２】
停止モードのとき記憶手段から所定の値がバスを介して格納されるレジスタと、
前記停止モードのとき前記レジスタと外部装置への出力端子とを接続し、前記レジスタの値を前記出力端子に出力するための出力切り替えスイッチとを備えたことを特徴とする請求項１記載のワンチップマイクロコンピュータ。
【請求項３】
停止モードのときは内蔵するレジスタと外部装置への出力端子とを接続し、停止モード以外のときは中央処理装置と記憶手段を接続するバスと前記出力端子とを接続するレジスタ切り替えスイッチを備えたことを特徴とする請求項１記載のワンチップマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、製品テストに用いるテストプログラムの開発を容易にするワンチップマイクロコンピュータに関するものである。
【０００２】
【従来の技術】
クロック停止機能を有するワンチップマイクロコンピュータ（以下、マイコンと称する）では、クロック停止モード（以下、停止モードと称する）での電源電流、すなわち電源−グラウンド（ＧＮＤ）間の電流を製品規格で保証している。停止モードとは、内部の基準クロックが停止することによってマイコン全ての動作が停止する状態である。この停止モードは、マイコンを使用するユーザが内蔵ＲＯＭにＳＴＯＰ命令をプログラムし、ＣＰＵがこのＳＴＯＰ命令を実行すること等によって実現される。また、停止モードは外部からの割り込み信号を入力することで解除される。
【０００３】
上記規格に適合する製品を選別するため、製造者は出荷前の製品テストにおいて停止モードでの電源電流を測定する。製品テストにはロジックテスタを使用し、品種毎に準備するテストボードとテストプログラムによって良／不良の選別を行う。製品テストでは、１個の製品の良／不良を選別するためのテスト時間がコストや生産性に大きく影響するので、できるだけ短い時間で最適なテストを行うテストプログラムを作成する必要がある。
【０００４】
停止モード時の電源電流を測定するとき、内蔵するＲＡＭおよび機能レジスタへの書き込み値の異なる組み合わせによってマイコン内部の異なる状態を作り、それぞれの状態で電源電流を測定して良／不良の判定をする。ＲＡＭの書き込み値、レジスタの設定値および周辺機器の設定状態はユーザによって異なり、全ての状態を作り出してテストすることは不可能であるため、製品テストではＲＡＭ、レジスタの設定値、周辺装置の設定状態の組み合わせを最小限に抑えてテストする。例えば、ＲＡＭおよびレジスタの値が、（１）全て’０’、（２）全て’１’、（３）隣り合うビットが異なる値（チェッカー・パターン）、（４）隣り合うビットが異なる値で、（３）のビットとは逆の値（チェッカーバー・パターン）の４つの状態で停止させてテストする。
当分野の先行文献として、特許文献１がある。
【０００５】
【特許文献１】
特開平４−１４８３４３号公報
【０００６】
【発明が解決しようとする課題】
従来のマイコンでは、停止モードで動作が停止した時のアドレスバスの内容は、ＳＴＯＰ命令を実行した時のプログラムカウンタの値、つまりＳＴＯＰ命令が書き込まれているＲＯＭの番地＋１となる。よって、停止した時のアドレスバスの内容、すなわちマイコンの内部状態はＳＴＯＰ命令が書かれているＲＯＭの番地によって異なり、また停止モードにおける電源電流値はマイコンの内部状態に依存するため、ＳＴＯＰ命令が実行される毎に前記電源電流値は異なる。したがって、機能不良にまでは至らなくても停止状態での電源電流値がテスト規格値よりも多くなるようなマイコン製品を製品テストで「不良」と判定するためには、ＳＴＯＰ命令を実行する番地も考慮したテストプログラムを作成する必要がある。
【０００７】
しかしながら、ＲＯＭのアドレスデコーダの構成を考慮して停止モード時の内部状態が等しくなるような命令実行番地の組み合わせを選択し、テストプログラムを作成することは困難であるという課題があった。また、各状態においてテストする必要があるため、テストすべき組み合わせが増加しテスト時間も増加するという課題があった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、ＳＴＯＰ命令を実行する番地を考慮せずにテストプログラムを作成でき、かつテスト時間を短縮できるワンチップマイクロコンピュータを提供することを目的とする。
【０００９】
【課題を解決するための手段】
この発明にかかるワンチップマイクロコンピュータは、クロック停止機能によって当該ワンチップマイクロコンピュータが停止モードとなったとき、中央処理装置とバスとを切り離すバス切り離しスイッチと、前記停止モードのとき前記バスに固定の値を設定するバス値固定回路とを備えたものである。
【００１０】
【発明の実施の形態】
以下、この発明の様々な実施の形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１によるマイコンのブロック図である。図に示すように、マイコン１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）（中央処理装置）１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（記憶手段）２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３、周辺機器であるタイマー４およびＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）５を備え、それぞれがアドレスバス１０、データバス１１を介して接続し信号の伝送を行う。ＲＯＭ２にはユーザが作成したプログラムが記憶される。ＣＰＵ１はＲＯＭ２の命令コードを読み取り、命令を実行する。アドレスバス１０のバス幅は１６ビット、データバス１１のバス幅は８ビットとする。
【００１１】
また、マイコン１００は、アドレスバス１０上にアドレスバス用固定値回路（バス値固定回路）６とアドレスバス用スイッチ群（バス切り離しスイッチ）７を備え、データバス１１上にデータバス用固定値回路（バス値固定回路）８とデータバス用スイッチ群（バス切り離しスイッチ）９を備える。アドレスバス用固定値回路６は、ＣＰＵ１がＲＯＭ２に格納されたＳＴＯＰ命令を実行した時にアドレスバス１０の値を固定値（’０’または’１’、電圧レベルでは’Ｌ’または’Ｈ’）にする。ＳＴＯＰ命令とは、ＣＰＵによって実行されると内部の基準クロックが停止し、マイコン全ての動作が停止する、すなわち停止モードとなる命令である。アドレスバス用スイッチ群７はＳＴＯＰ命令実行時にＣＰＵ１とアドレスバス１０とを切り離す。同様に、データバス用固定値回路８はＳＴＯＰ命令実行時にデータバス１１の値を固定値（’０’または’１’、電圧レベルでは’Ｌ’または’Ｈ’）にする。データバス用スイッチ群９はＳＴＯＰ命令実行時にＣＰＵ１とデータバス１１とを切り離す。
【００１２】
図２は図１のアドレスバス用スイッチ群７およびデータバス用スイッチ群９の構成を示す図である。アドレスバス用スイッチ群７は、ＣＰＵ１と接続するアドレスバスＡＤ０〜ＡＤ１５上に生成されたスイッチ７−０〜７−１５を備える。また、データバス用スイッチ群９は、ＣＰＵ１と接続するデータバスＤＢ０〜ＤＢ７上に生成されたスイッチ９−０〜９−７を備える。アドレスバスＡＤ０〜ＡＤ１５はアドレスバス１０を構成する各バスであり、データバスＤＢ０〜ＤＢ７はデータバス１１を構成する各バスである。
【００１３】
この実施の形態１によるマイコン１００では、ＣＰＵ１がＳＴＯＰ命令を実行するとＳＴＯＰ信号が出力され、さらにＳＴＯＰ信号に１クロックサイクル遅れてＳＴＯＰ２信号がＣＰＵ１によって出力される。つまり、ＳＴＯＰ命令が実行されるとＳＴＯＰ信号とＳＴＯＰ２信号が電圧レベルで’Ｈ’となる。ＳＴＯＰ信号はクロック信号を停止するための信号であり、ＳＴＯＰ２信号はスイッチの切り替えを行うための信号である。但し、ＳＴＯＰ信号がＳＴＯＰ２信号のタイミングで出力されるマイコン製品については、ＳＴＯＰ２信号は必ずしも必要でない。ＳＴＯＰ２信号が’Ｈ’になると、スイッチ７−０〜７−１５およびスイッチ９−０〜９−７は全てオフとなる。したがって、ＳＴＯＰ命令が実行されるとＣＰＵ１とアドレスバス１０とが切り離され、ＣＰＵ１とデータバス１１とが切り離される。
【００１４】
図３はアドレスバス用固定値回路６の構成を示す図である。図に示すように、アドレスバス用固定値回路６はアドレスバスＡＤ０〜ＡＤ１５上に生成されたスイッチ６−ａ０〜６−ａ１５と、各スイッチにそれぞれ接続される固定値回路６−ｂ０〜６−ｂ１５を備える。各スイッチはＳＴＯＰ２信号が’Ｈ’のときオンとなる。このとき、固定値回路６−ｂ０〜６−ｂ１５が有する値がアドレスバスＡＤ０〜ＡＤ１５に書き込まれる。図１のデータバス用固定値回路８、データバス用スイッチ群９はそれぞれ図３、図２に示す構造と同様の構造である。
【００１５】
図４は図３のアドレスバス用固定値回路６を実現する例を示す図である。図に示すように、各スイッチを２つのトランジスタで構成してもよい。（ａ）はアドレスバスＡＤ０に対する固定値を’０’（電圧レベルで’Ｌ’）とする場合、（ｂ）は’１’（電圧レベルで’Ｈ’）とする場合を示す。
【００１６】
ここで、マイコンのテスト方法について説明する。
図５はマイコン１００の停止モード時の電源電流をテストするときの説明図である。図に示すように、本テストではマイコン１００をロジックテスタに内蔵される測定電源とＧＮＤとに接続する。クロックが停止することにより内部回路が停止するので、この状態でＶｃｃ−Ｖｓｓ（電源−ＧＮＤ）間の電流を測定する。測定値がテスト規格値の範囲内でなければ不良品であると判断する。
【００１７】
次に、マイコン１００をシングルチップモードで使用し、停止モードにしたときの動作について説明する。
図６は実施の形態１によるマイコン１００においてＣＰＵ１がＳＴＯＰ命令を実行したときのタイミング図である。φはクロック信号、ＳＹＮＣは命令の１サイクル目に’Ｈ’となる信号である。また、上述したようにＳＴＯＰ信号はＳＴＯＰ命令実行時に出力される信号、ＳＴＯＰ２信号はＳＴＯＰ信号に１クロックサイクル遅れて出力される信号である。ＳＴＯＰ２信号が出力された時点からマイコン１００はクロック停止状態となる。「？？」はＣＰＵの動作により確定できない値を示す。
【００１８】
図６に示すように、クロック停止状態となったときアドレスバス１０とデータバス１１には固定値が設定される。これは、ＳＴＯＰ２信号が出力されると図１のアドレスバス用スイッチ群７、データバス用スイッチ群９が全てオフとなることでアドレスバス１０とデータバス１１がＣＰＵ１から切り離され、またアドレスバス用固定値回路６、データバス用固定値８内のスイッチが全てオンとなることでアドレスバス１０（ＡＤ０〜ＡＤ１５）、データバス１１（ＤＢ０〜ＤＢ７）の値がそれぞれアドレスバス用固定値回路６、データバス用固定値回路８が保持する固定値に書き換えられるためである。
【００１９】
上記動作を具体的に説明する。
図７はマイコン１００を停止モードにするＳＴＯＰ命令が書き込まれた番地が分かるメモリマップである。図８はアドレスバス固定値を’００００１６’（１６は１６進数表示であることを示す）、データバス固定値を’００１６’と設定してプログラムを実行した場合のタイミング図である。図７，８に示すように、ＣＰＵ１がＲＯＭの番地「ＥＣＦＢ」を読み出すと、アドレスバス１０の値は「ＥＣＦＢ」となり、データバス１１には「ＳＴＯＰ命令」の内容が格納される。ＣＰＵ１はＳＴＯＰ命令を読み出すとＳＴＯＰ信号を出力し、これに１クロックサイクル遅れてＳＴＯＰ２信号を出力する。ＳＴＯＰ２信号が出力されたとき、アドレスバス用スイッチ群７、データバス用スイッチ群９が全てオフとなり、アドレスバス用固定値回路６、データバス用固定値回路８内のスイッチが全てオンとなる。したがって、ＣＰＵ１の読み出し値に関わらず、アドレスバス１０には固定値’００００１６’が、データバス１１には固定値’００１６’が書き込まれる。
【００２０】
同様に、ＣＰＵ１がＲＯＭの番地「ＦＤ０３」を読み出すと、アドレスバス１０の値は「ＦＤ０３」となり、データバス１１にはＳＴＯＰ命令の内容が格納される。ＣＰＵ１がＳＴＯＰ命令を読み出しＳＴＯＰ信号、ＳＴＯＰ２信号を出力すると、アドレスバス用スイッチ群７、データバス用スイッチ群９が全てオフとなり、アドレスバス用固定値回路６、データバス用固定値回路８内のスイッチが全てオンとなる。したがって、アドレスバス１０には固定値’００００１６’が、データバス１１には固定値’００１６’が格納される。以上のことから、ＳＴＯＰ命令が実行される番地が異なっても、停止モードではアドレスバス１０およびデータバス１１の値は常にアドレスバス用固定値回路６およびデータバス用固定値回路８に設定された値になる。
【００２１】
したがって、ＳＴＯＰ命令実行時のアドレスバス１０とデータバス１１の値はユーザのプログラムに影響されずにそれぞれ常に等しくなる。また、製品テストでのマイコンの状態は、ユーザが使用する状態と等しくできる。
【００２２】
なお、外部割り込みによる停止モード解除時には、割り込み受付と同時に各スイッチ群が元の状態に戻る。
【００２３】
以上のように、この実施の形態１によれば、ＳＴＯＰ命令を実行する番地、すなわちユーザのプログラムに関わらず、停止モード時のアドレスバス１０、データバス１１の値がそれぞれ固定値になるので、停止モード時の電源電流テストにおいてＳＴＯＰ命令を実行するＲＯＭの番地に対する考慮が不要となり、テストプログラムが容易に作成できるという効果が得られる。また、ＳＴＯＰ命令実行時のマイコン１００の内部状態は常に等しくなるため、状態毎のテストを行う必要がなく、テスト時間を短縮できるという効果が得られる。
【００２４】
実施の形態２．
図９はこの発明の実施の形態２によるマイコンのブロック図である。図１と共通する要素には同一符号を付し、その説明を省略する。このマイコン１０１はアドレスバス値切り替えレジスタ１２、アドレス出力切り替えスイッチ群（出力切り替えスイッチ）１３、データバス値切り替えレジスタ１４、データ出力切り替えスイッチ群（出力切り替えスイッチ）１５を備える。アドレスバス値切り替えレジスタ１２、アドレス出力切り替えスイッチ群１３はアドレスバス１０と接続され、データバス値切り替えレジスタ１４、データ出力切り替えスイッチ群１５はデータバス１１と接続される。また、アドレスバス値切り替えレジスタ１２とアドレス出力切り替えスイッチ群１３、データバス値切り替えレジスタ１４とデータ出力切り替えスイッチ群１５もそれぞれ接続されている。
【００２５】
マイコンを他のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等と接続して使用するマイクロプロセッサモードでは、マイコンの特定の端子がアドレスバス、データバス、バス制御信号用の出力端子として割り振られる。したがって、実施の形態１のように停止モード時にアドレスバス、データバスの値を固定すると、マイコンのバスに接続する他の周辺ＬＳＩに対して制約を与えてしまう恐れがある。そこでこの実施の形態２では、マイクロプロセッサモードでも他の周辺ＬＳＩに制約を与えずに実施の形態１と同様の効果を得られるマイコンを提供する。
【００２６】
図１０は出力端子１６とアドレスバスとの接続について説明する図である。アドレスバスＡＤ０〜ＡＤ１５は各出力端子と接続する。また、各出力端子はアドレスバス値切り替えレジスタ１２と接続する。図１１はアドレスバス値切り替えレジスタ１２の上位８ビット用のレジスタ１２−１と下位８ビット用のレジスタ１２−２の構成を示す図である。レジスタ１２−１を構成する各レジスタａ１５〜ａ８は図１０のａ１５〜ａ８とそれぞれ接続し、レジスタ１２を構成する各レジスタａ７〜ａ０は図１０のａ７〜ａ０とそれぞれ接続する。
【００２７】
各出力端子とアドレスバス値切り替えレジスタ１２（ａ１５〜ａ０）との接続は、アドレス出力切り替えスイッチ群１３の１３−１に示す各スイッチによって切り替えられる。また、各出力端子とアドレスバスＡＤ１５〜ＡＤ０との接続は１３−２に示す各スイッチによって切り替えられる。ＣＰＵ１からＳＴＯＰ２信号が出力されると、１３−１の各スイッチは全てオンとなり、出力端子と切り替えレジスタ１２とを接続する。このとき、１３−２の各スイッチは全てオフとなり、出力端子とアドレスバス１０との接続を解除する。
【００２８】
ユーザはアドレスバス１０およびデータバス１１に固定したい値を予めプログラムに記述しておく。プログラム実行時、ＳＴＯＰ命令が実行される前にこれらの固定値がアドレスバス値切り替えレジスタ１２、データバス値切り替えレジスタ１４にそれぞれ書き込まれる。
【００２９】
次に動作について説明する。
図１２はこの実施の形態２によるマイコン１０１の動作のタイミング図である。ＷＲは書き込み信号であり、アドレス出力切り替えレジスタ１２およびデータ出力切り替えレジスタ１４への書き込みを指示する命令である。ＷＲが出力されるタイミングはＣＰＵ１の動作によって決定される。アドレスバス用固定値回路６が保持する値を’００００１６’、データバス用固定値回路８が保持する値を’００１６’とする。また、ユーザによって予めレジスタ用の固定値が、アドレスバス１０用として’０ＦＦＦ１６’、データバス１１用として’ＦＦ１６’がプログラムに記述されているとする。
【００３０】
書き込み命令の実行は、ＣＰＵ１が書き込み信号ＷＲを（通常’Ｈ’から）’Ｌ’→’Ｈ’にすることでレジスタの書き込みを行う。すなわち、プログラムからアドレスバス用固定値’０ＦＦＦ１６’、データバス用固定値’ＦＦ１６’を読み出し、データバス１１を経由してそれぞれアドレス出力切り替えレジスタ１２、データ出力切り替えレジスタ１４に書き込む。図１２では、最初の書き込み信号ＷＲに応答してデータバス１１の値’０Ｆ１６’がレジスタ１２−１に書き込まれ、次の書き込み信号ＷＲに応答してデータバス１１の値’ＦＦ１６’がレジスタ１２−１に書き込まれる（データ出力切り替えレジスタ１４への書き込みは図示せず）。
【００３１】
続いて、ＳＴＯＰ２信号が出力されると、実施の形態１と同様にアドレスバス１０、データバス１１にそれぞれ’００００１６’、’００１６’が設定される。このとき、図１０の１３−１の各スイッチが全てオンになり、１３−２の各スイッチが全てオフになるため、アドレスバス出力端子１６にアドレスバス値切り替えレジスタ１２の値’０ＦＦＦ１６’が書き込まれ、データバス出力端子１７にデータバス値切り替えレジスタ１４の値’ＦＦ１６’が書き込まれる。したがって、ユーザはアドレスバス出力端子、データバス出力端子に所望の値を設定することができる。
【００３２】
以上のように、この発明によれば、停止モード時にアドレスバス１０、データバス１１に所望の値を設定できるようにしたので、マイコン１０１をマイクロプロセッサモードで使用する場合でも周辺ＬＳＩ等に制約を与えることなく実施の形態１と同様の効果が得られる。
【００３３】
実施の形態３．
図１３はこの発明の実施の形態３によるマイコンをマイクロプロセッサモードで使用したときの一部ブロック図である。マイコンは通常、方向レジスタ２０、ポートレジスタ２１を内蔵し、これらはデータバスに接続されている。方向レジスタ２０、ポートレジスタ２１は、それぞれスイッチ２２、スイッチ２３（レジスタ切り替えスイッチ）が切り替えられることによってアドレスバス出力端子に接続される。マイコンをシングルチップモードで使用するときは方向レジスタ２０、ポートレジスタ２１はポートとして機能するが、マイクロプロセッサモードでは機能しない。そこで、この実施の形態３では、実施の形態２で用いたアドレスバス値切り替えレジスタ１２、データバス値切り替えレジスタ１４の代わりにポートレジスタ２１を使用して出力端子の値を固定する。ポートレジスタ２１は１６ビットのレジスタから構成されている。
【００３４】
図１３（ａ）はマイコン１０２をマイクロプロセッサモードで使用したときの状態を示し、図１３（ｂ）はマイコン１０２をマイクロプロセッサモードで使用し、かつＳＴＯＰ命令実行時の状態を示す。マイクロプロセッサモード時、ＭＩＣＲＯ信号が’Ｈ’となる。スイッチ２２は、マイコン１０２がマイクロプロセッサモードで立ち上がったときに図１３（ａ）に示すように電源とアドレスバス出力端子とを接続する。このとき、スイッチ２３はアドレスバスＡＤ０とアドレス出力端子とを接続する。また、ＭＩＣＲＯ信号が’Ｈ’となり、かつＳＴＯＰ２信号が’Ｈ’となったとき、スイッチ２３は図１３（ｂ）に示すようにポートレジスタ２１とアドレスバス出力端子とを接続する。
【００３５】
次に動作について説明する。
図１４はこの実施の形態３によるマイコン１０２をマイクロプロセッサモードで使用したときの動作のタイミング図である。実施の形態２と同様に、アドレスバス用固定値回路６が保持する値を’００００１６’、データバス用固定値回路８が保持する値を’００１６’とする。また、ユーザによって予めレジスタ用の固定値が、アドレスバス１０用として’０ＦＦＦ１６’、データバス１１用として’ＦＦ１６’がプログラムに記述されているとする。
【００３６】
マイコン１０２がマイクロプロセッサモードで立ち上がると、ＭＩＣＲＯ信号が’Ｈ’となる。書き込み命令に応答して、ＣＰＵ１がプログラムからアドレスバス用固定値’０ＦＦＦ１６’、データバス用固定値’ＦＦ１６’を読み出し、これらの値がデータバス１１を経由してそれぞれポートレジスタ２１に書き込まれる。続いて、ＳＴＯＰ２信号が出力されると、実施の形態１と同様にアドレスバス１０、データバス１１にそれぞれ’００００１６’、’００１６’が設定される。このとき、スイッチ２３がポートレジスタと出力端子とを接続するため、アドレスバス出力端子およびデータバス出力端子にポートレジスタ２１の値’０ＦＦＦ１６’および’ＦＦ１６’がそれぞれ書き込まれる。
【００３７】
以上のように、この実施の形態３によれば、マイコン１０２をマイクロプロセッサモードで使用するとき、ストップ命令実行時にスイッチ２３がバスと出力端子との接続を解除し、ポートレジスタ２１と出力端子とを接続するようにしたので、マイクロプロセッサモード時は新たなレジスタを設けることなく実施の形態２と同様の効果が得られる。
【００３８】
【発明の効果】
以上のように、この発明によれば、ワンチップマイクロコンピュータが、クロック停止機能によって停止モードとなったとき、中央処理装置とバスとを切り離すバス切り離しスイッチと、前記停止モードのとき前記バスに固定の値を設定するバス値固定回路とを備えるように構成したので、停止モード時の内部状態を常に等しくすることができ、製品テストに使用するテストプログラムをＳＴＯＰ命令を実行するＲＯＭの番地を考慮せずに作成することができるため、プログラムの作成が容易になるという効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるマイコンのブロック図である。
【図２】図１のアドレスバス用スイッチ群およびデータバス用スイッチ群の構成を示す図である。
【図３】図１のアドレスバス用固定値回路の構成を示す図である。
【図４】図３のアドレスバス用固定値回路を実現する例を示す図である。
【図５】マイコンの停止モード時の電源電流をテストするときの説明図である。
【図６】この発明の実施の形態１によるマイコンにおいてＣＰＵがＳＴＯＰ命令を実行したときのタイミング図である。
【図７】マイコンを停止モードにするＳＴＯＰ命令が書き込まれた番地が分かるメモリマップ図である。
【図８】マイコンでプログラムを実行したときのタイミング図である
【図９】この発明の実施の形態２によるマイコンのブロック図である。
【図１０】図９の出力端子とアドレスバスとの接続について説明する図である。
【図１１】アドレスバス値切り替えレジスタの構成を示す図である。
【図１２】この発明の実施の形態２によるマイコンの動作のタイミング図である。
【図１３】同実施の形態３によるマイコンの一部ブロック図である。
【図１４】同実施の形態３によるマイコンをマイクロプロセッサモードで使用したときの動作のタイミング図である。
【符号の説明】
１  ＣＰＵ（中央処理装置）、２  ＲＯＭ（記憶手段）、３  ＲＡＭ、４  タイマー、５  ＵＡＲＴ、６  アドレスバス用固定値回路（バス値固定回路）、６−ａ０〜６−ａ１５，７−０〜７−１５，９−０〜９−７  スイッチ、６−ｂ０〜６−ｂ１５  固定値回路、７  アドレスバス用スイッチ群（バス切り離しスイッチ）、８  データバス用固定値回路（バス値固定回路）、９  データバス用スイッチ群（バス切り離しスイッチ）、１０  アドレスバス、１１  データバス、１２  アドレスバス値切り替えレジスタ、１２−１，１２−２  レジスタ、１３アドレス出力切り替えスイッチ群（出力切り替えスイッチ）、１３−１，１３−２  スイッチ、１４  データバス値切り替えレジスタ、１５  データ出力切り替えスイッチ群（出力切り替えスイッチ）、１６，１７  出力端子、２０  方向レジスタ、２１  ポートレジスタ、２２  スイッチ、２３  スイッチ（レジスタ切り替えスイッチ）、１００，１０１，１０２  ワンチップマイクロコンピュータ、ＡＤ０〜ＡＤ１５  アドレスバス、ＤＢ０〜ＤＢ７  データバス。
【図１】
2004252565.tif 000003
【図２】
2004252565.tif 000004
【図３】
2004252565.tif 000005
【図４】
2004252565.tif 000006
【図５】
2004252565.tif 000007
【図６】
2004252565.tif 000008
【図７】
2004252565.tif 000009
【図８】
2004252565.tif 000010
【図９】
2004252565.tif 000011
【図１０】
2004252565.tif 000012
【図１１】
2004252565.tif 000013
【図１２】
2004252565.tif 000014
【図１３】
2004252565.tif 000015
【図１４】
2004252565.tif 000016