JP2005208958A - マイコンにおけるプログラムエリアのデータ保全方法 - Google Patents
マイコンにおけるプログラムエリアのデータ保全方法 Download PDFInfo
- Publication number
- JP2005208958A JP2005208958A JP2004015148A JP2004015148A JP2005208958A JP 2005208958 A JP2005208958 A JP 2005208958A JP 2004015148 A JP2004015148 A JP 2004015148A JP 2004015148 A JP2004015148 A JP 2004015148A JP 2005208958 A JP2005208958 A JP 2005208958A
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- microcomputer
- area
- restoration
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】マイコンにおけるプログラムエリアに記憶されたプログラムデータの異常を検出し、異常が検出された場合には、そのデータを適正なデータに修復することで、プログラムのデータ保全を図る方法を提供する。
【解決手段】被制御部2に対する制御を行うマイコン1のROM12におけるプログラムエリアは、複数のデータブロック1〜Xに予め分割構成し、各データブロックには、格納されるプログラムデータのサムチェックデータと誤り訂正符号を併せて格納することで、データブロック毎に異常検出と修復を可能とし、修復されたプログラムデータはRAM13のブロックコピーエリアにおける修復ブロックα〜ωに保存すると共に、ブロック処理開始アドレスエリアに記載されたデータブロックの参照先を修復ブロックに書き換え、修復されたプログラムデータが読み出されるようにする。
【選択図】図1
【解決手段】被制御部2に対する制御を行うマイコン1のROM12におけるプログラムエリアは、複数のデータブロック1〜Xに予め分割構成し、各データブロックには、格納されるプログラムデータのサムチェックデータと誤り訂正符号を併せて格納することで、データブロック毎に異常検出と修復を可能とし、修復されたプログラムデータはRAM13のブロックコピーエリアにおける修復ブロックα〜ωに保存すると共に、ブロック処理開始アドレスエリアに記載されたデータブロックの参照先を修復ブロックに書き換え、修復されたプログラムデータが読み出されるようにする。
【選択図】図1
Description
本発明は、マイコンを使用して制御される機器において、マイコン内のプログラムエリアに記憶させたプログラムに消滅等のデータ異常が発生した場合でも適正な制御を可能とするためのデータ保全方法に関する。
自動給湯器やファンヒータ等の燃焼装置の制御は、使用者が希望する設定温度データや各種センサからの検出データに基づいて、機器制御用のマイクロコンピュータ(以下、単にマイコンと称する。)が行うものとなっている。このため、機器制御に用いる制御用データの値が変化してしまうと、適正な機器制御を行うことができなくなり、制御用データの保全は極めて重要である。
特に、上述した燃焼機器などの制御を行うマイコンが扱う制御用データは、EEPROM(Electrically Erasable Programmable ROM:電源を切ってもデータが保持される、電気的に書き換え可能なメモリ)等に記憶するため、外乱や停電に起因して記憶内容である制御用データが変化してしまう可能性があることから、単純なサムチェック方式によるデータ訂正では十分な信頼性を担保できるとは言えない。
このような記憶内容の信頼性を高めるために、2つのデータエリアに夫々同じデータを書き込んでおき、一方のデータエリアに記憶されているデータに関しては、全データビットを一定周期でリフレッシュし、他方のデータエリアに記憶されているデータに関しては、一定周期毎の検査および誤り訂正による修復を行うことで、リスク分散を図ったデータ保全方法が提案されている(例えば、特許文献1参照。)。
しかしながら、特許文献1に記載のデータ保全方法は、比較的容量の少ない制御用データの保全には有効であるものの、制御プログラム自体のデータ保全に適用できるものではない。
すなわち、CPU,ROM,RAM,I/O等の機能を一つのチップに集積したワンチップマイクロコンピュータとしては、動作プログラムを書き込むためのプログラムエリアとしてEPROM,EEPROM,フラッシュメモリ等の書換可能なメモリを不揮発性記憶手段(ROM)として内蔵する構成の汎用タイプが広く用いられており、使用目的に応じたプログラムをマイコン内のプログラムエリアに書き込むことで、燃焼機器制御等に特化されたマイコンとして機能させているため、ハードウェア・ロジックで構成したROMよりも記憶内容の信頼性が劣り、プログラムエリア内のプログラムデータが毀損される危険性を考慮するなら、制御プログラムの保全を図ることが望ましいのであるが、特許文献1に記載のデータ保全方法は、保全対象のデータ容量の2倍の記憶容量が必要になることに加えて、あくまでも保全対象のデータとは別のプログラムがデータ保全制御を行うものに過ぎない。
従って、マイコンにおける制御プログラム自体の信頼性を高めるためには、動作しているプログラム自身が自らのデータ保全を図るような手法を実現しなければならないのである。
本発明は、上記に鑑みなされたもので、マイコンにおけるプログラムエリアに記憶されたプログラムデータの異常を検出可能とし、異常が検出された場合には、そのデータを適正なデータに修復可能とすることで、プログラムのデータ保全を図る方法の提供を目的とする。
上記の課題を解決するために、請求項1に係る発明は、制御対象機器のシーケンス制御処理や各種センサの入力処理を、プログラムエリアに記憶されたプログラムデータに基づいて実行するマイコンにおけるプログラムエリアのデータ保全方法であって、上記プログラムエリアを適当な領域で区切って複数のデータブロックに区画すると共に、夫々のデータブロックには、格納するプログラムデータのサムチェックデータと誤り訂正符号を併せて格納するようにしたことを特徴とする。
また、請求項2に係る発明は、上記請求項1に記載のマイコンにおけるプログラムエリアのデータ保全方法において、マイコンの起動時に、プログラムデータのサムチェックを行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたことを特徴とする。
また、請求項3に係る発明は、上記請求項1又は請求項2に記載のマイコンにおけるプログラムエリアのデータ保全方法において、マイコンの通常制御動作中に、常時通過するプログラム部分におけるプログラムデータのサムチェックをプログラム読み出し毎に行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたことを特徴とする。
また、請求項4に係る発明は、上記請求項1〜請求項3の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法において、マイコンの通常制御動作中に、常時通過するプログラム部分以外の割り込み制御プログラム部分におけるプログラムデータのサムチェックをプログラム読み出し毎に行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータが異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたことを特徴とする。
また、請求項5に係る発明は、上記請求項1〜請求項4の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法において、上記データ修復プログラムにより修復されたプログラムデータの修復ブロックをRAMに保存し、当該プログラムデータを読み出す際には、プログラムエリア内の異常データブロックに代えて、RAM内の修復ブロックを用いるようにしたことを特徴とする。
また、請求項6に係る発明は、上記請求項1〜請求項5の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法において、上記データ修復プログラムにより修復可能なデータ修復回数に制限を設けておき、予め定めた上限回数を超えるデータ異常が発生した場合には、データ修復プログラムによるデータ修復を行わせず、リセットするようにしたことを特徴とする。
また、請求項7に係る発明は、上記請求項1〜請求項6の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法において、上記データ修復プログラムは、プログラムエリア内に予め複数個設けておき、起動したデータ修復プログラムに異常があった場合、代替のデータ修復プログラムを起動させてデータ修復プログラムのプログラムデータを修復するようにしたことを特徴とする。
また、請求項8に係る発明は、上記請求項1〜請求項7の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法において、上記データ修復プログラムによるプログラムデータの修復中は、制御対象機器の制御を安全方向で停止させるようにしたことを特徴とする。
請求項1に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、プログラムエリアを適当な領域で区切って複数のデータブロックに区画すると共に、夫々のデータブロックには、格納するプログラムデータのサムチェックデータと誤り訂正符号を併せて格納するようにしたので、データブロック毎に、サムチェックによる異常検出と、誤り制定符号によるデータ修復が可能となり、プログラムデータの信頼性、延いてはマイコンによる制御動作の信頼性を高めることができる。
また、請求項2に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、マイコンの起動時に、プログラムデータのサムチェックを行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたので、マイコンの起動時に、プログラムの異常箇所の修復を一括して行うことができる。
また、請求項3に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、マイコンの通常制御動作中に、常時通過するプログラム部分におけるプログラムデータのサムチェックをプログラム読み出し毎に行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたので、マイコンの通常制御動作中に生じたルーチン処理プログラムデータの毀損にも対応できる。
また、請求項4に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、マイコンの通常制御動作中に、常時通過するプログラム部分以外の割り込み制御プログラム部分におけるプログラムデータのサムチェックをプログラム読み出し毎に行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータが異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたので、マイコンの通常制御動作中に生じた割り込み制御プログラムデータの毀損にも対応できる。
また、請求項5に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、データ修復プログラムにより修復されたプログラムデータの修復ブロックをRAMに保存し、当該プログラムデータを読み出す際には、プログラムエリア内の異常データブロックに代えて、RAM内の修復ブロックを用いるようにしたので、マイコン内のプログラムエリアを直接書き換える必要がなく、マイコン自らが書き換えることのできないUV−EPROM(UltraViolet Erasable Programmable ROM:紫外線で内容を消去できるタイプのEPROM)等をプログラムエリアに用いたマイコンにも適用できる。
また、請求項6に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、データ修復プログラムにより修復可能なデータ修復回数に制限を設けておき、予め定めた上限回数を超えるデータ異常が発生した場合には、データ修復プログラムによるデータ修復を行わせず、リセットするようにしたので、プログラムの毀損箇所の多いマイコンで機器制御を行う危険性を未然に回避できる。
また、請求項7に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、データ修復プログラムは、プログラムエリア内に予め複数個設けておき、起動したデータ修復プログラムに異常があった場合、代替のデータ修復プログラムを起動させてデータ修復プログラムのプログラムデータを修復するようにしたので、異常のあるデータ修復プログラムの動作によって適正な修復が行われないまま機器制御が行われる危険性を排除できる。
また、請求項8に係るマイコンにおけるプログラムエリアのデータ保全方法によれば、データ修復プログラムによるプログラムデータの修復中は、制御対象機器の制御を安全方向で停止させるようにしたので、プログラムデータの修復完了後にマイコンによる動作制御が再開される迄の間に、制御対象機器が制御不能な状態に陥ることを防ぎ、装置としての信頼性を高めることができる。
以下、本発明の望ましい実施形態を添付図面に基づいて詳細に説明する。図1は、本発明に係るマイコンにおけるプログラムエリアのデータ保全方法を自動給湯器やファンヒータ等の燃焼装置に適用した一実施形態の概略構成図である。
制御部たるマイコン1は、制御対象機器を含む被制御部2に対する制御を、使用者等が操作するリモートコントローラ3からの制御データに基づいて行う。被制御部2には、火力調整を行う燃焼制御部21、風量調整を行うファンモータ部22、被制御部2における各部情報(温度情報やファンモータの負荷情報等)を収集するために設けた各種センサ23を備える。また、リモートコントローラ3には、使用者が操作して設定温度や風量を設定するデータ設定部としての操作部31、時間表示を行う時計表示部32を備える。
マイコン1は、例えば、CPU11,ROM12,RAM13等を1チップに集約したワンチップマイコンを用いて構成するものとし、ROM12に書込まれたプログラムデータやRAM13に記憶された各種情報に基づいてCPU11が動作することで、被制御部2に対する制御やセンサ情報の収集、リモートコントローラ3からの設定情報受信処理等を行い、制御対象機器(燃焼制御部21やファンモータ部22等)の適切な制御が実現される。なお、本図においては説明を簡略するために省略したが、実際には、マイコン1の動作に必要なクロックを生成する発振回路やマイコン1をリセットするリセット回路等の機能も基板上に実装され、制御部としての機能が実現される。
上記ROM12は、専用の書込装置でプログラムを書き込むことができるメモリ(EPROMやEEPROM等)で構成し、このROM12には制御用プログラムを記憶させるプログラムエリアが確保してある。プログラムエリアは、予め適当な領域で区切って複数のデータブロック(例えば、データブロック1〜データブロックX)に区画してある。
また、RAM13は、電気的にデータの書換が可能なメモリであれば、揮発性のメモリを用いても不揮発性のメモリを用いても良い。このRAM13は、少なくとも、制御用データエリアとブロック処理開始アドレスエリアとブロックコピーエリア(例えば、修復ブロックα〜修復ブロックωより成り、各修復ブロックには、ROM12におけるデータブロックの中で異常のあったブロックがコピー・修復されて格納される。)に予めレジスタ割り当てを設定してある。
上記ROM12における各データブロックの概略構成は、図2に示すように、ブロック先頭アドレスで特定される番地にブロック開始コード、RAM内ブロック処理開始アドレス参照命令(RAM13内のブロック処理開始アドレスエリアから当該ブロックのブロック処理開始アドレスを参照させる命令)、ブロック内プログラム(当該ブロックに格納されるプログラムデータ)、ブロック処理終了コード、サムチェックデータおよび誤り訂正符号が格納される。このように、データブロック毎にサムチェックデータを設けておけば、当該ブロックにおけるデータ異常を検出することが可能となるし、誤り訂正符号によるデータ修復も可能となる。なお、修復に用いる誤り訂正符号としては、公知既存の如何様な技術を採用しても構わない。
また、上記RAM13におけるブロック処理開始アドレスエリアの概略構成は、図3に示すように、データブロック1〜データブロックXに各々対応するブロック1用処理開始アドレス〜ブロックX用処理開始アドレスと、ブロックコピーエリアの修復ブロックα〜修復ブロックωに各々対応する修復ブロックα用処理開始アドレス〜修復ブロックω用処理開始アドレスが格納される。
すなわち、上記RAM13内のブロック処理開始アドレスエリアを各データブロックの処理開始時に参照するジャンプテーブルとして用いることにより、処理位置を変更させることができるのである。具体的には、データブロック1のRAM内ブロック処理開始アドレスエリア参照命令に基づいてブロック処理開始アドレスエリア内のブロック1用処理開始アドレスを参照した時、そのアドレスが、データブロック1のブロック処理開始アドレスであれば、参照先がROM12内のデータブロック1におけるブロック処理開始アドレスとなり、データブロック1内のプログラムデータが読み出されることとなるが、ブロック1用処理開始アドレスが修復ブロックα用処理開始アドレスに設定されていた場合には、RAM13内のブロックコピーエリアの修復ブロックαにおけるブロック処理開始アドレスが参照先となるため、修復ブロックα内のプログラムデータが読み出されることとなる。
従って、ROM12内のデータブロックに異常があった場合(データブロックのサムチェックが一致しない場合)には、当該データブロックをRAM13のブロックコピーエリアにコピーして適正な内容に修復する(データ修復プログラムを起動して、プログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復する)ことと併せて、当該ブロックの処理開始アドレスをROM12のデータブロックからRAM13の修復ブロックへ変更しておけば、修復された適正な制御プログラムが実行されることとなるので、異常なプログラムによる制御に起因して装置が暴走するような事態を未然に回避できる。
なお、ROM12として、マイコン1が自ら書換可能な不揮発性メモリ(EEPROM等)を用いた場合には、RAM13で修復されたデータブロックの内容でROM12の当該ブロックをリライトさせれば、ROM12内データブロックの読み出し毎にRAM13内ブロック処理開始アドレスを参照させる処理が不要となり、動作遅延を低減できるという利点があるものの、本実施形態の方式は、マイコン1自ら書き換えることができない不揮発性メモリをROM12として用いた制御部でも実現できるという利点がある。
また、データブロックを読み出す際に行ったサムチェックで、プログラムのサムチェックデータが一致しない場合、データ修復プログラムが起動してプログラム修復が実行されるために、被制御部2への制御が一時的に中断することとなる。このため、被制御部2に対する通常制御を安全方向で停止させる処理を行った後に、データ修復プログラムを起動させることが望ましい。
次に、マイコン1による制御処理の一例を図4〜図7のフローチャートに基づいて説明する。
電源投入やリセットによって実行される起動処理においては、先ず、RAM13のエリアチェックを行い(ステップS1)、次いで、そのチェック結果が正常であったか否かを判定する(ステップS2)。RAM13のエリアチェックが異常と判定された場合には、再びステップS1のRAMエリアチェックを行わせる。
上記ステップS2でRAMエリアが正常と判定された場合には、ROM12のプログラムエリアチェックを行い(ステップS3)、次いで、そのチェック結果が正常であった否かを判定する(ステップS4)。ROM12のプログラムエリアチェックが異常と判定された場合には、修復処理を行う(ステップS5)。
なお、プログラムエリアのチェックに際しては、全データブロックのチェックを行わせるようにしても良いし、メインルーチンに関わるプログラムが保存されているデータブロックのみのチェックを行わせるようにしても良い。また、サムチェックによる異常を検出したデータブロックが見つかる度に修復処理を実行させて、データブロックの修復後に次のデータブロックをチェックするようにしても良いし、一連のデータブロックをチェックする間に、サムチェックによる異常を検出したデータブロックを記憶しておき、データブロックチェックが終了した後に、異常なデータブロックの修復を一括して行うようにしても良い。
上記ステップS4でプログラムエリアが正常と判定された場合、および修復処理が適正に実行されて、データブロック中のプログラム修復が完了した場合には、制御データ初期化を行い(ステップS6)、通常処理へ移行する(ステップS7)。
上記修復処理はデータ修復プログラムにより行われるもので、その詳細を図5に示す。最初に、制御対象機器を安全方向へ停止させ(ステップS11)、次いで、データ修復回数が規定回数以上か否かを判定し(ステップS12)、データ修復回数が規定回数以上と判定された場合には、当該マイコン1をリセットすることで上記起動処理をステップS1から実行させる。
すなわち、データ修復回数が多いということは、プログラムデータが毀損されたデータブロックが多数あることを意味し、マイコン1自体が制御動作に適さない状態と考えられると共に、RAM13のブロックコピーエリアとして用意できる修復ブロックの数にも上限があることから、全ての修復ブロックが修復データで埋まった場合には、それを超えるデータブロックに異常が検出されても修復処理を実行できないため、データ修復回数が規定回数(例えば、ブロックコピーエリアに用意された修復ブロック数)以上になると、リセットさせるのである。
一方、上記ステップS12でデータ修復回数が規定回数に満たないと判定された場合には、異常の検出された修復対象のデータブロックをまるごとRAM13のブロックコピーエリアの修復ブロックにコピーし(ステップS15)、誤り訂正符号を用いたデータ誤り制御によりプログラムデータ異常箇所の割り出しと該当箇所における正常データの算出を行い(ステップS15)、異常データを正常データに書き換え(ステップS16)、RAM13のブロック処理開始アドレスエリアにおいて、修復を行ったデータブロックの処理開始アドレスを修復ブロック用処理開始アドレス(正常データに修復したプログラムデータを保存した修復ブロックの処理開始アドレス)に書き換える(ステップS17)。
上記のようにして修復処理が行われたデータブロックがその後に読み出される場合、処理開始アドレス参照命令により参照するRAM13内のブロック処理用開始アドレスが修復ブロック用処理開始アドレスに書き換えられているために、RAM13内の修復ブロック中のプログラムデータ(修復済みのデータ)が読み出されることとなり、ROM12内のデータブロック中のプログラムデータ(異常のあるデータ)が読み出されることはない。
適正な起動処理が終了して移行する通常処理は、一連のルーチンワークを繰返し順次処理して行くもので、制御対象機器に応じた処理動作が行われるのであるが、図6に示す通常処理では、その詳細を略し、プログラムエリアのデータ保全機能についての処理概要のみを示した。先ず、メインルーチン(常時通過するプログラム部分)における実行プログラムのプログラムエリアをチェックし(ステップS21)、次いで、そのチェック結果が正常であった否かを判定し(ステップS22)、プログラムエリアチェックが正常であった場合には、そのプログラムを実行する。
一方、上記ステップS22でROM12のプログラムエリアチェックが異常と判定された場合には、修復処理を行い(ステップS24)、プログラムの修復が適正に行われた場合には、制御データの初期化を行う(ステップS25)。このように、通常処理中もデータブロックの適否チェックを行うものとすれば、マイコンの起動後に生じたプログラムデータの消滅や毀損にも対応することができる。また、本実施形態の如く、修復処理の終了後に、修復処理開始直前の状態へ途中復帰させないで、制御データの初期化を行わせるものとしたのは、修復作業中に負荷が不定状態となって、修復処理開始直前の制御動作を引き継がせると適正な制御ができない危険なケースが想定されるからである。なお、修復動作中に制御対象機器が危険な状態になることがない場合には、制御データの初期化を行わずに、修復処理直前の状態へ途中復帰させるようにしても良い。
上記通常処理中に一定時間毎に起動されたり、特定の条件が揃った時に起動される割込処理は、図7に示すようなもので、実行する割込プログラムのプログラムエリアをチェックし(ステップS31)、次いで、そのチェック結果が正常であった否かを判定し(ステップS32)、プログラムエリアチェックが正常であった場合には、そのプログラムを実行する。一方、上記ステップS32でROM12のプログラムエリアチェックが異常と判定された場合には、修復処理を行い(ステップS34)、プログラムの修復が適正に行われた場合には、制御データの初期化を行う(ステップS35)。
上述した実施形態では、データブロックの異常が検出されると、これを修復するための修復プログラムを起動させるものとしたが、起動させるべき修復プログラムを含むデータブロック内に異常が検出されると、修復プログラムの起動が不可能となって、データ修復を行えなくなる。
そこで、プログラムエリア内に予め複数(例えば、主データ修復プログラムと補助データ修復プログラムの2つ)のデータ修復プログラムを設けておき、優先的に起動させるべく定めた主データ修復プログラムに異常があった場合、代替の補助データ修復プログラムを起動させて、主データ修復プログラムのプログラムデータを修復するようにしておけば、プログラムエリアのデータ保全機能を一層高めることができる。なお、複数設けたデータ修復プログラムを如何様に用いるかは特に限定されるものではなく、設計事項の範疇である。
1 マイコン(制御部)
11 CPU
12 ROM
13 RAM
2 被制御部
21 燃焼制御部
22 ファンモータ部
23 各種センサ
3 リモートコントローラ
31 操作部(データ設定部)
32 時計表示部
11 CPU
12 ROM
13 RAM
2 被制御部
21 燃焼制御部
22 ファンモータ部
23 各種センサ
3 リモートコントローラ
31 操作部(データ設定部)
32 時計表示部
Claims (8)
- 制御対象機器のシーケンス制御処理や各種センサの入力処理を、プログラムエリアに記憶されたプログラムデータに基づいて実行するマイコンにおけるプログラムエリアのデータ保全方法であって、
上記プログラムエリアを適当な領域で区切って複数のデータブロックに区画すると共に、夫々のデータブロックには、格納するプログラムデータのサムチェックデータと誤り訂正符号を併せて格納するようにしたことを特徴とするマイコンにおけるプログラムエリアのデータ保全方法。 - マイコンの起動時に、プログラムデータのサムチェックを行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたことを特徴とする請求項1に記載のマイコンにおけるプログラムエリアのデータ保全方法。
- マイコンの通常制御動作中に、常時通過するプログラム部分におけるプログラムデータのサムチェックをプログラム読み出し毎に行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータ異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたことを特徴とする請求項1又は請求項2に記載のマイコンにおけるプログラムエリアのデータ保全方法。
- マイコンの通常制御動作中に、常時通過するプログラム部分以外の割り込み制御プログラム部分におけるプログラムデータのサムチェックをプログラム読み出し毎に行い、サムチェックが一致しない場合にデータ修復プログラムを起動してプログラムデータが異常箇所を割り出し、更にその該当箇所の正常データを算出してプログラムデータを修復するようにしたことを特徴とする請求項1〜請求項3の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法。
- 上記データ修復プログラムにより修復されたプログラムデータの修復ブロックをRAMに保存し、当該プログラムデータを読み出す際には、プログラムエリア内の異常データブロックに代えて、RAM内の修復ブロックを用いるようにしたことを特徴とする請求項1〜請求項4の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法。
- 上記データ修復プログラムにより修復可能なデータ修復回数に制限を設けておき、予め定めた上限回数を超えるデータ異常が発生した場合には、データ修復プログラムによるデータ修復を行わせず、リセットするようにしたことを特徴とする請求項1〜請求項5の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法。
- 上記データ修復プログラムは、プログラムエリア内に予め複数個設けておき、起動したデータ修復プログラムに異常があった場合、代替のデータ修復プログラムを起動させてデータ修復プログラムのプログラムデータを修復するようにしたことを特徴とする請求項1〜請求項6の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法。
- 上記データ修復プログラムによるプログラムデータの修復中は、制御対象機器の制御を安全方向で停止させるようにしたことを特徴とする請求項1〜請求項7の何れか1項に記載のマイコンにおけるプログラムエリアのデータ保全方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004015148A JP2005208958A (ja) | 2004-01-23 | 2004-01-23 | マイコンにおけるプログラムエリアのデータ保全方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004015148A JP2005208958A (ja) | 2004-01-23 | 2004-01-23 | マイコンにおけるプログラムエリアのデータ保全方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005208958A true JP2005208958A (ja) | 2005-08-04 |
Family
ID=34900703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004015148A Pending JP2005208958A (ja) | 2004-01-23 | 2004-01-23 | マイコンにおけるプログラムエリアのデータ保全方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005208958A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007047150A1 (de) | 2006-12-28 | 2008-07-03 | Mitsubishi Electric Corp. | Elektroniksteuerung |
JP2010195220A (ja) * | 2009-02-25 | 2010-09-09 | Nsk Ltd | 電動パワーステアリング装置 |
JP2011186615A (ja) * | 2010-03-05 | 2011-09-22 | Mitsubishi Electric Corp | エラーチェック装置、エラーチェック方法およびエラーチェックプログラム |
JP2011210277A (ja) * | 2011-06-20 | 2011-10-20 | Toshiba Corp | 情報処理装置および情報処理方法 |
US8151167B2 (en) | 2008-02-01 | 2012-04-03 | Toshiba Storage Device Corporation | Program processing device and program processing method |
DE112010005725T5 (de) | 2010-07-08 | 2013-07-11 | Mitsubishi Electric Corp. | Fahrzeugdatenabnormalitäts-Bestimmungsvorrichtung |
JP2015115049A (ja) * | 2013-12-16 | 2015-06-22 | 株式会社デンソー | マイクロコンピュータ |
DE102015225877A1 (de) | 2014-12-19 | 2016-06-23 | Denso Corporation | Mikrocomputer |
CN109117300A (zh) * | 2018-07-03 | 2019-01-01 | 千寻位置网络有限公司 | 数据的校验方法及系统、定位终端 |
CN114840231A (zh) * | 2022-04-07 | 2022-08-02 | 重庆金康赛力斯新能源汽车设计院有限公司 | 一种程序包的验算方法、系统、计算机设备和存储介质 |
-
2004
- 2004-01-23 JP JP2004015148A patent/JP2005208958A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8010872B2 (en) | 2006-12-28 | 2011-08-30 | Mitsubishi Electric Corporation | Electronic controller |
CN101211286B (zh) * | 2006-12-28 | 2010-04-07 | 三菱电机株式会社 | 电子控制装置 |
DE102007047150A1 (de) | 2006-12-28 | 2008-07-03 | Mitsubishi Electric Corp. | Elektroniksteuerung |
US8151167B2 (en) | 2008-02-01 | 2012-04-03 | Toshiba Storage Device Corporation | Program processing device and program processing method |
JP2010195220A (ja) * | 2009-02-25 | 2010-09-09 | Nsk Ltd | 電動パワーステアリング装置 |
JP2011186615A (ja) * | 2010-03-05 | 2011-09-22 | Mitsubishi Electric Corp | エラーチェック装置、エラーチェック方法およびエラーチェックプログラム |
DE112010005725T5 (de) | 2010-07-08 | 2013-07-11 | Mitsubishi Electric Corp. | Fahrzeugdatenabnormalitäts-Bestimmungsvorrichtung |
US9172398B2 (en) | 2010-07-08 | 2015-10-27 | Mitsubishi Electric Corporation | Vehicle data abnormality determination device |
DE112010005725B4 (de) | 2010-07-08 | 2017-07-20 | Mitsubishi Electric Corp. | Fahrzeugdatenabnormalitäts-Bestimmungsvorrichtung |
JP2011210277A (ja) * | 2011-06-20 | 2011-10-20 | Toshiba Corp | 情報処理装置および情報処理方法 |
JP2015115049A (ja) * | 2013-12-16 | 2015-06-22 | 株式会社デンソー | マイクロコンピュータ |
DE102015225877A1 (de) | 2014-12-19 | 2016-06-23 | Denso Corporation | Mikrocomputer |
CN109117300A (zh) * | 2018-07-03 | 2019-01-01 | 千寻位置网络有限公司 | 数据的校验方法及系统、定位终端 |
CN114840231A (zh) * | 2022-04-07 | 2022-08-02 | 重庆金康赛力斯新能源汽车设计院有限公司 | 一种程序包的验算方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9110842B2 (en) | Control device for vehicle and error processing method in control device for vehicle | |
TWI736075B (zh) | 儲存裝置 | |
JP2009067298A (ja) | 車両用記憶管理装置 | |
JP2009120054A (ja) | 車両用記憶管理装置 | |
JP2005208958A (ja) | マイコンにおけるプログラムエリアのデータ保全方法 | |
JP4775969B2 (ja) | 不揮発性記憶装置 | |
JP2004220580A (ja) | プログラマブルコントローラ用ユニット及びメモリ自動復旧方法 | |
JP5041290B2 (ja) | プログラマブルコントローラおよびその異常時復旧方法 | |
JP2010067098A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP2010204851A (ja) | 記憶装置及び情報処理装置 | |
TW201430554A (zh) | 資料恢復系統及方法 | |
JP4484074B2 (ja) | プログラマブルコントローラ用ユニット及びメモリ自動復旧方法 | |
JP6708596B2 (ja) | 電子制御装置及び制御プログラム検証方法 | |
US11314634B2 (en) | Electronic control unit and data protection method therefor | |
JP2014075078A (ja) | 電子制御装置 | |
JP2012252557A (ja) | メモリコントローラ | |
JP4135413B2 (ja) | メモリチェックシステムおよびメモリチェック方法、信号処理装置および信号処理装置のメモリチェック方法、ならびに、メモリチェックプログラム | |
WO2021002176A1 (ja) | 不揮発性記憶装置 | |
JP4708088B2 (ja) | 障害復旧方法およびマイクロコンピュータ | |
JP6363044B2 (ja) | 制御装置 | |
JP2006079229A (ja) | フラッシュメモリマイクロコンピュータのデータ保全方法および保全装置 | |
JP2019160080A (ja) | 制御装置および異常検出方法 | |
JPH0784894A (ja) | 不揮発性メモリの書き込み方法 | |
JP2011150383A (ja) | ファームウェア書き込み方法 | |
JP2000194605A (ja) | フラッシュメモリのリフレッシュ装置、そのリフレッシュ方法及びフラッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061107 |