(57)【特許請求の範囲】
【請求項１】
自動車制御装置における消去可能不揮発性メモリの完全な再プログラミング方法であって、
前記制御装置は、少なくとも１つの中央ユニットと、揮発性メモリと、消去可能不揮発性メモリと、オン／オフスイッチ回路とを有し、
前記中央ユニットは消去可能不揮発性メモリのプログラミングのためにプログラムモジュールを処理し、
制御装置はプログラミングすべきデータを外部電子装置から受信し、
消去可能不揮発性メモリが少なくとも２つの別個の消去およびプログラム可能領域（２０，２１）に分割されており、
プログラミング過程の前に、プログラムモジュールを少なくとも２つの別個の消去およびプログラム可能領域の一方の領域（２０）に書き込む形式の方法において、
プログラムモジュールの呼び出しの前に、前記プログラムモジュールが書き込まれている、消去可能不揮発性メモリ（１２）の一方の領域（２０）の少なくともメモリ内容について正当性を検査し、
消去可能不揮発性メモリ（１２）の一方の領域（２０）のプログラムモジュールにエラーがないと識別された場合だけ、プログラムモジュールを前記一方の領域（２０）から揮発性メモリ（１３）にロードし、当該プログラムモジュールの処理をスタートさせ、該揮発性メモリ（１３）をプログラムメモリとして用い、消去可能不揮発性メモリ（１４）の２つの別個の消去およびプログラム可能領域の他方の領域（２１）を新たにプログラミングする、ことを特徴とする方法。
【請求項２】
プログラムモジュールは、外部電子装置（１８）と通信するためのモジュール、外部電子装置のアクセス資格を検査するためのモジュール、揮発性メモリ（１３）へプログラムモジュールをロードするためのモジュール、消去可能不揮発性メモリｍ（１２）の消去およびプログラミングのためのモジュールを含む、請求項１記載の方法。
【請求項３】
プログラムモジュールの一部だけを消去可能不揮発性メモリ（２２）に書き込み、プログラムモジュールの残りの部分を外部電子装置（１８）から揮発性メモリ（１３）に後からロードする、請求項２記載の方法。
【請求項４】
メモリ内容を検査するためにチェックサムを計算し、該チェックサムを消去可能不揮発性メモリ（１２）に記録されている値と比較し、
前記計算された値が記録された値と一致するときにメモリ内容にエラーが無いと識別する、請求項１記載の方法。
【請求項５】
少なくとも２つの別個の消去およびプログラム可能領域（２０、２１）の一方をプログラミングした後、当該領域（２０、２１）のメモリ内容をエラーの有無について検査し、
プログラミングされた一方の領域にエラーが無いと識別された場合だけ他方の領域をプログラミングし、
エラー無しと識別されなかった場合には、プログラミングされた前記一方の領域のプログラミングを繰り返す、請求項１から４までのいずれか１項記載の方法。
【請求項６】
プログラムモジュールを制御装置（１０）の製造終了時に、消去可能不揮発性メモリ（１２）の２つの別個の消去およびプログラム可能領域（２０，２１）の各々に、制御装置（１０）に対する制御プログラムのプログラミングと共に書き込む、請求項１から５までのいずれか１項記載の方法。
【請求項７】
制御装置（１０）の製造終了時にはプログラムモジュールを消去可能不揮発性メモリ（１２）の一方の領域（２０）にだけ書き込み、
消去可能不揮発性メモリ（１２）の他方の領域（２１）へ前記プログラムモジュールを書き込み、それから前記一方の領域（２０）の消去を実行する、請求項１から５までのいずれか１項記載の方法。
【発明の詳細な説明】
従来の技術
本発明は、請求項１の上位概念に記載された、電気的に消去可能な不揮発性メモリの完全な再プログラミング方法から出発する。消去可能な不揮発性メモリの完全な再プログラミング方法は、ＷＯ８０／０２８８１から公知である。ここで消去可能不揮発性メモリ（ＥＰＲＯＭ）はマイクロコンピュータのチップに含まれている。プログラミングのために、マイクロコンピュータのＲＯＭにはプログラムモジュールが含まれている。消去可能不揮発性メモリ（ＥＰＲＯＭ）のプログラミングのためにマイクロコンピュータはシリアル・インターフェースを介してデータ端末機（ターミナル）と接続されている。マイクロコンピュータはプログラミングすべきデータをターミナルから受信する。消去可能不揮発性メモリ（ＥＰＲＯＭ）をプログラミングするためにマイクロコンピュータはＲＯＭに記憶されているプログラムモジュールを使用する。
発明の利点
消去可能不揮発性メモリを完全に再プログラミングするための本発明の方法は従来技術に対して、高価でとくに後から変更することのできない、プログラムモジュールを有するＲＯＭを省略することができるという利点を有する。本発明では、プログラムモジュールに付加的に消去可能不揮発性メモリが設けられている。このプログラムモジュールは、本来のプログラミング過程の前にマイクロコンピュータの揮発性メモリ（コードＲＡＭ）にロードされ、処理を待機する。さらに、消去可能不揮発性メモリを比較的後の時点でも完全にかつ確実に再プログラミングできるので有利である。これにより例えば自動車制御装置の場合に、顧客に引き渡した後からでもさらにプログラムを変更することができ、そのために自動車制御装置を例えば自動車から取り外したり、製造工場に送り返したりする必要がない。このことは、自動車制御装置を現場取り付けする際に初めてプログラム変更の必要がしばしば生じるので有利である。例えば自動車の現場使用の際に初めて、機関が所定の気候条件の下では不安定であることが判明することがある。したがってこの場合に対して機関を良好に調整する必要がある。しかしそのためには機関制御装置の制御プログラムを変更しなければならない。本発明により、自動車制御装置の制御プログラムを問題なしに完全に交換することができる。ここでプログラミング方法は、簡単な手段によって実行可能に構成される。これによって不揮発性消去可能メモリの再プログラミングを整備工場でも行うことができる。そのためには単に、小型コンピュータ、例えばパーソナルコンピュータがあればよく、小型コンピュータは自動車の診断インターフェースを介して相応の自動車制御装置と接続される。新しいプログラムデータは例えばディスクにより整備工場に搬送される。このデータは次に小型コンピュータと診断インターフェースを介して制御装置に伝送される。プログラミングをエラーがあっても大丈夫なように構成すると有利である。このように構成すれば、雑な操作エラー、例えばプログラミング過程終了前の誤操作によって自動車ないしデータ装置からの電圧供給の中断があっても、プログラミングが不能にならない。すなわち、プログラムモジュールはほぼ二重にプログラム可能不揮発性メモリに備わっている。これにより、これらのプログラムモジュールの１つが消去されても、完全なプログラムモジュールがもう１つメモリに含まれている。このプログラミング過程は次にこの完全なプログラムモジュールによってさらに実行することができる。プログラムモジュールを不揮発性消去可能メモリに記憶することの別の利点は、これにより制御装置製造業者が自分で固有のプログラムモジュールを開発できることである。このプログラムモジュールの機能は比較的多くを公開して操作できるようにする必要はない。したがって不揮発性消去可能メモリを後からの不法に操作改ざんすることが困難になる。
従属請求項に記載された手段によって、請求項１に記載の方法の有利な改善が可能である。プログラムモジュール自体は個々のモジュールから構成することができる。これは、プログラムモジュールのモジュールの一部だけが消去可能不揮発性メモリに書き込まれ、残りのモジュールは外部の電子装置から揮発性メモリに後からロードされる場合である。このことによって、消去可能不揮発性メモリのメモリスペースが節約される。とくに有利には、本来のプログラミング過程の前に、プログラムモジュールが含まれているメモリ領域のメモリ内容を正当性について検査し、エラー無しと識別されたプログラムモジュールが他の領域に含まれているときだけ、新たにプログラミングするのである。このことによってプログラミング過程をさらに確実にすることができる。
検査はとくに簡単には、プログラムモジュールが含まれているメモリ領域のメモリ内容をチェックサムに計算してまとめることにより行う。このチェックサムも消去可能不揮発性メモリに記録されている値と比較し、計算されたチェックサムが記録されている値と一致した場合にはエラー無しと識別される。
さらに、少なくとも２つの領域のそれぞれをプログラミングした後、この領域をエラーの有無について検査し、前にプログラミングされた領域がエラー無しであると識別された場合だけ次の領域をプログラミングするのである。このことによってもプログラミング方法をさらに確実になる。
簡単にするために、プログラムモジュールを制御装置に対する制御プログラムと共に、制御装置の製造ラインの端部で、消去可能不揮発性メモリの少なくとも２つのいずれにも書き込むことができる。
しかしメモリスペースを節約するために、制御装置の製造終了後にプログラムモジュールを電気的消去可能不揮発性メモリの領域の片方にだけ書き込み、プログラムモジュールを、すでにプログラムモジュールが記録されている領域を消去する前に初めて、少なくとも１つの別の領域に書き込むのである。
図面
本発明の実施例が図面に示されており、以下詳細に説明する。図１は、消去可能不揮発性メモリのプログラミングのための装置の簡単なブロック回路図、図２は、消去可能不揮発性メモリのメモリ配分の概略図、図３は消去可能不揮発性メモリのプログラミングのためのフローチャート図である。
発明の説明
本発明は、自動車制御装置の分野に関する。本発明は、例えば機関制御、トランスミッション制御、ブレーキ制御等に使用される。これら制御装置はマイクロコンピュータを含み、マイクロコンピュータはそれぞれ制御プログラムを処理する。制御装置を現場で使用する際には、すなわち制御装置を自動車に組み込み、これをさらに顧客に引き渡した後に、場合によって開発時には考慮しなかった問題の生じることがある。例えば、機関の所定の回転数領域で顧客に対して不快な機関振動の発生することがある。このような機関振動は以前なら例えば燃料消費最適化のため開発側からは許容されていた。この機関振動を取り除くには、機関制御装置の制御プログラムのプログラム変更が必要になろう。例えば混合気を所定の回転数領域では比較的に濃く調整しなければならないかもしれない。別の変更要請も後から生じるかもしれない。例えば自動車製造業者の側から、完成車においても制御装置を完全に再プログラミングできるように制御装置を構成して欲しいという要請もある。再プログラミングは工場での簡単な手段によって可能であるべきである。このために本発明の解決手段が提供される。
図１には参照番号１０により自動車制御装置が示されている。この自動車制御装置は、中央ユニット１１、消去可能不揮発性メモリ１２、揮発性メモリ１３、読み出し専用メモリ１４並びに種々のオン/オフスイッチ回路１５を有する。消去可能不揮発性メモリ１２は有利にはフラッシュＥＰＲＯＭとして構成することができる。このメモリ形式は高記憶密度、不揮発性、並びにメモリ内容の電気的消去を可能にする。揮発性メモリ１３はこれに、またはその一部にプログラムデータを書き込みことができ、そのプログラムデータにＣＰＵが直接アクセスすることができる。読み出し専用メモリ１４はＲＯＭとして公知である。制御装置１０はシリアル伝送線路１６を介してパーソナルコンピュータ１８と接続されている。別個の線路１７を介して消去可能不揮発性メモリ１２のプログラミングのためのプログラム電圧が制御装置１０へ給電される。
フラッシュＥＰＲＯＭは、全メモリ内容の消去がブロック毎にのみ可能であるという特殊性を有する。図２には、消去可能不揮発性メモリ１２が相互に消去可能でプログラミング可能な２つの別個の領域を備えることが示されている。メモリ分割は次のように行われる。すなわち、２つのブロック２０と２１が同じ大きさであるように行われる。中央ユニット１１がフラッシュＥＰＲＯＭに読み出しアクセスする際、アクセスは選択自由であり、これにより制御装置プログラムを完全に２つのブロック２０、２１に分割することができる。
自動車制御装置１０の製造の際に、消去可能不揮発性メモリ１２には制御プログラムが書き込まれる。付加的にメモリ領域２０、２１のそれぞれに同じプログラムモジュールが書き込まれる。このプログラムモジュールは詳細には、図２に示されたメモリ領域２２と２３に書き込まれる。メモリ１２を再プログラミングするために図１の構成が使用される。パーソナルコンピュータ１８はシリアルデータ伝送線路１６を介して自動車制御装置１０と接続されている。さらに、別個の接続線路１７を介してプログラム電圧が制御装置１０に印加される。プログラミングのために新たなデータ、例えばディスケットのようなデータ担体で製造工場から配布される新たなデータがパーソナルコンピュータ１８に入力される。制御装置１０を、所定の信号の印加によってプログラムモードに切り替えた後、データがパーソナルコンピュータ１８から連続的に自動車制御装置１０へ伝送される。メモリ１２のプログラミングのための具体的経過を以下、図３のフローチャートに基づいて説明する。
参照番号３０によりプログラミング過程のスタートが示されている。次に中央ユニット１１はメモリ領域２０の検査を実行するプログラム部を処理する。ＣＰＵ１１はここで、このメモリ領域に対するチェックサムを計算する。次にこの値は、この領域に記憶されている値と比較される。すなわち問い合わせ３２で、ＣＰＵ１１はメモリ領域２０のメモリ内容にエラーが無いか否か検出する。以下まず最初に、メモリ領域２０の検査でそこに書き込まれたデータにエラーの無いことが判明したとする。次にプログラムステップ３３で、メモリ領域２０のメモリ内容が揮発性メモリ１３に伝送され、次にこの中に記憶されているプログラムモジュールがスタートする。このプログラムモジュールはそれ自体従来技術から公知のプログラムである。このプログラムの監視の下で、例えばパーソナルコンピュータ１８との通信が行われる。重要なことは、同じようにこのプログラムの監視の下でステップ３４ではメモリ領域が消去され、引き続きパーソナルコンピュータ１８から受信された新たなデータにより再プログラミングされることである。メモリ領域２１のプログラミングが行われると、次にこの領域の検査がプログラムステップ３５で行われる。検査では同じように、メモリ領域２１についてチェックサムを計算し、このチェックサムをパーソナルコンピュータから受信されたチェックサムと比較する。間違ってプログラミングが行われた場合には、これが問い合わせ３６で識別され、メモリ領域２１が新たにプログラミングされる。そしてプログラムステップ３４と３５が続く。プログラミングが正しく実行されていれば、プログラムステップ３７で新たに新しいプログラムモジュールのロードが実行され、このプログラムモジュールが今度は揮発性メモリ１２のメモリ領域２３に書き込まれる。新しいプログラムモジュールは引き続きスタートされる。その後、消去可能不揮発性メモリ１２の領域２０のプログラミングが行われる。プログラムステップ３８では、この領域２０の消去およびプログラミングが実行される。これはステップ３４と同じように行われる。しかしプログラムルーチン自体をオリジナルのプログラムルーチンに対してプログラムステップ３４で改善することも可能である（例えばプログラミング時間に関して）。次にプログラムステップ３９で、領域２０に書き込まれたメモリ内容がプログラムステップ３５と同じように検査される。問い合わせ４０で、求められたチェックサムと所定のチェックサムとの比較によって、領域２０が正常にプログラミングされたか否か検査される。正常にプログラミングされていなければ、プログラムステップ３８と３９が再度処理される。プログラミング過程が成功して終了すると、全メモリ１２に新しいメモリ内容が記憶されたことになり、このメモリをプログラミングするためのプログラムはプログラムステップ５１で終了する。
問い合わせ３２で、領域２０のメモリ内容にエラーのあることが判明した場合に対しては、プログラムステップ４１で領域２１のメモリ内容が検査される。問い合わせ４２で、領域２１のメモリ内容にエラーがあるか否かの決定が行われる。領域２１のメモリ内容にエラーがあると識別されると、全プログラミング過程がプログラムステップ５１により終了する。領域２１のメモリ内容にエラーがないと識別されれば、メモリ領域２３にあるプログラムモジュールが制御装置１０の揮発性メモリ１３にロードされ、スタートする。このことはプログラムステップ４３で、プログラムステップ３３と同じように行われる。その後プログラムステップ４４でメモリ領域２０の消去と再プログラミングが行われる。これもプログラムステップ３４ないし３８と同じように行われる。領域２０のプログラミングはプログラムステップ４５で検査される。問い合わせ４６で、この領域は正常にプログラミングされなかったという検査結果が生じると、この領域２０のプログラミングが繰り返される。そのためにプログラムステップ４４と４５が繰り返される。プログラミングが正常に行われるとプログラムステップ４７で、新たに領域２０に書き込まれたプログラムモジュールが揮発性メモリ１３にロードされ、スタートする。この処理の間、プログラムステップ４８で領域２１が消去され、新たなデータによってプログラミングされる。プログラムステップ４９では再び、この領域の検査が行われる。ここでも、問い合わせ５０で先行するプログラミング過程でのエラーが検出されると、プログラミングが繰り返される。プログラムが正しく実行されれば、メモリ１２の全メモリ内容が新たにプログラミングされたことになり、プログラム過程はプログラムステップ５１で終了する。
本発明はここに提示された実施例に制限されるものではない。本発明は多様に変形することができる。例えば、消去可能不揮発性メモリ１２内のメモリスペースを節約するために、制御装置の製造終了時に、すなわち消去可能不揮発性メモリ１２の最初のプログラミングの際に、プログラムモジュールを例えば第１の領域２０にだけ書き込むのである。しかしこの場合は領域２０の消去の前に領域２１を、中間ステップで領域２０からのプログラムモジュールにより上書きしなければならない。
さらに例えば問い合わせ３６、４０、４６および５０で負の判別分岐が発生する場合のプログラムループに中断基準を設けることができる。この中断基準はループ通過の数を所定の値に制限する。
プログラムモジュールは、請求項３に記載された要素すべてを不揮発性消去可能メモリに書き込み必要はない。変形実施例では、例えば外部電気装置と通信するためのモジュール、外部電子装置のアクセス資格を検査するためのモジュール、およびプログラムモジュールを揮発性メモリ１３にロードするためのモジュール等の重要部のみを不揮発性消去可能メモリに書き込むことができる。プログラムモジュールの残りの必要部分は簡単に外部電子装置から揮発性メモリへ後からロードすることができる。
【図１】
0003770905.tif 000002
【図２】
0003770905.tif 000003
【図３】
0003770905.tif 000004