(57)【要約】【課題】マイコンチップへの電源電圧の供給源を、エミュレータ内部と外部システムとで自動的に切り替えることができるエミュレータ、供給切り替え装置及び供給切り替え方法を提供する。【解決手段】エミュレータシステムは、エミュレータ１０と、エミュレータ１０を制御するコントローラ１１と、コントローラ１１に接続されたデバッガ２２が動作するパソコン１２とを備える。エミュレータ１０は、マイコンチップ１を搭載したマイコンシステム８と、マイコンシステム８を制御するエバーチップ９と、発振器２１と、外部端子２３と、コントローラ１１からの電源電圧と外部端子２３からの電源電圧を切り替える電源電圧切り替え装置６と、電源電圧切り替え装置６からマイコンチップ１へ電源電圧を供給する電源電圧用バス３０とを備える。【選択図】      図１
2004192318.tif 000002
【特許請求の範囲】
【請求項１】
パソコンに備えられたデバッガからの制御信号を伝えるコントローラによって制御される、マイコンチップを評価するためのエミュレータであって、
前記マイコンチップを搭載するマイコンシステムと、
前記コントローラから前記制御信号を受信し、前記マイコンシステムを制御するエバーチップと、
前記コントローラから供給される第１の電源電圧と外部システムから外部端子を介して供給される第２の電源電圧を切り替えて前記マイコンチップへ電源電圧を供給する電源電圧切り替え装置と
を備えることを特徴とするエミュレータ。
【請求項２】
更に、クロックを発生させる発振器と、
該発振器で発生する第１のクロックと外部システムで発生し外部端子を介して入力される第２のクロックを切り替えて前記マイコンチップへクロックを供給するクロック切り替え装置と
を備えることを特徴とする請求項１に記載のエミュレータ。
【請求項３】
マイコンチップを搭載するマイコンシステム及びパソコンに備えられたデバッガからの制御信号を伝えるコントローラから該制御信号を受信し、前記マイコンシステムを制御するエバーチップを有する、前記マイコンチップを評価するためのエミュレータに搭載される装置であって、
前記コントローラから供給される第１の電源電圧と外部システムから外部端子を介して供給される第２の電源電圧を切り替えて、前記マイコンチップに供給される電源電圧を切り替える電源電圧切り替え部と、
該電源電圧切り替え部への入力を制御するフリップフロップと、
前記第２の電源電圧のレベルを検出するボルテージ・コンパレータと、
前記外部端子からのリセット信号を波形整形させるモノステーブル・マルチバイブレータと
を備えることを特徴とする供給切り替え装置。
【請求項４】
前記電源電圧切り替え部は、
前記第１の電源電圧がソースに供給される第１のトランジスタと、
前記第２の電源電圧がドレインに供給される第２のトランジスタと
を備えることを特徴とする請求項３に記載の供給切り替え装置。
【請求項５】
更に、前記フリップフロップから入力された制御信号に対応して、前記エミュレータ内部の発振器で発生する第１のクロックと外部システムで発生し前記外部端子を介して入力される第２のクロックを切り替えて、前記マイコンチップへクロックを供給する順序回路群を備えることを特徴とする請求項３又は４に記載の供給切り替え装置。
【請求項６】
マイコンチップを搭載するマイコンシステム及びパソコンに備えられたデバッガからの制御信号を伝えるコントローラから該制御信号を受信し、前記マイコンシステムを制御するエバーチップを有する、前記マイコンチップを評価するためのエミュレータにおいて、
前記コントローラが前記エミュレータに電源電圧を投入すると、前記マイコンチップに前記コントローラから供給される第１の電源電圧が供給されるステップと、
前記エミュレータの外部端子に外部システムが接続されると、前記マイコンチップへの電源電圧供給源が前記コントローラから前記外部システムへと切り替わり、前記マイコンチップに前記外部システムから供給される第２の電源電圧が供給されるステップと、
前記外部システムを取り外すと、前記マイコンチップへ供給される電源電圧がオフされるステップと、
該電源電圧がオフされるステップにおいて、前記デバッガからリセットコマンドを実行すると、前記マイコンチップに再び前記第１の電源電圧が供給されるステップと
を含むことを特徴とする供給切り替え方法。
【請求項７】
前記エミュレータは、更に、前記第１の電源電圧がソースに供給される第１のトランジスタを有する電源電圧切り替え部及び該電源電圧切り替え部への入力を制御するフリップフロップとを有する供給切り替え装置を備え、
前記第１の電源電圧が供給されるステップは、電源投入時に前記エミュレータ内部で発生するパワーオン・リセット信号により、前記第１のトランジスタがオンし、前記第１の電源電圧が前記マイコンチップに供給されることを特徴とする請求項６に記載の供給切り替え方法。
【請求項８】
前記エミュレータは、更に、前記第１の電源電圧がソースに供給される第１のトランジスタ及び前記第２の電源電圧がドレインに供給される第２のトランジスタを有する電源電圧切り替え部、該電源電圧切り替え部への入力を制御するフリップフロップとを有する供給切り替え装置を備え、
前記第２の電源電圧が供給されるステップは、前記外部端子から入力されるリセット信号により、前記フリップフロップのデータ入力電位がハイレベルとなり、前記第１のトランジスタはオフし、前記第２のトランジスタがオンすることで前記第２の電源電圧が供給されることを特徴とする請求項６に記載の供給切り替え方法。
【請求項９】
前記エミュレータは、更に、前記第１の電源電圧がソースに供給される第１のトランジスタ及び前記第２の電源電圧がドレインに供給される第２のトランジスタを有する電源電圧切り替え部、該電源電圧切り替え部への入力を制御するフリップフロップとを有する供給切り替え装置を備え、
前記再び前記第１の電源電圧が供給されるステップは、前記フリップフロップのデータ入力電位がローレベルとなり、前記第２のトランジスタはオフし、前記第１のトランジスタがオンすることで、再び前記第１の電源電圧が供給されることを特徴とする請求項６に記載の供給切り替え方法。
【請求項１０】
前記エミュレータは、更に、クロックを発生させる発振器を備え、
前記コントローラが前記エミュレータに電源電圧を投入すると、前記マイコンチップに前記発振器で発生する第１のクロックが供給されるステップと、
前記エミュレータの外部端子に外部システムが接続されると、前記マイコンチップへのクロック供給源が前記発振器から前記外部システムへと切り替わり、前記マイコンチップに前記外部システムで発生し前記外部端子を介して入力される第２のクロックが供給されるステップと、
前記外部システムを取り外すと、前記マイコンチップへ入力されるクロックがオフされるステップと、
該クロックがオフされるステップにおいて、前記デバッガからリセットコマンドを実行すると、前記マイコンチップに再び前記第１のクロックが供給されるステップと
を更に含むことを特徴とする請求項６に記載の供給切り替え方法。
【請求項１１】
前記エミュレータは、更に、前記第１のクロックと前記第２のクロックを切り替える順序回路群を有する供給切り替え装置を備え、
前記第１のクロックが供給されるステップは、電源投入時に前記エミュレータ内部で発生するパワーオン・リセット信号により、前記第１のクロックが供給されることを特徴とする請求項１０に記載の供給切り替え方法。
【請求項１２】
前記エミュレータは、更に、前記マイコンチップに供給される電源電圧を切り替える電源電圧切り替え部への入力を制御するフリップフロップ及び前記第１のクロックと前記第２のクロックを切り替える順序回路群とを有する供給切り替え装置を備え、
前記第２のクロックが供給されるステップは、前記順序回路群が、前記フリップフロップにて生成された出力信号ＣＮＴＳＥＬがインアクティブの状態で、ステート信号Ｆ１が遷移し、その後、ステート信号Ｆ２が遷移したときに、前記第２のクロックが供給されることを特徴とする請求項１０に記載の供給切り替え方法。
【請求項１３】
前記エミュレータは、前記マイコンチップに供給される電源電圧を切り替える電源電圧切り替え部への入力を制御するフリップフロップ及び前記第１のクロックと前記第２のクロックを切り替える順序回路群とを有する供給切り替え装置を備え、
前記再び前記第１のクロックが供給されるステップは、前記順序回路群が、前記フリップフロップにて生成された出力信号ＣＮＴＳＥＬがアクティブの状態で、ステート信号Ｆ２が遷移し、その後、ステート信号Ｆ１が遷移したときに、再び前記第１のクロックが供給されることを特徴とする請求項１０に記載の供給切り替え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイコンソフト開発支援ツールのエミュレータに関し、特にエミュレータへの電源電圧及びクロックの供給切り替え装置及び供給切り替え方法に関する。
【０００２】
【従来の技術】
従来のエミュレータシステムは、図８に示すように、エミュレータ１１０と、エミュレータ１１０を制御するコントローラ１１１と、コントローラ１１１に接続されたデバッガ１２２を有するパソコン１１２とを備える。エミュレータ１１０は、マイコンチップ１０１を搭載したマイコンシステム１０８と、マイコンシステム１０８を制御するエバーチップ１０９とを備える。従来のエミュレータシステムでは、マイコンシステム１０８への電源電圧及びクロックの供給は、電源電圧切り替え装置１１３及びクロック切り替え装置１１４により、エミュレータ内部で生成されたものを供給するか、外部から供給するかを事前に設定しておく必要がある。
【０００３】
電源電圧及びクロックの供給切り替え方法について、接触型ＩＣカード向けマイコンチップを評価するエミュレータを例に説明する。ＩＣカード向けマイコンチップは、通常、単体で動作せず、ＩＣカード用リーダ・ライタを接続した状態で使用される。ＩＣカード向けマイコンチップの動作は、リーダ・ライタから供給された電源電圧及びクロックによって行われる。
【０００４】
一方、ＩＣカード向けマイコンチップの開発段階では、エミュレータを使用したソフトウェア開発を行う。このソフトウェア開発では、通常、プログラムの局所的な機能動作の確認のために、マイコンチップを単体、つまりマイコンチップをエミュレータに搭載し、単体で動作させて行うソフトウェアデバッグと、プログラムの総合的な機能動作の確認のために、そのマイコンチップを搭載したエミュレータをリーダ・ライタと接続した状態で行うソフトウェアデバッグが必要となる。
【０００５】
このデバッグ作業について、エミュレータと外部システムとの電源電圧に差がある場合に、電源電圧切換回路を不要とする評価用マイクロコンピュータは開示されている（例えば、特許文献１参照。）。
【０００６】
【特許文献１】
特開平１１−２８２７１０号公報（第３−４頁、第１図）
【０００７】
【発明が解決しようとする課題】
上記のように、ＩＣカード向けマイコンチップへの電源電圧及びクロックは、通常、リーダ・ライタから供給されるため、ＩＣカード向けマイコンチップを単体で動作させてソフトウェアデバッグを行う場合は、ＩＣカード向けマイコンチップに対し、外部からもしくはエミュレータ内部で生成した電源電圧及びクロックを供給する必要がある。従来のエミュレータでは、電源電圧及びクロックの供給源をエミュレータ側に持たせ、リーダ・ライタとの接続時も電源電圧及びクロック系統はリーダ・ライタ側とは完全に分離させた状態で使用していた。その場合、エミュレータとリーダ・ライタとの電源電圧レベルの差が生じる、リーダ・ライタとのクロックが非同期になるという問題があった。又、リーダ・ライタを接続したときに、リーダ・ライタ側から電源電圧及びクロックを供給する場合も、機械的な切り替えスイッチ等により切り替えを行っており、操作の煩わしさがあった。
【０００８】
上記の問題に鑑み、本発明は、マイコンチップへの電源電圧及びクロックの供給源を、エミュレータ内部と外部システムとで自動的に切り替えることができるエミュレータ、供給切り替え装置及び供給切り替え方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の特徴は、パソコンに備えられたデバッガからの制御信号を伝えるコントローラによって制御される、マイコンチップを評価するためのエミュレータであって、（イ）マイコンチップを搭載するマイコンシステムと、（ロ）コントローラから制御信号を受信し、マイコンシステムを制御するエバーチップと、（ハ）コントローラから供給される第１の電源電圧と外部システムから外部端子を介して供給される第２の電源電圧を切り替えてマイコンチップへ電源電圧を供給する電源電圧切り替え装置とを備えるエミュレータであることを要旨とする。
【００１０】
第１の特徴に係るエミュレータによると、ソフトウェア開発で、エミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、外部システムを接続してソフトウェアデバッグを行う状態に変更される際に、電源電圧の供給源を自動で切り替えることができる。これにより、エミュレータの電源電圧系統を外部システムのものと分離させた状態で使用しないので、外部システムとの電源電圧レベルの差も生じることなく、エミュレータを使用できる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００１１】
又、第１の特徴に係るエミュレータは、（ニ）クロックを発生させる発振器と、（ホ）発振器で発生する第１のクロックと外部システムで発生し外部端子を介して入力される第２のクロックを切り替えてマイコンチップへクロックを供給するクロック切り替え装置を備えても良い。このエミュレータによると、ソフトウェア開発で、エミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、外部システムを接続してソフトウェアデバッグを行う状態に変更される際に、クロックの供給源を自動で切り替えることができる。これにより、エミュレータのクロック系統を外部システムのものと分離させた状態で使用しないので、外部システムとの完全な同期通信が可能となる。
【００１２】
本発明の第２の特徴は、マイコンチップを搭載するマイコンシステム及びパソコンに備えられたデバッガからの制御信号を伝えるコントローラから制御信号を受信し、マイコンシステムを制御するエバーチップを有する、マイコンチップを評価するためのエミュレータに搭載される装置であって、（イ）コントローラから供給される第１の電源電圧と外部システムから外部端子を介して供給される第２の電源電圧を切り替えて、マイコンチップに供給される電源電圧を切り替える電源電圧切り替え部と、（ロ）電源電圧切り替え部への入力を制御するフリップフロップと、（ハ）第２の電源電圧のレベルを検出するボルテージ・コンパレータと、（ニ）外部端子からのリセット信号を波形整形させるモノステーブル・マルチバイブレータとを備える供給切り替え装置であることを要旨とする。
【００１３】
第２の特徴に係る供給切り替え装置によると、ソフトウェア開発で、エミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、外部システムを接続してソフトウェアデバッグを行う状態に変更される際に、電源電圧の供給源を自動で切り替えることができる。これにより、エミュレータの電源電圧系統を外部システムのものと分離させた状態で使用しないので、外部システムとの電源電圧レベルの差も生じることなく、エミュレータを使用できる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００１４】
又、第２の特徴に係る供給切り替え装置の電源電圧切り替え部は、第１の電源電圧がソースに供給される第１のトランジスタと、第２の電源電圧がドレインに供給される第２のトランジスタとを備えても良い。
【００１５】
更に、第２の特徴に係る供給切り替え装置は、フリップフロップから入力された制御信号に対応して、エミュレータ内部の発振器で発生する第１のクロックと外部システムで発生し外部端子を介して入力される第２のクロックを切り替えて、マイコンチップへクロックを供給する順序回路群を更に備えても良い。この供給切り替え装置によると、ソフトウェア開発で、エミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、外部システムを接続してソフトウェアデバッグを行う状態に変更される際に、クロックの供給源を自動で切り替えることができる。これにより、エミュレータのクロック系統を外部システムのものと分離させた状態で使用しないので、外部システムとの完全な同期通信が可能となる。
【００１６】
発明の第３の特徴は、マイコンチップを搭載するマイコンシステム及びパソコンに備えられたデバッガからの制御信号を伝えるコントローラから制御信号を受信し、マイコンシステムを制御するエバーチップを有する、マイコンチップを評価するためのエミュレータにおいて、（イ）コントローラがエミュレータに電源電圧を投入すると、マイコンチップにコントローラから供給される第１の電源電圧が供給されるステップと、（ロ）エミュレータの外部端子に外部システムが接続されると、マイコンチップへの電源電圧供給源がコントローラから外部システムへと切り替わり、マイコンチップに外部システムから供給される第２の電源電圧が供給されるステップと、（ハ）外部システムを取り外すと、マイコンチップへ供給される電源電圧がオフされるステップと、（ニ）電源電圧がオフされるステップにおいて、デバッガからリセットコマンドを実行すると、マイコンチップに再び第１の電源電圧が供給されるステップとを含む供給切り替え方法であることを要旨とする。
【００１７】
第３の特徴に係る供給切り替え方法によると、ソフトウェア開発で、エミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、外部システムを接続してソフトウェアデバッグを行う状態に変更される際に、電源電圧の供給源を自動で切り替えることができる。これにより、エミュレータの電源電圧系統を外部システムのものと分離させた状態で使用しないので、外部システムとの電源電圧レベルの差も生じることなく、エミュレータを使用できる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００１８】
又、第３の特徴に係る供給切り替え方法において、エミュレータは、更に、第１の電源電圧がソースに供給される第１のトランジスタを有する電源電圧切り替え部及び電源電圧切り替え部への入力を制御するフリップフロップとを有する供給切り替え装置を備え、第１の電源電圧が供給されるステップは、電源投入時にエミュレータ内部で発生するパワーオン・リセット信号により、第１のトランジスタがオンし、第１の電源電圧がマイコンチップに供給されても良い。又、エミュレータは、更に、第１の電源電圧がソースに供給される第１のトランジスタ及び第２の電源電圧がドレインに供給される第２のトランジスタを有する電源電圧切り替え部、電源電圧切り替え部への入力を制御するフリップフロップとを有する供給切り替え装置を備え、第２の電源電圧が供給されるステップは、外部端子から入力されるリセット信号により、フリップフロップのデータ入力電位がハイレベルとなり、第１のトランジスタはオフし、第２のトランジスタがオンすることで第２の電源電圧が供給されても良い。又、エミュレータは、更に、第１の電源電圧がソースに供給される第１のトランジスタ及び第２の電源電圧がドレインに供給される第２のトランジスタを有する電源電圧切り替え部、電源電圧切り替え部への入力を制御するフリップフロップとを有する供給切り替え装置を備え、再び第１の電源電圧が供給されるステップは、フリップフロップのデータ入力電位がローレベルとなり、第２のトランジスタはオフし、第１のトランジスタがオンすることで、再び第１の電源電圧が供給されても良い。
【００１９】
更に、第３の特徴に係る供給切り替え方法において、エミュレータは、更に、クロックを発生させる発振器を備え、（ホ）コントローラがエミュレータに電源電圧を投入すると、マイコンチップに発振器で発生する第１のクロックが供給されるステップと、（へ）エミュレータの外部端子に外部システムが接続されると、マイコンチップへのクロック供給源が発振器から外部システムへと切り替わり、マイコンチップに外部システムで発生し外部端子を介して入力される第２のクロックが供給されるステップと、（ト）外部システムを取り外すと、マイコンチップへ入力されるクロックがオフされるステップと、（チ）クロックがオフされるステップにおいて、デバッガからリセットコマンドを実行すると、マイコンチップに再び第１のクロックが供給されるステップとを更に含んでも良い。この供給切り替え方法によると、ソフトウェア開発で、エミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、外部システムを接続してソフトウェアデバッグを行う状態に変更される際に、クロックの供給源を自動で切り替えることができる。これにより、エミュレータのクロック系統を外部システムのものと分離させた状態で使用しないので、外部システムとの完全な同期通信が可能となる。
【００２０】
又、第３の特徴に係る供給切り替え方法において、エミュレータは、更に、第１のクロックと第２のクロックを切り替える順序回路群を有する供給切り替え装置を備え、第１のクロックが供給されるステップは、電源投入時にエミュレータ内部で発生するパワーオン・リセット信号により、第１のクロックが供給されても良い。又、エミュレータは、更に、マイコンチップに供給される電源電圧を切り替える電源電圧切り替え部への入力を制御するフリップフロップ及び第１のクロックと第２のクロックを切り替える順序回路群とを有する供給切り替え装置を備え、第２のクロックが供給されるステップは、順序回路群が、フリップフロップにて生成された出力信号ＣＮＴＳＥＬがインアクティブの状態で、ステート信号Ｆ１が遷移し、その後、ステート信号Ｆ２が遷移したときに、第２のクロックが供給されても良い。又、エミュレータは、マイコンチップに供給される電源電圧を切り替える電源電圧切り替え部への入力を制御するフリップフロップ及び第１のクロックと第２のクロックを切り替える順序回路群とを有する供給切り替え装置を備え、再び第１のクロックが供給されるステップは、順序回路群が、フリップフロップにて生成された出力信号ＣＮＴＳＥＬがアクティブの状態で、ステート信号Ｆ２が遷移し、その後、ステート信号Ｆ１が遷移したときに、再び第１のクロックが供給されても良い。
【００２１】
【発明の実施の形態】
次に、図面を参照して、本発明の第１〜第２の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。但し、図面は模式的なものであることに留意すべきである。
【００２２】
（第１の実施の形態）
第１の実施の形態では、マイコンチップへの電源電圧の供給源を、エミュレータシステム内部と外部システムとで自動的に切り替えることができるエミュレータ、供給切り替え装置及び供給切り替え方法について説明する。
【００２３】
第１の実施の形態に係るエミュレータシステムは、図１に示すように、エミュレータ１０と、パソコン１２に備えられたデバッガ２２からの制御信号及び電源電圧ＶＣＣをエミュレータ１０に伝えるコントローラ１１とを備える。
【００２４】
エミュレータ１０は、マイコンチップ１を搭載するマイコンシステム８と、コントローラ１１から制御信号を受信し、マイコンシステム８を制御するエバーチップ９と、コントローラ１１から供給される第１の電源電圧ＶＣＣと外部システムから外部端子２３を介して供給される第２の電源電圧ＶＤＤを切り替えてマイコンチップ１へ電源電圧を供給する電源電圧切り替え装置６とを備える。更に、図１に示すエミュレータ１０は、クロックを発生させる発振器２１と、電源電圧切り替え装置６からマイコンチップ１へ電源電圧を供給する電源電圧用バス３０とを備える。
【００２５】
このエミュレータ１０は、例えば、接触型ＩＣカードシステム等のマイコンチップの開発ツールとして用いることができる。この場合、外部端子２３に接続する外部システムとしては、ＩＣカードリーダやＩＣカードリーダ・ライタ等のＩＣカード通信端末が相当する。外部端子２３はＩＣカード通信端末等との接続用インタフェースであり、第１の実施の形態に係るエミュレータ１０は、外部システムが外部端子２３に接続されているか否かを自動認識して、マイコンチップ１への電源電圧の供給源を切り替える。
【００２６】
電源電圧切り替え装置６は、コントローラ１１から供給される電源電圧ＶＣＣと外部端子２３を介して供給される電源電圧ＶＤＤを自動的に切り替えて、マイコンチップ１にいずれか一方の電源電圧を供給する。クロックに関しては、クロック切り替え装置１４を用いて、エミュレータ１０内部の発振器２１で生成されたクロックＯＳＣと外部端子２３から入力されるクロックＣＬＫを切り替える。
【００２７】
電源電圧切り替え装置６は、図２に示すように、コントローラ１１から供給される電源電圧ＶＣＣと外部システムから外部端子２３を介して供給される電源電圧ＶＤＤを切り替えて、マイコンチップ１に供給される電源電圧を切り替える電源電圧切り替え部２５と、電源電圧切り替え部２５への入力を制御するフリップフロップ２８と、電源電圧ＶＤＤのレベルを検出するボルテージ・コンパレータ２６と、外部端子２３からのリセット信号を波形整形させるモノステーブル・マルチバイブレータ２７とを備える。
【００２８】
電源電圧切り替え部２５は、図２では、電源電圧ＶＣＣがソースに供給される第１のトランジスタ４０と電源電圧ＶＤＤがドレインに供給される第２のトランジスタ４１を備えている。第１のトランジスタ４０及び第２のトランジスタ４１のドレインからソースの間にはダイオードが接続されている。第１のトランジスタ４０及び第２のトランジスタ４１のゲートに接続されたフリップフロップ２８からの入力信号により、第１のトランジスタ４０と第２のトランジスタ４１のオン・オフが切り替わる。この切り替えにより、ＶＣＣとＶＤＤのどちらか一方がマイコンチップ１の電源電圧ＶＤＤ５として供給される。
【００２９】
フリップフロップ２８は、パワーオン・リセット信号ＲＥＳＥＴ及びリセット信号ＲＥＳＯＵＴが入力されると、これに応じて、出力信号ＣＮＴＳＥＬと反転出力信号ＴＧＴＳＥＬのいずれか一方をアクティブとする。出力信号ＣＮＴＳＥＬがアクティブの場合、第１のトランジスタ４０がオンされ、反転出力信号ＴＧＴＳＥＬがアクティブの場合、第２のトランジスタ４１がオンされる。出力信号ＣＮＴＳＥＬと反転出力信号ＴＧＴＳＥＬは互いに相補の関係である。
【００３０】
図２に示すパワーオン・リセット信号ＲＥＳＥＴは、電源投入時にエミュレータ１０内部で発生する信号である。図２では、パワーオン・リセット信号ＲＥＳＥＴは、電源切り替え装置６内部で発生しているが、エミュレータ１０内部であればどこで発生させたものでも構わない。リセット信号ＣＰＵＲＥＳは、外部端子２３からの電源電圧ＶＤＤがボルテージ・コンパレータ２６により検知されている時の外部端子２３からのリセット信号ＲＳＴを、モノステーブル・マルチバイブレータ２７により波形整形させた信号である。即ち、リセット信号ＣＰＵＲＥＳは、外部システムが接続されているときに、波形整形された外部端子２３からのリセット信号である。リセット信号ＣＰＵＲＥＳは、エバーチップ９へ出力される。リセット信号ＲＥＳＯＵＴは、リセット信号ＣＰＵＲＥＳを受けてエバーチップ９から出力される他、デバッガ２２からリセットコマンドを実行すると、それを受けて出力される。
【００３１】
第１の実施の形態に係るエミュレータによると、接触型ＩＣカード向けマイコンチップ等のエミュレータを使用したソフトウェア開発で、マイコンチップを単体、つまりエミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、エミュレータにリーダ・ライタを接続してソフトウェアデバッグを行う状態に変更される際において、電源電圧の供給源を自動で切り替えることができる。これにより、エミュレータの電源電圧系統をリーダ・ライタ側と分離させた状態で使用しないので、リーダ・ライタとの電源電圧レベルの差も生じることなく使用できる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００３２】
次に、図２のブロック図を参照しながら、図３の状態遷移図を用いて、第１の実施の形態に係る供給切り替え方法について説明する。以下の説明では、ＩＣカード向けマイコンチップをエミュレータに搭載し、これを単体、もしくはリーダ・ライタを接続した状態で、ソフトウェアデバッグを行う場合を例にとり、説明する。
【００３３】
（イ）まず、図３のステップＳ１では、エミュレータ１０の主電源がＯＦＦの状態である。外部端子２３にリーダ・ライタ等の外部システムを接続しないエミュレータ１０単体の状態で主電源をＯＮすると、マイコンチップ１へは、コントローラ１１から、エミュレータシステム内部の電源電圧ＶＣＣが供給され、ステップＳ２の状態に遷移する。エミュレータ１０を単体で動作させて行うソフトウェアデバッグはステップＳ２の状態で行うこととなる。このステップＳ１の状態からステップＳ２の状態への遷移を詳しく説明すると、電源投入時にエミュレータ１０内部で発生するパワーオン・リセット信号ＲＥＳＥＴにより、出力信号ＣＮＴＳＥＬがアクティブとなる。これにより、第１のトランジスタ４０がオンすることでステップＳ２の状態へ遷移する。この時、マイコンチップ１の電源電圧ＶＤＤ５はコントローラ１１からの電源電圧ＶＣＣとなる。図４における（Ａ）の状態である。この状態でデバッガ２２からリセットコマンドを実行しても、マイコンチップ１の電源電圧ＶＤＤ５はＶＣＣのままで切り替わらない。
【００３４】
（ロ）次に、リーダ・ライタを接続すると、リーダ・ライタからは初期動作として、外部端子２３の接続及び活性化が行われる。その過程において外部端子２３のＲＳＴ端子の入力電位をローレベルにする。これを受けて、マイコンシステム１０への電源電圧供給源がエミュレータからリーダ・ライタ側に切り替わり、マイコンチップ１へは電源電圧ＶＤＤが供給され、ステップＳ３の状態に遷移する。このステップＳ２の状態からステップＳ３の状態への遷移を詳しく説明すると、まず、リーダ・ライタが外部端子２３に接続され、リーダ・ライタからの電源電圧ＶＤＤがボルテージ・コンパレータ２６により検知されている状態で、リーダ・ライタから入力されたリセット信号ＲＳＴにより、リセット信号ＣＰＵＲＥＳがアクティブとなる。図４における（Ｂ）の状態である。これにより、フリップフロップ２８のデータ入力電位がハイレベルとなる。又、リセット信号ＣＰＵＲＥＳを受けてリセット信号ＲＥＳＯＵＴがアクティブとなり、これをフリップフロップ２８のクロック入力として受けることにより反転出力信号ＴＧＴＳＥＬがアクティブとなる。その結果、第１のトランジスタ４０はオフし、第２のトランジスタ４１がオンすることでステップＳ３の状態へ遷移する。この時、マイコンチップ１の電源電圧ＶＤＤ５は外部端子２３からの電源電圧ＶＤＤとなる。この状態でデバッガ２２からリセットコマンドを実行しても、マイコンチップ１の電源電圧ＶＤＤ５はＶＤＤのままで切り替わらない。
【００３５】
（ハ）次に、リーダ・ライタを取り外すと、ステップＳ３からステップＳ４の状態に遷移する。このとき、電源電圧の供給源はリーダ・ライタであるが、リーダ・ライタは取り外されているので、ステップＳ４の状態では電源電圧はＯＦＦとなっている。図４における（Ｂ’）の状態である。この時、リーダ・ライタからの電源電圧ＶＤＤがボルテージ・コンパレータ２６により検知されていない状態で、リーダ・ライタからのリセット信号ＲＳＴの入力もないため、リセット信号ＣＰＵＲＥＳがインアクティブとなる。これにより、フリップフロップ２８のデータ入力電位がローレベルとなる。再度、リーダ・ライタを接続すると、ステップＳ４からステップＳ３の状態へと戻る。
【００３６】
（ニ）ステップＳ４の状態で、デバッガ２２からリセットコマンドを実行すると、それを受けて、マイコンチップ１への電源電圧供給源がリーダ・ライタ側からエミュレータ１０に切り替わり、マイコンチップ１へは電源電圧ＶＣＣが供給され、ステップＳ２の状態に遷移する。このステップＳ４の状態からステップＳ２の状態への遷移を詳しく説明すると、フリップフロップ２８のデータ入力電位はローレベルであり、デバッガ２２からのリセットコマンド実行によりリセット信号ＲＥＳＯＵＴがアクティブとなる。図４における（Ｃ）の状態である。これをフリップフロップ２８の入力として受けることにより出力信号ＣＮＴＳＥＬがアクティブとなる。その結果、第２のトランジスタ４１はオフし、第１のトランジスタ４０がオンすることでステップＳ２の状態へ遷移する。この時、マイコンチップ１の電源電圧ＶＤＤ５はＶＣＣとなる。再び、リーダ・ライタを接続すると、ステップＳ２からステップＳ３の状態へ遷移し、電源電圧ＶＤＤ５はＶＤＤとなる。図４における（Ｄ）の状態である。
【００３７】
第１の実施の形態に係る供給切り替え方法によると、接触型ＩＣカード向けマイコンチップ等のエミュレータを使用したソフトウェア開発で、マイコンチップを単体、つまりエミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、エミュレータにリーダ・ライタを接続してソフトウェアデバッグを行う状態に変更させる際において、電源電圧の供給源を自動で切り替えることができる。これにより、エミュレータの電源電圧系統をリーダ・ライタ側と分離させた状態で使用しないので、リーダ・ライタとの電源電圧レベルの差も生じることなく使用できる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００３８】
又、第１の実施の形態にかかる供給切り替え方法によると、デバッガ２２のコマンドから電源電圧の供給源を、外部システムからエミュレータ側へと切り替えることが可能となる。これにより、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００３９】
（第２の実施の形態）
第２の実施の形態では、電源電圧に加え、マイコンチップへのクロックの供給源を、エミュレータシステム内部と外部システムとで自動的に切り替えることができるエミュレータ、供給切り替え装置及び供給切り替え方法について説明する。
【００４０】
第２の実施の形態に係るエミュレータシステムは、図５に示すように、エミュレータ１０と、エミュレータ１０を制御するコントローラ１１と、コントローラ１１に接続されたデバッガ２２を備えるパソコン１２とを備える。エミュレータ１０は、マイコンチップ１を搭載するマイコンシステム８と、コントローラ１１から制御信号を受信し、マイコンシステム８を制御するエバーチップ９と、コントローラ１１から供給される第１の電源電圧ＶＣＣと外部システムから外部端子２３を介して供給される第２の電源電圧ＶＤＤを切り替えてマイコンチップ１へ電源電圧を供給する電源電圧切り替え装置６と、クロックを発生させる発振器２１と、発振器２１で発生する第１のクロックと外部システムで発生し外部端子２３を介して入力される第２のクロックを切り替えてマイコンチップ１へクロックを供給するクロック切り替え装置７とを備える。更に、図５に示すエミュレータ１０は、電源電圧切り替え装置６からマイコンチップ１へ電源電圧を供給する電源電圧用バス３０と、クロック切り替え装置７からマイコンチップ１へクロックを供給するクロック用バス３１とを備える。このエミュレータ１０は、第１の実施の形態と同様に、例えば、接触型ＩＣカードシステム等のマイコンチップの開発ツールとして用いることができる。この場合、外部端子２３に接続する外部システムとしては、ＩＣカードリーダやＩＣカードリーダ・ライタ等のＩＣカード通信端末が相当する。外部端子２３はＩＣカード通信端末等との接続用インタフェースであり、第２の実施の形態に係るエミュレータ１０は、外部システムが外部端子２３に接続されているか否かを自動認識して、マイコンチップ１への電源電圧及びクロックの供給源を切り替える。
【００４１】
クロック切り替え装置７は、図６に示すように、ステートマシンを構成する順序回路群２９を備える。クロック切り替え装置７には、電源電圧切り替え装置６のフリップフロップ２８にて生成された出力信号ＣＮＴＳＥＬと反転出力信号ＴＧＴＳＥＬが入力される。又、電源投入時にエミュレータ１０内部で発生するパワーオン・リセット信号ＲＥＳＥＴも入力される。パワーオン・リセット信号ＲＥＳＥＴは、図６では、電源電圧切り替え装置６で発生したものを使用しているが、クロック切り替え装置７内部で発生したものを使用しても良いことは勿論である。順序回路群２９は、出力信号ＣＮＴＳＥＬ、反転出力信号ＴＧＴＳＥＬ、パワーオン・リセット信号ＲＥＳＥＴを入力とし、発振器２１で生成されたクロックＯＳＣと外部システムで生成され外部端子２３を介して入力されたクロックＣＬＫを切り替え、クロック用バス３１を介してマイコンチップ１へクロックを供給する。順序回路群２９内部のステート信号Ｆ１の電位は、出力信号ＣＮＴＳＥＬがインアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがアクティブ）で、発振器２１で生成されたクロックＯＳＣを検出したときに、ハイレベルとなる。又、出力信号ＣＮＴＳＥＬがアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがインアクティブ）で、発振器２１で生成されたクロックＯＳＣを検出したときに、ローレベルとなる。ステート信号Ｆ２の電位は、ステート信号Ｆ１がアクティブで、外部端子２３から入力されたクロックＣＬＫを検出したときに、ハイレベルとなる。又、出力信号ＣＮＴＳＥＬがアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがインアクティブ）のときに、強制的にローレベルとなる。ステート信号Ｆ１の電位とステート信号Ｆ２の電位が共にローレベルのとき、マイコンチップ１には発振器２１で生成されたクロックＯＳＣが供給され、ステート信号Ｆ１の電位とステート信号Ｆ２の電位が共にハイレベルのとき、マイコンチップ１には外部端子２３から入力されたクロックＣＬＫが供給される。
【００４２】
マイコンシステム８、エバーチップ９、発振器２１、外部端子２３、コントローラ１１、電源電圧切り替え装置６に関しては、図１と同様であるので、ここでは説明を省略する。
【００４３】
第２の実施の形態に係るエミュレータによると、接触型ＩＣカード向けマイコンチップ等のエミュレータを使用したソフトウェア開発で、マイコンチップを単体、つまりエミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、エミュレータにリーダ・ライタを接続してソフトウェアデバッグを行う状態に変更される際において、クロックの供給源を自動で切り替えることができる。これにより、エミュレータのクロック系統をリーダ・ライタ側と分離させた状態で使用しないので、リーダ・ライタとの完全な同期通信が可能となる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００４４】
次に、図５のブロック図を参照しながら、図３の状態遷移図を用いて、第２の実施の形態に係る供給切り替え方法について説明する。以下の説明では、エミュレータがＩＣカードシステムであり、外部システムがリーダ・ライタである場合を例にとり、説明する。
【００４５】
（イ）まず、図３のステップＳ１は、エミュレータ１０の主電源がＯＦＦの状態である。外部端子２３にリーダ・ライタ等の外部システムを接続しないエミュレータ１０単体の状態で主電源電圧をＯＮすると、マイコンチップ１へは、エミュレータ１０内部の発振器２１で生成したクロックＯＳＣが入力され、ステップＳ２の状態に遷移する。エミュレータ１０を単体で動作させて行うソフトウェアデバッグはステップＳ２の状態で行うこととなる。このステップＳ１の状態からステップＳ２の状態への遷移を詳しく説明すると、電源投入時にエミュレータ１０内部で発生するパワーオン・リセット信号ＲＥＳＥＴ及び出力信号ＣＮＴＳＥＬがアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがインアクティブ）になることにより、発振器２１で生成されたクロックＯＳＣが選択される。この時、マイコンチップ１に入力されるクロックＰＣＬＫはクロックＯＳＣとなる。図７における（Ｅ）の状態である。
【００４６】
（ロ）次に、リーダ・ライタを接続すると、リーダ・ライタからは初期動作として、外部端子２３の接続及び活性化が行われる。その過程において外部端子２３のＲＳＴ端子の電位をローレベルにする。これを受けて、マイコンチップ１へのクロック供給源がエミュレータからリーダ・ライタ側に切り替わり、マイコンチップ１へはクロックＣＬＫが入力され、ステップＳ３の状態に遷移する。このステップＳ２の状態からステップＳ３の状態への遷移を詳しく説明すると、まず、リーダ・ライタがＩＣカードシステムに接続され、出力信号ＣＮＴＳＥＬがインアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがアクティブ）となる。それを受けてステートマシンのステート信号Ｆ１及びステート信号Ｆ２の電位がクロックＯＳＣ及びクロックＣＬＫのエッジ検出により状態遷移する。図７における（Ｆ）の状態である。図７では、まず、ステート信号Ｆ１の電位が、クロックＯＳＣのクロック波形の最初の矢印で表されるエッジ検出により、遷移している。同様に、ステート信号Ｆ２の電位は、クロックＣＬＫのクロック波形の最初の矢印で表されるエッジ検出により、遷移している。そして、ステート信号Ｆ１及びステート信号Ｆ２の電位が共に状態遷移された後に、クロックの切り替えが行われ、ステップＳ３の状態へ遷移する。つまり、出力信号ＣＮＴＳＥＬがインアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがアクティブ）の状態で、クロックＯＳＣを検出し、その後、クロックＣＬＫを検出したときに、マイコンチップ１へクロックＣＬＫが入力される。ステート信号Ｆ１の状態遷移の後、２周期分、クロックＣＬＫをカウントしてからステート信号Ｆ２の電位が遷移するのは、クロックの切り替わり目に規定の時間より短いクロックパルスが発生するのを防ぐためである。図７では、２周期分タイムラグを取っているが、このタイムラグの長さは任意であることは勿論である。この時、マイコンチップ１に入力されるクロックＰＣＬＫはＣＬＫとなる。
【００４７】
（ハ）次に、リーダ・ライタを取り外すと、ステップＳ３からステップＳ４の状態に遷移する。このとき、クロックの供給源はリーダ・ライタであるが、リーダ・ライタは取り外されているので、ステップＳ４の状態ではクロックはＯＦＦとなっている。図７における（Ｆ’）の状態である。再度、リーダ・ライタを接続すると、ステップＳ４からステップＳ３の状態へと戻る。
【００４８】
（ニ）ステップＳ４の状態で、デバッガ２２からリセットコマンドを実行すると、それを受けて、マイコンチップ１へのクロック供給源がリーダ・ライタ側からエミュレータ１０に切り替わり、マイコンチップ１へはクロックＯＳＣが供給され、ステップＳ２の状態に遷移する。このステップＳ４の状態からステップＳ２の状態への遷移を詳しく説明すると、デバッガ２２からのリセットコマンド実行により出力信号ＣＮＴＳＥＬがアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがインアクティブ）となる。図７における（Ｇ）の状態である。それを受けてステートマシンのステート信号Ｆ２の電位が強制的に状態遷移し、その後、クロックＯＳＣのエッジ検出によりステート信号Ｆ１の電位が状態遷移する。ステート信号Ｆ２、ステート信号Ｆ１の電位が共に状態遷移された後、クロックの切り替えが行われステップＳ２の状態へ遷移する。つまり、出力信号ＣＮＴＳＥＬがアクティブ（あるいは反転出力信号ＴＧＴＳＥＬがインアクティブ）の状態で、クロックＯＳＣを検出したときに、マイコンチップ１へクロックＯＳＣが入力される。この時、マイコンチップ１に入力されるクロックＰＣＬＫはＯＳＣとなる。
【００４９】
第２の実施の形態に係る供給切り替え方法によると、接触型ＩＣカード向けマイコンチップ等のエミュレータを使用したソフトウェア開発で、マイコンチップを単体、つまりエミュレータを単体で動作させてソフトウェアデバッグを行っている状態から、エミュレータにリーダ・ライタを接続してソフトウェアデバッグを行う状態に変更される際において、クロックの供給源を自動で切り替えることができる。これにより、エミュレータのクロック系統をリーダ・ライタ側と分離させた状態で使用しないので、リーダ・ライタとの完全な同期通信が可能となる。従って、より実使用にあった状態でのソフトウェアデバッグが可能となる。又、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００５０】
又、第２の実施の形態にかかる供給切り替え方法によると、デバッガ２２のコマンドから電源電圧及びクロックの供給源を、外部システムからエミュレータ側へと切り替えることが可能となる。これにより、機械的な電源電圧の切り替え作業も不要となることで、切り替えの煩わしさがなくなる。
【００５１】
（その他の実施の形態）
本発明は上記の第１〜第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００５２】
例えば、図２に示す電源電圧切り替え装置６の電源電圧切り替え部２５、ボルテージ・コンパレータ２６、モノステーブル・マルチバイブレータ２７、フリップフロップ２８、図６に示すクロック力替え装置７の順序回路群２９は、ハードウェアとしてとして設計されている回路であるが、この機能をプログラミングによりソフトウェア上で実現しても構わない。
【００５３】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【００５４】
【発明の効果】
本発明によると、マイコンチップへの電源電圧及びクロックの供給源を、エミュレータ内部と外部システムとで自動的に切り替えることができるエミュレータ、供給切り替え装置及び供給切り替え方法を提供することができる。
【図面の簡単な説明】
【図１】第１の実施の形態に係るエミュレータシステムの構成を示すブロック図である。
【図２】第１の実施に形態に係る供給切り替え装置の構成を示すブロック図である。
【図３】第１及び第２の実施に形態に係る供給切り替え方法を示す状態遷移図である。
【図４】第１の実施に形態に係る電源電圧切り替えのタイミングチャートである。
【図５】第２の実施の形態に係るエミュレータシステムの構成を示すブロック図である。
【図６】第２の実施に形態に係る供給切り替え装置の構成を示すブロック図である。
【図７】第２の実施に形態に係るクロック切り替えのタイミングチャートである。
【図８】従来のエミュレータシステムの構成を示すブロック図である。
【符号の説明】
１、１０１  マイコンチップ
５  供給切り替え装置
６、１１３  電源電圧切り替え装置
７、１４、１１４  クロック切り替え装置
８、１０８  マイコンシステム
９、１０９  エバーチップ
１０、１１０  エミュレータ
１１、１１１  コントローラ
１２、１１２  パソコン
２１  発振器
２２、１２２  デバッガ
２３  外部端子
２５  電源電圧切り替え部
２６  ボルテージ・コンパレータ
２７  モノステーブル・マルチバイブレータ
２８  フリップフロップ
２９  順序回路群
３０  電源電圧用バス
３１  クロック用バス
４０  第１のトランジスタ
４１  第２のトランジスタ
【図１】
2004192318.tif 000003
【図２】
2004192318.tif 000004
【図３】
2004192318.tif 000005
【図４】
2004192318.tif 000006
【図５】
2004192318.tif 000007
【図６】
2004192318.tif 000008
【図７】
2004192318.tif 000009
【図８】
2004192318.tif 000010