(57)【要約】【課題】時間の経過により複数のステータスを遷移するＤＬＣモジュール等の半導体装置において、効率よくデバッグを行うことが可能な半導体装置を得ることを目的とする。【解決手段】本発明の一実施形態に係るＤＬＣモジュール１００は、タイマ１０２、タイマ１０２による時間経過に伴い複数のステータスを遷移させるステータス制御部１０４、タイマの動作／停止を設定するモード設定レジスタ１０１、タイマ１０２の停止時にステータス制御部１０４が制御すべき一のステータスを設定するステータス設定レジスタ１０３を備えて構成される。【選択図】  図１
2010009188.tif 000002
【特許請求の範囲】
【請求項１】
タイマと、
前記タイマによる時間経過に伴い複数のステータスを遷移させるステータス制御部と、
前記タイマの動作／停止を設定するモード設定レジスタと、
前記タイマの停止時に前記ステータス制御部が制御すべき一のステータスを設定するステータス設定レジスタと、を備える、
半導体装置。
【請求項２】
タイマと、
前記タイマによる時間経過に伴い複数のステータスを遷移させるステータス制御部と、
ＣＰＵの動作に応じて前記タイマの動作／停止を制御するタイマ制御部と、
前記タイマの動作時に前記ステータス制御部によるステータス遷移に応じて前記ＣＰＵに割り込み信号を送る手段と、を備える、
半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間経過に伴い複数のステータスを遷移する半導体装置に関する。
【背景技術】
【０００２】
図３は、ＥＴＣにおいて車側に搭載される従来のＤＬＣ（Ｄａｔａ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌｌｅｒ）モジュールにおける通信フレームの構成例を示す図であり、図４は該フレーム構成のデータを通信するときのＤＬＣモジュールの状態遷移を示す図である。図３に示すように１フレームの周期は２．３ｍｓであり、１フレームは約７８０μｓの３つのスロットにより構成されるとする。３つのスロットは、フレーム全体を制御する下りのスロットであるＦＣＭＳ（Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｓｌｏｔ）、スロット１、およびスロット２により構成される。
【０００３】
スロット１はＥＴＣ情報を交換する双方向のスロットであるＭＤＳ（Ｍｅｓｓａｇｅ  Ｄａｔａ  Ｓｌｏｔ）であり、スロット２は空きとなっている。ＦＣＭＳは、ＦＣＭＣ（Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｃｈａｎｎｅｌ）を含み、ＭＤＳは、データ送信用のＭＤＣ（Ｍｅｓｓａｇｅ  Ｄａｔａ  Ｃｈａｎｎｅｌ）およびデータ受信用のＡＣＫＣ（ＡＣＫ  Ｃｈａｎｎｅｌ）を含む。
【０００４】
このようなスロット構成において、ＤＬＣモジュールのステータス遷移は図４にようになる。路側と車側との間における路車間通信において、まず路側から送信されるフレームに含まれるプリアンブル（以下、ＰＲとする。）待ち状態（ステップＳ１１）から始まり、ＰＲが検出されるとチャネルの開始位置を示すユニークワード（以下、ＵＷとする。）待ち状態（ステップＳ１２）となる。ＵＷが検出された後ＦＣＭＣが受信され（ステップＳ１３）、その後はＤＬＣモジュール内のタイマにより一定時間が経過するたびにスロット１通信中（ステップＳ１４）、スロット２通信中（ステップＳ１５）へと遷移する。スロット２通信が終了すると、再びＰＲ待ち（ステップＳ１１）へと戻る。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら上述したＤＬＣモジュールをデバッグする場合において、ブレークポイントをかけて変数の値や制御レジスタの内容を確認するとき、時間の経過により次のステータスに遷移し処理を継続することができなくなってしまい、デバッグに手間取るという問題があった。あるいはデバッグ対象となるステータスに直接遷移する手段がないため、初期ステータスから始めて順次ステータス遷移の条件を満たす必要があるため効率が悪いという問題があった。また、現状のステータスを知る手段が無いためデバッグのためのソフトウェア処理が間に合っているか否かの判断が困難であり、想定外のタイミングでステータス変化が起こった場合などは解析作業が困難になるという問題があった。
【０００６】
本発明は上述のような問題を解決するためになされたものであり、時間の経過により複数のステータスを遷移するＤＬＣモジュール等の半導体装置において、効率よくデバッグを行うことが可能な半導体装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る半導体装置は、タイマ、タイマによる時間経過に伴い複数のステータスを遷移させるステータス制御部、タイマの動作／停止を設定するモード設定レジスタ、タイマの停止時にステータス制御部が制御すべき一のステータスを設定するステータス設定レジスタを備えて構成される。
【０００８】
本発明の一実施形態に係る半導体装置は、タイマ、タイマによる時間経過に伴い複数のステータスを遷移させるステータス制御部、ＣＰＵの動作に応じてタイマの動作／停止を制御するタイマ制御部、タイマの動作時にステータス制御部によるステータス遷移に応じてＣＰＵに割り込み信号を送る手段を備えて構成される。
【発明の効果】
【０００９】
本発明の一実施形態に係る半導体装置は、半導体装置のステータスを自由に設定できるため、例えば特定のステータス時の動作をデバッグしたい場合など、初期ステータスから順番に遷移条件を満たしていく必要がなくなり、デバッグ効率を向上させることが可能である。また、時間が経過してもステータスが変化しない、すなわちタイマを停止させたモードで動作させることにより、タイミングが間に合っていないことが問題なのか、論理的に誤りがあるのかの切り分けを容易にすることが可能である。
【００１０】
本発明の一実施形態に係る半導体装置は、ステータス遷移に応じてＣＰＵに割り込み信号を送る手段を備えており、想定外のタイミングでステータス変化が起こったことを検出することができるとともに、デバッグのためのソフトウェア処理が間に合っているか否かの判断が可能であり、ステータス変化の瞬間のソフトウェアの状態などを調べることも可能である。また、ＣＰＵの実行に合わせてタイマを動作させつつ、デバッガで変数の値やレジスタの内容などを確認しながらデバッグを行えるので、デバッグ効率を向上させることが可能である。
【発明を実施するための最良の形態】
【００１１】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
【００１２】
＜実施の形態１＞
（構成）
図１は、本実施の形態に係るＤＬＣモジュール１００の構成を示す図である。ＤＬＣモジュール１００は、タイマ１０２、タイマ１０２の動作（通常モード）／停止（デバッグモード）を設定するためのモード設定レジスタ１０１を備える。モード設定レジスタ１０１の出力部はタイマ１０２の入力部に接続される。
【００１３】
モード設定レジスタ１０１の設定について、モード設定レジスタ１０１に設定される値が「１」のときはデバッグモードでありタイマ１０２は停止し、「０」のときは通常モードでありタイマ１０２は動作する。
【００１４】
またＤＬＣモジュール１００は、通信部（図示せず）を制御する通信制御部１０５、タイマ１０２による時間経過に伴いステータス信号を用いて複数のステータスを遷移させるステータス制御部１０４を備える。ステータス制御部１０４の出力部は通信制御部１０５の入力部と接続される。また、タイマ１０２の停止時にステータス制御部１０４が制御すべき一のステータスを設定するステータス設定レジスタ１０３を備え、ステータス制御部１０４の入力部は、タイマ１０２およびステータス設定レジスタ１０３の出力部に接続される。
【００１５】
ステータス設定レジスタ１０３の設定について、値は０〜４までの５種類あり、０：ＰＲ検出ステータス、１：ＵＷ検出ステータス、２：ＦＣＭＣ受信中ステータス、３：スロット１通信中ステータス、４：スロット２通信中ステータスに対応づけられる。
【００１６】
モード設定レジスタ１０１およびステータス設定レジスタ１０３の入力部は、ＤＬＣモジュールの外部に配置されたＣＰＵ１１０の出力部に接続される。ＣＰＵ１１０はＤＬＣモジュール１００が搭載されたデバッグ装置に設置されているＣＰＵであり、記憶装置（図示せず）に記述されたデバッガソフトウェアによって動作する。
【００１７】
（動作）
次に、動作の説明を行う。
【００１８】
ここで、ＤＬＣモジュール１００が通信を行うフレームの構成は、背景技術として上述した図３に示すものと同じとする。図３に示すように１フレームの周期は２．３ｍｓであり、１フレームは約７８０μｓの３つのスロットにより構成されるとする。３つのスロットは、ＦＣＭＳ、スロット１、およびスロット２により構成される。スロット１はＭＤＳであり、スロット２は空きとなっている。ＦＣＭＳは、ＦＣＭＣにより構成され、ＭＤＳは、データ送信用のＭＤＣおよびデータ受信用のＡＣＫＣにより構成される。
【００１９】
また、ＤＬＣモジュール１００のステータス遷移についても、タイマ１０２が動作しているときは、背景技術として上述した図４に示すものと同じとする。すなわち、路側と車側との間における路車間通信において、まず路側から送信されるフレームに含まれるＰＲ待ち状態（ステップＳ１１）から始まり、ＰＲが検出されるとチャネルの開始位置を示すＵＷ待ち状態（ステップＳ１２）となる。ＵＷが検出されることによりＦＣＭＣが受信され（ステップＳ１３）、その後は一定時間が経過するたびにスロット１通信中（ステップＳ１４）、スロット２通信中（ステップＳ１５）へと遷移する。スロット２通信が終了すると、再びＰＲ待ち（ステップＳ１１）へと戻る。
【００２０】
本実施の形態においては、図１を基にスロット２の通信動作をデバッグする場合の動作の説明を行う。
【００２１】
まず、デバッガソフトウェアによりＣＰＵ１１０を介してモード設定レジスタ１０１に「１」を書き込み、タイマ１０２を停止させる。タイマ１０２は時間経過をステータス制御部１０４に伝えるためのものであり、これが停止することで、時間経過によるステータス変化が起こらなくなる。
【００２２】
次に、デバッガソフトウェアによりＣＰＵ１１０を介してステータス設定レジスタ１０３に「４」を書き込む。タイマ１０２は停止しているため、ステータス制御部１０４はステータス設定レジスタ１０３の値により動作し、スロット２通信中用のステータス信号を出力する。通信制御部１０５は該ステータス信号を受け、図４に示すＦＣＭＣ受信中（ステップＳ１３）およびスロット１通信中（ステップＳ１４）を遷移せず、スロット２通信中（ステップＳ１５）から動作を開始する。
【００２３】
この状態から、デバッグ装置を用いてＤＬＣモジュール１００のスロット２の通信動作のデバッグを行う。
【００２４】
（効果）
ステータス設定レジスタ１０３によりＤＬＣモジュール１００のステータスを自由に設定できるので、例えば特定のステータス時の動作をデバッグしたい場合など、初期ステータスから順番に遷移条件を満たしていく必要がなくなるのでデバッグ効率を向上させることが可能である。また、タイマ１０２を停止させることができるので、時間が経過してもステータスが変化しない状態で動作させることができ、タイミングが間に合っていないことが問題なのか、論理的に誤りがあるのかの切り分けを容易にすることが可能である。
【００２５】
＜実施の形態２＞
（構成）
図２は、本実施の形態に係るＤＬＣモジュール１００の構成を示す図である。ＤＬＣモジュール１００は、タイマ１０２、ＤＬＣモジュール１００の外部に配置されたＣＰＵ１１０の動作に応じてタイマ１０２の動作／停止を制御するタイマ制御部１０６を備える。タイマ制御部１０６の出力部はタイマ１０２の入力部に接続される。
【００２６】
またＤＬＣモジュール１００は、通信部（図示せず）を制御する通信制御部１０５、タイマ１０２による時間経過に伴い複数のステータスを遷移させるステータス制御部１０４を備える。ステータス制御部１０４の出力部は通信制御部１０５の入力部と接続される。
【００２７】
ステータス制御部１０４の出力部は、ＤＬＣモジュールの外部に配置されたＣＰＵ１１０の入力部に接続され、ＣＰＵ１１０の出力部はタイマ制御部１０６の入力部に接続される。ＣＰＵ１１０はＤＬＣモジュール１００が搭載されたデバッグ装置に設置されているＣＰＵであり、記憶装置（図示せず）に記述されたデバッガソフトウェアによって動作する。
【００２８】
（動作）
次に、動作の説明を行う。
【００２９】
ＤＬＣモジュール１００が通信を行うフレームの構成、およびタイマ１０２が動作しているときのＤＬＣモジュール１００のステータス遷移については、実施の形態１と同様であるため、ここでの詳細な説明は省略する。
【００３０】
本実施の形態においては、図２を基に通信動作をデバッグする場合の動作の説明を行う。
【００３１】
まず、デバッガソフトウェアにおいてブレークポイントを設定し、プログラムを実行する。ブレークポイントに到達するまでタイマ１０２は動作し、ＤＬＣモジュール１００は、図４に示すＦＣＭＣ受信中（ステップＳ１３）、スロット１通信中（ステップＳ１４）、およびスロット２通信中（ステップＳ１５）を一定時間ごとに遷移することになる。ＣＰＵ１１０のプログラムカウンタがブレークポイントと一致することにより、ＣＰＵ１１０がブレーク状態に入る。
【００３２】
ブレーク状態に入ることにより、ＣＰＵ１１０からタイマ制御部１０６に出力されるブレーク状態信号は、「ブレーク中」を示す値に変化する。ＤＬＣモジュール１００のタイマ制御部１０６は、この信号を受けてタイマ１０２を停止する。
【００３３】
その後、デバッガソフトウェアにおいてステップ実行を行った場合、ＣＰＵ命令一つ分の期間だけブレーク状態信号が「ＣＰＵ実行中」を示す値に変化する。あるいは、デバッガソフトウェアにおいてＣＯＮＴＩＮＵＥ（継続実行）した場合、プログラムカウンタが次にブレークポイントに達するまでの間、ブレーク状態信号は「ＣＰＵ実行中」を示す。この信号を受けてタイマ制御部１０６はタイマ１０２を動作させる。タイマのカウント値が一定の値に達すると時間経過通知信号が出力され、ステータス制御部１０４に入力される。
【００３４】
これを受けたステータス制御部１０４は、所望のステータス信号を通信制御部１０５に送る。この時、同時にステータス変化割り込み信号をＣＰＵ１１０に送る。すなわちステータス制御部１０４は、タイマ１０２の動作時にステータス制御部１０４によるステータス遷移に応じてＣＰＵ１１０に割り込み信号を送る。ＣＰＵ１１０は、この信号を受けて割り込み処理を行う。
【００３５】
（効果）
ステータス制御部１０４がステータス変化割り込み信号を出力するため、予期せぬステータス変化が起こっていないか、通信のためのソフトウェア処理が間に合っているか、またステータス変化の瞬間のソフトウェアの状態などを調べることが可能となり、デバッグ効率を向上させることが可能である。また、ＣＰＵ１１０の実行に合わせてタイマ１０２を動作させつつ、デバッガで変数の値やレジスタの内容などを確認しながらデバッグを行えるので、デバッグ効率を向上させることが可能である。
【産業上の利用可能性】
【００３６】
ＤＬＣモジュールやその他、時間経過によってステータスが変化するモジュール（半導体装置）について適用可能である。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態１に係るＤＬＣモジュールの構成を示す図である。
【図２】本発明の実施の形態２に係るＤＬＣモジュールの構成を示す図である。
【図３】従来のＤＬＣモジュールのスロット構成を示す図である。
【図４】従来のＤＬＣモジュールの状態遷移を示す図である。
【符号の説明】
【００３８】
１００  ＤＬＣモジュール、１０１  モード設定レジスタ、１０２  タイマ、１０３  ステータス設定レジスタ、１０４  ステータス制御部、１０５  通信制御部、１０６  タイマ制御部、１１０  ＣＰＵ。
【図１】
2010009188.tif 000003
【図２】
2010009188.tif 000004
【図３】
2010009188.tif 000005
【図４】
2010009188.tif 000006