JP6588068B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP6588068B2
JP6588068B2 JP2017211452A JP2017211452A JP6588068B2 JP 6588068 B2 JP6588068 B2 JP 6588068B2 JP 2017211452 A JP2017211452 A JP 2017211452A JP 2017211452 A JP2017211452 A JP 2017211452A JP 6588068 B2 JP6588068 B2 JP 6588068B2
Authority
JP
Japan
Prior art keywords
interrupt
interrupt request
test
controller
processing unit
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.)
Active
Application number
JP2017211452A
Other languages
English (en)
Other versions
JP2018041492A (ja
JP2018041492A5 (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017211452A priority Critical patent/JP6588068B2/ja
Publication of JP2018041492A publication Critical patent/JP2018041492A/ja
Publication of JP2018041492A5 publication Critical patent/JP2018041492A5/ja
Application granted granted Critical
Publication of JP6588068B2 publication Critical patent/JP6588068B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Microcomputers (AREA)

Description

本発明は、割り込み要求に基づいて中央処理装置に割り込みを指示する割り込み信号系の故障検出技術に関し、例えばフェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータにおける安全関連の割り込み信号系の故障検出に適用して有効な技術に関する。
フェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータなどに対しては、人命に強く関係する電子制御装置に利用される関係上、ハードウェア及びソフトウェアが守るべき規約として、例えば機能安全基準のISO26262やIEC61508などが有る。フェイルセーフ機能を実現する手段としてロックステップアーキテクチャが広く適用されている。例えば中央処理装置のコアをデュアルコア化し、夫々のコアに同一ソフトウェアを並列的に実行させ、動作結果に不一致を生ずるか否かによってシステムの故障を逸早く検出可能にするものである。このようなロックステップアーキテクチャはハードウェア規模が大幅に増大する。車載用マイクロコンピュータにおけるロックステップ動作について記載された文献の例として特許文献1が有る。
車載用マイクロコンピュータでは機能安全関連の割り込み要求の数が非常に多い。そのような割り込み要求に対して優先レベルや割り込みマスクに応じた処理を行って中央処理装置に対する割り込み制御を行う割り込みコントローラ及び割り込み信号系の故障を検出可能にすることも、車載用マイクロコンピュータにおけるフェイルセーフ機能を向上させる上で必要になる。割り込み制御機能に関する故障や誤動作を検出する技術として例えば特許文献2乃至4に記載が有る。
特許文献2にはウォッチドッグタイマ監視機能を用いて割り込みコントローラの割り込み要求入力端子に接続されるリアルタイム処理要求の生成に関する故障や誤動作を検出可能にする技術が記載される。
特許文献3には割り込み要求信号を受けた割り込みコントローラがCPUに割り込み信号を出力した後に、CPUがそれに対する応答信号を返すまでの間に割り込み要求信号が無効化された場合の不都合を解消する技術を開示する。即ち、割り込みコントローラがそのような状態を監視してCPUに通知することにより、CPUがいつまでもベクタアドレスをリードできずにいる状態を解消するものである。
特許文献4には、テスタを用いて割り込みコントローラをテストする場合には、CPUの動作との関係でテストパターンを作成するのが容易ではなく、またテストにも時間を要することから、割り込みコントローラの内部データやベクタをLSIの外部に直接出力したり内部バスを通じて必要なデータを割り込みコントローラに供給可能にするというものである。
特開2010−262432号公報 特開平9−198280号公報 特開2000−347880号公報 特開3−109644号公報
本発明者はマイクロコンピュータにおけるフェイルセーフ機能の向上、特に、割り込みの種類が多数に亘る機能安全関連の割り込み処理の信頼性向上のために、割り込みコントローラ及び割り込み信号系の故障を容易に検出することについて検討した。割り込みコントローラについてもロックステップアーキテクチャを採用することは可能であるが、車載制御用途のマイクロコンピュータのように機能安全関連の割り込み処理の数が非常に多い場合には、二重化によって回路規模が大きくなり過ぎ、チップの大型化、コスト増大を招いてしまう。また、起動時にハードウェアのテストとしてロジックやメモリのビルトインセルフテスト(BIST:Built-In Self-Test)を行うことができるデバイス構造が採用されていれば、割り込み信号系の故障はそのビルトインセルフテストで行うことも可能であるが、そのテスト実行時のカバレッジを上げるためのテストパターンの作成は容易ではなく、また、テストの規模が大きくなることによって電力消費が増え過ぎないように新たな対策も必要になる。特許文献4の場合でも追加のハードウェアによる回路規模の増大は無視し得ない。特に、車載制御用途のマイクロコンピュータのように機能安全関連の割り込み要求の数が非常に多い場合のような、割り込み制御機能の規模が大きい場合にはなお更である。特許文献2,3では割り込みコントローラそれ自体の故障及び誤動作を容易に検出可能にすることを期待し得ない。
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、割り込みコントローラから中央処理装置までの割り込み信号系に対してタイマなどを用いて定期的にテスト割り込み要求を発生し、その割り込み処理ルーチン内で割り込みコントローラ内の割り込み要求フラグの状態を確認し、機能安全関連で同じ割り込み要求フラグが2回以上続けてセット状態にされていることを検出した場合にはその割り込み信号系に故障が発生している可能性が高いと想定して、テストフェイル、即ち異常有りと判定する。
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、全面的に回路の二重化に負うことなく、時間をかけてビルトインセルフテストのためのテストパターンを作成することを要せず、電力消費量を大幅に増やすことなく、割り込み制御系の異常を検出することができる。
図1はマイクロコンピュータの割り込み制御系における故障検出の第1の実施の形態詳細を例示するブロック図である。 図2はマイクロコンピュータの構成を例示するブロック図である。 図3はテスト割り込み要求信号OSTMに応答する中央処理装置の動作フローを例示するフローチャートである。 図4はテスト割り込み要求信号OSTMに応答するテスト割り込み処理の動作タイミングを例示するタイミングチャートである。 図5はマイクロコンピュータの割り込み制御系として第2の実施の形態に係る主な構成を例示するブロック図である。 図6は二重化されたテスト割り込み要求信号OSTMa,OSTMbに着目したときのスレーブ割り込みコントローラ及びマスタ割り込みコントローラの具体例を例示するブロック図である。 図7はマイクロコンピュータの割り込み制御系として第3の実施の形態に係る主な構成を例示するブロック図である。 図8はマイクロコンピュータの割り込み制御系として第4の実施の形態に係る主な構成を例示するブロック図である。 図9はマイクロコンピュータの割り込み制御系として第5の実施の形態に係る主な構成を例示するブロック図である。 図10はマイクロコンピュータの割り込み制御系として第6の実施の形態に係る主な構成を1個のスレーブ割り込みコントローラと共に例示するブロック図である。 図11はマイクロコンピュータの割り込み制御系として第6の実施の形態に係る主な構成を2個のスレーブ割り込みコントローラと共に例示するブロック図である。
1.実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<定期的に参照した割り込み要求フラグが連続して複数回セット状態か否かの判別>
マイクロコンピュータ(1)は、中央処理装置(5)と、割り込みコントローラ(4,18,21,22,21A)と、を有する。前記中央処理装置は、定期的に所定の間隔で発生される所定のテスト割り込み要求(OSTM)に応答して、前記割り込みコントローラが保有する割り込み要求フラグ(IFLG)を参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなす。
これによれば、定期的に発生するテスト割り込み要求毎に割り込みコントローラ内の割り込み要求フラグを参照した結果、同じ割り込み要求フラグが2回以上続けてセット状態にされていることを検出した場合には、当該セット状態の割り込み要求フラグによる割り込みが依然として処理されずに残っていることになり、これが長期間であるほどその割り込み信号系に故障が発生している蓋然性が高いと考えられる。この状態を異常有りとみなすことによって、マイクロコンピュータが制御するシステムの機能安全性を向上させることができる。特に、割り込みコントローラを全面的に二重化してロックステップアーキテクチャに全て依存させることをしないので、回路規模の大幅な増大を必要としない。更に、時間をかけてビルトインセルフテストのためのテストパターンを作成することも要せず、また、ビルトインセルフテストによって電力消費量が大幅に増えることもない。このように、回路規模、テストパターン作成時間、及びテストに伴う電力消費量を大幅に増やすことなく割り込み制御系の異常を検出することができる。
〔2〕<テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを異なる割り込みコントローラに入力>
項1において、前記割り込みコントローラは、前記テスト割り込み要求が与えられる第1の割り込みコントローラ(21)と、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第2の割り込みコントローラ(22)とを有する(図1参照)。
これによれば、割り込み要求に高い機能安全が求められる機能安全関連の割り込み要求と、高い機能安全が求められていない非機能安全関連の割り込み要求とに大別される場合を想定する。このとき、テスト割り込み要求が入力される側と割り込み要求フラグの参照対象とされる割り込み要求が入力される側とで割り込みコントローラを相違させることにより、テスト割り込み要求による割り込み処理で割り込み要求フラグを参照する範囲を機能安全関連の割り込み要求側の第2の割り込みコントローラに限定することができる。そして、異常有りとみなされた場合に、その異常に対する対処の範囲を第2の割り込みコントローラを含む信号系に限定して行うことが可能になる。
〔3〕<テスト割り込み要求発生回路を二重化>
項2において、前記テスト割り込み要求を発生するテスト割り込み要求発生回路(15a,15b)を二重化する(図5参照)。前記第1の割り込みコントローラ(21A)は二重化されたテスト割り込み要求発生回路から並列に入力したテスト割り込み要求の夫々に対して他の割り込み要求との間の受け付け制御を別々に行い、別々に行われた受け付け制御の結果が一致するか否かを判別する判別回路を更に有する。
これによれば、二重化されたテスト割り込み要求発生回路からの信号の不一致検出可能であるから、テスト割り込み要求による処理の結果に対する妥当性を保証することができる。したがって、テスト割り込み要求に基づく中央処理装置による処理がテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
〔4〕<第2の割り込みコントローラへの割り込み要求を選択的に第1の割り込みコントローラへ>
項2において、第2の割り込みコントローラに入力される割り込み要求を選択して第1の割り込みコントローラへ入力させるセレクタ(80)を更に有する(図7参照)。前記中央処理装置は、前記割り込みコントローラの割り込み要求フラグを参照して異常有りとみなしたとき、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であると判別した当該割り込み要求フラグに対応する割り込み要求を、前記セレクタで選択して第1の割り込みコントローラへ入力させる処理を行う。
これによれば、異常有りとみなされたときでも連続して複数回セット状態であると判別された当該割り込み要求フラグに対応する割り込み要求を第1の割り込みコントローラに与えることによって、当該割り込み要求による本来の処理が継続可能になる。要するに、システム上で問題が発生した際の応急措置として継続的な処理が可能になる。
〔5〕<割り込みコントローラのカスケード接続>
項1において、前記割り込みコントローラは、カスケード接続されたマスタ割り込みコントローラ(4)及びスレーブ割り込みコントローラ(18)を有する。マスタ割り込みコントローラは、複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って中央処理装置に割り込み信号を出力する。スレーブ割り込みコントローラは、複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って前記マスタ割り込みコントローラに割り込み要求信号を出力する。
これによれば、1個の割り込みコントローラで処理しきれない多数の割り込み要求信号に対して、割り込みコントローラのカスケード接続によって対応することができる。
〔6〕<カスケード接続された割り込み要求についてスレーブとマスタの夫々で割り込み要求フラグを保有し参照対象とする>
項5において、前記中央処理装置は、定期的に所定の間隔で発生される所定のテスト割り込み要求に応答して、前記スレーブ割り込みコントローラ(22)が保有するスレーブ側割り込み要求フラグ(SRSに対応するIFLG)と、前記スレーブ割り込みコントローラから前記マスタ割り込みコントローラ(4)に供給される割り込み要求信号に対応してセットされる、前記マスタ割り込みコントローラが保有するマスタ側割り込み要求フラグ(IntS2に対応するIFLG)と、を参照する(図8参照)。中央処理装置は、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であること、また、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態であることまたはセット状態でない、を判別することによって、異常有りとみなす。
これによれば、カスケード接続された割り込み要求についてのスレーブ側とマスタ側の夫々の割り込み要求フラグの状態を参照することによって、故障箇所が例えばマスタ割り込みコントローラの割り込み要求フラグの前か否かを判別可能になる。
〔7〕<スレーブ割り込みコントローラからマスタ割り込みコントローラの経路の故障>
項6において、前記中央処理装置は、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であり、且つ、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態であることを判別することによって、スレーブ割り込みコントローラ及びマスタ割り込みコントローラを経由して中央処理装置の入力に至る経路に異常有りとみなす。また、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であり、且つ、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態でないことを判別することによって、スレーブ割り込みコントローラからマスタ割り込みコントローラの入力に至る経路に異常有りとみなす。
これにより、故障箇所がマスタ割り込みコントローラの割り込み要求フラグの前か否かを具体的に判別可能になる。
〔8〕<マスタ割り込みコントローラに所定のテスト割り込み要求を入力>
項5において、前記マスタ割り込みコントローラに前記所定のテスト割り込み要求を入力する(図10、図11参照)。
これによれば、テスト割り込み要求信号を受け付ける割り込みコントローラは1段であるから、カスケード接続されたスレーブ側にテスト割り込み要求信号を入力する場合に比べて、テスト割り込み要求信号による処理に異常を生ずる可能性を減らすことができる。
〔9〕<テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを異なるスレーブ割り込みコントローラに入力>
項5において、前記スレーブ割り込みコントローラは、前記テスト割り込み要求が与えられる第1のスレーブ割り込みコントローラ(21)と、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第2のスレーブ割り込みコントローラ(22)とを有する(図1参照)。
これによれば、カスケード接続構成の場合にも、高い機能安全が求められる機能安全関連の割り込み要求と、高い機能安全が求められていない非機能安全関連の割り込み要求とに大別される場合を想定する。このとき、テスト割り込み要求が入力される側と割り込み要求フラグの参照対象とされる割り込み要求が入力される側とでスレーブ割り込みコントローラを相違させることにより、テスト割り込み要求による割り込み処理で割り込み要求フラグを参照する範囲を機能安全関連の割り込み要求側の第2のスレーブ割り込みコントローラに限定することができる。そして、異常有りとみなされた場合に、その異常に対する対処の範囲を第2のスレーブ割り込みコントローラを含む信号系に限定して行うことが可能になる。
〔10〕<テスト割り込み要求発生回路を二重化>
項9において、前記テスト割り込み要求を発生するテスト割り込み要求発生回路(15a,15b)を二重化する(図5参照)。前記第1のスレーブ割り込みコントローラは二重化されたテスト割り込み要求発生回路から並列に入力したテスト割り込み要求の夫々に対して他の割り込み要求との間の受け付け制御を別々に行い、別々に行われた受け付け制御の結果が一致するか否かを判別する判別回路を更に備える。前記マスタ割り込みコントローラは前記第1のスレーブ割り込みコントローラで別々に行われた受け付け制御の結果に対する論理積信号を一つの割り込み要求として処理する。
これによれば、二重化されたテスト割り込み要求発生回路からの信号の不一致検出可能であるから、テスト割り込み要求による処理の結果に対する妥当性を保証することができる。したがって、テスト割り込み要求に基づく中央処理装置による処理がテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
〔11〕<第2のスレーブ割り込みコントローラへの割り込み要求を選択的に第1のスレーブ割り込みコントローラへ>
項9において、第2のスレーブ割り込みコントローラに入力される割り込み要求を選択して第1のスレーブ割り込みコントローラへ入力させるセレクタ(80)を更に有する(図7参照)。前記中央処理装置は、前記第2のスレーブ割り込みコントローラの割り込み要求フラグを参照して異常有りとみなしたとき、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であると判別した当該割り込み要求フラグに対応する割り込み要求を、前記セレクタで選択して第1のスレーブ割り込みコントローラへ入力させる処理を行う。
これによれば、異常有りとみなされたときでも連続して複数回セット状態であると判別された当該割り込み要求フラグに対応する割り込み要求を第1のスレーブ割り込みコントローラに与えることによって、当該割り込み要求による本来の処理が継続可能になる。要するに、システム上で問題が発生した際の応急措置として継続的な処理が可能になる。
〔12〕<マスタ割り込みコントローラ及び中央処理装置の二重化によるロックステップ>
項5において、前記マスタ割り込みコントローラ(4)及び前記中央処理装置(5)は、夫々二重化(2,3)されて相互に並列動作されることにより、相互の動作結果の相違に基づく異常の検出を可能にするロックステップアーキテクチャを有する。
これによれば、面積的に許容される一部にロックステップアーキテクチャを採用することによって機能安全性の更なる向上に資することができる。
〔13〕<テスト割り込み要求発生回路を二重化し、テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを同じ割り込みコントローラに入力可能とする>
項1において、前記割り込みコントローラは、前記テスト割り込み要求及び第1の割り込み要求が与えられる第1の割り込みコントローラ(21A)と、第2の割り込み要求が与えられる第2の割り込みコントローラ(22)とを有する。前記テスト割り込み要求を発生するテスト割り込み要求発生回路(15a,15b)は二重化される。前記第1の割り込みコントローラは二重化されたテスト割り込み要求発生回路から並列に入力したテスト割り込み要求の夫々に対して前記第1の割り込み要求との間の受け付け制御を別々に行い、別々に行われた受け付け制御の結果が一致するか否かを判別する判別回路(60)を更に有する。前記中央処理装置は、定期的に所定の間隔で発生される所定のテスト割り込み要求に応答して、前記第1の割り込みコントローラ及び第2の割り込みコントローラが保有する割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなす(図9参照)。
これによれば、テスト割り込み要求の発生からそれの受け付け制御に対する異常の発生を確実に検出することができ、テスト割り込み要求が正常に発生して中央処理装置に受け付け可能にされることを容易に保証することができる。換言すれば、第1の割り込みコントローラによる割り込み要求の受け付け処理と信号経路に対する異常の検出可能になっているから、機能安全関連の割り込み要求信号については第2の割り込みコントローラに限定せず、第1の割り込みコントローラに供給することによって機能安全性の更なる向上に資することができる。その場合においてもテスト割り込み要求に応答して、第1の割り込みコントローラ側の割り込み要求フラグを参照して判別することが機能安全性の更なる向上に資することになる。
〔14〕<タイマ割り込み要求>
項1において、タイマを更に有し、前記所定のテスト割り込み要求は、所定の間隔で前記タイマ(15)から発生されるタイマ割り込み要求である。
これによれば、テスト割り込み要求を定期的に発生させる間隔を中央処理装置の制御に基づいて任意に決定することができる。
〔15〕<安全関連の割り込み要求に対応する割り込み要求フラグ>
項14において、参照対象とされる割り込み要求フラグは、機能安全が考慮された安全関連の割り込み要求に対応する割り込み要求フラグである。
これによれば、安全関連の割り込み要求を多用するフェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータに好適である。
〔16〕<所定の間隔>
項15において、前記所定の間隔は、前記安全関連の割り込み要求によるフェイルセーフ処理で考慮されるFTTI(Fault Tolerant Time Interval)よりも短い時間である。
正常であれば安全関連の割り込み要求による処理はFTTI時間よりも早く完了してその割り込み要求フラグはセット状態からクリアされる。これに対して、異常が有れば安全関連の割り込み要求による処理はFTTI時間を経過しても完了されず、その割り込み要求フラグはセット状態のままにされる。したがって、テスト割り込み要求の発生間隔をFTTI時間よりも短く設定することで、第1回目のテスト割り込み要求の処理と第2回目のテスト割り込み要求の処理で、同一割り込み要求フラグが2回連続してセット状態であることを判別することによって、異常有りとみなすことが可能になる。
〔17〕<ユーザーモードにおけるテスト割り込み要求>
項15において、前記所定のテスト割り込み要求はユーザーモードにおける中央処理装置の制御にしたがって前記タイマから定期的に発生される。
これによれば、ユーザーモードから特別なテストモードへの遷移を必要とせず、また、テスト割り込みによる処理をユーザーモードにおける一つの割り込み処理として実行することができ、システム上若しくは実機上において経年変化による劣化を検出することができる。
〔18〕<既定の処理が想定する故障>
項1において、前記中央処理装置によって有るとみなされる異常は、前記割り込みコントローラから前記中央処理装置に至る経路で想定される異常である。
これにより、その想定される異常にしたがって、異常有りの判別に対する例外処理やリカバリ処理などを既定することができる。
2.実施の形態の詳細
実施の形態について更に詳述する。
《マイクロコンピュータ》
図2にはマイクロコンピュータの構成が例示される。同図に示されるマイクロコンピュータ(MCU)1は、特に制限されないが、単結晶シリコンのような1個の半導体基板にCMOS集積回路製造技術によって形成され、半導体集積回路装置として実現されている。
マイクロコンピュータ1は、相互に同じプロセッシングエレメント(PE0)2とプロセッシングエレメント(PE1)3とを二重化して持つ。夫々のプロセッシングエレメント2,3はマスタ割り込みコントローラ(INTC1)4と中央処理装置(CPU)5を有する。双方のプロセッシングエレメント2,3の中央処理装置5は同じクロック信号に同期して同じ命令を実行する。双方のプロセッシングエレメント2,3のマスタ割り込みコントローラ4は同じ割り込み要求信号を入力して受け付け処理を行い、対応する中央処理装置5に割り込み信号を出力する。プロセッシングエレメント2,3の並列動作によって夫々で生成される信号やその他の内部情報は比較部(COMP)6によって例えば中央処理装置5の動作サイクル単位で比較される。比較結果に不一致が有るとエラー信号ERRによってエラー制御回路(ERRCNT)7に通知される。通知の具体的な内容、及び不一致の通知に対する具体的な処理内容は、マイクロコンピュータ1が実行するソフトウェア、若しくはマイクロコンピュータ1が適応されるシステムの内容などに応じて適宜決定されることになり、特に制限される性質のものではない。このようなプロセッシングエレメント2,3の二重化は、フェイルセーフ機能を実現する手段としてのロックステップアーキテクチャの一例であり、マイクロコンピュータ1乃至その応用システムの故障を逸早く検出可能にするものである。但し、このようなロックステップアーキテクチャは当然ハードウェア規模を倍増させることになる。
プロセッシングエレメント2,3には周辺回路として、例えばSRAMなどのRAM10及び電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ(FLASH)11などの記憶装置、更に、内部バス12を介して複数の回路モジュールが接続される。回路モジュールとして例えば、ディジタル信号をアナログ信号に変換するDA変換回路及びアナログ信号をディジタル信号に変換するAD変換回路などのアナログ回路(ANLG)13、フェーズドロックループ回路(PLL)14、タイマ回路(TMR)15、シリアルコミュニケーション回路(SRLCOM)16、入出力ポート(I/O)17、及びスレーブ割り込みコントローラ(INTC2)18などを有する。尚、上記周辺回路が出力するデータや信号は二重化されたプロセッシングエレメント2,3の双方に供給されるが、上記周辺回路へのデータや信号の供給はマスタとして位置付けられる一方のプロセッシングエレメント2が行うものとする。
ここで、前記スレーブ割り込みコントローラ18とマスタ割り込みコントローラ4の割り込み信号経路はカスケード接続されている。割り込みコントローラのカスケード接続は、マスタ割り込みコントローラ4の割り込み要求入力端子の数が、処理すべき割り込み要求の数に比べて少ないときに、割り込み制御機能を拡張するために採用するものである。特に制限されないが、前記スレーブ割り込みコントローラ18は第1のスレーブ割り込みコントローラ(INTC2_0)21と第2のスレーブ割り込みコントローラ(INTC2_1)22によって構成される。
次に、割り込みコントローラ4,21,22のカスケード接続の基本的な構成について図1をも参照しながら説明する。
第1のスレーブ割り込みコントローラ21は、96個の割り込み要求入力端子から割り込み要求信号INT[127:32]を入力可能にされ、入力した割り込み要求信号に対する受け付け制御の結果に従って割り込み要求出力端子から割り込み信号IntS1を出力する。
第2のスレーブ割り込みコントローラ22は、128個の割り込み要求入力端子から割り込み要求信号INT[255:128]を入力可能にされ、入力した割り込み要求信号に対する受け付け制御の結果に従って割り込み要求出力端子から割り込み信号IntS2を出力する。
マスタ割り込みコントローラ4は、例えば34個の割り込み要求入力端子から32本の割り込み要求信号INT_PE[31:0]と前記割り込み信号IntS1,IntS2を入力可能にされ、入力した信号に対する受け付け制御の結果に従って割り込み要求出力端子から中央処理装置5に1本の割り込み信号IntReqを出力する。
夫々の割り込みコントローラ4,21,22は、割り込み要求信号が入力されると、入力された割り込み要求信号に対応する割り込み要求フラグIFLGをセットし、セットされた割り込み要求フラグIFLGによる割り込み要求に対して割り込みマスクの判定と割り込み優先レベルの判定を行う。割り込みマスクの判定と割り込み優先レベルの判定が上記受け付け処理の一例である。即ち、割り込みコントローラ4,21,22は、割り込みマスクが解除されていない割り込み要求に対しては対応する割り込み要求フラグIFLGを無視し、セット状態の割り込み要求フラグIFLGの中で優先レベルの最も高い割り込み要求を最優先の割り込み要求として受け付けて、割り込み信号IntS1,IntS2,IntReqを出力する。このとき、マスタ割り込みコントローラ4は割り込み信号IntS1,IntS2を割り込み要求信号と同等に扱って処理する。図2において31,32,33は割り込みコントローラ単位で複数の割り込み要求フラグを総称的に示した割り込み要求フラグ回路である。実際には割り込み要求フラグ回路31,32,33には割り込み要求信号単位で割り込み要求フラグIFLGが設けられている。ただし、割り込み要求フラグ回路31は、割り込み信号IntS1、IntS2に対応した割り込み要求フラグを持たない。夫々の割り込みコントローラ21,22,4における上記割り込み要求に対する上記優先度及びマスク判定の制御は優先度・マスク制御ロジック回路(PMLGC)51,52,53が行う。
中央処理装置5はマスタ割り込みコントローラ4が出力する割り込み信号IntReqを入力することにより実行途中の命令実行を終了して退避処理を行い、割り込み承認信号IntAckを割り込みコントローラ4,21,22に出力する。
マスタ割り込みコントローラ4は中央処理装置5から割り込み承認信号IntAckが返されたとき、上記最優先と判定した割り込み要求がスレーブ側からの割り込み信号IntS1,IntS2によるものでなければ、そのとき最優先と判定した割り込み要求に応ずるベクタを中央処理装置5に出力すると共に、当該最優先と判定した割り込み要求に応ずる割り込み要求フラグIFLGのセット状態をリセット状態にクリアする。一方、マスタ割り込みコントローラ4は上記最優先と判定した割り込み要求がスレーブ側からの割り込み信号IntS1,IntS2によるものであれば、その要求元が何れのスレーブ割り込みコントローラであるかを示すカスケードコードCSCDを例えば内部バス12を経由してスレーブ割り込みコントローラ21,22に通知し、自らはベクタの出力及び割り込み要求フラグのクリアを行わない。その制御は例えばフラグ制御ロジック回路(FLGC)43で行われる。
スレーブ割り込みコントローラ21,22は、割り込み承認信号IntAckが活性化され、且つカスケードコードCSCDにより自らが指定されることにより、上記最優先と判定した割り込み要求に応ずるベクタを内部バス12経由で中央処理装置5に供給すると共に、当該最優先と判定した割り込み要求に応ずる割り込み要求フラグIFLGのセット状態をリセット状態にクリアする。その制御は例えば夫々のスレーブ割り込みコントローラ21,22が保有するフラグ制御ロジック回路(FLGC)41,42で行われる。
FCLRはフラグ制御ロジック回路41,42,43が対応する割り込み要求フラグ回路31,32,33に出力するフラグクリア信号である。フラグクリア信号FCLRは割り込み要求フラグ回路31,32,33においてクリアする割り込み要求フラグを指定してクリアする複数ビットの信号である。
中央処理装置5は割り込みコントローラ4,21,22の内の一つから供給されたベクタをフェッチし、それに基づいて指定された割り込み処理ルーチンを実行することによって、割り込み要求に応答する割り込み処理を行うことができる。
《割り込み制御系の故障検出》
上記マイクロコンピュータ1は、特に制限されないが、自動車のパワートレイン又はボディー系等の機能安全に係わるECUなどに搭載して利用されることが想定される。その場合には、機能安全関連の割り込み要求の種類が多数に及び、二重化したマスタ割り込みコントローラ4にその全ての割り込み要求を収容することができない。機能安全関連の割り込み要求を二重化されていないスレーブ割り込みコントローラで受け取る場合でも、多数に亘る機能安全関連の割り込み処理の信頼性向上のために、マイクロコンピュータ1には、割り込みコントローラ及びその割り込み信号系の故障を容易に検出可能なように考慮がなされている。以下、マイクロコンピュータ1におけるその割り込み制御系の故障検出技術について詳細を説明する。
《故障検出の第1の実施の形態》
図1にはマイクロコンピュータ1における割り込み制御系の詳細が示される。
第1のスレーブ割り込みコントローラ21において、96本の割り込み要求信号INT[127:32]は割り込み要求フラグ回路31に供給され、割り込み要求信号INT[127:32]の夫々に対応して割り込み要求フラグIFLGが設けられている。夫々の割り込み要求フラグIFLGの出力は優先度・マスク制御ロジック回路51に供給され、中央処理装置5によって予め設定されたマスク設定及び優先度レベルに基づいて、セット状態のフラグ出力の内の一つに対応する一つの割り込み要求を受け付けて割り込み要求信号IntS1を出力する。
特に、割り込み要求信号INT[127:32]の内の1本は、タイマ15から定期的に所定の間隔で発生されるテスト割り込み要求OSTMとされる。残りの95本の割り込み要求信号は、例えば、上記機能安全関連の割り込み処理以外の適宜の処理を要求する非安全関連割り込み要求信号NSRSである。
第2のスレーブ割り込みコントローラ22において、128本の割り込み要求信号INT[255:128]は割り込み要求フラグ回路32に供給され、割り込み要求信号INT[255:128]の夫々に対応して割り込み要求フラグIFLGが設けられている。夫々の割り込み要求フラグIFLGの出力は優先度・マスク制御ロジック回路52に供給され、中央処理装置5によって予め設定されたマスク設定及び優先度レベルに基づいて、セット状態のフラグ出力の内の一つに対応する一つの割り込み要求を受け付けて割り込み要求信号IntS2を出力する。
特に、割り込み要求信号INT[255:128]の内の一部は上記機能安全関連の割り込み処理を要求する安全関連割り込み要求信号SRSであり、残りは前記と同様の非安全関連割り込み要求信号NSRSとされる。
マスタ割り込みコントローラ4において、32本の割り込み要求信号INT_PE[31:0]及び前記割り込み信号IntS1,IntS2は割り込み要求フラグ回路33に供給され、割り込み要求信号INT_PE[31:0]及び前記割り込み信号IntS1,IntS2の夫々に対応して割り込み要求フラグIFLGが設けられている。夫々の割り込み要求フラグIFLGの出力は優先度・マスク制御ロジック回路53に供給され、中央処理装置5によって予め設定されたマスク設定及び優先度レベルに基づいて、セット状態のフラグ出力の内の一つに対応する一つの割り込み要求を受け付けて割り込み信号IntReqを出力する。割り込み要求信号INT_PE[31:0]は安全関連割り込み要求信号SRS又は非安全関連割り込み要求信号NSRSの何れであってもよいし、適宜混在されていても良い。マスタ割り込みコントローラ4は二重化によってその信頼性が高度に保証されているからである。
安全関連割り込み要求信号SRSによる割り込み信号系に対する故障検出について詳述する。中央処理装置5は、タイマ15を初期設定して定期的に所定の間隔でテスト割り込み要求OSTMを発生させる。中央処理装置5は、テスト割り込み要求OSTMに応答して、第2のスレーブ割り込みコントローラ22が保有する安全関連割り込み要求信号SRSに対応する割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、安全関連割り込み要求信号SRSによる割り込み信号系に何らかの異常が有るとみなす。即ち、定期的に発生するテスト割り込み要求OSTM毎に第2のスレーブ割り込みコントローラ22内の安全関連割り込み要求信号SRSに対応する割り込み要求フラグIFLGを参照した結果、同じ割り込み要求フラグIFLGが2回以上続けてセット状態にされていることを検出した場合には、当該セット状態の割り込み要求フラグIFLGによる割り込みが依然として処理されずに残っていることになり、これが長期間であるほどその割り込み信号系に故障が発生している蓋然性が高いと考えられる。この状態を異常有りとみなすことによって、マイクロコンピュータ1が制御するシステムの機能安全性を向上させることができる。特に、スレーブ割り込みコントローラ22を全面的に二重化してロックステップアーキテクチャに全て依存させることをしないので、回路規模の大幅な増大を必要としない。更に、時間をかけてビルトインセルフテストのためのテストパターンを作成することも要せず、また、ビルトインセルフテストによって電力消費量が大幅に増えることもない。このように、回路規模、テストパターン作成時間、及びテストに伴う電力消費量を大幅に増やすことなく割り込み制御系の異常を検出することができる。ここで想定する割り込み制御系の異常は、第2のスレーブ割り込みコントローラ22の割り込み要求信号の入力からマスタ割り込みコントローラ4を介して中央処理装置5における割り込み信号IntReqの入力に至るまでの経路で想定される異常である。それによって想定される異常に対処可能な例外処理やリカバリ処理などを、異常有りの判別結果に対する中央処理装置5による新たな応答処理として用意していけばよい。その内容については前述のとおり何ら制限されるものではない。
前記テスト割り込み要求OSTMはタイマ15を用いたタイマ割り込み要求を用いるから、テスト割り込み要求OSTMを定期的に発生させる間隔を中央処理装置5の制御に基づいて任意に決定することができる。しかも、テスト割り込み要求はユーザーモードにおける中央処理装置5がそのソフトウェア(例えばユーザープログラム)にしたがってタイマ15から定期的に発生させる。したがって、ユーザーモードから特別なテストモードへの遷移を必要とせず、また、テスト割り込みによる処理をユーザーモードにおける一つの割り込み処理として実行するから、システム上若しくは実機上において経年変化による割り込み制御系の劣化を検出することができる。
定期的にテスト割り込み要求OSTMを発生させる間隔は、例えば、安全関連の割り込み要求によるフェイルセーフ処理で考慮されるFTTI(Fault Tolerant Time Interval)よりも短い時間である。正常であれば安全関連の割り込み要求による処理はFTTI時間よりも早く完了してその割り込み要求フラグはセット状態からクリアされる。これに対して、異常が有れば安全関連の割り込み要求による処理はFTTI時間を経過しても完了されず、その割り込み要求フラグはセット状態のままにされる。したがって、テスト割り込み要求の発生間隔をFTTI時間よりも短く設定することで第1回目のテスト割り込み要求の処理と第2回目のテスト割り込み要求の処理で、同一割り込み要求フラグが2回連続してセット状態であることを判別することによって、異常有りとみなすことが可能になる。
図3には前記テスト割り込み要求OSTMに応答する中央処理装置5の動作フローが例示される。中央処理装置はテスト割り込み要求OSTMによる割り込み信号IntReqが活性化されることによってOSTM割り込みルーチンに入ってテストを開始する(S1)。
先ず、中央処理装置5は、安全関連割り込み要求信号SRSに応ずる全ての割り込み要求フラグ(安全関連割り込み要求フラグ)を割り込み要求フラグ回路32から読み出す(S2)。中央処理装置5は読み出した安全関連割り込み要求フラグがセット状態(例えば論理値1)か否かを判別する(S3)。中央処理装置は割り込み要求フラグ毎に割り込みステータスを有し、割り込み要求フラグのセット状態を判別する度に対応する割り込みステータスに値1を加算する(S4)。これによって割り込みステータスの値が2になっているか否かを判別する(S5)。判別の結果、2になっていればテストフェイルフラグをセットし(S6)、2になっていなければテストフェイルフラグを操作せずにテストパスとされる(S8)。ステップS3で安全関連割り込み要求フラグがセット状態でなければ(例えば論理値0)対応する割り込みステータスを値0にクリアして(S7)、テストパスとされる(S8)。尚、FTTIとタイマ15によるテスト割り込み要求信号OSTMの発生間隔の設定との関係などによって、テストフェイルとする割り込みステータスの値を3以上にしてもよいことは言うまでもない。
テストフェイルフラグがセットされると、例えば、それに対応する所定のエラー処理が中央処理装置5によって行われる。例えば、テストフェイルになった場合は、割り込み要求フラグがセットされている割り込み要求が、割り込みの優先度が低いために割り込み処理の実行が開始されていないのか、故障のため割り込み処理の実行が開始されないのかを判定する必要が有る。例えば、中央処理装置5で全ての割り込み要求フラグを確認し、優先度の高い別の割り込み要求がセットされていない場合は、故障と判定することできる。優先度の高い割り込み要求がセットされている場合には、当該高優先度の割り込みの実行完了後に、テストフェイルの原因となった割り込み要求に応ずる割り込み処理が実行されることを確認すればよい。故障と判定された場合、例えば上位のソフトウェアがシステムを安全な状態に移行させるための処理を行えばよい。
図4にはテスト割り込み要求OSTMに応答するテスト割り込み処理の動作タイミングが例示される。テスト割り込み要求OSTMに応答するOSTM割り込み処理ルーチンに入ることで、テストが開始され、中央処理装置5によって安全関連割り込み要求フラグの読出しが行われる。
動作ACT1に例示されるように、読み出した安全関連割り込み要求フラグがクリア状態(論理値0、ローレベル)の場合はテストパスになる(t1)。OSTM割り込みルーチンが終了(t2)した後、SRS安全関連割り込み要求が有ったときは安全関連割り込み要求フラグがセット状態(論理値1、ハイレベル)にされるが(t3)、当該割り込み要求が中央処理装置5に受け付けられることによって、その安全関連割り込み要求フラグは中央処理装置5によって再びクリアされる(t4)。
動作ACT2に例示されるように、OSTM割り込みルーチンの開始(t11)後に、SRS安全関連割り込み要求が有れば、安全関連割り込み要求フラグがセット状態(論理値1、ハイレベル)にされる(t12)。この場合、読み出した当該安全関連割り込み要求フラグはセット状態になっているが(t13)、OSTM割り込みルーチンが終了(t14)した後に、上記セット状態の安全関連割り込み要求フラグに対応する割り込み要求が中央処理装置5に受け付けられることで当該安全関連割り込み要求フラグはクリアされる(t15)。このようなタイミングで安全関連割り込み要求が発生する場合があるが、対応する安全関連割り込み要求フラグに対して検出されるセット状態は1回であるから、OSTM割り込みルーチンによるテスト結果はテストパスになる。
動作ACT3に例示されるように、動作ACT2の次のOSTM割り込みルーチンで安全関連割り込み要求フラグがセット状態でなければテストパスになるが(t16_a)、t16_bに例示されるように2回連続で安全関連割り込み要求フラグがセットされている場合には、前回の割り込み要求が依然として中央処理装置5に受け付けられず、当該安全関連割り込み要求フラグがクリアされずにそのまま残っている、即ち、安全関連割り込み信号系に故障が発生している可能性が高い、と考えられる。したがって、この場合はテストフェイルとする。
第1の実施の形態によれば以下の作用効果を得る。
(1)定期的に発生するテスト割り込み要求OSTM毎にスレーブ割り込みコントローラ22内の安全関連割り込み要求フラグを参照した結果、同じ安全関連割り込み要求フラグが2回以上続けてセット状態にされていることを検出した場合には、当該セット状態の安全関連割り込み要求フラグによる割り込みが依然として中央処理装置5で処理されずに残っていることになり、その割り込み信号系に故障が発生している蓋然性が高いと考えられる。この状態を異常有りとみなすことによって、マイクロコンピュータ1が制御するシステムの機能安全性を向上させることができる。
(2)スレーブ割り込みコントローラ22を二重化してロックステップアーキテクチャに全て依存させることをしないので、回路規模の大幅な増大を必要としない。
(3)更に、時間をかけてビルトインセルフテストのためのテストパターンを作成することも要せず、また、ビルトインセルフテストによって電力消費量が大幅に増えることもない。
(4)テスト割り込み要求と割り込み要求フラグの参照対象とされる割り込み要求とを異なるスレーブ割り込みコントローラ21,22に入力することにより、カスケード接続構成の場合にも、テスト割り込み要求による割り込み処理で割り込み要求フラグを参照する範囲を機能安全関連の割り込み要求側の第2のスレーブ割り込みコントローラ22に限定することができる。そして、異常有りとみなされた場合に、その異常に対する対処の範囲を第2のスレーブ割り込みコントローラ22を含む割り込み信号系に限定して行うことが可能になる。
(5)マスタ割り込みコントローラ4に対してスレーブ割り込みコントローラ21,22をカスケード接続する構成を採用することにより、1個の割り込みコントローラで処理しきれない多数の機能安全関連の割り込み要求信号に対して対応することができる。
(6)マスタ割り込みコントローラ4及び中央処理装置5を二重化してロックステップアーキテクチャを採用することにより、面積的に許容される一部にロックステップアーキテクチャが採用されるから機能安全性の更なる向上に資することができる。
(7)テスト割り込み要求OSTMに、所定の間隔でタイマ15から発生されるタイマ割り込み要求を用いることにより、テスト割り込み要求OSTMを定期的に発生させる間隔を中央処理装置5の制御に基づいて任意に決定することができる。
(8)マイクロコンピュータ1は安全関連の割り込み要求を多用するフェイルセーフ機能を搭載した車載制御用途のマイクロコンピュータに好適である。
(9)テスト割り込み要求OSTMの発生間隔はFTTI時間よりも短く設定される。したがって、第1回目のテスト割り込み要求の処理と第2回目のテスト割り込み要求の処理で、同一割り込み要求フラグが2回連続してセット状態であることを判別して、異常有りとみなすことが可能になる。
(10)テスト割り込み要求OSTMはユーザーモードにおける中央処理装置5の制御にしたがって前記タイマ15から定期的に発生される。ユーザーモードから特別なテストモードへの遷移を必要とせず、テスト割り込みによる処理をユーザーモードにおける一つの割り込み処理として実行することができる。したがって、システム上若しくは実機上において経年変化による劣化を容易に検出することができる。
《故障検出の第2の実施の形態》
第1の実施の形態で説明したように、安全関連の割り込み要求に対する処理系の故障を中央処理装置5のソフトウェアを用いて検出するには、タイマ割り込みとしてテスト割り込み要求OSTMが定期的に発生することを前提とする。したがって、タイマ回路15においてテスト割り込み要求OSTMを発生させるタイマチャネルが故障したり、テスト割り込み要求OSTMの経路からスレーブ割り込みコントローラ21を経由してマスタ割り込みコントローラ4に至るまでの割り込み信号系に故障が発生した場合には、上記ソフトウェアテストを実行することができなくなる。故障検出の第2の実施の形態では、テスト割り込み要求OSTMの発生元、更にはその要求信号の処理系も二重化する。
図5にはマイクロコンピュータ1の割り込み制御系として第2の実施の形態に係る主な構成が例示される。図5においてOSTMa,OSTMbは二重化されたテスト割り込み要求であり、夫々は二重化された個別のタイマチャネル15a,15bから出力される。タイマ回路15は夫々個別にタイマ設定可能な複数のタイマチャネルを有し、これを利用してタイマチャネル15a,15bが形成される。タイマチャネル15a,15bには同一タイミングで繰返しタイマ動作が可能なようにタイマ設定され、双方のタイマチャネル15a,15bが正常に動作される限り、二重化されたテスト割り込み要求OSTMa,OSTMbは同じ信号波形を呈する。テスト割り込み要求OSTMa,OSTMbはスレーブ割り込みコントローラ21Aに供給され、これによってスレーブ割り込みコントローラ21Aの出力はマスタ割り込みコントローラ4Aに供給される。
図6には二重化されたテスト割り込み要求OSTMa,OSTMbに着目したときのスレーブ割り込みコントローラ21A及びマスタ割り込みコントローラ4Aの具体例が示される。スレーブ割り込みコントローラ21Aは、テスト割り込み要求OSTMaによるテスト割り込み要求と他の割り込み要求とに対する優先度及びマスク判定の制御を行う優先度・マスク制御ロジック回路(PMLGC)70と、テスト割り込み要求OSTMbによるテスト割り込み要求と他の割り込み要求とに対する優先度及びマスク判定の制御を行う優先度・マスク制御ロジック回路(PMLGC)71とを別々に持つ。優先度・マスク制御ロジック回路(PMLGC)70は優先度及びマスク判定の制御の結果として割り込み信号IntS1aを出力し、優先度・マスク制御ロジック回路(PMLGC)71は優先度及びマスク判定の制御の結果として割り込み信号IntS1bを出力する。
排他的論理和ゲート60は割り込み信号IntS1aとIntS1bとが一致するか否かを判別してエラー信号ERRtmrを生成する。エラー制御回路7はそのエラー信号によってタイマ割り込み信号IntS1aとIntS1bとの不一致及びタイマチャネル15a,15bの異常を判別する。マスタ割り込みコントローラ4Aは割り込み信号IntS1aとIntS1bの双方を論理積ゲート62に入力し、双方が共に活性化されている場合に活性化された割り込み信号IntS1を優先度・マスク制御ロジック回路(PMLGC)61に供給する。したがって、優先度・マスク制御ロジック回路(PMLGC)61は割り込み信号IntS1aとIntS1bの論理積信号を一つの割り込み要求として処理する。
第2の実施の形態によれば、テスト割り込み要求OSTMa,OSTMbの不一致はエラー制御回路7で検出され、その不一致はOSTM割り込み処理ルーチンの開始前に検出可能であるから、テスト割り込み要求による割り込み処理の結果に対する妥当性を保証することができる。したがって、テスト割り込み要求に基づく中央処理装置5によるソフトウェアテストがOSTMテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
尚、第2の実施の形態におけるその他の構成と作用効果は第1の実施の形態と同じであるからその詳細な説明は省略する。
《故障検出の第3の実施の形態》
安全関連の割り込み制御系における故障検出は、機能安全を考慮して、安全関連の割り込み要求信号系に故障が発生していないことをシステム通常動作中に中央処理装置5によるソフトウェアテストでチェックするものである。第3の実施の形態では、故障検出結果がテストフェイルである場合に、システムを安全な状態に移行させる処理を行うのではなく、本来の処理を継続しようとするものである。アベイラビリティ(可用性)の観点では、故障が発生した場合でも通常動作の継続が求められる場合があるからである。
図7にはマイクロコンピュータ1の割り込み制御系として第3の実施の形態に係る主な構成が例示される。第3の実施の形態では安全関連割り込み要求信号SRSから一つを選択して第1のスレーブ割り込みコントローラ21に一つの割り込み要求信号として供給するセレクタ80を設けた。セレクタ80による選択は例えば中央処理装置5が出力する選択信号SELによって行われる。中央処理装置5は、第2のスレーブ割り込みコントローラ22の安全関連の割り込み要求信号SRSに係る割り込み要求フラグを参照して異常有りとみなしたとき、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であると判別した当該割り込み要求フラグに対応する割り込み要求を、選択信号SELを用いてセレクタ80で選択し、第1のスレーブ割り込みコントローラ21へ供給する処理を行う。したがって、割り込み信号系に故障が想定される安全関連の割り込み要求を第1のスレーブ割り込みコントローラ21を通る割り込み信号系で処理することが可能になる。そのような処理によって当該割り込み要求による本来の処理が継続可能になる。要するに、システム上で問題が発生した際の応急措置として継続的な処理が可能になる。換言すれば、システムのアベイラビリティ(可用性)を向上させることができる。あるいは、フェイルオペレーショナル(フェイルオペラブル)性を高めることができる。尚、その場合に、第2のスレーブ割り込みコントローラにおいて中央処理装置で処理されないことが検出された割り込み要求フラグはクリアしないでそのままにしておくことが望ましい。応急措置が可能になっても当該異常を常に検出可能にしていくことがシステムの安全性と言う点で得策だからである。
尚、第3の実施の形態におけるその他の構成と作用効果は第1の実施の形態と同じであるからその詳細な説明は省略する。特に図示はしないが、第2の実施の形態に第3の実施の形態を適用することも可能である。
《故障検出の第4の実施の形態》
図8にはマイクロコンピュータ1の割り込み制御系として第4の実施の形態に係る主な構成が例示される。第1乃至第3の実施の形態ではマスタ割り込みコントローラ4はスレーブ割り込みコントローラ21,22からの割り込み信号IntS1,IntS2に対して割り込み要求フラグIFLGを備えていない。第4の実施の形態のマスタ割り込みコントローラ4Bには割り込み信号IntS1,IntS2に対して割り込み要求フラグIFLGを設けた割り込み要求フラグ回路33Bを採用する。割り込み信号IntS1,IntS2に対応して割り込み要求フラグ回路33Bに設けられた割り込み要求フラグIFLGは、割り込み信号IntS1,IntS2が活性化されることによってセットされる。割り込み信号IntS1,IntS2に応ずる割り込みが優先度・マスク制御ロジック回路(PMLGC)53に受け付けられて割り込み信号IntReqが活性化されたとき、これに応答して中央処理装置5から割り込み承認信号IntAckが返されると、フラグ制御回路43Bは、CSCDをスレーブ割り込みコントローラ21,22に向けて出力すると共に、そのとき受け付けられた割り込み信号IntS1又はIntS2に応ずる割り割り込み要求フラグIFLGをクリアする。すなわち割り込み信号IntS1,IntS2に応ずる割り込み要求フラグIFLGに対する操作も他の割り込み要求フラグと同様の操作とされる。
このように、マスタ割り込みコントローラ4Bにもスレーブ割り込みコントローラ21,22からの割り込み要求信号IntS1,IntS2に応ずる割り込み要求フラグを持てば、上述のテスト割り込み要求に基づくOSTM割り込み処理ルーチンでテストフェイルした場合に、どの経路が故障しているかを特定するのに役立つ。
テストフェイルした場合にマスタ割り込みコントローラ4Bの割り込み信号IntS1又はIntS2に応ずる割り込み要求フラグIFLGも読み出して利用すればよい。例えば、複数回のOSTM割り込み処理ルーチンで連続して2回、スレーブ割り込みコントローラ22内の同じ割り込み要求フラグがセット状態であることを判別した場合に、マスタ割り込みコントローラ4Bに追加した上記割り込み要求フラグはセット状態にされていない場合は、スレーブ割り込みコントローラからマスタ割り込みコントローラの入力に至る経路が故障していると考えられる。また、スレーブ割り込みコントローラ22とマスタ割り込みコントローラ4Bの双方で当該割り込み要求フラグがセット状態にされている場合は、スレーブ割り込みコントローラ22の内部、またはマスタ割り込みコントローラ4Bをから中央処理装置5の割り込み入力に至る経路に異常有りとみなすことができる。
これによれば、カスケード接続された割り込み要求についてのスレーブ側とマスタ側の夫々の割り込み要求フラグの状態を参照することによって、故障箇所が例えばマスタ割り込みコントローラの割り込み要求フラグの前か否かを判別可能になる。テストフェイルした場合に、故障経路の特定に資することができる。
尚、第4の実施の形態におけるその他の構成は第1の実施の形態と同じであるからその詳細な説明は省略する。特に図示はしないが、第2又は第3の実施の形態に第4の実施の形態を適用することも可能である。
《故障検出の第5の実施の形態》
図9にはマイクロコンピュータ1の割り込み制御系として第5の実施の形態に係る主な構成が例示される。第5の実施の形態は第2の実施の形態に係る構成を流用したものであり、第1のスレーブ割り込みコントローラ21Aを非安全関連割り込み要求信号NSRSに限定せず、安全関連割り込み要求信号SRSも供給して利用可能にしたことが第2の実施の形態との相違点である。したがって、OSTM割り込みルーチンにおいて中央処理装置5は第1のスレーブ割り込みコントローラ21Aにおける安全関連割り込み要求信号SRSに応ずる割り込み要求フラグに対しても、連続して複数回セット状態にされているか否かの判別を行うようにされる。尚、図では第1のスレーブ割り込みコントローラ21Aには非安全関連割り込み要求信号NSRSが入力されていないが、非安全関連割り込み要求信号NSRSと安全関連割り込み要求信号SRSと混在させて入力してよいことは言うまでもない。
第2の実施の形態のようにテスト割り込み要求OSTMの生成系統を二重化すると第1のスレーブ割り込みコントローラ21Aから中央処理装置5に至る経路に故障がないことを確認した上でOSTM割り込み処理ルーチンによるソフトウェアテストを実施できる。したがって、安全関連の割り込み要求を第2のスレーブ割り込みコントローラ22に集約する必要はなく、第1のスレーブ割り込みコントローラに入力することも可能になるからである。
これによれば、テスト割り込み要求の発生からそれの受け付け制御に対する異常の発生を確実に検出することができ、テスト割り込み要求が正常に発生して中央処理装置5に受け付け可能にされることを容易に保証することができる。換言すれば、第1のスレーブ割り込みコントローラ21Aによる割り込み要求の受け付け処理とマスタ割り込みコントローラ4への信号経路に対する異常の検出可能になっているから、機能安全関連の割り込み要求信号の入力を第2のスレーブ割り込みコントローラ22に限定せず、第1のスレーブ割り込みコントローラ21Aに供給することによって機能安全性の更なる向上に資することができる。よって、安全関連割り込み要求信号SRSの本数が多くなって第2のスレーブ割り込みコントローラ22に収容できなくなった場合に、容易に対応可能になる。
尚、第5の実施の形態におけるその他の構成は第2の実施の形態と同じであるからその詳細な説明は省略する。
《故障検出の第6の実施の形態》
図10及び図11にはマイクロコンピュータ1の割り込み制御系として第6の実施の形態に係る主な構成が例示される。今までの実施の形態ではテスト割り込み要求OSTMをスレーブ割り込みコントローラ18,21,21Aに供給した。これに限定されず、図10及び図11のようにマスタ割り込みコントローラ4に供給しても良い。二重化によってロックステップアーキテクチャが採用されたマスタ割り込みコントローラ4にテスト割り込み要求OSTMを供給することにより、テスト割り込み要求OSTMの処理経路の異常発生が容易に検出されるので、第2の実施の形態と同様に、テスト割り込み要求に基づく中央処理装置5によるソフトウェアテストがOSTMテスト割り込み処理系の故障により実行できない状態を避けることができ、システムの機能安全という観点で、より安全性を高めることができる。
尚、図11に例示されるように、スレーブ割り込みコントローラ18を1個のスレーブ割り込みコントローラ22で実現することも可能である。更に図示はしないが、マスタ割り込みコントローラにカスケード説臆されるスレーブ割り込みコントローラの数は3個以上であっても良いし、マスタ割り込みコントローラに対する複数のスレーブ割り込みコントローラの接続形態は並列的な接続形態に限定されず、階層的なカスケード接続であってもよい。カスケード接続の階層接続段数は当然3段以上であってよいことは言うまでもない。
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、中央処理装置及びマスタ割り込みコントローラは二重化してロックステップアーキテクチャを採用する構成に限定されない。中央処理装置だけを二重化してロックステップアーキテクチャを採用する構成であってもよい。中央処理装置はプロセッサコアと同意義に解釈してもよい。即ち、プロセッサコアは例えば中央処理装置と共に、キャッシュメモリ、TLB、及び浮動小数点演算ユニットなどのアクセラレータを含む。
割り込みコントローラをカスケード接続したときの割り込み要求フラグのクリア手法やベクタの出力手法は上記実施の形態に限定されず適宜変更可能である。コードCSCDの伝達はスレーブ割り込みコントローラ毎に専用信号で行ってもよいし、フラグクリア信号FCLRもその専用信号を流用して良い。
また、半導体チップの面積効率の点で余裕があれば、一部のスレーブ割り込みコントローラに二重化によるロックステップアーキテクチャを採用することは妨げられない。この場合に問題視する安全関連割り込み信号は当然二重化によるロックステップアーキテクチャを採用していない割り込みコントローラに供給される割り込み要求信号である。
また、本発明はシングルプロセッサコアのマイクロコンピュータだけでなくマルチプロセッサコアのマイクロコンピュータにも当然適用可能である。又、マイクロコンピュータは、データプロセッサ、マイクロプロセッサ、SoC(System On Chip)型半導体デバイスなどのデータ処理デバイスの総称である。1チップデバイスであっても良いし、マルチチップをモジュール化したモジュールデバイスであってもよい。
また、マイクロコンピュータは車載用途に限定されない。また、テスト割り込み要求に応答する割り込み処理ルーチンで参照する割り込み要求フラグは機能安全関連割り込み要求フラグに限定されない。上記実施の形態でも非機能安全関連割り込み要求フラグを参照の対象に含めて故障検出を行ってもよい。
1 マイクロコンピュータ
2 プロセッシングエレメント(PE0)
3 プロセッシングエレメント(PE1)
4、4A、4B マスタ割り込みコントローラ(INTC1)
5 中央処理装置(CPU)
6 比較部(COMP)
7 エラー制御回路(ERRCNT)
15 タイマ回路(TMR)
18 スレーブ割り込みコントローラ(INTC2)
21、21A 第1のスレーブ割り込みコントローラ(INTC2_0)
22 第2のスレーブ割り込みコントローラ(INTC2_1)
IFLG 割り込み要求フラグ
IntS1、IntS2、IntReq 割り込み信号
31、32、33、33B 割り込み要求フラグ回路
41、42、43、43B フラグ制御ロジック回路(FLGC)
51、52、53、51A、53A 優先度・マスク制御ロジック回路(PMLGC)
CSCD カスケードコード
INT[127:32] 割り込み要求信号
OSTM テスト割り込み要求
NSRS 非安全関連割り込み要求信号
SRS 安全関連割り込み要求信号
INT[255:128] 割り込み要求信号
INT_PE[31:0] 割り込み要求信号
OSTMa、OSTMb 二重化されたテスト割り込み要求
15a、15b タイマチャネル
60 排他的論理和ゲート
61 優先度・マスク制御ロジック回路(PMLGC)
62 論理積ゲート
70、71 優先度・マスク制御ロジック回路(PMLGC)
80 セレクタ
SEL 選択信号

Claims (10)

  1. 中央処理装置と、複数の割り込み要求のそれぞれに対応するように設けられた複数の割り込み要求フラグを保持する割り込みコントローラと、定期的に所定の間隔でテスト割り込み要求を生成するタイマと、を有するマイクロコンピュータであって、
    前記割り込みコントローラは、複数の割り込み要求を受けて1つの割り込み信号を前記中央処理装置へ出力すると共に前記複数の割り込み要求のそれぞれに対応する複数の割り込み要求フラグをセットし、前記割り込み要求に対する前記中央処理装置からの応答を受けて対応する前記割り込み要求フラグをクリアし、
    前記中央処理装置は、前記タイマによって生成される前記テスト割り込み要求に基づいて、前記複数の割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなし、
    参照対象とされる割り込み要求フラグは、機能安全が考慮された安全関連の割り込み要求に対応する割り込み要求フラグであり、
    前記中央処理装置は、前記異常有りとみなした割り込み要求フラグよりも優先度が高い別の割り込み要求フラグがセットされていないときに、故障と判定する、マイクロコンピュータ。
  2. 請求項1において、前記割り込みコントローラは、前記テスト割り込み要求が与えられる第1の割り込みコントローラと、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第2の割り込みコントローラとを有する、マイクロコンピュータ。
  3. 請求項1において、前記割り込みコントローラは、
    複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って前記中央処理装置に前記割り込み信号を出力するマスタ割り込みコントローラと、
    複数の割り込み要求を入力可能にされ、入力した割り込み要求に対する受け付け制御の結果に従って前記マスタ割り込みコントローラに割り込み要求信号を出力するスレーブ割り込みコントローラと、を有する、マイクロコンピュータ。
  4. 請求項3において、前記中央処理装置は、前記テスト割り込み要求に応答して、前記スレーブ割り込みコントローラが保有するスレーブ側割り込み要求フラグと、前記スレーブ割り込みコントローラから前記マスタ割り込みコントローラに供給される割り込み要求信号に対応してセットされる前記マスタ割り込みコントローラが保有するマスタ側割り込み要求フラグと、を参照し、複数回の前記テスト割り込み要求による参照で、同一のスレーブ側割り込み要求フラグが連続して複数回セット状態であること、また、それに対応するマスタ側割り込み要求フラグが連続して複数回セット状態であること、を判別することによって、異常有りとみなすマイクロコンピュータ。
  5. 請求項3において、前記マスタ割り込みコントローラに前記テスト割り込み要求を入力する、マイクロコンピュータ。
  6. 請求項3において、前記スレーブ割り込みコントローラは、前記テスト割り込み要求が与えられる第1のスレーブ割り込みコントローラと、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第2のスレーブ割り込みコントローラとを有する、マイクロコンピュータ。
  7. 請求項1において、前記タイマは、前記テスト割り込み要求を生成する間隔を変更する、マイクロコンピュータ。
  8. 請求項において、前記テスト割り込み要求はユーザーモードにおける前記中央処理装置の制御にしたがって前記タイマから定期的に発生される、マイクロコンピュータ。
  9. 中央処理装置と、複数の割り込み要求のそれぞれに対応するように設けられた複数の割り込み要求フラグを保持する割り込みコントローラと、定期的に所定の間隔でテスト割り込み要求を生成するタイマと、を有するマイクロコンピュータであって、
    前記割り込みコントローラは、複数の割り込み要求を受けて1つの割り込み信号を前記中央処理装置へ出力すると共に前記複数の割り込み要求のそれぞれに対応する複数の割り込み要求フラグをセットし、前記割り込み要求に対する前記中央処理装置からの応答を受けて対応する前記割り込み要求フラグをクリアし、
    前記中央処理装置は、前記タイマによって生成される前記テスト割り込み要求に基づいて、前記複数の割り込み要求フラグを参照し、複数回の前記テスト割り込み要求による参照で同一の割り込み要求フラグが連続して複数回セット状態であることを判別することによって、異常有りとみなし、
    前記中央処理装置は、前記異常有りとみなした割り込み要求フラグよりも優先度が高い別の割り込み要求フラグがセットされていないときに、故障と判定する、マイクロコンピュータ。
  10. 請求項において、前記割り込みコントローラは、前記テスト割り込み要求が与えられる第1の割り込みコントローラと、前記テスト割り込み要求に応答する前記中央処理装置の処理によって参照対象とされる割り込み要求フラグを有する第2の割り込みコントローラとを有する、マイクロコンピュータ。
JP2017211452A 2017-11-01 2017-11-01 マイクロコンピュータ Active JP6588068B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017211452A JP6588068B2 (ja) 2017-11-01 2017-11-01 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017211452A JP6588068B2 (ja) 2017-11-01 2017-11-01 マイクロコンピュータ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013145230A Division JP6266239B2 (ja) 2013-07-11 2013-07-11 マイクロコンピュータ

Publications (3)

Publication Number Publication Date
JP2018041492A JP2018041492A (ja) 2018-03-15
JP2018041492A5 JP2018041492A5 (ja) 2018-06-07
JP6588068B2 true JP6588068B2 (ja) 2019-10-09

Family

ID=61623881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017211452A Active JP6588068B2 (ja) 2017-11-01 2017-11-01 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP6588068B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61226843A (ja) * 1985-03-30 1986-10-08 Toshiba Corp 割込み異常検出装置
JPH02130646A (ja) * 1988-11-11 1990-05-18 Meidensha Corp Cpuの異常検出方式
JPH07271408A (ja) * 1994-03-30 1995-10-20 Hitachi Ltd 制御用処理装置
JP2000307600A (ja) * 1999-04-23 2000-11-02 Nec Corp デバイス装置のハートビート回路
JP2001084152A (ja) * 1999-09-16 2001-03-30 Mitsubishi Electric Corp 割込み信号制御装置
US6587966B1 (en) * 2000-04-25 2003-07-01 Hewlett-Packard Development Company, L.P. Operating system hang detection and correction

Also Published As

Publication number Publication date
JP2018041492A (ja) 2018-03-15

Similar Documents

Publication Publication Date Title
JP6266239B2 (ja) マイクロコンピュータ
CN101349905B (zh) 引擎控制模块的双核体系结构
JP5722150B2 (ja) マイクロコントローラ
EP3198725B1 (en) Programmable ic with safety sub-system
US5577199A (en) Majority circuit, a controller and a majority LSI
KR20130119452A (ko) 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템
JP6462870B2 (ja) 半導体装置及び診断テスト方法
JP2009017010A (ja) 再構成可能デバイス
EP2381266B1 (en) Self-diagnosis system and test circuit determination method
US7966536B2 (en) Method and apparatus for automatic scan completion in the event of a system checkstop
US10102166B2 (en) Multiprocessor system
JP6588068B2 (ja) マイクロコンピュータ
US20230043280A1 (en) Verifying processing logic of a graphics processing unit
US20210124635A1 (en) Multicore system
CN109213638B (zh) 半导体装置
US20230064905A1 (en) Semiconductor device
JP2024064075A (ja) 半導体装置、および半導体装置の起動制御方法
JP2014225110A (ja) 安全コントローラ
JP2010073285A (ja) 情報処理装置
KR20080032167A (ko) 컴퓨터 시스템의 제어 장치 및 방법
JPH04211841A (ja) 二重化処理装置
JPH036618A (ja) スタックポインタの異常検出回路
JP2000200200A (ja) 情報処理装置および情報処理方法
JPH05158730A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190911

R150 Certificate of patent or registration of utility model

Ref document number: 6588068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150