JP2017078897A - プログラム書換システム、プログラム書換装置、及び電子制御装置 - Google Patents

プログラム書換システム、プログラム書換装置、及び電子制御装置 Download PDF

Info

Publication number
JP2017078897A
JP2017078897A JP2015205510A JP2015205510A JP2017078897A JP 2017078897 A JP2017078897 A JP 2017078897A JP 2015205510 A JP2015205510 A JP 2015205510A JP 2015205510 A JP2015205510 A JP 2015205510A JP 2017078897 A JP2017078897 A JP 2017078897A
Authority
JP
Japan
Prior art keywords
data area
data
program
program rewriting
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015205510A
Other languages
English (en)
Inventor
辰也 佐々木
Tatsuya Sasaki
辰也 佐々木
享平 嶌田
Kyohei Shimada
享平 嶌田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2015205510A priority Critical patent/JP2017078897A/ja
Publication of JP2017078897A publication Critical patent/JP2017078897A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】プログラム書換装置から電子制御装置にプログラムデータを効率よく書込むことができるようにする。
【解決手段】プログラム書換装置は、有効データ領域であると判断した場合は、当該有効データ領域の先頭アドレスを特定し、無効データ領域であると判断した場合は、有効データ領域の先頭アドレス及び送信サイズ、並びに当該有効データ領域の各データを送信し、ECUは、プログラム書換装置から受信した情報に基づいて、未使用領域範囲を計算して当該未使用領域へ無効データを書込むと共に有効データ領域の先頭アドレスから有効データを書込んでから書込完了通知を送信する。これにより、プログラム書換装置からECUへ有効データ領域のデータを纏めて送信することができ、送受信時の応答フレームにオーバーヘッドを生じることなくデータを効率良く送信することができる。
【選択図】図5

Description

本発明は、電子制御装置のプログラムを書換えるプログラム書換装置、プログラム書換装置、及び電子制御装置に関する。
電子制御装置のプログラムを書換えるプログラム書換装置として、ブロック単位でプログラムを書換えるものが提案されている(特許文献1参照)。
特開2013−122631号公報
特許文献1のものは、所定のブロック単位でデータの有効/無効を判断するため、ブロック単位でデータを送信して書換えている。この場合、プログラム書換装置からブロック単位を構成するデータを送信フレームにより電子制御装置に送信すると、電子制御装置ではデータを受信したところで応答フレームをプログラム書換装置に通知することで、プログラム書換装置が次のデータを送信することを繰り返す。このため、送受信時の応答フレームにオーバーヘッドを生じている。
また、有効データと無効データの判断処理をプログラムデータの全領域を実施してから送信を開始しているので、電子制御装置はデータ受信後データの復元処理を生じている。
さらに、未使用領域の無効データの書込みを行うためのデータ通信が発生している。
本発明は上記事情に鑑みてなされたもので、その目的は、プログラム書換装置から電子制御装置にプログラムデータを効率よく書込むことができるプログラム書換システム、プログラム書換装置、及び電子制御装置を提供することにある。
請求項1の発明によれば、プログラム書換装置の判断手段がプログラムデータの先頭アドレスから順に有効データ領域か無効データ領域かを判断し、有効データ領域であると判断した場合は、先頭アドレス特定手段が有効データ領域の先頭アドレスを特定する。有効データ領域が終了して無効データ領域となると、判断手段が無効データ領域であると判断し、第1送信手段が有効データ領域の先頭アドレス及び当該有効データ領域の各データを送信する。
電子制御装置の第2受信手段が有効データ領域の先頭アドレス及び当該有効データ領域の各データを受信すると、データ記憶手段が有効データ領域のデータを記憶する。一方、計算手段は、第2受信手段が受信した先頭アドレスと前回受信した有効データ領域の末尾アドレスに基づいて無効データ領域範囲を計算する。プログラム書込手段は、プログラム記憶手段に前回書込んだ有効データ領域に続けて計算手段が計算した無効データ領域範囲に無効データを書込むと共に当該無効データ領域に続けて今回の有効データ領域にデータ記憶手段が記憶しているデータを書込む。そして、第2送信手段は、プログラム書込手段による有効データ領域へのデータの書込みが終了した場合は書込完了通知を送信する。
プログラム書換装置の第1受信手段は、書込完了通知を受信したときは、電子制御装置による無効データ領域及び有効データ領域へのデータ書込みが完了したことを確認することができる。
以上のようにして、プログラム書換装置は、プログラムデータの全ての有効データ領域の先頭アドレス及び当該有効データ領域の各データを電子制御装置に順に送信し、電子制御装置は、先頭アドレスに基づいて無効データ領域を特定し、当該無効データ領域に無効データを書込むと共に有効データ領域の先頭アドレスから有効データを書込むことで、プログラムデータの全てを書込むことができる。
一実施形態における全体の電気的構成を示すブロック図 有効データ領域と無効データ領域とを示す図 プログラム書換装置によるリプログ処理を示すフローチャート ECUによるリプログ処理を示すフローチャート プログラム書換装置とECUの動作シーケンスを示す図 プログラム書換装置からECUへのデータ送信動作を示す図 プログラム書換装置とECUの動作シーケンスを示す図
以下、本発明の一実施形態について図面を参照して説明する。
車両1には、図1に示すように、エンジンを制御するエンジンECU、カーエアコンを制御するエアコンECU、ブレーキの作動を制御するブレーキECU等の複数のECU2(電子制御装置に相当)が搭載されている。ECU2は、車載LAN3を通じてコネクタ4と接続されている。ECU2はマイクロコンピュータ5を主体として構成されている。マイクロコンピュータ5は、CPU6(第2受信手段、計算手段、プログラム書込手段、第2送信手段に相当)、RAM7(データ記憶手段に相当)、例えばフラッシュメモリからなるPROM8等から構成されている。CPU6は、入力回路9、出力回路10、外部通信インターフェース11などの周辺回路と接続されており、PROM8に記憶されているプログラムに基づいて動作する。
プログラム書換装置12は、コネクタ4に接続された状態でECU2との間で情報を送受信する外部装置であり、ECU2と共にプログラム書換システムを構成する。プログラム書換装置12は、CPU13(判断手段、先頭アドレス特定手段、第1送信手段、第1受信手段、送信サイズ特定手段に相当)を主体として構成されており、PROM8(プログラム記憶手段に相当)に記憶されているプログラムを書換える場合は、ECU2に対して新規のプログラムデータ(以下、リプログデータ)をシリアル通信により送信する。
ECU2のCPU6は、外部通信インターフェース11を通じてプログラム書換装置12との間でシリアル通信を行い、リプログデータを受信してRAM7に一時的に書込む。
リプログデータは、図2に示すように、有効データ領域と無効データ領域とからなり、有効データ領域と次の有効データ領域との間が未使用領域である無効データ領域となる。無効データ領域は無効データが書込まれている領域であり、本実施形態では、無効データとして16進数で「FF」を書込んでいる。尚、無効データとして16進数で「00」を書込む場合もあるし、他のデータを書込む場合もある。
ECU2は、リプログ指令操作を受付けると、プログラム書換装置12から車載LAN3を介してECU2にリプログデータを送信する。
次に、プログラム書換装置12からECU2にリプログデータを送信する際のデータ通信について説明する。
プログラム書換装置12は、リプログ指令操作を受付けると、図3に示すように、例えば図示しない記憶装置に予め記憶されているリプログデータを取得し(S101)、当該リプログデータの先頭アドレスから順に有効データ領域かを判断する(S102)。具体的には、16進数で「FF」となるデータが連続するバイト数を特定し、その連続バイト数が4バイト未満かを判断する。つまり、有効データ領域の場合は、16進数で「FF」となるデータが4バイト連続することはないので、4バイト未満の場合は有効データ領域であると判断するのである。尚、無効データ領域に「00」を書込むような場合は、16進数で「00」となるデータが連続するバイト数を判断することになる。
有効データ領域であると判断した場合は(S102:YES)、当該有効データ領域の先頭となる該当行アドレスを先頭アドレスとして記憶する(S103)。このように該当行アドレスを先頭アドレスとして記憶するのは有効データ領域であると最初に判断した場合のみである。
次に、無効データ領域かを判断する(S104)。具体的には、16進数で「FF」となるデータが4バイト以上連続した場合は、無効データ領域であると判断する。
無効データ領域でないと判断した場合は(S104:NO)、以上の動作を繰返し、無効データ領域であると判断した場合は(S104:YES)、有効データ領域のサイズである送信サイズを求め、上述ようにして特定した先頭アドレスと送信サイズを送信する(S105)。送信サイズを求めるには、有効データ領域の末尾アドレスから当該有効データ領域の先頭アドレスの一つ前のアドレスを差し引いて求める。
次に、先頭アドレスから送信サイズ分のデータを送信し(S106)、書込完了通知を受信したかを判断する(S107)。尚、図3のフローチャートでは、有効データ領域のデータを送信した後に、書込完了通知を受信したかを判断するようになっているが、後述するように先頭アドレスと送信サイズを送信した直後に書込完了通知を受信する場合があることから、実際には、有効データ領域のデータを送信する前であっても書込完了通知を受信可能となっている。
ECU2は、図4に示すように、先頭アドレスと送信サイズを受信すると(S201:YES)、送信サイズがRAM7の空き容量以上かを判断する(S202)。このRAM7は、プログラム書換装置12から連続して受信するデータを一時的に記憶するためのメモリである。RAM空き容量値が送信サイズ以下の場合は(S202:YES)、有効データ領域の受信が終了したかを判断する(S205)。具体的には、受信したデータは初受信か、またはデータのアドレスが連続しているかを判断する。つまり、有効データ領域のデータを受信開始した場合は、受信したデータは初受信となり、有効データ領域のデータの受信中は受信したデータのアドレスは連続していることから、このような条件を満足する場合は、有効データ領域のデータを受信していると判断するのである。
ここで、プログラム書換装置12とECU2との間のデータの送受信は、図6に示すように、プログラム書換装置12が送信開始を示すFirst Frame(FF)を送信すると、ECU2は、自己の受信性能を示すFlow Control(FC)を送信する。つまり、プログラム書換装置12に対して自己の受信性能を通知する。そして、プログラム書換装置12は、受信した受信性能に従ってデータをConsecutive Flame(CF)で送信する。この場合、RAM空き容量が送信サイズ以下の場合は受信性能が低いことから、FCによりプログラム書換装置12に対してデータの送信を待機することを要求する。つまり、RAM空き容量が送信サイズに対して不足している場合は受信したデータを連続してRAM7に記憶することができないことから、プログラム書換装置12に対してデータの送信を待機することを要求し、RAM空き容量を確保し次第プログラム書換装置12に対してデータ送信を要求するのである。
以上のようにして、有効データ領域のデータの受信が終了すると(S205:YES)、未使用領域への無効データ書込範囲を計算する(S206)。つまり、前回受信した有効データ領域の末尾アドレスと今回受信した有効データ領域の先頭アドレスとの間は未使用領域である無効データ領域であることから、PROM8における無効データ領域に無効データである16進数の「FF」を書込むと共に今回受信した有効データ領域のデータを先頭アドレスから書込む(S207)。
尚、図2に示すようにリプログデータの先頭から有効データ領域のデータを取得した場合は、前回受信した有効データ領域が存在しないことから、先頭アドレスから有効データ領域にデータを書込むことになる。
次に、書込完了通知を送信済かを判断する(S208)。この場合、書込完了通知を送信済みでないことから(S208:NO)、書込完了通知を送信する(S209)。
プログラム書換装置12は、書込完了通知を受信すると(S107:YES)、リプログデータの末尾かを判断し(S108)、末尾でない場合は(S108:NO)、上述した動作を繰返して実行し、末尾となった場合は(S108:YES)、動作を終了する。
一方、ECU2は、有効データ領域の先頭アドレスと送信サイズを受信する毎に上記動作を繰返す。
以上のような動作の結果、常にRAM空き容量が送信サイズ以下の場合は、図5に示すようなシーケンスを実行するようになる。つまり、プログラム書換装置12は、ECU2が無効データ領域及び有効データ領域の書込みを完了するまで待機してから次の有効データ領域を探索する。
さて、ECU2は、先頭アドレスと送信サイズを受信した場合に(S201:YES)、RAM空き容量が送信サイズを上回っている場合は(S202:NO)、RAM空き容量値を更新する(S203)。つまり、今回受信する有効データ領域分だけRAM空き容量を減算することで、次に受信する有効データ領域のデータが受信可能かを計算可能とするのである。
次に、書込完了通知を送信してから(S204)、ステップS205へ移行する。つまり、RAM空き容量が送信サイズを上回っている場合は、有効データ領域の各データを受信してRAM7に記憶することができることから、先頭アドレスと送信サイズを受信したところで書込完了通知を直ちに送信するのである。
プログラム書換装置12は、上述したように図3のフローチャートでは動作順番が逆になっているが、有効データ領域の先頭アドレスと送信サイズを送信してから(S105)、書込完了通知を受信した場合は(S107:YES)、有効データ領域のデータを送信してから(S106)、リプログデータの末尾かを判断し(S108)、末尾でない場合は(S108:NO)、ステップS102に移行することにより上述した動作を繰返して実行し、末尾となった場合は(S108:YES)、動作を終了する。
従って、動作開始時にRAM空き容量が有効データ領域の合計容量を上回っている場合は、図7に示すようなシーケンスを実行することになる。つまり、プログラム書換装置12は、リプログデータのデータ送信後に書込完了通知を受信するまで待機することなくリプログデータのデータ送信前に書込完了通知を受信して次の動作を実行することができるので、プログラム書換装置12とECU2とが並列処理を実行するようになり、リプログデータの書換時間を短縮することができる。
このような実施形態によれば、次のような効果を奏することができる。
プログラム書換装置12は、有効データ領域であると判断した場合は、当該有効データ領域の先頭アドレスを特定し、無効データ領域であると判断した場合は、有効データ領域の先頭アドレス及び当該有効データ領域の各データを送信し、ECU2は、有効データ領域の先頭アドレス及び当該有効データ領域の各データを受信すると、未使用領域範囲を計算して当該未使用領域へ無効データを書込むと共に有効データ領域を先頭アドレスから書込んでから書込完了通知を送信するので、プログラム書換装置12からECU2へ有効データ領域のデータを纏めて送信することができ、送受信時の応答フレームにオーバーヘッドを生じることなくデータを効率良く送信することができる。
プログラム書換装置12が、有効データと無効データの判断処理をリプログデータに対して部分的に実行して送信するので、ECU2は、復元処理が不要になり通信時間を短縮することができる。
さらに、プログラム書換装置12は、有効データ領域の先頭アドレス及び当該有効データ領域の各データを送信し、ECU2は、有効データ領域のデータを受信すると、未使用領域に無効データを書込むと共に有効データ領域の先頭アドレスから当該有効データ領域の各データを書込むので、未使用領域の無効データの書込みを行うためのデータ通信も不要である。
加えて、プログラム書換装置12は、有効データ領域の先頭アドレスを送信する場合は、当該有効データ領域の送信サイズを同時に送信し、ECU2は、送信サイズに基づいてRAM空き容量が送信サイズを上回っている場合は書込完了通知を直ちに送信するので、プログラム書換装置12とECU2とが並列動作を実行可能となり、リプログデータの書換時間を一層短縮することができる。
(その他の実施形態)
本発明は、上記実施形態に限定されることなく、次のように変形または拡張できる。
上記実施形態では、プログラム書換装置12は、有効データ領域の先頭アドレスを送信する場合は、当該有効データ領域の送信サイズも同時に送信し、ECU2は、受信した送信サイズに基づいてRAM空き容量が送信サイズを上回っていた場合は書込完了通知を直ちに送信するようにしたが、プログラム書換装置12が送信サイズを送信せず、ECU2がRAM空き容量と送信サイズとを比較しないようにしても良い。つまり、プログラム書換装置12が送信サイズを送信するのは、ECU2が有効データ領域のデータを受信するのに先立って書込完了通知を送信することを可能とするためであり、このような動作を省略するようにしても良い。要するに、本発明は、プログラム書換装置12からECU2に有効データ領域のデータを纏めて送信することに特徴を有することから、斯様な特徴を実施するための構成以外の構成は省略可能である。
図面中、2はECU(電子制御装置)、6はCPU(第2受信手段、計算手段、プログラム書込手段、第2送信手段)、7はRAM(データ記憶手段)、8はPROM(プログラム記憶手段)、12はプログラム書換装置、13はCPU(判断手段、先頭アドレス特定手段、第1送信手段、第1受信手段、送信サイズ特定手段)である。

Claims (4)

  1. プログラム書換装置(12)から電子制御装置(2)にプログラムデータを送信することによりプログラム記憶手段(8)に記憶されているプログラムを書換えるプログラム書換システムにおいて、
    前記プログラム書換装置は、
    プログラムデータの先頭アドレスから順に有効データ領域か無効データ領域かを判断する判断手段(13)と、
    前記判断手段が有効データ領域であると判断した場合は、当該有効データ領域の先頭アドレスを特定する先頭アドレス特定手段(13)と、
    前記判断手段が無効データ領域であると判断した場合は、前記先頭アドレス特定手段が特定した有効データ領域の先頭アドレス及び当該有効データ領域の各データを送信する第1送信手段(13)と、
    書込完了通知を受信する第1受信手段(13)と、を備え、
    プログラムデータの全ての送信を終了するまで前記各手段による動作を繰返し、
    前記電子制御装置は、
    前記第1送信手段が送信した有効データ領域の先頭アドレス及び当該有効データ領域の各データを受信する第2受信手段(6)と、
    前記第2受信手段が受信した有効データ領域のデータを記憶するデータ記憶手段(7)と、
    前記第2受信手段が受信した先頭アドレスと前回受信した有効データ領域の末尾アドレスに基づいて無効データ領域範囲を計算する計算手段(6)と、
    前記プログラム記憶手段に前回書込んだ有効データ領域に続けて前記計算手段が計算した無効データ領域範囲に無効データを書込むと共に前記先頭アドレスから有効データ領域のデータを書込むプログラム書込手段(6)と、
    前記プログラム書込手段による有効データ領域の書込みが終了した場合は、書込完了通知を送信する第2送信手段(6)と、を備えたプログラム書換システム。
  2. 前記プログラム書換装置は、
    前記判断手段が無効データ領域であると判断した場合は、有効データ領域の送信サイズを特定する送信サイズ特定手段(13)を備え、
    前記第1送信手段は、前記送信サイズ特定手段が特定した送信サイズを送信し、
    前記電子制御装置の前記第2受信手段は、送信サイズを受信し、
    前記第2送信手段は、前記第2受信手段が受信した送信サイズ分のデータを前記データ記憶手段の空き領域に記憶できる場合は、書込完了通知を直ちに送信する請求項1に記載のプログラム書換システム。
  3. 請求項1または2のプログラム書換システムにおいて使用されるプログラム書換装置。
  4. 請求項1または2のプログラム書換システムにおいて使用される電子制御装置。
JP2015205510A 2015-10-19 2015-10-19 プログラム書換システム、プログラム書換装置、及び電子制御装置 Pending JP2017078897A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015205510A JP2017078897A (ja) 2015-10-19 2015-10-19 プログラム書換システム、プログラム書換装置、及び電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015205510A JP2017078897A (ja) 2015-10-19 2015-10-19 プログラム書換システム、プログラム書換装置、及び電子制御装置

Publications (1)

Publication Number Publication Date
JP2017078897A true JP2017078897A (ja) 2017-04-27

Family

ID=58666969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015205510A Pending JP2017078897A (ja) 2015-10-19 2015-10-19 プログラム書換システム、プログラム書換装置、及び電子制御装置

Country Status (1)

Country Link
JP (1) JP2017078897A (ja)

Similar Documents

Publication Publication Date Title
JP5939305B2 (ja) 情報処理装置,並列計算機システム及び情報処理装置の制御方法
TWI602124B (zh) 用於風扇轉速控制的基板管理控制器韌體更新方法
CN104391862A (zh) 一种缓存数据更新方法及装置
WO2015196464A1 (zh) 一种控制器、闪存装置和将数据写入闪存装置的方法
WO2020173092A1 (zh) 数据处理方法、独立硬盘冗余阵列控制器和数据存储系统
JP5522155B2 (ja) プログラム書換方法及びプログラム書換装置,電子制御装置
JP5621918B2 (ja) 情報処理装置、並列計算機システムおよび演算処理装置の制御方法
US10536290B2 (en) Data transmission system, management device, non-transitory recording medium recording data transmission program, and data transmission method
JP6115482B2 (ja) 電子制御装置
US20110246667A1 (en) Processing unit, chip, computing device and method for accelerating data transmission
JP2019016086A (ja) 自動車用電子制御装置
US20100312924A1 (en) Network processor, reception controller and data reception processing method performing direct memory access transfer
JP2015225574A (ja) 制御装置、制御方法及びプログラム
JP6030485B2 (ja) 電子制御装置
JP2016170471A (ja) 電子制御装置
JP2017078897A (ja) プログラム書換システム、プログラム書換装置、及び電子制御装置
US20160085683A1 (en) Data receiving device and data receiving method
CN109697077B (zh) 硬盘固件启动方法、装置及设备
US20150143015A1 (en) Dma controller and data readout device
JP6717184B2 (ja) 車載制御装置
JP5933110B2 (ja) 通信装置及び制御装置及びプログラム
CN109471651A (zh) 一种固件升级方法、网关设备及固件升级系统
KR101805866B1 (ko) 소프트웨어 디파인드 라디오를 위한 전자 장치 및 그 스케줄링 방법
CN112948291A (zh) 数据传输方法、电子设备和可读存储介质
KR102030167B1 (ko) 임베디드 기기를 위한 디버깅 방법