(57)【特許請求の範囲】
【請求項１】
入力されたアナログ電圧をデジタル値に変換するＡＤ変換器と、
車両の制御動作を記述したプログラムを実行する演算部と、
前記演算部の指示にしたがって時間を計測するタイマと、
を備え、
前記演算部は、
前記ＡＤ変換器が前記変換を実行するために要する変換所要時間、または変換を実行する時間間隔に相当する変換周期のうち少なくともいずれかを、前記タイマを用いて計測し、
前記変換所要時間または前記変換周期の計測値が、あらかじめ定められた規定範囲内に収まっているか否かにより、前記ＡＤ変換器が正常に動作しているか否かを検査する
ことを特徴とする車載制御装置。
【請求項２】
前記演算部は、
前記ＡＤ変換器が前記変換を開始してから次回の変換を開始するまでの時間間隔に相当する変換開始周期を、前記変換周期として前記タイマを用いて計測するとともに、前記タイマを用いて前記変換所要時間を計測し、
前記変換開始周期が規定範囲内に収まっているか否かにより、前記ＡＤ変換器が正常に動作しているか否かを検査する
ことを特徴とする請求項１記載の車載制御装置。
【請求項３】
前記演算部は、
前記ＡＤ変換器が前記変換を終了してから次回の変換を終了するまでの時間間隔に相当する変換終了周期を、前記変換周期として前記タイマを用いて計測するとともに、前記タイマを用いて前記変換所要時間を計測し、
前記変換終了周期が規定範囲内に収まっているか否かにより、前記ＡＤ変換器が正常に動作しているか否かを検査する
ことを特徴とする請求項１記載の車載制御装置。
【請求項４】
前記ＡＤ変換器は、
前記変換を完了すると前記演算部にその旨を通知し、
前記演算部は、
前記ＡＤ変換器に前記変換を実行するよう指示してから、前記ＡＤ変換器より前記変換を完了した旨の通知を受け取るまでの時間を、前記変換所要時間として前記タイマを用いて計測するとともに、前記タイマを用いて前記変換周期を計測し、
前記変換所要時間が規定範囲内に収まっているか否かにより、前記ＡＤ変換器が正常に動作しているか否かを検査する
ことを特徴とする請求項１から３のいずれか１項に記載の車載制御装置。
【請求項５】
前記演算部は、
所定周期毎に前記ＡＤ変換器に対して前記変換を実行するよう指示するとともに、前記ＡＤ変換器が前記変換を開始したか否かを確認し、
前記ＡＤ変換器が前記変換を開始した旨を確認した場合は前記タイマを初期化して新たな計時を開始させ、
前記ＡＤ変換器が前記変換を開始していない旨を確認した場合は前記タイマを初期化せずに計時を継続させる
ことを特徴とする請求項１から４のいずれか１項に記載の車載制御装置。
【請求項６】
入力されたアナログ電圧をデジタル値に変換するＡＤ変換器と、
車両の制御動作を記述したプログラムを実行する演算部と、
前記演算部の指示にしたがって時間を計測するタイマと、
を備えた車載制御装置の異常を検査する方法であって、
前記ＡＤ変換器が前記変換を実行するために要する変換所要時間、または変換を実行する時間間隔に相当する変換周期のうち少なくともいずれかを、前記タイマを用いて計測するステップと、
前記変換所要時間または前記変換周期のうち前記タイマを用いて計測したものが、あらかじめ定められた規定範囲内に収まっているか否かにより、前記ＡＤ変換器が正常に動作しているか否かを検査するステップと、
を有することを特徴とする車載制御装置の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載制御装置に関するものである。
【背景技術】
【０００２】
車載制御装置は、車両に搭載されている各センサが出力する検出信号などをデジタル値に変換するため、ＡＤコンバータを備えている。ＡＤ変換の精度がばらつくと、制御演算などに与える影響が大きいため、安全などの観点から、車載制御装置のＡＤ変換には高い精度が求められる。
【０００３】
下記特許文献１には、ローパスフィルタとハイパスフィルタを用いてＡＤ変換後の信号をフィルタ処理し、テスト信号と比較することにより、ＡＤ変換器の異常を検出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１０５５５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載の技術では、ＡＤ変換器の異常を検出するために、ローパスフィルタやハイパスフィルタなどの回路が必要となる。そのため、ＡＤ変換器の異常検出に要する回路コストが増加し易い。
【０００６】
本発明は、上記のような課題を解決するためになされたものであり、異常検出のための特別な回路を設けることなく、ＡＤ変換器の異常を検出することのできる車載制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る車載制御装置は、ＡＤ変換器の変換所要時間または変換周期のうち少なくともいずれかを計測し、計測値が規定範囲内に収まっているか否かにより、ＡＤ変換器の異常を検査する。
【発明の効果】
【０００８】
本発明に係る車載制御装置によれば、ＡＤ変換器の変換所要時間または変換周期のうち少なくともいずれかを用いてＡＤ変換機の異常を検査するので、タイマを備えていればＡＤ変換器の検査が可能である。すなわち、ＡＤ変換器の異常を検査するための特別な回路は必要なく、一般的な演算装置などが備えているタイマのみで、ＡＤ変換器の異常検査を行うことができる。これにより、ＡＤ変換器の異常検査に係るコストを抑えることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る車載制御装置１００の機能ブロック図である。
【図２】ＡＤ変換器１７０の機能ブロック図である。
【図３】車載制御装置１００の全体動作を示す動作フローである。
【図４】ＡＤ変換が完了したときの車載制御装置１００の動作を示す動作フローである。
【図５】ステップＳ３０１の詳細を示す動作フローである。
【図６】ステップＳ４０２の詳細を示す動作フローである。
【図７】ステップＳ３０３の詳細を示す動作フローである。
【図８】図３〜図７の動作フローによって各レジスタおよび変数が変化する様子を示すタイムチャートである。
【図９】図３〜図７の動作フローによって各レジスタおよび変数が変化する様子を示すタイムチャートである。
【発明を実施するための形態】
【００１０】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る車載制御装置１００の機能ブロック図である。車載制御装置１００は、車両の制御動作を実行する装置であり、中央演算装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３０、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）部１４０、タイマＡ１５０およびタイマＢ１６０、ＡＤ変換器１７０を備える。各機能部は、データバス１８０を介して接続されている。
【００１１】
ＣＰＵ１１０は、ＲＯＭ１２０に格納されている制御プログラムを読み出して実行することにより、車両の制御動作を実行する。また、制御プログラムの実行結果を必要に応じてＲＡＭ１３０に書き込む。ＣＰＵ１１０は、タイマＡ１５０およびタイマＢ１６０のカウント値を取得し、また各タイマにカウント値をセットすることができる。
【００１２】
ＤＭＡ部１４０は、ＣＰＵ１１０を介さずに他のデバイスからＲＡＭ１３０へデータを転送する機能部である。
【００１３】
ＡＤ変換器１７０は、入力電圧ＡＶＩＮを受け取り、デジタル値ＤＶＩＮに変換してＣＰＵ１１０に出力する。ＣＰＵ１１０は、ＡＤ変換開始レジスタＲＥＧＡＤＳに開始指示データを書き込むことにより、ＡＤ変換器１７０に対してＡＤ変換を開始するよう指示する。ＡＤ変換器１７０は、ＡＤ変換が完了すると、ＡＤ変換完了レジスタＲＥＧＡＤＦにその旨を示す完了通知データを書き込む。ＣＰＵ１１０は、ＡＤ変換完了レジスタＲＥＧＡＤＦの値を読み出すことにより、ＡＤ変換が完了したことを検出する。
【００１４】
図２は、ＡＤ変換器１７０の機能ブロック図である。ＡＤ変換器１７０は、サンプルホールド回路１７１、比較器１７２、制御回路１７３、ＤＡ変換器１７４、ＡＤ変換開始レジスタＲＥＧＡＤＳ、ＡＤ変換完了レジスタＲＥＧＡＤＦを備える。図２に示す構成は１例であり、同様の機能を発揮するものであれば、他の構成を採用することもできる。
【００１５】
サンプルホールド回路１７１は、入力電圧ＡＶＩＮをサンプリングして保持する回路である。比較器１７２は、サンプルホールド回路１７１の出力と基準電圧ＶＲＥＦを比較し、その結果を出力する。例えば、サンプルホールド回路１７１の出力と基準電圧ＶＲＥＦが一致すれば「１」、一致しなければ「０」を出力する。
【００１６】
制御回路１７３は、比較器１７２から出力「０」を受け取ると、ＤＡ変換器１７４に対して基準電圧ＶＲＥＦを調整するよう指示する。制御回路１７３は、比較器１７２が「１」を出力する、すなわち入力電圧ＡＶＩＮと基準電圧ＶＲＥＦが一致するまで、基準電圧ＶＲＥＦの値を調整することを繰り返す。
【００１７】
制御回路１７３は、ＡＤ変換開始レジスタＲＥＧＡＤＳに開始指示データが書き込まれると、上記動作を開始する。制御回路１７３は、比較器１７２から「１」を受け取ると、ＡＤ変換完了レジスタＲＥＧＡＤＦにその旨を示す完了通知データを書き込み、変換結果ＤＶＩＮを出力する。
【００１８】
以上、本実施形態１に係る車載制御装置１００の構成を説明した。次に、車載制御装置１００の具体的な動作を説明する。初めに図３〜図４を用いて車載制御装置１００の全体動作を説明し、図５〜図９を用いて詳細動作を説明する。
【００１９】
図３は、車載制御装置１００の全体動作を示す動作フローである。図３に示す動作フローは、ＣＰＵ１１０がＲＯＭ１２０から読み出した制御プログラムの記述にしたがって実行する動作を示す。以下、図３の各ステップについて説明する。
（図３：ステップＳ３００）
ＣＰＵ１１０は、例えば１０ｍｓ毎などの所定時間間隔で、本動作フローを開始する。
（図３：ステップＳ３０１）
ＣＰＵ１１０は、ＡＤ変換器１７０に対し、ＡＤ変換を実行するよう指示する。本ステップの詳細は、後述の図５で改めて説明する。
【００２０】
（図３：ステップＳ３０２）
ＣＰＵ１１０は、ステップＳ３０１が、車載制御装置１００が起動してから最初のＡＤ変換指示であるか否かを判定する。具体的には、例えば初回のＡＤ変換であるか否かを示すフラグをＲＡＭ１４０に保持しておき、ＣＰＵ１１０がステップＳ３０１を最初に実行する時点でそのフラグをセットするようにすればよい。初回のＡＤ変換である場合は、本動作フローを終了して次回の実行を待つ。初回のＡＤ変換ではない場合は、ステップＳ３０３へ進む。
（図３：ステップＳ３０３）
ＣＰＵ１１０は、ＡＤ変換器１７０に異常が生じているか否かを判定する。本ステップの詳細は、後述の図７で改めて説明する。
【００２１】
図４は、ＡＤ変換が完了したときの車載制御装置１００の動作を示す動作フローである。図４に示す動作フローは、図３と同様にＣＰＵ１１０がＲＯＭ１２０から読み出した制御プログラムの記述にしたがって実行する動作を示す。図４の動作フローは、図３の動作フローと同じプログラムを用いてもよいし、別のプログラムを用いて実装してもよい。以下、図４の各ステップについて説明する。
（図４：ステップＳ４００）
ＣＰＵ１１０は、ＡＤ変換完了レジスタＲＥＧＡＤＦに完了通知データが書き込まれると、本動作フローをイベント割込み処理として開始する。ここでは完了通知データはビット値であるものとし、ＡＤ変換完了レジスタＲＥＧＡＤＦの値が「０」であればＡＤ変換は未完了であることを表し、「１」であればＡＤ変換が完了したことを表すものとする。
【００２２】
（図４：ステップＳ４０１）
ＣＰＵ１１０は、ＡＤ変換完了レジスタＲＥＧＡＤＦに「１」がセットされているか否かを確認する。「１」がセットされていればステップＳ４０２へ進み、それ以外であれば本動作フローを終了する。
（図４：ステップＳ４０１：補足）
本動作フローはＡＤ変換が完了したときに割り込み起動されるものであるため、原則としてＡＤ変換完了レジスタＲＥＧＡＤＦには「１」がセットされているものと想定されるが、何らかの要因でその他の値となっている可能性もあるので、念のため本ステップでチェックするものとした。
（図４：ステップＳ４０２）
ＣＰＵ１１０は、ＡＤ変換が完了したときに実行すべき割り込み処理を実行する。本ステップの詳細は、後述の図６で改めて説明する。
【００２３】
図５は、ステップＳ３０１の詳細を示す動作フローである。以下、図５の各ステップについて説明する。
（図５：ステップＳ５０１）
ＣＰＵ１１０は、ＡＤ変換器１７０のＡＤ変換完了レジスタＲＥＧＡＤＦを読み出し、ＡＤ変換が完了しているか否かを判定する。ＲＥＧＡＤＦの値が「１」である（ＡＤ変換が完了している）場合はステップＳ５０２へ進み、「０」である（ＡＤ変換は完了していない）場合は本動作フローを終了する。
（図５：ステップＳ５０２）
ＣＰＵ１１０は、ＡＤ変換器１７０が出力する変換結果ＤＶＩＮを取得する。
【００２４】
（図５：ステップＳ５０３〜Ｓ５０４）
ＣＰＵ１１０は、ＡＤ変換器１７０のＡＤ変換完了レジスタＲＥＧＡＤＦに「０」（ＡＤ変換未完了）を書き込む。次にＣＰＵ１１０は、ＡＤ変換器１７０のＡＤ変換開始レジスタＲＥＧＡＤＳに「１」（ＡＤ変換開始）を書き込む。
（図５：ステップＳ５０５〜Ｓ５０６）
ＣＰＵ１１０は、ＡＤ変換器１７０のＡＤ変換開始レジスタＲＥＧＡＤＳを読み出し、値が「１」（ＡＤ変換開始）であるか否かを確認する。値が「１」であればステップＳ５０７へ進み、「１」でなければステップＳ５１０へ進む。
【００２５】
（図５：ステップＳ５０５〜Ｓ５０６：補足その１）
ＣＰＵ１１０は、ステップＳ５０４でＡＤ変換開始レジスタＲＥＧＡＤＳに「１」を書き込んでいるため、本ステップの時点ではＡＤ変換開始レジスタＲＥＧＡＤＳの値は「１」になっているものと想定される。ただし、何らかの要因、例えばＡＤ変換器１７０に異常が発生しているなどにより、同レジスタの値が「１」にセットされていない可能性もあるので、本ステップでチェックすることとした。
（図５：ステップＳ５０５〜Ｓ５０６：補足その２）
ステップＳ５０４でＡＤ変換開始レジスタＲＥＧＡＤＳに「１」を書き込んだにも関わらず、本ステップの時点で同レジスタの値が「１」にセットされていない場合は、次回のＡＤ変換を開始するタイミングが後ろにずれ込む。結果として、後述の図８〜図９で説明するＡＤ変換開始間隔ＴＡＤＳが長くなり、ＡＤ変換器１７０に異常が発生していると判定される可能性が高まる。
【００２６】
（図５：ステップＳ５０７〜Ｓ５０９）
ＣＰＵ１１０は、プログラム内に確保した変数である、ＡＤ変換開始間隔ＴＡＤＳに、タイマＡ１５０のカウント値を格納する。次にＣＰＵ１１０は、タイマＡ１５０のカウント値を初期化し、改めてカウントを開始させる。
（図５：ステップＳ５１０）
ＣＰＵ１１０は、プログラム内に確保した変数である、ＡＤ変換開始間隔ＴＡＤＳに、タイマＡ１５０のカウント値を格納する。ステップＳ５０７〜Ｓ５０９とは異なり、タイマＡ１５０の初期化は行わない。
（図５：ステップＳ５０７〜Ｓ５１０：補足）
これらのステップは、後述する図８および図９の時刻ｔ１およびｔ３においてＣＰＵ１１０がＡＤ変換開始間隔ＴＡＤＳを更新する処理に相当する。
【００２７】
図６は、ステップＳ４０２の詳細を示す動作フローである。以下、図６の各ステップについて説明する。
（図６：ステップＳ６０１〜Ｓ６０３）
ＣＰＵ１１０は、プログラム内に確保した変数である、ＡＤ変換終了間隔ＴＡＤＦに、タイマＢ１６０のカウント値を格納する。次にＣＰＵ１１０は、タイマＢ１６０のカウント値を初期化し、改めてカウントを開始させる。これらのステップは、後述する図８および図９の時刻ｔ２およびｔ４においてＣＰＵ１１０がＡＤ変換終了間隔ＴＡＤＦを更新する処理に相当する。
（図６：ステップＳ６０４）
ＣＰＵ１１０は、プログラム内に確保した変数である、ＡＤ変換所要時間ＴＡＤＣに、タイマＡ１５０のカウント値を格納する。本ステップは、後述する図８および図９の時刻ｔ２およびｔ４においてＣＰＵ１１０がＡＤ変換所要時間ＴＡＤＣを更新する処理に相当する。
【００２８】
図７は、ステップＳ３０３の詳細を示す動作フローである。以下、図７の各ステップについて説明する。
（図７：ステップＳ７０１〜Ｓ７０２）
ＣＰＵ１１０は、ＡＤ変換所要時間ＴＡＤＣが、上限閾値Ａ以下であり、かつ下限閾値Ｂ以上である場合は、ＡＤ変換所要時間ＴＡＤＣが正常であるものと判断し、ステップＳ７０３へ進む。ＡＤ変換所要時間ＴＡＤＣがこれらの閾値の範囲内にない場合は、ステップＳ７０７へ進む。
（図７：ステップＳ７０１〜Ｓ７０２：補足その１）
これらのステップでは、ＡＤ変換所要時間ＴＡＤＣが正常であると判断する判定基準値に上限閾値Ａと下限閾値Ｂを含むものとしたが、いずれか一方または双方を判定基準値外として取り扱ってもよい。例えば、ＡＤ変換所要時間ＴＡＤＣが判定閾値Ｂに等しい場合は、ステップＳ７０７へ進むようにしてもよい。以下のステップでも同様である。
【００２９】
（図７：ステップＳ７０１〜Ｓ７０２：補足その２）
上限閾値Ａと下限閾値Ｂは、例えばＲＯＭ１２０にあらかじめ格納しておいてもよいしＣＰＵ１１０が実行するプログラム内に埋め込んでおいてもよい。その他の閾値についても同様である。
（図７：ステップＳ７０１〜Ｓ７０２：補足その３）
上限閾値Ａと下限閾値Ｂは、ＡＤ変換器１７０がＡＤ変換を実行するために要する標準的な時間幅に対応するように設定しておくことが望ましい。この時間幅は、ＡＤ変換器１７０の仕様などに基づき得ることができる。
【００３０】
（図７：ステップＳ７０３〜Ｓ７０４）
ＣＰＵ１１０は、ＡＤ変換開始間隔ＴＡＤＳが、上限閾値Ｃ以下であり、かつ下限閾値Ｄ以上である場合は、ＡＤ変換開始間隔ＴＡＤＳが正常であるものと判断し、ステップＳ７０５へ進む。ＡＤ変換開始間隔ＴＡＤＳがこれらの閾値の範囲内にない場合は、ステップＳ７０７へ進む。
（図７：ステップＳ７０５〜Ｓ７０６）
ＣＰＵ１１０は、ＡＤ変換終了間隔ＴＡＤＦが、上限閾値Ｅ以下であり、かつ下限閾値Ｆ以上である場合は、ＡＤ変換終了間隔ＴＡＤＦが正常であるものと判断し、本動作フローを終了する。ＡＤ変換終了間隔ＴＡＤＦがこれらの閾値の範囲内にない場合は、ステップＳ７０７へ進む。
【００３１】
（図７：ステップＳ７０３〜Ｓ７０６：補足）
上限閾値ＣおよびＥ、下限閾値ＤおよびＦは、ＣＰＵ１１０が図３の動作フローを実行する周期などに対応する値を設定しておくことが望ましい。
（図７：ステップＳ７０７）
ＣＰＵ１１０は、プログラム内に確保した変数である、ＡＤ変換器ＮＧフラグＡＤＮＧに、ＡＤ変換器１７０が異常である旨を示す「１」をセットする。
【００３２】
以上、車載制御装置１００の具体的な動作を説明した。以下では、図３〜図７で説明した動作を視覚的に示すため、各レジスタおよび各変数の値の経時変化を、タイムチャートを用いて説明する。
【００３３】
図８は、図３〜図７の動作フローによって各レジスタおよび変数が変化する様子を示すタイムチャートである。本図は、ＡＤ変換器１７０が正常に動作している場合のタイムチャートを示す。以下、図８の詳細について説明する。
【００３４】
図８（Ａ）（Ｂ）は、それぞれＡＤ変換開始レジスタＲＥＧＡＤＳとＡＤ変換終了レジスタＲＥＧＡＤＦの値変化を示す。図８（Ｃ）（Ｄ）は、それぞれタイマＡ１５０とタイマＢ１６０のカウント値変化を示す。図８（Ｅ）は、ＡＤ変換所要時間ＴＡＤＣ、ＡＤ変換開始間隔ＴＡＤＳ、ＡＤ変換終了間隔ＴＡＤＦの値変化を示す。図８（Ｆ）は、ＡＤ変換器ＮＧフラグＡＤＮＧの値変化を示す。
（図８：時刻ｔ１：各レジスタの値）
時刻ｔ１において、ＣＰＵ１１０は、図５のステップＳ５０１〜Ｓ５０９を実行する。ステップＳ５０４においてＡＤ変換開始レジスタＲＥＧＡＤＳに「１」がセットされ、ＡＤ変換器１７０はＡＤ変換を開始する。ステップＳ５０９において、タイマＡ１５０はカウントを開始する。
【００３５】
（図８：時刻ｔ１：各変数の値）
ステップＳ５０７において、タイマＡ１５０はカウントを開始していないので、ＡＤ変換開始間隔ＴＡＤＳの値は０となる。また、図４の動作フローは時刻ｔ１の時点では実行されていないので、ＡＤ変換所要時間ＴＡＤＣの値およびＡＤ変換終了間隔ＴＡＤＦの値も０である。
（図８：時刻ｔ２：各レジスタの値）
時刻ｔ２において、ＡＤ変換器１７０はＡＤ変換を完了し、ＡＤ変換完了レジスタＲＥＧＡＤＦに「１」をセットするとともに、ＡＤ変換開始レジスタＲＥＧＡＤＳに「０」をセットする。ＣＰＵ１１０は、ＡＤ変換完了時通知を受け取ると、図４の動作フローを実行する。ステップＳ６０３でタイマＢ１６０がカウントを開始する。
【００３６】
（図８：時刻ｔ２：各変数の値）
ステップＳ６０４において、ＡＤ変換所要時間ＴＡＤＣの値は、時刻ｔ２の時点におけるタイマＡ１５０の値がセットされる。タイマＢ１６０のカウント値は０であるため、ＡＤ変換終了間隔ＴＡＤＦは０である。ＡＤ変換開始間隔ＴＡＤＳの値は変化しない。
（図８：時刻ｔ３：各レジスタの値）
時刻ｔ３において、ＣＰＵ１１０は、時刻ｔ１と同様に図５のステップＳ５０１〜Ｓ５０９を実行する。ステップＳ５０８〜Ｓ５０９において、タイマＡ１５０は初期化され、新たにカウントを開始する。
【００３７】
（図８：時刻ｔ３：各変数の値）
ステップＳ５０７において、ＡＤ変換開始間隔ＴＡＤＳにタイマＡ１５０の値がセットされる。また、図４の動作フローは時刻ｔ３の時点では実行されないので、ＡＤ変換所要時間ＴＡＤＣの値およびＡＤ変換終了間隔ＴＡＤＦの値は変化しない。
（図８：時刻ｔ４：各レジスタの値）
時刻ｔ４において、ＡＤ変換器１７０とＣＰＵ１１０は、時刻ｔ２と同様の動作を実行する。ステップＳ６０２〜Ｓ６０３でタイマＢ１６０が初期化されるとともに、新たにカウントを開始する。
【００３８】
（図８：時刻ｔ４：各変数の値）
ステップＳ６０１において、ＡＤ変換終了間隔ＴＡＤＦにタイマＢ１６０の値がセットされる。ステップＳ６０４において、ＡＤ変換所要時間ＴＡＤＣの値は、時刻ｔ２の時点におけるタイマＡ１５０の値がセットされる。ＡＤ変換器１７０が正常動作していれば、時刻ｔ２と同じ値になるものと想定される。
【００３９】
図８の時刻ｔ１とｔ３において、ＣＰＵ１１０は図３の動作フローを実行し、その過程でステップＳ３０３（図７）のＡＤ変換器異常判定処理を実施する。図８（Ｅ）の右端に示すように、ＡＤ変換所要時間ＴＡＤＣ、ＡＤ変換開始間隔ＴＡＤＳ、ＡＤ変換終了間隔ＴＡＤＦの値は、全て図７で説明した規定範囲内に収まっている。したがって、ＡＤ変換器ＮＧフラグＡＤＮＧは０のままとなり、ＡＤ変換器１７０は正常動作しているものと判定される。
【００４０】
図９は、図８と同様に、図３〜図７の動作フローによって各レジスタおよび変数が変化する様子を示すタイムチャートである。本図は、時刻ｔ１〜時刻ｔ２の間においてＡＤ変換器１７０の変換時間が通常よりも長くかかっている場合のタイムチャートを示す。以下、図９の詳細について説明する。
（図９：時刻ｔ１：各レジスタの値）
時刻ｔ１において、ＣＰＵ１１０およびＡＤ変換器１７０は、図８の時刻ｔ１における動作と同様の動作を実行する。
（図９：時刻ｔ１：各変数の値）
各変数の値は、図８の時刻ｔ１における各変数の値と同様である。
【００４１】
（図９：時刻ｔ２：各レジスタの値）
時刻ｔ２において、ＣＰＵ１１０およびＡＤ変換器１７０は、図８の時刻ｔ２における動作と同様の動作を実行する。ＡＤ変換器１７０がＡＤ変換を実行する時間が図８よりも長くかかり、図８の時刻ｔ２よりも後ろにずれ込んでいるので、ＣＰＵ１１０がステップＳ６０３を実行するタイミングが後ろにずれる。したがって、タイマＢ１６０がカウントを開始するタイミングが、図８よりも後ろにずれることになる。
（図９：時刻ｔ２：各変数の値）
上記理由により、ＣＰＵ１１０がステップＳ６０４を実行するタイミングが後ろにずれる。したがって、その分だけタイマＡ１５０のカウントが図８の時刻ｔ２よりも進んでいるので、ＡＤ変換所要時間ＴＡＤＣの値は図８よりも大きくなる。
【００４２】
（図９：時刻ｔ３：各レジスタの値）
時刻ｔ３において、ＣＰＵ１１０およびＡＤ変換器１７０は、図８の時刻ｔ３における動作と同様の動作を実行する。ここでは、図８の時刻ｔ３と図９の時刻ｔ３は同じ時刻であるものとする。
（図９：時刻ｔ３：各変数の値）
ステップＳ５０７において、ＡＤ変換開始間隔ＴＡＤＳにタイマＡ１５０の値がセットされる。図８の時刻ｔ３と図９の時刻ｔ３は同じ時刻であるので、ＡＤ変換開始間隔ＴＡＤＳの値は図８と同様になる。
【００４３】
（図９：時刻ｔ４：各レジスタの値）
時刻ｔ３において、ＣＰＵ１１０およびＡＤ変換器１７０は、図８の時刻ｔ４における動作と同様の動作を実行する。ここでは、図８の時刻ｔ４と図９の時刻ｔ４は同じ時刻であるものとする。
（図９：時刻ｔ４：各変数の値）
ステップＳ６０１において、ＡＤ変換終了間隔ＴＡＤＦにタイマＢ１６０の値がセットされる。タイマＢ１６０がカウントを開始するタイミングが図８よりも後ろにずれ込んでいるので、その分だけカウント値が図８よりも小さくなる。したがってＡＤ変換終了間隔ＴＡＤＦの値も、図８より小さくなる。
【００４４】
図９の時刻ｔ１とｔ３において、ＣＰＵ１１０は図３の動作フローを実行し、その過程でステップＳ３０３（図７）のＡＤ変換器異常判定処理を実施する。図９（Ｅ）の右端に示すように、ＡＤ変換所要時間ＴＡＤＣとＡＤ変換終了間隔ＴＡＤＦの値が、図７で説明した規定範囲を超過している。したがって、ＡＤ変換器ＮＧフラグＡＤＮＧは１となり、ＡＤ変換器１７０は異常動作しているものと判定される。
【００４５】
なお、図８〜図９で示したタイムチャートは、動作を視覚的に説明するための１例であり、車載制御装置１００の動作は必ずしも図８〜図９に示したタイムチャートに限定されるものではない。
【００４６】
以上、各レジスタおよび各変数の値の経時変化を、タイムチャートを用いて説明した。本実施形態１では、ＡＤ変換所要時間ＴＡＤＣ、ＡＤ変換開始感覚ＴＡＤＳ、ＡＤ変換終了間隔ＴＡＤＦを全て用いてＡＤ変換器１７０の異常検査を実施しているが、これら３つの値のうちいずれか一部のみを用いて図７と同様の動作を実行し、異常検査を行うこともできる。
【００４７】
＜実施の形態１：まとめ＞
以上のように、本実施の形態１に係る車載制御装置１００は、ＡＤ変換所要時間ＴＡＤＣ、ＡＤ変換開始間隔ＴＡＤＳ、ＡＤ変換終了間隔ＴＡＤＦが規定範囲内に収まっているか否かによって、ＡＤ変換器１７０が正常動作しているか否かを検査する。これらの値はタイマＡ１５０およびタイマＢ１６０のカウント値を取得するのみでチェックすることができるので、専用の回路などは必要ない。すなわち、ＡＤ変換器１７０の動作を検査するに際して、特別な回路を設ける必要がなくなるので、ＡＤ変換器１７０の異常検査を安価に実施することができる。
【００４８】
また、ＡＤ変換器１７０は、例えば周波数解析のように、アナログ電圧値をデジタル値に変換する必要がある処理において用いられる。周波数解析において、ＡＤ変換を実行する所要時間や実行周期がずれると、波形の所望する部分の値を正しく取得することができず、誤った解析結果を得てしまう可能性がある。本実施形態１では、ＡＤ変換器１７０の処理時間に着目して異常検査を行っているので、特にＡＤ変換の実行時間によって精度が影響を受ける処理の信頼性を高めることができる。
【００４９】
＜実施の形態２＞
実施の形態１では、ＡＤ変換終了間隔ＴＡＤＦの値およびＡＤ変換所要時間ＴＡＤＣの値は、ステップＳ４０２、すなわちＡＤ変換器１７０のＡＤ変換処理が完了した時点で、ＣＰＵ１１０に対する割り込み処理として実施している。一方、同様の処理を、ＣＰＵ１１０を介さずにＤＭＡ部１４０によって実施してもよい。
【００５０】
ＤＭＡ部１４０を用いれば、ＣＰＵ１１０を介さずにタイマＡ１５０およびタイマＢ１６０のカウント値をＲＡＭ１３０へ格納することができる。すなわち、ＲＡＭ１３０上に確保されている、ＡＤ変換終了間隔ＴＡＤＦの値およびＡＤ変換所要時間ＴＡＤＣの値を保持する領域を、ＤＭＡ部１４０が直接上書きすることができる。
【００５１】
本実施形態２によれば、実施形態１で説明した図６の処理のうち一部をＤＭＡ部１４０が代わりに実行することにより、ＣＰＵ１１０の演算負荷を低減し、リアルタイム性を高めることができる。
【００５２】
＜実施の形態３＞
以上の実施の形態１〜２において、ＣＰＵ１１０は、ＡＤ変換器ＮＧフラグＡＤＮＧが「１」になっているときは、車両制御への影響を考慮して、フェールセーフ制御など安全側に倒した制御動作を実行することが望ましい。
【００５３】
また以上の実施の形態１〜２において、２つのカウント値を出力することができれば、タイマの数は１つでもよい。
【符号の説明】
【００５４】
１００：車載制御装置、１１０：中央演算装置（ＣＰＵ）、１２０：ＲＯＭ、１３０：ＲＡＭ、１４０：ＤＭＡ部、１５０：タイマＡ、１６０：タイマＢ、１７０：ＡＤ変換器、１７１：サンプルホールド回路、１７２：比較器、１７３：制御回路、１７４：ＤＡ変換器、ＲＥＧＡＤＳ：ＡＤ変換開始レジスタ、ＲＥＧＡＤＦ：ＡＤ変換完了レジスタ。
【図１】
0005433492.tif 000002
【図２】
0005433492.tif 000003
【図３】
0005433492.tif 000004
【図４】
0005433492.tif 000005
【図５】
0005433492.tif 000006
【図６】
0005433492.tif 000007
【図７】
0005433492.tif 000008
【図８】
0005433492.tif 000009
【図９】
0005433492.tif 000010