Functional Safety:機能安全

 ちょっと今回から毛色を変えて、安全関係の話をしばらくご紹介することにしたい。安全、という観点で言えば前回紹介したエアバッグ関連はまさしく安全関連機能の一部であるし、最近だと富士重工業の「EyeSight」関連を思い出す読者も多いだろう。あるいは、ちょっと古い話だがメルセデス・ベンツは以前から77GHz帯レーダーを使ったActive Saferyの機能を搭載しているし、今年1月にご紹介したインストゥルメントパネルの話もSafery関連とも言える。

 こうした安全装備関連の話は、次回以降で徐々に触れてゆくことになるが、まずはそうした以前のレベルである、「Functional Safery」の話をご紹介したいと思う。日本語だと「機能安全」と訳されるものだが、これは何か? というところから。

 これまでも紹介してきた通り、最近の車には電子装置がてんこ盛りで搭載されている。そして電子装置は、しばしば壊れる。別に電子装置が特に壊れやすいとか、壊れるような作り方をしているという訳ではなく、機械一般の宿命である。

 一般に機械の故障率は図1に示すような形になる。故障そのものは、「初期故障」「偶発故障」「磨耗故障」の3つのパターンがあり、このうち偶発故障は動作期間と関係なく常に一定の頻度で発生するというもの。初期故障はいわゆる初期不良とか言われる類のもので、これは時間が経過するほど頻度が減ってゆく。逆に磨耗故障と呼ばれるものは時間経過に伴ってどんどん増えてゆく。

 この3つの故障を組み合わせると、ちょうどバスタブの様な曲線になるということで、これをバスタブ曲線(Bathtub Curve)などと呼ぶこともある。

図1

 例えばエンジンで言えば、シリンダーとピストンのあたりがわるくて、シリンダーを齧っちゃったなんてのは初期故障、逆に長い間乗っていたらピストンリングがどんどん磨耗してしまいオイル下がりが出るようになったなんてのが磨耗故障、何かの理由で突然エンジンが掛からなくなったなんてのが偶発故障になる。

 初期故障は、例えば馴らし運転をみっちりやるとかである程度解決できるし、磨耗故障はちゃんと運転時間に応じて部品のクリアランス確認を行い、必要ならメンテナンスに出すといった事で対応できるが、偶発故障だけは避けようが無い。

 こうした話は電子機械でも同じで、ECUにしても出荷前にBurn-Inという「ならし運転」を行うことで初期故障を減らせるし、大体の電子部品は動作環境に応じて利用可能期間が決まっているから、これにあわせてパーツの交換(普通はECU全体の交換になる)をすることで解決できるが、偶発故障を避けるのは不可能である。

 さて、ここでの話題は「どうして故障が起きるのか」ではなく、「起きたらどうするか」である。例えばアクセル・バイ・ワイヤやブレーキ・バイ・ワイヤを搭載した車両で、いきなりアクセルやブレーキを制御しているECUが壊れた場合、そのまま突っ走ったら悲劇的な結末が待っているのは明白である。あるいは電動パワーステアリングを搭載した車両で、そのパワーステアリング用モーターを制御しているEUCが壊れて操縦不能というのは絶対に避けなければならない。

 こうした故障への対策は、当然利用箇所によって異なってくる。同じ故障でも、カーナビが壊れたとかラジオが壊れたというものは、不便ではあっても危険ではないし、コンソールクラスタが壊れていきなりメーターが何も表示しなくなったからといって、ただちに運転できなくなる訳ではないが、そのまま走り続けるのは危険である。そして操縦系の故障は直ちに危険に直結する。

 先ほども述べたとおり、故障率を色々下げるための工夫はあるが、故障率を0にすることは不可能である。そこで、「故障したときにどうするか」は設計段階から考慮しておく必要がある。この「故障したときにも安全性を確保する」ための考え方が、「機能安全」というものである。

 実は車に関して、この機能安全に関しては適切な標準規格が存在しておらず、このため従来は別の用途向けのものをそのまま利用していた。「IEC 61508」というのがその規格名であるが(Photo01)、もともとのIEC 61508は輸送機器・化学プラント・医療機器など幅広い分野に向けた機能安全のための規格である。

 ただ自動車のような大量生産を前提としたものには適切とは言えない部分もあり、そのため「とりあえずは」IEC 61508に準拠する形でECUなどを作り込みつつ、それと並行する形で自動車向けの機能安全の規格の制定を急いだ。これが2010年4月に標準化された「IEC 61508 Edition 2」と2011年11月に標準化された「ISO 26262」である(Photo02)。IEC 61508 Edition 2は相変わらず汎用の規格であるが、かなりの部分がISO 26262と被っている。一方ISO 26262は明確に自動車向けの規格となっている。

