JP2015130668A - 送信システムエラー検出および訂正のシステムおよび方法 - Google Patents

送信システムエラー検出および訂正のシステムおよび方法 Download PDF

Info

Publication number
JP2015130668A
JP2015130668A JP2014261431A JP2014261431A JP2015130668A JP 2015130668 A JP2015130668 A JP 2015130668A JP 2014261431 A JP2014261431 A JP 2014261431A JP 2014261431 A JP2014261431 A JP 2014261431A JP 2015130668 A JP2015130668 A JP 2015130668A
Authority
JP
Japan
Prior art keywords
communication signal
error
programmable logic
logic device
comparing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014261431A
Other languages
English (en)
Other versions
JP6635653B2 (ja
JP2015130668A5 (ja
Inventor
リチャード・ジョセフ・グローサー,ジュニア
Joseph Glosser Richard Jr
マイケル・グリン・ワイズ
Glynn Wise Michael
スティーブン・ジェイムズ・シュミット
James Schmitt Steven
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of JP2015130668A publication Critical patent/JP2015130668A/ja
Publication of JP2015130668A5 publication Critical patent/JP2015130668A5/ja
Application granted granted Critical
Publication of JP6635653B2 publication Critical patent/JP6635653B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/203Details of error rate determination, e.g. BER, FER or WER
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica

Abstract

【課題】送信システムエラー検出および訂正。【解決手段】リアルタイムエラー訂正のために、第2のプログラマブルロジックデバイスから第1のシリアルリンクを介して第1のプログラマブルロジックデバイスで第1の通信信号を受信し、第2のプログラマブルロジックデバイスから第2のシリアルリンクを介して第1のプログラマブルロジックデバイスで第2の通信信号を受信する。第1のシリアルリンクおよび第2のシリアルリンクは並行に配置され、単一のルートを介して通信し、第1および第2の通信信号は同一の情報を表す。第1のプログラマブルロジックデバイスにおいて第1と第2の通信信号を比較して第1の通信信号、第2の通信信号、またはその両方でデータ内のエラーを検出し、エラーが検出されたときに、第1と第2の通信信号の比較に少なくとも部分的に基づいて第1のプログラマブルロジックデバイスでリアルタイムでエラーを訂正する。【選択図】図1

Description

本明細書で開示される主題は、送信システムに関し、より具体的には、データ送信システムのためのハードウェアシリアルリンク故障検出システムに関する。
一般に、データ送信システムは、ある入力/出力(I/O)デバイスから別のI/Oデバイスにデータを転送するために使用され得る。たとえば、送信システムは、タービン、発電機、コンプレッサ、コンバスタなどの様々なデバイスとインターフェースをとり、制御する様々な工業用コントローラの間の通信を円滑化するために、工業用制御システムで使用され得る。より具体的には、送信システムは、コントローラが制御コマンドなどのデータを互いに通信することを可能にすることができる。たとえば、第1のコントローラは、第2のコントローラに制御コマンドを送信して送信システムを介してタービンの稼働を開始することができる。したがって、送信システムの信頼性を向上させることは有益であることになる。
米国特許第7642748号公報
出願時に特許請求された発明の範囲に準じたある種の実施形態が、以下に要約される。これらの実施形態は、特許請求されている発明の範囲を限定するものではなく、そうではなくて、これらの実施形態は、本発明の起こり得る形の簡潔な概要を提供することのみを意図されている。実際、本発明は、以下に記載の実施形態と同様のまたはそれらとは異なり得る様々な形を包含し得る。
第1の実施形態は、第2のプログラマブルロジックデバイスから第1のシリアルリンクを介して第1のプログラマブルロジックデバイスで第1の通信信号を受信するステップと、第2のプログラマブルロジックデバイスから第2のシリアルリンクを介して第1のプログラマブルロジックデバイスで第2の信号を受信するステップとを含むデータ送信システムでのリアルタイムエラー訂正のための方法であって、第1のシリアルリンクおよび第2のシリアルリンクが互いに並行に配置され、単一のルートを介して通信するように構成され、第1の通信信号および第2の通信信号が同一の情報を表す、方法が説明される。本方法は、第1のプログラマブルロジックデバイスにおいて第1の通信信号と第2の通信信号を比較して第1の通信信号、第2の通信信号、またはその両方でデータ内のエラーを検出するステップと、エラーが検出されたときに、第1の通信信号と第2の通信信号の比較に少なくとも部分的に基づいて第1のプログラマブルロジックデバイスでリアルタイムでエラーを訂正するステップとをさらに含む。
第2の実施形態は、プログラマブルロジックデバイスを含むデータ送信システムを説明する。そのプログラマブルロジックデバイスは、第1のシリアルポートが第1のシリアルリンクから第1の送信信号を受信する、第1のシリアルリンクに通信可能に結合された第1のシリアルポートと、第2のシリアルポートが第2のシリアルリンクから第2の送信信号を受信する、第2のシリアルリンクに通信可能に結合された第2のシリアルポートとを含む。第1のシリアルリンクおよび第2のシリアルリンクは、互いに並行に配置され、単一のルートを介して通信し、第1の通信信号および第2の通信信号は同一の情報を表す。そのプログラマブルロジックデバイスは、第1の通信信号と第2の通信信号を比較して第1の通信信号、第2の通信信号、またはその両方に含まれるデータ内のエラーを検出するために、エラーが検出されたときに、第1の通信信号と第2の通信信号の比較に少なくとも部分的に基づいてリアルタイムでエラーを訂正するために、回路を含む。
第3の実施形態は、送信された第1の通信信号と第2の通信信号を比較することによってプログラマブルロジックデバイスで第1の通信信号、第2の通信信号、またはその両方において表されたデータ内のエラーを検出するステップを含む、データ送信システムを動作させるための方法を説明し、第1の通信信号および第2の通信信号はプログラマブルロジックデバイスによって並行して受信され、第1の通信信号および第2の通信信号は同一の情報を表し、エラーの検出はそのプログラマブルロジックデバイス内のハードウェア検出のみを含む。本方法は、エラーが検出された場合に、そのエラーのタイプを判定するステップと、エラーのタイプ、第1の通信信号、第2の通信信号、またはそれらの任意の組合せに少なくとも部分的に基づいて、プログラマブルロジックデバイスでエラーを訂正するステップとをさらに含む。
本発明のこれらのおよび他の特徴、態様、および利点は、以下のような、同様の文字が図面を通して同様の部分を表す、添付の図面を参照して、以下の詳細な説明が読まれるときに、よりよく理解されよう。
一実施形態による、データ送信システムの概略図である。 一実施形態による、図1に示すデータ送信システム内のコントローラのブロック図である。 一実施形態による、三重モジュール式冗長コントローラのブロック図である。 一実施形態による、通信信号のブロック図である。 一実施形態による、通信信号をデータ送信システムに送信するためのプロセスを示す流れ図である。 一実施形態による、通信信号をデータ送信システムから受信するためのプロセスを示す流れ図である。 一実施形態による、シリアルリンクにおいて故障を検出するためのプロセスを示す流れ図である。 一実施形態による、受信された通信信号内のエラーを検出および訂正するためのプロセスを示す流れ図である。
本発明の1つまたは複数の特定の実施形態が、以下に説明される。これらの実施形態の簡潔な説明を提供することを目的として、実際の実装形態のすべての特徴は本明細書には記載されないことがある。任意のそのような実際の実装形態の開発では、いずれの工学または設計プロジェクトでもそうであるように、多数の実装形態特有の決定が、実装形態によって変わり得るシステム関連およびビジネス関連の制約の順守などの開発者の特有の目的を達成するために行われる必要があることを理解されたい。さらに、そのような開発の努力は、複雑で、時間を要することがあるが、それでもなお、本開示の利益を有する当業者の設計、製作、および製造の通常業務となろうことを理解されたい。
本発明の様々な実施形態の要素を紹介するとき、「1つの(a、an)」、「その(the)」および「前記(said)」という冠詞は、1つまたは複数のその要素が存在することを意味するものである。「備える」、「含む」、および「有する」という用語は、包括的であり、挙げられた要素以外の追加の要素が存在し得ることを意味するものである。
データ送信システムは、しばしば、工業用制御システムおよび自動化システムなどのシステム内で使用されてそのシステム内の様々な入力/出力(I/O)デバイス間の通信を円滑化する。たとえば、データ送信システムは、様々なコントローラが互いにデータを通信することを可能にすることができる。一般に、コントローラは、タービン、発電機、コンプレッサ、コンバスタ、センサ、ポンプ、バルブ、他の野外装置などの様々なデバイスとインターフェースをとり、制御する。したがって、コントローラによって通信されるデータは、制御されたデバイスによって集められたデータ、制御コマンド、デバイス状況などを含み得る。データ送信システムを使用し得るシステムの特質により、そのようなデータ送信システムの信頼性を向上させることは有益となろう。
データ送信システムの信頼性を向上させるための1つの技法は、プロセス制御のためのオブジェクトのリンクと埋め込み(Object Linking and Embedding for Process Control、OPC)、モドバス(Modbus)、ファウンデーションフィールドバス、プロセスフィールドバス、および/またはBACnetなどの様々な通信プロトコルの使用を含み得る。一般に、これらの通信プロトコルは、何らかのソフトウェア監視および処理を使用し得る。たとえば、ファウンデーションフィールドバスを使用するとき、ある一定のレベルの処理が、データを送信および受信するための機能ブロックを実行するために使用され得る。しかし、いくつかのI/Oデバイスは、そのようなプロトコルのための所望の処理能力を含まないことがあるので、本開示は処理能力にかかわらずI/Oデバイスのための送信システムの信頼性を向上させるための実施形態を含む。したがって、本明細書に記載の技法は、安全システム適用例を含む、様々な適用例における通信のための低レベルのシリアルリンクを実現する。低レベルのシリアルリンクは、より少ない処理および資源(たとえば、ソフトウェアおよびハードウェア資源)を使用し、その上で、SIL1、2、3、および/または4を含む所望の安全完全性レベル(SIL)証明を満たすために適切な動作を提供することができる。ある種の実施形態において、低レベルのシリアルリンクは、ハードウェア故障検出方式を適用して、処理および他の資源の使用を低減するのに適した所望の安全証明を実現することができる。
したがって、第1の実施形態は、プログラマブルロジックデバイスを含むフォールトトレラント送信システムを示す。そのプログラマブルロジックデバイスは、第1のシリアルポートが第1のシリアルリンクから第1の送信信号を受信する、第1のシリアルリンクに通信可能に結合された第1のシリアルポートと、第2のシリアルポートが第2のシリアルリンクから第2の送信信号を受信する、第2のシリアルリンクに通信可能に結合された第2のシリアルポートとを含む。第1のシリアルリンクおよび第2のシリアルリンクは、互いに並行に配置され、第1の単一のルートを介して通信し、第1の通信信号および第2の通信信号は同一の情報を表す。そのプログラマブルロジックデバイスは、第1の通信信号と第2の通信信号を比較することによって第1のシリアルリンク、第2のシリアルリンク、またはその両方で故障を検出し、故障が検出された場合には、送信システムがその故障にかかわらず動作を継続することができるかどうかを判定する、回路をさらに含む。言い換えれば、同情報を表すパラレル通信信号の受信は、様々なデバイス間の通信リンク(たとえば、シリアルリンク)における故障の検出を可能にする。さらに、本送信システムは、検出された故障に知的に反応することによって、よりフォールトトレラントであり得る。
したがって、第2の実施形態は、プログラマブルロジックデバイスを含むデータ送信システムを示す。そのプログラマブルロジックデバイスは、第1のシリアルポートが第1のシリアルリンクから第1の送信信号を受信する、第1のシリアルリンクに通信可能に結合された第1のシリアルポートと、第2のシリアルポートが第2のシリアルリンクから第2の送信信号を受信する、第2のシリアルリンクに通信可能に結合された第2のシリアルポートとを含む。第1のシリアルリンクおよび第2のシリアルリンクは、互いに並行に配置され、単一のルートを介して通信し、第1の通信信号および第2の通信信号は同一の情報を表す。そのプログラマブルロジックデバイスは、第1の通信信号と第2の通信信号を比較して第1の通信信号、第2の通信信号、またはその両方に含まれるデータ内のエラーを検出し、エラーが検出されたときには、第1の通信信号と第2の通信信号の比較に少なくとも部分的に基づいてリアルタイムでエラーを訂正するために、回路をさらに含む。言い換えれば、同情報を表すパラレル通信信号の受信は、通信信号のエラーの検出およびリアルタイム訂正を可能にする。本明細書では、「リアルタイム」は、先行するステップに直ちに続くことを意味するものである。たとえば、エラー訂正は、エラーが検出されるとすぐに開始し得る。
以下にさらに詳しく説明するように、いくつかの実施形態では、データ送信システムは、ソフトウェア監視を殆どまたは全く有さずにハードウェアを使用して送信システムの信頼性を向上させることができる。その結果、データ送信システムの信頼性の向上が、プロセッサを有するI/Oデバイスおよびプロセッサを有さないI/Oデバイスに実現され得る。さらに、本明細書に記載の技法は、I/Oデバイスが国際電気標準会議(International Electrotechnical Commission、IEC)61508に準拠することを可能にし、いくつかの実施形態では、SIL1、2、3、および/または4証明を満たすことを可能にする。
前置きとして、図1は、工業用制御システム12内に配置されたデータ送信システム10の一実施形態を示す。工業用制御システム12は、工業用制御システム12内の様々なデバイスと各々がインターフェースをとり、制御することができる複数のコントローラ14を含む。図示するように、第1のコントローラは、タービン16(たとえば、ガスタービン、蒸気タービン、水力タービン)に結合され、制御し、センサ18に通信可能に結合され、第2のコントローラは、バルブ20およびポンプ22に結合され、それを制御する。他の実施形態では、コントローラ14は、コンバスタ、発電機、および他のターボ機械など、工業用制御システム12内の他のデバイスに結合され、制御することができる。
さらに、図示するように、コントローラ14は、データ送信システム10を介して互いに通信することができる。工業用制御システム12のいくつかの実施形態では、データ送信システム10は、高速イーサネット(登録商標)(HSE)ネットワークまたはH1ネットワークを含み得る。しかし、以下にさらに詳しく説明するように、本明細書に記載の技法は、任意の直列二地点間構造を使用することができる。データ送信システム10を使用することによって、コントローラ14は、接続されたデバイスの状況、収集された測定結果、および制御コマンドなどの様々なタイプのデータを通信することができる。たとえば、第1のコントローラは、データ送信システム10を介して第2のコントローラにセンサ18によって収集された測定結果を送信することができる。それに応答して、第2のコントローラは、タービン16の動作を修正するように第1のコントローラに命令する制御コマンドを送信することができる。したがって、通信、接続されたデバイスの制御、およびコントローラの他の様々な機能を円滑化するために、コントローラ14は、1つまたは複数のプロセッサ24と、1つまたは複数のプロセッサ24によって実行可能な非一時的機械可読命令を記憶することができるメモリ26とを含む。
データ送信システム10の一実施形態の詳細な表示が、図2に示される。図示するように、各コントローラ14は、データ送信サブシステム15を含む。いくつかの実施形態では、データ送信サブシステム15は、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックアレイ、汎用アレイロジック、またはそれらの任意の組合せなど、プログラマブルロジックデバイスでもよい。他の実施形態では、サブシステム15は、特定用途向け集積回路でもよい。加えて、データ送信サブシステム15は、各コントローラ14のハードウェアサブシステムとして(たとえば、ホットスワップ可能なカードとして)含まれ得る。サブシステム15を含み得るコントローラ14の一例は、ニューヨークのGeneral Electric Company of Schenectadyによって入手可能にされたMark VIeコントロールシステムである。
図示された実施形態では、データ送信サブシステム15によって実行される機能は、コントローラプロセッサ24および/またはメモリ26によって実行することができる機能ブロックとして表される。図示するように、サブシステム15は、時計システム(機能ブロック27)、フリーランニングカウンタ(FRC)(機能ブロック28)、データI/O(機能ブロック30)、データ比較/複製(機能ブロック32)、および、コントローラ14をデータ送信システム10に結合させるパラレルI/Oポート(機能ブロック34および36)を含む。以下にさらに詳しく説明するように、FRC28は、タイミングデータを生成して通信信号の時刻同期を可能にすることができ、データI/O30は通信信号を生成することができ、データ比較/複製32は、通信信号を複製し、通信リンク(たとえば、シリアルリンク)内の故障を検出し、受信された通信信号内のエラーを検出/訂正することができる。
さらに、図示するように、送信システム10は、単一のルート(たとえば、ケーブル)38と、ルート38のいずれかの末端部に結合されたパラレルシリアル送受信機40および42とを含む。より具体的には、シリアル送受信機40および42は、I/Oポート34および36とインターフェースし、コントローラ14がサブシステム15を介して他のコントローラ14と通信することを可能にする。シリアル送受信機40および42は、RS−232送受信機、RS−485送受信機、差動バス送受信機、シングルエンド送受信機、または他の低レベルのシリアル送受信機でもよい。いくつかの実施形態では、1つのみのケーブル(たとえば、キャット5、キャット5e、またはキャット6)が使用されて、2つのサブシステム15を接続し、それによってルートおよび関連機器を最小限に抑える。他の実施形態では、複数のケーブルが使用され得る。いくつかの実施形態では、シリアル送受信機40および42は、無線周波数よりも低い周波数で通信信号を送信して、無線周波数に起因する信号内のノイズの量を最小限に抑えることができる。たとえば、シリアル送受信機40および42は、1〜20MHz、20〜30MHz、30〜40MHz、40〜50MHz、50〜60、60〜100MHz、またはそれらの任意の組合せの間で通信して、1〜20Mbit/秒、20〜30Mbit/秒、30〜40Mbit/秒、40〜50Mbit/秒、50〜60Mbit/秒、60〜100Mbit/秒またはそれらの任意の組合せの間のデータ送信を可能にすることができる。
明確に図示されていないが、単一のルート38は、シリアル送受信機40を結合する第1のシリアルリンクと、並行してシリアル送受信機42を結合させる第2のシリアルリンクとを含む。より具体的には、第1のおよび第2のシリアルリンクは、コントローラ14間の通信信号のパラレル送信を可能にすることができる。たとえば、第1の通信信号は第1のシリアルリンクを介して送信することができ、第2の通信信号は、並行して、そしてほぼ同時に、第2のシリアルリンクを介して送信することができる。以下にさらに詳しく説明するように、第1の通信信号および第2の通信は、同情報を表すことができ、シリアルリンク内の故障の検出および通信信号内のエラーの検出/訂正を円滑化する。いくつかの実施形態では、適切なルート38は、4つのワイヤを第1のシリアルリンクのために使用することおよび4つのワイヤを第2のシリアルリンクのために使用することを可能にする8つのシリアルワイヤを含むので、適切なルート38は、カテゴリ5(キャット5)ケーブルでもよい。他の実施形態では、第1のシリアルリンクおよび第2のシリアルリンクは、別個のルートで含まれ得る。さらに、図示するように、単一のルート38は、1つのコントローラを別のコントローラに結合させ、それによって、直列二地点間構造をセットする。本明細書では、「二地点間構造」は、1つのデバイスが別のデバイスに直接に結合される場合を述べている。言い換えれば、いくつかの実施形態では、コントローラ14は、ルート38を介してのみ通信することができ、他方のコントローラ14の識別、通信信号の送信時間、通信信号の順序、またはそれらの任意の組合せを両方のコントローラ14が予定する(たとえば、予想するまたは期待する)ことを可能にする。そのような構造は、1〜10メートル離れて、10〜20メートル離れて、20〜30メートル離れて、30〜40メートル離れて、40〜100メートル離れて、またはそれらの任意の組合せで置かれたデバイスの間の通信に適切であり得る。
いくつかの実施形態では、コントローラ14は、図3に示すような三重モジュール式冗長(TMR)コントローラ14でもよい。一般に、TMRコントローラ14は、3つのコアを使用することによって、信頼性を向上させることができる。より具体的には、図示するように、TMRコントローラ14は、各々がほぼ同じに機能するRコア46、Sコア48、およびTコア50を含む。それにより、TMRコントローラ14は、投票方式を介して動作して、正常に動作しないコア(たとえば、46、48、または50)の影響を低減する。
図示するように、TMRコントローラ14内のRコア46は第1の送信システム52によって結合され、Sコア48は第2の送信システム54によって結合され、Tコースは第3の送信システム56によって結合される。より具体的には、いくつかの実施形態では、各々の送信システム(たとえば、52、54、および56)は、たとえば、データ送信サブシステム15を含むこと、および、互いにほぼ独立して動作することによって、前述のデータ送信システム10と同様に機能することができる。より具体的には、各送信システム(たとえば、52、54、および56)は、各ペアのコアの間の通信信号のパラレル送信を可能にするために、第1のおよび第2のシリアルリンク(または、サブシステム15の任意の他の構成要素)を含み得る。言い換えれば、第1の送信システム52はRコア46間でパラレル通信信号(たとえば、2つ以上の同一のデータ送信)を送信することができ、第2の送信システム54はSコア48間でパラレル通信信号を送信することができ、第3の送信システム56はTコア50間でパラレル通信信号を送信することができる。加えて、前述のように、第1のおよび第2のシリアルリンクは、単一のまたは2つの別個のルート内に含まれ得る。したがって、図3に示す実施形態では、3つの別個のルートまたは6つの別個のルートが使用され得る。別法として、すべての6つのシリアルリンクが、単一のルートに含まれ得る。
データ送信システム10を介してコントローラ14間で送信され得る通信信号58の一実施形態が、図4に示される。図示するように、通信信号58は、通信信号データ60、順序番号62、タイミングデータ64、送信者ID66、および、エラー検査データ68を含む。通信信号データ60は、コントローラ14間で通信されることを意図されたデータを含み得る。たとえば、通信信号データ60は、制御コマンド、ログインデータ、認証データ、投票データ、測定データ、デバイス状況などを含み得る。
順序番号62は、通信信号58が送信された順番を表すことができる。いくつかの実施形態では、順序番号62は、通信信号58のヘッダ内に含まれ得る。したがって、順序番号58は、受信コントローラ14が通信信号58が送信された順番を判定することを可能にすることができる。
前述のように、タイミングデータ64は、通信信号58の時刻同期を可能にするために、FRC28によって生成され得る。たとえば、いくつかの実施形態では、タイミングデータ64は、FRC28でのカウントを表す一意の文字でもよい。それにより、送信および受信コントローラ14内のFRC28が同期される場合、タイミングデータ64は通信信号58がいつ送信されたかを受信コントローラ14が判定することを可能にする。
送信者ID66は、送信コントローラ14を識別することができる。たとえば、いくつかの実施形態では、送信者IDは、媒体アクセス制御(MAC)アドレス、所有権を主張できる一意のモジュールIDコード、または他の同様の一意の識別子でもよい。いくつかの実施形態では、所有権を主張できる一意のモジュールIDコードは、データコードを含む一意の通し番号を含み得る。したがって、送信者ID66は、受信コントローラ14が送信コントローラ14の識別を判定することを可能にすることができる。
エラー検査データ68は、巡回冗長検査、チェックサム、暗号学的ハッシュ関数、または同様のものなどのエラー検査技法を円滑化するデータを含み得る。たとえば、巡回冗長検査が使用される場合、エラー検査データ68は、通信信号58の多項式除法の余りを含み得る。動作中、送信コントローラ14は、エラー検査技法を実行し、通信信号58でエラー検査データ68(たとえば、チェックサム)をコード化することができる。その結果、受信コントローラ14は、エラー検査技法を繰り返すこと、およびその結果をエラー検査データ68と突き合わせること(たとえば、新たにチェックサムを計算すること、および、送信されたチェックサムで計算を確認すること)によって、エラー/故障を検出することができる。
前述のように、送信システム10は、コントローラ14間で通信信号58を送信することを可能にする。図5は、パラレル通信信号を送信するために、送信コントローラ14、および、より具体的には、データ送信サブシステム15(たとえば、プログラマブルロジックデバイス)によって使用され得る、プロセス70の一実施形態を示す。プロセス70は、メモリ26に記憶されたおよびプロセッサ24によって実行される非一時的機械可読命令またはコードによって、実装され得る。図示された実施形態では、プロセス70は、通信信号データを生成すること(プロセスブロック74)、順序番号をコード化すること(プロセスブロック76)、タイミングデータをコード化すること(プロセスブロック78)、送信者IDをコード化すること(プロセスブロック80)、およびエラーデータをコード化すること(プロセスブロック82)を含む第1の通信信号の生成(大括弧72)によって、開始する。プロセス70は、第2の通信信号を生成すること(プロセスブロック84)、および第1のシリアルリンクで第1の通信信号を(プロセスブロック86)そして第2のシリアルリンクで第2の通信信号を(プロセスブロック88)並行して送信することによって、継続する。
より具体的には、第1の通信信号は、データI/O30によって生成され得る。通信信号データ60を生成するために(プロセスブロック74)、データI/O30は、第1の通信信号で送信するためのデータを収集することができる。たとえば、デバイス状況が送信されようとするとき、データI/O30は、それの状況について接続されたデバイス(たとえば、16、20または22)をポーリングすること、または、デバイスを監視するセンサ(たとえば、18)から測定結果を検索することができる。順序番号62をコード化するために(プロセスブロック76)、データI/O30は、各通信信号が送信されると値を増加させる逐次カウンタを含み得る。それにより、カウンタからのカウントが、通信信号58が送信される順番を表すために、順序番号62として含まれ得る。送信者ID66をコード化するために(プロセスブロック80)、データI/O30は、送信コントローラのメモリ26からその送信コントローラを識別する記憶された一意の識別子を検索することができる。
タイミングデータ64をコード化するために(プロセスブロック78)、データI/O30は、FRC28からタイミングデータ64を受信することができる。より具体的には、FRC28は、システム時計27から受信されたタイミング信号に基づいて、タイミングデータ64を生成することができる。たとえば、FRC28は、そのタイミング信号に基づいてカウントアップし、それが特定のカウントに到達した後は、カウントをリセットすることができる。通信信号58が送信されようとするときのカウントに基づいて、FRC28は、そのカウントを表す一意の文字を出力することができる。それにより、通信信号58が受信されるとき、受信コントローラは、それ自体のFRC28内のカウントとその一意の文字を比較して、いつ送信信号58が送信されたかを判定することができる。
エラー検査データ68をコード化するために(プロセスブロック82)、データI/O30は、巡回冗長検査、チェックサム、暗号学的ハッシュ関数、または同様のものなどのデータ検査方法を実行することができる。たとえば、巡回冗長検査が使用される場合、データI/O30は、通信信号58、またはより具体的には通信信号データ60、で多項式除法を実行し、その多項式除法の余りをエラー検査データ68としてコード化することができる。それにより、受信コントローラ14は、そのエラー検査技法を繰り返すことおよびその結果をエラー検査データ68と突き合わせることによって、エラーを検出することができる。他の実施形態では、順序番号62をコード化すること(プロセスブロック76)、タイミングデータ64をコード化すること(プロセスブロック76)、送信者ID66をコード化すること(プロセスブロック76)、およびエラー検査データ68をコード化すること(プロセスブロック76)は、任意の順序で実行され得る。
第1の通信信号は、次いで、データI/O30からデータ比較/複製32に渡されて、第2の通信信号を生成することができる(プロセスブロック84)。より具体的には、データ比較/複製32は、たとえば第1の通信信号を複製することによって、同情報を第1の通信信号として表すために、第2の通信信号を生成することができる。加えてまたは別法として、第2の通信信号を生成するために、データ比較/複製32は、第1の通信信号を反転させること(たとえば、「1」を「0」に、またはその逆に変更する)、または第1の通信信号を逆転させること(たとえば、第1の通信信号の最上位ビットを第2の通信信号の最下位ビットとして置くことなど)ができる。たとえば、第1の通信信号が「10011100」である場合、逆転された第2の通信信号は「00111001」でもよく、反転された第2の信号は「01100011」でもよい。
第1の通信信号の逆転および/または反転は、シリアルリンクにおける故障の検出および/または送信されるデータにおけるエラーの検出/訂正を円滑化することができる。たとえば、通信信号が反転される場合、それらの通信信号のうちの1つの通信信号内のエラーは、第1の通信信号と第2の通信信号内のビットが両方とも「高い」または両方とも「低い」ときに検出され得る。また、第2の通信信号が逆転される場合、エラーは、第1の通信信号の最上位ビットが第2の通信信号の最下位ビットと一致しないときに検出され得る。さらに、エラーは、第1の通信信号の誤りのあるビットを第2の通信信号からの誤りのないビットで置き換えることによって、訂正され得る。
第1の通信信号は、データ比較/複製32から第1のI/Oポート34に渡されて第1のシリアルリンクを介して送信することができ(プロセスブロック86)、第2の通信信号は、第2のシリアルリンクを介してデータ比較/複製32から第2のI/Oポート36に渡すことができる(プロセスブロック88)。以下にさらに詳しく説明するように、シリアルリンク故障検出およびデータエラー検出/訂正を円滑化するために、第1の通信信号および第2の通信信号は、並行して、ほぼ同時に、送信され得る。
送信システム10の受信側では、送信された通信信号58が、受信コントローラ14によって受信される。図6は、たとえば単一のルート(たとえば、キャット5ケーブル)で、パラレル通信信号58を受信するために、受信コントローラ14、より具体的にはデータ送信サブシステム15(たとえば、プログラマブルロジックデバイス)、によって使用され得るプロセス90の一実施形態を示す。プロセス90は、メモリ26に記憶された、プロセッサ24によって実行される非一時的機械可読命令またはコードによって、実装され得る。図示するように、プロセス90は、第1の通信信号を待つこと(プロセスブロック92)および第2の通信信号を待つこと(プロセスブロック94)によって、開始する。第1の通信信号が受信され(プロセスブロック96)、第2の通信信号が受信される(プロセスブロック98)場合、第1の通信信号と第2の通信信号が比較され(大括弧100)、これは、ビット単位の一致について第1の通信信号と第2の通信信号を比較すること(プロセスブロック102)、コード化された順序番号を比較すること(プロセスブロック104)、コード化されたタイミングデータを比較すること(プロセスブロック106)、送信者IDを比較すること(プロセスブロック108)、および、コード化されたエラー検査データを比較すること(プロセスブロック110)を含み得る。
より具体的には、データ比較/複製32は、第1のI/Oポート34を介する第1の通信信号の受信を待つこと(プロセスブロック92)、および第2のI/Oポート36を介する第2の通信信号の受信を待つこと(プロセスブロック94)を待つことができる。いくつかの実施形態では、これは、定期的にスケジュールされた通信信号58のウォッチドッグタイムアウトを使用することを含み得る。言い換えれば、データ比較/複製32は、スケジュールされた通信信号58の期待される到達時間など、所定の時間待つことができ、通信信号58がその時間内に受信されない場合には、データ比較/複製信号58は、タイムアウト信号を出力することができる。いくつかの実施形態では、前述のように、二地点間構造の使用は、コントローラ14が前の通信信号58の実際の到達時間を調べることを可能にすることができるので、期待される到達時間は、受信コントローラ14によって予定することができる。したがって、図2に示すように、データ比較/複製32は、時計システム27に結合されてタイミング信号を受信する。いくつかの実施形態では、通信信号58は、1〜5ミリ秒、5〜8ミリ秒、8〜10ミリ秒、10〜12ミリ秒、12〜15ミリ秒、15〜30ミリ秒、またはそれらの任意の組合せごとに期待される。したがって、タイムアウト信号の出力は、通信信号58が削除されたまたは遅れたことを指示し得る。
第1の通信信号および第2の通信信号の両方が受信された後は、データ比較/複製32は、第1の通信信号と第2の通信信号の比較を開始することができ(大括弧100)、シリアルリンク内の故障の検出および送信されたデータにおけるエラーの検出/訂正を円滑化することができる。より具体的には、前述のように、第2の通信信号は第1の通信信号の逆転または反転されたバージョンでもよいので、ビット単位の一致について第1の通信信号と第2の通信信号を比較するために(プロセスブロック102)、データ比較/複製32は、第2の通信信号を第1の通信信号と比較する前に、第2の通信信号を反転または逆転させることができる。したがって、ビット単位の比較は、通信信号58内のビットが削除された、挿入された、または破損したことを指示し得る。加えて、以下にさらに詳しく説明するように、ビット単位の比較は、通信信号58内のビットのリアルタイム訂正を円滑化することができる。
コード化された順序番号62を比較するために(プロセスブロック104)、データ比較/複製32は、通信信号58のヘッダから順序番号62を検索することができ、コントローラ14が通信信号58が送信された順番を判定することを可能にする。より具体的には、データ比較/複製32は、第1の通信信号と第2の通信信号のうちの一方または両方でコード化された順序番号62を予期した順序番号62と比較することができる。たとえば、通信信号58でコード化された順序番号62が前のペアの通信信号と同じである場合、繰返しエラーが検出され得る。加えて、通信信号58でコード化された順序番号62が予期した順序番号とは異なる場合、削除、挿入または並べ直しエラーが検出され得る。エラーが存在しない場合、受信された各通信信号58でコード化された順序番号62は、前に受信された通信信号58でコード化された順序番号62と所定の関係を有することになるので、いくつかの実施形態では、前述のように、二地点間直列構造の使用は、受信コントローラ14が予期した順序番号を維持することを可能にすることができる。したがって、順序番号62の比較は、通信信号58の一方または両方が繰り返された、削除された、挿入された、または並べ直されたことを指示し得る。
コード化されたタイミングデータ64を比較するために(プロセスブロック106)、データ比較/複製32は、第1の通信信号および第2の通信信号の一方または両方を時刻同期させることができる。いくつかの実施形態では、これは、通信信号58でコード化されたタイミングデータ64を受信コントローラ14でFRC28によって生成されたメモリ26内の記憶されたタイミングデータ64と突き合わせることによって、通信信号58が送信された時間を判定することを含み得る。たとえば、送信および受信コントローラの両方でFRC28は、午後3時を示すための一意の文字「X」を生成することができる。加えて、通信信号58でコード化されたタイミングデータ64が、前に受信された通信信号58でコード化されたタイミングデータ64と同じである場合、繰返しエラーが検出され得る。さらに、通信信号58でコード化されたタイミングデータが、前に受信された通信信号58でコード化されたタイミングデータ64よりも早い場合、並べ直しまたは遅延エラーが検出され得る。したがって、コード化されたタイミングデータ64の比較は、通信信号58の一方または両方が繰り返された、並べ直された、または遅れたことを指示し得る。
送信者ID66を比較するために(プロセスブロック108)、データ比較/複製32は、送信コントローラ14の識別を判定することができる。より具体的には、これは、第1の通信信号および第2の通信信号の一方または両方でコード化された送信者ID66をメモリ26内に記憶された送信者ID66と突き合わせることを含み得る。たとえば、コントローラメモリ26は、コントローラが通信信号58をそこから受信することを期待するデバイスに対応する送信者ID66のリストを記憶することができる。いくつかの実施形態では、前述のように、二地点間直列構造の使用は、受信コントローラ14が、どのデバイスにコントローラ14が結合されるかを予め定め、それらのデバイスに関連する送信者IDを記憶することを可能にすることができる。したがって、コード化された送信者ID66が、コントローラ14がそこから通信信号58を受信することを期待しないデバイスに対応する場合に、コード化された送信者ID66の比較は、通信信号58の一方または両方が挿入されたことを指示し得る。
コード化されたエラー検査データ68を比較するために(プロセスブロック110)、データ比較/複製32は、第1の通信信号および第2の通信の一方または両方で、巡回冗長検査(CRC)などのエラー検査技法を実行して、受信された通信信号58が破損しているかどうかを判定することができる。より具体的には、データ比較/複製32は、送信コントローラ14で実行されたエラー検査技法を複製し、それの結果をコード化されたエラー検査データ68と比較することができる。その結果、コード化されたエラー検査データ68の比較は、通信信号58の一方または両方が破損している、または他の方法で互いと一致しないことを指示し得る。
他の実施形態では、ビット単位で通信信号を比較すること(プロセスブロック102)、コード化された順序番号62を比較すること(プロセスブロック104)、コード化されたタイミングデータ64を比較すること(プロセスブロック106)、送信者ID66を比較すること(プロセスブロック108)、および、エラー検査データ68を比較すること(プロセスブロック110)は、任意の順序で実行され得る。さらに、ある種の実施形態において、挿入、削除、遅延、またはそれらの任意の組合せの検出は、なりすましを指示し得る。本明細書では、なりすましは、送信システム10への認証されていない侵入を表すものである。たとえば、通信信号58が挿入された、削除された、または遅れているときに、これは、認証されていないデバイス(たとえば、コントローラ14)が送信システム10にアクセスし、通信信号58を変更していることを指示し得る。
前述のように、それぞれ第1のおよび第2のシリアルリンクを介して並行してほぼ同一の情報を表す第1の通信信号および第2の通信信号を送信することは、第1のシリアルリンク、第2のシリアルリンク、またはその両方での故障および/またはなりすましの検出を可能にする。シリアルリンクにおいて故障を検出するために使用され得るプロセス112の一実施形態が、図7に示される。プロセス112は、メモリ26に記憶された、プロセッサ24によって実行される非一時的機械可読命令またはコードによって、実装され得る。図示するように、プロセス112は、第1の通信信号と第2の通信信号を待つこと(決定ブロック114)によって、開始し得る。両方の通信信号が受信された場合、第1の通信信号と第2の通信信号が比較され得る(プロセスブロック100)。タイムアウト信号が出力されたかどうかおよび/または通信信号の比較に基づいて、シリアルリンクにおける故障が検出され得る(決定ブロック116)。シリアルリンクで故障が検出されない場合、送信システム10は動作を継続する(プロセスブロック118)。一方、故障が検出された場合、送信システム10がその検出された故障にかかわらず動作を継続するべきか(プロセスブロック118)または動作を中止するべきか(プロセスブロック122)が判定され得る(決定ブロック120)。
より具体的には、前述のように、データ比較/複製32は、通信信号58のために通信信号フレームなどの指定された時間待つことができる(プロセスブロック114)。通信信号58の一方または両方が受信されない場合、データ比較/複製32は、通信信号58の一方または両方がタイムアウトされたことを指示するタイムアウト信号を出力することができる。一方、両方の信号58が指定された時間内に受信された場合、データ比較/複製32は通信信号58を比較することができ(プロセスブロック100)、これは、ビット単位の一致について第1の通信信号と第2の通信信号58を比較すること(プロセスブロック102)と、コード化された順序番号を比較すること(プロセスブロック104)と、コード化されたタイミングデータを比較すること(プロセスブロック106)と、送信者IDを比較すること(プロセスブロック108)と、コード化されたエラー検査データを比較すること(プロセスブロック110)とを含み得る。前述のように、その通信信号の比較は、通信信号で送信されるデータにおけるエラーの検出を円滑化することができる。
通信信号58の比較および/またはタイムアウト信号が出力されたかどうかに基づいて、データ比較/複製32は、故障が第1のシリアルリンク、第2のシリアルリンク、またはその両方内に存在するかどうかを判定することができる(決定ブロック116)。たとえば、第1の通信信号がタイムアウトしたが、第2の通信信号はしていない場合、データ比較/複製32は、第1のシリアルリンクが故障を有すると判定することができる。加えて、任意のエラー(たとえば、繰返し、削除、挿入、並べ直し、破損、遅延、またはなりすまし)は、シリアルリンクのうちの1つまたは複数における故障を指示し得る。たとえば、第1の通信信号58に破損があるが第2の通信信号58には破損がないことは、第1のシリアルリンクでの絶縁が弱くなり、浮遊電磁波などの外部干渉を受けやすいことを指示し得る。
さらに、いくつかの実施形態では、シリアルリンク内の故障が検出された場合、シリアルリンクの状況が、その故障に基づいて更新され得る。たとえば、故障が検出される前に、第1のシリアルリンクおよび第2のシリアルリンクの状況は「良好」に設定されるが、第1のシリアルリンク内の故障が検出された場合、第1のシリアルリンクの状況は「不良」に更新され得る。以下にさらに説明するように、他の実施形態では、その状況は、送信システム10が動作をより賢明に管理することを可能にするために、中間状況を含み得る。たとえば、シリアルリンクは、単一のエラーのみが検出された場合、またはエラーが単に周期的に検出される場合(たとえば、送信されるあらゆる通信信号でではなく)、「部分的に不良」または「潜在的に不良」の状況を有し得る。たとえば、第1のエラーが検出された場合には、状況は「機能している」から「潜在的に不良」に更新することができ、第2のエラーが3つの通信信号の後に検出された場合には、状況は再び「不良」に更新され得る。
故障が検出された場合、データ比較/複製32は、その故障に関連する状況に基づいて送信システムの動作を中止するか継続するかをより賢明に判定することができる(決定ブロック120)。言い換えれば、送信システム10は、よりフォールトトレラントになり、シリアルリンク内の故障が検出されるたびに直ぐにシャットダウンしないことが可能になる。いくつかの実施形態では、動作を継続するかどうかの決定は、シリアルリンクの状況と通信信号58に含まれる情報とに依存し得る。たとえば、第1のシリアルリンクが「機能している」が第2のシリアルリンクは「不良」であり、通信信号58は温度測定結果を単に通信する場合、送信システム10は、第1のシリアルリンクを介して受信された通信信号58に単に基づいて動作を継続することができる。そのような一実施形態では、コントローラ14は、センサ18の測定結果の送信および受信を継続することを決定することができるが、制御コマンドの送信/受信を中止することを決定することが可能である。
加えて、送信システム10の動作を継続するかどうかの決定に影響を及ぼす他の要因は、送信システム10を使用するシステムの特質と、通信信号内のエラーの履歴とを含み得る。たとえば、キャンディ製造工場内の送信システム10は原子力発電所よりもフォールトトレラントであることがあり、1つの「機能している」シリアルリンクおよび1つの「潜在的に不良」リンクで動作することを選択することが可能であるが、原子力発電所は2つの「機能している」シリアルリンクでのみ動作し得る。加えて、エラーの履歴がなかった場合、送信システム10は、エラーが異常に起因するものと考え、次のエラーが検出されるまで動作を継続することができる。そのような実施形態では、送信システム10は、不良シリアルリンクを訂正するための機会をオペレータに与えるために、設定された期間の動作を継続することを決定することができるが、故障が設定された期間の後に訂正されていない場合には動作を中止することができる。
さらに、動作を継続するかどうかの決定は、エラーがリアルタイムで訂正可能であるかどうかに依存し得る。たとえば、エラーが削除である、または通信信号58およびその通信信号の両方で最上位ビットの破損が逆転された場合、送信システム10は、訂正された通信信号58に基づいて動作を継続することを選択することができる。通信信号58中のエラーの訂正可能性が、以下にさらに詳細に説明される。
前述の例に基づいて、動作を継続するか中止するかの決定は、送信システム10を使用するシステムの特質、シリアルリンクの状況、通信信号58内のエラーがリアルタイムで訂正可能かどうか、通信信号58で送信される情報の特質、エラーの履歴など、様々な要因のうちの1つまたは複数に基づいてカスタマイズされ得ることを理解されたい。そのような判定のために使用される機能は、データ比較/複製32あるいはプロセッサ24および/またはメモリ26の他のシステムによって実行され得る。
リアルタイムでエラーを訂正するためのプロセス124の一実施形態が、図8に示される。プロセス124は、メモリ26に記憶された、プロセッサ24によって実行される非一時的機械可読命令またはコードによって、実装され得る。図示するように、エラーが検出された場合(プロセスブロック126)、そのエラー訂正が可能であるかどうかの判定が行われる(決定ブロック128)。エラーが訂正不可能である場合、送信システム10は、動作を中止することができる(プロセスブロック132)。そのエラーが訂正可能である場合、エラーはリアルタイムで訂正され(プロセスブロック134)、送信システム10は動作を継続する(プロセスブロック136)。
より具体的には、データ比較/複製32は、エラーのタイプおよびエラーの大きさなどの様々な要因に基づいて、エラーが訂正可能であるかどうかを判定することができる。たとえば、前述の例で、エラーが単に各通信信号58の最上位ビットを破損し、通信信号58が逆転された場合、データ比較/複製32は、第1の通信信号の最上位ビットを第2の通信信号の最下位ビットで置き換えることおよびその逆によって、エラーを訂正することができる。加えて、検出されたエラーが繰返しである場合、送信システム10は、単に、前に受信された通信信号を実行することおよび次に受信された通信信号を無視することによって、エラーを訂正することができる。同様に、検出されたエラーが挿入である場合、送信システムは、挿入された通信信号58を単に無視し、エラーを訂正することができる。一方、検出されたエラーがなりすましである場合、エラーは、訂正可能ではないことがあり、送信システム10は、送信システム10への侵入が検出されたので動作を中止することを選択することができる。
前述の例に基づいて、データ比較/複製32は、第1の通信信号内の誤りのあるビットを第2の通信信号からの誤りのないビットで置き換えることによって、リアルタイムで第1の通信信号の1つまたは複数のビットに影響を及ぼすエラーを訂正することができる。加えて、データ比較/複製32は、第1の通信信号を無視することによって、第1の通信信号に影響を及ぼすが第2の通信信号には影響を及ぼさないエラーを訂正することができる。さらに、データ比較/複製32は、第1の通信信号および第2の通信信号の両方を無視することによって、第1の通信信号および第2の通信信号の両方に影響を及ぼすエラーを訂正することができる。検出されたエラーの訂正可能性は、事実に固有することがあることを理解されたい。そのような判定のために使用される機能は、データ比較/複製32あるいはプロセッサ24および/またはメモリ26の他の部分によって、実行され得る。
さらに、本明細書に記載の技法は、エラーが検出されるとすぐに訂正される、またはそのエラーがリアルタイムで訂正されることを可能にする。たとえば、前述の例で、第1の通信信号の最上位ビットと第2の通信信号の最下位ビットがビット単位で比較される際、第1の通信信号の最上位ビットは第2の通信信号の最下位ビットで置き換えることが可能であり、前に受信された通信信号58は受信時に実行することができ、次に受信された通信信号は受信時に無視してもよく、挿入された通信信号58は受信時に無視することができる。
前述は2つのパラレルシリアルリンクを説明するが、他の実施形態は、3つ以上のパラレルシリアルリンク(たとえば、3つのまたは4つのパラレルシリアルリンク)を含み得る。3つ以上のパラレルシリアルリンクの使用は、一般に、前述の技法を使用してデータ送信システム10の信頼性を向上させることができることが、理解されよう。
記載された実施形態の技術的効果は、データ送信システム10の信頼性を増すことを含む。より具体的には、データ送信システム10の信頼性は、並行して同情報を表す通信信号58を各々送信するパラレルシリアルリンクを使用することによって、向上させることができる。パラレル通信信号58の受信および比較に基づいて、シリアルリンク内の故障および通信信号内のエラーが検出され得る。その結果、送信システム10の信頼性は、送信システム10をよりフォールトトレラントにすることおよびリアルタイムでエラーを訂正することによって、向上させることができる。加えて、いくつかの実施形態では、故障およびエラーの検出および/または訂正は、処理能力にかかわらず、すべてのデバイスに実現される信頼性の向上を可能にする、ハードウェアの使用のみで実現され得る。
本明細書は、最良の形態を含めて本発明を開示するために、さらには任意のデバイスまたはシステムの製造および使用と任意の組み込まれた方法の実行とを含めて、当業者が本発明を実施することを可能にするために、例を使用する。本発明の特許性のある範囲は、本特許請求の範囲によって定義され、当業者が気が付く他の例を含み得る。そのような他の例は、それらが本特許請求の範囲の文言と異ならない構造的要素を有する場合、またはそれらが本特許請求の範囲の文言とごくわずかな差を有する同等の構造的要素を含む場合、本特許請求の範囲内にあるものとする。
10 データ送信システム
12 工業用制御システム
14 コントローラ
15 データ送信サブシステム
16 タービン
18 センサ
20 バルブ
22 ポンプ
24 プロセッサ
26 メモリ
30 データI/O
32 データ比較/複製
34 I/Oポート
36 I/Oポート
38 ルート
40 パラレルシリアル送受信機
42 パラレルシリアル送受信機
46 Rコア
48 Sコア
50 Tコア
52 第1の送信システム
54 第2の送信システム
56 第3の送信システム
58 通信信号
60 通信信号データ
62 順序番号
64 タイミングデータ
66 送信者ID
68 エラー検査データ

Claims (20)

  1. フォールトトレラントデータ送信システムであって、
    プログラマブルロジックデバイスを備え、前記プログラマブルロジックデバイスが、
    第1のシリアルリンクに通信可能に結合されるように構成された第1のシリアルポートであって、第1の送信信号を前記第1のシリアルリンクから受信するように構成された第1のシリアルポートと、
    第2のシリアルリンクに通信可能に結合されるように構成された第2のシリアルポートであって、前記第2のシリアルポートが第2の送信信号を前記第2のシリアルリンクから受信するように構成され、前記第1のシリアルリンクおよび前記第2のシリアルリンクが互いに並行に配置され、単一のルートを介して通信するように構成され、前記第1の通信信号および前記第2の通信信号が同一の情報を表す、第2のシリアルポートと、
    前記第1の通信信号と前記第2の通信信号を比較して前記第1の通信信号、前記第2の通信信号、またはその両方に含まれるデータ内のエラーを検出し、
    前記エラーが検出されたときに、前記第1の通信信号と前記第2の通信信号の前記比較に少なくとも部分的に基づいてリアルタイムで前記エラーを訂正するように
    構成された、回路と
    を備える、フォールトトレラントデータ送信システム。
  2. 前記回路が、前記第1の通信信号内のビットを前記第2の通信信号からのビットで置き換えること、または前記第1の通信信号、前記第2の通信信号もしくはその両方を無視することによって、リアルタイムで前記エラーを訂正するように構成された、請求項1記載のフォールトトレラントデータ送信システム。
  3. 前記回路が、前記エラーが訂正可能かどうかをエラータイプおよびエラーの大きさに少なくとも部分的に基づいて判定し、前記第1の通信信号と前記第2の通信信号の前記比較および前記エラータイプに少なくとも部分的に基づいてリアルタイムで前記エラーを訂正するように構成された、請求項1記載のフォールトトレラントデータ送信システム。
  4. 前記回路が、前記第1の通信信号または前記第2の通信信号において、繰返し、削除、挿入、並べ直し、破損、遅延、なりすまし、またはそれらの任意の組合せを検出するように構成された、請求項1記載のフォールトトレラントデータ送信システム。
  5. 前記回路が、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックアレイ、汎用アレイロジック、特定用途向け集積回路、またはそれらの任意の組合せを備える、請求項1記載のフォールトトレラントデータ送信システム。
  6. 前記回路が、
    前記第1の通信信号と前記第2の通信信号の間でビット単位の一致を検査すること、
    前記第1の通信信号もしくは前記第2の通信信号でコード化された順序番号を前記プログラマブルロジックデバイスに記憶された予期した順序番号と比較すること、
    前記第1の通信信号もしくは前記第2の通信信号でコード化されたタイミングデータを前記プログラマブルロジックデバイスに記憶されたタイミングデータと比較すること、
    前記第1の通信信号もしくは前記第2の通信信号でコード化された送信者IDを前記プログラマブルロジックデバイスに記憶された予期した送信者IDと比較すること、
    前記第1の通信信号もしくは前記第2の通信信号でエラー検査技法を実行し、前記エラー検査技法の結果を前記第1の通信信号もしくは前記第2の通信信号でコード化されたエラー検査データと比較すること、または、
    それらの任意の組合せ
    を行うように構成された、請求項1記載のフォールトトレラントデータ送信システム。
  7. データ送信システムにおけるリアルタイムエラー訂正のための方法であって、
    第2のプログラマブルロジックデバイスから第1のシリアルリンクを介して第1のプログラマブルロジックデバイスで第1の通信信号を受信するステップと、
    前記第2のプログラマブルロジックデバイスから第2のシリアルリンクを介して前記第1のプログラマブルロジックデバイスで第2の信号を受信するステップであって、前記第1のシリアルリンクおよび前記第2のシリアルリンクが互いに並行に配置され、単一のルートを介して通信するように構成され、前記第1の通信信号および前記第2の通信信号が同一の情報を表す、ステップと、
    前記第1のプログラマブルロジックデバイス内で前記第1の通信信号と前記第2の通信信号を比較して前記第1の通信信号、前記第2の通信信号、またはその両方でデータ内のエラーを検出するステップと、
    前記エラーが検出された場合、前記第1の通信信号と前記第2の通信信号の前記比較に少なくとも部分的に基づいて前記第1のプログラマブルロジックデバイスでリアルタイムで前記エラーを訂正するステップと
    を含む、方法。
  8. 前記第1の通信信号と前記第2の通信信号を比較するステップが、エラーのタイプおよびエラーの大きさに少なくとも部分的に基づいて前記エラーが訂正可能かどうかを判定するステップを含み、リアルタイムで前記エラーを訂正するステップが、前記比較および前記エラータイプに少なくとも部分的に基づく、請求項7記載の方法。
  9. 前記第1の通信信号と前記第2の通信信号を比較するステップが、前記第1の通信信号または前記第2の通信信号において、繰返し、削除、挿入、並べ直し、破損、遅延、なりすまし、またはそれらの任意の組合せを検出するステップを含む、請求項7記載の方法。
  10. 前記第1の通信信号と前記第2の通信信号を比較するステップが、前記第1の通信信号と前記第2の通信信号の間でビット単位の一致を検査するステップを含む、請求項7記載の方法。
  11. 前記第1の通信信号と前記第2の通信信号の間でビット単位の一致を検査するステップが、前記第2の通信信号を反転または逆転させるステップを含む、請求項10記載の方法。
  12. リアルタイムで前記エラーを訂正するステップが、前記第1の通信信号内のビットを前記第2の通信信号からのビットで置き換えるステップ、または前記第1の通信信号、前記第2の通信信号、もしくはその両方を無視するステップを含む、請求項7記載の方法。
  13. 前記第1の通信信号と前記第2の通信信号を比較するステップが、前記第1の通信信号または前記第2の通信信号でコード化されたタイミングデータを前記第1のプログラマブルロジックデバイスに記憶されたタイミングデータと比較するステップを含む、請求項7記載の方法。
  14. 前記第1の通信信号と前記第2の通信信号を比較するステップが、前記第1の通信信号または前記第2の通信信号でコード化された順序番号を前記第1のプログラマブルロジックデバイスに記憶された予期した順序番号と比較するステップを含む、請求項7記載の方法。
  15. 前記第1の通信信号と前記第2の通信信号を比較するステップが、前記第1の通信信号または前記第2の通信信号でコード化された送信者IDを前記第1のプログラマブルロジックデバイスに記憶された予期した送信者IDと比較するステップを含む、請求項7記載の方法。
  16. 前記第1の通信信号と前記第2の通信信号を比較するステップが、
    前記第1の通信信号または前記第2の通信信号でエラー検査技法を実行するステップと、
    前記エラー検査技法の結果を前記第1の通信信号または前記第2の通信信号でコード化されたエラー検査データと比較するステップと
    を含む、請求項7記載の方法。
  17. 前記エラー検査技法が、巡回冗長検査を含む、請求項16記載の方法。
  18. 前記第1の通信信号と前記第2の通信信号を比較するステップが、ソフトウェア監視なしに前記第1のプログラマブルロジックデバイス内のハードウェアのみを使用して実行される、請求項7記載の方法。
  19. 前記単一のルートが、第1のストランドおよび第2のストランドを有するケーブルを備え、前記第1のストランドが前記第1のシリアルリンクを備え、前記第2のストランドが前記第2のシリアルリンクを備える、請求項7記載の方法。
  20. データ送信システムを動作させるための方法であって、
    送信された第1の通信信号と第2の通信信号を比較することによって、プログラマブルロジックデバイスにおいて前記第1の通信信号、前記第2の通信信号、またはその両方において表されたデータ内のエラーを検出するステップであって、前記第1の通信信号および前記第2の通信信号が前記プログラマブルロジックデバイスによって並行して受信され、前記第1の通信信号および前記第2の通信信号が同一の情報を表し、前記エラーを検出するステップが前記プログラマブルロジックデバイスにおけるハードウェア検出のみを含む、ステップと、
    前記エラーが検出された場合に、前記エラーのタイプを判定するステップと、
    前記エラーのタイプ、前記第1の通信信号、前記第2の通信信号、またはそれらの任意の組合せに少なくとも部分的に基づいて、前記プログラマブルロジックデバイスにおいて前記エラーを訂正するステップと
    を含む、方法。
JP2014261431A 2013-12-31 2014-12-25 送信システムエラー検出および訂正のシステムおよび方法 Active JP6635653B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/145,636 US9374194B2 (en) 2013-12-31 2013-12-31 Transmission system error detection and correction system and method
US14/145,636 2013-12-31

Publications (3)

Publication Number Publication Date
JP2015130668A true JP2015130668A (ja) 2015-07-16
JP2015130668A5 JP2015130668A5 (ja) 2018-02-01
JP6635653B2 JP6635653B2 (ja) 2020-01-29

Family

ID=52272890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014261431A Active JP6635653B2 (ja) 2013-12-31 2014-12-25 送信システムエラー検出および訂正のシステムおよび方法

Country Status (5)

Country Link
US (1) US9374194B2 (ja)
EP (1) EP2890037A1 (ja)
JP (1) JP6635653B2 (ja)
CN (1) CN104753716B (ja)
AU (1) AU2014274577B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3024932B1 (fr) * 2014-08-14 2017-12-01 Sagem Defense Securite Procede de transmission de donnees a robustesse amelioree et ensemble de dispositifs pour sa mise en œuvre
CN105120364A (zh) * 2015-08-24 2015-12-02 天脉聚源(北京)科技有限公司 一种用于电视互动系统安全传输互动信号的方法
JP6696252B2 (ja) * 2016-03-24 2020-05-20 富士ゼロックス株式会社 通信プログラム、通信装置及び情報処理装置
US11044260B2 (en) * 2016-04-01 2021-06-22 The Regents Of The University Of Michigan Fingerprinting electronic control units for vehicle intrusion detection
US10025677B2 (en) * 2016-12-05 2018-07-17 Arteris, Inc. Redundancy for cache coherence systems
CN109245870B (zh) * 2017-06-16 2021-12-28 华为技术有限公司 处理无线链路失败方法、终端设备和基站
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
US11109188B2 (en) * 2018-04-18 2021-08-31 Disney Enterprises, Inc. Real-time processing of spatiotemporal data
CN111177793B (zh) * 2018-11-13 2022-05-20 中车株洲电力机车研究所有限公司 数字量采集及通信传输系统
US20200210544A1 (en) * 2018-12-29 2020-07-02 Arteris, Inc. System and method for reducing silicon area of resilient systems using functional and duplicate logic
CN113741471B (zh) * 2021-09-10 2023-08-25 南京苏美达智能技术有限公司 一种自动行走设备、基站及其数据交互方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5742244A (en) * 1980-08-28 1982-03-09 Fujitsu Ltd Optical transmission system
US4633473A (en) * 1984-08-02 1986-12-30 United Technologies Corporation Fault tolerant communications interface
JPS6331241A (ja) * 1986-07-25 1988-02-09 Nec Corp スイツチ信号転送方式
JP2006165656A (ja) * 2004-12-02 2006-06-22 Anywire:Kk 制御・監視信号伝送システム、電子装置
JP2006319520A (ja) * 2005-05-11 2006-11-24 Hitachi Ltd 無線通信装置、無線通信装置の制御方法、およびプログラム
US7870299B1 (en) * 2008-02-06 2011-01-11 Westinghouse Electric Co Llc Advanced logic system
JP2011068351A (ja) * 2010-11-29 2011-04-07 Hitachi Ltd 車両制御用無線通信システム
JP2011146953A (ja) * 2010-01-15 2011-07-28 Rib Laboratory Inc 通信回路、通信ネットワークおよび連結装置
US20110209021A1 (en) * 2008-02-06 2011-08-25 Steen Ditlev Sorensen Failure Detection and Mitigation in Logic Circuits
JP2011176718A (ja) * 2010-02-25 2011-09-08 Hitachi Industrial Equipment Systems Co Ltd 情報処理装置及び制御用ネットワークシステム
JP2012119813A (ja) * 2010-11-30 2012-06-21 Nec Corp エラー訂正回路及びエラー訂正方法
US20120191888A1 (en) * 2009-07-14 2012-07-26 Sven Schachtner Prevention of masquerade by using identification sequences
WO2012144068A1 (ja) * 2011-04-22 2012-10-26 三菱電機株式会社 複数の通信経路を用いた通信装置
JP2013046230A (ja) * 2011-08-24 2013-03-04 Oita Univ ダイバーシティ光伝送装置および方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397157B1 (en) 1999-07-02 2002-05-28 General Electric Company Method and apparatus for real time measurement of three phase electrical parameters
JP4422251B2 (ja) 1999-10-06 2010-02-24 株式会社アドバンテスト ビット誤り測定器
US6879922B2 (en) 2001-09-19 2005-04-12 General Electric Company Systems and methods for suppressing pressure waves using corrective signal
JP4209743B2 (ja) * 2003-08-08 2009-01-14 三菱電機株式会社 電子制御装置
US7343744B2 (en) 2005-07-27 2008-03-18 General Electric Company Method and system for controlling a reheat turbine-generator
US7642748B2 (en) 2005-10-19 2010-01-05 General Electric Company Battery charging system and method of operating same

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5742244A (en) * 1980-08-28 1982-03-09 Fujitsu Ltd Optical transmission system
US4633473A (en) * 1984-08-02 1986-12-30 United Technologies Corporation Fault tolerant communications interface
JPS6331241A (ja) * 1986-07-25 1988-02-09 Nec Corp スイツチ信号転送方式
JP2006165656A (ja) * 2004-12-02 2006-06-22 Anywire:Kk 制御・監視信号伝送システム、電子装置
JP2006319520A (ja) * 2005-05-11 2006-11-24 Hitachi Ltd 無線通信装置、無線通信装置の制御方法、およびプログラム
US7870299B1 (en) * 2008-02-06 2011-01-11 Westinghouse Electric Co Llc Advanced logic system
US20110209021A1 (en) * 2008-02-06 2011-08-25 Steen Ditlev Sorensen Failure Detection and Mitigation in Logic Circuits
US20120191888A1 (en) * 2009-07-14 2012-07-26 Sven Schachtner Prevention of masquerade by using identification sequences
JP2011146953A (ja) * 2010-01-15 2011-07-28 Rib Laboratory Inc 通信回路、通信ネットワークおよび連結装置
JP2011176718A (ja) * 2010-02-25 2011-09-08 Hitachi Industrial Equipment Systems Co Ltd 情報処理装置及び制御用ネットワークシステム
JP2011068351A (ja) * 2010-11-29 2011-04-07 Hitachi Ltd 車両制御用無線通信システム
JP2012119813A (ja) * 2010-11-30 2012-06-21 Nec Corp エラー訂正回路及びエラー訂正方法
WO2012144068A1 (ja) * 2011-04-22 2012-10-26 三菱電機株式会社 複数の通信経路を用いた通信装置
JP2013046230A (ja) * 2011-08-24 2013-03-04 Oita Univ ダイバーシティ光伝送装置および方法

Also Published As

Publication number Publication date
JP6635653B2 (ja) 2020-01-29
AU2014274577B2 (en) 2019-07-18
CN104753716A (zh) 2015-07-01
EP2890037A1 (en) 2015-07-01
US9374194B2 (en) 2016-06-21
CN104753716B (zh) 2019-11-12
AU2014274577A1 (en) 2015-07-16
US20150188664A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
JP6635653B2 (ja) 送信システムエラー検出および訂正のシステムおよび方法
JP6648966B2 (ja) シリアルリンク障害検出システムおよび方法
US6909923B2 (en) Safety communication on a single backplane
US8732556B2 (en) System and method for fault tolerant computing using generic hardware
CN110851392B (zh) 基于Modbus RTU协议的通讯方法及通讯系统
US8966340B2 (en) System and method for fault tolerant computing using generic hardware
US20170242693A1 (en) Safety monitoring device, network system and safety monitoring method
PT1789857E (pt) Processo de transmissão de dados e sistema de automação para utilização de um tal processo de transmissão de dados
US8209594B2 (en) Sending device, receiving device, communication control device, communication system, and communication control method
CN111104272A (zh) 一种基于rx和tx的can总线控制器测试方法
US7808917B2 (en) Method and system for transmitting telegrams
EP1880498B1 (en) Fieldbus process communications using error correction
EP2824572B1 (en) Fail safe device and method for operating the fail safe device
JP2009130614A (ja) 通信制御装置、通信制御方法および通信制御プログラム
CN117857249A (zh) 基于Modbus协议的数据传输方法
Borangiu et al. ANALYSIS OF THE DATA TRANSMISSION IN THE INDUSTRIAL AUTOMATION SYSTEMS
JPS60105341A (ja) 簡易形デ−タ伝送装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190121

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190910

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190918

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191217

R150 Certificate of patent or registration of utility model

Ref document number: 6635653

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350