JP2008152544A - 制御用マイクロコンピュータの検証装置および車載用制御装置 - Google Patents

制御用マイクロコンピュータの検証装置および車載用制御装置 Download PDF

Info

Publication number
JP2008152544A
JP2008152544A JP2006340039A JP2006340039A JP2008152544A JP 2008152544 A JP2008152544 A JP 2008152544A JP 2006340039 A JP2006340039 A JP 2006340039A JP 2006340039 A JP2006340039 A JP 2006340039A JP 2008152544 A JP2008152544 A JP 2008152544A
Authority
JP
Japan
Prior art keywords
microcomputer
verification
control
state
transition
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
Application number
JP2006340039A
Other languages
English (en)
Other versions
JP4496205B2 (ja
Inventor
Junji Miyake
淳司 三宅
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006340039A priority Critical patent/JP4496205B2/ja
Priority to EP07022948.9A priority patent/EP1950657B1/en
Priority to US11/950,125 priority patent/US7730354B2/en
Publication of JP2008152544A publication Critical patent/JP2008152544A/ja
Application granted granted Critical
Publication of JP4496205B2 publication Critical patent/JP4496205B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】制御ソフトウェアの高度な検証技術、特にアサーションベース検証を提供するためになされたものであり、従来に比して検証効率を向上させた制御用マイクロコンピュータの検証装置および車載用制御装置を提供する。
【解決手段】制御プログラムを逐次実行するマイクロコンピュータのCPUコア103と独立して並行動作するハードウェア構成の検証装置102を用いアサーションベース検証を行う。このハードウェアとしては、マイクロプログラミング方式を用いた有限状態遷移機械を用いて実現する。遷移入力112としてマイクロコンピュータの割込みコントローラ105直前の割込み要因を分岐させて入力する。異常遷移を検出した場合は、警告をマイクロコンピュータ101に割込み120として出力するか、もしくは外部に信号出力121する。
【選択図】図1

Description

本発明は、制御用マイクロコンピュータの検証装置および車載用制御装置に係り、特に、マイクロコンピュータにより逐次実行される制御ソフトウェアによる状態遷移をアサーションベース方式で検証する検証装置および車載用制御装置に関する。
近年、車載用の制御ソフトウェアにおいては、機械部品が電子化されるのに伴い、高度の動作信頼性が求められるようになってきている。この要求に従い、ソフトウェアの機能要求レベルの精度や、設計レベルでの設計方式の厳密化が求められていることは言うまでもない。
特に問題となるのは、制御アルゴリズム上の状態遷移の設計であり、システムが発生するイベントに則して、柔軟に外部事象に対応する設計でなければならない。これが、車載用の機能部材の制御を電子化する大きな利点であって、制御の高度化・精密化の要求に対応する主な原動力となっている。また、安全性の観点から、これら制御アルゴリズムの信頼性が大きく注目されており、電子的なハードウェアと制御ソフトウェアの力を借りて安全側に収束させる機能安全の分野に貢献できる。
上述したように、要求レベルや設計レベルの意図が正しく具現化されていることを検証し、確証を得ることが、車載部品の電子化の進展にともなって、今まで以上に重要となることが予測される。
これら車載用電子部品の設計の局面、特に組込型のマイクロコンピュータを動作させる制御ソフトウェアの作成に際しての活動を俯瞰してみると、システムの挙動に則した内部状態の定義と、状態間の遷移条件(イベント)およびその時の動作(アクション)に着目する、いわゆる状態遷移装置としての設計が行われるという特徴がある。
このような制御ソフトウェアの品質および信頼性を向上させるために、内部状態の定義と遷移条件を漏れなく書き下し、ソフトウェア作成につなげていくという手法が現状では一般的であり、内部状態と遷移条件の組が未規定もしくは想定外の場合は、自動的に例外処理等を挿入して制御ソフトウェアの安定性を向上させようとする状態遷移表ベースのソフトウェア自動生成技術がある(例えば、特許文献1)。
このようなソフトウェア自動生成技術の技術は、ソフトウェアの設計に際して、事前に漏れなく条件を洗い出し、考慮漏れをなくしてソフトウェアの頑健性(ロバストネス)を向上させようとする実稼働前の事前設計技術に属するものである。
特開2006−12017号公報
上述したように、マイクロコンピュータを動作させる車載用制御ソフトウェアの品質・信頼性を、いかに向上させるか、またその品質・信頼性が一定レベルを満たしていることを、いかに確証するかが、現状の切迫した課題となっている。
特許文献1で示す公知技術では、事前に状態遷移の定義の漏れ抜けをなくして制御ソフトウェアの品質・信頼性を向上しようとするものであるが、事前設計技術に属する技術ゆえに、実動作での検証を想定したものではない。また、いかに事前設計を厳密化しても、物理の神に委ねる実稼働状態での検証を経ないと、それのみでは、全体の品質・信頼性が確保できるものではない。
例えば、特定の内部状態から別の内部状態に遷移する遷移条件(イベント)に誤りを含んでいた場合、設計段階では満足しても、実稼働状態では作成した制御ソフトウェアの挙動は想定したものから異なったものになる。また、遷移先の内部状態を取り違えた場合にも、同様に実稼働状態での制御ソフトウェアの挙動は想定外のものとなる。
すなわち、事前に内部状態の定義と状態間の遷移条件(イベント)およびその時の動作(アクション)をいくら緻密に設計しても、実際には実稼動状態で挙動をモニタし検証しないと、制御ソフトウェアの品質と信頼性は判定できないことは常識となっている。
また、制御ソフトウェアの遷移条件(イベント)に対応する不具合、もしくは内部状態の遷移間違いは、システム全体としてのタイミングにまつわる稀少頻度の不具合を引き起こす。この稀少頻度の不具合とは、車両実稼働状態で1時間に1回、または1日に1回という現象も珍しくはない。
このようなタイミングにまつわる不具合は捕捉しづらいし、現象解析しづらいのが常である。従来の検証手法では、ロジックアナライザをマイクロコンピュータに接続し、ロジックアナライザのトリガ条件を工夫して現象解析(ソフトウェア不具合の内部要因分析)を行なっていた。
しかしながら、近年、ロジックアナライザと接続可能なバスが解放されているマイクロコンピュータの製品採用自体が車載用は、マイクロコンピュータのチップの微細化と動作周波数の増加等により、少なくなっている。
また、車載用マイクロコンピュータの機能を代替し、ロジックアナライザ等デバッグツールとバス接続可能な評価チップというものが存在するが、これらは実製品のマイクロコンピュータとの電気的機能等価性に問題があるものが多く、耐ノイズ性能が低いものが多い。したがって、実機検証にかけることができない。
加えて、現状のマイクロコンピュータは、制御ソフトウェアのアサーションベース検証に適さないという問題もある。
アサーションベース検証とは、設計のある属性(プロパティ)の成立を仮定し、チェックする検証手法で、これによりプロパティの仮定に反する条件(反証条件)を検出した場合、ソフトウェアの仕様または論理の欠陥と判断する検証技術のことである。
年々、制御ソフトウェアの規模が増加して、検証すべき項目が増加しつつあり、アサーションベース検証は、このようなテスト項目の爆発的増加に対して現実的でリーズナブルな検証手段を与えるという利点がある。
現状のマイクロコンピュータの構成では、アサーションベース検証を行なう場合、通常の制御ソフトウェアに、この機能をも含ませ、アサーション(表明)の逸脱を調べることになる。
すなわち、通常の制御ソフトウェアに、それを検証するための動作モニタソフトを併設することが必要になり、制御アルゴリズム以外のCPU処理時間の消費が多大なものになる。アサーション(表明)の逸脱を調べる動作モニタソフトは、単なるソフトウェアの検証用途のためだけであるので、このリソースの消費は、システム全体で見て割に合わない。
しかも、せっかく、このような動作モニタソフトを制御ソフトウェアに格納しても、該モニタの部分以外で、ソフトウェアの停止性が破綻した場合、例えば、無限ループに陥るなどした場合、正しく障害が検知できないという問題がある。
本発明は、前記解決しようとする課題に鑑みてなされたものであって、その目的とするところは、制御ソフトウェアの高度な検証技術、特にアサーションベース検証を提供するためになされたものであり、従来に比して検証効率を向上させた制御用マイクロコンピュータの検証装置および車載用制御装置を提供することにある。
前記目的を達成するために、本発明による制御用マイクロコンピュータの検証装置は、制御ソフトウェアを逐次実行するマイクロコンピュータとは別に、前記マイクロコンピュータと並行稼動可能に設置され、制御ソフトウェアの逐次実行によって前記マイクロコンピュータが実現すべき機能を検証する制御用マイクロコンピュータの検証装置であって、前記マイクロコンピュータが実現すべき機能に従って予め定める内部状態と、前記マイクロコンピュータの内部状態から他の内部状態への遷移条件を示す入力情報とを格納した時間順序表明手段を保有し、前記時間順序表明手段は、前記マイクロコンピュータの稼動に伴う実時間で並行して稼動して前記マイクロコンピュータの内部状態を推測し、当該内部状態が前記想定された状態遷移から逸脱したかを検出する。
本発明による制御用マイクロコンピュータの検証装置は、逸脱検出時には、警告発生のための出力処理を行う。警告発生のための出力処理としては、前記時間順序表明手段のハードウェアの出力を用いて外部に警告用信号を出力する処理、あるいは前記マイクロコンピュータに割込み信号を出力して異常検出を前記マイクロコンピュータに認識させる処理がある。
本発明による制御用マイクロコンピュータの検証装置は、好ましくは、前記時間順序表明手段は、マイクロプログラミング方式を用いた有限状態遷移機械にて構成するハードウェアとして、前記マイクロコンピュータとは別に設けられている。
本発明による制御用マイクロコンピュータの検証装置は、好ましくは、前記時間順序表明手段は、マイクロプログラミング方式の制御メモリを含み、前記内部状態と前記遷移条件を、前記制御ソフトウェアの動作状態の遷移を記述した状態遷移表より導出し、状態遷移のアサーション検証を行う。
本発明による制御用マイクロコンピュータの検証装置は、好ましくは、前記時間順序表明手段は、有限状態遷移機械にて構成するハードウェアの入力として、前記マイクロコンピュータの外部もしくは周辺デバイスより割込みコントローラに入力される割込イベント信号を並行して入力して状態遷移のアサーション検証を行う。
本発明による制御用マイクロコンピュータの検証装置は、好ましくは、前記時間順序表明手段は、有限状態遷移機械にて構成するハードウェアの入力として、前記マイクロコンピュータより割込みコントローラに帰還されるソフトウェアトラップ命令による割込み信号を入力し、前記マイクロコンピュータが逐次実行するソフトウェアとの同期処理を行う。
本発明による車載用制御装置は、上述の発明による制御用マイクロコンピュータの検証装置を備えて構成されている。
本発明による制御用マイクロコンピュータの検証装置によれば、検証すべきマイクロコンピュータ、制御ソフトウェアの負担を増加させることがなく、制御ソフトウェアもしくはシステム全体についてのアサーションベース検証機能を付加することができ、高い検証効率をもって検証を行うことができる。
図1は、本発明による制御用マイクロコンピュータの検証装置および検証対象の制御ソフトウェアを逐次実行するマイクロコンピュータの一つの実施形態を示している。
マイクロコンピュータ101は、検証対象の制御ソフトウェアを逐次実行する制御用マイクロコンピュータであり、制御ソフトウェアの解釈・実行を司るCPUコア103、CPUコア103と内部バス106で接続された周辺デバイス104、割込みコントローラ105などを、必須の機能ブロックとして内蔵している。
例えば、周辺デバイス104としては、汎用タイマユニット、A/D変換器、通信モジュール(何れも図示せず)などがあり、これらは、外部に対する入出力信号線107を通じて情報のやり取りを行う。
周辺デバイス104が取り扱う一連のイベント、例えば、タイマによるコンペアマッチやアウトプットコンペア、A/D変換終了、通信フレームの送受信完了などのタイミング情報108は、割込みコントローラ105に伝えられる。
それとは別に、割込みコントローラ105には、マイクロコンピュータ101に外部より信号レベルの変化に応じて伝えられるIRQ割込み信号109、CPUコア103自身が、制御ソフトウェアの指令を受けて発生するソフトウェアトラップ命令割込み信号110、及び後述する本発明に係る検証装置102が発生する警告割込み信号120が並行して入力される。
割込みコントローラ105は、制御ソフトウェアでイベントとして使用しない割込みをマスクした後、予めハードウェアで確定されるか、制御ソフトウェアで事前に設定された優先順位に基づいて割込み信号111をCPUコア103に送出する。これにより、制御ソフトウェアは、該当する割込み処理への分岐を行う。
ここで注意すべきは、割込み信号111は、マイクロコンピュータ101に入力される全ての割込み情報を網羅しているものではなく、制御ソフトウェアの都合により割込みコントローラ105によって恣意的に取捨選択した信号であることである。
検証装置102は、検証すべき制御ソフトウェアを逐次実行するマイクロコンピュータ101と並行動作するマイクロプログラム内蔵方式の有限状態遷移ハードウェアによって構成されている。
検証装置102は、マイクロコンピュータ101と並行稼動可能であればよく、マイクロコンピュータ101のパッケージに物理的に同梱されていてもよいし、同一基板上に別体として配置し、電気的に結線されてもよい。
但し、マイクロコンピュータ101と独立して並行動作を行う性質上、各々の故障が相手に波及しないように、マイクロコンピュータ101と検証装置102とは、相互に電気的もしくは機能的に独立していることが望ましい。
検証装置102は、アサーションベース検証を行う検証装置であり、時間順序表明手段の主要なデバイスとして、マイクロプログラミング方式の制御メモリ113を有する。
制御メモリ113は、アサーションベース検証のためのファームウェアを組み込まれており、マイクロコンピュータ101や当該マイクロコンピュータ101の観測情報を通じて把握されるシステム全体の挙動として、検証すべきアサーション情報(検証内容)を格納する。換言すると、制御メモリ113は、マイクロコンピュータ101が実現すべき機能に従って予め定める内部状態と、一つの内部状態から他の内部状態への遷移条件を示す入力情報とを格納している。つまり、制御メモリ113には、アサーションベース検証のための状態遷移のアサーション情報(タイミング・アサーション情報)が予め定義されている。
制御メモリ113に格納する内部状態と遷移条件は、制御ソフトウェアの動作状態の遷移を記述した状態遷移表より導出することができる。
制御メモリ113の内容は、検証の実行に先立ってマイクロコンピュータ101がデータとして保持している内容を接続バス115を通じて設定してよいし、図1に示されている機能ブロックの全てとは無関係に、書き込みポート114を通じて設定されてもよい。
制御メモリ113の内容(1ステップの記憶内容)は、検証装置102の動作に伴い逐次的に読み出され、マイクロ命令レジスタ116と制御メモリアドレスレジスタ117に分割して入力される。
制御メモリアドレスレジスタ117の内容と、割込みコントローラ105の直前で分岐された割込みイベント(タイミング情報108、IRQ割込み信号109、ソフトウェアトラップ命令割込み信号110)のモニタ信号112の内容は、組み合せ論理回路119で論理合成されて帰還を取られ、制御メモリ113の新たな読み出しアドレスとなる。この動作を繰り返すことにより、検証装置102の動作が進展する。
このようにして、検証装置102は、制御メモリ113に予め定義されていたアサーション検証のための状態遷移を、割込みイベントのモニタ信号112をトリガとして進展し、異常な状態遷移イベントの発生を待ちつづけることになる。
したがって、検証装置102は、割込みイベントのモニタ信号112を遷移条件とするマイクロプログラミング方式の有限状態遷移機械(シーケンサ)の一種であると云える。しかも、検証装置102は、マイクロコンピュータ101の動作自体と独立して並行動作を行うものとなる。
検証装置102は、マイクロコンピュータ101より割込みイベントのモニタ信号112を入力し、マイクロコンピュータ101の稼動に伴う実時間で並行して稼動してマイクロコンピュータ101の内部状態を推測し、当該内部状態が予め格納した状態遷移から逸脱したかを検出する。
見方を変えれば、検証装置102は、マイクロコンピュータ101が実行の制御ソフトウェアの内部状態、もしくは、マイクロコンピュータ101から観測できるシステムの全体の内部状態を、内蔵する制御メモリ113に格納されたアサーション情報を参照して推測しつつ、異常な状態が発生しないかを、モニタする監視装置であると換言できる。
検証装置102は、異常な状態遷移を検出した場合には、マイクロ命令レジスタ116の内容を変化させることによって、言い換えれば、その内容の転送元である制御メモリ113の内容を変化させることによって、警告信号を外部に送出する出力処理を行う。
この警告発生のための出力処理には、2種類あり、一つは外部に対して警告信号121を送出する処理である。これは、外付用のモニタツール、警告ランプ、もしくはデバッグ用のログ採集ツールの利用を念頭においている。もう一つは、割込みコントローラ105に帰還して入力される警告割込み信号120を出力する処理である。この仕組みによって、マイクロコンピュータ101の制御ソフトウェア自体が、検証装置102を介して異常を発生したことを認識できる。マイクロコンピュータ101は、警告割込み信号120の入力を適当なストレージにログ情報として保有することもできる。
図2は、本発明による検証装置102が検証すべきエンジン(内燃機関)システムの一例を示している。図2では、一つの気筒分しか図示していないが、4気筒4サイクルエンジンの燃料・点火を司るエンジン制御用ECU(Engine Control Unit)201に応用した例を示している。本発明による検証装置102は、マイクロコンピュータ101と共に、制御用ECU201に実装される。
エンジン制御用ECU201の入力としては、クランク角度の情報を得るためにクランク軸180度毎にクランク信号を発生するクランク角センサ202、それより角度分解能の小さいリングギアセンサ203が出力するセンサ信号ある。その他、エンジン空気量を推定するための吸気管圧力センサ205、空燃比をモニタするためのOセンサ208などが出力するセンサ信号ある。
一方、エンジン制御用ECU201の出力としては、吸入空気量を制御するためのスロットル・アクチュエータ204、ガソリン燃料噴射を行うためのインジェクタ206、気筒内混合気に点火するための点火イグナイタ207などの制御信号がある。
図3は、4気筒エンジンのクランク信号(REF)302と、4サイクルエンジンを構成する各気筒の燃焼サイクル301、及び点火信号(Ign.)303の対応をタイミングチャートに表したものである。
ここにおいて、アサーションベース検証を行う対象として、クランク信号(REF)302と点火信号(Ign.)303とのタイミング関係の健全性を検証することを目的とし、それに対応する検証装置102の実施形態を説明する。
点火信号(Ign.)303は、図3より明らかなように、クランク信号(REF)302と次のクランク信号の間(クランク軸角度では180度毎)に、確実に1回の点火を行うことを要求されている。
実際には、点火信号は所定の気筒に正しく振り分けなければならないが、この振り分け機能の健全性は、今回の検証の対象外とする。したがって、図中、303で示すように、気筒振り分け前の点火の基準信号を生成するタイマデバイスの健全性を検証することになる。
ちなみに、点火信号(Ign.)303の信号レベル“High”の期間は、点火イグナイタ207の内蔵コイルに点火用の電流エネルギーを蓄積している期間であって、実際の点火は、この波形の“High”から“Low”の切り替わりで発生する(図3の燃焼サイクル301中に☆印で示す。)。
このように規定された点火状態が、図2で示すようなエンジンシステムで失われることは、商品性の観点から致命的なことであって、運転者にはエンジン発生トルクのばらつきとして認識されるばかりではなく、排気ガス性能にも大きな悪影響を及ぼす。
実際に、このような点火系の制御ソフトウェアを作成している局面を考えると、初期には正常であった制御が、種々の補正仕様を入れ込む時に本来の機能が失われてデグレードが生じ、欠陥が見過ごされたまま製品化に至る場合がありうる。加えて、通常状態では捕捉されないが、制御ソフトウェアの特定の条件下でのタイマデバイスの規定外の操作や、割込み信号処理の競合による処理遅れの累積、もしくはソフトウェアの暴走などで、このような現象が発生する可能性もある。
このような不具合現象の捕捉は、現象が稀少頻度であるために捉え難いものであって、制御ソフトウェアのデバッグに多大な時間を要する原因となる。また、どれほどまでの検証延べ時間を考慮し、不具合事象が発生しなかったときに、システムが健全であるという判断または確証を得られるのか、という理論も現状では存在していない。
こういう時に威力を発揮するのが、本発明によるアサーションベース方式の検証装置102であり、検証装置102は、不具合現象を防止するための事前・事後の備えばかりではなく、システムの稼働と並行して稼働し、健全性を、オンラインで、リアルタイムに常時モニタすることを可能とするものである。
実際に、アサーションベース検証を検証装置102に落し込む一実施形態を、タイミングチャート(図4)と、状態遷移図(図5)と、状態遷移表(図6)の各々を対比した形で説明する。
図4は、クランク信号(REF)302と点火信号(Ign.)303の波形をタイミングチャートとして表したものである。
クランク信号(REF)302の間隔は、エンジン回転数によって変化する。すなわち、エンジン回転数が低いときは、クランク信号(REF)と次のクランク信号(REF)の間隔は広く、エンジン回転数が増加するに従って間隔が狭くなる。
これに対し、点火信号(Ign.)303の信号レベルの“High”期間は、点火イグナイタ207に蓄積すべき電流エネルギーによって決まり、エンジン回転数とは独立である。
したがって、エンジン回転数が低回転の時には、図4に符号401により示されているように、点火信号(Ign.)“High”期間は、隣り合うクランク信号(REF)間に収まる。これに対し、エンジン回転数が高回転の時には、図4に符号402により示されているように、点火信号(Ign.)“High”期間は、クランク信号(REF)を跨ぐことになる。
何れにせよ、点火信号(Ign.)303の“High”から“Low”の切り替わりは、隣り合うクランク信号(REF)間に厳密に1箇所発生(エンジンの点火ポイント)し、これがあるべき姿である。
点火信号(Ign.)303の“High”から“Low”のタイミング、および“Low”から“High”のタイミングは、何れも周辺デバイス104のなかの汎用タイマのコンペアマッチ機能により発生しており、割込み信号の発生要因となる。これをアウトプットコンペアOCと略記する。
一方、クランク信号(REF)302の間隔は、エンジン回転数計測のために、汎用タイマのインプットキャプチャ機能により計測されており、同じく割込み信号の発生要因となる。これをインプットキャプチャICと略記する。
ここで、クランク信号(REF)302と点火信号(Ign.)303の時間的位置関係に着目し、有限遷移装置の状態を定義する。
定義する各状態は、図4に、符号S1〜S4により示されている。ここでは、クランク信号(REF)302到来前で、点火信号(Ign.)303が“Low”の時間を状態S1、クランク信号(REF)302到来以後で、点火信号(Ign.)303が“Low”の時間を状態S2と定義する。一方、クランク信号(REF)302到来前で、点火信号(Ign.)303の“High”の時間を状態S4、クランク信号(REF)302到来以後で、点火信号(Ign.)303が“High”の時間を状態S3と定義する。
状態S3への移行をもって、クランク信号(REF)の履歴は、「到来前と解釈する」と定義すれば、状態S3に引き続く状態は、状態S1となる。この状態S3から状態S1に遷移するタイミングが、点火タイミングとなる。
前述したアウトプットコンペアOCおよびインプットキャプチャICを、遷移条件のイベントとして、上述した各状態の状態遷移図を記述したものを図5に示す。
図5において、丸で囲った記号は、図4に対応する“状態”を示している。“状態”と他の“状態”は矢印で結ばれており、矢印の方向が状態遷移の方向を示している。また、矢印の脇に示す英字(すなわちICとOC)が状態遷移のトリガとなる遷移条件を示している。なお、図5で、状態S0は、検証装置102が初期状態であり、アサーションベース検証に入る前の待機状態にあることを示している。
図4のエンジン低回転時401およびエンジン高回転時402の点火信号(Ign.)波形と対応付けると、
エンジン低回転時:S1→S2→S3→S1の繰り返し
エンジン高回転時:S1→S4→S3→S1の繰り返し
となる。
以上述べた状態遷移を、状態遷移表に対応付けたものが図6である。この表の表現方法として、行方向を各状態の種別(601)に対応付け、列方向を遷移イベントの種類(602)に対応付けしている。特定の“状態”のときに特定の“イベント”が入力されたときの状態遷移は、状態に対応する列とイベントに対応する行の交点のセルを見れば判断できる。
例えば、状態S1のときにイベントOCが入ったときの状態遷移は、セル603を見ればよい。セル603には、上段に“4”下段に“通電開始”と記されている。ここで、上段の“4”は次に遷移すべき“状態”すなわちS4を示している。下段は、一般的には、遷移時に実行すべき処理を記述するが、本実施形態の検証装置102は、マイクロコンピュータ101に内蔵される制御ソフトウェア(もしくはシステム全体の機能要求)の内部状態遷移を推定し、挙動をモニタするだけであるので、ここでは、状態遷移のシステム全体としての意味を示してある。
×印のついているセルは、有り得ない状態とイベントの組合せを示し、例えこのようなイベントが発生しても何も状態遷移を引き起こさないことを示している。これは、現状の同一状態に再び遷移すると考えてもよい。
ここで、S0の列は、図5で示す状態S0に対応しており、ソフトウェアトラップ命令(図6の602中、イベントでTRと図示)をマイクロコンピュータ側で発行して初めてS1の列に遷移しアサーション検証が始まることを示している。
セル604は、状態S2の時にイベントICが発生したことを示している。すなわち、クランク信号(REF)の間に、点火信号(Ign.)の“Low”から“High”への立上げが発生しなかったということであり、これは明らかに失火エラーである。このような異常遷移を検出した場合には、検証装置102は、前述した警告信号を発生し、状態自体はS0に遷移して検証を停止する。
このように警告信号を発すべき異常遷移は、図6では、セルにハッチングをかけて示してある。
同様に、セル605は、点火信号(Ign.)“High”期間中に、次のクランク信号(REF)のイベントICが到来した場合であり、点火タイミングが遅延したための失火エラーと解釈できる。
セル606は、クランク信号(REF)で既に一回の点火を経験した後、次のクランク信号(REF)の期間に入る前にもう一度点火が発生することを示す。したがって、これは、誤点火エラーと解釈できる。
このように、検証装置102は、状態遷移をトレースし、図5で示す通常の状態遷移より経路が外れることを認識することによって、異常状態を検出することができる。
図7は、本検証装置102の遷移条件(イベント)を、どこから採集するかを示した図である。
周辺デバイス104で発生する重要なイベントは、全て個別に割込み要因701という形で割込みコントローラ105に伝えられる。
但し、割込みコントローラ105は、CPUコア103の制御下にある。なぜならば、割込み要因のうち何を使用するかの選択と、受け付けられた割込みのうち何を優先するかの優先度の設定は、CPUコア103を通じて制御ソフトウェアにより設定できるからである。
すなわち、割込み要因701は、割込みコントローラ105を通ることによって、マスク化と優先順位付けの処理が施された割込み信号703となり、逐次的にCPUコア103に伝えられる。
検証装置102としては、全ての割込み要因の情報を、制御ソフトウェアの外乱を受けることなく入手したい要請があることは前述した通りである。
また、優先順位も本発明の機能に関しては余分な修飾となる。図6を見て分かるように、検証装置102の状態遷移は、イベントの発生順序に従い忠実に遷移を行う必要がある。そして、それらの処理時間も、CPUコア103側で実行する制御ソフトウェアに比して無視できるくらいに小さい。ゆえに、割込みの処理優先度を考慮する必要はない。
したがって、以上の状況を考慮し、検証装置102の遷移条件(イベント)702としては、割込みコントローラ105を通る前の生の割込み要因701を分岐させて取り込むことが必須の構成となる。
図8は、図6の状態遷移表を実行可能なソフトウェアに変換したものであり、ここではC言語の文法に基づいて記述してある。実際には、このようなソフトウェアをファームウェア・コンパイラなどを通すことによってデータ列に変換し、検証装置102の制御メモリ113に格納する。
プログラムブロック801は、図6の状態遷移表を忠実に構造体2次元テーブルに書き直したものであり、2次元テーブルの列はその時の状態“status”によって、行は遷移イベントの種類“event”によって検索される。
上記2次元テーブルの一要素は、数字と関数名の組で表されている。一例として、図6のセル603に対応する配列要素“{4,nop}”は、次に遷移する状態が、配列添え字“4”で表される状態S4であり、その遷移時に呼び出される関数の関数ポインタの値が“nop”であることを示す。
実際に状態遷移トレースを行う実行部をプログラムブロック802に示す。実行の流れは、図9のフローチャートに基づき後述する。
プログラムブロック803は、通常遷移時に呼び出される関数ブロックである。同様にプログラムブロック804は、異常遷移時に呼び出される関数ブロックを示す。これら両ブロックの機能の詳細は、同じく図9のフローチャートに基づき後述する。
図9は、図8の主たる動作を司るプログラムブロック802、803、804を、フローチャートとして示している。
開始点900は、検証装置102のハードウェアリセット解除後に動作が位置する場所であり、引き続き処理901で、状態変数“status”を初期化する。これにより、検証装置102は、図5で示す状態S0に位置することとなる。
処理は、引き続いて無条件に無限ループ処理902〜907に入ることになる。
処理902では、外部のイベントの発生を、イベント待ち関数“WaitEvent()”にて待つ。この“WaitEvent()”関数は、イベントが発生するまで、この関数の中で待機し、イベントが発生したならば、イベントの種類を戻り値として返すものと仮定する。この属性を明確にするため、図9では、判定903でイベントが発生するまで処理902の頭に帰るループを便宜上表記してある。
イベント発生後は、処理904に移行し、現在の状態番号とイベントの番号より、前述の2次元テーブル801を検索し、次に遷移すべき状態番号を変数“nextstatus”に確保する。
引き続く処理905では、同じく現在の状態番号とイベントの番号より、前述のプログラムブロック801の2次元テーブルを検索し、実行すべき関数の関数ポインタの値を変数“callp”に確保する。
次の処理906では、上記関数ポインタを利用して実際の関数をコールする。前述したように、プログラムブロック801の2次元テーブルの定義により、正常遷移の場合には、処理908〜910の“nop関数”がコールされ、本実施形態の場合では、何の処理も行われない。
異常遷移の場合には、処理911〜913の“err関数”がコールされる。この“err関数”の機能として、外部に警告信号を発行したり(図1の警告信号121)、マイクロコンピュータに警告割込み信号を送出したり(図1の警告割込み信号120)する手段を取り得ることは、前述した通りである。
引き続く処理907では、処理904で求めた新たな状態番号により、現在の状態を表す状態変数“status”の内容を書き換え、状態変数を更新する。
この後、処理902に制御を戻し、電源が切られるまで、無限ループ処理902〜907を永久に実行する。
以上述べた処理手続きは、検証装置102の制御メモリ113に格納されたファームウェアの機能であるが、以下の図10、11にフローチャートとして示す同期処理、異常警告処理は、マイクロコンピュータ101側の制御ソフトウェアの機能である。
検証装置102とマイクロコンピュータ101は、独立に並行動作を行うので、動作の初めにおいて、互いの状態認識を合わせる同期処理が必要になる。また、検証装置102が異常を検出した後は、動作を停止する(すなわち状態S0に戻る)ので、引き続き検証装置102の再起動を行うためにも上記の同期処理が必要になる。
図10の開始点1000は、マイクロコンピュータ101側の制御ソフトウェアの起動開始点であり、ハードウェアリセット解除後に、ここに位置する。
引き続く処理1001では、本実施形態で開示した点火制御をも含めたエンジン制御全般の初期化処理を行い、その後、判定1002に移行する。
判定1002では、システム全体が、図4および図5で云う状態S1に位置するかどうかの判定を行う。もし、位置しなければ、待機動作を行う。
状態S1は、もともとエンジン停止時の状態であるので、起動直後は、状態S1であることは自明であるが、何らかの処理遅れや電源ONかつ即始動の状況に対抗して検証装置102との同期を確実なものとするため、この判定が実行される。
システムが状態S1に位置する確信を得た後、引き続く処理1003で、検証装置102にソフトウェアトラップ割込みを送出する。この動作により検証装置102の状態が前述したようにS1に移行し、マイクロコンピュータ101と検証装置102の同期が取れたことになる。
図11は、前述したように検証装置102が異常遷移を検出し、マイクロコンピュータ101に警告割込みを送出した後に、マイクロコンピュータ101が実行する異常警告割込み処理ルーチンを示すフローチャートである。
割込み処理のエントリ1100より処理が始まり、処理1101では、異常の状況として、その時点の制御ソフトウェアの重要な変数、例えば、エンジン回転数、吸入空気量のスナップショットを、その時点のタイムスタンプとともに不揮発性メモリ(図示せず)に記憶する。
引き続く処理1102では、運転者が異常を認識可能なように、外部に対して警告信号(ランプ点灯等)の出力処理を行う。ここで行う警告信号の出力は、マイクロコンピュータ101側の処理であるので、図1の警告信号121のような検証装置102自体の出力とは異なり、例えば、図1の周辺デバイス104の一種であるデジタル出力ポートを用いた出力(図1の入力出力信号107)となる。
引き続く判定1103と処理1104を併せたブロック1106は、図10のブロック1002とブロック1003を併せたブロック1005と同じものであり、異常を報告して停止した検証装置102に再び再起動をかけるために必要な同期処理である。
同期処理としての意味や機能の解説は、図10の解説で述べた事項と同じである。
以下に、本発明による制御用マイクロコンピュータの検証装置の好ましい実施形態、効果を列記する。
(1)アサーションベースの検証を行う検証装置102はマイクロコンピュータ101とはまったく異なる独立したハードウェアであり、制御ソフトウェア自身のCPU時間を消費することはない。従って、制御ソフトウェアは、検証装置102の存在を意識することなく与えられたリソースによる最高のパフォーマンスで動作することができる。
また、マイクロコンピュータ101と検証装置102のハードウェアが独立したものであり、マイクロコンピュータ101および検証装置が並行して動作しているので、マイクロコンピュータ101で動作している制御ソフトウェアの停止性が破綻しても、検証装置102の検証機能が損なわれることがない。
(2)検証装置102をマイクロプログラミング方式を用いた有限状態遷移機械にて実現することにより、内蔵する制御メモリを書き換えれば、種々の検証項目に対応することができる。マイクロプログラミング方式自体が、周知で枯れた技術であるから、低価格でハードウェアを作成可能である。例えば、マイクロコンピュータ自体はもとより、周辺デバイスの汎用タイマ・通信モジュール等のシーケンサに、この技術が使われている。
(3)検証装置102は、検証すべき制御ソフトウェアを逐次実行するマイクロコンピュータと並行動作するマイクロプログラム内蔵方式の有限状態遷移ハードウェアによって、簡便にアサーションベース検証を実行することができる。しかも、このハードウェアは、検証内容が制御メモリに置かれるので、書換え可能であり、システム全体の機能要求の検証から車載用制御ソフトウェアの品質の検証まで、広範囲の検証アイテムに対応できる。
(4)車載機器の制御ソフトウェアは状態遷移表に基づいて設計されることが多く、設計者にとって状態遷移表を記述することは経験者も多く容易なことであるから、マイクロプログラミング方式で使われる制御メモリの内容を、マイクロコンピュータ101の動作状態の遷移を記述した状態遷移表より導出することにより、検証装置102の作成効率が向上する。
また、非検証対象の制御ソフトウェアの余分な制御を引き剥がし簡略化して骨格(制御アルゴリズムのスケルトン)のみを取り出し、検証装置102の制御メモリ内容とすることができる。他方では、システム全体からのあるべき機能要求として、制御ソフトウェアとは独立に、アサーション内容を摘出してコンパイルし、検証装置102の制御メモリ内容とすることができる。すなわち、現状の制御ソフトウェアベースの下流からのアサーションと、システム機能要求をもとにした上流からのアサーションの2つのアサーション検証が可能となる。
なお、上述した実施形態の類型としては、前述したシステム機能要求をもとにした上流からのアサーション検証に該当する。
(5)車載用制御ソフトウェアでは、外部の事象変化(イベント)に基づき状態遷移を起こすものが多く、特に、外部もしくは周辺デバイスの割込み信号を状態遷移トリガとすることが特徴的である。従って、この割込み信号を検証装置102にも並行して入力することにより、制御ソフトウェアの状態遷移を外部より正しく推測することができる。
但し、マイクロコンピュータ101においては、割込みコントローラ105にてこの割込み信号をマスクすることができるので、割込みコントローラ以後の信号を検証装置102に導くことは、制御ソフトウェアにより検証装置102の入力を制限できることになり、好ましくない。また、制御ソフトウェアにとって状態遷移トリガに使用しない割込み(すなわち割込みマスクによって割込み処理を設定しない割込み)であっても、周辺デバイスやシステム全体にとって重要な割込み信号であることがある。
したがって、割込み要因の要不要を独自に検証装置102側で設定できるように、割込みコントローラを経由しない割込み信号を入力とすることが好ましい。
これは、上述のシステム機能要求をもとにした上流からのアサーションを行う場合に特に必要となる。これらのことにより、検証装置102の入力は割込みコントローラに入るすべての割込み信号をモニタして検証装置102自体の状態遷移トリガとできることが望ましい。
(6)検証装置102には、モニタすべきマクロコンピュータ101および制御ソフトウェアの正常な状態遷移と異常な状態遷移のパターンが格納されている。
これは、むしろ、正常な状態遷移パターンが格納されており、それから逸脱する状態遷移パターンは全て異常と判定してよいことを示している。検証装置102は、モニタすべきマクロコンピュータコア101および制御ソフトウェアの状態遷移の内部状態を常時推測している。これは、すなわち、マクロコンピュータ101および制御ソフトウェアの内部状態と、検証装置102のマイクロプログラミングによる内部状態が常時同期していると考えてよい。
この点において、検証装置102のマイクロプログラミングによる内部状態および状態遷移は、制御ソフトウェアの骨格的な状態遷移のパターン(もしくは、上流からのシステム要求から由来した状態遷移のパターン)を抜きだしてイベントと状態の組としたアサーション(表明)となっている。
したがって、この表明から逸脱するマクロコンピュータ101および制御ソフトウェアの振る舞いは、イベントの時系列的な予測値が検証装置102に予め設定したパターンと食い違うという現象として現れる。
検証装置102は、それを検出することによりイベントのタイミングが異常であることを判定し、外部に警告用信号を出力する。これは、車載用制御装置外のモニタリングツールに対してでもよいし、機能安全用として外部に設けられた保護装置、もしくはバックアップ装置、もしくは車両の運転者に対する警告ランプのようなものでもよい。
加えて、モニタすべきマイクロコンピュータコア自体に異常検知時に割込み信号を帰還させることにより、マイクロコンピュータコア自身で異常が発生したことを判断可能となり、自己診断に有用な機能を付加することとなる。
(7)制御ソフトウェアの状態遷移トリガ(イベント)として割込み信号のみで全て充足できることではないことは制御ソフトウェアを作成する立場からは自明のことである。
例えば、A/D変換の値の変化、もしくはDI/DO(デジタルインプット/デジタルアウトプット)の信号の変化も、制御ソフトウェアにとって状態遷移のトリガとなり得る。これを正しく検証装置102に伝え、制御ソフトウェアと検証装置の内部状態の同期を取るために、前記ソフトウェアトラップ割込みを使用する。
このソフトウェアトラップ割込みは、制御ソフトウェアの状態遷移時にコールされる。この割込みは、検証装置102に状態遷移トリガを伝えるためだけであるので、制御ソフトウェアとしてはこの割込みで処理すべき操作はない。
従って、リソース(例えばCPU時間)の消費は最小で、制御プログラムと該検証装置の内部状態の同期を行うことができる。
(8)検証装置102とマイクロコンピュータ101を同時に車載用制御装置の中に組み入れて製品化することができる。昨今、車載用制御装置の機能は高度化し、一部は従来からのメカニカル部品に取って代わろうとしていることは前述した通りである。
一例を挙げれば、電動パワーステアリング(EPS:Electronic Power Steering)や電動ブレーキ(Brake by Wire)などがあげられる。
このような安全に関わる機能部品を電子化する場合、機能安全としての種々な保護回路・診断回路・バックアップ回路が要求され、このような用途に対しても、本発明による検証装置102は、製品組み込み用のオンボード異常監視装置として用いることができる。
本発明による制御用マイクロコンピュータの検証装置およびマイクロコンピュータの一つの実施形態を示す機能ブロック図。 検証対象のシステムの全体図。 4気筒4サイクルエンジンの燃焼サイクルと点火タイミングを示すタイミングチャート。 4気筒4サイクルエンジンのクランク信号と点火信号と状態分けの対応を示したタイミングチャート。 点火の各状態における遷移条件(イベント)と遷移の対応を示した状態遷移図。 点火の各状態における遷移条件(イベント)と遷移の対応を示した状態遷移を表形式で示す状態遷移表。 割込み処理と状態遷移の遷移条件(イベント)の取り出し位置を示す機能ブロック図。 本実施形態の検証装置のファームウェアをC言語で記述したプログラムソースリスト。 本実施形態の検証装置の動作を示すフローチャート。 マイクロコンピュータ側の制御ソフトウェアの検証装置起動ルーチンを示すフローチャート。 マイクロコンピュータ側の制御ソフトウェアの異常警告割込み処理ルーチンを示すフローチャート。
符号の説明
101 マイクロコンピュータ
102 検証装置
103 CPUコア
104 周辺デバイス
105 割込みコントローラ
112 割込みイベントのモニタ信号
113 制御メモリ
120 警告割込み信号
121 警告信号
201 エンジン制御用ECU
202 クランク角センサ
207 点火イグナイタ

Claims (8)

  1. 制御ソフトウェアを逐次実行するマイクロコンピュータとは別に、前記マイクロコンピュータと並行稼動可能に設置され、制御ソフトウェアの逐次実行によって前記マイクロコンピュータが実現すべき機能を検証する制御用マイクロコンピュータの検証装置であって、
    前記マイクロコンピュータが実現すべき機能に従って予め定める内部状態と、前記マイクロコンピュータの内部状態から他の内部状態への遷移条件を示す入力情報とを格納した時間順序表明手段を保有し、
    前記時間順序表明手段は、前記マイクロコンピュータの稼動に伴う実時間で並行して稼動して前記マイクロコンピュータの内部状態を推測し、当該内部状態が前記遷移条件から逸脱したかを検出することを特徴とする制御用マイクロコンピュータの検証装置。
  2. 逸脱検出時には、警告発生のための出力処理を行うことを特徴とする請求項1に記載の制御用マイクロコンピュータの検証装置。
  3. 前記警告発生のための出力処理として、前記時間順序表明手段のハードウェアの出力を用いて外部に警告用信号を出力するか、前記マイクロコンピュータに割込み信号を出力して異常検出を前記マイクロコンピュータに認識させる処理を行うことを特徴とする請求項2に記載の制御用マイクロコンピュータの検証装置。
  4. 前記時間順序表明手段は、マイクロプログラミング方式を用いた有限状態遷移機械にて構成するハードウェアとして、前記マイクロコンピュータとは別に設けられていることを特徴とする請求項1から3の何れか一項に記載の制御用マイクロコンピュータの検証装置。
  5. 前記時間順序表明手段は、マイクロプログラミング方式の制御メモリを含み、前記内部状態と前記遷移条件を、前記制御ソフトウェアの動作状態の遷移を記述した状態遷移表より導出し、状態遷移のアサーション検証を行うことを特徴とする請求項1から4の何れか一項に記載の制御用マイクロコンピュータの検証装置。
  6. 前記時間順序表明手段は、有限状態遷移機械にて構成するハードウェアの入力として、前記マイクロコンピュータの外部もしくは周辺デバイスより割込みコントローラに入力される割込イベント信号を並行して入力して状態遷移のアサーション検証を行うことを特徴とする請求項1から5の何れか一項に記載の制御用マイクロコンピュータの検証装置。
  7. 前記時間順序表明手段は、有限状態遷移機械にて構成するハードウェアの入力として、前記マイクロコンピュータより割込みコントローラに帰還されるソフトウェアトラップ命令による割込み信号を入力し、前記マイクロコンピュータが逐次実行するソフトウェアとの同期処理を行うことを特徴とする請求項1から6の何れか一項に記載の制御用マイクロコンピュータの検証装置。
  8. 請求項1から7の何れか一項に記載の制御用マイクロコンピュータの検証装置を備えて構成されることを特徴とする車載用制御装置。
JP2006340039A 2006-12-18 2006-12-18 制御用マイクロコンピュータの検証装置および車載用制御装置 Expired - Fee Related JP4496205B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006340039A JP4496205B2 (ja) 2006-12-18 2006-12-18 制御用マイクロコンピュータの検証装置および車載用制御装置
EP07022948.9A EP1950657B1 (en) 2006-12-18 2007-11-27 Control microcomputer verification device and vehicle-mounted control device
US11/950,125 US7730354B2 (en) 2006-12-18 2007-12-04 Control microcomputer verification device and vehicle-mounted control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006340039A JP4496205B2 (ja) 2006-12-18 2006-12-18 制御用マイクロコンピュータの検証装置および車載用制御装置

Publications (2)

Publication Number Publication Date
JP2008152544A true JP2008152544A (ja) 2008-07-03
JP4496205B2 JP4496205B2 (ja) 2010-07-07

Family

ID=39325615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006340039A Expired - Fee Related JP4496205B2 (ja) 2006-12-18 2006-12-18 制御用マイクロコンピュータの検証装置および車載用制御装置

Country Status (3)

Country Link
US (1) US7730354B2 (ja)
EP (1) EP1950657B1 (ja)
JP (1) JP4496205B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010173633A (ja) * 2009-01-28 2010-08-12 Dspace Digital Signal Processing & Control Engineering Gmbh 制御装置を調整するための方法および操作ユニット
WO2013073009A1 (ja) * 2011-11-15 2013-05-23 トヨタ自動車株式会社 マイコンシステム、監視マイコン

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822899B2 (en) 2007-03-08 2010-10-26 Renesas Electronics Corporation Data processor and control system
JP5652434B2 (ja) 2012-06-15 2015-01-14 株式会社デンソー モータ制御装置、及び、これを用いた電動パワーステアリング装置
US9874863B2 (en) * 2015-08-24 2018-01-23 Keysight Technologies, Inc. Finite state machine-based trigger event detection employing interpolation
US9866563B2 (en) * 2016-04-12 2018-01-09 Gaurdknox Cyber Technologies Ltd. Specially programmed computing systems with associated devices configured to implement secure communication lockdowns and methods of use thereof
WO2017203596A1 (ja) * 2016-05-24 2017-11-30 三菱電機株式会社 電子制御装置及びその動作制御方法
JP6838234B2 (ja) 2017-03-24 2021-03-03 日立Astemo株式会社 車両制御装置
AT522186B1 (de) * 2019-05-20 2020-09-15 Dipl Ing Dipl Ing Fh Markus Gruber Computerimplementiertes Verfahren zur rechnergestützten Erzeugung eines ausführbaren Steuerungsprogramms zur Steuerung und/oder Regelung eines technischen Prozesses
EP4340209A1 (en) 2021-05-11 2024-03-20 Mitsubishi Electric Corporation Rotary electrical machine control device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61165159A (ja) * 1984-12-19 1986-07-25 Fujitsu Ltd 遷移状態チエツク回路
JPS6474637A (en) * 1987-09-16 1989-03-20 Nec Corp Debugging control circuit
JPH0292535U (ja) * 1989-01-06 1990-07-23
JPH052654A (ja) * 1991-06-25 1993-01-08 Nissan Motor Co Ltd マイクロコンピユータの故障検知方法および回路
JP2002366391A (ja) * 2001-06-12 2002-12-20 Mitsubishi Heavy Ind Ltd Cpu異常監視装置
JP2004234720A (ja) * 2003-01-29 2004-08-19 Toshiba Corp 半導体装置およびその状態遷移チェック方法
JP2006099654A (ja) * 2004-09-30 2006-04-13 Nec Electronics Corp 半導体回路装置
JP2006119905A (ja) * 2004-10-21 2006-05-11 Matsushita Electric Ind Co Ltd 障害検出装置及びコンピュータシステム
JP2006330864A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd サーバ計算機システムの制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163016A (en) * 1990-03-06 1992-11-10 At&T Bell Laboratories Analytical development and verification of control-intensive systems
US20030135842A1 (en) * 2002-01-16 2003-07-17 Jan-Erik Frey Software development tool for embedded computer systems
US6957368B2 (en) * 2002-01-23 2005-10-18 Medtronic Emergency Response Systems, Inc. Hazard mitigation in medical device
US7055116B2 (en) * 2002-05-28 2006-05-30 Cadence Design Systems, Inc. Assertion-based transaction recording
US20050204345A1 (en) * 2004-02-25 2005-09-15 Rivera Jose G. Method and apparatus for monitoring computer software
US7243322B1 (en) * 2004-06-01 2007-07-10 Tai An Ly Metastability injector for a circuit description
US7278056B2 (en) * 2004-06-09 2007-10-02 International Business Machines Corporation Methods, systems, and media for management of functional verification
JP4874440B2 (ja) * 2004-06-29 2012-02-15 株式会社デンソー 状態とイベントの組にアクションを割り当てた対応情報に基づいてプログラムを生成するプログラム生成プログラム、プログラム生成装置、およびプログラム生成方法、ならびに、これらによって生成されるプログラム
JP2006053788A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
US7143373B2 (en) * 2004-10-14 2006-11-28 Synopsys, Inc. Method and apparatus for evaluating and debugging assertions
US7404160B2 (en) * 2005-02-18 2008-07-22 Quickturn Design Systems Inc. Method and system for hardware based reporting of assertion information for emulation and hardware acceleration
US7313772B2 (en) * 2005-05-24 2007-12-25 International Business Machines Corporation Systems, methods, and media for block-based assertion generation, qualification and analysis
US7528622B2 (en) * 2005-07-06 2009-05-05 Optimal Test Ltd. Methods for slow test time detection of an integrated circuit during parallel testing
US7496788B1 (en) * 2006-08-17 2009-02-24 Nvidia Corporation Watchdog monitoring for unit status reporting
US7548826B2 (en) * 2006-08-24 2009-06-16 Blue Pillar, Inc. Power monitoring and testing
US8024691B2 (en) * 2006-09-28 2011-09-20 Mcgill University Automata unit, a tool for designing checker circuitry and a method of manufacturing hardware circuitry incorporating checker circuitry
JP5324792B2 (ja) * 2008-01-28 2013-10-23 インターナショナル・ビジネス・マシーンズ・コーポレーション システムの動作を検証するシステムおよび方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61165159A (ja) * 1984-12-19 1986-07-25 Fujitsu Ltd 遷移状態チエツク回路
JPS6474637A (en) * 1987-09-16 1989-03-20 Nec Corp Debugging control circuit
JPH0292535U (ja) * 1989-01-06 1990-07-23
JPH052654A (ja) * 1991-06-25 1993-01-08 Nissan Motor Co Ltd マイクロコンピユータの故障検知方法および回路
JP2002366391A (ja) * 2001-06-12 2002-12-20 Mitsubishi Heavy Ind Ltd Cpu異常監視装置
JP2004234720A (ja) * 2003-01-29 2004-08-19 Toshiba Corp 半導体装置およびその状態遷移チェック方法
JP2006099654A (ja) * 2004-09-30 2006-04-13 Nec Electronics Corp 半導体回路装置
JP2006119905A (ja) * 2004-10-21 2006-05-11 Matsushita Electric Ind Co Ltd 障害検出装置及びコンピュータシステム
JP2006330864A (ja) * 2005-05-24 2006-12-07 Hitachi Ltd サーバ計算機システムの制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010173633A (ja) * 2009-01-28 2010-08-12 Dspace Digital Signal Processing & Control Engineering Gmbh 制御装置を調整するための方法および操作ユニット
JP2010174891A (ja) * 2009-01-28 2010-08-12 Dspace Digital Signal Processing & Control Engineering Gmbh 制御装置を調整する方法および調整ユニット
WO2013073009A1 (ja) * 2011-11-15 2013-05-23 トヨタ自動車株式会社 マイコンシステム、監視マイコン

Also Published As

Publication number Publication date
US7730354B2 (en) 2010-06-01
EP1950657B1 (en) 2015-01-07
EP1950657A3 (en) 2008-09-03
US20080147949A1 (en) 2008-06-19
EP1950657A2 (en) 2008-07-30
JP4496205B2 (ja) 2010-07-07

Similar Documents

Publication Publication Date Title
JP4496205B2 (ja) 制御用マイクロコンピュータの検証装置および車載用制御装置
Nardi et al. Functional safety methodologies for automotive applications
US8868989B2 (en) System for testing error detection circuits
US4339801A (en) Automatic control system for method and apparatus for checking devices of an automotive vehicle in use with a microcomputer
JP4491967B2 (ja) 自己診断機能を備えた車両用制御装置及び記録媒体
US8676560B2 (en) Simulation method, system and program for simulating physical unit controlled by electronic control unit
US4493078A (en) Method and apparatus for testing a digital computer
WO2010113538A1 (ja) 車載電子制御装置,制御ソフトウェアおよび制御ソフトウェアの開発ツール
US7930165B2 (en) Procedure and device for emulating a programmable unit providing system integrity control
CN103670764A (zh) 发动机控制系统
CN106647701A (zh) 一种航空发动机控制器bit测试方法
WO2020221097A1 (zh) 一种基于有限状态机的操作系统需求层形式化建模方法及装置
JPS5968004A (ja) 車載用コンピユ−タのフエイルセ−フ方法
US20100242584A1 (en) Method for operating a sensor
CN107924355A (zh) 电子控制装置及电子控制方法
EP1095333B1 (en) Fault detection in digital system
JP5680514B2 (ja) 自己診断機能を備えたコンピュータ、ソフトウェア作成方法、およびソフトウェア作成装置
JP2011161947A (ja) 電子コントローラの自動検査システム
JP5230557B2 (ja) 車両故障判定装置、車両故障判定装置設計プログラム
JP2005108007A (ja) Lsi設計検証装置及びlsi設計検証方法
JP2009015557A (ja) プログラム開発支援装置
JP5460010B2 (ja) シミュレーション方法、システム及びプログラム
Frtunikj et al. Qualitative evaluation of fault hypotheses with non-intrusive fault injection
JP2002132533A (ja) 自己診断機能を備えた車両用制御装置及び記録媒体
Guerrouat et al. A formal approach for analysis and testing of reliable embedded systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100115

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees