Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MICROCOMPUTER SIMULATION DEVICE
Document Type and Number:
WIPO Patent Application WO/2008/099931
Kind Code:
A1
Abstract:
Provided is a microcomputer simulation device which can rapidly develop software while coping with modification of a microcomputer as a target. The microcomputer simulation device simulates a microcomputer having a built-in CPU and a peripheral circuit of the CPU. The microcomputer simulation device includes: a mother board having a CPU which executes application software processed by the CPU provided in the microcomputer; and an IO board (20) which executes a process of the peripheral circuit arranged in the microcomputer and an IO process performed by the CPU provided in the microcomputer by an FPGA. The FPGA has a shared memory unit (22), updates data stored in the shared memory unit (22) via a communication bus provided between the mother board (10) and the IO board (20), and passes data between the CPU arranged on the mother board (10) and the FPGA.

Inventors:
YAMANAKA, Atsushi (Gosho-dori 1-chomeHyogo-ku, Kobe-sh, Hyogo 10, 6528510, JP)
山中 淳史 (〒10 兵庫県神戸市兵庫区御所通1丁目2番28号 富士通テン株式会社内 Hyogo, 6528510, JP)
MAEKAWA, Masahiro (Gosho-dori 1-chomeHyogo-ku, Kobe-sh, Hyogo 10, 6528510, JP)
前川 正博 (〒10 兵庫県神戸市兵庫区御所通1丁目2番28号 富士通テン株式会社内 Hyogo, 6528510, JP)
Application Number:
JP2008/052559
Publication Date:
August 21, 2008
Filing Date:
February 15, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJITSU TEN LIMITED (2-28, Gosho-dori 1-chome, Hyogo-ku, Kobe-sh, Hyogo 10, 6528510, JP)
富士通テン株式会社 (〒10 兵庫県神戸市兵庫区御所通1丁目2番28号 Hyogo, 6528510, JP)
YAMANAKA, Atsushi (Gosho-dori 1-chomeHyogo-ku, Kobe-sh, Hyogo 10, 6528510, JP)
山中 淳史 (〒10 兵庫県神戸市兵庫区御所通1丁目2番28号 富士通テン株式会社内 Hyogo, 6528510, JP)
MAEKAWA, Masahiro (Gosho-dori 1-chomeHyogo-ku, Kobe-sh, Hyogo 10, 6528510, JP)
International Classes:
G06F11/22; G06F11/28; G06F15/78; G06F11/22; G06F11/28; G06F15/76
Attorney, Agent or Firm:
HASHIMOTO, Kaoru (Sparkle Patent Office Higobashi IP Bldg. 6F, 1-18-35 Edobori Nishi-ku Osaka-sh, Osaka 02, 5500002, JP)
Download PDF:
Claims:
 CPUと当該CPUの周辺回路とを内部に備えるマイクロコンピュータの模擬を行うマイクロコンピュータの模擬装置であって、
 前記マイクロコンピュータに設けられるCPUが処理するアプリケーションソフトウェアを実行するマザーボードと、
 前記マイクロコンピュータに設けられる周辺回路の処理と、前記マイクロコンピュータに設けられるCPUが処理するIO処理とを実行するIOボードと、
 前記マザーボードとIOボードとの間に設けられ、前記マザーボードで実行するアプリケーションソフトウェアと前記IOボードで実行するIO処理との間で行う必要がある、前記マイクロコンピュータ固有のデータの遣り取りを、前記マイクロコンピュータに依存しない通信処理に変換した上で行うブリッジ部と、を備えているマイクロコンピュータの模擬装置。
 前記ブリッジ部は、前記IOボードに設けられた共有メモリ部と、前記マザーボードと前記IOボードとの間に設けられた通信バスを備えて構成され、
 通信バスを介して前記共有メモリ部に記憶したデータの更新を行うことによって、前記マザーボードと前記IOボードとの間でのデータの遣り取りを行うように構成されている請求項1記載のマイクロコンピュータの模擬装置。
 前記IOボードに、前記周辺回路の処理を模擬する模擬周辺回路が設けられ、
 前記ブリッジ部は、前記模擬周辺回路で発生したイベントを前記共有メモリ部を介してFIFO方式で前記マザーボードに送信し、当該入力イベントに対応したデータを前記共有メモリ部を介して前記マザーボードから読み出すように構成されている請求項2記載のマイクロコンピュータの模擬装置。
 CPUと当該CPUの周辺回路とを内部に備えるマイクロコンピュータの模擬を行うマイクロコンピュータの模擬装置であって、
 前記マイクロコンピュータに設けられるCPUが処理するアプリケーションソフトウェアを実行するCPUを備えたマザーボードと、
 前記マイクロコンピュータに設けられる周辺回路の処理を模擬する模擬周辺回路と、前記マイクロコンピュータに設けられるCPUが処理するIO処理を実行するハードウェア処理部を備えたIOボードと、を有し、
 前記IOボードのハードウェア処理部に共有メモリ部が設けられ、
 前記マザーボードと前記IOボードとの間に設けられた通信バスを介して前記共有メモリ部に記憶したデータの更新を行うことによって、前記マザーボードに設けられたCPUと前記IOボードのハードウェア処理部との間でのデータの遣り取りを行うマイクロコンピュータの模擬装置。
 前記模擬周辺回路がマイクロコンピュータにより構成されている請求項4記載のマイクロコンピュータの模擬装置。
 前記マザーボードと前記IOボードが別体で構成され、前記通信バスを中継するブリッジを介して夫々が接続されている請求項4または5記載のマイクロコンピュータの模擬装置。
 前記IOボードが、前記マイクロコンピュータの入出力周辺回路を模擬するインタフェースボードに接続され、前記インタフェースボードが制御対象と接続可能に構成されている請求項4から6の何れかに記載のマイクロコンピュータの模擬装置。
 前記模擬周辺回路で発生し、前記アプリケーションソフトウェアにより実行される各演算を起動する制御データが、前記共有メモリ部に記憶され、前記共有メモリ部に記憶された制御データが前記データ通信バスを介して前記マザーボードに読み取られる請求項4から7の何れかに記載のマイクロコンピュータの模擬装置。
 前記マザーボードに前記データ通信バスを介して前記共有メモリ部に格納されるデータをアクセスして前記アプリケーションソフトウェアと接続するメモリドライバを備えている請求項4から8の何れかに記載のマイクロコンピュータの模擬装置。
 CPUと当該CPUの周辺回路とを内部に備えるマイクロコンピュータの模擬を行うマイクロコンピュータの模擬装置であって、
 前記マイクロコンピュータに設けられるCPUが処理するアプリケーションソフトウェアをCPUで実行するマザーボードと、
 前記マイクロコンピュータに設けられる周辺回路の処理と、前記マイクロコンピュータに設けられるCPUが処理するIO処理とを実行するIOボードと、
