(57)【要約】【課題】シミュレーション精度の低下を来たすことなく、シミュレーション環境のパーフォーマンスを向上させ、リアルタイムにシミュレーションを行なえるソフトウェア開発支援装置を提供する。【解決手段】所定周期で操作信号を出力するとともにシミュレータから入力されたデータに基づいてシミュレーション結果を表示する操作装置１と、操作信号に従って評価対象ソフトウェアを実行する演算処理部４を備えたシミュレータからなり、シミュレータ３に外部から入力される被処理信号を所定周期とは非同期で変換処理するとともに変換処理したデータをデータメモリ部に蓄積し、蓄積されたデータを演算処理部４のバッファメモリに一括転送する信号変換処理部５を備え、演算処理部４はバッファメモリに一括転送されたデータに対して評価対象ソフトウェアを起動するプロセス制御部４Ｂを備えている。【選択図】図１
2008152722.tif 000002
【特許請求の範囲】
【請求項１】
制御装置に組み込まれて所定の制御を行う評価対象ソフトウェアを、前記制御装置を模擬するシミュレータで動作させるソフトウェア開発支援装置であって、
前記シミュレータは、評価対象ソフトウェアを所定周期で実行する演算処理部と、外部から入力される被処理信号を前記所定周期とは非同期で所定処理を行ってデータメモリ部に蓄積し、蓄積したデータを前記演算処理部のバッファメモリに転送する信号処理部とを備え、
前記演算処理部は、前記所定周期内に、前記信号処理部から前記バッファメモリにデータの転送があったことを示す割り込みを受けると、前記転送があったデータに対応する評価対象ソフトウェアを起動するプロセス処理部を備えているソフトウェア開発支援装置。
【請求項２】
前記評価対象ソフトウェアは入力データに対して関数変換処理を実行する関数変換処理部と、前記関数変換処理部により変換されたデータに基づいて解析処理する解析処理部としてコンピュータを機能させるための複数のスレッドからなるプログラムを備え、前記プロセス制御部は前記バッファメモリに転送されたデータに対して関数変換処理部を起動する請求項１記載のソフトウェア開発支援装置。
【請求項３】
前記シミュレータに前記信号変換処理部を複数備え、前記プロセス制御部は各信号変換処理部から転送されたデータの夫々に対して並列して前記関数変換処理部を起動するとともに、前記関数変換処理部により変換されたデータに基づいて前記解析処理部を順次起動させる請求項２記載のソフトウェア開発支援装置。
【請求項４】
前記演算処理部は前記バッファメモリに転送されたデータを時系列的に蓄積する履歴データメモリを備え、前記プロセス制御部は前記履歴データメモリに蓄積されたデータを前記バッファメモリに読み出して前記評価対象ソフトウェアを実行させる再生処理部を備えている請求項１から３に何れかに記載のソフトウェア開発支援装置。
【請求項５】
前記演算処理部は外部記憶装置との間で前記履歴データメモリに蓄積された履歴データを送受信する履歴データ送受信処理部を備えている請求項４記載のソフトウェア開発支援装置。
【請求項６】
レーダ制御装置に組み込まれて所定の制御を行う評価対象ソフトウェアを、前記レーダ制御装置を模擬するシミュレータで動作させるソフトウェア開発支援装置であって、
前記シミュレータは、関数変換処理プログラム及び解析処理プログラムを備えた評価対象ソフトウェアを所定周期で実行する演算処理部と、レーダから入力される被処理信号を前記所定周期とは非同期でＡＤ変換処理を行ってデータメモリ部に蓄積し、蓄積したデータを前記演算処理部のバッファメモリに転送する信号処理部とを備え、
前記演算処理部は、前記所定周期内に、前記信号処理部から前記バッファメモリにデータの転送があったことを示す割り込みを受けると、前記転送があったデータに対応する関数変換処理プログラムを起動するとともに、前記関数変換処理プログラムが所定回数実行された場合に解析処理プログラムを起動するプロセス処理部を備えているソフトウェア開発支援装置。
【請求項７】
前記プロセス処理部は、前記関数変換処理プログラムよりも前記解析処理プログラムを優先して起動する請求項６記載のソフトウェア開発支援装置。
【請求項８】
レーダ制御装置に組み込まれて所定の制御を行う評価対象ソフトウェアを、前記レーダ制御装置を模擬するシミュレータで動作させるソフトウェア開発支援装置であって、
前記シミュレータは複数のレーダ制御装置を模擬するものであり、複数のレーダ制御装置に対応する関数変換処理プログラム及び解析処理プログラムを備えた評価対象ソフトウェアを所定周期で実行する演算処理部と、複数のレーダ制御装置に対応して複数設けられ、レーダから入力される被処理信号を前記所定周期とは非同期でＡＤ変換処理を行ってデータメモリ部に蓄積し、蓄積したデータを前記演算処理部のバッファメモリに転送する信号処理部とを備え、
前記演算処理部は、前記所定周期内に、前記信号処理部から前記バッファメモリにデータの転送があったことを示す割り込みを受けると、前記転送があったデータに対応する関数変換処理プログラムを起動するとともに、前記関数変換処理プログラムが所定回数実行された場合に解析処理プログラムを起動するプロセス処理部を備えているソフトウェア開発支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器を制御するマイクロコンピュータへの組込みソフトウェアを開発評価するためのソフトウェア開発支援装置に関する。
【背景技術】
【０００２】
従来、製品に組み込まれるソフトウェアの開発時に、実機試験の前に或いは実機試験に替えて擬似信号を入力してソフトウェアの動作を検証するソフトウェア開発支援装置として、シミュレータに対して操作信号を出力するとともに前記シミュレータから入力されたデータに基づいてシミュレーション結果を表示する操作装置と、前記操作装置から入力された操作信号に従って評価対象ソフトウェアを実行するとともにその結果を前記操作装置に出力する演算処理部を備えたシミュレータとをＬＡＮで接続したソフトウェア開発支援装置が提案されている。
【０００３】
このようなソフトウェア開発支援装置として、特許文献１には、アプリケーション処理機能と通信機能を備えた中央ブロックと、マイクロコンピュータの周辺装置を擬似的にソフトウェアで実現して入出力処理を行う疑似マイクロコンピュータ周辺装置、演算機能、及び通信機能を有し、前記中央ブロックとＰＣＩバスで接続される周辺ブロックと、電子制御ユニットのハードウエアに相当する回路を有し、前記周辺ブロックに接続するインタフェース回路ブロックとを備え、前記中央ブロックの通信機能と、前記周辺ブロックの前記疑似マイクロコンピュータ周辺装置とが前記ＰＣＩバスで接続され、このＰＣＩバスを介して前記通信機能と前記疑似マイクロコンピュータ周辺装置との間で、直接データの送受信が行えるように構成されているマイクロコンピュータのロジック開発装置が提案されている。
【０００４】
【特許文献１】特開２００４−２３４５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したロジック開発装置は、別途ＬＡＮで接続された操作装置から所定周期でシミュレータに入力される操作信号や被処理データに基づいて評価対象ソフトウェアが実行され、その結果が操作装置に出力されるものであったため、評価対象ソフトウェアが大量の被処理データを必要とする場合や操作装置に大量のデータを出力する必要のある場合には、ネットワークのパーフォーマンスが低下して評価対象ソフトウェアをリアルタイムに実行させることが困難であるという問題があった。
【０００６】
例えば、車載レーダ装置に搭載される制御用ソフトウェアを評価する場合には、被処理信号としてレーダから出力される反射信号をＡＤ変換した被処理データを模擬した被処理データを操作装置からシミュレータに供給する必要があるが、操作装置から大量の被処理データを送信する場合には、遅延が生じて評価対象ソフトウェアによる演算周期とマッチングが取れず、リアルタイムに動作させることができないという問題が生じるため、評価対象ソフトウェアによる演算周期を大幅に長く設定せざるを得ず、シミュレーションに時間がかかるのである。
【０００７】
そこで、被処理データの容量を制限すると精度のよいシミュレーションができないため、評価対象ソフトウェアの十分な検証ができなくなるという問題もあった。
【０００８】
また、シミュレーションのために必要な様々なパターンの被処理データを事前に作成する作業も煩雑で手間が掛かるという問題もあった。
【０００９】
このような問題は、車載カメラで撮影された映像情報や集音装置で取り込まれた音声情報等の大量のデータを処理する必要のある車載装置に対する制御ソフトウェアを評価する際にも同様であり、このような状況は、ＬＡＮを介して接続されたエンジンやブレーキ等の他の車載機器のシミュレータと連動させて評価する必要のある場合に特に問題となるため、効率的なソフトウェア開発を困難にするという問題もあった。
【００１０】
本発明は、上述の種々の問題点に鑑み、シミュレーション精度の低下を来たすことなく、シミュレーション環境のパーフォーマンスを向上させ、リアルタイムにシミュレーションを行なえるソフトウェア開発支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述の目的を達成するため、本発明によるソフトウェア開発支援装置の特徴構成は、所定周期でシミュレータに対して操作信号を出力するとともに前記シミュレータから入力されたデータに基づいてシミュレーション結果を表示する操作装置と、前記操作装置から入力された操作信号に従って評価対象ソフトウェアを実行してその結果を前記操作装置に出力する演算処理部を備えたシミュレータとを備えてなるソフトウェア開発支援装置であって、前記シミュレータに、外部から入力される被処理信号を前記所定周期とは非同期で変換処理するとともに変換処理したデータをデータメモリ部に蓄積し、蓄積されたデータを前記演算処理部のバッファメモリに一括転送する信号変換処理部を備え、前記演算処理部は前記バッファメモリに一括転送されたデータに対して評価対象ソフトウェアを起動するプロセス制御部を備えている点にある。
【００１２】
上述の構成によれば、シミュレータに備えた信号変換処理部に、操作装置とシミュレータ間の送受信のための周期とは関係なく、外部からリアルな被処理信号が入力され、その被処理信号が信号変換処理部で被処理データに変換処理されてデータメモリ部に蓄積され、蓄積された被処理データが演算処理部のバッファメモリに一括転送される。被処理データが一括転送されるとプロセス制御部により評価対象ソフトウェアが起動されてシミュレーションが実行される。その結果、大量の蓄積データに基づいてリアルタイムに評価対象ソフトウェアを実行できるようになる。
【発明の効果】
【００１３】
以上説明した通り、本発明によれば、シミュレーション精度の低下を来たすことなく、シミュレーション環境のパーフォーマンスを向上させ、リアルタイムにシミュレーションを行なえるソフトウェア開発支援装置を提供することができるようになった。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明によるソフトウェア開発支援装置の実施形態を説明する。
【００１５】
ＦＭ−ＣＷ方式の車載レーダに組み込まれる制御ソフトウェアを評価対象ソフトウェアとするソフトウェア開発支援装置は、図１に示すように、シミュレータ３に対して操作信号を出力するとともにシミュレータ３から入力されたデータに基づいてシミュレーション結果を表示する操作装置１と、操作装置１から入力された操作信号に従って評価対象ソフトウェアを実行するとともにその結果を操作装置１に出力する演算処理部４を備えたパーソナルコンピュータでなるシミュレータ３とをＬＡＮ（Ethernet、ゼロックス社の登録商標）２で接続して構成されている。
【００１６】
操作装置１及びシミュレータ３は、夫々オペレーティングシステム（以下、「ＯＳ」と略記する。）を備えたパーソナルコンピュータで構成され、開発支援用のアプリケーションソフトウェアが搭載されている。
【００１７】
操作装置１はＯＳに組み込まれたＧＵＩ（Graphical User Interface）を介してオペレータが操作入力可能に構成され、オペレータによる操作に基づいてシミュレータ３に移植された評価対象ソフトウェアが実行され、その結果が表示される。つまり、アプリケーションソフトウェアに基づいて表示部に表示された操作画面に対してマウスやキーボードを操作することにより、シミュレータに対する環境条件の設定や評価対象ソフトウェアの起動または停止等の操作が可能に構成され、シミュレータから送信される評価対象ソフトウェアの実行結果が操作画面に表示されるように構成されている。
【００１８】
シミュレータ３は、ＯＳを実行するＣＰＵが搭載されたマザーボードと、マザーボードとＰＣＩバス６で接続される拡張スロットルが装着されている。
【００１９】
演算処理部４はパーソナルコンピュータのマザーボード上にＯＳ及びファームウェアの一部を伴なって構築され、演算処理部４により実行管理される評価対象ソフトウェアがマザーボードに備えたメモリ４Ｈに格納されている。また、拡張スロットルにＣＰＵやＦＰＧＡ等により構成される信号変換処理部５を備えた信号処理ボードが挿入され、信号変換処理部５と演算処理部４がＰＣＩバス６により相互に接続されている。
【００２０】
信号変換処理部５は、外部に対してレーダ波を送信するとともに外部から入力される被処理信号であるレーダ波の反射波を受信するアンテナを備えた送受信回路５Ｃと、受信された信号を所定のサンプリングパルスに基づいてＡＤ変換するＡＤ変換回路５Ｄと、演算処理部４の演算周期とは非同期でＡＤ変換処理するとともに変換処理したデータを蓄積するデータメモリ部５Ａと、データメモリ部５Ａに蓄積されたデータを演算処理部４のバッファメモリ４Ａに一括転送するＤＭＡ処理部５Ｂを備えている。
【００２１】
送受信回路５Ｃは、レーダ波を生成する発振回路と発振回路から出力されたミリ波を三角波信号により周波数変調するＦＭ変調回路等でなる送信回路と、アンテナで受信された信号を所定レベルに増幅する増幅回路等と増幅された受信信号とＦＭ変調回路からの出力信号を混合してビート信号を生成するミキシング回路とミキシング回路の出力からビート周波数成分を抽出するフィルタ回路等でなる受信回路と、ＡＤ変換回路５Ｄに対するサンプリングパルス等の制御信号を生成するパルス生成回路等を備えている。
【００２２】
フィルタ回路から出力されるビート信号がＡＤ変換回路５ＤによりＡＤ変換され、データメモリ部５Ａに所定容量のデータが蓄積されるとＤＭＡ処理部５Ｂによりバッファメモリ４Ａに一括転送される。
【００２３】
演算処理部４はＤＭＡ処理部５Ｂによりデータメモリ部５Ａから一括転送されたデータを格納するバッファメモリ４Ａと、バッファメモリ４Ａに転送されたデータに対する処理を行なう評価対象ソフトウェアを起動制御するプロセス制御部４Ｂを備えている。
【００２４】
評価対象ソフトウェアは入力データに対して関数変換処理としての高速フーリエ変換ＦＦＴ（Fast Fourier Transform）を実行する関数変換処理部４Ｃと、関数変換処理部４Ｃにより変換されたデータに基づいて解析処理する解析処理部４Ｄとしてコンピュータを機能させるためのスレッドを備えたタスクを備えて構成されている。
【００２５】
プロセス制御部４Ｂは操作装置１から送信される操作信号に基づいて、評価対象ソフトウェアを起動または停止するとともに実行結果を操作装置１に送信する。プロセス制御部４Ｂは評価対象ソフトウェアを起動すると、信号変換処理部５と連携して評価対象ソフトウェアの必要なスレッドを起動し、所定のタスクが実行されるように管理する。
【００２６】
演算処理部４はバッファメモリ４Ａに転送されたデータを時系列的に蓄積する履歴データメモリ４Ｅをさらに備え、プロセス制御部４Ｂは履歴データメモリ４Ｅに蓄積されたデータをバッファメモリ４Ａに読み出して評価対象ソフトウェアを実行させる再生処理部４Ｆを備えている。
【００２７】
さらに、演算処理部４は履歴データメモリ４Ｅに蓄積された履歴データをＬＡＮ２を介して操作装置１に送信し、或いは操作装置１に蓄積された過去の履歴データを受信して履歴データメモリ４Ｅに格納する履歴データ送受信処理部４Ｇを備えるとともに、解析処理部４Ｄによる解析結果を操作装置１に送信するＣＡＮインタフェース４Ｉを備えている。
【００２８】
ＦＭ−ＣＷ方式のレーダでは、ＡＤ変換回路５Ｄにより取り込まれるビート信号から求まる周波数（以下、「ビート周波数」と記す。）に基づいて対象物の相対距離及び相対速度が求められる。
【００２９】
相対距離及び相対速度の算出原理を説明する。図２（ａ）に示すように、ビート周波数ｆＢは送信波と反射波とをミキシングした混合波の周波数、つまり送信波の周波数とドップラー効果によりドップラーシフトを起こした反射波の周波数との差分から求められ、ドップラーシフトの影響により図２（ｂ）に示すように変化する。
【００３０】
図２（ａ）において、Ｔは送信波と反射波との遅延時間、Δｆは変調周波数幅、ｆ０は送信波の中心周波数、ｆｍは変調信号の周波数である。図２（ｂ）において、ｆＢＵ（＝ｆＲ＋ｆＶ）及びｆＢＤ（＝ｆＲ−ｆＶ）は、夫々ビート周波数ｆＢ上昇区間の上昇ビート周波数、及び、ビート周波数ｆＢ下降区間の下降ビート周波数であり、ｆＲは〔数１〕で示すように対象物との相対距離Ｒに比例する距離周波数、ｆＶは〔数２〕で示すように対象物との間の相対速度Ｖに比例する速度周波数となる。ここに、〔数１〕、〔数２〕で示すＣは光速である。
【００３１】
【数１】
2008152722.tif 000003
【数２】
2008152722.tif 000004
【００３２】
従って、ビート信号のｆＢＵとｆＢＤとから算出されるｆＲと〔数１〕に基づいて検出対象物の相対距離Ｒが〔数３〕のように求められ、ビート信号のｆＢＵとｆＢＤとから算出されるｆＶと〔数２〕に基づいて検出対象物の相対速度Ｖは〔数４〕のように求められる。
【００３３】
【数３】
2008152722.tif 000005
【数４】
2008152722.tif 000006
【００３４】
関数変換処理部４Ｃを構成する評価対象ソフトウェアは、バッファメモリ４Ａに蓄積されたビート信号に対応するデータを高速フーリエ変換（ＦＦＴ）してビート周波数を算出する複数のスレッドが動作することにより実現され、解析処理部４Ｄを構成する評価対象ソフトウェアは、関数変換処理部４Ｃの各スレッドで算出されたビート周波数と〔数３〕及び〔数４〕に基づいて対象物との相対距離Ｒと相対速度Ｖを算出する単一のスレッドが動作することにより実現されている。
【００３５】
以下、実車両に上述のソフトウェア開発支援装置を搭載して評価する場合の処理フローを図３及び図４に示すフローチャートに基づいて説明する。
【００３６】
ソフトウェア開発支援装置に電源が投入されると（ＳＡ１）、操作装置１及びシミュレータ３のＯＳが起動して初期設定が行なわれ、アプリケーションが立ち上がる。アプリケーションが立ち上がると、例えば、操作装置１ではシミュレーションの条件設定等の初期画面が表示され、シミュレータ３ではデータメモリ部５Ａのデータがリセットされ、ＤＭＡ処理部５Ｂの転送レジスタ等の値が初期化される等シミュレーションを実行するための前処理が行なわれる（ＳＡ２）。
【００３７】
操作装置１のＧＵＩを介してオペレータから各種の設定条件が入力されると、それらの設定情報がＬＡＮを介してシミュレータ３に送信され、シミュレーションが実行可能な環境に設定される（ＳＡ３）。
【００３８】
具体的には、操作装置１とシミュレータ３との間で遣り取りされるデータチャネルの設定、関数変換処理部４Ｃで演算処理に使用されるＦＦＴ関数や解析処理部４Ｄで相対距離Ｒと相対速度Ｖを算出する演算処理に使用される認識アルゴリズムの設定、ＤＭＡ転送のためのアドレス設定や転送されたデータ群の識別情報の設定、設定されたＤＭＡ転送領域に対応して選択される関数変換処理スレッドであるＦＦＴスレッドの対応付け等が行なわれる。ここで、ＦＦＴ関数や認識アルゴリズムは評価対象ソフトウェアの一部を構成し、ユーザに対応して複数の異なるアルゴリズムを採用した複数のスレッドとして予め操作装置１を介して送信され、マザーボードに備えたメモリ４Ｈに格納されているもので、スレッド毎に評価できるように構成されている。
【００３９】
操作装置１からシミュレータ３にシミュレーションの実行指令が送信されると（ＳＡ４）、演算処理部４から出力されるＰＣＩバスを介した起動指令に基づいて信号変換処理部（信号処理ボード）５の送受信回路５Ｃが駆動されてレーダ送信波が出力され、反射波とミキシングされたビート信号が送受信回路５Ｃを介してＡＤ変換回路５Ｄに入力される（ＳＡ５）。
【００４０】
図５に示すように、ＡＤ変換回路５Ｄには、送受信回路５Ｃに備えたパルス生成回路から数百μｓｅｃ．の周期でデータ取得開始パルスが入力され、データ取得開始パルスの一周期の間にビート周波数ｆＢ上昇区間とビート周波数ｆＢ下降区間に対応するデータ切替パルスと、当該データ切替パルスに同期したサンプリングパルスが入力される。
【００４１】
ＡＤ変換回路５Ｄにより、データ切替パルスに同期してビート周波数ｆＢ上昇区間とビート周波数ｆＢ下降区間の夫々三回、合計六回のサンプリング時に所定容量のデータがサンプリングされる。例えば、一回のサンプリング時に１０２４ｂｙｔｅ（２ｂｙｔｅ×５１２回）の容量のデータがサンプリングされてデータメモリ部５Ａに格納される（ＳＡ６）。
【００４２】
一回のサンプリングが終了する度に信号変換処理部５から演算処理部４に対して割込みリクエストが送信され、リクエストが演算処理部４に受け付けられると信号変換処理部５のデータメモリ部５Ａに格納されたサンプリングデータ群がＤＭＡ処理部５Ｂを介して初期設定で指定された演算処理部（マザーボード）４のバッファメモリ４Ａの所定領域にＤＭＡ転送される（ＳＡ７）。
【００４３】
ＤＭＡ転送が終了すると、演算処理部４では、プロセス制御部４Ｂにより上述の複数のＦＦＴスレッドのうち、ＤＭＡ転送されたバッファメモリ４Ａの領域に対応付けられたＦＦＴスレッドが起動されてビート周波数が算出され、バッファメモリ４Ａに区画された演算結果格納領域に記憶される（ＳＡ８）。
【００４４】
図５を参照して説明すると、データ切替パルス１のタイミングでＡＤ変換され、バッファメモリの領域１にＤＡＭ転送されたデータに対してＦＦＴスレッド１が起動され、データ切替パルス２のタイミングでＡＤ変換され、バッファメモリの領域２にＤＡＭ転送されたデータに対してＦＦＴスレッド２が起動されるという動作がデータ切替パルス６に対する処理まで繰り返されるのである。
【００４５】
つまり、ＤＭＡ転送されるデータブロックとＦＦＴスレッド間には相互に対応付けられた個別の管理番号が付されて管理され、演算処理部４のプロセス制御部４Ｂは転送されたデータブロックに対応するＦＦＴスレッドを起動するように制御する。本実施形態では、上述したように、六つのデータブロックに対応して六つのＦＦＴスレッドが管理され、対応付けはステップＳＡ３の環境条件の設定ステップで行なわれる。
【００４６】
このようにしてデータ取得開始パルスの一周期の間に六回のＤＭＡ転送が行なわれ、ＤＭＡ転送されたバッファメモリ４Ａの領域に対応付けられた六つのＦＦＴスレッドがプロセス制御部４Ｂにより順次起動され、全てのＦＦＴスレッドの実行が終了したことが、各ＦＦＴスレッドが生成し演算結果格納領域にセットする処理完了フラグにより検出されると（ＳＡ９）、プロセス制御部４Ｂにより上述の認識アルゴリズムのスレッドが起動されて（ＳＡ１０）、当該スレッドにより対象物との相対距離Ｒと相対速度Ｖが算出され、バッファメモリ４Ａに区画された演算結果格納領域に記憶される（ＳＡ１１）。
【００４７】
つまり、プロセス制御部４Ｂはバッファメモリ４Ａに一括転送されたデータに対して評価対象ソフトウェアを起動するように動作する。
【００４８】
認識アルゴリズムのスレッドは、連続する二つのデータブロックで得られるビート周波数ｆＢ上昇区間の上昇ビート周波数とビート周波数ｆＢ下降区間の下降ビート周波数に基づいて対象物との相対距離Ｒと相対速度Ｖを求める処理を三回繰り返し、その平均値を対象物との相対距離Ｒと相対速度Ｖとして算出する。
【００４９】
尚、認識アルゴリズムのスレッドはＦＦＴスレッドより実行優先順位が高く設定されており、認識アルゴリズムのスレッドが動作中に次周期のデータ取得開始パルスに応じてサンプリングされたデータがＤＭＡ転送された場合には、認識アルゴリズムのスレッドが終了した後にＦＦＴスレッドが起動される。
【００５０】
このような処理が繰り返される過程で、演算処理部４では、プロセス制御部４Ｂにより認識アルゴリズムのスレッドが起動されるのと並行して、前回の認識アルゴリズムのスレッドにより算出された対象物との相対距離Ｒと相対速度Ｖがバッファメモリ４Ａから読み出され（ＳＡ１２，ＳＡ１３）、ＣＡＮインタフェース４Ｉを介して操作装置１に送信され、操作装置１の表示部にその結果が表示される（ＳＡ１４）。
【００５１】
さらに、演算処理部４では、図５に示すように、バッファメモリ４Ａに格納された六回のサンプリングデータが履歴データメモリ４Ｅにブロック転送され、次の周期のデータ取得開始パルスによりサンプリングされるデータのＤＭＡ転送に備える（ＳＡ１５）。
【００５２】
シミュレータ３では、上述のステップＳＡ４からステップＳＡ１５の処理が２３ｍｓｅｃ．の演算周期（ＳＡ１６）として繰り返され、当該演算周期の最後に操作装置１との間でＬＡＮを介して通信が行なわれ、初期設定されたデータチャネルに対応するデータの送受信や設定操作装置１からの新たな操作情報の送信処理等が行なわれた後に（ＳＡ１７）、ステップＳＡ４に戻り、シミュレーションの終了指令が入力されるまで同様の処理が繰り返される。
【００５３】
上述したデータ取得開始パルスの周期をシミュレータの演算周期と等しくするか短く設定することにより、シミュレータの演算周期内で少なくとも六回のデータサンプリングと、対応する相対距離等の演算処理が行なわれる。
【００５４】
つまり、シミュレータに、操作装置とシミュレータ３の交信周期とは非同期で外部から入力される被処理信号を変換処理するとともに変換処理したデータをデータメモリ部に蓄積し、蓄積されたデータを演算処理部のバッファメモリに一括転送する信号変換処理部を備え、プロセス制御部がバッファメモリに一括転送されたデータに対して評価対象ソフトウェアを起動するように構成されている。
【００５５】
尚、履歴データメモリ４Ｅに転送されたデータ取得開始パルス一周期分のサンプリングデータは履歴データ送受信処理部４ＧによりＬＡＮを介して外部記憶装置として機能する操作装置１に随時送信され、操作装置１のメモリに格納される。履歴データは操作装置１に必ず送信されるものではなく、ステップＳＡ３の初期設定時に送信するように設定された場合に限られ、そのような設定がなされないときには履歴データメモリ４Ｅに蓄積される。
【００５６】
履歴データメモリ４Ｅに蓄積された履歴データ、または、初期設定でＬＡＮを介して外部記憶装置として機能する操作装置１から履歴データメモリ４Ｅに書き込まれた履歴データは、再生処理部４Ｆにより再度シミュレーションが実行されるように制御される。
【００５７】
詳述すると、再生処理部４Ｆは、同一周期でサンプリングされたブロック単位にバッファメモリ４Ａに読み出した後にプロセス制御部４Ｂを起動し、プロセス制御部４Ｂが複数のＦＦＴスレッドを起動させ、各ＦＦＴスレッドが処理を終了すると解析処理スレッドである認識アルゴリズムのスレッドを起動させるのである。
【００５８】
このように蓄積された履歴データを用いてシミュレーションを繰り返す環境が整えられているので、新たなスレッドが開発されたとき、既存のスレッドを再評価する必要がある場合に、実車環境ではなく室内でリアルタイムにシミュレーションができるようになる。
【００５９】
以上の説明では、信号変換処理部に送信波を自ら送信する送受信回路５Ｃを備えたものを説明したが、外部の送信回路から送信される送信波と、外部の送信回路から送信され対象物から反射した反射波をアンテナを介して受信してビート信号を生成する受信回路を設けるものであってもよい。
【００６０】
また、以上の説明では、ビート信号が一系統の場合を説明したが、対象物の位置する方向を求めるためには三角測量の原理より少なくとも二系統のビート信号が要求される。本発明では、シミュレータ３の拡張スロットルに信号変換処理部５を複数備えることが可能なように構成されており、プロセス制御部４Ｂは各信号変換処理部５からＤＭＡ転送されたデータの夫々に対して並列して関数変換処理部つまりＦＦＴスレッドを起動するとともに、関数変換処理部により変換されたデータに基づいて解析処理部つまり認識アルゴリズムのスレッドを順次起動させるように構成されている。
【００６１】
つまり、シミュレータに信号変換処理部を複数備え、プロセス制御部は各信号変換処理部から一括転送されたデータの夫々に対して並列して関数変換処理部を起動するとともに、関数変換処理部により変換されたデータに基づいて解析処理部を順次起動させるように構成されている。Ｎ個の信号変換処理部が設けられる場合におけるＦＦＴスレッドの動作を図６に示す。
【００６２】
例えば、上述の例に基づいて説明すると、系統毎に設けられた信号変換処理部５からデータ取得開始パルスの一周期の間に六回のＤＭＡ転送が行なわれ、ＤＭＡ転送されたバッファメモリ４Ａの領域に対応付けられた六つのＦＦＴスレッドがプロセス制御部４Ｂにより順次起動されるのである。このとき、ＦＦＴスレッドは系統毎に六つ設定され合計１２のスレッドが各データブロックに対応付けられて、プロセス制御部４Ｂにより系統毎に起動される。
【００６３】
複数系統の信号変換処理部５が設けられる場合には、プロセス制御部４Ｂは異なる系統のＦＦＴスレッドを同時に実行させるマルチスレッド制御を行ない、系統毎に六つのＦＦＴスレッドの処理が終了すると、先に終了した系統から単一の認識アルゴリズムのスレッドが実行される。ここでは、認識アルゴリズムのスレッドに各系統で算出された相対距離とアンテナ間の物理距離に基づいて対象物の位置する角度（方位）を算出するアルゴリズムが付加されている。
【００６４】
マルチスレッド制御とは、任意のＦＦＴスレッドの実行中に新たなＤＭＡ転送が終了すると対応する新たなＦＦＴスレッドを時分割で実行させることをいい、認識アルゴリズムのスレッドはＦＦＴスレッドより実行優先順位を高く設定している。従って、認識アルゴリズムのスレッドの実行中は新たなＦＦＴスレッドの実行は受け付けられず待機される。尚、複数のＦＦＴスレッドを実行制御する際には、ＤＭＡ転送終了後に要求されるＦＦＴスレッドを先に実行中のＦＦＴスレッドに対して割込み処理で実行するように構成してもよい。
【００６５】
このような構成により、複数のＦＦＴスレッドと単一の認識アルゴリズムのスレッドに基づいて複数系統のレーダを同時にシミュレーションすることも可能となっている。例えば、車両に二系統のビート信号を生成する前方用のレーダ装置と、二系統のビート信号を生成する後方用のレーダ装置に対して同時にシミュレーションできるようになる。
【００６６】
具体的には、拡張スロットルに接続された四枚の信号変換処理部５により、夫々の系統のビート信号を処理することにより四系統のビート信号が夫々独立してＡＤ変換され、プロセス制御部４Ｂにより複数のＦＦＴスレッドに対してマルチスレッド制御され、単一の認識アルゴリズムのスレッドにより前方車両の相対速度、相対距離、角度、及び、後方車両の相対速度、相対距離、角度が算出される。
【００６７】
上述のソフトウェア開発支援装置のＬＡＮに他のシミュレータを接続し、他の車載装置と統合された状態におけるシミュレーションを行なうことができる。
【００６８】
例えば、エンジンを模擬するエンジンモデル演算部にエンジンＥＣＵ（電子制御装置）が接続されたエンジンシミュレータと、ブレーキを模擬するブレーキモデル演算部にブレーキＥＣＵ（電子制御装置）が接続されたブレーキシミュレータをＬＡＮに接続し、上述のレーダシミュレータからの対象物の距離情報や速度情報に基づいて、エンジンシミュレータとブレーキシミュレータが協働して前方車両との車間を保ちながら走行する安全走行制御を行なうような場合に、各電子制御装置の評価を行なうことができる。
【００６９】
以下に別実施形態を説明する。
【００７０】
上述の実施形態では、信号変換処理部として外部から入力される被処理信号をＡＤ変換するものを説明したが、信号変換処理部における変換処理はＡＤ変換処理に限るものではなく、リアルタイムに大量のデータを変換処理するものであれば他の変換処理であってもよい。
【００７１】
上述の実施形態では、関数変換処理部４Ｃが高速フーリエ変換するＦＦＴスレッドで構成されるものを説明したが、関数変換処理はこれに限定されるものではなく、例えば、画像データや音声データの圧縮伸張処理、フィルタ処理等の各種の関数変換処理で構成することができる。
【００７２】
上述の実施形態では、操作装置１とシミュレータ３とを接続するＬＡＮにイーサネット（Ethernet、ゼロックス社の登録商標）を採用したものを説明したが、イーサネット以外に任意の規格のＬＡＮを採用することができる。例えば、ＦｌｅｘＲａｙ等の車両用のＬＡＮを用いることも可能である。
【００７３】
上述の実施形態では、ＦＭ−ＣＷ方式の車載レーダに組み込まれる制御ソフトウェアを評価対象ソフトウェアとするソフトウェア開発支援装置について説明したが、評価対象ソフトウェアはＦＭ−ＣＷ方式の車載レーダに組み込まれる制御ソフトウェアに限るものではなく、パルスドップラー方式等の他の方式の車載レーダに組み込まれる制御ソフトウェアであってもよい。また、レーダは車載されるものに制限されるものではないことは言うまでも無い。
【００７４】
上述の実施形態では、ソフトウェアの開発支援装置として、レーダの反射信号を被処理信号とするレーダ装置に組み込まれる評価対象ソフトウェアを対象としたものを説明したが、他に音声信号を被処理信号とする音声認識装置に組み込まれる評価対象ソフトウェアや、映像信号を被処理信号とする画像処理装置に組み込まれる評価対象ソフトウェア等、大量の被処理データを必要とする評価対象ソフトウェアをリアルタイムで評価する必要のある開発支援装置に適用することができる。その際、入力される被処理信号の系統数に応じて信号変換処理部を複数備えることにより、大容量の入力データに対してリアルタイムで処理することができるようになり、シミュレーションの効率化が促進される。
【００７５】
上述下実施形態では、評価対象ソフトウェアが、入力データに対して関数変換処理を実行する関数変換処理部と、前記関数変換処理部により変換されたデータに基づいて解析処理する解析処理部としてコンピュータを機能させるための複数のスレッドからなるプログラムを例に説明したが、評価対象ソフトウェアの構成はこれに限るものではなく、アプリケーションにより適宜構成することができる。
【００７６】
例えば、音声認識装置に組み込まれる評価対象ソフトウェアでは、ＡＤ変換した音声データに基づいて音素を検出するスレッドと、検出された音素から単語を認識する単度認識スレッドと、単語から意味を意味認識するスレッドを設けることにより、車両の音声操作装置のソフトウェアを開発評価することができるようになる。これらのスレッドはプロセス制御部により予め設定された優先順位に基づいて制御される。
【００７７】
上述した実施形態は、本発明を実現する一実施例を説明するものであり、各部の具体的な構成は、本発明の作用効果を奏する限りにおいて、構築するシステムに応じて適宜変更設計することが可能である。
【図面の簡単な説明】
【００７８】
【図１】ソフトウェア評価装置のブロック構成図
【図２】（ａ）レーダ波の送信波と反射波の説明図、（ｂ）ビート信号の説明図
【図３】ソフトウェア開発支援装置の動作を説明するフローチャート
【図４】ソフトウェア開発支援装置の動作を説明するフローチャート
【図５】シミュレータの動作説明図
【図６】別実施形態を示すシミュレータの動作説明図
【符号の説明】
【００７９】
１：操作装置
３：シミュレータ
４：演算処理部
４Ａ：バッファメモリ
４Ｂ：プロセス制御部
４Ｃ：関数変換処理部
４Ｄ：解析処理部
４Ｅ：履歴データメモリ
４Ｆ：再生処理部
４Ｇ：履歴データ送受信処理部
５：信号変換処理部
５Ａ：データメモリ部
【図１】
2008152722.tif 000007
【図２】
2008152722.tif 000008
【図３】
2008152722.tif 000009
【図４】
2008152722.tif 000010
【図５】
2008152722.tif 000011
【図６】
2008152722.tif 000012