JP3827615B2 - マイコンのロジック開発装置及び開発方法 - Google Patents
マイコンのロジック開発装置及び開発方法 Download PDFInfo
- Publication number
- JP3827615B2 JP3827615B2 JP2002167711A JP2002167711A JP3827615B2 JP 3827615 B2 JP3827615 B2 JP 3827615B2 JP 2002167711 A JP2002167711 A JP 2002167711A JP 2002167711 A JP2002167711 A JP 2002167711A JP 3827615 B2 JP3827615 B2 JP 3827615B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- block
- microcomputer
- peripheral
- interrupt
- 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
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の属する技術分野】
本発明はマイコンのロジック開発装置及び開発方法に関し、特に、電子制御機器に組み込まれて使用されている組込み用マイコンにおけるロジックを開発するための装置及び方法に関する。
【0002】
【従来の技術】
従来、電子制御機器の制御、例えば、ECU(電子制御ユニット)によって制御されるエンジンの制御は、排気ガス規制等の法規要求、及びマイクロコンピュータ(以後マイコンと記す)の性能向上に応じた性能向上を図るため、年々改良を加える必要があり、現状のECUの性能に先行して新しいロジックが開発されているのが現状である。このため、先行ロジックは、性能向上が見込まれる次期マイコンがターゲットとなることが多い。また、先行ロジックに必要とされる性能から性能の向上した次期マイコンの選定が行われる。
【0003】
しかしながら、性能の向上した次期マイコンを組み込んだECUは実在しないため、前述の先行ロジックは、多くの場合は現状のマイコンをベースにして開発が行われる。
【0004】
ところが、現状のマイコンを組み込んだECUを用いて先行ロジックの開発を行う場合には、以下のような問題点があった。
(1)マイコンのCPUの処理能力が不足している。
(2)マイコンのメモリの容量が足りない。
(3)周辺リソースが足りない。
(4)次期ECUを開発して製作する迄に時間がかかる。
【0005】
そして、このような問題点の存在により、次期マイコンの開発が遅れ、この次期マイコンを組み込んだECUに制御される電子制御機器の新製品の開発に支障をきたしていた。
【0006】
なお、現状の電子制御機器に組み込まれる組込み用マイコンは、電子制御機器のコストを低く抑えるために、現状のシステムに最適な仕様でCPU性能、及び周辺機能が選択されており、また、CPUやマイコン周辺リソースが1つのパッケージの中に組み込まれているため、それぞれの機能変更はマイコンを変更しない限り、不可能である。また、組込み用マイコンのロジックの開発を行うためには、CPU機能に対しては先行ロジックを処理するのに必要な処理性能が必要であり、マイコン周辺リソースには先行システムに合わせたリソースを確保する必要があった。更に、新たなマイコンの開発を行う度に、マイコンに合わせてECUを製作する必要があった。
【0007】
そこで、このような先行ロジックの開発に際して、本発明者らは、現状の電子制御機器に組み込まれる組込み用マイコンを、外部に設けた高性能のマイコンに置き換えることにより、先行ロジックを開発することができるマイコンのロジック開発装置を既に提案している(特願2001−367496号)。
【0008】
このようなマイコンのロジック開発装置のECUは一般に、マイコンのCPU機能を備えたマザーボード、マイコンの入出力(IO)のリソース機能を備えたコアボード、及び、ハード機能を備えたIFボードから構成されている。マザーボードとコアボード間はPCIバスで接続され、IO情報の通信が行われる。各ボード自体の性能は、各ボードに搭載される部品の性能によって決定されるが、各ボードの性能をマイコンのロジック開発装置自体の性能として有効に引き出せるかどうかは、マザーボードとコアボードの間におけるIO情報の通信速度、マザーボードとコアボードにおける演算処理能力が大きく影響することが知られている。
【0009】
【発明が解決しようとする課題】
しかしながら、例えば、電子制御機器が高性能のエンジンの制御システムである場合には、以下のような課題が発生する。
(1)IOデータの異常によるエンジン制御システムへの影響が大である。
(2)厳しいタイミングでのIO操作を行う際の処理が増加し、処理時間が増大する。
(3)データ処理量の多い演算処理が増加する。
【0010】
そこで、本発明の目的は、マザーボードとコアボード間におけるIO情報の確実な通信を実現できると共に、IO情報通信のスピードを向上させること、及び、マザーボードとコアボードの演算処理能力の向上を図ることができて、より高性能のエンジン制御システムに対応することが可能なマイコンのロジック開発装置及び開発方法を提供することである。
【0011】
【課題を解決するための手段】
前記目的を達成する本発明のマイコンのロジック開発装置は以下の第1から第24の形態を取り得ることを特徴としている。
【0012】
第1の形態は、高速演算機能、メモリ、及び通信機能を備えた中央ブロックと、マイコンの周辺装置を擬似的にソフトウエアで実現する疑似マイコン周辺装置、演算機能、及び通信機能を備え、中央ブロックとPCIバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を備え、周辺ブロックに接続するインタフェース回路ブロックとから構成され、電子制御ユニットに組み込まれて使用される組込み用マイコンのロジックを開発する装置であって、中央ブロックで実施される、高速演算機能による、演算処理とメモリを介して行われる入出力操作とが混在するアプリケーション処理において、高速演算機能は、処理単位の区切りの前後で入出力操作における入出力情報のみを集約し、一括してPCIバスによって周辺ブロックとの通信処理を行うを行うものである。
【0013】
第2の形態は、第1の形態の中央ブロックの高速演算機能が行うアプリケーション処理が、演算処理と中央ブロックのメモリとの入出力操作とが混在するアプリケーション処理である第1のブロックと、演算処理のみのアプリケーション処理である第2のブロックとを備えている。
【0014】
第3の形態は、第2の形態の中央ブロックが、第1のブロックのアプリケーション処理を、第2のブロックのアプリケーション処理よりも先に優先的に行うものである。
【0015】
第4の形態では、第2又は第3の形態の中央ブロックが、第1のブロックのアプリケーション処理における入出力操作の情報を、周辺ブロックと同期をとりながら遣り取りする。
【0016】
第5の形態では、第2から第4の形態の第1のブロックにおける処理が、外部状態に依存せず且つ処理中に前記入出力操作が含まれる時間同期処理と、外部状態によりイベント情報を検出してそのイベントに同期した処理を行う非時間系同期処理の2つに分けられている。
【0017】
第6の形態では、第5の形態において中央ブロックと周辺ブロックとの通信機能に同期を取るための割込み信号の信号ラインを設け、イベント情報が、信号ラインを通じて周辺ブロックから前記中央ブロックに割り込みフラグが更新されたことを通知し、第1のブロックは、この割込み信号をトリガとして入出力操作と演算処理を起動する際に、割込みフラグ情報に従って各割込み処理を行う。
【0018】
第7の形態では、第2から第6の形態の第2のブロックが、周辺ブロックの動作とは無関係に定期時間間隔で演算処理を行う。
【0019】
第8の形態では、第3の形態の中央ブロックが、周辺ブロックにおける入出力操作処理の実行中の入出力処理完了待ち状態の間に、第2のブロックのアプリケーション処理を実行する。
【0020】
第9の形態では、第6の形態の第1ブロックが、周辺ブロックからの割込み信号によって起動され、第2のブロックが中央ブロックの内部システムによって起動される。
【0021】
第10の形態では、第2の形態の中央ブロックが、第2のブロックのアプリケーション処理における或る処理の完了時に、前回の第1のブロックのアプリケーション処理の終了からの処理時間を計数し、この処理時間が所定時間を越えていた場合には、或る処理の結果のデータの受け渡し処理を禁止する。
【0022】
第11の形態では、第1から第10の形態の周辺ブロックに、中央ブロックへの入力情報を格納すると共に、中央ブロックからの出力情報を格納するPCIメモリを設け、このPCIメモリの入力情報の格納領域と出力情報の格納領域が分けられている。
【0023】
第12の形態では、第11の形態の周辺ブロックが、PCIメモリに中央ブロックからの出力情報が完全に書き込まれた後に、PCIメモリから情報の読み出しを行う。
【0024】
第13の形態では、第1から第12の形態の中央ブロック及び周辺ブロックが、PCIバスを用いた通信の際に、データの値の変化したもののみを抽出して送信を行う。
【0025】
第14の形態では、第5又は6の形態の中央ブロックと周辺ブロックとの間に、PCIバスに加えて、周辺ブロックから中央ブロックに割込み信号を送出する割込み信号ラインと、中央ブロックから周辺ブロックに同期信号を送出する同期信号ラインとが設けられている。
【0026】
第15の形態では、第14の形態の周辺ブロックが、割込み信号ラインを通じて割込みフラグ情報を送信し、この割込みフラグ情報には周辺ブロックで生成した時間同期タイミング信号を加え、同一サンプリングタイミングで複数のフラグが検出された場合には、各フラグの優先度に応じて、中央ブロックが割込み処理の調停を行う。
【0027】
第16の形態では、第15の形態の周辺ブロックが、割込みフラグ情報を中央ブロックに送信した後は、割込みフラグ情報を無条件にクリアする。
【0028】
第17の形態では、第16の形態の周辺ブロックが、割込みフラグ情報がない場合に、中央ブロックへの送信処理を停止する。
【0029】
第18の形態では、第1から17の形態の周辺ブロックが複数個設けられている。
【0030】
第19の形態では、第18の形態の複数個の周辺ブロックが、中央ブロックから入力された入出力処理を分散して並列処理する。
【0031】
第20の形態では、第19の形態の複数個の周辺ブロックによる並列処理を、各周辺ブロックとの同期信号の遣り取りによって行う。
【0032】
第21の形態では、第2の形態の第1のブロックにおけるアプリケーション処理の処理単位が大きい場合に、第1のブロックが、この処理単位を分割して処理する。
【0033】
第22の形態では、第21の形態のアプリケーション処理の処理単位が、高優先度の処理単位と低優先度の処理単位に分割されている。
【0034】
第23の形態では、第21の形態のアプリケーション処理の処理単位が、外部状態に依存せず且つ処理中に前記入出力操作が含まれる時間同期処理と、外部状態によりイベント情報を検出してそのイベントに同期した処理を行う非時間系同期処理の2つの処理単位に分割されている。
【0035】
第24の形態では、第23の形態の時間同期処理と非時間系同期処理が、それぞれ更に高優先度の処理単位と低優先度の処理単位に分割されている。
また、前記目的を達成する本発明のマイコンのロジック開発方法は、高速演算機能、メモリ、及び通信機能を備えた中央ブロックと、マイコンの周辺装置を擬似的にソフトウエアで実現する疑似マイコン周辺装置、演算機能、及び通信機能を備え、中央ブロックとPCIバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を備え、周辺ブロックに接続するインタフェース回路ブロックとから構成され、電子制御ユニットに組み込まれて使用される組込み用マイコンのロジックを開発する方法であって、中央ブロックにおいて、演算処理とメモリを介して行われる入出力操作とが混在するアプリケーション処理を、高速演算機能により行い、このアプリケーション処理において、高速演算機能が、処理単位の区切りの前後で入出力操作における入出力情報のみを集約し、一括して前記PCIバスによって周辺ブロックとの通信処理を行う。
【0036】
なお、以上の全ての形態において、中央ブロック、周辺ブロック、インタフェース回路ブロックをそれぞれ汎用のボードから構成することができる。また、本発明のマイコンのロジック開発装置は、内燃機関の制御用のマイコンに有効に適用できる。
【0037】
以上のように構成された本発明のマイコンのロジック開発装置によれば、マイコンのロジックの開発に伴う課題が解消され、CPU機能に対しては新規なロジックや次期ロジックを処理するために必要な処理性能を確保することができ、マイコン周辺リソースに対しては、新規システムや次期システムに合わせたリソースを確保することができて、新規ロジックや次期ロジックを実現することが可能な組込み用マイコンを短時間で開発することが可能となる。また、本発明のマイコンのロジック開発装置は、ロジックの開発に際して繰り返し利用することが可能であるので、開発コストを低減することができる。
【0038】
【発明の実施の形態】
以下添付図面を用いて本発明の実施形態を具体的な実施例に基づいて詳細に説明するが、以下の実施例では、本発明を適用する電子制御機器として、電子制御式内燃機関(内燃機関は以下エンジンと記す)を説明する。
【0039】
図1は従来の電子制御式エンジンの制御システムにおけるECU(電子制御ユニット)1の構成を示すシステム構成図である。電子制御式エンジンでは、エンジン回転数信号や車速信号等のパルス入力、水温センサや吸気温センサ等からのアナログ入力、及びスタータスイッチ、電気負荷スイッチ、シフト位置スイッチやエアコン信号等のデジタル入力がECU1に入力される。ECU1は、これらの入力信号を処理する組込み用マイコン2と、組込み用マイコン2で処理された信号を増幅して出力するECU入出力回路であるドライバ16とを備えて構成される。このECU1から出力されるのは、シフト制御ソレノイドやVVT(可変バルブタイミング)ソレノイドへのアナログ出力、点火信号や燃料の噴射信号等のパルス出力、ISC(アイドル速度制御)用のパルス出力、及び、チェックエンジンランプ、メインリレーやエヤコンカット信号等のデジタル信号等である。
【0040】
組込み用マイコン2は、演算処理を行うメモリ9とCPU10、及び入出力(IO)制御を行う周辺リソースが、1つのパッケージに収納されたものである。周辺リソースには、入力系のリソースと出力系のリソースとがある。図1には、入力系のリソースとして、デジタル信号を扱う入力ポート3とラッチポート4、アナログ入力を扱うA/Dコンバータ5、及びパルス入力を扱うキャプチャ6が示してあり、出力系のリソースとしては、デジタル出力を出力する出力ポート12、パルス出力を出力するPWM(パルス幅変調器)13とコンペア14、及びアナログ出力を入出力するシリアル15が示してある。これらの周辺リソースは内部バス11によってメモリ9及びCPU10に相互に接続されている。また、組込み用マイコン2の内部には、これらの周辺リソースに加えて、内部タイマ7や割り込みコントローラ8が設けられている。
【0041】
電子制御式エンジンの制御システムでは、車両の運転状態を表す各センサやスイッチ類からの信号がECU1に取り込まれる。ECU1の入力回路では入力信号が信号処理され、組込み用マイコン2に入力される。入力された信号は前述の入力系の周辺リソースでCPU値に変換され、演算部であるメモリ9とCPU10では入力信号から車両状態が検出され、車両状態に応じた出力要求信号が作られる。この出力要求信号は前述の出力系の周辺リソースで出力信号に変換され、組込み用マイコン2から出力される。ECU1の入出力回路であるドライバ16はこの出力信号に従って車両に装備された各アクチュエータを駆動し、この出力制御の結果が破線で示すように、車両からの入力信号に反映される。
【0042】
図2は、図1で説明したECU1の自動車(車両)18への搭載位置を示すものである。ECU1は車両18のエンジン19がマウントされるエンジンルームに搭載される。また、図2には、本発明のマイコンのロジック開発装置20が示してある。本発明のマイコンのロジック開発装置20は、この図に示すように、車両18に搭載されたECU1に接続するコネクタを外し、このコネクタに接続コード20Aによって直接接続して使用することができる。21はマイコンのロジック開発装置20の状態をモニタするための表示器、22はマイコンのロジック開発装置20の設定を変更するための入力装置であるキーボードである。
【0043】
なお、本発明のマイコンのロジック開発装置20は、このように車両18に直接接続して使用することができる他に、パーソナルコンピュータ24の制御によって動作して、車両の色々な運転状況を擬似的に発生することができる車両の運転状況発生装置23に接続すれば、車両が無い状態でも、電子制御式エンジン用の組み込みマイコンのロジックを開発することができる。
【0044】
図3は、図2のように接続して使用することができる、本発明のマイコンのロジック開発装置20のシステム構成を、従来の電子制御式エンジン(電子制御機器)用のECU1の構成と比較して示すものである。前述のように、ECU1には、組込み用マイコン2と、ドライバ16から構成されるECU入出力回路28があり、ECUコネクタ29で車両側の電子機器と接続されている。また、組込み用マイコン2の中には、メモリ9に格納されていてCPU10によって読み出されて使用されるソフトウエア(エンジン制御アプリケーション:図にはENG制御アプリと記載)25と、マイコン周辺リソース26とがあり、内部バス11で相互にデータの遣り取りができるようになっている。
【0045】
一方、図2で説明したように、このECU1に置き換えて使用する本発明のマイコンのロジック開発装置20は、この実施例では、中央ブロックであるマザーボード30、周辺ブロックであるコアボード40、及びインタフェース回路ブロックであるIFボード50の3つのボードから構成されている。マザーボード30とコアボード40がECU1の組込み用マイコン2に対応するものであり、IFボード50がECU1のECU入出力回路28に対応するものである。そして、マザーボード30とコアボード40とは、高速のバスインタフェースであるPCIバス39で接続されている。
【0046】
マザーボード30には、後述するメモリに格納されていてCPUによって読み出されて使用されるソフトウエア(ENG制御アプリ)31と、PCIバス39を通じて通信を行うためのPCI通信ソフトウエア(以後ソフトウエアはソフトと略記)32が設けられている。PCIバス39を用いたPCI通信処理は、疑似マイコン周辺リソース(以後周辺リソースは単に周辺と略記)42と遣り取りするデータを、PCIバス39に載せる通信処理である。このマザーボード30には、次期のECUを開発するに当たっては、次期ECUの先行ロジックの開発に耐え得る演算性能、メモリ容量を備えさせることが重要である。
【0047】
なお、現状のエンジン制御用のマイコンの性能は、CPUが64MHz、メモリが1Mバイト程度であるので、パソコン等に用いられている汎用のものを用いれば、十分すぎる性能であるといえ、長期間にわたって何度でも使用することが可能となる。
【0048】
また、コアボード40はCPUとメモリを含み、前述のPCIバス39と通信を行うためのPCI通信ソフト41と、組込み用マイコン2のマイコン周辺リソース26に対応する疑似マイコン周辺(FPGA:Field Programmable Gate Array)42とがあり、内部バス43で相互にデータの遣り取りができるようになっている。IFボード50には、ECU1のECU入出力回路28に対応するECU入出力回路51と、ECUコネクタ29とが設けられている。ECU入出力回路51は、標準回路ブロック単位で独立させ、その組み合わせで構成し、入出力回路の変更に対して柔軟に対応できるようにする。
【0049】
図4は、図3のマザーボード30とコアボード40の、ハードウエアの構成の一実施例を示すものである。マザーボード30には、図3で説明したソフト(ENG制御アプリ)を記憶するための記憶容量が大きいメモリ31、汎用の高性能のCPU(例えば、動作周波数が850MHz)33、内部タイマ35、PCIバス39に接続するPCIバスインタフェース36、及びこれらを相互に接続する内部バス37がある。
【0050】
コアボード40には、PCIバス39に接続するPCIバスインタフェース44、マザーボード30に搭載されたCPU33よりも低グレードのCPU45、マイコン周辺の機能と同等の機能を実現する疑似マイコン周辺(FPGA)42、内部バス43、PCIバスに接続する共有メモリ46、及び内部バス43に接続する内部メモリ47がある。また、コアボード40に搭載するCPU45は、PCI通信処理を行うことができる程度の処理能力(例えば、汎用32ビットCPUで動作周波数が16MHz程度)であれば良い。コアボード40の機能は、従来のECU1におけるENG制御アプリ(ソフト)25とマイコン周辺26とが遣り取りするデータをPCIバス39を経由して受け、疑似マイコン周辺(FPGA)42へ受け渡すことである。
【0051】
IFボード50に接続される各FPGA42はソフトで組むことができ、マイコン周辺の変更に柔軟に対応させることができる。即ち、チャネル数を増やしたい場合や、新しい機能のリソースを追加したい等の場合に対応させることができる。
【0052】
図5は、本発明のマイコンのロジック開発装置20における、ECU1のソフトの構成(一部ハードも記載)を示すものである。ECU1には、マイコンコア相当の機能を実現するマザーボード30、マイコンリソース相当の機能を実現するコアボード40、及びECU1のハード相当の機能を実現するIFボード50がある。ECU1のハードとは、マイクロコンピュータ以外の電気回路のことである。
【0053】
マザーボード30及びコアボード40には、マイコンリソースに接続するバス相当の機能を実現するIOドライバ(マザーボード側IOドライバ30Dとコアボード側IOドライバ40D)が実装されており、その間はPCIバス39と複数の信号ラインA,Bで接続される。信号ラインAはPCIバス39に設けられた1系統の割込み信号ラインであり、コアボード40からマザーボード30への割込み要求が発行できる。また、信号ラインBにより、マザーボード30からコアボード40に同期信号が発行できる。
【0054】
ECU1のハードに相当するIFボード50には、ポート割付変換ボード52と第1から第3の標準回路53がある。また、54はECU1のコネクタに相当するものである。IFボード50とコアボード40とは、マイコンポートに相当するハーネス49で接続されている。
【0055】
電子制御機器が電子制御式エンジンの場合は、マザーボード30には、エンジン制御アプリ31と、このアプリ31とFPGA42の間のIO情報の伝達を行うIOドライバ30Dの2つの大きなソフトブロックがある。エンジン制御アプリ31は、更に、演算のみを行うブロックと、IO操作と演算処理が混在するブロックに分かれる。IO操作と演算処理が混在するブロックは、実ECUに実装されているソフトがほぼこれに相当する。演算のみを行うブロックは、追加検討ロジックであり、IO操作と完全に切り分けられている。IOドライバは、マザーボード側IOドライバ30Dとコアボード側IOドライバ40Dに分かれており、マザーボード30とコアボード40間の信号ラインAを利用して、ボード間の同期をとり、PCIバス39経由でIO情報の伝達を行う。
【0056】
エンジン制御アプリ31の演算のみを行うブロックには時間同期処理のみであるが、IO操作と演算処理が混在するブロックは時間同期と非時間同期処理(時間系割り込み処理)の2つの処理に分けられる。時間同期処理は、外部状態に依存せず、一定の時間間隔で定期的に行う処理である。一方、非時間同期処理は、外部状態、即ち、エンジンの運転状態に依存して発生する処理である。この非時間同期処理には、例えば、エンジンの回転信号、車速信号、燃料の噴射タイミング信号、点火タイミング信号等による割り込み処理がある。
【0057】
ここで、このような外部状態により変化する事象をイベントと呼ぶこととすると、非時間同期処理は、外部状態によりイベント情報を検出して、そのイベントに同期して行う処理ということができる。
【0058】
マザーボード30のエンジン制御アプリ31において、前述のような時間同期処理と非時間同期処理とを行うために、図4で説明したCPU33は仮想マイコン周辺として機能する。この仮想マイコン周辺には、時間系割り込みと非時間系割り込みを発生させる仮想割り込みコントローラと、仮想IOレジスタが設けられている。また、PCI通信ソフトとしてのマザーボード側のIOドライバは、データとして、割り込みイベント情報と、IOレジスタデータとを扱う。
【0059】
一方、コアボード40側の疑似マイコン周辺42には、図3に示した従来のマイコン周辺26と同様に、ポート、ラッチ、PWM、シリアル、コンペア、及びキャプチャの各機能が設けられている。また、PCI通信ソフトとしてのコアボード側IOドライバは、データとして、割り込みイベント情報と、IOレジスタデータとを扱う。更に、コアボード40には、イベントの流れを発生させるタイマが内蔵されている。
【0060】
次に、前述のイベント情報とデータとが流れる本発明のマイコンのロジック開発装置20が実施する、(1)アプリソフトへのIO情報の反映処理方法、(2)PCI通信方法、(3)ボード間通信同期方法、及び(4)アプリ処理単位の分割によるIO処理サイクルの短縮方法について、以下に具体的な実施例に基づいて詳細に説明する。
【0061】
なお、以下の実施例では、主として、イベントの流れが実線で示され、データの流れが白抜き線で示されている。
(1)アプリソフトへのIO情報の反映処理方法
(1−1)IO操作/演算混在ソフトの処理方法
図6はIO操作と演算の混在ソフトの処理方法を示すタイミングチャートである。IO操作と演算の混在ソフトでは、マイコンにポートからデータを出力したり、ポートを読んだりすることがソフトの中に混在している。図6には、マザーボード30、PCIバス39、及びコアボード40における処理が時間の経過と共に示してある。なお、コアボード40は図示のように複数個使用することができるが、複数個使用する場合については後述し、この実施例では1つのコアボード40を使用した場合について説明する。また、ここでは、コアボード40における入力情報確定処理から、出力セット処理までが1つの処理サイクルであり、以後はこの処理サイクルが繰り返されるので、1つの処理サイクルについてのみ説明を行う。
【0062】
1つの処理サイクルでは、まず、コアボード40においてマザーボード30への入力情報が確定し、この入力情報がPCIバス39に出力される。入力情報がPCIバス39に出力されると、図5で説明した信号ラインAを通じて割込み要求信号がマザーボード30に出力される。マザーボード30はこの信号ラインAから入力された割込み要求信号により、PCIバス39から入力情報を取得する。この処理がアプリ前処理であり、PCIバス39経由でコアボード40から入力情報を取得し、次のアプリ処理に反映する。
【0063】
マザーボード30におけるアプリ処理(エンジン制御ソフト)は、IO操作と演算処理が混在するため、処理単位の区切りの前後でIO情報を集約し、一括してPCIバス39を通じて通信処理を行い、データ通信効率を上げる。ここで、アプリ処理の処理単位とは、割込みイベントに対して、起動される一連の処理全てのことである。
【0064】
アプリ処理が終了すると、アプリ後処理が行われる。アプリ後処理は、アプリ処理の結果、発生した出力要求を集約し、コアボード40へPCIバス39経由で伝達する処理である。マザーボード30においてコアボード40への出力情報が確定すると、この出力情報がPCIバス39に出力される。出力情報がPCIバス39に出力されると、図5で説明した信号ラインBを通じて同期信号がコアボード40に出力され、出力情報がPCIバス39に送られたことが通知される。コアボード40はこの信号ラインBから入力された同期信号により、PCIバス39から出力情報を取得する。PCIバス39経由でコアボード40が出力情報を取得した後は、コアボード40はその取得した出力情報に基づいて出力をセットする。
【0065】
即ち、この実施例では、コアボード40がアプリ処理単位の前処理で入力確定し、後処理で出力確定することにより、IO情報がアプリ処理ソフトに反映される。なお、この実施例では、1つの処理サイクルにおいて出力要求が確定し、マザーボード30から信号ラインBを通じて同期信号がコアボード40に出力された後は、マザーボード30はコアボード40側のIO処理が完了するまで、IO処理完了待ち状態となり、処理は行われない。マザーボード30の処理再開は、次の処理サイクルにおいてコアボード40から、信号ラインAを通じて割込み要求信号がマザーボード30に出力された時点である。
【0066】
図7は図6のマザーボード30における入力情報の取得、アプリ処理、及び出力要求確定の処理の詳細を示すものである。入力情報の取得(IOドライバ前処理)でPCIバスを通じて取得される入力情報は、割込みフラグと、ポートレベル、キャプチャ値、受信データ、AD変換値等の入力データを含む。割込みフラグは割込みコントローラに出力され、この割込みコントローラが割込みフラグを見てそれに付随するアプリ処理を起動する。一方、入力データは仮想レジスタ(RAM)38に格納される。
【0067】
アプリ処理にはアプリ層、アプリケーションとのインタフェース層(APF層)、ECU回路依存層(ECU層)、及びマイクロコンピュータ依存層(CPU)層があり、これらの層で必要な演算が実行され、出力を仮想レジスタ38に格納する必要がある場合は演算されたデータが仮想レジスタ38に格納されて出力設定される。また、演算に入力情報が必要な場合は仮想レジスタ38から入力情報が読み込まれる。
【0068】
このようにして、アプリ処理が終了すると、出力要求の確定(IOドライバ後処理)が実行される。IOドライバ後処理では、割込みコントローラに戻された割込みフラグが示す割込みをクリアし、出力要求を仮想レジスタから取得する。IOドライバの後処理では、得られたポートレベル、コンペア、PWM、送信データ、通信起動データ、AD起動データ等の出力情報をPCIバス経由でコアボードに出力する。
(1−2)演算のみソフトの処理方法
前述のように、マザーボード30におけるアプリ処理には、IO操作と演算処理が混在する処理と、演算のみの処理がある。図8はこれらの処理の詳細を示すものである。IO操作と演算処理が混在する処理には、時間同期処理1と非時間系処理(非時間同期処理)があり、演算のみの処理は時間同期処理2のみである。IO操作と演算処理が混在する処理における時間同期処理1は、定期時間間隔で行う処理であり、外部状態に依存しないものである。また、処理中にIO操作がある。IO操作と演算処理が混在する処理における非時間系処理は、エンジン(E/G)回転信号、車速信号、噴射タイミング、点火タイミング等の外部状態によりイベント情報を検出して、そのイベントに同期して行う処理であり、処理中にIO操作がある。一方、演算のみの処理における時間同期処理2は定期時間間隔で行う処理であり、外部状態に依存しないものである。また、演算処理中にIO操作はない。
【0069】
図9はIO操作と演算処理が混在する処理と、演算のみの処理の両方があるソフトの処理方法を示すタイミングチャートであり、図6で説明したタイミングチャートに演算のみの処理が加わったものである。IO操作と演算の混在処理については、図6で説明したので、ここでは説明を省略する。演算のみの処理は、コアボードの40動作とは無関係に、一定周期で起動を行う。
【0070】
また、前述のように、IOと演算処理が混在する処理では、コアボード40側でIO操作処理を行っている間は、IO処理完了待ち状態となる。そこで、この実施例では、マザーボード30におけるこのIO処理完了待ち区間を利用して、演算のみの処理を実施する。この処理により、マザーボード30のCPUの有効活用を図ることができる。
【0071】
図10は、IO操作と演算の混在処理と、演算のみの処理の両方がある場合のソフトの全体構成を示すものである。エンジン(ENG)制御アプリ31は、IO操作と演算処理が混在する処理部と演算のみの処理部の2つのブロックに分割されている。IO操作と演算処理が混在するブロックは、IO情報をコアボード40と遣り取りするため、コアボード40と同期をとりながら起動を行う。このブロックは、さらに時間同期処理1と非時間系処理の2つに分けられるが、各割込みイベントは、コアボード40からの割込みフラグ情報の中に含まれ、コアボード40からの割込み信号に集約する。IO操作と演算処理が混在する処理ブロックは、コアボード40からの割込み信号を元に起動され、演算のみの処理ブロックは、マザーボード内部システムより起動される。
【0072】
マザーボード30のENG制御アプリ31において、前述のような時間同期処理1,2と非時間系処理とを行うために、CPU33は仮想マイコン周辺として機能する。この仮想マイコン周辺33には、時間系割り込みと非時間系割り込みを発生させる仮想割り込みコントローラ34と、仮想IOレジスタ38が設けられている。また、PCI通信ソフトとしてのマザーボード側IOドライバ32は、データとして、割り込みイベント情報と、タイマ値を含むIOレジスタデータとを扱う。35は時間同期処理2に使用される内部タイマである。仮想IOレジスタ38とPCIバス39におけるタイマ値については後述する。
【0073】
一方、コアボード40側の疑似マイコン周辺42には、従来のマイコン周辺26と同様に、ポート、ラッチ、PWM、シリアル、コンペア、及びキャプチャの各機能が設けられている。また、PCI通信ソフトとしてのコアボード側IOドライバ41は、データとして、割り込みイベント情報と、タイマ値を含むIOレジスタデータとを扱う。更に、疑似マイコン周辺42には、イベントの流れを発生させるタイマが内蔵されている。また、PCIバス39には、割り込み指示用の1系統のバス(図5の信号ラインA)が含まれる。
【0074】
ここで、ENG制御アプリ31に、IO操作と演算処理が混在する処理と、演算のみの処理の両方がある場合に、コアボード40におけるIO操作の遅れを極力抑えるため、IO操作と演算処理が混在するブロックの処理を優先して行う実施例について説明する。
図11は、IO操作と演算処理が混在するブロックと、演算処理のみのブロックがある場合のソフト構成を示すものであり、IO操作と演算処理が混在するブロックのソフト構成は図7で説明したものと同じである。IO操作と演算処理が混在する処理は、RAM(図4で説明したメモリ)31を用いて行う。IO操作と演算処理が混在する処理は、コアボード40とデータを遣り取りするので、優先度を高くし、コアボード40との遣り取りのない演算のみの処理は、優先度を低くする。演算のみの処理にはアプリ層(検討ロジック)のみがあり、本発明のシステムでは一定時間間隔で起動され、演算結果をRAM31と遣り取りする。この一定時間間隔は、前述の処理サイクルに比べて十分に長い時間間隔であり、例えば、4msである。なお、図11には、優先度の高いIO操作と演算処理が混在する処理と、優先度の低い演算のみの処理とが並列に記載してあるが、両者は同時に行われる訳ではない。これを次に説明する。
(1−3)IOと演算の混在ソフト−演算のみソフト間のデータ伝達方法
図12は、コアボード40、PCIバス39、及びマザーボード30の、IO操作と演算処理が混在する処理部と演算のみの処理部の、各処理におけるデータの受渡しの進行状況を時間と共に示したタイミングチャートであり、複数のデータの同時性を確保することを示すものである。受渡しするデータは、演算のみの処理部の入出力データとなるため、演算のみの処理部の前後に実施する。 なお、図12における「入」は図6における入力情報、「受」は入力情報取得、「処」はIO操作と演算処理が混在するアプリ処理、「処1」,「処2」は演算のみのアプリ処理、「送」は出力要求確定、「出」は出力要求取得を示している。なお、演算のみのアプリ処理「処1」,「処2」は、一定周期の演算のみの起動タイミングで処理が開始される。
【0075】
ここで、IO操作と演算処理が混在する処理部を高優先度、演算のみの処理部を低優先度として割込み処理を行うため、演算のみの処理部のデータの受渡し処理(データのコピー処理)中に、IO操作と演算処理が混在する処理部を起動する割込みが発生する可能性がある。そして、この割込みが発生した場合は、演算のみの処理部のデータ受渡し途中でデータが更新され、データの同時性が確保できないため、割込みの排他を行う必要がある。但し、割込み禁止機能を使用して割込みの排他を行おうとした場合、割込み禁止中に発生したコアボード40からの割込み要求(IO操作と演算処理が混在する処理部の起動要求)が無効になる可能性があるため、割込み禁止機能は使用できない。
【0076】
そこで、この実施例では、IO操作と演算処理が混在する処理部の「送」の終了時毎に、マザーボードの内部タイマの値(timchk)をラッチして更新する。そして、演算のみの処理部の「処1」で示す演算処理の終了時にデータ受け渡し処理を要求する。これにより、データ受渡し処理判定ルーチンが実行され、ステップ121でマザーボード30の内部タイマの値がtimnowとしてセットされ、現在時刻を取得する。次のステップ122では、現在時刻timnowからIO操作と演算処理が混在する処理部の「送」の終了時にラッチした内部タイマ値timchkの値を引いた差の値が20μs未満であるか否かを判定する。差の値が20μs以上の場合は、データ受渡処理を実施せずにこのルーチンを終了し、差の値が20μs未満の場合は、データ受渡処理を実施してこのルーチンを終了する。
【0077】
図12には差の値が20μs以上の場合が示してある。この場合は、次のIO操作と演算処理が混在する処理部の「送」の終了時後に、再度データ受け渡し処理を要求する。この場合は、ステップ122における、現在時刻timnowからIO操作と演算処理が混在する処理部の「送」の終了時にラッチした内部タイマ値timchkの値を引いた差の値が20μs未満となるので、ステップ123のデータ受渡し処理を実施する。このデータ受渡し処理は、ハッチングを付して示すように、次の処理サイクルのマザーボードのIO処理完了待ちの期間に実行される。演算のみの処理部の「処2」で示すアプリ処理は、このデータ受渡し処理の終了後の、演算のみの起動タイミングで開始される。
【0078】
このように、IO操作と演算処理が混在する処理部の「送」の終了時から、その直後の演算のみの処理部の演算処理の完了時までの時間が20μsを越えた場合にデータ受渡し処理を行わない理由は、データ受渡し処理の途中で次の「IO操作と演算処理が混在する処理部」の「受」処理が開始されてしまうからである。
【0079】
次に、イベント情報とデータとが流れる本発明のマイコンのロジック開発装置20におけるPCI通信方法について詳細に説明する。
(2)PCI通信方法
(2−1)PCIデータの破壊防止方法
この実施例では、PCIデータの破壊を防止する為に、図13(a)に示すように、コアボード40のIOドライバ40DにPCIメモリ39Mを置き、PCIバス39を経由して、マザーボード30から読出し/書込みを行うように構成した。そして、データの衝突を防止するため、PCIメモリ39Mでは、マザーボード30からコアボード40に入力されるデータ(出力要求)を記憶するメモリ領域と、コアボード40からマザーボード30に出力されるデータ(入力情報)を記憶するメモリ領域を分けた。
【0080】
図13(b)はマザーボード30側のENG制御アプリ31の処理、及びコアボード40側のIOサンプリング周期(コアボードタイマ基準)毎に行われる処理を示すものである。なお、図13(b)における※1から※6は図13(a)に※1から※6で示した部分の処理に対応している。
【0081】
コアボード40側では、IOサンプリング周期毎にステップ131で入力情報のセットが行われ、FGPA42より入力情報を取得し、PCIメモリ39Mに格納する。そして、ステップ132ではマザーボード30へ割込み要求を出力する。次のステップ133ではマザーボード30からの出力要求を待ち、出力要求が入力されると、ステップ134で出力情報のセットを行い、PCIメモリ39Mから出力情報を取得してFGPA42に渡してこのルーチンを終了する。
【0082】
コアボード側の処理のステップ132においてマザーボード30へ割込み要求が出力されると、マザーボード側のIO操作と演算処理が混在する処理部の処理が開始され、ステップ135ではPCI受信処理を行う。PCI受信処理では、PCIバス39経由でPCIメモリ39Mから入力情報を読み出し、この情報をENG制御アプリ31に公開する。次のステップ136では、時間同期処理1又は非時間系処理を、実ECU実装ソフトにより実行する。そして、ステップ137でPCI送信処理を行う。PCI送信処理は、ENG制御アプリ31の算出した結果の出力情報を、PCIバス39を経由させてPCIメモリ39Mに書き込む処理である。ステップ137の出力情報をPCIメモリ39に書き込む処理が終了すると、ステップ138においてコアボード40に対して出力要求を行い、このルーチンを終了する。
【0083】
なお、マザーボード側では、コアボード側の状態に係わらず、所定時間毎、例えば、マザーボードタイマの計数による4ms周期で演算のみの処理部が動作し、時間同期処理2(検討ロジック)を実行する。
【0084】
ここで、PCIデータの破壊を防止する方法について図14と図15を用いて説明する。PCIデータの破壊を防止するために、この実施例では図14に示すように、出力要求1〜nを備えた出力要求データの末尾に、チェック用データを付加している。そして、マザーボード30の仮想レジスタ38からPCIバス39を経由して、(1)で示すように、コアボード40のPCIメモリ39MのPCI領域1に出力要求データが書き込まれた場合は、このチェック用データの有無を検出することによって、PCIメモリ39Mのデータが完全に確定したかどうかを判定する。
【0085】
この実施例では、このようにPCIメモリ39M上のデータが完全に確定してから、(2)で示すように、PCI領域からの出力要求の読み出しを行い、この出力要求をマイコン(IOドライバ)40Dに取得して図示しないFGPAにセットする。この結果、出力要求をデータ確定前に読み出すことがなくなり、出力要求が不定値となる可能性がなくなった。
【0086】
図15はPCIメモリ39Mにおけるデータ確定の確認方法の一実施例を示すものである。マザーボード側の処理では、ステップ155において、アプリ処理で出力要求を作成する。そして、ステップ156でマザーボード30からPCIバス39経由で出力要求をPCIメモリ39Mに書き込む。出力要求を全てPCIメモリ39Mに書き込んだ後に、ステップ157でチェック用データの値を反転させ、これをマザーボード30からPCIバス39M経由でコアボード40のPCIメモリ39Mに書き込む。
【0087】
一方、コアボード40側では、ステップ151において、PCIメモリ39M内のチェック用データを確認し、反転があったか否かを判断する。チェック用データに反転がない場合は、反転があるまでステップ151を繰り返す。ステップ151でチェック用データの反転を確認すると、次のステップ152でPCIバス39経由でPCIメモリ39Mに書き込まれた出力要求データは確定したと判定してステップ153に進む。ステップ153ではPCIメモリ39Mから出力要求を読み出し、次のステップ154でこの出力要求をFGPAにセットしてこのルーチンを終了する。以上の処理により、PCIデータの破壊を防止することができる。
(2−2)PCI通信負荷の低減方法
図6に示した実施例において、コアボード40からマザーボード30に送られる入力情報のデータ量が多いと、PCIバス39を流れるデータ量が多くなり、PCI通信の負荷が大きくなり、通信時間も長くなる。そこで、この実施例では図16に示すように、コアボード40からマザーボード30に送る入力情報をそのまま送信せずに、値が変化した入力情報のみ抽出してPCIバス39にPCIデータとしてセットするようにし、PCIバス39の通信データ量を低減してPCI通信負荷を低減する。また、逆に、マザーボード30からコアボード40に送る出力要求においても、入力情報に対する出力要求をそのまま送信せずに、値が変化した出力要求のみ抽出してPCIバス39にPCIデータとしてセットするようにすれば、更にPCIバス39の通信データ量を低減してPCI通信負荷を低減することができる。
【0088】
なお、この場合、マザーボード30とコアボード40には、入力情報又は出力要求として送信されるIO情報のフルスペックのIO情報テーブルを持たせておき、抽出されて送信されてきたIO情報を、マザーボード30とコアボード40側でフルスペックのIO情報の戻すようにし、PCIバス39の通信データ量のみを低減するようにする。これを図17を用いて説明する。
【0089】
図17はマザーボード30からコアボード40側へのPCI通信処理を示すものである。マザーボード30側とコアボード40側には、フルスペックのIO情報のテーブル(IO操作の全ての情報を記載したもの)が備えられている。そして、IO情報のテーブルに格納されたデータには、ID番号がデータ毎に付されている。ここでは、説明を簡単にするために、IO情報に付されたID番号がID=1〜8である場合について説明する。
【0090】
例えば、マザーボード側のIO情報のうち、ID=3とID=6のデータのみに変化があり、他のデータには変化がなかった場合を考える。この場合は、IO情報の中からID=3とID=6のデータのみが抽出(圧縮処理)され、これらがPCIデータとしてPCIバス39に出力される。このとき、ヘッダとして、データ個数が2個で、データID番号が3,6であるという情報もPCIバス39経由でコアボード40に送られる。
【0091】
コアボード40側では、PCIバス39を通じてマザーボード30から送られてきたデータを、ヘッダを解読することにより、フルスペックのIO情報のテーブルの所定の位置に格納する処理(解凍処理)が行われる。このような処理により、最小限のデータ個数の送信で、PCIバス39の通信負荷を軽減することができる。
(3)ボード間通信同期方法
次に、コアボード40からマザーボード30への割込み信号、及びマザーボード30からコアボード40への同期信号ラインを利用することにより、タイムロスを極力抑えることができるボード間の通信同期方法について説明する。
(3−1)マザーボード−コアボード間の同期処理方法
図18は、コアボード40側の処理のメインルーチン、及び、マザーボード30側のコアボード40からの割込み要求による処理(IO操作と演算の混在処理)のルーチンを示すものである。
【0092】
コアボード40のメインルーチンでは、まず、ステップ1801においてエンジン制御アプリの基準時間をタイマ値timeとして取得する。次のステップ1802では、前回の時刻timeoと今回の時刻timeとの時間間隔を求め、この時間間隔が1msより大きいか否かを判定する。時間間隔が1ms以下の場合はステップ1805に進むが、時間間隔が1msを越えた場合はステップ1803において時間同期割込みフラグをセットし、前回時刻timeoに1msを加えた時刻を新たな前回時刻timeoとしてステップ1805に進む。この処理は、前回時刻timeoに累積誤差が発生しないようにするためのものである。
【0093】
ステップ1805では、前回の時刻timeoと今回の時刻timeとの時間間隔が0.9ms未満か否かを判定し、時間間隔が0.9ms以上の場合はステップ1801に戻り、時間間隔が0.9ms未満の場合はステップ1806に進む。この処理は、時間同期タイミングを確保するためのものであり、時間同期タイミング発生前の0.1msはマザーボード30とコアボード40との間の通信を禁止するものである。この禁止区間に発生した他の割込み要因は、その後に発生する時間同期タイミングで合わせてマザーボード側に送信される。
【0094】
ステップ1806では入力情報をPCIバス39にセットし、セット後に割込みフラグ情報とラッチデータを無条件にクリアする。この処理は、ハンドシェークの通信を実現する際に、データの取りこぼしがないようにするためである。次のステップ1807では割込みフラグの値が全て0(割込みフラグがある時はフラグ値が1)であるか否かを判定する。そして、割込みフラグの値が全て0の場合(割込みフラグが存在しない場合)は、マザーボード30側の処理も発生しないため、マザーボード30とコアボード40間の通信の必要がなく、ステップ1801に戻る。一方、ステップ1807で割込みフラグが1つでもあると判定した場合はステップ1808に進む。ステップ1808ではマザーボード30への割込み要求を行う。
【0095】
ステップ1808でマザーボード30への割込み要求を行った後は、ステップ1809においてマザーボード30からの出力要求があるか否かを判定する。出力要求がない場合は、マザーボード30からの出力要求があるまで待ち、出力要求がえられた時にステップ1810に進む。ステップ1810ではPCIバス39を経由してPCIメモリ39Mに入力されたデータの確定をチェックする。この確定処理は、マザーボード30側でPCIデータを設定後、データ確定までには遅延時間があるために必要となるものである。次のステップ1811で出力情報をFPGAにセットしてステップ1801に戻り、このルーチンを繰り返す。
【0096】
一方、マザーボード30側では、コアボード40側からの割込み要求があるとIO操作と演算処理の混在処理が開始され、ステップ1812でPCIバス39から入力される入力情報の受信処理を行う。そして、次のステップ1813では入力情報を仮想レジスタ38にセットし、ステップ1814では割込みフラグ情報に従ってアプリを起動する。ステップ1815ではENG制御アプリ31の処理を行い、処理が終わるとステップ1816で割込みフラグをクリアし、次のステップ1817では出力要求を仮想レジスタ38より抽出し、ステップ1818でPCI送信処理を行う。そして、ステップ1819でコアボード40側へ出力要求を発行してこのルーチンを終了する。
【0097】
以上の処理において、時間同期タイミングは、コアボード30で生成し、割込みフラグ情報に加えられる。また、同一サンプリングタイミングで複数のフラグが立った場合は、各優先度に応じて、マザーボード30で調停する。なお、図18には、マザーボード30におけるの演算のみの処理ルーチンの記述は、コアボード40側の状態に関係がないので省略した。
【0098】
図19は、サンプリング区間に何らかの割込みイベントが発生した場合の、図18に示した処理のタイムチャートである。サンプリング区間に発生した割込みイベント(キャプチャ割込み、コンペア一致割込み、受信割込み等)は、次のサンプリング区間の処理に反映される。また、割込みイベント情報は、割込みフラグに反映され、入力情報としてコアボード40からマザーボード30に送信される。マザーボード30では、割込みフラグ情報を元に各イベントに付随する処理が起動される。なお、サンプリング周期は、その区間でのIO情報量、マザーボード30の処理量により変動する。
【0099】
図20は、割込みイベントが途切れた場合の、図18に示した処理のタイムチャートである。割込みイベントは、サンプリング区間に必ず発生するわけではなく、発生間隔が開くケースがある。割込みイベントがなければ、マザーボード30のアプリ処理は行われないため、IO情報の通信をする必要もない。また、通信負荷を軽減するために割込みイベントが発生していない場合は、処理を行わない。
【0100】
図21は、時間同期イベントが発生した場合の図18に示した処理のタイムチャートである。一旦、通信を開始すると約100μsは、次の処理を行えないため、その間に時間同期イベントが発生した場合、時間同期のタイミングがずれてしまう可能性がある。そこで、時間同期イベントのタイミングを遵守するため、時間同期の割込みイベントが発生する100μs前の区間を、通信開始禁止区間としている。その間に発生した割込みイベントは、直後の時間同期イベント情報送信時に反映される。
(3−2)複数コアボードによる処理分散方法
図22は本発明のマイコンのロジック開発装置20におけるマザーボード30とコアボード40間の同期処理において、複数のコアボード40を用いて同期処理を行う場合のデータの流れを示すものである。複数コアボード40を使用することにより、IOデータの拡張性を向上させることができると共に、処理時間の短縮を図ることができる。 また、複数コアボード40のそれぞれで、IO操作を並列処理することにより、処理負荷の分散を行うことができる。この実施例ではN枚のコアボード40−1〜40−Nが並列に、PCIバス39を介してマザーボード30に接続されている。また、この実施例では、N枚目のコアボード40−Nに入力されるPCIデータ中に、マザーボード30の処理完了を確認するためのデータが含まれている。
(3−3)複数コアボードによるPCI通信方法
図23は、本発明のマイコンのロジック開発装置20におけるマザーボード30とコアボード40間の同期処理において、複数のコアボード40を用いた場合のPCI通信方法を説明するものである。
【0101】
図6で説明した1枚のコアボード40を用いたPCI通信方法では、マザーボード30におけるアプリ処理が終了した後に出力要求を確定させ、これをPCIバス39経由で1枚のコアボード40に書き込んでIO操作を行っていた。これに対して、図23のN枚のコアボード40−1〜40−Nを用いたPCI通信方法では、マザーボード30におけるアプリ処理が終了した後に、出力要求を第1から第Nのコアボード40−1〜40−Nに分けて確定させ、これをPCIバス39経由でN枚のコアボード40に書き込んでIO操作を行う。マザーボード30側の処理完了は、第N枚目のコアボード40−Nへの出力要求の確定によって全コアボードへの出力要求が確定したと判定する。
【0102】
第N枚目のコアボード40−Nへの出力要求の確定によってマザーボード30側の処理完了を確認後、コアボードにおける処理開始信号が発行され、複数のコアボード40−1〜40−Nにより、IO操作の並行処理を行う。各コアボードからはIO操作終了時点で処理完了信号が発行される。そして、第1枚目のコアボード40−1の処理完了信号から第N枚目のコアボード40−Nまでの処理完了信号の論理積(AND)をハード的に取り、全コアボードの処理が完了したことが確認されると、マザーボード30への割込み信号が発行される。
(3−4)複数コアボードの同期方法
図24は、本発明のマイコンのロジック開発装置20におけるマザーボード30とコアボード40間の同期処理における、同期信号制御を示すタイミングチャートである。この実施例では、第1から第3の、3枚のコアボードが使用されている。
【0103】
第1から第3のコアボードの出力処理が終了すると、それぞれの処理終了時点で各ボードの処理完了信号がアクティブ(ハイレベル)になる。そして、全てのコアボードの処理完了信号がアクティブになると、全処理完了信号がアクティブになる。全処理完了信号がアクティブになった時点で、各コアボードは次の処理(入力処理)に移行する。各コアボードの入力処理が開始されると、第1から第3のコアボードの処理完了信号、及び全処理完了信号がリセットされてローレベルになる。
【0104】
一方、第1から第3のコアボードの入力処理が終了すると、同様にそれぞれの処理終了時点で各ボードの処理完了信号がアクティブ(ハイレベル)になる。そして、全てのコアボードの処理完了信号がアクティブになると、全処理完了信号がアクティブになる。全処理完了信号がアクティブになった時点で、各コアボードは割込みイベント集約信号があるか否かを確認する。そして、割込みイベントなしの場合は、再度入力処理を開始し、この動作を繰り返す。各コアボードの入力処理が開始されると、同様に第1から第3のコアボードの処理完了信号、及び全処理完了信号がリセットされてローレベルになる。
【0105】
また、第1から第3のコアボードの何れかに割込みイベントがあった場合は、その時点で割込みイベント集約信号(各ボード信号の論理和(OR))がアクティブになる。そして、全てのコアボードの処理完了信号がアクティブになった時点で、各コアボードは割込みイベント集約信号がアクティブであるか否かを確認する。割込みイベント集約信号がアクティブの時は割込みイベントがあった場合であり、マザーボード30への割込み要求を発行する。
(4)アプリ処理単位の分割によるIO処理サイクルの短縮方法
(4−1)アプリ処理分割による処理サイクルの短縮方法
アプリ処理単位が大きい場合、図25に示すように、アプリ処理単位を分割することで処理サイクルを短くすることができる。この時、単にアプリ処理単位を分割したのでは、IO操作における処理時間は短縮されないが、図25のようにアプリ処理を高優先度のアプリ処理と低優先度のアプリ処理とに分けると、優先度の高いIO操作を早い時点でコアボード40において実行することができるので、実際の処理に関係する重要なIO操作を早い時点で実行することができる。この結果、処理サイクルを短く抑えることができ、IO情報が反映されるまでの時間が短くなり、応答性が向上する。
(4−2)アプリ処理分割の割込みコントロール方法
エンジン制御ECU1では、IO操作と演算処理が混在するブロックは前述のように時間同期処理と非時間系処理の2つに分けられる。更に、非時間系処理の中で規模が大きい処理は、エンジン回転信号によるクランク同期処理である。そこで、処理の規模が大きい時間同期処理とクランク同期処理は、複数の優先度に分割して処理を行うようにする。
【0106】
この場合の処理分割対象の割込みイベントの割込みフラグ構成は、処理分割を行う時間同期処理とクランク同期処理については、1つの割込みイベントに対して、複数の割込みフラグを用意する。例えば、時間同期割込みフラグを2ビット構成とし、高優先度用フラグと低優先度用フラグの2つのフラグから構成すると共に、クランク同期割込みフラグについても2ビット構成で、高優先度用フラグと低優先度用フラグの2つのフラグから構成する。
【0107】
この例を、図25の下側に記載したアプリ処理単位を分割することで処理サイクルと同様の処理サイクルを記載した図26を用いて説明する。
【0108】
図26において、コアボード40の入力情報確定時に、時間同期イベントが発生したとすると、コアボード40の内部にはフラグ“1”,“1”が立つ。このフラグは時間同期割込みフラグ“1”,“1”としてPCIバス39経由でマザーボード30に入力情報として送られる。マザーボード30に送信後、コアボード40の内部データは、高優先度側より1つクリアされ、PCIデータが“1”,“1”、コアボードの内部フラグが“1”,“1”から“0”,“1”に変化する。
【0109】
マザーボード30側では、PCIバス30経由で取得した入力情報に基づき、高優先度側より割込み処理を起動し、起動したフラグをクリアする。マザーボード30の内部データは、高優先度側より1つクリアされ、PCIデータが“1”,“1”、マザーボードの内部フラグが“1”,“1”から“0”,“1”に変化する。この後の処理サイクルの動作は図25における処理サイクルの動作と全く同じである。
【0110】
次のコアボード40の入力情報確定時には、入力情報をマザーボード30に送信後、コアボード40の内部データは、高優先度側より1つクリアされ、PCIデータが“0”,“1”、コアボードの内部フラグが“0”,“1”から“0”,“0”に変化する。このようにして時間同期割込み要求が完了すると、次回のイベント発生まで、時間同期割込み要求は発生しない。
【0111】
マザーボード30側では、PCIバス30経由で取得した入力情報に基づき、高優先度側より割込み処理を起動し、起動したフラグをクリアする。マザーボード30の内部データは、高優先度側より1つクリアされ、PCIデータが“0”,“1”、マザーボードの内部フラグが“0”,“1”から“0”,“0”に変化する。
【0112】
このように、高優先度割込みフラグが1ビット分クリアされても、低優先度フラグは立った状態のため、次回処理タイミングでコアボード40からマザーボード30への割込み要求は発生する。この後、時間同期の低優先度処理が実施されると、低優先度フラグがクリアされる。この結果、時間同期割込みフラグは全てクリアされ、次回処理タイミングで時間同期の割込み要求は発生しない。
【0113】
次に、時間同期割込みを高優先度処理(高)と低優先度処理(低)に分割し、クランク同期割込みを高優先度処理(高)と低優先度処理(低)に分割し、更に、或る割込み処理Aに対しては処理分割を行わない処理分割対象外とし、これらの処理の優先度を、「時間同期割込み(高)」>「クランク同期割込み(高)」>「クランク同期割込み(低)」>「時間同期割込み(低)」とした時の、マザーボード30内のIOドライバ30Dの割込みコントロール処理の手順の一例を図27のフローチャートに示す。
【0114】
ステップ2701では、処理分割対象処理実施済フラグXINHを、処理分割対象処理が実施されていないことを示すOFFにする。次のステップ2702では、時間同期割込み(高)フラグが有るか否かを判定し、このフラグが有る場合にはステップ2703から2705の処理を行う。ステップ2703では時間同期割込み(高)フラグをクリアし、ステップ2704では処理分割対象処理実施済フラグXINHを、処理分割対象処理が実施されたことを示すONにする。そして、ステップ2705において時間同期割込み(高)ルーチンを起動してステップ2706に進む。一方、ステップ2702で時間同期割込み(高)フラグがないと判定された場合は、ステップ2703〜2705の処理を行わずにステップ2706に進む。
【0115】
ステップ2706ではクランク同期割込み(高)フラグが有るか否かを判定し、このフラグが有る場合にはステップ2708に進んで処理分割対象処理実施済フラグXINHがOFFか否かを判定する。処理分割対象処理実施済フラグXINHは、時間同期割込み(高)ルーチンが起動されている時は、ステップ2704でONにされているので、ステップ2709〜2711の処理は行わずにステップ2712に進む。また、ステップ2706でクランク同期割込み(高)フラグがないと判定された場合もステップ2712に進む。
【0116】
ステップ2712では、割込み処理Aのフラグがあるか否かを判定し、フラグがない場合にはステップ2715に進むが、フラグが有る場合にはステップ2713に進む。ステップ2713では割込み処理Aのフラグをクリアし、ステップ2714で割込み処理Aのルーチンを起動してステップ2715に進む。前述のように、割込み処理Aは処理分割対象外であるので、時間同期割込み(高)ルーチンが起動されていても起動される。
【0117】
ステップ2715ではクランク同期割込み(低)フラグが有るか否かを判定するが、このフラグが有る場合でもステップ2716の判定で処理分割対象処理実施済フラグXINHがONと判定されるのでステップ2720に進み、ステップ2717〜2719の処理は行われない。また、ステップ2715でクランク同期割込み(低)フラグがないと判定された場合もステップ2720に進む。
【0118】
ステップ2720では時間同期割込み(低)フラグが有るか否かを判定するが、このフラグが有る場合でもステップ2721の判定で処理分割対象処理実施済フラグXINHがONと判定されるので、ステップ2722とステップ2723の処理は行われずにこのルーチンを終了する。また、ステップ2720で時間同期割込み(低)フラグがないと判定された場合もこのルーチンを終了する。
【0119】
このように、クランク同期割込み(高)処理、クランク同期割込み(低)処理、及び時間同期割込み(低)処理は、これより優先度の高い処理が起動されている時には実行されない。
【0120】
クランク同期割込み(高)処理が起動されるのは、ステップ2701で処理分割対象処理実施済フラグXINHがOFFにされた後にステップ2702で時間同期割込み(高)フラグがなかった場合(元々ない場合か、或いはステップ2704でフラグがクリアされた場合)である。この時はステップ2706からステップ2708に進み、ステップ2708の判定がイエスになるのでステップ2709〜ステップ2711の処理を行う。ステップ2709ではクランク同期割込み(高)フラグをクリアし、ステップ2710では処理分割対象処理実施済フラグXINHをONにし、そして、ステップ2711においてクランク同期割込み(高)ルーチンを起動してステップ2712に進む。このように、クランク同期割込み(高)ルーチンを起動した後は、再びステップ2701が行われるまでは、クランク同期割込み(低)処理と時間同期割込み(低)処理は行わない。
【0121】
クランク同期割込み(低)処理が起動されるのは、ステップ2701で処理分割対象処理実施済フラグXINHがOFFにされた後にステップ2702で時間同期割込み(高)フラグがなく、ステップ2706でクランク同期割込み(高)フラグがなかった場合である。この時はステップ2715からステップ2716に進み、ステップ2716の判定がイエスになるのでステップ2717〜ステップ2719の処理を行う。ステップ2717ではクランク同期割込み(低)フラグをクリアし、ステップ2718では処理分割対象処理実施済フラグXINHをONにし、そして、ステップ2719においてクランク同期割込み(低)ルーチンを起動してステップ2720に進む。このように、クランク同期割込み(低)ルーチンを起動した後は、再びステップ2701が行われるまでは、時間同期割込み(低)処理は行わない。
【0122】
時間同期割込み(低)処理が起動されるのは、ステップ2701で処理分割対象処理実施済フラグXINHがOFFにされた後にステップ2702で時間同期割込み(高)フラグがなく、ステップ2706でクランク同期割込み(高)フラグがなく、ステップ2715でクランク同期割込み(低)フラグがなかった場合である。この時はステップ2720からステップ2721に進み、ステップ2721の判定がイエスになるのでステップ2722とステップ2723の処理を行う。ステップ2722では時間同期割込み(低)フラグをクリアし、ステップ2723において時間同期割込み(低)ルーチンを起動してこのルーチンを終了する。
【0123】
なお、以上説明した実施例では、本発明のマイコンのロジック開発装置を用いて開発する電子制御機器として、電子制御式エンジンを説明したが、本発明は、その他の電子制御機器用の組込み用マイコンの開発にも有効に適用できる。更に、本発明のマイコンのロジック開発装置は、次期マイコンの開発に加えて、新規なマイコンの開発にも有効に適用することができる。更に、本発明のマイコンのロジック開発装置は、マザーボードのメモリに記憶するプログラムの変更、コアボードに実装する疑似マイコン周辺を用途に応じて増減することにより、異なるマイコンの開発に対して、繰り返し使用することができる。
【0124】
【発明の効果】
以上説明したように、本発明のマイコンのロジック開発装置及び開発方法によれば、ロジックの開発に伴う課題が解消され、マザーボードとコアボード間におけるIO情報の確実な通信を実現できると共に、IO情報通信のスピードを向上させること、及び、マザーボードとコアボードの演算処理能力の向上を図ることができて、より高性能のエンジン制御システムに対応することが可能なマイコンのロジック開発装置及び開発方法を提供することができるという効果がある。また、本発明のマイコンのロジック開発装置及び開発方法は、マイコンの開発に当たって繰り返し利用することが可能であるので、開発コストを低減することができるという効果もある。
【図面の簡単な説明】
【図1】本発明の背景となる電子制御式エンジンの制御システムにおけるECUの構成を示すシステム構成図である。
【図2】図1のECUのロジックを開発する場合における本発明のマイコンのロジック開発装置の全体構成を示す説明図である。
【図3】本発明のマイコンのロジック開発装置のシステム構成を従来の電子機器制御用のECUの構成と比較して示すブロック構成図である。
【図4】図3のマザーボードとコアボードの内部構成の一実施例を示すブロック構成図である。
【図5】本発明のマイコンのロジック開発装置のマザーボードとコアボードのソフト構成、及びIFボードのハード構成を示す構成図である。
【図6】IO操作と演算の混在ソフトの処理方法を示すタイミングチャートである。
【図7】図6のマザーボードにおける入力情報の取得、アプリ処理、及び出力要求の確定の詳細を示すソフト構成図である。
【図8】IO処理と演算処理が混在する処理と演算処理のみの内容を比較して示す比較図である。
【図9】本発明のマイコンのロジック開発装置におけるマザーボードとコアボードの間のIO操作と演算の混在ソフトの処理方法の、IO処理完了待ち時間を利用して演算のみの処理を実施する方法を示すタイミングチャートである。
【図10】本発明のマイコンのロジック開発装置におけるマザーボードとコアボードのソフトの全体構成を示す説明図である。
【図11】本発明のマイコンのロジック開発装置におけるマザーボードの、IO操作と演算処理が混在するブロックと演算処理のみのブロックの、優先度を説明する図である。
【図12】図11で説明した優先度に基づいた、マザーボードとコアボードの間の通信方法のタイミングチャートである。
【図13】 (a)はPCIデータの破壊防止を実施するための構成を示す図、(b)は本発明のマイコンのロジック開発装置におけるPCIバスの通信内容を説明するフローチャートである。
【図14】PCI通信方法における、PCIデータの破壊防止方法を説明する説明図である。
【図15】図14で説明したPCI通信方法における、PCIメモリ上のデータ確定の確認方法の手順を示すフローチャートである。
【図16】PCI通信方法における、PCI通信負荷の低減方法を説明する説明図である。
【図17】PCIデータの圧縮・解凍方法を説明する説明図である。
【図18】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理を説明するフローチャートである。
【図19】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理において、サンプリング期間に何らかの割り込みイベントが発生した場合のタイミングチャートである。
【図20】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理において、割り込みイベントが途切れた場合のタイミングチャートである。
【図21】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理において、時間同期イベントが発生した場合のタイミングチャートである。
【図22】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理において、複数のコアボードを用いて同期処理を行う場合のデータの流れを示す説明図である。
【図23】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理において、複数のコアボードを用いた場合のPCI通信方法を説明する説明図である。
【図24】本発明のマイコンのロジック開発装置におけるマザーボードとコアボード間の同期処理における、同期信号制御を示すタイミングチャートである。
【図25】本発明のマイコンのロジック開発装置において、アプリ処理単位が大きい場合に、アプリ処理を分割する際の分割処理の方法を説明する図である。
【図26】図25の分割処理方法における、割込みコントロール方法を説明する説明図である。
【図27】本発明のマイコンのロジック開発装置における割込みコントローラの処理を説明するフローチャートである。
【符号の説明】
1…ECU
2…組込み用マイコン
7…内部タイマ
8…割り込みコントローラ
9…メモリ
10…CPU
11…内部バス
20…本発明のロジック開発装置
28…ECU入力回路
29…ECUコネクタ
30…マザーボード
30D…IOドライバ
31…ソフトウエア(エンジン制御アプリ)
32…PCI通信ソフトウエア
33…CPU
34…仮想割り込みコントローラ
35…内部タイマ
36…PCIバスインタフェース
37…内部バス
38…仮想I/Oレジスタ
39…PCUバス
39M…PCIメモリ
40…コアボード
40D…IOドライバ
41…PCI通信ソフト
42…疑似マイコン装置(FPGA)
43…内部バス
44…PCIバスインタフェース
45…CPU
46…共有メモリ
47…内部メモリ
50…IFボード
Claims (25)
- 高速演算機能、メモリ、及び通信機能を備えた中央ブロックと、マイコンの周辺装置を擬似的にソフトウエアで実現する疑似マイコン周辺装置、演算機能、及び通信機能を備え、前記中央ブロックとPCIバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を備え、前記周辺ブロックに接続するインタフェース回路ブロックとから構成され、電子制御ユニットに組み込まれて使用される組込み用マイコンのロジックを開発する装置であって、
前記中央ブロックで実施される、前記高速演算機能による、演算処理と前記メモリを介して行われる入出力操作とが混在するアプリケーション処理において、前記高速演算機能は、処理単位の区切りの前後で前記入出力操作における入出力情報のみを集約し、一括して前記PCIバスによって前記周辺ブロックとの通信処理を行うようにしたことを特徴とするマイコンのロジック開発装置。 - 前記中央ブロックの前記高速演算機能が行うアプリケーション処理が、演算処理と前記中央ブロックのメモリとの入出力操作とが混在するアプリケーション処理である第1のブロックと、演算処理のみのアプリケーション処理である第2のブロックとを備えることを特徴とする請求項1に記載のマイコン用ロジック開発装置。
- 前記中央ブロックは、前記第1のブロックの前記アプリケーション処理を、前記第2のブロックのアプリケーション処理よりも先に、優先的に行うようにしたことを特徴とする請求項2に記載のマイコンのロジック開発装置。
- 前記中央ブロックは、前記第1のブロックのアプリケーション処理における前記入出力操作の情報を、前記周辺ブロックと同期をとりながら遣り取りするようにしたことを特徴とする請求項2または3に記載のマイコンのロジック開発装置。
- 前記第1のブロックにおける処理を、外部状態に依存せず且つ処理中に前記入出力操作が含まれる時間同期処理と、外部状態によりイベント情報を検出してそのイベントに同期した処理を行う非時間系同期処理の2つに分けたことを特徴とする請求項2から4の何れか1項に記載のマイコンのロジック開発装置。
- 前記中央ブロックと前記周辺ブロックとの通信機能に同期を取るための割込み信号の信号ラインを設け、前記イベント情報を、前記信号ラインを通じて前記周辺ブロックから前記中央ブロックに割り込みフラグが更新されたことを通知し、前記第1のブロックは、この割込み信号をトリガとして前記入出力操作と演算処理を起動する際に、前記割込みフラグ情報に従って各割込み処理を行うようにしたことを特徴とする請求項5に記載のマイコンのロジック開発装置。
- 前記第2のブロックは、前記周辺ブロックの動作とは無関係に定期時間間隔で演算処理を行うようにしたことを特徴とする請求項2から6の何れか1項に記載のマイコンのロジック開発装置。
- 前記中央ブロックは、前記周辺ブロックにおける入出力操作処理の実行中の、入出力処理完了待ち状態の間に、前記第2のブロックのアプリケーション処理を実行するようにしたことを特徴とする請求項3に記載のマイコンのロジック開発装置。
- 前記第1のブロックは、前記周辺ブロックからの割込み信号によって起動され、前記第2のブロックは前記中央ブロックの内部システムによって起動されるようにしたことを特徴とする請求項6に記載のマイコンのロジック開発装置。
- 前記中央ブロックは、前記第2のブロックのアプリケーション処理における或る処理の完了時に、前回の前記第1のブロックの前記アプリケーション処理の終了からの処理時間を計数し、この処理時間が所定時間を越えていた場合には、前記或る処理の結果のデータの受け渡し処理を禁止するようにしたことを特徴とする請求項2に記載のマイコンのロジック開発装置。
- 前記周辺ブロックに、前記中央ブロックへの入力情報を格納すると共に、前記中央ブロックからの出力情報を格納するPCIメモリを設け、このPCIメモリの前記入力情報の格納領域と前記出力情報の格納領域を分けたことを特徴とする請求項1から10の何れか1項に記載のマイコンのロジック開発装置。
- 前記周辺ブロックは、前記PCIメモリに前記中央ブロックからの出力情報が完全に書き込まれた後に、前記PCIメモリから情報の読み出しを行うようにしたことを特徴とする請求項11に記載のマイコンのロジック開発装置。
- 前記中央ブロック及び前記周辺ブロックは、前記PCIバスを用いた通信の際に、データの値の変化したもののみを抽出して送信を行うようにしたことを特徴とする請求項1から12の何れか1項に記載のマイコンのロジック開発装置。
- 前記中央ブロックと前記周辺ブロックとの間に、前記PCIバスに加えて、前記周辺ブロックから前記中央ブロックに割込み信号を送出する割込み信号ラインと、前記中央ブロックから前記周辺ブロックに同期信号を送出する同期信号ラインとを設けたことを特徴とする請求項5又は6に記載のマイコンのロジック開発装置。
- 前記周辺ブロックは、前記割込み信号ラインを通じて前記割込みフラグ情報を送信し、この割込みフラグ情報には前記周辺ブロックで生成した時間同期タイミング信号を加え、同一サンプリングタイミングで複数の前記フラグが検出された場合には、各フラグの優先度に応じて、前記中央ブロックが割込み処理の調停を行うようにしたことを特徴とする請求項14に記載のマイコンのロジック開発装置。
- 前記周辺ブロックは、前記割込みフラグ情報を前記中央ブロックに送信した後は、前記割込みフラグ情報を無条件にクリアするようにしたことを特徴とする請求項15に記載のマイコンのロジック開発装置。
- 前記周辺ブロックは、前記割込みフラグ情報がない場合に、前記中央ブロックへの送信処理を停止するようにしたことを特徴とする請求項16に記載のマイコンのロジック開発装置。
- 前記周辺ブロックを複数個設けたことを特徴とする請求項1から17の何れか1項に記載のマイコンのロジック開発装置。
- 前記複数個の周辺ブロックは、前記中央ブロックから入力された入出力処理を分散して並列処理するようにしたことを特徴とする請求項18に記載のマイコンのロジック開発装置。
- 前記複数個の周辺ブロックによる並列処理を、各周辺ブロックとの同期信号の遣り取りによって行わせるようにしたことを特徴とする請求項19に記載のマイコンのロジック開発装置。
- 前記第1のブロックにおけるアプリケーション処理の処理単位が大きい場合に、前記第1のブロックは、この処理単位を分割して処理するようにしたことを特徴とする請求項2に記載のマイコンのロジック開発装置。
- 前記アプリケーション処理の処理単位を、高優先度の処理単位と低優先度の処理単位に分割したことを特徴とする請求項21に記載のマイコンのロジック開発装置。
- 前記アプリケーション処理の処理単位を、外部状態に依存せず且つ処理中に前記入出力操作が含まれる時間同期処理と、外部状態によりイベント情報を検出してそのイベントに同期した処理を行う非時間系同期処理の2つの処理単位に分割したことを特徴とする請求項21に記載のマイコンのロジック開発装置。
- 前記時間同期処理と非時間系同期処理を、それぞれ更に高優先度の処理単位と低優先度の処理単位に分割したことを特徴とする請求項23に記載のマイコンのロジック開発装置。
- 高速演算機能、メモリ、及び通信機能を備えた中央ブロックと、マイコンの周辺装置を擬似的にソフトウエアで実現する疑似マイコン周辺装置、演算機能、及び通信機能を備え、前記中央ブロックとPCIバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を備え、前記周辺ブロックに接続するインタフェース回路ブロックとから構成され、電子制御ユニットに組み込まれて使用される組込み用マイコンのロジックを開発する方法であって、
前記中央ブロックにおいて、演算処理と前記メモリを介して行われる入出力操作とが混在するアプリケーション処理を、前記高速演算機能により行い、
このアプリケーション処理において、前記高速演算機能は、処理単位の区切りの前後で前記入出力操作における入出力情報のみを集約し、一括して前記PCIバスによって前記周辺ブロックとの通信処理を行うことを特徴とするマイコンのロジック開発方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002167711A JP3827615B2 (ja) | 2002-06-07 | 2002-06-07 | マイコンのロジック開発装置及び開発方法 |
KR1020037009983A KR100606946B1 (ko) | 2001-11-30 | 2002-11-29 | 마이크로 컴퓨터의 로직 개발 장치 |
EP02783718A EP1452968A4 (en) | 2001-11-30 | 2002-11-29 | DEVELOPMENT DEVICE FOR MICROCOMPUTER LOGIC |
PCT/JP2002/012563 WO2003046725A1 (fr) | 2001-11-30 | 2002-11-29 | Appareil de mise au point de logique de micro-ordinateur |
CNB028043642A CN100395715C (zh) | 2001-11-30 | 2002-11-29 | 微型计算机的逻辑开发装置 |
US10/631,620 US7283946B2 (en) | 2001-11-30 | 2003-07-30 | Microcomputer logic development system |
US11/707,974 US7650274B2 (en) | 2001-11-30 | 2007-02-15 | Microcomputer logic development system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002167711A JP3827615B2 (ja) | 2002-06-07 | 2002-06-07 | マイコンのロジック開発装置及び開発方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004013626A JP2004013626A (ja) | 2004-01-15 |
JP2004013626A5 JP2004013626A5 (ja) | 2005-06-23 |
JP3827615B2 true JP3827615B2 (ja) | 2006-09-27 |
Family
ID=30434879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002167711A Expired - Fee Related JP3827615B2 (ja) | 2001-11-30 | 2002-06-07 | マイコンのロジック開発装置及び開発方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3827615B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4282390B2 (ja) | 2003-07-04 | 2009-06-17 | 富士通テン株式会社 | マイコンのロジック開発装置 |
US7162389B2 (en) | 2003-12-01 | 2007-01-09 | Fujitsu-Ten Limited | Evaluation device for control unit, simulator, and evaluation system |
JP2007164286A (ja) * | 2005-12-09 | 2007-06-28 | Sony Corp | 情報信号処理装置、機能ブロックおよび機能ブロックの制御方法 |
JPWO2008099931A1 (ja) | 2007-02-15 | 2010-05-27 | 富士通テン株式会社 | マイクロコンピュータの模擬装置 |
JP4843554B2 (ja) * | 2007-05-11 | 2011-12-21 | 株式会社東芝 | インターフェイスボード、シミュレータ、同期方法、同期プログラム |
JP2009054041A (ja) * | 2007-08-28 | 2009-03-12 | Fujitsu Ten Ltd | 模擬マイクロコンピュータ装置 |
WO2011046089A1 (ja) * | 2009-10-16 | 2011-04-21 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション方法、システム及びプログラム |
US9251308B2 (en) | 2012-07-23 | 2016-02-02 | International Business Machines Corporation | Simulation method, system, and program |
-
2002
- 2002-06-07 JP JP2002167711A patent/JP3827615B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004013626A (ja) | 2004-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7650274B2 (en) | Microcomputer logic development system | |
US9147016B2 (en) | Multi-ECU simulation by using 2-layer peripherals with look-ahead time | |
JP4728020B2 (ja) | 車両制御用ソフトウェア及び車両制御装置 | |
JP4920015B2 (ja) | 分散制御用制御ソフトウェアおよび電子制御装置 | |
WO2013125294A1 (ja) | 車両用制御装置 | |
JP5295355B2 (ja) | シミュレーション方法、システム及びプログラム | |
JP3827615B2 (ja) | マイコンのロジック開発装置及び開発方法 | |
US7539610B2 (en) | Microcomputer logic development | |
JP3637029B2 (ja) | 車載電子制御装置 | |
JP2007034910A (ja) | マルチcpuシステム及びスケジューラ | |
JP3827565B2 (ja) | マイコンのロジック開発装置 | |
US8386228B2 (en) | Microcomputer simulator | |
CN115509726B (zh) | 一种传感器数据访问系统 | |
JP4828947B2 (ja) | 車両制御装置の入出力装置 | |
JP2009054041A (ja) | 模擬マイクロコンピュータ装置 | |
JP2010113419A (ja) | マルチコア制御装置 | |
JP4282390B2 (ja) | マイコンのロジック開発装置 | |
JP5085719B2 (ja) | 車両制御用ソフトウェア及び車両制御装置 | |
US20090187605A1 (en) | Vehicle Control Apparatus | |
US20110055446A1 (en) | Semiconductor integrated circuit device | |
JP2010049355A (ja) | 模擬マイクロコンピュータ装置 | |
JP5156440B2 (ja) | マイクロコンピュータの模擬装置 | |
EP1473454B1 (en) | Control system with multiprocessor architecture for an internal combustion powertrain | |
JP2010224971A (ja) | ソフトウェア開発装置、実車試験方法、及びエミュレーション方法 | |
JP2005327124A (ja) | ポート割付制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041006 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060427 |
|
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: 20060606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060704 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090714 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100714 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110714 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120714 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130714 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140714 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |