図面 (/)

技術 制御装置、及び、制御装置へのデータ書き込み方法

出願人 いすゞ自動車株式会社株式会社トランストロン
発明者 若林禎人児玉寛隆
出願日 2016年12月7日 (5年2ヶ月経過) 出願番号 2016-237752
公開日 2018年6月14日 (3年8ヶ月経過) 公開番号 2018-092542
状態 特許登録済
技術分野 エラーの検出訂正 外部記憶装置との入出力 内燃機関の複合的制御 バス制御 メモリシステム
主要キーワード 工場モード 転送先領域 検証応答 入出力速度 データ書込処理 連結データ 受信フレーム数 転送完了通知
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年6月14日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題

制御装置生産効率を向上させること。

解決手段

制御装置は、第1記憶部と、第1記憶部よりもI/O速度が速く所定数データブロックを記憶可能な第1記憶領域及び第2記憶領域を有する第2記憶部と、第1及び第2記憶領域の一方を転送先領域とし、書込装置から送信されたデータブロックを転送先領域に記憶させ、当該データブロックの検算値を書込装置に送信する制御部とを備える。書込装置は、その送信された検算値が適正な場合、次のデータブロックを送信する前に、制御部へブロック送信開始要求を送信する。制御部は、転送先領域に所定数のデータブロックが記憶され、かつ、書込装置からブロック送信開始要求を受信した場合、転送先領域を第1及び第2記憶領域の他方に切り替えると共に、切り替え前の転送先領域に記憶された所定数のデータブロックを第1記憶部に書き込ませる。

概要

背景

車両用電子制御装置(「ECU(Electronic Control Unit)」という)は、電気的にデータの消去及び書き込みが可能な不揮発性メモリを搭載している。ECUは、不揮発性メモリに格納された制御プログラム及びキャリブレーションデータ等によって車載装置(例えば燃料噴射装置)を制御する。不揮発性メモリへの制御プログラム及びキャリブレーションデータの書き込みに要する時間を短縮することにより、ECUの生産効率が向上する。

特許文献1には、ECUが、書き込みデータを分割した分割データを受信し、第1のバッファ領域及び第2のバッファ領域のうち、一方のバッファ領域に対し受信した分割データをコピーする受信処理と、他方のバッファ領域を使用して、他方のバッファ領域に格納された分割データをROMに書き込む処理と、を並行に実行することが開示されている。また、ECUが、受信処理で使用したバッファ領域を次回の書き込み処理で使用すると共に、書き込み処理で使用したバッファ領域を次回の受信処理で使用することも開示されている。

概要

制御装置の生産効率を向上させること。制御装置は、第1記憶部と、第1記憶部よりもI/O速度が速く所定数データブロックを記憶可能な第1記憶領域及び第2記憶領域を有する第2記憶部と、第1及び第2記憶領域の一方を転送先領域とし、書込装置から送信されたデータブロックを転送先領域に記憶させ、当該データブロックの検算値を書込装置に送信する制御部とを備える。書込装置は、その送信された検算値が適正な場合、次のデータブロックを送信する前に、制御部へブロック送信開始要求を送信する。制御部は、転送先領域に所定数のデータブロックが記憶され、かつ、書込装置からブロック送信開始要求を受信した場合、転送先領域を第1及び第2記憶領域の他方に切り替えると共に、切り替え前の転送先領域に記憶された所定数のデータブロックを第1記憶部に書き込ませる。

目的

本発明は、制御装置(ECU)のメモリへのデータ書き込み処理に要する全体の時間を短縮することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

