トップ :: G 物理学 :: G05 制御;調整

【発明の名称】 電子制御装置およびその初期化方法
【発明者】 【氏名】鷹取 剛

【氏名】山下 真史

【氏名】坂本 宏昭

【要約】 【課題】電子制御装置の起動を高速化するとともに、正確・安全に動作させること。

【構成】メインマイコン10とサブマイコン20を有するECU1において、メインマイコンのDMAコントローラ14およびサブマイコンのDMAコントローラ24のそれぞれに初期化用バッファ14a,24a、通常用バッファ14b,24bを設ける。メインマイコン10とサブマイコン20の起動時には、サブマイコン20がEEPROM2から補正値を読み出し、DMAコントローラ24を介してメインマイコン10に送信する。この時に補正値を格納する領域とチェックコードを格納する領域のみを設けた初期化用バッファ14a,24aを使用することで、DMA通信に要する時間を短縮し、メインマイコン10の起動を高速化する。
【特許請求の範囲】
【請求項1】
複数の演算処理手段を備え、前記複数の演算処理手段の各々が入出力信号の補正に使用する補正値を、前記複数の演算処理手段のいずれかが記憶手段から読み出して他の演算処理手段に送信する電子制御装置であって、
前記複数の演算処理手段の各々は、前記補正値の送受信を行う通信手段を備え、
前記通信手段は、前記複数の演算処理手段の起動時に使用する起動用バッファと、前記複数の演算処理手段の起動後に使用する通常処理用バッファとを備えたことを特徴とする電子制御装置。
【請求項2】
前記記憶手段から補正値を読み出す演算処理手段は、他の演算処理手段が備える通信手段を起動することを特徴とする請求項1に記載の電子制御装置。
【請求項3】
前記記憶手段から補正値を読み出す演算処理手段が備える通信手段は、他の演算処理手段から起動されることを特徴とする請求項1に記載の電子制御装置。
【請求項4】
前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値を使用して前記入出力信号の補正を行うことを特徴とする請求項1,2または3に記載の電子制御装置。
【請求項5】
前記複数の演算処理手段のうち少なくとも一つは、受信した補正値が所定の範囲を逸脱する場合に前記記憶手段から補正値を読み出す演算処理手段を再起動することを特徴とする請求項1〜4のいずれか一つに記載の電子制御装置。
【請求項6】
前記複数の演算処理手段は、前記記憶手段から読み出した補正値、もしくは通信手段によって受信した補正値が所定の範囲を逸脱する場合に、予め定められた他の補正値を用いて前記入出力信号の補正を行うことを特徴とする請求項1〜5のいずれか一つに記載の電子制御装置。
【請求項7】
前記複数の演算処理手段は、前記記憶手段から読み出した補正値、もしくは通信手段によって受信した補正値を保持する補正値保持手段をさらに備え、起動時に前記補正値保持手段に保持した補正値を用いて前記入出力信号の補正を行うことを特徴とする請求項1〜6のいずれか一つに記載の電子制御装置。
【請求項8】
前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値が前記補正値保持手段に保持した補正値と異なる場合に、受信した補正値で前記補正値保持手段が保持する補正値を更新することを特徴とする請求項7に記載の電子制御装置。
【請求項9】
起動時にプラットフォーム層およびアプリケーション層の初期化を行う複数の演算処理手段と、前記複数の演算処理手段のいずれかに設けられ、前記複数の演算手段のそれぞれが前記アプリケーション層の初期化に際して使用する入出力信号の補正値を記憶する記憶手段と、を備えた電子制御装置であって、
前記複数の演算処理手段のうち、前記記憶手段が設けられた演算処理手段は、プラットフォーム層の初期化処理および前記記憶手段からの補正値の読み出し処理を行った後に、他の演算手段に対して該読み出した補正値を送信し、
前記複数の演算手段のうち、前記記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行し、前記補正値を受信まで待機した後にアプリケーション層の初期化処理を実行することを特徴とする電子制御装置。
【請求項10】
前記記憶手段が設けられていない演算処理手段は、前記記憶手段が設けられた演算処理手段に先んじて起動し、前記記憶手段が設けられた演算処理手段に対する起動指示を行うことを特徴とする請求項9に記載の電子制御装置。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、複数の演算処理手段を備え、前記複数の演算処理手段の各々が入出力信号の補正に使用する補正値を、前記複数の演算処理手段のいずれかが記憶手段から読み出して他の演算処理手段に送信する電子制御装置に関し、特に、簡易な構成で複数の演算処理手段を高速に起動する電子制御装置に関するものである。
【背景技術】
【0002】
近年、車両に電子制御機器(ECU)を搭載し、車両の運行時に必要な種々の処理を電子制御することが行われている。たとえばエンジンにおけるガソリンの噴出の制御にECUを適用し、速度センサや水温センサなどに接続することで、車両の速度やエンジンの冷却水の温度に応じてガソリンの噴出量を制御することができる。
【0003】
このECUでは、その内部に複数の演算処理手段(マイコン)を備えることで、高度な処理を安価なシステムで実現することができる。一方で、複数の演算処理手段を有するシステムでは、演算処理手段の間の協働を如何に効率化するかが重要である。
【0004】
例えば、特許文献1に示されたマルチプロセッサシステムでは、副プロセッサよりも先に主プロセッサを起動させ、副プロセッサが起動するまでの規定時間内に、必要に応じて副プロセッサ用メモリに副プロセッサの起動プログラムを書き込むことにより、副プロセッサの暴走を回避する技術が開示されている。
【0005】
また、特許文献2に示されたマルチプロセッサボードの立ち上げ方法では、複数の従処理装置からアクセス可能な共有の揮発性メモリに複数の従処理装置の初期プログラムを格納し、各従処理装置が同時または順次共有の揮発性メモリから初期プログラムをリードして初期処理をおこなうことで、初期プログラムを格納した読み出し専用の不揮発性メモリを不要としている。
【0006】
さらに、DMA(Direct Memory Access)などのシステム内の通信手段の高速化もシステム全体の効率化に有効である。たとえば、特許文献3は、転送制御条件、データ転送元アドレス、データ転送先アドレス、転送語数を含むデータ転送制御情報に従ってデータの境界を判定し、判定結果に基づいてデータの転送先又はデータのデータ転送元、転送語数を制御することにより、バッファの使用効率を向上する技術を開示している。
【0007】
また、特許文献4に示されたプリンタ装置では、プリントデータが転送中であるか否かによってホスト装置からの通信データの送信方法を変更することで共通バスを有効利用している。
【0008】
【特許文献1】特開2002−312334号公報
【特許文献2】特開平8−87481号公報
【特許文献3】特開平5−289979号公報
【特許文献4】特開2003−48345号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
ところで、アナログデータが入力信号として入力されるECUでは、入力信号の補正を行う必要がある。具体的には、各ECUの電源ICは厳密には均一ではないので、電源ICの供給する電圧を基準として入力信号の評価を行うと、電源ICの出力ばらつきに依存する評価バラつきが生じる。そこで、入力信号の値を正確に評価するためには、電源ICの供給電圧のバラつきを補正する必要が生じるのである。
【0010】
入力信号に対して行うべき補正量は電源ICに依存するので、ECUの組み立て時に補正値を決定し、EEPROM(Electrically Erasable and Programmable ROM)などの不揮発性の記憶媒体に格納しておく。そして、各演算処理手段(マイコンなど)の起動時にこの補正値を読み出して使用することで、入力信号の評価を正確に行うことができる。
【0011】
ECUに複数の演算処理手段が存在する場合、各演算処理手段に専用の不揮発性記録媒体を設けることはコスト上昇と筐体の大型化に繋がるので、全ての演算処理手段が使用する補正値を一つの記憶媒体に格納しておき、演算処理手段の一つが補正値を読み出して他の演算処理手段に送信することが望ましい。
【0012】
しかしながら、このように補正値を一つの記憶媒体に一元管理し、複数の演算処理手段に送信する構成では、各演算処理手段は補正値を受信するまでは入力信号を正しく処理できないこととなる。そのため、全ての演算処理手段が補正値を受信するまでECUを動作させなければ、起動時間が増大するという問題点が生じ、補正値の受信完了以前にECUを動作させたならば正確な入力信号を得られないことによる動作異常が発生するという問題点が生じていた。
【0013】
そこで、複数の演算処理手段を有し、補正の必要なアナログ信号を使用するECUにおいて、起動を高速化し、かつ正確・安全に動作させることが従来の重要な課題となっていた。
【0014】
この発明は、上述した従来技術による課題を解決するためになされたものであり、高速に起動し、正確・安全に動作する電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決し、目的を達成するため、請求項1の発明に係る電子制御装置は、複数の演算処理手段を備え、前記複数の演算処理手段の各々が入出力信号の補正に使用する補正値を、前記複数の演算処理手段のいずれかが記憶手段から読み出して他の演算処理手段に送信する電子制御装置であって、前記複数の演算処理手段の各々は、前記補正値の送受信を行う通信手段を備え、前記通信手段は、前記複数の演算処理手段の起動時に使用する起動用バッファと、前記複数の演算処理手段の起動後に使用する通常処理用バッファとを備えたことを特徴とする。
【0016】
この請求項1の発明によれば、電子制御装置は、複数の演算処理手段の各々に補正値の送受信を行う通信手段を設け、この通信手段が演算処理手段の起動時に使用する起動用バッファと演算処理手段の起動後に使用する通常処理用バッファとを切替えて使用することで、初期化時には必要な補正値のみを選択的に送信する。
【0017】
また、請求項2の発明に係る電子制御装置は、請求項1の発明において、前記記憶手段から補正値を読み出す演算処理手段は、他の演算処理手段が備える通信手段を起動することを特徴とする。
【0018】
この請求項2の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出し、他の演算処理手段が備える通信手段を起動して補正値を送信する。
【0019】
また、請求項3の発明に係る電子制御装置は、請求項1の発明において、前記記憶手段から補正値を読み出す演算処理手段が備える通信手段は、他の演算処理手段から起動されることを特徴とする。
【0020】
この請求項3の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出し、他の演算処理手段によって起動された通信手段を用いて補正値を送信する。
【0021】
また、請求項4の発明に係る電子制御装置は、請求項1,2または3の発明において、前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値を使用して前記入出力信号の補正を行うことを特徴とする。
【0022】
この請求項4の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、補正値を受信した演算処理手段は、受信した補正値を用いて入出力信号の補正処理を行う。
【0023】
また、請求項5の発明に係る電子制御装置は、請求項1〜4の発明において、前記複数の演算処理手段のうち少なくとも一つは、受信した補正値が所定の範囲を逸脱する場合に前記記憶手段から補正値を読み出す演算処理手段を再起動することを特徴とする。
【0024】
この請求項5の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出して他の演算処理手段に送信し、補正値を受信した演算処理手段は、受信した補正値が所定の範囲を逸脱する場合に補正値の送信元の演算処理手段を再起動する。
【0025】
また、請求項6の発明に係る電子制御装置は、請求項1〜5の発明において、前記複数の演算処理手段は、前記記憶手段から読み出した補正値、もしくは通信手段によって受信した補正値が所定の範囲を逸脱する場合に、予め定められた他の補正値を用いて前記入出力信号の補正を行うことを特徴とする。
【0026】
この請求項6の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出して他の演算処理手段に送信し、各演算処理手段は、記憶手段から読み出した補正値もしくは受信した補正値が所定の範囲を逸脱する場合に予め定められたフェールセーフ値を用いて入出力信号を補正する。
【0027】
また、請求項7の発明に係る電子制御装置は、請求項1〜6の発明において、前記複数の演算処理手段は、前記記憶手段から読み出した補正値、もしくは通信手段によって受信した補正値を保持する補正値保持手段をさらに備え、起動時に前記補正値保持手段に保持した補正値を用いて前記入出力信号の補正を行うことを特徴とする。
【0028】
この請求項7の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設け、起動時に補正値を補正値保持手段に記憶させ、入出力信号の補正を行う場合に補正値保持手段から随時補正値を読み出して使用する。
【0029】
また、請求項8の発明に係る電子制御装置は、請求項7の発明において、前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値が前記補正値保持手段に保持した補正値と異なる場合に、受信した補正値で前記補正値保持手段が保持する補正値を更新することを特徴とする。
【0030】
この請求項8の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設けて起動時に補正値を補正値保持手段に記憶させるとともに、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、各演算処理手段は記憶部から読み出した補正値、もしくは受信した補正値が補正値保持手段に保持した補正値と異なる場合に、受信した補正値で補正値保持手段が保持する補正値を更新する。
【0031】
また、請求項9の発明に係る電子制御装置は、起動時にプラットフォーム層およびアプリケーション層の初期化を行う複数の演算処理手段と、前記複数の演算処理手段のいずれかに設けられ、前記複数の演算手段のそれぞれが前記アプリケーション層の初期化に際して使用する入出力信号の補正値を記憶する記憶手段と、を備えた電子制御装置であって、前記複数の演算処理手段のうち、前記記憶手段が設けられた演算処理手段は、プラットフォーム層の初期化処理および前記記憶手段からの補正値の読み出し処理を行った後に、他の演算手段に対して該読み出した補正値を送信し、前記複数の演算手段のうち、前記記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行し、前記補正値を受信まで待機した後にアプリケーション層の初期化処理を実行することを特徴とする。
【0032】
この請求項9の発明によれば電子制御装置は、複数の演算処理手段のうち記憶手段が設けられた演算処理手段は、プラットフォーム層を初期化した後、記憶手段から読み出した補正値を他の演算手段に対して送信し、記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行した後、補正値を受信するまでアプリケーション層の初期化を行わない。
【0033】
また、請求項10の発明に係る電子制御装置は、請求項9の発明において、記憶手段が設けられていない演算処理手段は、前記記憶手段が設けられた演算処理手段に先んじて起動し、前記記憶手段が設けられた演算処理手段に対する起動指示を行うことを特徴とする。
【0034】
この請求項10の発明によれば電子制御装置は、記憶手段が設けられていない演算処理手段を先に起動し、記憶手段が設けられていない演算処理手段からの起動指示が行われた場合に記憶手段を設けた演算処理手段を起動する。
【発明の効果】
【0035】
請求項1の発明によれば、電子制御装置は、複数の演算処理手段の各々に補正値の送受信を行う通信手段を設け、この通信手段が演算処理手段の起動時に使用する起動用バッファと演算処理手段の起動後に使用する通常処理用バッファとを切替えて使用することで、初期化時には必要な補正値のみを選択的に送信するので、高速に起動する電子制御装置を得ることができるという効果を奏する。
【0036】
また、請求項2の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出し、他の演算処理手段が備える通信手段を起動して補正値を送信するので、高速に起動する電子制御装置を得ることができるという効果を奏する。
【0037】
また、請求項3の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出し、他の演算処理手段によって起動された通信手段を用いて補正値を送信するので、高速に起動する電子制御装置を得ることができるという効果を奏する。
【0038】
また、請求項4の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、補正値を受信した演算処理手段は、受信した補正値を用いて入出力信号の補正処理を行うので、高速に起動し、かつ正確に動作する電子制御装置を得ることができるという効果を奏する。
【0039】
また、請求項5の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出して他の演算処理手段に送信し、補正値を受信した演算処理手段は、受信した補正値が所定の範囲を逸脱する場合に補正値の送信元の演算処理手段を再起動するので、高速に起動し、かつ安全に動作する電子制御装置を得ることができるという効果を奏する。
【0040】
また、請求項6の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を読み出して他の演算処理手段に送信し、各演算処理手段は、記憶手段から読み出した補正値もしくは受信した補正値が所定の範囲を逸脱する場合に予め定められたフェールセーフ値を用いて入出力信号を補正するので、高速に起動し、かつ安全に動作する電子制御装置を得ることができるという効果を奏する。
【0041】
また、請求項7の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設け、起動時に補正値を補正値保持手段に記憶させ、入出力信号の補正を行う場合に補正値保持手段から随時補正値を読み出して使用するので、高速に起動し、かつ誤動作の少ない電子制御装置を得ることができるという効果を奏する。
【0042】
また、請求項8の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設けて起動時に補正値を補正値保持手段に記憶させるとともに、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、各演算処理手段は記憶部から読み出した補正値、もしくは受信した補正値が補正値保持手段に保持した補正値と異なる場合に、受信した補正値で補正値保持手段が保持する補正値を更新するので、高速に起動し、誤動作が少なく、かつ誤動作から自動的に復帰する電子制御装置を得ることができるという効果を奏する。
【0043】
また、請求項9の発明によれば、電子制御装置は、複数の演算処理手段のうち記憶手段が設けられた演算処理手段は、プラットフォーム層を初期化した後、記憶手段から読み出した補正値を他の演算手段に対して送信し、記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行した後、補正値を受信するまでアプリケーション層の初期化を行わないので、高速かつ安全に起動する電子制御装置を得ることができるという効果を奏する。
【0044】
また、請求項10の発明によれば、電子制御装置は、記憶手段が設けられていない演算処理手段を先に起動し、記憶手段が設けられていない演算処理手段からの起動指示が行われた場合に記憶手段を設けた演算処理手段を起動するので、高速かつ安全に起動する電子制御装置を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【0045】
以下に添付図面を参照して、この発明に係る電子制御装置の好適な実施例を詳細に説明する。
【実施例1】
【0046】
まず図1を参照し、本発明の実施例1である電子制御装置(ECU)1の概要構成について説明する。同図に示すように本実施例1にかかるECU1は、入力端子T11〜T14および入力端子T21〜T23を有する。また、ECU1は、その内部にメインマイコン10、サブマイコン20、EEPROM2を有する。
【0047】
このECU1は、例えば車両用のエンジン制御ECUであり、入力端子T11〜T14および入力端子T21〜T23には水温、吸気圧、吸気温、バッテリ電圧、油圧、油温、スロットル開度などを示す入力信号がアナログ電圧信号として入力される。
【0048】
メインマイコン10は、入力端子T11〜T14に入力されたアナログ信号を使用して演算処理をおこなう処理手段であり、サブマイコン20は、入力端子T21〜T23に入力されたアナログ信号を使用して演算処理をおこなう処理手段である。
【0049】
具体的には、メインマイコン10は、その内部に入力処理部13、補正処理部12、主制御部11およびDMAコントローラ14を有する。また、サブマイコン20は、その内部に入力処理部23、補正処理部22、主制御部21、DMAコントローラ24およびEEPROMドライバ25を有する。さらに、EEPROM2は、その内部にメインマイコン補正値2aおよびサブマイコン補正値2bを記憶している。
【0050】
ここで、メインマイコン補正値2aは、メインマイコン10が入力信号の補正に使用する値であり、ECU1の製造時に決定され、EEPROM2に記憶されたものである。同様に、サブマイコン補正値2bは、サブマイコン20が入力信号の補正に使用する値であり、ECU1の製造時に決定され、EEPROM2に記憶されたものである。
【0051】
上述したように、メインマイコン10およびサブマイコン20は、アナログ信号を入力されて演算処理をおこなうが、ECUに搭載される電源ICの供給電圧は厳密には均一でないので、ECUの製造時、すなわちECUに電源ICを搭載した時点で必要な補正値を算出してEEPROM2に記憶させ、電源ICの出力ばらつきを補正することで入力信号の値を正確に評価する。
【0052】
サブマイコン20内部の入力処理部23は、入力端子T21〜23から入力されたアナログ電圧信号を補正処理部22に出力する。また、EEPROMドライバ25は、EEPROM2からメインマイコン補正値2aおよびサブマイコン補正値2bを読み出して補正処理部22に出力する。
【0053】
補正処理部22は、サブマイコン補正値2bを使用し、入力処理部23から入力された入力信号の値を補正して主制御部21に出力する。また、補正処理部22は、メインマイコン補正値2aをDMAコントローラ24に出力する。
【0054】
DMAコントローラ24は、サブマイコン20とメインマイコン10との間の通信を行う通信手段であり、具体的にはDMA転送方式でデータ通信を行う。このDMAコントローラ24によるデータ通信は、メインマイコン10とサブマイコン20との間の各種データのやり取りに使用し、メインマイコン補正値2aもDMAコントローラ24によって送信される。
【0055】
主制御部21は、補正された入力信号をもとに演算処理を実行する演算処理手段である。具体的には主制御部21は、CPU(Central Processing Unit)とメモリによって構成され、エンジン制御を行うアプリケーションを実行する。
【0056】
メインマイコン10内部の入力処理部13は、入力端子T11〜14から入力されたアナログ電圧信号を補正処理部12に出力する。DMAコントローラ14は、DMAコントローラ24から受信したメインマイコン補正値2aを補正処理部12に出力する。
【0057】
補正処理部12は、メインマイコン補正値2aを使用し、入力処理部13から入力された入力信号の値を補正して主制御部11に出力する。主制御部11は、補正された入力信号をもとに演算処理を実行する演算処理手段である。具体的には主制御部11は、CPU(Central Processing Unit)とメモリによって構成され、エンジン制御を行うアプリケーションを実行する。
【0058】
つぎに、メインマイコン10とサブマイコン20との間で行われるDMA通信について説明する。DMAによるデータ送受信では、送信側と受信側に同一の構造を持つバッファを設け、送信側はバッファの構造に従ってデータを書き込んで送信する。そのため、受信側ではバッファの構造からどの位置にどのデータが書き込まれているかを知ることができる。
【0059】
ECU1では、サブマイコン20がメインマイコン補正値2aを読み出し、DMAによって送信する。このため、メインマイコン10専用のEEPROMを不要とし、構成を簡易にすることができる。しかし一方でメインマイコン10の起動時には、メインマイコン補正値2aを受信するまで初期化を完了することができない。さらに、初期化を行う際に送信する必要があるのはメインマイコン補正値2aのみである。
【0060】
この構成で、従来のように単一のバッファを有するDMAコントローラでデータ通信を行うとすると、DMA通信にはバッファの容量分の時間が必要となるので、メインマイコン10の初期化に要する時間が増大する。
【0061】
そこで、本発明にかかるECU1では、DMAコントローラ14,24に初期化用バッファ14a,24aと通常用バッファ14b,24bとを設け、初期化時と初期化処理後で使用するバッファを切り替える構成としている。DMAコントローラ14,24におけるバッファの構造例を図2に示す。
【0062】
図2−1は、初期化用バッファ14aの構造を説明する説明図であり、図2−2は通常用バッファ24aの構造を説明する説明図である。なお、初期化用バッファ24aおよび通常用バッファ24bの構造は、それぞれ初期化用バッファ14a、通常用バッファ14bと同様である。
【0063】
初期化用バッファ14aは、図2−1に示すようにメインマイコン補正値2aとチェックコードのみを有する。一方、通常用バッファ14bは、図2−2に示すように、メインマイコン補正値2a、チェックコードに加え、水温データ、油温データなどメインマイコン10とサブマイコン20とが起動後の通常処理で通信する各種データのための領域を有する。
【0064】
このように、初期化用バッファ14a,24aと通常用バッファ14b,24bとを切替えて使用し、初期化用バッファ14a,24aには起動に必要なメインマイコン補正値2aと、通信が正常に行われたことを確認するためのチェックコードのみを持たせることでメインマイコン10の初期化を高速化することができる。また、通常用バッファ14b,24bには起動後の処理に必要な各種データのための領域を持たせているので、起動後の通信処理において動作が制限されることはない。
【0065】
つぎに、ECU1の起動時の処理について説明する。図3は、ECU1の起動時における処理動作を説明するフローチャートである。同図に示したフローは、ECU1の電源投入時に開始され、メインマイコン10、サブマイコン20はそれぞれ独立に初期化処理を開始する。メインマイコン10は、まず、プラットフォーム層を初期化し(ステップS101)、その後メインマイコン補正値2aの受信待ちを開始する(ステップS102)。
【0066】
メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信したならば(ステップS103,Yes)、アプリケーション層を初期化して(ステップS104)、初期化処理を終了する。
【0067】
一方、サブマイコン20は、まず、プラットフォーム層を初期化し(ステップS201)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出す(ステップS202)。サブマイコン20は、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン10に送信する(ステップS203)。この時、DMAコントローラ24は、初期化用バッファ24aを使用する。その後、サブマイコン20は、アプリケーション層を初期化して(ステップS204)、初期化処理を終了する。
【0068】
このように、サブマイコン20は、その初期化処理の中でメインマイコン10にメインマイコン補正値2aを送信し、メインマイコン10はメインマイコン補正値2aの受信を待って初期化処理を行うが、メインマイコン補正値2aの送信に初期化用バッファ14a,24aを使用することでメインマイコン10の待ち時間を最小限に抑えることができる。
【0069】
ここで、メインマイコン10とサブマイコン20のDMAの起動は、どちらから行ってもよい。図4は、サブマイコン20からDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。同図に示したフローは、図3に示したフローと同様に、ECU1の電源投入時に開始される処理である。メインマイコン10は、まず、プラットフォーム層を初期化し(ステップS301)、その後、サブマイコン20からのDMA起動待ちを開始する(ステップS302)。
【0070】
メインマイコン10は、サブマイコン20がDMAによってメインマイコン補正値2aを送信した場合に、DMAを起動し、メインマイコン補正値2aを受信する(ステップS303)。その後、メインマイコン10は、チェックコードを用いてメインマイコン補正値2aを正常に受信したか否かを判定する(ステップS304)。
【0071】
メインマイコン補正値2aを正常に受信していなければ(ステップS304,No)、メインマイコン10は、再度DMA起動待ちを開始する(ステップS302)。一方、メインマイコン補正値2aを正常に受信したならば(ステップS304,Yes)、メインマイコン10は、サブマイコン20に受信完了通知を送信し(ステップS305)、アプリケーション層を初期化して(ステップS306)、初期化処理を終了する。
【0072】
一方、サブマイコン20は、まず、プラットフォーム層を初期化し(ステップS401)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出す(ステップS402)。その後、サブマイコン20はDMAを起動し(ステップS403)、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン10に送信する(ステップS404)。
【0073】
そして、サブマイコン20は、メインマイコン10から受信完了通知を受信したか否かを判定し(ステップS405)、メインマイコン10から受信完了通知を受信していなければ(ステップS405,No)、再度メインマイコン補正値2aをメインマイコン10に送信する(ステップS404)。
【0074】
一方、メインマイコン10から受信完了通知を受信したならば(ステップS405,Yes)、サブマイコン20は、アプリケーション層を初期化して(ステップS406)、初期化処理を終了する。
【0075】
続いて、メインマイコン10からDMAを起動する場合の起動処理を説明する。図5は、メインマイコン10からDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。なお、同図に示したフローは、図3に示したフローと同様に、ECU1の電源投入時に開始される処理である。メインマイコン10は、まず、プラットフォーム層を初期化し(ステップS501)、その後、サブマイコン20からの送信許可待ちを開始する(ステップS502)。
【0076】
メインマイコン10は、サブマイコン20から送信許可を受信した場合(ステップS503)に、DMAを初期化するとともに、サブマイコン20にDMA初期化コードを送信する(ステップS504)。そして、サブマイコン20からメインマイコン補正値2aを受信し(ステップS505)、正常に受信したか否かを判定する(ステップS506)。
【0077】
メインマイコン補正値2aを正常に受信していなければ(ステップS506,No)、メインマイコン10は、再度送信許可待ちを開始する(ステップS502)。一方、メインマイコン補正値2aを正常に受信したならば(ステップS506,Yes)、メインマイコン10は、サブマイコン20に受信完了通知を送信し(ステップS507)、アプリケーション層を初期化して(ステップS508)、初期化処理を終了する。
【0078】
一方、サブマイコン20は、まず、プラットフォーム層を初期化し(ステップS601)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出して(ステップS602)、メインマイコン10に送信許可を送信する(ステップS603)。そして、メインマイコン10が送信したDMA初期化コードを受信してDMAを起動し(ステップS604)、メインマイコン補正値2aをメインマイコン10に送信する(ステップS605)。
【0079】
その後、サブマイコン20は、メインマイコン10から受信完了通知を受信したか否かを判定し(ステップS606)、メインマイコン10から受信完了通知を受信していなければ(ステップS606,No)、再度メインマイコン補正値2aをメインマイコン10に送信する(ステップS605)。
【0080】
一方、メインマイコン10から受信完了通知を受信したならば(ステップS606,Yes)、サブマイコン20は、アプリケーション層を初期化して(ステップS607)、初期化処理を終了する。
【0081】
つぎに、ECU1の通常処理について説明する。ECU1に電源を投入し、メインマイコン10およびサブマイコン20が起動した後も、サブマイコン20は定期的にEEPROM2からメインマイコン補正値2aおよびサブマイコン補正値2bを読み出し、メインマイコン補正値2aをメインマイコン10に送信する。メインマイコン10側では、常に受信した最新のメインマイコン補正値2aを使用することで、補正値のデータ化けなどによる動作異常を防止することができる。
【0082】
このECU1の通常処理動作を、図6に示す。図6に示したフローは、ECU1の電源投入時から通常処理までの動作を説明するものであり、ECU1に電源が投入された場合に開始される。メインマイコン10は、初期化処理を実行した(ステップS701)後、メインループを開始する(ステップS702)。なお、ステップS701に示した初期化処理は、図3〜5で説明した処理を用いればよい。
【0083】
メインループ開始(ステップS702)後、メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信し(ステップS703)、補正処理部12が使用する補正値を、受信した値に更新して(ステップS704)、メインループを終了する(ステップS705)。このステップS702〜S705に示したメインループは、ECU1の電源が落とされるか、メインマイコン10が再起動されるまで繰り返し実行される。
【0084】
一方、サブマイコン20は、初期化処理を実行した(ステップS801)後、メインループを開始する(ステップS802)。なお、ステップS801に示した初期化処理は、図3〜5で説明した処理を用いればよい。
【0085】
メインループ開始(ステップS802)後、サブマイコン20は、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出し(ステップS803)、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン10に送信する(ステップS804)。この時、DMAコントローラ24は、通常用バッファ24bを使用する。
【0086】
その後、サブマイコン20は、補正処理部22が使用する補正値を、EEPROM2から読み出した値に更新して(ステップS805)、メインループを終了する(ステップS806)。このステップS802〜S806に示したメインループは、ECU1の電源が落とされるか、サブマイコン20が再起動されるまで繰り返し実行される。
【0087】
ところで、メインマイコン10の異常やサブマイコン20の異常、EEPROM2の故障、さらにはDMA通信線のノイズなどにより、補正値が正常ではない場合には、異常な補正値を使用することによる誤動作を防止するため、フェールセーフを行うことが望ましい。
【0088】
補正値が正常の範囲内であるか否かは、例えば、ECU1に搭載した電源ICの保証範囲内にその値が収まっているか否かを判定することで検出することができる。たとえば、電源ICの精度が±5%である場合、補正値が0.95以上1.05以下であれば正常であると判定し、この範囲を逸脱する場合には異常と判定する。なお、ここで補正処理は、補正値を乗ずることで行うものとする。
【0089】
さらに、補正値の異常がサブマイコン20の動作異常に起因するものである場合、メインマイコン10からサブマイコン20を再起動することで復帰することが可能である。図7は、サブマイコン20のリセットによるフェールセーフ処理を説明するフローチャートである。このフローは、ECU1の電源投入時から通常処理までの動作を説明するものであり、ECU1に電源が投入された場合に開始される。メインマイコン10は、初期化処理を実行した(ステップS901)後、メインループを開始する(ステップS902)。ここで、ステップS901に示した初期化処理は、図3〜5で説明した処理と同様の処理を用いればよい。
【0090】
メインループ開始(ステップS902)後、メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信し(ステップS903)、受信した補正値が所定の範囲内であるか否かを判定する(ステップS904)。その結果、受信した補正値が所定の範囲を逸脱していれば(ステップS904,No)、メインマイコン10は、サブマイコン20をリセット、すなわち再起動し(ステップS905)、再度ステップS904に移行する。
【0091】
一方、受信した補正値が所定の範囲内であれば(ステップS904,Yes)、メインマイコン10は、補正処理部12が使用する補正値を受信した値に更新して(ステップS906)、メインループを終了する(ステップS907)。このステップS902〜S907に示したメインループは、ECU1の電源が落とされるか、メインマイコン10が再起動されるまで繰り返し実行される。
【0092】
また、他のフェールセーフ処理として、補正値の異常時には予め定めたフェールセーフ値を補正値として用いてもよい。このフェールセーフ値は、マイコンを安全に制御可能な値とする。図8は、補正値の異常時にフェールセーフ値を用いる処理を説明するフローチャートである。このフローは、ECU1の電源投入時から通常処理までの動作を説明するものであり、ECU1に電源が投入された場合に開始される。メインマイコン10は、初期化処理を実行した(ステップS1001)後、メインループを開始する(ステップS1002)。ここで、ステップS1001に示した初期化処理は、図3〜5で説明した処理と同様の処理を用いればよい。
【0093】
メインループ開始(ステップS1002)後、メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信し(ステップS1003)、受信した補正値が所定の範囲内であるか否かを判定する(ステップS1004)。その結果、受信した補正値が所定の範囲を逸脱していれば(ステップS1004,No)、メインマイコン10は、補正処理部12が使用する補正値をフェールセーフ値に更新して(ステップS1006)、メインループを終了する(ステップS1007)。
【0094】
一方、受信した補正値が所定の範囲内であれば(ステップS1004,Yes)、メインマイコン10は、補正処理部12が使用する補正値を受信した値に更新して(ステップS1005)、メインループを終了する(ステップS1007)。このステップS1002〜S1007に示したメインループは、ECU1の電源が落とされるか、メインマイコン10が再起動されるまで繰り返し実行される。
【0095】
このように、補正値に異常がある場合にはフェールセーフ処理を実行することで、ECU1の動作異常を引き起こすことなく、安全に動作させることができる。なお、図7および図8のフローチャートでは、通常動作時における補正値の異常検出について説明したが、初期化処理中においても同様の処理によって補正値の異常を検出し、フェールセーフ処理を実行可能である。
【0096】
また、図8のフローチャートでは、メインマイコン10における処理を例に説明したが、サブマイコン20においても同様に、EEPROM2から読み出した補正値が所定の範囲内であるか否かを判定し、所定の範囲を逸脱する場合にはフェールセーフ値を用いて補正処理をおこなうことができる。
【0097】
上述してきたように、本実施例1では、DMAコントローラに初期化用のバッファと通常用のバッファとをそれぞれ設け、初期化処理時には補正値とチェックコードのみを有する初期化用バッファを使用してメインマイコン10への補正値の送信を行うので、メインマイコン10の起動、ひいてはECU1の起動を高速化することができる。
【0098】
また、補正値に異常が発生した場合には、自動的にフェールセーフを行うことで、ECUの動作異常を引き起こすことなく、安全に動作させることができる。
【0099】
さらに、メインマイコンにおけるアプリケーション層の初期化を、サブマイコンからの補正値の受信完了を待ってから行うので、メインマイコンを誤動作させることなく起動することができる。
【0100】
すなわち、プラットフォーム層の初期化が行われるまではDMA通信は不能であるので、プラットフォーム層の初期化が行われていないマイコンに対してDMA通信を行うと、送信したデータが正常に受信したか否かの判定が困難となり、好ましくない。そのため、従来の技術では、補正値を受信する側のマイコン(本実施例ではメインマイコン)の方が送信する側のマイコン(本実施例ではサブマイコン)よりも早くプラットフォーム層の初期化が完了するように、送信側マイコンに時間のかかるEEPROMの読出し処理を行わせたり、受信側マイコンを先に起動させて送信側マイコンの起動指示を行わせていた。
【0101】
しかしながら、この従来の技術によって受信側のマイコンの方が早くプラットフォーム層の初期化が完了するように設定すると、その後に連続して行われるアプリケーション層の初期化が補正値を受信していない状態で行われてしまう危険がある。
【0102】
そこで、本実施例のように、受信側マイコンのプラットフォーム層の初期化が完了した後、補正値を受信するまではアプリケーション層の初期化を行わないようにすることで、DMA通信と、アプリケーション層の初期化とをともに正常に行うことができる。
【0103】
ここで、送信側マイコンのプラットフォーム層の初期化、すなわち送信側マイコンの起動を、受信側マイコンから指示することによって、複数のマイコンの起動時間を最適化し、高速かつ安全に起動することが可能となる。
【実施例2】
【0104】
つぎに、本発明の実施例2について説明する。図9は、本発明の実施例2である電子制御装置(ECU)の概要構成を示す概要構成図である。本実施例2にかかるECU3は、メインマイコン30およびサブマイコン40にそれぞれSRAM(Static Random Access Memory)32,42を設け、補正処理部31,41はSRAM32,42に補正値を記憶させ、随時読み出して使用する。その他の構成および動作は、実施例1に示したECU1と同様であるので、同一の構成要素には同一の符号を付して説明を省略する。
【0105】
サブマイコン40内部の補正処理部41は、サブマイコン補正値2bをSRAM42に記憶させる。その後、入力処理部23から入力された入力信号の値を補正する場合には、サブマイコン補正値2bをSRAM42から読み出して使用する。また、補正処理部42は、メインマイコン補正値2aをDMAコントローラ24に出力する。
【0106】
同様に、メインマイコン30内部の補正処理部31は、DMAコントローラ14を介して受信したメインマイコン補正値2aをSRAM32に記憶させる。その後、入力処理部13から入力された入力信号の値を補正する場合には、メインマイコン補正値2aをSRAM32から読み出して使用する。
【0107】
つぎに、ECU3の起動時の処理について説明する。図10は、ECU3の起動時における処理動作を説明するフローチャートである。同図に示したフローは、ECU3の電源投入時に開始され、メインマイコン30、サブマイコン40はそれぞれ独立に初期化処理を開始する。メインマイコン30は、まず、プラットフォーム層を初期化し(ステップS1101)、その後メインマイコン補正値2aの受信待ちを開始する(ステップS1102)。
【0108】
メインマイコン30は、サブマイコン40からメインマイコン補正値2aを受信したならば(ステップS1103,Yes)、受信したメインマイコン補正値2aをSRAM32に保存した(ステップS1104)後、アプリケーション層を初期化して(ステップS1105)、初期化処理を終了する。
【0109】
一方、サブマイコン40は、まず、プラットフォーム層を初期化し(ステップS1201)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出す(ステップS1202)。さらに、サブマイコン40は、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン30に送信する(ステップS1203)。この時、DMAコントローラ24は、初期化用バッファ24aを使用する。その後、サブマイコン40は、サブマイコン補正値2bをSRAM42に保存した(ステップS1204)後、アプリケーション層を初期化して(ステップS1205)、初期化処理を終了する。
【0110】
つぎに、ECU3の通常処理について説明する。ECU3に電源を投入し、メインマイコン30およびサブマイコン40が起動した後、メインマイコン30はSRAM32からメインマイコン補正値2aを読み出して使用する。また、サブマイコン40は、SRAM42からサブマイコン補正値2bを読み出して使用する。
【0111】
このECU3の通常処理動作を、図11に示す。図11に示したフローは、ECU3の電源投入時から通常処理までの動作を説明するものであり、ECU3に電源が投入された場合に開始される。メインマイコン30は、初期化処理を実行した(ステップS1301)後、メインループを開始する(ステップS1302)。なお、ステップS1301に示した初期化処理は、図10で説明した処理を用いればよい。
【0112】
メインループ開始(ステップS1302)後、メインマイコン30は、SRAM32からメインマイコン補正値2aを読み出して入力信号の補正処理を行い(ステップS1303)、メインループを終了する(ステップS1304)。このステップS1302〜S1304に示したメインループは、ECU3の電源が落とされるか、メインマイコン30が再起動されるまで繰り返し実行される。
【0113】
一方、サブマイコン40は、初期化処理を実行した(ステップS1401)後、メインループを開始する(ステップS1402)。なお、ステップS1401に示した初期化処理は、図10で説明した処理を用いればよい。
【0114】
メインループ開始(ステップS1402)後、サブマイコン40は、SRAM32からサブマイコン補正値2bを読み出して入力信号の補正処理を行い(ステップS1403)、メインループを終了する(ステップS1404)。このステップS1402〜S1404に示したメインループは、ECU3の電源が落とされるか、サブマイコン40が再起動されるまで繰り返し実行される。
【0115】
ところで、図11に示したフローでは、起動時にSRAMに記憶させた補正値を随時読み出して使用しているが、通常動作中にサブマイコン40が定期的にEEPROM2から補正値を読み出してSRAMに記憶した補正値と比較し、SRAMに記憶した補正値に異常がないかを判定するように動作させても良い。
【0116】
図12は、SRAMに補正値を記憶するとともに、EEPROMから定期的に補正値を読み出してSRAMの記憶内容を更新する場合におけるECU3の通常処理について説明するフローチャートである。このフローチャートは、ECU3の電源投入時から通常処理までの動作を説明するものであり、ECU3に電源が投入された場合に開始される。メインマイコン30は、初期化処理を実行した(ステップS1501)後、メインループを開始する(ステップS1502)。なお、ステップS1501に示した初期化処理は、図10で説明した処理を用いればよい。
【0117】
メインループ開始(ステップS1502)後、メインマイコン30は、SRAM32からメインマイコン補正値2aを読み出す(ステップS1503)。その後、メインマイコン30は、サブマイコン40からメインマイコン補正値2aを受信し(ステップS1504)、SRAM32から読み出した補正値とサブマイコン40から受信した補正値とが一致するか否かを判定する(ステップS1505)。
【0118】
SRAM32から読み出した補正値とサブマイコン40から受信した補正値とが一致しない場合(ステップS1505,No)、メインマイコン30は、サブマイコン40から受信した補正値をSRAM32に書き込んで更新する(ステップS1506)。
【0119】
SRAM32の更新(ステップS1506)、もしくはSRAM32から読み出した補正値とサブマイコン40から受信した補正値とが一致した場合(ステップS1505,Yes)、メインマイコン30は、メインループを終了する(ステップS1507)。このステップS1502〜S1507に示したメインループは、ECU3の電源が落とされるか、メインマイコン30が再起動されるまで繰り返し実行される。
【0120】
一方、サブマイコン40は、初期化処理を実行した(ステップS1601)後、メインループを開始する(ステップS1602)。なお、ステップS1601に示した初期化処理は、図10で説明した処理を用いればよい。
【0121】
メインループ開始(ステップS1602)後、サブマイコン40は、SRAM42からサブマイコン補正値2bを読み出す(ステップS1603)。その後、サブマイコン40は、EEPROM2からメインマイコン補正値2aおよびサブマイコン補正値2bを読み出し(ステップS1604)、メインマイコン補正値2aをメインマイコン30に送信する(ステップS1605)。さらに、サブマイコン40は、SRAM42から読み出したサブマイコン補正値2bとEEPROM2から読み出したサブマイコン補正値2bとが一致するか否かを判定する(ステップS1606)。
【0122】
SRAM42から読み出したサブマイコン補正値2bとEEPROM2から読み出したサブマイコン補正値2bとが一致しない場合(ステップS1606,No)、サブマイコン40は、EEPROM2から読み出した補正値をSRAM42に書き込んで更新する(ステップS1607)。
【0123】
SRAM42の更新(ステップS1607)、もしくはSRAM42から読み出した補正値とEEPROM2から読み出した補正値とが一致した場合(ステップS1606,Yes)、サブマイコン40は、メインループを終了する(ステップS1608)。このステップS1602〜S1608に示したメインループは、ECU3の電源が落とされるか、サブマイコン40が再起動されるまで繰り返し実行される。
【0124】
上述してきたように、本実施例2では、メインマイコン補正値2aとサブマイコン補正値2bをそれぞれSRAM32,42に記憶させ、随時読み出して使用することで、補正値における異常発生を抑止し、メインマイコン30およびサブマイコン40を正確に動作させることができる。
【0125】
さらに、EEPROM2から定期的に補正値を読み出してSRAMに記憶した値と比較することで、SRAMに記憶した補正値に異常が発生した場合にも自動的に修正し、正常な補正値を用いて補正処理を行うことができる。
【0126】
なお、本実施例2においても実施例1と同様のフェールセーフ処理をおこなうことができ、ECU3の動作における安全性をさらに高めることができる。
【実施例3】
【0127】
上記の実施例1,2では、ECUが2つのマイコンを備えた構成について説明したが、本発明の実施はこれに限定されるものではなく、ECU内に所望の数のマイコンを設けることができるものである。
【0128】
また、上記の実施例1,2では、サブマイコンにEEPROMを接続し、EEPROMからの補正値の読み出しとメインマイコンへの送信をサブマイコンに担わせていたが、たとえばメインマイコンにEEPROMを接続して補正値を読み出させ、メインマイコンがサブマイコンに補正値を送信する構成としてもよい。
【0129】
図13は、本発明の実施例3である電子制御装置(ECU)の概要構成を示す概要構成図である。実施例3にかかるECU4は、その内部にメインマイコン50、サブマイコン60,70,80およびEEPROM5を備えている。
【0130】
メインマイコン50は、入力端子T51〜T54に入力されたアナログ信号を使用して演算処理をおこなう処理手段であり、サブマイコン60は、入力端子T61〜T63に入力されたアナログ信号を使用して演算処理をおこなう処理手段である。同様に、サブマイコン70,80は、それぞれ入力端子T71〜T73、入力端子T81〜T83に入力されたアナログ信号を使用して演算処理をおこなう処理手段である。
【0131】
EEPROM5は、メインマイコン50が入力信号の補正に使用するメインマイコン補正値5a、サブマイコン60が入力信号の補正に使用するサブマイコン補正値5b、サブマイコン70が入力信号の補正に使用するサブマイコン補正値5c、サブマイコン80が入力信号の補正に使用するサブマイコン補正値5dを記憶している。
【0132】
また、メインマイコン51はその内部にDMAコントローラ51を、サブマイコン60,70,80はその内部にそれぞれDMAコントローラ61,71,81を備えている。メインマイコン50およびサブマイコン60,70,80のその他の内部構成や動作については実施例1,2と同様であるので、ここでは図示および説明を省略する。
【0133】
メインマイコン50は、EEPROM5からメインマイコン補正値5a、サブマイコン補正値5b〜5dを読み出す。その後、メインマイコン補正値5aを用いて入力信号の補正を行うと共に、DMAコントローラ51を介してサブマイコン60〜80にそれぞれサブマイコン補正値5b〜5dを送信する。
【0134】
サブマイコン60は、DMAコントローラ61を介して受信したサブマイコン補正値5bを用いて入力信号の補正を行う。同様に、サブマイコン70,80は、それぞれDMAコントローラ71,81を介して受信したサブマイコン補正値5c,5dを用いて入力信号の補正を行う。
【0135】
このようにECUの内部に3以上のマイコンを搭載した場合や、メインマイコンが補正値の読み出しと他のマイコンへの送信を行ったとしても、実施例1,2における場合と同様に、起動を高速化し、正確かつ安全に動作させることができる。
【0136】
なお、以上実施例1〜3では、入力信号のアナログ電圧の補正を例に説明を行ったが、出力信号における補正においても同様の効果を得ることが可能であるのは言うまでもない。
【産業上の利用可能性】
【0137】
以上のように、本発明にかかる電子制御装置は、複数のマイコンを有するECUに有用であり、特に、簡易な構成で起動を高速化し、正確かつ安全な動作が必要なECUに適している。
【図面の簡単な説明】
【0138】
【図1】本発明の実施例1であるECUの概要構成を示す概要構成図である。
【図2−1】図1に示した初期化用バッファの構造を説明する説明図である。
【図2−2】図1に示した通常用バッファの構造を説明する説明図である。
【図3】図1に示したECUの起動時における処理動作を説明するフローチャートである。
【図4】サブマイコンからDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。
【図5】メインマイコン10からDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。
【図6】図1に示したECUの起動後における処理動作を説明するフローチャートである。
【図7】サブマイコンのリセットによるフェールセーフ処理を説明するフローチャートである。
【図8】補正値の異常時にフェールセーフ値を用いる処理を説明するフローチャートである。
【図9】本発明の実施例2であるECUの概要構成を示す概要構成図である。
【図10】図9に示したECUの起動時における処理動作を説明するフローチャートである。
【図11】図9に示したECUの起動後における処理動作を説明するフローチャートである。
【図12】SRAMに補正値を記憶するとともに、EEPROMから定期的に補正値を読み出してSRAMの記憶内容を更新する場合におけるECUの通常処理について説明するフローチャートである。
【図13】本発明の実施例3であるECUの概要構成を示す概要構成図である。
【符号の説明】
【0139】
1,3,4 ECU
2,5 EEPROM
2a,5a メインマイコン補正値
2b,5b〜5d サブマイコン補正値
10,30,50 メインマイコン
11,21 主制御部
12,22 補正処理部
13,23 入力処理部
14,24,51,61,71,81 DMAコントローラ
14a,24a 初期化用バッファ
14b,24b 通常用バッファ
20,40,60,70,80 サブマイコン
32,42 SRAM
25 EEPROMドライバ
T11〜T14,T21〜T23,T51〜T54,T61〜T63,T711〜T73,T81〜T83 入力端子
【出願人】 【識別番号】000237592
【氏名又は名称】富士通テン株式会社
【出願日】 平成19年6月25日(2007.6.25)
【代理人】 【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明


【公開番号】 特開2008−9983(P2008−9983A)
【公開日】 平成20年1月17日(2008.1.17)
【出願番号】 特願2007−166590(P2007−166590)