(57)【要約】  マイクロコントローラの動作を分析するための装置は、マイクロコントローラ集積回路（２）と、アナライザ（１２）および発生機（１４）からなるグループから選択される少なくとも一つの機器と、前記マイクロコントローラ集積回路（２）と前記機器（１２、１４）との設定可能な相互接続を包含する相互接続モジュール（８）と、を備える。前記装置は、また、前記相互接続モジュール（８）を制御して、ユーザが選択した機能と、前記マイクロコントローラ集積回路（２）の定められた機能および接続とに基づいて前記相互接続を決定するように構成されたソフトウェア（１６）を含み、前記装置自体が、前記マイクロコントローラ集積回路（２）の少なくとも一部の機能および接続を決定するように設定される。【選択図】図１
2016504692.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラの動作を分析する装置であって、前記装置は、
マイクロコントローラ集積回路と、
アナライザと発生機とを含むグループから選択される少なくとも一つの機器と、
前記マイクロコントローラ集積回路と前記機器との設定可能な相互接続を包含する相互接続モジュールと、
ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定するために、前記相互接続モジュールを制御するように作成されたソフトウェアと、を備え、
前記装置は、それ自身が、前記マイクロコントローラ集積回路の少なくとも一部の機能および接続を決定するように設定される
ことを特徴とする装置。
【請求項２】
前記アナライザは、ロジック・アナライザと、オシロスコープと、スペクトラム・アナライザと、電流測定装置と、パターン・バスデコーダおよびパターン・バスアナライザと、を含むグループから選択される
ことを特徴とする、請求項１に記載の装置。
【請求項３】
前記発生器は、信号発生器と、パターン発生器と、を含むグループから選択される
ことを特徴とする、請求項１または２に記載の装置。
【請求項４】
内部のリソースがどのように設定されているのか、および／または、前記リソースがどの入／出力アドレスにマッピングされているのかを見つけるために、前記マイクロコントローラ集積回路に信号を送信して調べるように構成される
ことを特徴とする、請求項１乃至請求項３のいずれかに記載の装置。
【請求項５】
マイクロコントローラ集積回路を収納するように設定された、マイクロコントローラの動作を分析するための装置であって、前記装置は、
アナライザと発生機とを含むグループから選択される少なくとも一つの機器と、
使用中である、前記マイクロコントローラ集積回路と前記機器との設定可能な相互接続を包含する相互接続モジュールと、
ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定するために、前記相互接続モジュールを制御するように構成されたソフトウェアと、を備え、
前記装置は、それ自身が、前記マイクロコントローラ集積回路の少なくとも一部の機能および接続を決定するように設定される
ことを特徴とする装置。
【請求項６】
前記相互接続モジュールは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）を備える
ことを特徴とする、請求項１乃至請求項５のいずれかに記載の装置。
【請求項７】
前記機器または一つ以上の前記機器の動作を設定するように構成される
ことを特徴とする、請求項１乃至請求項６のいずれかに記載の装置。
【請求項８】
前記マイクロコントローラ集積回路の前記機能に基づいて、前記設定を自動的に実施するように構成される
ことを特徴とする、請求項１乃至請求項７のいずれかに記載の装置。
【請求項９】
前記相互接続モジュールおよび／または前記機器の設定に関するデータを格納するように構成される
ことを特徴とする、請求項１乃至請求項８のいずれかに記載の装置。
【請求項１０】
データ・プロセッサ上で実行すると、マイクロコントローラ集積回路と、アナライザおよび発生機を含むグループから選択される少なくとも一つの機器との設定可能な相互接続を有する相互接続モジュールを制御して、ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定するように設定されるコンピュータ・ソフトウェア製品であって、さらに、前記マイクロコントローラ集積回路の少なくとも一部の機能および接続を決定するように設定される
ことを特徴とするソフトウェア製品。
【請求項１１】
前記アナライザは、ロジック・アナライザと、オシロスコープと、スペクトラム・アナライザと、電流測定装置と、パターン・バスデコーダおよびパターン・バスアナライザと、を含むグループから選択される
ことを特徴とする、請求項１０に記載のソフトウェア製品。
【請求項１２】
前記発生器は、信号発生器と、パターン発生器と、を含むグループから選択される
ことを特徴とする、請求項１０または請求項１１に記載のソフトウェア製品。
【請求項１３】
内部のリソースがどのように設定されているのか、および／または、前記リソースがどの入／出力アドレスにマッピングされているのかを見つけるために、前記マイクロコントローラ集積回路に信号を送信して調べるように構成される
ことを特徴とする、請求項１０乃至請求項１２のいずれかに記載のソフトウェア製品。
【請求項１４】
前記機器または一つ以上の前記機器の動作を設定するように構成されるロジックを含む
ことを特徴とする、請求項１０乃至請求項１３のいずれかに記載のソフトウェア製品。
【請求項１５】
前記マイクロコントローラ集積回路の前記機能に基づいて、前記設定を自動的に実施するように構成されるロジックを含む
ことを特徴とする、請求項１０乃至請求項１４のいずれかに記載のソフトウェア製品。
【請求項１６】
前記相互接続モジュールおよび／または前記機器の設定に関するデータを格納するように設定される
ことを特徴とする、請求項１０乃至請求項１５のいずれかに記載のソフトウェア製品。
【請求項１７】
マイクロコントローラ集積回路と、アナライザおよび発生機を含むグループから選択される少なくとも一つの機器との設定可能な相互接続を有する相互接続モジュールを制御することと、
ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定することと、
前記マイクロコントローラ集積回路の少なくとも一部の機能および接続を決定することと、を行なう命令を有するコンピュータ・ソフトウェアを記憶する
ことを特徴とする持続性コンピュータ可読媒体
。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発者、製品開発者、試験者などのような、デジタル・マイクロコントローラの機能を確認したりテストしたりしたい人々が使用するツールに関する。
【背景技術】
【０００２】
マイクロコントローラ・ユニット集積回路（「ＭＣＵチップ」）の製造業者にとって、チップを購入する人々がチップを利用するソフトウェア・アプリケーションを開発することのできるソフトウェア開発キットを提供することが一般的である。これらの開発キットは、通常、チップが製品に採用される環境をシミュレートすることができる、電源やユーザ・インターフェースのような周辺構成要素を含むであろう。ある製品、特にバッテリ駆動の製品に使用するＭＣＵ用のアプリケーションを開発するに際して重要な側面は、電力使用を最適化しようとすることである。したがって、開発キットを使用する目的の一つは、様々な動作モードでのチップの電流消費を測定することである。
【０００３】
適合するデバッガツールに接続可能な専用ピンを介してチップから詳細な動作情報が提供されるデバッガ機能を持ったＭＣＵチップを提供することも一般的である。一部の製造業者は、このようなデバッガ・ツールを開発キットと一体化している。
【発明の概要】
【０００４】
出願人は、開発者がＭＣＵチップの機能を探求してテストすることができる容易性と信頼性を高めたいと考え、第一の側面から見ると、本発明は、マイクロコントローラの動作を分析する装置を提供するものであって、前記装置は、
マイクロコントローラ集積回路と、
アナライザと発生機とを含むグループから選択される少なくとも一つの機器と、
前記マイクロコントローラ集積回路と前記機器との設定可能な相互接続を包含する相互接続モジュールと、
ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定するために、前記相互接続モジュールを制御するように作成されたソフトウェアと、を備える。
【０００５】
したがって、本発明によれば、少なくともその好適な実施形態において、ユーザが、ＭＣＵの詳細構成、特にピン配置も、さらに機器の詳細構成も知ったり覚えたりする必要なしに、標準的な機器を用いてＭＣＵチップの動作を分析することができるツールが提供されることを、当業者は理解するであろう。 
【０００６】
アナライザは、ロジック・アナライザと、オシロスコープと、スペクトラム・アナライザと、電流測定装置と、パターン・バスデコーダおよびパターン・バスアナライザと、を含むグループから選択することができる。発生器は、信号発生器と、パターン発生器と、を含むグループから選択することができる。これらのグループは非限定的であって、他の任意のアナライザまたは発生器を使用することができると考えてもよい。本発明の装置は、一つ以上の器具を備えることができる。二つ以上が提供される場合、それらは、少なくとも一つの発生器と少なくとも一つのアナライザを含むことになるが、これが必須というわけではない。
【０００７】
上記に例示した機器は、どちらかといえば、種々のＭＣＵチップの分析のために使用することができる標準的な器具である。ただし、所定の動作のための適切な接続を確実に実行するためにユーザが機器の詳細な動作およびＭＣＵチップのピン配置を知る必要がある従来技術と対照的に、本発明によれば、それらの間の接続は、相互接続モジュールによって処理される。ユーザがＭＣＵのピン配置および器具プローブの構成を熟知している場合であっても、本発明の実施形態によれば、実験の準備をより迅速にそして間違いを犯すリスクも少なく実施することができる。
【０００８】
マイクロコントローラ集積回路の機能および接続は、適切な構成データを含むファイルを受信することによって決定することができる。追加としてまたは代わりとして、一部または全ての機能および接続は、装置自体によって決定することができる。例えば、装置は、内部のリソースがどのように設定されているのか、および／または、リソースがどの入／出力アドレスにマッピングされているのかを見つけるために、マイクロコントローラ集積回路に信号を送信して調べるように構成されたソフトウェアを含んでもよい。こうすれば、リソースがアナライザ／発生器にどのように接続されているかに関する選択肢とともに、リソースをユーザに提示することができる。
【０００９】
マイクロコントローラ集積回路は、装置に一体化したものとして提供することもできるし、取外し可能であってもよい。取り外し可能である場合、装置を他のＭＣＵチップと使用することができる。したがって、本発明は、第二の態様から見ると、マイクロコントローラ集積回路を収納するように設定された、マイクロコントローラの動作を分析するための装置を提供するものであって、前記装置は、
アナライザと発生機とを含むグループから選択される少なくとも一つの機器と、
使用中である、前記マイクロコントローラ集積回路と前記機器との設定可能な相互接続を包含する相互接続モジュールと、
ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定するために、前記相互接続モジュールを制御するように構成されたソフトウェアと、を備えることを理解するであろう。
【００１０】
前記機器は一つだけのマイクロコントローラ集積回路に接続する必要はなく、例えば、時間多重化装置のような多重化装置を介して、複数のマイクロコントローラ集積回路に接続することもできる。こうすれば、所定の機器をより効率的に利用することができるであろう。また、同様であるか名目上同一であるＭＣＵチップ間の比較テストを行なうことができる。
【００１１】
一組の実施形態では、相互接続モジュールは、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）を備える。
【００１２】
前記装置は、それを前にしたユーザがその場でソフトウェアを操作できるようにするユーザインタフェースを備えることができる。しかし、これは必須ではない。また、開発者がＭＣＵチップを物理的に手にする必要がないように、リモート・ユーザが適切なデータ・ネットワーク・リンクを介して前記ソフトウェアを操作できることも想定される。こうすれば、共同作業を容易にすることもできる。
【００１３】
前記装置は、マイクロコントローラ集積回路と機器との相互接続を設定するとともに、前記機器または一つ以上の前記機器の動作を設定するように構成することもできる。したがって、例えば、前記マイクロコントローラ集積回路に対して特定の動作モードまたはリソースが決定された場合、前記機器は、そのリソースを探索するために適切に接続されてもよいし、そのような動作のために適切に設定されてもよい。前記装置の設定は、マイクロコントローラ集積回路の機能に基づいて自動的に実施することができる。例えば、マイクロコントローラ集積回路のシリアル周辺機器インターフェース（ＳＰＩ）がＳＰＩパターン発生器に接続されている場合、前記ＳＰＩパターン発生器は、このインターフェースのために的確なデータ速度および動作モードに自動的に設定される。
【００１４】
一組の実施形態では、前記装置は、前記相互接続モジュールおよび／または前記機器の設定に関するデータを、後日または他の装置などに再利用できるようにするため格納するように構成される。
【００１５】
第三の態様から見ると、本発明は、母体装置に提供されることもあればされないこともあり、適切なデータ・プロセッサ上で実行すると、マイクロコントローラ集積回路とアナライザおよび発生機を含むグループから選択される少なくとも一つの機器との設定可能な相互接続を有する相互接続モジュールを制御して、ユーザが選択した機能と、前記マイクロコントローラ集積回路の定められた機能および接続とに基づいて前記相互接続を決定するように設定されるコンピュータ・ソフトウェア製品を提供する。
【図面の簡単な説明】
【００１６】
本発明の実施形態について、付随する図面を参照しながら、ほんの一例として説明することにする。
【図１】本発明を具体化する装置の概略図である。
【図２】該装置のハードウェアのより詳細な概略図である。
【図３】装置のユーザ・インターフェースの例示的な画面コピーである。
【発明を実施するための形態】
【００１７】
図１は、本発明を具体化する、マイクロプロセッサ集積回路（ＭＣＵ）２の機能を解析するための装置の概略図である。この装置は、ＭＣＵを含むハードウェア側４と、ソフトウェア側６と、を備えることが分かるであろう。このＭＣＵ２は、以後「セレクタ」と呼ぶ、選択的に設定可能な相互接続モジュール８に接続されている。 ＭＣＵ２とセレクタ８は、制御ユニット１０にも接続されている。ＭＣＵ２の分析に使用する二つの例示的な機器、すなわち、アナライザ１２と発生機１４が設けられている。アナライザ１２は、ＭＣＵ２の出力を調べて記録するために使用されるので、これらの出力をセレクタ８を介して受信する。発生機１４は、ＭＣＵ２へ入力するための適切な信号やパターンを生成するために使用されるので、これらの入力をセレクタ８に提供する。
【００１８】
ソフトウェア側６には、制御ユニット１０、アナライザ１２、発生機１４と、それぞれのアプリケーション周辺機器インタフェース１８、２０、２２を用いて通信する全体的なソフトウェア・アプリケーション１６が提供されている。
【００１９】
ハードウェア構成要素は、図２にもう少し詳細に示されている。図の右側には、ＭＣＵ２が、もちろん他の任意の適切なＭＣＵを使用することができるものの、ここでは出願人のｎＲＦ５１というチップのラインアップの一つとして例示されている。このＭＣＵ２は、三十二個の汎用入／出力接続２６を用いてフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）２４に接続されている。
【００２０】
ＭＣＵ２の電源は、ＦＰＧＡ２４によって、任意の所与の瞬間にＭＣＵ２に流れる電流を測定することを可能にする電流シャント・モニタ２８を用いて提供される。ＦＰＧＡ２４と電流シャント・モニター２８がまとまって図１のセレクタ８を構成する。
【００２１】
前述したように、ＭＣＵ２は、その動作の制御を受けるために制御ユニット１０にも接続されている。例示的な一実施形態では、制御ユニット１０は、ドイツのヒルデンにあるＳＥＧＧＥＲマイクロコントローラ社（ＧｍｂＨ＆Ｃｏ．ＫＧ）から入手可能なＪ−Ｌｉｎｋエミュレータ・ツールによって提供される。この制御ユニットは、ＦＰＧＡ２４の制御も行なう。
【００２２】
この特定の詳細例では、発生機は、出力３２を多くのチャンネルを用いてＦＰＧＡ２４に提供する、例えば、Ｃｙｐｒｅｓｓ  ＥＺ−ＵＳＢ  ＦＸ３のような信号・パターン発生機３０として例示されている。ここで例示したアナライザは、やはりＣｙｐｒｅｓｓ  ＥＺ−ＵＳＢ  ＦＸ３によって提供され、ＦＰＧＡ２４に接続される多くの入力チャネル３６を有するロジック・アナライザ３４である。
【００２３】
信号・パターン発生機３０、ロジック・アナライザ３４、および制御ユニット１０は、装置を操作するソフトウェア・アプリケーション１６に共通に接続できるようにするＵＳＢハブ３８に接続されている。
【００２４】
使用中に、ソフトウェア・アプリケーション１６は、制御ユニット１０を介してＭＣＵ２をアクセスすることによって、どのような種類のマイクロコントローラが当該装置（例えば、ｎＲＦ５１８２２）に存在するのかを検出する。この情報は、図３に示されている画面コピーの下半分にあるボックスに「ｎＲＦ５１８２２を検出しました」という内容で示してあるように、ソフトウェア・アプリケーション１６が提供するユーザ・インタフェース上に表示することができる。マイクロコントローラの種類を検出すると、ソフトウェア・アプリケーション１６は、装置の設定を行なうことができる。これは、例えば、ライブラリ内にある、またはサーバからダウンロードした情報を使用して行なうことができる。しかし、その代わりに、ソフトウェア・アプリケーション１６は、制御ユニット１０とやりとりして、ＭＣＵ２内の別々のリソースがどのように設定され、これらのリソースがどの入／出力２６にマッピングされているのかを見つけるためにＭＣＵ２を照会することによって、当該装置を設定することもできる。いずれの方法であれ、ソフトウェア・アプリケーション１６は、ユーザにＭＣＵのリソースを、それらがどのようにロジック・アナライザ３４および信号・パターン発生機３０に接続され得るかの選択肢付きで提示するために、ＦＰＧＡ２４が適切な相互接続を設定するよう制御ユニット１０に命令することができる。図３は、下側のウィンドウにあるチェックボックスによって選択することができる接続を示している。
【００２５】
ユーザがこのような接続を指定すると、ソフトウェア・アプリケーション１６は、ユーザの選好にしたがってこれらのリソースをＭＣＵ２の正しい入／出力２６に、接続するためにＦＰＧＡ２４を適切に設定する。このインフラによって、ソフトウェア・アプリケーション１６は、アナライザ３４と発生機３０とのプローブ相互接続の詳細、およびこれらがどのようにＭＣＵ２に接続されているのかについてはユーザの目に触れさせることなく排除し完全に抽象化することができる。
【００２６】
その代わりに、ソフトウェア・アプリケーション１６は、図３に示すように、アナライザと発生機がどのようにＭＣＵ２の適切なリソースに接続することができるのかを示すことで、非常にシンプルなインターフェイスをユーザに提供することができる。ＭＣＵ２がどのように設定されているのかについての詳細な情報がソフトウェア・アプリケーション１６には利用可能なので、ソフトウェア・アプリケーション１６がアナライザ３４と発生機３０のセットアップを簡素化することも可能である。機器３０、３４のそのようなセットアップは、ＵＳＢハブ３８が提供するデータ接続を使用して行われる。例えば、ＭＣＵのシリアル周辺機器インターフェース（ＳＰＩ）がパターン発生機３０に接続されている場合、後者は、適切なデータ速度および動作モードなどが自動的に設定される。
【００２７】
上述した実施形態によって提供される利点は、従来技術でワークベンチをセットアップする典型的なシナリオと比較することによって理解することができる。従来技術では、発生機のプローブ番号Ｘをアナライザのプローブ番号Ｙに接続し、次にこれをＭＣＵのピン番号Ｚに接続することを手動でおこなう必要があるだろう。ユーザは、次に、発生機とアナライザをＭＣＵ上でプローブするリソースの設定と一致するようにセットアップし、ＭＣＵ上の特定のリソースが正常に動作し正しいピンとプローブなどに接続されていることを確認する必要がある。
【００２８】
これとは対照的に、上記の実施形態によれば、装置内の別々のコンポーネントがどのように相互接続され設定されているのかをソフトウェア・アプリケーションが知っているので、このようなワークベンチのセットアップは大幅に簡略化される。アナライザと発生機のプローブのＭＣＵとの相互接続は、ＭＣＵから抽出した情報に基づいて、およびソフトウェア・アプリケーションを介してユーザが提供した情報から、自動的にセットアップすることができる。アナライザと発生機も、同じ情報に基づいて自動的に設定することができる。
【００２９】
説明した実施形態では、手動で処理する相互接続を何も必要とせず、ソフトウェアによって制御されるので、従来のワークベンチのセットアップを使用する場合と比較していくつかの利点が得られる。第一に、エラーになる可能性が低い。第二に、新しいワークベンチをセットアップするのに少ない作業で済む。また、一度完了すると、セットアップを行なった作業は、セットアップの設定を設定ファイルに保存しあとでそれを再適用することによって、再利用することができる。これは、セットアップ設定ファイルを使用して、ハードウェアにアクセスすることなく当該セットアップを分析することができることも意味している。また、セットアップを仮想ポータルに接続し、遠隔地の係員がアクセスすることもできる、つまり、一台の機器（発生機またはアナライザ）を、時間多重化を使用して、複数の場所で同時に用いることができる。
【００３０】
なお、上記した実施形態は単に例示に過ぎず、本発明の範囲内で多くの詳細部分を変更することができることを、当業者であれば理解するであろう。例えば、追加のまたは別の機器を用いてもよいし、もちろん、それを別のマイクロコントローラと共に使用することもできる。
【図１】
2016504692.tif 000003
【図２】
2016504692.tif 000004
【図３】
2016504692.tif 000005
【国際調査報告】
2016504692.tif 000006
2016504692.tif 000007