JP2004152387A - 計数情報の書き込み方法、プログラム、および装置、ならびに車載電子制御装置 - Google Patents
計数情報の書き込み方法、プログラム、および装置、ならびに車載電子制御装置 Download PDFInfo
- Publication number
- JP2004152387A JP2004152387A JP2002315670A JP2002315670A JP2004152387A JP 2004152387 A JP2004152387 A JP 2004152387A JP 2002315670 A JP2002315670 A JP 2002315670A JP 2002315670 A JP2002315670 A JP 2002315670A JP 2004152387 A JP2004152387 A JP 2004152387A
- Authority
- JP
- Japan
- Prior art keywords
- information
- updated
- writing
- update information
- update
- 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.)
- Granted
Links
Images
Abstract
【解決手段】更新の度に1だけ値を増やすようになっている複数の計数情報をEEPROM3に書き込む計数情報の書き込みにおいて、計数情報を更新するときに、この更新する旨の情報である更新情報をEEPROM3の所定の更新情報領域に書き込む段階(ステップ206)と、書き込まれた更新情報を複数個読み出し、読み出した複数個の更新情報にもとづいて、更新後の計数情報をEEPROM3に書き込む段階(ステップ205)と、を備え、また更新情報のそれぞれは、同時期に更新される複数の計数情報の識別子をそれぞれ1ビットがオンである状態として含む。
【選択図】 図4
Description
【発明の属する技術分野】
本発明は、自動車用制御装置等における、更新の度に所定数だけ値を増やすようになっている計数情報を不揮発性記憶装置に書き込む方法およびプログラムに関するものである。
【0002】
【従来の技術】
一般に、EEPROM等の書き込み可能な不揮発性記憶装置には、1セル(書き込み単位)当たりの書き込み回数に上限があり、この書き換え保証回数を超えて書き込みが行われると、書き込まれた記憶内容の信頼性は全く保証の限りでなくなる。
【0003】
例えば、車両に搭載され、エンジン等の故障情報を検知して記憶するOBD(On Board Diagnosis)機能を備えるECUは、故障情報を記憶するためのEEPROMを通常有している。このOBDに対する制約として、CARB(カリフォルニア待機資源保護局)によるOBD2の法規がある。OBD2は、エンジンの異常で有毒な排気ガスが放出されるのを防ぐことを目的とし、米国内で販売する全ての車両にエンジンの排気ガス生成に関するシステムが正常に作動しているかを監視する機能を備えるECUの搭載を義務づける法規制である。
【0004】
例えば、OBD2のRateBaseモニタ法では、サービス09のIPT(In−use Performance Tracking)に関連して、下記の式で定義されるモニタ頻度を継続的に記憶しておく必要がある。
【0005】
モニタ頻度=モニタリング実施回数/運転回数
なお、モニタ頻度は、故障診断を実施した頻度であり、触媒コンバータ、フューエルエバポレーションシステム、酸素センサ等といった複数の項目の診断についてそれぞれ存在する。そして、運転回数(以下、分母と記す)は、その項目について法規で定められた所定の走行条件が満たされたときにインクリメントされるデータである。また、モニタリング実施回数(以下、分子と記す)は、その項目について自動車メーカで定めた故障診断実施条件が満たされて、正常または異常の判定が終了した時点で、インクリメントされるデータである。このような、更新の度に所定数だけ値を増やすようになっているデータである計数情報は、非常に更新頻度が高い。したがって、このような計数情報を不揮発性記憶装置に記憶するようにすると、車両の耐用年数以内に、計数情報の書き換え回数が不揮発性記憶装置の書き換え保証回数を超えてしまう恐れがある。
【0006】
この問題を解決する手段として、特許文献1のように、1つの書き込みデータに対して不揮発性記憶装置上にエリアをn組(nは2以上の整数)用意し、1つのエリアで書き込み回数が上限値に達したら、書き込み位置を別のエリアに移すようにする技術がある。これによって、1つのセル当たりの書き込み回数を抑えることで、書き換え保証回数を実質上n倍にすることが可能になる。
【0007】
【特許文献1】
特開2000−182385号公報
【0008】
【発明が解決しようとする課題】
しかし、上記特許文献1のような技術では、記録するデータ数のn倍の記憶容量が不揮発性記録装置に求められ、コスト高にもなるという問題がある。
【0009】
本発明は上記点に鑑みて、計数情報を書き込むようになっている不揮発性記憶装置の容量を抑え、かつ1セルあたりの書き込み回数を抑えることを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するための請求項1に記載の発明は、更新の度に所定数だけ値を増やすようになっている複数の計数情報を不揮発性記憶装置に書き込む計数情報の書き込み方法であって、計数情報を更新するときに、この更新する計数情報の識別子を有する更新情報を不揮発性記憶装置の所定の更新情報領域に書き込む段階と、書き込まれた更新情報を複数個読み出し、読み出した複数個の更新情報に含まれる識別子にもとづいて、更新後の計数情報を不揮発性記憶装置に書き込む段階と、を備え、更新情報のそれぞれは、同時期に更新される複数の計数情報の識別子を含むようになっていることを特徴とする計数情報の書き込み方法である。
【0011】
これによって、所定の更新情報領域に書き込まれた複数の更新情報をまとめた上で、更新後の計数情報を不揮発性記憶装置に書き込む。計数情報は、更新の度に所定数だけ値を増やすようになっているので、更新情報が更新される計数情報の識別子を有してさえいれば、その計数情報がどのように更新されるかがわかる。このように、複数の更新情報をまとめて更新後の計数情報を書き込むので、計数情報を書き込むようになっている不揮発性記憶装置の1セルあたりの書き込み回数を抑えることが可能となる。
【0012】
また、更新情報のそれぞれは、同時期に更新される複数の計数情報の識別子を含むようになっているので、更新情報のそれぞれが単一の計数情報の識別子を含める場合にくらべ、更新情報そのものの書き込み回数が減る。また、所定の更新領域が、不揮発性記憶装置に書き込まれる計数情報に未だ反映されていない更新情報で一杯になるのが遅いので、更新情報領域の容量を抑えることができる。
【0013】
これらのことから、不揮発性記憶装置の容量を抑え、かつ1セルあたりの書き込み回数を抑えることができる。
【0014】
また、請求項2の発明は、請求項1に記載の計数情報の書き込み方法において、更新情報の各ビットの特定の状態を、同時期に更新される各計数情報の識別子とすることを特徴とする。
【0015】
なお、各ビットの特定の状態とは、各ビットのオンおよびオフのいずれか特定の状態のことである。
【0016】
また、請求項3に記載の発明は、請求項1または2のいずれか1つに記載の計数情報の書き込み方法において、所定の更新情報領域に空き領域がないときに、更新後の計数情報を不揮発性記憶装置に書き込み、更新情報領域の全てを空き状態にすることを特徴とする。
【0017】
また、請求項4〜6の発明は、それぞれ請求項1〜3の発明をコンピュータプログラムとして実現する発明である。
【0018】
また、請求項7〜9の発明は、それぞれ請求項1〜3の発明を計数情報の書き込み装置として実現する発明である。
【0019】
また、請求項10に記載の発明は、車両に搭載された車載機器を制御し、所定の条件が満たされた場合にこの車載機器における診断対象の故障診断を実施し、この車両の1ドライビングサイクル中、計数情報である運転回数を車両が所定の運転状態となったときに1回分だけ更新すると共に、同じく計数情報である故障診断回数を故障診断が実施されたときに1回分だけ更新する車載電子制御装置において、計数情報を更新するときに、この更新する前記計数情報の識別子を有する更新情報を不揮発性記憶装置の所定の更新情報領域に書き込む段階と、書き込まれた更新情報を複数個読み出し、読み出した複数個の更新情報に含まれる識別子にもとづいて、更新後の計数情報を不揮発性記憶装置に書き込む段階と、を備え、更新情報のそれぞれは、同時期に更新される複数の計数情報の識別子を含むようになっていることを特徴とする計数情報の書き込み方法である。
【0020】
これによって、車載電子制御装置において、請求項1と同等の効果を得ることができる。
【0021】
また、請求項11の発明は、請求項10の発明を車載電子制御装置として実現する発明である。
【0022】
【発明の実施の形態】
(第1実施形態)
図1に、本発明の一実施形態に係るエンジンECU(車載電子制御装置、以下の記載はECUとする)1の構成を示す。エンジンECU1は、車両のエンジンの状態を検知し、またエンジンの作動の制御を行うと共に、車両の排気ガスの清浄化に寄与する各種車載機器の動作状態をチェックするための装置である。このエンジンECU1は、CPU2、EEPROM3、ROM4、およびRAM5を備えている。
【0023】
このエンジンECU1は、前述したCARB・ODB2のRateBaseモニタ法で定められている故障診断対象項目の各々について、その項目の故障診断実施条件が成立した場合には、該当する項目についての故障診断処理を実施して正常または異常の判定を行う。そして更にエンジンECU1は、上記した故障診断対象項目について、前述したモニタ頻度を表す分子(モニタリング実施回数)と分母(運転回数)のデータを、EEPROM3を用いて継続的に保存、更新する。
【0024】
またこのエンジンECU1には、図示しないツールと呼ばれる外部診断装置を図示しないダイアグ用コネクタを介して接続可能となっている。そして工場、カーディーラ等における診断において、エンジンECU1は、ツールからの故障診断に関する出力要求に応じたデータ(例えば上記した分子、分母)をこのツールに出力するようになっている。
【0025】
CPU2は、書き換え不能な不揮発性メモリであるROM4に書き込まれているプログラムを読み出し、そのプログラムの処理内容を実行し、この実行の段階において必要があればEEPROM3および揮発性メモリであるRAM5に対して情報の読み出し/書き込みを行う。またCPU2は動作時に、イグニッション線を介してイグニッションキーの切り替わりを検知し、車速センサから車速情報の入力を受け、外気温センサから外気温の情報の入力を受け、気圧センサから気圧値の入力を受け、また図示しない各種センサ類から、アイドル信号、クランク角等の車両に関する各種情報の入力を受ける。またCPU2は、後述する触媒バンク、2次エア装置、エバポ装置、O2センサ(図示せず)等の排気ガス清浄化に寄与する装置から、それらが正常に動作しているかどうかをチェックするために情報の入力を受ける。またCPU2は動作時に、必要に応じてエンジンの点火装置や噴射装置に制御信号を出力する。
【0026】
EEPROM3は、電気的に書き換え可能な不揮発性記憶装置である。一般に不揮発性記憶装置には、同一のセルへの書き込み回数に上限がある。この上限を書き換え保証回数という。この書き換え保証回数を超えて書き込みが行われると、書き込まれた記憶内容の信頼性は全く保証の限りでなくなる。本実施形態のEEPROMでは、この書き換え保証回数が10万回であるとする。
【0027】
なお、「あるデータをEEPROM3のある領域に書き込む」という表現と「EEPROM3のある領域をあるデータに書き換える」という表現は、同じ動作の別の表現形態であって、「書き込む」と「書き換える」という表現の間には、技術上の差違はない。
【0028】
図2に、このEEPROM3のメモリ構成を示す。このEEPROM3は、43バイトの記憶領域を備えている。各バイトは、#1から#43までのアドレスが順に付与されることで区別される。
【0029】
アドレス#1、#2には、このEEPROM3に書き込まれた全情報をエンジンECU1の外部から取得するスキャンツールとの通信用のデータが書き込まれている。また#3には、EEPROM3に書き込まれるデータを、その目的、用途によって項目別に分けた場合の、その項目数が書き込まれている。#1〜#3のデータは、エンジンECU1の工場出荷以降書き換えられることが全くないか、あるいはほとんどないものなので、エンジンECU1の耐用年数内に書き換え回数がEEPROM3の書き換え保証回数の上限を超えることは、通常の使用ではあり得ない。
【0030】
#4以降の記憶領域には、連続する2バイト(16ビット)で1つの項目を表現するデータが16個書き込まれるようになっている。
【0031】
#4〜#35までは、計数情報が記録される。計数情報とは、更新の度に所定数だけ値を増やすようになっている情報のことである。本実施形態の計数情報は、更新の度に1だけ値を増やすようになっている。例えば、アドレス#6、#7で指定される項目の計数情報は、車両のイグニッションキーがオンとなる度に1つ値が増えるIGカウンタ値である。本実施形態においては、このIGカウンタ値が最も更新頻度が高い。
【0032】
このIGカウンタ値のように、各計数情報は1回分だけ更新されるための条件を有している。本明細書では、この条件をカウント条件と呼ぶ。すなわち、IGカウンタ値のカウント条件は、イグニッションキーがオンとなったことである。なお、イグニッションキーがオンとなってからオフとなるまでの期間は、トリップと呼ばれる。
【0033】
#4、#5に記録されているのは、一般分母と呼ばれる計数情報である。この一般分母のカウント条件は、車両位置の高度が8000フィート未満、外気温が20°F以上、エンジン始動後累積時間が600秒以上、車速>25マイル/秒である時間が300秒以上、およびアイドル時間が連続30秒以上という条件を全て満たしていることである。以下、このカウント条件を条件Aと記す。カウント条件Aは、車両がある程度走行した回数を一般分母に書き込むための条件であると言える。したがって、この一般分母は運転回数であると言える。
【0034】
#8、#9には、触媒バンク1(分子)と呼ばれる計数情報が記録される。触媒とは、車両の排気ガスからCO、NOx等の有害物質をある程度吸着除去することで、排気ガスの浄化を行うものである。触媒バンク1(分子)のカウント条件は、この触媒の有害物質の吸着をモニタする装置が安定的に作動することである。
【0035】
#28、29には、2次エア(分子)と呼ばれる計数情報が記録される。2次エアとは、触媒による排気ガスの浄化の効率を高めるために、触媒に送る前の排気ガスに車外の空気を混ぜ合わせる装置である。2次エア(分子)のカウント条件は、この2次エアの装置が正常に作動しているか否かをモニタする装置が安定的に作動することである。
【0036】
#32、#33にはエバポ(分子)と呼ばれる計数情報が記録される。エバポとは、蒸発による燃料漏れを検知する装置である。エバポ(分子)のカウント条件は、このエバポが安定的に作動することである。
【0037】
なお、これらの各カウント条件は、1トリップで最大1度しか満たされないようになっている。すなわち、各カウント条件は、1トリップ内で一度満たされれば、同じトリップ内で再度満たされても、それをもってカウント条件が満たされるということにはしないようになっている。
【0038】
#10、#11には触媒バンク1(分母)と呼ばれる計数情報が記録される。この計数情報のカウント条件は、条件Aと同じである。
【0039】
#30、#31には2次エア(分母)と呼ばれる計数情報が記録される。この計数情報のカウント条件は、条件Aに加え、2次エアの装置が10秒以上作動していることである。
【0040】
#34、#35にはエバポ(分母)と呼ばれる計数情報が記録される。この計数情報のカウント条件は、条件Aに加え、エンジン始動後外気温が40°F以上95°F未満が1000秒以上続き、かつエンジン始動時の水温が40〜95°Fで外気温との差が12°F以下であることである。
【0041】
なお、図2中には示していないが、EEPROM3中にはプライマリO2センサ(分子)およびプライマリO2センサ(分母)と呼ばれる計数情報も記録される。プライマリO2センサとは、点火のための混合気中の酸素量を計測する装置である。プライマリO2センサ(分母)のカウント条件は条件Aと同じである。
【0042】
プライマリO2センサ(分子)のカウント条件は、このプライマリO2センサが安定的に作動する条件下で、センサが正常に作動している、あるいはしていないことを判別できることである。具体的には、例えば、
(a)エンジン始動後、十分な時間が経過していること、
(b)エンジン始動後、一定以上の速度での走行をした後であること、
(c)アイドリング中であること、
このa)〜c)の条件下で一定時間センサ出力をモニタしたことをカウント条件とすることができる。
【0043】
なお、これら分母データおよび分子データは、両方共に、自動車のドライビングサイクル、例えばイグニッションスイッチがオンされてオフされるまでの間(すなわち、エンジンECU1に動作電源が投入されてその動作電源が遮断されるまでの1回の動作期間中)に、または「エンジン始動されて、その後エンジン停止されて、更に次のエンジン停止」までの間、1回だけインクリメントされるか、あるいはインクリメントされずにそのままの値を維持するかの何れかである。よって、各項目の分母と分子は、1インクリメントされると、その回の自動車の運転期間中では、それ以上値が更新されることはない。
【0044】
また、同時期に複数の計数情報についてのカウント条件が成立している場合もありうる。以下、この#3〜#35までの記憶領域を項目領域と記す。
【0045】
また、#36〜#43までの記憶領域には、各2バイトから成る更新情報1、更新情報2、更新情報3、および更新情報4が書き込まれるようになっている。以下、この#36〜#43までの記憶領域を更新情報領域と記す。このように、EEPROM3内の更新情報領域の位置はあらかじめ定められている。
【0046】
以下、簡単のために、通常書き換えられることのないEEPROM3中の#1〜#3の領域は省略して、エンジンECU1の作動について説明する。
【0047】
そのようなEEPROM3の項目領域および更新情報領域のメモリ構成を図3に示す。2バイトのワード長のデータスロットが項目領域にm個、更新情報領域にn個、合わせてm+n個ある。ただし、mは16を超えない整数であり、本実施形態においては、上述した通りmは16であり、nは4である。
【0048】
項目領域はm個のデータスロットを有しており、それぞれのデータスロットが1項目に対応している。各々のデータスロットには、更新の度に所定数だけ値を増やすようになっている計数情報が書き込まれる。本実施形態では、この所定数は1である。
【0049】
本実施形態においては、上記したカウント条件が成立したとき、直ちに更新された当該計数情報を所定の項目に書き込むのではなく、原則的に更新する旨の情報である更新情報を更新情報領域の1つのスロットに書き込むようになっている。そして、更新情報が一定数書き込まれた段階で、これら書き込まれた複数の更新情報に基づいて、計数情報の更新後の値を所定の項目に書き込むようになっている。
【0050】
これを実現するためのCPU2の動作を示す処理ルーチンを図4に示す。
【0051】
このルーチンは、エンジンECU1の起動直後に実行が開始され、エンジンECU1の作動が停止するまで実行されつづける。
【0052】
なお、このCPU2は、このルーチンと同時に並行して他の処理も実行するようになっている。他の処理とは、エンジン噴射や点火タイミングの制御、外気温センサ、車速センサ、アイドルセンサ等からの入力に基づいた所定の条件すなわちカウント条件の判定、およびカウント条件が満たされた時の触媒、2次エア装置等の故障診断等である。このカウント条件の判定においては、例えば条件Aの判定の場合には、気圧センサから入力された気圧値と、ROMに記載されている気圧と高度との対応表に基づいて車両位置の高度を導き出し、外気温センサからの入力によって外気温を取得し、車速センサからの入力によって車速を取得する等によって、必要な情報を集めた上で判定を行う。
【0053】
以下、この図4の処理について説明する。ステップ201では、更新情報の作成を行う。この更新情報作成の処理の詳細を図5に示す。この更新情報作成処理は、ループ301内の処理を、項目数すなわち計数情報の数mだけ繰り返し、それぞれの繰り返しにおいて項目番号iを1からmまで1づつ変化させ、その繰り返しによって最終的に得た更新情報をステップ305で戻り値として返すような関数の形態をとっている。
【0054】
ステップ302では、i番目の計数情報についての上記したカウント条件が成立するという条件式を評価する。
【0055】
カウント条件が成立していなければ、評価値は偽(False)となり、ループの1サイクルが終了する。
【0056】
カウント条件が成立していれば、評価値は真(True)となり、処理はステップ303に進む。ステップ303では、更新情報に項目番号iをセットする。ここで、項目番号iのセットとは、更新情報の最上位ビットからi番目のビットをオンにすることである。従って、更新情報の最上位ビットからi番目のビットの、オンであるという状態が、更新される計数情報の識別子であると言える。つまり、更新情報のそれぞれは、更新される計数情報の識別子を含んでおり、またその識別子とは、更新情報の各ビットの特定の状態すなわちオンである状態となっている。
【0057】
ステップ303が終了すると、ループの1サイクルが終了する。
【0058】
このような処理を項目番号iの1からmまでの範囲について繰り返すことで、更新される計数情報に対応するビットがオン、その他のビットがオフとなる更新情報が生成され、ループが終了する。本実施形態においては、m=16、更新情報が2バイト(16ビット)データとなっているので、更新情報のビット数と計数情報の数が合致する。このように、更新情報は、同時期に更新される複数の計数情報の識別子を含むようになっている。
【0059】
そして、ステップ305では生成された更新情報をmビットの戻り値として図4の処理ルーチンに返す。
【0060】
図4において、更新情報作成処理が更新情報を返すと、処理はステップ202に進む。ステップ202では、更新情報があるという条件式の評価および条件分岐を行う。この評価は、ステップ201の戻り値が0であるか否かによって行う。戻り値が0であれば、評価値は偽となり、処理はステップ202の更新情報作成処理に戻る。戻り値が0以外であれば、評価値は真となり、処理はステップ203に進む。
【0061】
ステップ203では、更新情報格納位置検索を行う。更新情報格納位置検索とは、更新情報領域内の空き領域、すなわち更新情報を格納する(書き込む)ことのできる位置を検索する処理である。具体的には、1〜n番目までのデータスロットを順番に読み出し、その中で全ビットの値が0となっているものがあれば空き領域があるとする。すなわち、本実施形態においては、空き領域とは、更新情報領域内で全ビットの値が0となっているデータスロットをいう。
【0062】
そして、ステップ204で、空き領域がない、すなわち更新情報格納位置がないという条件式の評価および条件分岐を行う。格納位置があれば、評価値は偽となり、処理はステップ206に進む。このステップ206では、ステップ201で作成された更新情報を、更新情報領域中の空いているデータスロットに書き込む。
【0063】
一例として、図6に、作成された更新情報が3番目の更新情報のデータスロットに書き込まれる前(A)と後(B)の状態のEEPROM3のメモリ構成図を示す。
【0064】
格納位置が無ければ評価値は真となり、処理はステップ205に進み、全項目カウンタ値更新処理を行う。一例として、図7に更新情報の格納位置が無い状態の状態のEEPROM3のメモリ構成図を示す。
【0065】
全項目カウンタ値更新処理の詳細を図8に示す。この全項目カウンタ値更新処理は、1〜n番目の更新情報にもとづいて1〜m番目の各項目の計数値を更新し、それを対応するデータスロットに書き込む処理のループ501と、更新情報の値を全て0にクリアする処理であるステップ507から成る。
【0066】
ループ501内では、項目番号iを1からmまで1つづつ変化させながら、このループ内の処理をm回繰り返す。このi番目の繰り返しにおいて、ステップ502では、項目iのカウンタ値をRAM5に読み出す。そしてループ503では、数値jを1からn+1まで1づつ変化させながら、このループ内の処理をn+1回繰り返すことで、項目iのカウンタ値の識別子を有している更新情報の数だけ、読み出した項目iのカウンタ値を増加させる。なお、直前にステップ201で作成した更新情報も、n+1番目の更新情報として、項目iのカウンタ値の増加の計算に含める。
【0067】
具体的には、ループ503のj番目の繰り返しにおいて、ステップ504では、j番目の更新情報(更新情報j)を読み出し、この更新情報が項目iのカウンタ値の識別子を有しているという条件式の評価および条件分岐を行う。この識別子を有していなければ、評価値は偽となり、ループ503のj番目の繰り返しが終了する。この識別子を有していれば、評価値は真となり、処理はステップ505に進む。そしてステップ505では、ステップ502で読み出した項目iのカウンタ値に1を加算し、その後ループ503のj番目の繰り返しが終了する。
【0068】
ループ503の繰り返しが終了すると、処理はステップ506に進み、項目iのカウンタ値に更新があったという条件式の評価および条件分岐を行う。この条件式は、RAM5中の項目iのカウンタ値と、EEPROM3中の項目iのカウンタ値とが異なっているという条件式と同値である。更新がなかったなら、評価値は偽となり、ループ501のi番目の繰り返しが終了する。更新があったなら、評価値は真となり、処理はステップ507に進み、RAM5中の項目iのカウンタ値をEEPROM3の項目iの位置に書き込む。そしてループ501のi番目の繰り返しが終了する。
【0069】
ループ501の繰り返しが終了すると、処理はステップ507に進み、EEPROM3中の更新情報領域の全てに0を書き込む。これによって、EEPROM3の更新情報領域は全て空き状態となる。そして全項目カウンタ値更新処理が終了する。
【0070】
一例として、図9に、図7に示した状態の後、各項目に更新された後の計数情報が書き込まれ、更新情報が全て空き状態となったときのEEPROM3のメモリ構成図を示す。各項目中の括弧内の数字は、更新によるその項目の値の増分を示している。
【0071】
全項目カウンタ値更新処理が終了すると、処理は図4のステップ201に戻る。
【0072】
以上のようなCPU2のEEPROM3に対する書き込みの手順をまとめると、以下の通りになる。
(1)いずれかの項目のカウント条件が成立しているとき、更新情報を作成する(2)作成した更新情報を書き込む位置を更新情報領域から探し、書き込み位置があった場合は以下の(a)を、書き込み位置がない場合は以下の(b)を行う
(a)当該書き込み位置に(1)の更新情報を書き込む
(b)項目1〜mのカウンタ値について、更新情報1〜nおよび(1)で作成した更新情報のうち該当する識別子を有する更新情報の数を加算し、それを所定の項目領域に書き込み、更新情報1〜nを0にクリアする
このような手順の、(1)→(2)(a)の流れが、計数情報を更新するときに、この更新する旨の情報である更新情報を不揮発性記憶装置の所定の更新情報領域に書き込む段階を構成する。
【0073】
また、このような手順の(1)→(2)(b)の流れが、書き込まれた更新情報を複数個読み出し、読み出した複数個の更新情報にもとづいて、更新後の計数情報を不揮発性記憶装置に書き込む段階を構成する。
【0074】
更新情報のそれぞれは、同時期に更新される複数の計数情報の識別子それぞれのビットに対応させて含むようになっている。
【0075】
これによって、所定の更新情報領域に書き込まれた複数の更新情報をまとめた上で、更新後の計数情報を不揮発性記憶装置に書き込むので、計数情報を書き込むようになっている不揮発性記憶装置の1セルあたりの書き込み回数を抑えることが可能となる。
【0076】
また、更新情報のそれぞれは、同時期に更新される複数の計数情報の識別子を含むようになっているので、更新情報のそれぞれが単一の計数情報の識別子を含める場合にくらべ、更新情報そのものの書き込み回数が減る。また、所定の更新領域が、不揮発性記憶装置に書き込まれる計数情報に未だ反映されていない更新情報で一杯になるのが遅いので、更新情報領域の容量を抑えることができる。
【0077】
これらのことから、不揮発性記憶装置の容量を抑え、かつ1セルあたりの書き込み回数を抑えることができる。
【0078】
なお、本発明の上記した実施形態において、エンジンECU1が、不揮発性記憶装置へのデータの書き込み装置を構成する。本実施形態では、EEPROM3はエンジンECU1の内部にあるが、これは外部にあってもよい。また、エンジンECU1はコンピュータを構成する。
【0079】
また、本明細書の特許請求の範囲に記載されている「計数情報を更新するとき」とは、図4のステップ202で更新情報ありと判定する場合のことをいう。
【0080】
また、図4のステップ206の更新情報書き込み処理が、計数情報を更新するときに、この更新する旨の情報である更新情報を不揮発性記憶装置の所定の更新情報領域に書き込む手段を構成する。
【0081】
また、図4のステップ205の全項目カウンタ値更新処理が、書き込まれた更新情報を複数個読み出し、読み出した複数個の更新情報にもとづいて、更新後の計数情報を不揮発性記憶装置に書き込む手段を構成する。
【0082】
なお、本実施形態においては、更新情報領域に空き領域がなくなったとき、ステップ205の全項目カウンタ値更新処理を行うが、空き領域がなくなる前に更新処理を行ってもよい。すなわち、書き込まれた更新情報を複数個読み出して不揮発性記憶装置に書き込むようになってさえいればよい。
【0083】
また、図8のステップ507で、更新情報を全てクリアして空き領域としているが、必ずしもこのようにする必要はなく、例えば、更新情報1から更新情報4までの順次書き込みをサイクリックに行う様にし、更新情報1に書き込む直前に、書き込まれている更新情報を複数読み出してEEPROM3に書き込むようになっていてもよい。
【0084】
また、上記した触媒バンク1(分子)、2次エア(分子)、エバポ(分子)、エバポ(分子)、およびプライマリO2センサ(分子)は、それぞれの故障診断が実施されたときに1回分だけ更新される計数情報である。
【0085】
また、上記した一般分母、触媒バンク1(分母)、2次エア(分母)、エバポ(分母)、およびプライマリO2センサ(分母)は、車両がそれぞれ所定の運転状態となったときに1回分だけ更新される計数情報である。
【図面の簡単な説明】
【図1】本発明の実施形態のエンジンECU1の構成を示す図である。
【図2】EEPROM3のメモリ構成図である。
【図3】EEPROM3の項目領域および更新情報領域のメモリ構成図である。
【図4】CPU2の動作を示すフローチャートである。
【図5】CPU2の更新情報作成の処理のフローチャートである。
【図6】更新情報が3番目の更新情報のデータスロットに書き込まれる前後の状態のメモリ構成図の一例である。
【図7】更新情報の格納位置が無い状態の状態のメモリ構成図の一例である。
【図8】CPU2の全項目カウンタ値更新処理のフローチャートである。
【図9】各項目に更新された後の計数情報が書き込まれ、更新情報が全て空き状態となったときのメモリ構成図の一例である。
【符号の説明】
1…エンジンECU、2…CPU2、3…EEPROM、4…ROM、5…RAM。
Claims (11)
- 更新の度に所定数だけ値を増やすようになっている複数の計数情報を不揮発性記憶装置に書き込む計数情報の書き込み方法であって、
前記計数情報を更新するときに、この更新する前記計数情報の識別子を有する更新情報を前記不揮発性記憶装置の所定の更新情報領域に書き込む段階と、
書き込まれた前記更新情報を複数個読み出し、読み出した前記複数個の前記更新情報に含まれる前記識別子にもとづいて、更新後の前記計数情報を前記不揮発性記憶装置に書き込む段階と、を備え、
前記更新情報のそれぞれは、同時期に更新される前記複数の計数情報の識別子を含むようになっていることを特徴とする計数情報の書き込み方法。 - 前記更新情報の各ビットの特定の状態を、前記同時期に更新される各計数情報の識別子とすることを特徴とする請求項1に記載の計数情報の書き込み方法。
- 前記所定の更新情報領域に空き領域がないときに、前記更新後の前記計数情報を前記不揮発性記憶装置に書き込み、前記更新情報領域の全てを空き状態にすることを特徴とする請求項1または2のいずれか1つに記載の計数情報の書き込み方法。
- 更新の度に所定数だけ値を増やすようになっている複数の計数情報を不揮発性記憶装置に書き込む計数情報の書き込みプログラムであって、
コンピュータを、
前記計数情報を更新するときに、この更新する前記計数情報の識別子を有する更新情報を前記不揮発性記憶装置の所定の更新情報領域に書き込む手段、および、
書き込まれた前記更新情報を複数個読み出し、読み出した前記複数個の前記更新情報に含まれる前記識別子にもとづいて、更新後の前記計数情報を前記不揮発性記憶装置に書き込む手段、として機能させ、
前記更新情報のそれぞれは、同時期に更新される前記複数の計数情報の識別子を含むようになっていることを特徴とする計数情報の書き込みプログラム。 - 前記更新情報の各ビットの特定の状態を、前記同時期に更新される各計数情報の識別子とすることを特徴とする請求項4に記載の計数情報の書き込みプログラム。
- 前記所定の更新情報領域に空き領域がないときに、前記更新後の前記計数情報を前記不揮発性記憶装置に書き込み、前記更新情報領域の全てを空き状態にすることを特徴とする請求項4または5のいずれか1つに記載の計数情報の書き込みプログラム。
- 更新の度に所定数だけ値を増やすようになっている複数の計数情報を不揮発性記憶装置に書き込む計数情報の書き込み装置であって、
前記計数情報を更新するときに、この更新する前記計数情報の識別子を有する更新情報を前記不揮発性記憶装置の所定の更新情報領域に書き込む手段と、
書き込まれた前記更新情報を複数個読み出し、読み出した前記複数個の前記更新情報に含まれる前記識別子にもとづいて、更新後の前記計数情報を前記不揮発性記憶装置に書き込む手段と、を備え、
前記更新情報のそれぞれは、同時期に更新される前記複数の計数情報の識別子を含むようになっていることを特徴とする計数情報の書き込み装置。 - 前記更新情報の各ビットの特定の状態を、前記同時期に更新される各計数情報の識別子とすることを特徴とする請求項7に記載の計数情報の書き込み装置。
- 前記所定の更新情報領域に空き領域がないときに、前記更新後の前記計数情報を前記不揮発性記憶装置に書き込み、前記更新情報領域の全てを空き状態にすることを特徴とする請求項7または8のいずれか1つに記載の計数情報の書き込み装置。
- 車両に搭載された車載機器を制御し、所定の条件が満たされた場合に前記車載機器における診断対象の故障診断を実施し、前記車両の1ドライビングサイクル中、更新の度に所定数だけ値を増やすようになっている計数情報である運転回数を、前記車両が所定の運転状態となったときに1回分だけ更新すると共に、同じく計数情報である故障診断回数を前記故障診断が実施されたときに1回分だけ更新する車載電子制御装置において、
前記計数情報を更新するときに、この更新する前記計数情報の識別子を有する更新情報を前記不揮発性記憶装置の所定の更新情報領域に書き込む段階と、
書き込まれた前記更新情報を複数個読み出し、読み出した前記複数個の前記更新情報に含まれる前記識別子にもとづいて、更新後の前記計数情報を前記不揮発性記憶装置に書き込む段階と、を備え、
前記更新情報のそれぞれは、同時期に更新される前記複数の計数情報の識別子を含むようになっていることを特徴とする計数情報の書き込み方法。 - 車両に搭載された車載機器を制御し、所定の条件が満たされた場合に前記車載機器における診断対象の故障診断を実施し、また更新の度に所定数だけ値を増やすようになっている複数の計数情報を不揮発性記憶装内に有し、また前記車両の1ドライビングサイクル中、計数情報である運転回数を、前記車両が所定の運転状態となったときに1回分だけ更新すると共に、計数情報である故障診断回数を、前記故障診断が実施されたときに1回分だけ更新する車載電子制御装置であって、
前記計数情報を更新するときに、この更新する前記計数情報の識別子を有する更新情報を前記不揮発性記憶装置の所定の更新情報領域に書き込む手段と、
書き込まれた前記更新情報を複数個読み出し、読み出した前記複数個の前記更新情報に含まれる前記識別子にもとづいて、更新後の前記計数情報を前記不揮発性記憶装置に書き込む手段と、を備え、
前記更新情報のそれぞれは、同時期に更新される前記複数の計数情報の識別子を含むようになっていることを特徴とする車載電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002315670A JP3960200B2 (ja) | 2002-10-30 | 2002-10-30 | 計数情報の書き込み方法、プログラム、および装置、ならびに車載電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002315670A JP3960200B2 (ja) | 2002-10-30 | 2002-10-30 | 計数情報の書き込み方法、プログラム、および装置、ならびに車載電子制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004152387A true JP2004152387A (ja) | 2004-05-27 |
JP3960200B2 JP3960200B2 (ja) | 2007-08-15 |
Family
ID=32459593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002315670A Expired - Fee Related JP3960200B2 (ja) | 2002-10-30 | 2002-10-30 | 計数情報の書き込み方法、プログラム、および装置、ならびに車載電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3960200B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008210235A (ja) * | 2007-02-27 | 2008-09-11 | Sony Corp | 電子機器、および情報処理方法 |
JP2016080417A (ja) * | 2014-10-13 | 2016-05-16 | 株式会社デンソー | 電子制御装置 |
-
2002
- 2002-10-30 JP JP2002315670A patent/JP3960200B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008210235A (ja) * | 2007-02-27 | 2008-09-11 | Sony Corp | 電子機器、および情報処理方法 |
JP2016080417A (ja) * | 2014-10-13 | 2016-05-16 | 株式会社デンソー | 電子制御装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3960200B2 (ja) | 2007-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3758356B2 (ja) | 車両用電子制御装置、電子制御ユニット及び記録媒体 | |
EP0607455B1 (en) | Self-diagnosing apparatus of vehicle | |
JP5176728B2 (ja) | 車両用電子制御装置 | |
JP2011255862A (ja) | 電子制御装置及び情報管理システム | |
JP2006312356A (ja) | 車両制御システム | |
JP2009262676A (ja) | 電子制御装置 | |
US5909391A (en) | Method for storing data in memory | |
JP3969278B2 (ja) | 電子制御装置 | |
JP2009036165A (ja) | 電子制御装置 | |
JP2007206827A (ja) | 電子制御ユニット及び車載デバイス制御用プログラムの生成方法 | |
US6957135B2 (en) | Electronic control system | |
JP2009096337A (ja) | 故障記録装置 | |
JP2004152387A (ja) | 計数情報の書き込み方法、プログラム、および装置、ならびに車載電子制御装置 | |
JP4600510B2 (ja) | 制御装置およびプログラム | |
JP2007062632A (ja) | 電子制御ユニットおよび異常発生時記憶用データの記憶方法 | |
JP2004169664A (ja) | アイドリングストップ制御方法および制御装置 | |
JP2004302944A (ja) | 車両用制御システム | |
JPH1136974A (ja) | 車両用制御装置 | |
US6839622B2 (en) | Vehicle control system | |
JP2001222731A (ja) | ドライブレコーダ | |
JPH1136972A (ja) | 自動車用制御装置 | |
JP3846398B2 (ja) | 車両制御装置 | |
JP2006017468A (ja) | データ記録装置 | |
JP3750692B2 (ja) | 車両用電子制御装置 | |
JP2006063939A (ja) | プログラム書き換え可能な電子制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070417 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3960200 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070417 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |