JP4920015B2 - 分散制御用制御ソフトウェアおよび電子制御装置 - Google Patents

分散制御用制御ソフトウェアおよび電子制御装置 Download PDF

Info

Publication number
JP4920015B2
JP4920015B2 JP2008225431A JP2008225431A JP4920015B2 JP 4920015 B2 JP4920015 B2 JP 4920015B2 JP 2008225431 A JP2008225431 A JP 2008225431A JP 2008225431 A JP2008225431 A JP 2008225431A JP 4920015 B2 JP4920015 B2 JP 4920015B2
Authority
JP
Japan
Prior art keywords
unit
control
central processing
processing units
data
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.)
Active
Application number
JP2008225431A
Other languages
English (en)
Other versions
JP2010061324A (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2008225431A priority Critical patent/JP4920015B2/ja
Priority to PCT/JP2009/062730 priority patent/WO2010026836A1/ja
Priority to EP09811365A priority patent/EP2328095A4/en
Priority to US12/919,327 priority patent/US20110066814A1/en
Publication of JP2010061324A publication Critical patent/JP2010061324A/ja
Application granted granted Critical
Publication of JP4920015B2 publication Critical patent/JP4920015B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Description

本発明は電子制御装置および前記電子制御装置に搭載する制御用ソフトウェアに関し、特に複数の車両用電子制御装置の分散制御に関する。
自動車エンジン制御などの制御装置として、中央演算装置,ROM,RAM,入出力信号処理装置などを内蔵したマイクロコントローラ(以下マイコンと表記)が用いられている。マイコンに搭載されるソフトウェアは制御対象が目的とする制御動作を行うように、一般的には制御処理を行うアプリケーションプログラムと入出力を行うデバイスドライバやオペレーティングシステム(OS)などによって構成されている。
近年、ソフトウェアの規模の増大に伴い、個別の制御システムについてアプリケーションプログラムと入出力を行うデバイス制御プログラムとを全て開発することが困難になっており、ソフトウェアを小さな単位の部品として構成し、これを再利用する手法や、これらを階層化し変更箇所を局所化する、などの手法が採用されている。さらに、これらのソフトウェアの部品を資産として蓄積し、開発対象の電子システムの機器の構成やネットワークの構成に応じてソフトウェアの部品を組み合わせて開発する手法が採用されている。
また、分散システムを前提としその構築をハードウェアに依存することなくシステムを構築する手法として分散オペレーティングシステム(分散OS)がある。分散OSは、複数の演算装置からなるシステム全体を管理するOSであり、このOSがプログラムの実行単位であるプロセスを各演算装置に適宜分配するものである(例えば、特許文献1参照)。
分散システムの開発効率を向上するための一般的な手法においては、ネットワークの物理的な差異を吸収するため、通信プロトコルおよび信号処理などの物理層に非依存なネットワークの上位層と、物理層に依存する下位層に分離し、物理層の差異を隠蔽することで、これらを実際のシステム構成に対して柔軟な設計を可能にする(例えば、特許文献2参照)。
特開平10−243004号公報 特許第3460593号公報
ところで、近年マイコンの処理速度向上の方策として複数の演算装置をひとつのマイコンパッケージに搭載する複数の演算装置を搭載するマイコンが実用化している。複数演算装置搭載のシステム上では、ソフトウェアはそれぞれの演算装置上で並行に動作し、演算装置間で授受を行う必要のあるデータはデュアルポートRAMなどの共有記憶領域上でやりとりを行う。
このとき、演算装置はそれぞれ独立に動作するため、一方の演算装置からのデータの書き込みが完了していない不完全な状態で他方が読み込みを行ったり、多重に書き込みを行ったり、一方の読み込みの途中で他方の書き込みが部分的に行われたりすると、データが破損する可能性があり、システムの動作は設計時に意図したデータのやりとりから逸脱し、不具合を引き起こすこととなるため、このようなデータの競合を避ける必要がある。
また、車両制御のような高いリアルタイム性の要求される分野では、従来のソフトウェア資産は必ずしも分散システムを想定して開発されているものでは無く、単一の演算装置に割り当てた上で、固定的にスケジューリングを行う前提で設計されていることが多いため、単純に分散OSに配置しただけでは当初の意図から逸脱した動作となるため、分散OSの活用できる場面は非常に限定される。このため、既存ソフトウェア資産の再利用のためには、個別の演算装置が固有のリアルタイムOSを搭載し、各ソフトウェアの部品はそのOS上に固定的にスケジューリングする必要がある。さらに、車両制御システムはリアルタイムシステムであり、処理の遅延がシステムの性能,信頼性に大きな影響を及ぼすため、情報系で用いられている柔軟であるがリアルタイム性の保証できない機構を採用することができない。
本発明の目的は、このような複数演算装置間の競合による不具合を排除するとともに、各ソフトウェア部品は演算装置毎に動作するリアルタイムOS上に割り付けてリアルタイム性を保証することができ、ネットワークの物理層と同様に複数の演算装置間の共有記憶領域を介したデータ授受を行うという構成の差異を隠蔽し、通信方式の差異を吸収するのと同じように、共有記憶領域を介したデータ授受による差異を吸収し、複数演算装置を用いた制御システムの開発効率を向上することである。
上記目的を実現するために、ネットワーク通信を行うソフトウェア部品と同じインターフェースを有し、競合を回避する手段を有する共有記憶領域のデータの読み書きを行う処理ソフトウェアを部品化し、共有記憶領域によるデータの授受を通信物理層のひとつとして扱い、制御システムを構築する。
上記構成にて制御システムを作成すると、従来からのソフトウェア資産を再利用しながら、共有記憶領域によって引き起される虞れのある競合の不具合を排除することができるため、複数の演算装置を使った制御システムを開発する工数を信頼性を損うことなく削減できる。
以下本発明の実施形態の第一の例について説明する。
図1は本発明の対象とする制御システムのひとつである自動車エンジン制御システムの構成を示すものである。コントロールユニット215は第1の中央演算装置(CPU)205,第2のCPU210,割込み制御回路212,第1の読出し専用メモリ(ROM)203,第1の揮発性読書きメモリ(RAM)204,第2のROM208,第2のRAM209,CPU1とCPU2が共有する共通ROM207および共通RAM206,入力回路202,出力回路211、から構成される。
なお202〜212の各要素は一つの素子上に内蔵される場合と、別素子を用いて実現される場合があるが、その相違は本発明に特に影響しないのでその構成は問わない。コントロールユニットには制御対象であるセンサ216が信号入力回路213を、アクチュエータ217が駆動回路214を介して接続され、マイコン201がこれらの制御を行う。制御はマイコンをはじめとする構成要素から入力回路202,出力回路211のレジスタへの読み書きにより行われる。制御の方法を記述したソフトウェアはコントロールユニット上のROM203,208,207およびRAM204,209,206に搭載される。
上記の制御装置上に図3に示すようなハードウェアを実装し、各種データの受け渡しを行う。本構成はエンジン制御システムの基本構成を示したものである。電子制御ユニット418は、スロットルセンサ407,水温センサ408,エアフローセンサ409,クランク角センサ410から入力したエンジンの状態に基づき、点火プラグ駆動パルス416,燃料噴射装置駆動パルス417を出力することを目的とする。電子制御ユニット418の内部には、第1のCPU401と第2のCPU402が共有のRAM403を介して接続しており、入力信号を取り込むためのアナログ・デジタル変換器(AD変換器404)とパルス入力回路405を介して各センサの情報を取り込み、タイマ・パルス出力回路406を介してアクチュエータ駆動信号である点火プラグ駆動パルス416,燃料噴射装置駆動パルス417を出力する。本実施例ではセンサの入力をもとに外界の物理量を算出するセンサ値補正処理419と第1のオペレーティングシステム(OS)420を第1の演算装置401に割り当て、外界の物理量とクランク角センサから得られたエンジン回転位置をもとに点火制御414,燃料噴射制御415を行う処理と第2のオペレーティングシステム(OS)421を第2のCPU402に割り当てている。これにより、処理負荷を分散させることが可能となる。また、CPU間では、共有RAM403上に各センサから得られた制御対象の情報である、スロットル開度411,水温412,吸入空気量413を保持することで、演算装置間で情報を受け渡すことが可能となる。
図2はコントロールユニットが実行するソフトウェアの階層構造を示した図である。第1のソフトウェア303は第1のCPU307で実行される基本ソフトウェアであり、第2のソフトウェア309は第2のCPU314で実行される基本ソフトウェアである。第1のCPU307で実行されるソフトウェア303は、システムの制御対象を制御するロジックを記述した複数の制御アプリケーションソフトウェア部品301とこれらを接続し統合する部品接続部302,ソフトウェアの実行単位であるタスク毎の優先度制御を行った上で実行させるオペレーティングシステム304,通信処理部312から構成される。通信処理部312は、通信の物理的な伝達手段である物理層の媒体に依存せず通信データの加工処理やエラーや種々の異常状態の検出などを行う通信上位部305と、具体的なデータの送受信を行うハードウェアの制御を行う通信ドライバ部306とから構成される。
制御システムの設計時には、制御アプリケーション部313と部品接続部302のみに着目し、制御ソフトの物理的,論理的な性質に基づき部品の設計を行う。このとき、電子システムにおける通信の物理層の構成に関する情報を抽象化し、部品間の抽象化した論理接続311のみを考慮して設計を行い、電子システムの構築時に物理層まで考慮した物理接続310として実装することで、制御アプリケーションソフトウェア部品301の設計と電子システムの構成を分離でき、ソフトウェアの再利用性を向上できる。
図6は共有メモリを介して通信を行うための、通信ドライバ部306にあたる共有メモリ処理部801の構成を示したものである。共有メモリ処理部は外部からアクセスする方法を定めたインターフェース部802と実際の共有メモリの読み出し,書き込み処理を行うドライバ部・テーブル部803とから構成される。インターフェース部802は送信804,受信805,送信完了806,受信完了807の4つのインターフェースを持つ。ドライバ部・テーブル部803はドライバ部808,通知処理テーブル809からなり、ドライバ部にはインターフェース部802で規定された各インターフェースに対応した処理を配置する。これらは典型的には、C言語の関数に対応するものである。通知処理テーブル809には割込みなどのイベントから各通知処理への呼出し先を登録するテーブルであり、典型的にはC言語の関数のポインタを登録し、当該イベントが発生した場合に前記ポインタの関数を実行する。あるいはC言語のマクロとして飛び先の関数を登録することも可能である。
図5は上記に記載の構成を用いてソフトウェアの処理手順の詳細を示したものである。第1のCPU701上では制御アプリケーションソフトウェア704,通信上位部705,通信ドライバ部706が動作し、CPU間で共有されるハードウェア702には、セマフォ707,RAM708,割込みコントローラ709が存在し、第2のCPU703では通信ドライバ部710,通信上位部711,制御アプリケーションソフトウェア712が動作する。
図5では、上記の構成で第1のCPU701に搭載している制御アプリケーションソフトウェア704から第2のCPU703に搭載している制御アプリケーションソフト712に共有データを記憶するRAM708を介してデータを受け渡す詳細な手順を示している。
まず、制御アプリケーションソフトウェア704からデータ送信の要求713が通信上位部705に対して発行されると、通信上位部705は送信データ長の調整や割り付け,ビット配置の調整などの送信データの前処理714を行った後に、通信ドライバ部に対してデータの送信要求715を発行する。通信ドライバは第1のCPU701と第2のCPU703とで共有するRAM708上のデータへの排他的なアクセスを保証するためにセマフォ707を用いて716〜720の排他処理を行う。排他処理は保護領域の取得処理716として、セマフォ707のテスト・アンド・セット処理717(後述)を行い、共有RAM708のあらかじめ定めた領域へのアクセス権限を得た上で、共有RAM708に書込み718を行い、保護領域の解除719の処理としてセマフォ707のclear720を行い排他処理を完了する。次に第1のCPU701,第2のCPU703に対して通信が完了したことを通知するため、割込みコントローラ709に送信完了割込み721の発生を行う。これをcpu1701で送信完了割込み722として取り込む。そして、割込み処理の中で、通信ドライバ部706、すなわち共有メモリ処理部の通知処理テーブル809に登録された送信完了通知814に基づいて、通信上位部705の送信完了通知723を呼出し、送信完了処理724を行う。一方、割込みコントローラ709で発生させた送信完了割込み発生721から第2のCPU703で受信完了割込み725として取り込む。そして、割込み処理の中で、通信ドライバ部710、すなわち共有メモリ処理部の通知処理テーブル809に登録された受信完了通知815に基づいて、通信上位部711の受信完了通知726を起動し、そこで通信ドライバ部710の受信処理727を呼び出す。受信処理の中でもセマフォ707を用いて728〜732の排他処理を行う。そこではまず、保護領域取得処理728で、テスト・アンド・セット処理729(後述)を行い、排他領域へのアクセス権限を得た上でRAM708からデータを読出し730、これを通信上位部711の内部に保持する。そして保護領域の解除処理731の中からセマフォ707の解除処理732を行う。最後に制御アプリケーションソフト712は、通信上位部711に対し、データ取得要求733を出し、データを取得する。
また、複数の演算装置が並列で動作している状態で、データへのアクセスの競合を防ぐためにはハードウェアが介在した排他処理が必要である。図5中のテスト・アンド・セット処理717,テスト・アンド・セット処理729はそのようなハードウェアを利用したテスト・アンド・セットと呼ばれる排他処理である。この一連の処理はアトミックに行う必要がある。ある処理をアトミックに行う、とは演算装置で当該処理を実行途中では当該演算装置の割込みや他の演算装置からのデータアクセスによる中断を一切受けない性質のことである。この手順では書き込みを行うデータである変数あるいはレジスタの参照を受け取り、その値を一旦保存し、当該パラメータの変数あるいはレジスタを“true”に書き換え、もとの一旦保持したレジスタの値を返す一連の処理である。図9はC言語の記述による擬似コードになっているが、ソフトウェアによる処理のみでは前記のアトミックな処理とすることができず、この処理をハードウェアあるいは専用ハードウェア上のマイクロコードとして実装する必要がある。
以下に示すのは上記のシステムをCAN通信を用いた2台の制御コントローラに配置したハードウェアをもつ車両に移植する場合の例であり、図8はそのハードウェア構成と、データフローを表す。電子制御システム1024は、スロットルセンサ1007,水温センサ1008,エアフローセンサ1009,クランク角センサ1010から入力したエンジンの状態に基づき、点火プラグ駆動パルス1016,燃料噴射装置駆動パルス1017を出力することを目的とする。電子制御システム1024には二つの電子制御装置1001,1002が存在し、CANバス1003を介して接続しており、1001,1002は物理的に離れた場所に配置することができる。第1のCPU1018では、入力信号を取り込むためのアナログ・デジタル変換器(AD変換器1004)、を介して各種センサ(1007〜1009)の情報を取り込み、第2の演算装置1019では、パルス入力回路1005を介してクランク角センサ1010の情報を取り込み、タイマ・パルス出力回路1006を介してアクチュエータ駆動信号である点火プラグ駆動パルス1016,燃料噴射装置駆動パルス1017を出力する。
本実施例ではセンサの入力をもとに外界の物理量を算出するセンサ値補正処理1027と第1OS1020を第1のCPU1018に割り当て、外界の物理量とクランク角センサから得られたエンジン回転位置をもとに点火制御1014,燃料噴射制御1015を行う処理と第2のOS1021を第2のCPU1019に割り当てている。また、制御装置間では、CANバス1003上でスロットル開度1011,水温1012,吸入空気量1013のセンサから得られた制御対象の情報を、第1の演算装置1018から送信し第2の演算装置1019で受信する。上記のようなハードウェア構成においても、エンジン制御システムを実現するためのソフトウェアの構成は図2に記載の構成で実現できる。
図7はCAN通信を用いて通信を行うために、通信ドライバ部306のCANに対応した実装方式としてCAN通信処理部901を構成した例を示したものである。CAN通信処理部は外部からアクセスする方法を定めたインターフェース部902と実際の共有メモリの読み出し,書き込み処理を行うドライバ部・テーブル部903とから構成される。インターフェース部902は送信904,受信905,送信完了906,受信完了907の4つのインターフェースを持つ。またドライバ部908には処理910〜913を持ち、通知処理テーブル909には通知処理914,915を持つ。これらの構成は図6に記載の共有メモリドライバと同一であり、この部分のソフトウェアを交換することで異なるハードウェア構成のシステムに同一の制御アプリケーションソフトウェアを搭載できる。
図4は上記に記載の構成を用いてソフトウェアの処理手順の詳細を示したものである。第1のCPU601上では制御アプリケーションソフトウェア606,通信上位部607,通信ドライバ部608が動作し、第1の電子制御装置638上の周辺ハードウェア602には、割込みコントローラ609,ネットワークコントローラ610が存在する。第2の電子制御装置639に搭載の第2のCPU605では、通信ドライバ部614,通信上位部615,制御アプリケーションソフトウェア616が動作する。周辺ハードウェア604にはネットワークコントローラ612,割込みコントローラ613が動作する。
上記の構成で第1のCPU601に搭載している制御アプリケーションソフトウェア606から第2のCPU605に搭載している制御アプリケーションソフトウェア616にCANバス603を介してデータを受け渡す詳細な手順を示す。まず、制御アプリケーションソフトウェア606からデータ送信の要求617が通信上位部607に対して発行されると、通信上位部607は送信データ長の調整や割り付け,ビット配置の調整などの送信データの前処理618を行った後に、通信ドライバ部608に対してデータの送信要求619を発行する。通信ドライバ部はネットワークコントローラ610を送信に用いるための送信操作620を行うと、ネットワークコントローラ610は送信開始621を行う。送信されたデータはCANバス603を介して第2の電子制御装置639と接続する。第2の電子制御装置639に搭載のネットワークコントローラ612は、ネットワーク上の信号を検知し受信622を開始する。受信が終了すると正常に受信ができた場合には受信通知を送信623する。第1の電子制御装置638上のネットワークコントローラ1610は正常受信通知を受信624し、正常に送信完了できたことを割込みコントローラ609に通知625する。割込みコントローラ609はこれを割込みとして第1のCPU601に通知し、第1のCPU601では送信完了割込み626として、登録した通信ドライバ部、すなわちCAN通信処理部内の送信完了インターフェース906を介して送信完了処理912を実行し、ここから送信完了通知として登録された通信上位部607の送信完了通知処理627の中で送信完了処理628を行う。
一方CANバスからの受信が完了すると第2の電子制御装置639側では、受信を完了したネットワークコントローラ612から割込みコントローラ613へ受信の完了が通知629され、割込みコントローラ613から第2のCPU605に通知し、第2のCPU605では受信完了割込み処理630が起動され、この中から登録された通信上位部の受信完了通知631を実行する。次に通信上位部615はデータの受信632要求を通信ドライバ部614に対して発行し、通信ドライバ部614からネットワークコントローラ612の受信操作633を行い、データを取得して通信上位部615に保持する。第2のCPU605上で実行する制御アプリケーションソフトウェアはデータ取得634要求を発行しこれに基づいて点火制御636,燃料噴射制御637を行う。
本実施例によるソフトウェアでは、ハードウェアの構成が共有メモリによる連結か、CAN通信による連結か、という物理的な構成が変わった場合に、図6に示す共有メモリドライバのインターフェース部802と図7に示すCAN通信ドライバのインターフェース部902が同じインターフェースを有しており、さらにその処理手順においても図5に示す共有メモリの実行手順中のドライバ部の呼び出し箇所である715,723,726,727と図4に示すCAN通信の実行手順中のドライバ部の呼び出し箇所である619,627,631,632とが対応しており、通信ドライバ部のみを入れ替えることで、制御アプリケーションソフトウェアの変更無く移植することが可能となる。このため移植のための工数を削減できる。
次に、本発明の第二の実施例について説明する。本実施例の目的は、実施例1に示した図8の制御システムと同じであるが、ハードウェア構成は異なる例である。本実施例の構成を図10に示す。
二つの演算装置1202,1217が共有メモリ1203で接続された第1の電子制御装置1201と、ひとつの演算装置1211を有する第2の電子制御装置1209が、ネットワークバス1208を介して接続された制御システムである。第2の電子制御装置1209は、スロットルセンサ1212から得た入力値を、AD変換器1210を用いて取り込み、第3の演算装置1211上で動作するソフトウェアであるセンサ値補正処理1213によりスロットル開度の値を算出する。算出された値はネットワークコントローラ1215を介してCANバス1208上に送信される。第1の電子制御装置1201は、ネットワークコントローラ1216からこのデータを取得し、点火制御,燃料噴射制御を行う。また、第1の演算装置1202には図6に示す共有メモリ処理部が実装され、第2の演算装置1217には図6に示す共有メモリ処理部と図7に示すCAN通信処理部が実装され、第3の演算装置1211には図7に示すCAN通信処理部が搭載される。第一の実施例と同様に、図6の共有メモリ処理部と図7CAN通信処理部は、ともに同一のインターフェース部802,902を有する。
本実施例の構成によれば、それぞれの演算装置上に搭載されるアプリケーションソフトウェアを変更することなく移植することが可能となる。これにより、複数の演算装置の間で動作するソフトウェアの負荷率にバラツキがある場合、負荷率の高い演算装置上の制御アプリケーションソフトウェアを余裕のある演算装置に移植することが可能となるため、電子制御装置の性能や容量により最適化したソフトウェアの構成の変更を制御アプリケーションソフトウェアを変更することなく可能となり、ソフトウェアの変更工数を削減することが可能となる。
ハードウェアの構成を示した図である。 ソフトウェアの階層構造を示した図である。 ハードウェアとデータフローを示した図である。 CAN通信を利用した実行手順を示した図である。 共有メモリによる通信を利用した実行手順を示した図である。 共有メモリドライバの構成を示した図である。 CAN通信ドライバの構成を示した図である。 CAN通信利用時のデータフローを示した図である。 テスト・アンド・セットの処理を示した図である。 マルチコアと通信の併用時のデータフローを示した図である。
符号の説明
201 マイコン
202 入力回路
203 第1の読出し専用メモリ
204 第1の揮発性読書きメモリ
205 第1の中央演算装置
206 共通の揮発性読書きメモリ
207 共通の読出し専用メモリ
208 第2の読出し専用メモリ
209 第2の揮発性読書きメモリ
210 第2の中央演算装置
211 出力回路
212 割込み制御回路
213 入力信号回路
214 駆動回路
215 コントロールユニット
216 センサ
217 アクチュエータ
301 制御アプリケーションソフトウェア部品
302 部品接続部
303 第1ソフトウェア
304 オペレーティングシステム
305,607,615,705,711 通信上位部
306,608,614,706,710 通信ドライバ部
307,401,1018 第1の演算装置
309 第2ソフトウェア
310 物理接続
311 論理接続
312,901 通信処理部
313 アプリケーションソフトウェア部
314,402,1019 第2の演算装置
403 共有メモリ
404,1004 AD変換器
405,1005 パルス入力回路
406,1006 タイマ・パルス出力回路
407,1007 スロットルセンサ
408,1008 水温センサ
409,1009 エアフローセンサ
410,1010 クランク角センサ
411,1011 スロットル開度
412,1012 水温
413 吸入空気量
414,1014 点火制御
415,1015 燃料噴射制御
416,1016 点火プラグ駆動パルス
417,1017 燃料噴射装置駆動パルス
418 電子制御ユニット
419 センサ値補正処理
420,1020 第1OS
421,1021 第2OS
601,701 第1のCPU
602,604 周辺ハードウェア
603,1003 CANバス
605,703 第2のCPU
606,616,704 制御アプリケーションソフトウェア
609,613,709 割込みコントローラ
610,612 ネットワークコントローラ
617,713 要求
618,714 前処理
619,715 送信要求
620 送信操作
621 開始
702 ハードウェア
707 セマフォ
708 RAM
712 制御アプリケーションソフト
716 取得処理
717,729 テスト・アンド・セット処理
718 書込み
719 解除
720 clear
721 送信完了割込み発生
722 送信完了割込み
723,814 送信完了通知
724 送信完了処理
725 受信完了割込み
726,815 受信完了通知
727 受信処理
728 保護領域取得処理
730 読出し
731,732 解除処理
733 データ取得要求
801 共有メモリ処理部
802,902 インターフェース部
803,903 ドライバ部・テーブル部
804,904 送信
805,905 受信
806,906 送信完了
807,907 受信完了
809 通知処理テーブル
1001 第1の電子制御装置
1002 第2の電子制御装置
1013 空気量
1024 電子制御システム

Claims (6)

  1. 複数の中央演算装置と、前記複数の中央演算装置が共有し、前記複数の中央演算装置間でデータをやり取りするための共有記憶メモリと、を備える電子制御装置上で動作する制御ソフトウェアであって、
    前記電子制御装置はネットワークに接続されており、
    前記制御ソフトウェアは、前記複数の中央演算装置上で実行され、前記電子制御装置に前記電子制御装置の制御対象を制御するための処理を機能させるアプリケーション部と、
    前記複数の中央演算装置上で実行され、前記電子制御装置に前記アプリケーション部に記述された入出力要求を受け付けて、前記ネットワークとのデータの送受信を行うハードウェアを制御する処理を機能させる通信ドライバ部と、
    前記複数の中央演算装置上で実行され、前記電子制御装置に前記アプリケーション部に記述された入出力要求を受け付けて、前記共有記憶メモリを制御する処理を機能させる共有メモリ処理部と、前記アプリケーション部に記述された入出力要求に基づき、前記電子制御装置が前記ネットワークまたは前記共有記憶メモリのいずれを用いてデータの入出力を行うかが予め記述されているアプリケーション部品接続部と、を備え、
    前記通信ドライバ部は、前記アプリケーション部を実行する前記複数の中央演算装置が前記通信ドライバ部へアクセスするためのインターフェースを定めた第一のインターフェース部と、
    前記第一のインターフェース部を介した呼び出しに応じて前記ネットワークとのデータの送受信処理を行う処理を定めた第一のドライバ・テーブル部と、を備え、
    前記共有メモリ処理部は、前記アプリケーション部を実行する前記複数の中央演算装置が前記共有メモリ処理部へアクセスするインターフェースを定めた第二のインターフェース部と、前記第二のインターフェース部を介した呼び出しに応じて前記共有記憶メモリへの読み書き制御の処理を定めた第二のドライバ・テーブル部と、を備え、
    前記第一のインターフェース部と前記第二のインターフェース部とが共通のインターフェースを有することを特徴とする制御ソフトウェア。
  2. 前記共通のインターフェースとして、データの送信と、データの受信と、送信完了通知と、受信完了通知と、が定められていることを特徴とする請求項1記載の制御ソフトウェア。
  3. 前記制御アプリケーション部は複数の制御アプリケーションソフトウェア部品を備え、前記複数の制御アプリケーションソフトウェア部品のそれぞれは、前記複数の中央演算装置のいずれか一つで実行されるように予め割り当てられていることを特徴とする請求項1または2のいずれか1項に記載の制御ソフトウェア。
  4. 前記第二のドライバ・テーブル部を実行する前記複数の中央演算装置は、前記共有記憶メモリ内に設けられたセマフォへのアクセスにより前記アプリケーション部からの入出力要求に基づく前記共有記憶メモリへの書き込み処理の中断がないことを保証するための排他処理を行うことを特徴とする請求項1から3のいずれか1項に記載の制御ソフトウェア。
  5. 前記第二のドライバ・テーブル部には、前記複数の中央演算装置中のデータを送信する側の中央演算装置に前記共有記憶メモリへのデータ書き込みが完了したことを通知する処理へのポインタと、前記複数の中央演算装置中のデータを受信する側の中央演算装置に前記共有記憶メモリへのデータ書き込みが完了したことを通知する処理へのポインタとを格納したテーブルを有することを特徴とする請求項1から4いずれか1項に記載の制御ソフトウェア。
  6. 複数の中央演算装置と、前記複数の中央演算装置が共有し、前記複数の中央演算装置間でデータをやり取りするための共有記憶メモリと、を備える電子制御装置であって、
    請求項1から5のいずれか1項に記載の制御ソフトウェアを備えた電子制御装置。
JP2008225431A 2008-09-03 2008-09-03 分散制御用制御ソフトウェアおよび電子制御装置 Active JP4920015B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008225431A JP4920015B2 (ja) 2008-09-03 2008-09-03 分散制御用制御ソフトウェアおよび電子制御装置
PCT/JP2009/062730 WO2010026836A1 (ja) 2008-09-03 2009-07-14 分散制御用制御ソフトウェアおよび電子制御装置
EP09811365A EP2328095A4 (en) 2008-09-03 2009-07-14 CONTROL SOFTWARE FOR DISTRIBUTED CONTROL, AND ELECTRONIC CONTROL DEVICE
US12/919,327 US20110066814A1 (en) 2008-09-03 2009-07-14 Control software for distributed control, and electronic control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008225431A JP4920015B2 (ja) 2008-09-03 2008-09-03 分散制御用制御ソフトウェアおよび電子制御装置

Publications (2)

Publication Number Publication Date
JP2010061324A JP2010061324A (ja) 2010-03-18
JP4920015B2 true JP4920015B2 (ja) 2012-04-18

Family

ID=41797009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008225431A Active JP4920015B2 (ja) 2008-09-03 2008-09-03 分散制御用制御ソフトウェアおよび電子制御装置

Country Status (4)

Country Link
US (1) US20110066814A1 (ja)
EP (1) EP2328095A4 (ja)
JP (1) JP4920015B2 (ja)
WO (1) WO2010026836A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2817067B1 (fr) 2000-11-21 2003-02-21 Cyber Comm Procede et dispositif d'authentification de documents electroniques au moyen d'une signature numerique
US20080316004A1 (en) * 2007-06-19 2008-12-25 Kiko Frederick J Powerline communication apparatus and methods
KR20090095955A (ko) * 2008-03-07 2009-09-10 삼성전자주식회사 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템
US10493289B2 (en) 2010-07-09 2019-12-03 Zoll Medical Corporation System and method for conserving power in a medical device
DE102011012187A1 (de) 2011-02-23 2012-08-23 Continental Automotive Gmbh Verfahren zum Konfigurieren einer Steuervorrichtung für ein Kraftfahrzeug, Computerprogramm und Steuervorrichtung
CN102520675B (zh) * 2011-10-23 2014-03-12 西安交通大学 燃气联合循环与太阳能发电联合制热***及其调度方法
DE112012006843T5 (de) 2012-08-24 2015-05-21 Mitsubishi Electric Corporation Fahrzeugkommunikationssystem und Fahrzeugkommunikationsverfahren
US9921982B2 (en) * 2014-06-05 2018-03-20 Microchip Technology Incorporated Device and method to assign device pin ownership for multi-processor core devices
GB2542988B (en) * 2015-04-17 2019-11-13 Suunto Oy Embedded computing device comprising processing units interfaced with a shared information space
DE102016106939B4 (de) 2015-04-17 2024-05-02 Suunto Oy Eingebettetes Rechengerät
JP6438381B2 (ja) * 2015-12-14 2018-12-12 日立オートモティブシステムズ株式会社 電子制御装置
FR3065550A1 (fr) * 2017-09-29 2018-10-26 Continental Automotive France Procede d'echange protege de donnees entre deux taches
KR102248285B1 (ko) * 2020-07-14 2021-05-06 주식회사에어플러그 필요한 정보를 통지받기 위한 이벤트에 대한 최적화된 그룹기반의 가입 방법과 그 방법을 위한 기기

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898264B2 (ja) 1997-02-21 2007-03-28 本田技研工業株式会社 車両用ネットワークシステム
JP3460593B2 (ja) 1998-09-17 2003-10-27 株式会社デンソー 車両用制御装置
US7269666B1 (en) * 2000-06-30 2007-09-11 Intel Corporation Memory utilization in a network interface
US6925547B2 (en) * 2000-12-14 2005-08-02 Silicon Graphics, Inc. Remote address translation in a multiprocessor system
US7099660B2 (en) * 2000-12-22 2006-08-29 Bellsouth Intellectual Property Corp. System, method and apparatus for a network-organized repository of data
JP3903734B2 (ja) * 2001-05-09 2007-04-11 株式会社日立製作所 車両データアクセス方法および車載端末
JP2004240890A (ja) * 2003-02-07 2004-08-26 Nec Corp ミドルウェア透過分散アプリケーションアクセス方式
JP2004362411A (ja) * 2003-06-06 2004-12-24 Mitsubishi Electric Corp ネットワーク接続機能を有する数値制御装置
JP3961511B2 (ja) * 2004-06-28 2007-08-22 エヌイーシーコンピュータテクノ株式会社 データ処理システム、処理装置、記憶装置、及びメモリアクセス制御方法
JP2008046969A (ja) * 2006-08-18 2008-02-28 Fujitsu Ltd 共有メモリのアクセス監視方法及び装置
JP4476267B2 (ja) * 2006-10-06 2010-06-09 株式会社日立製作所 プロセッサ及びデータ転送ユニット

Also Published As

Publication number Publication date
US20110066814A1 (en) 2011-03-17
WO2010026836A1 (ja) 2010-03-11
EP2328095A4 (en) 2012-11-07
EP2328095A1 (en) 2011-06-01
JP2010061324A (ja) 2010-03-18

Similar Documents

Publication Publication Date Title
JP4920015B2 (ja) 分散制御用制御ソフトウェアおよび電子制御装置
JP5816572B2 (ja) 車両用制御装置
JP4728020B2 (ja) 車両制御用ソフトウェア及び車両制御装置
JP3610915B2 (ja) 処理実行装置及びプログラム
CN105094084B (zh) 支持多核控制器上的相干数据访问的服务和***
CN103329102A (zh) 多处理器***
JP2013161299A (ja) 情報処理装置、インタフェースアクセス方法
US7930523B2 (en) Inter-CPU data transfer device
JP4971676B2 (ja) 割り込み制御回路及び割り込み制御方法
JP5533789B2 (ja) 車載電子制御装置
CN114780248A (zh) 资源访问方法、装置、计算机设备及存储介质
JP2001216284A (ja) 電子制御装置
JP7425685B2 (ja) 電子制御装置
US20130117533A1 (en) Coprocessor having task sequence control
US20220185303A1 (en) Vehicle control device including asynchronous driver
JP6654230B2 (ja) 車両制御装置
JP2006201948A (ja) 割込み信号受け付け装置および割込み信号受け付け方法
JP7204443B2 (ja) 車両制御装置およびプログラム実行方法
WO2021106608A1 (ja) 情報処理装置
JP6466269B2 (ja) 電子制御装置及びスタック領域の使用監視方法
JP5085719B2 (ja) 車両制御用ソフトウェア及び車両制御装置
JP6771272B2 (ja) 車載電子制御装置及びスタック使用方法
JP2019135656A (ja) 電子制御装置及びスタック使用方法
CN115981856A (zh) 一种多核cpu的星上软件负载均衡方法
JP2005240631A (ja) 内燃機関制御系の異常監視システム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111129

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: 20120104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120131

R150 Certificate of patent or registration of utility model

Ref document number: 4920015

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: 20150210

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350