(57)【要約】【課題】高精度な高速クロック信号で動作する主制御回路部との間で相互交信する監視制御回路部を安価低精度な中速クロック信号で動作させ、相互に独立して動作可能な電子制御装置を得る。【解決手段】高精度な高速クロック信号ＣＬＫ０によって動作する主制御回路部２０Ａは、分周された中速の通信同期信号ＣＬＫ１を監視制御回路部３０Ａに供給する。監視制御回路部３０Ａは、中速クロック信号ＣＬＫ２によって動作して主制御回路部２０Ａの制御動作を監視する。監視制御回路部３０Ａ内の誤差測定回路３００Ａは、通信同期信号ＣＬＫ１の信号周期Ｔ１と中速クロック信号ＣＬＫ２の通信周期Ｔ２との比率である誤差補正係数Ｋｎを算出する。算出された誤差補正係数Ｋｎの値は、主制御回路部２０Ａによって逆監視されている。これにより、主制御回路部２０Ａの応答遅延異常の判定精度を向上させることができる。【選択図】図１
2011164674.tif 000002
【特許請求の範囲】
【請求項１】
直並列変換器によって互いにシリアル接続された主制御回路部および監視制御回路部を備え、
第１および第２の入力センサ群の動作状態と、前記主制御回路部内のプログラムメモリに格納された入出力制御プログラムとに応動して、第１および第２の電気負荷群を駆動制御する電子制御装置であって、
前記主制御回路部は、高速クロック信号によって動作するマイクロプロセッサと、前記マイクロプロセッサと協働する前記プログラムメモリとを備えるとともに、前記監視制御回路部に対して、前記第２の電気負荷群に対する駆動制御信号を含む下り通信情報と、前記高速クロック信号を分周して得られる通信同期信号と、通信許可信号とを定期的に送信し、
前記監視制御回路部は、前記高速クロック信号とは独立したクロック信号発生回路が発生する中速クロック信号によって動作する通信制御回路部を備えるとともに、前記通信許可信号を受信した時点から、前記主制御回路部に対して、前記第２の入力センサ群の動作状態に応動する入力監視信号を含む上り通信情報を定期的に送信し、
また、前記監視制御回路部は、前記通信同期信号の信号周期と、前記中速クロック信号の信号周期とを定期的に相対比較して、前記中速クロック信号の固体バラツキ変動および経時変化に対応した誤差補正係数を算出するための誤差測定回路を備えるとともに、特定監視信号の受信間隔を、前記中速クロック信号および前記誤差補正係数に基づいて定期的に監視測定し、
前記特定監視信号の受信間隔は、前記通信許可信号の受信間隔であるか、または前記下り通信情報の受信間隔であるか、または前記上り通信情報によって定期的に送信された質問情報に対応して前記下り通信情報によって定期的に送信される回答情報の受信間隔であり、
さらに、前記監視制御回路部は、前記誤差補正係数の算出結果、または前記誤差補正係数を算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報を、前記上り通信情報の一部として前記主制御回路部に送信するとともに、前記特定監視信号の受信間隔の監視測定結果が所定の許容上限値を超過したときに、前記主制御回路部を初期化して再起動するための第２のリセットパルスを発生する
ことを特徴とする電子制御装置。
【請求項２】
前記主制御回路部は前記逆監視情報の異常状態が持続しているかどうかを判定する逆監視異常集計手段を備えるとともに、前記監視制御回路部は監視情報の異常状態が持続しているかどうかを判定する監視異常集計手段を備え、
前記主制御回路部は、前記監視制御回路部から受信した前記誤差補正係数の算出結果または逆監視情報に基づいて、前記誤差補正係数の値が許容上下限値の所定範囲外であるか否かを判定し、前記所定範囲外である異常状態が持続していると判定されたときに前記監視制御回路部を初期化して再起動するための第１のリセットパルスを発生し、
前記監視制御回路部は、前記誤差補正係数の算出結果が前記所定範囲外である異常状態が持続していると判定されたときに、前記主制御回路部を初期化して再起動するための前記第２のリセットパルスを発生し、
前記主制御回路部および監視制御回路部の初期化再起動が行われると異常発生履歴情報が保存されるとともに，初期化再起動を行っても依然として異常状態が持続する場合には、少なくとも前記第１または第２の電気負荷に包含されている異常報知器によって異常報知されることを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記マイクロプロセッサが発生する第１のウォッチドッグ信号を監視するウォッチドッグタイマを備え、
前記ウォッチドッグタイマは、前記第１のウォッチドッグ信号のパルス幅が許容上下限値の所定範囲外であるときには、前記主制御回路部および前記監視制御回路部を初期化して再起動するためのリセットパルスを発生し、
前記主制御回路部は、特定逆監視信号の受信間隔を、前記高速クロック信号に基づいて定期的に逆監視測定し、
前記特定逆監視信号の受信間隔は、前記上り通信情報の中の前記質問情報の受信間隔であるか、または前記誤差補正係数の算出結果、または前記誤差補正係数を算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報の受信間隔であるか、または前記監視制御回路部が第２のウォッチドッグ信号を発生する場合には前記第２のウォッチドッグ信号の受信間隔であり、
前記主制御回路部は、前記特定逆監視信号の受信間隔の測定結果が、所定の許容上限値を超過したときに、前記監視制御回路部を初期化して再起動するための第１のリセットパルスを発生することを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項４】
前記中速クロック信号の信号周期の変動領域は、前記通信同期信号の信号周期に比べて低速長周期であるとともに、前記直並列変換器が、前記通信同期信号に基づいて複数ビットの上り通信情報または下り通信情報を順次直並列変換する直並列変換周期よりも高速短周期となる関係に規制されていることを特徴とする請求項１から請求項３までのいずれか１項に記載の電子制御装置。
【請求項５】
前記誤差測定回路は、前記中速クロック信号の発生回数を計数する第２カウンタと、前記通信同期信号の発生回数を計数する第１カウンタと、前記第２カウンタの計数値が所定の設定閾値Ｎ２Ａに達した時点で計数停止指令信号を発生する一致判定回路と、前記第２カウンタの計数入力回路に設けられた第２ゲート回路と、前記第１カウンタの計数入力回路に設けられた第１ゲート回路と、前記計数停止指令信号の発生時に前記第１カウンタの計数現在値を読出記憶値Ｎ１Ａとして記憶する計測記憶回路と、誤差補正係数演算回路とを備え、
前記第２ゲート回路は、前記通信同期信号が発生開始した時点で前記第２カウンタによる前記中速クロック信号の計数を許可し、前記計数停止指令信号の発生時に計数動作を禁止し、
前記第１ゲート回路は、前記第２カウンタによる初回計数開始時に前記第１カウンタによる前記通信同期信号の計数を許可し、前記計数停止指令信号の発生時に計数動作を禁止し、
前記誤差補正係数演算回路は、前記中速クロック信号が前記設定閾値Ｎ２Ａに相当する回数だけ発生した時点での前記通信同期信号の発生回数である前記計測記憶回路の読出記憶値Ｎ１Ａを用いて、前記中速クロック信号の信号周期Ｔ２と前記通信同期信号の信号周期Ｔ１との比率である誤差補正係数Ｋｎを、以下の式、
Ｋｎ＝Ｔ２／Ｔ１＝Ｎ１Ａ／（Ｎ２Ａ−１）
から算出することを特徴とする請求項４に記載の電子制御装置。
【請求項６】
前記通信許可信号が発生するごとに、
前記第１および第２カウンタの計数現在値は、リセットされ、
前記計測記憶回路による記憶情報は、順次更新され、
前記誤差補正係数は、新たに算出される
ことを特徴とする請求項５に記載の電子制御装置。
【請求項７】
前記監視制御回路部は、ハードロジック回路で構成された前記通信制御回路部と、誤差補正係数演算回路を含む前記誤差測定回路と、前記質問情報に対応した正解情報を格納したデータメモリとを備え、
前記通信制御回路部は、前記第２の入力センサ群の動作状態に応動する入力監視信号と前記質問情報とを前記主制御回路部に送信するとともに、前記主制御回路部が発生した前記第２の電気負荷群に対する前記駆動制御信号と前記回答情報とを受信し、前記質問情報に対応した正解情報と前記回答情報とを比較して、前記回答情報が不正解である場合には、前記主制御回路部を初期化して再起動するための第２のリセットパルスを発生する
ことを特徴とする請求項４に記載の電子制御装置。
【請求項８】
前記中速クロック信号の信号周期の変動領域は、前記高速クロック信号の信号周期に比べて低速長周期であるとともに、前記通信同期信号の通信周期よりも高速短周期となる関係に規制されている
ことを特徴とする請求項１から請求項３までのいずれか１項に記載の電子制御装置。
【請求項９】
前記誤差測定回路は、前記通信同期信号の発生回数を計数する第１カウンタと、前記中速クロック信号の発生回数を計数する第２カウンタと、前記第１カウンタの計数値が所定の設定閾値Ｎ１Ｂに達した時点で計数停止指令信号を発生する一致判定回路と、前記第１カウンタの計数入力回路に設けられた第１ゲート回路と、前記第２カウンタの計数入力回路に設けられた第２ゲート回路と、前記計数停止指令信号の発生時に前記第２カウンタの計数現在値を読出記憶値Ｎ２Ｂとして記憶する計測記憶回路とを備えるとともに、
前記監視制御回路部は誤差補正係数演算手段を更に備え、
前記第１ゲート回路は、前記計数停止指令信号の発生時に前記通信同期信号の計数動作を禁止し、
前記第２ゲート回路は、前記第１カウンタによる初回計数開始時に前記第２カウンタによる前記中速クロック信号の計数を許可し、前記計数停止指令信号の発生時に計数動作を禁止し、
前記誤差補正係数演算手段は、前記通信同期信号が前記設定閾値Ｎ１Ｂに相当する回数だけ発生した時点での前記中速クロック信号の発生回数である前記計測記憶回路の読出記憶値Ｎ２Ｂを用いて、前記中速クロック信号の信号周期Ｔ２と前記通信同期信号の信号周期Ｔ１との比率である誤差補正係数Ｋｎを、以下の式、
Ｋｎ＝Ｔ２／Ｔ１＝（Ｎ１Ｂ−１）／Ｎ２Ｂ
から算出することを特徴とする請求項８に記載の電子制御装置。
【請求項１０】
前記通信許可信号が発生するごとに、
前記第１および第２カウンタの計数現在値は、リセットされ、
前記計測記憶回路による記憶情報は、順次更新され、
前記誤差補正係数は、新たに算出される
ことを特徴とする請求項９に記載の電子制御装置。
【請求項１１】
前記監視制御回路部は、前記誤差測定回路と補助マイクロプロセッサを含む前記通信制御回路部と、前記誤差補正係数を演算算出するための制御プログラムと前記質問情報に対応した正解情報とを格納した補助プログラムメモリとを備え、
前記通信制御回路部は、前記第２の入力センサ群の動作状態に応動する入力監視信号と前記質問情報とを前記主制御回路部に送信するとともに、前記主制御回路部が発生した前記第２の電気負荷群に対する前記駆動制御信号と前記回答情報とを受信し、前記質問情報に対応した正解情報と前記回答情報とを比較して、前記回答情報が不正解である場合には、前記主制御回路部を初期化して再起動するための第２のリセットパルスを発生する
ことを特徴とする請求項８に記載の電子制御装置。
【請求項１２】
前記監視制御回路部は誤差補正係数演算手段と、移動平均値を算出する移動平均値演算手段とを備え、
前記誤差測定回路は、前記通信同期信号の発生回数を計数する第１カウンタと、前記中速クロック信号の発生回数を計数する第２カウンタと、前記第１カウンタの計数値が所定の設定閾値Ｎ１Ｃに達した時点で計数停止指令信号を発生する一致判定回路と、前記第１カウンタの計数入力回路に設けられた第１ゲート回路と、前記第２カウンタの計数入力回路に設けられた第２ゲート回路と、前記計数停止指令信号の発生時に前記第２カウンタの計数現在値を読出記憶値Ｎ２Ｃとして記憶する計測記憶回路とを備え、
前記第１ゲート回路は、前記計数停止指令信号の発生時に前記通信同期信号の計数動作を禁止し、
前記第２ゲート回路は、前記第１カウンタによる初回計数開始時に前記第２カウンタによる前記中速クロック信号の計数を許可し、前記計数停止指令信号の発生時に計数動作を禁止し、
前記誤差補正係数演算手段は、前記通信同期信号が前記設定閾値Ｎ１Ｃに相当する回数だけ発生した時点での前記中速クロック信号の発生回数である前記計測記憶回路の読出記憶値Ｎ２Ｃを用いて、前記中速クロック信号の信号周期Ｔ２と通信同期信号の信号周期Ｔ１との比率である誤差補正係数Ｋｎを、以下の式、
Ｋｎ＝Ｔ２／Ｔ１＝（Ｎ１Ｃ−１）／Ｎ２Ｃ
から算出し、
前記通信許可信号が発生するごとに、
前記第１および第２カウンタの計数現在値は、リセットされ、
前記計測記憶回路による記憶情報は、順次更新され、
前記移動平均値演算手段は、前記誤差補正係数Ｋｎの直近過去の複数回の平均値を、前記移動平均値として算出する
ことを特徴とする請求項１から請求項３までのいずれか１項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、車載エンジン制御装置などに適用可能な、監視制御回路を有する電子制御装置に関し、特に、高速で高性能なマイクロプロセッサを備えた主制御回路部に対して、安価で中速動作の監視制御回路部をシリアル接続してなる電子制御装置の改良技術に関するものである。
【背景技術】
【０００２】
従来から、監視制御回路を有する電子制御装置として、マイクロプロセッサによって構成された主制御回路部に対し、相互にシリアル接続された監視制御回路部を設け、相互に動作監視を行う技術が提案されている（たとえば、特許文献１参照）。
【０００３】
上記特許文献１に記載の従来装置において、監視制御回路部は、主制御回路部を構成して入出力制御動作を行うマイクロプロセッサに対し、照会パケットによって多数の質問事項を順次送信し、マイクロプロセッサからの応答内容と監視制御回路側に予め格納されている正解情報とを比較して、マイクロプロセッサの制御動作に対する異常判定を行い、マイクロプロセッサは、照会パケットの受信間隔を診断して監視制御回路部の監視動作を逆監視するように構成されている。
【０００４】
なお、主制御回路部で使用される高精度なクロック信号を分周して監視制御回路部を作動させた場合には、このクロック信号が異常になると、主制御回路部と監視制御回路部とが同時に異常となる問題があるので、監視制御回路部を動かすクロック信号の発振器として、主制御回路部とは独立した安価な発振器を使用することが望ましい。
【０００５】
一方、従来から、監視制御回路部で使用される低精度のクロック信号の周期を、主制御回路部から供給された高精度な基準クロック信号を用いて補正する車載電子制御装置も提案されている（たとえば、特許文献２参照）。
【０００６】
上記特許文献２に記載の車載電子制御装置においては、主制御回路部を構成するマイクロプロセッサに対してシリアル接続された覚醒制御回路部（監視制御回路部に相当する）を備え、主制御回路部で使用される高速で高精度なクロック信号を分周して得られる高精度な基準クロック信号によって、覚醒制御回路部で使用される低精度のクロック信号の動作周期を補正し、主制御回路部が運転停止されてから以降の経過時間を覚醒制御回路部によって測定し、所定時間後に主制御回路部を再起動する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−０３１８６５号公報（図１、要約）
【特許文献２】特開２００５−２９９５１７号公報（図１、要約）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記特許文献１に記載の電子制御装置では、監視制御回路部が主制御回路部からの回答情報の遅延を判定するためのタイムアウトチェックを行う必要があり、また、所定周期で質問情報を送信するための通信間隔を設定するために、比較的高精度なクロック信号で動作させる必要があるので、固体バラツキ変動や環境温度によって発振周期が数倍に変化する安価な半導体発振器を使用することができず、コストアップを抑制することができないという課題があった。
【０００９】
また、上記特許文献２に記載の車載電子制御装置では、覚醒制御回路部で使用される低精度のクロック信号として、主制御回路部から供給された基準クロック信号によって信号周期を補正しているものの、覚醒制御回路部は、高速クロック信号を用いて基準クロック信号の周期を測定して高速クロック信号の周期の誤差を検出しており、しかも主制御回路部の運転中は常時覚醒制御回路部に対して基準クロック信号を供給するようになっているので、ノイズ発生源となる高速クロック信号が使用されてノイズ誤動作の可能性が高くなるとともに、主制御回路部を動かすクロック信号の分周信号が覚醒制御回路部に常時配信されることによって、主制御回路部がノイズ誤動作する可能性が高くなるという課題があった。
【００１０】
この発明は、上記のような課題を解決するためになされたものであり、第１の目的は、主制御回路部側のクロック信号源が異常となっても、監視制御回路部による監視動作を可能にするために、監視制御回路部にも独立に付加したクロック信号源を配置し、付加したクロック信号源の信号周期がたとえ大幅に変動する低精度なものであっても、安価なクロック信号源を使用することにより、全体としてのコストアップを抑制した電子制御装置を得ることにある。
【００１１】
また、この発明の第２の目的は、監視制御回路部で使用されるクロック信号源を、主制御回路部側の高速クロック信号源に比べて低消費電力でノイズ発生が少ない中速のクロック信号源とし、中速のクロック信号の信号周期の誤差を、主制御回路部から供給される通信同期信号を用いて検出することにより、監視制御回路部における異常判定を正確に行う電子制御装置を得ることにある。
さらに、この発明の第３の目的は、主制御回路部に設けられた高精度の高速クロック信号を分周して得られる通信同期信号を中速信号周期のものとし、少なくとも高速クロック信号の垂れ流しを回避することにより、ノイズ誤動作を抑制することのできる電子制御装置を得ることにある。
【課題を解決するための手段】
【００１２】
この発明に係る電子制御装置は、直並列変換器によって互いにシリアル接続された主制御回路部および監視制御回路部を備え、第１および第２の入力センサ群の動作状態と、主制御回路部内のプログラムメモリに格納された入出力制御プログラムとに応動して、第１および第２の電気負荷群を駆動制御する電子制御装置であって、主制御回路部は、高速クロック信号によって動作するマイクロプロセッサと、マイクロプロセッサと協働するプログラムメモリとを備えるとともに、監視制御回路部に対して、第２の電気負荷群に対する駆動制御信号を含む下り通信情報と、高速クロック信号を分周して得られる通信同期信号と、通信許可信号とを定期的に送信する。
【００１３】
監視制御回路部は、高速クロック信号とは独立したクロック信号発生回路が発生する中速クロック信号によって動作する通信制御回路部を備えるとともに、通信許可信号を受信した時点から、主制御回路部に対して、第２の入力センサ群の動作状態に応動する入力監視信号を含む上り通信情報を定期的に送信する。
【００１４】
また、監視制御回路部は、通信同期信号の信号周期と、中速クロック信号の信号周期とを定期的に相対比較して、中速クロック信号の固体バラツキ変動および経時変化に対応した誤差補正係数を算出するための誤差測定回路を備えるとともに、特定監視信号の受信間隔を、中速クロック信号および誤差補正係数に基づいて定期的に監視測定する。
【００１５】
特定監視信号の受信間隔は、通信許可信号の受信間隔であるか、または下り通信情報の受信間隔であるか、または上り通信情報によって定期的に送信された質問情報に対応して下り通信情報によって定期的に送信される回答情報の受信間隔である。
【００１６】
さらに、監視制御回路部は、誤差補正係数の算出結果、または誤差補正係数を算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報を、上り通信情報の一部として主制御回路部に送信するとともに、特定監視信号の受信間隔の監視測定結果が所定の許容上限値を超過したときに、主制御回路部を初期化して再起動するための第２のリセットパルスを発生する。
【発明の効果】
【００１７】
この発明によれば、主制御回路部と監視制御回路部とが互いに独立したクロック信号によって動作するので、相互に主制御回路部と監視制御回路部との動作状態を監視または逆監視することができ、安全性が向上する。
また、ノイズ発生の原因となる高速クロック信号を連続して監視制御回路部に送信する必要がないので、付加された中速クロック信号は安価で低精度のものであっても、誤差補正係数を用いて正確に特定監視信号の遅延判定を行うことができ、安価な構成で高精度な監視制御を達成することができる。
【図面の簡単な説明】
【００１８】
【図１】この発明の実施の形態１に係る電子制御装置の全体構成を周辺関連要素とともに示す回路ブロック図である。
【図２】この発明の実施の形態１によるシリアル通信動作を示すタイミングチャートである。
【図３】この発明の実施の形態１による上り通信情報および下り通信情報を示す説明図である。
【図４】図１内の誤差測定回路の詳細構成を示すブロック図である。
【図５】図１内の主制御回路部による送信動作を示すフローチャートである。
【図６】図１内の監視制御回路部の受信動作を示すフローチャートである。
【図７】図１内の監視制御回路部の送信動作を示すフローチャートである。
【図８】図１内の主制御回路部の受信動作を示すフローチャートである。
【図９】この発明の実施の形態２に係る電子制御装置の全体構成を周辺関連要素とともに示す回路ブロック図である。
【図１０】この発明の実施の形態２によるシリアル通信動作を示すタイミングチャートである。
【図１１】この発明の実施の形態２による上り通信情報および下り通信情報を示す説明図である。
【図１２】図９内の誤差測定回路の詳細構成を示すブロック図である。
【図１３】図９内の主制御回路部による送信動作を示すフローチャートである。
【図１４】図９内の監視制御回路部の受信動作を示すフローチャートである。
【図１５】図９内の監視制御回路部の送信動作を示すフローチャートである。
【図１６】図９内の主制御回路部の受信動作を示すフローチャートである。
【図１７】この発明の実施の形態２に係る誤差測定回路の他の構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
実施の形態１．
以下、図面を参照しながら、この発明の実施の形態１について詳細に説明する。図１はこの発明の実施の形態１に係る電子制御装置１０Ａの全体構成を周辺関連要素とともに示す回路ブロック図である。
【００２０】
図１において、電子制御装置１０Ａは、マイクロプロセッサ（ＣＰＵ）２０ａを主体として構成された主制御回路部２０Ａと、通信制御回路部３０ａを主体として構成された監視制御回路部３０Ａと、電源回路３３とを備えており、図示しない電源スイッチが閉路されると外部電源１３（たとえば、車載バッテリ）から電源回路３３に給電されて動作するようになっていて、図示しない電源スイッチが開路されると所定の遅延遮断時間をおいて外部電源１３からの給電回路が遮断されるようになっている。
なお，上記遅延遮断期間内には後述のＲＡＭメモリに一時記憶された異常発生履歴情報
が後述のプログラムメモリ２５Ａまたは図示しない不揮発性のデータメモリに格納保存
されるようになっている。
【００２１】
また、電子制御装置１０Ａは、主制御回路部２０Ａに関連する回路要素として、第１の入力インタフェース回路２１と、第１の出力インタフェース回路２２と、下り通信情報ＤＮＤを送信して上り通信情報ＵＰＤを受信する直並列変換器２７ａと、高精度なクロック信号源２８と、シリアルインタフェース回路（ＳＣＩ）２９とを備えている。
【００２２】
また、電子制御装置１０Ａは、監視制御回路部３０Ａに関連した回路要素として、第２の入力インタフェース回路３１と、第２の出力インタフェース回路３２と、上り通信情報ＵＰＤを送信して下り通信情報ＤＮＤを受信する直並列（Ｓ／Ｐ）変換器３７ａとを備えている。一対の直並列変換器２７ａ、３７ａは、シリアル通信回路を構成している。
さらに、電子制御装置１０Ａは、主制御回路部２０Ａおよび監視制御回路部３０Ａに関連した回路要素として、ウォッチドッグタイマ（ＷＤＴ）４０を備えている。
【００２３】
一方、電子制御装置１０Ａの外部には、第１および第２の入力インタフェース回路２１、３１を介して、第１および第２の入力センサ群１１ａ、１１ｂが接続され、第１および第２の出力インタフェース回路２２、３２を介して、第１および第２の電気負荷群１２ａ、１２ｂが接続され、シリアルインタフェース回路２９を介して、外部ツール１９が接続されている。また、電源回路３３には、外部電源１３が接続されている。
【００２４】
第１の入力センサ群１１ａは、エンジンの駆動制御を行うための開閉センサまたはアナログセンサによって構成されており、たとえば、エンジン回転と同期してＯＮ／ＯＦＦ動作する高速開閉信号を生成するエンジン回転センサやクランク角センサと、アクセルペダルの踏込み度合を検出するアクセルポジションセンサと、吸気スロットルの弁開度を検出するスロットルポジションセンサと、エンジンに対する吸気量を検出するエアフローセンサと、排気ガスの酸素濃度を検出する排気ガスセンサと、の少なくとも１つを含んでいる。
【００２５】
電子制御装置１０Ａによって駆動される第１の電気負荷群１２ａは、エンジン回転と連動して動作する電気負荷、またはエンジンの駆動に直接関連する電気負荷によって構成されており、たとえば、燃料噴射用電磁弁と、点火コイル（ガソリンエンジンの場合）と、吸気弁開度制御用モータと、の少なくとも１つを含んでいる。
【００２６】
第２の入力センサ群１１ｂは、開閉センサまたはアナログセンサによって構成されており、たとえば、変速機用シフトレバーの選択スイッチと、アクセルペダルスイッチと、ブレーキペダルスイッチなどの操作スイッチと、エンジンの冷却水温センサと、油圧センサと、気圧センサなどのアナログセンサと、の少なくとも１つを含んでいる。
【００２７】
電子制御装置１０Ａによって駆動される第２の電気負荷群１２ｂは、エンジンの駆動とは直接的に関係しない補機類の電気負荷によって構成されており、負荷給電用の電源リレーと、エアコン駆動用の電磁クラッチと、変速段選択用電磁弁と、警報表示機器と、の少なくとも１つを含んでいる。
【００２８】
外部ツール１９は、製品出荷時または保守点検時において、脱着コネクタ（図示せず）を介して電子制御装置１０Ａに接続され、シリアルインタフェース回路２９を介して、マイクロプロセッサ（ＣＰＵ）２０ａと交信することにより、不揮発性のプログラムメモリ２５Ａ（後述する）に対して、制御プログラムや制御定数などを転送書込みするためのものである。
【００２９】
次に、図１に示した電子制御装置１０Ａの内部構成について、さらに詳細に説明する。
主制御回路部２０Ａは、主体となるマイクロプロセッサ（ＣＰＵ）２０ａと、演算処理用のＲＡＭメモリ２４と、プログラムメモリ（ＰＭＥＭ）２５Ａ（たとえば、不揮発フラッシュメモリ）と、第１の入力センサ群１１ａに含まれるアナログセンサに対する多チャンネルＡＤ変換器２６と、シリアル通信用のダイレクト・メモリアクセス・コントローラ（以下、「ＤＭＡ」という）２７ｂとを備えている。
【００３０】
ＲＡＭメモリ２４、プログラムメモリ２５Ａ、多チャンネルＡＤ変換器２６およびＤＭＡ２７ｂは、マイクロプロセッサ２０ａに接続されており、マイクロプロセッサ２０ａと協働するようになっている。
【００３１】
第１の入力インタフェース回路２１は、第１の入力センサ群１１ａとマイクロプロセッサ２０ａの入力ポートとの間に挿入されており、信号電圧レベルの変換および信号ノイズの抑制を行うためのローパスフィルタにより構成されている。
【００３２】
第１の出力インタフェース回路２２は、第１の電気負荷群１２ａとマイクロプロセッサ２０ａの出力ポートとの間に挿入されており、各種電気負荷を駆動するためのパワートランジスタにより構成されている。
なお、プログラムメモリ２５Ａには、入出力制御プログラムに加えて、通信制御プログラム（図５および図８とともに後述する）が格納されている。
【００３３】
監視制御回路部３０Ａは、ハードロジック回路で構成された通信制御回路部３０ａ（たとえば、論理回路ＬＣＵ）と、演算処理用のＲＡＭメモリ３４と、データメモリ（ＤＭＥＭ）３５Ａ（たとえば、不揮発ＥＥＰＲＯＭメモリ）と、第２の入力センサ群１１ｂの中のアナログセンサに対する多チャンネルＡＤ変換器（ＡＤＣ）３６と、計時動作を行うための低精度な中速クロック信号ＣＬＫ２を発生するクロック信号源３８と、ハードロジック回路で構成された誤差測定回路３００Ａ（図４とともに後述する）とを備えている。
【００３４】
ＲＡＭメモリ３４、データメモリ３５Ａおよび多チャンネルＡＤ変換器３６は、通信制御回路部（ＬＣＵ）３０ａに接続されており、通信制御回路部３０ａと協働するようになっている。
【００３５】
第２の入力インタフェース回路３１は、第２の入力センサ群１１ｂと通信制御回路部３０ａの入力ポートとの間に挿入されており、信号電圧レベルの変換および信号ノイズの抑制を行うためのローパスフィルタにより構成されている。
【００３６】
第２の出力インタフェース回路３２は、第２の電気負荷群１２ｂと通信制御回路部３０ａの出力ポートとの間に挿入されており、各種電気負荷を駆動するためのパワートランジスタにより構成されている。
なお、通信制御回路部３０ａは、入出力信号の交信制御に加えて、通信制御（図６および図７とともに後述するフローチャートに対応）をハードウエアにより行うものとなっている。
【００３７】
電源回路３３は、外部電源１３から給電されて、安定化電圧Ｖｃｃ（ＤＣ５Ｖ、ＤＣ３．３Ｖなど）を生成し、電子制御装置１０Ａ内の主制御回路部２０Ａ、監視制御回路部３０Ａ、各入出力インタフェース回路２１、２２、３１、３２、クロック信号源２８およびウォッチドッグタイマ４０に給電するようになっている。
【００３８】
一対の直並列変換器２７ａ、３７ａからなるシリアル通信回路は、全２重通信回路を構成しており、主制御回路部２０Ａから監視制御回路部３０Ａに対する下り通信情報ＤＮＤと、監視制御回路部３０Ａから主制御回路部２０Ａに対する上り通信情報ＵＰＤとを、同時に送受信することができるようになっている。
【００３９】
マイクロプロセッサ２０ａは、外付けされた高精度なクロック信号源２８が発生する高速クロック信号ＣＬＫ０（たとえば、１０ＭＨｚ）によって動作し、高速クロック信号ＣＬＫ０を分周して得られる通信同期信号ＣＬＫ１（たとえば、１ＭＨｚ）を発生して、通信許可信号ＡＬＴとともに監視制御回路部３０Ａに供給するようになっている。
【００４０】
主制御回路部２０Ａが発生する通信許可信号ＡＬＴおよび通信同期信号ＣＬＫ１については、図２とともに後述する。
ＤＭＡ２７ｂは、直並列変換器２７ａの並列入出力バスとマイクロプロセッサ２０ａのデータバスとの間に挿入されており、マイクロプロセッサ２０ａを経由せずに演算処理用のＲＡＭメモリ２４との間のデータ授受を行うために、主制御回路部２０Ａ内に設けられている。
【００４１】
通信制御回路部３０ａは、低精度なクロック信号源３８が発生する中速クロック信号ＣＬＫ２によって動作する。中速クロック信号ＣＬＫ２の信号周期Ｔ２の変動領域は、通信同期信号ＣＬＫ１よりも低速長周期となり、かつ、直並列変換器２７ａ、３７ａの直並列変換周期よりも高速短周期となるように規制されている。
【００４２】
監視制御回路部３０Ａ内の誤差測定回路３００Ａは、図４（後述する）のように、通信同期信号ＣＬＫ１の信号周期Ｔ１を基準にして、中速クロック信号ＣＬＫ２の信号周期Ｔ２を測定して、誤差補正係数Ｋｎ（＝Ｔ２／Ｔ１）を算出する回路となっている。
【００４３】
ウォッチドッグタイマ４０は、マイクロプロセッサ２０ａが発生する第１のウォッチドッグ信号ＷＤ１（パルス列）を監視して、第１のウォッチドッグ信号ＷＤ１のパルス幅が許容変動幅の範囲外に逸脱すると、リセットパルスＲＳＴを発生して、主制御回路部２０Ａおよび監視制御回路部３０Ａを初期化して再起動するようになっている。
【００４４】
また、主制御回路部２０Ａは、監視制御回路部３０Ａの異常を検出すると、第１のリセットパルスＲＳＴ１によって監視制御回路部３０Ａを初期化して再起動し、一方、監視制御回路部３０Ａは、主制御回路部２０Ａの異常を検出すると、第２のリセットパルスＲＳＴ２によって主制御回路部２０Ａを初期化して再起動するようになっている。
【００４５】
次に、図２のタイミングチャートおよび図３の説明図を参照しながら、図１に示したこの発明の実施の形態１によるシリアル通信動作について説明する。
図２（Ａ）において、通信許可信号ＡＬＴは、主制御回路部２０Ａが全２重ブロック通信の開始を許可する信号であり、独立した制御信号線によって、主制御回路部２０Ａから監視制御回路部３０Ａに対して定期送信される。
【００４６】
図２（Ａ）に示すように、通信許可信号ＡＬＴは、通信許可時点で論理レベルが変化する交番信号となっているので、通信許可信号（交番信号）ＡＬＴの論理レベルが変化するごとに、新たな通信ブロックの送信開始が許可されることになる。
ただし、通信許可信号ＡＬＴの一定論理レベルが維持されているときには、所定バイト数の通信完了時点で今回の通信は完了し、所定バイト数の通信完了前に通信許可信号ＡＬＴの論理レベルが反転した場合には、通信データの中断処理が行われるようになっている。
【００４７】
図２（Ｂ）において、通信同期信号ＣＬＫ１は、通信情報のビット数に応じた数のパルスを発生するようになっており、独立した制御信号線によって、主制御回路部２０Ａから監視制御回路部３０Ａに対して送信される。
【００４８】
通信同期信号ＣＬＫ１は、シリアル通信信号が歩進移動するためのパルス列信号となっており、主制御回路部２０Ａが通信許可信号ＡＬＴを発生してから所定の待機時間τだけ遅延して発生開始する。
【００４９】
通信同期信号ＣＬＫ１は、送受信ビット数に対応した所定量のパルス数を発生してからパルス発生を停止し、次回の通信許可信号ＡＬＴの発生時（レベル反転時）に待機時間τだけ遅延して再びパルス発生を開始する。ただし、通信同期信号ＣＬＫ１として所定量のパルス発生が完了する以前に、次回の通信許可信号ＡＬＴが早期に発生した場合には、残りのパルスの発生を省略して、待機時間τだけ遅延して再びパルス発生を開始するようになっている。
【００５０】
図２（Ｃ）において、上り通信情報ＵＰＤは、監視制御回路部３０Ａに対する入力信号情報、または主制御回路部２０Ａから得られた設定定数または制御出力の記憶情報である報告情報と、今回の質問情報と符号点検情報とを含み、たとえば５００ビットのデータ長を有している。
【００５１】
図２（Ｄ）において、下り通信情報ＤＮＤは、主制御回路部２０Ａから監視制御回路部３０Ａに送信されて、監視制御回路部３０Ａにおいて必要とされる設定定数または制御出力である指令情報と、過去の上り通信情報ＵＰＤで得られた質問情報に対する回答情報と符号点検情報とを含み、たとえば１００ビットのデータ長を有している。
【００５２】
したがって、全データの送受信を行うためには、通信同期信号ＣＬＫ１として、少なくとも５００個のパルスを発生する必要があるが、通信許可信号ＡＬＴの通信許可周期Ｔａが、たとえば５ｍｓｅｃであるのに対して、５００ビットのデータを送受信するのに必要な時間は、たとえば０．５ｍｓｅｃとなっている。
【００５３】
なお、不規則に選択される複数の質問情報にはタグ番号が付与されており、これに対する回答情報は、許容された複数回の通信サイクルが経過するまで、同じタグ番号をつけて監視制御回路部３０Ａに送信されるようになっている。
また、待機時間τは、数１００μｓｅｃであり、待機時間τの間に多チャンネルＡＤ変換器３６に対するＡＤ変換指令が発生し、全チャンネルのＡＤ変換が完了しているようになっている。
【００５４】
図３においては、上り通信情報ＵＰＤおよび下り通信情報ＤＮＤの具体的な内訳が示されている。
図３において、上り通信情報ＵＰＤは、上り通信によってＲＡＭメモリ２４に格納される受信データであり、Ｑ＆Ａ用の質問情報と、第２の入力センサ群１１ｂから得られた入力信号情報と、後述の設定済情報と、誤差補正係数Ｋｎの算出結果または誤差補正係数Ｋｎを算出するための逆監視情報と、監視集計情報と、符号点検情報とを含む。
なお、ここでは、誤差補正係数Ｋｎに関する逆監視情報として、読出記憶値Ｎ１Ａ（図４とともに後述する）の値が送信されるようになっている。
【００５５】
また、下り通信情報ＤＮＤは、下り通信によってＲＡＭメモリ３４に格納される受信データであり、Ｑ＆Ａ用の回答情報と、監視制御回路部３０Ａで必要とされる制御定数などの設定情報と、第２の電気負荷群１２ｂに対する出力信号情報と、符号点検情報とを含む。
【００５６】
なお、上り通信情報ＵＰＤ内の設定済情報は、下り通信情報ＤＮＤとしてＲＡＭメモリ３４に格納された設定情報（制御定数など）および出力信号情報である。この設定済情報によって、設定情報および出力信号情報が正しく送信されているか否かを、主制御回路部２０Ａ側で確認することができるようになっている。
【００５７】
監視制御回路部３０Ａにおいて、データメモリ３５Ａには、質問情報に対応した正解情報が製品出荷段階で予め格納されており、通信制御回路部３０ａは、ランダムに質問情報を送信し、マイクロプロセッサ２０ａから返信された回答情報と正解情報とを比較することによって、マイクロプロセッサ２０ａの動作状態を監視する。また、マイクロプロセッサ２０ａは、通信制御回路部３０ａからの質問情報に対して意図的な誤答を回答し、監視制御回路部３０Ａで適正な監視制御が行われているか否かを、受信した監視集計情報によって逆監視するようになっている。
【００５８】
この結果として、監視制御回路部３０Ａは、主制御回路部２０Ａの異常を検出すると、第２のリセットパルスＲＳＴ２を発生して主制御回路部２０Ａを初期化して再起動し、主制御回路部２０Ａは、監視制御回路部３０Ａの異常を検出すると、第１のリセットパルスＲＳＴ１を発生して、監視制御回路部３０Ａを初期化して再起動するようになっている。
【００５９】
次に、図１〜図３とともに、図４のブロック図を参照しながら、監視制御回路部３０Ａ内の誤差測定回路３００Ａの詳細構成について説明する。
図４において、誤差測定回路３００Ａは、第１および第２カウンタ３１０ｂ、３１０ａと、第１および第２ゲート回路３１１ｂ、３１１ａと、第１および第２の計数開始指令回路３１３ｂ、３１３ａと、一致判定回路３１５ａと、計測記憶回路３１６と、誤差補正係数演算回路３１７とを備えている。
【００６０】
第２カウンタ３１０ａは、第２ゲート回路３１１ａを介して、中速クロック信号ＣＬＫ２が（たとえば、論理レベル「Ｌ」から論理レベル「Ｈ」に）変化した回数を計数する。
第１カウンタ３１０ｂは、第１ゲート回路３１１ｂを介して、通信同期信号ＣＬＫ１が（たとえば、論理レベル「Ｌ」から論理レベル「Ｈ」に）変化した回数を計数する。
【００６１】
第２の計数開始指令回路３１３ａは、通信許可信号ＡＬＴが有効変化してから初回の通信同期信号ＣＬＫ１が発生したことを記憶し、この記憶信号（計数開始信号）により第２ゲート回路３１１ａを解放して、第２カウンタ３１０ａに対する中速クロック信号ＣＬＫ２の計数入力を許可する。
【００６２】
第１の計数開始指令回路３１３ｂは、第２カウンタ３１０ａの計数現在値ＣＮＴ２が１以上（１≦ＣＮＴ２）になったことに応答して、第１ゲート回路３１１ｂを解放して、第１カウンタ３１０ｂに対する通信同期信号ＣＬＫ１の計数入力を許可する。
【００６３】
一致判定回路３１５ａは、第２カウンタ３１０ａの計数現在値ＣＮＴ２が所定の設定閾値Ｎ２Ａに達した時点で計数停止指令信号ＳＴを発生して、第１および第２カウンタ３１０ｂ、３１０ａの計数動作を停止する。
【００６４】
計測記憶回路３１６は、一致判定回路３１５ａが計数停止指令信号ＳＴを発生した時点での第１カウンタ３１０ｂの計数現在値ＣＮＴ１を、読出記憶値Ｎ１Ａとして記憶する。
誤差補正係数演算回路３１７は、中速クロック信号ＣＬＫ２の信号周期Ｔ２と、通信同期信号ＣＬＫ１の信号周期Ｔ１との比率（Ｔ２／Ｔ１）を、誤差補正係数Ｋｎとして、以下の式（１）のように、読出記憶値Ｎ１Ａおよび設定閾値Ｎ２Ａを用いて算出する。
【００６５】
Ｋｎ＝Ｔ２／Ｔ１＝Ｎ１Ａ／（Ｎ２Ａ−１）・・・・・（１）
【００６６】
なお、第２カウンタ３１０ａの計数現在値ＣＮＴ２が「１〜Ｎ２Ａ」である期間「Ｎ２Ａ−１）×Ｔ２」内における通信同期信号ＣＬＫ１の発生回数は、読出記憶値Ｎ１Ａに相当しているので、以下の関係が成立する。
【００６７】
（Ｎ２Ａ−１）×Ｔ２≒Ｎ１Ａ×Ｔ１
【００６８】
したがって、式（１）によって誤差補正係数Ｋｎが算出される。
第１および第２カウンタ３１０ｂ、３１０ａの計数現在値ＣＮＴ１、ＣＮＴ２は、通信許可信号ＡＬＴが論理反転するごとに、リセット指令３１９によって計数現在値「０」に初期化され、新たに誤差補正係数Ｋｎの算出が行われるようになっている。
【００６９】
一方、監視制御回路部３０Ａにおける計時動作は、中速クロック信号ＣＬＫ２の発生回数を計数することによって行われる。
たとえば、監視制御回路部３０Ａは、第１の質問情報を送信してから、複数の通信サイクルを経て第１の回答情報を受信した場合に、この間の経過時間が、許容されたタイムアウト判定時間Ｔｄを超過した（異常）か否かを判定するために、中速クロック信号ＣＬＫ２の発生回数を計数する。
【００７０】
このとき、回答受信までの計数値Ｎが、Ｎ×Ｔ２＜Ｔｄ（すなわち、Ｎ＜Ｔｄ／Ｔ２）の関係を満たせば、所定時間内に回答が得られたことになり、受信状態が正常であると判定される。
【００７１】
しかし、中速クロック信号ＣＬＫ２の信号周期（通信周期）Ｔ２は、固体バラツキ変動と環境温度による変動が大きいので、高精度な通信同期信号ＣＬＫ１の信号周期Ｔ１および誤差補正係数Ｋｎを用いて、以下の式（２）のように補正が行われる。
【００７２】
Ｎ＜Ｔｄ／Ｔ２＝Ｔｄ／（Ｋｎ×Ｔ１）  ・・・・・・（２）
【００７３】
一方、誤差補正係数Ｋｎが、想定されたバラツキ範囲から逸脱した値（異常）であるか否かは、主制御回路部２０Ａおよび監視制御回路部３０Ａの双方で確認されるようになっている。
まず、主制御回路部２０Ａ側で確認する場合には、監視制御回路部３０Ａの誤差測定回路３００Ａ内の誤差補正係数演算回路３１７により算出された誤差補正係数Ｋｎの値を、直並列変換器３７ａおよび直並列変換器２７ａを介して、上り通信情報ＵＰＤの一部として主制御回路部２０Ａに送信し、主制御回路部２０Ａにおいて、誤差補正係数Ｋｎが許容上下限値の所定範囲外（異常）か否かを判定する。
【００７４】
または、誤差測定回路３００Ａ内の計測記憶回路３１６に書込まれた読出記憶値Ｎ１Ａを主制御回路部２０Ａに送信し、主制御回路部２０Ａにより式（１）の演算を行うことにより、誤差補正係数Ｋｎが所定範囲（許容変動幅）外の値であったか否かを判定することもできる。
【００７５】
なお、誤差補正係数Ｋｎの値は、通信同期信号ＣＬＫ１の信号周期（通信周期）Ｔ１が異常である場合、または中速クロック信号ＣＬＫ２の信号周期Ｔ２が異常である場合に異常となるが、通信同期信号ＣＬＫ１の元になっている高速クロック信号ＣＬＫ０が異常となっている場合には、ウォッチドッグタイマ４０によっても異常検出されることになる。
【００７６】
したがって、まずは、通信同期信号ＣＬＫ１は正常であるものと見なし、誤差補正係数Ｋｎの値が異常であれば、主制御回路部２０Ａが発生する第１のリセットパルスＲＳＴ１によって監視制御回路部３０Ａを初期化して再起動するようになっている。
【００７７】
しかし、通信同期信号ＣＬＫ１が異常となって正常な通信が不可能な場合を想定して、監視制御回路部３０Ａ側においても、誤差補正係数Ｋｎの値が正常であるか否かを判定し、仮に異常状態が持続すれば、第２のリセットパルスＲＳＴ２を発生して主制御回路部２０Ａを初期化して再起動するようになっている。
【００７８】
以下、この発明の実施の形態１（図１）による通信動作について説明する。
図１において、まず、電源スイッチ（図示せず）を介して、電子制御装置１０Ａに対して外部電源１３が接続されると、主制御回路部２０Ａ内のマイクロプロセッサ２０ａは、第１および第２の入力センサ群１１ａ、１１ｂの動作状態と、プログラムメモリ２５Ａ内の制御プログラムの内容とに応動して、第１および第２の電気負荷群１２ａ、１２ｂの駆動制御を行う。
【００７９】
主制御回路部２０Ａの制御動作は、監視制御回路部３０Ａおよびウォッチドッグタイマ４０によって監視されており、主制御回路部２０Ａ内のマイクロプロセッサ２０ａが発生する第１のウォッチドッグ信号ＷＤ１のパルス幅が過大または過少のいずれの異常であっても、ウォッチドッグタイマ４０が発生するリセットパルスＲＳＴによって主制御回路部２０Ａおよび監視制御回路部３０Ａが初期化されて再起動されるようになっている。
【００８０】
また、監視制御回路部３０Ａは、通信許可信号ＡＬＴ、下り通信情報ＤＮＤ、または、上り通信情報ＵＰＤによって定期的に送信された質問情報に対応して下り通信情報ＤＮＤによって定期的に送信される特定監視信号（回答情報など）、の受信間隔の監視測定結果が、所定の許容上限値を超過したときに、主制御回路部２０Ａを初期化して再起動するための第２のリセットパルスＲＳＴ２を発生する。
【００８１】
また、監視制御回路部３０Ａは、中速クロック信号ＣＬＫ２の信号周期Ｔ２に関する誤差補正係数Ｋｎの算出結果が、許容上下限値の所定範囲外となる異常状態が所定時間以上継続したときに、主制御回路部２０Ａを初期化して再起動するための第２のリセットパルスＲＳＴ２を発生する。
【００８２】
また、監視制御回路部３０Ａは、質問情報を主制御回路部２０Ａに送信するとともに、この質問情報に対応した正解情報と、主制御回路部２０Ａから得られた回答情報とを比較して、回答情報が不正解である場合には、主制御回路部２０Ａを初期化して再起動するための第２のリセットパルスＲＳＴ２を発生する。
【００８３】
一方、主制御回路部２０Ａは、監視制御回路部３０Ａから受信した中速クロック信号ＣＬＫ２の信号周期Ｔ２に関する誤差補正係数Ｋｎの算出結果または逆監視情報（読出記憶値Ｎ１Ａ）に基づいて、誤差補正係数Ｋｎの値が許容上下限値の所定範囲外（異常）であるか否かを判定し、判定結果が範囲外であったときに、監視制御回路部３０Ａを初期化して再起動するための第１のリセットパルスＲＳＴ１を発生する。
【００８４】
また、主制御回路部２０Ａは、上り通信情報ＵＰＤの中の質問情報の受信間隔、誤差補正係数Ｋｎの算出結果、または、誤差補正係数Ｋｎを算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報（読出記憶値Ｎ１Ａ）の受信間隔、を監視して、この受信間隔の測定結果が、所定の許容上限値を超過したときに、監視制御回路部３０Ａを初期化して再起動するための第１のリセットパルスＲＳＴ１を発生する。
【００８５】
または、主制御回路部２０Ａは、監視制御回路部３０Ａが第２のウォッチドッグ信号ＷＤ２（図９とともに後述する）を発生する場合には、第２のウォッチドッグ信号ＷＤ２の受信間隔を監視して、この受信間隔の測定結果が、所定の許容上限値を超過したときに、監視制御回路部３０Ａを初期化して再起動するための第１のリセットパルスＲＳＴ１を発生する。
【００８６】
主制御回路部２０Ａまたは監視制御回路部３０Ａに対する第２または第１のリセットパルスＲＳＴ２、ＲＳＴ１の発生要因となった異常動作が、一時的なノイズ誤動作によるものであった場合には、主制御回路部２０Ａまたは監視制御回路部３０Ａを初期化して再起動することによって、正常状態に復帰することができる。
【００８７】
しかし、このようなノイズ誤動作が散発しているような場合には、初期化回数の計数カウンタ（図示せず）によってリセットパルスの発生回数を計数し、異常発生頻度が高いときには、少なくとも異常報知が行なわれ，電子制御装置が例えば車載エンジン制御装置である場合には車両の安全性に関わる電気負荷の駆動を停止した退避運転状態に移行するようになっている。なお、初期化回数の計数カウンタの計数現在値は、電源投入時にリセットされるようになっている。
【００８８】
一方、第２または第１のリセットパルスＲＳＴ２、ＲＳＴ１を発生させた異常動作の要因が、ハードウエアの異常による場合には、主制御回路部２０Ａまたは監視制御回路部３０Ａを初期化して再起動しても、再び第２または第１のリセットパルスＲＳＴ２、ＲＳＴ１が発生して、第２の電気負荷群１２ｂ内の異常報知用の表示機器のみを除き、すべての電気負荷は非駆動状態が持続するようになっている。
なぜなら、初期化して再起動した直後には、負荷駆動出力を発生する前に再度異常点検が行われ、異常状態が持続していれば、負荷駆動が行われる前に再びリセットされるようになっているからである。
【００８９】
次に、図５〜図８のフローチャートを参照しながら、図１〜図４に示したこの発明の実施の形態１による通信動作について説明する。
まず、図５を参照しながら、主制御回路部２０Ａ内のマイクロプロセッサ２０ａによる監視制御回路部３０Ａへの情報送信動作について具体的に説明する。
【００９０】
図５において、マイクロプロセッサ２０ａは、監視制御回路部３０Ａへの送信動作を開始すると（ステップ４００）、まず、第１のリセットパルスＲＳＴ１（リセット指令出力）が発生したか否かを判定する（ステップ４０１ａ）。
【００９１】
ステップ４０１ａにおいて、第１のリセットパルスＲＳＴ１が発生していない（すなわち、ＮＯ）と判定されれば、所定の複数回前の上り通信で得られた質問情報に対応した回答情報を生成する（ステップ４０２）。
【００９２】
また、ステップ４０１ａにおいて、第１のリセットパルスＲＳＴ１が発生した（すなわち、ＹＥＳ）と判定されれば、監視制御回路部３０Ａの通信制御回路部３０ａを初期化して再起動するとともに、第１のリセットパルスＲＳＴ１を解除してから（ステップ４０１ｂ）、回答情報生成処理（ステップ４０２）に移行する。
なお、第１のリセットパルスＲＳＴ１は、後述の図８内の逆監視異常集計処理（ステップ７１０）において生成され、図５内のステップ４０１ｂで解除されることにより、監視制御回路部３０Ａに入力される。
【００９３】
ステップ４０２に続いて、マイクロプロセッサ２０ａは、通信許可信号（交番信号）ＡＬＴの論理反転を行う時期であるか否かを判定し（ステップ４０３Ａ）、反転時期である（すなわち、ＹＥＳ）と判定されれば、通信許可信号ＡＬＴの論理レベルを反転させる（ステップ４０４Ａ）。
また、ステップ４０３Ａにおいて、反転時期でない（すなわち、ＮＯ）と判定されれば、図５の送信ルーチンを終了する（ステップ４１０）。
【００９４】
ステップ４０４Ａに続いて、マイクロプロセッサ２０ａは、所定の待機時間τ（図２参照）が経過したか否かにより、通信同期信号ＣＬＫ１の発生時期であるか否かを判定する（ステップ４０５ａ）。
ステップ４０５ａにおいて、発生時期（待機時間τが経過）でない（すなわち、ＮＯ）と判定されれば、監視制御回路部３０Ａに送信する設定データや出力信号データを編集して、待機時間τ以内にステップ４０５ａに復帰する（ステップ４０５ｂ）。
【００９５】
また、ステップ４０５ａにおいて、発生時期（待機時間τが経過）である（すなわち、ＹＥＳ）と判定されれば、通信同期信号ＣＬＫ１の発生を開始する（ステップ４０５ｃ）。
ステップ４０５ａ、４０５ｂは待機ステップを構成しており、所定の待機時間τが経過するまでは、ステップ４０５ａのＮＯ判定によりステップ４０５ｂに移行し、待機時間τの経過時にステップ４０５ａのＹＥＳ判定によりステップ４０５ｃに移行するようになっている。
【００９６】
ステップ４０５ｃに続いて、マイクロプロセッサ２０ａは、ＤＭＡ２７ｂと協働しながら、たとえば８ビット単位で、下り通信情報ＤＮＤの送信データをＲＡＭメモリ２４から直並列変換器２７ａに順次転送する（ステップ４０６）。
【００９７】
次に、マイクロプロセッサ２０ａは、クロックカウンタ（図示せず）により通信同期信号ＣＬＫ１の発生回数を計数し、所定バイト数の送信が完了したか否かを判定して（ステップ４０７）送信完了（すなわち、ＹＥＳ）と判定されれば、図５の送信ルーチンを終了する（ステップ４１０）。
また、ステップ４０７において、送信未完了（すなわち、ＮＯ）と判定されれば、ステップ４０５ｃに復帰し、ステップ４０５ｃ〜４０７の処理を繰り返し実行する。
【００９８】
なお、ステップ４０６においては、送信された全データに関し、ＣＲＣチェックまたはサムチェックで代表される符号点検手段を用いて、受信側におけるビット情報の混入（論理「０」が誤って論理「１」に変化）またはビット情報の欠落（論理「１」が誤って論理「０」に変化）が発生したか否かを検出するための符号点検情報が、最終情報として付加されている。
【００９９】
また、動作終了処理（ステップ４１０）においては、入出力制御動作や後述の受信動作（図８）などの他の制御動作を実行してから、所定時間内には動作開始処理（ステップ４００）に再度復帰（循環移行）するようになっている。
【０１００】
次に、図６を参照しながら、監視制御回路部３０Ａ内の通信制御回路部（論理回路ＬＣＵ）３０ａによる主制御回路部２０Ａからの情報受信動作について具体的に説明する。
図６においては、受信論理動作が等価フローチャートで表現されている。
【０１０１】
図６において、通信制御回路部３０ａは、主制御回路部２０Ａからの情報受信動作を開始すると（ステップ５００）、後述のステップ５１０において第２のリセットパルスＲＳＴ２（リセット指令出力）が発生したか否かを判定する（ステップ５０１ａ）。
【０１０２】
ステップ５０１ａにおいて、第２のリセットパルスＲＳＴ２が発生していない（すなわち、ＮＯ）と判定されれば、続いて、主制御回路部２０Ａから送信された通信許可信号（交番信号）ＡＬＴが論理反転した直後か否かを判定する（ステップ５０２Ａ）。
【０１０３】
また、ステップ５０１ａにおいて、第２のリセットパルスＲＳＴ２が発生した（すなわち、ＹＥＳ）と判定されれば、マイクロプロセッサ２０ａを初期化して再起動するとともに、第２のリセットパルスＲＳＴ２を解除してから（ステップ５０１ｂ）、論理反転の判定処理（ステップ５０２Ａ）に移行する。
【０１０４】
ステップ５０２Ａにおいて、通信許可信号ＡＬＴが論理反転した直後でない（すなわち、ＮＯ）と判定されれば、後述処理（ステップ５０６、５１２、５１３ａ、５１４ｂ）でのタイムアウトチェック用に設けられた遅延判定用カウンタ（図示せず）の計数値の正常範囲を、前述の式（２）に基づいて換算補正する（ステップ５１１Ａ）。
【０１０５】
続いて、通信制御回路部３０ａは、前回の通信許可から今回の通信許可までの経過時間が所定値を超過したか否かにより、今回の通信許可が遅延したか否かを判定し（ステップ５１２）、通信許可が遅延（経過時間が所定値を超過）した（すなわち、ＹＥＳ）と判定されれば、後述のステップ５１０に移行し、
また、ステップ５１２において、通信許可が遅延していない（すなわち、ＮＯ）と判定されれば、図６の受信ルーチンを終了する（ステップ５２０）。
【０１０６】
一方、ステップ５０２Ａにおいて、通信許可信号ＡＬＴが論理反転した（すなわち、ＹＥＳ）と判定されれば、続いて、直並列変換器３７ａが１バイトの受信完了信号を発生したか否かを監視して、１バイト受信が完了したか否かを判定し（ステップ５０３）、１バイト受信が未完了（すなわち、ＮＯ）と判定されれば、後述の判定処理（ステップ５０６）に移行する。
【０１０７】
また、ステップ５０３において、１バイト受信が完了（すなわち、ＹＥＳ）と判定されれば、たとえば８ビット単位で、下り通信情報ＤＮＤの受信データを直並列変換器３７ａからＲＡＭメモリ３４に順次転送して仮格納する（ステップ５０４）。
【０１０８】
続いて、通信制御回路部３０ａは、クロックカウンタ（図示せず）により通信同期信号ＣＬＫ１の発生回数を計数して、所定バイト数の受信が完了したか否かを判定し（ステップ５０５）、所定バイト数の受信が未完了（すなわち、ＮＯ）と判定されれば、データ受信が遅延したか否かの判定処理（ステップ５０６）に移行する。
【０１０９】
ステップ５０６において、通信制御回路部３０ａは、ステップ５０２ＡでＹＥＳ判定されてからの経過時間が所定の許容時間を超過したか否かを判定し、経過時間が許容時間内であって遅延無し（正常）（すなわち、ＮＯ）と判定されれば、ステップ５０３に復帰する。
【０１１０】
また、ステップ５０６において、許容時間を超過して遅延が発生している（異常）（すなわち、ＹＥＳ）と判定されれば、後述のステップ５１０に移行する。
なお、ステップ５０６における遅延判定用の許容時間は、前述のステップ５１１Ａによって換算補正された時間が適用されるようになっている。
【０１１１】
一方、ステップ５０５において、所定バイト数の受信が完了（すなわち、ＹＥＳ）と判定されれば、続いて、符号誤り検出手段となる異常判定処理（ステップ５０７）に移行する。
ステップ５０７において、通信制御回路部３０ａは、図５内のステップ４０６で付加された符号点検情報を用いて、受信した下り通信情報ＤＮＤの中にビット情報の混入または欠落異常が発生したか否かを、サムチェックまたはＣＲＣチェックにより点検する。
【０１１２】
ステップ５０７において、符号点検異常が発生（すなわち、ＹＥＳ）と判定されれば、後述のステップ５１０に移行する。
また、ステップ５０７において、符号点検異常無し（すなわち、ＮＯ）と判定されれば、ステップ５０４で仮格納された受信データを有効データとして格納し、設定情報、出力信号情報として転送する（ステップ５０８）。
【０１１３】
続いて、通信制御回路部３０ａは、過去に送信された質問情報に対応した回答情報が所定の許容時間内に返信されたか否かにより、回答遅延が発生したか否かを判定し（ステップ５１３ａ）、回答遅延が発生（すなわち、ＹＥＳ）と判定されれば、後述のステップ５１０に移行する。
【０１１４】
また、ステップ５１３ｂにおいて、回答遅延無し（すなわち、ＮＯ）と判定されれば、続いて、後述のステップ６０６（図７参照）で送信された過去の質問情報に対応した正解情報と、ステップ５０８で格納された今回の回答情報とが一致しているか否かにより、回答情報が不正解であるか否かを判定する（ステップ５１３ｂ）。
【０１１５】
なお、過去の質問情報と、これに対応した正解情報と、今回受信した回答情報とは、同一のタグ番号によって関連付けられている。
ステップ５１３ｂにおいて、回答情報が不正解（すなわち、ＹＥＳ）と判定されれば、後述のステップ５１０に移行する。
【０１１６】
また、ステップ５１３ｂにおいて、回答情報が正解（すなわち、ＮＯ）と判定されれば、続いて、図４内の誤差補正係数演算回路３１７により算出された誤差補正係数Ｋｎの値が所定範囲外となっているか否かにより、誤差補正係数Ｋｎが異常か否かを判定し（ステップ５１４ａ）、誤差補正係数Ｋｎが正常（すなわち、ＮＯ）と判定されれば、図６の処理ルーチンを終了する（ステップ５２０）。
【０１１７】
また、ステップ５１４ａにおいて、誤差補正係数Ｋｎが所定範囲（許容変動幅）を超える異常値である（すなわち、ＹＥＳ）と判定されれば、続いて、異常判定処理（ステップ５１４ａ）が所定時間以上経過したか否かを判定し（ステップ５１４ｂ）、所定時間を超過した（すなわち、ＹＥＳ）と判定されれば、後述のステップ５１０に移行する。
また、ステップ５１４ｂにおいて、異常判定処理（ステップ５１４ａ）が所定時間を超過していない（すなわち、ＮＯ）と判定されれば、図６の処理ルーチンを終了する（ステップ５２０）。
【０１１８】
なお、ステップ５１４ａと同様の誤差補正係数Ｋｎの異常判定処理は、後述のステップ７０９ｂ（図８参照）のように、主制御回路部２０Ａ（マイクロプロセッサ２０ａ）側においても実行され、誤差補正係数Ｋｎが異常であれば、監視制御回路部３０Ａが初期化および再起動されるようになっている。ただし、通信異常などによって、上記の異常処理が実行されなかった場合には、ステップ５１４ｂのＹＥＳ判定により、ステップ５１０が実行されることになる。
【０１１９】
ステップ５１０において、通信制御回路部３０ａは、監視異常集計処理を行うとともに、第２のリセットパルスＲＳＴ２（リセット指令出力）を発生して、動作終了処理（ステップ５２０）に移行する。
【０１２０】
ステップ５１０は、第２の可逆エラーカウンタ（図示せず）によって構成されており、第２の可逆エラーカウンタは、各判定処理（ステップ５０６、５０７、５１２、５１３ａ、５１３ｂ、５１４ｂ）のいずれかにおいて、異常（すなわち、ＹＥＳ）と判定されるごとに、計数現在値がたとえば「５カウント」上昇し、正常（すなわち、ＮＯ）と判定されるごとに、計数現在値がたとえば「１カウント」減少する。また、第２の可逆エラーカウンタの計数現在値は、「０」以下にはならないように減算規制されている。
【０１２１】
ステップ５１０において、通信制御回路部３０ａは、第２の可逆エラーカウンタの計数現在値（監視集計結果）が所定値（たとえば、「１１」）を超過すると、第２のリセットパルスＲＳＴ２（リセット指令出力）を発生する。
なお、ステップ５１０における監視集計値は、ステップ５０１ｂにおいてマイクロプロセッサ２０ａが初期化および再起動された時点で初期化されるようになっている。
【０１２２】
ステップ５１０に続く動作終了処理（ステップ５２０）においては、送信制御動作（図７）を含む他の制御を実行してから、動作開始ステップ５００に復帰するようになっている。
【０１２３】
なお、図６内の各判定処理において、ステップ５０６は、下り通信情報の遅延異常判定手段を構成し、ステップ５１２は、通信許可信号ＡＬＴの交番動作の遅延判定手段を構成し、ステップ５１３ａは、回答情報の遅延異常判定手段を構成し、ステップ５１４ｂは、誤差継続異常の判定手段を構成している。
【０１２４】
ステップ５０６、５１２、５１３ａ、５１４ｂからなる各異常判定手段は、上述のように、中速クロック信号ＣＬＫ２の発生回数を計数し、ステップ５１１Ａで換算読出された判定閾値と比較することによって、異常の有無を判定するようになっている。
これに対し、ステップ５１３ｂは、回答情報と正解情報とを比較して得られる不正解判定手段を構成しており、ステップ５０７は、受信データに対する符号点検異常の判定手段を構成している。
【０１２５】
次に、図７を参照しながら、監視制御回路部３０Ａ内の通信制御回路部（論理回路ＬＣＵ）３０ａによる情報送信動作について具体的に説明する。
図７においては、送信論理動作が等価フローチャートで表現されている。
【０１２６】
図７において、通信制御回路部３０ａは、主制御回路部２０Ａへの送信動作を開始すると（ステップ６００）、図６内のステップ５１０によって第２のリセットパルスＲＳＴ２（リセット指令出力）が発生したか否かを判定する（ステップ６０１ａ）。
【０１２７】
ステップ６０１ａにおいて、第２のリセットパルスＲＳＴ２が発生していない（すなわち、ＮＯ）と判定されれば、今回の送信情報として、図６内のステップ５０８で確定格納された設定情報や出力信号情報などの記憶情報と、今回の更新された質問情報と、誤差補正係数Ｋｎの値（または、図４内の読出記憶値Ｎ１Ａの値）である逆監視情報と、図６内のステップ５１０において集計された監視異常集計値などの送信情報と、を送信順序にしたがって編集する（ステップ６０２）。
【０１２８】
また、ステップ６０１ａにおいて、第２のリセットパルスＲＳＴ２が発生した（すなわち、ＹＥＳ）と判定されれば、マイクロプロセッサ２０ａを初期化して再起動するとともに、第２のリセットパルスＲＳＴ２を解除してから（ステップ６０１ｂ）、情報編集処理（ステップ６０２）に移行する。
【０１２９】
ステップ６０２に続いて、通信制御回路部３０ａは、通信許可信号ＡＬＴを監視して、通信許可信号ＡＬＴが論理反転した直後か否かを判定し（ステップ６０３Ａ）、反転受信の直後でない（すなわち、ＮＯ）と判定されれば、図７の処理ルーチンを終了する（ステップ６１０。
【０１３０】
また、ステップ６０３Ａにおいて、論理反転の受信直後である（すなわち、ＹＥＳ）と判定されれば、続いて、通信同期信号ＣＬＫ１を受信したか否かを判定する（ステップ６０４）。
【０１３１】
ステップ６０４において、通信同期信号ＣＬＫ１が未受信（すなわち、ＮＯ）と判定されれば、多チャンネルＡＤ変換器３６に対してＡＤ変換指令を発生し、得られた最新のＡＤ変換情報を主制御回路部２０Ａに送信する入力データとして編集開始し（ステップ６０５）、待機時間τ（図２参照）以内にステップ６０４に復帰する。
【０１３２】
なお、多チャンネルＡＤ変換器３６からＡＤ変換完了信号を受信した頃合の遅延時間を経過して待機時間τが完了し、ステップ６０４に移行することにより、主制御回路部２０Ａは、通信同期信号ＣＬＫ１の発生を開始する。
【０１３３】
一方、ステップ６０４において、通信同期信号ＣＬＫ１を受信した（すなわち、ＹＥＳ）と判定されれば、上り通信情報ＵＰＤの送信データを、１バイト単位で、ＲＡＭメモリ３４からシリアル通信回路（シリアルインタフェース器）を構成する直並列変換器３７ａに順次転送する（ステップ６０６）。
ステップ６０６で送信されるデータは、ステップ６０２で編集された送信データと、ステップ６０５で編集された最新の入力データとを含む。
【０１３４】
続いて、通信制御回路部３０ａは、クロックカウンタ（図示せず）により通信同期信号ＣＬＫ１の発生回数を計数して、所定バイト数の送信が完了したか否かを判定し（ステップ６０７）、送信未完了（すなわち、ＮＯ）と判定されれば、ステップ６０６に復帰し、送信完了（すなわち、ＹＥＳ）と判定されれば、動作終了処理（ステップ６１０）に移行する。
【０１３５】
なお、ステップ６０６においては、送信された全データに関し、ＣＲＣチェックまたはサムチェックで代表される符号点検手段を用い、受信側において、ビット情報の混入（論理「０」が誤って論理「１」に変化）または欠落（論理「１」が誤って論理「０」に変化）の発生を検出するための符号点検情報が最終情報として付加されている。
また、動作終了処理（ステップ６１０）においては、受信制御動作（図６）を含む他の制御動作を実行し、所定時間内には動作開始処理（ステップ６００）に再度復帰（循環移行）するようになっている。
【０１３６】
次に、図８を参照しながら、主制御回路部２０Ａ内のマイクロプロセッサ２０ａによる情報受信動作について具体的に説明する。
図８において、マイクロプロセッサ２０ａは、監視制御回路部３０Ａからの情報受信動作を開始すると（ステップ７００）、後述の逆監視異常集計処理（ステップ７１０）によって第１のリセットパルスＲＳＴ１（リセット指令出力）が発生したか否かを判定する（ステップ７０１ａ）。
【０１３７】
ステップ７０１ａにおいて、第１のリセットパルスＲＳＴ１が発生していない（すなわち、ＮＯ）と判定されれば、続いて、図５内のステップ４０４Ａによって通信許可信号（交番信号）ＡＬＴが論理反転した直後か否かを判定する（ステップ７０２Ａ）。
【０１３８】
また、ステップ７０１ａにおいて、第１のリセットパルスＲＳＴ１が発生した（すなわち、ＹＥＳ）と判定されれば、監視制御回路部３０Ａを初期化して再起動するとともに、第１のリセットパルスＲＳＴ１を解除してから（ステップ７０１ｂ）、ステップ７０２Ａに移行する。
【０１３９】
ステップ７０２Ａにおいて、通信許可信号ＡＬＴが論理反転した直後でない（すなわち、ＮＯ）と判定されれば、図８の処理ルーチンを終了する（ステップ７２０）。
また、通信許可信号ＡＬＴが論理反転した（すなわち、ＹＥＳ）と判定されれば、続いて、図５内のステップ４０５ｃによって通信同期信号ＣＬＫ１が発生開始したか否かを判定する（ステップ７０３）。
【０１４０】
ステップ７０３において、通信同期信号ＣＬＫ１が発生開始していない（すなわち、ＮＯ）と判定されれば、後述の判定処理（ステップ７０６）に移行する。
また、ステップ７０３において、通信同期信号ＣＬＫ１が発生開始した（すなわち、ＹＥＳ）と判定されれば、ＤＭＡ２７ｂと協働しながら、たとえば８ビット単位で、上り通信情報ＵＰＤの受信データを、直並列変換器２７ａからＲＡＭメモリ２４に順次転送して仮格納する（ステップ７０４）。
【０１４１】
続いて、マイクロプロセッサ２０ａは、クロックカウンタ（図示せず）によって通信同期信号ＣＬＫ１の発生回数を計数して所定バイト数の受信が完了したか否かを判定し（ステップ７０５ａ）、所定バイト数の受信が未完了（すなわち、ＮＯ）と判定されれば、通信許可信号ＡＬＴの論理反転後の経過時間がタイムオーバであるか否かを判定する（ステップ７０６）。
【０１４２】
ステップ７０６において、マイクロプロセッサ２０ａは、計時カウンタ（図示せず）により、ステップ７０２Ａが通信許可信号ＡＬＴの論理反転を検出してからの経過時間を測定し、この経過時間が所定の許容時間を超過したか否かを判定する。
【０１４３】
ステップ７０６において、論理反転後の経過時間が所定時間内（すなわち、ＮＯ）と判定されれば、ステップ７０３に復帰する。
また、ステップ７０６において、論理反転後の経過時間が所定時間を超過（すなわち、ＹＥＳ）と判定されれば、後述の逆監視異常集計処理（ステップ７１０）に移行する。
【０１４４】
一方、ステップ７０５ａにおいて、所定バイト数の受信が完了（すなわち、ＹＥＳ）と判定されれば、通信同期信号ＣＬＫ１の発生を停止し（ステップ７０５ｂ）、続いて、符号誤り検出手段となる異常判定処理（ステップ７０７）に移行する。
ステップ７０７において、マイクロプロセッサ２０ａは、図７内のステップ６０６で付加された符号点検情報を用いて、受信した上り通信情報ＵＰＤの中にビット情報の混入または欠落異常が発生したか否かを、サムチェックまたはＣＲＣチェックにより点検する。
【０１４５】
ステップ７０７において、符号点検異常が発生（すなわち、ＹＥＳ）と判定されれば、逆監視異常集計処理（ステップ７１０）に移行する。
また、ステップ７０７において、符号点検異常無し（すなわち、ＮＯ）と判定されれば、ステップ７０４で仮格納された受信データを有効データとして格納し、新たな入力信号情報とする（ステップ７０８）。
【０１４６】
続いて、マイクロプロセッサ２０ａは、ステップ７０８で受信格納された上り通信情報ＵＰＤの中の誤差補正係数Ｋｎ（または、誤差補正係数Ｋｎを演算するための逆監視情報が格納されている場合には、逆監視情報）を読出し、誤差補正係数Ｋｎを演算する（ステップ７０９ａ）。
【０１４７】
さらに、マイクロプロセッサ２０ａは、ステップ７０９ａで読出された（または、演算算出された）誤差補正係数Ｋｎの値が、許容上下限値の所定範囲外（異常）であるか否かを判定し（ステップ７０９ｂ）、誤差補正係数Ｋｎが所定範囲内（正常）である（すなわち、ＮＯ）と判定されれば、動作終了処理（ステップ７２０）に移行する。
また、ステップ７０９ｂにおいて、誤差補正係数Ｋｎが所定範囲外（異常）である（すなわち、ＹＥＳ）と判定されれば、逆監視異常集計処理（ステップ７１０）に移行する。
【０１４８】
ステップ７１０は、第１の可逆エラーカウンタ（図示せず）によって構成されており、第１の可逆エラーカウンタは、各判定処理（ステップ７０６、７０７、７０９ｂ）のいずれかにおいて、異常（すなわち、ＹＥＳ）と判定されるごとに、計数現在値がたとえば「５カウント」上昇し、正常（すなわち、ＮＯ）と判定されるごとに、計数現在値がたとえば「１カウント」減少する。また、第１の可逆エラーカウンタの計数現在値は、「０」以下にはならないように減算規制されている。
【０１４９】
ステップ７１０において、マイクロプロセッサ２０ａは、第１の可逆エラーカウンタの計数現在値（監視集計結果）が所定値（たとえば、「１１」）を超過すると、第１のリセットパルスＲＳＴ１（リセット指令出力）を発生して、動作終了処理（ステップ５２０）に移行する。
【０１５０】
なお、ステップ７１０における監視集計値は、ステップ７０１ｂにおいて監視制御回路部３０Ａが初期化および再起動された時点で、計数現在値「０」に初期化されるようになっている。
また、動作終了処理（ステップ７２０）においては、送信制御動作（図５）と入出力制御動作（図６、図７）を含む他の制御を実行してから、動作開始ステップ７００に復帰するようになっている。
【０１５１】
なお、図８内の各判定処理において、ステップ７０６は、上り通信情報の遅延異常判定手段を構成しており、監視制御回路部３０Ａから定期的に質問情報が送信されていなければ、タイムオーバ（異常）を判定するようになっている。
また、ステップ７０９ｂは、誤差補正係数Ｋｎの異常判定手段を構成し、ステップ７０７は、監視制御回路部３０Ａからの受信データに対する符号点検異常の判定手段を構成している。
【０１５２】
なお、第１のリセットパルスＲＳＴ１やリセットパルスＲＳＴによって監視制御回路部３０Ａが初期化再起動されたり、第２のリセットパルスＲＳＴ２やリセットパルスＲＳＴによって主制御回路部２０Ａが初期化再起動されると，初期化起動回数が異常発生履歴情報の一つとしてＲＡＭメモリ２４またはＲＡＭメモリ３４に一時記憶され，この異常発生履歴情報は図示しない電源スイッチが遮断された直後の遅延遮断期間において図示しない不揮発データメモリまたはプログラムメモリ２５Ａの一部領域に転送保存されるようになっている。
また、図示しない電源スイッチが閉路されてから、監視制御回路部３０Ａや主制御回路部２０Ａに対する初期化再起動の回数が所定回数以上になると、少なくとも第１または第２の電気負荷１２ａ、１２ｂのいずれかに包含されている異常報知器によって異常報知が行なわれるようになっている。
また、上記説明において、監視制御回路部３０Ａ内の通信制御回路部３０ａとして、論理回路ＬＣＵを用いたが、これに代えて、補助プログラムメモリによって動作する補助マイクロプロセッサＳＣＰＵを使用してもよい。
これにより、補助マイクロプロセッサＳＣＰＵが発生するウォッチドッグ信号を、主制御回路部２０Ａ内のマイクロプロセッサ２０ａによって監視するように構成することもできる。
【０１５３】
以上のように、この発明の実施の形態１（図１〜図８）に係る電子制御装置１０Ａは、直並列変換器２７ａ、３７ａによって互いにシリアル接続された主制御回路部２０Ａおよび監視制御回路部３０Ａを備え、第１および第２の入力センサ群１１ａ、１１ｂの動作状態とプログラムメモリ２５Ａに格納された入出力制御プログラムとに応動して、第１および第２の電気負荷群１２ａ、１２ｂを駆動制御する。
【０１５４】
主制御回路部２０Ａは、高速クロック信号ＣＬＫ０によって動作するマイクロプロセッサ２０ａと、マイクロプロセッサ２０ａと協働するプログラムメモリ２５Ａとを備え、監視制御回路部３０Ａに対して、第２の電気負荷群１２ｂに対する駆動制御信号を含む下り通信情報ＤＮＤと、高速クロック信号ＣＬＫ０を分周して得られる通信同期信号ＣＬＫ１と、通信許可信号ＡＬＴとを定期的に送信する。
【０１５５】
監視制御回路部３０Ａは、高速クロック信号ＣＬＫ０とは独立したクロック信号源３８（クロック信号発生回路）と、クロック信号源３８から発生する中速クロック信号ＣＬＫ２によって動作する通信制御回路部３０ａとを備え、通信許可信号ＡＬＴを受信した時点から、主制御回路部２０Ａに対して、第２の入力センサ群１１ｂの動作状態に応動する入力監視信号を含む上り通信情報ＵＰＤを定期的に送信する。
【０１５６】
また、監視制御回路部３０Ａは、通信同期信号ＣＬＫ１の信号周期Ｔ１と中速クロック信号ＣＬＫ２の信号周期Ｔ２とを定期的に相対比較して、中速クロック信号ＣＬＫ２の固体バラツキ変動および経時変化に対応した誤差補正係数Ｋｎを算出するための誤差測定回路３００Ａを備え、特定監視信号の受信間隔を、中速クロック信号ＣＬＫ２と誤差補正係数Ｋｎとに基づいて定期的に監視測定する。
【０１５７】
特定監視信号の受信間隔は、通信許可信号ＡＬＴの受信間隔であるか、または下り通信情報ＤＮＤの受信間隔であるか、または上り通信情報ＵＰＤによって定期的に送信された質問情報に対応して下り通信情報ＤＮＤによって定期的に送信される回答情報の受信間隔となっている。
【０１５８】
監視制御回路部３０Ａは、誤差補正係数Ｋｎの算出結果、または誤差補正係数Ｋｎを算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報Ｎ１Ａを、上り通信情報ＵＰＤの一部として主制御回路部２０Ａに送信するとともに、特定監視信号の受信間隔の監視測定結果が、所定の許容上限値を超過したときに、主制御回路部２０Ａを初期化して再起動するための第２のリセットパルスＲＳＴ２（第２のリセットパルス）を発生する。
【０１５９】
このように、シリアル通信用の通信同期信号ＣＬＫ１を間欠送信する主制御回路部２０Ａと、中速クロック信号ＣＬＫ２によって動作する監視制御回路部３０Ａとを相互接続して、監視制御回路部３０Ａは、中速クロック信号ＣＬＫ２の信号周期Ｔ２の変動誤差を補正する誤差補正係数Ｋｎを、通信同期信号ＣＬＫ１を基準として定期的に算出するとともに、主制御回路部２０Ａが定期的に発生する特定監視信号の受信間隔を、中速クロック信号ＣＬＫ２と誤差補正係数Ｋｎとに基づいて定期的に監視測定する。
【０１６０】
これにより、主制御回路部２０Ａと監視制御回路部３０Ａとが互いに独立したクロック信号（ＣＬＫ０、ＣＬＫ２）によって動作して、主制御回路部２０Ａと監視制御回路部３０Ａとの動作状態を、相互に監視または逆監視することができるので、安全性が向上する。
また、ノイズ発生の原因となる高速クロック信号ＣＬＫ０を連続して監視制御回路部に送信する必要がないので、付加された中速クロック信号は安価で低精度のものであっても、誤差補正係数を用いて正確に特定監視信号の遅延判定を行うことができ、安価な構成で高精度な監視制御を達成することができる。
【０１６１】
また、この発明の実施の形態１（図１〜図８）に係る電子制御装置１０Ａでは、主制御回路部２０Ａは逆監視情報の異常状態が持続しているかどうかを判定する逆監視異常集計手段（ステップ７１０）を備えるとともに、監視制御回路部３０Ａは監視情報の異常状態が持続しているかどうかを判定する監視異常集計手段（ステップ５１０）を備えている。
【０１６２】
主制御回路部２０Ａは、監視制御回路部３０Ａから受信した誤差補正係数Ｋｎの算出結果または逆監視情報（読出記憶値Ｎ１Ａ）に基づいて、誤差補正係数Ｋｎの値が許容上下限値の所定範囲外であるか否かを判定し、これが所定範囲外である異常状態が持続していると判定されたときに監視制御回路部３０Ａを初期化して再起動するための第１のリセットパルスを発生する。
【０１６３】
さらに、監視制御回路部３０Ａは、誤差補正係数Ｋｎの算出結果が前記所定範囲外である異常状態が持続していると判定されたときに、主制御回路部２０Ａを初期化して再起動するための第２のリセットパルスを発生する。
【０１６４】
主制御回路部２０Ａおよび監視制御回路部３０Ａの初期化再起動が行われると異常発生履歴情報が保存されるとともに，初期化再起動を行っても依然として異常状態が持続する場合には、少なくとも前記第１または第２の電気負荷１２ａ、１２ｂに包含されている異常報知器によって異常報知される
【０１６５】
このように、誤差補正係数Ｋｎの逆監視情報の異常状態が持続すれば、主制御回路部２０Ａによって監視制御回路部３０Ａを初期化して再起動し、誤差補正係数Ｋｎの異常状態が持続した場合には、監視制御回路部３０Ａによって主制御回路部２０Ａを初期化して再起動する。
これにより、中速クロック信号ＣＬＫ２の信号周期Ｔ２が異常である場合には、主制御回路部２０Ａによって監視制御回路部３０Ａが初期化および再起動され、高速クロック信号ＣＬＫ０または通信同期信号ＣＬＫ１が異常（通信回線が異常）となっている場合には、監視制御回路部３０Ａによって主制御回路部２０Ａを初期化して再起動することができる。
【０１６６】
また、電子制御装置１０Ａは、ウォッチドッグタイマ４０を備えており、マイクロプロセッサ２０ａが発生する第１のウォッチドッグ信号ＷＤ１は、ウォッチドッグタイマ４０によって監視されている。
ウォッチドッグタイマ４０は、第１のウォッチドッグ信号ＷＤ１のパルス幅が許容上下限値の所定範囲外であるときには、主制御回路部２０Ａおよび監視制御回路部３０Ａを初期化して再起動するためのリセットパルスＲＳＴを発生する。
【０１６７】
主制御回路部２０Ａは、特定逆監視信号の受信間隔を、クロック信号源２８からの高速クロック信号ＣＬＫ０に基づいて定期的に逆監視測定する。
特定逆監視信号の受信間隔は、上り通信情報ＵＰＤの中の質問情報の受信間隔であるか、または誤差補正係数Ｋｎの算出結果、または誤差補正係数Ｋｎを算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報Ｎ１Ａの受信間隔である。
または、監視制御回路部３０Ａが第２のウォッチドッグ信号ＷＤ２を発生する場合には、特定逆監視信号の受信間隔は、第２のウォッチドッグ信号ＷＤ２の受信間隔である。
【０１６８】
主制御回路部２０Ａは、特定逆監視信号の受信間隔の測定結果が、所定の許容上限値を超過したときに、監視制御回路部３０Ａを初期化して再起動するための第１のリセットパルスＲＳＴ１を発生する。
このように、マイクロプロセッサ２０ａは、ウォッチドッグタイマ４０と監視制御回路部３０Ａとによって監視され、監視制御回路部３０Ａは、マイクロプロセッサ２０ａによって逆監視されている。
【０１６９】
したがって、主制御回路部２０Ａは、誤差補正係数Ｋｎの算出結果と、上り通信情報ＵＰＤの受信間隔または第２のウォッチドッグ信号ＷＤ２の判定結果とに基づき、中速クロック信号ＣＬＫ２の異常の有無を総合的に判定することができる。
【０１７０】
また、中速クロック信号ＣＬＫ２の信号周期Ｔ２の変動領域は、通信同期信号ＣＬＫ１の信号周期Ｔ１に比べて低速長周期であるとともに、直並列変換器２７ａ、２８ａが通信同期信号ＣＬＫ１に基づき複数ビットの上り通信情報ＵＰＤまたは下り通信情報ＤＮＤを順次直並列変換する直並列変換周期よりも高速短周期となる関係に、許容されるバラツキ変動幅が規制されている。
【０１７１】
これにより、中速クロック信号ＣＬＫ２の信号周期Ｔ２は、通信同期信号ＣＬＫ１の信号周期Ｔ１と直並列変換周期との間になるように設定されるので、通信同期信号ＣＬＫ１の信号周期Ｔ１が、中速クロック信号ＣＬＫ２の信号周期Ｔ２の最大値と最小値との間になることを回避することができる。
したがって、通信制御回路部（ＬＣＵ）３０ａの論理処理が単純化されるとともに、通信制御回路部３０ａ側の応答遅れによって通信渋滞が発生することを回避することができる。
【０１７２】
また、誤差測定回路３００Ａ（図４）は、中速クロック信号ＣＬＫ２の発生回数を計数する第２カウンタ３１０ａと、通信同期信号ＣＬＫ１の発生回数を計数する第１カウンタ３１０ｂと、第２カウンタ３１０ａの計数現在値ＣＮＴ２が所定の設定閾値Ｎ２Ａに達した時点で計数停止指令信号ＳＴを発生する一致判定回路３１５ａと、第２カウンタ３１０ａの計数入力回路に設けられた第２ゲート回路３１１ａと、第１カウンタ３１０ｂの計数入力回路に設けられた第１ゲート回路３１１ｂと、計数停止指令信号ＳＴの発生時に第１カウンタ３１０ｂの計数現在値ＣＮＴ１を読出記憶値Ｎ１Ａとして記憶する計測記憶回路３１６とを備えている。
【０１７３】
第２ゲート回路３１１ａは、通信同期信号ＣＬＫ１が発生開始した時点で、第２カウンタ３１０ａによる中速クロック信号ＣＬＫ２の計数を許可し、計数停止指令信号ＳＴの発生時に、第２カウンタ３１０ａの計数動作を禁止する。
【０１７４】
第１ゲート回路３１１ｂは、第２カウンタ３１０ａによる初回計数開始時に、第１カウンタ３１０ｂによる通信同期信号ＣＬＫ１の計数を許可し、計数停止指令信号ＳＴの発生時に、第１カウンタ３１０ｂの計数動作を禁止する。
【０１７５】
誤差測定回路３００Ａ内の誤差補正係数演算回路３１７は、計測記憶回路３１６の読出記憶値Ｎ１Ａ（中速クロック信号ＣＬＫ２が設定閾値Ｎ２Ａに相当する回数だけ発生した時点での通信同期信号ＣＬＫ１の発生回数）を用いて、中速クロック信号ＣＬＫ２の信号周期Ｔ２と通信同期信号ＣＬＫ１の信号周期Ｔ１との比率である誤差補正係数Ｋｎを、式（１）「Ｋｎ＝Ｔ２／Ｔ１＝Ｎ１Ａ／（Ｎ２Ａ−１）」により算出する。
【０１７６】
このように、中速クロック信号ＣＬＫ２が所定回数発生する期間内に、通信同期信号ＣＬＫ１が何回発生するかを計測して、中速クロック信号ＣＬＫ２の信号周期Ｔ２を測定することにより、通信同期信号ＣＬＫ１は、第２カウンタ３１０ａが初回の中速クロック信号ＣＬＫ２を計数した直後から、第１カウンタ３１０ｂによって計数される。
【０１７７】
したがって、第２カウンタ３１０ａの計数現在値ＣＮＴ２が「２」となるまでには、必ず第１カウンタ３１０ｂが初回の通信同期信号ＣＬＫ１を計数するので、計数開始タイミングのバラツキによる計数誤差の発生を防止することができる。
【０１７８】
さらに、通信許可信号ＡＬＴが発生するごとに、第１および第２カウンタ３１０ｂ、３１０ａの計数現在値ＣＮＴ１、ＣＮＴ２はリセットされ、計測記憶回路３１６による記憶情報は順次更新され、誤差補正係数演算回路３１７は、誤差補正係数Ｋｎを新たに算出する。
このように、誤差補正係数Ｋｎを繰り返し算出することにより、環境温度変化による中速クロック信号ＣＬＫ２の信号周期Ｔ２の経時変化に対応して、正確な誤差補正係数Ｋｎを更新して算出することができる。
【０１７９】
さらに、監視制御回路部３０Ａは、ハードロジック回路で構成された通信制御回路部３０ａおよび誤差測定回路３００Ａ（誤差補正係数演算回路３１７を含む）と、質問情報に対応した正解情報を格納したデータメモリ３５Ａとを備えている。
【０１８０】
通信制御回路部３０ａは、第２の入力センサ群１１ｂの動作状態に応動する入力監視信号と質問情報とを主制御回路部２０Ａに送信するとともに、主制御回路部２０Ａが発生した第２の電気負荷群１２ｂに対する駆動制御信号と回答情報とを受信し、質問情報に対応した正解情報と回答情報とを比較して、回答情報が不正解である場合には、主制御回路部２０Ａを初期化して再起動するための第２のリセットパルスＲＳＴ２を発生する。
【０１８１】
このように、監視制御回路部３０Ａにおける通信制御回路部３０ａおよび誤差測定回路３００Ａをハードロジック回路で構成することにより、中速クロック信号ＣＬＫ２の信号周期Ｔ２が通信同期信号ＣＬＫ１の信号周期Ｔ１よりも低速長周期であっても、応答遅れや通信渋滞の発生を回避することができる。
また、質問情報に対する正解情報は、予め監視制御回路部３０Ａに格納されているので、複雑な演算処理を行うことなく、回答情報の妥当性を比較判定することができる。
【０１８２】
実施の形態２．
なお、上記実施の形態１（図１〜図８）では特に言及しなかったが、制御処理を簡略化するために、図９に示すように、監視制御回路部３０Ｂ内の通信制御回路部３０ｂを補助マイクロプロセッサ（ＳＣＰＵ）で構成するとともに、監視制御回路部３０Ｂ内に補助プログラムメモリ（ＰＭＥＭ）３５Ｂを設けてもよい。
逆に、図９における補助マイクロプロセッサ（ＳＣＰＵ）に代わって，図１のようにマイクロプロセッサを持たない論理回路によって監視制御回路部を構成することも可能である。
ただし，マイクロプロセッサをもたない論理回路である場合には，以下に説明する誤差
補正係数演算手段や移動平均値演算手段などの制御プログラムは，論理回路によって構成された補正係数演算回路や移動平均値演算回路に置き換える必要がある。
【０１８３】
図９はこの発明の実施の形態２に係る電子制御装置の全体構成を周辺関連要素とともに示す回路ブロック図であり、前述（図１参照）と同様のものについては、前述と同一符号を付して、または符号の後に「Ｂ」、「ｂ」を付して詳述を省略する。
図９においては、監視制御回路部３０Ｂ内の補助マイクロプロセッサ（ＳＣＰＵ）と区別するために、主制御回路部２０Ｂ内のマイクロプロセッサ２０ｂを、メインマイクロプロセッサ（ＭＣＰＵ）として表記している。
【０１８４】
図９において、電子制御装置１０Ｂは、プログラムメモリ（ＰＭＥＭ）２５Ｂと協働するマイクロプロセッサ（ＭＣＰＵ）２０ｂを主体として構成された主制御回路部２０Ｂと、補助プログラムメモリ（ＰＭＥＭ）３５Ｂと協働する通信制御回路部（ＳＣＰＵ）３０ｂを主体として構成された監視制御回路部３０Ｂとを備えており、外部電源１３（たとえば、車載バッテリ）から給電されて動作するようになっている。
【０１８５】
電子制御装置１０Ｂの外部には、前述（図１）と同様に、第１および第２の入力センサ群１１ａ、１１ｂと、第１および第２の電気負荷群１２ａ、１２ｂと、外部ツール１９とが接続されている。
また、電子制御装置１０Ｂは、主制御回路部２０Ｂおよび監視制御回路部３０Ｂと関連した内部構成として、前述（図１）と同様に、第１および第２の入力インタフェース回路２１、３１と、第１および第２の出力インタフェース回路２２、３２と、シリアル通信回路を構成する直並列変換器２７ａ、３７ａと、高精度なクロック信号源２８と、シリアルインタフェース回路（ツールインタフェース回路）２９と、電源回路３３と、ウォッチドッグタイマ４０とを備えている。
【０１８６】
シリアルインタフェース回路を構成する直並列変換器３７ａの並列入出力バスと、通信制御回路部（ＳＣＰＵ）３０ｂのデータバスとの間には、ダイレクト・メモリアクセス・コントローラ（以下、「ＤＭＡ」という）３７ｂが接続されている。
ＤＭＡ３７ｂは、通信制御回路部３０ｂを経由せずに、演算処理用のＲＡＭメモリ３４との間のデータ授受を行うために、監視制御回路部３０Ｂ内に設けられている。
【０１８７】
また、主制御回路部２０Ｂ内のＤＭＡ２７ｂは、シリアルインタフェース回路を構成する直並列変換器２７ａの並列入出力バスと、マイクロプロセッサ２０ｂのデータバスとの間に接続されており、マイクロプロセッサ２０ｂを経由せずに、演算処理用のＲＡＭメモリ２４との間のデータ授受を行うために設けられている。
【０１８８】
なお、主制御回路部２０Ｂ内のプログラムメモリ２５Ｂには、入出力制御プログラムに加えて、通信制御プログラムに相当する制御プログラム（図１３および図１６とともに後述する）が格納されている。
【０１８９】
また、監視制御回路部３０Ｂ内の補助プログラムメモリ３５Ｂには、入出力処理プログラムに加えて、通信制御プログラムに相当する制御プログラム（図１４および図１５とともに後述する）と、Ｑ＆Ａ診断のための正解情報とが格納されている。
【０１９０】
一対の直並列変換器２７ａ、３７ａからなるシリアル通信回路は、全２重ブロック通信回路を構成しており、主制御回路部２０Ｂから監視制御回路部３０Ｂに対する下り通信情報ＤＮＤと、監視制御回路部３０Ｂから主制御回路部２０Ｂに対する上り通信情報ＵＰＤとを同時に送受信することができるようになっている。
【０１９１】
主制御回路部２０Ｂが発生する通信許可信号ＰＭＴおよび通信同期信号ＣＬＫ１については、図１０とともに後述する。
監視制御回路部３０Ｂ内の通信制御回路部３０ｂは、計時動作を行うために内蔵された低精度なクロック信号源３８が発生する中速クロック信号ＣＬＫ２によって動作する。
【０１９２】
中速クロック信号ＣＬＫ２の信号周期Ｔ２の変動領域は、通信同期信号ＣＬＫ１よりも高速短周期であり、高速クロック信号ＣＬＫ０の信号周期よりは低速長周期となるように規制されている。
【０１９３】
監視制御回路部３０Ｂ内の誤差測定回路３００Ｂ（図１２とともに後述する）は、通信同期信号ＣＬＫ１の信号周期Ｔ１を基準として中速クロック信号ＣＬＫ２の信号周期Ｔ２を測定し、誤差補正係数Ｋｎ（＝Ｔ２／Ｔ１）を算出する。
【０１９４】
ウォッチドッグタイマ４０は、マイクロプロセッサ２０ｂが発生する第１のウォッチドッグ信号ＷＤ１（パルス列）を監視して、第１のウォッチドッグ信号ＷＤ１のパルス幅が許容変動幅の範囲外（異常）になると、リセットパルスＲＳＴを発生して、主制御回路部２０Ｂおよび監視制御回路部３０Ｂを初期化して再起動するようになっている。
【０１９５】
主制御回路部２０Ｂは、監視制御回路部３０Ｂの異常を検出すると、第１のリセットパルスＲＳＴ１を発生し、監視制御回路部３０Ｂを初期化して再起動する。
一方、監視制御回路部３０Ｂは、主制御回路部２０Ｂの異常を検出すると、第２のリセットパルスＲＳＴ２を発生し、主制御回路部２０Ｂを初期化して再起動するようになっている。
【０１９６】
また、通信制御回路部（ＳＣＰＵ）３０ｂが発生する第２のウォッチドッグ信号ＷＤ２の発生周期は、マイクロプロセッサ２０ｂによって監視されている。
マイクロプロセッサ２０ｂは、第２のウォッチドッグ信号ＷＤ２の発生周期が異常の場合には、第１のリセットパルスＲＳＴ１を発生し、監視制御回路部３０Ｂを初期化して再起動する。
【０１９７】
次に、図１０のタイミングチャートおよび図１１の説明図を参照しながら、図９に示したこの発明の実施の形態２によるシリアル通信動作について説明する。
図１０（Ａ）において、通信許可信号ＰＭＴは、全２重ブロック通信の開始を許可する論理信号であり、独立した制御信号線によって、主制御回路部２０Ｂから監視制御回路部３０Ｂに対して定期送信される。
【０１９８】
図１０（Ａ）に示すように、通信許可信号（論理信号）ＰＭＴは、通信許可期間で論理レベルが「Ｈ」（または「Ｌ」）となり、通信不許可期間で「Ｌ」（または「Ｈ」）となるので、通信許可信号ＰＭＴの論理レベルが「Ｌ」から「Ｈ」に有効反転するごとに、新たな通信ブロックの送信開始が許可されることになる。
【０１９９】
ただし、通信許可信号ＰＭＴの一定論理レベルが維持されているときには、所定バイト数の通信が完了した時点で今回の通信は完了し、所定バイト数の通信が完了する前に論理レベルが反転すると、通信データの中断処理が行われるようになっている。
【０２００】
図１０（Ｂ）において、通信同期信号ＣＬＫ１は、少なくとも通信情報のビット数に応じた数のパルスを発生するようになっており、独立した制御信号線によって、主制御回路部２０Ｂから監視制御回路部３０Ｂに対して送信される。
【０２０１】
通信同期信号ＣＬＫ１は、シリアル通信信号が歩進移動するパルス列信号であり、主制御回路部２０Ｂが通信許可信号ＰＭＴを発生してから、所定の待機時間τだけ遅延して発生開始する。
【０２０２】
通信同期信号ＣＬＫ１は、送受信ビット数に対応した所定量のパルス数を発生してからパルス発生を停止し、所定量のパルス発生が完了する前に、次回の通信許可信号ＰＭＴが早期に発生した場合には、残りのパルスの発生を省略して、待機時間τだけ遅延して再びパルス発生を開始するようになっている。
【０２０３】
図１０（Ｃ）において、上り通信情報ＵＰＤは、監視制御回路部３０Ｂに対する入力信号情報、または主制御回路部２０Ｂから得られた設定定数または制御出力の記憶情報である報告情報と、今回の質問情報と符号点検情報とを含み、たとえば５００ビットのデータ長を有している。
【０２０４】
図１０（Ｄ）において、下り通信情報ＤＮＤは、主制御回路部２０Ｂから監視制御回路部３０Ｂに送信されて、監視制御回路部３０Ｂにおいて必要とされる設定定数または制御出力である指令情報と、過去の上り通信情報ＵＰＤで得られた質問情報に対する回答情報と符号点検情報とを含み、たとえば１００ビットのデータ長を有している。
【０２０５】
したがって、全データの送受信を行うためには、通信同期信号ＣＬＫ１として、少なくとも５００個のパルスを発生する必要があるが、通信許可信号ＰＭＴの通信許可周期Ｔｐが、たとえば５ｍｓｅｃであるのに対して、５００ビットのデータを送受信するのに必要な時間は、たとえば０．５ｍｓｅｃとなっている。
【０２０６】
なお、不規則に選択される複数の質問情報にはタグ番号が付与されており、これに対する回答情報は、許容された複数回の通信サイクルが経過するまで、同じタグ番号をつけて監視制御回路部３０Ｂに送信されるようになっている。
また、待機時間τは、数１００μｓｅｃであり、待機時間τの間に多チャンネルＡＤ変換器３６に対するＡＤ変換指令が発生し、全チャンネルのＡＤ変換が完了しているようになっている。
【０２０７】
図１１においては、上り通信情報ＵＰＤおよび下り通信情報ＤＮＤの具体的な内訳が示されている。
図１１において、上り通信情報ＵＰＤは、上り通信によってＲＡＭメモリ２４に格納される受信データであり、Ｑ＆Ａ用の質問情報と、第２の入力センサ群１１ｂから得られた入力信号情報と、後述の設定済情報と、誤差補正係数Ｋｎの算出結果または誤差補正係数Ｋｎを算出するための逆監視情報と、監視集計情報と、符号点検情報とを含む。
なお、ここでは、誤差補正係数Ｋｎに関する逆監視情報として、読出記憶値Ｎ２Ｂ（図１２とともに後述する）の値が送信されるようになっている。
【０２０８】
また、下り通信情報ＤＮＤは、下り通信によってＲＡＭメモリ３４に格納される受信データであり、Ｑ＆Ａ用の回答情報と、監視制御回路部３０Ｂで必要とされる制御定数などの設定情報と、第２の電気負荷群１２ｂに対する出力信号情報と、符号点検情報とを含む。
【０２０９】
なお、上り通信情報ＵＰＤ内の設定済情報は、下り通信情報ＤＮＤとしてＲＡＭメモリ３４に格納された設定情報および出力信号情報であり、この設定済情報によって、設定情報および出力信号情報が正しく送信されているか否かを、主制御回路部２０Ｂ側で確認することができるようになっている。
【０２１０】
監視制御回路部３０Ｂにおいて、補助プログラムメモリ３５Ｂには、質問情報に対応した正解情報が、製品出荷段階で予め格納されており、通信制御回路部（ＳＣＰＵ）３０ｂは、ランダムに質問情報を送信し、マイクロプロセッサ２０ｂから返信された回答情報と正解情報とを比較することによって、マイクロプロセッサ２０ｂの動作状態を監視する。
【０２１１】
一方、マイクロプロセッサ２０ｂは、通信制御回路部３０ｂからの質問情報に対して意図的な誤答を回答し、監視制御回路部３０Ｂで適正な監視制御が行われているか否かを、受信した監視集計情報によって逆監視するようになっている。
【０２１２】
この結果として、監視制御回路部３０Ｂは、主制御回路部２０Ｂの異常を検出すると、第２のリセットパルスＲＳＴ２を発生して主制御回路部２０Ｂを初期化して再起動し、主制御回路部２０Ｂは、監視制御回路部３０Ｂの異常を検出すると、第１のリセットパルスＲＳＴ１を発生して監視制御回路部３０Ｂを初期化して再起動するようになっている。
【０２１３】
次に、図９〜図１１とともに、図１２のブロック図を参照しながら、監視制御回路部３０Ｂ内の誤差測定回路３００Ｂの詳細構成について説明する。
図１２において、前述（図４参照）と同様のものについては、前述と同一符号を付して詳述を省略する。
【０２１４】
この場合、誤差補正係数演算手段５１１Ｂの機能は、通信制御回路部３０ｂと協働する補助プログラムメモリ（ＰＭＥＭ）３５Ｂ内に含まれている。
誤差測定回路３００Ｂは、第１および第２カウンタ３２０ａ、３２０ｂと、第１および第２ゲート回路３２１ａ、３２１ｂと、第２の計数開始指令回路３２３ｂと、一致判定回路３２５ａと、計測記憶回路３２６とを備えている。
【０２１５】
第１カウンタ３２０ａは、第１ゲート回路３２１ａを介して、通信同期信号ＣＬＫ１が、たとえば論理レベル「Ｌ」から論理レベル「Ｈ」に変化した回数を計数する。
第２カウンタ３２０ｂは、第２ゲート回路３２１ｂを介して、中速クロック信号ＣＬＫ２が、たとえば論理レベル「Ｌ」から論理レベル「Ｈ」に変化した回数を計数する。
【０２１６】
一致判定回路３２５ａは、第１カウンタ３２０ａの計数現在値ＣＮＴ１が、所定の設定閾値Ｎ１Ｂに達した時点で、計数停止指令信号ＳＴを発生して、第１および第２カウンタ３２０ａ、３２０ｂの計数動作を停止する。
【０２１７】
第２の計数開始指令回路３２３ｂは、第１カウンタ３２０ａの計数現在値ＣＮＴ１の値が「１」以上（１≦ＣＮＴ１）となった時点で、第２ゲート回路３２１ｂを解放して、第２カウンタ３２０ｂに対する中速クロック信号ＣＬＫ２の計数入力を許可する。
【０２１８】
計測記憶回路３２６は、一致判定回路３２５ａが計数停止指令信号ＳＴを発生した時点での第２カウンタ３２０ｂの計数現在値ＣＮＴ２を、読出記憶値Ｎ２Ｂとして記憶する。
通信制御回路部（ＳＣＰＵ）３０ｂは、誤差補正係数演算手段５１１Ｂとなる制御プログラムを包含し、補助プログラムメモリ３５Ｂに格納された制御プログラムに基づいて、中速クロック信号ＣＬＫ２の信号周期Ｔ２と、通信同期信号ＣＬＫ１の信号周期Ｔ１との比率を、誤差補正係数Ｋｎとして、以下の式（３）により算出する。
【０２１９】
Ｋｎ＝Ｔ２／Ｔ１＝（Ｎ１Ｂ−１）／Ｎ２Ｂ・・・・・（３）
【０２２０】
なお、第１カウンタ３２０ａの計数現在値ＣＮＴ１が「１〜Ｎ１Ｂ」である期間「Ｎ１Ｂ−１）×Ｔ１」内における中速クロック信号ＣＬＫ２の発生回数は、読出記憶値Ｎ２Ｂに相当しているので、以下の関係が成立する。
【０２２１】
（Ｎ１Ｂ−１）×Ｔ１≒Ｎ２Ｂ×Ｔ２
【０２２２】
したがって、式（３）によって誤差補正係数Ｋｎが算出される。
第１および第２カウンタ３２０ａ、３２０ｂの計数現在値ＣＮＴ１、ＣＮＴ２は、通信許可信号ＰＭＴが有効変化するごとに、リセット指令３２９によって初期化され、新たに誤差補正係数Ｋｎの算出が行われるようになっている。
【０２２３】
一方、監視制御回路部３０Ｂにおける計時動作は、中速クロック信号ＣＬＫ２の発生回数を計数することによって行われる。
たとえば、監視制御回路部３０Ｂは、第１の質問情報を送信してから、複数の通信サイクルを経て第１の回答情報を受信した場合に、この間の経過時間が、許容されたタイムアウト判定時間Ｔｄを超過した（異常）か否かを判定するために、中速クロック信号ＣＬＫ２の発生回数を計数する。
【０２２４】
このとき、回答受信までの計数値Ｎが、Ｎ×Ｔ２＜Ｔｄ（Ｎ＜Ｔｄ／Ｔ２）の関係を満たせば、所定時間内に回答が得られたことになり、受信状態が正常であると判定される。
しかし、中速クロック信号ＣＬＫ２の信号周期Ｔ２は、固体バラツキ変動と環境温度による変動が大きいので、誤差補正係数Ｋｎを用いて、以下の式（４）による補正が行われる。
【０２２５】
Ｎ＜Ｔｄ／Ｔ２＝Ｔｄ／（Ｋｎ×Ｔ１）  ・・・・・・（４）
【０２２６】
一方、誤差補正係数Ｋｎが、想定されたバラツキ範囲から逸脱しているか否かは、主制御回路部２０Ｂと監視制御回路部３０Ｂとの双方で確認されるようになっている。
まず、主制御回路部２０Ｂ側で確認する場合には、監視制御回路部３０Ｂ内の通信制御回路部（ＳＣＰＵ）３０ｂによって演算算出された誤差補正係数Ｋｎの値を、上り通信情報ＵＰＤの一部として主制御回路部２０Ｂに送信し、主制御回路部２０Ｂにおいて、所定範囲（許容変動幅）外の値（異常）であったか否かを判定する。
【０２２７】
または、監視制御回路部３０Ｂ内の計測記憶回路３２６に書込まれた読出記憶値Ｎ２Ｂを、主制御回路部２０Ｂに送信し、主制御回路部２０Ｂにおいて、式（３）による演算を実行したうえで、所定範囲外の値（異常）であったか否かを判定することもできる。
【０２２８】
なお、誤差補正係数Ｋｎの値は、通信同期信号ＣＬＫ１の信号周期Ｔ１が異常であるか、または中速クロック信号ＣＬＫ２の信号周期Ｔ２が異常である場合に異常値となるが、通信同期信号ＣＬＫ１の元になっている高速クロック信号ＣＬＫ０が異常となっている場合は、ウォッチドッグタイマ４０によっても異常検出されることになる。
【０２２９】
したがって、まず、通信同期信号ＣＬＫ１は正常であることを前提して、誤差補正係数Ｋｎの値が異常であれば、主制御回路部２０Ｂが発生する第１のリセットパルスＲＳＴ１によって監視制御回路部３０Ｂを初期化して再起動するようになっている。
【０２３０】
しかし、通信同期信号ＣＬＫ１が異常となって正常な通信が不可能な場合を想定して、監視制御回路部３０Ｂ側においても、誤差補正係数Ｋｎの値が正常であるか否かを判定し、仮に異常状態が持続すれば、第２のリセットパルスＲＳＴ２を生成して主制御回路部２０Ｂを初期化して再起動するようになっている。
【０２３１】
次に、図９に示したこの発明の実施の形態２による動作について説明する。
まず、電源スイッチ（図示せず）を介して、電子制御装置１０Ｂに対して外部電源１３が接続されると、マイクロプロセッサ２０ｂは、第１および第２の入力センサ群１１ａ、１１ｂの動作状態と、プログラムメモリ２５Ｂ内の制御プログラムの内容とに応動して、第１および第２の電気負荷群１２ａ、１２ｂの駆動制御を行う。
【０２３２】
監視制御回路部３０Ｂおよびウォッチドッグタイマ４０は、主制御回路部２０Ｂの制御動作を監視して、主制御回路部２０Ｂが異常であれば、第２のリセットパルスＲＳＴ２とリセットパルスＲＳＴを発生して、主制御回路部２０Ｂを初期化して再起動する。
【０２３３】
一方、主制御回路部２０Ｂは、監視制御回路部３０Ｂを逆監視して、監視制御回路部３０Ｂが異常であれば、第１のリセットパルスＲＳＴ１を発生して、監視制御回路部３０Ｂを初期化して再起動する。
また、異常発生頻度が高い場合には、特定電気負荷の駆動を停止した退避運転モードに移行し、異常発生が持続する場合には、異常報知が行われて、その他の全出力が停止されるようになっている。
【０２３４】
以下、図９〜図１２とともに、図１３〜図１６のフローチャートを参照しながら、この発明の実施の形態２による通信動作について説明する。
ただし、この場合、前述の実施の形態１との相違点は、通信許可信号ＰＭＴが交番信号（通信許可信号ＡＬＴ）から論理信号に変更された点、監視制御回路部３０Ｂが通信制御回路部（ＳＣＰＵ）３０ｂを備えた点、および、誤差補正係数Ｋｎが通信制御回路部３０ｂによって演算される点のみである。
したがって、図１３〜図１６において、前述（図５〜図８）と同様の処理については、前述と同一符号を付して詳述を省略する。
【０２３５】
まず、図１３を参照しながら、主制御回路部２０Ｂ内のマイクロプロセッサ（ＭＣＰＵ）２０ｂによる送信動作について説明する。
図１３において、マイクロプロセッサ２０ｂは、監視制御回路部３０Ｂに対する送信動作を開始すると（ステップ４００）、前述（図５）と同様のステップ４０１ａ、４０１ｂ、４０２に続いて、通信許可信号（論理信号）ＰＭＴの論理レベルを「Ｌ」から「Ｈ」に有効反転する時期であるか否かを判定する（ステップ４０３Ｂ）。
【０２３６】
ステップ４０３Ｂにおいて、有効反転時期でない（すなわち、ＮＯ）と判定されれば、動作終了処理（ステップ４１０）に移行する。
また、ステップ４０３Ｂにおいて、有効反転時期である（すなわち、ＹＥＳ）と判定されれば、通信許可信号（論理信号）ＰＭＴの論理レベルを「Ｌ」から「Ｈ」に有効反転させて（ステップ４０４Ｂ）、ステップ４０５ａに移行する。
以下、前述（図５）と同様のステップ４０５ａ〜４０５ｃ、４０６、４０７を実行し、マイクロプロセッサ２０ｂによる図１３の送信処理を終了する（ステップ４１０）。
【０２３７】
次に、図１４を参照しながら、監視制御回路部３０Ｂ内の通信制御回路部（ＳＣＰＵ）３０ｂによる受信動作について説明する。
図１４において、通信制御回路部３０ｂは、主制御回路部２０Ｂからの受信動作を開始すると（ステップ５００）、前述（図６）と同様のステップ５０１ａ、５０１ｂに続いて、主制御回路部２０Ｂから送信された通信許可信号（論理信号）ＰＭＴが、論理レベル「Ｌ」から「Ｈ」に有効反転したか否かを判定する（ステップ５０２Ｂ）。
【０２３８】
ステップ５０２Ｂにおいて、有効論理反転した直後でない（すなわち、ＮＯ）と判定されれば、ステップ５１１Ｂに移行し、計測記憶回路３２６から得られた読出記憶値Ｎ２Ｂと、設定閾値Ｎ１Ｂ（既知）の値とに基づいて、式（３）によって誤差補正係数Ｋｎを算出するとともに、後述のステップ５０６、５１２、５１３ａ、５１４ｂにおいてタイムアウトチェックを行うために設けられた遅延判定用カウンタ（図示せず）の計数値の正常範囲を、式（４）に基づいて換算補正する。
【０２３９】
一方、ステップ５０２Ｂにおいて、有効論理反転した直後（すなわち、ＹＥＳ）と判定されれば、次の判定処理（ステップ５０３）に移行する。
以下、前述（図６）と同様のステップ５０３〜５０８、５１０、５１３ａ、５１３ｂ、５１４ａ、５１４ｂを実行し、通信制御回路部（ＳＣＰＵ）３０ｂによる図１４の受信処理を終了する（ステップ５２０）。
【０２４０】
次に、図１５を参照しながら、通信制御回路部（ＳＣＰＵ）３０ｂによる送信動作について説明する。
図１５において、通信制御回路部３０ｂは、主制御回路部２０Ｂに対して送信動作を開始すると（ステップ６００）、前述（図７）と同様のステップ６０１ａ、６０１ｂ、６０２に続いて、主制御回路部２０Ｂから送信された通信許可信号（論理信号）ＰＭＴが論理レベル「Ｌ」から「Ｈ」に有効反転したか否かを判定する（ステップ６０３Ｂ）。
【０２４１】
ステップ６０３Ｂにおいて、有効論理反転した直後でない（すなわち、ＮＯ）と判定されれば、前述と同様の動作終了処理（ステップ６１０）に移行する。
また、ステップ６０３Ｂにおいて、有効論理反転した（すなわち、ＹＥＳ）と判定されれば、前述と同様の送信情報編集処理（ステップ６０４）に移行する。
以下、前述（図７）と同様のステップ６０４〜６０７を実行し、通信制御回路部（ＳＣＰＵ）３０ｂによる図１５の送信処理を終了する（ステップ６１０）。
【０２４２】
次に、図１６を参照しながら、マイクロプロセッサ（ＭＣＰＵ）２０ｂによる受信動作について説明する。
図１６において、マイクロプロセッサ２０ｂは、監視制御回路部３０Ｂからの受信動作を開始すると（ステップ７００）、前述（図８）と同様のステップ７０１ａ、７０１ｂに続いて、図１３内のステップ４０４Ｂによって通信許可信号（論理信号）ＰＭＴが、論理レベル「Ｌ」から「Ｈ」に有効反転しているか否かを判定する（ステップ７０２Ｂ）。
【０２４３】
ステップ７０２Ｂ（待機ステップ）において、通信許可信号ＰＭＴが有効論理反転した直後でない（すなわち、ＮＯ）と判定されれば、動作終了処理（ステップ７２０に移行）する。
また、通信許可信号ＰＭＴが有効論理反転した直後（すなわち、ＹＥＳ）と判定されれば、前述と同様の判定処理（ステップ７０３）に移行する。
以下、前述（図８）と同様のステップ７０３〜７１０を実行し、マイクロプロセッサ（ＭＣＰＵ）２０ｂによる図１６の受信処理を終了する（ステップ７２０）。
【０２４４】
なお、図９においては、前述（図１）の交番信号の通信許可信号ＡＬＴに代えて、論理信号の通信許可信号ＰＭＴを用い、通信制御回路部（ＬＣＵ）３０ａに代えて、通信制御回路部（ＳＣＰＵ）３０ｂを用いたが、監視制御回路部３０Ｂ内の通信制御回路部として、補助マイクロプロセッサＳＣＰＵに代えて、前述（図１）の論理回路ＬＣＵを用いることもできる。
【０２４５】
監視制御回路部３０Ｂ内の通信制御回路部３０ｂに代えて、論理回路ＬＣＵの通信制御回路部３０ａ（図１）を用いた場合には、監視制御回路部３０Ｂとしての制御仕様の変更が困難となるが、補助マイクロプロセッサＳＣＰＵおよび補助プログラムメモリ３５Ｂが不要となるので、安価な集積回路素子を構成することができる。
【０２４６】
一方、図９のように、通信制御回路部３０ｂとして補助マイクロプロセッサＳＣＰＵを用いた場合には、補助プログラムメモリ３５Ｂの内容を変更することによって、比較的容易に監視制御回路部３０Ｂの動作仕様を変更することができる。
【０２４７】
また、前述（図４）の誤差測定回路３００Ａにおいては、中速クロック信号ＣＬＫ２が通信同期信号ＣＬＫ１よりも低速動作（Ｔ１＜Ｔ２）であるのに対し、この発明の実施の形態２（図１２）の誤差測定回路３００Ｂにおいては、中速クロック信号ＣＬＫ２が通信同期信号ＣＬＫ１よりも高速動作（Ｔ２＜Ｔ１）である。
【０２４８】
ここで、中速クロック信号ＣＬＫ２の信号周期Ｔ２の値が、通信同期信号ＣＬＫ１の信号周期Ｔ１の前後の値にばらついて、信号周期Ｔ２の最大値は、直並列変換器２７ａ、３７ａの直並列変換周期よりも高速低周期であるものの、信号周期Ｔ２の最小値は、高速クロック信号ＣＬＫ０の信号周期よりも低速長周期である場合には、図１７で示す誤差測定回路３００Ｃを使用することができる。
【０２４９】
図１７は誤差測定回路３００Ｃ（他の構成例）を示すブロック図である。
図１７において、誤差測定回路３００Ｃは、前述（図１２参照）と同様の構成要素を備えている。
【０２５０】
この場合、誤差補正係数Ｋｎを算出する誤差補正係数演算手段５１１Ｃの機能は、通信制御回路部３０ｃと協働する補助プログラムメモリ（ＰＭＥＭ）３５Ｃ内に含まれている。
また、補助プログラムメモリ３５Ｃは、誤差補正係数演算手段５１１Ｃに加えて、移動平均値Ｋａを算出する移動平均値演算手段５１１Ｍとなる制御プログラムを備えている。
【０２５１】
誤差測定回路３００Ｃにおいて、第１カウンタ３３０ａは、第１ゲート回路３３１ａを介して、通信同期信号ＣＬＫ１が、たとえば論理レベル「Ｌ」から論理レベル「Ｈ」に変化した回数を計数する。
また、第２カウンタ３３０ｂは、第２ゲート回路３３１ｂを介して、中速クロック信号ＣＬＫ２が、たとえば論理レベル「Ｌ」から論理レベル「Ｈ」に変化した回数を計数する。
【０２５２】
一致判定回路３３５ａは、第１カウンタ３３０ａの計数現在値ＣＮＴ１が所定の設定閾値Ｎ１Ｃに達した時点で、計数停止指令信号ＳＴを発生して、第１および第２カウンタ３３０ａ、３３０ｂの計数動作を停止する。
【０２５３】
第２の計数開始指令回路３３３ｂは、第１カウンタ３３０ａの計数現在値ＣＮＴ１が「１」以上（１≦ＣＮＴ１）になった時点で、第２ゲート回路３３１ｂを解放して、第２カウンタ３３０ｂに対する中速クロック信号ＣＬＫ２の計数入力を許可する。
【０２５４】
計測記憶回路３３６は、一致判定回路３３５ａが計数停止指令信号ＳＴを発生した時点での第２カウンタ３３０ｂの計数現在値ＣＮＴ２を読出記憶値Ｎ２Ｃとして記憶する。
通信制御回路部（ＳＣＰＵ）３０ｃは、誤差補正係数演算手段５１１Ｃを含み、補助プログラムメモリ３５Ｃに格納された制御プログラムに基づいて、中速クロック信号ＣＬＫ２の信号周期Ｔ２と通信同期信号ＣＬＫ１の信号周期Ｔ１との比率を、誤差補正係数Ｋｎとして、以下の式（５）により算出する。
【０２５５】
Ｋｎ＝Ｔ２／Ｔ１＝（Ｎ１Ｃ−１）／Ｎ２Ｃ・・・・・（５）
【０２５６】
なお、第１カウンタ３３０ａの計数現在値ＣＮＴ１が「１〜Ｎ１Ｃ」である期間は、（Ｎ１Ｃ−１）×Ｔ１であり、この期間内における中速クロック信号ＣＬＫ２の発生回数が読出記憶値Ｎ２Ｃに相当しているので、以下の関係が成立する。
【０２５７】
（Ｎ１Ｃ−１）×Ｔ１≒Ｎ２Ｃ×Ｔ２
【０２５８】
したがって、式（５）によって誤差補正係数Ｋｎが算出される。
第１および第２カウンタ３３０ａ、３３０ｂの計数現在値ＣＮＴ１、ＣＮＴ２は、通信許可信号ＰＭＴが有効変化するごとに、リセット指令３３９によって初期化され、新たに誤差補正係数Ｋｎの算出が行われるようになっている。
【０２５９】
ここで、図１２の誤差測定回路３００Ｂのように、中速クロック信号ＣＬＫ２の方が通信同期信号ＣＬＫ１よりも高速動作（Ｔ２＜Ｔ１）の場合には、Ｎ２Ｃ＞Ｎ１Ｃの関係にあり、計数タイミングの関係で第２カウンタ３３０ｂが１カウント少なく計数した場合であっても、相対誤差は、１／Ｎ２Ｃ＜１／Ｎ１Ｃの値となる。
【０２６０】
しかし、前述（図４）の誤差測定回路３００Ａのように、中速クロック信号ＣＬＫ２の方が通信同期信号ＣＬＫ１よりも低速動作（Ｔ１＜Ｔ２）の場合には、Ｎ２Ｃ＜Ｎ１Ｃの関係にあり、計数タイミングの関係で第２カウンタ３３０ｂが１カウント少なく計数した場合には、相対誤差は、１／Ｎ２Ｃ＞１／Ｎ１Ｃの値となる。
【０２６１】
たとえば、第１カウンタ３３０ａが４ビットカウンタであって、設定閾値Ｎ１Ｃ＝１５に設定されている場合には、第２カウンタ３３０ｂとして６ビットカウンタを使用することにより、読出記憶値Ｎ２Ｃとして６３カウントまで計数することができるが、中速クロック信号ＣＬＫ２が低速になると、誤差補正係数Ｋｎの算出誤差が大きくなる。
【０２６２】
したがって、算出誤差の増大を回避するために、図１７に示した通信制御回路部（補助マイクロプロセッサＳＣＰＵ）３０ｃは、補助プログラムメモリ３５Ｃ内の移動平均値演算手段５１３Ｍと協働して、直近過去数回分の誤差補正係数Ｋｎの平均値を移動平均値Ｋａとして算出し、移動平均値Ｋａを誤差補正係数として使用する。
以下、移動平均値Ｋａを用いて、タイムアウト判定時間Ｔｄに対応した中速クロック信号ＣＬＫ２の計数値Ｎを、以下の式（６）によって換算補正する。
【０２６３】
Ｎ＜Ｔｄ／Ｔ２＝Ｔｄ／（Ｋａ×Ｔ１）  ・・・・・・（６）
【０２６４】
以上のように、この発明の実施の形態２（図９〜図１７）に係る電子制御装置１０Ｂは、直並列変換器２７ａ、３７ａによって互いにシリアル接続された主制御回路部２０Ｂおよび監視制御回路部３０Ｂによって構成され、第１および第２の入力センサ群１１ａ、１１ｂの動作状態と、プログラムメモリ２５Ｂに格納された入出力制御プログラムとに応動して、第１および第２の電気負荷群１２ａ、１２ｂを駆動制御する。
【０２６５】
主制御回路部２０Ｂは、高速クロック信号ＣＬＫ０によって動作するマイクロプロセッサ（ＭＣＰＵ）２０ｂと、マイクロプロセッサ２０ｂと協働するプログラムメモリ２５Ｂとを備え、監視制御回路部３０Ｂに対して、第２の電気負荷群１２ｂに対する駆動制御信号を含む下り通信情報ＤＮＤと、高速クロック信号ＣＬＫ０を分周して得られる通信同期信号ＣＬＫ１と、通信許可信号ＰＭＴとを定期的に送信する。
【０２６６】
監視制御回路部３０Ｂは、高速クロック信号ＣＬＫ０とは独立したクロック信号源３８（クロック信号発生回路）と、クロック信号源３８が発生する中速クロック信号ＣＬＫ２によって動作する通信制御回路部３０ｂとを備え、通信許可信号ＰＭＴを受信した時点から、主制御回路部２０Ｂに対して、第２の入力センサ群１１ｂの動作状態に応動する入力監視信号を含む上り通信情報ＵＰＤを定期的に送信する。
【０２６７】
また、監視制御回路部３０Ｂは、通信同期信号ＣＬＫ１の信号周期Ｔ１と、中速クロック信号ＣＬＫ２の信号周期Ｔ２とを定期的に相対比較して、中速クロック信号ＣＬＫ２の固体バラツキ変動および経時変化に対応した誤差補正係数Ｋｎを算出するための誤差測定回路３００Ｂ、３００Ｃを備え、特定監視信号の受信間隔を、中速クロック信号ＣＬＫ２および誤差補正係数Ｋｎに基づいて定期的に監視測定する。
【０２６８】
特定監視信号の受信間隔は、通信許可信号ＰＭＴの受信間隔であるか、または下り通信情報ＤＮＤの受信間隔であるか、または、上り通信情報ＵＰＤによって定期的に送信された質問情報に対応して、下り通信情報ＤＮＤによって定期的に送信される回答情報の受信間隔である。
【０２６９】
また、監視制御回路部３０Ｂは、誤差補正係数Ｋｎの算出結果、または誤差補正係数Ｋｎを算出するために必要とされるクロック信号周期に関する測定結果である逆監視情報を、上り通信情報ＵＰＤの一部として主制御回路部２０Ｂに送信するとともに、特定監視信号の受信間隔の監視測定結果が、所定の許容上限値を超過したときに、主制御回路部２０Ｂを初期化して再起動するための第２のリセットパルスＲＳＴ２を発生する。
【０２７０】
中速クロック信号ＣＬＫ２の信号周期Ｔ２の変動領域は、高速クロック信号ＣＬＫ０の信号周期Ｔ０に比べて低速長周期であるとともに、通信同期信号ＣＬＫ１の信号周期Ｔ１よりも高速短周期となる関係に、許容されるバラツキ変動幅が規制されている。
【０２７１】
このように、中速クロック信号ＣＬＫ２の信号周期Ｔ２は、高速クロック信号ＣＬＫ０の信号周期Ｔ０と通信同期信号ＣＬＫ１の信号周期Ｔ１との間に設定されることにより、通信同期信号ＣＬＫ１の信号周期Ｔ１が中速クロック信号ＣＬＫ２の信号周期Ｔ２の最大値と最小値との間になることを回避することができる。
したがって、通信制御回路部３０ｂの制御フローが単純化されるとともに、通信制御回路部３０ｂ側の応答遅れによって通信渋滞が発生することを回避することができる。
【０２７２】
また、図１２の誤差測定回路３００Ｂは、通信同期信号ＣＬＫ１の発生回数を計数する第１カウンタ３２０ａと、中速クロック信号ＣＬＫ２の発生回数を計数する第２カウンタ３２０ｂと、第１カウンタ３２０ａの計数現在値ＣＮＴ１が所定の設定閾値Ｎ１Ｂに達した時点で計数停止指令信号ＳＴを発生する一致判定回路３２５ａと、第１カウンタ３２０ａの計数入力回路に設けられた第１ゲート回路３２１ａと、第２カウンタ３２０ｂの計数入力回路に設けられた第２ゲート回路３２１ｂと、計数停止指令信号ＳＴの発生時に第２カウンタ３２０ｂの計数現在値を読出記憶値Ｎ２Ｂとして記憶する計測記憶回路３２６とを備えている。
【０２７３】
第１ゲート回路３２１ａは、計数停止指令信号ＳＴの発生時に、通信同期信号ＣＬＫ１の計数動作を禁止する。
第２ゲート回路３２１ｂは、第１カウンタ３２０ａによる初回計数開始時に、第２カウンタ３２０ｂによる中速クロック信号ＣＬＫ２の計数を許可し、計数停止指令信号ＳＴの発生時に計数動作を禁止する。
【０２７４】
誤差測定回路３００Ｂと協働する誤差補正係数演算手段５１１Ｂは、通信同期信号ＣＬＫ１が設定閾値Ｎ１Ｂに相当する回数だけ発生した時点での中速クロック信号ＣＬＫ２の発生回数である計測記憶回路３２６の読出記憶値Ｎ２Ｂを用いて、中速クロック信号ＣＬＫ２の信号周期Ｔ２と通信同期信号ＣＬＫ１の信号周期Ｔ１との比率である誤差補正係数Ｋｎを、式（３）「Ｋｎ＝Ｔ２／Ｔ１＝（Ｎ１Ｂ−１）／Ｎ２Ｂ」から算出する。
【０２７５】
このように、通信同期信号ＣＬＫ１が所定回数発生される期間内に、中速クロック信号ＣＬＫ２が何回発生するかを計測することによって、中速クロック信号ＣＬＫ２の信号周期Ｔ２を測定することにより、中速クロック信号ＣＬＫ２は、第１カウンタ３２０ａが初回の通信同期信号を計数した直後から、第２カウンタ３２０ｂによって計数される。
したがって、第１カウンタ３２０ａの計数現在値ＣＮＴ１が「２」となるまでには、必ず第２カウンタ３２０ｂが初回の中速クロック信号ＣＬＫ２を計数するので、計数開始タイミングのバラツキによる計数誤差の発生を防止することができる。
【０２７６】
また、通信許可信号ＰＭＴが発生するごとに、第１および第２カウンタ３２０ａ、３２０ｂの計数現在値ＣＮＴ１、ＣＮＴ２はリセットされ、計測記憶回路３２６による記憶情報は順次更新され、誤差補正係数Ｋｎは新たに算出される。
このように、誤差補正係数Ｋｎが繰り返し算出されることにより、環境温度変化による中速クロック信号ＣＬＫ２の信号周期Ｔ２の経時変化に対応して、正確な誤差補正係数Ｋｎを更新算出することができる。
【０２７７】
また、監視制御回路部３０Ｂは、誤差測定回路３００Ｂと、補助マイクロプロセッサＳＣＰＵで構成された通信制御回路部３０ｂと、誤差補正係数Ｋｎを演算算出するための制御プログラムと質問情報に対応した正解情報とを格納した補助プログラムメモリ３５Ｂとを備えている。
【０２７８】
通信制御回路部３０ｂは、第２の入力センサ群１１ｂの動作状態に応動する入力監視信号と質問情報を主制御回路部２０Ｂに送信するとともに、主制御回路部２０Ｂが発生した第２の電気負荷群１２ｂに対する駆動制御信号と回答情報とを受信し、質問情報に対応した正解情報と回答情報とを比較して、回答情報が不正解である場合には、主制御回路部２０Ｂを初期化して再起動するための第２のリセットパルスＲＳＴ２を発生する。
【０２７９】
このように、監視制御回路部３０Ｂにおいて、通信制御回路部３０ｂを補助マイクロプロセッサＳＣＰＵで構成することにより、中速クロック信号ＣＬＫ２の信号周期Ｔ２が通信同期信号ＣＬＫ１の信号周期Ｔ１よりも高速（短周期）であれば、応答遅れや通信渋滞が発生しないように、通信制御回路部（補助マイクロプロセッサＳＣＰＵ）３０ｂの制御プログラムを構成することができる。
また、監視制御回路部３０Ｂの制御仕様を、補助プログラムメモリ（ＰＭＥＭ）３５Ｂの内容を変更することによって容易に変更することができる。
【０２８０】
また、図１７の誤差測定回路３００Ｃは、通信同期信号ＣＬＫ１の発生回数を計数する第１カウンタ３３０ａと、中速クロック信号ＣＬＫ２の発生回数を計数する第２カウンタ３３０ｂと、第１カウンタ３３０ａの計数現在値ＣＮＴ１が所定の設定閾値Ｎ１Ｃに達した時点で計数停止指令信号ＳＴを発生する一致判定回路３３５ａと、第１カウンタ３３０ａの計数入力回路に設けられた第１ゲート回路３３１ａと、第２カウンタ３３０ｂの計数入力回路に設けられた第２ゲート回路３３１ｂと、計数停止指令信号ＳＴの発生時に第２カウンタ３３０ｂの計数現在値を読出記憶値Ｎ２Ｃとして記憶する計測記憶回路３３６とを備えている。
【０２８１】
第１ゲート回路３３１ａは、計数停止指令信号ＳＴの発生時に、通信同期信号ＣＬＫ１の計数動作を禁止する。
第２ゲート回路３３１ｂは、第１カウンタ３３０ａによる初回計数開始時に、第２カウンタ３３０ｂによる中速クロック信号ＣＬＫ２の計数を許可し、計数停止指令信号ＳＴの発生時に計数動作を禁止する。
【０２８２】
通信制御回路部（補助マイクロプロセッサＳＣＰＵ）３０ｃは、補助プログラムメモリ３５Ｃ内の移動平均値演算手段５１１Ｍと協働して、通信同期信号ＣＬＫ１が設定閾値Ｎ１Ｃに相当する回数だけ発生した時点での中速クロック信号ＣＬＫ２の発生回数である読出記憶値Ｎ２Ｃを用いて、中速クロック信号ＣＬＫ２の信号周期Ｔ２と通信同期信号ＣＬＫ１の信号周期Ｔ１との比率である誤差補正係数Ｋｎを式（５）「Ｋｎ＝Ｔ２／Ｔ１＝（Ｎ１Ｃ−１）／Ｎ２Ｃ」から算出する。
【０２８３】
通信許可信号ＰＭＴが発生するごとに、第１および第２カウンタ３３０ａ、３３０ｂの計数現在値ＣＮＴ１、ＣＮＴ２はリセットされ、計測記憶回路３３６の記憶情報は順次更新され、通信制御回路部３０ｃは、誤差補正係数Ｋｎの直近過去の複数回の平均値を移動平均値Ｋａとして算出する。
【０２８４】
このように、通信同期信号ＣＬＫ１が所定回数発生する期間内に、中速クロック信号ＣＬＫ２が何回発生するのかを計測することによって、中速クロック信号ＣＬＫ２の信号周期Ｔ２を測定することにより、中速クロック信号ＣＬＫ２と通信同期信号ＣＬＫ１との位相差による計数誤差を除去するために、複数回の誤差補正係数Ｋｎの移動平均値Ｋａを算出する。
【０２８５】
これにより、第１および第２カウンタ３３０ａ、３３０ｂのビット数が少なくても、計数開始タイミングのバラツキによる計数誤差の発生を解消することができる。
また、誤差補正係数Ｋｎは、繰り返して算出されるので、環境温度変化による中速クロック信号ＣＬＫ２の信号周期Ｔ２の経時変化に対応して、正確な誤差補正係数Ｋｎを更新して算出することができる。
【符号の説明】
【０２８６】
１０Ａ、１０Ｂ  電子制御装置、１１ａ、  第１の入力センサ群、１１ｂ  第２の入力センサ群、１２ａ  第１の電気負荷群、１２ｂ  第２の電気負荷群、１３  外部電源、１９  外部ツール、２０ａ  マイクロプロセッサ（ＣＰＵ）、２０ｂ  マイクロプロセッサ（ＭＣＰＵ）、２０Ａ、２０Ｂ  主制御回路部、２１  入力インタフェース回路、２２  出力インタフェース回路、２４、３４  ＲＡＭメモリ、２５Ａ、２５Ｂ  プログラムメモリ、２６、３６  多チャンネルＡＤ変換器（ＡＤＣ）、２７ａ、３７ａ  直並列変換器（シリアル通信回路）、２８、３８  クロック信号源、２９  シリアルインタフェース回路（ＳＣＩ）、３０ａ  通信制御回路部（ＬＣＵ）、３０ｂ、３０ｃ  通信制御回路部（ＳＣＰＵ）、３０Ａ、３０Ｂ  監視制御回路部、３１  入力インタフェース回路、３２  出力インタフェース回路、３３  電源回路、３５Ａ  データメモリ、３５Ｂ、３５Ｃ  補助プログラムメモリ、３００Ａ、３００Ｂ、３００Ｃ  誤差測定回路、３１０ａ、３２０ｂ、３３０ｂ  第２カウンタ、３１０ｂ、３２０ａ、３３０ａ  第１カウンタ、３１１ａ、３２１ｂ、３３１ｂ  第２ゲート回路、３１１ｂ、３２１ａ、３３１ａ  第１ゲート回路、３１３ａ、３２３ｂ、３３３ｂ  第２の計数開始指令回路、３１３ｂ  第１の計数開始指令回路、３１５ａ、３２５ａ、３３５ａ  一致判定回路、３１６、３２６、３３６  計測記憶回路、３１７  誤差補正係数演算回路、３１９、３２９、３３９  リセット指令、４０  ウォッチドッグタイマ（ＷＤＴ）、５１０  監視異常集計手段、５１１Ｂ、５１１Ｃ  誤差補正係数演算手段、  ５１１Ｍ  移動平均値演算手段、７１０、逆監視異常集計手段、ＡＬＴ  通信許可信号（交番信号）、ＰＭＴ  通信許可信号（論理信号）、ＣＬＫ０  高速クロック信号、ＣＬＫ１  通信同期信号、ＣＬＫ２  中速クロック信号、ＣＮＴ１、ＣＮＴ２  計数現在値、Ｋａ  移動平均値、Ｋｎ  誤差補正係数、Ｎ１Ａ、Ｎ２Ｂ、Ｎ２Ｃ  読出記憶値、Ｎ２Ａ、Ｎ１Ｂ、Ｎ１Ｃ  設定閾値、ＲＳＴ  リセットパルス、ＲＳＴ１  第１のリセットパルス、ＲＳＴ２  第２のリセットパルス、ＵＰＤ  上り通信情報、ＤＮＤ  下り通信情報、ＷＤ１  第１のウォッチドッグ信号、ＷＤ２  第２のウォッチドッグ信号、ＳＴ  計数停止指令信号、Ｔａ、Ｔｐ  通信許可周期、Ｔ０、Ｔ１、Ｔ２  信号周期（通信周期）、ＷＤ１  第１のウォッチドッグ信号、ＷＤ２  第２のウォッチドッグ信号、τ  待機時間。
【図１】
2011164674.tif 000003
【図２】
2011164674.tif 000004
【図３】
2011164674.tif 000005
【図４】
2011164674.tif 000006
【図５】
2011164674.tif 000007
【図６】
2011164674.tif 000008
【図７】
2011164674.tif 000009
【図８】
2011164674.tif 000010
【図９】
2011164674.tif 000011
【図１０】
2011164674.tif 000012
【図１１】
2011164674.tif 000013
【図１２】
2011164674.tif 000014
【図１３】
2011164674.tif 000015
【図１４】
2011164674.tif 000016
【図１５】
2011164674.tif 000017
【図１６】
2011164674.tif 000018
【図１７】
2011164674.tif 000019