(57)【要約】【課題】  マイクロコントローラにおいて通信機能のデバッグに外部で使用されるトリガ信号を所望のタイミングで正確に発生させる。【解決手段】  トリガ発生回路は、カウンタ、複数のカウント回数保持回路および制御回路を備えて構成される。カウンタは、カウント要因信号によるカウント動作をカウント指定回数実施する。複数のカウント回数保持回路の各々は、カウント回数情報を保持する。制御回路は、通信機能に関する複数の割り込み要因信号を順次選択してカウント要因信号として供給するとともに、複数のカウント回数保持回路により保持される複数のカウント回数情報を順次選択してカウント指定回数として供給し、複数の割り込み要因信号の全てに関してカウンタのカウント動作が完了した時点でトリガ信号を発生させる。【選択図】    図１
2008250442.tif 000002
【特許請求の範囲】
【請求項１】
通信機能を有するマイクロコントローラにおいて前記通信機能のデバッグに外部で使用されるトリガ信号を発生させるトリガ発生回路であって、
カウント要因信号によるカウント動作をカウント指定回数実施するカウンタと、
カウント回数情報を保持する複数のカウント回数保持回路と、
前記通信機能に関する複数の割り込み要因信号を順次選択して前記カウント要因信号として供給するとともに、前記複数のカウント回数保持回路により保持される複数のカウント回数情報を順次選択して前記カウント指定回数として供給し、前記複数の割り込み要因信号の全てに関して前記カウンタのカウント動作が完了した時点で前記トリガ信号を発生させる制御回路とを備えることを特徴とするトリガ発生回路。
【請求項２】
請求項１に記載のトリガ発生回路において、
前記複数のカウント回数保持回路の各々は、保持するカウント回数情報の変更が可能であることを特徴とするトリガ発生回路。
【請求項３】
請求項１に記載のトリガ発生回路において、
前記制御回路における前記複数の割り込み要因信号の選択順序情報を保持し、保持する選択順序情報の変更が可能である第１選択順序保持回路を備えることを特徴とするトリガ発生回路。
【請求項４】
請求項１に記載のトリガ発生回路において、
前記制御回路における前記複数のカウント回数情報の選択順序情報を保持し、保持する選択順序情報の変更が可能である第２選択順序保持回路を備えることを特徴とするトリガ発生回路。
【請求項５】
請求項１に記載のトリガ発生回路において、
前記マイクロコントローラは、通常モードおよびデバッグモードを有し、
前記制御回路は、前記マイクロコントローラのデバッグモード時にのみ動作することを特徴とするトリガ発生回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機能を有するマイクロコントローラにおいて通信機能のデバッグに外部で使用されるトリガ信号を発生させるトリガ発生回路に関する。
【背景技術】
【０００２】
通信機能を有するマイクロコントローラについて、通信機能を具現するハードウェアおよびソフトウェアをデバッグする場合には、マイクロコントローラの外部にてオシロスコープやプロトコル解析機を用いて通信バス上の通信データ（パケットあるいはフレーム）の波形をサンプリングして確認するのが一般的である。
例えば、ある通信データを１番目の通信データとしてｋ番目の通信データの波形を確認する場合には、１番目からｋ番目までの通信データの各々の識別情報（データ長、巡回冗長検査（ＣＲＣ：Cyclic Redundancy Check）の検査結果、アドレスや識別子（ＩＤ：Identification）等）をオシロスコープやプロトコル解析機に予め設定しておき、設定条件の全てが満たされた場合に以降の通信データの波形を確認する方法、あるいは、１番目の通信データの識別情報（データ長、ＣＲＣ検査結果、アドレスやＩＤ等）をオシロスコープやプロトコル解析機に予め設定しておき、設定内容が満たされた場合に以降の通信データの波形をｋ番目の通信データまでトレース確認する方法が採用されている。
【０００３】
しかしながら、通信データの識別情報をオシロスコープやプロトコル解析機に設定する場合、設定可能な識別情報の数はサンプリング周期が短く設定されているほど少なくなり、予め設定された識別情報の数が少ないと、所望の通信データと同様の通信データにて設定条件が満たされる可能性があり、所望の通信データの波形を確認できない場合がある。サンプリング周期を長く設定することで設定可能な識別情報の数を多くすることができるが、サンプリング周期を通信データの１ビット長より長く設定することはできない。また、プロトコル解析機は、所定の通信方式のプロトコルに特化して構成されているため、非常に高価なものである。更に、通信方式毎にプロトコルは異なるため、プロトコル解析機を使用する場合、通信方式の各々について特定のプロトコル解析機を用意しなければならない。
【０００４】
このため、マイクロコントローラの内部にて、１番目の通信データに関する通信動作（送信動作／受信動作）の完了に伴う割り込み処理が実施された場合に、以降の通信動作の完了に伴う割り込み処理の実施回数をカウントさせてｋ−１回目の割り込み処理が実施されるのに伴ってトリガ信号を外部のオシロスコープに出力させ、トリガ信号の出力タイミングを利用して通信データの波形をトレース確認する方法が採用されることもある。
【０００５】
図３は、マイクロコントローラから供給されるトリガ信号を利用する従来技術を示している。マイクロコントローラ５０には、通信回路５１、割り込み制御回路５２、ＣＰＵ（Central Processing Unit）５３、カウンタ５４およびポート５６が設けられている。マイクロコントローラ５０のデバッグモード時には、ＣＰＵ５３は、割り込み制御回路５２から供給される割り込み要求信号ＩＲＱおよび割り込み番号信号ＩＮＵＭに基づいて１番目の通信データに関する通信動作の完了に伴う通信回路５１の割り込み要因信号ＩＦ１の活性化を認識すると、割り込み処理により、カウンタ５４に対して以降の通信動作の完了に伴う割り込み処理の実施回数をカウントするように内部バスＢＵＳ１を介して指示する。カウンタ５４は、カウント値が“ｋ−１”に到達すると、割り込み要因信号ＩＦ２を活性化させる。ＣＰＵ５３は、割り込み要求信号ＩＲＱおよび割り込み番号信号ＩＮＵＭに基づいてカウンタ５４の割り込み要因信号ＩＦ２の活性化を認識すると、割り込み処理により、ポート５６に対してトリガ信号ＴＲＧを活性化させるように内部バスＢＵＳ１を介して指示する。オシロスコープ６０は、マイクロコントローラ５０（ポート５６）から供給されるトリガ信号ＴＲＧの活性化に応答して、通信バスＢＵＳ２上の通信データ波形のサンプリングを開始する。
【０００６】
また、トリガ発生回路に関連する技術は、特許文献１、２などに開示されている。
【特許文献１】特開２００４−２４０８２６号公報
【特許文献２】特開平２−５９８３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
マイクロコントローラから供給されるトリガ信号を利用する従来技術では、トリガ信号を発生させるためにソフトウェア処理（割り込み処理）が利用されているため、所望の通信動作が完了してからトリガ信号が発生するまでに時間差が生じ、その時間差もマイクロコントローラの動作状態やソフトウェア処理の実現方法によって一定ではないため、トリガ信号が所望のタイミングで発生しない場合がある。また、割り込み処理では、本来の通信動作に必要な処理も実施されるため、トリガ発生用の処理に要する時間が大きい場合には、本来の通信動作とは異なる通信動作が実施される可能性がある。
【０００８】
本発明の目的は、マイクロコントローラにおいて通信機能のデバッグに外部で使用されるトリガ信号を所望のタイミングで正確に発生させることにある。
【課題を解決するための手段】
【０００９】
本発明の一形態では、通信機能を有するマイクロコントローラにおいて通信機能のデバッグに外部で使用されるトリガ信号を発生させるトリガ発生回路は、カウンタ、複数のカウント回数保持回路および制御回路を備えて構成される。カウンタは、カウント要因信号によるカウント動作をカウント指定回数実施する。複数のカウント回数保持回路の各々は、カウント回数情報を保持する。制御回路は、通信機能に関する複数の割り込み要因信号を順次選択してカウント要因信号として供給するとともに、複数のカウント回数保持回路により保持される複数のカウント回数情報を順次選択してカウント指定回数として供給し、複数の割り込み要因信号の全てに関してカウンタのカウント動作が完了した時点でトリガ信号を発生させる。
【００１０】
好ましくは、複数のカウント回数保持回路の各々は、保持するカウント回数情報の変更が可能である。また、トリガ発生回路は、第１および第２選択順序保持回路の少なくともいずれかを更に備えて構成される。第１選択順序保持回路は、制御回路における複数の割り込み要因信号の選択順序情報を保持し、保持する選択順序情報の変更が可能である。第２選択順序保持回路は、制御回路における複数のカウント回数情報の選択順序情報を保持し、保持する選択順序情報の変更が可能である。例えば、マイクロコントローラは通常モードおよびデバッグモードを有し、制御回路はマイクロコントローラのデバッグモード時にのみ動作する。
【００１１】
以上のようなトリガ発生回路では、通信機能に関する複数の割り込み要因信号をハードウェアによる切換制御を用いてカウント要因信号として順次供給することにより、所望の通信動作が完了してからトリガ信号が発生するまでに時間差が生じるという従来技術の問題点を解決することができ、トリガ信号を所望のタイミングで正確に発生させることができる。
【発明の効果】
【００１２】
本発明によれば、マイクロコントローラにおいて通信機能のデバッグに外部で使用されるトリガ信号を所望のタイミングで正確に発生させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面を用いて説明する。
図１は、本発明の一実施形態を示している。本発明が適用されたマイクロコントローラ１０は、通信回路１１、割り込み制御回路１２、切換回路１３、１５、カウント回数設定レジスタ１４Ａ、１４Ｂ、１４Ｃ、カウンタ１６、ステートマシン１７およびポート１９を備えて構成されている。なお、図示を省略しているが、マイクロコントローラ１０には、ＣＰＵやＤＭＡＣ（Direct Memory Access Controller）なども搭載されている。また、マイクロコントローラ１０には、ＣＰＵがユーザプログラムに従って各種処理を実行する通常モードと、ＣＰＵがデバッグプログラムに従って各種処理を実行するデバッグモードとが設けられている。
【００１４】
通信回路１１は、アドレスｍを有するパケットの通信動作の完了に伴って割り込み要因信号ＩＦＡを高レベルに活性化させ、アドレスｎを有するパケットの通信動作の完了に伴って割り込み要求信号ＩＦＢを高レベルに活性化させる。なお、図示を省略しているが、通信回路１１は、割り込み要因信号ＩＦＡ、ＩＦＢ以外にも、通信エラーの発生に伴って高レベルに活性化される割り込み要因信号なども出力する。また、通信回路１１は、マイクロコントローラ１０のデバッグモード時に、デバッグモード用動作の開始に伴ってデバッグモード信号ＤＢＧを高レベルに活性化させる。割り込み制御回路１１は、割り込み要因信号ＩＦＡ、ＩＦＢ、ＩＦＣを含む複数の割り込み要因信号のいずれかが活性化された場合に、ＣＰＵへの割り込み要求信号（図示せず）を活性化させるとともに、ＣＰＵへの割り込み番号信号（図示せず）を活性化された割り込み要因信号に割り当てられた割り込み番号を示すレベルに設定する。
【００１５】
切換回路１３は、切換制御信号ＳＷＡに応じて割り込み要因信号ＩＦＡ、ＩＦＢのいずれかをカウント要因信号ＣＦとしてカウンタ１６に供給する。カウント回数設定レジスタ１４Ａ、１４Ｂ、１４Ｃは、カウンタ１６のカウント回数を設定するためのレジスタであり、ＣＰＵによるリードアクセス／ライトアクセスが可能である。切換回路１５は、切換制御信号ＳＷＢに応じてカウント回数設定レジスタ１４Ａ、１４Ｂ、１４Ｃのいずれかのレジスタ値をカウント上限値ＬＭＴとしてカウンタ１６に供給する。カウンタ１６は、カウント開始信号ＣＳＴの活性化に応答してカウント要因信号ＣＦによるカウント動作を開始し、カウント値がカウント上限値ＬＭＴに到達するのに伴ってカウント動作を終了して割り込み要因信号ＩＦＣを高レベルに活性化させる。なお、カウンタ１６は、カウント動作を終了するのに伴ってカウント値を“０”に初期化する。
【００１６】
ステートマシン１７は、切換順序設定レジスタ１８Ａ、１８Ｂを備えて構成されている。切換順序設定レジスタ１８Ａ、１８Ｂは、切換回路１３、１５の切換順序を設定するためのレジスタであり、ＣＰＵによるリードアクセス／ライトアクセスが可能である。ステートマシン１７は、デバッグモード信号ＤＢＧの活性化に応答してトリガ発生シーケンスを開始する。ステートマシン１７は、トリガ発生シーケンスにおいて、切換順序設定レジスタ１８Ａ、１８Ｂのレジスタ値に基づいて切換制御信号ＳＷＡ、ＳＷＢにより切換回路１３、１５を制御するとともにカウント開始信号ＣＳＴによりカウンタ１６を制御し、最終的にカウント上限値ＬＭＴが“０”に設定されるのに伴ってトリガ信号ＴＲＧＳを高レベルに活性化させる。ポート１９は、トリガ信号ＴＲＧＳを受けてトリガ信号ＴＲＧとしてオシロスコープ２０に供給する。オシロスコープ２０は、マイクロコントローラ１０（ポート１９）から供給されるトリガ信号の活性化に応答して、通信バスＣＢＵＳ上のパケット波形のサンプリングを開始する。
【００１７】
図２は、本発明の一実施形態の動作波形を示している。ここでは、マイクロコントローラ１０のデバッグモード時に、通信回路１１おいて、アドレスｍを有するパケットの通信動作が２回実施され、アドレスｎを有するパケットの通信動作が３回実施され、その後、波形確認対象のパケットの通信動作が実施されるものとする。これに伴い、カウント回数設定レジスタ１４Ａのレジスタ値は“２”に設定され、カウント回数設定レジスタ１４Ｂのレジスタ値は“３”に設定され、カウント回数設定レジスタ１４Ｃのレジスタ値は“０”に設定されている。また、切換順序設定レジスタ１８Ａのレジスタ値は、切換回路１３による割り込み要因信号の切換順序が割り込み要因信号ＩＦＡ、ＩＦＢの順序になるように設定されている。切換順序設定レジスタ１８Ｂのレジスタ値は、切換回路１５によるカウント回数設定レジスタの切換順序がカウント回数設定レジスタ１４Ａ、１４Ｂ、１４Ｃの順序になるように設定されている。また、ステートマシン１７（ＳＴＡＴＥ）が初期状態ＩＮＩである場合には、割り込み要因信号ＩＦＡがカウント要因信号ＣＦとして供給されるように切換制御信号ＳＷＡを介して切換回路１３が制御されるとともに、カウント回数設定レジスタ１４Ａのレジスタ値（“２”）がカウント上限値ＬＭＴとして供給されるように切換制御信号ＳＷＢを介して切換回路１５が制御されるものとする。
【００１８】
通信回路１１によるデバッグモード用動作の開始に伴ってデバッグモード信号ＤＢＧが高レベルに活性化されると、ステートマシン１７が初期状態ＩＮＩからカウント開始状態ＳＴＲ１に遷移し、カウント開始信号ＣＳＴが高レベルに活性化される。この後、ステートマシン１７がカウント開始状態ＳＴＲ１からカウント状態ＣＮＴ１に遷移する。
アドレスｍを有するパケットＰｍ１の通信動作の完了に伴って割り込み要因信号ＩＦＡが高レベルに活性化されると、割り込み要因信号ＩＦＡがカウント要因信号ＣＦとして供給されているため、カウント要因信号ＣＦも高レベルに活性化される。これにより、カウンタ１６のカウント値が“０”から“１”に更新される。このとき、カウント回数設定レジスタ１４Ａのレジスタ値（“２”）がカウント上限値ＬＭＴとして供給されているため、カウンタ１６のカウント値（“１”）とカウント上限値ＬＭＴ（“２”）とが一致せず、その結果、割り込み要因信号ＩＦＣが高レベルに活性化されることはない。
【００１９】
アドレスｍを有するパケットＰｍ２の通信動作の完了に伴って割り込み要因信号ＩＦＡが高レベルに活性化されると、カウント要因信号ＣＦも高レベルに活性化され、その結果、カウンタ１６のカウント値が“１”から“２”に更新される。このとき、カウンタ１６のカウント値（“２”）とカウント上限値ＬＭＴ（“２”）とが一致するため、割り込み要因信号ＩＦＣが高レベルに活性化される。これに伴って、割り込み要因信号ＩＦＢがカウント要因信号ＣＦとして供給されるように切換制御信号ＳＷＡを介して切換回路１３が制御されるとともに、カウント回数設定レジスタ１４Ｂのレジスタ値（“３”）がカウント上限値ＬＭＴとして供給されるように切換制御信号ＳＷＢを介して切換回路１５が制御される。そして、ステートマシン１７がカウント状態ＣＮＴ１からカウント開始状態ＳＴＲ２に遷移し、カウント開始信号ＣＳＴが高レベルに活性化される。この後、ステートマシン１７がカウント開始状態ＳＴＲ２からカウント状態ＣＮＴ２に遷移する。
【００２０】
アドレスｎを有するパケットＰｎ１の通信動作の完了に伴って割り込み要因信号ＩＦＢが高レベルに活性化されると、割り込み要因信号ＩＦＢがカウント要因信号ＣＦとして供給されているため、カウント要因信号ＣＦも高レベルに活性化される。これにより、カウンタ１６のカウント値が“０”から“１”に更新される。このとき、カウント回数設定レジスタ１４Ｂのレジスタ値（“３”）がカウント上限値ＬＭＴとして供給されているため、カウンタ１６のカウント値（“１”）とカウント上限値ＬＭＴ（“３”）とが一致せず、その結果、割り込み要因信号ＩＦＣが高レベルに活性化されることはない。
【００２１】
アドレスｎを有するパケットＰｎ２の通信動作の完了に伴って割り込み要因信号ＩＦＢが高レベルに活性化されると、カウント要因信号ＣＦも高レベルに活性化され、その結果、カウンタ１６のカウント値が“１”から“２”に更新される。このとき、カウンタ１６のカウント値（“２”）とカウント上限値ＬＭＴ（“３”）とが一致しないため、割り込み要因信号ＩＦＣが高レベルに活性化されることはない。
【００２２】
アドレスｎを有するパケットＰｎ３の通信動作の完了に伴って割り込み要因信号ＩＦＢが高レベルに活性化されると、カウント要因信号ＣＦも高レベルに活性化され、その結果、カウンタ１６のカウント値が“２”から“３”に更新される。このとき、カウンタ１６のカウント値（“３”）とカウント上限値ＬＭＴ（“３”）とが一致するため、割り込み要因信号ＩＦＣが高レベルに活性化される。これに伴って、カウント回数設定レジスタ１４Ｃのレジスタ値（“０”）がカウント上限値ＬＭＴとして供給されるように切換制御信号ＳＷＢを介して切換回路１５が制御される。このとき、カウント上限値ＬＭＴが“０”に設定されるため、ステートマシン１７がカウント状態ＣＮＴ２からトリガ出力状態ＴＧＲＯＵＴに遷移し、トリガ信号ＴＲＧＳが高レベルに活性化される。これにより、マイクロコントローラ１０（ポート１９）からオシロスコープ２０に供給されるトリガ信号ＴＲＧが高レベルに活性化される。この後、ステートマシン１７がトリガ出力状態ＴＲＧＯＵＴから初期状態ＩＮＩに遷移し、割り込み要因信号ＩＦＡがカウント要因信号ＣＦとして供給されるように切換制御信号ＳＷＡを介して切換回路１３が制御されるとともに、カウント回数設定レジスタ１４Ａのレジスタ値（“２”）がカウント上限値ＬＭＴとして供給されるように切換制御信号ＳＷＢを介して切換回路１５が制御される。波形確認対象のパケットＰｔの通信動作が実施される時点では、オシロスコープ２０は、通信バスＣＢＵＳ上のパケット波形のサンプリングを開始しているため、パケットＰｔの波形を確実に取得することができる。
【００２３】
以上のような本発明の一実施形態では、通信回路１１から供給される割り込み要因信号ＩＲＡ、ＩＲＢをハードウェアによるプログラマブルな切換制御を用いてカウント要因信号ＣＦとして順次供給することにより、所望の通信動作が完了してからトリガ信号ＴＲＧが活性化されるまでに時間差が生じることはなく、トリガ信号ＴＲＧを所望のタイミングで正確に活性化させることができる。また、カウント回数設定レジスタ１４Ａ、１４Ｂ、１４Ｃおよび切換順序設定レジスタ１８Ａ、１８Ｂはレジスタ値の変更が可能であるため、トリガ発生シーケンスをプログラマブルに変更可能であり、より複雑な条件でのトリガ信号ＴＲＧの活性化が可能になる。即ち、トリガ信号ＴＲＧの活性化条件の設定自由度を大きくすることができる。
【００２４】
なお、前述した本発明の一実施形態では、アドレスｍを有するパケットの通信動作の完了に伴って高レベルに活性化される割り込み要因信号ＩＦＡと、アドレスｎを有するパケットの通信動作の完了に伴って割り込み要因信号ＩＦＢとをカウント要因信号ＣＦとして利用する例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、通信エラーの発生に伴って高レベルに活性化される割り込み要因信号をカウント要因信号ＣＦとして利用してもよい。
【００２５】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態を示す説明図である。
【図２】本発明の一実施形態の動作波形を示す説明図である。
【図３】マイクロコントローラから供給されるトリガ信号を利用する従来技術を示す説明図である。
【符号の説明】
【００２７】
１０‥マイクロコントローラ；１１‥通信回路；１２‥割り込み制御回路；１３、１５‥切換回路；１４Ａ、１４Ｂ、１４Ｃ‥カウント回数設定レジスタ；１６‥カウンタ；１７‥ステートマシン；１８Ａ、１８Ｂ‥切換順序設定レジスタ；１９‥ポート；２０‥オシロスコープ
【図１】
2008250442.tif 000003
【図２】
2008250442.tif 000004
【図３】
2008250442.tif 000005