(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】機能安全システムにおける符号化された診断のための方法
(51)【国際特許分類】
G06F 11/20 20060101AFI20240723BHJP
G06F 11/07 20060101ALI20240723BHJP
【FI】
G06F11/20 620
G06F11/07 140J
G06F11/07 172
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023579514
(86)(22)【出願日】2022-07-01
(85)【翻訳文提出日】2024-02-21
(86)【国際出願番号】 US2022036002
(87)【国際公開番号】W WO2023278865
(87)【国際公開日】2023-01-05
(32)【優先日】2021-07-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-01
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522342754
【氏名又は名称】フォート ロボティクス,インコーポレイテッド
【氏名又は名称原語表記】FORT ROBOTICS,INC.
(74)【代理人】
【識別番号】110001302
【氏名又は名称】弁理士法人北青山インターナショナル
(72)【発明者】
【氏名】カトラック,ケルフェガー,クルシェド
(72)【発明者】
【氏名】ビヴァンス,ネイサン
【テーマコード(参考)】
5B034
5B042
【Fターム(参考)】
5B034AA01
5B034CC01
5B034DD01
5B042GA11
5B042JJ17
5B042JJ29
5B042KK14
(57)【要約】
方法は、第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、第2のコントローラの故障タイムアウト状態を表し第1の有効機能符号語からの最小ハミング距離によって特徴づけられる第1の有効故障符号語と、システムの機能状態を表す第2の有効機能符号語と、システムの故障状態を表す第2の有効故障符号語とを含む有効符号語のセットを記憶することと、所定の時間量内に第2のコントローラからの安全メッセージの受信を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第2の有効機能符号語を出力することと、第1のメモリの内容と有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第2の有効故障符号語を出力することとを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
システムに結合された第1の安全モジュール内の第1のコントローラで、
前記第1の安全モジュール内の第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、
前記第2のコントローラの故障タイムアウト状態を表し前記第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、
前記第2のコントローラの機能状態を表す第2の有効機能符号語と、
前記第2のコントローラの故障状態を表し前記第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、
前記システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、
前記第1の入力の故障状態を表し前記第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、
前記システムの機能状態を表す第4の有効機能符号語と、
前記システムの故障状態を表し前記第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語と
を含む有効符号語の第1のセットを記憶することと、
第1の期間中に、前記第1のコントローラで、
前記第2のコントローラに結合された第1の入力レジスタに問い合わせることと、
前記第1の入力レジスタで、前記第2のコントローラからの前記第2の有効機能符号語を含む第1の安全メッセージを検出することと、
第1の時間量内に前記第1の入力レジスタで前記第1の安全メッセージを検出したことに応答して、前記第1の有効機能符号語を第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を第2のメモリに記憶することと、
前記第1の期間の後の第2の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、および前記第1の入力の機能動作を検出したことに応答して、前記第4の有効機能符号語を含む第2の安全メッセージを出力することと、
前記第2の期間の後の第3の期間中に、前記第1のコントローラで、
前記第1の入力レジスタに問い合わせることと、
前記第1の入力レジスタで、前記第2のコントローラからの前記第2の有効機能符号語を含む第3の安全メッセージを検出することと、
第2の時間量内に前記第1の入力レジスタで前記第3の安全メッセージを検出したことに応答して、前記第1の有効機能符号語を前記第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を前記第2のメモリに記憶することと、
前記第3の期間の後の第4の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第4の有効故障符号語を含む第4の安全メッセージを出力することと
を含む、方法。
【請求項2】
前記第2のコントローラで、
前記第1のコントローラの機能タイムアウト状態を表す第5の有効機能符号語と、
前記第1のコントローラの故障タイムアウト状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第1のコントローラの機能状態を表す第6の有効機能符号語と、
前記第1のコントローラの故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と、
前記システムに結合された第2の入力の機能状態を表す第7の有効機能符号語と、
前記第2の入力の故障状態を表し前記第7の有効機能符号語からの第7の最小ハミング距離によって特徴づけられる第7の有効故障符号語と、
前記システムの機能状態を表す第8の有効機能符号語と、
前記システムの故障状態を表し前記第8の有効機能符号語からの第8の最小ハミング距離によって特徴づけられる第8の有効故障符号語と
を含む有効符号語の第2のセットを記憶することと、
前記第1の期間中に、前記第2のコントローラで、
前記第1のコントローラに結合された第2の入力レジスタに問い合わせることと、
前記第2の入力レジスタで、前記第1のコントローラからの前記第6の有効機能符号語を含む第5の安全メッセージを検出することと、
第3の時間量内に前記第2の入力レジスタで前記第5の安全メッセージを検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
前記第2の期間中に、前記第2のコントローラで、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、および前記第2の入力の機能動作を検出したことに応答して、前記第8の有効機能符号語を含む第6の安全メッセージを出力することと、
前記第3の期間中に、前記第2のコントローラで、
前記第2の入力レジスタに問い合わせることと、
前記第2の入力レジスタで、前記第1のコントローラからの前記第6の有効機能符号語を含む第7の安全メッセージを検出することと、
第4の時間量内に前記第2の入力レジスタで前記第7の安全メッセージを検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を前記第4のメモリに記憶することと、
前記第4の期間中に、前記第2のコントローラで、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、および前記第2の入力の機能動作を検出したことに応答して、前記第8の有効機能符号語を含む第8の安全メッセージを出力することと、
前記第2の期間の後の第5の期間中に、前記第1の安全モジュール内のアプリケーションプロセッサで、
前記第2の安全メッセージおよび前記第6の安全メッセージを受信することと、
前記第2の安全メッセージ内の前記第4の有効機能符号語および前記第6の安全メッセージ内の前記第8の有効機能符号語を検出したことに応答して、前記システムの機能状態を表す第9の有効機能符号語を含む第9の安全メッセージを出力することと、
前記第4の期間の後の第6の期間中に、前記アプリケーションプロセッサで、
前記第4の安全メッセージおよび前記第8の安全メッセージを受信することと、
前記第4の安全メッセージ内の前記第4の有効故障符号語および前記第8の安全メッセージ内の前記第8の有効機能符号語を検出したことに応答して、前記システムの故障状態を表し前記第9の有効機能符号語からの第9の最小ハミング距離によって特徴づけられる第9の有効故障符号語を含む第10の安全メッセージを出力することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第2のコントローラで、
前記第2のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第5の有効機能符号語と、
前記第1のサブシステムの故障状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第2の有効機能符号語と、
前記第2の有効故障符号語と、
前記システムに結合された第2の入力の機能状態を表す第6の有効機能符号語と、
前記第2の入力の故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と、
前記システムの機能状態を表す第7の有効機能符号語と、
前記システムの故障状態を表し前記第7の有効機能符号語からの第7の最小ハミング距離によって特徴づけられる第7の有効故障符号語と
を含む有効符号語の第2のセットを記憶することと、
前記第3の期間中に、前記第2のコントローラで、
前記第1のサブシステムの機能動作を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
前記第4の期間中に、前記第2のコントローラで、前記第3のメモリの内容と前記有効符号語の第2のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第2の有効故障符号語および前記第7の有効故障符号語を含む第5の安全メッセージを出力することと、
前記第4の期間の後の第5の期間中に、前記第1のコントローラで、
前記第1の入力レジスタに問い合わせることと、
前記第1の入力レジスタで、前記第2のコントローラからの前記第2の有効故障符号語を含む前記第5の安全メッセージを検出することと、
第3の時間量内に前記第1の入力レジスタで前記第5の安全メッセージを検出したことに応答して、前記第1の有効機能符号語を第1のメモリに記憶することと、
前記第5の期間の後の第6の期間中に、前記第1のコントローラで、前記第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および前記第5の安全メッセージ内の前記第2の有効故障符号語を検出したことに応答して、前記第4の有効故障符号語を含む第6の安全メッセージを出力することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記第2の期間の後の第7の期間中に、前記第1の安全モジュール内のアプリケーションプロセッサで、
前記第2の安全メッセージを受信することと、
第4の時間量内に前記第2の安全メッセージの受信を検出したことに応答して、および第5の時間量内における前記第2のコントローラからの第7の安全メッセージの不受信を検出したことに応答して、前記システムの故障状態を表す第8の有効故障符号語を含む第8の安全メッセージを出力することと
をさらに含む、請求項3に記載の方法。
【請求項5】
前記第1のコントローラで、
前記第1のコントローラ内の第1の算術論理演算装置の機能状態を表す第8の有効機能符号語と、
前記第1の算術論理演算装置の故障状態を表し前記第8の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第8の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶すること
をさらに含み、
前記第5の有効機能符号語は、前記第2のコントローラ内の第2の算術論理演算装置の機能状態を表し前記第8の有効機能符号語からの8の最小ハミング距離によって特徴づけられ、
前記第5の有効故障符号語は、前記第2のコントローラ内の前記第2の算術論理演算装置の故障状態を表し前記第1の有効故障符号語からの8の最小ハミング距離および前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる、請求項3に記載の方法。
【請求項6】
前記第1のコントローラで、
前記第2のコントローラの機能通信内容状態を表す第5の有効機能符号語と、
前記第2のコントローラの故障通信内容状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、前記第1の安全メッセージの内容と前記第2の有効機能符号語との間の一致を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のコントローラで、前記第4の有効機能符号語を含む前記第1の安全メッセージを出力することは、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことにさらに応答する、請求項1に記載の方法。
【請求項7】
前記第1のコントローラで、
前記システム内の第2の安全モジュール内の第3のコントローラの機能タイムアウト状態を表す第5の有効機能符号語と、
前記第3のコントローラの故障タイムアウト状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第2のコントローラで、
前記第2の安全モジュール内の第4のコントローラの機能タイムアウト状態を表す第6の有効機能符号語と、
前記第4のコントローラの故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と、
前記システムの機能状態を表す第7の有効機能符号語と、
前記システムの故障状態を表し前記第7の有効機能符号語からの第7の最小ハミング距離によって特徴づけられる第7の有効故障符号語と
を含む有効符号語の第2のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、第3の時間量内における前記第3のコントローラからの第5の安全メッセージの受信を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第1の期間中に、前記第2のコントローラで、第4の時間量内における前記第4のコントローラからの第6の安全メッセージの受信を検出したことに応答して、前記第6の有効機能符号語を第4のメモリに記憶することと、
前記第2の期間中に、前記第2のコントローラで、前記第4のメモリの内容と前記第6の有効機能符号語との間の一致を検出したことに応答して、前記第7の有効機能符号語を含む第7の安全メッセージを出力することと
をさらに含み、
前記第2の期間中に、前記第1のコントローラで、前記第4の有効機能符号語を含む前記第1の安全メッセージを出力することは、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことにさらに応答する、請求項1に記載の方法。
【請求項8】
前記第1のコントローラで、
前記第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第5の有効機能符号語と、
前記第1のサブシステムの故障状態を表し前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第5の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を第3のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のプロセッサで、前記第4の有効機能符号語を含む前記第2の安全メッセージを出力することは、前記第3のメモリの内容が前記第5の有効機能符号語と一致することを検出したことにさらに応答する、請求項1に記載の方法。
【請求項9】
前記第1の有効機能符号語および前記第1の有効故障符号語は、2バイトの長さを各々示し、
前記第2の有効機能符号語、前記第2の有効故障符号語、前記第3の有効機能符号語、前記第3の有効故障符号語、前記第4の有効機能符号語、および前記第4の有効故障符号語は、1バイトの長さを各々示し、
前記第1の最小ハミング距離は8であり、
前記第2の最小ハミング距離は4であり、
前記第3の最小ハミング距離は4であり、
前記第4の最小ハミング距離は4である、請求項1に記載の方法。
【請求項10】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、
前記第1の有効機能符号語として「1100010110110111」のビットパターンを記憶することと、
前記第1の有効故障符号語として「0111101101011100」のビットパターンを記憶することと
を含む、請求項1に記載の方法。
【請求項11】
システムに結合された第1の安全モジュール内の第1のコントローラで、
前記システム内の第2の安全モジュール内の第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、
前記第2のコントローラの故障タイムアウト状態を表し前記第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、
前記第2のコントローラの機能状態を表す第2の有効機能符号語と、
前記第2のコントローラの故障状態を表し前記第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、
前記システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、
前記第1の入力の故障状態を表し前記第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、
前記システムの機能状態を表す第4の有効機能符号語と、
前記システムの故障状態を表し前記第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語と
を含む有効符号語の第1のセットを記憶することと、
第1の期間中に、前記第1のコントローラで、
第1の時間量内に前記第2のコントローラからの前記第2の有効機能符号語を含む第1の安全メッセージを検出したことに応答して、前記第1の有効機能符号語を第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を第2のメモリに記憶することと、
前記第1の期間の後の第2の期間中に、前記第1のコントローラで、前記第1の安全メッセージ内の前記第2の有効機能符号語を検出したことに応答して、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、および前記第1の入力の機能動作を検出したことに応答して、前記第4の有効機能符号語を含む第2の安全メッセージを出力することと、
前記第2の期間の後の第3の期間中に、前記第1のコントローラで、
第2の時間量内における前記第2のコントローラからの前記第2の有効機能符号語を含む第3の安全メッセージの受信を検出したことに応答して、前記第1の有効機能符号語を前記第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を前記第2のメモリに記憶することと、
前記第3の期間の後の第4の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第4の有効故障符号語を含む第4の安全メッセージを出力することと
を含む、方法。
【請求項12】
前記第1のコントローラで、
前記第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第5の有効機能符号語と、
前記第1のサブシステムの故障状態を表し前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第1のコントローラの機能状態を表す第6の有効機能符号語と、
前記第1のコントローラの故障状態を表し前記第6の有効機能符号語からの4の最小ハミング距離によって特徴づけられる第6の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を第3のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のプロセッサで、前記第4の有効機能符号語を含む前記第2の安全メッセージを出力することは、前記第3のメモリの内容が前記第5の有効機能符号語と一致することを検出したことにさらに応答する、請求項11に記載の方法。
【請求項13】
前記第1のコントローラで、
前記第2のコントローラの機能通信内容状態を表す第5の有効機能符号語と、
前記第2のコントローラの故障通信内容状態を表し前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第5の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、前記第1の時間量内における前記第2のコントローラからの前記第1の安全メッセージの受信を検出したことに応答して、および前記第1の安全メッセージの内容と前記第2の有効機能符号語との間の一致を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第4の期間の後の第5の期間中に、前記第1のコントローラで、第3の時間量内における前記第2のコントローラからの第6の機能符号語を含む第5の安全メッセージの受信を検出したことに応答して、および前記第6の機能符号語と前記有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第5の有効故障符号語を前記第3のメモリに記憶することと、
前記第5の期間の後の第6の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、前記第1の入力の機能動作を検出したことに応答して、および前記第3のメモリの内容と前記第5の有効故障符号語との間の一致を検出したことに応答して、前記第4の有効故障符号語を含む第6の安全メッセージを出力することと
をさらに含み、
前記第2の期間中に、前記第1のプロセッサで、前記第4の有効機能符号語を含む前記第2の安全メッセージを出力することは、前記第3のメモリの内容が前記第5の有効機能符号語と一致することを検出したことにさらに応答する、請求項11に記載の方法。
【請求項14】
前記第1のコントローラで、
前記システム内の第3の安全モジュール内の第3のコントローラの機能タイムアウト状態を表し前記第1の有効機能符号語からの4の最小ハミング距離によって特徴づけられる第5の有効機能符号語と、
前記第3のコントローラの故障タイムアウト状態を表し前記第1の有効故障符号語からの4の最小ハミング距離および前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第2のコントローラおよび前記第3のコントローラを含む被監視コントローラのセットの機能タイムアウト状態を表す第6の有効機能符号語と、
前記被監視コントローラのセットの故障タイムアウト状態を表し前記第6の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第6の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、第3の時間量内における前記第3のコントローラからの第5の安全メッセージの不受信を検出したことに応答して、前記第5の有効故障符号語を第3のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のコントローラで、前記第2の安全メッセージを出力することは、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、前記第3のメモリの内容と前記第5の有効故障符号語との間の一致を検出したことに応答して、および前記第1の入力の機能動作を検出したことに応答して、前記第4の有効機能符号語および前記第6の有効故障符号語を含む前記第2の安全メッセージを出力することを含む、請求項11に記載の方法。
【請求項15】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、
前記第1の有効機能符号語として「0111010111100011」のビットパターンを記憶することと、
前記第1の有効故障符号語として「1110001101110101」のビットパターンを記憶することと、
前記第5の有効機能符号語として「1011001100100110」のビットパターンを記憶することと、
前記第5の有効故障符号語として「0010011010110011」のビットパターンを記憶することと
を含む、請求項14に記載の方法。
【請求項16】
前記第1の有効機能符号語は、第1の上位バイトおよび第1の下位バイトを含み、
前記第1の有効故障符号語は、第2の上位バイトおよび第2の下位バイトを含み、
前記第1の上位バイトおよび前記第2の下位バイトは互いに等価であり、
前記第2の上位バイトおよび前記第1の下位バイトは互いに等価である、請求項11に記載の方法。
【請求項17】
前記第1の有効機能符号語は、前記第2の有効機能符号語からの4のハミング距離および前記第2の有効故障符号語からの4のハミング距離によって特徴づけられ、
前記第1の有効故障符号語は、前記第2の有効機能符号語からの4のハミング距離、前記第2の有効故障符号語からの4のハミング距離、および前記第1の有効機能符号語からの8のハミング距離によって特徴づけられる、請求項11に記載の方法。
【請求項18】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、前記第2の有効機能符号語からの4の最小ハミング距離によって特徴づけられる前記第2の有効故障符号語を記憶することを含む、請求項11に記載の方法。
【請求項19】
前記第1のコントローラで、
前記第1の安全モジュール内の第3のコントローラの機能タイムアウト状態を表す第5の有効機能符号語と、
前記第3のコントローラの故障タイムアウト状態を表し前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第3のコントローラの機能状態を表す第6の有効機能符号語と、
前記第3のコントローラの故障状態を表し前記第6の有効機能符号語からの4の最小ハミング距離によって特徴づけられる第6の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、
前記第3のコントローラに結合された入力レジスタに問い合わせることと、
前記入力レジスタで、前記第3のコントローラからの前記第6の有効機能符号語を含む第5の安全メッセージを検出することと、
第3の時間量内に前記入力レジスタで前記第5の安全メッセージを検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のプロセッサで、前記第4の有効機能符号語を含む前記第2の安全メッセージを出力することは、前記第3のメモリの内容が前記第5の有効機能符号語と一致することを検出したことにさらに応答する、請求項11に記載の方法。
【請求項20】
システム内の第1の安全モジュール内の第1のコントローラで、
前記システム内の第2の安全モジュール内の第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、
前記第2のコントローラの故障タイムアウト状態を表し前記第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、
前記システムの機能状態を表す第2の有効機能符号語と、
前記システムの故障状態を表し前記第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と
を含む有効符号語のセットを記憶することと、
第1の期間中に、前記第1のコントローラで、第1の時間量内における前記第2のコントローラからの第1の安全メッセージの受信を検出したことに応答して、前記第1の有効機能符号語をメモリに記憶することと、
前記第1の期間の後の第2の期間中に、前記第1のコントローラで、前記メモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、前記第2の有効機能符号語を含む第2の安全メッセージを出力することと、
前記第2の期間の後の第3の期間中に、前記第1のコントローラで、第2の時間量内における前記第2のコントローラからの第3の安全メッセージの受信を検出したことに応答して、前記第1の有効機能符号語を前記メモリに記憶することと、
前記第3の期間の後の第4の期間中に、前記第1のコントローラで、前記メモリの内容と前記有効符号語のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第2の有効故障符号語を含む第4の安全メッセージを出力することと
を含む、方法。
【請求項21】
システムに結合された安全モジュール内の第1のコントローラで、
前記第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、
前記第1のサブシステムの故障状態を表し前記第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、
前記第1のコントローラの機能状態を表す第2の有効機能符号語と、
前記第1のコントローラの故障状態を表し前記第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、
前記システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、
前記第1の入力の故障状態を表し前記第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、
前記システムの機能状態を表す第4の有効機能符号語と、
前記システムの故障状態を表し前記第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語と
を含む有効符号語の第1のセットを記憶することと、
第1の期間中に、前記第1のコントローラで、
前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を第2のメモリに記憶することと、
前記第1の期間の後の第2の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、および前記第1の入力の機能動作を検出したことに応答して、前記第2の有効機能符号語および前記第4の有効機能符号語を含む第1の安全メッセージを出力することと、
前記第2の期間の後の第3の期間中に、前記第1のコントローラで、
前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を前記第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を前記第2のメモリに記憶することと、
前記第3の期間の後の第4の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第2の有効故障符号語および前記第4の有効故障符号語を含む第2の安全メッセージを出力することと
を含む、方法。
【請求項22】
前記安全モジュール内の第2のコントローラで、
前記第2のコントローラ内のサブシステムの第2のセットのうちの第2のサブシステムの機能状態を表す第5の有効機能符号語と、
前記第2のサブシステムの故障状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第2のコントローラの機能状態を表す第6の有効機能符号語と、
前記第2のコントローラの故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と、
前記システムに結合された第2の入力の機能状態を表す第7の有効機能符号語と、
前記第2の入力の故障状態を表し前記第7の有効機能符号語からの第7の最小ハミング距離によって特徴づけられる第7の有効故障符号語と、
前記システムの機能状態を表す第8の有効機能符号語と、
前記システムの故障状態を表し前記第8の有効機能符号語からの第8の最小ハミング距離によって特徴づけられる第8の有効故障符号語と
を含む有効符号語の第2のセットを記憶することと、
前記第1の期間中に、前記第2のコントローラで、
前記第2のサブシステムの機能動作を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
前記第2の期間中に、前記第2のコントローラで、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、および前記第2の入力の機能動作を検出したことに応答して、前記第6の有効機能符号語および前記第8の有効機能符号語を含む第3の安全メッセージを出力することと、
前記第3の期間中に、前記第2のコントローラで、
前記第2のサブシステムの機能動作を検出したことに応答して、前記第5の有効機能符号語を前記第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を前記第4のメモリに記憶することと、
前記第4の期間中に、前記第2のコントローラで、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、および前記第2の入力の機能動作を検出したことに応答して、前記第6の有効機能符号語および前記第8の有効機能符号語を含む第4の安全メッセージを出力することと、
前記第2の期間の後の第5の期間中に、前記安全モジュール内のアプリケーションプロセッサで、
前記第1の安全メッセージおよび前記第3の安全メッセージを受信することと、
前記第1の安全メッセージ内の前記第4の有効機能符号語および前記第3の安全メッセージ内の前記第8の有効機能符号語を検出したことに応答して、前記システムの機能状態を表す第9の有効機能符号語を含む第5の安全メッセージを出力することと、
前記第4の期間の後の第6の期間中に、前記アプリケーションプロセッサで、
前記第2の安全メッセージおよび前記第4の安全メッセージを受信することと、
前記第2の安全メッセージ内の前記第4の有効故障符号語および前記第4の安全メッセージ内の前記第8の有効機能符号語を検出したことに応答して、前記システムの故障状態を表し前記第9の有効機能符号語からの第9の最小ハミング距離によって特徴づけられる第9の有効故障符号語を含む第6の安全メッセージを出力することと
をさらに含む、請求項21に記載の方法。
【請求項23】
前記第1の有効機能符号語は、前記第1のコントローラ内の第1の算術論理演算装置の機能状態を表し、
前記第1の有効故障符号語は、前記第1のコントローラ内の前記第1の算術論理演算装置の故障状態を表し前記第1の有効機能符号語からの8の最小ハミング距離によって特徴づけられ、
前記第5の有効機能符号語は、前記第2のコントローラ内の第2の算術論理演算装置の機能状態を表し前記第1の有効機能符号語からの8の最小ハミング距離によって特徴づけられ、
前記第5の有効故障符号語は、前記第2のコントローラ内の前記第2の算術論理演算装置の故障状態を表し前記第1の有効故障符号語からの8の最小ハミング距離および前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる、請求項22に記載の方法。
【請求項24】
前記安全モジュール内の第2のコントローラで、
前記第2のコントローラ内のサブシステムの第2のセットのうちの第2のサブシステムの機能状態を表す第5の有効機能符号語と、
前記第2のサブシステムの故障状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第2のコントローラの機能状態を表す第6の有効機能符号語と、
前記第2のコントローラの故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と、
前記システムに結合された第2の入力の機能状態を表す第7の有効機能符号語と、
前記第2の入力の故障状態を表し前記第7の有効機能符号語からの第7の最小ハミング距離によって特徴づけられる第7の有効故障符号語と、
前記システムの機能状態を表す第8の有効機能符号語と、
前記システムの故障状態を表し前記第8の有効機能符号語からの第8の最小ハミング距離によって特徴づけられる第8の有効故障符号語と
を含む有効符号語の第2のセットを記憶することと、
前記第1の期間中に、前記第2のコントローラで、
前記第2のサブシステムの機能動作を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
前記第2の期間中に、前記第2のコントローラで、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、および前記第2の入力の機能動作を検出したことに応答して、前記第6の有効機能符号語および前記第8の有効機能符号語を含む第3の安全メッセージを出力することと、
前記第1の期間中に、前記第1のコントローラで、
前記第2のコントローラに結合された入力レジスタに問い合わせることと、
前記入力レジスタで、前記第2のコントローラからの前記第6の有効機能符号語を含む第4の安全メッセージを検出することと
をさらに含み、
前記第2の期間中に、前記第1のコントローラで、前記第3の有効機能符号語を含む前記第1の安全メッセージを出力することは、第1の時間量内に前記入力レジスタで前記第4の安全メッセージを検出したことにさらに応答する、請求項21に記載の方法。
【請求項25】
前記第2の期間の後の第5の期間中に、前記安全モジュール内のアプリケーションプロセッサで、
前記第1の安全メッセージおよび前記第3の安全メッセージを受信することと、
前記第1の安全メッセージ内の前記第4の有効機能符号語および前記第3の安全メッセージ内の前記第8の有効機能符号語を検出したことに応答して、前記システムの機能状態を表す第9の有効機能符号語を含む第5の安全メッセージを出力することと
をさらに含む、請求項24に記載の方法。
【請求項26】
前記第1のコントローラで、
前記第2のコントローラの機能タイムアウト状態を表す第9の有効機能符号語と、
前記第2のコントローラの故障タイムアウト状態を表し前記第9の有効機能符号語からの第9の最小ハミング距離によって特徴づけられる第9の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、前記第1の時間量内に前記入力レジスタで前記第4の安全メッセージを検出したことに応答して、前記第9の有効機能符号語を第5のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のコントローラで、前記第2の有効機能符号語および前記第4の有効機能符号語を含む前記第1の安全メッセージを出力することは、前記第5のメモリの内容と前記第9の有効機能符号語との間の一致を検出したことにさらに応答する、請求項24に記載の方法。
【請求項27】
前記安全モジュール内の第2のコントローラで、
前記第2のコントローラ内のサブシステムの第2のセットのうちの第2のサブシステムの機能状態を表す第5の有効機能符号語と、
前記第2のサブシステムの故障状態を表し前記第5の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記第2のコントローラの機能状態を表す第6の有効機能符号語と、
前記第2のコントローラの故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と、
前記システムに結合された第2の入力の機能状態を表す第7の有効機能符号語と、
前記第2の入力の故障状態を表し前記第7の有効機能符号語からの第7の最小ハミング距離によって特徴づけられる第7の有効故障符号語と、
前記システムの機能状態を表す第8の有効機能符号語と、
前記システムの故障状態を表し前記第8の有効機能符号語からの第8の最小ハミング距離によって特徴づけられる第8の有効故障符号語と、
前記第1のコントローラの機能タイムアウト状態を表す第9の有効機能符号語と、
前記第1のコントローラの故障タイムアウト状態を表し前記第9の有効機能符号語からの第9の最小ハミング距離によって特徴づけられる第9の有効故障符号語と
を含む有効符号語の第2のセットを記憶することと、
前記第1の期間中に、前記第2のコントローラで、
前記第2のサブシステムの機能動作を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第2の入力の機能動作を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
前記第1のコントローラに結合された入力レジスタに問い合わせることと、
第1の時間量内における前記入力レジスタでの第3の安全メッセージの不受信を検出したことに応答して、前記第9の有効故障符号語を第5のメモリに記憶することと、
前記第2の期間中に、前記第2のコントローラで、前記第5のメモリの内容と前記第9の有効故障符号語との間の一致を検出したことに応答して、前記第8の有効故障符号語を含む第4の安全メッセージを出力することと
をさらに含む、請求項21に記載の方法。
【請求項28】
前記第1のコントローラで、
前記第1のコントローラ内の前記サブシステムの第1のセットのうちの第2のサブシステムの機能状態を表し前記第1の有効機能符号語からの4の最小ハミング距離によって特徴づけられる第5の有効機能符号語と、
前記第2のサブシステムの故障状態を表し前記第1の有効故障符号語からの4の最小ハミング距離および前記第5の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第5の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、前記第2のサブシステムの機能動作を検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のプロセッサで、前記第2の有効機能符号語および前記第4の有効機能符号語を含む前記第1の安全メッセージを出力することは、前記第3のメモリの内容が前記第5の有効機能符号語と一致することを検出したことにさらに応答する、請求項21に記載の方法。
【請求項29】
前記第1の有効機能符号語および前記第1の有効故障符号語は、2バイトの長さを各々示し、
前記第2の有効機能符号語、前記第2の有効故障符号語、前記第3の有効機能符号語、前記第3の有効故障符号語、前記第4の有効機能符号語、および前記第4の有効故障符号語は、1バイトの長さを各々示し、
前記第1の最小ハミング距離は8であり、
前記第2の最小ハミング距離は4であり、
前記第3の最小ハミング距離は4であり、
前記第4の最小ハミング距離は4である、請求項21に記載の方法。
【請求項30】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、
前記第1の有効機能符号語として「1101111011101101」のビットパターンを記憶することと、
前記第1の有効故障符号語として「1000001000101000」のビットパターンを記憶することと
を含む、請求項21に記載の方法。
【請求項31】
システムに結合された安全モジュール内の第1のコントローラで、
前記第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、
前記第1のサブシステムの故障状態を表し前記第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、
前記第1のコントローラの機能状態を表す第2の有効機能符号語と、
前記第1のコントローラの故障状態を表し前記第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、
前記システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、
前記第1の入力の故障状態を表し前記第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、
前記安全モジュール内の第2のコントローラの機能状態を表す第4の有効機能符号語と、
前記第2のコントローラの故障状態を表し前記第4の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第4の有効故障符号語と、
前記第2のコントローラの機能タイムアウト状態を表す第5の有効機能符号語と、
前記第2のコントローラの故障タイムアウト状態を表し前記第4の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、
前記システムの機能状態を表す第6の有効機能符号語と、
前記システムの故障状態を表し前記第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語と
を含む有効符号語の第1のセットを記憶することと、
第1の期間中に、前記第1のコントローラで、
前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を第2のメモリに記憶することと、
前記第2のコントローラに結合された入力レジスタに問い合わせることと、
前記入力レジスタで、前記第2のコントローラからの前記第4の有効機能符号語を含む第1の安全メッセージを検出することと、
第1の時間量内に前記入力レジスタで前記第1の安全メッセージを検出したことに応答して、前記第5の有効機能符号語を第3のメモリに記憶することと、
前記第1の期間の後の第2の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、および前記第1の入力の機能動作を検出したことに応答して、前記第2の有効機能符号語および前記第6の有効機能符号語を含む第2の安全メッセージを出力することと、
前記第2の期間の後の第3の期間中に、前記第1のコントローラで、
前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を前記第1のメモリに記憶することと、
前記第1の入力の機能動作を検出したことに応答して、前記第3の有効機能符号語を前記第2のメモリに記憶することと、
前記入力レジスタに問い合わせることと、
第2の時間量内における前記入力レジスタでの前記第3の安全メッセージの不受信を検出したことに応答して、前記第5の有効故障符号語を第3のメモリに記憶することと、
前記第3の期間の後の第4の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、および前記第3のメモリの内容と前記第5の有効故障符号語との間の一致を検出したことに応答して、前記第2の有効機能符号語および前記第6の有効故障符号語を含む第4の安全メッセージを出力することと
を含む、方法。
【請求項32】
前記第2の期間の後で前記第3の期間の前の第5の期間中に、前記第1のコントローラで、
前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を前記第1のメモリに記憶することと、
前記第2のコントローラに結合された前記入力レジスタに問い合わせることと、
第3の時間量内に前記入力レジスタで前記第2のコントローラからの第5の安全メッセージを検出したことに応答して、前記第5の有効機能符号語を前記第3のメモリに記憶することと、
前記第5の期間の後で前記第3の期間の前の第6の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、および前記第3のメモリの内容と前記有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第2の有効機能符号語および前記第6の有効故障符号語を含む第6の安全メッセージを出力することと
をさらに含む、請求項31に記載の方法。
【請求項33】
前記第1のコントローラで、
前記システムに結合された第2の安全モジュール内の第3のコントローラの機能タイムアウト状態を表す第7の有効機能符号語と、
前記第3のコントローラの故障タイムアウト状態を表し前記第7の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第7の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、第3の時間量内における前記第3のコントローラからの第5の安全メッセージの受信を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
前記第2の期間中に、前記第1のコントローラで、前記第4のメモリの内容と前記第7の有効機能符号語との間の一致を検出したことにさらに応答して、前記第2の有効機能符号語および前記第6の有効機能符号語を含む前記第2の安全メッセージを出力することと
をさらに含む、請求項31に記載の方法。
【請求項34】
前記第1のコントローラで、
前記システムに結合された第2の安全モジュール内の第3のコントローラの機能タイムアウト状態を表す第7の有効機能符号語と、
前記第3のコントローラの故障タイムアウト状態を表し前記第7の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第7の有効故障符号語と、
前記システムに結合された第3の安全モジュール内の第4のコントローラの機能タイムアウト状態を表し前記第7の有効機能符号語からの4の最小ハミング距離によって特徴づけられる第8の有効機能符号語と、
前記第4のコントローラの故障タイムアウト状態を表し前記第7の有効故障符号語からの4の最小ハミング距離および前記第8の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第8の有効故障符号語と、
前記第3のコントローラおよび前記第4のコントローラを含む被監視コントローラのセットの機能タイムアウト状態を表す第9の有効機能符号語と、
前記被監視コントローラのセットの故障タイムアウト状態を表し前記第9の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第9の有効故障符号語と
をさらに含む前記有効符号語の第1のセットを記憶することと、
前記第1の期間中に、前記第1のコントローラで、
第3の時間量内における前記第3のコントローラからの第5の安全メッセージの受信を検出したことに応答して、前記第7の有効機能符号語を第4のメモリに記憶することと、
第4の時間量内における前記第4のコントローラからの第6の安全メッセージの不受信を検出したことに応答して、前記第8の有効故障符号語を第5のメモリに記憶することと
をさらに含み、
前記第2の期間中に、前記第1のコントローラで、前記第2の安全メッセージを出力することは、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、前記第3のメモリの内容と前記第5の有効機能符号語との間の一致を検出したことに応答して、前記第1の入力の機能動作を検出したことに応答して、前記第4のメモリの内容と前記第7の有効機能符号語との間の一致を検出したことに応答して、および前記第5のメモリと前記第8の有効故障符号語との間の一致を検出したことに応答して、前記第2の有効機能符号語、前記第6の有効機能符号語、および前記第9の有効故障符号語を含む前記第2の安全メッセージを出力することを含む、請求項31に記載の方法。
【請求項35】
前記第1の有効機能符号語は、上位バイトおよび下位バイトを含み、
前記上位バイトおよび前記下位バイトは互いに逆のニブル値である、請求項31に記載の方法。
【請求項36】
前記第1の有効機能符号語は、前記第2の有効機能符号語からの4のハミング距離および前記第2の有効故障符号語からの4のハミング距離によって特徴づけられ、
前記第1の有効故障符号語は、前記第2の有効機能符号語からの4のハミング距離、前記第2の有効故障符号語からの4のハミング距離、および前記第1の有効機能符号語からの8のハミング距離によって特徴づけられる、請求項31に記載の方法。
【請求項37】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、前記第2の有効機能符号語からの4の最小ハミング距離によって特徴づけられる前記第2の有効故障符号語を記憶することを含む、請求項31に記載の方法。
【請求項38】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、
前記第1のコントローラ内の算術論理演算装置の機能状態を表す前記第1の有効機能符号語を記憶することと、
前記算術論理演算装置の故障状態を表し前記第1の有効機能符号語からの8の最小ハミング距離によって特徴づけられる前記第1の有効故障符号語を記憶することと、
前記第1のコントローラ内のフラッシュメモリの機能状態を表し前記第1の有効機能符号語からの4の最小ハミング距離および前記第1の有効故障符号語からの4の最小ハミング距離によって特徴づけられる第7の有効機能符号語を記憶することと、
前記フラッシュメモリの故障状態を表し前記第1の有効機能符号語からの4の最小ハミング距離、前記第1の有効故障符号語からの4の最小ハミング距離、および前記第7の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第7の有効故障符号語を記憶することと、
前記第1のコントローラ内のスタックオーバーフロー安全メカニズムの機能状態を表し前記第1の有効機能符号語からの4の最小ハミング距離および前記第7の有効機能符号語からの4の最小ハミング距離によって特徴づけられる第8の有効機能符号語を記憶することと、
前記スタックオーバーフロー安全メカニズムの故障状態を表し前記第1の有効故障符号語からの4の最小ハミング距離、前記第7の有効故障符号語からの4の最小ハミング距離、および前記第8の有効機能符号語からの8の最小ハミング距離によって特徴づけられる第8の有効故障符号語を記憶することと
を含む、請求項31に記載の方法。
【請求項39】
前記第1のコントローラで、前記有効符号語の第1のセットを記憶することは、
前記第1の有効機能符号語として「1101111011101101」のビットパターンを記憶することと、
前記第1の有効故障符号語として「1000001000101000」のビットパターンを記憶することと、
前記第7の有効機能符号語として「1110110111011110」のビットパターンを記憶することと、
前記第7の有効故障符号語として「0010100010000010」のビットパターンを記憶することと、
前記第8の有効機能符号語として「1110101110111110」のビットパターンを記憶することと、
前記第8の有効故障符号語として「1101011101111101」のビットパターンを記憶することと
を含む、請求項38に記載の方法。
【請求項40】
システムに結合された安全モジュール内の第1のコントローラで、
前記第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、
前記第1のサブシステムの故障状態を表し前記第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、
前記第1のコントローラの機能状態を表す第2の有効機能符号語と、
前記第1のコントローラの故障状態を表し前記第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と
を含む有効符号語の第1のセットを記憶することと、
第1の期間中に、前記第1のコントローラで、前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を第1のメモリに記憶することと、
前記第1の期間の後の第2の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記第1の有効機能符号語との間の一致を検出したことに応答して、前記第2の有効機能符号語を含む第1の安全メッセージを出力することと、
前記第2の期間の後の第3の期間中に、前記第1のコントローラで、前記第1のサブシステムの機能動作を検出したことに応答して、前記第1の有効機能符号語を前記第1のメモリに記憶することと、
前記第3の期間の後の第4の期間中に、前記第1のコントローラで、前記第1のメモリの内容と前記有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、前記第2の有効故障符号語を含む第2の安全メッセージを出力することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年7月1日に出願された米国仮出願第63/217,674号、2021年7月1日に出願された米国仮出願第63/217,682号、および2021年7月1日に出願された米国仮出願第63/217,684号の利益を主張し、それらの各々が全体として参照により援用される。
【0002】
本出願は、2021年3月4日に出願された米国特許出願第17/192,657号および2021年5月27日に出願された米国特許出願第17/332,635号に関連し、それらは全体として参照により援用される。
【0003】
本発明は、一般に機能安全の分野に関し、より詳細には、機能安全の分野において機能安全システムにおける符号化された診断のための新規で有用な方法に関する。
【図面の簡単な説明】
【0004】
【
図4】
図4は、方法の一変形例による例示的テーブルである。
【
図6】
図6は、方法の一変形例による例示的テーブルである。
【発明を実施するための形態】
【0005】
本発明の実施形態の下記の説明は、これらの実施形態に本発明を限定することを意図するものではなく、むしろ当業者が本発明を実施および使用することを可能にすることを意図している。本明細書に記載される変形例、構成、実装形態、例示的実装形態、および実施例は任意選択的であり、それらが記載する変形例、構成、実装形態、例示的実装形態、および実施例に限られない。本明細書に記載される発明は、これらの変形例、構成、実装形態、例示的実装形態、および実施例の任意のすべての置換を含み得る。
【0006】
1.方法
図1、
図2A、および
図2Bに示されるように、方法S100は、システムに結合された安全モジュール内の第1のコントローラで、ブロックS110で、有効符号語の第1のセットを記憶することを含み、有効符号語の第1のセットは、第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、第1のサブシステムの故障状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、第1のコントローラの機能状態を表す第2の有効機能符号語と、第1のコントローラの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、第1の入力の故障状態を表し第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、システムの機能状態を表す第4の有効機能符号語と、システムの故障状態を表し第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語とを含む。
【0007】
方法は、第1の期間中に、第1のコントローラで、ブロックS120で、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することとをさらに含む。
【0008】
方法は、第1の期間の後の第2の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および第1の入力の機能動作を検出したことに応答して、第2の有効機能符号語および第4の有効機能符号語を含む第1の安全メッセージを出力することをさらに含む。
【0009】
方法は、第2の期間の後の第3の期間中に、第1のコントローラで、ブロックS120で、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することとをさらに含む。
【0010】
方法は、第3の期間の後の第4の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第2の有効故障符号語および第4の有効故障符号語を含む第2の安全メッセージを出力することをさらに含む。
【0011】
1.1 コントローラインフラストラクチャ診断および安全モジュールタイムアウト
図1、
図2A、および
図2Bに示されるように、方法S100の一変形例は、システムに結合された安全モジュール内の第1のコントローラで、ブロックS110で、有効符号語の第1のセットを記憶することを含み、有効符号語の第1のセットは、第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、第1のサブシステムの故障状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、第1のコントローラの機能状態を表す第2の有効機能符号語と、第1のコントローラの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、第1の入力の故障状態を表し第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、安全モジュール内の第2のコントローラの機能状態を表す第4の有効機能符号語と、第2のコントローラの故障状態を表し第4の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第4の有効故障符号語と、第2のコントローラの機能タイムアウト状態を表す第5の有効機能符号語と、第2のコントローラの故障タイムアウト状態を表し第4の有効機能符号語からの第5の最小ハミング距離によって特徴づけられる第5の有効故障符号語と、システムの機能状態を表す第6の有効機能符号語と、システムの故障状態を表し第6の有効機能符号語からの第6の最小ハミング距離によって特徴づけられる第6の有効故障符号語とを含む。
【0012】
方法S100のこの変形例は、第1の期間中に、第1のコントローラで、ブロックS120で、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することと、ブロックS140で、第2のコントローラに結合された入力レジスタに問い合わせることと、ブロックS142で、入力レジスタで、第2のコントローラからの第4の有効機能符号語を含む第1の安全メッセージを検出することと、ブロックS124で、第1の時間量内に入力レジスタで第1の安全メッセージを検出したことに応答して、第5の有効機能符号語を第3のメモリに記憶することとをさらに含む。
【0013】
方法S100のこの変形例は、第1の期間の後の第2の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第3のメモリの内容と第5の有効機能符号語との間の一致を検出したことに応答して、および第1の入力の機能動作を検出したことに応答して、第2の有効機能符号語および第6の有効機能符号語を含む第2の安全メッセージを出力することをさらに含む。
【0014】
方法S100のこの変形例は、第2の期間の後の第3の期間中に、第1のコントローラで、ブロックS120で、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することと、ブロックS140で、入力レジスタに問い合わせることと、ブロックS124で、第2の時間量内における入力レジスタでの第3の安全メッセージの不受信を検出したことに応答して、第5の有効故障符号語を第3のメモリに記憶することとをさらに含む。
【0015】
方法S100のこの変形例は、第3の期間の後の第4の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および第3のメモリの内容と第5の有効故障符号語との間の一致を検出したことに応答して、第2の有効機能符号語および第6の有効故障符号語を含む第4の安全メッセージを出力することをさらに含む。
【0016】
1.2 コントローラインフラストラクチャ診断
図1、
図2A、および
図2Bに示されるように、方法S100の別の変形例は、システムに結合された安全モジュール内の第1のコントローラで、ブロックS110で、有効符号語の第1のセットを記憶することを含み、有効符号語の第1のセットは、第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、第1のサブシステムの故障状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、第1のコントローラの機能状態を表す第2の有効機能符号語と、第1のコントローラの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語とを含む。
【0017】
方法S100のこの変形例は、第1の期間中に、第1のコントローラで、ブロックS120で、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することをさらに含む。
【0018】
方法S100のこの変形例は、第1の期間の後の第2の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第2の有効機能符号語を含む第1の安全メッセージを出力することをさらに含む。
【0019】
方法S100のこの変形例は、第2の期間の後の第3の期間中に、第1のコントローラで、ブロックS120で、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することをさらに含む。
【0020】
方法S100のこの変形例は、第3の期間の後の第4の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第2の有効故障符号語を含む第2の安全メッセージを出力することをさらに含む。
【0021】
1.3 安全モジュールタイムアウト
図1、
図2A、および
図2Bに示されるように、方法S100の別の変形例は、システムに結合された第1の安全モジュール内の第1のコントローラで、ブロックS110で、有効符号語の第1のセットを記憶することを含み、有効符号語の第1のセットは、第1の安全モジュール内の第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、第2のコントローラの故障タイムアウト状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、第2のコントローラの機能状態を表す第2の有効機能符号語と、第2のコントローラの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、第1の入力の故障状態を表し第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、システムの機能状態を表す第4の有効機能符号語と、システムの故障状態を表し第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語とを含む。
【0022】
方法S100のこの変形例は、第1の期間中に、第1のコントローラで、ブロックS140で、第2のコントローラに結合された第1の入力レジスタに問い合わせることと、ブロックS142で、第1の入力レジスタで、第2のコントローラからの第2の有効機能符号語を含む第1の安全メッセージを検出することと、ブロックS124で、第1の時間量内に第1の入力レジスタで第1の安全メッセージを検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することとをさらに含む。
【0023】
方法S100のこの変形例は、第1の期間の後の第2の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および第1の入力の機能動作を検出したことに応答して、第4の有効機能符号語を含む第2の安全メッセージを出力することをさらに含む。
【0024】
方法S100のこの変形例は、第2の期間の後の第3の期間中に、第1のコントローラで、ブロックS140で、第1の入力レジスタに問い合わせることと、ブロックS142で、第1の入力レジスタで、第2のコントローラからの第2の有効機能符号語を含む第3の安全メッセージを検出することと、ブロックS124で、第2の時間量内に第1の入力レジスタで第3の安全メッセージを検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することとをさらに含む。
【0025】
方法S100のこの変形例は、第3の期間の後の第4の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第4の有効故障符号語を含む第4の安全メッセージを出力することをさらに含む。
【0026】
1.4 外部入力による安全コントローラタイムアウト
図1、
図2A、および
図2Bに示されるように、方法S100の別の変形例は、システムに結合された第1の安全モジュール内の第1のコントローラで、ブロックS110で、有効符号語の第1のセットを記憶することを含み、有効符号語の第1のセットは、システム内の第2の安全モジュール内の第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、第2のコントローラの故障タイムアウト状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、第2のコントローラの機能状態を表す第2の有効機能符号語と、第2のコントローラの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、第1の入力の故障状態を表し第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、システムの機能状態を表す第4の有効機能符号語と、システムの故障状態を表し第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語とを含む。
【0027】
方法S100のこの変形例は、第1の期間中に、第1のコントローラで、ブロックS126で、第1の時間量内に第2のコントローラからの第2の有効機能符号語を含む第1の安全メッセージを検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することとをさらに含む。
【0028】
方法S100のこの変形例は、第1の期間の後の第2の期間中に、第1のコントローラで、ブロックS130で、第1の安全メッセージ内の第2の有効機能符号語を検出したことに応答して、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および第1の入力の機能動作を検出したことに応答して、第4の有効機能符号語を含む第2の安全メッセージを出力することをさらに含む。
【0029】
方法S100のこの変形例は、第2の期間の後の第3の期間中に、第1のコントローラで、ブロックS126で、第2の時間量内における第2のコントローラからの第2の有効機能符号語を含む第3の安全メッセージの受信を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することと、ブロックS122で、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することとをさらに含む。
【0030】
方法S100のこの変形例は、第3の期間の後の第4の期間中に、第1のコントローラで、ブロックS130で、第1のメモリの内容と有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第4の有効故障符号語を含む第4の安全メッセージを出力することをさらに含む。
【0031】
1.5 安全コントローラタイムアウト
図1、
図2A、および
図2Bに示されるように、方法S100の別の変形例は、システム内の第1の安全モジュール内の第1のコントローラで、ブロックS110で、有効符号語のセットを記憶することを含み、有効符号語のセットは、システム内の第2の安全モジュール内の第2のコントローラの機能タイムアウト状態を表す第1の有効機能符号語と、第2のコントローラの故障タイムアウト状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、システムの機能状態を表す第2の有効機能符号語と、システムの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語とを含む。
【0032】
方法S100のこの変形例は、第1の期間中に、第1のコントローラで、ブロックS126で、第1の時間量内における第2のコントローラからの第1の安全メッセージの受信を検出したことに応答して、第1の有効機能符号語をメモリに記憶することをさらに含む。
【0033】
方法S100のこの変形例は、第1の期間の後の第2の期間中に、第1のコントローラで、ブロックS130で、メモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第2の有効機能符号語を含む第2の安全メッセージを出力することをさらに含む。
【0034】
方法S100のこの変形例は、第2の期間の後の第3の期間中に、第1のコントローラで、ブロックS126で、第2の時間量内における第2のコントローラからの第3の安全メッセージの受信を検出したことに応答して、第1の有効機能符号語をメモリに記憶することをさらに含む。
【0035】
方法S100のこの変形例は、第3の期間の後の第4の期間中に、第1のコントローラで、ブロックS130で、メモリの内容と有効符号語のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第2の有効故障符号語を含む第4の安全メッセージを出力することをさらに含む。
【0036】
2.応用
一般に、方法S100は、安全モジュールのさまざまなコンポーネント(例えば、コアインフラストラクチャサブシステム、入力、データ通信)に対する状態情報(例えば、機能、故障)を表し他の有効符号語からの最小ハミング距離によって特徴づけられる有効符号語のセットを記憶し、監視期間中のコアインフラストラクチャサブシステム、入力、および/またはデータ通信の検出された状態に基づいてメモリに符号語を記憶し、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)評価期間中の検出された状態、に基づいて安全メッセージを出力するために、システムによって実行され得る。
【0037】
特に、方法S100は、メモリに記憶された状態情報のビットフリップまたはソフトウェア上書きのインスタンスを軽減するための符号化方式において他の符号語からのある最小ハミング距離を示す固有の符号語として状態情報を符号化するために、安全モジュールによって実行され得る。例えば、意図しないビットフリップまたはソフトウェア上書きのインスタンスは、時間とともに、および、バグ、メモリの不足、悪意の攻撃、誤ったアルゴリズム設計、不良なメモリ、ビットラインエラー、またはメモリのアルファ粒子照射などによる予測不能なモードを通じて起こり得る。したがって、安全モジュールは、メモリに記憶された符号化された状態情報(例えば、符号語)と符号化方式(例えば、有効符号語)との間の不一致を検出し、これは符号化された状態情報が上書きされていることを示し、これに応じて故障、警告、および/または故障回復プロセスを選択的に実行するために、本方法のブロックを実行することができる。
【0038】
一例では、安全モジュールは、安全モジュール内のコントローラの個別のサブシステムの機能状態、安全モジュールによって監視される外部入力の機能状態、および/またはデータ通信に対する機能状態を表し他の有効符号語からの最小ハミング距離によって特徴づけられる有効符号語を記憶するために、方法S100のブロックを実行する。安全モジュールはまた、個別のサブシステム、外部入力、および/またはデータ通信の機能状態を検出し、対応する符号語をメモリに記憶するために、方法S100のブロックを実行する。その場合、安全モジュールは、記憶された符号語と有効符号語との間の一致を検出し、この一致を検出したことに応答して機能状態を示す安全メッセージを出力するために、方法S100のブロックを実行する。したがって、干渉を受けやすい環境に実装される場合、安全モジュールは、低い誤り率を示す安全メッセージを出力することができ、機能安全規格を満たすことができる。
【0039】
代替的に、この例では、安全モジュールが記憶された符号語と有効符号語との間の不一致を検出した場合、安全モジュールは、故障状態を示す安全メッセージを出力することができる。したがって、安全モジュールは、各サブシステムの状態を、記憶された符号語と、これらのサブシステムの機能状態を符号化する有効符号語との整合に基づいて検証するので、安全モジュールは、記憶された符号語と有効符号語との間の差に基づいて故障を検出し、故障を検出したことに応答して機能メッセージの代わりに故障メッセージを送信することができ、それにより、安全モジュールの機能がこうして確認不可能な場合に故障条件によるセーフモードに入るようにシステムをトリガする。
【0040】
別の例では、安全モジュールは、安全モジュール内のコントローラ内の個別のサブシステムの状態(例えば、機能状態、故障状態)、安全モジュールによって監視される外部入力の状態、および/またはデータ通信に対する状態を表し他の有効符号語からの最小ハミング距離によって特徴づけられる有効符号語を記憶するために、方法S100のブロックを実行する。安全モジュールはまた、個別のサブシステム、外部入力、および/またはデータ通信の機能状態を検出し、検出された状態に対応する符号語をメモリに記憶するために、方法S100のブロックを実行する。その場合、安全モジュールは、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)検出された状態、に基づいて、コントローラ、入力、および/またはデータ通信の全体的な状態(例えば、機能状態、故障状態)を表す符号語を含む安全メッセージを出力するために、方法S100のブロックを実行する。したがって、安全モジュールが多数のノード(例えば、入力、機械など)との連続的な通信を必要とするシステムに実装される場合、安全モジュールは、ノードのサブグループからのメッセージトラフィックを管理し、サブグループの全体的な状態を示すメッセージを送信することができ、それにより、大きなネットワークにおいて通信を合理化し、機能安全規格を維持する。
【0041】
本明細書に記載される方法S100は、8ビットおよび16ビットの符号語を実装するために、コントローラ(例えば、90ナノメートルチップ製造技術に従って製造されるマイクロコントローラ)のペアおよびアプリケーションプロセッサを含む安全モジュールによって実行される。しかし、外部ロジックに接続された、および/または任意の他の作製技術によって製造された追加的な、またはより少ないコントローラを含む安全モジュールが、安全モジュールのさまざまなコンポーネント(例えば、コアインフラストラクチャサブシステム、入力、データ通信)に対する状態情報(例えば、機能、故障)を表し他の符号語からの最小ハミング距離によって特徴づけられる有効符号語のセットを記憶し、監視期間中にコアインフラストラクチャサブシステム、入力、および/またはデータ通信の検出された状態に基づいてメモリに符号語を記憶し、評価期間中に、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)検出された状態、に基づいて安全メッセージを出力するために、方法S100のブロックを同様に実行することができる。
【0042】
さらに、本明細書に記載される方法S100は、所定の最小ハミング距離(例えば、「8」または「4」の最小ハミング距離)によって分離された8ビットおよび16ビットの符号語を実装するために、コントローラのペアおよびアプリケーションプロセッサを含む安全モジュールによって実行される。しかし、互いからより大きい、またはより小さい最小ハミング距離によって分離されたより長い、またはより短い符号語を実装する安全モジュールが、安全モジュールのさまざまなコンポーネント(例えば、コアインフラストラクチャサブシステム、入力、データ通信)に対する状態情報(例えば、機能、故障)を表し他の符号語からの最小ハミング距離によって特徴づけられる有効符号語のセットを記憶し、監視期間中にコアインフラストラクチャサブシステム、入力、および/またはデータ通信の検出された状態に基づいてメモリに符号語を記憶し、評価期間中に、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)検出された状態、に基づいて安全メッセージを出力するために、方法S100のブロックを同様に実行することができる。
【0043】
3.システム
一般に、安全モジュールは、第1のコントローラ、第2のコントローラ、アプリケーションプロセッサ、および通信バスを含む。通信バスは、第1のコントローラと第2のコントローラとの間の双方向通信、第1のコントローラとアプリケーションプロセッサとの間の双方向通信、および第2のコントローラとアプリケーションプロセッサとの間の双方向通信をサポートする。
【0044】
特に、第1のコントローラは、有効符号語の第1のセットを記憶し、検出された状態に対応する符号語をメモリに記憶し、メモリに記憶された符号語と有効符号語のセットとの間の一致を検出したことに応答して、検出された状態に基づいて状態(例えば、機能状態、故障状態)を表す符号語を含む安全メッセージを出力するために、方法S100のブロックを実行する。第1のコントローラはまた、メモリに記憶された符号語と有効符号語のセットとの間の不一致を検出したことに応答して、故障状態を表す符号語を含む安全メッセージを出力するために、方法S100のブロックを実行する。
【0045】
同様に、第2のコントローラは、有効符号語の第2のセットを記憶し、検出された状態に対応する符号語をメモリに記憶し、メモリに記憶された符号語と有効符号語のセットとの間の一致を検出したことに応答して、検出された状態に基づいて状態(例えば、機能状態、故障状態)を表す符号語を含む安全メッセージを出力するために、方法S100のブロックを実行する。第2のコントローラはまた、メモリに記憶された符号語と有効符号語のセットとの間の不一致を検出したことに応答して、故障状態を表す符号語を含む安全メッセージを出力するために、方法S100のブロックを実行する。
【0046】
さらに、アプリケーションプロセッサは、第1のコントローラとの間で安全メッセージを送受信し、第2のコントローラとの間で安全メッセージを送受信し、他の安全モジュールとの間で安全メッセージを送受信するために、方法S100のブロックを実行する。
【0047】
3.1 第1のコントローラ
一実装形態では、第1のコントローラは、算術論理演算装置(以下「ALU」)、揮発性メモリ(例えば、ランダムアクセスメモリまたは「RAM」)、および不揮発性メモリ(例えば、フラッシュメモリ)を含む。ALUは、第1のコントローラによって実行されるコンピュータ命令に基づいて算術および論理演算を実行する。RAMは、計算を実行するためにストレージから取得されたデータを一時的に記憶する。フラッシュメモリは、第1のコントローラにプログラムされるデータおよび命令を記憶する。第1のコントローラは、入出力インタフェース、内部バス、および内部発振器をさらに含むことができる。第1のコントローラは、より少ない、または追加的なコンポーネントを含んでもよい。
【0048】
一変形例では、第1のコントローラは、プログラムフローモニタ安全メカニズム、スタックアンダーフロー安全モニタ、およびスタックオーバーフロー安全モニタをさらに含む。
【0049】
一般に、プログラムフローモニタ安全メカニズムは、第1のコントローラによって実行されているソフトウェア命令の順序または他のフローにおけるエラーを検出する。一実装形態では、プログラムフローモニタ安全メカニズムは、このようなエラーが検出されたときに故障動作を示す。
【0050】
一般に、スタックオーバーフロー安全メカニズムは、第1のコントローラによって実行されているソフトウェアプログラムがコールスタック上で利用可能であるよりも多くの空間を使用しようとしたことを検出する。一実装形態では、スタックオーバーフロー安全メカニズムは、スタックオーバーフローが検出されたときに故障動作を示す。
【0051】
一般に、スタックアンダーフロー安全メカニズムは、コントローラによって実行されているソフトウェアプログラムがメモリ内の空スタックから項目を取り出そうとしたことを検出する。一実装形態では、スタックアンダーフロー安全メカニズムは、スタックアンダーフローが検出されたときに故障動作を示す。
【0052】
一実装形態では、第1のコントローラは、安全モジュールの外部の安全センサ(例えば、非常停止ボタン、断線センサ)に接続するように構成された入力を含む。
【0053】
一実装形態では、第1のコントローラは、第2のコントローラの出力に結合された入力を含む。例えば、第1のコントローラは、第2のコントローラの出力に結合された入力レジスタを含むことができる。
【0054】
3.1.1 第1のコントローラ:ロジック
一般に、第1のコントローラは、第1のコントローラ内のサブシステムのセットと、安全センサに接続するように構成された入力と、第2のコントローラに結合された入力との状態を検出するように構成されたロジック(例えば、ハードウェアおよび/またはファームウェアモジュール、フラッシュメモリに記憶された命令)を含む。例えば、第1のコントローラ内のサブシステムのセットは、ALU、RAM、フラッシュメモリ、プログラムフローモニタ安全メカニズム、スタックオーバーフロー安全メカニズム、および/またはスタックアンダーフロー安全メカニズムを含むことができる。
【0055】
一実装形態では、第1のコントローラは、それによって第1のコントローラがサブシステムのセット内の各サブシステムを個別に監視し、以下で説明するように、これに応じて各サブシステムの動作(例えば、機能動作、故障動作)を検出するロジックを含むことができる。一例では、第1のコントローラは、ALUを監視し、ALUの診断テストに基づいてALUの機能動作を検出することができる。別の例では、第1のコントローラは、スタックオーバーフロー安全メカニズムを監視し、スタックオーバーフローのインスタンスに応答して/基づいてスタックオーバーフロー安全メカニズムの故障動作を検出することができる。
【0056】
別の実装形態では、第1のコントローラは、所与のサブシステムに対して検出されるエラーの不存在時に機能動作を検出し、第1のコントローラは、所与のサブシステムに対して1つまたは複数のエラーが検出されたときに故障動作を検出する。例えば、エラーは、所与のサブシステムの性質、所与のサブシステムに関連づけられた安全規格、および/または所与のサブシステムに適用可能な任意の要因に基づいて規定されてもよい。
【0057】
別の実装形態では、第1のコントローラは、サブシステムの検出された動作に対応するサブシステムの状態を検出する。一例では、第1のコントローラは、ALUの機能動作を検出したことに応答してALUの機能状態を検出する。別の例では、第1のコントローラは、スタックオーバーフロー安全メカニズムの故障動作を検出したことに応答してスタックオーバーフロー安全メカニズムの故障状態を検出する。
【0058】
別の実装形態では、以下で説明するように、第1のコントローラは、安全センサに接続するように構成された入力の状態を第1のコントローラが検出することを可能にするロジックをさらに含む。例えば、第1のコントローラは、入力の機能動作(例えば、非常停止ボタンに結合された入力回路が、構成された動作モードによる正しい電圧/電流範囲内で動作している、など)を検出することができ、その場合、第1のコントローラは、入力の機能動作を検出したことに応答して、入力の機能状態を検出することができる。代替的に、第1のコントローラは、入力の故障動作(例えば、非常停止ボタンに結合された入力回路が、構成された動作モードによる正しい電圧/電流範囲の外側で動作している、内部ハードウェア故障、など)を検出することができ、その場合、第1のコントローラは、入力の故障動作を検出したことに応答して、入力の故障状態を検出することができる。
【0059】
別の実装形態では、以下で説明するように、第1のコントローラは、第1のコントローラが第2のコントローラの状態を検出することを可能にするロジックをさらに含む。一例では、第1のコントローラは、所定の時間量内における第2のコントローラからの安全メッセージの受信を検出したことに応答して、第2のコントローラの機能タイムアウト状態を検出することができる。代替的に、第1のコントローラは、所定の時間量内における第2のコントローラからの安全メッセージの不受信を検出したことに応答して、第2のコントローラの故障タイムアウト状態を検出することができる。別の例では、第1のコントローラは、第2のコントローラからの安全メッセージの内容に基づいて、第2のコントローラの機能状態または故障状態を検出することができる。
【0060】
一変形例では、第1のコントローラは、第2のコントローラおよび/またはアプリケーションプロセッサとの通信故障を検出するために、通信インフラストラクチャ安全メカニズムおよび通信内容安全メカニズムを含む。
【0061】
同様に、別の実装形態では、以下で説明するように、第1のコントローラは、第1のコントローラが他の安全モジュール内の他のコントローラの状態を検出することを可能にするロジックをさらに含む。
【0062】
別の実装形態では、以下で説明するように、第1のコントローラは、第1のコントローラが第2のコントローラの検出された状態を符号化することを可能にするロジックをさらに含む。例えば、第1のコントローラは、メモリ(例えば、フラッシュメモリ、外部メモリ)内の検出された状態に対応する符号語を記憶することができる。
【0063】
別の実装形態では、以下で説明するように、第1のコントローラは、メモリ内容が有効符号語と一致するかどうかを第1のコントローラが検出することを可能にするロジックをさらに含む。例えば、第1のコントローラは、メモリ内容と有効符号語との間の一致を検出することができ、これは、メモリに記憶された符号語が上書きされていないことを示す。代替的に、第1のコントローラは、メモリ内容とあらゆる有効符号語との間の不一致を検出することができ、これは、メモリに記憶された符号語が上書きされていることを示す。
【0064】
別の実装形態では、以下で説明するように、第1のコントローラは、第1のコントローラが安全メッセージを出力することを可能にするロジックをさらに含む。例えば、第1のコントローラは、安全メッセージを組み立て、通信バスを介して第2のコントローラおよび/またはアプリケーションプロセッサに出力することができる。
【0065】
3.2 第2のコントローラ
一実装形態では、第2のコントローラは、第1のコントローラと類似のフォーマットで配置された類似(例えば、同様、同一)のコンポーネントを含み、第1のコントローラから分離し別個である。
【0066】
一例では、第1のコントローラおよび第2のコントローラは、同じ安全センサに接続されるように構成された冗長入力(例えば、非常停止ボタンの2つの冗長出力、2つの冗長な断線センサの出力)を各々含む。第1のコントローラおよび第2のコントローラは、各々の冗長入力を独立に処理し、別個の安全メッセージを生成する。
【0067】
3.3 アプリケーションプロセッサ
一実装形態では、アプリケーションプロセッサは、第1のコントローラおよび第2のコントローラから安全メッセージを受信し、第1のコントローラおよび第2のコントローラからの安全メッセージ内の情報を新規の安全メッセージへと連結し、新規の安全メッセージを(例えば、ネットワークを通じて別の安全モジュールに)出力するように構成される。
【0068】
別の実装形態では、アプリケーションプロセッサは、安全メッセージを(例えば、ネットワークを通じて別の安全モジュールから)受信し、受信された安全メッセージ内の情報を第1のコントローラに対する第1の安全メッセージおよび第2のコントローラに対する第2の安全メッセージに分離し、第1のコントローラに第1の安全メッセージを出力し、第2のコントローラに第2の安全メッセージを出力するようにさらに構成される。
【0069】
別の実装形態では、第1のコントローラおよび第2のコントローラによるアプリケーションプロセッサを通じての通信は、ブラックチャネル設定で実装され、その場合、アプリケーションプロセッサは、そのデータを他の方法で解析または操作することなく、基礎となるコントローラ間で渡される情報を連結/分離する。
【0070】
一変形例では、アプリケーションプロセッサは、第1のコントローラからの第1の安全メッセージおよび第2のコントローラからの第2の安全メッセージを解析し、解析の結果に基づいて新規の安全メッセージを出力するように構成される。一例では、アプリケーションプロセッサは、第1のコントローラからの機能状態を示す第1の安全メッセージと、第2のコントローラからの機能状態を示す第2の安全メッセージとを受信したことに応答して、機能状態を示す安全メッセージを出力することができる。別の例では、アプリケーションプロセッサは、第1のコントローラからの機能状態を示す第1の安全メッセージと、第2のコントローラからの故障状態を示す第2の安全メッセージとを受信したことに応答して、故障状態を示す安全メッセージを出力することができる。
【0071】
4.例1:非常停止ボタン
一般に、安全モジュールは、安全メッセージを送信し、安全メッセージを受信する。1つまたは複数の安全モジュールが、所与の機械内に実装され得る。安全メッセージは、機械(またはそのモジュールもしくはサブコンポーネント)の(例えば、機能、セーフ、故障によるセーフ)を示すことができ、安全メッセージは、セーフ状態が調整され得るまで非セーフアクティビティを防止するために、セーフ状態に入る(例えば、所与のタスクの実行を停止する、燃料供給を解除する、シャットダウンする、リブートする)ように機械に命令することができる。
【0072】
一例では、
図2Aおよび
図2Bに示されるように、システムは、安全モジュールと、安全コントローラとを含む。
【0073】
上記のように、一実装形態では、安全モジュールは、第1のコントローラと、第2のコントローラと、アプリケーションプロセッサと、通信バスとを含む。第1のコントローラは、システム内の非常停止ボタンに結合された第1の入力を含み、第2のコントローラは、非常停止ボタンに結合された第2の入力を含む。
【0074】
一般に、第1のコントローラおよび第2のコントローラは、非常停止ボタンに結合されたそれぞれの入力を独立に処理し、アプリケーションプロセッサにそれぞれの安全メッセージを出力する。特に、第1のコントローラは、第1のコントローラの検出された状態、第1の入力の検出された状態、第2のコントローラの検出された状態、および(例えば、記憶された符号語と有効符号語との間の一致を検出する)検出された状態を表す記憶された符号語の有効性に基づいて(例えば、第1のコントローラ内のサブシステムのセットの検出された状態に基づいて)、第1の安全メッセージを出力することができる。例えば、第1のコントローラは、通信バスを介して第2のコントローラおよび/またはアプリケーションプロセッサに第1の安全メッセージを出力することができる。
【0075】
同様に、第2のコントローラは、第2のコントローラの検出された状態、第2の入力の検出された状態、第1のコントローラの検出された状態、および(例えば、記憶された符号語と有効符号語との間の一致を検出する)検出された状態を表す記憶された符号語の有効性に基づいて(例えば、第2のコントローラ内のサブシステムのセットの検出された状態に基づいて)、第2の安全メッセージを出力することができる。例えば、第2のコントローラは、通信バスを介して第1のコントローラおよび/またはアプリケーションプロセッサに第2の安全メッセージを出力することができる。
【0076】
一実装形態では、安全モジュール内のアプリケーションプロセッサは、第1の安全メッセージおよび第2の安全メッセージを受信し、第1の安全メッセージおよび第2の安全メッセージを連結し、合成された安全メッセージを安全コントローラ内のアプリケーションプロセッサに出力する。例えば、アプリケーションプロセッサは、伝送媒体(例えば、任意のネットワーク、インターネット、WiFi、Bluetooth、LTE)を通じて、合成された安全メッセージを送信することができる。
【0077】
一実装形態では、安全コントローラ内のアプリケーションプロセッサは、安全モジュール内のアプリケーションプロセッサから安全メッセージを受信し、受信された安全メッセージを、安全コントローラ内の第1のコントローラに対する第1の安全メッセージと、安全コントローラ内の第2のコントローラに対する第2の安全メッセージとに分離する。その場合、安全コントローラ内のアプリケーションプロセッサは、通信バスを介して安全コントローラ内の第1のコントローラに第1の安全メッセージを出力し、通信バスを介して安全コントローラ内の第2のコントローラに第2の安全メッセージを出力する。したがって、安全コントローラ内の第1のコントローラは、安全モジュール内の第1のコントローラからの第1の安全メッセージを処理することができ、安全コントローラ内の第2のコントローラは、安全モジュール内の第2のコントローラからの第2の安全メッセージを処理することができる。
【0078】
一例では、安全モジュール内の第1のコントローラおよび第2のコントローラは、故障状態(例えば、非常停止ボタンに結合された入力回路が、構成された動作モードによる正しい電圧/電流範囲の外側で動作している、内部ハードウェア故障、など)を示す第1の入力および第2の入力に基づいて安全メッセージを生成および出力する。安全メッセージは、それぞれの入力の故障状態を表す符号語を含む。安全メッセージは、安全コントローラに渡され、安全コントローラ内の第1のコントローラおよび第2のコントローラによって処理される。安全コントローラ内の第1のコントローラおよび第2のコントローラは、第1の入力および第2の入力(例えば、安全モジュールに結合された非常停止ボタン)の故障状態に関して合意することができる。その場合、安全コントローラ内の第1のコントローラおよび第2のコントローラは、セーフ状態に入ることを機械に命令する安全メッセージを出力することができる。この閾値を満たすために2つのコントローラを実装することのさらなる詳細は、2021年3月4日に出願された米国特許出願第17/192,657号にさらに記載されており、それは全体として参照により援用される。
【0079】
5.例2:ゾーンコントローラ
上の例に対する一変形例では、
図2Aおよび
図2Bに示されるように、システムは、安全モジュールと、安全コントローラと、ゾーンコントローラとを含む。
【0080】
一般に、安全コントローラは、安全モジュールの群から安全メッセージを受信し、安全モジュールの群に安全メッセージを送信するように構成される安全モジュールである。
【0081】
一実装形態では、安全コントローラ110は、安全モジュール120および安全モジュール122から安全メッセージを受信し、安全モジュール120および安全モジュール122に安全メッセージを送信するように構成される。例えば、安全コントローラは、条件(例えば、所与の機械がセーフ状態に入った、複数の機械に影響する所与のコマンドが受信された)の発生後に、安全状態を変更する(例えば、セーフ状態に入る)ように他の機械の所定のセグメントに命令することができる。
【0082】
同様に、安全コントローラ112は、安全コントローラ110を近似する。例えば、安全コントローラ112は、安全モジュール124および安全モジュール126から安全メッセージを受信し、安全モジュール124および安全モジュール126に安全メッセージを送信するように構成される。
【0083】
この例の一変形例では、安全モジュールの群内の安全モジュールの数は、より多いこともより少ないことも可能である。追加的または代替的に、安全モジュールは、安全モジュールの異なる群に動的に割り当てられ得る。
【0084】
一般に、ゾーンコントローラは、安全コントローラおよび/または安全モジュールの群から安全メッセージを受信し、安全コントローラおよび/または安全モジュールの群に安全メッセージを送信するように構成される安全モジュールである。例えば、ゾーンコントローラは、安全メッセージを「ゾーン」にわたって送信することができ、これは施設内の機械の論理的なサブグループ分けであり得る。
【0085】
一実装形態では、ゾーンコントローラ130は、安全コントローラ110および安全コントローラ112から安全メッセージを受信し、安全コントローラ110および安全コントローラ112に安全メッセージを送信するように構成される。追加的または代替的に、ゾーンコントローラ130は、安全モジュール120、122、124、126から安全メッセージを受信し、安全モジュール120、122、124、126に安全メッセージを送信するようにさらに構成される。
【0086】
この例に対する一変形例では、ゾーングループ分けは、任意数のティアに縦続接続してもよく、その場合、ゾーンコントローラは、施設全体のすべての機械に安全メッセージを送信する(例えば、非常施設全域シャットダウン)ように構成され得るさらに別のコントローラと対話し得る。この変形例では、マッピングテーブルまたは他の論理的関連づけが使用されることが可能であり、その場合、条件、コマンドもしくは状態のタイプ、または他のトリガが、条件が満たされる場合にコマンドを受信すべき下流の機械およびコントローラにマッピングされ得る。
【0087】
この例に対するさらに別の変形例では、システム内の各レイヤが、タイムアウト安全システムを実装することができる。例えば、安全モジュール120と安全コントローラ110との間の通信は、例示的な通信レイヤである。さらに、安全コントローラ110とゾーンコントローラ130との間の通信は、別の通信レイヤである。この2レイヤの例では、安全コントローラ110は、安全モジュール120、122のタイムアウト状態を監視し、ゾーンコントローラ130は、安全コントローラ110、112のタイムアウト状態を監視する。一変形例では、
図2Aおよび
図2Bに示されるシステムのいずれかの端部を超えて追加的なレイヤが存在し得る。
【0088】
この例では、受信モジュール(例えば、安全コントローラ、ゾーンコントローラ)は、複数の送信モジュール(例えば、安全モジュール、安全コントローラ)のタイムアウト状態を記憶し、1つまたは複数の送信モジュールが不良なタイムアウト状態を示すときに、安全処置を決定するためにタイムアウト状態を使用する。例えば、群内の単一の送信モジュールのみが故障を示す場合、受信モジュールは、検査のために不良な送信モジュールにフラグを立てることができる。他の場合、閾値数よりも多くの送信モジュールが不良となった場合、受信モジュールは、1つまたは複数の受信モジュールにセーフモードに入るように命令するか、またはさらにはシステムの一部または全体をシャットダウンするなどの、より積極的な措置をとることができる。送信モジュールのタイムアウト状態は、1つまたは複数のモジュールが不良となったときにシステムがとり得る安全アクションおよび処置を決定するために、さらなる解析のために受信モジュールに関連づけられたメモリに記憶される。
【0089】
この例に対するさらに別の変形例では、ゾーンコントローラ130は、1つまたは複数の有効故障符号語を含む安全メッセージを(例えば、安全コントローラ110から)受信し、安全メッセージを復号し、1つまたは複数の有効故障符号語をシステム故障と解釈し、回復モードのための通知を提供する。
【0090】
6.安全メッセージ
一例では、
図3に示されるように、アプリケーションプロセッサは、連結された安全メッセージを送信する。
【0091】
一般に、アプリケーションプロセッサは、第1のコントローラおよび第2のコントローラからの情報を連結する。一実装形態では、「AP Rx M1」は、アプリケーションプロセッサが第1のコントローラから受信した情報を指し、「AP Rx M2」は、アプリケーションプロセッサが第2のコントローラから受信した情報を指す。一変形例では、アプリケーションプロセッサは、追加的な、またはより少ないコントローラからの情報を安全メッセージへと連結することができる。
【0092】
一実装形態では、安全メッセージの最初の2バイト(例えば、「ID0」、「ID1」;「ID0’」、「ID1’」)は、ともにコントローラを一意的に識別するバイトを含む。安全メッセージの第3のバイト(例えば、「M0」、「M1」)は、コントローラの状態(例えば、機能状態、故障状態)を指す。一実装形態では、以下で説明するように、第1のコントローラは、第1のコントローラの状態を検出した後に第3のバイト(「M0」)を生成する。同様に、第2のコントローラは、第2のコントローラの状態を検出した後に第3のバイト(「M1」)を生成する。
【0093】
一実装形態では、第4~第6のバイト(例えば、「I1」、「I2」、「I3」)は、第1のコントローラおよび第2のコントローラによって受信される1つまたは複数の入力(例えば、非常停止ボタン、断線センサ)を指す。一変形例では、バイトの任意の順序が使用され得る。
【0094】
一実装形態では、アプリケーションプロセッサは、第1のコントローラおよび第2のコントローラからの安全メッセージを誤り符号(例えば、巡回冗長検査(CRC)符号)とともに連結する。2つ以上のマイクロコントローラの安全データに1つまたは複数の誤り符号を付加しそれを使用して安全メッセージを復号/確認することに関するさらなる情報は、2021年3月4日に出願された米国特許出願第17/192,657号にも言及して記載されており、それは全体として参照により援用される。
【0095】
一実装形態では、アプリケーションプロセッサは、コントローラのデータを他の情報で増強してもよく、メッセージ全体に対する累積的誤り符号(例えば、累積的CRC)を生成してもよい。
【0096】
一実装形態では、入力デバイスのアプリケーションプロセッサは、安全メッセージが連結された後にそれを受信デバイス(例えば、安全コントローラ)に送信し、受信デバイスは、メッセージを復号する。受信デバイス側では、(例えば、安全コントローラの)アプリケーションプロセッサは、各コントローラからのメッセージを分離する。M0またはM1が故障状態を示す場合、入力I1~I3のすべてが落とされる。機能安全規格を保証しながらメッセージを復号するためのシステムおよび方法は、2021年3月4日に出願された米国特許出願第17/192,657号に言及して記載されており、それは全体として参照により援用される。
【0097】
7.有効符号語を記憶する
方法S100のブロックS110は、有効符号語の第1のセットを記憶することを記載しており、有効符号語の第1のセットは、第1のコントローラ内のサブシステムの第1のセットのうちの第1のサブシステムの機能状態を表す第1の有効機能符号語と、第1のサブシステムの故障状態を表し第1の有効機能符号語からの第1の最小ハミング距離によって特徴づけられる第1の有効故障符号語と、第1のコントローラの機能状態を表す第2の有効機能符号語と、第1のコントローラの故障状態を表し第2の有効機能符号語からの第2の最小ハミング距離によって特徴づけられる第2の有効故障符号語と、システムに結合された第1の入力の機能状態を表す第3の有効機能符号語と、第1の入力の故障状態を表し第3の有効機能符号語からの第3の最小ハミング距離によって特徴づけられる第3の有効故障符号語と、システムの機能状態を表す第4の有効機能符号語と、システムの故障状態を表し第4の有効機能符号語からの第4の最小ハミング距離によって特徴づけられる第4の有効故障符号語とを含む。
【0098】
一般に、ブロックS110で、第1のコントローラは、第1のコントローラ内のサブシステムと、第1のコントローラによって監視される入力と、第1のコントローラに関連するデータ通信との状態を表す有効符号語の第1のセットを記憶する。特に、以下で説明するように、有効符号語は、状態を一意的に表し他の有効符号語からの最小ハミング距離によって特徴づけられるビットパターンである。
【0099】
同様に、ブロックS110で、第2のコントローラは、第2のコントローラ内のサブシステムと、第2のコントローラによって監視される入力と、第2のコントローラに関連するデータ通信との状態を表す有効符号語の第2のセットを記憶する。
【0100】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語の第1のセットを記憶することができる。一変形例では、第1のコントローラは、外部メモリに有効符号語の第1のセットを記憶することができる。さらに別の例では、第1のコントローラは、異なるメモリにわたって有効符号語の第1のセット内の異なる有効符号語を記憶することができる。
【0101】
同様に、一実装形態では、第2のコントローラは、第2のコントローラ内のフラッシュメモリに有効符号語の第2のセットを記憶することができる。一変形例では、第2のコントローラは、外部メモリに有効符号語の第2のセットを記憶することができる。さらに別の例では、第2のコントローラは、異なるメモリにわたって有効符号語の第2のセット内の異なる有効符号語を記憶することができる。
【0102】
一変形例では、第1のコントローラは、第1のコントローラと通信する任意の他のコントローラによって記憶および/または実装されたあらゆる有効符号語を記憶する。同様に、第2のコントローラは、第1のコントローラと通信する任意の他のコントローラによって記憶および/または実装されたあらゆる有効符号語を記憶する。したがって、以下で説明するように、第1のコントローラは、他のコントローラから受信される安全メッセージに含まれる符号語を検証することができる。別の変形例では、第1のコントローラおよび第2のコントローラは、より多数またはより少数の有効符号語を記憶することができる。
【0103】
7.1 有効符号語を記憶する:第1のコントローラサブシステム
一般に、ブロックS110で、第1のコントローラは、第1のコントローラ内のサブシステムのセット内の各サブシステムについて、サブシステムの機能状態を表すそれぞれの有効機能符号語と、サブシステムの故障状態を表すそれぞれの有効故障符号語とを記憶する。一例では、第1のコントローラは、ALUの機能状態を表す有効機能符号語と、ALUの故障状態を表す有効故障符号語とを記憶することができる。別の例では、第1のコントローラは、第1のコントローラ内のフラッシュメモリの機能状態を表す有効機能符号語と、ALUの故障状態を表す有効故障符号語とを記憶することができる。さらに別の例では、第1のコントローラは、スタックオーバーフロー安全メカニズムの機能状態を表す有効機能符号語と、スタックオーバーフロー安全メカニズムの故障状態を表す有効故障符号語とを記憶することができる。
【0104】
一実装形態では、第1のコントローラは、そのサブシステムの状態を表す各有効符号語を、16ビット(例えば、1ワード、2バイト、4ニブル)の長さを示す異なるビットパターンとして記憶する。各16ビットのワードは、上位バイトおよび下位バイトを含む。各バイトは、上位ニブルおよび下位ニブルを含む。
【0105】
一例では、第1のコントローラは、第1のコントローラ内のALUの機能状態を表す有効機能符号語を「13、14、14、13」(2進数で「1101111011101101」として表示される)として記憶することができる。上位バイトの上位ニブルは「13」(2進数で「1101」として表示される)であり、上位バイトの下位ニブルは「14」(2進数で「1110」として表示される)である。同様に、下位バイトの上位ニブルは「14」(2進数で「1110」として表示される)であり、下位バイトの下位ニブルは「13」(2進数で「1101」として表示される)である。上位バイトおよび下位バイトは、互いに逆のニブル値(例えば、「13、14」対「14、13」)を示す。
【0106】
別の例では、第1のコントローラは、第1のコントローラ内のALUの故障状態を表す有効故障符号語を「8、2、2、8」(2進数で「1000001000101000」として表示される)として記憶することができる。上位バイトの上位ニブルは「8」(2進数で「1000」として表示される)であり、上位バイトの下位ニブルは「2」(2進数で「0010」として表示される)である。同様に、下位バイトの上位ニブルは「2」(2進数で「0010」として表示される)であり、下位バイトの下位ニブルは「8」(2進数で「1000」として表示される)である。上位バイトおよび下位バイトは、互いに逆のニブル値(例えば、「8、2」対「2、8」)を示す。
【0107】
一実装形態では、第1のコントローラは、奇数値のみを含む(例えば、あらゆる半バイトが奇数値である)有効符号語を記憶する。一変形例では、第1のコントローラは、偶数値のみを含む(例えば、あらゆる半バイトが偶数値である)有効符号語を記憶する。別の変形例では、第1のコントローラは、有効故障符号語の上位バイトは奇数値のみを使用し、有効故障符号語の下位バイトは偶数値のみを使用し、有効機能符号語の上位バイトは偶数値のみを使用し、有効機能符号語の下位バイトは奇数値のみを使用することによって特徴づけられる有効符号語を記憶する。さらに別の変形例では、第1のコントローラは、有効故障符号語の上位バイトは偶数値のみを使用し、有効故障符号語の下位バイトは奇数値のみを使用し、有効機能符号語の上位バイトは奇数値のみを使用し、有効機能符号語の下位バイトは偶数値のみを使用することによって特徴づけられる有効符号語を記憶する。ここで「奇」および「偶」は、10進数の奇数または偶数の値ではなく、ビット数を記述する。
【0108】
一実装形態では、第1のコントローラは、互いからの8の最小ハミング距離によって相互に特徴づけられる、第1のコントローラ内の所与のサブシステムに対する有効機能符号語と、所与のサブシステムに対する有効故障符号語とを記憶する。上の例では、ALUの機能状態を表す有効機能符号語(例えば、「1101111011101101」)およびALUの故障状態を表す有効故障符号語(例えば、「1000001000101000」)は、互いからの8のハミング距離によって特徴づけられる。一変形例では、第1のコントローラは、互いからの8よりも大きいハミング距離によって相互に特徴づけられる、所与のサブシステムに対する有効機能符号語と、所与のサブシステムに対する有効故障符号語とを記憶することができる。
【0109】
一実装形態では、第1のコントローラは、互いからの4の最小ハミング距離によって相互に特徴づけられる、第1のコントローラ内の所与のサブシステムに対する有効機能符号語と、第1のコントローラ内の異なるサブシステムに対する有効機能符号語とを記憶する。
【0110】
一実装形態では、第1のコントローラは、互いからの4の最小ハミング距離によって相互に特徴づけられる、第1のコントローラ内の所与のサブシステムに対する有効機能符号語と、第1のコントローラ内の異なるサブシステムに対する有効故障符号語とを記憶する。
【0111】
一実装形態では、第1のコントローラは、互いからの4の最小ハミング距離によって相互に特徴づけられる、第1のコントローラ内の所与のサブシステムに対する有効故障符号語と、第1のコントローラ内の異なるサブシステムに対する有効機能符号語とを記憶する。
【0112】
一実装形態では、第1のコントローラは、互いからの4の最小ハミング距離によって相互に特徴づけられる、第1のコントローラ内の所与のサブシステムに対する有効故障符号語と、第1のコントローラ内の異なるサブシステムに対する有効故障符号語とを記憶する。
【0113】
上の例の一変形例では、第1のコントローラは、第1のコントローラ内のフラッシュメモリの機能状態を表す有効機能符号語を「14、13、13、14」(2進数で「1110110111011110」として表示される)として、および第1のコントローラ内のフラッシュメモリの機能状態を表す有効故障符号語を「2、8、8、2」(2進数で「0010100010000010」として表示される)としてさらに記憶することができる。
【0114】
上の例では、ALUの機能状態を表す有効機能符号語(例えば、「1101111011101101」)およびフラッシュメモリの機能状態を表す有効機能符号語(例えば、「1110110111011110」)は、互いからの4の最小ハミング距離(例えば、この場合には8のハミング距離)によって特徴づけられる。
【0115】
上の例では、ALUの機能状態を表す有効機能符号語(例えば、「1101111011101101」)およびフラッシュメモリの故障状態を表す有効故障符号語(例えば、「0010100010000010」)は、互いからの4の最小ハミング距離(例えば、この場合には8のハミング距離)によって特徴づけられる。
【0116】
上の例では、ALUの故障状態を表す有効故障符号語(例えば、「1000001000101000」)およびフラッシュメモリの機能状態を表す有効機能符号語(例えば、「1110110111011110」)は、互いからの4の最小ハミング距離(例えば、この場合には12のハミング距離)によって特徴づけられる。
【0117】
上の例では、ALUの故障状態を表す有効故障符号語(例えば、「1000001000101000」)およびフラッシュメモリの故障状態を表す有効故障符号語(例えば、「0010100010000010」)は、互いからの4の最小ハミング距離(例えば、この場合には8のハミング距離)によって特徴づけられる。
【0118】
したがって、第1のコントローラは、ビットフリップまたはソフトウェア上書きの発生を検出するために、十分に大きい最小ハミング距離によって特徴づけられる有効符号語を記憶することができる。
【0119】
7.2 有効符号語を記憶する:第2のコントローラサブシステム
一般に、ブロックS110で、第2のコントローラは、第2のコントローラ内のサブシステムのセット内の各サブシステムについて、サブシステムの機能状態を表すそれぞれの有効機能符号語と、サブシステムの故障状態を表すそれぞれの有効故障符号語とを記憶する。
【0120】
一実装形態では、第2のコントローラは、互いからの8の最小ハミング距離によって相互に特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効機能符号語および第2のコントローラ内の所与のサブシステムに対する有効故障符号語と、互いからの4の最小ハミング距離によって相互に特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効機能符号語および第2のコントローラ内の異なるサブシステムに対する有効機能符号語と、互いからの4の最小ハミング距離によって相互に特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効機能符号語および第2のコントローラ内の異なるサブシステムに対する有効故障符号語と、互いからの4の最小ハミング距離によって相互に特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効故障符号語および第2のコントローラ内の異なるサブシステムに対する有効機能符号語と、互いからの4の最小ハミング距離によって相互に特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効故障符号語および第2のコントローラ内の異なるサブシステムに対する有効故障符号語とを記憶する。
【0121】
一実装形態では、第2のコントローラは、第1のコントローラ内の類似のサブシステムに対する有効機能符号語からの8の最小ハミング距離によって特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効機能符号語を記憶する。
【0122】
上の例の変形例では、第2のコントローラは、第2のコントローラ内のALUの機能状態を表す有効機能符号語「14、13、13、14」(2進数で「1110110111011110」として表示される)を記憶することができる。第2のコントローラ内のALUの故障状態を表す有効機能符号語(例えば、「1110110111011110」)および第1のコントローラ内のALUの機能状態を表す有効機能符号語(例えば、「1101111011101101」)は、互いからの8の最小ハミング距離(例えば、この場合には8のハミング距離)によって特徴づけられる。
【0123】
同様に、一実装形態では、第2のコントローラは、第1のコントローラ内の類似のサブシステムに対する有効故障符号語からの8の最小ハミング距離によって特徴づけられる、第2のコントローラ内の所与のサブシステムに対する有効故障符号語を記憶する。
【0124】
7.2.1 有効符号語を記憶する:サブシステム例
一例では、第1のコントローラ(
図3で「MA」として示される)および第2のコントローラ(
図3で「MB」として示される)は、
図3に示されるように符号語を各々記憶することができる。
【0125】
一例では、第1のコントローラは、互いまでの8以上のハミング距離によって特徴づけられる、下記の2進値ペアを記憶する。ペアは、第1のコントローラ内の安全メカニズム[SM]に対する無障害インジケータ(NFI)(例えば、有効機能符号語)および障害インジケータ(FI)(例えば、有効故障符号語)、すなわち、ALU/コアSMのNFIとFI、プログラムフローモニタSMのNFIとFI、RAM SMのNFIとFI、フラッシュSMのNFIとFI、スタックアンダーフローSMのNFIとFI、およびスタックオーバーフローSMのNFIとFI、を含む。
【0126】
別の例では、第1のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第1のコントローラ内のNFI(例えば、有効機能符号語)を記憶する。ペアは、ALU/コアSMのNFIとプログラムフローモニタSMのNFI、ALU/コアSMのNFIとRAM SMのNFI、ALU/コアSMのNFIとフラッシュSMのNFI、ALU/コアSMのNFIとスタックアンダーフローSMのNFI、ALU/コアSMのNFIとスタックオーバーフローSMのNFI、プログラムフローモニタSMのNFIとRAM SMのNFI、プログラムフローモニタSMのNFIとフラッシュSMのNFI、プログラムフローモニタSMのNFIとスタックアンダーフローSMのNFI、プログラムフローモニタSMのNFIとスタックオーバーフローSMのNFI、RAM SMのNFIとフラッシュSMのNFI、RAM SMのNFIとスタックアンダーフローSMのNFI、RAM SMのNFIとスタックオーバーフローSMのNFI、フラッシュSMのNFIとスタックアンダーフローSMのNFI、フラッシュSMのNFIとスタックオーバーフローSMのNFI、およびフラッシュSMのNFIとスタックオーバーフローSMのNFI、を含む。
【0127】
さらに別の例では、第1のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第1のコントローラ内のFI(例えば、有効故障符号語)を記憶する。ペアは、ALU/コアSMのFIとプログラムフローモニタSMのFI、ALU/コアSMのFIとRAM SMのFI、ALU/コアSMのFIとフラッシュSMのFI、ALU/コアSMのFIとスタックアンダーフローSMのFI、ALU/コアSMのFIとスタックオーバーフローSMのFI、プログラムフローモニタSMのFIとRAM SMのFI、プログラムフローモニタSMのFIとフラッシュSMのFI、プログラムフローモニタSMのFIとスタックアンダーフローSMのFI、プログラムフローモニタSMのFIとスタックオーバーフローSMのFI、RAM SMのFIとフラッシュSMのFI、RAM SMのFIとスタックアンダーフローSMのFI、RAM SMのFIとスタックオーバーフローSMのFI、フラッシュSMのFIとスタックアンダーフローSMのFI、フラッシュSMのFIとスタックオーバーフローSMのFI、およびフラッシュSMのFIとスタックオーバーフローSMのFI、を含む。
【0128】
さらに別の例では、第1のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第1のコントローラ内のNFI(例えば、有効機能符号語)と他のFI(例えば、有効故障符号語)を記憶する。ペアは、ALU/コアSMのNFIとプログラムフローモニタSMのFI、ALU/コアSMのNFIとRAM SMのFI、ALU/コアSMのNFIとフラッシュSMのFI、ALU/コアSMのNFIとスタックアンダーフローSMのFI、ALU/コアSMのNFIとスタックオーバーフローSMのFI、プログラムフローモニタSMのNFIとRAM SMのFI、プログラムフローモニタSMのNFIとフラッシュSMのFI、プログラムフローモニタSMのNFIとスタックアンダーフローSMのFI、プログラムフローモニタSMのNFIとスタックオーバーフローSMのFI、RAM SMのNFIとフラッシュSMのFI、RAM SMのNFIとスタックアンダーフローSMのFI、RAM SMのNFIとスタックオーバーフローSMのFI、フラッシュSMのNFIとスタックアンダーフローSMのFI、フラッシュSMのNFIとスタックオーバーフローSMのFI、およびフラッシュSMのFIとスタックオーバーフローSMのFI、を含む。
【0129】
さらに別の例では、第1のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第1のコントローラ内のFI(例えば、有効故障符号語)と他のNFI(例えば、有効機能符号語)を記憶する。ペアは、ALU/コアSMのFIとプログラムフローモニタSMのNFI、ALU/コアSMのFIとRAM SMのNFI、ALU/コアSMのFIとフラッシュSMのNFI、ALU/コアSMのFIとスタックアンダーフローSMのNFI、ALU/コアSMのFIとスタックオーバーフローSMのNFI、プログラムフローモニタSMのFIとRAM SMのNFI、プログラムフローモニタSMのFIとフラッシュSMのNFI、プログラムフローモニタSMのFIとスタックアンダーフローSMのNFI、プログラムフローモニタSMのFIとスタックオーバーフローSMのNFI、RAM SMのFIとフラッシュSMのNFI、RAM SMのFIとスタックアンダーフローSMのNFI、RAM SMのFIとスタックオーバーフローSMのNFI、フラッシュSMのFIとスタックアンダーフローSMのNFI、フラッシュSMのFIとスタックオーバーフローSMのNFI、およびフラッシュSMのFIとスタックオーバーフローSMのNFI、を含む。
【0130】
さらに別の例では、第2のコントローラは、互いまでの8以上のハミング距離によって特徴づけられる、下記の2進値ペアを記憶する。ペアは、第2のコントローラ内の安全メカニズム[SM]に対する無障害インジケータ(NFI)(例えば、有効機能符号語)および障害インジケータ(FI)(例えば、有効故障符号語)、すなわち、ALU/コアSMのNFIとFI、プログラムフローモニタSMのNFIとFI、RAM SMのNFIとFI、フラッシュSMのNFIとFI、スタックアンダーフローSMのNFIとFI、およびスタックオーバーフローSMのNFIとFI、を含む。
【0131】
さらに別の例では、第2のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第2のコントローラ内のNFI(例えば、有効機能符号語)を記憶する。ペアは、ALU/コアSMのNFIとプログラムフローモニタSMのNFI、ALU/コアSMのNFIとRAM SMのNFI、ALU/コアSMのNFIとフラッシュSMのNFI、ALU/コアSMのNFIとスタックアンダーフローSMのNFI、ALU/コアSMのNFIとスタックオーバーフローSMのNFI、プログラムフローモニタSMのNFIとRAM SMのNFI、プログラムフローモニタSMのNFIとフラッシュSMのNFI、プログラムフローモニタSMのNFIとスタックアンダーフローSMのNFI、プログラムフローモニタSMのNFIとスタックオーバーフローSMのNFI、RAM SMのNFIとフラッシュSMのNFI、RAM SMのNFIとスタックアンダーフローSMのNFI、RAM SMのNFIとスタックオーバーフローSMのNFI、フラッシュSMのNFIとスタックアンダーフローSMのNFI、フラッシュSMのNFIとスタックオーバーフローSMのNFI、およびフラッシュSMのNFIとスタックオーバーフローSMのNFI、を含む。
【0132】
さらに別の例では、第2のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第2のコントローラ内のFI(例えば、有効故障符号語)を記憶する。ペアは、ALU/コアSMのFIとプログラムフローモニタSMのFI、ALU/コアSMのFIとRAM SMのFI、ALU/コアSMのFIとフラッシュSMのFI、ALU/コアSMのFIとスタックアンダーフローSMのFI、ALU/コアSMのFIとスタックオーバーフローSMのFI、プログラムフローモニタSMのFIとRAM SMのFI、プログラムフローモニタSMのFIとフラッシュSMのFI、プログラムフローモニタSMのFIとスタックアンダーフローSMのFI、プログラムフローモニタSMのFIとスタックオーバーフローSMのFI、RAM SMのFIとフラッシュSMのFI、RAM SMのNFIとスタックアンダーフローSMのFI、RAM SMのFIとスタックオーバーフローSMのFI、フラッシュSMのFIとスタックアンダーフローSMのFI、フラッシュSMのFIとスタックオーバーフローSMのFI、およびフラッシュSMのFIとスタックオーバーフローSMのFI、を含む。
【0133】
さらに別の例では、第2のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第2のコントローラ内のNFI(例えば、有効機能符号語)と他の障害インジケータFIを記憶する。ペアは、ALU/コアSMのNFIとプログラムフローモニタSMのFI、ALU/コアSMのNFIとRAM SMのFI、ALU/コアSMのNFIとフラッシュSMのFI、ALU/コアSMのNFIとスタックアンダーフローSMのFI、ALU/コアSMのNFIとスタックオーバーフローSMのFI、プログラムフローモニタSMのNFIとRAM SMのFI、プログラムフローモニタSMのNFIとフラッシュSMのFI、プログラムフローモニタSMのNFIとスタックアンダーフローSMのFI、プログラムフローモニタSMのNFIとスタックオーバーフローSMのFI、RAM SMのNFIとフラッシュSMのFI、RAM SMのNFIとスタックアンダーフローSMのFI、RAM SMのNFIとスタックオーバーフローSMのFI、フラッシュSMのNFIとスタックアンダーフローSMのFI、フラッシュSMのNFIとスタックオーバーフローSMのFI、およびフラッシュSMのNFIとスタックオーバーフローSMのFI、を含む。
【0134】
さらに別の例では、第2のコントローラは、互いまでの4以上のハミング距離によって特徴づけられる、第2のコントローラ内のFI(例えば、有効故障符号語)と他のNFI(例えば、有効故障符号語)を記憶する。ペアは、ALU/コアSMのFIとプログラムフローモニタSMのNFI、ALU/コアSMのFIとRAM SMのNFI、ALU/コアSMのFIとフラッシュSMのNFI、ALU/コアSMのFIとスタックアンダーフローSMのNFI、ALU/コアSMのFIとスタックオーバーフローSMのNFI、プログラムフローモニタSMのFIとRAM SMのNFI、プログラムフローモニタSMのFIとフラッシュSMのNFI、プログラムフローモニタSMのFIとスタックアンダーフローSMのNFI、プログラムフローモニタSMのFIとスタックオーバーフローSMのNFI、RAM SMのFIとフラッシュSMのNFI、RAM SMのFIとスタックアンダーフローSMのNFI、RAM SMのFIとスタックオーバーフローSMのNFI、フラッシュSMのFIとスタックアンダーフローSMのNFI、フラッシュSMのFIとスタックオーバーフローSMのNFI、およびフラッシュSMのFIとスタックオーバーフローSMのNFI、を含む。
【0135】
さらに別の例では、第2のコントローラは、互いまでの8以上の、下記の2進値ペアを記憶する。ペアは、コントローラ1(例えば、第1のコントローラ)のALU/コアSMのNFIとコントローラ2(例えば、第2のコントローラ)のALU/コアSMのNFI、コントローラ1のALU/コアSMのFIとコントローラ2のALU/コアSMのFI、コントローラ1のALU/コアSMのNFIとコントローラ2のALU/コアSMのNFI、コントローラ1のALU/コアSMのFIとコントローラ2のALU/コアSMのNFI、コントローラ1のプログラムフローモニタ[PFM]SMのNFIとコントローラ2のPFM SMのNFI、コントローラ1のPFM SMのFIとコントローラ2のPFM SMのFI、コントローラ1のPFM SMのNFIとコントローラ2のPFM SMのNFI、コントローラ1のPFM SMのFIとコントローラ2のPFM SMのNFI、コントローラ1のRAM SMのNFIとコントローラ2のRAM SMのNFI、コントローラ1のRAM SMのFIとコントローラ2のRAM SMのFI、コントローラ1のRAM SMのNFIとコントローラ2のRAM SMのNFI、コントローラ1のRAM SMのFIとコントローラ2のRAM SMのNFI、コントローラ1のフラッシュSMのNFIとコントローラ2のフラッシュSMのNFI、コントローラ1のフラッシュSMのFIとコントローラ2のフラッシュSMのFI、コントローラ1のフラッシュSMのNFIとコントローラ2のフラッシュSMのNFI、コントローラ1のフラッシュSMのFIとコントローラ2のフラッシュSMのNFI、コントローラ1のスタックアンダーフローSMのNFIとコントローラ2のスタックアンダーフローSMのNFI、コントローラ1のスタックアンダーフローSMのFIとコントローラ2のスタックアンダーフローSMのFI、コントローラ1のスタックアンダーフローSMのNFIとコントローラ2のスタックアンダーフローSMのNFI、コントローラ1のスタックアンダーフローSMのFIとコントローラ2のスタックアンダーフローSMのNFI、コントローラ1のスタックアンダーフローSMのNFIとコントローラ2のスタックアンダーフローSMのNFI、コントローラ1のスタックアンダーフローSMのFIとコントローラ2のスタックアンダーフローSMのFI、コントローラ1のスタックアンダーフローSMのNFIとコントローラ2のスタックアンダーフローSMのNFI、およびコントローラ1のスタックアンダーフローSMのFIとコントローラ2のスタックアンダーフローSMのNFI、を含む。
【0136】
したがって、有効機能符号語および有効故障符号語を実装する第1のコントローラおよび第2のコントローラは、互いからの干渉からの自由(FFI)を示す。
【0137】
7.3 有効符号語を記憶する:全体的なコントローラ状態
一実装形態では、ブロックS110で、第1のコントローラは、第1のコントローラの機能状態を表す有効機能符号語と、第1のコントローラの故障状態を表し、第1のコントローラの機能状態を表す有効機能符号語からの最小ハミング距離によって特徴づけられる有効故障符号語とを記憶する。例えば、第1のコントローラは、互いからの4の最小ハミング距離によって特徴づけられる有効機能符号語および有効故障符号語を記憶することができる。
【0138】
同様に、一実装形態では、ブロックS110で、第2のコントローラは、第2のコントローラの機能状態を表す有効機能符号語と、第2のコントローラの故障状態を表し、第2のコントローラの機能状態を表す有効機能符号語からの最小ハミング距離によって特徴づけられる有効故障符号語とを記憶する。例えば、第2のコントローラは、互いからの4の最小ハミング距離によって特徴づけられる有効機能符号語および有効故障符号語を記憶することができる。
【0139】
一実装形態では、コントローラの状態を表す有効符号語は、8ビット(例えば、1バイト)の長さを各々示す。
【0140】
一例では、第1のコントローラは、第1のコントローラの機能状態を表す有効機能符号語を「11110010」として、および第1のコントローラの故障状態を表す有効故障符号語を「10100100」として記憶することができる。
【0141】
別の例では、第2のコントローラは、第2のコントローラの機能状態を表す有効機能符号語を「00101111」として、および第2のコントローラの故障状態を表す有効故障符号語を「01001010」として記憶することができる。
【0142】
一実装形態では、第1のコントローラに対する有効機能符号語と、有効機能符号語とは、互いに逆のニブル値(例えば、「1111、0010」対「0010、1111」)を示す。同様に、一実装形態では、第1のコントローラに対する有効故障符号語と、有効故障符号語とは、互いに逆のニブル値(例えば、「1010、0100」対「0100、1010」)を示す。
【0143】
一実装形態では、ブロックS110で、第1のコントローラは、第2のコントローラの機能状態を表す有効機能符号語と、第2のコントローラの故障状態を表し、第2のコントローラの機能状態を表す有効機能符号語からの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを記憶する。
【0144】
一実装形態では、ブロックS110で、第2のコントローラは、第1のコントローラの機能状態を表す有効機能符号語と、第1のコントローラの故障状態を表し、第1のコントローラの機能状態を表す有効機能符号語からの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを記憶する。
【0145】
7.4 有効符号語を記憶する:外部入力
一実装形態では、ブロックS110で、第1のコントローラは、システムに結合された第1の入力の機能状態を表す有効機能符号語と、第1の入力の故障状態を表し、第1の入力の機能状態を表す有効機能符号語からの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを記憶する。
【0146】
一実装形態では、ブロックS110で、第2のコントローラは、システムに結合された第2の入力の機能状態を表す有効機能符号語と、第2の入力の故障状態を表し、第2の入力の機能状態を表す有効機能符号語からの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを記憶する。
【0147】
一変形例では、第1のコントローラおよび第2のコントローラは、複数の入力に対するそれぞれの有効機能/故障符号語を各々記憶することができる。一例では、各有効機能/故障符号語ペアは、互いからの最小ハミング距離(例えば、4)を示すことができる。別の例では、各有効符号語は、他の有効符号語からの最小ハミング距離(例えば、4)を示すことができる。
【0148】
一実装形態では、入力の状態を表す有効符号語は、8ビット(例えば、1バイト)の長さを各々示す。
【0149】
7.5 有効符号語を記憶する:安全モジュールタイムアウト
一実装形態では、ブロックS110で、第1のコントローラは、第2のコントローラの機能タイムアウト状態を表す有効機能符号語と、第2のコントローラの故障タイムアウト状態を表し、第2のコントローラの機能タイムアウト状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語とを記憶する。
【0150】
一実装形態では、第1のコントローラは、これらの有効符号語を16ビット(例えば、1ワード、2バイト、4ニブル)の長さを示す異なるビットパターンとして記憶する。各16ビットのワードは、上位バイトおよび下位バイトを含む。各バイトは、上位ニブルおよび下位ニブルを含む。
【0151】
例えば、第1のコントローラは、第2のコントローラの機能タイムアウト状態を表す有効機能符号語を「12、5、11、7」(2進数で「1100010110110111」として表示される)として、および第2のコントローラの故障タイムアウト状態を表す有効故障符号語を「7、11、5、12」(2進数で「0111101101011100」として表示される)として記憶することができる。
【0152】
同様に、一実装形態では、第2のコントローラは、第1のコントローラの機能タイムアウト状態を表す有効機能符号語と、第1のコントローラの故障タイムアウト状態を表し、第1のコントローラの機能タイムアウト状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語とを記憶する。
【0153】
例えば、第2のコントローラは、第1のコントローラの機能タイムアウト状態を表す有効機能符号語を「5、12、7、11」(2進数で「0101110001111011」として表示される)として、および第1のコントローラの故障タイムアウト状態を表す有効故障符号語を「11、7、12、5」(2進数で「1011011111000101」として表示される)として記憶することができる。
【0154】
一変形例では、有効故障符号語の上位バイトは奇数値のみを示し、有効故障符号語の下位バイトは偶数値のみを示し、有効機能符号語の上位バイトは偶数値のみを示し、有効機能符号語の下位バイトは奇数値のみを示す。別の変形例では、有効故障符号語の上位バイトは偶数値のみを示し、有効故障符号語の下位バイトは奇数値のみを示し、有効機能符号語の上位バイトは奇数値のみを示し、有効機能符号語の下位バイトは偶数値のみを示す。ここで「奇」および「偶」は、10進数の奇数または偶数の値ではなく、ビット数を記述する。
【0155】
一実装形態では、ブロックS110で、第1のコントローラは、第2のコントローラからの通信内容の機能状態を表す有効機能符号語と、第2のコントローラからの通信内容の故障状態を表し、第2のコントローラからの通信内容の機能状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語とを記憶する。
【0156】
同様に、一実装形態では、ブロックS110で、第2のコントローラは、第1のコントローラからの通信内容の機能状態を表す有効機能符号語と、第1のコントローラからの通信内容の故障状態を表し、第1のコントローラからの通信内容の機能状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語とを記憶する。
【0157】
一実装形態では、ブロックS110で、第1のコントローラは、アプリケーションプロセッサからの通信内容の機能状態を表す有効機能符号語と、アプリケーションプロセッサからの通信内容の故障状態を表し、アプリケーションプロセッサからの通信内容の機能状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語とを記憶する。
【0158】
同様に、一実装形態では、ブロックS110で、第2のコントローラは、アプリケーションプロセッサからの通信内容の機能状態を表す有効機能符号語と、アプリケーションプロセッサからの通信内容の故障状態を表し、アプリケーションプロセッサからの通信内容の機能状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語とを記憶する。
【0159】
一実装形態では、第1のコントローラは、他の有効符号語からの最小ハミング距離(例えば、4)によって各々特徴づけられる、これらの有効符号語を記憶する。
【0160】
例えば、第1のコントローラ(「MA」として示される)および第2のコントローラ(「MB」として示される)は、
図5A、
図5B、
図5C、
図5D、および
図6に示されるように符号語を各々記憶することができる(「AP」として示されるアプリケーションプロセッサ)。
【0161】
この例では、第1のコントローラMA内の4つすべての通信SMの値NFI(例えば、有効機能符号語)/FI(例えば、有効故障符号語)のペアは、互いからの8以上のハミング距離によって特徴づけられる。第1のコントローラMA内の4つすべてのNFIは、互いからの4以上のハミング距離によって特徴づけられる。第1のコントローラMA内の4つすべてのFIは、互いからの4以上のハミング距離によって特徴づけられる。第1のコントローラMA内の4つのNFIのうちの任意のものは、第1のコントローラMA内の4つのFIのうちの任意のものからの4以上のハミング距離によって特徴づけられる。
【0162】
同様に、第2のコントローラMB内の4つすべての通信SMの値NFI(例えば、有効機能符号語)/FI(例えば、有効故障符号語)のペアは、互いからの8以上のハミング距離によって特徴づけられる。第2のコントローラMB内の4つすべてのNFIは、互いからの4以上のハミング距離によって特徴づけられる。第2のコントローラMB内の4つすべてのFIは、互いからの4以上のハミング距離によって特徴づけられる。第2のコントローラMB内の4つのNFIのうちの任意のものは、第2のコントローラMB内の4つのFIのうちの任意のものからの4以上のハミング距離によって特徴づけられる。
【0163】
7.6 有効符号語を記憶する:安全コントローラタイムアウト
一実装形態では、ブロックS110で、第1のコントローラは、システムに結合された第2の安全モジュール内の第3のコントローラの機能タイムアウト状態を表す有効機能符号語と、第3のコントローラの故障タイムアウト状態を表し、第3のコントローラの機能タイムアウト状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語と、システムに結合された第3の安全モジュール内の第4のコントローラの機能タイムアウト状態を表す有効機能符号語と、第4のコントローラの故障タイムアウト状態を表し、第4のコントローラの機能タイムアウト状態を表す有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる有効故障符号語と、第3のコントローラおよび第4のコントローラを含む被監視コントローラのセットの機能タイムアウト状態を表す第9の有効機能符号語と、被監視コントローラのセットの故障タイムアウト状態を表し、被監視コントローラのセットの機能タイムアウト状態を表す第9の有効機能符号語からの最小ハミング距離(例えば、8)によって特徴づけられる第9の有効故障符号語とを記憶する。
【0164】
一変形例では、第1のコントローラは、第1のコントローラによって監視され被監視コントローラのセットに含まれる、他の安全モジュールのより多数またはより少数のコントローラに対応する、より多数またはより少数の有効機能符号語を記憶することができる。
【0165】
一実装形態では、第1のコントローラは、これらの有効符号語を16ビット(例えば、1ワード、2バイト、4ニブル)の長さを示す異なるビットパターンとして記憶する。各16ビットのワードは、上位バイトおよび下位バイトを含む。各バイトは、上位ニブルおよび下位ニブルを含む。一変形例では、第1のコントローラは、被監視コントローラのセットの機能タイムアウト状態を表す有効機能符号語と、被監視コントローラのセットの故障タイムアウト状態を表す有効故障符号語とを、8ビット(例えば、1バイト)の長さを各々示す異なるビットパターンとして記憶する。
【0166】
一実装形態では、有効故障符号語の上位バイトは奇数値のみを示し、有効故障符号語の下位バイトは偶数値のみを示し、有効機能符号語の上位バイトは偶数値のみを示し、有効機能符号語の下位バイトは奇数値のみを示す。一変形例では、有効故障符号語の上位バイトは偶数値のみを示し、有効故障符号語の下位バイトは奇数値のみを示し、有効機能符号語の上位バイトは奇数値のみを示し、有効機能符号語の下位バイトは偶数値のみを示す。
【0167】
一実装形態では、第1のコントローラは、互いからの最小ハミング距離(例えば、8)によって特徴づけられる、所与のコントローラに対するタイムアウト状態を表す有効機能/故障符号語を記憶する。一実装形態では、第1のコントローラは、他の有効符号語からの最小ハミング距離(例えば、4)によって各々特徴づけられるこれらの有効符号語を記憶する。
【0168】
一変形例では、ブロックS110で、第2のコントローラは、上記の例に記載されるような、第1のコントローラに関連して上に記載したのと類似の様式で他の安全モジュール内のコントローラのタイムアウト状態を表す有効符号語を記憶することができる。
【0169】
7.6.1 有効符号語を記憶する:安全コントローラタイムアウトの例
一例では、安全モジュール内の第1のコントローラ(「MA」として示される)および第2のコントローラ(「MB」として示される)は、
図5A、
図5B、
図5C、
図5D、および
図6に示されるように符号語を各々記憶することができる。
【0170】
この例では、安全モジュール内の第1のコントローラ(MA)および第2のコントローラ(MB)は、デバイスD1~D12内のそれぞれのMAコントローラおよびMBコントローラに対するタイムアウト状態を監視する。特に、安全モジュールは、デバイスD1~D12に対する安全コントローラであり、デバイスD1~D12は、各々安全モジュールである。
【0171】
一実装形態では、第1のコントローラは、デバイスD1内のMAコントローラ、デバイスD2内のMAコントローラ、デバイスD3内のMAコントローラ、などに対するタイムアウト状態を監視する。同様に、第2のコントローラは、デバイスD1内のMBコントローラ、デバイスD2内のMBコントローラ、デバイスD3内のMBコントローラ、などに対するタイムアウト状態を監視する。
【0172】
一実装形態では、第1のコントローラは、デバイスD1~D12内のMAコントローラのそれぞれの状態を各々表す有効機能/故障符号語を記憶する。同様に、第2のコントローラは、デバイスD1~D12内のMBコントローラのそれぞれの状態を各々表す有効機能/故障符号語を記憶する。
【0173】
一実装形態では、第1のコントローラおよび第2のコントローラは、これらの有効符号語を、16ビット(例えば、1ワード、2バイト、4ニブル)の長さを示す異なるビットパターンとして記憶する。各16ビットのワードは、上位バイトおよび下位バイトを含む。各バイトは、上位ニブルおよび下位ニブルを含む。一実装形態では、各有効符号語の各バイト(例えば、上位バイト、下位バイト)は、奇数値ニブルおよび偶数値ニブルを含む。
【0174】
例えば、第1のコントローラは、第3のコントローラ(例えば、デバイスD1のMA)の故障タイムアウト状態を表す有効故障符号語を「14、3、7、5」(2進数で「1110001101110101」として表示される)として、および第3のコントローラの機能タイムアウト状態を表す有効機能符号語を「7、5、14、3」(2進数で「0111010111100011」として表示される)として記憶することができる。
【0175】
一変形例では、有効機能符号語の上位バイトおよび有効故障符号語の下位バイトは互いに等価であり、有効故障符号語の上位バイトおよび有効機能符号語の下位バイトは互いに等価である。例えば、デバイスD1のコントローラMAの機能タイムアウト状態を表す有効機能符号語の上位バイト(例えば、「7、5」)およびデバイスD1のコントローラMAの故障タイムアウト状態を表す有効故障符号語の下位バイト(例えば、「7、5」)は互いに等価である。さらに、有効故障符号語の上位バイト(例えば、「14、3」)および有効機能符号語の下位バイト(例えば、「14、3」)は互いに等価である。
【0176】
7.7 有効符号語を記憶する:システム状態
一実装形態では、ブロックS110で、第1のコントローラは、システムの機能状態を表す有効機能符号語と、システムの故障状態を表し、システムの機能状態を表す有効機能符号語からの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを記憶する。
【0177】
一実装形態では、ブロックS110で、第2のコントローラは、システムの機能状態を表す有効機能符号語と、システムの故障状態を表し、システムの機能状態を表す有効機能符号語からの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを記憶する。
【0178】
一例では、各有効機能/故障符号語ペアは、互いからの最小ハミング距離(例えば、4)を示すことができる。別の例では、各有効符号語は、他の有効符号語からの最小ハミング距離(例えば、4)を示すことができる。
【0179】
一実装形態では、システムの状態を表す有効符号語は、8ビット(例えば、1バイト)の長さを各々示す。
【0180】
8.第1のコントローラ:サブシステム監視
方法S100のブロックS120は、第1の期間中に、第1のサブシステムの機能動作を検出したことに応答して、第1の有効機能符号語を第1のメモリに記憶することを記載している。
【0181】
一般に、ブロックS120で、監視期間中に、第1のコントローラは、第1のコントローラ内のサブシステムのセット内の各サブシステムを個別に監視し、監視に基づいて各サブシステムについて動作(例えば、機能動作、故障動作)を検出し、サブシステムの検出された動作に対応する各サブシステムのそれぞれの状態を検出し、検出された状態を検出された状態に対応する符号語に符号化し、検出された状態に基づいてメモリに有効符号語(例えば、有効機能符号語、有効故障符号語)を記憶する。
【0182】
一実装形態では、第1のコントローラは、第1のコントローラ内のサブシステムのセット内の各サブシステムを個別に監視する。一例では、第1のコントローラは、ALU、RAM、フラッシュメモリ、プログラムフローモニタ安全メカニズム、スタックオーバーフロー安全メカニズム、および/またはスタックアンダーフロー安全メカニズムを個別に監視することができる。別の例では、第1のコントローラは、各サブシステムに対して診断テストを個別に実行する。
【0183】
一実装形態では、第1のコントローラは、監視に基づいて各サブシステムについて動作(例えば、機能動作、故障動作)を検出する。一例では、第1のコントローラは、診断テストの実行結果がエラーなしであることに基づいて、ALUの機能動作を検出することができる。別の例では、第1のコントローラは、スタックオーバーフローが検出されているというインスタンスに基づいて、スタックオーバーフロー安全メカニズムの故障動作を検出することができる。
【0184】
一実装形態では、第1のコントローラは、所与のサブシステムに対して検出されているエラーの不存在時にサブシステムの機能動作を検出し、第1のコントローラは、所与のサブシステムに対して1つまたは複数のエラーが検出されたときに故障動作を検出する。例えば、エラーは、所与のサブシステムの性質、所与のサブシステムに関連づけられた安全規格、および/または所与のサブシステムに適用可能な任意の要因に基づいて規定されてもよい。
【0185】
一般に、第1のコントローラは、サブシステムの検出された動作に対応する各サブシステムのそれぞれの状態を検出する。一実装形態では、第1のコントローラは、サブシステムの機能動作を検出したことに応答してサブシステムの機能状態を検出し、サブシステムの故障動作を検出したことに応答してサブシステムの故障状態を検出する。一例では、第1のコントローラは、ALUの機能動作を検出したことに応答してALUの機能状態を検出する。別の例では、第1のコントローラは、スタックオーバーフロー安全メカニズムの故障動作を検出したことに応答してスタックオーバーフロー安全メカニズムの故障状態を検出する。
【0186】
一般に、第1のコントローラは、検出された状態を、サブシステムの検出された動作に対応する符号語に符号化する。一実装形態では、第1のコントローラは、有効符号語の第1のセットから、検出された状態に対応する有効符号語を選択する。一例では、第1のコントローラは、ALUの機能状態を検出したことに応答して、ALUの機能動作を表す有効機能符号語を選択する。別の例では、第1のコントローラは、スタックオーバーフロー安全メカニズムの故障状態を検出したことに応答して、スタックオーバーフロー安全メカニズムの故障動作を表す有効故障符号語を選択する。
【0187】
一般に、第1のコントローラは、サブシステムのセット内の各サブシステムに対するそれぞれの有効符号語(例えば、有効機能符号語、有効故障符号語)をメモリに記憶する。一実装形態では、第1のコントローラは、サブシステムの機能動作を表す有効機能符号語をメモリに記憶する。一変形例では、第1のコントローラは、サブシステムの故障動作を表す有効故障符号語をメモリに記憶する。一例では、第1のコントローラは、ALUの機能動作を表す有効機能符号語を第1のメモリに記憶する。別の例では、第1のコントローラは、スタックオーバーフロー安全メカニズムの故障動作を表す有効故障符号語を第2のメモリに記憶する。
【0188】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語を記憶する。一変形例では、第1のコントローラは、外部メモリに有効符号語を記憶する。
【0189】
9.第1のコントローラ:全体的なコントローラ状態
方法S100のブロックS130は、第1の期間の後の第2の期間中に、第1のコントローラで、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および第1の入力の機能動作を検出したことに応答して、第2の有効機能符号語および第4の有効機能符号語を含む第1の安全メッセージを出力することと、第3の期間の後の第4の期間中に、第1のコントローラで、第1のメモリの内容と有効符号語の第1のセット内のあらゆる符号語との間の不一致を検出したことに応答して、第2の有効故障符号語および第4の有効故障符号語を含む第2の安全メッセージを出力することとを記載している。
【0190】
一般に、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうかを検出し、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)検出された状態、に基づいて第1のコントローラの全体的な状態を検出し、安全メッセージを出力する。
【0191】
一実装形態では、第1のコントローラは、メモリの内容と有効符号語のセットに含まれる有効符号語との間の一致を検出する。一変形例では、第1のコントローラは、メモリの内容と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出する。
【0192】
例えば、ALUに関連づけられたメモリの内容が「8、1、2、8」である場合、ALUに対する有効機能符号語は「13、14、14、13」でありALUに対する有効故障符号語は「8、2、2、8」であるため、および有効符号語のセット内のどの有効符号語も「8、1、2、8」ではないため、第1のコントローラは、メモリの内容と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出する。
【0193】
一実装形態では、第1のコントローラは、所与のサブシステムに関連づけられたメモリの内容と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出したことに応答して、所与のサブシステムが故障状態にあることを指示する。例えば、第1のコントローラは、不一致を検出したことに応答して、所与のサブシステムの故障状態を表す有効故障符号語をメモリに記憶することができる。
【0194】
一実装形態では、第1のコントローラは、サブシステムのセットの検出された状態を表す符号語に基づいて、第1のコントローラの全体的な状態を検出する。一実装形態では、第1のコントローラは、ルールのセットに基づいて、第1のコントローラの全体的な状態を検出する。一例では、第1のコントローラは、サブシステムのセット内のあらゆるサブシステムが機能状態にあることを検出したこと、および/またはサブシステムのセット内のあらゆるサブシステムに対するメモリに有効機能符号語を検出したことに応答して、第1のコントローラの機能状態を検出することができる。別の例では、第1のコントローラは、サブシステムのセット内の1つのサブシステムが故障状態にあることを検出したこと、および/またはサブシステムのセット内の1つのサブシステムに対するメモリに有効故障符号語を検出したことに応答して、第1のコントローラの故障状態を検出することができる。
【0195】
一実装形態では、第1のコントローラは、第1のコントローラの機能状態を検出したことに応答して、第1のコントローラの機能状態を表す有効機能符号語を指示する。一変形例では、第1のコントローラは、第1のコントローラの故障状態を検出したことに応答して、第1のコントローラの故障状態を表す有効故障符号語を指示する。一例では、第1のコントローラは、第1のコントローラの機能状態を表す有効機能符号語(例えば、「11110010」)をメモリに記憶することができる。別の例では、第1のコントローラは、第1のコントローラの故障状態を表す有効故障符号語(例えば、「10100100」)をメモリに記憶することができる。
【0196】
一般に、第1のコントローラは、第1のコントローラの状態を表す有効符号語を含む安全メッセージを出力する。一実装形態では、第1のコントローラは、メモリの内容と有効符号語のセットとの間の一致を検出したこと、サブシステムのセットの機能動作を検出したことに応答して、第1のコントローラの機能状態を表す有効機能符号語を含む安全メッセージを出力する。一変形例では、第1のコントローラは、メモリの内容と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出したことに応答して、第1のコントローラの故障状態を表す有効故障符号語を含む安全メッセージを出力する。別の変形例では、第1のコントローラは、メモリの内容と有効符号語のセットとの間の一致を検出したこと、サブシステムのセット内の少なくとも1つのサブシステムの故障動作を検出したことに応答して、第1のコントローラの故障状態を表す有効故障符号語を含む安全メッセージを出力する。
【0197】
一実装形態では、第1のコントローラは、安全メッセージの第3のバイト(例えば、「M0」)に第1のコントローラの機能状態を表す有効機能符号語を含む安全メッセージを出力する。一変形例では、第1のコントローラは、安全メッセージの第3のバイト(例えば、「M0」)に第1のコントローラの故障状態を表す有効故障符号語を含む安全メッセージを出力する。
【0198】
その場合、第1のコントローラは、第2のコントローラに、および/またはアプリケーションプロセッサに、安全メッセージを出力する。
【0199】
10.外部入力
方法S100のブロックS122は、第1の期間中に、第1の入力の機能動作を検出したことに応答して、第3の有効機能符号語を第2のメモリに記憶することを記載している。
【0200】
一般に、ブロックS122で、監視期間中に、第1のコントローラは、システムに結合された入力(例えば、非常停止ボタン、断線センサ)を監視し、監視に基づいて入力の動作(例えば、機能動作、故障動作)を検出し、サブシステムの検出された動作に対応する入力のそれぞれの状態を検出し、検出された状態を検出された状態に対応する符号語に符号化し、検出された状態に基づいてメモリに有効符号語(例えば、有効機能符号語、有効故障符号語)を記憶する。
【0201】
一実装形態では、第1のコントローラは、アナログ入力ピンにおけるアナログ電圧を読み出して入力カウントのセットに変換し、ADCからのデジタル電源信号を基準カウントのセットとして読み出し、補正された入力カウントを計算するために基準カウントのセットに基づいて入力カウントを補正(例えば、スケーリング)し、補正された入力カウントを第1の符号化論理出力値(例えば、有効符号語)に符号化するが、これは2021年5月27日に出願された米国特許出願第17/332,635号に記載される通りであり、それは全体として参照により援用される。
【0202】
一実装形態では、第1のコントローラは、入力の機能動作を表す有効機能符号語をメモリに記憶する。一変形例では、第1のコントローラは、入力の故障動作を表す有効故障符号語をメモリに記憶する。
【0203】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語を記憶する。一変形例では、第1のコントローラは、外部メモリに有効符号語を記憶する。
【0204】
一変形例では、第1のコントローラは、第1のコントローラによって監視される各追加的な入力についてブロックS122を実行する。
【0205】
一変形例では、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、入力の動作(例えば、機能動作、故障動作)を検出したことに応答して、入力の状態を表す有効符号語を含む安全メッセージを出力する。例えば、第1のコントローラは、入力の機能動作を検出したことに応答して、入力の機能動作を表す有効機能符号語を含む安全メッセージを出力する。別の例では、第1のコントローラは、入力の故障動作を検出したことに応答して、入力の故障動作を表す有効故障符号語を含む安全メッセージを出力する。さらに別の例では、第1のコントローラは、安全メッセージの第4のバイト(例えば、「I1」)に入力の機能動作を表す有効機能符号語を含む安全メッセージを出力する。さらに別の例では、第1のコントローラは、安全メッセージの第4のバイト(例えば、「I1」)に入力の故障動作を表す有効故障符号語を含む安全メッセージを出力する。
【0206】
11.コントローラ間通信
方法S100のブロックS124、S140、S142は、第1の期間中に、第1のコントローラで、第2のコントローラに結合された入力レジスタに問い合わせることと、入力レジスタで、第2のコントローラからの第6の有効機能符号語を含む第4の安全メッセージを検出することと、第3の期間中に、第1のコントローラに結合された入力レジスタに問い合わせることと、第1の時間量内における入力レジスタからの第3の安全メッセージの不受信を検出したことに応答して、第9の有効故障符号語を第5のメモリに記憶することとを記載している。
【0207】
一般に、ブロックS124、S140、S142で、監視期間中に、第1のコントローラは、第2のコントローラに結合された入力レジスタに問い合わせ、所定の時間量内に安全メッセージが入力レジスタにあるかどうかを検出し、第2のコントローラのタイムアウト状態を検出し、検出された状態を検出された状態に対応する符号語に符号化し、検出された状態に基づいてメモリに有効符号語(例えば、有効機能符号語、有効故障符号語)を記憶する。
【0208】
一実装形態では、監視期間中に、第1のコントローラは、第2のコントローラに結合された入力レジスタに問い合わせる。例えば、第1のコントローラは、第2のコントローラから安全メッセージを受信するように構成された第1のコントローラの入力に問い合わせることができる。
【0209】
一実装形態では、第1のコントローラは、所定の時間量内における第2のコントローラから入力レジスタでの安全メッセージの受信を検出する。例えば、第1のコントローラは、最近の安全メッセージが第2のコントローラから受信されて以来の経過時間を監視し、経過時間が閾値時間内にあることを検出したことに応答して、所定の時間量内における安全メッセージの受信を検出することができる。
【0210】
一実装形態では、所定の時間量および/または閾値時間は、安全規格、タイミング要件、通信プロトコル、および/または任意の他の要因に基づいて選択され得る。
【0211】
一変形例では、第1のコントローラは、所定の時間量内における第2のコントローラから入力レジスタでの安全メッセージの不受信を検出する。例えば、第1のコントローラは、最近の安全メッセージが第2のコントローラから受信されて以来の経過時間を監視し、経過時間が閾値時間を超過したことを検出したことに応答して、所定の時間量内における安全メッセージの不受信を検出することができる。
【0212】
一実装形態では、第1のコントローラは、所定の時間量内における第2のコントローラに結合された入力レジスタでの安全メッセージの受信を検出したことに応答して、第2のコントローラの機能タイムアウト状態を検出する。一変形例では、第1のコントローラは、所定の時間量内における第2のコントローラに結合された入力レジスタでの安全メッセージの不受信を検出したことに応答して、第2のコントローラの故障タイムアウト状態を検出する。
【0213】
一般に、第1のコントローラは、検出されたタイムアウト状態を検出されたタイムアウト状態に対応する符号語に符号化する。一実装形態では、第1のコントローラは、有効符号語の第1のセットから検出された状態に対応する有効符号語を選択する。
【0214】
一般に、第1のコントローラは、有効符号語(例えば、有効機能符号語、有効故障符号語)をメモリに記憶する。一実装形態では、第1のコントローラは、第2のコントローラの機能タイムアウト状態を表す有効機能符号語をメモリに記憶する。一変形例では、第1のコントローラは、第2のコントローラの故障タイムアウト状態を表す有効故障符号語をメモリに記憶する。
【0215】
一変形例では、所定の時間量内における第2のコントローラから入力レジスタでの安全メッセージの受信を検出したことに応答して、第1のコントローラは、受信された安全メッセージの内容が有効であるかどうかを検出する。一例では、第1のコントローラは、安全メッセージが誤っているかどうかを決定するために安全メッセージの内容およびフォーマットをチェックする。別の例では、第1のコントローラは、安全メッセージが
図3に指定されるデータ構造に準拠しているかどうかを検出する。さらに別の例では、第1のコントローラは、安全メッセージに含まれる符号語と記憶された有効符号語のセット内のあらゆる有効符号語との間の不一致を検出する。
【0216】
一実装形態では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける誤りの不存在を検出したことに応答して、第2のコントローラからの通信内容の機能状態を検出する。一変形例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける1つまたは複数の誤り(例えば、安全メッセージに含まれる符号語と記憶された有効符号語のセット内のあらゆる有効符号語との間の不一致)を検出したことに応答して、第2のコントローラからの通信内容の故障状態を検出する。
【0217】
一実装形態では、第1のコントローラは、タイムアウトを表す有効符号語(例えば、有効機能符号語、有効故障符号語)をメモリに、および/または第2のコントローラの内容状態をメモリに記憶する。例えば、第1のコントローラは、所定の時間量内における第2のコントローラに結合された入力レジスタでの安全メッセージの受信を検出したことに応答して、第2のコントローラの機能タイムアウト状態を表す有効機能符号語をメモリに記憶する。別の例では、第1のコントローラは、所定の時間量内における第2のコントローラに結合された入力レジスタでの安全メッセージの不受信を検出したことに応答して、第2のコントローラの故障タイムアウト状態を表す有効故障符号語をメモリに記憶する。さらに別の例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける誤りの不存在を検出したことに応答して、第2のコントローラの機能通信内容状態を表す有効機能符号語をメモリに記憶する。さらに別の例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける1つまたは複数の誤りを検出したことに応答して、第2のコントローラの故障通信内容状態を表す有効故障符号語をメモリに記憶する。さらに別の例では、第1のコントローラは、所定の時間量内における第2のコントローラから入力レジスタでの安全メッセージの不受信を検出したことに応答して、内容チェックを差し控え、第2のコントローラの故障通信内容状態を表す有効故障符号語をメモリに記憶する。
【0218】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語を記憶する。一変形例では、第1のコントローラは、外部メモリに有効符号語を記憶する。
【0219】
方法S100のブロックS130は、第1の期間の後の第2の期間中に、第1のコントローラで、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第3のメモリの内容と第5の有効機能符号語との間の一致を検出したことに応答して、および第1の入力の機能動作を検出したことに応答して、第2の有効機能符号語および第6の有効機能符号語を含む第2の安全メッセージを出力することと、第3の期間の後の第4の期間中に、第1のコントローラで、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、および第3のメモリの内容と第5の有効故障符号語との間の一致を検出したことに応答して、第2の有効機能符号語および第6の有効故障符号語を含む第4の安全メッセージを出力することとを記載している。
【0220】
一般に、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうかを検出し、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)検出された状態、に基づいて第1のコントローラの全体的な状態を検出し、安全メッセージを出力する。
【0221】
一実装形態では、第1のコントローラは、メモリの内容(例えば、第2のコントローラの機能タイムアウト状態を表す符号語)と有効符号語(例えば、第2のコントローラの機能タイムアウト状態を表す有効符号語、第2のコントローラの機能通信内容状態を表す有効符号語)のセットに含まれる有効符号語との間の一致を検出する。一変形例では、第1のコントローラは、メモリの内容(例えば、第2のコントローラの機能タイムアウト状態を表す上書きされた符号語、第2のコントローラの機能通信内容状態を表す上書きされた符号語)と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出する。
【0222】
一実装形態では、第1のコントローラは、メモリの内容(例えば、第2のコントローラの機能タイムアウト状態を表す上書きされた符号語、第2のコントローラの機能通信内容状態を表す上書きされた符号語)と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出したことに応答して、第2のコントローラが故障タイムアウト状態にあることを指示する。例えば、第1のコントローラは、不一致を検出したことに応答して、第2のコントローラの故障タイムアウト状態を表す有効故障符号語をメモリに記憶することができる。
【0223】
一変形例では、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、所定の時間量内における第2のコントローラからの安全メッセージの受信/不受信を検出したことに応答して、第2のコントローラの状態を表す有効符号語を含む安全メッセージを出力する。例えば、第1のコントローラは、所定の時間量内における第2のコントローラからの(第2のコントローラの機能動作を表す有効機能符号語を含む)安全メッセージの受信を検出したことに応答して、第2のコントローラの機能動作を表す有効機能符号語を含む安全メッセージを出力する。別の例では、第1のコントローラは、第2のコントローラからの安全メッセージの内容および/またはフォーマットにおける誤りの不存在を検出したことに応答して、第2のコントローラの機能動作を表す有効機能符号語を含む安全メッセージを出力する。さらに別の例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける1つまたは複数の誤りを検出したことに応答して、第2のコントローラの故障動作を表す有効故障符号語を含む安全メッセージを出力する。さらに別の例では、第1のコントローラは、所定の時間量内における第2のコントローラからの安全メッセージの不受信を検出したことに応答して、第2のコントローラの故障動作を表す有効故障符号語を含む安全メッセージを出力する。さらに別の例では、第1のコントローラは、第2のコントローラに関連づけられたメモリの内容(例えば、第2のコントローラの機能タイムアウト状態を表す上書きされた符号語)と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出したことに応答して、第2のコントローラの故障動作を表す有効故障符号語を含む安全メッセージを出力する。
【0224】
一変形例では、第1のコントローラは、類似の様式でアプリケーションプロセッサとの通信故障を検出することができる。特に、第1のコントローラおよびアプリケーションプロセッサは、第1のコントローラおよび第2のコントローラに関連して上に記載したのと類似の様式で、タイムアウトを監視し、互いとの通信内容故障を検出することができる。
【0225】
一般に、第1のコントローラは、第2のコントローラから受信される安全メッセージの内容に基づいて第2のコントローラの状態を検出することができる。例えば、第2のコントローラからの安全メッセージは、安全メッセージの第3のバイト(例えば、「M1」)においてなどで、第2のコントローラの状態(例えば、有効機能符号語、有効故障符号語)を含むことができる。したがって、第1のコントローラは、第2のコントローラとのインフラストラクチャ問題を検出することができる。
【0226】
同様に、第1のコントローラは、第2のコントローラから受信される安全メッセージの内容に基づいて入力の状態を検出することができる。例えば、第2のコントローラからの安全メッセージは、安全メッセージの第4のバイト(例えば、「I1」)においてなどで、第2のコントローラによって処理された入力の状態(例えば、有効機能符号語、有効故障符号語)を含むことができる。
【0227】
一実装形態では、第1のコントローラによって検出された入力の状態と第2のコントローラからの安全メッセージで指示された入力の状態との間の一致を検出したことに応答して、第1のコントローラは、状態が真であることを検出することができる。一変形例では、第1のコントローラによって検出された入力の状態と第2のコントローラからの安全メッセージで指示された入力の状態との間の不一致を検出したことに応答して、第1のコントローラは、入力の故障状態を検出することができる。したがって、メッセージ内の誤りの確率は、機能安全規格(例えば、IEC61784)によって要求される閾値最大誤り値よりも低く低減され、これは、干渉を受けやすい媒体(例えば、無線通信、高利用有線通信)での通信時に有益である。
【0228】
12.安全コントローラ
方法S100のブロックS126は、第1の期間中に、第3の時間量内における(例えば、第2の安全モジュール内の)第3のコントローラからの第5の安全メッセージの受信を検出したことに応答して、第7の有効機能符号語を第4のメモリに記憶することと、第4の時間量内における(例えば、第3の安全モジュール内の)第4のコントローラからの第6の安全メッセージの不受信を検出したことに応答して、第8の有効故障符号語を第5のメモリに記憶することとを記載しており、第1のコントローラで第2の期間中に第2の安全メッセージを出力することは、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第3のメモリの内容と第5の有効機能符号語との間の一致を検出したことに応答して、第1の入力の機能動作を検出したことに応答して、第4のメモリの内容と第7の有効機能符号語との間の一致を検出したことに応答して、および第5のメモリと第8の有効故障符号語との間の一致を検出したことに応答して、第2の有効機能符号語、第6の有効機能符号語、および第9の有効故障符号語を含む第2の安全メッセージを出力することを含む。
【0229】
一般に、ブロックS126で、監視期間中に、第1のコントローラは、所定の時間量内における他の安全モジュール内の被監視コントローラのセット内の各コントローラからの安全メッセージの受信(または不受信)を検出し、被監視コントローラのセット内の各コントローラに対するそれぞれのタイムアウト状態を検出し、検出された状態を検出された状態に対応する符号語に符号化し、検出された状態に基づいてメモリに有効符号語(例えば、有効機能符号語、有効故障符号語)を記憶する。
【0230】
一実装形態では、監視期間中に、第1のコントローラは、所定の時間量内における他の安全モジュール内の被監視コントローラのセット内の各コントローラからの安全メッセージの受信(または不受信)を検出する。一例では、第1のコントローラは、アプリケーションプロセッサから安全メッセージを受信することができる。
【0231】
一実装形態では、第1のコントローラは、所定の時間量内における他の安全モジュール内の被監視コントローラのセット内の各コントローラからの安全メッセージの受信を独立に検出する。一例では、第1のコントローラは、最近の安全メッセージが被監視コントローラのセット内の所与のコントローラから受信されて以来の経過時間を独立に監視し、経過時間が閾値時間内にあることを検出したことに応答して、所定の時間量内における安全メッセージの受信を検出することができる。
【0232】
一変形例では、第1のコントローラは、最近の安全メッセージが被監視コントローラのセット内の所与のコントローラから受信されて以来の経過時間を独立に監視し、経過時間が閾値時間を超過したことを検出したことに応答して、所定の時間量内における安全メッセージの不受信を検出することができる。
【0233】
いくつかの実装形態では、第1のコントローラは、異なる時刻に被監視コントローラのセットから安全メッセージを受信する。
【0234】
一実装形態では、所定の時間量および/または閾値時間は、安全規格、タイミング要件、通信プロトコル、および/または任意の他の要因に基づいて選択され得る。一変形例では、所定の時間量および/または閾値時間は、被監視コントローラのセット内の各コントローラに対して個別に選択され得る。
【0235】
一実装形態では、第1のコントローラは、所定の時間量内における安全メッセージの受信を検出したことに応答して、被監視コントローラのセット内の所与のコントローラの機能タイムアウト状態を検出する。一変形例では、第1のコントローラは、所定の時間量内における安全メッセージの不受信を検出したことに応答して、所与のコントローラの故障タイムアウト状態を検出する。
【0236】
一般に、第1のコントローラは、検出されたタイムアウト状態を検出されたタイムアウト状態に対応する符号語に符号化する。一実装形態では、有効符号語の第1のセットから検出された状態に対応する有効符号語を選択する。
【0237】
一般に、第1のコントローラは、有効符号語(例えば、有効機能符号語、有効故障符号語)をメモリに記憶する。一実装形態では、第1のコントローラは、被監視コントローラのセット内の所与のコントローラの機能タイムアウト状態を表す有効機能符号語をメモリに記憶する。一変形例では、第1のコントローラは、所与のコントローラの故障タイムアウト状態を表す有効故障符号語をメモリに記憶する。
【0238】
一変形例では、所定の時間量内における被監視コントローラのセット内の所与のコントローラからの安全メッセージの受信を検出したことに応答して、第1のコントローラは、受信された安全メッセージの内容が有効であるかどうかを検出する。一例では、第1のコントローラは、安全メッセージが誤っているかどうかを決定するために安全メッセージの内容およびフォーマットをチェックする。別の例では、第1のコントローラは、安全メッセージが
図3に指定されるデータ構造に準拠しているかどうかを検出する。さらに別の例では、第1のコントローラは、安全メッセージに含まれる符号語と記憶された有効符号語のセット内のあらゆる有効符号語との間の不一致を検出する。
【0239】
一実装形態では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける誤りの不存在を検出したことに応答して、所与のコントローラからの通信内容の機能状態を検出する。一変形例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける1つまたは複数の誤り(例えば、安全メッセージに含まれる符号語と記憶された有効符号語のセット内のあらゆる有効符号語との間の不一致)を検出したことに応答して、所与のコントローラからの通信内容の故障状態を検出する。
【0240】
一実装形態では、第1のコントローラは、タイムアウトを表す有効符号語(例えば、有効機能符号語、有効故障符号語)をメモリに、および/または所与のコントローラの内容状態をメモリに記憶する。例えば、第1のコントローラは、所定の時間量内における安全メッセージの受信を検出したことに応答して、所与のコントローラの機能タイムアウト状態を表す有効機能符号語をメモリに記憶する。別の例では、第1のコントローラは、所定の時間量内における安全メッセージの不受信を検出したことに応答して、所与のコントローラの故障タイムアウト状態を表す有効故障符号語をメモリに記憶する。さらに別の例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける誤りの不存在を検出したことに応答して、所与のコントローラの機能通信内容状態を表す有効機能符号語をメモリに記憶する。さらに別の例では、第1のコントローラは、安全メッセージの内容および/またはフォーマットにおける1つまたは複数の誤りを検出したことに応答して、所与のコントローラの故障通信内容状態を表す有効故障符号語をメモリに記憶する。さらに別の例では、第1のコントローラは、所定の時間量内における所与のコントローラから入力レジスタでの安全メッセージの不受信を検出したことに応答して、内容チェックを差し控え、所与のコントローラの故障通信内容状態を表す有効故障符号語をメモリに記憶する。
【0241】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語を記憶する。一変形例では、第1のコントローラは、外部メモリに有効符号語を記憶する。
【0242】
方法S100のブロックS126、S130は、第1の期間中に、第3の時間量内における(例えば、第2の安全モジュール内の)第3のコントローラからの第5の安全メッセージの受信を検出したことに応答して、第7の有効機能符号語を第4のメモリに記憶することと、第4の時間量内における(例えば、第3の安全モジュール内の)第4のコントローラからの第6の安全メッセージの不受信を検出したことに応答して、第8の有効故障符号語を第5のメモリに記憶することとを記載しており、第1のコントローラで第2の期間中に第2の安全メッセージを出力することは、第1のメモリの内容と第1の有効機能符号語との間の一致を検出したことに応答して、第3のメモリの内容と第5の有効機能符号語との間の一致を検出したことに応答して、第1の入力の機能動作を検出したことに応答して、第4のメモリの内容と第7の有効機能符号語との間の一致を検出したことに応答して、および第5のメモリと第8の有効故障符号語との間の一致を検出したことに応答して、第2の有効機能符号語、第6の有効機能符号語、および第9の有効故障符号語を含む第2の安全メッセージを出力することを含む。
【0243】
一般に、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうかを検出し、(i)監視期間中にメモリに記憶された符号語が有効符号語と一致するかどうか、および(ii)検出された状態、に基づいて第1のコントローラの全体的な状態を検出し、安全メッセージを出力する。
【0244】
一実装形態では、第1のコントローラは、メモリの内容と有効符号語のセットに含まれる有効符号語との間の一致を検出する。一変形例では、第1のコントローラは、メモリの内容と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出する。
【0245】
一実装形態では、第1のコントローラは、所与のコントローラに関連づけられたメモリの内容と有効符号語のセット内のあらゆる有効符号語との間の不一致を検出したことに応答して、被監視コントローラのセット内の所与のコントローラが故障タイムアウト状態にあることを指示する。例えば、第1のコントローラは、不一致を検出したことに応答して、所与のコントローラの故障タイムアウト状態を表す有効故障符号語をメモリに記憶することができる。
【0246】
一実装形態では、第1のコントローラは、サブシステムのセットの検出された状態を表す符号語に基づいて、被監視コントローラのセットの全体的なタイムアウト状態を検出する。一実装形態では、第1のコントローラは、ルールのセットに基づいて、被監視コントローラのセットの全体的なタイムアウト状態を検出する。一例では、第1のコントローラは、被監視コントローラのセット内のあらゆるコントローラを機能タイムアウト状態において検出したこと、および/または被監視コントローラのセット内のあらゆるコントローラに対する有効機能符号語をメモリに検出したことに応答して、被監視コントローラのセットの機能タイムアウト状態を検出することができる。別の例では、第1のコントローラは、被監視コントローラのセット内の1つのコントローラを故障タイムアウト状態において検出したこと、および/または被監視コントローラのセット内の1つのコントローラに対する有効故障符号語をメモリに検出したことに応答して、被監視コントローラのセットの故障状態を検出することができる。さらに別の例では、第1のコントローラは、被監視コントローラのセット内の2つ以上のコントローラを故障タイムアウト状態において検出したこと、および/または被監視コントローラのセット内の2つ以上のコントローラに対する2つ以上の有効故障符号語をメモリに検出したことに応答して、被監視コントローラのセットの故障状態を検出することができる。
【0247】
一実装形態では、第1のコントローラは、被監視コントローラのセットの機能タイムアウト状態を検出したことに応答して、被監視コントローラのセットの機能タイムアウト状態を表す有効機能符号語をメモリに記憶する。一変形例では、第1のコントローラは、被監視コントローラのセットの故障タイムアウト状態を検出したことに応答して、被監視コントローラのセットの故障タイムアウト状態を表す有効故障符号語をメモリに記憶する。
【0248】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語を記憶する。一変形例では、第1のコントローラは、外部メモリに有効符号語を記憶する。
【0249】
一変形例では、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、被監視コントローラのセットのタイムアウト状態を表す有効符号語を含む安全メッセージを出力する。一例では、第1のコントローラは、被監視コントローラのセットの機能タイムアウト状態を表す有効機能符号語を含む安全メッセージを出力することができる。別の例では、第1のコントローラは、被監視コントローラのセットの故障タイムアウト状態を表す有効故障符号語を含む安全メッセージを出力することができる。
【0250】
13.システム状態
一変形例では、ブロックS130で、第1のコントローラは、1つまたは複数の依存関係に基づいてシステムの状態(例えば、機能、故障)をさらに検出することができる。例えば、第1のコントローラは、第1のコントローラの状態、入力の状態、第2のコントローラのタイムアウト状態、第2のコントローラの状態、他の安全モジュール内の被監視コントローラのセット内のコントローラのタイムアウト状態、被監視コントローラのセット内のコントローラの通信内容状態、および/または被監視コントローラのセットのタイムアウト状態に基づいて、システムの状態を検出することができる。
【0251】
一実装形態では、コントローラは、ルールのセットに基づいて、システムの状態を検出する。一例では、第1のコントローラは、あらゆる依存関係に対する機能状態(例えば、第1のコントローラの状態、入力の状態、第2のコントローラのタイムアウト状態、第2のコントローラの状態、他の安全モジュール内の被監視コントローラのセット内のコントローラのタイムアウト状態、被監視コントローラのセット内のコントローラの通信内容状態、および/または被監視コントローラのセットのタイムアウト状態)を検出したことに応答して、システムの機能状態を検出することができる。別の例では、第1のコントローラは、任意の依存関係の故障状態を検出したことに応答して、システムの故障状態を検出することができる。さらに別の例では、第1のコントローラは、被監視コントローラのセット内の1つのコントローラに対する故障タイムアウト状態を検出したことに応答して、およびあらゆる他の依存関係に対する機能状態を検出したことに応答して、システムの機能状態を検出することができる。
【0252】
一実装形態では、第1のコントローラは、メモリ内でシステムの状態を表す有効符号語(例えば、有効機能符号語、有効故障符号語)をメモリに記憶する。一例では、第1のコントローラは、システムの機能状態を検出したことに応答して、システムの機能状態を表す有効機能符号語をメモリに記憶する。別の例では、第1のコントローラは、システムの故障状態を検出したことに応答して、システムの故障状態を表す有効故障符号語をメモリに記憶する。
【0253】
一実装形態では、第1のコントローラは、第1のコントローラ内のフラッシュメモリに有効符号語を記憶する。一変形例では、第1のコントローラは、外部メモリに有効符号語を記憶する。
【0254】
一変形例では、ブロックS130で、監視期間の後の評価期間中に、第1のコントローラは、上記のようにシステムの検出された状態を表す有効符号語を含む安全メッセージを出力する。一例では、第1のコントローラは、システムの機能状態を表す有効機能符号語を含む安全メッセージを出力することができる。別の例では、第1のコントローラは、システムの故障状態を表す有効故障符号語を含む安全メッセージを出力することができる。
【0255】
したがって、第1のコントローラは、複数の状態の組合せを単一の状態インジケータに還元することにより、大規模なネットワークにおいて通信を合理化し機能安全規格を維持することができる。
【0256】
14.第2のコントローラ
一実装形態では、第2のコントローラは、第1のコントローラに関連して上に記載したのと類似(例えば、同様、同一)の様式で、方法S100のブロックS110、S120、S122、S124、S126、S130、S140、S142を実行する。
【0257】
15.アプリケーションプロセッサ
ブロックS150は、第1の安全メッセージおよび第3の安全メッセージを受信することと、第1の安全メッセージ内の第4の有効機能符号語および第3の安全メッセージ内の第8の有効機能符号語を検出したことに応答して、システムの機能状態を表す第9の有効機能符号語を含む第5の安全メッセージを出力することと、第4の期間の後の第6の期間中に、アプリケーションプロセッサで、第2の安全メッセージおよび第4の安全メッセージを受信することと、第2の安全メッセージ内の第4の有効故障符号語および第4の安全メッセージ内の第8の有効機能符号語を検出したことに応答して、システムの故障状態を表し第9の有効機能符号語からの第9の最小ハミング距離によって特徴づけられる第9の有効故障符号語を含む第6の安全メッセージを出力することとを記載している。
【0258】
一般に、ブロックS150で、評価期間の後に、アプリケーションプロセッサは、第1のコントローラおよび第2のコントローラから安全メッセージを受信し、第1のコントローラおよび/または第2のコントローラからの安全メッセージを連結された安全メッセージへと連結し、安全メッセージを(例えば、ネットワークを通じて別の安全モジュールに)出力する。
【0259】
一実装形態では、アプリケーションプロセッサは、第1のコントローラからの第1の安全メッセージおよび第2のコントローラからの第2の安全メッセージを解析し、解析の結果に基づいて新規の安全メッセージを出力する。
【0260】
一実装形態では、アプリケーションプロセッサは、第1のコントローラからの機能状態を示す第1の安全メッセージと、第2のコントローラからの機能状態を示す第2の安全メッセージとを受信したことに応答して、機能状態を示す安全メッセージを出力する。例えば、アプリケーションプロセッサは、第1のコントローラからの機能状態(例えば、有効機能符号語)を示す第1の安全メッセージと、第2のコントローラからの機能状態(例えば、有効機能符号語)を示す第2の安全メッセージとを受信したことに応答して、システムの機能状態を表す有効機能符号語を含む安全メッセージを出力することができる。
【0261】
一変形例では、アプリケーションプロセッサは、第1のコントローラからの機能状態を示す第1の安全メッセージと、第2のコントローラからの故障状態を示す第2の安全メッセージとを受信したことに応答して、故障状態を示す安全メッセージを出力することができる。例えば、アプリケーションプロセッサは、第1のコントローラからの機能状態(例えば、有効機能符号語)を示す第1の安全メッセージと、第2のコントローラからの故障状態(例えば、有効故障符号語)を示す第2の安全メッセージとを受信したことに応答して、システムの故障状態を表す有効故障符号語を含む安全メッセージを出力することができる。
【0262】
別の変形例では、アプリケーションプロセッサは、所定の時間量内における第1のコントローラおよび/または第2のコントローラからの安全メッセージの不受信を検出したことに応答して、故障状態を示す安全メッセージを出力することができる。例えば、アプリケーションプロセッサは、第1の時間量内における第1のコントローラからの第1の安全メッセージの不受信を検出したこと、または第2の時間量内における第2のコントローラからの第2の安全メッセージの不受信を検出したことに応答して、システムの故障状態を表す有効故障符号語を含む安全メッセージを出力することができる。
【0263】
一実装形態では、アプリケーションプロセッサは、システムの機能状態を表す有効機能符号語と、システムの故障状態を表し互いからの最小ハミング距離(例えば、4)によって特徴づけられる有効故障符号語とを実装する。
【0264】
一実装形態では、アプリケーションプロセッサは、安全メッセージを(例えば、ネットワークを通じて別の安全モジュールから)受信し、受信された安全メッセージ内の情報を、第1のコントローラに対する第1の安全メッセージと、第2のコントローラに対する第2の安全メッセージとに分離し、第1の安全メッセージを第1のコントローラに出力し、第2の安全メッセージを第2のコントローラに出力する。
【0265】
本明細書に記載されるシステムおよび方法は、コンピュータ可読命令を記憶するコンピュータ可読媒体を受け入れるように構成された機械として少なくとも部分的に実施および/または実装され得る。命令は、アプリケーション、アプレット、ホスト、サーバ、ネットワーク、ウェブサイト、通信サービス、通信インタフェース、ユーザコンピュータもしくはモバイルデバイスのハードウェア/ファームウェア/ソフトウェア要素、リストバンド、スマートフォン、またはそれらの任意の適切な組合せと統合されたコンピュータ実行可能コンポーネントによって実行され得る。実施形態の他のシステムおよび方法は、コンピュータ可読命令を記憶するコンピュータ可読媒体を受け入れるように構成された機械として少なくとも部分的に実施および/または実装され得る。命令は、上記の種類の装置およびネットワークと統合されたコンピュータ実行可能コンポーネントによって統合されたコンピュータ実行可能コンポーネントによって実行され得る。コンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、光デバイス(CDまたはDVD)、ハードドライブ、フロッピードライブ、または任意の適切なデバイスなどの任意の適切なコンピュータ可読媒体上に記憶され得る。コンピュータ実行可能コンポーネントはプロセッサであり得るが、任意の適切な専用ハードウェアデバイスが命令を(代替的または追加的に)実行することができる。
【0266】
当業者は前述の詳細な説明から、ならびに図面および特許請求の範囲から認識するであろうが、下記の特許請求の範囲に規定される本発明の範囲から逸脱することなく、本発明の実施形態に修正および変更がなされ得る。
【国際調査報告】