(57)【特許請求の範囲】
【請求項１】
マイクロプロセッサに接続されるインターフェースカードと、
前記インターフェースカードに接続され、少なくとも２つのポートを有するメモリと、  前記メモリに接続され、前記メモリに書き込まれた前記マイクロコンピュータからのデータを前記マイクロコンピュータからのトリガ信号に基づいて読み出して処理する処理手段と、
を有し、
前記マイクロプロセッサは、所定の制御演算結果を前記メモリに書き込んだ直後に読み出し許可トリガ信号を前記処理手段に出力し、次の制御ルーチンにおける前記制御演算の結果を前記メモリに書き込んでデータを更新する前に読み出し禁止トリガ信号を前記処理手段に出力し、
前記処理手段は、前記読み出し許可トリガ信号を入力してから前記読み出し禁止トリガ信号を入力するまでの期間に、前記メモリに一回アクセスして前記制御演算結果を読み出す
ことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ処理装置、特にマイクロプロセッサのテストにおけるデータのサンプリングタイミングに関する。
【０００２】
【従来の技術】
従来より、回路やＣＰＵの動作をテストするためのテスト装置が公知である。たとえば、特開平９−２６９３５９号公報には、複数のマイクロコンピュータを含み、各マイクロコンピュータを集積回路デバイスに直結する構成の集積回路テスト装置が開示されている。テストに必要なプログラムとデータ情報をマイクロコンピュータに供給し、各マイクロコンピュータはテスト結果をテスターに送り返すことで集積回路をテストする。
【０００３】
【発明が解決しようとする課題】
上記従来技術では、各マイクロコンピュータ毎に異なるテストプログラムを実行できるので同時に複数種類の集積回路をテストすることができるものの、テスト装置の構成が複雑化、大型化してしてコスト増加となる問題がある。
【０００４】
特に、車両に搭載されるＥＣＵ（電子制御装置）内のＣＰＵ動作をテストしようとする場合、簡易な装置で迅速にＣＰＵの動作をテストする要望が高い。
【０００５】
また、ＥＣＵ内のＣＰＵにテスト装置を接続して動作をテストする場合、テスト装置のサンプリングタイミングでＣＰＵの演算結果を忠実にサンプリング、すなわちＣＰＵの制御演算結果を漏れなく取得しようとすると、限りなく短いサンプリング周期でサンプリングしなければならず、サンプリングデータを記憶するテスト装置側のメモリ容量が増大してしまう問題もある。
【０００６】
本発明は、上記従来技術の有する課題に鑑みなされたものであり、その目的は、簡易な構成で、かつ、確実にマイクロプロセッサの動作をテストできる装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明は、マイクロプロセッサに接続されるインターフェースカードと、前記インターフェースカードに接続され、少なくとも２つのポートを有するメモリと、前記メモリに接続され、前記メモリに書き込まれた前記マイクロコンピュータからのデータを前記マイクロコンピュータからのトリガ信号に基づいて読み出して処理する処理手段とを有し、前記マイクロプロセッサは、所定の制御演算結果を前記メモリに書き込んだ直後に読み出し許可トリガ信号を前記処理手段に出力し、次の制御ルーチンにおける前記制御演算の結果を前記メモリに書き込んでデータを更新する前に読み出し禁止トリガ信号を前記処理手段に出力し、前記処理手段は、前記読み出し許可トリガ信号を入力してから前記読み出し禁止トリガ信号を入力するまでの期間に、前記メモリに一回アクセスして前記制御演算結果を読み出すことを特徴とする。
【００１０】
【発明の実施の形態】
以下、図面に基づき本発明の実施形態について説明する。
【００１１】
図１には、本実施形態の構成ブロック図が示されている。テスト対象としてのＥＣＵ（電子制御装置）１０は、複数のＣＰＵ１０ａ、１０ｂ、１０ｃ、１０ｄを有している。ＣＰＵ１０ａは１６ｂｉｔ、ＣＰＵ１０ｂは３２ｂｉｔ、ＣＰＵ１０ｃは１６ｂｉｔ、ＣＰＵ１０ｄは３２ｂｉｔのＣＰＵである。３２ｂｉｔのＣＰＵ１０ｂと１０ｄは、ＮＢＤ（Ｎｏｎ−Ｂｒｅａｋ−Ｄｅｂｕｇ−ｐｏｒｔ）を有している。
【００１２】
一方、ＥＣＵ１０をテストする計測装置（データ処理装置）１２は、各チャネル毎に設けられたインターフェースカード（Ｉ／Ｆ）１２ａ〜１２ｄ、各インターフェースカード１２ａ〜１２ｄに対応して設けられたＤＰＲＡＭ（デュアルポートＲＡＭ）１４ａ〜１４ｄ、パーソナルコンピュータ（パソコン）１６、インターフェースカード１２ａ〜１２ｄとＤＰＲＡＭ１４ａ〜１４ｄを接続するバス２００ａ〜２００ｄ及びＤＰＲＡＭ１４ａ〜１４ｄとパソコン１６を接続するバス３００を有して構成されている。
【００１３】
インターフェースカード１２ａ、１２ｃはそれぞれバス１００ａ、１００ｃを介してＥＣＵ１０内のＣＰＵ１０ａ、ＣＰＵ１０ｃと接続されており、ＣＰＵ１０ａで処理したデータ（センサからのデータ等）をＤＰＲＡＭ１４ａに格納するとともに、ＣＰＵ１０ｃで処理したデータをＤＰＲＡＭ１４ｃに格納する。
【００１４】
インターフェースカード１２ｂ、１２ｄはそれぞれＮＢＤバス１００ｂ、１００ｄを介してＥＣＵ１０内のＣＰＵ１０ｂ、１０ｄと接続されており、ＣＰＵ１０ｂからのデータを内蔵のＮＢＤ処理部で処理して（３２ｂｉｔ高速ＣＰＵ１０ｂ、１０ｄとのデータ送受をシリアルで行う）ＤＰＲＡＭ１４ｂに格納するとともに、ＣＰＵ１０ｄからのデータを内蔵のＮＢＤ処理部で処理してＤＰＲＡＭ１４ｄに格納する。
【００１５】
すなわち、インターフェースカード１０ａ〜１０ｄは、ＥＣＵ１０内の各ＣＰＵ１０ａ〜１０ｄの種類とそのデバッグ方式に対応したインターフェースを提供するもので、ＣＰＵ１０ａ〜１０ｄの処理データをＤＰＲＡＭ１４ａ〜１４ｄに格納する機能を有する。なお、インターフェースカード１２ａ〜１２ｄとＤＰＲＡＭ１４ａ〜１４ｄ間のバス２００ａ〜２００ｄは共通バスとすることが好適であり、インターフェースカード１２ａ〜１２ｄは計測装置１２に対して着脱自在に構成することが好適である。これにより、テストすべきＥＣＵ１０に応じて計測装置１２のコンフィギュレーションを容易に最適化できるからである。
【００１６】
ＤＰＲＡＭ１４ａ〜１４ｄは、２つのポートを有しており、一方のポートを用いてＣＰＵ１０ａ〜１０ｄからのデータを書き込む。また、他のポートを用いてパソコン１６がＤＰＲＡＭ１４ａ〜１４ｄに書き込まれたデータを読み出す。なお、ＤＰＲＡＭ１４ａ〜１４ｄは３個あるいはそれ以上のポートを有していてもよく、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ−Ｆｉｒｓｔ−Ｏｕｔ）メモリを用いてもよい。その本質は、あるポートでＣＰＵ１０ａ〜１０ｄからのデータを書き込み、そのポートとは異なるポートで書き込まれたデータを読み出すことで処理の高速化を図る点にある。
【００１７】
パソコン１６は、例えば車両に持ち込むことができるノート型パソコンであり、ＰＣカードを介してＩ／Ｆボックスと接続される。パソコン１６内のメモリには、ＤＰＲＡＭ１４ａ〜１４ｄがマッピングされており、ＤＰＲＡＭ１４ａ〜１４ｄから読み出されたデータは、パソコン１６内のメモリの所定エリアにそれぞれ格納される。したがって、パソコン１６内のＣＰＵは、メモリをサンプリングすることで、ＤＰＲＡＭ１４ａ〜１４ｄに書き込まれたデータ、すなわちＣＰＵ１０ａ〜１０ｄのデータを統一的に処理することが可能となる。
【００１８】
なお、図１の構成では複数のＣＰＵが存在するが、必ずしも複数のＣＰＵは必須ではなく、単一のＣＰＵでもよい。この場合には、ＤＰＲＡＭも一つでよい。
【００１９】
本実施形態の構成は以上のようであり、計測装置１２を用いてＥＣＵ１０をテストする際には、まず計測装置１２の各チャネルにＥＣＵ１０内のＣＰＵ１０ａ〜１０ｄを接続する。そして、ＣＰＵ１０ａ〜１０ｄでは、車載のセンサから出力されたデータを処理して計測装置１２の各チャネルに出力する。計測装置１２のインターフェースカード１２ａ〜１２ｄは、ＣＰＵ１０ａ〜１０ｄからのデータを入力してＤＰＲＡＭ１４ａ〜１４ｄに書き込む。ＤＰＲＡＭ１４ａ〜１４ｄにデータが格納された後、パソコン１６は所定のタイミングでＤＰＲＡＭ１４ａ〜１４ｄにアクセスしてデータを読み出し、自身のメモリに読み出したデータを書き込む。ＤＰＲＡＭからのデータの読み出しタイミングについては後述する。パソコン１６は、自身のメモリのマップ上にＤＰＲＡＭ１４ａ〜１４ｄがマッピングされているため、自身のメモリをサンプリングすることでＤＰＲＡＭ１４ａ〜１４ｄを統一的にサンプリングすることができる。読み出したデータに対しては、パソコン１６内のプロセッサは所定のテスト処理を実行し、ＣＰＵ１０ａ〜１０ｄの動作を確認する。
【００２０】
ここで、パソコン１６でＣＰＵ１０ａ〜１０ｄの演算結果をＤＰＲＡＭ１４ａ〜１４ｄから読み出すタイミングをパソコン１６側で決定した場合、既述したようにＣＰＵ１０ａ〜１０ｄの演算結果を全て忠実にサンプリングするためには限りなく短いサンプリング周期（たとえば５００μｓ）でサンプリングしなければならず（ＣＰＵ側の演算周期がパソコン１６にとって未知であるため、演算周期毎に書き換えられる演算結果を漏れなくサンプリングするためには短い周期でサンプリングしなければならない）、サンプリングデータも多量となるためパソコン１６のメモリ容量が増大してしまう。
【００２１】
そこで、本実施形態においては、ＤＰＲＡＭ１４ａ〜１４ｄに書き込まれたＣＰＵ１０ａ〜１０ｄのデータを読み出すタイミングをパソコン１６が決定するのでなく、ＣＰＵ側からトリガ信号をパソコン１６に供給することにより決定する。すなわち、ＣＰＵ１０ａ〜１０ｄからデータ読み出し許可トリガ信号をパソコン１６に出力することでパソコン１６のプロセッサはＤＰＲＡＭ１４ａ〜１４ｄからデータを読み出し、ＣＰＵ１０ａ〜１０ｄからデータ読み出し禁止トリガ信号を出力することでパソコン１６のプロセッサはデータの読み出しを停止する。ＣＰＵ側は、自己の制御演算タイミングに同期してこれらのトリガ信号を出力することができるので、これによりＣＰＵでの制御演算タイミングに同期してパソコン１６で制御演算結果をＤＰＲＡＭから読み出すことが可能となり、効率的なメモリ読み出しが可能となる。
【００２２】
図２には、本実施形態におけるデータ読み出しタイミングが模式的に示されている。なお、説明の都合上、ＥＣＵ内に１つのＣＰＵが存在する場合について説明する。ＣＰＵは所定の制御ルーチン（制御周期を例えば６ｍｓとする）で複数の制御演算を実行する。ＣＰＵの制御演算を例示すると、基本演算、ＡＢＳ（アンチロックブレーキシステム）制御演算、ＶＳＣ（ビークルスタビリティコントロール）制御演算、ＢＡ（ブレーキアシスト）制御演算などである。ＣＰＵは、センサからのデータを入力しこれらの制御演算を逐次実行して演算結果をＤＰＲＡＭに格納するが（異なる制御演算の結果はＤＰＲＡＭ内の異なるエリアに格納する）、例えばパソコン１６がＡＢＳ制御演算の制御結果をサンプリングする場合、パソコン１６はＤＰＲＡＭにアクセスして所望の演算結果を取り込むが、パソコン１６のＤＰＲＡＭへのアクセスタイミングはＣＰＵからのトリガ信号に基づいて実行される。
【００２３】
すなわち、ＣＰＵはＡＢＳ制御演算が終了し、その演算結果を自身のメモリ及びＤＰＲＡＭに書き込んだ直後に、パソコン１６に対してサンプリング許可信号を出力する。すると、パソコン１６のプロセッサでは割り込みルーチンによりこのサンプリング許可トリガ信号を検知し、ＤＰＲＡＭにアクセスして書き込まれたＡＢＳ制御演算結果を読み出す。
【００２４】
一方、ＣＰＵはＡＢＳ制御演算を実行した後、ＶＳＣ制御演算、ＢＡ制御演算その他の演算を実行し、次の制御ルーチンに移行する。そして、次の制御ルーチンにおいてＡＢＳ制御演算を実行する直前、すなわち、ＡＢＳ制御演算を行って得られた演算結果をＤＰＲＡＭに書き込んでデータを更新する前にパソコン１６に対しサンプリング禁止信号を出力する。パソコン１６のプロセッサは、割り込みルーチンによりこのサンプリング禁止信号を検知し、ＤＰＲＡＭへのアクセスを禁止する。したがって、パソコン１６は、ＣＰＵからサンプリング許可信号を入力し、次にサンプリング禁止信号を入力するまでの間にＤＰＲＡＭにアクセスしてＣＰＵの制御演算結果を読み出すことになる。そして、この期間におけるＤＰＲＡＭ内のＡＢＳ制御演算結果は同一であることが担保されているため、パソコン１６のプロセッサはサンプリング許可信号を入力してからサンプリング禁止信号を入力するまでの間に１回だけＤＰＲＡＭにアクセスしてデータを読み出せばよいことになる。
【００２５】
このように、従来においてはサンプリング時間／サンプリング周期（たとえば５００μｓ）分のメモリを必要としたのに対し、本実施形態におけるアクセス方法によれば、サンプリング時間／トリガ周期（たとえば６ｍｓ）分のメモリだけで済むことになり、計測装置１２のハードウエア構成を簡略化しつつ、効率的なデータサンプリングを行うことができる。
【００２６】
なお、図１に示されるようにＥＣＵ内に複数のＣＰＵがある場合、各ＣＰＵ１０ａ〜１０ｄからパソコン１６に対しトリガ信号をそれぞれ出力してＤＰＲＡＭ１４ａ〜１４ｄへのパソコン１６のサンプリングタイミングを決定すればよい。
【００２７】
また、複数のＣＰＵが存在する場合でも、たとえばＣＰＵ１０ａからのみパソコン１６に対しトリガ信号を出力し、パソコン１６ではＣＰＵ１０ａからのトリガ信号のみに基づいてＤＰＲＡＭ１４ａ〜１４ｄにアクセスしてデータを読み出すことも可能である。これは、ＣＰＵ１０ｂ〜１０ｄがＣＰＵ１０ａに同期して制御演算を実行している場合に特に有効である。
【００２８】
【発明の効果】
以上説明したように、本発明によれば、マイクロプロセッサの演算結果を効率的にサンプリングすることができ、計測装置へのメモリ容量を低減して簡易にマイクロプロセッサのテストを行うことができる。
【図面の簡単な説明】
【図１】  本発明の実施形態の構成ブロック図である。
【図２】  本発明の実施形態におけるメモリアクセス方法を示す説明図である。
【符号の説明】
１０  ＥＣＵ、１２  計測装置、１６  パソコン。
【図１】
0003695196.tif 000002
【図２】
0003695196.tif 000003