[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3881069B2 - 電子装置 - Google Patents

電子装置 Download PDF

Info

Publication number
JP3881069B2
JP3881069B2 JP26716596A JP26716596A JP3881069B2 JP 3881069 B2 JP3881069 B2 JP 3881069B2 JP 26716596 A JP26716596 A JP 26716596A JP 26716596 A JP26716596 A JP 26716596A JP 3881069 B2 JP3881069 B2 JP 3881069B2
Authority
JP
Japan
Prior art keywords
data
rewrite
electronic device
external device
control program
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.)
Expired - Lifetime
Application number
JP26716596A
Other languages
English (en)
Other versions
JPH10111863A (ja
Inventor
隆司 石田
芳明 木田
由香里 寺田
義博 川瀬
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 JP26716596A priority Critical patent/JP3881069B2/ja
Priority to US08/934,220 priority patent/US6275911B1/en
Priority to KR1019970047921A priority patent/KR100258147B1/ko
Publication of JPH10111863A publication Critical patent/JPH10111863A/ja
Priority to US09/625,403 priority patent/US6477626B1/en
Priority to US09/625,402 priority patent/US6249848B1/en
Priority to US09/843,821 priority patent/US6505280B2/en
Priority to US10/062,541 priority patent/US6957296B2/en
Priority to US10/270,578 priority patent/US20030041217A1/en
Priority to US11/217,385 priority patent/US7493455B2/en
Application granted granted Critical
Publication of JP3881069B2 publication Critical patent/JP3881069B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電気的にデータの書き換えが可能な不揮発性メモリに格納された制御プログラムや制御データを、該不揮発性メモリを電子装置に搭載した状態で書き換える技術に関する。
【0002】
【従来の技術】
従来より、例えば特開平4−114289号公報に開示されているように、制御プログラムや制御データを記憶しておくための記憶媒体として、電気的にデータの書き換えが可能なEEPROMやフラッシュEEPROM(以下、フラッシュROMという)等の不揮発性メモリを備え、この不揮発性メモリを組み付けた状態(実装した状態)で、制御プログラムや制御データを書き換え可能に構成された電子装置が提案されている。また、このような電子装置によれば、その製造工程において、不揮発性メモリを装置に実装してから、制御プログラム等を新規に書き込むことができる。
【0003】
即ち、この種の電子装置では、別途用意された外部装置が接続されて、この外部装置から所定の指令を受けると、上記外部装置からシリアルデータとして送信されて来る制御プログラムや制御データを受信し、その受信したデータを不揮発性メモリに順次書き込むようにしている。
【0004】
【発明が解決しようとする課題】
ところで、このような電子装置においては、外部装置との間で行うデータ通信の通信速度を上げるほど、通信に要する時間が短くなり、その分、不揮発性メモリ内のデータを書き換えるのに要するトータル時間を短縮することができる。
【0005】
しかしながら、上記従来の電子装置では、外部装置からのデータを受信して不揮発性メモリに書き込む、といった一連の処理を行うためのプログラムやハードウェアを、市場への供給後に容易に変更することはできず、この結果、外部装置との通信速度を変更して不揮発性メモリ内のデータを書き換えるのに要する時間を短縮する、といった手法を採ることができなかった。
【0006】
一方、従来より、この種の電子装置では、不揮発性メモリに一度に書き込むことが可能なビット数(例えば1バイトであり、以下、1バイトとして説明する)分のデータを外部装置から受信すると、その受信した1バイトデータを以下の手順で不揮発性メモリに書き込むようにしている。即ち、受信したデータを不揮発性メモリに書き込む処理を行った後、正常に書き込めたか否かをベリファイチェックし、このベリファイチェックにより正常に書き込めたと判定するまで、所定回数を限度に、データの書き込み処理を繰り返す。そして、受信したデータを正常に書き込むことができたならば、外部装置から次の1バイトデータが送信されて来るのを待つようにしている。
【0007】
このため、上記従来の電子装置に接続される外部装置は、図9に例示するように、1バイトデータDを予め定められた時間間隔Tで順次送信するようにしており、しかも、その時間間隔(送信間隔)Tは、電子装置側にてデータの書き込みに要する最大時間tmax よりも大きく設定されている。尚、図9において、左から右方向の矢印「→」は、外部装置から電子装置への1バイトデータDの送信を示している。
【0008】
つまり、この種の電子装置において、受信したデータの書き込みに要する時間(ベリファイチェックにより正常に書き込めたと判定するまでの時間)には、図9にて符号t1 ,t2 ,t3 ,t4 ,…に示すように、その都度ばらつきがあり、また、受信したデータの書き込みが終了するまでは次の1バイトデータDを受信することができないため、外部装置は、電子装置側にてデータの書き込みに要する最大時間tmaxよりも大きな時間間隔T(>tmax )で、1バイトデータDを送信する必要があった。
【0009】
しかしながら、通常、電子装置側にてデータの書き込みに要する時間は、図9にて符号t1 ,t2 ,t4 に例示するように、上記最大時間tmax (=t3 )よりも短い場合がほとんどであり、この結果、従来の電子装置では、データの受渡しに無駄な時間が生じてしまい、不揮発性メモリ内のデータを書き換えるのに要するトータル時間が長くなってしまっていた。
【0010】
本発明は、こうした問題に鑑みなされたものであり、不揮発性メモリ内のデータを、より速く書き換えることのできる電子装置を提供することを目的としている。
【0011】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項1に記載の電子装置は、電気的にデータの書き換えが可能な不揮発性メモリを備えており、通常時には、その不揮発性メモリに格納されたデータにより構成される制御プログラム及び制御データに従って動作するのであるが、外部からの書き換え指令を受けた場合には、前記不揮発性メモリ内のデータを外部装置から送信されて来る新たなデータに書き換える書換処理を行う。
【0012】
ここで特に、請求項1に記載の電子装置は、前記書換処理を行うための書換制御プログラムを前記外部装置から受信し、その受信した書換制御プログラムを書き換え対象でないメモリ領域に格納して実行することにより、前記不揮発性メモリ内のデータを前記外部装置から送信されて来る新たなデータに書き換えるよう構成されるものであって、前記電子装置は、動作モードが書換モードであると判断した後、前記外部装置との間で行われるデータ通信の通信速度が初期値に設定されている状態で、前記外部装置からのボーレート値要求を受けると、当該電子装置が対応可能な通信速度を表す信号を前記外部装置に送信し、当該通信速度を変更可能に構成されており、その後、設定された通信速度にて前記外部装置から送信されて来る前記書換制御プログラムを受信して前記書き換え対象でないメモリ領域に格納し、更に、該書換制御プログラムを受信し終えた後、前記外部装置との間で行うデータ通信の通信速度を、所定の変更命令を実行することで該変更命令に応じた前記書換制御プログラムを通信する際の通信速度より早く設定された値に変更可能に構成されている。
【0013】
そして、前記外部装置から送信されて来る書換制御プログラムには、前記書換処理を行うための命令群の前に、前記変更命令が配置されている。この請求項1に記載の電子装置によれば、動作モードが書換モードであると判断した後、外部装置から前記書換制御プログラムを、当該電子装置が対応可能な所定の通信速度に変更して送信できるものであり、この書換制御プログラムが、当該電子装置にて、書き換え対象でないメモリ領域に格納されれば、書換制御プログラムにて書換処理を行うための命令群の前に配置された変更命令が実行されることにより、外部装置との間で行うデータ通信の通信速度が、上記変更命令に応じた書換制御プログラムを通信する際の通信速度より早く設定された値に変更される。そして、この変更後の通信速度で、その後外部装置から送信されて来る新たなデータ(不揮発性メモリに書き込むべきデータ)の受信が行われる。
【0014】
このため、外部装置が書換制御プログラムを送信した後に新たなデータ(不揮発性メモリに書き込むべきデータ)を送信する時には、その新たなデータを、書換制御プログラムに配置した変更命令により設定される通信速度で送信することができ、この変更命令により設定される通信速度を、書換制御プログラムの通信を行う場合の通信速度よりも速く設定しておくことで、新たなデータをより速く電子装置側へ転送することができるようになる。
【0015】
このように請求項1に記載の電子装置によれば、外部装置との間で行うデータ通信の通信速度(詳しくは、不揮発性メモリに書き込むべき新たなデータの通信速度)を任意に高速化して、不揮発性メモリ内のデータを書き換えるのに要するトータル時間を短縮することが可能となる。
【0016】
尚、電気的にデータの書き換えが可能な不揮発性メモリとしては、EEPROM或いはフラッシュROMが一般的であるが、電気的に書き換え可能な他のROMでも良い。また、書換制御プログラムを格納する書き換え対象でないメモリ領域としては、RAMや書き換え可能なROMが挙げられる。
【0017】
次に、請求項2に記載の電子装置では、請求項1に記載の電子装置に対し、更に、前記書換制御プログラムには、前記変更命令の前に、該変更命令により設定される当該電子装置の通信速度を表す信号を前記外部装置に送信する送信命令が配置されており、当該電子装置は、前記送信命令を実行することで、前記外部装置に前記通信速度を表す信号を送信する。
【0018】
このような請求項2に記載の電子装置によれば、通信速度の変更命令が実行される前に、前記送信命令が実行されて、外部装置へ、その後に設定される当該電子装置の新たな通信速度を表す信号が、それまでの通信速度(即ち、書換制御プログラムの通信を行う場合の通信速度)と同じ通信速度で送信されることとなる。
【0019】
よって、外部装置は、上記信号を受信することで、当該電子装置側の新たな通信速度を知ることができ、この結果、請求項2に記載の電子装置によれば、外部装置との間の通信をより確実に行うことができるようになる。
つまり、請求項1に記載の電子装置では、書換制御プログラムに配置された変更命令によって設定される通信速度を、外部装置側で予め認識しておく必要があるが、請求項2に記載の電子装置によれば、外部装置は、当該電子装置からの信号によって変更後の通信速度を知ることができ、その変更後の通信速度に自動的に切り替えるように構成することが可能となるため、外部装置との間のデータ通信を、より確実に成立させることができるようになるのである。
【0020】
一方、請求項3に記載の電子装置も、電気的にデータの書き換えが可能な不揮発性メモリを備えており、外部からの書き換え指令を受けた場合には、その不揮発性メモリ内のデータを外部装置から送信されて来る新たなデータに書き換えるのであるが、前記不揮発性メモリ内のデータを新たなデータに書き換えるための手段として、データ取得手段、データ書込手段、書込状態判定手段、及び要求信号送信手段を備えている。
【0021】
即ち、データ取得手段が、外部装置から送信されて来る所定量のデータを受信して所定のバッファ領域に格納し、データ書込手段が、そのバッファ領域に格納されたデータを、前記不揮発性メモリに書き込み、書込状態判定手段が、データ書込手段により前記バッファ領域内のデータが不揮発性メモリに全て書き込まれたか否かを判定する。そして、この書込状態判定手段により肯定判定されると(つまり、バッファ領域内のデータが不揮発性メモリに全て書き込まれたと判定されると)、要求信号送信手段が、外部装置へ、不揮発性メモリに次に書き込むべき所定量のデータを要求するための要求信号を送信する。
【0022】
つまり、請求項3に記載の電子装置では、外部装置から送信されて来る所定量のデータを受信してバッファ領域に格納し、その格納したデータの不揮発性メモリへの書き込みが完了すると、外部装置へ、次に書き込むべき所定量のデータを要求するための要求信号を送信するようにしている。
【0023】
よって、外部装置は、不揮発性メモリに書き込むべき新たなデータを、最初に所定量だけ送信し、その後は、当該電子装置からの要求信号を受ける度に次の所定量のデータを送信する、といった手順で送信することができる。
このように、請求項3に記載の電子装置によれば、図9を用いて説明したように、外部装置が予め定められた時間間隔(電子装置側にてデータの書き込みに要する最大時間よりも大きな時間間隔)で新たなデータを順次送信する、といった送信方法を採る必要がなく、外部装置側の送信間隔を、当該電子装置側にてデータの書き込みに実際に要した時間に応じて最適に変化させることができるため、新たなデータを受渡しする時間に無駄が生じることがなく、この結果、不揮発性メモリ内のデータを短い時間で書き換えることができるようになる。
【0024】
尚、外部装置から受信する新たなデータの1単位であってバッファ領域に一度に格納するデータ量である上記所定量(換言すれば、バッファ領域のサイズ)は、不揮発性メモリに一度に書き込むことが可能なビット数に設定しても良いが、請求項に記載のように、前記所定量を、不揮発性メモリに一度に書き込むことが可能なデータのビット数を複数倍した値に設定し、データ書込手段が、バッファ領域から前記ビット数分のデータを順次取り出して、その取り出した各データ群を不揮発性メモリに順次書き込むようにすれば、より大きな効果を得ることができる。
【0025】
つまり、当該電子装置から外部装置へ要求信号を送信する回数を減らすことができ、その分、新たなデータを受渡しするのに必要な時間を短縮することができる。そして、この結果、不揮発性メモリ内のデータをより短い時間で書き換えることができるようになる。
【0026】
ここで更に、請求項に記載の電子装置では、前記データ取得手段、データ書込手段、書込状態判定手段、及び要求信号送信手段の機能を実現するための書換制御プログラムを外部装置から受信し、その書換制御プログラムを書き換え対象でないメモリ領域に格納して実行することにより、前記不揮発性メモリ内のデータを前記外部装置から送信されて来る新たなデータに書き換えるように構成されている。
【0027】
このため、上記各手段の機能を実現するための書換制御プログラムを実行して、不揮発性メモリ内のデータを外部装置から送信されて来る新たなデータに書き換える構成の場合に、その書換制御プログラムを予め内蔵しておく必要がなく、メモリの節約が可能となる。
【0028】
そして特に、請求項に記載の電子装置では、前記外部装置との間で行うデータ通信の通信速度を、所定の変更命令を実行することで該変更命令に応じた値に変更可能に構成されており、前記外部装置から送信されて来る書換制御プログラムには、データ取得手段、データ書込手段、書込状態判定手段、及び要求信号送信手段の機能を実現するための命令群の前に、前記変更命令が配置されている。
【0029】
このため、請求項1に記載の電子装置と同様に、動作モードが書換モードであると判断した後、外部装置から前記書換制御プログラムを当該電子装置が対応可能な所定の通信速度に変更して送信でき、この書換制御プログラムが、当該電子装置にて、書き換え対象でないメモリ領域に格納されれば、書換制御プログラムにて上記各手段の機能を実現するための命令群の前に配置された変更命令が実行されることにより、外部装置との間で行うデータ通信の通信速度が、上記変更命令に応じた書換制御プログラムを通信する際の通信速度より早く設定された値に変更される。そして、この変更後の通信速度により、少なくとも、その後外部装置から送信されて来る新たなデータの受信と、前記要求信号の外部装置への送信とが行われる。
【0030】
このような請求項3に記載の電子装置によれば、請求項1に記載の電子装置と同様に、外部装置から前記書換制御プログラムを当該電子装置が対応可能な所定の通信速度に変更して送信でき、さらに、外部装置との間で行うデータ通信の通信速度(詳しくは、新たなデータ及び要求信号の通信速度)を任意に変更することができるため、不揮発性メモリ内のデータを書き換えるのに要するトータル時間を、より一層短縮することができる。
【0031】
次に、請求項に記載の電子装置では、請求項に記載の電子装置に対し、更に、前記書換制御プログラムには、前記変更命令の前に、該変更命令により設定される当該電子装置の通信速度を表す信号を前記外部装置に送信する送信命令が配置されており、当該電子装置は、前記送信命令を実行することで、前記外部装置に前記通信速度を表す信号を送信する。
【0032】
この電子装置によれば、請求項2に記載の電子装置と同様に、通信速度の変更命令が実行される前に、前記送信命令が実行されて、外部装置へ、その後に設定される当該電子装置の新たな通信速度を表す信号が、それまでの通信速度(即ち、書換制御プログラムの通信を行う場合の通信速度)と同じ通信速度で送信されることとなる。よって、請求項2に記載の電子装置と同様の効果、即ち、外部装置は、当該電子装置からの信号によって変更後の通信速度を知ることができ、その変更後の通信速度に自動的に切り替えるように構成することが可能となるため、外部装置との間のデータ通信をより確実に成立させることができるようになる、という効果を得ることができる。
一方、請求項6の発明は、請求項1,2の電子装置において、前記新たなデータは、外部装置から所定量ずつパケット化されて送信されるようになっており、当該電子装置は、前記所定量のデータの前記不揮発性メモリへの書き込みを完了すると、外部装置へ、前記不揮発性メモリに次に書き込むべき所定量のデータを要求するための要求信号を送信すること、を特徴としている。
また、請求項の発明は、請求項1〜の電子装置において、当該電子装置は自動車用エンジン制御装置であることを特徴としている。
【0033】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の形態を採り得ることは言うまでもない。
【0034】
まず図1は、自動車に搭載されて内燃機関型エンジンの制御を行うエンジン制御装置(以下、ECUという)2と、ECU2に内蔵されたエンジン制御用のプログラムやデータを書き換える際、或いは新規に書き込む際にECU2に接続されるメモリ書換装置4とからなる、実施例の電子装置のメモリ書換システム5の全体構成を表すブロック図である。
【0035】
図1に示すように、ECU2は、エンジンの運転状態を検出する様々なセンサからの信号を入力して波形処理する入力回路6と、入力回路6からのセンサ信号に基づき、エンジンを制御するための様々な処理を実行するシングルチップマイクロコンピュータ(以下、マイコンという)8と、マイコン8からの制御信号に基づき、エンジンに取り付けられたインジェクタ(燃料噴射弁)やイグナイタ等のアクチュエータへ駆動信号を出力する出力回路10とを備えている。
【0036】
そして、マイコン8には、プログラムに従い動作する周知のCPU18と、CPU18を動作させるのに必要なプログラム及びデータを格納する不揮発性のROM20と、CPU18の演算結果等を一時格納するRAM22と、前記入力回路6等からの信号を受けると共に、出力回路10に制御信号を出力するためのI/O24と、メモリ書換装置4との間でシリアルデータ通信を行うための通信回路25とが備えられている。
【0037】
ここで、ROM20としては、電気的にデータの書き換え(詳しくは消去及び書き込み)が可能なフラッシュROM20aと、データの書き換えが不能なマスクROM20bとを備えている。
そして、フラッシュROM20aには、ECU2の製造工程において当該マイコン8がECU2へ実装された後に、エンジン制御用の制御プログラム及び制御データが新規に書き込まれ、また、マスクROM20bには、リセット直後に実行されるブートプログラムが、当該マイコン8のECU2への実装前に予め格納されている。尚、本実施例において、フラッシュROM20aには、アドレス1番地当りに1バイト(=8ビット)のデータが格納される。また、マスクROM20bに代えて、フラッシュROM20aと同様に電気的にデータの書き換えが可能な不揮発性メモリを用いても、データの書き換えが禁止されていれば良い。
【0038】
このようなECU2において、マイコン8(CPU18)は、リセット直後に、マスクROM20b内のブートプログラムを起動し、メモリ書換装置4が接続されていない通常時には、そのブートプログラムにてフラッシュROM20a内のエンジン制御プログラム(エンジン制御用の制御プログラム)をコールして、エンジンの制御を行う。
【0039】
また、マイコン8は、ブートプログラムを起動した際に、後述するように書換モードであると判定すると、フラッシュROM20a内の制御プログラムをコールすることなく、メモリ書換装置4から送信されて来る書換制御プログラムを受信してRAM22に格納し、その書換制御プログラムをコールしてRAM22上で実行することにより、フラッシュROM20a内に格納されている現在の制御プログラム及び制御データを、その後メモリ書換装置4から送信されて来る書込データ(新たな制御プログラム及び制御データを構成するデータ)に書き換える処理を行う。
【0040】
尚、フラッシュROM20aにエンジン制御用の制御プログラム及び制御データが未だ書き込まれていないECU2の製造時においても、フラッシュROM20aにエンジン制御用の制御プログラム及び制御データが新規に書き込まれるだけで全く同様である。よって、以下では、フラッシュROM20a内の制御プログラム及び制御データを書き換えるケースについて説明する。
【0041】
一方、メモリ書換装置4は、ECU2側のマイコン8にフラッシュROM20aの書き換えを行わせるための処理を実行するCPU,ROM,RAM等を内蔵したマイコン30と、このマイコン30からの指令に応じて、ECU2側のマイコン8へ、フラッシュROM20aのデータ書換時に必要な書換電圧(本実施例では12V)Vppを供給する電源回路32と、ECU2の動作モードを、エンジンの制御を行う通常モードからフラッシュROM20aのデータを書き換える(或いは新規に書き込む)書換モードに変更させるための書換スイッチSWとを備えている。
【0042】
そして更に、メモリ書換装置4は、ECU2へ送信する書換制御プログラム(詳しくは、書換制御プログラムを構成するプログラムコード及び書換制御プログラムの実行時に参照されるデータ)が格納された第1のROM34と、ECU2へ送信すべき書込データ(即ち、フラッシュROM20aに書き込むべき新たな制御プログラム及び制御データを構成するデータ)が格納された第2のROMと36と、作業者が当該メモリ書換装置4に様々な指示入力を行うための入力装置37とを備えている。尚、第1のROM34と第2のROM36は、夫々、周知のICソケット38,40によって、当該メモリ書換装置4に着脱可能に設けられている。
【0043】
このようなメモリ書換装置4とECU2との接続は、図1に示す如く、メモリ書換装置4側の雌コネクタ42FとECU2に設けられた雄コネクタ42Mとを嵌合することにより行われる。
即ち、上記両コネクタ42F,42Mが嵌合されると、通信線44を介して、メモリ書換装置4側のマイコン30とECU2側のマイコン8との間におけるシリアルデータ通信が可能となり、また、電源供給線46を介して、メモリ書換装置4側の電源回路32からECU2側のマイコン8へフラッシュROM20aのデータ書換時に必要な書換電圧Vppが供給される。そして更に、メモリ書換装置4側で書換スイッチSWを介して接地電位(0V)に接続される信号線48が、ECU2側で抵抗器Rにより5Vにプルアップされたモード判定用信号ラインLに接続され、これにより、メモリ書換装置4側で書換スイッチSWがONされると、ECU2側においては上記モード判定用信号ラインLがハイレベル(5V)からロウレベル(0V)に変化することとなる。そして、ECU2のマイコン8は、前述の如くブートプログラムを起動した際に、モード判定用信号ラインLがロウレベルであれば、書換モードと判定する。
【0044】
次に、メモリ書換装置4のマイコン30で実行される処理と、ECU2のマイコン8で実行される処理について、図2〜図5のフローチャートを用いて説明する。尚、図2及び図3は、メモリ書換装置4のマイコン30で実行される処理を表すフローチャートである。また、図4及び図5は、ECU2のマイコン8で実行される処理を表すフローチャートであり、そのステップ(以下、単に「S」と記す)300〜S350の処理が、マスクROM20b内のブートプログラムによって実行され、S400の処理が、フラッシュROM20a内のエンジン制御プログラムによって実行される。そして、S500〜S740の処理が、メモリ書換装置4から送信されてRAM22に格納される書換制御プログラムによって実行される。
【0045】
まず、メモリ書換装置4では、作業者によりECU2に接続されて書換スイッチSWがONされると、マイコン30が図2に示す処理を実行する。尚、本実施例において、メモリ書換装置4とECU2との間で行われるデータ通信の通信速度(以下、ボーレートともいう)は、最初は互いに9600bpsに設定されている。
【0046】
図2に示すように、メモリ書換装置4のマイコン30は、まず最初のS100にて、ECU2に対し該ECUが対応可能なボーレートの値を表す信号を要求するためのボーレート値要求を送信する。
そして、続くS110にて、ECU2からのデータを受信するまで待機し、データを受信すると、S120に進んで、その受信したデータが、ECU2が対応可能なボーレートの値を表す信号(以下、対応ボーレート値信号という)であるか否かを判定し、受信したデータが対応ボーレート値信号であれば、続くS130にて、当該メモリ書換装置4側のボーレートを、上記受信した対応ボーレート値信号の表す値に変更する。つまり、本実施例のECU2は、後述するように、当該メモリ書換装置4へ対応ボーレート値信号を送信した後、自己のボーレートを上記送信した対応ボーレート値信号の表す値に変更するため、当該メモリ書換装置4側でも、通信に用いるボーレートをECU2から受信した対応ボーレート値信号の表す値に変更して、その後の通信が成立するようにしている。
【0047】
そして、S130の処理を実行するか、或いは、前記S120にて、受信したデータが対応ボーレート値信号ではないと判定すると、S140に移行して、第1のROM34から書込制御プログラムを読み出し、その読み出した書換制御プログラムをECU2に送信する。尚、この書換制御プログラムの送信と、それ以降の通信は、S130の処理が実行されていれば(S120:YES)、S130で変更されたボーレートで行われ、S130の処理が実行されていなければ(S120:NO)、最初のS100と同じ9600bpsで行われる。
【0048】
このS140にて、書換制御プログラムの送信が全て終了すると、S150に進んで、ECU2から書換制御プログラムの受信が終了した旨を示す受信終了信号が送信されて来るのを待ち、その受信終了信号を受信すると、S160に進んで、S100の場合と同様に、ECU2へボーレート値要求を送信する。
【0049】
そして、続くS170にて、ECU2からのデータを受信するまで待機し、データを受信すると、続くS180にて、その受信したデータが対応ボーレート値信号であるか否かを判定する。そして、対応ボーレート値信号であれば、S190に進んで、当該メモリ書換装置4側のボーレートを、S170で受信した対応ボーレート値信号の表す値に変更する。つまり、S160〜S190では、前述したS100〜S130と全く同様の処理を行う。
【0050】
そして、S190の処理を実行するか、或いは、前記S180にて、受信したデータが対応ボーレート値信号ではないと判定すると、S200に移行して、書込データのパケット送信処理を実行し、その後、当該メモリ書換装置4側の処理を終了する。
【0051】
ここで、S200の書込データのパケット送信処理は、第2のROM36に格納された書込データをnバイトずつ読み出して、そのnバイトの書込データを図6に示す如くパケット化してECU2へ送信するものであり、図3に示す手順で実行される。尚、図6において、「HD」は、nバイトの書込データdata1,data2,…,datanに付される数バイトのヘッダであり、このヘッダHDには、当該送信データの転送先を示すコード等の通信制御用の情報が配置される。そして、「CS」は、通信誤りを検出するための1バイト或いは数バイトのチェックサム(検査用データ)である。また、このパケット送信処理におけるECU2との通信は、S190の処理が実行されていれば(S180:YES)、S190で変更されたボーレートで行われ、S190の処理が実行されていなければ(S180:NO)、S130で変更されたボーレート或いは最初のS100と同じ9600bpsで行われる。
【0052】
図3に示すように、書込データのパケット送信処理の実行が開始されると、まずS210にて、第2のROM36から書込データのうちの最初のnバイトを読み出し、そのnバイトの書込データに図6の如くヘッダHD及びチェックサムCSを付すことで1つのパケットを生成して、そのパケットをECU2へ送信する。
【0053】
そして、続くS220にて、ECU2から次のパケットを要求するための、要求信号としてのパケット要求が送信されて来るまで待機し、ECU2からのパケット要求を受信すると、S230に進んで、第2のROM36から書込データのうちの次のnバイトを読み出し、そのnバイトの書込データをS210の場合と同様にパケット化してECU2へ送信する。
【0054】
そして、続くS240にて、第2のROM36に格納された全ての書込データを送信し終えたか否かを判定し、全データを未だ送信していなければ、S220及びS230の処理を繰り返す。また、S240にて、全データの送信が終了したと判定した場合には、このパケット送信処理から図2の処理へ戻り、その後、当該メモリ書換装置4側の処理を終える。
【0055】
一方、次にECU2では、電源が投入されると、マイコン8がリセット状態から動作を開始して、図4に示す処理を実行する。
即ち、最初に、マスクROM20bに格納されたブートプログラムを起動して、まずS300にて、書換モードであるか否かを、モード判定用信号ラインLがロウレベルであるか否かによって判定する。そして、モード判定用信号ラインLがロウレベルでなければ(S300:NO)、書換モードではない通常モードであると判断して、エンジン制御プログラムへジャンプする。
【0056】
すると、フラッシュROM20aに格納されている制御プログラムが起動され、その後は、S400に示すように、エンジン制御用の制御データを参照して行われるエンジン制御処理が実行される。尚、このエンジン制御処理は、入力回路6からの各種センサ信号とフラッシュROM20aに格納された制御データとに基づき、エンジンに対する最適な燃料噴射量や点火時期等を演算し、その演算結果に応じて、インジェクタやイグナイタ等のアクチュエータを駆動するための制御信号を出力回路10に出力する、といった手順で繰り返し実行される。
【0057】
これに対し、ブートプログラムにおいて、上記S300で書換モードであると判断した場合、即ち、当該ECU2にメモリ書換装置4が接続されて書換スイッチSWがONされることにより、モード判定用信号ラインLがロウレベルであった場合には、S310に移行する。
【0058】
そして、このS310にて、前述した図2のS100でメモリ書換装置4から送信されて来るボーレート値要求を受信するまで待機し、ボーレート値要求を受信すると、S320に進んで、次のS330で変更・設定される自己のボーレートを表す信号(対応ボーレート値信号)を、メモリ書換装置4に送信し、続くS330で、自己のボーレートを上記送信した対応ボーレート値信号の表す値に変更する。
【0059】
すると、前述した図2のS140でメモリ書換装置4から書換制御プログラムが上記変更後のボーレートで送信されて来るため、続くS340にて、その書換制御プログラムを受信して、RAM22の所定領域に順次格納する。尚、この書換制御プログラムの受信と、それ以降の通信は、S330で変更されたボーレートで行われる。
【0060】
そして、このS340で書換制御プログラムのRAM22への格納が全て終了すると、続くS350にて、S340でRAM22に格納した書込制御プログラムへジャンプする。
これにより、メモリ書換装置4から送信されて来た書込制御プログラムがRAM22上で実行されて、S500〜S540(更には、図5のS550〜S740)の処理が行われる。
【0061】
即ち、まずS500にて、メモリ書換装置4へ、書換制御プログラムの受信が終了した旨を示す受信終了信号を送信し、続くS510にて、前述した図2のS160でメモリ書換装置4から送信されて来るボーレート値要求を受信するまで待機する。そして、ボーレート値要求を受信すると、S520に進んで、次のS530で変更・設定される自己のボーレートを表す対応ボーレート値信号を、メモリ書換装置4に送信し、続くS530で、自己のボーレートを上記送信した対応ボーレート値信号の表す値に変更する。
【0062】
すると、前述した図2のS200でメモリ書換装置4からパケット化された書込データが上記変更後のボーレートで送信されて来るため、続くS540にて、フラッシュROM20a内のデータをメモリ書換装置4から送信されて来る書込データに書き換えるためのデータ書換処理を実行し、その後、当該ECU2側の処理を終了する。
【0063】
ここで、S540のデータ書換処理は、図5に示す手順で実行される。尚、このデータ書換処理におけるメモリ書換装置4との通信は、S530で変更されたボーレートで行われる。
即ち、図5に示すように、データ書換処理の実行が開始されると、まずS550にて、フラッシュROM20aにおけるデータの書込先(書込アドレス)をカウントするためのアドレスカウンタに、フラッシュROM20aにて新たなデータの書き込みを開始すべき先頭アドレスの値をセットし、続くS560にて、1パケット分(即ち、nバイト)の書込データに対する処理が終了したか否かを判定するためのパケットカウンタをリセットする。
【0064】
そして、続くS570にて、前述した図3のパケット送信処理でメモリ書換装置4から送信されて来るシリアルデータを1バイト分受信し、続くS580にて、受信状態が正常であるか否かを判定する。そして、正常受信の場合には、S590に進み、S570で受信した1バイトのデータがフラッシュROM20aに書き込むべき書込データであれば(換言すれば、ヘッダHD及びチェックサムCS以外のデータであれば)、その1バイトの書込データをRAM22の所定領域に設定されたnバイト分のバッファ領域に先頭から順に格納し、続くS600にて、上記S560でリセットしておいたパケットカウンタをインクリメントする。
【0065】
そして、続くS610にて、パケットカウンタの値が「n」に達したか否かにより、1パケット分(nバイト)の書込データを受信してRAM22のバッファ領域に格納できたか否かを判定し、1パケット分の受信及び格納が未だ終了していない場合には、S570〜S600の処理を繰り返す。
【0066】
一方、S610にて、パケットカウンタの値が「n」に達したと判定した場合には、1パケット分の書込データを受信してバッファ領域に格納することができたことから、S620に進んで、パケットカウンタをリセットする。
そして、続くS630にて、バッファ領域の先頭から順に書込データを1バイト分だけ取り出し、続くS640にて、フラッシュROM20aに対する1バイト分のデータ書込操作を何回行ったかをカウントするための書込パルス数カウンタをリセットする。
【0067】
そして、続くS650にて、アドレスカウンタの現在値を書込アドレスとしてセットすると共に、S630でバッファ領域から取り出した1バイト分の書込データを、フラッシュROM20aに今回書き込む1バイトデータとしてセットし、続くS660にて、S650でセットした書込アドレスにより指定されるフラッシュROM20aのセルに対し、書込パルスを与える。
すると、S650でセットした1バイトデータが、同じくS650でセットした書込アドレスの領域に書き込まれることとなるが、書込パルスを1度与えただけではデータが正確に書き込めない可能性があるため、続くS670にて、S630でバッファ領域から今回取り出した書込データと、フラッシュROM20aに実際に書き込まれている1バイトデータとを比較する、所謂ベリファイチェックを行う。
【0068】
そして、S670のベリファイチェックにより、上記両データが一致していなければ(S670:NO)、S680に移行して、書込パルス数カウンタをインクリメントする。そして、続くS690にて、書込パルス数カウンタの値が所定値(本実施例では「10」)に達しているか否を判定し、所定値に達していなければ、S660に戻って、再度、フラッシュROM20aに書込パルスを与えることにより、S630でバッファ領域から今回取り出した書込データについて、データ書込操作を再び行う。
【0069】
また、S690にて、書込パルス数カウンタの値が所定値に達していると判定した場合には、同じ1バイトデータについてS660のデータ書込操作を所定回数だけ行ったにも拘らず、そのデータを正確に書き込めなかったということから、何等かの異常があると判断して、S700に進む。そして、このS700にて、所定のエラー処理を行った後、当該データ書換処理から図4の処理に戻り、その後、ECU2側の処理を終える。尚、S580にて、受信状態が正常でないと判定した場合にも、上記S700のエラー処理を行った後、図4の処理に戻って、その後、ECU2側の処理を終える。
【0070】
一方、S670のベリファイチェックにより、上記両データが一致していたならば(S670:YES)、S710に移行して、アドレスカウンタとパケットカウンタとを夫々インクリメントし、続くS720にて、パケットカウンタの値が「n」に達しているか否かにより、1パケット分の書込データをフラッシュROM20aに書き込めたか否か(1パケット分の書き込みが終了したか否か)を判定する。そして、1パケット分の書き込みが終了していなければ、前述したS630〜S710の処理を繰り返し、このような処理の繰り返しにより、1パケット分の書き込みが終了した場合には、S730に進む。
【0071】
そして、このS730にて、アドレスカウンタの値がフラッシュROM20aにて新たなデータの書き込みを終了すべき最終アドレスの値に達したか否かにより、全アドレス(換言すれば全データ)の書き込みが終了したか否かを判定し、全アドレスの書き込みが終了していなければ、続くS740に進んで、メモリ書換装置へ次のパケットを要求するためのパケット要求を送信する。
【0072】
すると、前述した図3の処理によりメモリ書換装置4から次のパケットが送信されて来るため、当該データ書換処理では、前述したS560〜S740の処理を繰り返す。そして、S730にて、全アドレスの書き込みが終了したと判定した場合には、当該データ書換処理から図4の処理に戻って、ECU2側の処理を終える。
【0073】
尚、本実施例では、S560〜S610が、データ取得手段としての機能を実現する処理に相当し、S550,S620〜S720が、データ書込手段としての機能を実現する処理に相当している。そして、S720の判定が、書込状態判定手段としての機能を実現する処理に相当し、S740が、要求信号送信手段としての機能を実現する処理に相当している。
【0074】
つまり、本実施例のECU2で実行される図5のデータ書換処理では、メモリ書換装置4からパケット化されて送信されて来るnバイトの書込データを受信してRAM22のバッファ領域に格納し(S560〜S610)、そのバッファ領域に格納されたnバイトの書込データを、1バイトずつ順次取り出してフラッシュROM20aに書き込むようにしており(S620〜S720)、バッファ領域内の書込データがフラッシュROM20aに全て書き込まれると(S720:YES)、メモリ書換装置4へ、次に書き込むべきnバイトの書込データを要求するためのパケット要求を送信するようにしている(S740)。
【0075】
このため、メモリ書換装置4は、図3のパケット送信処理を実行することで、第2のROM36に格納された書込データをnバイトずつパケット化してECU2へ送信するようにしており、詳しくは図7に示すように、最初のパケットPを送信した後は、当該ECU2からのパケット要求Yを受信する度に次のパケットPを送信する、といった手順で書込データをnバイトずつ送信するようにしている。尚、図7において、左から右方向の矢印「→」は、メモリ書換装置4からECU2へのパケットPの送信を示しており、右から左方向の矢印「←」は、ECU2からメモリ書換装置4へのパケット要求Yの送信を示している。
【0076】
従って、このようなECU2を備えたメモリ書換システム5によれば、従来技術のように、メモリ書換装置4が予め定められた時間間隔(即ち、ECU2側にて受信したデータを書き込むのに要する最大時間よりも大きな時間間隔)で新たな書込データを順次送信する、といった送信方法を採る必要がなく、図7に例示するように、メモリ書換装置4側の送信間隔を、当該ECU2側にてデータの書き込みに実際に要した時間ta ,tb ,tc ,td ,…に応じて最適に変化させることができるため、書込データを受渡しする時間に無駄が生じることがなく、この結果、フラッシュROM20a内のデータを短い時間で書き換えることができる。
【0077】
また、本実施例のECU2においては、メモリ書換装置4から送信される書込データの1単位であってRAM22のバッファ領域に一度に格納するデータ量(換言すれば、バッファ領域のサイズ)を、フラッシュROM20aに一度に書き込むことが可能なデータのビット数(本実施例では1バイト)をn倍した値に設定しており、バッファ領域から1バイト分のデータを順次取り出して、フラッシュROM20aに書き込むようにしている。
【0078】
従って、当該ECU2からメモリ書換装置4へパケット要求を送信する回数を減らして、その分、書換データを受渡しするのに必要な時間を短縮することができ、延いては、フラッシュROM20a内のデータをより短い時間で書き換えることが可能となる。つまり、メモリ書換装置4から書換データを1バイトずつ送信するようにしても良いが、この場合には、ECU2からメモリ書換装置4へのパケット要求の送信回数が多くなり、その分だけ不利である。これに対して、本実施例のようにすれば、より大きな効果を得ることができるのである。
【0079】
ところで、通常、本実施例の如きECU2では、実装面積やコスト等の面からRAM22の容量に制限があり、受信した書込データを格納しておくバッファ領域のサイズ(以下、バッファサイズという)にも自ずと限界が生じる。よって、ECU2からメモリ書換装置4へのパケット要求の送信回数を減らすためとは言え、バッファサイズを際限なく大きな設定することはできない。
【0080】
ここで、本実施例のECU2について、バッファサイズ(即ち、メモリ書換装置4から送信する1パケット内に配置される書込データのデータ量)と、送信時間(即ち、メモリ書換装置4からECU2へ全ての書込データを送信し終えるまでの時間であり、延いては、フラッシュROM20aの書き換えに要するトータル時間)との関係を調べてみると、図8に示すように、通信速度(ボーレート)が低い場合には、バッファサイズを大きくするほど、送信時間を短縮できる効果が大きいが、通信速度が高くなってくると、バッファサイズをそれほど大きくしなくても、大きな効果を得ることができる。
【0081】
尚、図8(a)は、メモリ書換装置4からECU2へ合計96kバイトの書込データを送信する場合の、送信時間(書換時間)の計算値であり、単位は「秒」である。また、ECU2側にて受信したデータを書き込むのに要する時間は、80μsとして見積っている。そして、図8(b)は、図8(a)の計算値をグラフ化したものである。
【0082】
従って、このような観点から、バッファサイズと通信速度とを、許される範囲内において最適な値に設定することにより、最小の資源で最大の効果を得ることができる。例えば、本実施例では、バッファサイズを128バイトに設定するとすると共に、通信速度を38.4kbpsに設定しており、96kバイト分のデータ送信時間を27.2秒までに短縮している。
【0083】
一方、本実施例のECU2では、フラッシュROM20a内のデータをメモリ書換装置4から送信されて来る新たなデータに書き換える処理を行うための書換制御プログラムを、メモリ書換装置4から受信し、その書換制御プログラムを書き換え対象でないRAM22に格納して実行することにより、フラッシュROM20aの書き換えを行うようにしている。よって、書換制御プログラムを予め内蔵しておく必要がなく、メモリ容量を大幅に節約することができる。
【0084】
一方更に、本実施例のECU2は、メモリ書換装置4との間で行うデータ通信のボーレートを、所定の変更命令(図4のS330,S530)を実行することで該変更命令に応じた値に変更可能に構成されている。そして、メモリ書換装置4から送信されて来る書換制御プログラムには、図4のS530に示されるように、フラッシュROM20a内のデータをメモリ書換装置4から送信されて来る新たなデータに書き換えるデータ書換処理(図5)を行うための命令群の前に、ボーレートを変更するための変更命令が配置されている。
【0085】
よって、本実施例のECU2によれば、メモリ書換装置4から書換制御プログラムを所定のボーレートで送信し、この書換制御プログラムがRAM22に格納されれば、書換制御プログラムにてデータ書換処理を行うための命令群の前に配置された変更命令(S530)が実行されることにより、メモリ書換装置4との間で行うデータ通信のボーレートが、上記変更命令に応じた値に変更される。そして、この変更後のボーレートにより、その後メモリ書換装置4から送信されて来る書込データ(パケット)の受信と、ポケット要求のメモリ書換装置4への送信とが行われる。
【0086】
このため、メモリ書換装置4が書換制御プログラムを送信した後に、書込データをパケット化して送信する時には、そのパケット化したデータを、書換制御プログラムに配置した変更命令により設定されるボーレートで送信することができ、この変更命令により設定されるボーレートを、書換制御プログラムの通信を行う場合のボーレートよりも速く設定しておくことで、書込データをより速くECU2側へ転送することができるようになる。
【0087】
このように本実施例のECU2によれば、メモリ書換装置4との間で行うデータ通信のボーレートを任意に高速化することができ、フラッシュROM20a内のデータを書き換えるのに要するトータル時間を、より一層短縮することが可能となる。
【0088】
そして更に、本実施例のECU2において、メモリ書換装置4から送信されて来る書換制御プログラムには、図4のS520に示されるように、S530の変更命令の前に、該変更命令により設定される当該ECU2のボーレートを表す信号(対応ボーレート値信号)をメモリ書換装置4に送信する送信命令が配置されており、当該ECU2は、その送信命令を実行することで、メモリ書換装置4に対応ボーレート値信号を送信するようにしている。
【0089】
よって、当該ECU2にてボーレートの変更が行われる前に、メモリ書換装置4へ、その後に設定される新たなボーレートを表す対応ボーレート値信号が、それまでのボーレート(即ち、書換制御プログラムの通信を行う場合のボーレート)で送信されることとなり、メモリ書換装置4は、図2のS180及びS190に示したように、当該ECU2からの対応ボーレート値信号に応じて、自己のボーレートを自動的に切り替えることができる。従って、このような本実施例のECU2によれば、メモリ書換装置4との間のデータ通信を確実に成立させることができるようになる。
【0090】
尚、本実施例のECU2では、図4に示したように、ブートプログラムのS310〜S330においても、書込制御プログラムのS510〜S530と全く同様のボーレート変更のための処理を行っており、これに対応して、メモリ書換装置4では、図2に示したように、S100〜S130においても、S160〜S190と全く同様の処理を行っている。そして、これにより、メモリ書換装置4からECU2へ書換制御プログラムを転送する際のボーレートをも、変更可能にしているのであるが、図4におけるS310〜S330の処理と、図2におけるS100〜S130の処理とを省略して、書換制御プログラムを通信初期のボーレートである9600bpsで転送するようにしても良い。
【0091】
また、本実施例のECU2は、電気的にデータの書き込みが可能な不揮発性メモリとして、フラッシュROM20aを備えたものであったが、EEPROMを用いても良いし、少なくとも1つ以上の書き込み領域を持つPROM(例えばワンタイムPROM)を用いても良い。
【図面の簡単な説明】
【図1】 実施例の電子装置のメモリ書換システムの全体構成を表すブロック図である。
【図2】 実施例のメモリ書換装置側で実行される処理を表すフローチャートである。
【図3】 図2の処理中で実行される書込データのパケット送信処理を表すフローチャートである。
【図4】 実施例のエンジン制御装置(ECU)側で実行される処理を表すフローチャートである。
【図5】 図4の処理中で実行されるデータ書換処理を表すフローチャートである。
【図6】 メモリ書換装置から送信されるデータのフォーマットを説明する説明図である。
【図7】 実施例の作用を説明する説明図である。
【図8】 実施例のメモリ書換システムによるデータの送信時間(書換時間)を説明する説明図である。
【図9】 従来技術の問題点を説明する説明図である。
【符号の説明】
2…エンジン制御装置(ECU) 4…メモリ書換装置
5…メモリ書換システム 6…入力回路
8,30…シングルチップマイクロコンピュータ(マイコン)
10…出力回路 18…CPU 20…ROM
20a…フラッシュROM 20b…マスクROM
22…RAM 24…I/O 25…通信回路 32…電源回路
34…第1のROM 36…第2のROM 37…入力装置
38,40…ICソケット 42F…雌コネクタ 42M…雄コネクタ
44…通信線 46…電源供給線 48…信号線
SW…書換スイッチ L…モード判定用信号ライン R…抵抗器

Claims (7)

  1. 電気的にデータの書き換えが可能な不揮発性メモリを備え、通常時には、前記不揮発性メモリに格納されたデータにより構成される制御プログラム及び制御データに従って動作し、外部からの書き換え指令を受けた場合には、前記不揮発性メモリ内のデータを外部装置から送信されて来る新たなデータに書き換える書換処理を行う電子装置において、
    当該電子装置は、前記書換処理を行うための書換制御プログラムを前記外部装置から受信し、該書換制御プログラムを書き換え対象でないメモリ領域に格納して実行することにより、前記不揮発性メモリ内のデータを前記外部装置から送信されて来る新たなデータに書き換えるよう構成されるものであって、
    前記電子装置は、動作モードが書換モードであると判断した後、前記外部装置との間で行われるデータ通信の通信速度が初期値に設定されている状態で、前記外部装置からのボーレート値要求を受けると、当該電子装置が対応可能な通信速度を表す信号を前記外部装置に送信し、当該通信速度を変更可能に構成されており、
    その後、設定された通信速度にて前記外部装置から送信されて来る前記書換制御プログラムを受信して前記書き換え対象でないメモリ領域に格納し、
    更に、該書換制御プログラムを受信し終えた後、前記外部装置との間で行うデータ通信の通信速度を、所定の変更命令を実行することで該変更命令に応じた前記書換制御プログラムを通信する際の通信速度より早く設定された値に変更可能に構成されており、
    前記外部装置から送信されて来る前記書換制御プログラムには、前記書換処理を行うための命令群の前に、前記変更命令が配置されていること、
    を特徴とする電子装置。
  2. 請求項1に記載の電子装置において、
    更に、前記書換制御プログラムには、前記変更命令の前に、該変更命令により設定される当該電子装置の通信速度を表す信号を前記外部装置に送信する送信命令が配置されており、
    当該電子装置は、前記送信命令を実行することで、前記外部装置に前記通信速度を表す信号を送信すること、
    を特徴とする電子装置。
  3. 電気的にデータの書き換えが可能な不揮発性メモリを備え、通常時には、前記不揮発性メモリに格納されたデータにより構成される制御プログラム及び制御データに従って動作し、外部からの書き換え指令を受けた場合には、前記不揮発性メモリ内のデータを外部装置から送信されて来る新たなデータに書き換える電子装置において、
    前記不揮発性メモリ内のデータを前記新たなデータに書き換えるための手段として、
    前記外部装置から送信されて来る所定量のデータを受信して所定のバッファ領域に格納するデータ取得手段と、
    前記バッファ領域に格納されたデータを、前記不揮発性メモリに書き込むデータ書込手段と、
    該データ書込手段により前記バッファ領域内のデータが前記不揮発性メモリに全て書き込まれたか否かを判定する書込状態判定手段と、
    該書込状態判定手段により肯定判定されると、前記外部装置へ、前記不揮発性メモリに次に書き込むべき所定量のデータを要求するための要求信号を送信する要求信号送信手段とを備えると共に、
    当該電子装置は、
    前記データ取得手段、データ書込手段、書込状態判定手段、及び要求信号送信手段の機能を実現するための書換制御プログラムを前記外部装置から受信し、該書換制御プログラムを書き換え対象でないメモリ領域に格納して実行することにより、前記不揮発性メモリ内のデータを前記外部装置から送信されて来る新たなデータに書き換えるように構成されており、
    更に、当該電子装置は、
    動作モードが書換モードであると判断した後、前記外部装置との間で行われるデータ通信の通信速度が初期値に設定されている状態で、前記外部装置からのボーレート値要求を受けると、当該電子装置が対応可能な通信速度を表す信号を前記外部装置に送信し、当該通信速度を変更可能に構成されており、
    その後、設定された通信速度にて前記外部装置から送信されて来る前記書換制御プログラムを受信して前記書き換え対象でないメモリ領域に格納し、
    更に、該書換制御プログラムを受信し終えた後、
    前記外部装置との間で行うデータ通信の通信速度を、所定の変更命令を実行することで該変更命令に応じた前記書換制御プログラムを通信する際の通信速度より早く設定された値に変更可能に構成されており、
    前記外部装置から送信されて来る前記書換制御プログラムには、前記データ取得手段、データ書込手段、書込状態判定手段、及び要求信号送信手段の機能を実現するための命令群の前に、前記変更命令が配置されていること、
    を特徴とする電子装置。
  4. 請求項3に記載の電子装置において、
    更に、前記書換プログラムには、前記変更命令の前に、該変更命令により設定される当該電子装置の通信速度を表す信号を前記外部装置に送信する送信命令が配置されており、 当該電子装置は、前記送信命令を実行することで、前記外部装置に前記通信速度を表す信号を送信すること、
    を特徴とする電子装置。
  5. 請求項3又は請求項4に記載の電子装置において、
    前記所定量は、前記データ書込手段が前記不揮発性メモリに一度に書き込むことが可能なデータのビット数を複数倍した値に設定されていると共に、
    前記データ書込手段は、前記バッファ領域から前記ビット数分のデータを順次取り出し、その取り出した各データ群を前記不揮発性メモリに順次書き込むように構成されていること、
    を特徴とする電子装置。
  6. 請求項1又は請求項2に記載の電子装置において、
    前記新たなデータは、前記外部装置から所定量ずつパケット化されて送信されるようになっており、
    当該電子装置は、前記所定量のデータの前記不揮発性メモリへの書き込みを完了すると、前記外部装置へ、前記不揮発性メモリに次に書き込むべき所定量のデータを要求するための要求信号を送信すること、
    を特徴とする電子装置。
  7. 請求項1ないし請求項の何れか1項に記載の電子装置において、
    当該電子装置は、自動車用エンジン制御装置であること、
    を特徴とする電子装置。
JP26716596A 1996-09-20 1996-10-08 電子装置 Expired - Lifetime JP3881069B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP26716596A JP3881069B2 (ja) 1996-10-08 1996-10-08 電子装置
US08/934,220 US6275911B1 (en) 1996-09-20 1997-09-19 Memory writing device for an electronic device
KR1019970047921A KR100258147B1 (ko) 1996-09-20 1997-09-20 전자장치용 메모리 기록장치
US09/625,402 US6249848B1 (en) 1996-09-20 2000-07-25 Memory writing device for an electronic device
US09/625,403 US6477626B1 (en) 1996-09-20 2000-07-25 Memory writing device for an electronic device
US09/843,821 US6505280B2 (en) 1996-09-20 2001-04-30 Memory writing device for an electronic device
US10/062,541 US6957296B2 (en) 1996-09-20 2002-02-05 Memory writing device for an electronic device
US10/270,578 US20030041217A1 (en) 1996-09-20 2002-10-16 Memory writing device for an electronic device
US11/217,385 US7493455B2 (en) 1996-09-20 2005-09-02 Memory writing device for an electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26716596A JP3881069B2 (ja) 1996-10-08 1996-10-08 電子装置

Publications (2)

Publication Number Publication Date
JPH10111863A JPH10111863A (ja) 1998-04-28
JP3881069B2 true JP3881069B2 (ja) 2007-02-14

Family

ID=17441009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26716596A Expired - Lifetime JP3881069B2 (ja) 1996-09-20 1996-10-08 電子装置

Country Status (1)

Country Link
JP (1) JP3881069B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181898A (ja) 1998-12-14 2000-06-30 Nec Corp フラッシュメモリ搭載型シングルチップマイクロコンピュータ
EP1626353A4 (en) * 2003-05-20 2012-08-08 Jvc Kenwood Corp DISPLAY CONTROL DEVICE OF AN ELECTRONIC SERVICE MANUAL
EP1647899A4 (en) 2003-05-20 2012-08-15 Jvc Kenwood Corp DISPLAY CONTROL DEVICE OF A COMPUTERIZED SERVICE MANUAL
CN1826614B (zh) * 2003-05-20 2011-06-15 日本胜利株式会社 电子化服务指南显示控制方法和装置
JP2005004726A (ja) * 2003-05-20 2005-01-06 Victor Co Of Japan Ltd 電子化サービスマニュアル生成方法、付加データ生成方法、電子化サービスマニュアル生成用プログラム、並びに付加データ生成用プログラム
EP1647900A4 (en) * 2003-05-20 2012-08-08 Jvc Kenwood Corp DISPLAY CONTROL UNIT FOR AN ELECTRONIC SERVICE MANUAL
JP2007507020A (ja) * 2003-06-24 2007-03-22 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト プログラミング可能な読出し専用メモリのブートセクタ内にソフトウェアをリロードするための方法
JP4661382B2 (ja) * 2005-06-14 2011-03-30 トヨタ自動車株式会社 車両診断装置、車両診断システム、車両診断方法
JP4367513B2 (ja) 2007-03-28 2009-11-18 株式会社デンソー 電子制御装置
JP5641768B2 (ja) * 2010-04-26 2014-12-17 伊東電機株式会社 コントローラ
JP5547701B2 (ja) * 2011-09-21 2014-07-16 日立オートモティブシステムズ株式会社 自動車用電子制御装置
JP2013068105A (ja) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd 自動車用電子制御装置
JP5956505B2 (ja) * 2014-05-15 2016-07-27 日立オートモティブシステムズ株式会社 自動車用電子制御装置
JP5945044B2 (ja) * 2015-06-26 2016-07-05 日立オートモティブシステムズ株式会社 自動車用電子制御装置、自動車用電子制御装置の書込みシステム、及び車両制御の制御プログラムの書込み方法
JP6302004B2 (ja) * 2016-06-16 2018-03-28 日立オートモティブシステムズ株式会社 書込みプログラム

Also Published As

Publication number Publication date
JPH10111863A (ja) 1998-04-28

Similar Documents

Publication Publication Date Title
JP3881069B2 (ja) 電子装置
US7493455B2 (en) Memory writing device for an electronic device
JP3491419B2 (ja) 電子制御装置
JP3764338B2 (ja) バッテリを認識する方法及び装置
JP3785299B2 (ja) 車両制御装置のためのメモリ書き換えシステム
US7002106B2 (en) Method and device for controlling the heating of glow plugs in a diesel engine
US6636989B1 (en) Electronic control apparatus and method for on-board rewriting of non-volatile memories
JP2000020389A (ja) 電子制御装置
JP2000045858A (ja) 電子制御装置及び不揮発性メモリの書換回数記憶方法
JP3835969B2 (ja) 車両制御装置のための書き換えシステム
JP2000038954A (ja) 電子制御装置及び不揮発性メモリの書き換え回数計数方法
JP4311067B2 (ja) データ書換方法及び電子制御装置
JP2010084544A (ja) エンジンセッティングシステム及びエンジンセッティング方法
US20010049765A1 (en) Rewriting system for vehicle controller
JP4473609B2 (ja) 電子システム
JP2018116669A (ja) 車載装置、中継装置及びコンピュータプログラム
JP3796837B2 (ja) 電子装置のメモリ書込装置
JP3672755B2 (ja) 制御プログラム書換システム
JP3489306B2 (ja) 電子制御装置
JP2011248558A (ja) 自動車用電子制御装置及び自動車用電子制御装置におけるデータ書き込み方法
JP5454378B2 (ja) 車両用制御システム
JP3711936B2 (ja) 給湯装置
JP2002323990A (ja) 電子制御装置及び不揮発性メモリの初期化方法
US20080082704A1 (en) Data processing apparatus for data transmission and reception and data transfer method for data transfer system including the data processing apparatus
JPH09139094A (ja) 電子装置,メモリ書換装置及び電子装置のメモリ書換システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050126

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050202

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050520

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061109

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131117

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term