(57)【要約】【課題】マイコンのロジック開発装置に、既存のＲＡＭ計測装置を接続し、高速サンプリングのＲＡＭモニタを実現する。【解決手段】マイコンのロジック開発装置１は、マイコンコアに相当する機能を具備する第１のブロック２と、マイコンリソースに相当する機能を有する第２のブロック３と、第１及び第２のブロックを接続するバス１２とを有する。共有メモリ１６を具備し、バス１２とＲＡＭ計測装置１４とに接続されて、第１ブロック２に対するＲＡＭモニタ機能を実現するＲＡＭ計測ブロック１３が設けられる。ＲＡＭ計測ブロック１３は、第１のブロック２と共有メモリ１６の間の処理タイミングと、共有メモリ１６とＲＡＭ計測装置１４の間の処理タイミングとの２つの処理タイミングを分離することにより、高速なＲＡＭモニタを実現する。【選択図】      図３
2005025601.tif 000002
【特許請求の範囲】
【請求項１】
第１の中央処理装置及びＲＡＭを含み、マイコンコアに相当する機能を具備する第１のブロックと、第２の中央処理部を含みマイコンリソースに相当する機能を有する第２のブロックと、前記第１及び第２のブロックを接続するバスとを有する、マイコンのロジック開発装置において、
共有メモリを具備し、前記第１のブロックとＲＡＭ計測装置とに接続されるＲＡＭ計測ブロックを設け、
前記ＲＡＭ計測装置による前記第１ブロックのＲＡＭをモニタする処理を、前記ＲＡＭの内容を前記共有メモリに書き込む処理と、前記ＲＡＭ計測装置に前記共有メモリの内容を送信する処理とに分けると共に、それぞれの処理タイミングを分離すること、
を特徴とするマイコンのロジック開発装置。
【請求項２】
前記第１の中央処理部は、前記ＲＡＭの内容を前記共有メモリに書き込む処理タイミングを、前記第１のブロックにおける制御ソフト処理の完了直後に行うことを特徴とする、請求項１に記載のマイコンのロジック開発装置。
【請求項３】
前記共有メモリにＲＡＭモニタ用テーブルを設け、そのアドレスデータのデータ量を固定にすることを特徴とする、請求項１に記載のマイコンのロジック開発装置。
【請求項４】
前記ＲＡＭ計測ブロックに第３の中央処理部を設け、前記第３の中央処理部は、通常処理とアドレステーブル作成処理とを行うものであり、前記アドレステーブル作成処理で、モニタ要求のある全アドレスを確定した後に前記通常処理を行うことを特徴とする、請求項１に記載のマイコンのロジック開発装置。
【請求項５】
前記モニタ要求のある全アドレスを確定させるための判定条件として、前記ＲＡＭ計測装置における設定最大チャネル数分が取り込まれたことで前記確定の判断を行うことを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項６】
前記モニタ要求のある全アドレスを確定させるための判定条件として、前記ＲＡＭ計測装置における設定最大サンプリング時間が取り込まれたことで確定の判断を行うことを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項７】
前記モニタ要求のある全アドレスを確定させるための判定条件として、前記ＲＡＭ計測装置における設定最大チャネル数分が取り込まれたことで確定の判断を行うことと、前記ＲＡＭ計測装置における設定最大サンプリング時間が取り込まれたことで確定の判断を行うことのいずれか、早くされた判断により確定の判断をすることを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項８】
前記第３の中央処理部は、前記アドレステーブル作成処理時に、同一アドレスが要求されたときはその要求を排除することを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項９】
前記第３の中央処理部は、前記アドレステーブル作成処理完了時から、前記ＲＡＭ計測装置へ抽出したデータを送信する処理の開始タイミングまでにウエイト時間を設けることを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項１０】
前記第３の中央処理部は、前記ＲＡＭ計測装置から前記アドレステーブルにないアドレス要求を受けると、前記通常処理から前記アドレステーブル作成処理へ移行をすることを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項１１】
前記第３の中央処理部は、前記アドレステーブルの内容が更新されたときに、前記第１のブロックへコントロール信号を出力し、前記第１の中央処理部は、受信したコントロール信号に応じて前記アドレステーブルを読込むことを特徴とする、請求項４に記載のマイコンのロジック開発装置。
【請求項１２】
前記ＲＡＭ計測ブロックは、書込み用テーブルを前記共有メモリと内部バッファ内に構成し、前記ＲＡＭ計測装置から書込み要求を受けると、書込み要求の内容を前記共有メモリに記憶させる前に、前記内部バッファに記憶することを特徴とする、請求項１に記載のマイコンのロジック開発装置。
【請求項１３】
前記第３の中央処理部は、前記第１のブロックからの書込み完了信号に基づいて、書込みが完了したと判断すると、前記内部バッファの内容を、前記共有メモリに書き込むことを特徴とする、請求項１２に記載のマイコンのロジック開発装置。
【請求項１４】
前記第３の中央処理部は、前記ＲＡＭ計測装置から書込み要求を受けた場合と定期的なタイミングとで、前記第１ブロックからの書込み完了信号に基づいて、書込みが完了したか否かを判断することを特徴とする、請求項１２に記載のマイコンのロジック開発装置。
【請求項１５】
前記第１の中央処理部は、前記第１のブロックにおける制御ソフト処理の完了直後に、前記ＲＡＭ計測ブロックからの書込み要求信号をチェックすることを特徴とする、請求項１に記載のマイコンのロジック開発装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、組み込み用マイコンを開発する際に使用するマイコンのロジック開発装置に関するものである。本発明は、特に、ＲＡＭモニタ機能を追加したマイコンのロジック開発装置に関するものである。
【０００２】
【従来の技術】
エンジン制御におけるＥＣＵ（電子制御ユニット）などの電子制御機器は、排気ガス規制などの法規要求、マイコン（マイクロコンピュータ）の性能向上などに応じて性能向上を図っていく必要がある。このため、電子制御機器については年々改良を加える必要があり、現状の電子制御機器の性能に先行した新しいアプリケーション（先行ロジック）が開発されている。なお、以降の説明ではアプリケーションを「アプリ」と略称する。
【０００３】
この先行ロジックは、必要とされる性能から、現状より性能の向上した次期マイコンをターゲットとして開発されることが多い。しかしながら、先行ロジックの開発時点では、次期マイコンを組み込んだ電子制御機器は実在しない。
これに対して、本発明者は、ＣＰＵ機能に対しては先行ロジックを処理するために必要な処理性能を確保することができ、マイコン周辺リソースに対しては、先行装置に合わせたリソースを確保することができるマイコンのロジック開発装置を提案している（例えば、特許文献１及び特許文献２参照。）。
【０００４】
このマイコンのロジック開発装置によれば、先行ロジックを実現することができる組み込み用マイコンを短時間で開発することが可能である。同時に、マイコンのロジック開発装置は、繰り返し利用することが可能となる。
【０００５】
マイコンロジック開発装置１の構成を説明する。ここで説明するマイコンロジック開発装置１の構成は、本発明の実施形態を示す図１に示されている。図１の詳細については後述する。
マイコンロジック開発装置１は、マイコンコア相当の機能を実現するマザーボード２、マイコンリソース相当の機能を実現するコアボード３、ＥＣＵハード相当の機能を実現するインタフェースボード４の３つのボードから構成される。
【０００６】
マザーボード２及びコアボード３の間は、ＰＣＩバス１２で接続され、Ｉ／Ｏ情報のデータの通信を行う。マザーボード２及びコアボード３には、Ｉ／Ｏドライバソフト６が実装されており、ＩＯ情報のデータ通信の制御を行う。
【０００７】
次に、マイコンの周辺機能の一つとしてＲＡＭモニタ機能がある。これは、外部に接続されたＲＡＭ計測装置からアドレスが指定されると、マイコンの該当アドレスのＲＡＭデータを抽出してＲＡＭ計測装置に返信する機能である。
【０００８】
図２は、通常のＥＣＵの組み込み用マイコンにおけるＲＡＭモニタの構成を示す。
ＥＣＵの組み込み用マイコン２４においては、ＣＰＵ２５が、内部バス２６を介して、ＲＡＭ２７、ＲＯＭ２８と接続される。内部バス２６にＤＭＡ（ダイレクトメモアクセス）２９を通して、ＲＡＭモニタ機能３０（製品名：ＮＢＤ機能Ｎｏｎ  Ｂｒａｋｅ  Ｄｅｂａｇｇｉｎｇ）が接続される。
【０００９】
ＲＡＭ計測装置１４は、ＲＡＭモニタ機能３０に接続される。ＲＡＭ計測装置１４は、公知のもので、ＲＡＭアドレスを指定してモニタ機能３０に送信し、モニタ機能３０から返信されたＲＡＭデータを蓄積する。蓄積されたデータは、適宜の表示方式に加工されて表示される。
【００１０】
ＲＡＭモニタ機能３０は、ＮＢＤ（ノンブレーキデバッグ）機能を有する。ＲＡＭモニタ機能３０とは、オンチップデバッグ機能の一つで、特定の通信プロトコルに従って、サンプリング時間を設定し、モニタしたいメモリのアドレスを要求すると、ＤＭＡ２９を操作し、要求アドレスのデータを抽出し返信する機能である。
【００１１】
ＤＭＡ２９は、ソフト処理を介在せず、直接メモリ１をリード／ライトできる機能である。したがって、図示の組み込み用マイコン２４においては、処理中のソフトを止めないでＲＡＭをモニタすることができる。そして、ＤＭＡ２９はハード的機構であるので、高速に処理をすることができる。
【００１２】
【特許文献１】
特願２００１−３６７４９６
【特許文献２】
特願２００２−１６７７１１
【００１３】
【発明が解決しようとする課題】
図１に示したマイコンロジック開発装置１にＲＡＭ計測装置１４を適用する場合、ＲＡＭモニタ機能３０の部分をマザーボードとは別のコアボードで実現する必要がある。この場合、ＲＡＭ計測装置１４からアドレスの要求を受け、ＰＣＩバス経由でデータを抽出し返信するまでの処理がソフト処理により実行されるため、図２に示した従来の装置におけるような高速応答は不可能となる。
【００１４】
本発明は、マイコンのロジック開発装置に、既存のＲＡＭ計測装置を接続し、高速サンプリングのＲＡＭモニタを実現することを目的とするものである。
【００１５】
【課題を解決するための手段】
マイコンロジック開発装置における制御ソフトは、外部イベントに従い処理を実行するイベントドリブン方式である。任意のイベントを受けて処理を開始し、完了するまでが処理単位となる。したがって、制御ソフトのＲＡＭ値は、処理単位ごとに更新される。そのため、制御ソフトの処理単位でモニタすれば、抜けなくＲＡＭ値の最新値がモニタできることになる。一方、ＲＡＭ計測装置からの要求に対しては、ＲＡＭ計測装置で規定される時間内に結果を送信する必要がある。
【００１６】
そこで、本発明は、マイコンコアに相当する機能を具備する第１のブロックと、マイコンリソースに相当する機能を有する第２のブロックと、第１及び第２のブロックを接続するバスとからなるＲＡＭ計測装置において、共有メモリを具備し、前記第１のブロックとＲＡＭ計測装置とに接続されるＲＡＭ計測ブロックを設ける。
【００１７】
ＲＡＭ計測装置による第１ブロックのＲＡＭをモニタする処理を、ＲＡＭの内容を共有メモリに書き込む処理と、ＲＡＭ計測装置に共有メモリの内容を送信する処理とに分けると共に、それぞれの処理タイミングを分離する。
これにより、全体として高速、高性能のＲＡＭモニタ機能を実現する。
【００１８】
【発明の実施の形態】
本発明を適用したマイコンロジック開発装置について図を用いて説明する。
図１は、マイコンロジック開発装置１の構成を示すもので、仮想ＥＣＵを実現するものである。
マイコンロジック開発装置１は、マイコンコア相当の機能を実現するマザーボード２、マイコンリソース相当の機能を実現するコアボード３、ＥＣＵハード相当の機能を実現するインタフェースボード４の３つのボードから構成される。これらの構成は、特許文献１、２に記載されているものと同様である。
【００１９】
マザーボード２に組み込む演算処理装置としては、汎用のＣＰＵが使用される。このＣＰＵの演算処理性能は、実際に組み込み用マイコンとして使用されるものより数段、演算処理性能が良いものが設定される。マイコンには、エンジン制御アプリ５とＩ／Ｏドライバソフト６が実装される。
【００２０】
コアボード３には、Ｉ／Ｏドライバソフト７を実装したマイコン８とマイコン周辺部９（ＦＰＧＡ）が搭載される。
インタフェースボード４には、複数の標準回路１０が搭載され、ポート割付変換ポート１１を介して、コアボード３と接続される。
【００２１】
マザーボード２及びコアボード３の間は、ＰＣＩバス１２で接続され、Ｉ／Ｏドライバソフト６により、Ｉ／Ｏ情報のデータ通信の制御を行う。
マイコンにはＩＯ機能が搭載されていないが、組み込み用マイコンには、コアと、ＩＯ機能としてのリソースが必要である。それと等価にするため、コアボード３とＰＣＩバス１２とを組み合せて同等の機能を実現している。
【００２２】
本例では、ＲＡＭモニタを実現するため、ＲＡＭ計測ボード１３をマイコンロジック開発装置１に追加することで、既存のＲＡＭ計測装置１４との接続を可能としている。
ＲＡＭ計測ボード１３は、ＲＡＭモニタ機能部分をコアボード３と同様の構成で実現したものである。ＲＡＭ計測ボード１３は、ＰＣＩバス１２に接続され、ドライバ回路１５を介してＲＡＭ計測装置１４と接続される。
【００２３】
ＲＡＭ計測ボード１３によるＲＡＭモニタ機能は、ＲＡＭ計測装置１４から指定されたアドレスのＲＡＭデータを、マザーボード２のマイコンから抽出してＲＡＭ計測装置１４に返信する。
【００２４】
ＲＡＭ計測装置１４の機能として、ＲＡＭモニタ機能とＲＡＭ書込み機能がある。ＲＡＭモニタ機能は、ＲＡＭ計測装置１４より、指定されたアドレスを読み出し、そのデータ値を返送する。ＲＡＭ書込み機能は、ＲＡＭ計測装置１４より、指定されたアドレスに、指定されたデータを書き込む。
各機能は、それぞれ独立した処理となるので、以下、別々に説明する。
【００２５】
（ＲＡＭモニタ機能）
図３、図４を用いて、図１のＲＡＭ計測ボード１３のＲＡＭモニタ動作を説明する。
図３は、ＲＡＭ計測ボード１３による処理タイミングを示す。図４は、処理の内容を示す。
図３に示すように、マザーボード２及びＲＡＭ計測ボード１３の間は、ＰＣＩバス１２で接続され、Ｉ／Ｏ情報のデータ通信を行う。
【００２６】
ＲＡＭ計測ボード１３は、共有メモリ１６が設けられる。マザーボード２−共有メモリ１６間では、制御アプリの処理単位のタイミング１７で更新処理を行う。共有メモリ１６−ＲＡＭ計測装置１４間では、ＲＡＭ計測装置１４から要求されるタイミング１８でデータ通信処理を行う。
【００２７】
ＲＡＭ計測ボード１３からＲＡＭ計測装置１４へＩＮＩＴ信号が出力される。ＲＡＭ計測ボード１３からマザーボード２へコントロール信号Ａ、Ｂが出力される。マザーボード２からＲＡＭ計測ボード１３へコントロール信号Ｃが出力される。ＩＮＩＴ信号及びコントロール信号Ａ、Ｂ、Ｃの詳細については後述する。
【００２８】
マザーボード２におけるエンジン制御アプリは、外部イベントに従いソフト処理を実行するイベントドリブン方式である。
図４に示すように、アプリ処理中のタイミングでイベントａ、ｂを受けると、次のアプリ処理タイミングで処理を開始する。この処理開始から完了するまでが処理単位となる。待ちの状態でイベントｃを受けると、直ちに処理が開始される。また、イベントｃの処理タイミングでイベントｅ、ｆ、ｇを受けると、次のアプリ処理タイミングで処理を開始する。
【００２９】
制御アプリのＲＡＭ値は、処理単位ごとに更新される。ＲＡＭ計測ボード１３は、アプリ処理の最後のタイミング１７でデータの受け渡しを行い、マザーボード２から読み取ったＲＡＭ値を共有メモリ１６に記憶する。共有メモリ１６に記憶したＲＡＭの内容は、マザーボード２−ＲＡＭ計測ボード１３間のデータ受け渡しタイミング１７の間は変わらない。
【００３０】
この間、共有メモリ１６−ＲＡＭ計測装置１４間は、ＲＡＭ計測装置１４で規定されるタイミング１８でデータ通信処理を行う。
このように制御アプリの処理単位でＲＡＭモニタを実行ことにより、抜けなくＲＡＭ値の最新値がモニタできる。
【００３１】
図５に、ＲＡＭモニタ用のアドレステーブルの構造を示す。
共有メモリ１６にアドレステーブル１９が格納される。アドレステーブル１９は、複数のアドレスとそのアドレスに対応するデータが登録される。
要求アドレスとして、最大モニタチャネル数（ＣＨＭＡＸ）までのアドレスの設定が可能である。図示の例では、最大モニタチャネル数は１２６となっている。
【００３２】
データ部分には、マザーボード２のＲＡＭから読み込んだデータが、要求アドレスに対応して書き込まれる。
アドレステーブル１９には、更に、実際に使用されているアドレス数（チャネル数）を数えるテーブルカウンタが含まれる。
【００３３】
アドレステーブル１９に記憶されるデータは４バイト固定とされる。ＲＡＭ計測装置１４では、データを１バイトで見たい、２バイトで見たいという要求が設定されるが、処理を高速化するための構成として、データは４バイト固定とし、アドレスの下位２ビットが０固定となる。
マザーボード２では、常にデータを４バイト固定で送信するので、データを１バイト読む、２バイト読む、４バイト読むといった判断をする処理が不要となる。したがって、処理の高速化が可能となる。
【００３４】
マザーボード２は、共有メモリ１６からアドレスの読み出しを行うため、処理アプリ内に、アドレステーブル２０を持つ。このアドレステーブル２０は、共有メモリ１６内のアドレステーブル１９とミラーの同一構造とされる。
【００３５】
図６を用いて、マザーボード２のアドレステーブル２０とＲＡＭ計測ボード１３のアドレステーブル１９との関係を説明する。
マザーボード２では、初期設定時に、共有メモリ１６のアドレステーブル１９からアドレスを読み込んで、自己のアドレステーブル２０に記憶する。このとき、テーブルカウンタの値も読み込む。
【００３６】
初期設定終了後の通常処理においては、アプリ処理の最後のデータ受渡しタイミング１７で、指定アドレスに対応するＲＡＭからデータを抽出し、アドレステーブル２０に書き込む。また、テーブルカウンタでカウントした分だけ、アドレステーブル２０に記憶したデータを、ＲＡＭ計測ボード１３の共有メモリ１６に一括送信する。
【００３７】
ＲＡＭ計測ボード１３では、受信したデータを、順次アドレステーブル１９に記憶する。
このように、通常処理においては、マザーボード２からＲＡＭ計測ボード１３にはデータだけを送り、アドレスを一々送らない。これにより、処理の高速化を実現することができる。
【００３８】
図７を用いて、ＲＡＭ計測ボード１３におけるＲＡＭモニタ時の処理を説明する。
最初に、図７全体の処理を説明する。
初期化処理は、共有メモリ１６内にアドレステーブル１９を作成する処理である。
アドレステーブル作成処理が終了すると、通常処理に移る。
通常処理の間に、ＲＡＭ計測装置１４から設定変更の要求を受信した場合は、初期化処理へ戻り、アドレステーブル作成処理をやり直す。
【００３９】
次に、初期化処理の詳細を説明する。
Ａ１．ＲＡＭ計測ボード１３からＲＡＭ計測装置へのＩＮＩＴ信号（図３）を非アクティブに保持する。これにより、ＲＡＭ計測装置１４では、ＩＮＩＴ信号がアクティブ状態になるまでＲＡＭモニタ機能を開始しない。
Ａ２．ＲＡＭ計測ボード１３からマザーボード２へアドレステーブル更新要求信号Ａ（図３）を初期出力する。
【００４０】
Ａ３．共有メモリ１６のアドレステーブル１９を初期化し、テーブルカウンタの値を０に設定する。
Ａ４．テーブル作成フラグ（図示なし）をオフする。
初期化処理が完了すると、ＲＡＭ計測装置１４へのＩＮＩＴ信号をアクティブにし、アドレステーブル作成処理へ移行する。
【００４１】
アドレステーブル作成処理の詳細を説明する。
ＲＡＭ計測装置１４からモニタ要求を受信すると、以下の処理を行う。
Ｂ１．受信したモニタ要求からアドレスを取り込む。
Ｂ２．テーブル作成フラグがオフの間は、ＲＡＭ計測装置１４へダミーデータ（０）を返す。これは、ＲＡＭ計測装置１４が必要とする処理である。
【００４２】
Ｂ３．アドレステーブル１９について、テーブルカウンタが示す範囲をサーチする。ここで、テーブルカウンタ＝０であれば、同一アドレスなしと判定する。同一アドレスがある場合は、設定者が同じアドレスを誤って設定したと判断されるので、このアドレスについての処理は行わない。同一アドレスがない場合は、要求アドレスをアドレステーブル１９に追加し、テーブルカウンタを更新する。
【００４３】
次いで、アドレステーブル作成が完了したか否かの判定を行う。具体的には、次のＣ１、Ｃ２のいずれかの条件が満たされると、完了したと判定する。
Ｃ１．アドレステーブル作成処理を開始してから、ＲＡＭ計測装置１４の設定最大チャネル数（Ｎ．ＣＨＭＡＸ）分のアドレス数が取り込まれた。
Ｃ２．アドレステーブル作成処理を開始してから、ＲＡＭ計測装置１４の最大サンプリング時間（Ｔ．ＳＭＰＭＡＸ）分のアドレスが取り込まれた。
【００４４】
上記条件Ｃ１、Ｃ２のチェックを行い、いずれも条件を満たさない場合は、上記Ｂ１−Ｂ３の処理を繰り返すことにより、アドレステーブル１９を作成していく。
なお、上記条件Ｃ１、Ｃ２は、いずれか一方のみを判定条件とすることもできる。上記例では、両方の条件を採用し、いずれか早く判断された条件により確定の判定をしている。
【００４５】
上記条件Ｃ１、Ｃ２のいずれかの条件を満たした場合、以下のＤ１−Ｄ４の処理を行う。
Ｄ１．ＲＡＭ計測装置１４へダミーデータ（０）を返信する。
Ｄ２．マザーボード２へのアドレス更新要求信号Ａを反転する。これにより、マザーボード２にアドレステーブルが更新されたことを認識させる。
Ｄ３．信号Ａを通知してから、マザーボード２がアドレステーブルを認識する時間相当のウエイト時間  （Ｔ．ＷＡＩＴ）  待つ。
Ｄ４．テーブル作成フラグをオフからオンに切り換えて、通常処理へ移行する。なお、テーブル作成フラグがオフである間は、ＲＡＭ計測装置１４へダミーデータ（０）を返す処理を所定期間ごとに繰り返す。
【００４６】
通常処理の詳細を説明する。
アドレステーブル作成処理の完了後、ＲＡＭ計測装置１４からモニタ要求受信があった場合、以下のＥ１、Ｅ２の処理を行う。
Ｅ１．受信したモニタ要求からアドレスを取り込む。
Ｅ２．テーブルカウンタで示す範囲のアドレステーブルに、取り込んだアドレスデータがあるか否かをサーチする。
【００４７】
ここで同一アドレスを検出すると、次のＦ１−Ｆ３の処理を行う。同一アドレスを検出しないときは、アドレスが更新されたと判定できるので、次のＧ１−Ｇ３の処理を行う。
Ｆ１．対応するデータ（４バイト固定長）を抽出する。ここには、マザーボード２側からデータが書き込まれている。
Ｆ２．ＲＡＭ計測装置１４からのモニタ要求アドレスの下位２ビット情報と要求のデータサイズに基づいて、４バイト固定長のデータから対象データを取り出す。これにより、ＲＡＭ計測装置１４で設定された要求バイト長のデータが取り出される。
Ｆ３．ＲＡＭ計測装置１４へ抽出したデータを送信する。
【００４８】
Ｇ１．ＲＡＭ計測ボード１３のアドレステーブルを初期化する（テーブルカウンタ→０）。
Ｇ２．ＲＡＭ計測装置１４へダミーデータ（０）を返す。
Ｇ３．テーブル作成フラグをオフにし、アドレステーブル作成処理へ移行する。
【００４９】
図８を用いて、マザーボード２におけるＲＡＭモニタ処理を説明する。
ＲＡＭ計測ボード１３からアドレス更新要求信号Ａ（図３）を受信すると、初期化処理を開始する。
初期化処理は、マザーボード２のアドレステーブル２０のテーブルカウンタを０にリセットする。
【００５０】
初期化処理が完了すると通常処理に移る。通常処理は、以下の処理Ｈ１、Ｈ２を実施する。
Ｈ１．アドレス更新要求信号Ａを読み込み前回値データと比較し、反転の有無チェックする。反転があったときは次のＪ１、Ｊ２を実行し、反転がないときは処理を行わない。
【００５１】
Ｊ１．アドレス更新要求信号Ａの値を今回受信した値に更新する。
Ｊ２．共有メモリ１６からアドレステーブル１９を読み込み、内部ＲＡＭ１上にコピーする。このとき、アドレスカウンタ値を読み、カウントが示すサイズ分、データを読み込む。
【００５２】
Ｈ２．テーブルカウンタをチェックし、チェック結果により次のＫ１−Ｋ３の処理を実行する。
Ｋ１．カウンタ値が０の場合、処理は行わない。
Ｋ２．カウンタ値がテーブルサイズ以上の場合は、システムが異常であるので、フェールセーフ処理を行い、アドレステーブル１９を初期化する（テーブルカウンタ→０）。
【００５３】
Ｋ３．上記Ｋ１、Ｋ２以外の場合、次のＬ１、Ｌ２を実行する。
Ｌ１．アドレスカウンタが示す範囲のアドレスを読み、そのデータをアドレステーブル２０に格納する。この処理は、アドレステーブル更新時のみ行われる。
Ｌ２．アドレスカウンタが示すサイズ分、アドレステーブル２０のデータ値を、ＲＡＭ計測ボード１３のアドレステーブル１９に書き込む。既述のように、データサイズは、４バイト固定で実施される。
【００５４】
（ＲＡＭ書込み機能）
ＲＡＭ書込み機能についても、ＲＡＭ計測ボード１３による処理タイミングは図３に示すように分離され、処理の内容は図４に示すとおりとなる。この点については説明済みであるので、ここでの重複する説明は省略する。
【００５５】
図３のうち、ＲＡＭ書込み時には、コントロール信号Ａは使用されず、コントロール信号Ｂ、Ｃ及びＩＮＩＴ信号が使用される。コントロール信号Ｂは、ＲＡＭ計測ボード１３からマザーボード２への書込み要求信号（以後、「書込み要求信号Ｂ」）となり、コントロール信号Ｃは、マザーボード２からＲＡＭ計測ボード１３への書込み完了信号（以後、「書込み完了信号Ｃ」）となる。
【００５６】
図９に、ＲＡＭ書込み用のアドレステーブル２１の構造を示す。
このアドレステーブル２１は、書込み用であってデータは１個ずつ書き込まれるのであるから、テーブルは１チャネルのみとなる。また、その内容は、書込みアドレス、データサイズ、書込みデータとなっている。
【００５７】
図１０に示すように、アドレステーブル２１は共有メモリ１６に格納される。ＲＡＭデータ書込み時には、マザーボード２における書込みが終了する前に、ＲＡＭ計測装置１４から書込み要求がくる。このため、ＲＡＭ計測ボード１３に内部バッファ２２が設けられ、バッファテーブル２３が格納される。バッファテーブル２３は、アドレステーブル２１と同様の構造であるが、複数のデータを記憶するために、所定のバッファサイズ（Ｎ．ＷＢＵＦ）を有する。
【００５８】
ＲＡＭ計測装置１４より書込み要求を受け付けた場合、書込み内容をバッファテーブル２３に格納する。マザーボード３でＲＡＭデータを書込み完了すると、マザーボード２へアドレステーブル２１に従って書込み要求を発行し、バッファテーブル２３から次のデータをアドレステーブル２１に移す。
【００５９】
図１１を用いて、ＲＡＭ計測ボード１３におけるＲＡＭ書込み処理時の処理を説明する。
図示の処理は、ＲＡＭ計測装置１４において、書込み処理のための操作がされ、その信号を受信したときに開始される。
【００６０】
初期化処理では、次のＭ１−Ｍ４の処理が行われる。
Ｍ１．アドレステーブル２１とバッファテーブル２３を初期化する。
Ｍ２．書込み完了フラグをオフとする。
Ｍ３．書込み完了信号Ｃの値（前回値）を初期化する。
Ｍ４．書込み要求信号Ｂを初期出力する。
【００６１】
通常処理では、以下のＮ１、Ｎ２の処理を行う。
Ｎ１．受信したＲＡＭ書込み内容を取り込み、バッファテーブル２３に追加する。
Ｎ２．書込み完了信号Ｃを読み込み、前回値データと比較し、反転の有無チェックする。反転があったときは次のＰ１−Ｐ３の処理を行い、反転がなかったときは処理を行わない。
【００６２】
Ｐ１．書込み完了信号図中Ｃで前回値のデータを更新する。
Ｐ２．バッファテーブル２３の最も古いデータをアドレステーブル２１にセットする。このセットは、ＦＩＦＯにて行われる。
Ｐ３．書込み要求信号Ｂを反転出力する。
【００６３】
また、定期処理（例、１ｍｓごと）として、次のＱ１、Ｑ２を実行する。
Ｑ１．バッファテーブル２３に未処理要求があるか否かを検索する。未処理要求がなければ、処理は行わない。
未処理要求がありの場合、書込み完了信号Ｃを読込み前回値データと比較し、反転の有無をチェックする。反転があれば次のＲ１−Ｒ３を実行し、反転がなければ処理は実行しない。
【００６４】
Ｒ１．書込み完了信号Ｃに従って、前回値データを更新する。
Ｒ２．バッファテーブル２３の最も古いデータをアドレステーブル２１にセットし、セットしたデータはバッファテーブル２３より削除する。
Ｒ３．書込み要求信号図中Ｂを反転出力する。
【００６５】
図１３を用いて、マザーボード２におけるＲＡＭ書込み処理時の処理内容を説明する。
初期化処理においては、書込み要求信号Ｂを受信すると、前回値データを初期設定する。また、書込み完了信号Ｃを初期出力する。
初期化処理が完了すると、通常処理に移る。
【００６６】
通常処理では、次のＳ１の処理を、制御アプリ実行完了後に実施する。
なお、書込み用には、共有メモリ１６のアドレステーブル１９と同様のミラーのテーブルをマザーボード２内に用意しない。
Ｓ１．書込み要求信号Ｂを読み込み、前回値データと比較し、反転の有無をチェックする。反転があれば次のＴ１−Ｔ３の処理を行い、反転がなければ処理は行わない。
Ｔ１．書込み要求信号Ｂにより前回値データを更新する。
Ｔ２．共有メモリ１６のアドレステーブル１９より書込み内容を読込み、内容に応じてデータを書き込む。
Ｔ３．書込み完了信号Ｃを反転出力する。
【００６７】
【発明の効果】
本発明によれば、マイコンのロジック開発装置に、既存のＲＡＭ計測装置を接続し、高速サンプリングのＲＡＭモニタを実現することができる。これにより、ロジック開発環境を充実することができる。また、既存の装置をそのまま利用することができ、コスト低減を図ることができる。
【図面の簡単な説明】
【図１】本発明を適用したマイコンロジック開発装置の構成を示す図である。
【図２】従来の組み込み用マイコンにおけるＲＡＭモニタを実行する構成を示す図である。
【図３】図１のＲＡＭ計測ボードによる処理タイミングを示す図である。
【図４】図１のＲＡＭ計測ボードの動作の概念を示す図である。
【図５】図１の共有メモリに格納するＲＡＭモニタ用のアドレステーブルの構造を示す図である。
【図６】図１のマザーボードと共有メモリが有するテーブルの構造を示す図である。
【図７】図１のＲＡＭ計測ボードにおけるＲＡＭモニタ時の状態遷移図である。
【図８】図１のマザーボードにおけるＲＡＭモニタ時の状態遷移図である。
【図９】図１の共有メモリに格納するＲＡＭ書込み用のアドレステーブルの構造を示す図である。
【図１０】図１０のアドレステーブルと内部バッファとの関係を示す図である。
【図１１】図１のＲＡＭ計測ボードにおけるＲＡＭ書込み時の状態遷移図である。
【図１２】図１のマザーボードにおけるＲＡＭ書込み時の状態遷移図である。
【符号の説明】
１…マイコンロジック開発装置
２…マザーボード
３…コアボード
４…インタフェースボード
５…エンジン制御アプリ
６、７…Ｉ／Ｏドライバソフト
８…マイコン
９…マイコン周辺部
１０…標準回路
１１…ポート割付変換ポート
１２…ＰＣＩバス
１３…ＲＡＭ計測ボード
１４…ＲＡＭ計測装置
１５…ドライバ回路
１６…共有メモリ
１７、１８…タイミング
１９、２０、２１…アドレステーブル
２２…内部バッファ
２３…バッファテーブル
２４…組み込み用マイコン
２５…ＣＰＵ
２６…内部バス
２７…ＲＡＭ
２８…ＲＯＭ
２９…ＤＭＡ
３０…ＲＡＭモニタ機能
【図１】
2005025601.tif 000003
【図２】
2005025601.tif 000004
【図３】
2005025601.tif 000005
【図４】
2005025601.tif 000006
【図５】
2005025601.tif 000007
【図６】
2005025601.tif 000008
【図７】
2005025601.tif 000009
【図８】
2005025601.tif 000010
【図９】
2005025601.tif 000011
【図１０】
2005025601.tif 000012
【図１１】
2005025601.tif 000013
【図１２】
2005025601.tif 000014