JP3988636B2 - マイクロコンピュータ及び車両用ecu - Google Patents

マイクロコンピュータ及び車両用ecu Download PDF

Info

Publication number
JP3988636B2
JP3988636B2 JP2002366988A JP2002366988A JP3988636B2 JP 3988636 B2 JP3988636 B2 JP 3988636B2 JP 2002366988 A JP2002366988 A JP 2002366988A JP 2002366988 A JP2002366988 A JP 2002366988A JP 3988636 B2 JP3988636 B2 JP 3988636B2
Authority
JP
Japan
Prior art keywords
cpu
user
initial setting
microcomputer
executed
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 - Fee Related
Application number
JP2002366988A
Other languages
English (en)
Other versions
JP2003308307A (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 JP2002366988A priority Critical patent/JP3988636B2/ja
Priority to US10/367,731 priority patent/US7162622B2/en
Publication of JP2003308307A publication Critical patent/JP2003308307A/ja
Application granted granted Critical
Publication of JP3988636B2 publication Critical patent/JP3988636B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、CPUと、ユーザによって作成され、前記CPUによって実行されるユーザプログラムが記憶されるユーザROMとを備えてなる組込み型のマイクロコンピュータ,及びそのマイクロコンピュータを備えて構成される車両用ECUに関する。
【0002】
【従来の技術】
図16は、制御対象機器に組み込まれた状態で使用される従来のマイクロコンピュータの構成例を示すものである。マイクロコンピュータ1は、CPU2,ユーザによって作成され、CPU2によって実行されるプログラムが記憶されるROM3,CPU2が前記プログラムを実行することによりアクセスされ、様々な操作が行われる周辺回路などで構成される。
【0003】
周辺回路には、例えば、CPU2のワークエリアとして使用されるRAM4,DMA(Direct Memory Access)転送を行うためのDMAコントローラ(DMAC)5,CPU2に対する割り込みを制御するための割り込みコントローラ6,CPU2の動作を監視するためのウォッチドッグタイマ(WDT)7,アナログ信号をデジタル信号に変換するためのA/Dコンバータ8などがある。
【0004】
ユーザは、マイコン1に制御対象機器を制御させるためのアプリケーションプログラムを作成し、そのプログラムをROM3に記憶させる。そして、CPU2は、ROM3に記憶されたプログラムを読み出して実行し、制御対象機器の制御を行うようになっている。
【0005】
【発明が解決しようとする課題】
このような制御用マイコン1において、CPU2は、ユーザが作成したプログラムに基づいて実質的に制御対象機器の制御を行う前に様々な初期設定処理を行うようになっており、その初期設定処理についても、対応する処理ルーチン(或いは、プログラムモジュール)をユーザが作成して上記プログラムの冒頭部分に配置するようになっている。
【0006】
しかしながら、上記の初期設定処理の中には、同一のマイコン1を用いるのであれば、ユーザが実際に適用を行うアプリケーションの内容にかかわらず、必ず行う必要があるものが含まれている。また、そのような処理の中には、設定を確実に行わなければマイコン1による処理の信頼性が確保されないおそれが生じるものもあり、マイコン1のプログラム開発を行う場合にユーザの負担が大きくなってしまうという問題があった。
【0007】
本発明は上記事情に鑑みてなされたものであり、その目的は、ユーザによるプログラム開発の負担をより少なくすることができるマイクロコンピュータ,及びそのマイクロコンピュータを用いて構成される車両用ECUを提供することにある。
【0008】
【課題を解決するための手段】
請求項1記載のマイクロコンピュータによれば、CPUは、リセットが解除されると、ユーザROMに記憶されているユーザプログラムを実行する前に起動用ROMにアクセスする。そして、その起動用ROMに記憶されている初期設定プログラムを実行することで、ユーザプログラムを実行するために必要な初期設定処理を行う。
【0009】
即ち、初期設定処理を行うためのプログラムは起動用ROMに予め記憶されており、CPUは、起動用ROMにアクセスして初期設定処理を行った後にユーザプログラムを実行する。従って、ユーザは、ユーザプログラム中に初期設定処理に対応する部分を記述する必要がなくなるので、プログラムの作成工程を簡単にすることができる。
【0010】
そして、初期設定において必要な処理はユーザが関与することなく確実に実行されるので、信頼性を向上させることができる。また、初期設定処理に関する部分についてはデバッグを行う必要もなくなるため、プログラム作成後の開発工程も短縮することが可能となる。
【0011】
また、初期設定処理において、CPUに設定させるデータがユーザによって定されるので、ユーザが所望した値を初期設定することができる。
【0012】
具体的には、起動用ROMに記憶されている初期設定プログラムがCPUによって実行されると、その実行中にユーザROMの設定領域が読み出され、CPUが、当該領域にユーザによって設定されたデータが書き込まれていると判断すると、当該設定領域に書き込まれているデータをCPUが所定のレジスタに設定する。また、設定領域にユーザによってデータが書き込まれていないと判断するとデフォルトの設定値を所定のレジスタに設定する。即ち、ユーザが、ユーザROMに予め割り当てられている設定領域に設定を所望するデータを書き込んでおけば、そのデータが読み出されてユーザが所望した値により必要な初期設定が行われるようになる。
【0013】
その結果、初期設定処理の少なくとも一部について、CPUに実行させるか否かがユーザによって設定されるので、アプリケーションに応じて自動的に設定を行う必要があるものだけをユーザが選択して実行させることができる。
【0014】
また、ユーザROMの設定領域をCPUが読み出した場合に、当該領域にユーザによって設定されたデータが書き込まれていると判断すると、対応する初期設定処理をCPUが実行する。即ち、ユーザは、設定領域にデータを書き込めば(デフォルトのデータを変更する)、その書き込みにより設定領域のデータが変更されたことをもって、対応する初期設定処理を選択的に実行させることができる。
【0015】
加えて、初期設定処理を、CPUに対して供給する動作用クロック信号を生成するために使用される発振子の発振状態が不安定な状態にある期間に実行する。即ち、従来、リセット解除後に行う初期設定処理は、発振子の発振状態が安定するまで待って行なうようにしていた。そのため、前記発振状態が不安定な状態にある期間はマイクロコンピュータの動作が保障されず、誤動作が発生するおそれがあった。そこで、上記のように、初期設定処理を実行することで、誤動作が発生する可能性を極力小さくすることができ、信頼性を更に向上させることができる。
【0016】
請求項記載のマイクロコンピュータによれば、初期設定処理を、リセットが解除された直後に実行する。即ち、発振子の発振状態が安定するまでの時間(安定時間)は個別の製品によってばらつきがある。従って、請求項のように構成すれば、発振子の安定時間が個別に異なるとしても、初期設定処理を、確実に発振状態が不安定な状態にある期間に実行することができる。
【0017】
請求項3記載のマイクロコンピュータによれば、CPUは、低消費電力モードが解除された場合も起動用ROMにアクセスを行い、初期設定処理のうち動作を再開するために必要な処理を行う。即ち、CPUが低消費電力モードによって動作を一時的に停止しているような状態となり、その状態が解除された際には、リセット解除時と同様な初期設定を再度行う必要があるケースも存在する。従って、このように構成すれば、低消費電力モードを有しているマイクロコンピュータについても対応することができる。
【0018】
請求項記載のマイクロコンピュータによれば、低消費電力モードが解除された場合に行う初期設定処理を、CPUに対して供給する動作用クロック信号を生成するために使用される発振子の発振状態が不安定な状態にある期間に実行する。従って、低消費電力モードが解除された場合についても、請求項と同様の作用効果を得ることができる。
【0019】
請求項記載のマイクロコンピュータによれば、初期設定処理を、低消費電力モードが解除された直後に実行するので、低消費電力モードが解除された場合についても、請求項と同様の作用効果を得ることができる。
【0020】
請求項記載のマイクロコンピュータによれば、低消費電力モードを、所定周期で繰り返し実行するので、それに応じて初期設定処理も繰り返し実行されるようになり、ノイズの影響を受けやすい動作環境にある場合でも信頼性を向上させることができる。
【0021】
請求項記載のマイクロコンピュータによれば、初期設定処理として、CPUに対する割込み禁止処理を行う。即ち、リセットが解除された直後の状態で割り込みが発生してもCPUは即座に対応することができないので、取り敢えず割り込み禁止状態にしてその間に初期設定処理を行う必要がある。従って、割り込み禁止処理を初期設定において行うようにすれば、ユーザのプログラミング負担を確実に削減することができる。
【0022】
この場合、初期設定処理を、CPUの内部レジスタを初期化する処理とする。即ち、内部レジスタの初期化処理はCPUが起動する場合に必須の処理であるから、当該処理を初期設定処理として行うようにすれば、やはり、ユーザのプログラミング負担を確実に削減することができる。
【0023】
また、初期設定処理を、ウォッチドッグタイマの周期を設定する処理とする。即ち、CPUの動作状態を監視するためにウォッチドッグタイマを使用する場合は、初期設定の段階においてその周期を設定することが好ましい。従って、このように構成すれば、やはり、ユーザのプログラミング負担を確実に削減することができる。
【0024】
更に、初期設定処理を、ウォッチドッグタイマを動作させるクロックソースを設定する処理とする。即ち、クロックソースが選択可能に構成されている場合に、その選択設定を初期設定処理において行えば、ユーザのプログラミング負担を削減することができる。
【0025】
加えて、初期設定処理を、クロック信号出力回路の発振安定時間を設定する処理とする。即ち、クロック信号出力回路は停止している状態から発振を開始すると、その発振動作が安定するまでに所定の時間を必要とする場合がある。
【0026】
従って、クロック信号出力回路が出力するクロック信号に基づいて動作する回路は、発振動作が安定した状態となるまで待機した上でなければ精確な動作を期し難い。そこで、初期設定処理において発振安定時間を設定すれば、CPUにその発振安定時間が経過するまで必要な処理の実行を待機させることができるので、前記クロック信号に基づいて動作する回路を用いて行う処理を精確に実行することができる。
【0027】
請求項記載の車両用ECUによれば、請求項1乃至の何れかに記載のマイクロコンピュータを備えて構成される。即ち、車両用ECUにおいては、初期設定処理として行うべきものの範囲はある程度限られていると共に、その処理内容についても、敢えてユーザが独自に設定を行う必然性があるものは少ない。従って、本発明を車両用ECUに有効に適用することができる。
【0028】
また、車両用ECUにはその動作に対して高いレベルの信頼性が要求されるため、初期設定処理を確実に行うことがその信頼性を確保することにつながる。従って、初期設定処理が予め起動用ROMに書き込まれている初期設定プログラムにより自動的に行われることで、車両用ECUを使用するユーザに対してある水準の信頼性を保障することができる。
【0029】
【発明の実施の形態】
(第1実施例)
以下、本発明を、制御対象機器として車両に関する機器を制御するECUに適用した場合の第1実施例について図1乃至図14を参照して説明する。なお、図14と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。図2は、本発明のマイコン11を用いて車両用ECUたるボデーECU12を構成し、そのボデーECU12を用いて車両用システムを構成した場合の概略を示す機能ブロック図である。
【0030】
ボデーECU12には、エンジンを制御するエンジンECU13,エアコンを制御するエアコンECU14,車両のドアの開閉検知やロック・アンロックを制御するドアECU15,インストルメントパネルのメータや表示ランプなどを含む各種表示等を制御するパネルECU16などが接続されている。ボデーECU12は、これらのECU13乃至16より出力される各種の情報が車内LANなどの通信プロトコルを介して与えられると、それらの情報に基づき必要に応じてECU13乃至16に制御指令を出力するようになっている。
【0031】
図1は、マイクロコンピュータ(マイコン)11の概略構成を示す機能ブロック図である。マイコン11は、CPU50を中心として、マイコン1と同様の周辺回路3(A)〜9を備えている。それらに加え、更に、ブートROM(起動用ROM)17,クロックジェネレータ(クロック信号出力回路)18,D/Aコンバータ19,車内LANインターフェイス(I/F)20,I/Oポート21,CR発振回路22,イベントタイマ23、外部割込み入力24などの周辺回路を備えている。
【0032】
ブートROM17には、詳細は後述するが、CPU50が起動した時に実行される初期設定プログラムが記憶されている。クロックジェネレータ18は、外付けの発振子60を発振させることで与えられる発振信号の周波数を数逓倍して,CPU50などに動作用のクロック信号(マシンクロック)を供給するDPLL(Digital Phase Locked Loop)回路で構成されている。
【0033】
また、クロックジェネレータ18は、CPU50がレジスタにデータを書き込むことによりクロック信号の出力を停止するスリープ/ストップモード(低消費電力モード)の設定が可能に構成されている。スリープモードは、設定された時間(例えば、1〜2秒程度)が経過すると自動的に解除(ウェイクアップ)され、CPU50に対するクロック信号の供給がされる。また、ストップモードは、CPU50に対する外部割込みが発生するまでの間、停止状態が維持されるモードである。
【0034】
D/Aコンバータ19は、CPU50が出力するデジタル信号をアナログ信号に変換して外部に出力する。車内LAN・I/F20は、上述したように、ボデーECU12が他のECU13乃至16などと通信を行う場合に使用される。I/Oポート21は、CPU12が外部との間でデータの入出力を行う場合に使用される。
【0035】
CR発振回路22は、マイコン11にオンチップで形成されたCR素子を用いてなる発振回路であり、その発振出力(周波数は例えば25kHz)は図示しないCRタイマに与えられている。また、CR発振回路22の発振出力は、図示しない分周回路を介してWDT7にも与えられるようになっている。
【0036】
イベントタイマ23は、マイコン11の外部において発生するイベントによってクリアすることが可能に構成されるタイマである。また、外部割込み入力24は、マイコン11の外部において発生する割込み信号を受け付けるための回路である。
【0037】
その他、具体的には図示しないが、マイコン1は、フリーランタイマ、シリアル通信を行うためのUART(Universal Asynchronous Receiver/Transmitter)や、クロック同期シリアル回路,PWM(Pulse Width Modulation)信号を出力するPWM回路,外部入力の状態の変化に伴う時間変化(例えば、パルス波形のハイ,ロウ区間など)をタイマにより計測するためのインプットキャプチャ,タイマのカウント値がレジスタに書き込んだ値に一致した場合に割り込みを発生させるアウトプットコンペアなども備えている。
尚、ボデーECU12は、以上のように構成されるマイコン11の周辺に、入出力バッファやリレー,電源回路などを配置することで構成されている。
【0038】
図3は、マイコン11のアドレスマップの一例である。OxOOOOO〜Ox0028FFは車内LAN・I/F20やI/Oポート21などのリソース空間,0x005000〜Ox007FFFはRAM4の領域、0xB00000〜OxBO1FFFはブートROM17の領域,OxFD0000〜OxFFFFFFはROM3に代わるユーザROM3Aの領域となっている。尚、ユーザROM3Aの領域中において、OxFFFBB0〜OxFFFBFFは、ユーザ設定領域25に割り当てられている。
【0039】
次に、図4は、ブートROM17に記憶されている初期設定プログラムの内容を示すものである。即ち、製品としてのマイコン11は、メーカによってブートROM17に予め初期設定プログラムが記憶された状態で出荷されるようになっており、ユーザは、その初期設定プログラムが実行する処理内容を鑑みた上で、マイコン11を使用するアプリケーションに応じたユーザプログラムをユーザROM3Aに書き込むようにする。
【0040】
初期設定プログラムは、CPU50のリセットが解除された直後とスリープ/ストップモードが解除されたウェイクアップ直後とに実行され、マイコン11として動作するに当たり必要な初期設定処理を行うものであるが、夫々のケースについて実行される処理内容は異なっている。また、夫々のケースついて必ず実行される処理と、ユーザがユーザROM3Aのユーザ設定領域において所定の設定を行うことにより選択的に実行される処理とがある。
【0041】
図4に示すように、リセット解除直後において必ず実行される処理は、
「割込み禁止」,「ゼロレジスタクリア」,「SYSフラグクリア」,
「リソースアドレスアクセスエラーフラグクリア」
である。以下、これらの処理について簡単に説明する。
【0042】
▲1▼「割込み禁止」
CPU50が割込みに関する諸設定を行う前に、発生した割込みの受付を禁止する処理である。図5に示すように、CPU50内部のステータスレジスタ31の第4ビット(iフラグ)に「1」を書き込んでセットする。
【0043】
▲2▼「ゼロレジスタクリア」
CPU50内部の汎用レジスタr0をゼロクリアする処理である。レジスタr0は、CPU50がリソース(周辺回路)のレジスタ等に対してアクセスを行う場合にアドレッシングモード:「レジスタ間接(16ビットディスプレースメント)」のポインタとして使用されるため、通常は「0」に設定して用いる。
【0044】
例えば、図6に示すように、命令
mov.l @(0x0540,r0),r1
を実行すると、r0=0x0000とすることで、アドレス0x0540が割り当てられている外部レジスタの値が汎用レジスタr1に読み込まれるようになっている。
【0045】
▲3▼「SYSフラグクリア」
「SYSフラグ」とは、リセットやアドレス境界エラー,未定義オペコードエラーなどの発生が反映されるシステムレジスタ32のフラグである。これらのフラグを予めクリアすることで、エラー等が発生したことを検出する。即ち、図7に示すように、システムレジスタ32のビット3〜1のフラグEOP,EAD,MONに「0」を書き込んでクリアする。
【0046】
▲4▼「リソースアドレスアクセスエラーフラグクリア」
上記のエラーは、リソースが存在しないアドレス(図3に示すアドレスマップの空白部分)にアクセスしようとした場合に発生するものであり、やはり、フラグを予めクリアすることでエラーの発生を検出する。即ち、図8に示すように、リソースアドレスアクセスレジスタ(内部レジスタ)33のビット0(エラービットMACCERR)に「0」を書き込んでクリアする。
【0047】
尚、アドレス境界エラー,未定義オペコードエラー及びリソースアドレスアクセスエラーが発生すると、CPU50に対してNMI(Non Maskable Interrupt)割り込みが発生するように構成されている。
【0048】
ここで、以上の初期設定処理はCPU50にユーザプログラムを実行させる場合は事前に必ず行うべき処理であり、ユーザの想定するボデーECU12としてのアプリケーションが具体的に異なる部分があるとしても変わることがないものである。
【0049】
また、リセット解除直後においてユーザが選択を行った場合に実行される処理は、
「発振安定時間の時間設定」,「WDTの下限値設定」,
「WDTの上限値設定」,「WDTのクロックソース設定」
である。以下、これらの処理について簡単に説明する。
【0050】
▲1▼「発振安定時間の時間設定」
「発振安定時間」とは、マイコン11に外付けされ、クロックジェネレータ18に接続されることで発振される発振子60が、発振動作を開始した時点から発振動作が安定するまでに処理の実行を待機するための時間である。即ち、リセット状態やスリープ/ストップモードにおいては、クロックジェネレータ18の動作は停止している。
【0051】
そして、リセット解除後やスリープ/ストップモードよりウェイクアップした直後にクロックジェネレータ18も動作を開始しようとするが、それに伴って発振を開始しようとする発振子60の動作(発振周波数)は暫くの間不安定となる。発振安定時間の計測は、図示しないCR発振回路22によって出力される周波数を逓倍した4MHzの発振信号に基づいて行われる。
【0052】
▲2▼「WDTの下限値/上限値設定」
WDT7は、CPU50が何らかの原因により暴走して、プログラムの無限ループを抜け出せなくなったことを検出するために使用される。この場合、暴走のパターンとしては、WDT7のリセット処理を含まない部分をループし続ける場合(図9(a)参照)と、WDT7のリセット処理を含む部分を極めて短い周期でループし続ける場合(図9(b)参照)との2つがある。従って、これらの暴走パターンに応じてWDT7の周期に上限値,下限値を夫々設定する。
【0053】
▲3▼「WDTのクロックソース設定」
WDT7は、上述したようにCR発振回路22が出力する発振信号を分周したものをクロックソースとしている。ここでは、分周比1/1,1/2,1/4などを選択する。
【0054】
ここで、WDT7につき図10及び図11を参照してより詳細に説明する。図10は、WDT7の詳細構成を示す機能ブロック図である。WDT7は、クロックソースレジスタ41,タイマカウンタ42,下限時間設定レジスタ43,上限時間設定レジスタ44,タイマステータスレジスタ45及びコンパレータ46などで構成されている。
【0055】
クロックソースレジスタ41は、CR発振回路22より供給されるクロック信号を上記▲3▼の設定値に応じて分周する回路であり、タイマカウンタ42は、レジスタ41より出力される信号をクロックソースとしている。時間設定レジスタ43,44は上記▲2▼の下限値(FWDSR),上限値(FWDER)が夫々設定されるレジスタである。
【0056】
コンパレータ46は、タイマカウンタ42のカウンタ値と時間設定レジスタ43,44の設定値とを比較し、下限値(FWDSR)に達する前にカウンタ値がクリアされた場合、若しくは、カウンタ値が上限値(FWDER)一致した場合にCPU50に対してリセット要求信号を出力する。タイマステータスレジスタ45は、WDT7によるリセット要求の要因がビットに反映されるレジスタである。
【0057】
図11には、WDT7の動作をタイミングチャートで示す。WDT7は、リセットが解除されるとカウント動作を開始する。CPU50は、ユーザプログラムを正常に実行している場合は、WDT7を下限値(FWDSR)と上限値(FWDER)との間の期間においてクリアする(タイマカウンタ42に「0」を書き込む)ようにプログラミングされる(図11(A)参照)。
【0058】
そして、CPU50が暴走し、図9(b)に示したように、WDT7のリセット処理を含む部分を極めて短い周期でループし続ける状態になると、図11(B)に示すように、WDT7を下限値(FWDSR)未満の間隔でクリアすることになりリセット要求が発生する(WDTアンダーフロー)。
【0059】
また、図9(a)に示したように、WDT7のリセット処理を含まない部分でループし続ける状態になると、図11(C)に示すようにカウンタ42が上限値(FWDER)に一致した時点でリセット要求が発生する(WDTオーバーフロー)。
【0060】
以上の▲1▼〜▲3▼の処理が初期設定プログラムにおいて実行されるようにユーザが選択するには、ユーザROM3Aにおいて予め定められている設定領域25に設定値を書き込むことで行われる。尚、これらの処理の実行をユーザが選択しなかった場合は、何れもデフォルトの設定値がセットされるようになっているが、ユーザプログラムにおいて改め設定をやり直しても良いことは勿論である。
【0061】
また、CPU50は、ウェイクアップ直後においても「割込み禁止処理」を必ず実行し、WDT7の下限値,上限値,クロックソース設定についてはユーザが選択した場合に実行するようになっている。尚、ウェイクアップ時にもWDT7に関する設定を再度行うのは、スリープ/ストップモード中に例えば外来ノイズがマイコン11に印加されることで設定値がデータ化けを起こすことも想定されることから、動作の確実化を図るためである。
【0062】
次に、本実施例の作用について図12及び図13を参照して説明する。図12は、マイコン11のリセットが解除された場合に、CPU50がブートROM17とユーザROM3Aとにアクセスを行って処理を実行する順序を概念的に示すものである。
【0063】
CPU50のリセットが解除されると、内部のプログラムカウンタはブートROM17内のアドレス0xB014F0にセットされるようになっている(▲1▼)。そして、CPU50は、ブートROM17に記憶されている初期設定プログラムを実行する。
【0064】
この時、CPU50は、初期設定プログラムの実行中にユーザROM3A内のユーザ設定領域にアクセスを行い、当該領域にユーザによって設定が行われたデータが書き込まれているか否かを判断する。そして、設定されたデータが書き込まれている場合は、そのデータに基づいて上述した発振安定時間やWDT7に関する設定を行う。
【0065】
CPU50は、初期設定プログラムの実行を終了すると、ユーザROM3Aのアドレス0xFFFFF8(リセットベクタ)に分岐する(▲2▼)。そのリセットベクタにユーザプログラムの先頭アドレスへの分岐命令(jmp MainStart )をセットすることで、CPU50はユーザプログラムの先頭アドレスへ分岐し(▲3▼)、ユーザプログラムの実行が開始される。
【0066】
図13は、ブートROM17における起動プログラムの処理内容と、その後にユーザプログラムにおいて行われるスタートアップ、及び初期化モジュールの処理内容の一例を示すフローチャートである。ステップS1〜S5は、前述したブートROM17における初期設定プログラムの処理内容であり、ステップS5はユーザの設定に応じて実行される。
【0067】
続くステップS6以降はユーザプログラムの実行に移り、S6〜S11はスタートアップモジュールである。スタートアップモジュールでは、CPU50の汎用レジスタr1〜r14をゼロクリアすると共に、スタックポインタとして使用される汎用レジスタr15を初期化したり、発振子60の発振動作が異常となった場合にユーザリセットを許可するためレジスタCKINMERに値0x0001をセットしたり、RAM4の全領域をクリアしたり、その他初期値をセットすべきデータの初期化などを行う。
【0068】
ステップS10では、発振安定期間が経過するまで待機する。そしてレジスタCHCKRSTの値が「1」となることで発振安定期間が経過すると(YES)、マシンクロックの周波数を決定するためクロックジェネレータ18に設定を行う(ステップS11)。
【0069】
ステップS12〜S17は初期化モジュールである(スタートアップ/初期化,の切り分けは、あくまでも便宜的に行った一例である)。このモジュールでは、各ステータスレジスタの状態を参照することでリセットの要因を判定したり、入出力ポート21や周辺クロックの設定,未使用ブロックの低消費電力設定や割込みコントローラ6,車内LAN・I/F20の設定を行う。
以上で全ての初期化処理が完了し、以降は具体的なアプリケーションの実行に関する処理が行われる。また、CPU50のスリープ/ストップモードが解除されウェイクアップした場合も、図13のフローチャートの内で必要とされる初期設定処理が行われるようになっている。
【0070】
尚、図13に示したように、ブートROM17によるステップS1〜S5の初期設定処理はリセット解除の直後に実行されており、ステップS10において発振安定期間が経過する以前の段階で、即ち、発振子60の発振状態が不安定な期間に実行されるようになっている。
【0071】
例えば、特許第2579419号公報,特許第2939003号公報,また、特平10−48481号(特開平10−275080号公報などの従来技術においては、何れも、リセット解除後に行なう初期設定処理を、外付けの発振子の発振状態が安定するまで待って行なうようにしていた。そのため、その発振状態が不安定な状態にある期間はマイコン11の動作が保障されず、誤動作が発生するおそれがあった。
それに対して、図14に示すように、リセット解除またはウェイクアップの直後において、初期設定処理を発振子60の発振状態が不安定な期間に実行することで、誤動作が発生する可能性は極力小さくなる。
【0072】
また、その場合の初期設定処理は、リセット解除またはウェイクアップの直後に実行されるようになっている。即ち、発振子60の発振状態が安定するまでの時間(安定時間)は個別の製品によってばらつきがあるが、リセット解除またはウェイクアップの直後に初期設定処理を実行すれば、発振子60の安定時間が個別に異なるとしても、確実に、発振状態が不安定な状態にある期間に実行されるようになる。
【0073】
以上のように本実施例によれば、マイコン11のCPU50は、リセットが解除されると、ユーザROM3Aに記憶されているユーザプログラムを実行する前にブートROM17にアクセスし、ブートROM17に記憶されている初期設定プログラムを実行することで、ユーザプログラムを実行するために必要な初期設定処理を行うようにした。
【0074】
従って、ユーザは、ユーザプログラム中に初期設定処理に対応する部分を記述する必要がなくなるので、プログラムの作成工程を簡単にすることができる。そして、初期設定において必要な処理はユーザが関与することなく確実に実行されるので、信頼性を向上させることができる。また、初期設定処理に関する部分についてはデバッグを行う必要もなくなるため、プログラム作成後の開発工程も短縮することが可能となる。
【0075】
また、初期設定処理において、CPU50に設定させるデータをユーザが設定可能に構成した。具体的には、ブートROM17に記憶されている初期設定プログラムがCPU50によって実行されると、その実行中にユーザROM3Aの設定領域25が読み出され、当該設定領域25に書き込まれているデータをCPU50が設定するので、ユーザが、ユーザROM3Aに予め割り当てられている設定領域25に設定を所望するデータを書き込んでおけば、そのデータによって必要な初期設定が行われるようになる。
【0076】
また、ユーザROM3Aの設定領域25をCPU50が読み出した場合に、当該領域25にユーザによって設定されたデータが書き込まれていると判断すると、対応する初期設定処理をCPU50が実行するので、ユーザは、設定領域25にデータを書き込むことで対応する初期設定処理を選択的に実行させることができる。
【0077】
更に、CPU50は、スリープ/ストップなどの低消費電力モードが解除された場合もブートROM17にアクセスを行い、初期設定処理のうち動作を再開するために必要な処理を行うので、低消費電力モードが設定可能に構成されるマイコン11についても対応することができる。
【0078】
そして、初期設定処理としては、具体的には、CPU50に対する割込み禁止処理や内部レジスタの初期化処理などを行うようにした。即ち、これらの処理は、ユーザのアプリケーションが異なるとしてもリセットが解除された場合には必ず実行する必要がある処理であるから、これらの処理をブートROM17に予め記憶された初期設定プログラムで実行すれば、ユーザのプログラミング負担を確実に削減することができる。
【0079】
また、初期設定処理においてWDT7の周期とクロックソースとを設定する処理を行うので、CPU50の動作状態を監視するためにWDT7を使用する場合に行う必要がある処理について、ユーザのプログラミング負担を確実に削減することができる。
【0080】
更に、初期設定処理において、発振子60の発振安定時間を設定する処理を行うので、発振子60の発振動作が停止している状態から発振を開始し、その発振動作が安定するまでに待機する時間を自動的に設定させることができる。そして、CPU50にその発振安定時間が経過するまで必要な処理の実行を待機させることで、前記クロック信号に基づいて動作する回路を用いて行う処理を精確に実行することができる。
【0081】
加えて、マイコン11を用いて、車両に関連する機器を制御対象とするボデーECU12を構成した。即ち、車両用のECU12においては、初期設定処理として行うべきものの範囲はある程度限られていると共に、その処理内容についても、敢えてユーザが独自に設定を行う必然性があるものは少ない。従って、本発明をボデーECU12に有効に適用することができる。
【0082】
また、ボデーECU12にはその動作に対して高いレベルの信頼性が要求されるため、初期設定処理を確実に行うことがその信頼性を確保することにつながる。従って、初期設定処理が予めブートROM17に書き込まれている初期設定プログラムにより自動的に行われることで、ボデーECUを12使用するユーザに対してある水準の信頼性を保障することができる。
【0083】
更に、リセット解除後、またはウェイクアップ後において、初期設定処理を、CPU50に対して供給する動作用クロック信号を生成するため、マイコン11に外付けされる発振子60の発振状態が不安定な状態にある期間に実行するようにしたので、その期間に誤動作が発生する可能性を極力小さくすることができ、信頼性を更に向上させることができる。そして、その場合に、初期設定処理を、リセット解除またはウェイクアップの直後に実行するようにした。即ち、発振子60の発振状態が安定するまでの時間(安定時間)が個別の製品によってばらつきがあるとしても、初期設定処理を、確実に、その発振状態が不安定な状態にある期間に実行することができる。
【0084】
(第2実施例)
図15は、本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。図15は、マイコン11を、ユーザプログラムの設定により、通常モード中においてスリープモードを定期的に実行するようにした場合を示す。即ち、通常モードは間欠的に実行される。
【0085】
斯様にユーザプログラムを設定することで、初期設定処理もスリープモードからウェイクアップする毎に実行されるようになる。即ち、マイコン11が、外乱ノイズの影響を受けやすい環境で動作している場合は、ノイズの影響によって出力端子のレベルが変化したり、プログラムが暴走してデータや内部レジスタの値が書き換えられたりすることが考えられる。しかし、そのような環境化においても、マイコン11が定期的に初期設定処理を行うことで、その影響を極力排除することが可能となる。
【0086】
以上のように第2実施例によれば、マイコン11は、スリープモードを所定周期で繰り返し実行するので、それに応じて初期設定処理も繰り返し実行されるようになり、ノイズの影響を受けやすい動作環境にある場合でも信頼性を向上させることができる。
【0087】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、次のような変形または拡張が可能である。
初期設定プログラムにおいて、その他、汎用レジスタr1〜r14などの初期設定や、RAM4の初期化などを行っても良い。
ーザの設定に応じて実行される初期設定処理は、その他、例えばマイコン11の外部に設けたディップスイッチに設定を行うことで実行を選択するようにしても良い。
ユーザの設定に応じて実行される初期設定処理を、全て必ず行う処理としても良い。また、ユーザにより設定されたデータに基づいて初期設定を行う構成は必要に応じて行えば良く、全てデフォルトのデータによって設定を行っても良い。
【0088】
WDT7の周期設定は、要求される信頼性のレベルによっては上限値だけを設定するようにしても良い。
また、WDT7のクロックソースを設定する処理は、クロックソースを選択可能な構成である場合に行えば良い。
低消費電力モードは、スリープ,ストップの何れか一方のみを行うようにしても良い。
低消費電力モードを実行しないマイクロコンピュータに適用しても良い。
ユーザROMは、マスクROM,フラッシュROMの何れであっても良い。 車両用ECUはボデーECUに限ることなく、その他エンジンECUなどに適用しても良い。更に、車両用ECUに限ることなく、制御対象機器に組み込まれた状態で動作するいわゆる組込み型のマイクロコンピュータであれば適用が可能である。
【図面の簡単な説明】
【図1】 本発明を、制御対象機器として車両に関する機器を制御するECUに適用した場合の第1実施例であり、マイクロコンピュータの概略的な電気的構成を示す機能ブロック図
【図2】 ボデーECUを用いて車両用システムを構成した場合の概略を示す機能ブロック図
【図3】 マイクロコンピュータのアドレスマップの一例を示す図
【図4】 ブートROMに記憶されている初期設定プログラムの内容を示す図
【図5】 CPU内部のステータスレジスタのビット構成を示す図
【図6】 CPU内部の汎用レジスタr0をポインタとして用い、アドレッシングモード:レジスタ間接を実行する場合の状態を概念的に示す図
【図7】 システムレジスタのビット構成を示す図
【図8】 リソースアドレスアクセスレジスタのビット構成を示す図
【図9】 CPUが暴走した場合の一例であり、(a)はWDTがリセットされないプログラムループ、(b)はWDTがリセットされ続けるプログラムループを示す図
【図10】 WDTの詳細構成を示す機能ブロック図
【図11】 WDTのカウント動作及びクリア動作の一例を示すタイミングチャート
【図12】 マイクロコンピュータのリセットが解除された場合に、CPUがブートROMとユーザROMとにアクセスを行って処理を実行する順序を概念的に示す図
【図13】 ブートROMにおける起動プログラムの処理内容と、その後にユーザプログラムにおいて行われるスタートアップ及び初期化モジュールの処理内容の一例を示すフローチャート
【図14】 リセット若しくはスリープ/ストップモードの解除時において初期設定処理が実行されるタイミングを示すタイミングチャート
【図15】 本発明の第2実施例を示すもので、スリープモード並びに初期設定処理が定期的に実行される状態を示すタイミングチャート
【図16】 従来技術を示す図1相当図
【符号の説明】
3AはユーザROM、7はウォッチドッグタイマ、11はマイクロコンピュータ、12はボデーECU(車両用ECU)、17はブートROM(起動用ROM)、18はクロックジェネレータ(クロック信号出力回路)、25はユーザ設定領域、31はステータスレジスタ(内部レジスタ)、32はシステムレジスタ(内部レジスタ)、33はリソースアドレスアクセスレジスタ(内部レジスタ)、50はCPU、60は発振子を示す。

Claims (8)

  1. CPUと、ユーザによって作成され、前記CPUによって実行されるユーザプログラムが記憶されるユーザROMとを備え、制御対象機器に組み込まれた状態で動作するマイクロコンピュータにおいて、
    前記CPUのリセットが解除されると、前記ユーザプログラムが実行される前に前記CPUによってアクセスが行われ、当該CPUが前記ユーザプログラムを実行するために必要な初期設定処理を行う初期設定プログラムが予め記憶されている起動用ROMを備え、
    記ユーザROMに設定領域を設け、
    前記起動用ROMに記憶されている初期設定プログラムが前記CPUによって実行されるとその実行中に前記ユーザROMの設定領域が読み出され、前記CPUが、当該領域にユーザによって設定されたデータが書き込まれていると判断すると前記データを所定のレジスタに設定し、前記設定領域にユーザによってデータが書き込まれていないと判断するとデフォルトの設定値を所定のレジスタに設定し、
    前記初期設定処理を、前記CPUに対して供給する動作用クロック信号を生成するために使用される発振子の発振状態が不安定な状態にある期間に実行することを特徴とするマイクロコンピュータ。
  2. 前記初期設定処理を、リセットが解除された直後に実行することを特徴とする請求項1記載のマイクロコンピュータ。
  3. 前記CPUは、
    内部状態を保持したまま動作を一時的に停止する低消費電力モードを有していると共に、
    前記低消費電力モードが解除された場合も前記起動用ROMにアクセスを行い、前記初期設定処理のうち動作を再開するために必要な処理を行うことを特徴とする請求項1又は2記載のマイクロコンピュータ。
  4. 前記低消費電力モードが解除された場合に行う初期設定処理を、前記CPUに対して供給する動作用クロック信号を生成するために使用される発振子の発振状態が不安定な状態にある期間に実行することを特徴とする請求項3記載のマイクロコンピュータ。
  5. 前記初期設定処理を、前記低消費電力モードが解除された直後に実行することを特徴とする請求項4記載のマイクロコンピュータ。
  6. 前記低消費電力モードを、所定周期で繰り返し実行することを特徴とする請求項3乃至5の何れかに記載のマイクロコンピュータ。
  7. 前記CPUの動作状態を監視するために用いられるウォッチドッグタイマと、
    前記CPUに対して動作用クロック信号を出力するクロック信号出力回路とを備え、
    前記初期設定処理は、
    前記CPUに対する割込みを禁止する処理、
    前記CPUの内部レジスタを初期化する処理、
    前記ウォッチドッグタイマの周期を設定する処理、
    前記ウォッチドッグタイマを動作させるクロックソースを設定する処理、
    前記クロック信号出力回路の発振安定時間を設定する処理であることを特徴とする請求項1乃至6の何れかに記載のマイクロコンピュータ。
  8. 請求項1乃至7の何れかに記載のマイクロコンピュータを備えて構成されることを特徴とする車両用ECU (Electronic Control Unit)
JP2002366988A 2002-02-15 2002-12-18 マイクロコンピュータ及び車両用ecu Expired - Fee Related JP3988636B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002366988A JP3988636B2 (ja) 2002-02-15 2002-12-18 マイクロコンピュータ及び車両用ecu
US10/367,731 US7162622B2 (en) 2002-02-15 2003-02-17 Microcomputer for apparatus control and vehicle-mounted electronic control unit incorporating microcomputer

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002-38257 2002-02-15
JP2002038257 2002-02-15
JP2002366988A JP3988636B2 (ja) 2002-02-15 2002-12-18 マイクロコンピュータ及び車両用ecu

Publications (2)

Publication Number Publication Date
JP2003308307A JP2003308307A (ja) 2003-10-31
JP3988636B2 true JP3988636B2 (ja) 2007-10-10

Family

ID=27736511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002366988A Expired - Fee Related JP3988636B2 (ja) 2002-02-15 2002-12-18 マイクロコンピュータ及び車両用ecu

Country Status (2)

Country Link
US (1) US7162622B2 (ja)
JP (1) JP3988636B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10228064B4 (de) * 2002-06-17 2005-08-11 Robert Bosch Gmbh Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms
JP4096926B2 (ja) * 2004-07-28 2008-06-04 アイシン精機株式会社 車両用電子制御装置
JP2006127466A (ja) * 2004-09-29 2006-05-18 Denso Corp マイクロコンピュータ
JP4507888B2 (ja) * 2005-01-17 2010-07-21 株式会社デンソー マイクロコンピュータ
JP2007011734A (ja) * 2005-06-30 2007-01-18 Denso Corp 車載制御装置
JP4808016B2 (ja) 2005-12-20 2011-11-02 日立オートモティブシステムズ株式会社 マイクロコンピュータの初期化装置および車載用制御装置
JP2007183871A (ja) * 2006-01-10 2007-07-19 Nec Infrontia Corp 起動装置、起動回路、起動方法およびプログラム
JP4609381B2 (ja) 2006-06-14 2011-01-12 株式会社デンソー 異常監視用プログラム、記録媒体及び電子装置
CN101766005B (zh) * 2007-07-31 2012-10-17 三菱电机株式会社 通信控制系统
DE102009010484A1 (de) 2009-02-25 2010-08-26 Gea Westfalia Separator Gmbh Filtrationsverfahren und -vorrichtung
JP5451705B2 (ja) * 2011-09-21 2014-03-26 日立オートモティブシステムズ株式会社 自動車用電子制御装置及びデータ通信方法
DE102015118659A1 (de) * 2015-10-30 2017-05-04 Minebea Co., Ltd. Verfahren und System zur Steuerung des Betriebs einer Steuereinrichtung
CN110794804B (zh) * 2019-09-25 2021-02-23 潍柴动力股份有限公司 用于刷写ecu的系统、ecu、机动车和方法
CN112793420B (zh) * 2021-01-15 2022-07-19 东风柳州汽车有限公司 一种车辆组合仪表初始化方法、装置、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200912A (en) * 1978-07-31 1980-04-29 Motorola, Inc. Processor interrupt system
US4627060A (en) * 1984-11-29 1986-12-02 Baxter Travenol Laboratories, Inc. Watchdog timer
JPS63206852A (ja) 1987-02-24 1988-08-26 Hitachi Maxell Ltd シングルチツプlsi
JPH04361311A (ja) 1991-06-07 1992-12-14 Nec Ic Microcomput Syst Ltd シングルチップマイクロコンピュータ
US5461649A (en) * 1994-05-09 1995-10-24 Apple Computer Inc. Method and apparatus for maintaining a state of a state machine during unstable clock conditions without clock delay
JPH0981396A (ja) 1995-09-11 1997-03-28 Fuji Xerox Co Ltd ディジタル制御装置
US5859987A (en) * 1995-09-29 1999-01-12 Intel Corporation Method and apparatus for providing multiple configuration reset modes for an intelligent bridge
JPH09319726A (ja) 1996-05-28 1997-12-12 Fujitsu Ltd 半導体集積回路装置
JPH09319727A (ja) 1996-05-31 1997-12-12 Hitachi Ltd データプロセッサ及びデータ処理システム
JPH1011269A (ja) 1996-06-26 1998-01-16 Sanyo Electric Co Ltd 1チップマイクロコンピュータ
FI108898B (fi) * 1996-07-09 2002-04-15 Nokia Corp Menetelmä prosessorin resetoimiseksi ja vahtikoira
US6275911B1 (en) 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JPH11219299A (ja) * 1998-02-02 1999-08-10 Mitsubishi Electric Corp マイクロコンピュータ
JPH11272498A (ja) * 1998-03-25 1999-10-08 Denso Corp 電子制御装置
JP2000059981A (ja) 1998-08-04 2000-02-25 Meidensha Corp ディジタル形保護継電装置
US6697973B1 (en) * 1999-12-08 2004-02-24 International Business Machines Corporation High availability processor based systems
JP4906998B2 (ja) 2000-06-09 2012-03-28 株式会社三共 遊技機
JP3597142B2 (ja) * 2001-04-20 2004-12-02 日本電気株式会社 中心位相判定回路とその中心位相判定方法

Also Published As

Publication number Publication date
JP2003308307A (ja) 2003-10-31
US20030159027A1 (en) 2003-08-21
US7162622B2 (en) 2007-01-09

Similar Documents

Publication Publication Date Title
JP3988636B2 (ja) マイクロコンピュータ及び車両用ecu
JPH01232447A (ja) シングル・チップ・マイクロコンピュータ
CN114661368B (zh) 一种芯片及其启动方法
JP4393954B2 (ja) マイクロコンピュータ
US7558990B2 (en) Semiconductor circuit device and method of detecting runaway
JPH1115569A (ja) システムのリセット方式
JP2000322264A (ja) 電子機器
JP3214469B2 (ja) マイクロコンピュータによるフラッシュeepromの書き込み制御方法及び装置
KR100448961B1 (ko) 계산기 시스템
US20030065984A1 (en) Processor device equipped with flash memory and debugger apparatus
JP2009116719A (ja) マイクロコンピュータ
US6804732B2 (en) Port sampling circuit apparatus incorporated in a microcomputer
JP3913991B2 (ja) マイクロコンピュータおよびコンピュータシステム
JPH0744407A (ja) マイクロコンピュータのバックアップ装置
JP3405239B2 (ja) 初期値設定変更装置
JPH01280818A (ja) 演算制御装置の初期化方法
JP3433824B2 (ja) パルス入出力回路の故障検出装置
JP2001075942A (ja) ワンチップマイコン
JPH04245332A (ja) データ処理装置
JP2003196258A (ja) シングルチップマイクロコンピュータ
JPH1153224A (ja) ウォッチドッグタイマ及びマイクロコンピュータ
JPH11272642A (ja) 1チップマイクロコンピュータ及び起動アドレス設定方法
JPH11231963A (ja) マイクロコンピュータ
JPH0916407A (ja) 電子計算機
JPH11231962A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070330

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: 20070626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070709

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

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: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

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