Photo01:Photo01~04は昨年9月にフリースケールジャパンが開催したFTF Japan 2011におけるMark O'Donnell氏による「ファンクショナル・セーフティ ~ISO26262に対応する設計とアーキテクチャについて~」という講演資料からの抜粋Photo02:両者の違いをごく簡単に示したもの

 IEC 61508 Edition 2もISO 26262も国際標準であり、標準化の完了後に一定期間をおいて適用されることが予想される。現実問題としては2014年以降、すくなくともヨーロッパで販売される自動車に搭載される機器は、このISO 26262に準拠していることが求められると見られている。

 これはヨーロッパだけでなく日本も同じである。日本の場合、工業製品に関する標準はJISが制定するJIS標準に準拠ということになるが、そもそもISO(International Organization for Standardization:国際標準化機構)は全世界の国の代表が参加している団体であり、日本からもJISを制定する日本工業標準調査会(JISC)が代表として参加している。このため、JIS標準はISO標準と整合性が保たれており、事実上ISO 26262に準拠する事が求められることになる。こうした理由により、自動車メーカー各社はECUを始めとする多くの機器を、このISO 26262に準拠させる作業をあと2年ほどで済ませないといけなくなっている。

 さて、この機能安全とは具体的には何をするか? 機能安全では、まず「Hazard」(危険)を定義し、次にこのHazardが発生する要因と、それによってもたらされる「危険な状態」(Harm)を特定する(Photo03)。これが終わると、次はHazardが発生しない、もしくは何かが起きてもHazardに至らないための仕組みを定義するという形で分析を進めてゆき、これが完了して初めて量産に掛かれるという仕組みだ(Photo04)。

Photo03:HazardとHarmの定義はこちら。Hazardが発生する結果として、Harmが引き起こされることになる。逆説的に言えば、Harmが人間に対して害をなすわけで、これを防ぐためにはHazardを起こさないようにすればよい、というのが機能安全の考え方である。またHazardの要因にはSystematic(構造的な問題)とRandom(偶発的な問題)の2種類が考えられるPhoto04:ISO 26262における設計→試作→量産のサイクル。各々の段階で何をすべきか、までがきちんとISO 26262には定義されている

 ただこれだけ読んでも、まだピンとこない読者も多いと思う。そこでもう一段細かい説明をしたい。

 機能安全の設計段階で一番重要なのは、Hazardの発生要因の分析である。これを行うための手法の一つに、「FMEDA」(Failure Mode, Effect and Diagnostic Analysys)というものがある(Photo05)。Photo05のものは一例であるが、あるパーツについて

  • そのパーツの安全機能が使われない
  • そのパーツでエラーが検出された
  • 運転者がエラーに気づいた
  • 潜在的なエラーが発生した
  • 安全性に問題があるエラーが発生した

といういずれの項目についても、適切な対処を可能にする必要がある。ここで言う「適切な対処」とは何か? だが、FMEDAでは

  • SPFM(Single-point fault metric:単一箇所における故障検出率)
  • LFM(Latent-fault metric:潜在的な故障検出率)
  • PFHF(Probablistic Metric for random Hardware Failure:目標故障率)偶発的なハードウェアエラーの発生確率

の3つを定めており、ASIL D(Automotive Safety Integrity Level D。ISO 25262でもっとも要求安全レベルの高い認証)ではPhoto06のように数値目標も定められている。ASIL Dの場合、PMHFは10^-8/h、つまり1億時間あたり1回の故障頻度以下に抑えることが要求されている。一方SPFMとは、回路のある箇所が故障したという場合に、それを安全機構が検出できる確率で、これを99%以上にすることが求められる。一方LFMは、安全機構そのものが故障する事を検出する確率で、これも90%以上が求められる。

Photo05:ここからは今年6月に米Freescaleが開催したFTF America 2012におけるDirk Wendel氏の"Imprementing Functional Safety with Integrated Safety Architectures"という講演資料よりの抜粋。機能安全では、事故などによる致命的な障害は考慮対象外だが、逆に言えばそれ以外は全て対象となるPhoto06:Photo02にもちらっと出てくるが、ISO 26262では安全レベルをASIL A~ASIL Dの4レベルで定めており、ASIL Dは一番厳しいレベルである。例えばASIL Cの場合、PMHFは10^-7h^-1、SPFMは97%以上、LFMは80%以上とやや数字が緩い

 これはどういうことか? というと、まずPMHFそのものは単純で故障する頻度そのものである。ただ実際には1億回あたり1回未満というのはかなり難しい。一般にエレクトロニクス業界で使われている故障頻度には「FIT」(Failure in Time:10億時間あたりに発生する故障回数)と呼ばれるものがあるが、自動車向けのMCUなどではどんなに少ないものでも20FIT(10億時間あたり20回)といわれており、このままでは10^-8/hを満たせない。

 ただ、PMHFは、ある特定の回路そのものの故障頻度ではなく、システム全体の故障頻度と見なすこともできる。例えば全ての部品を二重化しておき、片方が壊れてももう片方がそれを引き継ぐことができるとすれば、トータルとしての故障頻度は10FITに減る計算になり、これでASIL DのPFHFの目標をクリアできることになるからだ。

 ただこの二重化の場合、ある部品が壊れたかどうかを確認するための仕組みが別途必要になる。また、この仕組みが確実に「その部品が壊れたかどうか」を判断できなければならない。これに関する数値がSPFMであって、要するに99%以上の確率で、その部品が正常か壊れたかを判断できるようにする必要があるわけだ。

 また、この「部品が壊れたかどうか」を判断する回路も、当然電子回路で構成される以上故障する可能性がある。そこで、この判断部そのものが故障していないかどうか、を90%以上の確率で判断できないといけない、というのがLFMというわけだ。

 ちょっと今回は難しい話が続いてしまった。次回はもう少し実例を示しながら、ではこの機能安全の仕組みをどうインプリメントしているか紹介したい。

カーエレWatch バックナンバー
http://car.watch.impress.co.jp/docs/series/cew/


(大原雄介 )
2012年 8月 1日