を備えるマイクロコンピュータの模擬装置。
 CPUと当該CPUの周辺回路とを内部に備えるマイクロコンピュータの模擬を行うマイクロコンピュータの模擬装置であって、
 前記マイクロコンピュータに設けられるCPUが処理するアプリケーションソフトウェアをCPUで実行するマザーボードと、
 前記マイクロコンピュータに設けられる周辺回路の処理と、前記マイクロコンピュータに設けられるCPUが処理するIO処理とを、書き換え可能なハードウェアで実行するIOボードと、
を備えるマイクロコンピュータの模擬装置。
Description:
マイクロコンピュータの模擬装

 本発明は、機器を制御するマイクロコン ュータに組み込まれるソフトウェアの開発 たは評価を行なうためのソフトウェア開発 置等に、好適に用いることができるマイク コンピュータの模擬装置に関する。

 制御対象となる機器の高性能化、高機能 が急激に進む状況下で、機器を制御する電 制御装置に組み込まれるマイクロコンピュ タの性能も年々進化している。

 例えば車両のエンジンを制御する電子制 ユニット(Electronic Control Unit)のような電子 御装置では、エンジンの高性能化、高機能 の流れの中で、現状の電子制御装置の性能 りも優れた性能を発揮する次世代の電子制 装置を想定した新しいアプリケーションソ トウェア(制御用ロジック)が先行開発され いる。

 先行開発される制御用ロジックは、性能 上が見込まれる次世代のマイクロコンピュ タがターゲットとなることが多いのである 、そのような性能の向上したマイクロコン ュータが組み込まれた電子制御装置が開発 に実在しないばかりか、次世代のマイクロ ンピュータそのものも実在しない場合もあ ため、多くの場合は、現状のマイクロコン ュータをベースにして先行ロジックの開発 行なわざるを得なかった。

 しかし、現状のマイクロコンピュータを み込んだ電子制御装置を用いて先行ロジッ の開発を行なう場合には、マイクロコンピ ータのCPUの処理能力の不足や、メモリ容量 不足や、更には周辺リソースの不足が生じ 等の問題があるため、精度の高い先行ロジ クの開発が困難となり、次期マイクロコン ュータに対応したアプリケーションソフト ェアの開発が遅れる等、新製品の開発に支 を来たしていた。

 つまり、現状の電子制御機器に組み込ま るマイクロコンピュータは、電子制御機器 コストを低く抑えるために、現状のシステ に最適な仕様となるようにCPU性能及び周辺 ソースが選択されて、それらが1つのパッケ ージの中に組み込まれているため、新製品に 対応してそれぞれの性能や機能を変更する必 要が生じても、マイクロコンピュータそのも のを変更しない限り対応できないのである。

 そこで、特許文献1には、マイクロコンピ ュータに内蔵されるCPUを模擬するアプリケー ション処理機能部と通信機能部を備えた中央 ブロックと、中央ブロックとPCIバスで接続さ れる周辺ブロックと、周辺ブロックに接続す るインタフェース回路ブロックの三つの機能 ブロックを備えたソフトウェア開発装置が提 案されている。

 当該周辺ブロックには、マイクロコンピ ータに内蔵される周辺リソースをソフトウ アで実現して入出力処理を行なう模擬マイ ロコンピュータ周辺装置と、演算機能部と 通信機能部を備え、当該インタフェース回 ブロックには、電子制御ユニットに組み込 れるマイクロコンピュータ以外のハードウ アに相当する回路を備えている。

 そして、周辺ブロックの演算機能部にバ コントローラが設けられ、中央ブロックの 信機能部と当該バスコントローラがPCIバス 接続されるとともに、バスコントローラと 擬マイクロコンピュータ周辺装置とが内部 スで接続され、PCIバス、バスコントローラ 及び内部バスを介して、通信機能部と模擬 イクロコンピュータ周辺装置との間でデー の送受信が行われるように構成されている

 図2(b)及び図7に示すように、当該ソフトウ ア開発装置では、中央ブロックに、マイク コンピュータの内部リソースに接続するバ に相当する機能を実現するソフトウェアで るIOドライバが実装され、中央ブロックと周 辺ブロックがPCIバスで接続されるとともに、 中央ブロックにはIOドライバとアプリケーシ ンソフトウェアを接続するソフトウェアで るプラットフォームが実装され、周辺ブロ クにはFPGAでなる疑似マイクロコンピュータ 周辺装置がファームウェアとして実装されて いる。

特開2004-234530号公報

 上述した従来のソフトウェア開発装置は CPUと、割り込みコントローラやキャプチャ の周辺リソースで構成されるマイクロコン ュータの機能が分離されて、アプリケーシ ンプログラムを実行するCPUの処理内容が中 ブロックであるマザーボードに割り付けら 、マイクロコンピュータの周辺リソースに る処理内容が周辺ブロックであるIOボード 割り付けられていた。

 つまり、本来、マイクロコンピュータのC PUにより処理される周辺リソースに対するI/O 理(入出力処理)(図中、「マイクロコンピュ タI/O」と記す。)が中央ブロック(マザーボ ド)のIOドライバ及びプラットフォームで処 されるように構成されていた。

 このような周辺リソースに対するI/O処理 、ターゲットとなるマイクロコンピュータ 組み込まれる周辺リソース等のハードウェ 構成に依存して変動する処理となり、ター ットとなるマイクロコンピュータが変更さ る度に、CPUボードをそれに合わせるべく、I /O処理を実行するIOドライバを交換したり、 央ブロック(マザーボード)自体を交換しなけ ればならないという問題があった。

 さらに、上述した従来のソフトウェア開 装置では、中央ブロック(マザーボード)に 装されるプラットフォームやIOドライバがア プリケーションソフトウェアと完全に分離す ることができず、一部がアプリケーションソ フトウェアに組み込まれていた。

 従って、ターゲットとするマイクロコン ュータを変更する場合には、それに対応し 周辺ブロックのファームウェアやIOドライ を変更するばかりでなく、中央ブロックに 装されるプラットフォームやIOドライバ、さ らにはアプリケーションソフトウェアを変更 して交換するという煩雑な作業が要求される ものであったため、少なくともアプリケーシ ョンソフトウェアの変更を伴なうことが無い ように汎用化する必要があるという観点で更 なる改良の余地があった。

 本発明は、上述の問題点に鑑み、ターゲ トとなるマイクロコンピュータが変更され 場合であっても、迅速に対応でき、スピー ィなソフトウェア開発が可能となるマイク コンピュータの模擬装置を提供する点にあ 。

 上述の目的を達成するため、本発明によ マイクロコンピュータの模擬装置の特徴構 は、CPUと当該CPUの周辺回路とを内部に備え マイクロコンピュータの模擬を行うマイク コンピュータの模擬装置であって、前記マ クロコンピュータに設けられるCPUが処理す アプリケーションソフトウェアを実行する ザーボードと、前記マイクロコンピュータ 設けられる周辺回路の処理と、前記マイク コンピュータに設けられるCPUが処理するIO 理とを実行するIOボードと、前記マザーボー ドとIOボードとの間に設けられ、前記マザー ードで実行するアプリケーションソフトウ アと前記IOボードで実行するIO処理との間で 行う必要がある、前記マイクロコンピュータ 固有のデータの遣り取りを、前記マイクロコ ンピュータに依存しない通信処理に変換した 上で行うブリッジ部と、を備えている点にあ る。

 上述の構成によれば、模擬対象となるマ クロコンピュータのCPUを模擬するマザーボ ドと、模擬対象となるマイクロコンピュー の周辺回路を模擬するIOボードとの間で遣 取りされる入出力データが、ブリッジ部に り、模擬対象となるマイクロコンピュータ 依存しない通信処理に変換された上で行わ るため、ターゲットとなるマイクロコンピ ータが変更される場合であっても、遣り取 される入出力データを変更するだけで対応 るマイクロコンピュータを模擬することが 能となる。

 従って、従来のようにアプリケーション フトウェアを変更する必要が無く、また、I Oボードの模擬周辺機能ブロックに対するマ ーボード上のIOドライバを変更する等の煩雑 な処理が大きく軽減される。

 以上説明した通り、本発明によれば、タ ゲットとするマイクロコンピュータが変更 れる場合であっても迅速に対応でき、スピ ディなソフトウェア開発が可能となるマイ ロコンピュータの模擬装置を提供すること できるようになった。