第1記憶部と、前記第1記憶部よりもデータの入出力速度が速く、所定数データブロックを記憶可能な第1記憶領域および第2記憶領域を有する第2記憶部と、前記第1および第2記憶領域の一方を転送先記憶領域として設定し、書込装置から送信されたデータブロックを前記転送先記憶領域に記憶させ、当該データブロックの検算値を前記書込装置に送信する制御を行う制御部と、を備え、前記書込装置は、前記制御部から送信された検算値が適正であるか否かを判定し、当該検算値が適正であると判定した場合、次のデータブロックを送信する前に、前記制御部に対してブロック送信開始要求を送信し、前記制御部は、前記転送先記憶領域に所定数のデータブロックが記憶され、かつ、前記書込装置から前記ブロック送信開始要求を受信した場合、前記転送先記憶領域を前記第1および第2記憶領域の他方に切り替えると共に、切り替え前の転送先記憶領域に記憶された所定数のデータブロックを前記第1記憶部に書き込ませる、制御装置

請求項2

前記書込装置は、前記データブロックを複数のフレームに分割して送信し、受信したフレームを順次、前記転送先記憶領域へ転送し、1つ分のデータブロックを転送し終えた場合、その旨の完了通知を前記制御部に通知するDMAコントローラをさらに備え、前記制御部は、前記DMAコントローラから前記完了通知を受信し、前記1つ分のデータブロックに係る検算値を前記書込装置へ送信する、請求項1に記載の制御装置。

請求項3

制御装置へのデータ書き込み方法であって、前記制御装置は、第1記憶部と、前記第1記憶部よりもデータの入出力速度が速く、所定数のデータブロックを記憶可能な第1記憶領域および第2記憶領域を有する第2記憶部と、を備えており、書込装置は、前記制御装置へデータブロックを送信し、前記制御装置は、前記第1および第2記憶領域の一方を転送先記憶領域として設定し、前記書込装置から送信されたデータブロックを前記転送先記憶領域に記憶させ、当該データブロックの検算値を前記書込装置へ送信し、前記書込装置は、前記制御装置から送信された検算値が適正であるか否かを判定し、当該検算値が適正であると判定した場合、次のデータブロックを送信する前に、前記制御装置に対してブロック送信開始要求を送信し、前記制御装置は、前記転送先記憶領域に所定数のデータブロックが記憶され、かつ、前記書込装置から前記ブロック送信開始要求を受信した場合、前記転送先記憶領域を前記第1および第2記憶領域の他方に切り替えると共に、切り替え前の転送先記憶領域に記憶された所定数のデータブロックを前記第1記憶部へ書き込ませる、制御装置へのデータ書き込み方法。

技術分野

0001

本発明は、車両用制御装置及び当該制御装置へのデータ書き込み方法に関する。

背景技術

0002

車両用の電子制御装置(「ECU(Electronic Control Unit)」という)は、電気的にデータの消去及び書き込みが可能な不揮発性メモリを搭載している。ECUは、不揮発性メモリに格納された制御プログラム及びキャリブレーションデータ等によって車載装置(例えば燃料噴射装置)を制御する。不揮発性メモリへの制御プログラム及びキャリブレーションデータの書き込みに要する時間を短縮することにより、ECUの生産効率が向上する。

0003

特許文献1には、ECUが、書き込みデータを分割した分割データを受信し、第1のバッファ領域及び第2のバッファ領域のうち、一方のバッファ領域に対し受信した分割データをコピーする受信処理と、他方のバッファ領域を使用して、他方のバッファ領域に格納された分割データをROMに書き込む処理と、を並行に実行することが開示されている。また、ECUが、受信処理で使用したバッファ領域を次回の書き込み処理で使用すると共に、書き込み処理で使用したバッファ領域を次回の受信処理で使用することも開示されている。

先行技術

0004

特開2013−68105号公報

発明が解決しようとする課題

0005

しかし、ECUのメモリへ書き込むデータ量は増大しており、ECUの生産効率の向上のためには、当該メモリへのデータ書き込み処理に要する全体の時間をさらに短縮することが求められている。

0006

本発明は、制御装置(ECU)のメモリへのデータ書き込み処理に要する全体の時間を短縮することを目的とする。

課題を解決するための手段

0007

本発明の一実施形態に係る制御装置は、第1記憶部と、第1記憶部よりもデータの入出力速度が速く、所定数データブロックを記憶可能な第1記憶領域および第2記憶領域を有する第2記憶部と、第1および第2記憶領域の一方を転送先記憶領域として設定し、書込装置から送信されたデータブロックを転送先記憶領域に記憶させ、当該データブロックの検算値を書込装置に送信する制御を行う制御部と、を備える。書込装置は、制御部から送信された検算値が適正であるか否かを判定し、当該検算値が適正であると判定した場合、次のデータブロックを送信する前に、制御部に対してブロック送信開始要求を送信する。制御部は、転送先記憶領域に所定数のデータブロックが記憶され、かつ、書込装置からブロック送信開始要求を受信した場合、転送先記憶領域を第1および第2記憶領域の他方に切り替えると共に、切り替え前の転送先記憶領域に記憶された所定数のデータブロックを第1記憶部に書き込ませる。

発明の効果

0008

本発明によれば、制御装置(ECU)のメモリへのデータ書き込み処理に要する全体の時間を短縮することができる。

図面の簡単な説明

0009

本実施形態に係る制御装置の構成例を示す図である。
データ書き込み処理の例を示すシーケンスチャートである。
書込装置におけるデータ書き込み処理の例を示すフローチャートである。
ECUのCPU(Central Processing Unit)におけるデータ書き込み処理の例を示すフローチャートである。

実施例

0010

以下、図面を参照しながら、本発明に係る実施形態を説明する。

0011

図1は、本実施形態に係る制御装置の構成例を示す図である。

0012

車両用の制御装置の一例であるECU20は、工場において、ECU20に必要なデータを書き込むための装置である書込装置10からデータが書き込まれる。ECU20に必要なデータは、例えば、エンジン制御プログラムエンジン制御に係るキャリブレーションデータである。書込装置10は、通信ネットワークの例であるCAN(Controller Area Network)12を介して、ECU20にデータを書き込む。

0013

ECU20は、通信I/F(Interface)22、DMAC(Direct Memory Access Controller)26、フラッシュメモリ28、RAM(Random Access Memory)24、及び、CPU30を備える。

0014

通信I/F22及びDMAC26は、第1バス40を介して、双方向通信可能に接続されている。CPU30、DMAC26、フラッシュメモリ28及びRAM24は、第2バス42を介して、双方向通信可能に接続されている。第2バス42は、第1バス40よりも通信速度が高速である。

0015

通信I/F22は、CAN12の通信プロトコルに従うデータの送受信を制御するI/Fである。通信I/F22は、通信バッファ23を備えており、書込装置10からCAN12を介して送信されたフレームデータを、いったん通信バッファ23に格納する。

0016

フラッシュメモリ28(本発明の第1記憶部として機能)は、CPU30から読み出されるエンジン制御プログラム及びキャリブレーションデータ等が格納される不揮発性メモリである。なお、フラッシュメモリ28の代わりに、例えば、SRAM(Static RAM)又はEEPROM(Electrically Erasable Programmable Read−Only Memory)などの不揮発性メモリを用いてもよい。

0017

RAM24(本発明の第2記憶部として機能)は、CPU30から実行されるプログラム及びデータが一時的に格納されるメモリである。RAM24は、揮発性メモリ又は不揮発性メモリの何れであってもよいが、I/O速度がフラッシュメモリ28よりも速い。

0018

DMAC26は、通信バッファ23に格納されたデータのRAM24への転送を制御する。DMAC26がRAM24への転送を制御することにより、CPU30のI/O制御に係る負荷が軽減される。

0019

車両走行時においては、CPU30は、フラッシュメモリ28に格納されたプログラム及びデータを実行することにより、ECU20(本発明の制御部として機能)が有する機能を実現する。

0020

しかし、本実施形態では、CPU30は、工場等におけるECU20の生産工程において、フラッシュメモリ28へのデータ書き込み処理を実現するプログラム(「フラッシュライトプログラム」という)を実行する。フラッシュライトプログラムは、ECU20の所定の不揮発性メモリに格納されており、CPU30が書込装置10から工場モード開始要求を受信することによって実行される。したがって、フラッシュライトプログラムは、通常の車両走行時には実行されない。また、ECU20の生産工程において、RAM24には、RAM第1領域50A及びRAM第2領域50Bの2つの転送先領域が確保される。

0021

ECU20の生産工程において、CPU30は、DMAC26に対して、書込装置10から送信されるデータブロックの転送先として、一方の転送先領域(例えばRAM第1領域50A)を指定する。DMAC26は、書込装置10から送信されたデータブロックを、一方の転送先領域(例えばRAM第1領域50A)に転送する。DMAC26は、1つのデータブロック分を一方の転送先領域に転送し終えた場合、その旨をCPU30に通知する。CPU30は、その通知を受けて、一方の転送先領域に転送された1つ分のデータブロックの検算値(例えばチェックサム)を書込装置10へ送信する。

0022

書込装置10は、CPU30から送信された検算値が適正か否かを判定し、当該検算値が適正であると判定した場合、次のデータブロックを送信する前に、CPU30に対してブロック送信開始要求を送信する。例えば、書込装置10は、CPU30へ送信したデータブロックの検算値を保持しておき、CPU30から送信された当該データブロックの検算値と一致するか否を判定する。

0023

CPU30は、一方の転送先記憶領域(例えばRAM第1領域50A)に所定数のデータブロックが転送され、かつ、書込装置10からブロック送信開始要求を受信した場合、DMAC26に対して、データブロックの転送先として、他方の転送先領域(例えばRAM第2領域50B)を指定する。

0024

DMAC26は、CPU30から、上記の他方の転送先領域の指定を受けた場合、フラッシュメモリ28のコントローラ(「フラッシュメモリコントローラ」という)に対して、一方の転送先領域内の所定数のデータブロックをフラッシュメモリ28へ書き込む旨の指示(「フラッシュライト指示」という)を発行する。

0025

なお、DMAC26は、CPU30からの転送先領域の指定を受けること無く、例えば、転送先領域に所定数のデータブロックを転送し終えた場合に、フラッシュライト指示を発行する構成であってもよい。

0026

上記構成によれば、他方の転送先領域に転送される最初のデータブロックに係るブロック送信開始要求の受信がトリガーとなって、データブロックの転送先が他方の転送先領域に切り替えられ、一方の転送先領域内の所定数のデータブロックがフラッシュメモリ28に書き込まれる。ブロック送信開始要求は、書込装置10がECU20に対して次のデータブロックを送信しても良いか否かを問い合わせるための情報であり、書込装置10からECU20に対して転送先領域の切り換えを指示するための情報ではない。したがって、書込装置10とCPU30との間において、転送先領域を切り換えるための情報のやりとりが不要となり、その結果、書込装置10からECU20へのデータ送信に要する時間が短縮される。また、書込装置10側でCPU30から送信された検算値に基づくデータブロックの破損をチェックすることにより、CPU30の処理負荷が軽減され、その結果、フラッシュメモリ28へのデータ書き込みに要する時間が短縮される。これらの短縮により、フラッシュメモリ28へのデータ書き込み処理の全体の時間が短縮され、ECU20の生産効率が向上する。

0027

書込装置10は、データブロックを複数のフレームに分割して順に送信する。DMAC26は、書込装置10から送信された複数のフレームを、受信した順に、CPU30から指定された転送先領域へ転送する。

0028

上記構成によれば、データブロックにおけるフレームの位置を示す番号情報を不要にできる。これにより、書込装置10からECU20へのデータ送信量を低減することができる。

0029

次に、ECU20の生産工程における、ECU20へのデータ書き込み処理の具体例を、図2を参照しながら説明する。本実施形態では、RAM第1領域50A及びRAM第2領域50Bのサイズは、それぞれ、16ブロックである。1ブロックのサイズは256フレームである。1フレームのサイズは8Byteである。

0030

図2は、データ書き込み処理の例を示すシーケンスチャートである。

0031

まず、書込装置10は、CPU30に対して工場モード開始要求を送信する(ST10)。

