JP5156440B2 - マイクロコンピュータの模擬装置 - Google Patents

マイクロコンピュータの模擬装置 Download PDF

Info

Publication number
JP5156440B2
JP5156440B2 JP2008063397A JP2008063397A JP5156440B2 JP 5156440 B2 JP5156440 B2 JP 5156440B2 JP 2008063397 A JP2008063397 A JP 2008063397A JP 2008063397 A JP2008063397 A JP 2008063397A JP 5156440 B2 JP5156440 B2 JP 5156440B2
Authority
JP
Japan
Prior art keywords
microcomputer
task
simulation
cpu
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008063397A
Other languages
English (en)
Other versions
JP2009217753A (ja
Inventor
崇 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2008063397A priority Critical patent/JP5156440B2/ja
Publication of JP2009217753A publication Critical patent/JP2009217753A/ja
Application granted granted Critical
Publication of JP5156440B2 publication Critical patent/JP5156440B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、機器を制御するマイクロコンピュータに組み込まれるソフトウェアの開発または評価を行なうソフトウェア開発装置等に好適に用いることができるマイクロコンピュータの模擬装置に関する。
制御対象となる機器の高性能化、高機能化が急激に進む状況下で、機器を制御する電子制御装置に組み込まれるマイクロコンピュータの性能も年々進化している。
例えば車両のエンジンを制御する電子制御ユニット(Electronic Control Unit)のような電子制御装置では、エンジンの高性能化、高機能化の流れの中で、現状の電子制御装置の性能よりも優れた性能を発揮する次世代の電子制御装置を想定した新しいアプリケーションソフトウェア(制御用ロジック)が先行開発されている。
先行開発される制御用ロジックは、性能向上が見込まれる次世代のマイクロコンピュータがターゲットとなることが多いのであるが、そのような性能の向上したマイクロコンピュータが組み込まれた電子制御装置が開発時に実在しないばかりか、次世代のマイクロコンピュータそのものも実在しない場合もあるため、多くの場合は、現状のマイクロコンピュータをベースにして先行ロジックの開発を行なわざるを得なかった。
しかし、現状のマイクロコンピュータを組み込んだ電子制御装置を用いて先行ロジックの開発を行なう場合には、マイクロコンピュータのCPUの処理能力の不足や、メモリ容量の不足や、更には周辺リソースの不足が生じる等の問題があるため、精度の高い先行ロジックの開発が困難となり、次期マイクロコンピュータに対応したアプリケーションソフトウェアの開発が遅れる等、新製品の開発に支障を来たしていた。
つまり、現状の電子制御機器に組み込まれるマイクロコンピュータは、電子制御機器のコストを低く抑えるために、現状のシステムに最適な仕様となるようにCPU性能及び周辺リソースが選択されて、それらが1つのパッケージの中に組み込まれているため、新製品に対応してそれぞれの性能や機能を変更する必要が生じても、マイクロコンピュータそのものを変更しない限り対応できないのである。
そこで、特許文献1には、マイクロコンピュータに内蔵されるCPUを模擬するアプリケーション処理機能部と通信機能部を備えたマザーボードと、マイクロコンピュータに内蔵される周辺リソースを模擬するI/Oボードと、マイクロコンピュータの外部に設けられる入出力回路を備えたインタフェースボードの三つの機能ブロックを備えたソフトウェア開発装置が提案されている。
図1には、マイクロコンピュータが実装された既存の電子制御装置が左方に示され、上述のソフトウェア開発装置が右方に示されている。
当該マザーボードには、アプリケーションソフトウェアを実行する高性能CPUが実装されるとともに、マイクロコンピュータのCPUと周辺リソース間を接続する内部バスに相当する機能を実現するソフトウェアであるI/Oドライバが実装されている。
当該I/Oボードには、マイクロコンピュータに内蔵される周辺リソースをFPGAとソフトウェアを用いて実現する模擬マイクロコンピュータ周辺装置と、演算機能部と、通信機能部を備え、当該インタフェースボードには、電子制御装置に組み込まれるマイクロコンピュータ以外のハードウェアに相当する入出力回路を備えている。
そして、I/Oボードの演算機能部にバスコントローラが設けられ、マザーボードの通信機能部と当該バスコントローラがPCIバスで接続されるとともに、バスコントローラと模擬マイクロコンピュータ周辺装置とが内部バスで接続され、PCIバス、バスコントローラ、及び内部バスを介して、通信機能部と模擬マイクロコンピュータ周辺装置との間でデータの送受信が行われるように構成されている。
しかし、上述した従来のソフトウェア開発装置では、ターゲットとなるマイクロコンピュータが変更されると、それに対応してI/Oボードを変更するばかりでなく、マザーボード上のIOドライバ等を大きく変更する必要があり、非常に煩雑な改変処理が必要になるという問題があった。
特開2004−234530号公報
ところで、既存の電子制御ユニットを大きく変更することなく、一部機能を改良する必要がある場合、例えば、アプリケーションソフトウェアに新機能を追加するような場合等に、当該電子制御ユニットに新機能を追加したアプリケーションソフトウェアを移植して動作確認ができれば効率的であるが、既存の電子制御ユニットに組み込まれているメモリの容量制限や、既存の電子制御ユニットに組み込まれているマイクロコンピュータの処理能力の不足のために、そのような動作確認ができない場合がある。
特に、車両のパワートレーンを制御する電子制御ユニットのアプリケーションソフトウェアの先行開発で、大容量且つ高負荷な処理の一部を改変するような場合に、手軽に実機検証できるソフトウェア開発装置が望まれている。
このような場合に、既存の電子制御ユニットと追加ソフトウェアのみ実行する外部の演算処理装置を通信ラインで接続し、電子制御ユニットから外部の演算処理装置に追加ソフトウェアの実行を要求し、電子制御ユニットが外部の演算処理装置による処理結果に基づいて一連の処理を実行するような構成が提案されているが、電子制御ユニットの演算周期と外部の演算処理装置の演算周期が同期せず、適切な評価ができないという問題があった。
そこで、上述した従来のソフトウェア開発装置を用いてアプリケーションソフトウェアの評価を行なうことも考えられるが、予め当該電子制御ユニットで用いられているマイクロコンピュータに対応したソフトウェア開発装置が構築されていない場合等には、従来と同様、非常に煩雑な改変処理が必要になる。
本発明は、上述の問題点に鑑み、ターゲットとなるマイクロコンピュータに応じて迅速に対応でき、スピーディなソフトウェア開発が可能となるマイクロコンピュータの模擬装置を提供する点にある。
上述の目的を達成するため、本発明によるマイクロコンピュータの模擬装置の特徴構成は、CPUと当該CPUの周辺回路とが内部に組み込まれたマイクロコンピュータを模擬するマイクロコンピュータの模擬装置であって、模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを実行する第一及び第二のマイクロコンピュータ模擬ブロックと、第一のマイクロコンピュータ模擬ブロックと第二のマイクロコンピュータ模擬ブロックとの間で遣り取りするデータを中継する中継処理部とを備え、第一のマイクロコンピュータ模擬ブロックが、模擬を行なう際の模擬周期内で処理すべきソフトウェアの一部の実行を、前記中継処理部を介して第二のマイクロコンピュータ模擬ブロックに要求し、当該要求を行なった模擬周期内で第二のマイクロコンピュータ模擬ブロックがソフトウェアを実行した結果を、前記中継処理部を介して取得するように構成され、前記ソフトウェアが、予め設定された優先順位に従って処理される複数のタスクで構成され、第一のマイクロコンピュータ模擬ブロックからタスクの一部の実行を要求された第二のマイクロコンピュータ模擬ブロックは、当該タスクの優先順位に従って要求されたタスクの一部を実行する点にある。
上述の構成によれば、例えば、既存のアプリケーションソフトウェア実行する一方のマイクロコンピュータ模擬ブロックから、追加または修正したソフトウェアを他方のマイクロコンピュータ模擬ブロックで実行するように要求し、その結果に基づいて一方のマイクロコンピュータ模擬ブロックが処理を継続することができるようになる。このとき、一方のマイクロコンピュータ模擬ブロックが、模擬周期内で処理すべきアプリケーションソフトウェアの一部が、他方のマイクロコンピュータ模擬ブロックにより当該模擬周期内で処理されるため、一方のマイクロコンピュータ模擬ブロックは当該アプリケーションソフトウェアを当該所定周期内で完結させることができるようになる。
以上説明した通り、本発明によれば、ターゲットとなるマイクロコンピュータに応じて迅速に対応でき、スピーディなソフトウェア開発が可能となるマイクロコンピュータの模擬装置を提供することができるようになった。
以下に、本発明によるマイクロコンピュータの模擬装置を説明する。当該マイクロコンピュータの模擬装置は、例えば、車両のエンジンを制御する電子制御ユニット(以下、「ECU」と記す。)に組み込まれるマイクロコンピュータのアプリケーションソフトウェアを開発するためのソフトウェア開発装置として実現されている。
尚、本発明によるマイクロコンピュータの模擬装置の用途は、ECUのアプリケーションソフトウェアの開発に限るものではなく、広く組み込みソフトウェアの開発に使用されるものである。
先ず、模擬対象であるマイクロコンピュータMが実装された電子制御ユニット(Electronic Control Unit:以下、「ECU」と記す。)の構成について説明する。
図2に示すように、ECU101は、外部からの入力信号を処理する入力回路Bと、入力回路Bを介して入力された各信号を演算処理するマイクロコンピュータMと、マイクロコンピュータMで演算処理された信号を増幅して出力する出力回路Dを備えている。
入力回路Bには、エンジン回転数信号や車速信号等のパルス入力、水温センサや吸気温センサ等からのアナログ入力、及びスタータスイッチ、電気負荷スイッチ、シフト位置スイッチやエアコン信号等のデジタル入力が入力される。
ECU101から出力される信号には、シフト制御ソレノイドやVVT(可変バルブタイミング)ソレノイドへのアナログ制御信号(アナログ出力)、点火信号や燃料の噴射信号等のパルス制御信号(パルス出力)、ISC(アイドル速度制御)用のパルス制御信号(パルス出力)、及び、チェックエンジンランプ、メインリレー、エヤコンカット信号等のデジタル制御信号(デジタル出力)等が含まれる。
マイクロコンピュータMは、アプリケーションソフトウェアが格納されるROMや演算処理に使用されるRAMを備えたメモリ109と、アプリケーションソフトウェアを実行するCPU102と、入出力回路B,Dに対する入出力制御を行う周辺リソース(周辺回路)が1つのパッケージに収納されている。
周辺リソースには、入力系のリソースと出力系のリソースが含まれる。入力系のリソースとして、デジタル信号を扱う入力ポート103とラッチポート104、アナログ入力を扱うA/Dコンバータ105、及びパルス入力を扱うキャプチャ106等が設けられ、出力系のリソースとして、デジタル出力を出力する出力ポート112、パルス出力を出力するPWM(パルス幅変調器)113とコンペア114、及びアナログ信号を出力するシリアル115等が設けられている。
これらの周辺リソースは内部バス110によってメモリ109及びCPU102に相互に接続されている。また、マイクロコンピュータMの内部には、これらの周辺リソースに加えて、内部タイマ107や割り込みコントローラ108等が設けられている。
車両の運転状態を表す各センサやスイッチ類からの信号がECU101に入力されると、入力回路で信号処理されてマイクロコンピュータMに入力される。入力された信号は入力系の周辺リソースでCPU値に変換され、演算部として機能するメモリ109とCPU102でCPU値に基づいて車両状態が検出され、車両状態に応じた出力要求信号が生成される。
出力要求信号は出力系の周辺リソースで出力信号に変換されてマイクロコンピュータMから出力される。この出力信号に従って車両に装備された各アクチュエータがドライバDにより駆動され、この出力制御の結果が破線で示すように、車両からの入力信号に反映される。
図3及び図4に示すように、ソフトウェア開発装置は、上述のECU101を模擬するエミュレータとして機能し、マザーボード100と、IOボード200と、インタフェースボード300とを備えて構成されている。
図3は、ソフトウェア開発装置のハードウェア構成を示し、図4は、ソフトウェア開発装置の機能ブロック構成を示す。
マザーボード100には、模擬対象となるマイクロコンピュータのCPUにより実行されるアプリケーションソフトウェアの一部を実行する第一のマイクロコンピュータ模擬ブロック10が構築され、PCIバスインタフェース回路13と、PCIバスを中継するブリッジであるスターファブリックのような高速LANインタフェース回路14を備えている。
IOボード200には、模擬対象となるマイクロコンピュータのCPUにより実行されるアプリケーションソフトウェアの一部を実行する第二のマイクロコンピュータ模擬ブロック20と、各マイクロコンピュータ模擬ブロック10,20間で遣り取りするデータを中継する中継処理部24が構築され、PCIバスインタフェース回路25と、PCIバスを中継するブリッジであるスターファブリックのような高速LANインタフェース回路26を備えている。
インタフェースボード300には、模擬対象となるマイクロコンピュータの外部に設けられる入出力周辺回路の模擬回路30が構築され、IOボード200に備えた第二のマイクロコンピュータ模擬ブロック20と制御対象であるエンジンまたはエンジンを模擬するエンジンシミュレータの入出力信号線が模擬回路30を介して接続される。
第一のマイクロコンピュータ模擬ブロック10は、汎用のパーソナルコンピュータに用いられるような数GHzの高速且つ高機能な第一のCPU11と、ROM及びRAMを備えたメモリ12等を備え、メモリ12には、エンジン制御用のアプリケーションソフトウェアの一部、PCIバスを介して中継処理部24の共有メモリにアクセスするモデルインタフェース等のソフトウェアが格納されている。
第一のCPU11と当該第一のCPU11で実行されるアプリケーションソフトウェアの一部とでモデル演算部15aが構成され、第一のCPU11と当該第一のCPU11で実行されるモデルインタフェースとでマイクロコンピュータ模擬ブロック20との間で遣り取りするデータを入出力する処理要求受信部としての第一の入出力制御部15bが構成される。
第二のマイクロコンピュータ模擬ブロック20は、模擬対象となるマイクロコンピュータと同程度のクロック周波数の百数十MHzで動作する第二のCPU21と、ROM及びRAMを備えたメモリ22と、模擬対象となるマイクロコンピュータのタイマ回路、割込み制御部、入力系リソース、出力系リソースを模擬する周辺回路23を備えている。
メモリ22には、エンジン制御用のアプリケーションソフトウェアの一部、中継処理部24の共有メモリにアクセスするモデルインタフェース、周辺回路23を制御するI/Oドライバ等のソフトウェアが格納されている。
第二のCPU121と当該第一のCPU21で実行されるアプリケーションソフトウェアの一部とでタスク処理部21aが構成され、第二のCPU21と当該第二のCPU21で実行されるモデルインタフェースとでマイクロコンピュータ模擬ブロック10との間で遣り取りするデータを入出力する第二の入出力制御部21bが構成され、第二のCPU121と当該第一のCPU21で実行されるI/Oドライバと周辺回路23とで模擬周辺回路が構成される。
中継処理部24は、第一及び第二の入出力制御部11b,21bとの間で遣り取りするデータを記憶する共有メモリ24aと、共有メモリ24aに対するデータの入出力を管理し、第一及び第二の入出力制御部11b,21b間のデータの授受を制御するFPGA等の半導体集積回路でなる共有メモリ管理部24bを備えている。
中継処理部24は、外部割込み信号EX−INT及び外部メモリバスEX−MBUSを介して第二の入出力制御部21bと接続されるとともに、PCIバス25等を介して第一の入出力制御部11bと接続されている。
共有メモリ24aは、第二の入出力制御部21bからの割込み要求及び出力データを記憶する領域と、第一の入出力制御部11bからの割込み要求及び出力データを記憶する領域に区画され、割込み要求を格納する領域は共有メモリ管理部24bによりFIFO方式で処理される。
共有メモリ管理部24bは、第二の入出力制御部21bからの割込み要求及び出力データが共有メモリ24aに書き込まれると、PCIバス25を介して第一の入出力制御部11bに当該割込み要求を出力する。当該割込み信号を受信した第一の入出力制御部11bはPCIバス14を介して当該データを読み出す。
同様に、共有メモリ管理部24bは、PCIバス13を介して第一の入出力制御部11bからの割込み要求及び出力データが共有メモリ24aに書き込まれると、第二の入出力制御部21bに割込み信号を出力する。当該割込み信号を受信した第二の入出力制御部21bは外部メモリバスを介して当該データを読み出す。
このようにして、共有メモリ管理部24bは、第一の入出力制御部11bまたは第一の入出力制御部11bからの割込み要求をその発生順に他方に伝達することにより、何れか一方の入出力制御部から共有メモリ24aに書き込まれたデータを他方の入出力制御部に出力するように管理する。
以下、既存のECUのアプリケーションソフトウェアの一部を改良し或は新機能を追加する場合を例に、このようなソフトウェア開発装置を用いたアプリケーションソフトウェアの動作確認手順、及び、当該ソフトウェア開発装置の更なる詳しい構成について説明する。
ECUのアプリケーションソフトウェアは、クランクパルス信号等の外部割込みや内部タイマの割込み等の様々なイベントの発生に応じて実行される複数のタスクで構成されている。このようなタスクでは、エンジンの状態に応じてエンジンに対する制御タイミングや制御量が演算され、適切な制御信号が出力される。
例えば、クランクパルス信号等からエンジンの回転数を算出するタスク、アクセルの操作量とエアフローメータで検出された吸入空気量等に基づいて燃料噴射量を演算するタスク、クランクパルス信号とバルブ駆動パルス信号から噴射タイミングを算出するタスク等である。
制御タイミングや制御量は、エンジンの燃焼状態、筒内圧力、温度等の様々な物理条件により異なる。そこで、通常のEUCでは、入力変数に対して適切な出力値が規定されたマップデータと呼ばれるテーブルデータに基づいて制御タイミングや制御量が算出されている。
入力変数となる様々な物理条件を反映した詳細な物理モデル式に基づいて制御タイミングや制御量を算出する場合には、演算負荷が重くなり、必要な制御周期で演算するために高価な高速CPUを用いる必要があるが、マップデータを用いると安価な低速CPUでも十分に対応できるためである。
しかし、現状のCPUでは不可能な物理モデル式に基づいた制御量の算出が、技術の進歩により次世代のCPUでは十分に可能となるような場合には、このようなモデル式をタスクに組込み、先行開発する必要が生じる。
そのような場合に、上述したソフトウェア開発装置を好適に用いることができる。
図5には、このような場合の評価用のアプリケーションソフトウェアの開発手順が示されている。右側の破線で囲まれたブロックは第二のマイクロコンピュータ模擬ブロック20で実行されるアプリケーションを示し、左側の破線で囲まれたブロックは第一のマイクロコンピュータ模擬ブロック10で実行されるアプリケーションが示されている。
第一のマイクロコンピュータ模擬ブロック10で実行されるアプリケーションは、新規に開発する物理モデルを定義したモデル関数である。入出力が定義されたモデルA,B,Cのソースファイルが生成され、実行プログラムにコンパイルされた後にマザーボード゛100の第一のメモリ12に格納される。
第二のマイクロコンピュータ模擬ブロック20で実行されるアプリケーションは、既存のECUに対して構築されたアプリケーションのソースファイルに、新規に生成したモデル関数をコールするプログラムであるモデル呼出部21cが組み込まれる。モデル呼出部21cは、モデル演算が必要となるタスク内に組み込まれる。モデル呼出部21cが組み込まれたソースファイルが生成され、実行プログラムにコンパイルされた後にI/Oボード200の第二のメモリ22に格納される。
ここでは、第二のマイクロコンピュータ模擬ブロック20が、既存のECUに組み込まれたマイクロコンピュータを模擬し、既存のマイクロコンピュータの周辺リソースそのものを模擬する模擬周辺回路を備えるように構築されている。
第一のマイクロコンピュータ模擬ブロック10で実行されるアプリケーションと第二のマイクロコンピュータ模擬ブロック20で実行されるアプリケーションは、モデル/タスクリンク情報で関連付けられ、モデル/タスクリンク情報は、夫々のソースファイルに組み込まれる。
モデル/タスクリンク情報は、タスクから各モデルA,B,Cに入力される入力データと、各モデルA,B,Cからタスクに出力される出力データの定義情報と、タスクとタスクから呼び出されるモデルの優先順位を規定した優先順位テーブル情報と、タスクから呼び出されるモデルの実行許容時間情報を備えている。
入出力データの定義情報には、当該入出力データを授受する共有メモリ24aのアドレス情報が含まれる。
呼出元のタスクの優先順位を承継するように設定された優先順位承継モデルと、呼出元のタスクの優先順位とは関係なく設定された優先順位非承継モデルがあり、それぞれの優先順位が優先順位テーブル情報として規定されている。
夫々のアプリケーションソフトウェアがインストールされたソフトウェア開発装置が起動されると、第二のマイクロコンピュータ模擬ブロック20のタスク処理部21aにより、優先順位に従って各タスクが実行される。
図6に示すように、タスク処理部21aで実行されるタスクの一つAがモデルAの演算を必要とする場合に、モデル呼出部21cから第二の入出力制御部21bに呼出要求が出力される(図6中、(1)で示すタイミング)。第二の入出力制御部21bにより、共有メモリ24aに割込み要求データ、当該モデルの入力データ、及び実行許容時間が書き込まれる。
これに対応して、共有メモリ管理部24bは、PCIバス25を介して第一の入出力制御部11bに割込み要求を送信する(図6中、(2)で示すタイミング)。当該割込み要求を受信した第一の入出力制御部11bは、PCIバス13を介して共有メモリ24aに書き込まれた入力データを読み取り(図6中、(3)で示すタイミング)、第一のメモリ12に格納してモデル演算部11aを起動する(図6中、(4)で示すタイミング)。
モデル演算部11aは、対応するモデル演算を終了すると、出力データを第一のメモリ12に格納して第一の入出力制御部11bに出力要求する(図6中、(5)で示すタイミング)。第一の入出力制御部11bは、PCIバス13を介して割込み要求データ及び当該出力データを共有メモリ24aに書き込む。
共有メモリ管理部24bは、第二の入出力制御部21bに割込み信号を出力する(図6中、(6)で示すタイミング)。当該割込み信号を受信した第二の入出力制御部21bは外部メモリバスを介して当該出力データを読み出し、モデル呼出部21cに引き渡す(図6中、(7)で示すタイミング)。タスク処理部21aは、当該出力データに基づいてタスクを実行する。
上述の手順を繰り返すことにより、マイクロコンピュータの模擬装置は、一方のマイクロコンピュータ模擬ブロックが、所定周期内で処理すべきアプリケーションソフトウェアの一部の実行を、中継処理部を介して他方のマイクロコンピュータ模擬ブロックに要求し、所定周期内で他方のマイクロコンピュータ模擬ブロックが実行した結果を中継処理部を介して獲得して、当該所定周期内での処理を完結するように構成されている。
ここに、所定周期とは、模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアの実行と、模擬対象であるマイクロコンピュータが制御を行なう被制御装置との入出力とを行なう演算の実行周期、つまり、模擬周期をいう。
共有メモリ管理部24bは、第二の入出力制御部21bからの割込み要求を検出すると、共有メモリ24aに書き込まれた実行許容時間を計時し、実行許容時間の計時が終了するまでに、第一の入出力制御部11bから共有メモリ24aに出力データが書き込まれると当該計時を中止し、実行許容時間の計時が終了すると、共有メモリ24aに実行不能を示す仮の出力データを書き込んで、第二の入出力制御部21bに出力する。
当該仮のデータを獲得したタスク処理部21aは、モデル演算の結果に替えて、既存のマップデータから出力データを算出してタスクを実行する。このような仮のデータは予め定義されており、外部に要求したモデル演算が実行許容時間内に終了しない場合であっても、所定周期内でのタスクの処理が完結されるように構成されている。
つまり、共有メモリ管理部24bは、第二の入出力制御部21bから共有メモリ24aにアプリケーションソフトウェアの実行要求データが書き込まれた後に、第一の入出力制御部11bから当該実行要求データに対する結果データが共有メモリ24aに書き込まれるか否かを監視し、設定時間内に当該結果データが共有メモリ24aに書き込まれなかった場合に、共有メモリ24aに実行不能を示す結果データを書き込み、第二の入出力制御部21bに出力する監視部として機能する。
尚、当該監視部は必ずしも共有メモリ管理部24bに設ける必要はなく、モデルの呼出元のマイクロコンピュータ模擬ブロックに設けるものであってもよい。つまり、一方のマイクロコンピュータ模擬ブロックから他方のマイクロコンピュータ模擬ブロックに要求したアプリケーションソフトウェアが、他方のマイクロコンピュータ模擬ブロックで設定時間内に実行されたか否かを監視する監視部を備えていればよい。
モデル演算が実行許容時間内で終了しなかった場合には、共有メモリ管理部24bにより、その旨の情報が共有メモリ24aとは異なるメモリに記憶され、またはタスク処理部21aにより、第二のメモリ22に記憶される。
タスク処理部21aで、予め設定された優先順位に従って各タスクが実行されるように、モデル演算部11aでも、予め設定された優先順位に従って各モデルが演算される。
図7はタスク及びモデルの実行手順を示している。タスク処理部21aで実行されるタスクは、タスクA,タスクB,タスクCの順に優先順位が設定されている。各タスクは上述したようにイベントの発生に伴なって起動されるタスクであり、タスクAは例えば1msec.のインタバルで発生するタイマ割込みに対応するタスクであり、タスクBは例えばクランクパルスのエッジで発生する外部割込みに対応するタスクであり、タスクCは例えば4msec.のインタバルで発生するタイマ割込みに対応するタスクである。タスクBの実行中に1msec.のタイマ割込みが発生すると、タスクBの実行が中断され、タスクAが優先的に実行される。
モデル演算部11aで実行されるモデルは、モデルA,モデルB,モデルC,モデルDの順に優先順位が設定されている。モデルA,モデルB,モデルCは夫々タスクA,タスクB,タスクCから呼び出されるモデルで、その優先順位はタスクA,タスクB,タスクCの優先順位が承継されている。モデルDは、任意のタスクから呼出可能なタスクで、タスクの優先順位は承継されず、モデル間で固有に設定されている。
タスク処理部21aでタスクCが実行されているときに、クランクパルスのエッジ割込みが発生するとタスクBが優先的に実行され、タスクBからモデルBが呼び出されると、モデル演算部11aでモデルAが演算される。
このとき、1msec.のタイマ割込みが発生すると、タスク処理部21aでは、タスクBの実行が中断され、タスクAが優先的に実行される。さらに、タスクAからモデルAが呼び出されると、モデル演算部11aでは、モデルBの演算が中断され、モデルAが優先的に演算される。
モデルAの演算が終了すると、中断されていたモデルBの演算が再開される。タスク処理部21aでは、タスクAの処理が終了した後にタスクBの処理が再開され、モデルBからの出力データに基づいてタスクが実行される。その後タスクBが終了すると、中断されていたタスクCの処理が再開される。
タスクAから呼び出されるモデルDは、優先順位が最下位であるため、他のモデル演算が実行中であれば、それらが終了した後に演算される。
つまり、マイクロコンピュータの模擬装置は、アプリケーションソフトウェアが、予め設定された優先順位に従って処理される複数のアプリケーションソフトウェアで構成され、一方のマイクロコンピュータ模擬ブロックからアプリケーションソフトウェアの一部の実行を要求された他方のマイクロコンピュータ模擬ブロックは、当該アプリケーションソフトウェアの優先順位に従って要求されたアプリケーションソフトウェアの一部を実行するように構成されている。
上述した実施形態では、第一のマイクロコンピュータの模擬ブロックでモデル演算を行ない、第二のマイクロコンピュータの模擬ブロックで既存のタスクを実行するものを説明したが、本発明による第一のマイクロコンピュータの模擬ブロックは、モデル演算の専用ブロックとして位置付けられるものではなく、新規な追加タスクを実行したり、第二のマイクロコンピュータの模擬ブロックで実行される既存のタスクの一部を実行するように構成することも可能である。
また、第一のマイクロコンピュータの模擬ブロックで既存のタスク処理を行ない、第二のマイクロコンピュータの模擬ブロックで新規なモデルまたはタスクを実行するように構成してもよい。
つまり、本発明によるマイクロコンピュータの模擬装置は、模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを実行する第一及び第二のマイクロコンピュータ模擬ブロックと、第一のマイクロコンピュータ模擬ブロックと第二のマイクロコンピュータ模擬ブロックとの間で遣り取りするデータを中継する中継処理部とを備え、第一のマイクロコンピュータ模擬ブロックが、模擬を行なう際の模擬周期内で処理すべきソフトウェアの一部の実行を、前記中継処理部を介して第二のマイクロコンピュータ模擬ブロックに要求し、当該要求を行なった模擬周期内で第二のマイクロコンピュータ模擬ブロックがソフトウェアを実行した結果を、前記中継処理部を介して取得するものであればよく、当該模擬周期内での処理を完結するように構成されていればよい。
図5に示したマザーボードが収容された筐体にI/Oボード及びI/Fボードを収容することにより、単一の筐体で独立してマイクロコンピュータの模擬装置を構成することができる。また、マザーボードが収容された筐体にI/Oボード及びI/Fボードを収容したマイクロコンピュータの模擬装置と、I/Oボード及びI/Fボードが収容された筐体とを、例えばスターファブリックで接続することにより、マイクロコンピュータの模擬装置として動作させることも可能である。
上述したマイクロコンピュータの模擬装置の具体構成は例示に過ぎず、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
従来のマイクロコンピュータの模擬装置の構成図 本発明によるマイクロコンピュータの模擬装置の対象となるマイクロコンピュータのブロック構成図 本発明によるマイクロコンピュータの模擬装置のハードウェア構成図 本発明によるマイクロコンピュータの模擬装置の機能ブロック構成図 本発明によるマイクロコンピュータの模擬装置に移植されるアプリケーションソフトウェアの説明図 本発明によるマイクロコンピュータの模擬装置の動作説明図 本発明によるマイクロコンピュータの模擬装置により実行されるタスク及びモデルの処理手順説明図
100:マザーボード
200:IOボード
300:インタフェースボード
10:第一のマイクロコンピュータ模擬ブロック
11:第一のCPU
12:第一のメモリ
11a:モデル演算部
11b:第一の入出力制御部
20:第二のマイクロコンピュータ模擬ブロック
21:第二のCPU
21a:タスク処理部
21b:第二の入出力制御部
21c:モデル呼出部
22:第二のメモリ
23:周辺回路
24:中継処理部
24a:共有メモリ
24b:共有メモリ管理部

Claims (7)

  1. CPUと当該CPUの周辺回路とが内部に組み込まれたマイクロコンピュータを模擬するマイクロコンピュータの模擬装置であって、
    模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを実行する第一及び第二のマイクロコンピュータ模擬ブロックと、
    第一のマイクロコンピュータ模擬ブロックと第二のマイクロコンピュータ模擬ブロックとの間で遣り取りするデータを中継する中継処理部とを備え、
    第一のマイクロコンピュータ模擬ブロックが、模擬を行なう際の模擬周期内で処理すべきソフトウェアの一部の実行を、前記中継処理部を介して第二のマイクロコンピュータ模擬ブロックに要求し、当該要求を行なった模擬周期内で第二のマイクロコンピュータ模擬ブロックがソフトウェアを実行した結果を、前記中継処理部を介して取得するように構成され、
    前記ソフトウェアが、予め設定された優先順位に従って処理される複数のタスクで構成され、第一のマイクロコンピュータ模擬ブロックからタスクの一部の実行を要求された第二のマイクロコンピュータ模擬ブロックは、当該タスクの優先順位に従って要求されたタスクの一部を実行することを特徴とするマイクロコンピュータの模擬装置。
  2. 前記模擬周期は1回の周期内で、模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアの実行と、模擬対象であるマイクロコンピュータが制御を行なう被制御装置との入出力とを行なうことを特徴とする請求項1記載のマイクロコンピュータの模擬装置。
  3. 第一のマイクロコンピュータ模擬ブロックから第二のマイクロコンピュータ模擬ブロックに要求したソフトウェアが、第二のマイクロコンピュータ模擬ブロックで設定時間内に実行されたか否かを監視する監視部を備えていることを特徴とする請求項1または2記載のマイクロコンピュータの模擬装置。
  4. 第一のマイクロコンピュータ模擬ブロックは、各タスクの優先順位を設定したタスク優先順位テーブルに従って各タスクを実行し、第二のマイクロコンピュータ模擬ブロックは、タスクの一部として要求されたモデル演算を、各モデル演算の優先順位を設定したモデル演算優先順位テーブルに従って実行するように構成され、前記モデル演算優先順位テーブルは、前記タスク優先順位テーブルの優先順位を承継した優先順位と、独自に設定された優先順位の何れかの優先順位が設定されていることを特徴とする請求項1から3の何れかに記載のマイクロコンピュータの模擬装置。
  5. CPUと当該CPUの周辺回路とが内部に組み込まれたマイクロコンピュータを模擬するマイクロコンピュータの模擬装置であって、
    模擬対象であるマイクロコンピュータのCPUで実行される、複数のタスクでなるソフトウェアを実行する第一及び第二のマイクロコンピュータ模擬ブロックを備え、
    第一のマイクロコンピュータ模擬ブロックが実行する第一のタスクに含まれる所定の演算を第二のタスクとして、第二のマイクロコンピュータ模擬ブロックで実行するように構成し、
    第二のマイクロコンピュータ模擬ブロックが第二のタスクの演算を、第一のタスクに設定された優先順位に従って実行することを特徴とするマイクロコンピュータの模擬装置。
  6. CPUと当該CPUの周辺回路とが内部に組み込まれたマイクロコンピュータを模擬するマイクロコンピュータの模擬装置であって、
    模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを実行するマイクロコンピュータ模擬ブロックと、
    自装置の外部に設けられた模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを実行する外部マイクロコンピュータ模擬装置から、当該外部マイクロコンピュータ模擬装置が実行する第一のタスクに含まれる所定の演算を、第二のタスクとして実行するように要求を受ける処理要求受信部とを備え、
    前記マイクロコンピュータ模擬ブロックは、前記処理要求受信部から第二のタスクの演算要求を受けると、第二のタスクを第一のタスクに設定された優先順位に従って実行することを特徴とするマイクロコンピュータの模擬装置。
  7. CPUと当該CPUの周辺回路とが内部に組み込まれたマイクロコンピュータを模擬するマイクロコンピュータの模擬システムであって、
    模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを、模擬対象であるマイクロコンピュータとは異なるマイクロコンピュータを用いて実行する第一のマイクロコンピュータ模擬装置と、
    模擬対象であるマイクロコンピュータのCPUで実行されるソフトウェアを、マイクロコンピュータに組み込まれたものではないCPUで実行する第二のマイクロコンピュータ模擬装置とを備え、
    第一のマイクロコンピュータ模擬装置が実行する第一のタスクに含まれる所定の演算を第二のタスクとして、第二のマイクロコンピュータ模擬装置で実行するように構成し、
    第二のマイクロコンピュータ模擬装置が第二のタスクの演算を、第一のタスクに設定された優先順位に従って実行することを特徴とするマイクロコンピュータの模擬システム。
JP2008063397A 2008-03-12 2008-03-12 マイクロコンピュータの模擬装置 Expired - Fee Related JP5156440B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008063397A JP5156440B2 (ja) 2008-03-12 2008-03-12 マイクロコンピュータの模擬装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008063397A JP5156440B2 (ja) 2008-03-12 2008-03-12 マイクロコンピュータの模擬装置

Publications (2)

Publication Number Publication Date
JP2009217753A JP2009217753A (ja) 2009-09-24
JP5156440B2 true JP5156440B2 (ja) 2013-03-06

Family

ID=41189496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008063397A Expired - Fee Related JP5156440B2 (ja) 2008-03-12 2008-03-12 マイクロコンピュータの模擬装置

Country Status (1)

Country Link
JP (1) JP5156440B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2817786B2 (ja) * 1996-07-15 1998-10-30 日本電気株式会社 シミュレーション装置及びシミュレーション方法
JP2002049505A (ja) * 2000-08-01 2002-02-15 Denso Corp ソフトウェア結合検査装置
JP2004234530A (ja) * 2003-01-31 2004-08-19 Fujitsu Ten Ltd マイクロコンピュータのロジック開発装置

Also Published As

Publication number Publication date
JP2009217753A (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
US8036761B2 (en) Simulation hardware apparatus comprising vehicle model
JP4728020B2 (ja) 車両制御用ソフトウェア及び車両制御装置
JP5065344B2 (ja) シミュレーション方法、システム及びプログラム
JP5295355B2 (ja) シミュレーション方法、システム及びプログラム
JP2007246040A (ja) 電子制御装置、模擬装置、試験装置および試験方法
JPWO2008099931A1 (ja) マイクロコンピュータの模擬装置
JP4906286B2 (ja) ソフトウェア開発環境システム
JP5156440B2 (ja) マイクロコンピュータの模擬装置
JP4476228B2 (ja) シミュレーション装置
JP5052519B2 (ja) シミュレーション装置、シミュレーションシステム及びシミュレーション方法
JP2004234530A (ja) マイクロコンピュータのロジック開発装置
JP3827615B2 (ja) マイコンのロジック開発装置及び開発方法
JP2009054041A (ja) 模擬マイクロコンピュータ装置
JP3827565B2 (ja) マイコンのロジック開発装置
JP2010049355A (ja) 模擬マイクロコンピュータ装置
JP5776661B2 (ja) 電子制御装置
JP2015123748A (ja) 検査システム
JP2008165545A (ja) シミュレーション装置
JP2010244376A (ja) ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法
JP2010224971A (ja) ソフトウェア開発装置、実車試験方法、及びエミュレーション方法
JP2005250937A (ja) マイクロコンピュータソフトウェアのプログラム検証装置
JP2003167756A5 (ja)
JP5926807B2 (ja) 協調シミュレーション用計算機システム、組込みシステムの検証システム及び組込みシステムの検証方法
US20080071517A1 (en) Emulations system and emulation method
JP5085719B2 (ja) 車両制御用ソフトウェア及び車両制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

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

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5156440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees