(57)【要約】  フィールドデバイスは、産業プロセスネットワーク上でデータを送受信するように構成される。フィールドデバイスは、プロセッサと、産業プロセスネットワークに通信可能に接続された通信ユニットとを含む。通信ユニットは、第１のデータ転送速度で、第１の通信プロトコルを介し、産業プロセスネットワーク上でデータを送受信するように構成される。通信ユニットは、第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、プロセッサと通信するように接続される。【選択図】図２
2016522593.tif 000002
【特許請求の範囲】
【請求項１】
産業プロセスネットワーク上でデータを送受信するように構成されたフィールドデバイスであって、
プロセッサと、
前記産業プロセスネットワークに通信可能に接続された通信ユニットであって、第１のデータ転送速度で、第１の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信するように構成され、前記第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、前記プロセッサと通信するように接続された通信ユニットと
を備えることを特徴とするフィールドデバイス。
【請求項２】
前記通信ユニットは、
前記産業プロセスネットワーク上で前記通信ユニットが受信する第１のメッセージに対応した第１のメッセージオブジェクトを保管する第１の受信バッファと、
前記産業プロセスネットワーク上で前記通信ユニットが受信する第２のメッセージに対応した第２のメッセージオブジェクトを保管する第２の受信バッファとを備える
ことを特徴とする請求項１に記載のフィールドデバイス。
【請求項３】
前記第１のメッセージオブジェクトは、前記第１のメッセージと、前記第１のメッセージに対応する情報とを含み、
前記第２のメッセージオブジェクトは、前記第２のメッセージと、前記第２のメッセージに対応する情報とを含む
ことを特徴とする請求項２に記載のフィールドデバイス。
【請求項４】
前記通信ユニットは、
前記第１のメッセージに対応する前記情報の少なくとも一部、及び前記第２のメッセージに対応する前記情報の少なくとも一部を、それぞれ特定し、
前記第１のメッセージに対応する前記情報の前記特定された部分を前記第１のメッセージオブジェクト中に挿入し、
前記第２のメッセージに対応する前記情報の前記特定された部分を前記第２のメッセージオブジェクト中に挿入する
ことを特徴とする請求項３に記載のフィールドデバイス。
【請求項５】
前記通信ユニットは、前記第１のメッセージに対応する前記情報の前記部分、及び前記第２のメッセージに対応する前記情報の前記部分を、それぞれ特定する受信状態マシンを実行することを特徴とする請求項４に記載のフィールドデバイス。
【請求項６】
前記通信ユニットは、メッセージ受領通知を出力するように構成され、
前記メッセージ受領通知は、前記第２の通信プロトコルを介して前記通信ユニットから前記第１のメッセージオブジェクト及び第２のメッセージオブジェクトのうちの少なくとも１つを取得する割込みサービスルーチンを、前記プロセッサに呼び出させるように構成される
ことを特徴とする請求項２に記載のフィールドデバイス。
【請求項７】
前記通信ユニットは、前記第１のメッセージオブジェクト及び前記第２のメッセージオブジェクトのうちのアクティブなメッセージオブジェクトのエラーステータスに基づき、前記メッセージ受領通知を出力するかどうかを判定することを特徴とする請求項６に記載のフィールドデバイス。
【請求項８】
前記通信ユニットは、前記第１のメッセージオブジェクト及び前記第２のメッセージオブジェクトのうちの前記アクティブなメッセージオブジェクトの前記エラーステータスが非致命的エラーステータスを含んでいるとの判定に基づき、前記メッセージ受領通知を出力すると判定することを特徴とする請求項７に記載のフィールドデバイス。
【請求項９】
前記通信ユニットは、前記第１のメッセージオブジェクト及び前記第２のメッセージオブジェクトのうちのアクティブなメッセージオブジェクトの前記エラーステータスが致命的エラーステータスを含んでいるとの判定に基づき、前記メッセージ受領通知の出力を差し控えると判定することを特徴とする請求項７に記載のフィールドデバイス。
【請求項１０】
前記通信ユニットは、前記産業プロセスネットワーク上で一揃いのメッセージを全て受信すると、前記メッセージ受領通知を前記プロセッサに出力することを特徴とする請求項６に記載のフィールドデバイス。
【請求項１１】
前記通信ユニットは、前記メッセージ受領通知が前記プロセッサによって認識されていないと判定すると、前記第２のメッセージを前記第２のメッセージバッファに保管することを特徴とする請求項１０に記載のフィールドデバイス。
【請求項１２】
前記通信ユニットは、
割込み端子を介して前記プロセッサに接続され、
前記割込み端子の電圧を調整することにより、前記メッセージ受領通知を出力する
ことを特徴とする請求項６に記載のフィールドデバイス。
【請求項１３】
前記通信ユニットは、前記第２の通信プロトコルを介し、前記プロセッサから前記通信ユニットに受け取られたメッセージに対応するメッセージオブジェクトを保管する送信バッファを備え、
前記メッセージオブジェクトは、前記プロセッサから受け取ったメッセージと、前記プロセッサから受け取ったメッセージに対応する情報とを含み、
前記通信ユニットは、前記第１の通信プロトコルを介し、前記産業プロセスネットワーク上で前記メッセージオブジェクトを送信する
ことを特徴とする請求項１に記載のフィールドデバイス。
【請求項１４】
前記送信バッファは、前記産業プロセスネットワーク上で送信しようとする一揃いのメッセージの全てを保管するように構成され、
前記通信ユニットは、前記一揃いのメッセージの全てを前記プロセッサから受信すると、前記産業プロセスネットワーク上で前記一揃いのメッセージの全てを送信する
ことを特徴とする請求項１３に記載のフィールドデバイス。
【請求項１５】
前記第１の通信プロトコルは、ハイウェイアドレス可能遠隔トランスデューサ（ＨＡＲＴ）プロトコルからなり、
前記第２の通信プロトコルは、シリアル周辺インタフェース（ＳＰＩ）プロトコルからなる
ことを特徴とする請求項１に記載のフィールドデバイス。
【請求項１６】
産業プロセスネットワーク上でデータを送受信するように構成された通信ユニットであって、
第１のデータ転送速度で、第１の通信プロトコルを介し、前記産業プロセスネットワーク上で前記データを送受信する第１の通信インタフェースと、
前記第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、プロセッサと通信する第２の通信インタフェースと、
前記産業プロセスネットワーク上で受信する第１のメッセージに対応した第１のメッセージオブジェクトを保管する第１の受信バッファと、
前記産業プロセスネットワーク上で受信する第２のメッセージに対応した第２のメッセージオブジェクトを保管する第２の受信バッファと
を備えることを特徴とする通信ユニット。
【請求項１７】
前記通信ユニットは、
割込み端子を介して前記プロセッサに接続するように構成され、
前記産業プロセスネットワーク上で一揃いのメッセージの全てを受信すると、前記割込み端子を介して前記プロセッサにメッセージ受領通知を出力し、
前記メッセージ受領通知は、
前記プロセッサに、前記第２の通信インタフェースを介し、前記第１のメッセージオブジェクト及び前記第２のメッセージオブジェクトのうちの少なくとも一方を取得させるように構成される
ことを特徴とする請求項１６に記載の通信ユニット。
【請求項１８】
前記第２の通信インタフェースは、マスタ・アウト・スレーブ・イン（ＭＯＳＩ）端子と、マスタ・イン・スレーブ・アウト（ＭＩＳＯ）端子とを備え、
前記通信ユニットは、
前記ＭＯＳＩ端子を介して前記プロセッサからデータを受信し、前記ＭＩＳＯ端子を介して前記プロセッサにデータを送信し、
前記ＭＯＳＩ端子を介してメッセージ受領通知を受信すると、前記第１のメッセージオブジェクト及び前記第２のメッセージオブジェクトのうちの少なくとも一方を、前記ＭＩＳＯ端子を介して送信する
ことを特徴とする請求項１７に記載の通信ユニット。
【請求項１９】
前記通信ユニットは、前記ＭＯＳＩ端子を介して前記メッセージ受領通知を受信していないと判定すると、前記第２のメッセージを前記第２のメッセージオブジェクトバッファに保管することを特徴とする請求項１８に記載の通信ユニット。
【請求項２０】
前記ＭＯＳＩ端子を介して受信する第３のメッセージに対応した第３のメッセージオブジェクトを保管する送信バッファを更に備え、
前記通信ユニットは、前記第１の通信インタフェースを介し、前記産業プロセスネットワーク上で前記第３のメッセージオブジェクトを送信する
ことを特徴とする請求項１６に記載の通信ユニット。
【請求項２１】
前記通信ユニットは、前記第３のメッセージオブジェクトが一揃いのメッセージの全てを表していると判定すると、前記第１の通信インタフェースを介して前記第３のメッセージオブジェクトを送信することを特徴とする請求項２０に記載の通信ユニット。
【請求項２２】
産業プロセスネットワーク上でデータを送受信する方法であって、
フィールドデバイスの通信ユニットにより、第１のデータ転送速度で、第１の通信プロトコルを介し、第１のメッセージを受信する工程と、
前記通信ユニットにより、前記第１のメッセージを前記通信ユニットの第１の受信バッファに保管する工程と、
前記通信ユニットにより、前記第１のメッセージが、前記第１の通信プロトコルに従った一揃いのメッセージを全て含んでいることを判定する工程と、
前記第１のメッセージが一揃いのメッセージを全て含んでいると判定すると、前記通信ユニットにより、前記第１のメッセージを受信したことを前記フィールドデバイスのプロセッサに通知する工程と、
前記通信ユニットにより、前記第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、前記第１のメッセージを前記プロセッサに送信する工程と
を備えることを特徴とする方法。
【請求項２３】
前記通信ユニットにより、前記第２の通信プロトコルを介して前記第１のメッセージを前記プロセッサに送る前に、前記第１の通信プロトコルを介して第２のメッセージの少なくとも一部を受信する工程と、
前記通信ユニットにより、前記第２のメッセージを前記通信ユニットの第２の受信バッファに保管する工程と
を更に備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記第１のメッセージを受信したことを前記プロセッサに通知する工程は、前記通信ユニットと前記プロセッサとを接続する割込み端子の電圧を調整する工程を備えることを特徴とする請求項２２に記載の方法。
【請求項２５】
前記通信ユニットにより、前記第２の通信プロトコルを介し、前記プロセッサから第３のメッセージを受信する工程と、
前記通信ユニットにより、前記第３のメッセージが、前記第１の通信プロトコルに従った一揃いのメッセージを全て含んでいることを判定する工程と、
前記第３のメッセージが一揃いのメッセージを全て含んでいると判定すると、前記通信ユニットにより、前記産業プロセスネットワーク上で前記第３のメッセージを送信する工程と
を更に備えることを特徴とする請求項２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概ね産業プロセスネットワークで使用するフィールドデバイスに関し、より具体的には、フィールドデバイスの通信ユニットを使用したメッセージ処理及びデータ転送に関するものである。
【背景技術】
【０００２】
一般的な工業プラントでは、プラントで実施される産業プロセスの多くを制御するために、分散制御システム（ＤＣＳ）が用いられる。通常、プラントは、ユーザ入力／出力（Ｉ／Ｏ）、ディスクＩ／Ｏ、及びその他の周辺装置を備えたコンピュータシステムを有する集中制御室を有している。このコンピュータシステムには、コントローラ及びプロセスＩ／Ｏサブシステムが結合されている。
【０００３】
プロセスＩ／Ｏサブシステムは、プラント全体にわたる様々なフィールドデバイスに接続されるＩ／Ｏポートを備える。フィールドデバイスには、様々なタイプの解析機器、シリコン圧力センサ、容量式圧力センサ、抵抗式温度検出器、熱電対、ひずみゲージ、リミットスイッチ、オン・オフスイッチ、流量トランスミッタ、圧力トランスミッタ、容量式レベルスイッチ、秤、トランスデューサ、バルブポジショナ、バルブコントローラ、アクチュエータ、ソレノイド、及び表示ライトが含まれる。「フィールドデバイス」という用語は、これらのデバイスのほか、分散制御システムにおいて機能を発揮する任意のデバイスを包含するものである。
【０００４】
従来、アナログフィールドデバイスは、個々のデバイスが単一の二線式撚線対によって制御室に接続された状態で、二線式撚線対の電流ループにより制御室に接続されている。アナログフィールドデバイスは、特定の範囲内の電気信号に応答したり、特定の範囲内の電気信号を送信したりすることが可能である。代表的な構成では、撚線対の二線間に約２０〜２５ボルトの電圧差を有し、４〜２０ミリアンペアの電流が電流ループを流れるのが一般的である。制御室に信号を送信するアナログフィールドデバイスは、電流ループを流れる電流を、検出したプロセス変数に比例するように変調する。一方、制御室の制御の下で作動するアナログフィールドデバイスは、プロセスＩ／ＯシステムのＩ／Ｏポートにより変調されて電流ループを流れる電流の大きさによって制御され、プロセスＩ／Ｏシステムはコントローラによって制御される。また、能動電子機器を有する従来の二線式アナログデバイスは、４０ミリワットまでの電力を電流ループから受け取ることも可能である。更に多くの電力を必要とするアナログフィールドデバイスは、４本の線を使用して制御室に接続され、そのうちの２本を使用してデバイスに電力を供給するのが一般的である。このようなデバイスは、当分野では四線式デバイスとして知られており、二線式デバイスのように電力が制限されることはない。
【０００５】
歴史的に、最も伝統的なフィールドデバイスは、フィールドデバイスが実施する主たる機能に直接関連する単一の入力または単一の出力のいずれかを有していた。例えば、従来のアナログ抵抗式温度センサによって実現される唯一の機能は、二線式撚線対を流れる電流を変調することによって温度を送信することであり、また、従来のアナログバルブポジショナによって実現される唯一の機能は、二線式撚線対を流れる電流の大きさに基づき、開位置及び閉位置を含むそれらの間で弁を位置決めすることである。
【０００６】
ごく最近では、電流ループにデジタルデータを重畳するハイブリッドシステムが分散制御システムに使用されている。制御分野におけるハイブリッドシステムの１つは、ハイウェイアドレス可能遠隔トランスデューサ（ＨＡＲＴ（登録商標））として知られており、Ｂｅｌｌ２０２モデムの仕様と同様である。ＨＡＲＴシステムは、半二重マスタ・スレーブプロトコルを使用している。一般的には、マスタが指令を送り、応答を待つ。相補方式では、スレーブが指令を待機し、指令に対する応答を送信するのが一般的である。個々の指令または応答は、数バイトから２６９バイトにも達する長さまで変化するメッセージと見なすことができる。メッセージは、毎秒１２００ビット／秒（ＢＰＳ）で送信される非同期シリアルデータからなる。伝送は、論理値１が１２００ヘルツ（Ｈｚ）信号によって表され、また、論理値０が２２００Ｈｚ信号によって表されるよう、周波数偏移変調（ＦＳＫ）によって行われる。これらのＨＡＲＴプロトコル信号は、直流電力を供給する二線式通信線路上に変調される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＨＡＲＴ通信プロトコルを使用し、メッセージトランザクションは、特定のフィールドデバイスに指令を送る中央ステーション、即ち制御ステーションにより、通常は固有のアドレスを有したフィールドデバイスのアドレスを指定することによって開始される。指令により、例えば、検出した最新の圧力といった、当該フィールドデバイスの状態に関する情報や、その他の状態に関する情報をもって応答するよう、フィールドデバイスに指示するようにしてもよい。フィールドデバイスは、制御ステーションから指令を受け取ると、制御ステーションに応答を送信し、受け取った応答が制御ステーションで処理される。ＨＡＲＴシステムにより、制御ステーションは、毎秒約２または３トランザクションを処理することができる。従って、ＨＡＲＴプロトコルは、アナログ媒体上でのこのようなデジタルメッセージの送信を実行している間、このようなメッセージの送受信が比較的低速になることがある。プロセッサの他の優先順位が高いタスクの過度の遅延を回避するため、入出力するＨＡＲＴメッセージのデータ転送速度により、このようなメッセージを、間を空けてやりとりする必要がプロセッサに生じることがある。この結果、メッセージ毎にプロセッサの複数の割込みを要求することになり、それによってプロセッサに対するタスク切換えやその他の負荷が増加すると共に、プロセッサ上での通信プロトコルの実現がより複雑になる。
【課題を解決するための手段】
【０００８】
一態様例として、フィールドデバイスは、産業プロセスネットワーク上でデータを送受信するように構成される。フィールドデバイスは、プロセッサと、産業プロセスネットワークに通信可能に接続された通信ユニットとを備える。通信ユニットは、第１のデータ転送速度で、第１の通信プロトコルを介し、産業プロセスネットワーク上でデータを送受信するように構成される。また、通信ユニットは、プロセッサに接続され、第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、プロセッサと通信する。
【０００９】
もう１つの態様例として、通信ユニットは、産業プロセスネットワーク上でデータを送受信するように構成される。通信ユニットは、第１の通信インタフェース、第２の通信インタフェース、第１の受信バッファ、及び第２の受信バッファを備える。第１の通信インタフェースは、第１のデータ転送速度で、第１の通信プロトコルを介し、産業プロセスネットワーク上でデータを送受信する。第２の通信インタフェースは、第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、プロセッサと通信する。第１の受信バッファは、産業プロセスネットワーク上で受信する第１のメッセージに対応した第１のメッセージオブジェクトを保管する。第２の受信バッファは、産業プロセスネットワーク上で受信する第２のメッセージに対応した第２のメッセージオブジェクトを保管する。
【００１０】
もう１つの態様例として、産業プロセスネットワーク上でデータを送受信する方法は、フィールドデバイスの通信ユニットにより、第１のデータ転送速度で、第１の通信プロトコルを介し、第１のメッセージを受け取る工程を備える。更に、この方法は、通信ユニットにより、第１のメッセージを通信ユニットの第１の受信バッファに保管する工程と、通信ユニットにより、第１のメッセージが第１の通信プロトコルに従った一揃いのメッセージを全て含んでいることを判定する工程とを備える。更に、この方法は、第１のメッセージが一揃いのメッセージを全て含んでいると判定すると、通信ユニットにより、第１のメッセージを受信したことをフィールドデバイスのプロセッサに通知する工程と、通信ユニットにより、第１のデータ転送速度より速い第２のデータ転送速度で、第２の通信プロトコルを介し、第１のメッセージをプロセッサに送信する工程とを備える。
【図面の簡単な説明】
【００１１】
【図１】第１のインタフェースを介して産業プロセスネットワークに通信可能に接続され、第２のインタフェースを介してプロセッサと通信するように接続される通信ユニットを備えたフィールドデバイスのブロック図である。
【図２】シリアル周辺インタフェース（ＳＰＩ）プロトコルを介してプロセッサと通信するように接続され、ハイウェイアドレス可能遠隔トランスデューサプロトコルを介し、産業プロセスネットワーク上でデータを送受信するように接続される通信ユニットの概要図である。
【図３】プロセッサと産業プロセスネットワークとの間の通信のためのメッセージバッファを備えた通信ユニットのブロック図である。
【発明を実施するための形態】
【００１２】
ここに開示する技術によれば、フィールドデバイスまたは他の機器の通信ユニットなどのような通信ユニットは、産業プロセスネットワークに通信可能に結合される。通信ユニットは、第１の通信インタフェース及び第２の通信インタフェースを備えている。第１のインタフェースは、１２００ビット／秒といった第１のデータ転送速度で、第１の通信プロトコル（例えば、ＨＡＲＴプロトコル）を介し、産業プロセスネットワーク上で通信するように構成される。第２のインタフェースは、第１のデータ転送速度より速い第２のデータ転送速度で、シリアル周辺インタフェース（ＳＰＩ）プロトコルなどの第２の通信プロトコルを介し、プロセッサと通信するように構成される。プロセッサは、通信ユニットとプロセッサとの間のインタフェースの速度が速いほど、一定の単位時間当たりで、より多くの量のデータを取得することが可能となるので、産業プロセスネットワーク上で受信するメッセージを取得するために生じるプロセッサの割込み処理を少なくすることができる。更に、通信ユニットは、受信したメッセージのエラーステータスを判定することができ、また、致命的エラーを有していないと判定したメッセージのみを取得するようにプロセッサの割込み処理を行うことが可能となり、プロセッサの割込み処理を更に低減することができる。産業プロセスネットワーク上で受信したメッセージは、通信ユニットの１以上のメッセージバッファに保管することが可能である。従って、通信ユニットは、メッセージ毎に複数回にわたってプロセッサの割込み処理を行うのではなく、一揃いのメッセージを全て受信した後に、当該メッセージを取得するようにプロセッサの割込み処理を行うことができる。このように、ここに開示した技術を具現化した通信ユニットは、プロセッサに対するタスク切換え負荷を軽減することができ、この結果、プロセッサは、データ操作やデータ処理などの非通信タスクに、より多くの時間や処理能力を割り当てるてることが可能となる。更に、複数のメッセージバッファにより、例えば、先行するメッセージがプロセッサによって取得される前に、後続のメッセージを受信するような場合に、通信ユニットが、受信した複数のメッセージを保管することができるようになる。同様に、通信ユニットは、いくつかの例として、産業プロセスネットワーク上で送信しようとする一揃いのメッセージの全てを送信バッファに保管することも可能であり、それにより、通信ユニットは、伝送タスクをプロセッサからオフロードし、メッセージを送信するためにプロセッサの複数の割込み処理を必要とすることなく、一揃いのメッセージの全てを送信することが可能となる。従って、ここに開示する技術は、フィールドデバイスのプロセッサに対する負荷を軽減すると共に、産業プロセスネットワーク上での通信の堅牢性を増大させることができる。
【００１３】
図１は、正の端子１４Ａ及び負の端子１４Ｂ（集合的に「端子１４」と称する）を介して産業プロセスネットワークに通信可能に接続されると共に、インタフェース１８を介してプロセッサ１６と通信するように接続される通信ユニット１２を備えたフィールドデバイス１０のブロック図である。ここでは、フィールドデバイス１０をＨＡＲＴシステムと関連付けて説明しているが、ここに開示する技術は、ネットワーク上でデータを送受信するフィールドデバイスを有した産業プロセスネットワーク全般に適用可能であると理解すべきである。
【００１４】
図１に示すように、フィールドデバイス１０は、端子１４を介し、ＨＡＲＴネットワークなどの産業プロセスネットワークに通信可能に接続することができる。端子１４は、フィールドデバイス１０とネットワークとの間のインタフェースを提供し、フィールドデバイス１０と、ネットワークに接続されたコントローラやその他の機器との間の通信を可能とするものである。フィールドデバイス１０は、１以上のプロセスパラメータを検知し、検知したプロセスパラメータに基づいたデータを提供するプロセス計器とすることができる。いくつかの例として、フィールドデバイス１０をプロセスアクチュエータとし、端子１４を介して産業プロセスネットワーク上で受信した指令メッセージに基づいて物理的出力を提供するようにしてもよい。いくつかの例として、フィールドデバイス１０は、検知機能及び駆動機能の両方を備えるようにしてもよい。
【００１５】
また、図１に示すように、フィールドデバイス１０は、電源２０、信号処理回路２２、センサ２４、不揮発性メモリ２６、揮発性メモリ２８、及び揮発性メモリ３０を備えることができる。電源２０は、フィールドデバイス１０の各構成要素に電力を供給する。例えば、図１の例に示すように、電源２０は、ＨＡＲＴループから電力を取り出し（例えば、最大４０ミリワット）、通信ユニット１２、プロセッサ１６、信号処理回路２２、及びセンサ２４などの構成要素を作動させるために、これらの構成要素に電力を供給することが可能である。
【００１６】
センサ２４は、１以上のプロセスパラメータ、即ちプロセス変数を検出し、信号処理回路２２にセンサ信号を供給する。センサ信号には、主変数（例えば圧力）及び副変数（例えば温度）のうちの１以上を含めることができる。例えば、主変数を表すセンサ信号をプロセッサ１６が修正または補正するために、副変数を用いるようにしてもよい。
【００１７】
信号処理回路２２は、プロセッサ１６が使用するべく、センサ信号をフォーマッティングするためのフィルタ回路やその他の信号処理回路に加え、アナログ・デジタル変換回路を備えるのが一般的である。例えば、信号処理回路２２は、センサ信号をデジタル化しフィルタ処理してプロセッサ１６に提供するための、１以上のシグマ・デルタ・アナログ・デジタル変換器及びデジタルフィルタを備えていてもよい。
【００１８】
プロセッサ１６は、フィールドデバイス１０内での処理の実行に関わる機能及び処理指令の少なくとも一方を実行するように構成可能である。例えば、プロセッサ１６は、以下で更に説明するように、通信ユニット１２及び端子１４を介し、産業プロセスネットワーク上でフィールドデバイス１０から送信しようとするメッセージに含むべきデータを生成し、選択する命令など、不揮発性メモリ２６及び揮発性２８のうちの１以上に保管されている命令を処理できるようにすることが可能である。プロセッサ１６の例には、マイクロプロセッサ、コントローラ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、書替え可能ゲートアレイ（ＦＰＧＡ）、またはその他の等価のディスクリート回路もしくは集積論理回路のうちの任意の１以上を含めることが可能である。
【００１９】
プロセッサ１６が実行するプログラム命令の保管には、不揮発性メモリ２６を使用することができる。いくつかの例として、不揮発性メモリ２６は、コンフィギュレーションデータや較正データなど、プロセッサ１６がフィールドデバイス１０の作動を制御するために使用する様々な情報を保管することが可能である。いくつかの例として、不揮発性メモリ２６は、揮発性メモリよりも多くの量の情報を保管するように構成することが可能であり、情報を長期間にわたって保管するように構成することが可能である。このような不揮発性メモリ素子の例には、フラッシュメモリ、または電気的プログラム可能メモリ（ＥＰＲＯＭ）もしくは電気的消去・プログラム可能（ＥＥＰＲＯＭ）メモリの形態を含めることができる。
【００２０】
また、揮発性メモリ２８は、作動中に情報をフィールドデバイス１０内に保管するように構成することも可能である。揮発性メモリ２８は、時間の経過と共に変化する可能性があるデータを保管することができる（例えばＲＡＭまたはキャッシュに）。揮発性メモリ２８は、一時的メモリと見なすことが可能であり、これは、揮発性メモリ２８の主な目的がデータの長期保管ではないことを意味するものである。揮発性メモリの例には、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、及びこのほかの形態の揮発性メモリを含めることができる。いくつかの例として、揮発性メモリ２８は、フィールドデバイス１０上で実行するソフトウェアまたはアプリケーションが、プログラムを実行している間に、情報を一時的に保管するために用いられる。
【００２１】
揮発性メモリ３０は、通信ユニット１２に接続されるものとして示されており、揮発性メモリ２８と実質的に同様のものとすることができる。即ち、揮発性メモリ３０は、ＲＡＭ、ＤＲＡＭ、またはＳＲＡＭなどのほか、フィールドデバイス１０の作動中に、通信ユニット１２がデータを一時的に保管するために使用することが可能な他の形態の揮発性メモリを含めることができる。例えば、通信ユニット１２は、以下で更に説明するように、産業プロセスネットワーク上で送受信するメッセージに対応したメッセージオブジェクトを保管するために、揮発性メモリ３０を使用することができる。２つの揮発性メモリ２８及び３０を備えるように例示しているが、いくつかの例として、フィールドデバイス１０は、プロセッサ１６及び通信ユニット１２によって共有される単一の揮発性メモリを備えるようにすることも可能である。このような例の場合、フィールドデバイス１０は、共有メモリに対するアクセスを統制するコントローラを備えるようにしてもよい。また、プロセッサ１６及び通信ユニット１２とは分離して例示しているが、不揮発性メモリ２６、揮発性メモリ２８、及び揮発性メモリ３０は、いくつかの例として、プロセッサ１６及び通信ユニット１２の一方またはそれぞれに統合することも可能である。例えば、揮発性メモリ３０は、通信ユニット１２と統合することができる。同様に、不揮発性メモリ２６及び揮発性メモリ２８のうちの一方または双方は、プロセッサ１６に統合されていてもよい。いくつかの例として、通信ユニット１２は、通信ユニット１２を作動させるためのコンフィギュレーションデータ及びその他のデータの少なくとも一方を保管するように、不揮発性メモリを備えるか、或いはこのような不揮発性メモリと組み合わせるようにすることも可能である。
【００２２】
不揮発性メモリ２６、揮発性メモリ２８、及び揮発性メモリ３０のうちの１以上は、いくつかの例において、コンピュータ可読記憶媒体として説明することができる。いくつかの例として、コンピュータ可読記憶媒体には、非一過性媒体を含めることができる。「非一過性」という用語は、記憶媒体が搬送波または伝搬信号の形態を含まないことを示しうるものである。
【００２３】
通信ユニット１２は、端子１４を介し、産業プロセスネットワークに通信可能に接続される。通信ユニット１２は、ＨＡＲＴプロトコルなどの通信プロトコルを介し、産業プロセスネットワーク上でデータを送受信するように構成される。通信ユニット１２は、ＡＳＩＣ、ディスクリート部品の集合体、もしくはＦＰＧＡといった集積回路、またはその他の等価のディスクリート論理回路もしくは集積論理回路とすることができる。
【００２４】
ＨＡＲＴプロトコルを使用することにより、通信ユニット１２は、１２００ビット／秒で送信される非同期シリアルデータからなるメッセージを、（例えば、ホストデバイス及び制御ステーションの少なくとも一方との間で）送受信することができる。ＨＡＲＴプロトコルによれば、論理値１は、１２００Ｈｚ信号によって表され、論理値０は、２２００Ｈｚ信号によって表される。即ち、ＨＡＲＴ信号は、最初に自励局部発振器の周波数１７００Ｈｚの信号と混合し、次に結果として得られる信号の位相を識別することによって復調される位相連続周波数偏移キーイング（ＦＳＫ）信号である。ＨＡＲＴ信号を周波数１７００Ｈｚの信号と混合することにより、１２００Ｈｚ（バイナリの１）信号及び２２００Ｈｚ（バイナリの０）信号が±５００Ｈｚ信号にシフトする。結果として得られる信号の位相は、連続的に増加して、結果として得られた信号が１２００Ｈｚ信号から取り出されたことを示すか、或いは位相が連続的に減少して、結果として得られた信号が２２００Ｈｚ信号から取り出されたことを示すかのいずれかとなる。ＨＡＲＴプロトコルのビット識別は、位相が増大しているか（バイナリの１）、或いは減少しているか（バイナリの０）どうかを検知することによって達成される。このようにして、通信ユニット１２は、ＨＡＲＴ通信プロトコルに従い、１２００ビット／秒のデータ転送速度で、端子１４を介したデジタル信号の変調及び復調が可能である。
【００２５】
ここに開示する技術によれば、通信ユニット１２は、更に、端子１４を介して受信するメッセージのデータ転送速度より速いデータ転送速度で、インタフェース１８を介してプロセッサ１６と通信するように接続される。例えば、通信ユニット１２は、シリアル周辺インタフェース（ＳＰＩ）プロトコルを使用し、９２１．６キロビット／秒という高速のデータ転送速度で、インタフェース１８を介してプロセッサ１６と通信することが可能である。作動中、通信ユニット１２は、端子１４を介して受信した信号を復調し、インタフェース１８を介し、メッセージデータをプロセッサ１６に転送する。例えば、通信ユニット１２は、プロセッサ１６の割込み処理を要求し、プロセッサ１６に、インタフェース１８を介したメッセージの取得を行うように構成された割込みサービスルーチンを実行させることができる。通信ユニット１２とプロセッサ１６との間の高速通信によって、プロセッサ１６は、一定の単位時間当たりで、より多くの量のデータを取得することが可能となる。従って、高速のインタフェース１８により、低速のインタフェースを介してプロセッサ１６を通信ユニット１２に接続する場合と比較すると、メッセージを取得するためのプロセッサ１６の割込みを低減することができる。
【００２６】
いくつかの例として、通信ユニット１２は、受信したメッセージデータをメッセージバッファ（例えば、揮発性メモリ３０）に保管することが可能であり、一揃いのメッセージを全て受け取った上で、プロセッサ１６の割込み処理を要求することが可能である。このように、通信ユニット１２は、例えば受信したデータの８ビット毎などのメッセージ毎に複数回にわたってプロセッサ１６の割込みを行うのではなく、一揃いのメッセージ全体毎に（例えば、最大３０バイトのデータの後に）一度だけ、プロセッサ１６の割込みを行うことができる。従って、通信ユニット１２は、割込み処理に伴うプロセッサ１６のタスク切換え負荷の軽減を促進することができ、それによりプロセッサ１６は、データ操作やデータ処理などの他のタスクのためにより多くの時間や処理能力を割り当てることが可能となる。更に、いくつかの例として、通信ユニット１２は、それぞれ異なる受信メッセージに対応して複数のメッセージバッファへの保管が可能である。例えば、第１の受信メッセージがまだプロセッサ１６によって取得されていないうちに第２のメッセージを受信するような場合に、通信ユニット１２は、第２のメッセージを第２のバッファに保管して、データ損失またはバッファオーバランを回避することが可能であり、これにより通信の堅牢性を増大させることができる。いくつかの例として、通信ユニット１２は、端子１４を介して産業プロセスネットワーク上で送信しようとする一揃いのメッセージの全てを保管することが可能であり、それにより通信ユニット１２は、１回だけプロセッサ１６の割込み処理を使用してデータを送信することができる。従って、高速インタフェース１８及び揮発性メモリ３０の少なくとも一方を用いている通信ユニット１２は、プロセッサ１６に対する作動負荷を軽減すると共に、産業プロセスネットワークを介した通信の堅牢性を増大させることができる。
【００２７】
図２は、インタフェース１８を介してプロセッサ１６に接続されると共に、端子１４を介してＨＡＲＴネットワークに接続される通信ユニット１２の一実施形態を示す概要図である。図２に示すように、通信ユニット１２は、３つの入力端子Ｉ＿ＲＸＡＦ、Ｉ＿ＲＸＡＮ、及びＩ＿ＲＸＡＰを介し、また３つの出力端子Ｏ＿ＲＸＡＦ、Ｏ＿ＴＸＡ、及びＯ＿ＳＩＧ＿ＤＡＣを介し、端子１４に（従って、ＨＡＲＴネットワークに）接続される。このように、これら入力端子Ｉ＿ＲＸＡＦ、Ｉ＿ＲＸＡＮ、及びＩ＿ＲＸＡＰ、並びに出力Ｏ＿ＲＸＡＦ、Ｏ＿ＴＸＡ、及びＯ＿ＳＩＧ＿ＤＡＣは、ＨＡＲＴネットワークの電流ループへの接続を行う端子１４に通信ユニット１２を結合するインタフェースを形成している。
【００２８】
通信ユニット１２は、入力端子Ｉ＿ＲＸＡＦ、出力端子Ｏ＿ＲＸＡＦ、入力端子Ｉ＿ＲＸＡＮ、及び入力端子Ｉ＿ＲＸＡＰを介して、ダッシュ線で示されたインタフェースフィルタ回路３２に接続されている。インタフェースフィルタ回路３２は、ＨＡＲＴネットワークを介して受信する入力信号をフィルタ処理するように構成された９個の抵抗Ｒ１〜Ｒ９、及び６個のコンデンサＣ１〜Ｃ６を備えている。作動時、端子１４を通る電流ループを介し、入力信号として受信されたＦＳＫ−ＨＡＲＴ信号は、受信信号をフィルタ処理して調整するインタフェースフィルタ回路３２を通過する。
【００２９】
更に図示するように、通信ユニット１２は、２つの出力端子Ｏ＿ＴＸＡ及びＯ＿ＳＩＧ＿ＤＡＣを介し、電流制御回路３４に接続されている。電流制御回路３４は、１０個の抵抗Ｒ１０〜Ｒ１９、５個のコンデンサＣ７〜Ｃ１１、２個のトランジスタＱ１及びＱ２、並びに演算増幅器３６を備える。電流制御回路３４は、端子１４Ａから端子１４Ｂへ流れることでセンサ２４（図１）によって検出されたプロセス変数の値を示す直流（ＤＣ）電流ＩLを制御し、例えば、この電流ＩLの値を、４ミリアンペアと２０ミリアンペアとの間で調整するように構成されている。更に、電流制御回路３４は、ＨＡＲＴプロトコルに従ってＨＡＲＴネットワーク上でメッセージを送信するために、このＤＣ信号に交流（ＡＣ）のＦＳＫ信号を重畳する。
【００３０】
例えば、図３に関して後述するように、通信ユニット１２は、デジタル情報（例えば、１以上のメッセージバッファに保管されているデジタル情報、プロセッサ１６による処理のためにデジタルフォーマットに変換されたセンサ信号、またはその他のデジタル情報）をアナログ電圧に変換するデジタル・アナログ変換器（ＤＡＣ）を備えていてもよい。作動中、通信ユニット１２は、１以上のセンサ２４（図１）によって検出され、信号処理回路２２（図１）によってデジタル値に変換されて処理され、プロセッサ１６によって処理され、インタフェース１８を介して通信ユニット１２が受信するプロセス変数に基づく平均電圧を有したパルス幅変調信号を、出力端子Ｏ＿ＳＩＧ＿ＤＡＣに出力する。
【００３１】
図２に示すように、出力端子Ｏ＿ＳＩＧ＿ＤＡＣを介して出力される電圧は、抵抗Ｒ１９、抵抗Ｒ１６、及び抵抗Ｒ１７を通して演算増幅器３６の正入力端子（即ち、非反転入力端子）に印加される。演算増幅器３６の正入力端子に印加される電圧は、出力端子Ｏ＿ＳＩＧ＿ＤＡＣを介して出力される電圧に基づくものであるだけではなく、接地と負の端子１４Ｂとの間に接続される帰還抵抗Ｒ１２の両端に生じる帰還電圧と結合される。従って、電流ＩLの増大に伴い、帰還抵抗Ｒ１２の両端の電圧が上昇する。この負の電圧は、抵抗Ｒ１５を介して印加され、ノード３８で出力端子Ｏ＿ＳＩＧ＿ＤＡＣからの信号と結合することによって、出力端子Ｏ＿ＳＩＧ＿ＤＡＣからの正の電圧が負の帰還電圧と結合し、抵抗Ｒ１６及び抵抗Ｒ１７を介して演算増幅器３６の正入力端子に印加される。
【００３２】
演算増幅器３６の出力端子は、コンデンサＣ８を介して演算増幅器３６の反転入力端子（即ち、負入力端子）に結合される。抵抗Ｒ１４はフィルタ処理を行うものであって、コンデンサＣ８及び抵抗Ｒ１４のＲＣ時定数に基づいて、演算増幅器３６の負入力端子における電圧の変化速度を低下させることにより、信号のディザリングの防止を促進する。また、演算増幅器３６の出力は、抵抗Ｒ１３を介し、トランジスタＱ２と共にダーリントントランジスタ対を形成するトランジスタＱ１のベースにも印加される。このベース電流によって、トランジスタＱ１のコレクタ電流及びエミッタ電流が制御される。トランジスタＱ１のエミッタからの電流は、ダーリントン対の第２のトランジスタであるトランジスタＱ２のベースへ流れる。第２のトランジスタのベース電流が、より大きいトランジスタである第２のトランジスタＱ２のコレクタからエミッタへ流れる電流の量を制御することにより、正の端子１４Ａから負の端子１４Ｂへ流れる電流の量が制御される。このように、電流制御回路３４は、出力端子Ｏ＿ＳＩＧ＿ＤＡＣを介した通信ユニット１２からの出力に基づいて、ＨＡＲＴ電流ループを流れるベースＤＣ電流を設定するように構成される。
【００３３】
更に、電流制御回路３４は、ＨＡＲＴプロトコルに従ってＨＡＲＴネットワーク上でメッセージを送信するために、ＤＣ信号に交流のＦＳＫ信号を重畳するように構成されている。例えば、上述したように、通信ユニット１２は、１２００ビット／秒で送信される非同期シリアルデータからなり、論理値１が１２００Ｈｚ信号によって表され、論理値０が２２００Ｈｚ信号によって表されるメッセージを送受信することができる。作動中、通信ユニット１２は、１２００Ｈｚ信号（即ち、論理値１）または２２００Ｈｚ信号（即ち、論理値０）のうちのいずれかを含むＡＣ波形を、出力端子Ｏ＿ＴＸＡに出力する。このＡＣ信号は、コンデンサＣ１１及び抵抗Ｒ１８を通過してノード４０に向かい、ノード４０において、電流指令信号ＩLが演算増幅器３６の非反転正入力端子に印加される。このようにして、端子１４を通る電流ループ中に確立されるＤＣ電流レベルに、出力端子Ｏ＿ＴＸＡからの送信信号が重畳される。送信信号が正の振幅と負の振幅との間で変化すると、それに応じて電流ループ中のＤＣ電流が、瞬時電流レベルで変化する一方、ループ中の平均電流レベルは、ＤＣ指令電流ＩLに等しい状態を維持する。従って、通信ユニット１２は、フィールドデバイスから出力されたプロセス変数の値を示すループ電流測定値が、ＨＡＲＴ信号によって乱されない状態を維持する。
【００３４】
図２の実施形態に更に示すように、通信ユニット１２は、入力端子Ｉ＿ＣＳ、入力端子Ｉ＿ＳＣＬＫ、入力端子Ｉ＿ＭＯＳＩ、及び入力端子Ｉ＿ＫＩＣＫ、並びに出力端子Ｏ＿ＰＣＬＫ１、出力端子Ｏ＿ＮＲＥＳＥＴ、出力端子ＯＴ＿ＭＩＳＯ、割り込み端子Ｏ＿ＮＩＮＴ、及び出力端子Ｏ＿ＣＤを介して、プロセッサ１６に接続されている。通信ユニット１２がプログラム可能クロック信号を出力可能な出力端子Ｏ＿ＰＣＬＫ１は、プロセッサ１６のＣＬＯＣＫ入力端子に接続されている。例えば、図示するように、通信ユニット１２は、更に端子Ｉ＿ＸＴＬ及び端子Ｏ＿ＸＴＬを備える。端子Ｉ＿ＸＴＬは、いくつかの例として、図２に示す３．６８６４ＭＨｚ発振器などの発振器からクロック信号を受信可能となっている。他の例として、通信ユニット１２は、端子Ｏ＿ＸＴＬを介して外部クロック信号を受信可能となっている。このような例では、入力端子Ｉ＿ＸＴＬはローに結合することができる。受信したクロック信号（例えば端子Ｉ＿ＸＴＬまたは端子Ｏ＿ＸＴＬを介して受信したクロック信号）は、受信したクロックレートに等しいクロックレートや、受信したクロックレートを、例えば１／８、或いは１／４などの分周比で分周したクロックレートに、通信ユニット１２のクロックレートを設定するために使用することができる。演算されたクロックレートは、出力端子Ｏ＿ＰＣＫＬ１を介してプロセッサ１６に出力することができる。ＲＥＳＥＴ入力端子、即ちプロセッサ１６に接続された出力端子Ｏ＿ＮＲＥＳＥＴは、例えばプロセッサ１６が通信ユニット１２のウォッチドッグ回路へのデータの送信に失敗した場合などに、プロセッサ１６をリセットするために使用することができる。例えば、図示するように、通信ユニット１２の入力端子Ｉ＿ＫＩＣＫは、プロセッサ１６の出力端子ＰＢｙに接続することができる。プロセッサ１６は、出力端子ＰＢｙを介してデータ（例えば、１以上のビット）を出力することができ、このデータは、入力端子Ｉ＿ＫＩＣＫを介して通信ユニット１２が受信する。閾値時間にわたり、データが端子Ｉ＿ＫＩＣＫを介して受信されなかったと判定すると、通信ユニット１２のウォッチドッグ回路（図３に示されている）は、出力端子Ｏ＿ＮＲＥＳＥＴを介し、プロセッサ１６の作動をリセットするように構成されたリセット指令を、プロセッサ１６に出力するように構成することができる。
【００３５】
５つのモード選択用ピンＩ＿ＦＵＮＣ１、Ｉ＿ＦＵＮＣ２、Ｉ＿ＭＯＤ３、Ｉ＿ＭＯＤ２、及びＩ＿ＭＯＤ１の各々は、任意選択で接地することが可能であり、その組合せは、通信ユニット１２の作動モードを示すものである。例えば、通信ユニット１２は、全機能モード、半レトロフィットモード、基本モデムモード、及びデジタルオンリーモードのうちの１つというように、複数のモードのうちの１つで動作するように構成することが可能である。通信ユニット１２は、示されたモードに基づく、通信ユニット１２の機能及び物理的属性のうちの１以上を構成することができる。例えば、これらモード選択用ピンＩ＿ＦＵＮＣ１、Ｉ＿ＦＵＮＣ２、Ｉ＿ＭＯＤ３、Ｉ＿ＭＯＤ２、及びＩ＿ＭＯＤ１の組合せが全機能モードを示していると判定すると、通信ユニット１２は、通信ユニット１２の個々の物理的構成要素及び機能属性の少なくとも一方を作動可能とすることができる。別の例として、半レトロフィットモードが示されていると判定すると、通信ユニット１２は、メッセージバッファリング機能、及び当該機能に関連する物理的構成要素（例えば、１以上の揮発性メモリ）の少なくとも一方を不作動とすることができる。デジタルオンリモードが示されていると判定すると、通信ユニット１２は、デジタル・アナログ変換器などのアナログ回路を不作動とする（例えば電力の提供を停止する）ことができる。基本モデムモードが示されていると判定すると、通信ユニット１２は、例えば、デジタル・アナログ出力を不作動とすると共に、ウェイクアップピンを用いて通信ユニット１２の作動が要求されたことを示すことなどにより、モデムのみの機能を実現することができる。異なる作動モードにより、通信ユニット１２がＨＡＲＴプロトコルの様々な実施態様に適合できるようになると共に、示された作動モードで動作しているときに不要となる物理的構成要素を不作動として電力消費を低減することができる。
【００３６】
図２に示すように、通信ユニット１２のチップ選択用の入力端子Ｉ＿ＣＳは、プロセッサ１６のチップ選択用の出力端子ＣＳに接続されている。通信ユニット１２のシリアルデータクロック用の入力端子Ｉ＿ＳＣＬＫは、プロセッサ１６のシリアルデータクロック用の出力端子ＳＣＫＬに接続されている。更に、通信ユニット１２のマスタ・アウト・スレーブ・イン入力端子Ｉ＿ＭＯＳＩは、プロセッサ１６のマスタ・アウト・スレーブ・イン出力端子ＭＯＳＩに接続されている。通信ユニット１２のマスタ・イン・スレーブ・アウト出力端子ＯＴ＿ＭＩＳＯは、プロセッサ１６のマスタ・イン・スレーブ・アウト入力端子ＭＩＳＯに接続されている。プロセッサ１６の出力端子ＣＳ、出力端子ＳＣＫＬ、出力端子ＭＯＳＩ、及び入力端子ＭＩＳＯにそれぞれ接続されている通信ユニット１２の入力端子Ｉ＿ＣＳ、入力端子Ｉ＿ＳＣＬＫ、入力端子Ｉ＿ＭＯＳＩ、及び出力端子ＯＴ＿ＭＯＳＩにより、通信ユニット１２とプロセッサ１６との間の、シリアル周辺インタフェース（ＳＰＩ）プロトコルを介して通信するように構成されたインタフェースを形成することができる。このようなインタフェースは、ＳＰＩバスと称されることが多い。但し、この例では、ＳＰＩプロトコルに関連して説明を行っているが、通信ユニット１２とプロセッサ１６との間に、これ以外のプロトコル及びインタフェースも適用可能である。例えば、通信ユニット１２とプロセッサ１６との間で利用されるインタフェースの別の例として、シリアル通信インタフェース（ＳＣＩ）とすることもできる。総じて、通信ユニット１２及びプロセッサ１６は、産業プロセスネットワークのデータ転送速度より速いデータ転送速度を可能とする任意の通信プロトコルを介して通信することが可能であればよい。
【００３７】
ＳＰＩバスは、一般的に、マスタデバイス及び１以上のスレーブデバイスを使用して作動する。図２の例の場合、プロセッサ１６は、マスタデバイスとして構成可能であり、通信ユニット１２は、スレーブデバイスとして構成可能である。従って、出力端子ＭＯＳＩを介してプロセッサ１６が送信するデータは、入力端子Ｉ＿ＭＯＳＩを介して通信ユニット１２が受信する。同様に、出力端子ＯＴ＿ＭＩＳＯを介して通信ユニット１２が送信するデータは、入力端子ＭＩＳＯを介してプロセッサ１６が受信する。ＳＰＩバスを介したプロセッサ１６と通信ユニット１２との間の通信は、デバイスの最大クロックレート以下のデータ転送速度で行うことができる。例えば、通信ユニット１２は、端子１４を介してＨＡＲＴネットワーク上で受信したメッセージ（即ち、１２００ビット／秒の速度で受信したメッセージ）などのデータを、ＳＰＩバスを介してプロセッサ１６に送信することができる。同様に、通信ユニット１２は、ＨＡＲＴネットワーク上で送信しようとするメッセージを、ＳＰＩバスを介してプロセッサ１６から受信することができる。ＳＰＩバス上のデータ転送は、ＨＡＲＴネットワーク上で受信するメッセージのデータ転送速度より速い、９２１．６キロビット／秒に達する高速のデータ転送速度といったデータ転送速度（例えば、１２００ビット／秒より高速のデータ転送速度）で行うことができる。
【００３８】
本実施形態による作動の際、通信ユニット１２は、端子１４を介し、３つの入力端子Ｉ＿ＲＸＡＦ、Ｉ＿ＲＸＡＮ、及びＩ＿ＲＸＡＰでＨＡＲＴメッセージを受信する。受信した信号は、インタフェースフィルタ回路３２によってフィルタ処理されており、通信ユニット１２は、この信号を復調し、１２００ビット／秒のデータ転送速度で受信したシリアルデータであることを判定する。通信ユニット１２は、以下で更に説明するように、受信したデータ及び受信したデータに対応する情報の少なくとも一方を、１以上のメッセージバッファに保管することができる。
【００３９】
閾値量分のデータ（例えば、閾値ビット分のデータ、閾値バイト分のデータ、一揃いのメッセージの全て、またはそれ以外の閾値量分のデータ）を受信すると、通信ユニット１２は、受信したデータをプロセッサ１６に取得させるように構成された指示を、プロセッサ１６に出力することができる。例えば、図２に示すように、通信ユニット１２は、プロセッサ１６の割込み端子ＩＮＴｎに接続された割込み端子Ｏ＿ＮＩＮＴを備えることが可能である。通信ユニット１２は、割込み端子Ｏ＿ＮＩＮＴにおける電圧を、論理値０を示す電圧（例えば、０ボルト、またはほぼ０ボルトの電圧というようなロー状態電圧）と、論理値１を示す電圧（例えば、３．３ボルト、またはほぼ３．３ボルトの電圧というようなハイ状態電圧）との間で調整することなどによって、プロセッサ１６にプロセッサ１６の割込みサービスルーチンを呼び出させる通知を、プロセッサ１６に出力することができる。例えば、図２の例の場合のように、割込み端子Ｏ＿ＮＩＮＴをアクティブローとし、割込み端子Ｏ＿ＮＩＮＴがハイ（論理値１を示す）に保持されている場合、割込みが要求されていないことを意味し、また、割込み端子Ｏ＿ＮＩＮＴがロー（論理値０を示す）に保持されている場合、割込みが要求されていることを意味するようにすることができる。別の例として、割込み端子Ｏ＿ＮＩＮＴをアクティブハイとして、ハイ状態電圧が割込みが要求されていることを示し、ロー状態電圧が割込みが要求されていないことを示すことを意味するようにしてもよい。
【００４０】
作動中、通信ユニット１２は、プロセッサ１６の割込みサービスルーチンを呼び出して割込み処理を行うよう、割込み端子Ｏ＿ＮＩＮＴで指示を行う。更に、通信ユニット１２は、通信ユニット１２のレジスタを介して、割込み処理のタイプ及び受信メッセージに対応する情報の少なくとも一方を示すことも可能である。受信したメッセージに対応する情報には、メッセージステータス情報、エラー情報、受信したメッセージにおけるデータのバイト数、または受信したメッセージに対応するその他の情報を含めることができる。割込み端子ＩＮＴｎを介して割込みの指示を受け取ると、プロセッサ１６は、データトランザクションを開始し、受信したメッセージを、ＳＰＩバスを介して取得する。例えば、ＳＰＩプロトコルに従い、プロセッサ１６は、端子ＣＳを介し、チップ選択信号をアサートすることが可能であり、このチップ選択信号は、入力端子Ｉ＿ＣＳを介し、通信ユニット１２によって受信され、ＳＰＩ通信が開始される。更に、プロセッサ１６は、データ転送の転送速度を構成するためのデータを、出力端子ＳＣＫＬを介して送信することも可能であり、このデータは、入力端子Ｉ＿ＳＣＬＫを介し、通信ユニット１２によって受信される。次に、出力端子ＳＣＬＫ及び入力端子Ｉ＿ＳＣＬＫを介して確立されるデータ転送速度で、プロセッサ１６と通信ユニット１２との間のデータ転送が行われる。
【００４１】
プロセッサ１６は、プロセッサ１６の出力端子ＭＯＳＩを介してデータを送信し、通信ユニット１２の割込みレジスタ内に設定されているビットに対し受領通知の肯定応答を行う。受領通知の受信に応答し、通信ユニット１２は、割込み端子Ｏ＿ＮＩＮＴの指示をディアサートする。プロセッサ１６は、例えば、通信ユニット１２の受信メッセージステータスレジスタの１以上のビットを読み取ることなどにより、受信したメッセージに何らかのエラーが伴っているか否かを判定することができる。即ち、通信ユニット１２は、受信したメッセージのチェックバイトがそのメッセージの正当性を立証しているか否かを判定することなどにより、受信したメッセージにエラーが伴っているか否かを判定することができる。通信ユニット１２は、いくつかの例として、エラーのタイプ及び存在の少なくとも一方を、プロセッサ１６に知らせるように、受信メッセージステータスレジスタなどのレジスタの１以上のビットを設定することが可能である。更に、通信ユニット１２は、受信したメッセージ、及び当該メッセージと当該メッセージに対応する情報（例えば、メッセージタイプ情報、メッセージステータス情報、メッセージヘッダ情報、メッセージプリアンブル情報、またはその他の種類の情報）とを含んだメッセージオブジェクトの少なくとも一方に含まれるデータのバイト数を示すように、受信バイトカウントレジスタなどのレジスタの１以上のビットを設定することが可能である。プロセッサ１６は、受信バイトカウントレジスタを読み出し（即ち、出力端子ＭＯＳＩ及び入力端子ＭＩＳＯを介し）、受信したメッセージ及びメッセージオブジェクトの少なくとも一方に含まれるデータのバイト数を判定することができる。いくつかの例として、通信ユニット１２は、受信したメッセージのエラーステータスに基づいて、受信したメッセージをプロセッサ１６に知らせるか否か（例えば、割込み端子Ｏ＿ＮＩＮＴをアサートすることによって）を判定することができる。例えば、以下で更に説明するように、通信ユニット１２は、受信したメッセージのエラーステータス、例えば、フレーミングエラー、パリティエラー、ギャップエラー、搬送波検出喪失エラー、チェックバイトエラーなどのエラー、またはその他のエラーステータスを判定する状態マシンを実行することができる。通信ユニット１２は、いくつかの例として、エラーステータスが致命的であるか、あるいは非致命的であるかを判定するようにしてもよい。このような例の場合、通信ユニット１２は、エラーステータスが非致命的なエラーステータスであると判定すると、受信メッセージの通知をプロセッサ１６に出力することが可能であり、また、エラーステータスが致命的なエラーステータスであると判定すると、受信メッセージの通知の出力を差し控えることが可能である。
【００４２】
プロセッサ１６は、受信メッセージの通知（例えば、プロセッサ１６の割込み端子ＩＮＴｎを介した割込み）を受信すると、ＳＰＩバスを介してトランザクションを開始し、受信したメッセージデータを通信ユニット１２から取得する。例えば、プロセッサ１６は、通信ユニット１２からプロセッサ１６へ送信すべきデータの量（例えば、バイト数）を示すデータを、ＭＯＳＩ端子を介して送信することが可能であり、このデータは、入力端子Ｉ＿ＭＯＳＩを介し、通信ユニット１２が受信する。要求されるデータの量には、受信バイトカウントレジスタに示されているデータの量の全てまたは一部を含めることが可能である。このようにして、プロセッサ１６は、単一のトランザクションで、メッセージ及びメッセージオブジェクトの少なくとも一方の全体を取得することができ、或いは複数のトランザクションを介してメッセージ及びッセージオブジェクトの少なくとも一方を取得することができる。いくつかの例として、ＳＰＩバスを介したトランザクションのデータ転送速度によって、プロセッサ１６は、割込み処理を実行するためにプロセッサ１６が割り当てた時間フレーム内にメッセージ及びメッセージオブジェクトの少なくとも一方の全体を取得できるようにすることが可能となり、それによりプロセッサ１６は、プロセッサ１６の１回の割込みに対応して、データの全量を取得することができる。従って、ここに開示する技術により、複数の割込みを実行することによって生じる可能性があるプロセッサ１６に対するタスク切換え負荷の軽減を促進することができる。
【００４３】
通信ユニット１２は、トランザクションを開始するデータをプロセッサ１６から受信すると、指示されたバイト数のメッセージデータを、出力端子ＯＴ＿ＭＩＳＯを介してプロセッサ１６に送信する。送信されたデータは、プロセッサ１６の入力端子ＭＩＳＯを介してプロセッサ１６によって受信される。更に、通信ユニット１２が送信したデータには、一揃いのメッセージの全て（例えば、ＨＡＲＴフレーム全体）が転送されたことを示す１以上のバイト及びビットの少なくとも一方を含むことができる。このようなバイトまたはビットは、メッセージ終了（ＥＯＭ）表示と見なすことができる。プロセッサ１６は、ＥＯＭ表示を受信すると、例えば、通信ユニット１２の受信メッセージ受領通知レジスタ内の１以上のビットを設定することなどによりメッセージ受領通知を送信し、ＨＡＲＴネットワークを介して受信したメッセージデータを取得するメッセージトランザクションを完了する。
【００４４】
プロセッサ１６は、データ（例えば、メッセージデータ、プロセス変数データ、またはその他のタイプのデータ）をＳＰＩバス上で通信ユニット１２に送信することにより、このデータをＨＡＲＴネットワーク上で送信することが可能である。例えば、プロセッサ１６は、入力端子Ｉ＿ＭＯＳＩを介して通信ユニット１２が受信するメッセージデータを、出力端子ＭＯＳＩからシフトアウトすることができる。プロセッサ１６は、出力端子ＭＯＳＩを介して送信イネーブル指令を出力することができる（そして、入力端子Ｉ＿ＭＯＳＩを介して受信される）。送信イネーブル指令を受信すると、通信ユニット１２は、上述したように出力端子Ｏ＿ＴＸＡ及び電流制御回路３４を介して変調されて出力されるアナログ電流に、デジタルメッセージデータを変換することで、端子１４を介してメッセージデータを送信することができる。一揃いのメッセージデータの全てを送信すると、通信ユニット１２は、例えば、割り込み端子Ｏ＿ＮＩＮＴをアサートとし、プロセッサ１６によって読み出される割込み状態レジスタの１以上のビットに伝送が完了したことを示すように書き込むことなどにより、メッセージ伝送が完了したことの通知をプロセッサ１６に出力することができる。それに応答し、プロセッサ１６は、例えば、通信ユニット１２によって読み出される割込み通知レジスタの１以上のビットに書き込むことなどにより、受領通知応答を通信ユニット１２に送信することができる。いくつかの例として、通信ユニット１２は、プロセッサ１６から受領通知を受信すると、割り込み端子Ｏ＿ＮＩＮＴをディアサートとすることができるようになっている。
【００４５】
いくつかの例として、通信ユニット１２は、以下で更に説明するように、ＨＡＲＴネットワーク上で送信しようとする一揃いのメッセージ及びメッセージオブジェクトの少なくとも一方の全てを、通信ユニット１２のメッセージバッファに保管することができる。このようにして、通信ユニット１２は、プロセッサ１６が、単一の割込みを実行するために割り当てられた時間内に、ＨＡＲＴネットワーク上で送信すべき一揃いのメッセージの全てを送信可能とし、それにより、プロセッサ１６に対するタスク切換え負荷の軽減を促進することができる。
【００４６】
ここで説明しているように、通信ユニット１２は、第１のデータ転送速度（例えば、１２００ビット／秒）で、第１のプロトコル（例えば、ＨＡＲＴプロトコル）を介し、産業プロセスネットワーク上でメッセージデータを送受信することが可能である。通信ユニット１２は、メッセージデータ（即ち、受信したメッセージデータ及び産業プロセスネットワーク上で送信しようとするメッセージデータの少なくとも一方）を、１以上のメッセージバッファに保管することができる。産業プロセスネットワーク上で閾値量のデータ（例えば、閾値バイト分のデータ、完全なＨＡＲＴフレーム、またはその他の量のデータ）を受信すると、通信ユニット１２は、メッセージデータを取得する通知をプロセッサ１６に出力することができる。いくつかの例として、通信ユニット１２は、致命的エラーステータスまたは非致命的エラーステータスといった、受信したメッセージのエラーステータスに基づき、メッセージデータを取得する通知をプロセッサ１６に出力することができる。プロセッサ１６は、メッセージデータを取得し、第１のプロトコルの第１のデータ転送速度より速い第２のデータ転送速度（例えば、９２１．６キロビット／秒に達するデータ転送速度）で、第２の通信プロトコル（例えば、ＳＰＩプロトコル）を介し、送信すべきデータを産業プロセスネットワーク上で送信することが可能である。従って、プロセッサ１６は、単位時間当たりに、より多くの量のデータを、通信ユニット１２に送信したり通信ユニット１２から取得したりすることができ、その結果、プロセッサ１６は、より少ない割込み（例えば１回の割込み）によって、受信したメッセージの取得や、メッセージの送信が可能となる。このように、ここに開示する技術は、プロセッサ１６に対するタスク切換え負荷を軽減可能とし、それにより、プロセッサ１６は、信号処理やデータ操作といった非通信タスクに、より多くの時間や処理能力を割り当てることができる。
【００４７】
図３は、プロセッサ（例えば、図１及び図２のプロセッサ１６）と産業プロセスネットワーク（例えば、ＨＡＲＴネットワーク）との間の通信のための受信メッセージバッファ４０Ａ及び受信メッセージバッファ４０Ｂ、並びに送信メッセージバッファ４２を備えた通信ユニット１２の一実施形態のブロック図である。更に通信ユニット１２は、図３に示すように、受信フィルタ回路４４、ＦＳＫデジタルモデム４６、搬送波検出回路４８、送信波形整形回路５０、クロック構成回路５２、パワーオンリセット（ＰＯＲ）回路５４、ウォッチドッグ回路５６、シグマ・デルタＤＡＣ５８、及びレジスタ６０を備えることができる。
【００４８】
ＰＯＲ回路５４は、端子Ｉ＿ＶＳＥＴ１を介して入力された設定電圧を受け取る。ＰＯＲ回路５４は、通信ユニット１２が（例えば、図１の電源２０から）受け取ったアナログ電圧と、端子Ｉ＿ＶＳＥＴ１を介して受け取った電圧とを比較するコンパレータ、またはこれと等価のその他の回路を備えることができる。受け取ったアナログ電圧が、端子Ｉ＿ＶＳＥＴ１を介して受け取った電圧より低いと判定すると、ＰＯＲ回路５４は、通信ユニット１２の構成要素への電力供給をやり直すことなどにより、通信ユニット１２をデフォルト状態にリセットする。したがってＰＯＲ回路５４は、起動時、及び通信ユニット１２へのアナログ電力の電圧が設定電圧未満に降下すると、（例えば、初期化、及び電圧低下保護のために）通信ユニット１２をリセットする。
【００４９】
クロック構成回路５２は、端子Ｉ＿ＸＴＬ及び端子Ｏ＿ＸＴＬを介してクロックサイクル信号を受け取る。例えば、図２に関して上述したように、クロック構成回路５２は、端子Ｉ＿ＸＴＬを介し、発振器からクロック信号を受け取ることができる。別の例として、クロック構成回路５２は、端子Ｏ＿ＸＴＬを介し、外部クロックからクロック信号を受け取るようにしてもよく、その場合には、端子Ｉ＿ＸＴＬをローに結合することができる。受け取ったクロック信号を使用し、通信ユニット１２のクロックレートを設定することができる。
【００５０】
ウォッチドッグ回路５６は、端子Ｉ＿ＪＵＭＰを介して警報状態構成情報を受け取り、入力端子Ｉ＿ＫＩＣＫを介し、プロセッサアクティビティを示すデータを受け取る。例えば、ウォッチドッグ回路５６は、閾値時間（例えば、０．５秒、１秒、２秒、またはその他の閾値時間）にわたり入力端子Ｉ＿ＫＩＣＫを介してプロセッサから受け取ったデータ欠如の情報（例えば、ビットトグル）に応答し、リセット指令を出力するように構成することができる。更に、ウォッチドッグ回路５６は、（例えば、入力端子Ｉ＿ＫＩＣＫを介して）プロセッサ非アクティビティが検出され場合、クロック異常が検出された場合、受信したクロック信号に整合性がないか、もしくは信頼性がない場合、またはその他の同様な問題が生じた場合に、警報を出力するように構成することも可能である。ウォッチドッグ回路５６が発する警報は、少なくとも部分的に、端子Ｉ＿ＪＵＭＰを介して受け取る信号の状態に基づくものとすることができる。例えば、端子Ｉ＿ＪＵＭＰの電圧が閾値電圧より高い（即ち、ハイに保持されている）場合に、ウォッチドッグ回路５６は、シグマ・デルタＤＡＣ５８に、２３０．４ＫＨｚで５０パーセントデューティサイクルといった、最大デューティサイクルで信号を出力させることにより、警報を告知してもよい。別の例として、端子Ｉ＿ＪＵＭＰの電圧が閾値電圧より低い（即ち、ローに保持されている）場合に、ウォッチドッグ回路５６は、シグマ・デルタＤＡＣ５８に、一定のハイ信号またはロー信号で信号を出力させることにより、警報を告知してもよい。シグマ・デルタＤＡＣ５８からの出力を、ＨＡＲＴループを介し、制御室に伝送可能とすることにより、警報をコントローラ及び管理者の少なくとも一方に告知することができる。
【００５１】
受信フィルタ回路４４は、入力端子Ｉ＿ＲＸＡＦ、入力端子Ｉ＿ＲＸＡＮ、及び出力端子Ｏ＿ＲＸＡＦを介してＨＡＲＴ−ＦＳＫ信号を受信する。搬送波検出回路４８は、受信した信号におけるＨＡＲＴ−ＦＳＫ信号の存在を検出し、例えば、出力端子Ｏ＿ＣＤの電圧を、論理値１（例えば、アクティブハイ）を表す状態に調整することなどにより、この端子Ｏ＿ＣＤを介し、搬送波信号が検出されたことの表示を出力する（例えば、プロセッサに向け）。
【００５２】
受信フィルタ回路４４が受信して処理したＨＡＲＴ−ＦＳＫ信号は、ＦＳＫデジタルモデム４６に出力され、ＦＳＫデジタルモデム４６は、いくつかの例として、このＦＳＫ信号（１２００Ｈｚ及び２２００Ｈｚの周波数を含む）を復調し、デジタルの非ゼロ復帰（ＮＲＺ）信号を再生する。別の例として、通信ユニット１２が、半レトロフィット機能モードで動作するように構成されるような場合には、ＦＳＫデジタルモデム４６が、端子Ｉ＿ＴＸＤを介し、ＮＲＺ形式でデジタルデータを受信する（例えば、プロセッサから）。ＮＲＺ信号は、受信したメッセージに対応した情報（例えば、ステータス情報、エラー情報、またはその他の情報）を判定する状態マシンロジックを実行し、当該情報をメッセージバッファ４０Ａ及びメッセージバッファ４０Ｂのうちの一方に保管する受信状態マシン回路６２に伝送される。メッセージバッファ４０Ａ及びメッセージバッファ４０Ｂは、揮発性メモリ３０（図１）など、通信ユニット１２の揮発性メモリに設けることができる。メッセージバッファ４０Ａ及びメッセージバッファ４０Ｂは、メッセージオブジェクトを保管するように構成することが可能であり、メッセージオブジェクトは、受信したメッセージデータのほか、受信したメッセージデータに対応する情報、例えば、受信状態マシン６２が判定したステータス情報（例えば、エラーステータス情報）、メッセージヘッダ情報、メッセージプリアンブル情報、または受信したメッセージに対応するその他の情報などを含む。即ち、通信ユニット１２は、受信したメッセージデータをメッセージバッファ４０Ａ及びメッセージバッファ４０Ｂのうちの一方に保管し、受信状態マシン６２は、受信したメッセージに対応する情報を判定すると共に、メッセージバッファ４０Ａ及びメッセージバッファ４０Ｂのうちの、通信ユニット１２が用いた方と同じ方に当該情報を保管し、受信したメッセージデータ及びそのメッセージデータに対応する情報の組合せによって、メッセージオブジェクトが定義される。
【００５３】
この実施形態によれば、作動中、通信ユニット１２は、受信したメッセージデータを受信バッファ４０Ａに保管し、受信したデータの量（例えば、バイト数）を判定し、判定したデータの量により、レジスタ６０の受信バイトカウントレジスタを更新する。更に、メッセージヘッダ情報、受信状態マシン６２が判定したステータス情報、及びその他の同様な情報などといった、受信したメッセージに対応する情報が、同じく受信バッファ４０Ａに保管される。いくつかの例として、通信ユニット１２は、閾値バイト分のデータ及び一揃いのメッセージの全て（例えば、完全なＨＡＲＴフレーム）の少なくとも一方を受信すると、プロセッサ（例えば、図１及び図２のプロセッサ１６）に通知を出力し、受信したメッセージデータをプロセッサに取得させる。例えば、図２に関して上述したように、通信ユニット１２は、プロセッサの割込み処理を要求し、第２のインタフェース（例えば、ＳＰＩインタフェース）を介してメッセージデータを取得するデータトランザクションを開始する割込みサービスルーチンをプロセッサに実行させることができる。メッセージバッファ４０Ａに保管されている受信メッセージオブジェクトがプロセッサによって取得される前に、後続するメッセージデータを通信ユニット１２が受信した場合、通信ユニット１２は、その後続するメッセージデータをメッセージバッファ４０Ｂに保管することが可能であって、それにより、データの紛失及びバッファオーバランエラーの少なくとも一方の防止が促進され、通信の堅牢性が増大する。２つのメッセージバッファ４０Ａ及び４０Ｂを有するものとして例示しているが、通信ユニット１２は、いくつかの例として、３つ以上のメッセージバッファを備えることも可能である。例えば、通信ユニット１２は、３つ、４つ、５つ、またはもっと多くのメッセージバッファを備えることで、更に通信の堅牢性を増大させることができる。
【００５４】
いくつかの例として、メッセージバッファ４０Ｂに保管されているデータは、メッセージバッファ４０Ａ内のデータの送信に引き続いて、プロセッサに送信することが可能である。いくつかの例として、通信ユニット１２が、メッセージバッファ４０Ａからのデータのみを送信するように構成されることにより、送信に先立ってメッセージバッファ４０Ｂからメッセージバッファ４０Ａにデータが転送され、或いはメッセージバッファの定義が変更されて、メッセージバッファ４０Ａ及びメッセージバッファ４０Ｂの識別子が事実上スワップされる。このようにして、通信ユニット１２は、メッセージバッファ４０Ａ及び４０Ｂのうちのアクティブバッファを指定することができる。即ち、データを取り出して転送を行うメッセージバッファをアクティブメッセージバッファとすることができる。
【００５５】
いくつかの例として、通信ユニット１２は、受信したメッセージデータのエラーステータスに基づき、プロセッサの割込みを要求して、受信したメッセージデータをプロセッサに取得させることができる。例えば、受信状態マシン６２は、（例えば、メッセージデータを受信する際に）受信したメッセージのエラーステータスを判定可能である。このようなエラーステータスの例には、フレーミングエラー、パリティエラー、ギャップエラー、搬送波検出の喪失エラー、及びチェックバイトエラーが含まれるが、これらに限定されるものではない。
【００５６】
フレーミングエラーは、受信したメッセージ中の停止ビット位置の未定義及び誤りの少なくとも一方に相当するものとすることができる。パリティエラーは、偶数パリティ（即ち、バイト中の１が偶数個）が指定された場合に奇数パリティ（即ち、バイト中の１が奇数個）を示すパリティビット、或いは奇数パリティが指定された場合に偶数パリティを示すパリティビットというように、受信したメッセージ中のパリティビットの値の未定義及び誤りの少なくとも一方に相当するものとすることが可能である。例えば、奇数パリティは、１のパリティビット値に対応し、また、偶数パリティは、０のパリティビット値に対応することができる。通信プロトコルにより、奇数パリティ、偶数パリティ、またはパリティなしのうちの１つを指定することが可能である。例えば、ＨＡＲＴ通信プロトコルが奇数パリティを指定する例では、偶数パリティに対応した、受信データのバイトに対する０のパリティビット値は、パリティエラーとすることができる。また、偶数パリティが指定される例では、１のパリティビット値（奇数パリティに対応する）は、パリティエラーとすることができる。
【００５７】
ギャップエラーは、停止ビットの受取りに引き続く、１２．５ミリ秒の閾値時間といった閾値時間の間における、メッセージ内の開始ビットの受取りの失敗に相当するものとすることができる。搬送波検出喪失エラーは、受信したメッセージのチェックバイトの予測される停止ビットに先立つロー搬送波検出信号に対応したものとすることができる。チェックバイトエラーは、受信したメッセージについて受信状態マシン６２が判定するチェックバイト値と、受信したメッセージに含まれているチェックバイト値との間の不一致に相当するものとすることができる。例えば、受信状態マシン６２は、受信したメッセージの全てのバイトの排他的ＯＲとして、受信したメッセージのチェックバイト値を判定することができる。通信ユニット１２は、判定されたチェックバイト値と、受信したメッセージに含まれているチェックバイト値とを比較することが可能であり、判定されたチェックバイト値が受信したチェックバイト値と一致しない場合、チェックバイトエラーと判定することができる。
【００５８】
通信ユニット１２は、メッセージエラーステータスを、致命的エラーステータスまたは非致命的エラーステータスの一方と判定することが可能である。例えば、受信したメッセージの区切り記号、アドレス、またはバイトカウント部分のいすれかのバイト中で検出されたフレーミングエラーに対応するフレーミングエラーステータスは、致命的なフレーミングエラーと見なすことができる。受信したメッセージにおける、その他の部分で検出されたフレーミングエラーは、非致命的なフレーミングエラーと見なすことができる。いくつかの例として、受信したメッセージの区切り記号部分、アドレス部分、またはバイトカウント部分で検出されたパリティエラーは、致命的なパリティエラーと見なすことが可能であり、受信したメッセージのデータフィールド領域で検出されたパリティエラーは、非致命的なパリティエラーと見なすことが可能である。いくつかの例として、ギャップエラー、搬送波検出喪失エラー、及びチェックバイト誤りは、それぞれを致命的エラーと見なすことができる。別の例として、全てのエラーを致命的エラーと見なしてもよい。更に別の例として、全てのエラーを非致命的エラーと見なしてもよい。
【００５９】
通信ユニット１２は、メッセージについて判定されたエラーステータスに基づき、プロセッサの割込みを要求して受信メッセージを取得させるか否かを判定することが可能である。例えば、通信ユニット１２は、メッセージに対応したエラーステータスが非致命的エラーステータスであると判定した場合には、プロセッサの割込みを要求することができ、エラーステータスが致命的エラーステータスであると判定した場合には、割込みの要求を差し控えることができる。このようにして、通信ユニット１２は、破損メッセージ及び無効メッセージの少なくとも一方を取得するプロセッサの割込みを差し控えることにより、割込みの回数及び割込みに関連するプロセッサに対するタスク切換え負荷を更に低減することができる。
【００６０】
図３に示した実施形態に例示するように、通信ユニット１２は、更に、送信メッセージバッファ４２、及び送信メッセージバッファ４２に保管されているメッセージに対応するステータスやその他の情報を判定可能な送信状態マシン６４を備えている。送信メッセージバッファ４２は、送信メッセージに対応する情報だけではなく、ＨＡＲＴネットワーク上で送信しようとするメッセージデータを含んだメッセージオブジェクトを保管することが可能である。例えば、通信ユニット１２は、図１の揮発性メモリ３０に送信メッセージバッファ４２を設けることができる。いくつかの例として、送信メッセージバッファ４２は、一揃いのメッセージの全て（例えば、完全なＨＡＲＴフレーム）を保管するように構成される。
【００６１】
作動中、シグマ・デルタＤＡＣ５８は、ＨＡＲＴネットワーク上で送信しようとするプロセス変数データをアナログ電圧に変換する。このアナログ電圧は、出力端子Ｏ＿ＳＩＧ＿ＤＡＣを介して出力され、ＨＡＲＴループ上のＤＣ電流の制御に用いられる。更に、送信波形整形回路５０は、出力端子Ｏ＿ＴＸＡを介して出力される変調ＡＣ信号を形成し、この変調ＡＣ信号は、上述したように、ＤＣ電流上に重畳されて、ＨＡＲＴ信号が形成される。
【００６２】
このように、通信ユニット１２は、１以上のメッセージバッファにメッセージデータを保管可能とすることにより、通信の堅牢性を増大させ、フィールドデバイスのプロセッサに対するタスク切換え負荷を軽減することができる。従って、ここに開示する技術によれば、プロセッサが、データ処理やデータ操作といった非通信タスクに、より多くの時間及能力の少なくとも一方を割り当てることが可能となる。
【００６３】
具体的な実施形態に基づき本発明を説明したが、本発明の範囲から逸脱することなく、様々な変更が可能であると共に、均等物で本発明の各構成要素を置き換えることが可能であることが当業者に理解されよう。また、本発明の本質的な範囲から逸脱することなく、特定の状況やものを本発明の教示に適合させるための様々な変形が可能である。従って、本発明は、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲内に包含される全ての態様を含むものである。
【図１】
2016522593.tif 000003
【図２】
2016522593.tif 000004
【図３】
2016522593.tif 000005
【国際調査報告】
2016522593.tif 000006
2016522593.tif 000007