0032

次に、CPU30は、ST10の工場モード開始要求を受信すると、工場モードを開始する。すなわち、上記のフラッシュライトプログラムが実行される。そして、CPU30は、書込装置10に対して工場モード開始応答を送信する(ST12)。

0033

書込装置10は、ST12の工場モード開始応答を受信すると、第1ブロックに係る開始処理として、CPU30に対してブロック送信開始要求を送信する(ST16)。

0034

CPU30は、ST16のブロック送信開始要求を受信すると、DMAC26に対して、これから通信バッファ23に格納される256×16個分(つまり16ブロック分)のフレームの転送先領域として、RAM第1領域50Aを指定する(ST18)。この転送先領域を切り換える処理を、「転送先切替処理」という。

0035

次に、CPU30は、書込装置10に対してブロック送信開始応答を送信する(ST20)。このとき、CPU30は、ブロック送信開始要求の受信数カウントする。

0036

書込装置10は、ST20のブロック送信開始応答を受信すると、第1ブロックを複数のフレームに分割して、順次、通信I/F22へ送信する。DMAC26は、通信バッファ23に格納されたフレームを、受信した順に、転送先領域であるRAM第1領域50Aへ転送する(D1)。

0037

DMAC26は、256個のフレーム(第1ブロック分)を、RAM第1領域50Aへ転送し終えると、完了通知をCPU30へ送信する(ST21)。

0038

CPU30は、ST21の完了通知を受信すると、RAM第1領域50Aに転送された第1ブロックに係る検算値を算出する。そして、CPU30は、その算出した検算値を書込装置10へ送信する(ST22)。検算値は、例えば、第1ブロック分のデータのチェックサム値である。また、CPU30は、DMAC26からの完了通知の受信数をカウントする。

0039

書込装置10は、ST22の第1ブロックに係る検算値を受信すると、その受信した検算値が適正か否かを判定する(ST24)。例えば、書込装置10は、受信した検算値が、送信した第1ブロックに係る予め保持する検算値と一致するならば適正と判定する一方、検算値と不一致ならば不適正と判定する。その検算値が不適正と判定した場合、書込装置10は、当該データ書き込み処理を中止する。RAM24に格納されたデータが破損しているからである。

0040

その検算値が正しいと判定した場合、書込装置10は、次の第2ブロックに係る処理として、CPU30に対してブロック送信開始要求を送信する。第2ブロックに係る処理は、上述の第1ブロックに係る処理と同様であるので説明を省略し、第16ブロックに係る処理(D16)の以後について説明する。

0041

DMAC26は、第16ブロックをRAM第1領域50Aへ転送し終えると、つまり、第16ブロックに係る受信フレーム数が「256個」に到達すると、完了通知をCPU30へ送信する(ST30)。

0042

CPU30は、ST30の完了通知を受信すると、RAM第1領域50Aに格納された第16ブロックに係る検算値を算出する。そして、CPU30は、その算出した検算値を書込装置10へ送信する(ST32)。また、CPU30は、DMAC26から受信した完了通知の数をカウントする。その結果、完了通知の数がRAM第1領域50Aのサイズに相当する「16個」に到達するので、CPU30は、RAM第1領域50Aに、ブロックデータ限度いっぱいに格納されていることがわかる。

0043

書込装置10は、第16ブロックの検算値が正しいと判定した場合(ST34)、第17ブロックに係る処理として、CPU30に対してブロック送信開始要求を送信する(ST44)。

0044

CPU30は、上述のとおりRAM第1領域50Aにブロックデータが限度いっぱいに格納されていることがわかっているので、ST44のブロック送信開始要求を受信すると、転送先切替処理を実行する。すなわち、CPU30は、DMAC26に対して、これから通信バッファ23に格納される256×16個分(つまり16ブロック分)のフレームの転送先領域として、RAM第2領域50Bを指定する(ST46)。これにより、第17〜第32ブロックの転送先は、RAM第2領域50Bへ切り替わる。

0045

次に、CPU30は、書込装置10に対して、ブロック送信開始応答を送信する(ST50)。CPU30は、下記のフラッシュライト処理の完了通知(ST54)を待つことなく、このブロック送信開始応答を送信する。これから受信する第17〜第32ブロックは、切り換え後のRAM第2領域50Bに転送されるからである。

0046

書込装置10は、ST50のブロック送信開始応答を受信すると、第17ブロックを複数のフレームに分割して、順次、通信I/F22へ送信する。DMAC26は、通信バッファ23に格納されたフレームを、受信した順に、転送先領域であるRAM第2領域50Bへ転送する(D17)。

0047

なお、DMAC26は、受信フレーム数が「256×16個分」に到達したので、前回のフラッシュライト処理が完了している場合、フラッシュメモリコントローラに対して、RAM第1領域50Aに格納された第1〜第16ブロックをフラッシュメモリ28へ書き込む旨の指示(フラッシュライト指示)を発行する(ST52)。

0048

ST52の指示を受けたフラッシュメモリコントローラは、RAM第1領域50Aの第1〜第16ブロックをフラッシュメモリ28へ書き込む処理を開始する(W1)。このRAM第1領域50A又はRAM第2領域50Bのデータをフラッシュメモリ28に書き込む処理を、フラッシュライト処理という。フラッシュメモリコントローラは、当該フラッシュライト処理を完了すると、CPU30に対して完了通知を発行する(ST54)。

0049

上述の処理によれば、RAM第1領域50A又はRAM第2領域50Bに格納済みのデータをフラッシュメモリ28に書き込む処理と、書込装置10から送信されるデータをRAM第1領域50A又はRAM第2領域50Bに転送する処理とを、並列に実行することができる。

0050

次に、書込装置10から最終ブロック分のフレームが送信された後の処理について述べる。

0051

書込装置10は、最終ブロック分のデータを送信し終えた後、CPU30に対して、全ブロック検証要求を送信する(ST72)。

0052

CPU30は、ST72の全ブロック検証要求を受信すると、フラッシュメモリコントローラから最終データに係る完了通知(ST74)が送信されてくるのを待つ。

0053

CPU30は、ST74の完了通知を受信すると、フラッシュメモリ28に全ブロックが正しく書き込まれているか否かを検証し、その検証結果を含む全ブロック検証応答を書込装置10へ送信する(ST76)。

0054

書込装置10は、ST76の全ブロック検証応答を受信すると、当該応答に含まれる検証結果を確認する(ST78)。ST78の検証結果が「異常」である場合、書込装置10は、当該データ書き込み処理を異常終了する。フラッシュメモリ28に書き込まれたデータが破損しているからである。

0055

ST78の検証結果が「正常」である場合、書込装置10は、CPU30に対して工場モード終了要求を送信する(ST80)。

0056

CPU30は、工場モード終了要求を受信すると、工場モードを終了し、書込装置10に対して工場モード終了応答を送信する(ST82)。

0057

書込装置10は、ST82の工場モード終了要求を受信すると、当該データ書込処理を正常終了する。

0058

図3は、書込装置10におけるデータ書き込み処理の例を示すフローチャートである。

0059

書込装置10は、ECU20に対して工場モード開始要求を送信する(ST100)。

0060

次に、書込装置10は、ECU20から、ST100に対する工場モード開始応答を受信した場合、ECU20に対してブロック送信開始要求を送信する(ST102)。

0061

次に、書込装置10は、ECU20から、ST102に対するブロック送信開始応答を受信した場合、ECU20に対してフレームを順次送信する(ST104)。

0062

次に、書込装置10は、1ブロック分のフレームを送信し終えた後、ECU20から1ブロック分の検算値が送信されてくるまで待機する(ST106:NO)。

0063

書込装置10は、当該検算値を受信した場合(ST106:YES)、ST104で送信した1ブロック分の検算値と、ST106で受信した検算値とが一致するか否かを判定する(ST108)。

0064

ST108の判定結果が「不一致」である場合(ST108:NO)、書込装置10は、データ書き込み処理を異常終了する。

0065

一方、ST108の判定結果が「一致」である場合(ST108:YES)、書込装置10は、全ブロック分を送信し終えたか否かを判定する(ST110)。

0066

ST110の判定の結果、未送信のブロックが残っている場合(ST110:NO)、書込装置10は、ST102に戻り、残りの未送信のブロックを送信する。

0067

ST110の判定の結果、全ブロックの送信を送信し終えている場合(ST110:YES)、書込装置10は、ECU20に対して全ブロック検証要求を送信する(ST112)。

0068

次に、書込装置10は、ECU20から全ブロック検証応答を受信した後、全ブロック検証応答の結果が正常であるか否かを判定する(ST114)。

0069

ST114の判定結果が「異常」である場合(ST114:NO)、書込装置10は、データ書き込み処理を異常終了する。

0070

ST114の判定結果が「正常」である場合(ST114:YES)、書込装置10は、ST116において、ECU20に対して工場モード終了要求を送信する。

0071

書込装置10は、ECU20から工場モード終了応答を受信した後(ST116)、データ書き込み処理を正常終了する。

0072

図4は、CPU30におけるデータ書き込み処理の例を示すフローチャートである。

0073

CPU30は、書込装置10から工場モード開始要求を受信すると、工場モードを開始し、書込装置10に対して工場モード開始応答を送信する(ST200)。

0074

次に、CPU30は、書込装置10からブロック送信開始要求が送信されてきたか否かについて判定する(ST202)。CPU30は、ブロック送信開始要求が送信されていない場合(ST202:NO)、処理をST202の前に戻す。

0075

CPU30は、ブロック送信開始要求を受信した場合(ST202:YES)、DMAC26に対して、これから通信バッファ23に格納される256×16個分のフレームの転送先領域を指定する(ST204)。転送先領域は、図2で説明したように、16ブロック分のデータを受信する毎に、RAM第1領域50A又はRAM第2領域50Bとの間で交互に切り替わる。

0076

次に、CPU30は、書込装置10に対してブロック送信開始応答を送信する(ST206)。

0077

次に、CPU30は、DMAC26から転送先領域への1ブロック分の転送完了通知が送信されてきたか否かについて判定する(ST208)。CPU30は、当該完了通知が送信されていない場合(ST208:NO)、処理をST208の前に戻す。

0078

CPU30は、ST208の完了通知を受信した場合(ST208:YES)、当該完了通知に係る1ブロック分のデータの検算値を算出する(ST210)。そして、CPU30は、その算出した検算値を、書込装置10へ送信する。

0079

次に、CPU30は、転送先領域に16ブロック分のデータが転送されたか否かを判定する(ST212)。CPU30は、転送先領域に未だ16ブロック分のデータが転送されていない場合(ST212:NO)、処理をST202へ戻し、次のブロック送信開始要求が送信されてくるまで待機する。

0080

CPU30は、転送先領域に16ブロック分のデータが転送された場合(ST212:YES)、書込装置10からブロック送信開始要求が送信されてきたか否かを判定する(ST214)。

0081

CPU30は、ブロック送信開始要求を受信した場合(ST214:YES)、処理をST204に戻す。このST204において、CPU30は、DMAC26に対して、これから送信バッファ23に格納される256×16個分のフレームの転送先領域として、前回と異なる転送先領域を指示する。これにより、ST214に係るブロックは、切り換え後の転送先領域に転送される。

0082

なお、DMAC26は、CPU30から前回と異なる転送先領域の指示を受信した場合に、フラッシュメモリコントローラに対して、前回の転送先領域内の16ブロック分に係るフラッシュライト指示を発行する。

0083

CPU30は、ブロック送信開始要求が送信されてこない場合(ST214:NO)、書込装置10から全ブロック検証要求が送信されてきたか否かを判定する(ST220)。

0084

