(57)【特許請求の範囲】
【請求項１】
全てが同一数のデータ単位から構成されたデータが連続した連続データの当該データを、当該データを構成するデータ単位数毎のアドレスに順に記憶した記憶手段（７）と、
前記データを構成する前記データ単位数の前記データ単位を書込み可能な中間記憶手段（８）と、
前記中間記憶手段に書込まれた前記データ単位を記憶可能に設けられ、記憶した前記データ単位を外部装置が順に読出す出力手段（４）と、
前記外部装置からの読出命令を受信した場合は、前記記憶手段における前記データ単位数毎の先頭アドレスから当該データ単位数の前記データ単位を一度に読出して前記中間記憶手段に書込んでから、前記中間記憶手段の先頭アドレスから記憶されている前記データ単位を前記出力手段に先頭アドレスから順に出力した後、前記記憶手段における次のアドレスから前記データ単位数の前記データ単位を一度に読出して前記中間記憶手段に書込む制御手段（５）と、備え、
前記外部装置は、前記読出命令を出力した場合は、所定時間だけ待機してから前記データ単位を前記出力手段の先頭アドレスから順に読出すように構成されており、
前記制御手段が前記データ単位を前記中間記憶手段から前記出力手段に出力するタイミングは、当該データ単位を前記外部装置が前記出力手段から読出すタイミングよりも前記所定時間未満の一定時間だけ先行していることを特徴とする電子装置。
【請求項２】
全てが同一数とは限らないデータ単位から構成されたデータが連続した連続データの当該データを、当該データを構成する最大のデータ単位数毎のアドレスに順に記憶した記憶手段（７）と、
前記最大のデータ単位数の前記データ単位を書込み可能な中間記憶手段（８）と、
前記中間記憶手段に書込まれた前記データ単位を記憶可能に設けられ、記憶した前記データ単位を外部装置が順に読出す出力手段（４）と、
前記外部装置からの読出命令を受信した場合は、前記記憶手段における前記最大のデータ単位数毎の先頭アドレスから当該データ単位数の前記データ単位を一度に読出して前記中間記憶手段に書込んでから、前記中間記憶手段の先頭アドレスから記憶されている前記データ単位を前記出力手段に先頭アドレスから順に前記データを構成するデータ単位数だけ出力した後、前記記憶手段における次のアドレスから前記データ単位数の前記データ単位を一度に読出して前記中間記憶手段に書込む制御手段（５）と、備え、
前記外部装置は、前記読出命令を出力した場合は、所定時間だけ待機してから前記データ単位を前記出力手段に先頭アドレスから順に前記制御手段から入力したデータ単位数となるまで読出すように構成されており、
前記制御手段が前記データ単位を前記中間記憶手段から前記出力手段に出力するタイミングは、当該データ単位を前記外部装置が前記出力手段から読出すタイミングよりも前記所定時間未満の一定時間だけ先行していることを特徴とする電子装置。
【請求項３】
前記外部装置は、前記記憶手段に記憶されている前記連続データを読出す診断装置であることを特徴とする請求項１または２に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶している連続データを外部装置に出力可能な電子装置に関する。
【背景技術】
【０００２】
電子装置において、処理部によりデータをメモリに書込むと同時に、そのデータを他の処理部から読出す場合は、両方の処理部からアクセス可能なユニファイドメモリを設けることが行われている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２２６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、電子装置のメモリに記憶された連続データを外部装置に出力する場合は、ユニファイドメモリに相当する外部インターフェース部を設け、連続データを構成する各データを外部インターフェース部に出力すると同時に、当該データを外部装置が外部インターフェース部から読出すようにしている。この場合、外部インターフェース部へのデータの出力と、外部装置による外部インターフェース部からのデータの読出しとが非同期である場合は、大量の連続データ（１〜２Ｋバイト）を外部装置が読出す際に、以下の懸念が発生する。
【０００５】
（１）連続データを一気に外部装置に出力しようとした場合、大量の中間バッファ（１〜２Ｋバイト）が必要となると共に、中間バッファが介在することにより処理時間も長くなる。
（２）外部装置が非同期でデータを読出す場合、データの整合性が確保できなくなる。例えばデータの上位バイトと下位バイトが異なるタイミングのデータとなることで正しい値が読出せなくなる。
【０００６】
具体的には、外部インターフェース部に書込まれるデータ（例えば４バイト）が図１１に示すＡ→Ｂ→Ｃの順に更新されている最中に、外部装置がデータの読出しを非同期で実施すると、例えば丸数字の１，２で示す１バイト目と２バイト目はＡのデータから読出し、丸数字の３，４で示す３バイト目と４バイト目はそれぞれＢ，Ｃのデータから読出すことがあり、このような場合には、Ｄのデータのように複数のデータが混在した誤ったデータとなってしまう。
【０００７】
特に、データが不動小数点数の場合に診断ツールで車両用ＥＣＵに記憶された連続データを読出して解析するときは、Ａ，Ｂ，Ｃで指数部が同じであれば、ＤはＡ，Ｂ，Ｃと比較的近い値となりデータ解析に支障を生じないものの、指数部が異なる場合は全く異なる値となってしまいデータ解析に支障を生じる。
【０００８】
例えば、Ｘ=９.５５×１０3、Ｙ=１.１１×１０4として、Ｘから指数部を、Ｙから仮数部を読出したとすると、読出したデータは１.１１×１０3となり、Ｘ，Ｙと比べて極端に小さい値となってしまう。
【０００９】
本発明は上記事情に鑑みてなされたもので、その目的は、記憶している連続データを外部装置に出力する場合に、データの整合性を確実に確保することができる電子装置を提供することにある。
【課題を解決するための手段】
【００１０】
請求項１から３の発明によれば、制御手段は、記憶手段から所定数のデータ単位を一度に読出して中間記憶手段に書込んでから、中間記憶手段に書込んだデータ単位を出力手段に順に出力する。このとき、制御手段がデータ単位を中間記憶手段から出力手段に出力するタイミングは、当該データ単位を外部装置が出力手段から読出すタイミングよりも基準間隔だけ先行しているので、外部装置は、データの整合性を確保しながら連続データを読出すことができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態における全体構成を概略的に示すブロック図
【図２】データを示す図
【図３】データの転送状態を説明するための図
【図４】データ出力処理を示すフローチャート
【図５】第２実施形態におけるデータを示す図
【図６】データの転送状態を説明するための図
【図７】データ出力処理を示すフローチャート
【図８】第３実施形態におけるデータを示す図
【図９】データの転送状態を説明するための図
【図１０】データ出力処理を示すフローチャート
【図１１】従来技術におけるデータの転送状態を説明するための図
【発明を実施するための形態】
【００１２】
（第１実施形態）
以下、本発明を車両診断システムに適用した第１実施形態について図１から図４を参照して説明する。
図１に示すように、車両にはエンジンＥＣＵ（Electronic Control Unit）、ブレーキＥＣＵ等を含む各種ＥＣＵ１（電子装置）が搭載されている。ＥＣＵ１は、マイクロコンピュータ（以下、マイコン）２と、このマイコン２が他のＥＣＵ１、或いは外部ツール３（外部装置）とデータ通信を行うための外部インターフェース部（以下、外部Ｉ／Ｆ部）４（出力手段）とを備えて構成されている。
【００１３】
マイコン２はＣＰＵ５（制御手段）とメモリ６とから構成されており、ＣＰＵ５は、メモリ６に記憶されているプログラムに従って各種処理を実行する。メモリ６は、外部ツール３が読出対象とする読出対象メモリ７を含んで構成されている。
【００１４】
外部ツール３は診断装置であり、ＥＣＵ１の外部Ｉ／Ｆ部４と直接、或いは図示しないネットワークを介してアクセス可能となっている。外部ツール３は、ＥＣＵ１の外部Ｉ／Ｆ部４にアクセスした状態で読出対象メモリ７（記憶手段）に記憶されている連続データを読出可能となっている。この連続データはＥＣＵ１が電源の投入状態で定期的に収集したダイアグデータであり、ＥＣＵ１の制御対象である各種アクチュエータの動作状態や検出対象である各種センサの検出状態等を示すデータである。
【００１５】
本実施形態では、読出対象メモリ７に記憶されているデータは４バイトデータであり、４つの１バイトデータ（データ単位）から構成されている。外部ツール３がＥＣＵ１から連続データを読出す場合は、データの整合性を確保した状態で外部Ｉ／Ｆ部４から読出す必要がある。この場合、整合性とは、データに他のデータを構成するデータ単位が混在しないことを意味している。
【００１６】
このようなデータの整合性を確保するために、メモリ６には中間バッファ８（中間記憶手段）が設けられている。中間バッファ８は通常のメモリよりも高速でデータの書込み及び読出しが可能なメモリで、読出対象メモリ７から読出したデータを一時的に記憶するものである。つまり、外部ツール３は、連続データの読出時間の短縮のために外部Ｉ／Ｆ部４から高速でデータを読出すことから、その読出速度に対応するために通常のメモリよりも高速でデータの書込み及び読出しが可能な中間バッファ８を設けているのである。
【００１７】
ＣＰＵ５は、データを外部ツール３に出力する場合は、中間バッファ８にデータを構成するデータ単位を一度に書込んでから、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４に順に出力する。一方、外部ツール３は、データを読出す場合は、外部Ｉ／Ｆ部４に記憶されているデータ単位を順に読出す。
【００１８】
ここで、ＣＰＵ５は、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４に出力する場合は、当該データ単位を外部ツール３が読出すよりも所定時間だけ先行して実行するようになっている。換言すれば、外部ツール３は、外部Ｉ／Ｆ部４にデータ単位が出力されたタイミングから所定時間だけ遅れたタイミングで当該データ単位を読出すようになっている。このように本発明は、外部Ｉ／Ｆ部４へのデータ単位の出力動作と、外部Ｉ／Ｆ部４からのデータ単位の読出動作とが所定時間だけずれた時間差を伴って行われることを特徴とする。
【００１９】
次に、上記構成の作用について説明する。
ＥＣＵ１のＣＰＵ５は、電源の投入状態では、ＥＣＵ１の制御動作に関するデータを定期的に収集して読出対象メモリ７の読出開始位置から順に記憶している。
読出対象メモリ７には、連続データとして、図２に丸数字の１〜４（４バイトデータ）、５〜８（４バイトデータ）、９〜１２（４バイトデータ）……で示すデータが読出開始位置から順に記憶されているものとする。この場合、データの整合性を確保する必要があるデータ単位数は各データを構成するデータ単位数である４となるので、中間バッファ８に書込み可能なデータ単位数は４となる。
【００２０】
さて、ユーザは、車両に異常が発生したり、車両の定期検査時期となった場合は、車両をディーラー或いは整備工場に持込んで点検する。作業者は、ＥＣＵ１の動作を点検する場合は、ＥＣＵ１への電源投入状態で外部ツール３をＥＣＵ１にアクセス可能に接続する。これにより、ＥＣＵ１は、外部ツール３からの読出命令を受信可能な待機状態となるので、作業者は、外部ツール３に対して読出操作を行う。
【００２１】
外部ツール３は、読出操作が行われた場合は、ＥＣＵ１に対して読出命令を送信する。
ＣＰＵ５は、外部ツール３から読出命令を受信すると、まず、連続データを構成するデータ数を示す総データ数を外部ツール３へ出力する。
【００２２】
次に、図４に示すデータ出力動作を実行する。このデータ出力動作では、読出対象メモリ７の読出開始位置に記憶されているデータ（丸数字の１〜４で示すデータ）を構成する４つのデータ単位を一度に読出して中間バッファ８に書込んでから（Ｓ１０１）、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４へ出力する（Ｓ１０２）。このとき、ＣＰＵ５は、中間バッファ８に書込んだデータ単位の全てを外部Ｉ／Ｆ部４に一度に出力するのではなく、データを構成するデータ単位を外部Ｉ／Ｆ部４に順に出力する。この場合、中間バッファ８の１番目の記憶領域に書込んだデータ単位を外部Ｉ／Ｆ部４の１番目の記憶領域に出力し、２番目の記憶領域に書込んだデータ単位を外部Ｉ／Ｆ部４の２番目の記憶領域に出力し、３番目の記憶領域に書込んだデータ単位を外部Ｉ／Ｆ部４の３番目の記憶領域に出力し、４番目の記憶領域に書込んだデータ単位を外部Ｉ／Ｆ部４の４番目の記憶領域に出力する。
【００２３】
一方、外部ツール３は、上述のようにＥＣＵ１に対して読出命令を出力すると、所定時間だけ待機してから外部Ｉ／Ｆ部４にアクセスしてデータ単位を１番目の記憶領域から４番目の記憶領域まで順に読出す。
【００２４】
ここで、ＣＰＵ５は、データ単位を外部Ｉ／Ｆ部４へ出力する場合は、当該データ単位を外部ツール３が外部Ｉ／Ｆ部４から読出すよりも所定時間だけ先行して実行する。つまり、外部ツール３は、外部Ｉ／Ｆ部４にデータ単位が記憶されたタイミングから所定時間だけ遅れたタイミングで当該データを外部Ｉ／Ｆ部４から読出す。
【００２５】
ＣＰＵ５は、上述のようにして中間バッファ８から外部Ｉ／Ｆ部４へデータ単位の全てを出力すると、出力データ数をインクリメントしてから（Ｓ１０３）、出力データ数＝総データ数かを判定する（Ｓ１０４）。この場合、出力データ数は総データ数に達していないことから（Ｓ１０４：ＮＯ）、ステップＳ１０１へ移行し、次のデータ（丸数字の５〜８で示すデータ）を構成するデータ単位を読出対象メモリ７から一度に読出して中間バッファ８に書込んでから、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４に順に出力する動作を繰返す。
【００２６】
一方、外部ツール３は、外部Ｉ／Ｆ部４にデータ単位が記憶されたタイミングから所定時間だけ遅れたタイミングで当該データを外部Ｉ／Ｆ部４から読出す動作を繰返す。
以上のようにして、外部Ｉ／Ｆ部４へのデータ単位の出力動作と、外部Ｉ／Ｆ部４からのデータの読出動作とが所定時間だけずれた時間差を伴って行われることにより、外部ツール３は、データの整合性を確保した状態で連続データを読出すことができる。
【００２７】
そして、ＣＰＵ５は、出力データ数が総データ数に達すると（Ｓ１０４：ＹＥＳ）、データ出力処理を終了する。
一方、外部ツール３は、読出データ数が総データ数に達すると、読出動作を終了する。
【００２８】
このような実施形態によれば、次のような効果を奏することができる。
ＣＰＵ５は、読出対象メモリ７に記憶されているデータを構成する数のデータ単位を一度に読込んで中間バッファ８に書込んでから、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４へ出力する場合に、当該データを外部ツール３が外部Ｉ／Ｆ部４から読出すよりも所定時間だけ先行して実行するので、外部ツール３は、データの整合性を確保した状態で連続データを確実に読出すことができる。
【００２９】
中間バッファ８に書込んだデータ単位の全てを外部Ｉ／Ｆ部４へ出力してから次のデータを構成するデータ単位を中間バッファ８に書込むので、データに他のデータのデータ単位が混在してしまうことを確実に防止することができる。
中間バッファ８に書込み可能なデータ単位数を、データを構成するデータ単位数に設定したので、中間バッファ８の記憶容量を抑制することができる。
【００３０】
（第２実施形態）
第２実施形態について図５から図７を参照して説明する。第１実施形態では、データを構成するデータ単位数は全て同一であったが、第２実施形態では、データを構成するデータ単位数が同一でないことを特徴とする。
【００３１】
読出対象メモリ７には、連続データとして、図５に丸数字の１（１バイトデータ）、２〜５（４バイトデータ）、６，７（２バイトデータ）、８〜１１（４バイトデータ）、１２，１３（２バイトデータ）……で示すデータが読出開始位置から順に記憶されているものとする。この場合、データの整合性を確保する必要があるデータ単位数は各データを構成する最大のデータ単位数である４となるので、中間バッファ８に書込み可能なデータ単位数は４となる。
【００３２】
ＣＰＵ５は、外部ツール３から読出命令を受信すると、まず、連続データを構成する各データのデータ単位数を示すデータ情報及び総データ数を外部ツール３に出力する。データ情報はデータを構成するデータ単位数を示すもので、図５に示す例では、１、４、２、４、２……となる。
【００３３】
次に、図７に示すデータ出力処理を実行する。尚、実行開始時は、後述する出力データ単位数には０が設定されているものとする。ＣＰＵ５は、読出対象メモリ７から読出開始位置のデータを構成する最大数である４つのデータ単位を読出して中間バッファ８に書込んでから（Ｓ２０１）、データを構成するデータ単位数を有効データ単位数に設定する（Ｓ２０２）。この場合、読出開始位置のデータを構成するデータ単位数は１であるから、有効データ単位数は１となる。
【００３４】
次に、中間バッファ８の１番目の記憶領域に記憶しているデータ単位を外部Ｉ／Ｆ部４の１番目の記憶領域に出力する（Ｓ２０３）。この場合、中間バッファ８の１番目の記憶領域に記憶されているデータ単位は図６に丸数字の１で示すデータであることから、当該データ単位を外部Ｉ／Ｆ部４の１番目の記憶領域に出力する。
【００３５】
一方、外部ツール３は、ＥＣＵ１から受信したデータ情報に基づいて読出開始位置のデータ単位数は１であることを特定するので、外部Ｉ／Ｆ部４の１番目の記憶領域のみからデータ単位を読出す。これにより、外部ツール３は、読出対象メモリ７の読出開始位置に記憶されている１バイトのデータを読出すことができる。
【００３６】
次にＣＰＵ５は、出力データ単位数をインクリメントしてから（Ｓ２０４）、出力データ単位数＝有効データ単位数かを判定する（Ｓ２０５）。この場合、出力データ単位数及び有効データ単位数は１であることから（Ｓ２０５：ＹＥＳ）、出力データ単位数に０を設定する（Ｓ２０６）。
【００３７】
次に、出力データ数をインクリメントしてから（Ｓ２０７）、出力データ数＝総データ数かを判定し（Ｓ２０８）、出力データ数は総データ数に達していないことから（Ｓ２０８：ＮＯ）、次のデータ（図６に丸印で示す２〜５のデータ単位）を一度に読出して中間バッファ８に書込む（Ｓ２０１）。
【００３８】
次に、有効データ単位数を４に設定してから（Ｓ２０２）、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４に出力してから（Ｓ２０３）、出力データ数をインクリメントし（Ｓ２０４）、出力データ単位数が有効データ単位数に達しないときは（Ｓ２０５：ＮＯ）、Ｓ２０３へ移行することにより上記動作を繰返す。そして、４番目のデータ単位を外部Ｉ／Ｆ部４に出力することにより出力データ単位数が有効データ単位数に達すると（Ｓ２０５：ＹＥＳ）、出力データ単位数を０としてから（Ｓ２０６）、出力データ数をインクリメントする（Ｓ２０７）。
【００３９】
一方、外部ツール３は、データ情報に基づいて外部Ｉ／Ｆ部４からデータ単位を読出す記憶領域を特定し、当該記憶領域からデータ単位を順に読出すことで、データを読出すことができる。
【００４０】
以上のような動作をＥＣＵ１及び外部ツール３が繰返すことで、外部ツール３は、ＥＣＵ１に記憶されている連続データを読出すことができる。
そして、ＣＰＵ５は、出力データ数が総データに達したときは（Ｓ２０８：ＹＥＳ）、データ出力処理を終了する。
【００４１】
このような実施形態によれば、ＣＰＵ５は、読出対象メモリ７の最大のデータ単位数毎のアドレスから当該最大のデータ単位数のデータ単位を一度に読出して中間バッファ８に書込むので、データを構成するデータ単位数が同一でない場合であっても、外部ツール３は、データの整合性を確保した状態で連続データを確実に読出すことができる。
【００４２】
（第３実施形態）
第３実施形態について図８から図１０を参照して説明する。第２実施形態では、読出対象メモリ７に記憶されているデータのサイズに拘らず一つのデータのみを中間バッファ８に書込んでおり、中間バッファ８の記憶領域の利用効率が低い。そこで、本実施形態では、複数のデータを中間バッファ８に一度に書込み可能としたことを特徴とする。
【００４３】
読出対象メモリ７には、連続データとして、図８に丸数字の１（１バイトデータ）、２〜５（４バイトデータ）、６（１バイトデータ）、７，８（２バイトデータ）、９〜１２（４バイトデータ）……で示すデータが順に記憶されているものとする。この場合、データの整合性を確保する必要があるデータ単位数は各データを構成するデータ単位数の最小公倍数である４となるので、中間バッファ８に書込み可能なデータ単位数は４となる。尚、読出開始位置は、最初の４バイトデータのアドレスに設定されている。
【００４４】
ここで、各データは、当該データを構成するデータ単位数の倍数となるアドレスに記憶されている。即ち、丸数字の１，６（１バイト）で示すデータは１の倍数（任意）のアドレス、丸数字の７，８（２バイト）で示すデータは２の倍数のアドレス、丸数字の２〜５、９〜１２（４バイト）で示すデータは、４の倍数のアドレスに記憶されている。
【００４５】
さて、ＣＰＵ５は、外部ツール３から読出命令を受信した場合は、まず、データ情報及び総データ数を外部ツール３に出力する。データ情報には、中間バッファ８に一度に書込まれる各データを構成するデータ単位数が含まれている。また、ここでいう総データ数とは、4バイトを１データとした時のデータ数のことである。
【００４６】
次に、図１０に示すデータ出力処理を実行する。このデータ出力処理では、読出開始位置の直前における４の倍数のアドレスからデータを構成する最大数である４つのデータ単位を一度に読出して中間バッファ８に書込む（Ｓ３０１）。この場合、丸数字の１で示すデータを含む４バイトが該当するので、当該４バイトを中間バッファ８に書込むことになる。
【００４７】
次に、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４へ出力する（Ｓ３０２）。この場合、中間バッファ８に書込んだデータ単位の読出アドレスを４で割った余りの位置に該当する記憶領域に記憶されているデータ単位を外部Ｉ／Ｆ部４の対応する記憶領域に出力する。つまり、丸数字の１で示すデータは読出開始位置の一つ前のアドレスに記憶されており、当該データが記憶されているアドレスは４の倍数に３を加算したアドレスとなることから、当該アドレスを４で割った余りは３となる。４の倍数のアドレスを４で割った余りは０となり、その場合は中間バッファ８の１番目の記憶領域となることから、余りが３の場合は、４番目の記憶領域となる。従って、ＣＰＵ５は、中間バッファ８の４番目の記憶領域からデータ単位を読出して外部Ｉ／Ｆ部４の４番目の記憶領域へ出力する。尚、読出開始位置の前に例えば２バイトのデータが記憶されている場合は、外部Ｉ／Ｆ部４の３番目と４番目の記憶領域にデータ単位を出力することになる。
【００４８】
一方、外部ツール３は、データ情報に基づいて最初のデータは１つのデータ単位であることを特定し、当該データ単位を外部Ｉ／Ｆ部４の４番目の記憶領域から読出す。
次にＣＰＵ５は、読出アドレスを読出開始位置に設定してから（Ｓ３０３）、読出アドレスが４の倍数かを判定する（Ｓ３０４）。この場合、読出アドレスは４の倍数であるので（Ｓ３０４：ＹＥＳ）、４バイト（４つ分のデータ単位）のデータを読出して中間バッファ８に書込む（Ｓ３０６）。
【００４９】
次に、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４へ出力する（Ｓ３０７）。つまり、中間バッファ８に書込んだデータ単位の読出アドレスを４で割った余りの位置のデータ単位を外部Ｉ／Ｆ部４の対応する記憶領域に出力する。
【００５０】
次に、読出アドレスをインクリメントすると共に（Ｓ３０８）、出力データ数をインクリメントしてから（Ｓ３０９）、出力データ数＝総データ数かを判定する（Ｓ３１０）。この場合、出力データ数は総データ数に達していないので（Ｓ３１０：ＮＯ）、ステップＳ３０４へ移行し、読出アドレス＝４の倍数かを判定する（Ｓ３０４）。この場合、読出アドレスは４の倍数でないので（Ｓ３０４：ＮＯ）、読出アドレスをインクリメントしてから（Ｓ３０５）、ステップＳ３０４へ移行して上記動作を繰返し、読出アドレスが４の倍数に達した場合は（Ｓ３０４：ＹＥＳ）、４つのデータ単位を一度に読出して中間バッファ８に書込む（Ｓ３０６）。
【００５１】
次に、中間バッファ８に書込んだデータ単位を外部Ｉ／Ｆ部４へ出力し（Ｓ３０７）、読出アドレスをインクリメントしてから（Ｓ３０８）、出力データ数をインクリメントする（Ｓ３０９）。
【００５２】
以上の動作により、４の倍数のアドレスに記憶されている４つ分のデータ単位が外部Ｉ／Ｆ部４に順に出力される。
一方、外部ツール３は、データ情報に基づいて外部Ｉ／Ｆ部４からデータ単位を読出す記憶領域を特定し、当該記憶領域からデータ単位を順に読出すことで、データを読出すことができる。
【００５３】
以上のような動作をＥＣＵ１及び外部ツール３が繰返すことで、外部ツール３は、ＥＣＵ１に記憶されている連続データを読出すことができる。
そして、ＣＰＵ５は、出力データ数が総データに達したときは（Ｓ３１０：ＹＥＳ）、データ出力処理を終了する。
【００５４】
このような実施形態によれば、ＣＰＵ５は、読出対象メモリ７に記憶されているデータを構成するデータ単位数の最小公倍数のアドレスから当該最小公倍数のデータ単位を一度に読出して中間バッファ８に書込むので、データを構成するデータ単位数が全て同一でない場合であっても、外部ツール３は、データの整合性を確保した状態で連続データを確実に読出すことができる。
【００５５】
複数のデータを一度に読出して中間バッファ８に書込むことにより中間バッファ８の利用効率を高めることができるので、外部ツール３による連続データの読出時間の短縮を図ることができる。
【００５６】
（その他の実施形態）
本発明は、上記実施形態に限定されることなく、次のように変形または拡張できる。
上記各実施形態では、ＣＰＵ５は、中間バッファ８から外部Ｉ／Ｆ部へデータ単位を出力する場合は、当該データ単位を外部ツール３が外部Ｉ／Ｆ部４から読出す直前に実行しているが、外部ツール３が前回のデータ単位を読出してから今回のデータ単位を読出すまでの期間であれば、任意のタイミングでデータ単位を外部Ｉ／Ｆ部４へ出力することができる。
【００５７】
第２実施形態及び第３実施形態では、ＣＰＵ５は、データ出力処理を実行する際にデータを構成するデータ単位数を示す情報を外部ツール３に予め送信していたが、中間バッファ８にデータを書込む際にデータ単位を書込まない記憶領域が発生する場合は、当該記憶領域にデータ単位でないことを示す非データ情報を書込むようにしても良い。この場合、外部ツール３は、外部Ｉ／Ｆ部４からデータ単位を読出した場合に非データ情報を読出した場合は、当該非データ情報が書込まれたデータ単位を無視してデータを特定することになる。
【００５８】
外部Ｉ／Ｆ４が記憶可能なデータ単位数は、中間バッファ８に書込み可能なデータ単位数を上回った数としても良い。
本発明をＥＣＵに適用したが、記憶している連続データが外部装置に出力する構成であれば、ＥＣＵ以外の電子装置に適用しても良い。
【符号の説明】
【００５９】
図面中、１はＥＣＵ（電子装置）、３は外部ツール（外部装置）、４は外部Ｉ／Ｆ部（出力手段）、５はＣＰＵ（制御手段）、７は読出対象メモリ（記憶手段）、８は中間バッファ（中間記憶手段）である。
【図１】
0006631063.tif 000002
【図２】
0006631063.tif 000003
【図３】
0006631063.tif 000004
【図４】
0006631063.tif 000005
【図５】
0006631063.tif 000006
【図６】
0006631063.tif 000007
【図７】
0006631063.tif 000008
【図８】
0006631063.tif 000009
【図９】
0006631063.tif 000010
【図１０】
0006631063.tif 000011
【図１１】
0006631063.tif 000012