図1は本発明によるマイクロコンピュー タの模擬装置の全体構成を示す機能ブロック 構成図である。 図2(a)は本発明によるマイクロコンピュ ータの模擬装置のIO処理を説明するための機 ブロック構成図である。図2(b)は従来のマイ クロコンピュータの模擬装置のIO処理を説明 るための要部のブロック構成図である。 図3は仮想レジスタと共有メモリ部のデ ータの遣り取りを示す説明図である。 図4はマイクロコンピュータの入出力リ ソースの構成図である。 図5は本発明によるマイクロコンピュー タの模擬装置の使用状況を示す説明図である 。 図6は本発明によるマイクロコンピュー タの模擬装置の要部のブロック構成図である 。 図7は従来のマイクロコンピュータの模 擬装置の要部のブロック構成図である。

符号の説明

10:マザーボード
20:IOボード
22:共有メモリ部

 以下に、本発明によるマイクロコンピュ タの模擬装置を説明する。当該マイクロコ ピュータの模擬装置は、例えば、車両のエ ジンを制御する電子制御ユニット(以下、「 ECU」と記す。)に組み込まれるマイクロコン ュータのアプリケーションソフトウェアを 発するためのソフトウェア開発装置として 現されている。

 尚、本発明によるマイクロコンピュータ 模擬装置の用途は、ECUのアプリケーション フトウェアの開発に限るものではなく、広 組み込みソフトウェアの開発に使用される のである。

 図5に示すように、車両Cのエンジンルー にマウントされたエンジンENGの近傍にエン ン制御用のECU101が配置されている。

 マイクロコンピュータの模擬装置(以下、 「ソフトウェア開発装置」と記す。)100は、EC U101に接続される信号線のコネクタを外して 当該信号線を中継用のハーネスHを介して接 することにより、実際のECU101に替えて使用 れ、当該ソフトウェア開発装置100で実行さ るアプリケーションソフトウェアに基づい エンジンENGが制御される。

 ソフトウェア開発装置100は、表示器210や ータを入力するためのキーボード220を備え 上位コンピュータ(ホストコンピュータ)200 接続される。図中、S1,S2はそれぞれソフトウ ェア開発装置100とホストコンピュータ200を動 作させるための電源スイッチである。表示器 210によりソフトウェア開発装置100の動作状態 がモニタされ、キーボード220を介してソフト ウェア開発装置100の設定や設定の変更入力が 行なわれる。

 ソフトウェア開発装置100は、上述したよ に車両Cに直接接続して使用する以外に、車 両の様々な運転状況を模擬する車両の運転状 況発生装置230に接続することにより、車両C 存在しない状態であっても、ECUに組み込ま るマイクロコンピュータのアプリケーショ ソフトウェアを開発することができる。

 尚、当該運転状況発生装置230では、パー ナルコンピュータ240の管理下で、エンジン 模擬するアプリケーションソフトウェアが 行され、ソフトウェア開発装置100に運転状 に応じた信号が出力される。

 ECU101の構成について説明する。
 図4に示すように、ECU101には、エンジン回転 数信号や車速信号等のパルス入力、水温セン サや吸気温センサ等からのアナログ入力、及 びスタータスイッチ、電気負荷スイッチ、シ フト位置スイッチやエアコン信号等のデジタ ル入力が入力される。

 ECU101は、これらの入力信号を処理する入 回路と、入力回路を介して入力された各信 を処理するマイクロコンピュータMと、マイ クロコンピュータMで処理された信号を増幅 て出力するドライバD等を備えている。

 ECU101から出力される信号には、シフト制 ソレノイドやVVT(可変バルブタイミング)ソ ノイドへのアナログ制御信号(アナログ出力) 、点火信号や燃料の噴射信号等のパルス制御 信号(パルス出力)、ISC(アイドル速度制御)用 パルス制御信号(パルス出力)、及び、チェッ クエンジンランプ、メインリレー、エヤコン カット信号等のデジタル制御信号(デジタル 力)等が含まれる。

 マイクロコンピュータMは、アプリケーシ ョンソフトウェアが格納されるROMや演算処理 に使用されるRAMを備えたメモリ109と、アプリ ケーションソフトウェアを実行するCPU102と、 入出力制御を行う周辺リソースが1つのパッ ージに収納されている。

 周辺リソースには、入力系のリソースと 力系のリソースが含まれる。入力系のリソ スとして、デジタル信号を扱う入力ポート1 03とラッチポート104、アナログ入力を扱うA/D ンバータ105、及びパルス入力を扱うキャプ ャ106等が設けられ、出力系のリソースとし 、デジタル出力を出力する出力ポート112、 ルス出力を出力するPWM(パルス幅変調器)113 コンペア114、及びアナログ信号を出力する リアル115等が設けられている。

 これらの周辺リソースは内部バス110によ てメモリ109及びCPU102に相互に接続されてい 。また、マイクロコンピュータMの内部には 、これらの周辺リソースに加えて、内部タイ マ107や割り込みコントローラ108等が設けられ ている。

 車両の運転状態を表す各センサやスイッ 類からの信号がECU101に入力されると、入力 路で信号処理されてマイクロコンピュータM に入力される。入力された信号は入力系の周 辺リソースでCPU値に変換され、演算部として 機能するメモリ109とCPU102でCPU値に基づいて車 両状態が検出され、車両状態に応じた出力要 求信号が生成される。

 出力要求信号は出力系の周辺リソースで 力信号に変換されてマイクロコンピュータM から出力される。この出力信号に従って車両 に装備された各アクチュエータがドライバD より駆動され、この出力制御の結果が破線 示すように、車両からの入力信号に反映さ る。

 本発明によるソフトウェア開発装置100は 上述のECU101を模擬するエミュレータとして 能する。

 図1及び図2(a)に示すように、ソフトウェ 開発装置100は、マザーボード10と、IOボード2 0と、インタフェースボード30とを備えて構成 されている。

 マザーボード10は、アプリケーションソ トウェアを実行する高機能CPUを備えている IOボード20は、ターゲットとするマイクロコ ピュータを構成する複数のCPU周辺リソース 模擬した模擬周辺機能ブロックを備えてい 。インタフェースボード30は、ターゲット するマイクロコンピュータの外部に設けら る入出力周辺回路の模擬回路を備えている

 マザーボード10とIOボード20とがデータ通 バスとしてのPCIバスで接続され、IOボード20 とインタフェースボード30とが複数の入出力 号ラインで接続されている。

 マザーボード10は、模擬対象となるマイ ロコンピュータに設けられるCPUが処理する プリケーションソフトウェアを実行する。

 マザーボード10には、汎用のパーソナル ンピュータに用いられるような数GHzの高速 つ高機能なCPUと、メモリと、PCIバスインタ ェース回路と、PCIバスを中継するブリッジ あるスターファブリックのような高速LANイ タフェース回路が搭載されている。

 尚、PCIバスを中継するブリッジとしては スターファブリック以外に、PCIバスブリッ 等を適宜用いることができる。

 マザーボード10上のメモリには、エンジ 制御用のアプリケーションソフトウェア15、 PCI通信ドライバ16、PCIを介して後述の共有メ リ部にアクセスするメモリドライバ17、LAN 信ドライバ18等が格納されている。

 IOボード20は、模擬対象となるマイクロコ ンピュータに設けられる周辺回路(周辺リソ ス)としての処理と、当該マイクロコンピュ タに設けられるCPUが処理するIO処理、つま 、周辺リソースに対する入出力処理とを実 する。

 IOボード20には、百数十MHzで動作するCPUと 、メモリと、ターゲットとするマイクロコン ピュータのタイマ回路、割込み制御部、入力 系リソース、出力系リソースを模擬する模擬 周辺回路としての複数のファームウェア21と マイクロコンピュータのCPUと入力系及び出 系のリソースを接続する内部バスとして機 する共有メモリ部22と、PCIバスインタフェ ス回路と、PCIバスを中継するブリッジであ スターファブリックのような高速LANインタ ェース回路が搭載されている。

 IOボード20上のメモリには、PCI通信ドライ バ26、LAN通信ドライバ28等が格納されている

 共有メモリ部22は、ファームウェア21との 間で遣り取りされる制御データやインタフェ ースボード30との間で遣り取りされる入出力 ータを格納する複数のレジスタを備えたFPGA (Field Programmable Gate Alley)で構成されている

 尚、FPGAは、マイクロコンピュータに設け られるCPUが処理するIO処理を実行するハード ェア処理部の一例であり、必ずしもFPGAで構 成されるものに限るものではなく、ASICなど 他の公知のハードウェア回路で構成するも であってもよい。

 ファームウェア21で発生し、且つ、アプ ケーションソフトウェアにより実行される 演算を起動する割込み等の制御データが、 込み信号線及び外部メモリバス(メモリコン ロールバス)を介して共有メモリ部22に記憶 れ、共有メモリ部22に記憶された制御デー がPCIバスを介してマザーボードに読み取ら るように構成されている。

 マザーボードに読み取られた制御データ 基づいて実行されるアプリケーションソフ ウェアの演算結果である出力データが、PCI スを介して共有メモリ部22に記憶され、当 出力データに対応する出力信号が各ファー ウェア21を介してインタフェースボード30に 力される。

 ファームウェア21は、既存のマイクロコ ピュータがコアとして用いられ、当該マイ ロコンピュータの制御プログラムに基づい 、上述した入力ポート103やラッチポート104 A/Dコンバータ105、キャプチャ106、出力ポー 112、PWM(パルス幅変調器)113やコンペア114、シ リアル115、内部タイマ107等の周辺リソースと して機能するように構成されている。

 尚、個々の周辺リソースをFPGAやハードウ ェア回路で構成することも可能であるが、既 存のマイクロコンピュータを用いて構成する ことにより、異なる周辺リソースを容易に構 築でき、ターゲットとなるマイクロコンピュ ータに応じてフレキシブル且つ迅速に機能を 変更することができる。

 マザーボード10上のメモリには、仮想レ スタとして機能するデータ記憶領域が設け れている。仮想レジスタとは、模擬対象と るマイクロコンピュータのCPUが周辺リソー を制御するために使用する内部レジスタを 擬するものである。

 周辺リソースとして実現されるファーム ェア21には、上述したようなタイマ回路、 込み制御部、入力系リソース、出力系リソ ス等が含まれる。従って、タイマ回路に対 るタイマ値の設定レジスタや制御レジスタ 割込み制御部に対する割込み制御レジスタ 入出力系リソースに対する制御レジスタや 出力用のデータレジスタ等、周辺リソース 対するIO処理を実行する制御用のレジスタが 仮想レジスタとして設定されている。

 アプリケーションソフトウェア15とメモ ドライバ17は相互に独立して構築されている 。

 つまり、図3に示すように、メモリドライ バ17によって共有メモリ部22から読み出され 制御信号が仮想レジスタに書き込まれた後 、仮想レジスタを介してアプリケーション フトウェア15に引き渡される。その結果、ア プリケーションソフトウェア15で演算された 力データが仮想レジスタに書き込まれた後 、仮想レジスタに書き込まれた出力データ メモリドライバ17によって共有メモリ部22に 格納される。

 各ファームウェア21は、タイマのカウン アップや入力信号に対する入力処理等のイ ントが発生すると、割込み信号線を介してFP GAにイベントの発生を通知する。

 FPGAはイベントの種類に応じたコードデー タを共有メモリ部22の割込みデータ領域に格 するとともに、外部メモリバスを介してフ ームウェア21から得られた入力データを共 メモリ部22の入出力データ領域に格納する。

 FPGAは割込みデータ領域に格納したコード データをFIFO方式でマザーボード10に送信すべ く、PCI通信ドライバ26を起動し、LAN通信ドラ バ28を介してマザーボード10側のメモリドラ イバ17に送信する。

 メモリドライバ17から仮想レジスタに当 コードデータが書き込まれると、マザーボ ド10のアプリケーションソフトウェア15のう 、当該コードデータに対応する割込み処理 ログラクが起動される。

 当該割込み処理プログラクは、PCI通信ド イバ16を起動し、LAN通信ドライバ18を介して 、共有メモリ部22の入出力データ領域に格納 れた入力データを読出して、仮想レジスタ 書き込み、当該入力データに基づいてアプ ケーションソフトウェアによる所定の演算 理が起動される。

 つまり、各ファームウェア21で発生した ベントがFIFO方式で順次マザーボード10の仮 レジスタに書き込まれることにより、対応 るアプリケーションソフトウェアが起動さ 、必要なデータが共有メモリ部22から読み出 される。

 アプリケーションソフトウェアは、演算 理により出力すべきデータを生成すると、 該出力データを仮想レジスタに書き込み、P CI通信ドライバ16を起動し、LAN通信ドライバ18 を介して、共有メモリ部22の入出力データ領 に当該出力データを書き込む。

 IOボード20のFPGAは、共有メモリ部22に出力 データが書き込まれると、外部メモリバスを 介して対応するファームウェア21に当該デー を出力する。

 つまり、IOボード20に設けられた共有メモ リ部22と、マザーボード10とIOボード20との間 設けられた通信バス16,18,28,26により、ブリ ジ部が構成され、ブリッジ部は、通信バス 介して共有メモリ部22に記憶したデータの更 新を行うことによって、マザーボード10とIO ード20との間でのデータの遣り取りを行う。

 ブリッジ部は、マザーボード10とIOボード 20との間に設けられ、マザーボード10で実行 るアプリケーションソフトウェアとIOボード 20で実行するIO処理との間で行われる模擬対 となるマイクロコンピュータ固有のデータ 遣り取りを、当該マイクロコンピュータに 存しない通信処理に変換した上で行うもの ある。

 インタフェースボード30は、ポート割付 換ボードと、ポート割付変換ボードのコネ タに挿入される複数の標準回路ボード及び 能ボードでなるECU入出力回路31を備え、ポー ト割付変換ボードに挿入される標準回路ボー ド及び機能ボードの組み合わせにより、任意 の数の入出力回路を実現できるように構成さ れている。

 標準回路ボードはウォーニングランプの 灯信号やCANバス等のシリアル信号を入出力 るドライバ回路やバッファ回路を備えたデ タル信号回路で構成され、機能ボードはパ ートレーン出力回路、アナログ信号入出力 路、エンジンに対する噴射信号、点火信号 電子スロットル制御信号等を入出力する信 処理用の低機能マイクロコンピュータを備 た入出力処理回路で構成されている。

 つまり、図6に示すように、マザーボード 10とIOボード20によりターゲットとなるマイク ロコンピュータが模擬され、インタフェース ボード30によりマイクロコンピュータの入出 回路が模擬され、インタフェースボード30 介して制御対象であるエンジンと接続可能 構成されることにより、アプリケーション フトウェアが実行されるECUとしての実環境 模擬される。

 上述のソフトウェア開発装置100の基本動作 ついて説明する。
 アプリケーションソフトウェアは、時間同 処理(時間系割り込み処理)と非時間同期処 の2つの処理を行なう。

 時間同期処理は外部状態に依存せず、一 の時間間隔で定期的に行う処理であり、非 間同期処理は外部状態、即ち、エンジンの 転状態に依存して発生する処理である。

 この非時間同期処理には、例えば、エン ンの回転信号、車速信号、燃料の噴射タイ ング信号、点火タイミング信号等による割 込み処理がある。このような外部状態によ ランダムに変化する事象をイベントと呼ぶ 、非時間同期処理は、外部状態により発生 るイベント情報を検出して、そのイベント 同期して行なう処理でもある。

 マザーボード10上のCPUが、上述の時間同 処理と非時間同期処理を実行する仮想マイ ロコンピュータのCPUとして機能するように マザーボード10上のメモリには、時間系割り 込みと非時間系割り込みを発生させるととも に、入出力データ等を格納する仮想レジスタ 領域が設けられており、メモリドライバ17を して共有メモリ部22上のデータが当該仮想 ジスタに書き込まれ、マザーボード10上のCPU により当該仮想レジスタに書き込まれたデー タがメモリドライバ17を介して共有メモリ部2 2に書き込まれるように構成されている。

 アプリケーションソフトウェアは、共有 モリ部22に書き込まれた外部イベント、つ り、ファームウェアで発生するタイマ、エ ジン回転信号、車速信号、通信信号等によ 共有メモリ部22にセットされる割込みフラグ が起点となって動作する複数の割込みルーチ ンが設けられ、割込みフラグに従って上述の 時間同期処理と非時間同期処理が実行される 。

 つまり、共有メモリ部22にセットされ、 モリドライバ17を介して仮想レジスタに書き 込まれた割込みフラグが1つでも存在すれば メモリドライバ17を介してその時のIOデータ 仮想レジスタから読み出され、対応するア リケーションソフトウェアの一部が起動さ 、当該割込みフラグがリセットされるとと に所定の演算処理が実行され、その結果で る出力データが仮想レジスタに書き込まれ 。

 仮想レジスタに書き込まれた出力データ 、メモリドライバ17によりIOボード20の共有 モリ部22の所定領域に書き込まれ、その値 模擬周辺機能ブロックであるファームウェ 21に出力される。

 尚、大量のデータを送受信する場合は、 ースト転送が行われ、通信効率が上げられ 。ポート、ラッチの速度が要求されないビ トデータは、メモリドライバの前処理、後 理で一括して送受信される。

 このようにしてファームウェア21で検出 れた外部イベントやタイマ割込みがFPGAで構 される共有メモリ部22に割込みフラグとし 格納されると、メモリドライバにより当該 込みフラグが読み出されることにより、順 対応するアプリケーションソフトウェアが 行される。

 ここで、各ファームウェア21から共有メ リ部22に書き込まれる割込みフラグ(コード ータ)は互いに独立して設定され、メモリド イバ17によってFIFO方式で仮想レジスタに書 込まれ、アプリケーションソフトウェアに り対応する割込み処理が順次実行されるも であるが、割込みに優先順位が設けられ、 に発生した割り込みに対するアプリケーシ ンが終了するまで他のファームウェア21は 込みフラグをセットできないように、各フ ームウェア21からの割込みを制御する制御部 をFPGAに設けてもよい。

 上述のソフトウェア開発装置において、 なくともマザーボード10とIOボード20が別体 例えば異なるラックに組み込まれるように 成し、PCIバスを中継するスターファブリッ 等のブリッジを介して接続するように構成 れば、マザーボード10に新たなアプリケー ョンソフトウェアを搭載して、IOボード20及 インタフェースボード30に替えて既存のECU 用いてソフトウェア開発装置が実現できる うになり、既存のハードウェアリソースを 効活用できるようになる。

 また、マザーボード10とIOボード20を同一 ラックに組み込む場合には、ブリッジを介 ずに直接にPCIバスで両者間を接続すること 可能となる。

 上述したマイクロコンピュータの模擬装 の具体構成は例示に過ぎず、各部の具体的 構成は、本発明の作用効果を奏する限りに いて、構築するシステムに応じて適宜変更 計することが可能である。

 例えば、図2(a)を例に説明すると、バスブ リッジ18,28として、スターファブリックやPCI スブリッジ等を用いることができる。また 共有メモリ部22を構成するFPGAに替えて、ASIC 、CPU及び周辺回路、さらにはマイクロコンピ ュータ等を用いて構成することができる。さ らに、周辺リソースを実現するファームウェ ア21としてのマイクロコンピュータを、FPGAや ASIC等で代替することも可能である。

 図2(b)に示すような従来の構成によれば、 ターゲットとなるマイクロコンピュータが変 更された場合に、IOボードの変更に加えて、 ザーボード上のIOドライバにより設定され いる周辺リソース(周辺回路)に対するI/O処理 の大幅な変更と、それに伴なうアプリケーシ ョンソフトウェアの変更が不可欠であった。

 しかし、本発明によれば、図2(a)に示すよ うに、IOボード20に設けた周辺リソースであ ファームウェア21の変更等に対応して、共有 メモリ部22に定義される周辺リソースに対す データ割付の変更や追加を行なえば、それ 対応して共有メモリに対するインタフェー ドライバであるメモリドライバ及び仮想レ スタをマッチングさせるだけで対応できる うになり、マザーボード上のアプリケーシ ン等を変更する必要が無くなる。

 以上説明したように、本発明によれば、 ーゲットとなるマイクロコンピュータが変 された場合に、従来問題となっていたマザ ボード上のアプリケーションソフトウェア 変更をもたらすような、IOドライバやプラ トフォームの大幅な変更を行なう必要が無 なり、主にIOボード20の変更により容易に対 可能となる。