JP2004234530A - マイクロコンピュータのロジック開発装置 - Google Patents
マイクロコンピュータのロジック開発装置 Download PDFInfo
- Publication number
- JP2004234530A JP2004234530A JP2003024733A JP2003024733A JP2004234530A JP 2004234530 A JP2004234530 A JP 2004234530A JP 2003024733 A JP2003024733 A JP 2003024733A JP 2003024733 A JP2003024733 A JP 2003024733A JP 2004234530 A JP2004234530 A JP 2004234530A
- Authority
- JP
- Japan
- Prior art keywords
- microcomputer
- interrupt
- peripheral
- function
- processing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Abstract
【解決手段】ECU1で使用される組込み用マイクロコンピュータ2のロジック開発装置20を、アプリケーション処理機能31と通信機能30Dを備えたマザーボード30と、疑似マイクロコンピュータ周辺装置42、演算機能40M、及び通信機能40Dを備え、マザーボード30とPCIバス39で接続されるコアボード40と、ECU1のハードウエア相当回路53,55を有し、コアボード40に接続するIFボード50とから構成し、マザーボード30の通信機能30Dと、コアボード40の疑似マイクロコンピュータ周辺装置42との間に設けたPCIバス39により、両者間で直接データの送受信を行うようにしたものである。
【選択図】 図5
Description
【発明の属する技術分野】
本発明はマイクロコンピュータのロジック開発装置に関し、特に、電子制御機器に組み込まれて使用されている組込み用マイクロコンピュータにおけるロジックを開発するための装置に関する。
【0002】
【従来の技術】
従来、電子制御機器の制御、例えば、ECU(電子制御ユニット)によって制御されるエンジンの制御は、排気ガス規制等の法規要求、及びマイクロコンピュータの性能向上に応じた性能向上を図るため、年々改良を加える必要があり、現状のECUの性能に先行して新しいロジックが開発されているのが現状である。このため、先行ロジックは、性能向上が見込まれる次期マイクロコンピュータがターゲットとなることが多い。また、先行ロジックに必要とされる性能から性能の向上した次期マイクロコンピュータの選定が行われる。
【0003】
しかしながら、性能の向上した次期マイクロコンピュータを組み込んだECUは実在しないため、前述の先行ロジックは、多くの場合は現状のマイクロコンピュータをベースにして開発が行われる。
【0004】
ところが、現状のマイクロコンピュータを組み込んだECUを用いて先行ロジックの開発を行う場合には、以下のような問題点があった。
(1)マイクロコンピュータのCPUの処理能力が不足している。
(2)マイクロコンピュータのメモリの容量が足りない。
(3)周辺リソースが足りない。
(4)次期ECUを開発して製作する迄に時間がかかる。
【0005】
そして、このような問題点の存在により、次期マイクロコンピュータの開発が遅れ、この次期マイクロコンピュータを組み込んだECUに制御される電子制御機器の新製品の開発に支障をきたしていた。
【0006】
なお、現状の電子制御機器に組み込まれる組込み用マイクロコンピュータは、電子制御機器のコストを低く抑えるために、現状のシステムに最適な仕様でCPU性能、及び周辺機能が選択されており、また、CPUやマイクロコンピュータ周辺リソースが1つのパッケージの中に組み込まれているため、それぞれの機能変更はマイクロコンピュータを変更しない限り不可能である。また、組込み用マイクロコンピュータのロジックの開発を行うためには、CPU機能に対しては先行ロジックを処理するのに必要な処理性能が必要であり、更に、マイクロコンピュータ周辺リソースには先行システムに合わせたリソースを確保する必要があった。その上、新たなマイクロコンピュータの開発を行う度に、マイクロコンピュータに合わせてECUを製作する必要があった。
【0007】
この課題に対して、汎用的なCPU、メモリ(RAM,ROM)、プログラマブル論理回路(FPGA)、及びこれらを接続するプログラマブル配線素子(FPIC)をプリント基板上に交換可能に設けて1チップマイコン用検証ボードを作成し、組込み用マイクロコンピュータの機能をこの1チップマイコン用検証ボードによって実現しているものがある。(例えば、特許文献1参照)。
【0008】
【特許文献1】
特開平8−16425号公報(図1,図2)
この1チップマイコン用検証ボードでは、1チップマイクロコンピュータを適用するシステムに対応するユーザ回路、I/O部及びレジスタ部に対応する論理機能をFPGAに書き込んでおき、FPICを用いてCPU、メモリ、及びFPGA間の入出力端子の接続状態を設定している。また、異なる1チップマイコン用検証ボードを開発する場合には、適用するシステムに対応したROM、FPGA、及びFPICを新たに作り、対応するソケットのデバイスと交換することによってこれを行っていた。
【0009】
これに対して、本発明者らは、このような先行ロジックの開発に際して汎用性を向上させるために、現状の電子制御機器に組み込まれる組込み用マイクロコンピュータを、外部に設けた高性能のマイクロコンピュータに置き換えることにより、先行ロジックを開発することができるマイクロコンピュータのロジック開発装置を既に提案した(特願2001−367496号)。
【0010】
このマイクロコンピュータのロジック開発装置では、ECUは一般に、マイクロコンピュータのCPU機能を備えたマザーボード、マイクロコンピュータの入出力(I/O)のリソース機能を備えたコアボード、及び、ハードウエア機能を備えたIFボードから構成されている。マザーボードとコアボード間はPCIバスで接続され、I/O情報の通信が行われる。各ボード自体の性能は、各ボードに搭載される部品の性能によって決定される。
【0011】
【発明が解決しようとする課題】
しかしながら、各ボードの性能をマイクロコンピュータのロジック開発装置自体の性能として有効に引き出せるかどうかは、マザーボードとコアボードの間におけるI/O情報の通信速度、マザーボードとコアボードにおける演算処理能力が大きく影響することが知られている。例えば、電子制御機器が高性能のエンジンの制御システムである場合には、以下のような課題が発生する。
(1)I/Oデータの異常によるエンジン制御システムへの影響が大である。
(2)厳しいタイミングでのI/O操作を行う際の処理が増加し、処理時間が増大する。
(3)データ処理量の多い演算処理が増加する。
【0012】
そこで、本発明の目的は、マザーボードとコアボード間におけるI/O情報の確実な通信を実現できると共に、I/O情報通信のスピードを向上させること、及び、マザーボードとコアボードの演算処理能力の向上を図ることができて、より高性能のエンジン制御システムに対応することが可能なマイクロコンピュータのロジック開発装置を提供することである。
【0013】
【課題を解決するための手段】
前記目的を達成する本発明のマイクロコンピュータのロジック開発装置は以下の第1から第21の形態を取り得ることを特徴としている。
【0014】
第1の形態は、制御ユニットに組み込まれて使用される組込み用マイクロコンピュータのロジック開発装置であって、アプリケーション処理機能と通信機能を備えた中央ブロックと、マイクロコンピュータの周辺装置を擬似的にソフトウエアで実現して入出力処理を行う疑似マイクロコンピュータ周辺装置、演算機能、及び通信機能を有し、中央ブロックとPCIバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を備え、周辺ブロックに接続するインタフェース回路ブロックとを備え、中央ブロックの通信機能と、周辺ブロックの疑似マイクロコンピュータ周辺装置とがPCIバスで接続され、このPCIバスを介して通信機能と疑似マイクロコンピュータ周辺装置との間で、直接データの送受信を行うものである。
【0015】
第2の形態は、制御ユニットに組み込まれて使用される組込み用マイクロコンピュータのロジック開発装置であって、アプリケーション処理機能と通信機能を備えた中央ブロックと、マイクロコンピュータの周辺装置を擬似的にソフトウエアで実現して入出力処理を行う疑似マイクロコンピュータ周辺装置、演算機能、及び通信機能を有し、中央ブロックとPCIバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を備え、周辺ブロックに接続するインタフェース回路ブロックとを備え、中央ブロックの通信機能と、疑似マイクロコンピュータ周辺装置との間にある演算機能に、バスコントローラが設けられ、PCIバスで中央ブロックの通信機能とこのバスコントローラとの間が接続され、バスコントローラと疑似マイクロコンピュータ周辺装置との間は内部バスで接続され、PCIバス、バスコントローラ、及び内部バスを介して、通信機能と疑似マイクロコンピュータ周辺装置との間で、直接データの送受信を行うものである。
【0016】
第3の形態は、第1又は第2の形態において、中央ブロックの通信機能とPCIバスとの間に仮想入出力レジスタが設けられており、データの入出力操作のタイミングにおいて、この仮想入出力レジスタに送受信データが一旦蓄積されることにより、この仮想入出力レジスタが実際のマイクロコンピュータの入出力レジスタと同様の振る舞いをするように構成されているものである。
【0017】
第4の形態では、第1から第3の形態の何れかのアプリケーション処理機能の処理対象が車両であり、ロジック開発装置にイグニッションスイッチが設けられており、ロジック開発装置がこのイグニッションスイッチのオン/オフに連動して、実際のECU1同様に車両の制御ソフトウエア処理の開始/停止が実行されるものである。
【0018】
第5の形態は、第4の形態のインタフェース回路ブロックに備えられた電子制御ユニットのハードウエアに相当する回路に、マイクロコンピュータを内蔵した機能回路が少なくとも1つ存在し、この機能回路は、イグニッションスイッチのオンでは動作せず、中央ブロックの処理開始タイミングに同期してオンするように構成されているものである。
【0019】
第6の形態は、第5の形態の機能回路に、イグニッションスイッチのオンで動作する電源回路と、この電源回路からの信号と、中央ブロックからの信号が共にアクティブになった時にマイクロコンピュータを動作させる論理回路が設けられているものである。
【0020】
第7の形態では、第4から第6の形態のイグニッションスイッチのオフ時に、保持すべきデータの値が、ロジック開発装置に接続されている外部記憶装置内のメモリとロジック開発装置内のメモリの何れかに保存され、イグニッションスイッチのオン時に、外部記憶装置から保持すべきデータの値が読み出されて復元され、ロジック開発装置にバックアップメモリが備えられているのと同等の機能が実現されるものである。
【0021】
第8の形態は、第4から7の形態のロジック開発装置の電源がオンされた後に、イグニッションスイッチがオンされるまでの間に、中央ブロックの初期化ルーチンにより、ポートの初期値が設定されるものである。
【0022】
第9の形態は、第1から8の何れかの形態のPCIバスに、周辺ブロックから中央ブロックへの割込み要求を発行することができる1系統の割込み信号ラインが設けられており、中央ブロックのアプリケーション処理機能は、周辺ブロックによって割込み信号ラインがアクティブになった時に割込み処理を受け付けるようになっていると共に、割込み処理の受け付け終了後に、前記割込み信号ラインがノンアクティブになるように動作することを特徴とするものである。
【0023】
第10の形態では、第9の形態の中央ブロックのアプリケーション処理機能が、割込み処理の終了時に、割込み信号ラインがノンアクティブであることを確認するように動作する。
【0024】
第11の形態では、第10の形態の中央ブロックのアプリケーション処理機能が、割込み処理の終了時に、割込み信号ラインがアクティブとなっている時は、割込み信号ラインをノンアクティブに戻すように動作する。
【0025】
第12の形態は、第1から第11の形態のブロックの演算機能にデータの一時取り込み機能が設けられており、中央ブロックと、周辺ブロックの疑似マイクロコンピュータ周辺装置との間で大量のデータが送受信される場合に、この大量のデータは中央ブロックとこの演算機能との間でバースト転送により送受信され、演算機能と疑似マイクロコンピュータ周辺装置との間は非バースト転送により少量ずつデータの送受信が行われることを特徴とするものである。
【0026】
第13の形態は、第9の形態の中央ブロックのアプリケーション処理機能により、割込み処理の受け付け終了後にPCIバスを通じて疑似マイクロコンピュータ周辺装置から割込みフラグが取得され、アプリケーション処理機能によって割込みフラグが取得されると、疑似マイクロコンピュータ周辺装置にある当該割込みフラグは、アプリケーション処理機能によりクリアされるものである。
【0027】
第14の形態は、第13の形態の中央ブロックのアプリケーション処理機能により割込みフラグが取得されると、アプリケーション処理機能により、取得した割込みフラグに付随する処理が実行されることを特徴とするものである。
【0028】
第15の形態は、第14の形態の中央ブロックのアプリケーション処理機能により、割込み処理の受け付け終了後にPCIバスを通じて疑似マイクロコンピュータ周辺装置から複数の割込みフラグがアプリケーション処理機能に取得された場合に、アプリケーション処理機能によって優先度の高い割込みフラグが1つ選択されてそのフラグに対する処理が実行され、処理終了後に、疑似マイクロコンピュータ周辺装置にある当該処理完了割込みフラグは、アプリケーション処理機能によりクリアされることを特徴としている。
【0029】
第16の形態は、第15の形態のアプリケーション処理機能によって優先度の高い割込みフラグが1つ選択されてそのフラグに対する処理が実行された後は、アプリケーション処理機能により、再度PCIバスを通じて疑似マイクロコンピュータ周辺装置から複数の割込みフラグがアプリケーション処理機能に取得されることを特徴とするのである。
【0030】
第17の形態は、第13から第16の形態の割込みフラグが、疑似マイクロコンピュータ周辺装置の1つのレジスタの連続するアドレスに、まとめて記憶されていることを特徴とするものである。
【0031】
第18の形態は、第17の形態の周辺ブロックが複数個設けられており、各周辺ブロックに設けられた各レジスタには、各周辺ブロックにおいて割込み処理を発生させる各リソースの割込みフラグがそれぞれ格納されており、第1番目の周辺ブロックに設けられたレジスタには、第1番目の周辺ブロックにおける各リソースの割込みフラグがそれぞれ格納されていると共に、残りの周辺ブロックにおける各リソースの割込みフラグの有無を示す拡張割込みフラグが、各周辺ブロック毎に格納されていることを特徴とするものである。
【0032】
第19の形態は、第18の形態の拡張割込みフラグにより、残りの何れかの周辺ブロックのレジスタに割込みフラグが格納されていることが判明した場合には、アプリケーション処理機能により、残りの周辺ブロックの当該レジスタから割込みフラグが取得されることを特徴としている。
【0033】
第20の形態は、第1から第19の形態の周辺ブロックが複数個設けられており、第1番目の周辺ブロックのみにフリーランタイマが存在し、第1番目の周辺ブロックには、少なくともフリーランタイマのタイマ値に同期して動作するリソースが配置され、残りの周辺ブロックには、フリーランタイマに依存しないリソースのみが配置されていることを特徴としている。
【0034】
第21の形態は、第20の形態のフリーランタイマのタイマ値に同期して動作するリソースがコンペア、キャプチャであり、フリーランタイマに依存しないリソースがPWM、通信、AD、及びポートであることを特徴としている。
【0035】
なお、以上の全ての形態において、中央ブロック、周辺ブロック、インタフェース回路ブロックをそれぞれ汎用のボードから構成することができる。また、本発明のマイクロコンピュータのロジック開発装置は、内燃機関の制御用のマイクロコンピュータに有効に適用できる。
【0036】
以上のように構成された本発明のマイクロコンピュータのロジック開発装置によれば、マイクロコンピュータのロジックの開発に伴う課題が解消され、CPU機能に対しては新規なロジックや次期ロジックを処理するために必要な処理性能を確保することができ、マイクロコンピュータ周辺リソースに対しては、新規システムや次期システムに合わせたリソースを確保することができて、新規ロジックや次期ロジックを実現することが可能な組込み用マイクロコンピュータを短時間で開発することが可能となる。また、本発明のマイクロコンピュータのロジック開発装置は、ロジックの開発に際して繰り返し利用することが可能であるので、開発コストを低減することができる。
【0037】
【発明の実施の形態】
以下添付図面を用いて本発明の実施形態を具体的な実施例に基づいて詳細に説明するが、以下の実施例では、本発明を適用する電子制御機器として、電子制御式内燃機関(内燃機関は以下エンジンと記す)を説明する。
【0038】
図1は従来の電子制御式エンジンの制御システムにおけるECU(電子制御ユニット)1の構成を示すシステム構成図である。電子制御式エンジンでは、エンジン回転数信号や車速信号等のパルス入力、水温センサや吸気温センサ等からのアナログ入力、及びスタータスイッチ、電気負荷スイッチ、シフト位置スイッチやエアコン信号等のデジタル入力がECU1に入力される。ECU1は、これらの入力信号を処理する組込み用マイクロコンピュータ2と、組込み用マイクロコンピュータ2で処理された信号を増幅して出力するECU入出力回路であるドライバ16とを備えて構成される。このECU1から出力されるのは、シフト制御ソレノイドやVVT(可変バルブタイミング)ソレノイドへのアナログ出力、点火信号や燃料の噴射信号等のパルス出力、ISC(アイドル速度制御)用のパルス出力、及び、チェックエンジンランプ、メインリレーやエヤコンカット信号等のデジタル信号等である。
【0039】
組込み用マイクロコンピュータ2は、演算処理を行うメモリ9とCPU10、及び入出力(I/O)制御を行う周辺リソースが、1つのパッケージに収納されたものである。周辺リソースには、入力系のリソースと出力系のリソースとがある。図1には、入力系のリソースとして、デジタル信号を扱う入力ポート3とラッチポート4、アナログ入力を扱うA/Dコンバータ5、及びパルス入力を扱うキャプチャ6が示してあり、出力系のリソースとしては、デジタル出力を出力する出力ポート12、パルス出力を出力するPWM(パルス幅変調器)13とコンペア14、及びアナログ出力を入出力するシリアル15が示してある。これらの周辺リソースは内部バス11によってメモリ9及びCPU10に相互に接続されている。また、組込み用マイクロコンピュータ2の内部には、これらの周辺リソースに加えて、内部タイマ7や割り込みコントローラ8が設けられている。組込み用マイクロコンピュータ2の全ての端子はポートと呼ばれる。
【0040】
電子制御式エンジンの制御システムでは、車両の運転状態を表す各センサやスイッチ類からの信号がECU1に取り込まれる。ECU1の入力回路では入力信号が信号処理され、組込み用マイクロコンピュータ2に入力される。入力された信号は前述の入力系の周辺リソースでCPU値に変換され、演算部であるメモリ9とCPU10では入力信号から車両状態が検出され、車両状態に応じた出力要求信号が作られる。この出力要求信号は前述の出力系の周辺リソースで出力信号に変換され、組込み用マイクロコンピュータ2から出力される。ECU1の入出力回路であるドライバ16はこの出力信号に従って車両に装備された各アクチュエータを駆動し、この出力制御の結果が破線で示すように、車両からの入力信号に反映される。
【0041】
図2は、図1で説明したECU1の自動車(車両)18への搭載位置を示すものである。ECU1は車両18のエンジン19がマウントされるエンジンルームに搭載される。また、図2には、本発明のマイクロコンピュータのロジック開発装置20が示してある。本発明のマイクロコンピュータのロジック開発装置20は、この図に示すように、車両18に搭載されたECU1に接続するコネクタを外し、このコネクタに接続コード20Aによって直接接続して使用することができる。
【0042】
本発明のマイクロコンピュータのロジック開発装置20は、上位コンピュータ(ホストコンピュータ)27に接続されている。ホストコンピュータ20には表示器21と、データを入力するためのキーボード22が備えられている。S1,S2はそれぞれロジック装置20とホストコンピュータ27を動作させるための電源スイッチである。表示器21は、マイクロコンピュータのロジック開発装置20の状態をモニタすることができ、キーボード22からは、マイクロコンピュータのロジック開発装置20の設定を変更するための入力を行うことができる。
【0043】
なお、本発明のマイクロコンピュータのロジック開発装置20は、このように車両18に直接接続して使用することができる他に、パーソナルコンピュータ24の制御によって動作して、車両の色々な運転状況を擬似的に発生することができる車両の運転状況発生装置23に接続すれば、車両18が無い状態でも、電子制御式エンジン用の組み込みマイクロコンピュータのロジックを開発することができる。
【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で相互にデータの送受信ができるようになっている。ここではポートはFPGA42の全ての端子である。
【0049】
IFボード50には、ECU1のECU入出力回路28に対応するECU入出力回路51と、ECUコネクタ29とが設けられている。ECU入出力回路51は、標準回路ブロック単位で独立させ、その組み合わせで構成し、入出力回路の変更に対して柔軟に対応できるようにする。
【0050】
図4は、図3のマザーボード30とコアボード40の、ハードウエアの構成の一実施例を示すものである。マザーボード30には、図3で説明したソフトウエア(ENG制御アプリケーション)を記憶するための記憶容量が大きいメモリ31、汎用の高性能のCPU(例えば、動作周波数が850MHz)33、内部タイマ35、PCIバス39に接続するPCIバスインタフェース36、及びこれらを相互に接続する内部バス37がある。
【0051】
コアボード40には、PCIバス39に接続するPCIバスインタフェース44、マザーボード30に搭載されたCPU33よりも低グレードのCPU45、マイクロコンピュータ周辺の機能と同等の機能を実現する疑似マイクロコンピュータ周辺(FPGA)42、内部バス43、PCIバスに接続する共有メモリ46、及び内部バス43に接続する内部メモリ47がある。また、コアボード40に搭載するCPU45は、PCI通信処理を行うことができる程度の処理能力(例えば、汎用32ビットCPUで動作周波数が16MHz程度)であれば良い。コアボード40の機能は、従来のECU1におけるエンジン制御アプリケーション(ソフトウエア)25とマイクロコンピュータ周辺26とが送受信するデータをPCIバス39を経由して受け、FPGA42へ受け渡すことである。
【0052】
IFボード50に接続される各FPGA42はソフトウエアで組むことができ、マイクロコンピュータ周辺の変更に柔軟に対応させることができる。即ち、チャネル数を増やしたい場合や、新しい機能のリソースを追加したい等の場合に対応させることができる。
【0053】
図5は、本発明のマイクロコンピュータのロジック開発装置20における、ECU1のソフトウエアの構成(一部ハードウエアも記載)を示すものである。ECU1には、マイクロコンピュータコア相当の機能を実現するマザーボード30、マイクロコンピュータリソース相当の機能を実現するコアボード40、及びECU1のハードウエア相当の機能を実現するIFボード50がある。ECU1のハードウエアとは、マイクロコンピュータ以外の電気回路のことである。
【0054】
マザーボード30及びコアボード40には、マイクロコンピュータリソースに接続するバス相当の機能を実現するI/Oドライバ(マザーボード側I/Oドライバ30Dとコアボード側I/Oドライバ40D)が実装されており、その間はPCIバス39で接続されている。PCIバス39には1系統の割込み信号ラインAがあり、この信号ラインAは、コアボード40からマザーボード30への割込み要求を発行することができる。
【0055】
また、PCIバス39は、マザーボード30、コアボード40に搭載されたマイクロコンピュータ40Mにあるコア側I/Oドライバ40D、及びFPGA42に相互に接続されている。そして、本発明におけるPCIバス39は、経路Bで示すマザーボード30とFPGA42の間の直接アクセスと、経路Cで示すマザーボードとFPGA42の間のコアボード側I/Oドライバ40Dを介したアクセスの、2通りの方法でマザーボード30とコアボード40の間のデータの送受信を行うことができる。
【0056】
このように、本発明では、図5に示すように、PCIバス39によって、あたかもマザー側I/Oドライバ30DとFPGA42との直接アクセスが実現できるが、実際にはハードウエアとしてコアボード40の中にバスコントローラがある。これを図6を用いて説明する。図6に示すように、コアボード40にあるマイクロコンピュータ40Mには、内部メモリ58、プログラム59、及びバスコントローラ60がある。バスコントローラ60はPCIバス39によってマザーボード30に接続され、コアボード40の内部バス56によってFPGA42にあるレジスタ61に接続されている。また、バスコントローラ60は、マイクロコンピュータ40Mの内部バス59によって内部メモリ58に接続されている。
【0057】
ハードウエア的にはバスは一重構造である。よって、バスコントローラ60によって、PCIバス39と内部バス56を経由してマザーボード30からFPGA42のレジスタ61にデータが直接送られると、マザーボード30とレジスタ61とはハードウエア的につながっているのと同じになる。即ち、内部的な操作としては、バスコントローラ60を介してデータが送られるが、外部的な操作としては、FPGA42にマザーボード30から直接データが書き込まれたり、FPGA42から直接データがマザーボード30に読み出されたりするのと同じである。このため、あたかも図5に示される1つのPCIバス39でマザーボード30とFPGA42の間にデータの送受信が行われているようになる。
【0058】
バスコントローラ60はデータの流れの切り換えを行うことができ、バスコントローラ60に入力されたデータは、一旦内部バス57を介して内部メモリ58に書き込むことができる。よって、経路Bは、PCIバス39、バスコントローラ60、内部バス56を介して、マザーボード30とFPGA42との間でデータを送受信するものであり、経路Cは、PCIバス39、バスコントローラ60、内部バス56の経路の途中でプログラム59が働いて、一旦データが内部メモリ58に書き込まれるものである。このプログラム59の部分が図5のコア側I/Oドライバ40Dに相当する。
【0059】
図5に戻って、ECU1のハードウエアに相当するIFボード50には、ポート割付変換ボード52と複数個の標準回路53、及び機能ボード55があり、これらの組み合わせにより任意の数の入出力回路を実現できる。また、54は図3に示したECUコネクタ29に相当するものである。IFボード50とコアボード40とは、マイクロコンピュータポートに相当するハーネス49で接続されている。
【0060】
機能ボード55は、エンジン制御アプリケーション31から切り出された機能を実現するために設けられており、標準回路53との相違は、マイクロコンピュータが内蔵されている点である。通常の標準回路53はオンオフの機能だけであるが、機能ボード55にはマイクロコンピュータがあるので通信機能がある。即ち、機能ボード55は、FPGA42との間でDMA通信によってデータを送受信することができ、エンジン制御アプリケーション31から出力された機能を実現することができる。このような構成を利用したデータの送受信が本発明の特徴である。
【0061】
なお、電子制御機器が電子制御式エンジンの場合は、マザーボード30には、エンジン制御アプリケーション31と、このアプリケーション31とFPGA42の間のI/O情報の伝達を行うI/Oドライバ30Dの2つの大きなソフトウエアブロックがある。エンジン制御アプリケーション31には更に、図示はしないが、演算のみを行うブロックと、I/O操作と演算処理が混在するブロックとがある。I/O操作と演算処理が混在するブロックは、実ECUに実装されているソフトウエアが略これに相当する。演算のみを行うブロックは、追加検討ロジックであり、I/O操作と完全に切り分けられている。I/Oドライバは、前述のように、マザーボード側I/Oドライバ30Dとコアボード側I/Oドライバ40Dに分かれており、PCIバス39経由でボード間の同期をとり、I/O情報の伝達を行う。
【0062】
エンジン制御アプリケーション31の演算のみを行うブロックは時間同期処理(時間系割り込み処理)のみを行うが、I/O操作と演算処理が混在するブロックは時間同期と非時間同期処理(時間系割り込み処理)の2つの処理を行う。時間同期処理は外部状態に依存せず、一定の時間間隔で定期的に行う処理である。一方、非時間同期処理は、外部状態、即ち、エンジンの運転状態に依存して発生する処理である。この非時間同期処理には、例えば、エンジンの回転信号、車速信号、燃料の噴射タイミング信号、点火タイミング信号等による割り込み処理がある。
【0063】
ここで、このような外部状態によりランダムに変化する事象をイベントと呼ぶこととすると、非時間同期処理は、外部状態によりイベント情報を検出して、そのイベントに同期して行う処理ということができる。
【0064】
マザーボード30のエンジン制御アプリケーション31において、前述のような時間同期処理と非時間同期処理とを行うために、図4で説明したマザーボード30のCPU33は仮想マイクロコンピュータ周辺として機能する。この仮想マイクロコンピュータ周辺には、時間系割り込みと非時間系割り込みを発生させる仮想割り込みコントローラと、仮想I/Oレジスタが設けられている。また、PCI通信ソフトウエアとしてのマザーボード側のI/Oドライバ30Dは、データとして、割り込みイベント情報と、I/Oレジスタデータとを扱う。
【0065】
一方、コアボード40側のFPGA(疑似マイクロコンピュータ周辺)42には、図3に示した従来のマイクロコンピュータ周辺26と同様に、ポート、ラッチ、PWM、シリアル、コンペア、及びキャプチャの各機能が設けられている。また、PCI通信ソフトウエアとしてのコアボード側I/Oドライバ40Dは、データとして、割り込みイベント情報と、I/Oレジスタデータとを扱う。更に、コアボード40には、イベントの流れを発生させるタイマが内蔵されている。
【0066】
ここで、制御対象が車両のエンジンである場合に、前述のイベント情報とデータとが流れる本発明のマイクロコンピュータのロジック開発装置20が実施する、マザーボード30とコアボード40との間のデータの送受信について、図7に示すタイミングチャートと、図8に示すソフトウエアの構成図を用いて全体的な流れを説明し、その後に、図7に示すタイミングチャートにおける各処理の詳細について、具体的な実施例に基づいて個々に説明する。
【0067】
なお、以下の実施例では、主として、イベントの流れが実線で示され、データの流れが点線で示されている。
(1)マザーボード30とコアボード40との間の通信方法
図7はマザーボード30とコアボード40との間の割込み要求の発生に伴うデータの流れを示すタイミングチャートである。図7には、マザーボード30、PCIバス39、及びコアボード40における処理が、時間の経過と共に示してある。なお、コアボード40は図示のように複数個使用することができるが、コアボード40を複数個使用する場合の制御については後述し、この実施例では1つのコアボード40を使用した場合について説明する。また、ここでは、コアボード40における割込み発生待ちの開始Sから、アプリケーション処理完了通知の受信Eまでが1つの処理サイクルであり、以後はこの処理サイクルが繰り返されるので、1つの処理サイクルについてのみ説明を行う。
(1−1)割込みタイミング
マザーボード30のエンジン制御ソフトウエア(アプリケーション処理)は、外部イベント(FPGA42内のタイマ、エンジン回転信号、車速信号、通信信号等)が起点となって動作する。外部イベントの発生は、ロジック開発装置では、割込みフラグの発生に置き換えることができる。そこで、エンジン制御ソフトウエアの中に外部割込フラグによって起動する割込みルーチンを設けておき、外部割込フラグの入力があると、この割込みルーチンが起動するようになっている。この割込みルーチンは、信号に対して割り込まれてハードウエア的に起動されるので、割込みハンドラと呼ばれる。
【0068】
マザーボード30には割込み機構がなく、イベントの伝達方法としてはPCI割込み1系統(図注のAで示す信号ライン)しかないため、割込みタイミングはコアボード40側のマイクロコンピュータで各割込みフラグを監視し、何らかの割込みフラグがアクティブになった場合に、この1系統の割込み信号ラインAを使用して信号を送り、マザーボード30に割込みタイミングとして通知するのである。
【0069】
割込み要因は多数あるが、割込み要因の有無を監視して取り込むのがFPGA42である。割込み要因が1つでも存在すれば、FPGA42はその値を読み、コアボード40側のI/Oドライバ40Dが動作し、割込みタイミングが信号ラインAを通じてマザーボード30に通知される。すると、FPGAの割込みフラグがI/Oドライバ30Dに直接読み込まれ、マザーボード30のアプリケーション処理が開始される。そして、どの割込みフラグが立っているかに応じて、そのフラグに対するアプリケーション処理が順次行われる。割込みタイミングが信号ラインAを通じてマザーボード30に通知された後は、コアボード40側のI/Oドライバ40DはPCI割込み禁止状態となる。
(1−2)I/Oデータ
I/Oデータは、基本的にマザーボード30がPCIバス39を経由してFPGA42のレジスタを直接読むことによって取得され、逆に、マザーボード30がPCIバス39を経由してFPGA42のレジスタに直接書き込むことによって設定される。大量のデータを送受信する場合は、バースト転送が行われ、通信効率が上げられる。ポート、ラッチの速度が要求されないビットデータは、I/Oドライバの前処理、後処理で一括して送受信される。
【0070】
アプリケーション処理では、コアボード40のI/Oドライバ40Dにアクセスして或るポートの中を見る処理、出力をセットする処理等が、アプリケーション処理を実行しながら行われ、図7にいくつかの破線で示すように、直接FPGA42からデータを読み込んだり、直接FPGA42にデータを書き込んだりすることが行われる。
【0071】
アプリケーション処理が終了すると、図5に破線の経路Bで示す最後の処理が行われ、割込み処理の終了がコアボード40側のFPGA42のレジスタに書き込まれる。すると、コアボード40内に割込み処理が発生し、アプリケーション処理完了通知の受信Eが太線で示すようにI/Oドライバ40Dに伝えられる。この結果、コアボード40側のI/Oドライバ40DはPCI割込み発生許可状態に移行し、割込みの発生待ちの開始Sとなり、割込みフラグの常時監視状態となる。ここで、何らかの割込み要因が存在していたら、コアボード40側のI/Oドライバ40Dが動作し、割込みタイミングがラインAを通じてマザーボード30に通知され、次の割込み処理が行われる。以後はこの繰り返しである。
【0072】
以上のような本発明におけるマザーボード30側のアプリケーション処理では、マザーボード30が直接FPGA42に対してアクセスしてデータの送受信を行うので、コアボード40において入力情報を集約して取得後に、出力要求を集約してまとめてマザーボード30に送る方法に比べて、I/Oドライバに対する指示の遅れが小さく、応答性が良い。
【0073】
図8は図7のマザーボード30における入力情報の取得、アプリケーション処理、及び出力要求確定の処理の詳細を示すものである。図7に示したPCIバス39を通じてPCI割込みがマザーボード側のI/Oドライバ30Dに入力されると、I/Oドライバ30Dは先ずFPGA42から割込みフラグを取得してこれを割込みコントローラに入力する。割込みフラグを取得した後は、この割込みフラグのクリアを行ってから入力情報を一括取得する。これは、入力情報を取得してから割込みフラグを取得すると、割込みフラグの取得によって変化する入力情報があるかもしれないからである。よって、本発明では割込みが確定した後にその時の最新情報を読むことで、確実に必要なタイミングの値を読む。即ち、割込みコントローラで割込み要因の確定をしておいてから、割込みハンドラの処理に移る直前で入力情報をI/Oドライバ前処理として一括取得するのである。一括取得する入力情報は、ポートレベル、キャプチャ値、受信データ、AD変換値等の入力データを含む。
【0074】
一括取得するデータは、取得スピードが不要で、1ビットずつに分かれているものであり、このようなデータは、効率良く取得するために一括して取得するのである。データを一括取得した後は、仮想I/Oレジスタ(RAM)38に入力情報を設定しておく。これは、仮想I/Oレジスタ38を介してマザーボード30が、あたかも本当のマイクロコンピュータの端子に接続されているような形でデータを送受信するためである。
【0075】
このようにして、割込みフラグの取得と入力情報の一括取得が行われた後、割込みコントローラは割込みフラグを見てそれに付随するアプリケーション処理を起動する。アプリケーション処理は割込みハンドラから開始される。
【0076】
アプリケーション処理にはアプリケーション層L1、2つのハードウエア依存層L2,L3、及びマイクロコンピュータ依存層L4があり、これらの層で必要な演算が実行される。この演算の中でI/O処理があり、入力情報を取るという命令がきた場合は、本発明では直接FPGA42からデータをとる。マイクロコンピュータ依存層L4とFPGA42との間に描かれた破線、及びマイクロコンピュータ依存層L4と仮想レジスタ38との間に描かれた破線が、図7で説明したアプリケーション処理から出たり入ったりする破線の処理に相当する。取得したデータは仮想I/Oレジスタ38に一旦蓄積しておく。出力設定があった場合は出力設定を仮想I/Oレジスタ38に書き込むと同時に、実際に命令を出すようにFPGA42に出力する。
【0077】
この場合、仮想I/Oレジスタ38に設定済(ポート入力情報は一括して先頭で取得済である)のものは、仮想I/Oレジスタ38からデータを読み取るだけである。即ち、色々な場合があり、データをFPGA42から直接読み取る場合と、最初に一括して設定したデータを読み取るだけのものなどがある。また、図8に記載したマイクロコンピュータ依存層L4と仮想I/Oレジスタ38あるいはFPGA42とのデータの送受信は一例であり、このようなデータの送受信は何回行っても良い。また、マイクロコンピュータ依存層L4とFPGA42とのデータの直接アクセスはできるが、あまり頻繁にアクセスを行うとPCIバス39の負荷が大きくなるので、一括してできる送受信は一括して行い、それ以外の送受信は、直接アクセスして応答性を向上させるという混在処理が行われる。一例として、入力ポート、出力ポート、ラッチポートは一括して処理を行い、それ以外は直接データをFPGA42と送受信している。
【0078】
このようにして、アプリケーション処理が終了すると、I/Oドライバ30Dの後処理として、出力要求の一括設定と、コアボードへのPCI割込み許可要求が実行される。出力要求の一括設定では、仮想I/Oレジスタ38とFPGA42に出力設定が行われ、コアボード40へのPCI割込み許可要求では、FPGA42に対して割込み許可要求が行われる。I/Oドライバ30Dの後処理では、得られたポートレベル、コンペア、PWM、送信データ、通信起動データ、AD起動データ等の出力情報がPCIバス39を経由してコアボード40に出力される。この後、I/Oドライバ30Dは次回のPCI割込みの発生待ちとなる。
(2)マザーボード30とコアボード40との間の各処理の詳細
以上、マザーボード30とコアボード40との間の割込み要求の発生に伴うデータの流れを全体的に説明したが、ここで、図7に示したマザーボード30、PCIバス39、及びコアボード40における処理の個々の処理について、更に詳しく説明する。ここで説明するのは、図7に丸付き数字1から5で示す以下の処理の詳細である。(2−1)丸付き数字1で示すパワーオンシーケンス、(2−2)丸付き数字2で示すPCI割込み信号の処理、(2−3)丸付き数字3で示すPCIアクセス方法、(2−4)丸付き数字4で示す割込みコントローラの動作、及び(2−5)丸付き数字5で示す複数のコアボードの同期処理。
(2−1)パワーオンシーケンス
パワーオンシーケンスとは、図2に示した本発明のエンジン制御システムにおいて、ロジック開発装置20の電源スイッチS1とホストコンピュータ27の電源スイッチS2とがオンされた後に、イグニッションスイッチIGSWがオンされた場合のシステムへの電源の供給シーケンスである。パワーオンシーケンスを説明するために、図9には、ホストコンピュータ27、オペレーティングシステムと初期化ルーチンとメインルーチン及びPCI割込みルーチンを備えたマザーボード30、PCI割込み発行機能を備えたコアボード40、電源IC65とAND回路66及びマイクロコンピュータ67を備えた機能ボード55、バッテリ62、イグニッションスイッチIGSW、及び比較器63,64が図示されている。
【0079】
初期化ルーチンは、ホストコンピュータ27からデータが転送される(ダウンロードされる)毎に1回起動される。また、メインルーチンは、システムの起動中に1ms毎に定期的に起動される。PCI割込みルーチンは、システムの起動中の割込み要求発生毎に起動される。この割込み要求は、ECU1のソフトウエアのパワーオン以外の全てのソフトウエアの起動要求である。このルーチンによって、ECU1の全てのメイン処理が動作する。
【0080】
パワーオンシーケンスにおける電源は、実際のエンジン制御システムと同様にバッテリ62である。このバッテリ62の出力電圧+B(=12V)は2つに分岐され、一方はイグニッションスイッチIGSWを介して比較器63の第1の入力端子に接続され、他方はそのままもう1つの比較器64の第1の入力端子に接続されている。比較器63の第1の入力端子への電圧は、機能ボード55の電源IC65へも供給される。これら2つの比較器63,64の第2の入力端子には、バッテリ62の出力電圧+Bよりも低い+5Vの固定電圧が入力されている。比較器63,64の出力端子は、マザーボード30の直接入力信号を受けることができるプリンタポート68に接続されている。
【0081】
比較器63は、イグニッションスイッチIGSWのオンにより出力端子がハイレベルになり、比較器64の出力端子はバッテリ62が外されない限り常にハイレベルとなっている。よって、比較器63,64の出力が入力されるメインルーチンでは、比較器63の出力がハイレベルになったことによりイグニッションスイッチIGSWのオンを検出することができると共に、比較器64の出力がローレベルになったことによりバッテリ62の取り外しを検出することができる。
【0082】
マザーボード30上のオペレーティングシステムは、エンジン制御において、イグニッションスイッチIGSWのオンにより動作し、イグニッションスイッチIGSWのオフによって動作を停止する。実際のマイクロコンピュータでは、信号を受けてマイクロコンピュータのリセットが解除されて動き出すというシーケンスをとるが、ここではイグニッションスイッチIGSWのオンオフに連動させている。
【0083】
機能ボード55にはマイクロコンピュータ67が搭載されており、イグニッションスイッチIGSWがオンされても、マイクロコンピュータ67はこれに同期してオンしないようになっている。機能ボード55のAND回路66の第1の入力端子には、マザーボード30からの第1のイニシャル信号INT1が入力され、第2の入力端子には電源IC65からの第2のイニシャル信号INT2が入力される。電源IC65にはイグニッションスイッチIGSWがオンの状態で、バッテリ62からの電圧+Bが入力される。第1のイニシャル信号INT1は、マザーボード30と処理開始タイミングの同期を取るためのものであり、第2のイニシャル信号はイグニッションスイッチIGSWのオンの後の、後述するパワーオンリセット時間を確保するためのものである。
【0084】
なお、実際のマイクロコンピュータ67にはバッテリ62の電源が常に供給されているバックアップRAM(B−RAM)70があってイグニッションスイッチIGSWがオフされてもデータを記憶している。本発明の構成には実際にはバックアップRAM70は設けられないこともあるが、その機能は実現している。また、バッテリが外されてもデータを覚えているEEPROMと同等のことを実現する方法がパワーオンシーケンスには盛り込まれている。
【0085】
ここで、このパワーオンシーケンスの動作を、図10に示す処理手順を用いて説明する。図10には、図9のように構成されたマザーボード30、コアボード40、及び機能ボード55の各処理におけるステップが記載されている。
【0086】
ステップ1は、図2のように構成されたシステムにおいて作業者がロジック開発装置20とホストコンピュータ27の電源をオンした状態である。この作業者のシステム電源のオンにより、マザーボードとコアボードの電源がオンするが、機能ボードの電源はオフのままである。この状態は、ロジック開発装置20とホストコンピュータ27の本体の電源投入のことであり、イグニッションスイッチIGSWのオンではない。
【0087】
ステップ2では、処理1の電源のオンにより、1ms毎に電源のオンを検出している図9のメインルーチンが起動し、ホストコンピュータ27からアプリケーションのソフトウエアがマザーボード30にダウンロードされ、ロジック開発装置20のマザーボード30が起動する。このとき、コアボード40も起動するが、コアボード40のPCI割込みはロック状態である。
【0088】
ステップ3では、図9のマザーボード30の初期化ルーチンにより、ポートの初期値が設定される。この処理設定は1回きりであり、その内容は、(1)コンペアをイミディエート出力によって設定する、(2)PWMを0%出力に設定する、(3)第1のイニシャル信号INT1をローレベルに設定する、(4)メインルーチンにステート1を設定する、である。
【0089】
ステップ4ではステート1の最初の処理(1)が行われる。ステート1の処理(1)では、イグニッションスイッチIGSWがオンされるのを待つ。
【0090】
そして、ステップ5において作業者が疑似車両のイグニッションスイッチIGSWをオンすると、ステート1の処理(2)でイグニッションスイッチIGSWのオンが検出され、機能ボード55の電源がオンする。この状態は、図9におけるイグニッションスイッチIGSWがオンされた状態で、バッテリ62から電圧+Bが比較器63に印加され、比較器63からのハイレベルの出力で、イグニッションスイッチIGSWのオンがマザーボード30によって検出された状態である。
【0091】
イグニッションスイッチIGSWがオンされると、機能ボード55の電源IC65に+Bが供給される。この後のステート1の処理(3)では、ステート2が設定される。なお、電源IC65には、電源+Bが供給されてもすぐには第2のイニシャル信号INT2をハイレベルにしない予め定められたパワーオンリセット時間が設定されている。従って、電源IC65に電源+Bが供給されても、第2のイニシャル信号INT2はローレベルのままである。
【0092】
ステップ6のステート2の処理(1)では、メモリの復元、即ち、保存してあるファイル(ホストコンピュータ内のメモリ、あるいはマザーボード周辺メモリ)を復元すること(読み出し)が行われる。すなわち、前回のイグニッションスイッチIGSWがオフされた時に保存したファイルが読み出される。なお、この時、バッテリ外れがあった場合は、データは初期化される。続くステート2の処理(2)では、EEPROMのデータ(制御ソフトウエアで演算された学習値データで、車両の走行をくり返す度に最適値に補正されるデータ)が読み出されて復元される。そして、ステート2の処理(3)ではステート3が設定される。ステップ6では機能ボードの電源ICはパワーオンリセット時間内であり、第2のイニシャル信号INT2はローレベルのままである。
【0093】
ステップ7のステート3の処理では、処理(1)で機能ボードの電源ICはパワーオンリセット時間の経過待ちを行い、ステップ8のステート3の処理(2)で機能ボードの電源ICはパワーオンリセット時間の経過を検出する。パワーオンリセット時間が経過すると、機能ボード55の電源IC65から出力される第2のイニシャル信号INT2がハイレベルに変化する。
【0094】
ステップ9のステート3の処理(3)では、マザーボード30からコアボード40を通じて機能ボード55に出力される第1のイニシャル信号INT1がハイレベルに設定される。すると、機能ボード55のAND回路66の2つの入力端子への入力が共にハイレベルになるので、AND回路66の出力がハイレベルになり、機能ボード55のマイクロコンピュータ67のリセットが解除されてオンし、プログラムがスタートする。
【0095】
このように、機能ボード55はイグニッションスイッチIGSWのオンの後にすぐに立ち上げるのではなく、ある程度の時間を置いて立ち上げる。即ち、マザーボード30は、イグニッションスイッチIGSWのオンからの経過時間がパワーオンリセット時間になった後に、第1のイニシャル信号INT1をハイレベルにして機能ボード55を動作させるようにし、機能ボード55とマザーボード30との同期を取る。この後の処理(4)では通信以外の機能ボード55の初期化処理が行われ、処理(5)でステート4が設定される。
【0096】
ステップ10のステート4の処理では、処理(1)で機能ボード55の初期化処理が行われ、この機能ボード55の初期化処理の間、マザーボード30は待機している。ステート4では、機能ボード55がマイクロコンピュータ67の動作によって複雑な処理を行うので、機能ボード55のマイクロコンピュータ67のリセットを解除して動作し始めると、この中で色々な初期設定が必要となるので、この時間を考慮してマザーボード30は待機している。
【0097】
機能ボード55の複雑な処理(インテリジェントな処理)とは、例えば、出力処理(フィードバック処理)、スロットル弁開度の制御(開度指令値に対して電流フィードバックを行って、指令値になるようにスロットル弁開度を調整する制御)等である。即ち、機能ボードはアプリケーションからの要求値に対してハード的に調整する機能を有している。このための機能ボード55の初期化がステート4の処理(1)で行われる。ステップ11の処理(2)では、機能ボード55の内部の処理の完了を、機能ボード55の初期化時間の経過を見ることによって行う。
【0098】
機能ボード55の初期化処理時間が経過すると、処理(3)で機能ボード55とマザーボード30との初期化通信が起動され、DMA通信が開始される。即ち、機能ボード55は、リセットを解除してプログラムをスタートして初期化処理を開始し、初期化処理が終了すると通常の処理モードに移るので、それを待ってDMA通信が開始される。機能ボード55はメイン処理を受信する。ここではテスト用のDMA通信を行う。通常の処理モードのループに入るとデータの頻繁な送受信が行われるが、処理に入る前に正しく通信できるかどうかのチェック用の通信を行う。処理(5)ではステート5を設定する。
【0099】
図11に移って、ステップ12のステート5の処理では、マザーボード30と機能ボード55との初期化通信処理完了待ちを行う。機能ボード55側では受信処理を行い、受信が終了すると送信データを作成し、次のステップ13でこれを送信する。この機能ボード55からの送信データの受信により、マザーボード30は機能ボード55の初期化完了を検知し、これが終わるとステート6に移る。なお、機能ボード55側の受信処理が完了しないうちにタイムアウトした場合は、ステート4に戻る。
【0100】
ステップ14ではステート6の処理を行う。ステート6では、まず、処理(1)で機能ボード55の初期化完了を検知すると、ステップ15の処理(2)でコアボード40のロック解除の要求を行う。コアボード40のロック解除の要求を行った後、コアボード40において割込み要因が発生していたら受け取る。それまでは受け付けない。コアボード40としては、最初の電源オンではPCI割込みはロック状態なので、ロックが解除されたら割込みフラグを一旦クリアして通信を発生させる。この後の処理(3)でステート7が設定される。
【0101】
以上のステップ1からステップ15までが、パワーオンシーケンスの処理である。ステップ16からステップ20までの処理は、パワーオフシーケンスの処理を示すものである。パワーオフシーケンスにはステート7とステート8を行うステップ16からステップ20がある。ステップ16からステップ18においてはマザーボード30とコアボード40との間でPCI割込み処理が繰り返し行われる。そしてこの割込み処理平行して、ステート7では処理(1)でイグニッションスイッチIGSWのオフの待機状態となる。
【0102】
ステップ17のステート7の処理(2)でイグニッションスイッチIGSWのオフが検出されると、機能ボード55の電源がオフされ、処理(3)でステート8が設定される。
【0103】
ステップ18のステート8の処理(1)ではコアボード40のロックが要求され、コアボード40のPCI割込みロックが行われる。続くステップ19のステート8の処理(2)では、マザーボード30のメモリ、EEPROMのデータを保存し、コアボード側でPCI割込みが禁止される。
【0104】
最後のステップ20におけるステート8の処理(3)ではポートの初期値設定が行われる。この初期設定はステップ3の初期設定と同じであり、処理完了後、ステート1が設定されて前述のステップ3からステップ19が繰り返される。
(2−2)PCI割込み信号の処理
図12はPCI割込み信号(図7の信号ラインAの信号)の処理の詳細を示すものである。PCI割込み信号はイベントが何もない時にはハイレベルの信号となっている。この時、コアボード40のマイクロコンピュータは割込み発生待ち状態を継続している。そして、何かイベントが発生すると、コアボード40のマイクロコンピュータがPCI割込みアクティブ出力を信号ラインAに出力し、信号ラインAのPCI割込み信号がローレベル(アクティブ)となる。この後、コアボード40のマイクロコンピュータは、PCI割込み禁止区間を設定する。また、前述のPCI割込みラインAのローアクティブ信号は、FPGA42のPCI割込み信号レジスタにオン出力として記録される。
【0105】
ローレベルのPCI割込み信号は信号ラインAによってマザーボード30に伝えられ、マザーボード30ではこのローレベルのPCI割込み信号を受けて、PCI割込みの受付が行われる。マザーボード30では、PCIの割込みを受け付けたら、PCI割込み処理が行われ、最初の処理でPCI割込みノンアクティブ出力がコアボード40側にPCIバス経由で返され、PCI割込み信号がハイレベルに戻される、即ち、割込み信号がクリアされる。これは、PCI割込み信号を長期間にわたってローレベルにしておくと、マザーボード30側のPCI割込み処理が早く終わってしまった場合に、同じイベントによるPCI割込み信号が二重受け付けされる可能性があるからである。また逆に、PCI割込み信号がローレベルである期間が余りにも短いと、割込みが受け付けられないことになるからである。
【0106】
この後のPCI割込み処理では、I/Oドライバ30Dによるアプリケーション処理が行われ、マザーボード30のPCI割込み処理が完了した時点で、マザーボード30は、PCI割込みラインAの状態がハイレベル(ノンアクティブ)になっていることを確認するフェールセーフ処理を行う。これは、PCI割込みラインAがローレベル(アクティブ)のままPCI割込み処理を終了すると、再度割込みが発生してしまうからである。そして、マザーボード30のPCI割込み処理が完了した時点で、PCI割込みラインがノンアクティブの場合はPCI割込み処理を終了し、PCI割込みラインがアクティブの場合はPCI割込み信号を再度クリアしてからPCI割込み処理を終了する。
(2−3)PCIアクセス方法
図13はPCIアクセス方法を説明するものである。PCIアクセスでは基本的にマザーボード30からPCIバス39を経由してコアボード40のFPGA42のレジスタに直接アクセスしてデータの読み出し又は書き込みを行い、データを取得したり設定したりする。一方、マザーボード30とコアボード40との間で大量のデータをPCIバス39を経由して送受信する場合は、バースト転送が使用され、パケットでデータ転送が行われて通信効率を上げることが行われる。DMA通信、AD変換結果、等はこの方式で行う。
【0107】
この場合、図5で説明した経路Cのように、一旦コアボード40側にデータが取り込まれ、コアボード40側のI/Oドライバ40Dを経由してデータの送受信が行われる。即ち、FPGA42からはデータのまとまりをマイクロコンピュータ40Mに送り、マイクロコンピュータ40M側では取り込んだ大量のデータをバースト転送でマザーボード30に送る。
【0108】
ところで、バースト転送を使用する場合、通信相手がバースト転送対応となっている必要がある。しかしながら、FPGA42はバーストモードに対応が出来ていないため、バースト転送でFPGA42を直接アクセスすることはできない。そこで、図13に示すように、バースト転送C1でマザーボード30側からコアボード40のマイクロコンピュータ40Mに対して大量のデータが送られ、コアボード40のマイクロコンピュータ40MからFPGA42には非バースト転送C2で少量ずつデータの設定が行われるのである。また逆に、コアボード40からデータがマザーボード30に送られる場合は、FPGA42からのデータを非バースト転送C2でコアボード40のマイクロコンピュータ40Mが少量ずつ取り込み、取り込みが完了すると受信割込みフラグがオンとなり、信号ラインAを通じてマザーボード30に割込みタイミングが通知される。この後、所定のタイミングでコアボード40のマイクロコンピュータ40Mからバースト転送C1で大量のデータがマザーボード30に送られる。
(2−4)割込みコントローラの動作
図14はPCI割込み処理を実行する割込みコントローラの動作を示すフローチャートである。ステップ1401ではマザーボード30のI/Oドライバ30DによるPCI割込み信号の処理が行われる。そして、続くステップ1402では割込みコントローラによって割込みフラグが取得される。この後、割込みコントローラによって取得された割込みフラグの値がステップ1403で内部RAMに記憶され、続くステップ1404では取得できた割込みフラグのみがクリアされる。
【0109】
なお、割込みフラグの操作中に発生した割込みフラグは、これが取得できた場合は割込み処理を行い、割込みフラグがクリアされる。また、取得出来なかった場合は割込み処理は行われず、割込みフラグはクリアされない。即ち、発生した割込みフラグに対しては、1回のみの付随する割込み処理が実行される。この処理により、割込みフラグの取りこぼしを防止することができる。
【0110】
ここで、割込みフラグの操作とは、マザーボード30で割込みフラグをFPGA42より取得する、値が1の割込みフラグをマザーボード30で受け付ける、割込みフラグを取得したデータをそのまま使用してクリア要求としてFPGA42に書き込む、及び、マザーボード30で受け付けた割込みフラグ(値1の割込みフラグ)のみクリアする、の操作のことを言う。
【0111】
図15にFGPAのレジスタ構成(キャプチャの場合)を示す。(a)はデータの読み書き用の割込みフラグレジスタの構成を示しており、読み出し(Read)の場合は、1が割込み要因が有る場合を示し、0が割込み要因が無い場合を示している。割込み要因があるレジスタの内容が読み込まれる。また、書き込み(Write)の場合は、1の書き込みでデータがクリアされ、0の書き込みでデータが保存されるものとする。このように、この実施例では、割込みフラグが一括して取得され、1つのレジスタにまとめて記憶されるので、効率的にアクセスが行われる。
【0112】
また、(b)はキャプチャ値のレジスタの構成を示すものである。キャプチャ値のレジスタには割込みの内容が記録される。この実施例では割込みフラグの取得単位は32ビットであり、(b)に示すキャプチャ値のレジスタには32ビット幅のレジスタが使用されている。また、キャプチャの中にはフリーランタイマがあり、割込み(有効値)が入った時刻が記録され、時刻が記録されたと同時に1が入る。フリーランタイマは循環式である。このように、この実施例では、レジスタ構成が、フラグ(0,1)とその内容を表すものに分かれている。フラグは0,1のビット信号である。そして、値1のフラグが立っていたもののみをクリアすることにより、微妙なタイミングで入ってきたフラグの取りこぼしを無くす。
【0113】
次のステップ1405では割込みフラグが無くなったか否かが判定され、割込みフラグが全て無くなった場合はステップ1410に進んで出力要求がポートに一括設定され、ステップ1411においてI/OドライバによりPCI割込み信号の処理が行われてこのルーチンを終了する。
【0114】
一方、ステップ1405で割込みフラグが無くなっていないことが判定された場合はステップ1406に進み、入力情報の一括取得(ポート、ラッチ)が実行される。そして、ステップ1407で内部RAMに記憶された割込みフラグに従って、割込みハンドラが起動され、複数のフラグがあった場合は、ステップ1408において優先度の高い割込み処理が1つだけ実行される。例えば、図15(b)に示した割込みフラグレジスタでは、CH0とCH3に割込み要因があるが、この場合は、どちらかの優先度の高い方の割込みが先に実行される。この後、ステップ1409では処理が完了した割込みフラグをクリアし、ステップ1402に戻る。
【0115】
ステップ1402では割込みコントローラにより割込みフラグが再度読み込まれる。この処理は、割込みフラグの処理中に、別の高い優先度の割込みフラグが発生したかどうかを見るものである。これは、最初に読み込んだ複数の割込みフラグの更新を行わずに、複数処理を全部実行し終わってから新たな割込みフラグを読み込むような処理を実行すれば、優先度の高い割込みフラグの反映が遅くなるからである。この結果、サンプリング期間が短くなり、割込みフラグのオンから処理開始までの時間が短縮される。
【0116】
この後は、割込みフラグが残っている限りステップ1402からステップ1409の処理が繰り返され、割込みフラグが全て無くなった時点でステップ1405からステップ1410に進み、ステップ1410とステップ1411の処理が済むとこのルーチンが終了する。
【0117】
図16は、サンプリング周期中に何らかの割込みイベントが発生した場合の、本発明の処理を説明するものである。ここで、「割」は割込み信号、「待」は待機状態、「処」は処理を示している。この図に示すように、最初のアプリケーション処理実行中に割込みイベントa,bが入った場合は、次のサンプリング周期の中でこの割込みイベントa,bの実行が行われ、この割込みイベントa,bの実行中に入った割込みイベントcは、次のサンプリング周期で実行される。同様に、次のサンプリング周期の中でこの割込みイベントcの実行が行われ、この割込みイベントcの実行中に入った割込みイベントd,e,fは、次の周期で実行される。
【0118】
なお、割込みフラグはあるタイミングでまとめて見ているので、1個の場合も見るが、複数の場合はまとめて取得した後に見る。
【0119】
図17は、割込みイベントが途切れた場合の本発明の処理を説明するものである。図16同様に、「割」は割込み信号、「待」は待機状態、「処」は処理を示している。この図に示すように、最初のアプリケーション処理実行中に割込みイベントa,bが入った場合は、次のサンプリング周期の中でこの割込みイベントa,bの実行が行われる。この後、割込みイベントの発生がしばらく無かった場合は、コアボードは割込みイベント発生待ちになり、割込みイベントcの発生により、コアボードとマザーボードの通信が再開され、割込みイベントcが入ったら、次のサンプリング周期の中でこの割込みイベントcの実行が行われ、この割込みイベントcが実行される。
(2−5)複数のコアボードの同期処理
コアボード40は、FPGAに容量の制限があるので、複数になるケースがあり、その時はマザーボード30が複数のFPGAに対して同期処理を行う。ここでは、コアボード40が2つある場合の同期処理について、図18を用いて説明する。図18では、1枚目のコアボード40がマスタ・タイマ系のコアボードであり、2枚目のコアボード40がスレーブである。
【0120】
マスタ・タイマ系のコアボード40にはキャプチャ、コンペア、PWM等のいろいろな割込み機能があり、スレーブのコアボード40には、UART/DMA、UART、PWM、AD等の通信系の割込み機能がある。マスタ・タイマ系のコアボード40には、フリーランタイマ69があり、このタイマ69の基準で動作するコンペア、キャプチャ機能は、フリーランタイマ69と同期をとる必要がある。このタイマ同期を容易にするために、タイマ系リソース(フリーランタイマ69、コンペア、キャプチャ)を1つのコアボード40にまとめて配置し、フリーランタイマ69に依存しないリソース(通信、PWM、AD,ポート)はスレーブのコアボード40に配置している。
【0121】
この実施例では、処理が実行される順番が括弧付き数字で示されている。
(1)では、割込みフラグの集約が行われる。ORは割込みフラグのどれかが立っていた(オンになっていた)場合を示す。割込みフラグが立っていた場合は、PCI割込みを発生させる。即ち、マスタ・タイマ系のコアボード40のキャプチャ、コンペア、PWM、或いはスレーブのコアボード40の何れかに割込みフラグが立っていた場合に、PCI割込みを発生させる。スレーブのコアボードには、UART/DMA、UART、PWM、又はADがあり、スレーブの割込みフラグがどれか立っている場合は、それを集約してこれがマスタ・タイマ系のコアボードの拡張割込みフラグ内にセットされる。拡張割込みフラグ内には割込みフラグがスレーブ側にあるか否かを示す集約した結果フラグが1つだけ入る。
(2)ではPCI割込み信号が出てマザーボード30に入力される。このPCI割込み信号により、同時にPCI割込み禁止状態となる。
(3)ではマザーボード30においてPCIの割込み処理が行われる。マザーボード30はPCI割込みを2回重複してかけることはできないので、マザーボード30の処理完了するまでは、コアボード40はPCI割込み禁止状態になる。
(4)マザーボード30におけるPCI割込み処理が完了すると、PCI割込み完了信号がマザーボード30からコアボード40に出力され、PCI割込み禁止状態が解除される。
(5)PCI割込み禁止状態の解除により、(1)の処理が再開される。
【0122】
以上のような手順で複数のFPGAに対する同期処理が行われる。
【0123】
【発明の効果】
以上説明したように、本発明のマイクロコンピュータのロジック開発装置によれば、ロジックの開発に伴う課題が解消され、マザーボードとコアボード間におけるI/O情報の確実な通信を実現できると共に、I/O情報通信のスピードを向上させること、及び、マザーボードとコアボードの演算処理能力の向上を図ることができて、より高性能のエンジン制御システムに対応することが可能なマイクロコンピュータのロジック開発装置を提供することができるという効果がある。また、本発明のマイクロコンピュータのロジック開発装置は、マイクロコンピュータの開発に当たって繰り返し利用することが可能であるので、開発コストを低減することができるという効果もある。
【図面の簡単な説明】
【図1】本発明の背景となる電子制御式エンジンの制御システムにおけるECUの構成を示すシステム構成図である。
【図2】図1のECUのロジックを開発する場合における本発明のマイクロコンピュータのロジック開発装置の全体構成を示す説明図である。
【図3】本発明のマイクロコンピュータのロジック開発装置のシステム構成を従来の電子機器制御用のECUの構成と比較して示すブロック構成図である。
【図4】図3のマザーボードとコアボードの内部構成の一実施例を示すブロック構成図である。
【図5】本発明のマイクロコンピュータのロジック開発装置における、マザーボードとコアボードのソフトウエア構成、及びIFボードのハードウエア構成を示す構成図である。
【図6】図5のPCIバスとコアボード内のマイクロコンピュータの実際の構成を説明するブロック構成図である。
【図7】マザーボードとコアボードとの間のPCIバスを通じた割込み信号の通知とそれに伴うデータの送受信を、時間の経過と共に示すタイミングチャートである。
【図8】図7に示したマザーボードにおける入力情報の取得、アプリケーション処理、及び出力要求の確定の詳細を示すソフトウエア構成図である。
【図9】図7に丸付き数字1で示すパワーオンシーケンスを実行するための、マザーボード、コアボード、及び機能ボードの構成、及びその周辺回路の構成を示す説明図である。
【図10】図9のように構成されたマザーボード、コアボード、及び機能ボードを含む回路の、パワーオンシーケンスにおける処理ステップを記載した図である。
【図11】図10の処理ステップの続きのステップ、及びパワーオフシーケンスの処理ステップを記載した図である。
【図12】図7の割込み信号ラインAによってもたらされるPCI割込み信号によって発生するPCI割込み処理の詳細を示すタイミングチャートである。
【図13】マザーボードからPCIバスを経由してコアボードのFPGAのレジスタに直接アクセスしてデータの読み出し又は書き込みを行う、本発明におけるPCIアクセス方法の実施例を説明するタイミングチャートである。
【図14】PCI割込み処理を実行する割込みコントローラの動作を示すフローチャートである。
【図15】キャプチャの場合のFPGAのレジスタ構成を示すものであり、(a)は割込みフラグレジスタの構成を示す図、(b)はキャプチャ値のレジスタの構成を示す図である。
【図16】サンプリング周期中に何らかの割込みイベントが発生した場合の、本発明の処理を説明するタイミングチャートである。
【図17】割込みイベントが途切れた場合の、本発明の処理を説明するタイミングチャートである。
【図18】コアボードが複数枚ある場合の、マザーボードの複数のコアボードに対して行う同期処理を説明する図である。
【符号の説明】
1…ECU
2…組込み用マイクロコンピュータ
7…内部タイマ
8…割り込みコントローラ
9…メモリ
10…CPU
11…内部バス
20…本発明のロジック開発装置
27…ホストコンピュータ
30…マザーボード
30D…I/Oドライバ
31…ソフトウエアエア(エンジン制御アプリケーション)
32…PCI通信ソフトウエア
33…CPU
34…仮想割り込みコントローラ
35…内部タイマ
36…PCIバスインタフェース
37…内部バス
38…仮想I/Oレジスタ
39…PCUバス
40…コアボード
40D…I/Oドライバ
41…PCI通信ソフトウエア
42…疑似マイクロコンピュータ装置(FPGA)
43…内部バス
44…PCIバスインタフェース
45…CPU
50…IFボード
55…機能ボード
56…内部バス
63,64…比較器
65…電源IC
67…マイクロコンピュータ
69…フリーランタイマ
Claims (21)
- 電子制御ユニットに組み込まれて使用される組込み用マイクロコンピュータのロジック開発装置であって、
アプリケーション処理機能と通信機能を備えた中央ブロックと、
マイクロコンピュータの周辺装置を擬似的にソフトウエアで実現して入出力処理を行う疑似マイクロコンピュータ周辺装置、演算機能、及び通信機能を有し、前記中央ブロックとPCIバスで接続される周辺ブロックと、
電子制御ユニットのハードウエアに相当する回路を有し、前記周辺ブロックに接続するインタフェース回路ブロックとを備え、
前記中央ブロックの通信機能と、前記周辺ブロックの前記疑似マイクロコンピュータ周辺装置とが前記PCIバスで接続され、このPCIバスを介して前記通信機能と前記疑似マイクロコンピュータ周辺装置との間で、直接データの送受信が行えるように構成されていることを特徴とするマイクロコンピュータのロジック開発装置。 - 電子制御ユニットに組み込まれて使用される組込み用マイクロコンピュータのロジック開発装置であって、
アプリケーション処理機能と通信機能を備えた中央ブロックと、
マイクロコンピュータの周辺装置を擬似的にソフトウエアで実現して入出力処理を行う疑似マイクロコンピュータ周辺装置、演算機能、及び通信機能を有し、前記中央ブロックとPCIバスで接続される周辺ブロックと、
電子制御ユニットのハードウエアに相当する回路を有し、前記周辺ブロックに接続するインタフェース回路ブロックとを備え、
前記中央ブロックの通信機能と、前記疑似マイクロコンピュータ周辺装置との間にある前記演算機能に、バスコントローラが設けられ、前記PCIバスで前記中央ブロックの通信機能とこのバスコントローラとの間が接続され、前記バスコントローラと前記疑似マイクロコンピュータ周辺装置との間は内部バスで接続され、前記PCIバス、前記バスコントローラ、及び前記内部バスを介して、前記通信機能と前記疑似マイクロコンピュータ周辺装置との間で、直接データの送受信が行われるように構成したことを特徴とするマイクロコンピュータのロジック開発装置。 - 前記中央ブロックの通信機能と前記PCIバスとの間に仮想入出力レジスタが設けられており、
データの入出力操作のタイミングにおいて、この仮想入出力レジスタに送受信データが一旦蓄積されることにより、この仮想入出力レジスタが実際のマイクロコンピュータの入出力レジスタと同様の振る舞いをするように構成されていることを特徴とする請求項1又は2に記載のマイクロコンピュータのロジック開発装置。 - 前記アプリケーション処理機能の処理対象が車両であり、前記ロジック開発装置にイグニッションスイッチが設けられており、前記ロジック開発装置がこのイグニッションスイッチのオン/オフに連動して、実際の電子制御ユニット同様に前記車両の制御ソフトウエア処理の開始/停止が実行されることを特徴とする請求項1から3の何れか1項に記載のマイクロコンピュータのロジック開発装置。
- 前記インタフェース回路ブロックに備えられた前記電子制御ユニットのハードウエアに相当する回路に、マイクロコンピュータを内蔵した機能回路が少なくとも1つ存在し、この機能回路は、前記イグニッションスイッチのオンでは動作せず、前記中央ブロックの処理開始タイミングに同期してオンするように構成されていることを特徴とする請求項4に記載のマイクロコンピュータのロジック開発装置。
- 前記機能回路には、前記イグニッションスイッチのオンで動作する電源回路と、この電源回路からの信号と、前記中央ブロックからの信号が共にアクティブになった時に前記マイクロコンピュータを動作させる論理回路が設けられていることを特徴とする請求項5に記載のマイクロコンピュータのロジック開発装置。
- 前記イグニッションスイッチのオフ時に、保持すべきデータの値が、前記ロジック開発装置に接続されている外部記憶装置内のメモリと前記ロジック開発装置内のメモリの何れかに保存され、前記イグニッションスイッチのオン時に、前記メモリから前記保持すべきデータの値が読み出されて復元され、前記ロジック開発装置にバックアップメモリが備えられているのと同等の機能が実現されることを特徴とする請求項4から6の何れか1項に記載のマイクロコンピュータのロジック開発装置。
- 前記ロジック開発装置の電源がオンされた後に、前記イグニッションスイッチがオンされるまでの間に、前記中央ブロックの初期化ルーチンにより、ポートの初期値が設定されることを特徴とする請求項4から7の何れか1項に記載のマイクロコンピュータのロジック開発装置。
- 前記PCIバスに、前記周辺ブロックから前記中央ブロックへの割込み要求を発行することができる1系統の割込み信号ラインが設けられており、前記中央ブロックの前記アプリケーション処理機能は、前記周辺ブロックによって前記割込み信号ラインがアクティブになった時に割込み処理を受け付けるようになっていると共に、割込み処理の受け付け終了後に、前記割込み信号ラインがノンアクティブになるように動作することを特徴とする請求項1から8の何れか1項に記載のマイクロコンピュータのロジック開発装置。
- 前記中央ブロックの前記アプリケーション処理機能は、前記割込み処理の終了時に、前記割込み信号ラインがノンアクティブであることを確認するように動作することを特徴とする請求項9に記載のマイクロコンピュータのロジック開発装置。
- 前記中央ブロックの前記アプリケーション処理機能は、前記割込み処理の終了時に前記割込み信号ラインがアクティブとなっている時は、前記割込み信号ラインをノンアクティブに戻すように動作することを特徴とする請求項10に記載のマイクロコンピュータのロジック開発装置。
- 前記周辺ブロックの演算機能にデータの一時取り込み機能が設けられており、前記中央ブロックと、前記周辺ブロックの前記疑似マイクロコンピュータ周辺装置との間で大量のデータが送受信される場合に、この大量のデータは前記中央ブロックとこの演算機能との間でバースト転送により送受信され、前記演算機能と前記疑似マイクロコンピュータ周辺装置との間は非バースト転送により少量ずつデータの送受信が行われることを特徴とする請求項1から11の何れか1項に記載のマイクロコンピュータのロジック開発装置。
- 前記中央ブロックの前記アプリケーション処理機能により、前記割込み処理の受け付け終了後に前記PCIバスを通じて前記疑似マイクロコンピュータ周辺装置から割込みフラグが取得され、前記アプリケーション処理機能によって割込みフラグが取得されると、前記疑似マイクロコンピュータ周辺装置にある当該割込みフラグは、前記アプリケーション処理機能によりクリアされることを特徴とする請求項9に記載のマイクロコンピュータのロジック開発装置。
- 前記中央ブロックの前記アプリケーション処理機能により割込みフラグが取得されると、前記アプリケーション処理機能により、取得した割込みフラグに付随する処理が実行されることを特徴とする請求項13に記載のマイクロコンピュータのロジック開発装置。
- 前記中央ブロックの前記アプリケーション処理機能により、前記割込み処理の受け付け終了後に前記PCIバスを通じて前記疑似マイクロコンピュータ周辺装置から複数の割込みフラグが前記アプリケーション処理機能に取得された場合に、
前記アプリケーション処理機能によって優先度の高い割込みフラグが1つ選択されてそのフラグに対する処理が実行され、処理終了後に、前記疑似マイクロコンピュータ周辺装置にある当該処理完了割込みフラグは、前記アプリケーション処理機能によりクリアされることを特徴とする請求項9に記載のマイクロコンピュータのロジック開発装置。 - 前記アプリケーション処理機能によって優先度の高い割込みフラグが1つ選択されてそのフラグに対する処理が実行された後は、前記アプリケーション処理機能により、再度前記PCIバスを通じて前記疑似マイクロコンピュータ周辺装置から複数の割込みフラグが前記アプリケーション処理機能に取得されることを特徴とする請求項15に記載のマイクロコンピュータのロジック開発装置。
- 前記割込みフラグは、前記疑似マイクロコンピュータ周辺装置の1つのレジスタの連続するアドレスに、まとめて記憶されていることを特徴とする請求項13から16の何れか1項に記載のマイクロコンピュータのロジック開発装置。
- 前記周辺ブロックが複数個設けられており、
各周辺ブロックに設けられた各レジスタには、各周辺ブロックにおいて割込み処理を発生させる各リソースの割込みフラグがそれぞれ格納されており、
第1番目の周辺ブロックに設けられた前記レジスタには、第1番目の周辺ブロックにおける各リソースの割込みフラグがそれぞれ格納されていると共に、残りの周辺ブロックにおける各リソースの割込みフラグの有無を示す拡張割込みフラグが、各周辺ブロック毎に格納されていることを特徴とする請求項17に記載のマイクロコンピュータのロジック開発装置。 - 前記拡張割込みフラグにより、残りの何れかの周辺ブロックの前記レジスタに割込みフラグが格納されていることが判明した場合には、前記アプリケーション処理機能により、前記残りの周辺ブロックの当該レジスタから前記割込みフラグが取得されることを特徴とする請求項18に記載のマイクロコンピュータのロジック開発装置。
- 前記周辺ブロックが複数個設けられており、
第1番目の周辺ブロックのみにフリーランタイマが存在し、
前記第1番目の周辺ブロックには、少なくとも前記フリーランタイマのタイマ値に同期して動作するリソースが配置され、
残りの周辺ブロックには、前記フリーランタイマに依存しないリソースのみが配置されていることを特徴とする請求項1から19の何れか1項に記載のマイクロコンピュータのロジック開発装置。 - 前記フリーランタイマのタイマ値に同期して動作するリソースがコンペア、キャプチャであり、
前記フリーランタイマに依存しないリソースがPWM、通信、AD、及びポートであることを特徴とする請求項20に記載のマイクロコンピュータのロジック開発装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003024733A JP2004234530A (ja) | 2003-01-31 | 2003-01-31 | マイクロコンピュータのロジック開発装置 |
US10/769,488 US7539610B2 (en) | 2003-01-31 | 2004-01-29 | Microcomputer logic development |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003024733A JP2004234530A (ja) | 2003-01-31 | 2003-01-31 | マイクロコンピュータのロジック開発装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004234530A true JP2004234530A (ja) | 2004-08-19 |
Family
ID=32953192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003024733A Pending JP2004234530A (ja) | 2003-01-31 | 2003-01-31 | マイクロコンピュータのロジック開発装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7539610B2 (ja) |
JP (1) | JP2004234530A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162389B2 (en) | 2003-12-01 | 2007-01-09 | Fujitsu-Ten Limited | Evaluation device for control unit, simulator, and evaluation system |
JP2009217753A (ja) * | 2008-03-12 | 2009-09-24 | Fujitsu Ten Ltd | マイクロコンピュータの模擬装置 |
US8386228B2 (en) | 2007-02-15 | 2013-02-26 | Fujitsu Ten Limited | Microcomputer simulator |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10139610A1 (de) * | 2001-08-11 | 2003-03-06 | Daimler Chrysler Ag | Universelle Rechnerarchitektur |
DE102005011246A1 (de) * | 2005-03-11 | 2006-09-14 | Robert Bosch Gmbh | System und Verfahren zum Testen einer Steuergeräteanordnung |
US8001537B1 (en) * | 2005-12-05 | 2011-08-16 | Altera Corporation | Method and apparatus for compiling programmable logic device configurations |
US7991535B2 (en) * | 2008-02-08 | 2011-08-02 | Gittere Robert J | Portable, palm-sized data acquisition system for use in internal combustion engines and industry |
US8150671B2 (en) * | 2009-04-30 | 2012-04-03 | GM Global Technology Operations LLC | Portable USB power mode simulator tool |
US8869087B2 (en) * | 2011-05-06 | 2014-10-21 | Xcelemor, Inc. | Computing system with data and control planes and method of operation thereof |
CN102306218A (zh) * | 2011-08-17 | 2012-01-04 | 合肥天智科技发展有限公司 | 便携式机柜锁数据采集器 |
US10184860B2 (en) | 2016-04-08 | 2019-01-22 | Infineon Technologies Ag | Control system for power train control |
CN108306114B (zh) * | 2017-12-08 | 2020-10-23 | 佛吉亚歌乐电子(丰城)有限公司 | 车载娱乐系统内置多功能天线的结构 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62190542A (ja) | 1986-02-18 | 1987-08-20 | Nec Corp | シミユレ−タによる入出力処理装置検査方式 |
JPS63211197A (ja) | 1987-02-27 | 1988-09-02 | Hitachi Ltd | 半導体記憶装置 |
JPH0285934A (ja) | 1988-09-22 | 1990-03-27 | Hitachi Micro Comput Eng Ltd | エミュレータ |
JPH07129428A (ja) | 1993-10-29 | 1995-05-19 | Ando Electric Co Ltd | Asicマイコン開発支援装置 |
JPH0816425A (ja) | 1994-07-01 | 1996-01-19 | Toppan Printing Co Ltd | 1チップマイコン用検証ボード |
US5864712A (en) * | 1995-03-17 | 1999-01-26 | Lsi Logic Corporation | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment |
JPH0916408A (ja) | 1995-06-28 | 1997-01-17 | Nec Eng Ltd | 通信制御装置の割込処理方式 |
US5838948A (en) | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
JPH09288593A (ja) | 1996-04-24 | 1997-11-04 | Oki Electric Ind Co Ltd | インサーキットエミュレータ |
US5935223A (en) * | 1996-05-21 | 1999-08-10 | Texas Instruments Incorporated | System for blocking access to a computer device using a glue logic circuit operable to force a target computer device to perform a target abort |
US5908455A (en) * | 1996-10-07 | 1999-06-01 | Hewlett-Packard Company | High performance automotive diagnostics instrumentation architecture |
US5943490A (en) * | 1997-05-30 | 1999-08-24 | Quickturn Design Systems, Inc. | Distributed logic analyzer for use in a hardware logic emulation system |
JP2000122890A (ja) | 1998-10-12 | 2000-04-28 | Dainippon Printing Co Ltd | 回路試作装置および回路検証装置 |
KR100306596B1 (ko) | 1999-03-19 | 2001-09-29 | 윤덕용 | 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터 |
US6356823B1 (en) * | 1999-11-01 | 2002-03-12 | Itt Research Institute | System for monitoring and recording motor vehicle operating parameters and other data |
KR100392569B1 (ko) | 2000-10-28 | 2003-07-23 | (주)다이나릿시스템 | 반도체 칩의 논리 기능 검증용 에뮬레이터 장치 및 방법 |
JP3827565B2 (ja) | 2001-11-30 | 2006-09-27 | 富士通テン株式会社 | マイコンのロジック開発装置 |
-
2003
- 2003-01-31 JP JP2003024733A patent/JP2004234530A/ja active Pending
-
2004
- 2004-01-29 US US10/769,488 patent/US7539610B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162389B2 (en) | 2003-12-01 | 2007-01-09 | Fujitsu-Ten Limited | Evaluation device for control unit, simulator, and evaluation system |
US8386228B2 (en) | 2007-02-15 | 2013-02-26 | Fujitsu Ten Limited | Microcomputer simulator |
JP2009217753A (ja) * | 2008-03-12 | 2009-09-24 | Fujitsu Ten Ltd | マイクロコンピュータの模擬装置 |
Also Published As
Publication number | Publication date |
---|---|
US7539610B2 (en) | 2009-05-26 |
US20040186938A1 (en) | 2004-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7650274B2 (en) | Microcomputer logic development system | |
JP4728020B2 (ja) | 車両制御用ソフトウェア及び車両制御装置 | |
JP4361073B2 (ja) | 画像処理装置とその制御方法 | |
US7512723B2 (en) | Queued interface devices, multi-core peripheral systems, and methods for sharing a peripheral in a multi-core system | |
JP4920015B2 (ja) | 分散制御用制御ソフトウェアおよび電子制御装置 | |
US8531893B2 (en) | Semiconductor device and data processor | |
JP2004234530A (ja) | マイクロコンピュータのロジック開発装置 | |
CN108351840B (zh) | 车辆控制装置 | |
JPS5968004A (ja) | 車載用コンピユ−タのフエイルセ−フ方法 | |
JP3827615B2 (ja) | マイコンのロジック開発装置及び開発方法 | |
US7930523B2 (en) | Inter-CPU data transfer device | |
US8910179B2 (en) | Systems and methods for providing semaphore-based protection of system resources | |
JP3827565B2 (ja) | マイコンのロジック開発装置 | |
EP1813494B1 (en) | Vehicle control apparatus having event management unit | |
JP2010113419A (ja) | マルチコア制御装置 | |
JP5085719B2 (ja) | 車両制御用ソフトウェア及び車両制御装置 | |
JP4282390B2 (ja) | マイコンのロジック開発装置 | |
US20090187605A1 (en) | Vehicle Control Apparatus | |
EP4254130A1 (en) | Processing system, related integrated circuit, device and method | |
EP4200707B1 (en) | Microchip with on-chip debug and trace engine | |
JP2010049355A (ja) | 模擬マイクロコンピュータ装置 | |
JP2004280789A (ja) | 半導体集積回路装置およびマイクロコンピュータ開発支援装置 | |
Stence | Silicon Technology Enables the Modern Vehicle Systems | |
JPH0651979A (ja) | 周辺装置制御用マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080603 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080804 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081209 |