JP4014212B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP4014212B2
JP4014212B2 JP2003389599A JP2003389599A JP4014212B2 JP 4014212 B2 JP4014212 B2 JP 4014212B2 JP 2003389599 A JP2003389599 A JP 2003389599A JP 2003389599 A JP2003389599 A JP 2003389599A JP 4014212 B2 JP4014212 B2 JP 4014212B2
Authority
JP
Japan
Prior art keywords
correction value
arithmetic processing
microcomputer
processing means
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003389599A
Other languages
English (en)
Other versions
JP2005149401A (ja
Inventor
剛 鷹取
真史 山下
宏昭 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2003389599A priority Critical patent/JP4014212B2/ja
Priority to US10/983,713 priority patent/US7386714B2/en
Priority to DE102004055950A priority patent/DE102004055950A1/de
Priority to CNB2004100949728A priority patent/CN1321388C/zh
Publication of JP2005149401A publication Critical patent/JP2005149401A/ja
Application granted granted Critical
Publication of JP4014212B2 publication Critical patent/JP4014212B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Power Sources (AREA)

Description

本発明は、複数の演算処理手段を備え、前記複数の演算処理手段の各々が入出力信号の補正に使用する補正値を、前記複数の演算処理手段のいずれかが記憶手段から読み出して他の演算処理手段に送信する電子制御装置に関し、特に、簡易な構成で複数の演算処理手段を高速に起動する電子制御装置に関するものである。
近年、車両に電子制御機器(ECU)を搭載し、車両の運行時に必要な種々の処理を電子制御することが行われている。たとえばエンジンにおけるガソリンの噴出の制御にECUを適用し、速度センサや水温センサなどに接続することで、車両の速度やエンジンの冷却水の温度に応じてガソリンの噴出量を制御することができる。
このECUでは、その内部に複数の演算処理手段(マイコン)を備えることで、高度な処理を安価なシステムで実現することができる。一方で、複数の演算処理手段を有するシステムでは、演算処理手段の間の協働を如何に効率化するかが重要である。
例えば、特許文献1に示されたマルチプロセッサシステムでは、副プロセッサよりも先に主プロセッサを起動させ、副プロセッサが起動するまでの規定時間内に、必要に応じて副プロセッサ用メモリに副プロセッサの起動プログラムを書き込むことにより、副プロセッサの暴走を回避する技術が開示されている。
また、特許文献2に示されたマルチプロセッサボードの立ち上げ方法では、複数の従処理装置からアクセス可能な共有の揮発性メモリに複数の従処理装置の初期プログラムを格納し、各従処理装置が同時または順次共有の揮発性メモリから初期プログラムをリードして初期処理をおこなうことで、初期プログラムを格納した読み出し専用の不揮発性メモリを不要としている。
さらに、DMA(Direct Memory Access)などのシステム内の通信手段の高速化もシステム全体の効率化に有効である。たとえば、特許文献3は、転送制御条件、データ転送元アドレス、データ転送先アドレス、転送語数を含むデータ転送制御情報に従ってデータの境界を判定し、判定結果に基づいてデータの転送先又はデータのデータ転送元、転送語数を制御することにより、バッファの使用効率を向上する技術を開示している。
また、特許文献4に示されたプリンタ装置では、プリントデータが転送中であるか否かによってホスト装置からの通信データの送信方法を変更することで共通バスを有効利用している。
特開2002−312334号公報 特開平8−87481号公報 特開平5−289979号公報 特開2003−48345号公報
ところで、アナログデータが入力信号として入力されるECUでは、入力信号の補正を行う必要がある。具体的には、各ECUの電源ICは厳密には均一ではないので、電源ICの供給する電圧を基準として入力信号の評価を行うと、電源ICの出力ばらつきに依存する評価バラつきが生じる。そこで、入力信号の値を正確に評価するためには、電源ICの供給電圧のバラつきを補正する必要が生じるのである。
入力信号に対して行うべき補正量は電源ICに依存するので、ECUの組み立て時に補正値を決定し、EEPROM(Electrically Erasable and Programmable ROM)などの不揮発性の記憶媒体に格納しておく。そして、各演算処理手段(マイコンなど)の起動時にこの補正値を読み出して使用することで、入力信号の評価を正確に行うことができる。
ECUに複数の演算処理手段が存在する場合、各演算処理手段に専用の不揮発性記録媒体を設けることはコスト上昇と筐体の大型化に繋がるので、全ての演算処理手段が使用する補正値を一つの記憶媒体に格納しておき、演算処理手段の一つが補正値を読み出して他の演算処理手段に送信することが望ましい。
しかしながら、このように補正値を一つの記憶媒体に一元管理し、複数の演算処理手段に送信する構成では、各演算処理手段は補正値を受信するまでは入力信号を正しく処理できないこととなる。そのため、全ての演算処理手段が補正値を受信するまでECUを動作させなければ、起動時間が増大するという問題点が生じ、補正値の受信完了以前にECUを動作させたならば正確な入力信号を得られないことによる動作異常が発生するという問題点が生じていた。
そこで、複数の演算処理手段を有し、補正の必要なアナログ信号を使用するECUにおいて、起動を高速化し、かつ正確・安全に動作させることが従来の重要な課題となっていた。
この発明は、上述した従来技術による課題を解決するためになされたものであり、高速に起動し、正確・安全に動作する電子制御装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1の発明に係る電子制御装置は、外部との通信を可能にするためのプラットフォーム層およびアプリケーションの実行を可能にするアプリケーション層の初期化を、起動時に行う複数の演算処理手段と、前記複数の演算処理手段のいずれかに設けられ、前記複数の演算処理手段のそれぞれが前記アプリケーション層の初期化に際して使用する入出力信号の補正値を記憶する記憶手段と、を備えた電子制御装置であって、前記複数の演算処理手段の各々は、前記複数の演算処理手段間でデータの送受信を行う通信手段を備えるとともに、前記通信手段は、前記複数の演算処理手段の起動時に前記補正値を送信するために使用する起動用バッファと、前記複数の演算処理手段の起動後に前記補正値と当該補正値以外のデータとを送信するために使用する通常処理用バッファとを備え、前記起動用バッファは、前記通常制御用バッファの容量よりも少ない容量であり、前記複数の演算処理手段の起動時には、前記複数の演算処理手段のうち、前記記憶手段が設けられた演算処理手段は、プラットフォーム層の初期化処理を行ってから前記記憶手段からの補正値の読み出し処理を行った後に、他の演算処理手段に対して該読み出した補正値を送信し、当該補正値の送信後に、前記記憶手段から読み出した補正値を用いてアプリケーション層の初期化処理の実行を行ない、前記複数の演算処理手段のうち、前記記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行した後に、前記記憶手段を備えた演算処理手段から前記補正値を受信するまで待機し、当該補正値の受信後に、受信した補正値を用いてアプリケーション層の初期化処理を実行することを特徴とする。
この請求項1の発明によれば、電子制御装置は、複数の演算処理手段のうち記憶手段が設けられた演算処理手段は、プラットフォーム層を初期化した後、記憶手段から読み出した補正値を他の演算処理手段に対して送信し、記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行した後、補正値を受信するまで待機した上でアプリケーション層の初期化を行なう。
そして、この請求項1の発明によれば、電子制御装置は、複数の演算処理手段の各々に補正値の送受信を行う通信手段を設け、この通信手段が演算処理手段の起動後に使用する通常処理用バッファと、演算処理手段の起動時に使用する、容量の小さい起動用バッファとを切替えて使用することで、初期化時には必要な補正値のみを選択的に送信する。
また、請求項2の発明に係る電子制御装置は、請求項1に記載の発明において、前記通信手段が行なう通信はDMA通信であり、前記初期化処理を行なう制御部とは別に設けられているDMAコントローラによって通信の制御を行なうことを特徴とする。
この請求項2の発明によれば、電子制御装置は、複数の演算処理手段は各々が有するDMAコントローラによってDMA通信し、DMAコントローラが演算処理手段の起動後に使用する通常処理用バッファと、演算処理手段の起動時に使用する、容量の小さい起動用バッファとを切替えて使用することで、初期化時には必要な補正値のみを選択的に送信する。
また、請求項3の発明に係る電子制御装置は、請求項1または2に記載の発明において、前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値を使用して前記入出力信号の補正を行うことを特徴とする。
この請求項3の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、補正値を受信した演算処理手段は、受信した補正値を用いて入出力信号の補正処理を行う。
また、請求項4の発明に係る電子制御装置は、請求項1〜3の発明のいずれか一つに記載の発明において、前記複数の演算処理手段は、前記記憶手段から読み出した補正値、もしくは通信手段によって受信した補正値を保持する補正値保持手段をさらに備え、起動時に前記補正値保持手段に保持した補正値を用いて前記入出力信号の補正を行うことを特徴とする。
この請求項4の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設け、起動時に補正値を補正値保持手段に記憶させ、入出力信号の補正を行う場合に補正値保持手段から随時補正値を読み出して使用する。
また、請求項5の発明に係る電子制御装置は、請求項4に記載の発明において、前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値が前記補正値保持手段に保持した補正値と異なる場合に、受信した補正値で前記補正値保持手段が保持する補正値を更新することを特徴とする。
この請求項5の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設けて起動時に補正値を補正値保持手段に記憶させるとともに、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、各演算処理手段は記憶部から読み出した補正値、もしくは受信した補正値が補正値保持手段に保持した補正値と異なる場合に、受信した補正値で補正値保持手段が保持する補正値を更新する。
また、請求項6の発明に係る電子制御装置は、請求項1〜5のいずれか一つに記載の発明において、前記演算処理手段が実行するアプリケーションは車両に搭載されたエンジンの制御であることを特徴とする。
この請求項6の発明によれば、電子制御装置はエンジン制御アプリケーションを実行する装置であって、複数の演算処理手段のうち記憶手段が設けられた演算処理手段がプラットフォーム層を初期化した後、記憶手段から読み出した補正値を他の演算処理手段に対して送信し、記憶手段が設けられていない演算処理手段はプラットフォーム層の初期化を実行した後、補正値を受信するまで待機した上でアプリケーション層の初期化を行なう。
また、請求項7の発明に係る電子制御装置は、請求項1〜6のいずれか一つに記載の発明において、記憶手段が設けられていない演算処理手段は、前記記憶手段が設けられた演算処理手段に先んじて起動し、前記記憶手段が設けられた演算処理手段に対する起動指示を行うことを特徴とする。
この請求項7の発明によれば、電子制御装置は、記憶手段が設けられていない演算処理手段を先に起動し、記憶手段が設けられていない演算処理手段からの起動指示が行われた場合に記憶手段を設けた演算処理手段を起動する。
請求項1の発明によれば、電子制御装置は、複数の演算処理手段の各々に補正値の送受信を行う通信手段を設け、この通信手段が演算処理手段の起動時に使用する起動用の小容量バッファと演算処理手段の起動後に使用する通常処理用の大容量バッファとを切替えて使用することで、初期化時には必要な補正値のみを選択的に送信するので、高速に起動する電子制御装置を得ることができるという効果を奏する。
また、請求項2の発明によれば、電子制御装置は、複数の演算処理手段は各々が有するDMAコントローラによってDMA通信し、DMAコントローラが演算処理手段の起動後に使用する通常処理用バッファと、演算処理手段の起動時に使用する、容量の小さい起動用バッファとを切替えて使用することで、初期化時には必要な補正値のみを選択的に送信するので、高速に起動する電子制御装置を得ることができるという効果を奏する。
また、請求項3の発明によれば、電子制御装置は、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、補正値を受信した演算処理手段は、受信した補正値を用いて入出力信号の補正処理を行うので、高速に起動し、かつ正確に動作する電子制御装置を得ることができるという効果を奏する。
また、請求項4の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設け、起動時に補正値を補正値保持手段に記憶させ、入出力信号の補正を行う場合に補正値保持手段から随時補正値を読み出して使用するので、高速に起動し、かつ誤動作の少ない電子制御装置を得ることができるという効果を奏する。
また、請求項5の発明によれば、電子制御装置は、複数の演算処理手段にそれぞれ補正値保持手段を設けて起動時に補正値を補正値保持手段に記憶させるとともに、所定の演算処理手段が記憶手段から補正値を定期的に読み出して他の演算処理手段に送信し、各演算処理手段は記憶部から読み出した補正値、もしくは受信した補正値が補正値保持手段に保持した補正値と異なる場合に、受信した補正値で補正値保持手段が保持する補正値を更新するので、高速に起動し、誤動作が少なく、かつ誤動作から自動的に復帰する電子制御装置を得ることができるという効果を奏する。
また、請求項6の発明によれば、電子制御装置はエンジン制御アプリケーションを実行する装置であって、複数の演算処理手段のうち記憶手段が設けられた演算処理手段がプラットフォーム層を初期化した後、記憶手段から読み出した補正値を他の演算処理手段に対して送信し、記憶手段が設けられていない演算処理手段はプラットフォーム層の初期化を実行した後、補正値を受信するまで待機した上でアプリケーション層の初期化を行なうので、高速かつ安全に起動するエンジン制御用の電子制御装置を得ることができるという効果を奏する。
また、請求項7の発明によれば、電子制御装置は、記憶手段が設けられていない演算処理手段を先に起動し、記憶手段が設けられていない演算処理手段からの起動指示が行われた場合に記憶手段を設けた演算処理手段を起動するので、高速かつ安全に起動する電子制御装置を得ることができるという効果を奏する。
以下に添付図面を参照して、この発明に係る電子制御装置の好適な実施例を詳細に説明する。
まず図1を参照し、本発明の実施例1である電子制御装置(ECU)1の概要構成について説明する。同図に示すように本実施例1にかかるECU1は、入力端子T11〜T14および入力端子T21〜T23を有する。また、ECU1は、その内部にメインマイコン10、サブマイコン20、EEPROM2を有する。
このECU1は、例えば車両用のエンジン制御ECUであり、入力端子T11〜T14および入力端子T21〜T23には水温、吸気圧、吸気温、バッテリ電圧、油圧、油温、スロットル開度などを示す入力信号がアナログ電圧信号として入力される。
メインマイコン10は、入力端子T11〜T14に入力されたアナログ信号を使用して演算処理をおこなう処理手段であり、サブマイコン20は、入力端子T21〜T23に入力されたアナログ信号を使用して演算処理をおこなう処理手段である。
具体的には、メインマイコン10は、その内部に入力処理部13、補正処理部12、主制御部11およびDMAコントローラ14を有する。また、サブマイコン20は、その内部に入力処理部23、補正処理部22、主制御部21、DMAコントローラ24およびEEPROMドライバ25を有する。さらに、EEPROM2は、その内部にメインマイコン補正値2aおよびサブマイコン補正値2bを記憶している。
ここで、メインマイコン補正値2aは、メインマイコン10が入力信号の補正に使用する値であり、ECU1の製造時に決定され、EEPROM2に記憶されたものである。同様に、サブマイコン補正値2bは、サブマイコン20が入力信号の補正に使用する値であり、ECU1の製造時に決定され、EEPROM2に記憶されたものである。
上述したように、メインマイコン10およびサブマイコン20は、アナログ信号を入力されて演算処理をおこなうが、ECUに搭載される電源ICの供給電圧は厳密には均一でないので、ECUの製造時、すなわちECUに電源ICを搭載した時点で必要な補正値を算出してEEPROM2に記憶させ、電源ICの出力ばらつきを補正することで入力信号の値を正確に評価する。
サブマイコン20内部の入力処理部23は、入力端子T21〜23から入力されたアナログ電圧信号を補正処理部22に出力する。また、EEPROMドライバ25は、EEPROM2からメインマイコン補正値2aおよびサブマイコン補正値2bを読み出して補正処理部22に出力する。
補正処理部22は、サブマイコン補正値2bを使用し、入力処理部23から入力された入力信号の値を補正して主制御部21に出力する。また、補正処理部22は、メインマイコン補正値2aをDMAコントローラ24に出力する。
DMAコントローラ24は、サブマイコン20とメインマイコン10との間の通信を行う通信手段であり、具体的にはDMA転送方式でデータ通信を行う。このDMAコントローラ24によるデータ通信は、メインマイコン10とサブマイコン20との間の各種データのやり取りに使用し、メインマイコン補正値2aもDMAコントローラ24によって送信される。
主制御部21は、補正された入力信号をもとに演算処理を実行する演算処理手段である。具体的には主制御部21は、CPU(Central Processing Unit)とメモリによって構成され、エンジン制御を行うアプリケーションを実行する。
メインマイコン10内部の入力処理部13は、入力端子T11〜14から入力されたアナログ電圧信号を補正処理部12に出力する。DMAコントローラ14は、DMAコントローラ24から受信したメインマイコン補正値2aを補正処理部12に出力する。
補正処理部12は、メインマイコン補正値2aを使用し、入力処理部13から入力された入力信号の値を補正して主制御部11に出力する。主制御部11は、補正された入力信号をもとに演算処理を実行する演算処理手段である。具体的には主制御部11は、CPU(Central Processing Unit)とメモリによって構成され、エンジン制御を行うアプリケーションを実行する。
つぎに、メインマイコン10とサブマイコン20との間で行われるDMA通信について説明する。DMAによるデータ送受信では、送信側と受信側に同一の構造を持つバッファを設け、送信側はバッファの構造に従ってデータを書き込んで送信する。そのため、受信側ではバッファの構造からどの位置にどのデータが書き込まれているかを知ることができる。
ECU1では、サブマイコン20がメインマイコン補正値2aを読み出し、DMAによって送信する。このため、メインマイコン10専用のEEPROMを不要とし、構成を簡易にすることができる。しかし一方でメインマイコン10の起動時には、メインマイコン補正値2aを受信するまで初期化を完了することができない。さらに、初期化を行う際に送信する必要があるのはメインマイコン補正値2aのみである。
この構成で、従来のように単一のバッファを有するDMAコントローラでデータ通信を行うとすると、DMA通信にはバッファの容量分の時間が必要となるので、メインマイコン10の初期化に要する時間が増大する。
そこで、本発明にかかるECU1では、DMAコントローラ14,24に初期化用バッファ14a,24aと通常用バッファ14b,24bとを設け、初期化時と初期化処理後で使用するバッファを切り替える構成としている。DMAコントローラ14,24におけるバッファの構造例を図2に示す。
図2−1は、初期化用バッファ14aの構造を説明する説明図であり、図2−2は通常用バッファ24aの構造を説明する説明図である。なお、初期化用バッファ24aおよび通常用バッファ24bの構造は、それぞれ初期化用バッファ14a、通常用バッファ14bと同様である。
初期化用バッファ14aは、図2−1に示すようにメインマイコン補正値2aとチェックコードのみを有する。一方、通常用バッファ14bは、図2−2に示すように、メインマイコン補正値2a、チェックコードに加え、水温データ、油温データなどメインマイコン10とサブマイコン20とが起動後の通常処理で通信する各種データのための領域を有する。
このように、初期化用バッファ14a,24aと通常用バッファ14b,24bとを切替えて使用し、初期化用バッファ14a,24aには起動に必要なメインマイコン補正値2aと、通信が正常に行われたことを確認するためのチェックコードのみを持たせることでメインマイコン10の初期化を高速化することができる。また、通常用バッファ14b,24bには起動後の処理に必要な各種データのための領域を持たせているので、起動後の通信処理において動作が制限されることはない。
つぎに、ECU1の起動時の処理について説明する。図3は、ECU1の起動時における処理動作を説明するフローチャートである。同図に示したフローは、ECU1の電源投入時に開始され、メインマイコン10、サブマイコン20はそれぞれ独立に初期化処理を開始する。メインマイコン10は、まず、プラットフォーム層を初期化し(ステップS101)、その後メインマイコン補正値2aの受信待ちを開始する(ステップS102)。
メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信したならば(ステップS103,Yes)、アプリケーション層を初期化して(ステップS104)、初期化処理を終了する。
一方、サブマイコン20は、まず、プラットフォーム層を初期化し(ステップS201)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出す(ステップS202)。サブマイコン20は、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン10に送信する(ステップS203)。この時、DMAコントローラ24は、初期化用バッファ24aを使用する。その後、サブマイコン20は、アプリケーション層を初期化して(ステップS204)、初期化処理を終了する。
このように、サブマイコン20は、その初期化処理の中でメインマイコン10にメインマイコン補正値2aを送信し、メインマイコン10はメインマイコン補正値2aの受信を待って初期化処理を行うが、メインマイコン補正値2aの送信に初期化用バッファ14a,24aを使用することでメインマイコン10の待ち時間を最小限に抑えることができる。
ここで、メインマイコン10とサブマイコン20のDMAの起動は、どちらから行ってもよい。図4は、サブマイコン20からDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。同図に示したフローは、図3に示したフローと同様に、ECU1の電源投入時に開始される処理である。メインマイコン10は、まず、プラットフォーム層を初期化し(ステップS301)、その後、サブマイコン20からのDMA起動待ちを開始する(ステップS302)。
メインマイコン10は、サブマイコン20がDMAによってメインマイコン補正値2aを送信した場合に、DMAを起動し、メインマイコン補正値2aを受信する(ステップS303)。その後、メインマイコン10は、チェックコードを用いてメインマイコン補正値2aを正常に受信したか否かを判定する(ステップS304)。
メインマイコン補正値2aを正常に受信していなければ(ステップS304,No)、メインマイコン10は、再度DMA起動待ちを開始する(ステップS302)。一方、メインマイコン補正値2aを正常に受信したならば(ステップS304,Yes)、メインマイコン10は、サブマイコン20に受信完了通知を送信し(ステップS305)、アプリケーション層を初期化して(ステップS306)、初期化処理を終了する。
一方、サブマイコン20は、まず、プラットフォーム層を初期化し(ステップS401)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出す(ステップS402)。その後、サブマイコン20はDMAを起動し(ステップS403)、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン10に送信する(ステップS404)。
そして、サブマイコン20は、メインマイコン10から受信完了通知を受信したか否かを判定し(ステップS405)、メインマイコン10から受信完了通知を受信していなければ(ステップS405,No)、再度メインマイコン補正値2aをメインマイコン10に送信する(ステップS404)。
一方、メインマイコン10から受信完了通知を受信したならば(ステップS405,Yes)、サブマイコン20は、アプリケーション層を初期化して(ステップS406)、初期化処理を終了する。
続いて、メインマイコン10からDMAを起動する場合の起動処理を説明する。図5は、メインマイコン10からDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。なお、同図に示したフローは、図3に示したフローと同様に、ECU1の電源投入時に開始される処理である。メインマイコン10は、まず、プラットフォーム層を初期化し(ステップS501)、その後、サブマイコン20からの送信許可待ちを開始する(ステップS502)。
メインマイコン10は、サブマイコン20から送信許可を受信した場合(ステップS503)に、DMAを初期化するとともに、サブマイコン20にDMA初期化コードを送信する(ステップS504)。そして、サブマイコン20からメインマイコン補正値2aを受信し(ステップS505)、正常に受信したか否かを判定する(ステップS506)。
メインマイコン補正値2aを正常に受信していなければ(ステップS506,No)、メインマイコン10は、再度送信許可待ちを開始する(ステップS502)。一方、メインマイコン補正値2aを正常に受信したならば(ステップS506,Yes)、メインマイコン10は、サブマイコン20に受信完了通知を送信し(ステップS507)、アプリケーション層を初期化して(ステップS508)、初期化処理を終了する。
一方、サブマイコン20は、まず、プラットフォーム層を初期化し(ステップS601)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出して(ステップS602)、メインマイコン10に送信許可を送信する(ステップS603)。そして、メインマイコン10が送信したDMA初期化コードを受信してDMAを起動し(ステップS604)、メインマイコン補正値2aをメインマイコン10に送信する(ステップS605)。
その後、サブマイコン20は、メインマイコン10から受信完了通知を受信したか否かを判定し(ステップS606)、メインマイコン10から受信完了通知を受信していなければ(ステップS606,No)、再度メインマイコン補正値2aをメインマイコン10に送信する(ステップS605)。
一方、メインマイコン10から受信完了通知を受信したならば(ステップS606,Yes)、サブマイコン20は、アプリケーション層を初期化して(ステップS607)、初期化処理を終了する。
つぎに、ECU1の通常処理について説明する。ECU1に電源を投入し、メインマイコン10およびサブマイコン20が起動した後も、サブマイコン20は定期的にEEPROM2からメインマイコン補正値2aおよびサブマイコン補正値2bを読み出し、メインマイコン補正値2aをメインマイコン10に送信する。メインマイコン10側では、常に受信した最新のメインマイコン補正値2aを使用することで、補正値のデータ化けなどによる動作異常を防止することができる。
このECU1の通常処理動作を、図6に示す。図6に示したフローは、ECU1の電源投入時から通常処理までの動作を説明するものであり、ECU1に電源が投入された場合に開始される。メインマイコン10は、初期化処理を実行した(ステップS701)後、メインループを開始する(ステップS702)。なお、ステップS701に示した初期化処理は、図3〜5で説明した処理を用いればよい。
メインループ開始(ステップS702)後、メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信し(ステップS703)、補正処理部12が使用する補正値を、受信した値に更新して(ステップS704)、メインループを終了する(ステップS705)。このステップS702〜S705に示したメインループは、ECU1の電源が落とされるか、メインマイコン10が再起動されるまで繰り返し実行される。
一方、サブマイコン20は、初期化処理を実行した(ステップS801)後、メインループを開始する(ステップS802)。なお、ステップS801に示した初期化処理は、図3〜5で説明した処理を用いればよい。
メインループ開始(ステップS802)後、サブマイコン20は、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出し(ステップS803)、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン10に送信する(ステップS804)。この時、DMAコントローラ24は、通常用バッファ24bを使用する。
その後、サブマイコン20は、補正処理部22が使用する補正値を、EEPROM2から読み出した値に更新して(ステップS805)、メインループを終了する(ステップS806)。このステップS802〜S806に示したメインループは、ECU1の電源が落とされるか、サブマイコン20が再起動されるまで繰り返し実行される。
ところで、メインマイコン10の異常やサブマイコン20の異常、EEPROM2の故障、さらにはDMA通信線のノイズなどにより、補正値が正常ではない場合には、異常な補正値を使用することによる誤動作を防止するため、フェールセーフを行うことが望ましい。
補正値が正常の範囲内であるか否かは、例えば、ECU1に搭載した電源ICの保証範囲内にその値が収まっているか否かを判定することで検出することができる。たとえば、電源ICの精度が±5%である場合、補正値が0.95以上1.05以下であれば正常であると判定し、この範囲を逸脱する場合には異常と判定する。なお、ここで補正処理は、補正値を乗ずることで行うものとする。
さらに、補正値の異常がサブマイコン20の動作異常に起因するものである場合、メインマイコン10からサブマイコン20を再起動することで復帰することが可能である。図7は、サブマイコン20のリセットによるフェールセーフ処理を説明するフローチャートである。このフローは、ECU1の電源投入時から通常処理までの動作を説明するものであり、ECU1に電源が投入された場合に開始される。メインマイコン10は、初期化処理を実行した(ステップS901)後、メインループを開始する(ステップS902)。ここで、ステップS901に示した初期化処理は、図3〜5で説明した処理と同様の処理を用いればよい。
メインループ開始(ステップS902)後、メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信し(ステップS903)、受信した補正値が所定の範囲内であるか否かを判定する(ステップS904)。その結果、受信した補正値が所定の範囲を逸脱していれば(ステップS904,No)、メインマイコン10は、サブマイコン20をリセット、すなわち再起動し(ステップS905)、再度ステップS904に移行する。
一方、受信した補正値が所定の範囲内であれば(ステップS904,Yes)、メインマイコン10は、補正処理部12が使用する補正値を受信した値に更新して(ステップS906)、メインループを終了する(ステップS907)。このステップS902〜S907に示したメインループは、ECU1の電源が落とされるか、メインマイコン10が再起動されるまで繰り返し実行される。
また、他のフェールセーフ処理として、補正値の異常時には予め定めたフェールセーフ値を補正値として用いてもよい。このフェールセーフ値は、マイコンを安全に制御可能な値とする。図8は、補正値の異常時にフェールセーフ値を用いる処理を説明するフローチャートである。このフローは、ECU1の電源投入時から通常処理までの動作を説明するものであり、ECU1に電源が投入された場合に開始される。メインマイコン10は、初期化処理を実行した(ステップS1001)後、メインループを開始する(ステップS1002)。ここで、ステップS1001に示した初期化処理は、図3〜5で説明した処理と同様の処理を用いればよい。
メインループ開始(ステップS1002)後、メインマイコン10は、サブマイコン20からメインマイコン補正値2aを受信し(ステップS1003)、受信した補正値が所定の範囲内であるか否かを判定する(ステップS1004)。その結果、受信した補正値が所定の範囲を逸脱していれば(ステップS1004,No)、メインマイコン10は、補正処理部12が使用する補正値をフェールセーフ値に更新して(ステップS1006)、メインループを終了する(ステップS1007)。
一方、受信した補正値が所定の範囲内であれば(ステップS1004,Yes)、メインマイコン10は、補正処理部12が使用する補正値を受信した値に更新して(ステップS1005)、メインループを終了する(ステップS1007)。このステップS1002〜S1007に示したメインループは、ECU1の電源が落とされるか、メインマイコン10が再起動されるまで繰り返し実行される。
このように、補正値に異常がある場合にはフェールセーフ処理を実行することで、ECU1の動作異常を引き起こすことなく、安全に動作させることができる。なお、図7および図8のフローチャートでは、通常動作時における補正値の異常検出について説明したが、初期化処理中においても同様の処理によって補正値の異常を検出し、フェールセーフ処理を実行可能である。
また、図8のフローチャートでは、メインマイコン10における処理を例に説明したが、サブマイコン20においても同様に、EEPROM2から読み出した補正値が所定の範囲内であるか否かを判定し、所定の範囲を逸脱する場合にはフェールセーフ値を用いて補正処理をおこなうことができる。
上述してきたように、本実施例1では、DMAコントローラに初期化用のバッファと通常用のバッファとをそれぞれ設け、初期化処理時には補正値とチェックコードのみを有する初期化用バッファを使用してメインマイコン10への補正値の送信を行うので、メインマイコン10の起動、ひいてはECU1の起動を高速化することができる。
また、補正値に異常が発生した場合には、自動的にフェールセーフを行うことで、ECUの動作異常を引き起こすことなく、安全に動作させることができる。
さらに、メインマイコンにおけるアプリケーション層の初期化を、サブマイコンからの補正値の受信完了を待ってから行うので、メインマイコンを誤動作させることなく起動することができる。
すなわち、プラットフォーム層の初期化が行われるまではDMA通信は不能であるので、プラットフォーム層の初期化が行われていないマイコンに対してDMA通信を行うと、送信したデータが正常に受信したか否かの判定が困難となり、好ましくない。そのため、従来の技術では、補正値を受信する側のマイコン(本実施例ではメインマイコン)の方が送信する側のマイコン(本実施例ではサブマイコン)よりも早くプラットフォーム層の初期化が完了するように、送信側マイコンに時間のかかるEEPROMの読出し処理を行わせたり、受信側マイコンを先に起動させて送信側マイコンの起動指示を行わせていた。
しかしながら、この従来の技術によって受信側のマイコンの方が早くプラットフォーム層の初期化が完了するように設定すると、その後に連続して行われるアプリケーション層の初期化が補正値を受信していない状態で行われてしまう危険がある。
そこで、本実施例のように、受信側マイコンのプラットフォーム層の初期化が完了した後、補正値を受信するまではアプリケーション層の初期化を行わないようにすることで、DMA通信と、アプリケーション層の初期化とをともに正常に行うことができる。
ここで、送信側マイコンのプラットフォーム層の初期化、すなわち送信側マイコンの起動を、受信側マイコンから指示することによって、複数のマイコンの起動時間を最適化し、高速かつ安全に起動することが可能となる。
つぎに、本発明の実施例2について説明する。図9は、本発明の実施例2である電子制御装置(ECU)の概要構成を示す概要構成図である。本実施例2にかかるECU3は、メインマイコン30およびサブマイコン40にそれぞれSRAM(Static Random Access Memory)32,42を設け、補正処理部31,41はSRAM32,42に補正値を記憶させ、随時読み出して使用する。その他の構成および動作は、実施例1に示したECU1と同様であるので、同一の構成要素には同一の符号を付して説明を省略する。
サブマイコン40内部の補正処理部41は、サブマイコン補正値2bをSRAM42に記憶させる。その後、入力処理部23から入力された入力信号の値を補正する場合には、サブマイコン補正値2bをSRAM42から読み出して使用する。また、補正処理部42は、メインマイコン補正値2aをDMAコントローラ24に出力する。
同様に、メインマイコン30内部の補正処理部31は、DMAコントローラ14を介して受信したメインマイコン補正値2aをSRAM32に記憶させる。その後、入力処理部13から入力された入力信号の値を補正する場合には、メインマイコン補正値2aをSRAM32から読み出して使用する。
つぎに、ECU3の起動時の処理について説明する。図10は、ECU3の起動時における処理動作を説明するフローチャートである。同図に示したフローは、ECU3の電源投入時に開始され、メインマイコン30、サブマイコン40はそれぞれ独立に初期化処理を開始する。メインマイコン30は、まず、プラットフォーム層を初期化し(ステップS1101)、その後メインマイコン補正値2aの受信待ちを開始する(ステップS1102)。
メインマイコン30は、サブマイコン40からメインマイコン補正値2aを受信したならば(ステップS1103,Yes)、受信したメインマイコン補正値2aをSRAM32に保存した(ステップS1104)後、アプリケーション層を初期化して(ステップS1105)、初期化処理を終了する。
一方、サブマイコン40は、まず、プラットフォーム層を初期化し(ステップS1201)、その後、メインマイコン補正値2aおよびサブマイコン補正値2bをEEPROM2から読み出す(ステップS1202)。さらに、サブマイコン40は、メインマイコン補正値2aをDMAコントローラ24によってメインマイコン30に送信する(ステップS1203)。この時、DMAコントローラ24は、初期化用バッファ24aを使用する。その後、サブマイコン40は、サブマイコン補正値2bをSRAM42に保存した(ステップS1204)後、アプリケーション層を初期化して(ステップS1205)、初期化処理を終了する。
つぎに、ECU3の通常処理について説明する。ECU3に電源を投入し、メインマイコン30およびサブマイコン40が起動した後、メインマイコン30はSRAM32からメインマイコン補正値2aを読み出して使用する。また、サブマイコン40は、SRAM42からサブマイコン補正値2bを読み出して使用する。
このECU3の通常処理動作を、図11に示す。図11に示したフローは、ECU3の電源投入時から通常処理までの動作を説明するものであり、ECU3に電源が投入された場合に開始される。メインマイコン30は、初期化処理を実行した(ステップS1301)後、メインループを開始する(ステップS1302)。なお、ステップS1301に示した初期化処理は、図10で説明した処理を用いればよい。
メインループ開始(ステップS1302)後、メインマイコン30は、SRAM32からメインマイコン補正値2aを読み出して入力信号の補正処理を行い(ステップS1303)、メインループを終了する(ステップS1304)。このステップS1302〜S1304に示したメインループは、ECU3の電源が落とされるか、メインマイコン30が再起動されるまで繰り返し実行される。
一方、サブマイコン40は、初期化処理を実行した(ステップS1401)後、メインループを開始する(ステップS1402)。なお、ステップS1401に示した初期化処理は、図10で説明した処理を用いればよい。
メインループ開始(ステップS1402)後、サブマイコン40は、SRAM32からサブマイコン補正値2bを読み出して入力信号の補正処理を行い(ステップS1403)、メインループを終了する(ステップS1404)。このステップS1402〜S1404に示したメインループは、ECU3の電源が落とされるか、サブマイコン40が再起動されるまで繰り返し実行される。
ところで、図11に示したフローでは、起動時にSRAMに記憶させた補正値を随時読み出して使用しているが、通常動作中にサブマイコン40が定期的にEEPROM2から補正値を読み出してSRAMに記憶した補正値と比較し、SRAMに記憶した補正値に異常がないかを判定するように動作させても良い。
図12は、SRAMに補正値を記憶するとともに、EEPROMから定期的に補正値を読み出してSRAMの記憶内容を更新する場合におけるECU3の通常処理について説明するフローチャートである。このフローチャートは、ECU3の電源投入時から通常処理までの動作を説明するものであり、ECU3に電源が投入された場合に開始される。メインマイコン30は、初期化処理を実行した(ステップS1501)後、メインループを開始する(ステップS1502)。なお、ステップS1501に示した初期化処理は、図10で説明した処理を用いればよい。
メインループ開始(ステップS1502)後、メインマイコン30は、SRAM32からメインマイコン補正値2aを読み出す(ステップS1503)。その後、メインマイコン30は、サブマイコン40からメインマイコン補正値2aを受信し(ステップS1504)、SRAM32から読み出した補正値とサブマイコン40から受信した補正値とが一致するか否かを判定する(ステップS1505)。
SRAM32から読み出した補正値とサブマイコン40から受信した補正値とが一致しない場合(ステップS1505,No)、メインマイコン30は、サブマイコン40から受信した補正値をSRAM32に書き込んで更新する(ステップS1506)。
SRAM32の更新(ステップS1506)、もしくはSRAM32から読み出した補正値とサブマイコン40から受信した補正値とが一致した場合(ステップS1505,Yes)、メインマイコン30は、メインループを終了する(ステップS1507)。このステップS1502〜S1507に示したメインループは、ECU3の電源が落とされるか、メインマイコン30が再起動されるまで繰り返し実行される。
一方、サブマイコン40は、初期化処理を実行した(ステップS1601)後、メインループを開始する(ステップS1602)。なお、ステップS1601に示した初期化処理は、図10で説明した処理を用いればよい。
メインループ開始(ステップS1602)後、サブマイコン40は、SRAM42からサブマイコン補正値2bを読み出す(ステップS1603)。その後、サブマイコン40は、EEPROM2からメインマイコン補正値2aおよびサブマイコン補正値2bを読み出し(ステップS1604)、メインマイコン補正値2aをメインマイコン30に送信する(ステップS1605)。さらに、サブマイコン40は、SRAM42から読み出したサブマイコン補正値2bとEEPROM2から読み出したサブマイコン補正値2bとが一致するか否かを判定する(ステップS1606)。
SRAM42から読み出したサブマイコン補正値2bとEEPROM2から読み出したサブマイコン補正値2bとが一致しない場合(ステップS1606,No)、サブマイコン40は、EEPROM2から読み出した補正値をSRAM42に書き込んで更新する(ステップS1607)。
SRAM42の更新(ステップS1607)、もしくはSRAM42から読み出した補正値とEEPROM2から読み出した補正値とが一致した場合(ステップS1606,Yes)、サブマイコン40は、メインループを終了する(ステップS1608)。このステップS1602〜S1608に示したメインループは、ECU3の電源が落とされるか、サブマイコン40が再起動されるまで繰り返し実行される。
上述してきたように、本実施例2では、メインマイコン補正値2aとサブマイコン補正値2bをそれぞれSRAM32,42に記憶させ、随時読み出して使用することで、補正値における異常発生を抑止し、メインマイコン30およびサブマイコン40を正確に動作させることができる。
さらに、EEPROM2から定期的に補正値を読み出してSRAMに記憶した値と比較することで、SRAMに記憶した補正値に異常が発生した場合にも自動的に修正し、正常な補正値を用いて補正処理を行うことができる。
なお、本実施例2においても実施例1と同様のフェールセーフ処理をおこなうことができ、ECU3の動作における安全性をさらに高めることができる。
上記の実施例1,2では、ECUが2つのマイコンを備えた構成について説明したが、本発明の実施はこれに限定されるものではなく、ECU内に所望の数のマイコンを設けることができるものである。
また、上記の実施例1,2では、サブマイコンにEEPROMを接続し、EEPROMからの補正値の読み出しとメインマイコンへの送信をサブマイコンに担わせていたが、たとえばメインマイコンにEEPROMを接続して補正値を読み出させ、メインマイコンがサブマイコンに補正値を送信する構成としてもよい。
図13は、本発明の実施例3である電子制御装置(ECU)の概要構成を示す概要構成図である。実施例3にかかるECU4は、その内部にメインマイコン50、サブマイコン60,70,80およびEEPROM5を備えている。
メインマイコン50は、入力端子T51〜T54に入力されたアナログ信号を使用して演算処理をおこなう処理手段であり、サブマイコン60は、入力端子T61〜T63に入力されたアナログ信号を使用して演算処理をおこなう処理手段である。同様に、サブマイコン70,80は、それぞれ入力端子T71〜T73、入力端子T81〜T83に入力されたアナログ信号を使用して演算処理をおこなう処理手段である。
EEPROM5は、メインマイコン50が入力信号の補正に使用するメインマイコン補正値5a、サブマイコン60が入力信号の補正に使用するサブマイコン補正値5b、サブマイコン70が入力信号の補正に使用するサブマイコン補正値5c、サブマイコン80が入力信号の補正に使用するサブマイコン補正値5dを記憶している。
また、メインマイコン51はその内部にDMAコントローラ51を、サブマイコン60,70,80はその内部にそれぞれDMAコントローラ61,71,81を備えている。メインマイコン50およびサブマイコン60,70,80のその他の内部構成や動作については実施例1,2と同様であるので、ここでは図示および説明を省略する。
メインマイコン50は、EEPROM5からメインマイコン補正値5a、サブマイコン補正値5b〜5dを読み出す。その後、メインマイコン補正値5aを用いて入力信号の補正を行うと共に、DMAコントローラ51を介してサブマイコン60〜80にそれぞれサブマイコン補正値5b〜5dを送信する。
サブマイコン60は、DMAコントローラ61を介して受信したサブマイコン補正値5bを用いて入力信号の補正を行う。同様に、サブマイコン70,80は、それぞれDMAコントローラ71,81を介して受信したサブマイコン補正値5c,5dを用いて入力信号の補正を行う。
このようにECUの内部に3以上のマイコンを搭載した場合や、メインマイコンが補正値の読み出しと他のマイコンへの送信を行ったとしても、実施例1,2における場合と同様に、起動を高速化し、正確かつ安全に動作させることができる。
なお、以上実施例1〜3では、入力信号のアナログ電圧の補正を例に説明を行ったが、出力信号における補正においても同様の効果を得ることが可能であるのは言うまでもない。
以上のように、本発明にかかる電子制御装置は、複数のマイコンを有するECUに有用であり、特に、簡易な構成で起動を高速化し、正確かつ安全な動作が必要なECUに適している。
本発明の実施例1であるECUの概要構成を示す概要構成図である。 図1に示した初期化用バッファの構造を説明する説明図である。 図1に示した通常用バッファの構造を説明する説明図である。 図1に示したECUの起動時における処理動作を説明するフローチャートである。 サブマイコンからDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。 メインマイコン10からDMAを起動する場合の起動処理をさらに詳細に説明するフローチャートである。 図1に示したECUの起動後における処理動作を説明するフローチャートである。 サブマイコンのリセットによるフェールセーフ処理を説明するフローチャートである。 補正値の異常時にフェールセーフ値を用いる処理を説明するフローチャートである。 本発明の実施例2であるECUの概要構成を示す概要構成図である。 図9に示したECUの起動時における処理動作を説明するフローチャートである。 図9に示したECUの起動後における処理動作を説明するフローチャートである。 SRAMに補正値を記憶するとともに、EEPROMから定期的に補正値を読み出してSRAMの記憶内容を更新する場合におけるECUの通常処理について説明するフローチャートである。 本発明の実施例3であるECUの概要構成を示す概要構成図である。
符号の説明
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 入力端子

Claims (7)

  1. 外部との通信を可能にするためのプラットフォーム層およびアプリケーションの実行を可能にするアプリケーション層の初期化を、起動時に行う複数の演算処理手段と、前記複数の演算処理手段のいずれかに設けられ、前記複数の演算処理手段のそれぞれが前記アプリケーション層の初期化に際して使用する入出力信号の補正値を記憶する記憶手段と、を備えた電子制御装置であって、
    前記複数の演算処理手段の各々は、前記複数の演算処理手段間でデータの送受信を行う通信手段を備えるとともに、
    前記通信手段は、前記複数の演算処理手段の起動時に前記補正値を送信するために使用する起動用バッファと、前記複数の演算処理手段の起動後に前記補正値と当該補正値以外のデータとを送信するために使用する通常処理用バッファとを備え、
    前記起動用バッファは、前記通常制御用バッファの容量よりも少ない容量であり、
    前記複数の演算処理手段の起動時には、
    前記複数の演算処理手段のうち、前記記憶手段が設けられた演算処理手段は、プラットフォーム層の初期化処理を行ってから前記記憶手段からの補正値の読み出し処理を行った後に、他の演算処理手段に対して該読み出した補正値を送信し、当該補正値の送信後に、前記記憶手段から読み出した補正値を用いてアプリケーション層の初期化処理の実行を行ない、
    前記複数の演算処理手段のうち、前記記憶手段が設けられていない演算処理手段は、プラットフォーム層の初期化を実行した後に、前記記憶手段を備えた演算処理手段から前記補正値を受信するまで待機し、当該補正値の受信後に、受信した補正値を用いてアプリケーション層の初期化処理を実行することを特徴とする電子制御装置。
  2. 前記通信手段が行なう通信はDMA通信であり、前記初期化処理を行なう制御部とは別に設けられているDMAコントローラによって通信の制御を行なうことを特徴とする請求項1に記載の電子制御装置。
  3. 前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値を使用して前記入出力信号の補正を行うことを特徴とする請求項1または2に記載の電子制御装置。
  4. 前記複数の演算処理手段は、前記記憶手段から読み出した補正値、もしくは通信手段によって受信した補正値を保持する補正値保持手段をさらに備え、起動時に前記補正値保持手段に保持した補正値を用いて前記入出力信号の補正を行うことを特徴とする請求項1〜3のいずれか一つに記載の電子制御装置。
  5. 前記記憶手段から補正値を読み出す演算処理手段は、前記記憶手段から定期的に補正値を読み出して他の演算処理手段に送信し、該他の演算処理手段は、受信した補正値が前記補正値保持手段に保持した補正値と異なる場合に、受信した補正値で前記補正値保持手段が保持する補正値を更新することを特徴とする請求項4に記載の電子制御装置。
  6. 前記演算処理手段が実行するアプリケーションは車両に搭載されたエンジンの制御であることを特徴とする請求項1〜5のいずれか一つに記載の電子制御装置。
  7. 前記記憶手段が設けられていない演算処理手段は、前記記憶手段が設けられた演算処理手段に先んじて起動し、前記記憶手段が設けられた演算処理手段に対する起動指示を行うことを特徴とする請求項1〜6のいずれか一つに記載の電子制御装置。
JP2003389599A 2003-11-19 2003-11-19 電子制御装置 Expired - Fee Related JP4014212B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003389599A JP4014212B2 (ja) 2003-11-19 2003-11-19 電子制御装置
US10/983,713 US7386714B2 (en) 2003-11-19 2004-11-09 Transmitting data from a single storage unit between multiple processors during booting
DE102004055950A DE102004055950A1 (de) 2003-11-19 2004-11-19 Elektronische Steuereinheit
CNB2004100949728A CN1321388C (zh) 2003-11-19 2004-11-19 车辆搭载电子控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003389599A JP4014212B2 (ja) 2003-11-19 2003-11-19 電子制御装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP2007032212A Division JP2007220116A (ja) 2007-02-13 2007-02-13 電子制御装置
JP2007166590A Division JP2008009983A (ja) 2007-06-25 2007-06-25 電子制御装置およびその初期化方法
JP2007166591A Division JP4554645B2 (ja) 2007-06-25 2007-06-25 電子制御装置およびそのデータ通信方法

Publications (2)

Publication Number Publication Date
JP2005149401A JP2005149401A (ja) 2005-06-09
JP4014212B2 true JP4014212B2 (ja) 2007-11-28

Family

ID=34616257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003389599A Expired - Fee Related JP4014212B2 (ja) 2003-11-19 2003-11-19 電子制御装置

Country Status (4)

Country Link
US (1) US7386714B2 (ja)
JP (1) JP4014212B2 (ja)
CN (1) CN1321388C (ja)
DE (1) DE102004055950A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4698285B2 (ja) * 2005-05-19 2011-06-08 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP4532450B2 (ja) 2006-09-06 2010-08-25 株式会社デンソー エンジン制御用データの処理装置及びエンジン制御装置
US8417424B2 (en) 2007-12-26 2013-04-09 Kubota Corporation Control system for working machine
JP5134440B2 (ja) * 2008-05-30 2013-01-30 株式会社クボタ 作業機械用の制御装置
JP4969547B2 (ja) * 2008-10-14 2012-07-04 トヨタ自動車株式会社 制御装置及び充電制御方法
JP5185065B2 (ja) * 2008-10-23 2013-04-17 トヨタ自動車株式会社 制御装置及び制御方法
US9192975B2 (en) * 2009-01-30 2015-11-24 Larry John Verbowski Vehicle suspension module
DK177130B1 (en) * 2011-04-14 2012-01-09 Man Diesel & Turbo Deutschland Method of controlling an internal combustion engine
CN103678202B (zh) * 2013-11-26 2016-08-17 北京时代民芯科技有限公司 一种多核处理器的dma控制器
JP6515208B2 (ja) * 2017-03-31 2019-05-15 本田技研工業株式会社 汎用エンジンの制御装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63208905A (ja) 1987-02-26 1988-08-30 Toshiba Corp シ−ケンス発生回路
JPH0648962Y2 (ja) 1987-09-02 1994-12-12 太陽誘電株式会社 誘電体共振器
JPH05289979A (ja) 1992-04-06 1993-11-05 Hitachi Ltd データ転送制御方式、データ転送制御装置、及び通信制御システム
JP2988185B2 (ja) 1993-04-05 1999-12-06 日産自動車株式会社 多重通信装置
JP2965817B2 (ja) 1993-04-20 1999-10-18 本田技研工業株式会社 車両用データ伝送システム
JPH07284159A (ja) 1994-04-13 1995-10-27 Nippondenso Co Ltd 車両用電子制御装置
JPH0887481A (ja) 1994-09-19 1996-04-02 Hitachi Ltd マルチプロセッサボードの立ち上げ方法
JPH08102980A (ja) 1994-10-03 1996-04-16 Nippondenso Co Ltd 電子制御装置
JP3123413B2 (ja) * 1995-11-07 2001-01-09 株式会社日立製作所 コンピュータシステム
US6012142A (en) * 1997-11-14 2000-01-04 Cirrus Logic, Inc. Methods for booting a multiprocessor system
JP2001282758A (ja) 2000-02-28 2001-10-12 Lucent Technol Inc 直列バスを用いて複数のプロセッサを制御する方法および装置
JP4281222B2 (ja) 2000-07-06 2009-06-17 株式会社デンソー 不揮発性メモリ書き込み装置
JP2002099517A (ja) 2000-09-25 2002-04-05 Matsushita Electric Ind Co Ltd スレーブマイクロコンピュータの起動方法およびマイクロコンピュータ装置
GB2369692B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Processor state reintegration
JP2002312334A (ja) 2001-04-16 2002-10-25 Sharp Corp マルチプロセッサシステム
JP2002317687A (ja) 2001-04-24 2002-10-31 Denso Corp マイクロコンピュータ
JP2003036251A (ja) 2001-07-23 2003-02-07 Hitachi Ltd 信号処理装置
JP2003048345A (ja) 2001-08-06 2003-02-18 Sharp Corp プリンタ装置およびプリンタ装置のデータ転送方法
JP4082486B2 (ja) 2002-01-22 2008-04-30 富士重工業株式会社 電子制御スロットル式エンジンの制御装置
JP3842144B2 (ja) * 2002-02-20 2006-11-08 三菱電機株式会社 車載電子制御装置
US7003597B2 (en) * 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size
JP4012153B2 (ja) * 2004-01-15 2007-11-21 三菱電機株式会社 車載電子制御装置

Also Published As

Publication number Publication date
JP2005149401A (ja) 2005-06-09
DE102004055950A1 (de) 2005-06-30
CN1619525A (zh) 2005-05-25
CN1321388C (zh) 2007-06-13
US7386714B2 (en) 2008-06-10
US20050120281A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
JP6719472B2 (ja) イメージングカートリッジチップ、イメージングカートリッジ及びイメージングカートリッジチップのシリアルナンバーの変更方法
JP5382084B2 (ja) 車両用装置
JP4014212B2 (ja) 電子制御装置
US20200249930A1 (en) Onboard system and ecu
WO2014091666A1 (ja) 車載電子制御装置
CN102402442B (zh) 信息处理装置、启动控制方法
JP2017157004A (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2008009983A (ja) 電子制御装置およびその初期化方法
CN110244958B (zh) 用于更新车辆的标定数据的方法和装置
CN110809755A (zh) 电子控制系统
CN103176906A (zh) 汽车用电子控制装置及数据的写入方法
JP2017171114A (ja) 車両用ソフトウェア割当てシステム
JP4784100B2 (ja) 処理装置およびそのファームウェアダウンロード方法。
JP7091486B2 (ja) 電子制御装置、電子制御装置のセキュリティ検証方法
JP2007206827A (ja) 電子制御ユニット及び車載デバイス制御用プログラムの生成方法
JP4554645B2 (ja) 電子制御装置およびそのデータ通信方法
JP5488405B2 (ja) 電子制御装置
US9811149B2 (en) Information processing apparatus, non-transitory computer readable medium, and information processing method
JP2007220116A (ja) 電子制御装置
JP2014051168A (ja) 車載通信システム
JP2007316800A (ja) 車載プログラム書換え制御装置
US11429375B2 (en) Method for exchanging a first executable program code and a second executable program code, and a control unit
JP5129791B2 (ja) 車両用制御装置
JP2017219962A (ja) 制御装置及び制御方法
CN112130778A (zh) 图像形成装置及其控制系统和控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070910

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4014212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140921

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees