(57)【要約】【課題】データの書き込み処理全体の所要時間を短縮する。【解決手段】フラッシュＲＯＭ１２０に記憶されるアプリケーションプログラムを外部ツール２００のＲＯＭ２１０に記憶される新アプリケーションプログラムを転送して書き換える際、ＭＣＵ１８０は、外部ツール２００からデータの書き換え指令を受けた場合に、ＣＰＵ１１０のクロック周波数をフラッシュＲＯＭ１２０のアプリケーションプログラムを実行する際のクロック周波数よりも高くなるようにクロック逓倍回路１１５に指令を送る。このクロック周波数の変更後に、プログラムの転送及びデータ書き換え処理を実行することで、フラッシュＲＯＭ１２０へのデータ書き換えに要する時間及びデータ通信に要する時間を短縮することができる。その結果、外部ツール２００からＥＣＵ１００へのデータの書き換え処理全体の所要時間が短縮される。【選択図】        図１
2004220519.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶部と、
一定の時間間隔で所定信号を生成する信号生成手段と、
前記信号生成手段の所定信号を生成する時間間隔を変更する時間間隔変更手段と、
前記信号生成手段による所定信号が生成される時間間隔を基準として、前記記憶部に記憶されるデータからなるプログラムに従った処理を実行する処理手段とを備え、
前記時間間隔変更手段は、前記記憶部の記憶するデータの書き換え指令を受けた場合、前記プログラムに従った処理を実行する際に基準とする前記時間間隔よりも短い時間間隔に変更し、
前記処理手段は、前記変更された短い時間間隔を基準として、前記記憶部の記憶するデータを外部装置から送られるデータに書き換えるデータ書き換え処理を実行することを特徴とする電子装置。
【請求項２】
前記書き換え指令には動作速度アップ指令が含まれ、
前記時間間隔変更手段は、前記外部装置から前記動作速度アップ指令を受けた場合に前記時間間隔を変更することを特徴とする請求項１記載の電子装置。
【請求項３】
前記時間間隔変更手段は、前記時間間隔を変更すると前記外部装置に対して前記時間間隔の変更応答を送信することを特徴とする請求項１又は２記載の電子装置。
【請求項４】
前記時間間隔変更手段は、前記外部装置からデータの書き換え終了指令とともに動作速度ダウン指令を受けた場合に前記時間間隔を変更前の時間間隔に戻すことを特徴とする請求項１〜３のいずれかに記載の電子装置。
【請求項５】
外部装置からの動作速度アップ指令を含むデータの書き換え指令を受信するステップと、
前記動作速度アップ指令に基づいて動作周波数を高めるステップと、
その高められた動作周波数を基準として、前記外部装置から書き換えデータを受信するとともに、その書き換えデータを用いて記憶部の記憶データを書き換えるステップとを備えることを特徴とする電子装置におけるデータ書き換え方法。
【請求項６】
前記動作周波数を高める処理が完了した後、その動作周波数が高められた旨を示す周波数変更信号を前記外部装置に返送するステップを備え、
前記外部装置は、前記周波数変更信号を受信すると、書き換えデータの送信速度を高めることを特徴とする請求項５記載の電子装置におけるデータ書き換え方法。
【請求項７】
前記外部装置は、動作速度アップ指令を送信した後、所定時間以内に前記周波数変更信号が返送されない場合、書き換えデータの送信速度を高めることなく、書き換えデータを送信することを特徴とする請求項６記載の電子装置のおけるデータ書き換え方法。
【請求項８】
前記外部装置からデータの書き換え指令及び動作周波数ダウン指令を受信した場合に、前記動作周波数を変更前の動作周波数に低下させるステップを備えることを特徴とする請求項５乃至７のいずれかに記載の電子装置におけるデータ書き換え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子装置及び電子装置におけるデータ書き換え方法に関するものである。
【０００２】
【従来の技術】
従来、外部装置から転送されるデータを用いて、電気的にデータの書き換えが可能な不揮発性メモリ内のデータを書き換えることを可能にした電子装置がある（例えば、特許文献１参照。）。この特許文献１に開示されている電子装置によれば、例えば、自動車に搭載されて、内燃機関型エンジンの制御を行うエンジン制御装置（以下、ＥＣＵと呼ぶ）の製造工程において、外部装置から所定量のデータを受信して、その受信したデータをＥＣＵに実装した不揮発性メモリへ書き込む。このデータの書き込みが完了すると、ＥＣＵは外部装置に対して次のデータの送信要求を出す。外部装置は、この送信要求を受信する毎に所定量のデータをＥＣＵへ送信する。このように、ＥＣＵからの送信要求を受信する毎にデータを外部装置からＥＣＵへ送信することで、外部装置からＥＣＵへ一定周期毎にデータを送信する場合に比べ通信時間が短縮される。
【０００３】
【特許文献１】
特開平１０−１１１８６３号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の電子装置は、データの通信時間を短縮するものであるが、不揮発性メモリにデータを書き込む時間を短縮するものではない。従って、膨大なデータを外部装置から電子装置へ転送して不揮発性メモリに書き込む場合には、データの通信速度の設定を高くしても、データを不揮発性メモリに書き込む時間は変わらないため、書き込み処理全体の時間短縮はあまり期待できない。
【０００５】
本発明は、かかる問題を鑑みてなされたもので、データの書き込み処理全体の所要時間を短縮することができる電子装置及び電子装置におけるデータ書き換え方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１に記載の電子装置は、データを記憶する記憶部と、一定の時間間隔で所定信号を生成する信号生成手段と、信号生成手段の所定信号を生成する時間間隔を変更する時間間隔変更手段と、信号生成手段による所定信号が生成される時間間隔を基準として、記憶部に記憶されるデータからなるプログラムに従った処理を実行する処理手段とを備え、時間間隔変更手段は、記憶部の記憶するデータの書き換え指令を受けた場合、プログラムに従った処理を実行する際に基準とする時間間隔よりも短い時間間隔に変更し、処理手段は、変更された短い時間間隔を基準として、記憶部の記憶するデータを外部装置から送られるデータに書き換えるデータ書き換え処理を実行することを特徴とする。
【０００７】
このように、本発明の電子装置は、記憶部に記憶されるデータの書き換え指令を受けた場合に、信号生成手段によって生成される信号の時間間隔をプログラムに従った処理を実行する際に基準とする時間間隔よりも短い時間間隔に変更したうえでデータ書き換え処理を実行する。すなわち、電子装置の中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、以下、ＣＰＵと呼ぶ）のクロック周波数をデータの書き換え処理を実行する場合に高くする。これにより、ＣＰＵの動作が高速になるため、記憶部へのデータの書き換えが高速に処理されるようになる。従って、外部装置から送られるデータ量が膨大であっても、ＣＰＵのクロック周波数を高くすることで、記憶部へのデータの書き換えに要する時間を短縮することができる。その結果、外部装置から電子装置へのデータの書き換え処理全体の所要時間が短縮される。
【０００８】
請求項２に記載の電子装置では、書き換え指令には動作速度アップ指令が含まれ、時間間隔変更手段は、外部装置から動作速度アップ指令を受けた場合に時間間隔を変更することを特徴とする。これにより、電子装置側では、外部装置からの要請によってＣＰＵのクロック周波数を変更することができる。また、外部装置からの動作速度アップ指令を受けない場合には、ＣＰＵのクロック周波数を変更することなく、通常のクロック周波数で処理するようにしてもよい。
【０００９】
請求項３に記載の電子装置によれば、時間間隔変更手段は、時間間隔を変更すると外部装置に対して時間間隔の変更応答を送信することを特徴とする。これにより、外部装置側では、電子装置のＣＰＵのクロック周波数が変更されたことを把握することが可能となり、この変更応答の受信後に書き換えデータを電子装置に送信することで、データの通信速度も高めることができる。
【００１０】
請求項４に記載の電子装置では、時間間隔変更手段は、外部装置からデータの書き換え終了指令とともに動作速度ダウン指令を受けた場合に時間間隔を変更前の時間間隔に戻すことを特徴とする。
【００１１】
すなわち、プログラムに従った処理を実行する場合には、電子装置内のリソース（例えば、タイマや通信ポート等）を頻繁に使用する。従って、このような多くのリソースを稼動する際に高いクロック周波数でＣＰＵを動作させると、そのリソースの使用頻度の影響によって消費電流が大きくなり、その結果、発熱量が増加し、電子装置の周囲温度が保証温度を越えるほど高温になることが考えられる。
【００１２】
しかしながら、データの書き換え処理を実行する場合には、電子装置内のリソースは、上述したプログラムに従った処理を実行する場合に比べ少なく済むため、保証温度を越えるほど高温にならない。また、データの書き換え時間は、多くの時間を必要としないため、保証温度を越える前に書き換え処理が終了する。
【００１３】
従って、データの書き換え処理が完了した場合には、クロック周波数の設定を元に戻すことで、プログラムに従った処理を実行する際の発熱量を抑制することができる。
【００１４】
請求項５に記載の電子装置におけるデータ書き換え方法は、外部装置からの動作速度アップ指令を含むデータの書き換え指令を受信するステップと、動作速度アップ指令に基づいて動作周波数を高めるステップと、その高められた動作周波数を基準として、外部装置から書き換えデータを受信するとともに、その書き換えデータを用いて記憶部の記憶データを書き換えるステップとを備えることを特徴とする。
【００１５】
これにより、高いクロック周波数に変更された後に記憶部へのデータの書き換えが行われるため、データの書き換えが高速に処理されるようになる。従って、外部装置から送られるデータ量が膨大であっても、データの書き換えに要する時間を短縮することができる。その結果、外部装置から電子装置へのデータの書き換え処理全体の所要時間が短縮される。
【００１６】
請求項６に記載の電子装置におけるデータ書き換え方法では、動作周波数を高める処理が完了した後、その動作周波数が高められた旨を示す周波数変更信号を外部装置に返送するステップを備え、外部装置は、周波数変更信号を受信すると、書き換えデータの送信速度を高めることを特徴とする。
【００１７】
電子装置のＣＰＵのクロック周波数が高められれば、それに伴って外部装置とのデータ通信の速度も高められる。従って、外部装置側でも、高速に処理されるようになった電子装置にあわせてデータの送信速度を高めることによって、データ通信に要する時間も短縮することができる。
【００１８】
請求項７に記載の電子装置におけるデータ書き換え方法によれば、外部装置は、動作速度アップ指令を送信した後、所定時間以内に周波数変更信号が返送されない場合、書き換えデータの送信速度を高めることなく、書き換えデータを送信することを特徴とする。これにより、ＣＰＵのクロック周波数を変更できない電子装置等に対しても、通常のデータ送信速度で書き換えデータを送信することができる。
【００１９】
請求項８に記載した電子装置におけるデータ書き換え方法の方法及び作用は、請求項４に記載した電子装置と同様であるため、その説明を省略する。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態における電子装置、電子装置におけるデータ書き換え方法について、図面に基づいて説明する。
【００２１】
図１に、自動車に搭載されるＥＣＵ１００と、ＥＣＵ１００に内蔵されたアプリケーションプログラムを書き換える際に、ＥＣＵ１００に接続される外部ツール２００の全体構成を表す。ＥＣＵ１００は、例えば、内燃機関型エンジンの制御を行うエンジン制御装置等である。
【００２２】
ＥＣＵ１００は、エンジンの運転状態を検出する様々なセンサからの信号を入力する入力部（図示せず）と、この入力部からのセンサ信号に基づいて、エンジンを制御するための様々な処理を実行するマイクロコンピュータユニット（以下、ＭＣＵと呼ぶ）１８０と、このＭＣＵ１８０からの制御信号に基づいて、エンジンに取り付けられたインジェクタ（燃料噴射弁）等のアクチュエータへ駆動信号を出力する出力部（図示せず）を備えている。
【００２３】
また、ＥＣＵ１００は、例えば、シリアルデータ通信等の通信ドライバ１４０を介して外部ツール２００と接続される。さらに、外部ツール２００からＣＰＵ１１０のクロックＵＰ要求信号を受信するためのクロックＵＰ要求ポート１７０と、ＣＰＵ１１０のクロックＵＰが完了した旨を外部ツール２００へ送信するためのクロックＵＰ応答ポート１６０がＭＣＵ１８０に内蔵されている。これら各ポートには、２値信号（Ｌｏｗ、Ｈｉｇｈ）が送受信され、クロックＵＰの要求や応答がある場合には“Ｈｉｇｈ”レベルの信号が送受信される。
【００２４】
ＭＣＵ１８０には、プログラムに従って動作する周知のＣＰＵ１１０、ＣＰＵ１１０を動作させるのに必要なプログラムやデータを格納する不揮発性メモリ（以下、フラッシュＲＯＭと呼ぶ）１２０、ＣＰＵ１１０の演算結果等を一時的に格納するＲＡＭ１３０、通信ドライバ１４０と接続されるデータ通信を行うための通信ポート１５０を備えている。
【００２５】
さらに、ＭＣＵ１８０は、上述したように、外部ツール２００との間で２値信号の送受信を行うクロックＵＰ応答ポート１６０及びクロックＵＰ要求ポート１７０を備えている。なお、これら各通信ポートは、外部ツール２００との間の信号をプルダウンするプルダウン抵抗１９０と接続されている。
【００２６】
ここで、ＭＣＵ１８０は、一定周期でＣＰＵ１１０の動作の基準となる所定信号（クロック）を生成する周知のクロックジェネレータ（図示せず）を備え、このクロックの１秒間に生成される回数（クロック周波数）がＣＰＵ１１０に内蔵された周知のクロック逓倍回路１１５によって所定数倍に増幅される。
【００２７】
なお、このクロック逓倍回路１１５は、クロックＵＰ要求ポート１７０を介して受信する２値信号に応じて、クロック周波数を増幅する倍数を変更する。すなわち、受信する２値信号が“Ｌｏｗ”レベルである場合には、クロック周波数を所定数倍に増幅し、一方、受信する電圧信号のレベルが“Ｈｉｇｈ”レベルである場合には、クロック周波数の増幅する倍数を所定数倍よりもさらに大きく（例えば、所定数×２倍等）する。
【００２８】
フラッシュＲＯＭ１２０は、データの書き換え可能な領域とデータの書き換えが不能な領域とに分割されており、これら各領域は、フラッシュＲＯＭ１２０の記憶領域に付されるアドレスによって指定されている。データの書き換え可能な領域には、ＥＣＵ１００の製造工程において、ＭＣＵ１８０がＥＣＵ１００へ実装された後にアプリケーションプログラムが新規に書き込まれる。また、データの書き換えが不能な領域には、後述する転送プログラムがＭＣＵ１８０のＥＣＵ１００への実装前に記憶されている。
【００２９】
ＣＰＵ１１０は、電源が供給されると、フラッシュＲＯＭ１２０内に記憶されたアプリケーションプログラムをコールして、このアプリケーションプログラムを実行する。このプログラムにおいて、ＥＣＵ１００と外部ツール２００との接続が判定され、接続されていないと判定した場合には、このアプリケーションプログラムに従った処理を継続して行う。
【００３０】
また、ＣＰＵ１１０は、アプリケーションプログラムにおいて、ＥＣＵ１００と外部ツール２００とが接続されていると判定し、さらに、通信ポート１５０にフラッシュＲＯＭ１２０の書き込みの要求信号を受信した場合には、フラッシュＲＯＭ１２０に記憶される転送プログラムをコールする。そして、この転送プログラムを実行する。
【００３１】
転送プログラムは、はじめに、クロックＵＰ要求ポート１７０から送信される２値信号のレベルを判定する。そして、この２値信号が“Ｈｉｇｈ”レベルであると判定した場合には、クロック逓倍回路１１５のクロック周波数の増幅する倍数を所定数倍よりもさらに大きくする。
【００３２】
このクロック逓倍回路１１５によってクロック周波数が高められると、転送プログラムは、外部ツール２００から送信されるフラッシュ書き込み／消去プログラムを通信ドライバ１５０を介して受信し、受信したプログラムをＲＡＭ１３０に格納する処理を実行する。そして、ＣＰＵ１１０は、ＲＡＭ１３０に格納したフラッシュ書き込み／消去プログラムをコールして、このプログラムを実行し、フラッシュＲＯＭ１２０のデータの書き換え可能な領域内に記憶されている、アプリケーションプログラムを外部ツール２００から送信されるアプリケーションプログラムに書き換える処理を行う。
【００３３】
なお、本実施形態の転送プログラムは、フラッシュＲＯＭ１２０のアプリケーションプログラムからコールされて起動するものであるが、フラッシュＲＯＭ１２０のデータの書き換え可能な領域にデータが書き込まれていない状態、すなわち、新規にアプリケーションプログラムを書き込む場合には、この転送プログラムがはじめにコールされてもよい。
【００３４】
一方、外部ツール２００は、周知のＣＰＵ、ＲＡＭ、及びＲＯＭ２１０等を内蔵したマイクロコンピュータであり、図示しない通信ドライバを介してＥＣＵ１００と接続される。外部ツール２００は、この通信ドライバを介してＥＣＵ１００とのデータ通信を行う。さらに、ＥＣＵ１００のクロックＵＰ要求ポート１７０に対して２値信号を送信したり、ＥＣＵ１００のクロックＵＰ応答ポート１６０から２値信号を受信したりする通信ポート（図示せず）によって外部ツール２００と接続されている。
【００３５】
外部ツール２００は、図示しないＯＮ／ＯＦＦ回路により、ＥＣＵ１００のクロックＵＰ要求ポート１７０へ送信する２値信号のレベルを切り替える。例えば、ＯＮ／ＯＦＦ回路は、外部ツール２００のＣＰＵからの指令に従って、クロックＵＰ要求ポート１７０との接続を切り替える。この接続切替えにより、クロックＵＰ要求ポート１７０への２値信号のレベルが変更される。
【００３６】
また、外部ツール２００は、クロックＵＰ要求ポート１７０の２値信号のレベルを“Ｈｉｇｈ”レベルに切り替えた後に、クロックＵＰ応答ポート１６０から“Ｈｉｇｈ”レベルの２値信号を受信すると、上述した通信ドライバのデータ通信速度の設定を高くする。
【００３７】
このデータ通信速度の設定変更が完了すると、ＲＯＭ２１０の記憶するフラッシュ書き込み／消去プログラムと新たなアプリケーションプログラムをＥＣＵ１００に対して送信する。そして、これらプログラムの送信が完了すると、ＯＮ／ＯＦＦ回路の動作によって、クロックＵＰ要求ポート１７０との接続を解除して、このクロックＵＰ要求ポート１７０への２値信号のレベルが“Ｌｏｗ”レベルに切り替えられる。
【００３８】
次に、外部ツール２００とＥＣＵ１００との間で行われるデータ書き換え処理について、図２に示す外部ツール２００とＥＣＵ１００のシーケンスチャートを用いて説明する。なお、外部ツール２００とＥＣＵ１００は、作業者等によって接続され、共に所定の初期化処理等が完了した状態であるとする。
【００３９】
まず、外部ツール２００のＯＮ／ＯＦＦ回路によって、クロックＵＰ要求ポート１７０との接続がなされる。すると、外部ツール２００からＭＣＵ１８０へ送信される２値信号が“Ｈｉｇｈ”レベルに変更される（１）。外部ツール２００は、ＭＣＵ１８０に対してフラッシュ書き込みの要求信号を送信する（２）。
【００４０】
ＭＣＵ１８０は、外部ツール２００からのフラッシュ書き込みの要求信号を受信すると、フラッシュＲＯＭ１２０内の転送プログラムをコールし、アプリケーションプログラムから転送プログラムへ処理を切り替える（３）。この転送プログラム内で、クロックＵＰ要求ポート１７０をモニタし、“Ｈｉｇｈ”レベルであればクロック逓倍回路１１５をコントロールし、ＭＣＵ１８０のクロック周波数を上げ、クロック逓倍回路１１５の動作クロックが安定するまで待機する（４）。
【００４１】
動作クロックが安定したならば、ＭＣＵ１８０からクロックＵＰ応答ポート１６０を介して外部ツール２００へ“Ｈｉｇｈ”レベルの２値信号を送信する（５）。外部ツール２００は、クロックＵＰ応答ポート１６０と接続される通信ポートをモニタし、“Ｈｉｇｈ”レベルの２値信号を受信した場合には、クロック周波数をアップしたＭＣＵ１８０に併せて、通信ドライバのデフォルト設定された通信速度よりも高い通信速度に変更する（６）。
【００４２】
外部ツール２００において通信速度の設定変更が完了すると、外部ツール２００からＭＣＵ１８０へフラッシュ書き込み／消去プログラムを転送し（７）、ＭＣＵ１８０は、受信したこのプログラムをＲＡＭ１３０に書き込む（８）。このＲＡＭ１３０への書き込みが完了すると、ＣＰＵ１１０は、ＲＡＭ１３０のフラッシュ書き込み／消去プログラムをコールし、転送プログラムからフラッシュ書き込み／消去プログラムへ処理を切り替える（９）。
【００４３】
ＭＣＵ１８０がフラッシュ書き込み／消去プログラムへ処理を遷移すると、外部ツール２００は、ＲＯＭに記憶する新アプリケーションプログラムをＭＣＵ１８０へ転送する（１０）。ＭＣＵ１８０は、フラッシュＲＯＭ１２０の書き換え可能な領域に記憶される旧アプリケーションプログラムを消去したのち、受信したプログラムのデータをフラッシュＲＯＭ１２０の書き換え可能な領域へ書き込む（１１）。
【００４４】
なお、外部ツール２００からは、新アプリケーションプログラムを構成するデータが分割されて送信されるため、分割されたデータの書き込みが完了すると、ＭＣＵ１８０から外部ツール２００へ書き込み完了の応答を送信する（１２）。そして、外部ツール２００から新アプリケーションプログラムのデータが全て転送され、フラッシュＲＯＭ１２０に全て書き込まれるまで、プログラムの転送（１０）、書き込み（１１）、及び応答（１２）の処理が繰り返される。
【００４５】
新アプリケーションプログラムの全ての書き込みが完了すると、外部ツール２００は、ＯＮ／ＯＦＦ回路によって、クロックＵＰ要求ポート１７０との接続を解除する。すると、外部ツール２００からＭＣＵ１８０へ送信される２値信号が“Ｌｏｗ”レベルに変更される（１３）。その後、外部ツール２００は、ＭＣＵ１８０に対してフラッシュ書き込みの終了要求信号を送信する（１４）。
【００４６】
ＭＣＵ１８０は、フラッシュ書込みの終了要求を受信すると、クロックＵＰ要求ポート１７０をモニタし、２値信号のレベルが“Ｌｏｗ”レベルであれば、クロック逓倍回路１１５をコントロールし、ＭＣＵ１８０のクロック周波数を元のクロック周波数に戻す。
【００４７】
次に、外部ツール２００において実行される処理について、図３に示すフローチャートを用いて説明する。なお、外部ツール２００は、ＥＣＵ１００と接続され、所定の初期化処理等が完了した状態であるとする。
【００４８】
図３のステップＳ１０では、クロック周波数のアップ要求を出すため、クロックＵＰ要求ポート１７０との接続がなされる。これにより、ＭＣＵ１８０へ送信される２値信号が“Ｈｉｇｈ”レベルに変更される。ステップＳ１１では、フラッシュ書き込みの要求信号を送信する。
【００４９】
ステップＳ１２では、クロックＵＰ応答ポート１６０と接続される通信ポートをモニタするとともに、フラッシュ書き込み要求信号を送信してからの時間をカウントする。そして、カウント時間が所定時間長さのタイムアウト時間を超えたか否かを判定し、このタイムアウト時間を超えていない場合には、ステップＳ１３へ処理を進め、“Ｈｉｇｈ”レベルの電圧信号を受信したか否かを判定する。ここで、“Ｈｉｇｈ”レベルの２値信号を受信した場合には、ステップＳ１４へ処理を進め、これに該当しない場合にはステップＳ１２へ処理を移行する。
【００５０】
このステップＳ１２において、カウント時間がタイムアウト時間を超えたと判定した場合には、ステップＳ１５へ処理を移行する。このように、クロックＵＰ応答がＥＣＵ１００から送信されない場合には、通常の通信速度でデータ通信を行うようにすることで、ＣＰＵのクロック周波数を変更できないＥＣＵに対しても、データの送信をすることが可能となる。
【００５１】
ステップＳ１４では、ＭＣＵ１８０のクロック周波数をアップしたＭＣＵ１８０に併せて、デフォルト設定された通信速度よりも高い通信速度に変更する。このように、外部ツール２００の通信速度を高めることで、データ通信に要する時間も短縮することができる。
【００５２】
ステップＳ１５では、ＭＣＵ１８０へフラッシュ書き込み／消去プログラムを転送する。このフラッシュ書き込み／消去プログラムを転送が完了すると、ステップＳ１６では、ＲＯＭに記憶する新アプリケーションプログラムのデータをＭＣＵ１８０へ転送する。
【００５３】
ステップＳ１７では、ＭＣＵ１８０から書き込み完了の応答を受信したか否かを判定し、書き込み完了の応答を受信し、かつ新アプリケーションプログラムの全てのデータが転送されていない場合には、ステップＳ１６に処理を移行し、新アプリケーションプログラムの全てのデータが転送されるまで継続して行う。一方、書き込み完了の応答を受信し、かつ新アプリケーションプログラムの全てのデータが転送された場合には、ステップＳ１８へ処理を進める。また、この書き込み完了の応答がない場合は、ＭＣＵ１８０のエラー（フラッシュ書き込み／消去エラー等）と判定し、ステップＳ１８へ処理を進める。
【００５４】
ステップＳ１８では、ＯＮ／ＯＦＦ回路によって、クロックＵＰ要求ポート１７０との接続が解除される。すると、外部ツール２００からＭＣＵ１８０へ送信される２値信号が“Ｌｏｗ”レベルに変更される。ステップＳ１９では、ＭＣＵ１８０に対してフラッシュ書き込みの終了要求信号を送信する。
【００５５】
続いて、ＥＣＵ１００において実行される処理について、図４及び図５に示すフローチャートを用いて説明する。なお、ＥＣＵ１００は外部ツール２００と接続され、所定の初期化処理等が完了した状態であるとする。
【００５６】
先ず、ステップＳ２０では、外部ツール２００からのフラッシュ書き込みの要求信号を受信すると、転送プログラムをコールする。ステップＳ２１では、アプリケーションプログラムから転送プログラムへ処理を切り替える。
【００５７】
ステップＳ２２では、クロックＵＰ要求ポート１７０をモニタし、２値信号のレベルが“Ｈｉｇｈ”レベルであるか否かを判定する。すなわち、外部ツール２００からクロックＵＰ要求がなされたか否かを判定する。ここで、２値信号が“Ｈｉｇｈ”レベルであればステップＳ２３へ処理を進め、これに該当しない場合には、ステップＳ２６へ処理を移行する。
【００５８】
ステップＳ２３では、クロック逓倍回路１１５をコントロールし、ＭＣＵ１８０のクロック周波数を増幅する倍数を所定数倍よりもさらに大きくする。このように、ＥＣＵ１００では、外部ツール２００からクロックＵＰ要求があった場合にクロック周波数を高めている。また、クロックＵＰ要求がない場合には、クロック周波数を高めることなく以下の処理が実行される。
【００５９】
ステップＳ２４では、クロック逓倍回路１１５の動作クロックが安定したか否かを判定し、安定した場合にはステップＳ２５へ処理を進め、安定していない不安定な場合には、動作クロックが安定するまで待機する。
【００６０】
動作クロックが安定したならば、ステップＳ２５において、外部ツール２００へ“Ｈｉｇｈ”レベルの２値信号を送信する。これにより、外部ツール２００では、ＥＣＵ１００のＣＰＵのクロック周波数が高められたことを把握することができる。
【００６１】
ステップＳ２６では、外部ツール２００から転送されるフラッシュ書き込み／消去プログラムをＲＡＭ１３０に書き込み、このＲＡＭ１３０への書き込みが完了すると、ステップＳ２７では、ＲＡＭ１３０に書き込んだフラッシュ書き込み／消去プログラムをコールし、転送プログラムからフラッシュ書き込み／消去プログラムへ処理を切り替える。
【００６２】
図５に示すステップＳ２８では、外部ツール２００からのフラッシュ書き込みの終了要求信号を受信したか否かを判定し、終了要求信号を受信した場合には、ステップＳ３０へ処理移行し、終了要求信号を受信していない場合には、ステップＳ２９へ処理を進める。
【００６３】
ステップＳ２９では、外部ツール２００から受信したプログラムのデータをフラッシュＲＯＭ１２０の書き換え可能な領域へ書き込む。なお、上述したように、外部ツール２００からは、新アプリケーションプログラムを構成するデータが分割されて送信されるため、分割されたデータの書き込みが完了すると、外部ツール２００に対して書き込み完了の応答を送信する。そして、外部ツール２００から新アプリケーションプログラムのデータが全て転送され、フラッシュＲＯＭ１２０に全て書き込まれるまで、ステップＳ２８及びステップＳ２９の処理が繰り返される。
【００６４】
ステップＳ３０では、フラッシュ書込みの終了要求を受信したのち、クロックＵＰ要求ポート１７０をモニタし、２値信号のレベルが“Ｌｏｗ”レベルであれば、クロック逓倍回路１１５をコントロールし、ＭＣＵ１８０のクロック周波数を元のクロック周波数に戻す。
【００６５】
すなわち、アプリケーションプログラムに従った通常の処理を実行する場合に、高いクロック周波数で動作させると、ＥＣＵ１００内のリソース（例えば、図示しないタイマや通信ポート等）を頻繁に使用するため、その使用頻度の影響によって消費電流が大きくなり、その結果、発熱量が増加し、ＭＣＵ１８０の周囲温度が保証温度を越えるほど高温になることが考えられる。
【００６６】
しかしながら、データの書き換え処理を実行する場合には、ＥＣＵ１００内のリソースは、上述したアプリケーションプログラムに従った通常の処理を実行する場合に比べ少なく済むため、保証温度を越えるほど高温にならない。また、データの書き換え時間は、多くの時間を必要としないため、保証温度を越える前に書き換え処理が終了する。
【００６７】
従って、データの書き換え処理が完了した場合には、クロック周波数の設定を元に戻すことで、アプリケーションプログラムに従った処理を実行する際の発熱量を抑制することができる。
【００６８】
このように、本実施形態における電子装置、電子装置におけるデータ書き換え方法は、外部ツール２００からデータの書き換え指令を受けた場合に、ＭＣＵ１８０のＣＰＵ１１０のクロック周波数をデータの書き換え処理を実行する場合に限り高くする。
【００６９】
これにより、ＣＰＵ１１０の動作がアプリケーションプログラムを実行する際の動作よりも高速になるため、ＲＯＭ１２０へのデータの書き換えも高速になる。従って、外部ツール２００から送られるデータ量が膨大であっても、ＣＰＵ１１０のクロック周波数を高くすることで、ＲＯＭ１２０へのデータの書き換えに要する時間を短縮することができる。その結果、外部ツール２００からＥＣＵ１００へのデータの書き換え処理全体の所要時間が短縮される。
【００７０】
また、ＣＰＵ１１０のクロック周波数を高くした後に、外部ツール２００からデータを受信するため、外部ツール２００とＥＣＵ１００との間のデータ通信が高速になる。従って、データ通信に要する時間がＣＰＵ１１０のクロック周波数を高くすることによって短縮されるため、データの書き換え処理全体の所要時間を短縮することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係わる、ＥＣＵ１００及び外部ツール２００の全体の概略を示すブロック図である。
【図２】本発明の実施形態に係わる、ＭＣＵ１８０及び外部ツール２００の処理を示すシーケンスチャートである。
【図３】本発明の実施形態に係わる、外部ツール２００における処理を示すフローチャートである。
【図４】本発明の実施形態に係わる、ＭＣＵ１８０における処理の前半部分を示すフローチャートである。
【図５】本発明の実施形態に係わる、ＭＣＵ１８０における処理の後半部分を示すフローチャートである。
【符号の説明】
１００  ＥＣＵ
１１０  ＣＰＵ
１１５  クロック逓倍回路
１２０  フラッシュＲＯＭ
１８０  ＭＣＵ
２００  外部ツール
【図１】
2004220519.tif 000003
【図２】
2004220519.tif 000004
【図３】
2004220519.tif 000005
【図４】
2004220519.tif 000006
【図５】
2004220519.tif 000007