(57)【特許請求の範囲】
【請求項１】
メモリ（５）と、
このメモリを転送先としてＤＭＡ転送を行うＤＭＡ転送制御回路（８）と、
このＤＭＡ転送制御回路が前記メモリに対してＤＭＡ転送を行うと、予め保持している照合用データと対応する転送後のデータとを照合することで異常検出を行う異常検出部（３）と、
ＡＤ変換器（７）と、
このＡＤ変換器によりＡＤ変換されたデータが格納される変換結果レジスタ（２１〜２４）とを備え、
前記ＤＭＡ転送制御回路は、前記変換結果レジスタを転送元とし、
前記異常検出部は、前記照合に用いるデータを、前記ＡＤ変換器の入力電圧を切替えることで生成することを特徴とする電子制御装置。
【請求項２】
前記異常検出部が前記照合に用いるデータは、ＤＭＡ転送が行われる毎に変化するデータであることを特徴とする請求項１記載の電子制御装置。
【請求項３】
前記異常検出部が前記照合に用いるデータを、ＤＭＡ転送における最終転送データに割り当てることを特徴とする請求項１又は２記載の電子制御装置。
【請求項４】
前記ＡＤ変換器は、前記照合に用いるデータを生成するための入力チャネル（ＣＨ４）と、
この入力チャネルへの入力電圧を、前記異常検出部の制御により切替える電圧切替部（１５）とを備えることを特徴とする請求項１から３の何れか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを転送先としてＤＭＡ転送を行う機能を備えた電子制御装置に関する。
【背景技術】
【０００２】
特許文献１には、ＤＭＡ転送を行う回路について、転送が開始から終了まで正常に実行されたかを確認するため、指示命令に応じてＤＭＡ転送された複数のデータのうち、最初にＤＭＡ転送されたデータを記憶する第１シフトレジスタと最後にＤＭＡ転送されたデータを記憶する第２シフトレジスタとを備え、これらのシフトレジスタに記憶されたデータをＣＰＵから読み出し可能にした構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７７５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の構成では、ＤＭＡ転送動作を確認するために２つのシフトレジスタを設ける必要があり、その分だけ回路規模が増大する。
本発明は上記事情に鑑みてなされたものであり、その目的は、回路規模の増大を極力抑制しつつＤＭＡ転送動作の確認を行うことができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載の電子制御装置によれば、異常検出部は、ＤＭＡ転送制御回路がメモリに対してＤＭＡ転送を行うと、予め保持している照合用データと対応する転送後のデータとを照合することで異常検出を行う。このように構成すれば、ＤＭＡ転送動作の異常検出を行うために規模の大きな回路を追加せずとも、異常検出部としての機能を、簡単なソフトウェア処理により実現することができる。
また、請求項１記載の電子制御装置は、ＡＤ変換器によりＡＤ変換されたデータが格納される変換結果レジスタを転送元とし、異常検出部が照合に用いるデータを、ＡＤ変換器の入力電圧を切替えることで生成する。
【０００６】
請求項２記載の電子制御装置によれば、異常検出部が照合に用いるデータを、ＤＭＡ転送が行われる毎に変化するデータとする。このように構成すれば、ＤＭＡ転送動作が正常に実行されているか否かの確認を、より確実に行うことができる。
【０００７】
請求項３記載の電子制御装置によれば、異常検出部が前記照合に用いるデータを、ＤＭＡ転送における最終転送データに割り当てる。このように構成すれば、異常検出部は、転送先における最終転送データを伝送元の対応するデータと照合するだけで、一連のＤＭＡ転送動作が正常に実行されているか否かを確認できる。
【０００８】
請求項４記載の電子制御装置によれば、ＡＤ変換器に、照合に用いるデータを生成するための入力チャネルと、この入力チャネルへの入力電圧を異常検出部の制御により切替える電圧切替部を備える。このように構成すれば、照合に用いるデータを生成するための構成を、極めて小規模な回路を追加するだけで実現できる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態であり、ＣＰＵが実行するＤＭＡ転送の異常判定処理を示すフローチャート
【図２】電子制御装置の構成を示す機能ブロック図
【図３】ＣＰＵが実行するＡＤ変換設定処理を示すフローチャート
【図４】ＡＤ変換終了割込みが発生した際に、ＣＰＵが実行するＤＭＡ転送設定処理を示すフローチャート
【図５】ＤＭＡ転送をイメージ的に説明する図
【発明を実施するための形態】
【００１０】
以下、一実施形態について説明する。図２に示すように、電子制御装置１はＭＰＵ（Micro Processing Unit）２を備えている。ＭＰＵ２は、ＣＰＵ３，ＲＯＭ４，ＲＡＭ５，デジタルＩ／Ｏ６，ＡＤ変換器７及びＤＭＡ転送制御回路８を有している。ＲＯＭ４には、ＣＰＵ３により実行される制御プログラムが記憶されており、ＲＡＭ５は、ＣＰＵ３が制御プログラムを実行する際にワークエリア等として使用される。
【００１１】
ＣＰＵ３は、デジタルＩ／Ｏ６を介して電子制御装置１に接続されるアクチュエータ９の制御を行う。電子制御装置１には、外部の電源１０より動作用電源が供給される。ＡＤ変換器７のアナログ入力端子には、センサ１１〜１３の信号出力端子がそれぞれ接続されている。ＡＤ変換器７は、各センサ１１〜１３が出力するセンサ信号を、内蔵しているマルチプレクサ（ＭＰＸ）１４により切替えてＡＤ変換する。
【００１２】
尚、ＡＤ変換器７の外部から見える入力チャネル数は「３」であるが、ＡＤ変換器７の内部的には、マルチプレクサ１４に第４の入力チャネルが設けてある。その入力チャネル（ＣＨ４）には、電圧切替部１５の出力端子が接続されている。電圧切替部１５は、グランドレベルの０Ｖ、例えば電源レベルに等しい電圧の５Ｖとを切替えて、入力チャネル（ＣＨ４）に入力するための切替えスイッチ１５Ｓを有している。切替えスイッチ１５Ｓの切替え制御は、ＣＰＵ３がデジタルＩ／Ｏ６を介して行う。
【００１３】
ＡＤ変換器７がＡＤ変換したデータは、図５に示すＡＤ変換結果レジスタ２１〜２４に格納される。ＤＭＡ転送制御回路８は、ＡＤ変換結果レジスタ２１〜２４を転送元（ソース）とし、ＲＡＭ５を転送先（デスティネーション）としてＤＭＡ転送を行う。ＲＡＭ５はメモリに相当する。そして、上記の電圧切替部１５は、ＤＭＡ転送制御回路８によるＤＭＡ転送が実行される毎に、その転送が正常に行われたか否かをＣＰＵ３が判定するために使用される。ＣＰＵ３は異常検出部に相当する。
【００１４】
次に、本実施形態の作用について説明する。図３に示すように、ＣＰＵ３は、ＡＤ変換器７に対する初期設定処理において、入力チャネル（ＣＨ１〜ＣＨ３）に，それぞれセンサ１１〜１３より出力されるセンサ信号を割り当てるように設定する（Ｓ１〜Ｓ３）。入力チャネル（ＣＨ４）には、電圧切替部１５の出力端子が接続されており、続くステップＳ４において異常検出をモード＝０Ｖ／５Ｖの何れから開始するかを決定する。尚、何れから開始するかは任意である。
【００１５】
モード＝０Ｖで開始する場合は（ＹＥＳ）０Ｖの変換設定を行う（Ｓ５）。すなわち、切替スイッチ１５Ｓを０Ｖ側に切替える。一方、モード＝５Ｖで開始する場合は（ＮＯ）切替スイッチ１５Ｓを５Ｖ側に切替えて、５Ｖの変換設定を行う（Ｓ６）。それから、ＡＤ変換終了割込みの設定を行う（Ｓ７）。すなわち、ＡＤ変換を開始した後、入力チャネル（ＣＨ１〜ＣＨ４）を順次切り替えてＡＤ変換を行い、ＡＤ変換結果レジスタ２１〜２４の全てに変換データが格納されると、ＣＰＵ３に対してＡＤ変換終了割込みが発生するように設定する。
【００１６】
図４に示すように、ＡＤ変換終了割込みが発生すると、ＣＰＵ３は、ＤＭＡ転送制御回路８の内部にある転送制御レジスタに、ＤＭＡ転送元アドレスとしてＡＤ変換結果レジスタ２１のアドレス（例えば０ｘＦＦＦＦ００，図５参照）を設定する（Ｓ１１）。また、ＤＭＡ転送先アドレスとしてＲＡＭ５のアドレス（例えば０ｘ８００１００，図５参照）を設定する（Ｓ１２）。そして、ＤＭＡ転送回数（本実施形態では「４」）を設定すると（Ｓ１３）、ＤＭＡ転送要求を行う（Ｓ１４）。
【００１７】
すると、ＤＭＡ転送制御回路８はＤＭＡ転送動作を開始し、図５に示すように、アドレス０ｘＦＦＦＦ００〜０ｘＦＦＦＦ０６のＡＤ変換結果レジスタ２１〜２４に格納されている４つの２バイトデータは、アドレス０ｘ８００１００〜０ｘ８００１０６のＲＡＭ５に転送される。尚、ＲＡＭ５のアドレス０ｘ８０００００には例えばアクチュエータ９の制御変数１が格納されており、アドレス０ｘ８０ＦＦＦＥはスタックとして使用されている。
【００１８】
図１に示すように、ＣＰＵ３は、ＤＭＡ転送制御回路８によるＤＭＡ転送が完了する毎に、ＲＡＭ５のアドレス０ｘ８００１０６を参照して異常判定を行う。初期設定がモード＝０Ｖであれば（Ｓ２１；ＹＥＳ）、アドレス０ｘ８００１０６のデータ値（ＲＡＭ値）がアナログ入力電圧０Ｖ相当値であるオール「０」か否かを判断する（Ｓ２２）。データ値がオール「０」であれば（ＹＥＳ）モードを５Ｖに、つまりＡＤ変換器７内部の切替スイッチ１５Ｓを５Ｖ側に切り替えて（Ｓ２３）ＤＭＡ転送は正常、と判定する（Ｓ２４）。
【００１９】
次にＤＭＡ転送制御回路８がＤＭＡ転送を実行する際には、ＡＤ変換結果レジスタ２４にはアナログ入力電圧５Ｖ相当値であるオール「Ｆ」が格納されている。したがって、転送が正常であれば、ＲＡＭ５のアドレス０ｘ８００１０６のデータ値（ＡＤ変換結果４）もオール「Ｆ」になっている。そこで、ＣＰＵ３は、次回の異常判定時にはステップＳ２１で「ＮＯ」と判断し、アドレス０ｘ８００１０６のデータ値がオール「Ｆ」か否かを判断する（Ｓ２５）。データ値がオール「Ｆ」であれば（ＹＥＳ）モードを再び０Ｖに、つまりＡＤ変換器７内部の切替スイッチ１５Ｓを０Ｖ側に切り替えて（Ｓ２６）ＤＭＡ転送は正常、と判定する（Ｓ２４）。ＣＰＵ３は以上の判定処理を、ＤＭＡ転送制御回路８がＤＭＡ転送を実行する毎に繰り返し行う。
【００２０】
一方、モード＝０Ｖであるにも拘らず（Ｓ２１；ＹＥＳ）、アドレス０ｘ８００１０６のデータ値がオール「０」でない場合や（Ｓ２２；ＮＯ）、モード＝５Ｖであるにも拘らず（Ｓ２１；ＮＯ）、アドレス０ｘ８００１０６のデータ値がオール「Ｆ」でない場合は（Ｓ２５；ＮＯ）、ＤＭＡ転送は異常と判定することになる（Ｓ２７）。このように、ＣＰＵ３が照合に用いるデータ値がオール「０」／「Ｆ」のデータが、照合用データである。
【００２１】
以上のように本実施形態によれば、ＣＰＵ３は、ＤＭＡ転送制御回路８がＲＡＭ５に対してＤＭＡ転送を行うと、転送前のデータと対応する転送後のデータとを照合することで異常検出を行う。このように構成すれば、ＤＭＡ転送動作の異常検出を、規模の大きな回路を追加せずとも、ＣＰＵ３の簡単なソフトウェア処理により実現することができる。そして、ＣＰＵ３が照合に用いるデータを、ＤＭＡ転送が行われる毎に一定のパターンで変化するデータとするので、ＤＭＡ転送動作が正常に実行されているか否かの確認を、より確実に行うことができる。また、照合用データをＤＭＡ転送における最終転送データに割り当てることで、ＣＰＵ３は、転送先における最終転送データを伝送元の対応するデータと照合するだけで、一連のＤＭＡ転送動作が正常に実行されているか否かを確認できる。
【００２２】
更に、ＤＭＡ転送の転送元をＡＤ変換結果レジスタ２１〜２４とし、ＣＰＵ３は、ＡＤ変換器７の入力電圧を５Ｖ／０Ｖに交互に切替えて照合用データを生成する。これにより、ＣＰＵ３は、簡単な制御によって照合用データの値を変化させることができる。
【００２３】
加えて、ＡＤ変換器７に、照合用データを生成するための入力チャネル（ＣＨ４）と、この入力チャネル（ＣＨ４）への入力電圧をＣＰＵ３の制御により切替える電圧切替部１５を備える。このように構成すれば、照合用データを生成するための構成を、極めて小規模な回路を追加するだけで実現できる。電圧切替部１５はＡＤ変換器７の内部回路であるから、集積回路レベルでは実質的な回路サイズの増大は殆ど無い状態となる。
【００２４】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
照合用データは、データ値がオール「０」／「Ｆ」のデータに限ることなく、ＡＤ変換器７の入力電圧を０Ｖより大きく設定したり、５Ｖ未満に設定することで異なるデータ値を採用しても良い。
また、照合用データは、３回以上一定のパターンで周期的に変化するデータでも良い。また、必ずしも周期的に変化するデータでなくとも良い。
また、照合用データは、必ずしも最終転送データに割り当てる必要はない。
【００２５】
ＡＤ変換結果レジスタの数は「４」に限ることはない。また、外部用入力チャネルに数も「３」に限ることはない。
電圧切替部１５を、ＡＤ変換器７の外部に配置しても良い。
ＡＤ変換器７がＡＤ変換を行う対象は、センサ１１〜１３のセンサ信号に限ることはない。
転送元は、ＡＤ変換結果レジスタ２１〜２４に限ることなく、その他のリソースでも良い。例えば、電子制御装置１における既存のリソース（例えばレジスタ等）で、他に転送元として指定可能で且つＣＰＵ３が書き込み可能なものがあれば、ＣＰＵ３がそのリソースに照合用データを書き込んでＤＭＡ転送を実行させれば良い。
【００２６】
データサイズは２バイトに限ることなく、個別の設計に応じて適宜変更すれば良い。
メモリはＲＡＭ５に限ることなく、ＳＲＡＭやフラッシュメモリなどでも良い。
ＣＰＵ３の制御対象は、アクチュエータ９に限ることはない。
【符号の説明】
【００２７】
１  電子制御装置、３  ＣＰＵ、５  ＲＡＭ、７  ＡＤ変換器、８  ＤＭＡ転送制御回路、１５  電圧切替部、２１〜２４  ＡＤ変換結果レジスタ。
【図１】
0006536250.tif 000002
【図２】
0006536250.tif 000003
【図３】
0006536250.tif 000004
【図４】
0006536250.tif 000005
【図５】
0006536250.tif 000006