(57)【要約】【課題】コンピュータ間で通信を行う情報処理システムにおいて、受信データの遅延量を机上検討する必要をなくすこと。【解決手段】スロットル制御用のメインマイコン１０と、スロットル監視用のサブマイコン３０とを備える電子制御装置１において、メインマイコン１０は、スロットル開度センサ５の検出値を、計時カウンタ２１が示す現在時刻の情報と共に、サブマイコン３０に送信する。サブマイコンは、メインマイコンからスロットル開度センサの検出値を受信すると、検出値と共に受信した現在時刻の情報に基づき、上記データの授受に要した時間（通信時間）を算出する。即ち、計時カウンタ３５が示す時刻と、受信した現在時刻の情報が示す時刻との差を、通信時間として算出する。また、メインマイコン及びサブマイコンは、シリアル通信時に用いるＣＬＫ信号に基づき、計時カウンタ２１，３５を同時にリセットする。【選択図】図１
2006285977.tif 000002
【特許請求の範囲】
【請求項１】
通信ラインを介して互いに接続された第一及び第二のコンピュータと、
現在時刻を計時する計時カウンタと、
を備え、
前記第一のコンピュータは、
前記通信ラインを介して前記第二のコンピュータと通信するための通信手段、を備え、
前記通信手段は、前記計時カウンタが示す現在時刻を記した時刻データを、前記第二のコンピュータに送信する構成にされ、
前記第二のコンピュータは、
前記通信ラインを介して前記第一のコンピュータと通信するための通信手段と、
内蔵の前記通信手段が前記第一のコンピュータから送信される前記時刻データを受信すると、前記受信した時刻データが示す時刻と、前記計時カウンタが示す現在時刻と、に基づき、前記第一及び第二のコンピュータ間でのデータ授受に要する時間を含む遅延時間を算出する遅延時間算出手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
前記第二のコンピュータは、内蔵の前記通信手段が前記第一のコンピュータから前記時刻データとは異なる特定種のデータを受信すると、前記特定種のデータに基づく演算処理を実行する構成にされ、前記遅延時間算出手段により算出された遅延時間に基づき、前記演算処理の内容を補正する構成にされていること
を特徴とする請求項１記載の情報処理システム。
【請求項３】
前記第一のコンピュータは、入力装置と接続され、前記入力装置からのデータ入力を受ける入力受付手段、を備え、
前記第一のコンピュータが内蔵する前記通信手段は、前記入力受付手段に入力された前記入力装置からの入力データを、前記第二のコンピュータに送信する構成にされ、
前記第二のコンピュータは、内蔵の前記通信手段が、前記特定種のデータとしての前記入力装置からの入力データを、前記第一のコンピュータから受信すると、前記入力データに基づく演算処理を実行する構成にされていることを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記入力装置は、特定の物理量を検出し、その検出値を前記第一のコンピュータに入力するセンサであり、
前記第二のコンピュータは、
前記第一のコンピュータに接続された前記センサとは異なる物理量を検出する第二のセンサと接続され、前記第二のセンサから出力される検出値を、前記第二のセンサからの入力データとして受ける入力受付手段、
を備え、前記第一のコンピュータを介して受信した前記第一のコンピュータに接続されたセンサからの入力データと、内蔵の前記入力受付手段に入力された前記第二のセンサからの入力データと、に基づく演算処理を実行する構成にされると共に、前記遅延時間算出手段により算出された遅延時間に基づき、前記各センサからの入力データ間で発生する時間的な誤差を解消する方向に、前記演算処理の内容を補正する構成にされていることを特徴とする請求項３記載の情報処理システム。
【請求項５】
前記第一のコンピュータが内蔵する前記通信手段は、前記特定種のデータの送信時に、前記特定種のデータと共に、前記時刻データを、前記第二のコンピュータに送信する構成にされていることを特徴とする請求項２〜請求項４のいずれかに記載の情報処理システム。
【請求項６】
前記計時カウンタは、前記第一及び第二のコンピュータの夫々に設けられ、
前記各コンピュータは、前記第一及び第二のコンピュータで同時に発生する特定のイベントが発生した時点で、自身に設けられた計時カウンタを、リセットする構成にされ、
前記第一のコンピュータが内蔵する前記通信手段は、前記第一のコンピュータに設けられた計時カウンタが示す時刻を記した時刻データを、前記特定種のデータと共に前記第二のコンピュータに送信し、
前記遅延時間算出手段は、前記第二のコンピュータが内蔵する前記通信手段が前記時刻データを受信すると、前記第二のコンピュータが内蔵する前記通信手段が受信した時刻データが示す時刻と、前記第二のコンピュータに設けられた計時カウンタが示す現在時刻と、に基づき、前記遅延時間を算出する構成にされていることを特徴とする請求項２〜請求項５のいずれかに記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第一のコンピュータと、第二のコンピュータとが互いに通信可能に接続された情報処理システムに関する。
【背景技術】
【０００２】
従来より、複数のコンピュータを備える情報処理システムとしては、複数のマイクロコンピュータ（以下、単に「マイコン」と称する）を備えた電子制御装置が知られている（例えば、特許文献１参照）。電子制御装置としては、車両各部を制御するための電子制御装置が知られ、例えば、第一のマイコンにて、エンジンや電子スロットル等の制御対象を制御し、第二のマイコンにて、センサの検出値に基づき、車両の状態を判定するものが知られている。
【０００３】
ところで、複数のマイコンを協働させて、電子制御装置の機能を実現する場合には、データ授受に要する時間を考慮して、各マイコンに演算処理を行わせる必要がある。即ち、各マイコンでは、他のマイコンからの受信データが、データ授受に要した時間分過去に、上記他のマイコンで取り扱われたデータであるとして処理される必要がある。
【０００４】
従来では、上述のように、データ授受に要する時間を考慮して、他のマイコンから受信したデータを、マイコンに処理させるために、通信によって発生する受信データの遅延量を、机上にて検討し、マイコンに実行させるプログラムを設計していた。
【特許文献１】特開２００３−１３８９８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、受信データの遅延量を、机上にて推定し、遅延量を考慮したプログラムを設計する場合には、推定値の誤差が大きいため、推定値の誤差も考慮する必要があった。例えば、第一のマイコンの出力値を、第二のマイコンにて、基準値と比較し、出力値が異常であるか否かを判定する場合には、異常と判定する範囲を冗長にとらなければならないといった問題や、判定の精度を高めるために、判定時間を長く採らなければならないといった問題があった。即ち、机上検討では、受信データの遅延量の問題が、システム全体の性能に影響を与える結果となっていた。
【０００６】
本発明は、こうした問題に鑑みなされたものであり、受信データの遅延量を机上検討する必要のない情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
かかる目的を達成するためになされた請求項１記載の情報処理システムは、通信ラインを介して互いに接続された第一及び第二のコンピュータと、現在時刻を計時する計時カウンタと、を備える。このシステムでは、第一のコンピュータ内蔵の通信手段が、計時カウンタが示す現在時刻を記した時刻データを、第二のコンピュータに送信する。一方、第二のコンピュータでは、内蔵の通信手段が、第一のコンピュータから上記時刻データを受信すると、遅延時間算出手段が、上記受信した時刻データが示す時刻と、計時カウンタが示す現在時刻と、に基づき、第一及び第二のコンピュータ間でのデータ授受に要する時間を含む時間的遅れ（遅延時間）を算出する。
【０００８】
このように構成された本発明の情報処理システムによれば、受信データの遅延量を机上検討する必要がなく、受信データの遅延量を正確に把握することができる。従って、この情報処理システムによれば、他のコンピュータからの受信データに基づく演算処理を実行するコンピュータに、通信時間を含む遅延時間を考慮した正確な演算処理を、実行させることができる。
【０００９】
尚、第一のコンピュータから第二のコンピュータへのデータ送信に要する時間と、第二のコンピュータから第一のコンピュータへのデータ送信に要する時間とが、同一であると見なせる場合には、第二のコンピュータで算出した通信時間を、第一のコンピュータが第二のコンピュータからの受信データに基づく処理を実行する際に、用いることができるが、基本的に、遅延時間の算出は、受信データに基づく演算処理を実行する側のコンピュータで行われるのが、算出結果の精度の観点から好ましい。
【００１０】
請求項２記載の情報処理システムにおける第二のコンピュータは、内蔵の通信手段が、第一のコンピュータから時刻データとは異なる特定種のデータを受信すると、その特定種のデータに基づく演算処理を実行する構成にされ、遅延時間算出手段により算出された遅延時間に基づき、上記演算処理の内容を補正する。
【００１１】
この情報処理システムでは、他のコンピュータ（第一のコンピュータ）からの受信データに基づき、演算処理を行うコンピュータ（第二のコンピュータ）が、遅延時間を算出するので、受信データの遅延量を正確に把握することができ、算出結果に基づき演算処理の内容を正確に、補正することができる。
【００１２】
また、本発明は、入力装置からの入力データを、第一のコンピュータから第二のコンピュータに転送するシステムに適用することができる。請求項３記載の情報処理システムでは、第一のコンピュータが、入力装置と接続され、入力装置からのデータ入力を受ける入力受付手段を備え、第一のコンピュータ内蔵の通信手段が、上記入力受付手段に入力された入力装置からの入力データを、第二のコンピュータに送信する。一方、第二のコンピュータは、入力装置からの入力データを、内蔵の通信手段が第一のコンピュータから受信すると、その入力データに基づく演算処理を実行する。また、遅延時間算出手段により算出された遅延時間に基づき、上記演算処理の内容を補正する。
【００１３】
この情報処理システムによれば、他のコンピュータ（第一のコンピュータ）を介して、入力装置からの入力データを受けるコンピュータ（第二のコンピュータ）が、その入力データに基づく演算処理を実行する際に、受信データの遅延によって、誤った演算処理を実行してしまうのを防止することができる。また、誤った演算処理が実行されるのを回避するために、机上検討する必要がなく、大変有利である。尚、入力装置としては、ユーザが操作可能なユーザインタフェースや、物理量を検出するセンサ等が考えられる。
【００１４】
その他、複数のセンサからの入力データに基づいて、演算処理を行う情報処理システムであって、特定のセンサについては、第一のコンピュータから第二のコンピュータに、センサからの入力データを転送し、他のセンサについては、第二のコンピュータに直接、センサの出力データを入力するシステムでは、転送されるデータにのみ遅延が生じるため、遅延量を考慮しないと、第二のコンピュータにて、正しい演算処理を実行することができない可能性がある。従って、このようなシステムに、本発明を適用すると、上記の効果が一層発揮される。
【００１５】
請求項４記載の情報処理システムは、第一のコンピュータが、入力受付手段に入力された、特定の物理量を検出し、その検出値を出力するセンサからの入力データを、第二のコンピュータに送信する構成にされ、第二のコンピュータが、上記センサ（第一のコンピュータに接続されたセンサ）とは異なる物理量を検出する第二のセンサと接続された入力受付手段を備え、第二のセンサから出力される検出値を、第二のセンサからの入力データとして受ける構成にされている。
【００１６】
また、この情報処理システムでは、第二のコンピュータが、第一のコンピュータを介して受信した第一のコンピュータに接続されたセンサからの入力データと、内蔵の入力受付手段に入力された第二のセンサからの入力データと、に基づく演算処理を実行し、遅延時間算出手段により算出された遅延時間に基づき、各センサの入力データ間で発生する時間的な誤差を解消する方向に、上記演算処理の内容を補正する構成にされている。
【００１７】
この情報処理システムによれば、データ伝送経路が異なることによって、各センサからの入力データに時間的な差が生じる場合に、その時間的な差が原因で、誤った演算結果が導きだされてしまうのを防止することができる。また、これを回避するために、綿密な机上検討を行う必要がなく、大変有利である。
【００１８】
また、請求項４記載の発明は、第二のコンピュータが、第一のコンピュータを介して受信した第一のコンピュータに接続されたセンサからの入力データと、内蔵の入力受付手段に入力された第二のセンサからの入力データと、に基づき、第一のコンピュータに接続されたセンサが検出する物理量が正常であるか否かを判定する情報処理システムに適用することができる。第二のコンピュータにて、物理量の異常判定を行うシステムとしては、第一のコンピュータに接続されたセンサが検出する物理量を、第一のコンピュータが制御し、第二のコンピュータが、その制御量（物理量）の異常判定を行うシステムが知られているが、異常判定の信頼性が受信データの遅延によって低下すると、それと共に、システムの信頼性が低下するので、従来では、綿密な机上検討が欠かせなかった。本発明によれば、机上検討を行うことなく、システムの信頼性を高めることができるので、従来と比較して、システム設計が簡単になる。
【００１９】
また、第一のコンピュータ内蔵の通信手段は、第二のコンピュータにて演算処理の対象となる上記特定種のデータ（入力装置からの入力データ）の送信時に、上記特定種のデータと共に、時刻データを、第二のコンピュータに送信する構成にされるとよい。このように構成された請求項５記載の情報処理システムでは、演算処理の対象となるデータと共に上記時刻データを送信するので、受信側のコンピュータにて、受信データの遅延量を精度よく把握することができ、遅延時間算出手段の算出結果に従って、演算処理の内容を、正確に補正することができる。従って、この発明によれば、システムの性能を高めることができる。
【００２０】
その他、上記の発明は、各コンピュータが内蔵する計時カウンタを用いて実現することができる。
請求項６記載の情報処理システムでは、計時カウンタが第一及び第二のコンピュータの夫々に設けられ、各コンピュータが、第一及び第二のコンピュータで同時に発生する特定のイベントが発生した時点で、自身に設けられた計時カウンタを、リセットする。
【００２１】
また、この情報処理システムでは、第一のコンピュータ内蔵の通信手段が、上記特定種のデータ送信と同時に、第一のコンピュータに設けられた計時カウンタが示す時刻を記した時刻データを、第二のコンピュータに送信する。その他、遅延時間算出手段は、第二のコンピュータ内蔵の通信手段が時刻データを受信すると、第二のコンピュータ内蔵の通信手段が受信した時刻データが示す時刻と、第二のコンピュータに設けられた計時カウンタが示す現在時刻と、に基づき、遅延時間を算出する。
【００２２】
この情報処理システムによれば、各コンピュータの計時カウンタを用いて、第一及び第二のコンピュータ間でのデータ授受に要する時間を含む遅延量（遅延時間）を、正確に算出することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施例について、図面と共に説明する。図１は、本発明が適用された電子制御装置１の構成を表す説明図である。
図１に示す本実施例の電子制御装置１は、車両（自動車）に搭載される電子スロットル制御用の電子制御装置１であり、アクセル開度を検出するアクセル開度センサ３と、スロットル開度を検出するスロットル開度センサ５と、に接続されている。この電子制御装置１は、複数のマイコンを備え、メインマイコン１０にて、スロットル開度の制御を行うと共に、制御が適切であるか否かをチェックし、更に車両の安全を確保するため、サブマイコン３０にて、メインマイコン１０によるスロットル開度の制御が適切であるか否かを、二重にチェックする。
【００２４】
具体的に、メインマイコン１０は、アナログ／ディジタル変換回路１１，１２と、スロットル制御処理部１５と、通信処理部１７と、送受信データ保持用のバッファ１８と、通信ラインＬＮに接続された通信回路部１９と、計時カウンタ２１と、割込み要求部２３と、例外処理部２５と、を備える。尚、ここでいう「処理部」とは、マイコンが備える図示しないＣＰＵ、ＲＯＭ、及びＲＡＭにてソフトウェア的に実現される手段を意味する。
【００２５】
アナログ／ディジタル変換回路１１は、アクセル開度センサ３に接続され、アクセル開度センサ３が出力するアクセル開度の検出値を、入力データとして受け、そのアナログの入力データを、ディジタルデータに変換する。このアナログ／ディジタル変換回路１１は、アクセル開度センサ３から受けたアクセル開度の検出値（ディジタルデータ）を、スロットル制御処理部１５に入力する。
【００２６】
一方、アナログ／ディジタル変換回路１２は、スロットル開度センサ５に接続され、スロットル開度センサ５が出力するスロットル開度の検出値を、入力データとして受け、そのアナログの入力データを、ディジタルデータに変換する。このアナログ／ディジタル変換回路１２は、スロットル開度センサ５から受けたスロットル開度の検出値（ディジタルデータ）を、スロットル制御処理部１５に入力すると共に、通信処理部１７に入力する。
【００２７】
また、スロットル制御処理部１５は、アクセル開度センサ３からアナログ／ディジタル変換回路１１を介して入力されたアクセル開度の検出値Ａ１を用いて、電子スロットルを制御し、スロットル開度を、運転者のアクセル操作及び運転状態に応じた量に設定する。その他、上記制御により実現されたスロットル開度が適切であるか否かを、スロットル開度センサ５からアナログ／ディジタル変換回路１２を介して入力されたスロットル開度の検出値Ｂ１を用いて判定し、検出値Ｂ１が「正常」であれば、上記制御を継続し、検出値Ｂ１が「異常」であれば、スロットル開度をゼロに制御する等のエラー処理を行う。
【００２８】
図２は、スロットル制御処理部１５が、繰返し実行する監視処理を表すフローチャートである。監視処理を開始すると、スロットル制御処理部１５は、アクセル開度センサ３の検出値Ａ１に基づき、適切なスロットル開度の上限値であるスロットル開度閾値Ｐ１を算出する（Ｓ１１０）。尚、スロットル開度閾値Ｐ１は、アクセル開度センサ３の検出値Ａ１をパラメータとして有する所定の関数Ｆ（Ａ１）で求めることができる。
【００２９】
Ｐ１＝Ｆ（Ａ１）
例えば、スロットル開度閾値Ｐ１は、演算式Ｐ１＝Ｆ（Ａ１）＝α・Ａ１＋β（α，β：定数）で求めることができる。但し、スロットル開度閾値Ｐ１の算出方法としては、様々な方法が考えられるので、Ｓ１１０におけるスロットル開度閾値Ｐ１の算出は、上記具体例な方法に限定されるものではない。
【００３０】
Ｓ１１０でスロットル開度閾値Ｐ１を算出すると、スロットル制御処理部１５は、上記算出したスロットル開度閾値Ｐ１と、スロットル開度センサ５の検出値Ｂ１と、を比較し（Ｓ１２０）、スロットル開度センサ５の検出値Ｂ１が、スロットル開度閾値Ｐ１以下であるか否かを判断する（Ｓ１３０）。
【００３１】
そして、スロットル開度センサ５の検出値Ｂ１が、スロットル開度閾値Ｐ１以下であると判断すると（Ｓ１３０でＹｅｓ）、スロットル開度が「正常」であると判定し（Ｓ１４０）、スロットル開度センサ５の検出値Ｂ１が、スロットル開度閾値Ｐ１より大きいと判断すると（Ｓ１３０でＮｏ）、スロットル開度が「異常」であると判定する（Ｓ１５０）。Ｓ１４０又はＳ１５０での処理を終えると、スロットル制御処理部１５は、一通りの監視処理を終了し、次の処理タイミングが到来すると、その時点での最新の検出値Ａ１，Ｂ１を用いて、Ｓ１１０以降の処理を再び実行する。
【００３２】
その他、メインマイコン１０の通信処理部１７は、サブマイコン３０への送信データを生成して、これをバッファ１８に登録すると共に、サブマイコン３０からの受信データを、バッファ１８から取り込んで、これをＲＡＭに保存する構成にされている。バッファ１８に登録された送信データは、シリアル通信用の通信回路部１９により処理され、通信ラインＬＮを通じて、通信ラインＬＮに接続されたサブマイコン３０へ送信される。また、通信回路部１９は、サブマイコン３０からの送信データを受信すると、これをバッファ１８に保存する。
【００３３】
尚、本実施例の通信処理部１７は、スロットル開度センサ５からの入力データ（検出値）を、アナログ／ディジタル変換回路１２を介して受けると、これを、サブマイコン３０に転送する構成にされている。図３は、通信処理部１７が繰返し実行する検出値送信処理を表すフローチャートである。
【００３４】
検出値送信処理を開始すると、通信処理部１７は、アナログ／ディジタル変換回路１２から入力されるスロットル開度センサ５の検出値（ディジタルデータ）を格納した送信データＤＡＴ１を生成する（Ｓ２１０）。また、現在時刻を計時する計時カウンタ２１から現在時刻ＴＭ１の情報を取得する（Ｓ２２０）。
【００３５】
そして、この現在時刻ＴＭ１の情報（換言すると、現在時刻ＴＭ１を記した時刻データ）を、上記生成した送信データＤＡＴ１に付加して、これをバッファ１８に登録する（Ｓ２３０）。Ｓ２３０での処理を終えると、通信処理部１７は、一旦、検出値送信処理を終了し、その後、再び、Ｓ２１０以降の処理を実行する。尚、Ｓ２３０でバッファ１８に登録された送信データＤＡＴ１及び現在時刻ＴＭ１の情報は、それ以前に、バッファ１８に登録されたデータが処理された後に、サブマイコン３０へと送信される。
【００３６】
即ち、本実施例では、バッファ１８に登録された送信データＤＡＴ１がサブマイコン３０に送信されるまでの時間が、無視することができない程度に長い場合があるので、サブマイコン３０側で、送信データＤＡＴ１のデータ授受に要した時間を把握できるように、送信データＤＡＴ１に、現在時刻ＴＭ１の情報を付加している。
【００３７】
但し、計時カウンタ２１の時間軸が、サブマイコン３０が内蔵する計時カウンタ３５の時間軸とずれていると、送信データＤＡＴ１に現在時刻ＴＭ１の情報を付加しても、サブマイコン３０側で、時間軸の誤差を把握することができず、正確にデータ授受に要した時間を、現在時刻ＴＭ１の情報と、サブマイコン３０内蔵の計時カウンタ３５と、を用いて算出することができなくなる。
【００３８】
そこで、本実施例では、シリアル通信において、メインマイコン１０の通信回路部１９とサブマイコン３０の通信回路部３１との間でやりとりされるＣＬＫ（クロック）信号を、メインマイコン１０及びサブマイコン３０とに同時に発生するイベントとして用いて、メインマイコン１０及びサブマイコン３０の計時カウンタ２１，３５を、同時にリセットする。
【００３９】
周知のように、シリアル通信では、通信ラインＬＮからの入力データをビット毎に取り込む際、取込タイミングを規定する信号としてＣＬＫ信号を用いるが、本実施例では、このＣＬＫ信号を用いて、計時カウンタ２１，３５をリセットするのである。本実施例では、車両の図示しないイグニッションスイッチがオンとなると、図示しないメインリレーがオンされ、メインマイコン１０、サブマイコン３０への電源供給が開始され、通信ラインＬＮでのＣＬＫ信号の送受が開始される。従って、このＣＬＫ信号送受開始時の最初のエッジを用いて計時カウンタ２１，３５を同時にリセットする。即ち、ＣＬＫ信号送受の開始時のタイミングで、計時カウンタ２１，３５をリセットする動作を実行する。ＣＬＫ信号は、電気的に、発信元から瞬時に受信元へと伝達するので、ＣＬＫ信号送受の送信開始イベントは、メインマイコン１０及びサブマイコン３０で同時に発生することになる。
【００４０】
尚、メインマイコン１０では、通信回路部１９の動作状態を、割込み要求部２３が監視し、ＣＬＫ信号の送受（具体的には送信）が開始されたタイミングで、割込み要求部２３が、例外処理部２５に、割込み要求する。そして、例外処理部２５は、この割込み要求を受けると、計時カウンタ２１をリセットする手順を含む例外サービスルーチンを実行する。図４は、例外処理部２５が繰返し実行する処理を示したフローチャートである。
【００４１】
例外処理部２５は、割込み要求が入力されるまで待機し（Ｓ３１０）、割込み要求を受けると（Ｓ３１０でＹｅｓ）、割込みベクタテーブル内を検索して（Ｓ３２０）、割込み要求に対応する例外サービスルーチンを読み出し（Ｓ３３０）、これを実行する（Ｓ３４０）。本実施例では、計時カウンタ２１をリセットする手順を含む例外サービスルーチンを、ＣＬＫ信号の送受が開始されるタイミングで発生する割込み要求に対応する例外サービスルーチンとして、メインマイコン１０の割込みベクタテーブルに登録しており、例外処理部２５は、ＣＬＫ信号の送受が開始されて、割込み要求部２３から割込み要求が入力されると（Ｓ３１０でＹｅｓ）、計時カウンタ２１をリセットする手順を含む例外サービスルーチンを読み出し（Ｓ３３０）、計時カウンタ２１をリセットする（Ｓ３４０）。従って、前述の図３に示す検出値送信処理を実行する際に送信データＤＡＴ１に付加される時刻ＴＭ１は、サブマイコン３０の計時カウンタ３５と同時にリセットされた計時カウンタ２１の時刻となる。
【００４２】
次に、サブマイコン３０について説明する。サブマイコン３０は、図１に示すように、通信回路部３１と、送受信データ保持用のバッファ３２と、通信処理部３３と、計時カウンタ３５と、割込み要求部３７と、例外処理部３９と、アナログ／ディジタル変換回路４１と、監視処理部４３とを備える。
【００４３】
通信回路部３１は、通信ラインＬＮを介してメインマイコン１０の通信回路部１９と接続されており、メインマイコン１０の通信回路部１９から送信されてきたデータを受信して、これをバッファ３２に保存すると共に、通信処理部３３によりバッファ３２に登録された送信データを、順次、通信ラインＬＮを介して、メインマイコン１０に送信する。
【００４４】
サブマイコン３０の通信処理部３３は、メインマイコン１０への送信データを生成して、これをバッファ３２に登録すると共に、メインマイコン１０からの受信データを、周期的に、バッファ３２から取り込んで、これをＲＡＭに保存する。図５は、この通信処理部３３が実行する検出値受信処理を表すフローチャートである。通信処理部３３は、この検出値受信処理を、周期的に繰返し実行する。
【００４５】
検出値受信処理を実行すると、通信処理部３３は、メインマイコン１０から送信されるスロットル開度センサ５の検出値が格納されたデータＤＡＴ１及び現在時刻ＴＭ１の情報が、通信回路部３１により受信されてバッファ３２に登録されたか否かを判断し（Ｓ４１０）、バッファ３２に登録されていないと判断すると（Ｓ４１０でＮｏ）、当該検出値受信処理を終了し、バッファ３２に登録されていると判断すると（Ｓ４１０でＹｅｓ）、データＤＡＴ１及び現在時刻ＴＭ１の情報を、バッファ３２から取り出し、これをＲＡＭに保存する（Ｓ４２０）。
【００４６】
また、現在時刻を計時する計時カウンタ３５から現在時刻ＴＭ２の情報を取得し、この現在時刻ＴＭ２の情報を、ＲＡＭに保存したデータＤＡＴ１及び現在時刻ＴＭ１の情報に関連付けてＲＡＭに保存する（Ｓ４３０）。更に、メインマイコン１０から受信しＲＡＭに保存した上記現在時刻ＴＭ１の情報と、計時カウンタ３５から取得しＲＡＭに保存した上記現在時刻ＴＭ２の情報と、に基づき、上記現在時刻ＴＭ１の情報と共にメインマイコン１０から受信したデータＤＡＴ１について、その授受に要した時間である通信時間ＴＤ＝ＴＭ２−ＴＭ１を算出する。そして、算出した通信時間ＴＤを、それに対応するデータＤＡＴ１に関連付けてＲＡＭに保存する（Ｓ４４０）。その後、当該検出値受信処理を終了する。
【００４７】
一方、割込み要求部３７は、通信回路部３１の動作状態を監視し、ＣＬＫ信号の送受（具体的には受信）が開始されたタイミングで、例外処理部３９に割込み要求する。例外処理部３９は、メインマイコン１０の例外処理部２５と同様に動作し、ＣＬＫ信号の送受が開始されて、上記割込み要求を、割込み要求部３７から受けると、計時カウンタ３５をリセットする手順を含む例外サービスルーチンを実行する。
【００４８】
即ち、本実施例では、計時カウンタ３５をリセットする手順を含む例外サービスルーチンを、ＣＬＫ信号の送受が開始されるタイミングで発生する上記割込み要求に対応する例外サービスルーチンとして、サブマイコン３０の割込みベクタテーブルに登録しており、例外処理部３９は、ＣＬＫ信号の送受が開始されて、割込み要求部３７から割込み要求が入力されると（Ｓ３１０でＹｅｓ）、計時カウンタ３５をリセットする手順を含む例外サービスルーチンを読出し（Ｓ３３０）、計時カウンタ３５をリセットする（Ｓ３４０）。
【００４９】
従って、前述の図５に示す検出値受信処理にて取り込まれるメインマイコン１０からの送信データＤＡＴ１に付加された時刻ＴＭ１、及び、メインマイコン１０の計時カウンタ２１と同時にリセットされた計時カウンタ３５の時刻ＴＭ２については、基点を同じにしたカウンタ２１，３５による時刻として、そのままその差分を取ることによって、送信データＤＡＴ１の正確な時間的遅延を認識することができる。
【００５０】
その他、アナログ／ディジタル変換回路４１は、アクセル開度センサ３に接続され、アクセル開度センサ３が出力するアクセル開度の検出値Ａ１を、入力データとして受け、そのアナログの入力データを、ディジタルデータに変換する。このアナログ／ディジタル変換回路４１は、アクセル開度センサ３から受けたアクセル開度の検出値（ディジタルデータ）を、監視処理部４３に入力する。
【００５１】
監視処理部４３は、このアナログ／ディジタル変換回路４１を介してアクセル開度センサ３から入力されたアクセル開度の検出値Ａ１と、通信処理部３３が受信処理し、ＲＡＭに保存したメインマイコン１０からの最新の受信データであるスロットル開度センサ５の検出値Ｂ２と、Ｓ４４０で算出された通信時間ＴＤと、を用いて、現在のスロットル開度が適切であるか否かを判定し、検出値が「異常」である場合には、通信処理部３３を通じて、「異常」である旨を、メインマイコン１０に通知し、メインマイコン１０に、スロットル開度をゼロに制御する等のエラー処理を実行させる。
【００５２】
図６は、監視処理部４３が繰返し実行する監視処理を表すフローチャートである。監視処理を開始すると、監視処理部４３は、アクセル開度センサ３の検出値Ａ１に基づき、メインマイコン１０と同様の手法で、スロットル開度閾値Ｐ１を算出する（Ｓ５１０）。
【００５３】
その後、監視処理部４３は、通信処理部３３が、メインマイコン１０から受信した現在時刻ＴＭ１の情報に基づき算出した受信データＤＡＴ１の通信時間ＴＤに基づき、スロットル開度閾値Ｐ１の補正量Ｃ（詳細後述）を算出し（Ｓ５２０）、補正後のスロットル開度閾値Ｐ２を算出する（Ｓ５３０）。具体的に、Ｓ５３０では、演算式Ｐ２＝Ｐ１−Ｃに従って、スロットル開度閾値Ｐ２を算出する。
【００５４】
その後、監視処理部４３は、受信データＤＡＴ１に格納されたスロットル開度センサ５の検出値Ｂ２と、補正後のスロットル開度閾値Ｐ２と、を比較し（Ｓ５４０）、スロットル開度センサ５の検出値Ｂ２が、スロットル開度閾値Ｐ２以下であるか否かを判断する（Ｓ５５０）。
【００５５】
そして、スロットル開度センサ５の検出値Ｂ２が、スロットル開度閾値Ｐ２以下であると判断すると（Ｓ５５０でＹｅｓ）、スロットル開度が「正常」であると判定し（Ｓ５６０）、スロットル開度センサ５の検出値Ｂ２が、スロットル開度閾値Ｐ２より大きいと判断すると（Ｓ５５０でＮｏ）、スロットル開度が「異常」であると判定する（Ｓ５７０）。Ｓ５６０又はＳ５７０での処理を終えると、監視処理部４３は、一通りの監視処理を終了し、次の処理タイミングが到来すると、その時点で得られた最新の検出値Ａ１，Ｂ２を用いて、Ｓ５１０以降の処理を再び実行する。
【００５６】
尚、サブマイコン３０で補正量Ｃを求めるのは、スロットル開度センサ５の検出値が、スロットル開度センサ５からの出力時を基点として、およそデータの授受に要した時間ＴＤ分、遅れて監視処理部４３に伝達されるためである。
【００５７】
即ち、サブマイコン３０で得られるアクセル開度センサ３の検出値Ａ１については、その伝達にメインマイコン１０を介さないため、サブマイコン３０に瞬時に入力されるが、サブマイコン３０で得られるスロットル開度センサ５の検出値Ｂ２は、メインマイコン１０を介して伝達されるために、時間ＴＤ分、遅延が発生する。従って、サブマイコン３０では、メインマイコン１０と同様の手法で、判定を行ってしまうと、メインマイコン１０と等価な監視処理を実行することができなくなってしまうのである。
【００５８】
図７（ａ）は、メインマイコン１０が実行する監視処理についての説明図であり、図７（ｂ）は、サブマイコン３０が実行する監視処理についての説明図である。また、図８（ａ）は、スロットル開度閾値Ｐ１を示すグラフであり、図８（ｂ）は、スロットル開度閾値Ｐ２を示すグラフである。但し、図８に示すグラフは、スロットル開度閾値Ｐ１とスロットル開度閾値Ｐ２との関係を示す程度のものである。
【００５９】
図７に示すように、同一の時刻ｔで行われる監視処理では、サブマイコン３０において、メインマイコン１０よりも時間ＴＤ分過去のスロットル開度センサ５の検出値Ｂ２が取り扱われることになる。
【００６０】
Ｂ２（ｔ）＝Ｂ１（ｔ−ＴＤ）
従って、サブマイコン３０においては、スロットル開度閾値Ｐ１を、補正量Ｃで減算することにより、スロットル開度閾値Ｐ２が、図８に示すように、Ｐ２（ｔ）≒Ｐ１（ｔ−ＴＤ）となるようにする。
【００６１】
補正量Ｃは、通信時間ＴＤの関数Ｇ（ＴＤ）で求めることができ、演算式Ｃ＝γ・ＴＤによって、Ｐ２（ｔ）≒Ｐ１（ｔ−ＴＤ）を満足する補正量Ｃを求めることができる。その他、通信時間ＴＤと、アクセル開度センサ３の検出値Ａ１と、を用いて、関数Ｈ（Ａ１，ＴＤ）で補正量Ｃを求めれば、より適切な補正量Ｃを求めることができる。尚、関数Ｈ（Ａ１，ＴＤ）としては、図７に示す例を挙げることができる。
【００６２】
このようにして補正量Ｃを算出し、図６に示すように判定を行うと、監視処理部４３では、図８（ｂ）に示すように、メインマイコン１０と等価な監視処理が実現される。
以上、本実施例の電子制御装置１について説明したが、この電子制御装置１では、通信ラインＬＮを介して互いに接続されたメインマイコン１０及びサブマイコン３０の夫々に、現在時刻を計時する計時カウンタ２１，３５が設けられ、各マイコン１０，３０が、メインマイコン１０とサブマイコン３０との間で同時に発生するＣＬＫ信号の送受イベントが発生した時点で、自身に設けられた計時カウンタ２１，３５を、リセットする（Ｓ３４０）。
【００６３】
また、メインマイコン１０の通信処理部１７は、サブマイコン３０にて演算処理の対象となるスロットル開度センサ５の検出値を、周期的に（換言すると、間欠的に）送信するが、この際、検出値を格納した送信データＤＡＴ１に、計時カウンタ２１の現在時刻ＴＭ１の情報を付加し、検出値と共に現在時刻ＴＭ１の情報をサブマイコン３０に送信する。
【００６４】
そして、サブマイコン３０では、通信処理部３３が、メインマイコン１０から送信されてくる上記検出値及び現在時刻ＴＭ１の情報を受信する度に、サブマイコン３０内蔵の計時カウンタ３５が示す現在時刻ＴＭ２と、受信した現在時刻ＴＭ１の情報が示す時刻ＴＭ１と、に基づき、マイコン１０，３０間でのデータ授受（具体的には、現在時刻ＴＭ１の情報と共に送信されてきた検出値の授受）に要した時間（通信時間）を算出する（図５に示す検出値受信処理）。
【００６５】
このように、本実施例の電子制御装置１では、マイコン１０，３０間で同時に発生するイベントが発生した時点で、計時カウンタ２１，３５の時間軸を揃え、演算処理の対象となるデータ（検出値）と共に、メインマイコン１０からサブマイコン３０へ現在時刻ＴＭ１の情報を送信することで、サブマイコン３０側で、検出値の遅延量（通信時間ＴＤ）を正確に算出することができるようにしている。
【００６６】
従って、本実施例によれば、監視処理（図６）にて、受信した検出値Ｂ２を用い異常判定を行う際に、その判定方法（即ち、監視処理の内容）を、遅延量ＴＤに応じて正確に補正することができ、サブマイコン３０で、メインマイコン１０と等価な監視処理を正確に実現することができる。
【００６７】
具体的に、本実施例によれば、算出した通信時間ＴＤに基づき、データ伝送経路の異なるアクセル開度センサ３の検出値Ａ１と、スロットル開度センサの検出値Ｂ２と、の間で発生する時間的な誤差ＴＤを解消する方向に、スロットル開度閾値Ｐ１を補正して、スロットル開度閾値Ｐ２を算出し（Ｐ２（ｔ）≒Ｐ１（ｔ−ＴＤ））、判定方法を補正するので、各センサ３，５からの入力データ間で発生する時間的な差ＴＤが原因で、誤った判定結果が導きだされてしまうのを防止することができる。
【００６８】
また、本実施例によれば、サブマイコン３０で、メインマイコン１０と等価な監視処理を実現するために、遅延量ＴＤを机上検討する必要がなく、遅延量（通信時間）ＴＤを算出するための構成と、その算出結果に基づき、スロットル開度閾値Ｐ１を補正するための構成とを、メインマイコン１０及びサブマイコン３０に導入する程度で、上記等価な監視処理を実現することができる。
【００６９】
尚、本発明における第一のコンピュータに接続されたセンサは、スロットル開度センサ５に相当し、第二のコンピュータに接続された第二のセンサは、アクセル開度センサ３に相当する。また、入力受付手段は、センサ３，５からのデータ入力を受けるアナログ／ディジタル変換回路１１，１２，４１に相当する。その他、第一のコンピュータが備える通信手段は、通信処理部１７及びバッファ１８並びに通信回路部１９にて実現され、第二のコンピュータが備える通信手段は、通信回路部３１及びバッファ３２並びに通信処理部３３にて実現されている。また、遅延時間算出手段は、通信処理部３３が実行するＳ４３０，Ｓ４４０の処理にて実現されている。
【００７０】
また、本発明の情報処理システムは、上記実施例に限定されるものではなく、種々の態様を採ることができる。
上記実施例では、複数のマイコンを備える電子制御装置１を例に挙げて、そのマイコン間で発生する通信の遅延を考慮した異常判定の手法を説明したが、本発明は、複数の電子制御装置間で、データ授受を行うシステムにも適用することができる。
【００７１】
具体的に、複数の電子制御装置間でデータ授受を行う場合には、電子制御装置間でのデータ送受信時に用いられる上記ＣＬＫ信号に相当する基準信号（例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）信号）を用いて、各電子制御装置のマイコンが備える計時カウンタをリセットすればよい。
【００７２】
即ち、各電子制御装置間で同時に発生するイベントをトリガーとして、各電子制御装置内における現在時刻を計時するカウンタ相当の手段を同時にリセットすれば、共通の時間軸を用いて現在時刻を知ることができるので、データの授受に係わる時間的遅延を、データの受信側の電子制御装置にて正確に知ることができる。
【００７３】
尚、同時イベントを用いたカウンタ相当の手段のリセットは、それぞれが同じ値にリセットされる必要は必ずしもない。それぞれのリセット値が把握できるものであれば、遅延量（通信時間ＴＤ）を正確に算出することができる。
【００７４】
また、割込み要求部２３，３７において発生する割込み要求の要因となる同時イベントは、上記通信におけるＣＬＫ信号やＣＡＮ信号などの基準信号のほか、それぞれのマイコンを同時にリセットするリセット信号や、各種センサからのクランク角信号、カム角信号など、車両の作動やマイコン自身の作動において発生する様々な要因が挙げられる。
【００７５】
また、一方の電子制御装置から他方の電子制御装置へと、センサの検出値を送信する場合には、計時カウンタが示す現在時刻の情報を、検出値に付加して、検出値と共に送信することにより、データ授受に要した時間を、他方の電子制御装置に算出させればよい。この他、本発明は、車両用の電子制御装置を用いた情報処理システムに限定されず、複数のコンピュータ間で通信する様々なシステムに適用することができる。
【００７６】
最後に、本実施例の内容をまとめる。図９は、計時カウンタ２１，３５のリセット、メインマイコン１０・サブマイコン３０間のデータの送受、監視処理の時間的経過と計時カウンタ２１（図９上側），３５（図９下側）のそれぞれのカウント値との関係を表す図である。
【００７７】
図９に示すように、メインマイコン１０、サブマイコン３０に同時イベントが発生すると（（１）同時イベント）、各割込み要求部２３，３７が割込み要求を発生させて、例外処理部２５，３９を起動させ、計時カウンタ２１，３５をリセットする。これにより、カウンタ２１，３５は同じ時間軸によるカウント動作を実行することになる（（２）例外処理）。
【００７８】
あるタイミングで、メインマイコン１０が図３に示す検出値送信処理を実行し、バッファ１８、通信回路部１９を介してサブマイコン３０に、データＤＡＴ１を、そのときの時刻ＴＭ１と共に送信する（（３）ＤＡＴ１取得・送信処理）。
【００７９】
サブマイコン３０は、通信回路部３１、バッファ３２を介して、データＤＡＴ１を取り込み、図５に示す検出値受信処理にて、遅延時間である通信時間ＴＤを算出する。そして図６に示す監視処理を実行する（（４）受信・監視処理）。
【００８０】
尚、サブマイコン３０では、受信処理を行っても、直に受信データＤＡＴ１を用いて監視処理を実行せず、しばらくたってから、これを実行してもよい（（５）監視処理）。その場合には、データ授受に係る遅延に加えて、監視処理を実行するまでの時間遅れが発生することになるが、この場合、既に求めた通信時間ＴＤからさらに時間遅れを加味して時間ＴＤを補正した監視処理を実行するか、あるいは受信処理時には通信時間ＴＤを求めずに、監視処理を実行する際に遅延時間ＴＤ’を求めて監視処理に必要な補正量Ｃ’を求めるようにしても良い。
【図面の簡単な説明】
【００８１】
【図１】本発明が適用された電子制御装置１の構成を表す説明図である。
【図２】スロットル制御処理部１５が行う監視処理を表すフローチャートである。
【図３】通信処理部１７が実行する検出値送信処理を表すフローチャートである。
【図４】例外処理部２５，３９が実行する処理を示したフローチャートである。
【図５】通信処理部３３が実行する検出値受信処理を表すフローチャートである。
【図６】監視処理部４３が実行する監視処理を表すフローチャートである。
【図７】メインマイコン１０が実行する監視処理についての説明図（ａ）及びサブマイコン３０が実行する監視処理についての説明図（ｂ）である。
【図８】スロットル開度閾値Ｐ１を示すグラフ（ａ）及びスロットル開度閾値Ｐ２を示すグラフ（ｂ）である。
【図９】計時カウンタのリセット、メインマイコン・サブマイコン間のデータの送受、監視処理の時間的関係を示す図である。
【符号の説明】
【００８２】
１…電子制御装置、３…アクセル開度センサ、５…スロットル開度センサ、１０…メインマイコン、１１，１２，４１…アナログ／ディジタル変換回路、１５…スロットル制御処理部、１７，３３…通信処理部、１８，３２…バッファ、１９，３１…通信回路部、２１，３５…計時カウンタ、２３，３７…割込み要求部、２５，３９…例外処理部、３０…サブマイコン、４３…監視処理部、ＬＮ…通信ライン
【図１】
2006285977.tif 000003
【図２】
2006285977.tif 000004
【図３】
2006285977.tif 000005
【図４】
2006285977.tif 000006
【図５】
2006285977.tif 000007
【図６】
2006285977.tif 000008
【図７】
2006285977.tif 000009
【図８】
2006285977.tif 000010
【図９】
2006285977.tif 000011