CPU30は、書込装置10から全ブロック検証要求が送信されてこない場合(ST220:NO)、データ書込処理を異常終了する。書込装置10からブロック送信開始要求が送信されず、且つ、全ブロック検証要求も送信されない場合、上記ST210で送信した検算値が不一致であったと推定できるからである。すなわち、転送先領域に格納された16ブロック分のデータにエラーが含まれていると推定できるからである。

0085

CPU30は、書込装置10から全ブロック検証要求を受信した場合(ST220:YES)、フラッシュメモリコントローラから最終ブロックに係るフラッシュライト処理の完了通知が送信されてくるのを待つ(ST222)。

0086

CPU30は、最終ブロックに係るフラッシュライト処理の完了通知を受信した後、フラッシュメモリ28に書き込まれた全データを検証し、その検証結果を書込装置10へ送信する(ST224)。検証結果には「正常」又は「異常」の何れかが含まれる。

0087

次に、CPU30は、書込装置10から工場モード終了要求を受信すると、書込装置10に対して工場モード終了応答を送信し、工場モードを終了する(ST226)。

0088

これにより、書込装置10から送信されるフレームをRAM第1領域40A又はRAM第2領域50Bの一方に転送する処理と、RAM第1領域50A又はRAM第2領域50Bの他方に格納済みの所定数のブロックデータをフラッシュメモリ28に書き込む処理と、を並列に実行することができる。これにより、フラッシュメモリ28へのデータ書き込みに要する時間を短縮することができる。

0089

<変形例>
書込装置10からECU20へのデータ送信量を削減することにより、当該送信に要する時間をさらに削減することができる。以下、一例を示す。

0090

データの項目毎にデータ長(「項目データ長」という)が定義されている場合、そのデータ長に満たない部分は所定のデータ(例えば「0xFF」)で埋められる(つまり、パディングされる)。

0091

そこで、書込装置10は、各項目のデータの先頭に当該データの実質のデータ長(「実質データ長」という)を付与し、パディングデータを削除する。そして、書込装置10は、それらパディングデータを削除したデータを連結し、上記図2のように、当該連結データをブロック及びフレームに分割して、ECU20へ順次送信する。

0092

その連結データを受信したECU20は、実質データ長を参照して、項目データを抽出する。そして、ECU20は、項目データ長に満たない部分をパディングして、フラッシュメモリ28に書き込む。

0093

実質データ長はパディングされたデータ長よりも小さいので、これにより、書込装置10からECU20へのデータ送信量、すなわち、当該送信に要する時間がさらに削減される。その結果、ECU20が備えるフラッシュメモリ28へのデータ書き込み処理に要する全体の時間がさらに短縮される。

0094

<効果>
上記実施形態によれば、CPU30は、書込装置10がECU20に対して次のデータブロックを送信しても良いか否かを問い合わせるための情報であるブロック送信開始要求の受信をトリガーとして、転送先領域の切り替え、及び、フラッシュメモリ28への書き込み開始を実行することができる。したがって、書込装置10とCPU30との間において、転送先領域を切り換えるための情報のやりとりが不要となり、その結果、書込装置10からECU20へのデータ送信に要する時間が短縮される。

0095

また、書込装置10側でCPU30から送信された検算値に基づくデータブロックの破損をチェックすることにより、CPU30の処理負荷が軽減さされる。

0096

また、RAM第1領域50A又はRAM第2領域50Bに格納済みのデータをフラッシュメモリ28に書き込む処理と、書込装置10から送信されるデータをRAM第1領域50A又はRAM第2領域50Bに転送する処理とを、並列に実行することができる。

0097

これらの結果、フラッシュメモリ28へのデータ書き込み処理に要する全体の時間が短縮される。ECU20の生産効率が向上する。

0098

注記
上記実施形態は、何れも本発明の実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。

0099

10書込装置
20 ECU
22通信I/F
23通信バッファ
24 RAM
26DMAC
28フラッシュメモリ
30 CPU
40 第1バス
42 第2バス
50A RAM第1領域
50B RAM第2領域

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