(57)【要約】プロセス制御システムのデバイスは、通信媒体セグメント上でデータメッセージによって通信する。各デバイスは、受信メッセージ及び送信メッセージに関連する事象に自動的にタイムスタンプを行う通信コントローラを備えている。
2008508796.tif 000002
【特許請求の範囲】
【請求項１】
通信媒体上で通信を行うデバイスであって、
該デバイスは、
前記通信媒体上でメッセージの受信及び送信を行う媒体接続装置（ＭＡＵ）と、
受信されたメッセージに含まれるデータを処理するとともに、送信されるメッセージに含まれるデータを生成する中央処理装置（ＣＰＵ）と、
前記ＭＡＵと前記ＣＰＵとを接続し、受信メッセージ及び送信メッセージに関連する事象に対応する事象パルスを生成するとともに、該事象パルスに応じてタイムスタンプ値を自動的に格納する通信コントローラと
を備えることを特徴とするデバイス。
【請求項２】
請求項１記載のデバイスであって、
前記通信コントローラは、格納されたタイムスタンプ値を送信中のメッセージに挿入する
ことを特徴とするデバイス。
【請求項３】
請求項２記載のデバイスであって、
前記事象パルスは、メッセージ開始事象パルスを含み、
前記メッセージに挿入された前記格納されたタイムスタンプ値は、前記メッセージ開始事象パルスが発生したときにおける前記デバイスのローカル時刻を表す
ことを特徴とするデバイス。
【請求項４】
請求項２記載のデバイスであって、
前記通信コントローラは、どのような種類のメッセージが送信中であるのかを検出し、該メッセージの種類に基づいて、前記タイムスタンプ値を挿入するための前記メッセージ内の位置を選択する
ことを特徴とするデバイス。
【請求項５】
請求項１記載のデバイスであって、
前記事象パルスは、受信メッセージが終了したときに前記通信コントローラによって生成されるメッセージ終了事象パルスを含んでいる
ことを特徴とするデバイス。
【請求項６】
請求項１記載のデバイスであって、
前記事象パルスは、送信メッセージが終了したときに前記通信コントローラによって生成される送信終了事象パルスを含んでいる
ことを特徴とするデバイス。
【請求項７】
請求項１記載のデバイスであって、
前記事象パルスは、受信メッセージの復号が開始されたときに前記通信コントローラによって生成される活動開始事象パルスを含んでいる
ことを特徴とするデバイス。
【請求項８】
請求項１記載のデバイスであって、
前記通信コントローラは、
第１時刻値を提供する第１タイマと、
前記第１時刻値よりも分解能が高い第２時刻値を提供する第２タイマと
を備えることを特徴とするデバイス。
【請求項９】
請求項８記載のデバイスであって、
前記通信コントローラは、前記事象パルスに応じて、前記第１タイマ及び前記第２タイマの双方から取得したタイムスタンプ値を格納する
ことを特徴とするデバイス。
【請求項１０】
請求項８記載のデバイスであって、
前記第１タイマは、前記第１時刻値としてノード時刻を提供するノードタイマである
ことを特徴とするデバイス。
【請求項１１】
請求項１０記載のデバイスであって、
前記通信コントローラは、前記ノード時刻に基づいて、データリンク時刻とリンク予定時刻とを取得する
ことを特徴とするデバイス。
【請求項１２】
請求項１１記載のデバイスであって、
前記通信コントローラは、前記事象パルスに応じたタイムスタンプ値として、前記ノード時刻と、前記データリンク時刻と、前記リンク予定時刻とをレジスタに格納する
ことを特徴とするデバイス。
【請求項１３】
請求項８記載のデバイスであって、
前記第２タイマは、前記第２時刻値としてオクテット時刻を生成するオクテットタイマである
ことを特徴とするデバイス。
【請求項１４】
請求項１記載のデバイスであって、
前記通信コントローラは、複数の時刻値を同時に生成し、前記事象パルスの１つに応じたタイムスタンプ値として前記時刻値の各々を格納する
ことを特徴とするデバイス。
【請求項１５】
ネットワーク上のデバイス間で交換されるメッセージにタイムスタンプを行う方法であって、
該方法は、
ネットワーク上でメッセージの送信及び受信を行うことと、
第１クロックレートで変化する第１タイマ値を生成することと、
送信メッセージ及び受信メッセージに関連する、選択された事象に対応する事象パルスを生成することと、
前記事象パルスの１つが生成されたときに前記第１タイマ値を表す第１タイムスタンプ値を格納することと
を含むことを特徴とする方法。
【請求項１６】
請求項１５記載の方法であって、さらに、
前記第１クロックレートよりも高い第２クロックレートで変化する第２タイマ値を生成することと、
前記事象パルスの１つが生成されたときに前記第２タイマ値を表す第２タイムスタンプ値を格納することと
を含むことを特徴とする方法。
【請求項１７】
請求項１６記載の方法であって、
前記第１タイマ値は、前記ネットワーク上のデバイスの時刻の検出値を表し、
前記第２タイマ値は、前記デバイスの時間間隔を表す
ことを特徴とする方法。
【請求項１８】
請求項１７記載の方法であって、
前記第１クロックレート及び前記第２クロックレートは、可変、かつ同期している
ことを特徴とする方法。
【請求項１９】
請求項１５記載の方法であって、さらに、
送信中のメッセージに前記第１タイムスタンプ値を挿入することを含む
ことを特徴とする方法。
【請求項２０】
請求項１９記載の方法であって、
前記事象パルスは、メッセージ開始事象パルスを含み、
前記メッセージに挿入された前記第１タイムスタンプ値は、前記メッセージ開始事象パルスが発生したときにおける前記デバイスのローカル時刻を表す
ことを特徴とする方法。
【請求項２１】
請求項１９記載の方法であって、さらに、
どのような種類のメッセージが送信中であるのか検出することと、
前記メッセージの種類に基づいて前記タイムスタンプ値を挿入するための前記メッセージ内の位置を選択することと
を含むことを特徴とする方法。
【請求項２２】
請求項１５記載のデバイスであって、
前記事象パルスは、受信メッセージが終了したときに生成されるメッセージ終了事象パルスを含む
ことを特徴とするデバイス。
【請求項２３】
請求項１５記載のデバイスであって、
前記事象パルスは、送信メッセージが終了したときに生成される送信終了事象パルスを含む
ことを特徴とするデバイス。
【請求項２４】
請求項１５記載のデバイスであって、
前記事象パルスは、受信メッセージの復号が開始されたときに生成される活動開始事象パルスを含む
ことを特徴とするデバイス。
【請求項２５】
プロセス制御ネットワーク上でデバイスによって送信されるメッセージ及び受信されるメッセージにタイムスタンプを行う方法であって、
該方法は、
各デバイスにて、ローカル内部時刻の検出値を前記ネットワークのセグメント上のノード時刻の検出値に同期させることと、
前記メッセージに関連する事象が発生するときに事象パルスを生成することと、
事象パルスが発生するときに、ローカル時刻の検出値及びノード時刻の検出値に対応するタイムスタンプ値をスナップショットレジスタに転送することと
を含むことを特徴とする方法。
【請求項２６】
請求項２５記載の方法であって、
前記事象パルスは、メッセージ終了（ＥＯＭ）パルスと、送信終了（ＥＯＴ）パルスと、活動開始（ＳＯＡ）パルスと、送信開始（ＳＯＴ）パルスとを含む
ことを特徴とする方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
[発明の背景]
本発明は、プロセス制御システムにおける、現場計器及び他のデバイスに使用する通信コントローラに関する。具体的には、本発明は、通信コントローラにおいて、データパケットの受信及び処理の遅延が小さいシステム及び方法である。
【０００２】
一般的な工業プラントでは、分散制御システム（ＤＣＳ）が、プラントで実行される多くの工業処理を制御するのに使用されている。一般的に、プラントには、コンピュータシステムを備えた集中制御室があり、コンピュータシステムには、コンピュータ技術において周知のユーザ入力部／出力部（Ｉ／Ｏ）と、ディスクＩ／Ｏと、他の周辺デバイスとが具備されている。コンピュータシステムには、コントローラとプロセスＩ／Ｏサブシステムとが連結されている。
【０００３】
プロセスＩ／Ｏサブシステムには、Ｉ／Ｏポートが具備されており、このＩ／Ｏポートには、プラント全体における種々のフィールドデバイスが接続されている。フィールドデバイスとしては、さまざまな種類の解析装置、シリコン圧力センサ、容量圧力センサ、抵抗温度検出器、熱電対、ひずみゲージ、リミットスイッチ、オン／オフスイッチ、流量送信器、圧力送信器、静電容量レベルスイッチ、計量器、トランスデューサ、バルブ固定装置、バルブコントローラ、アクチュエータ、ソレノイド、表示灯がある。“フィールドデバイス”という用語は、これらデバイスとともに、分散制御システムにおいて機能する他のいかなるデバイスも含む。
【０００４】
以前より、アナログ式フィールドデバイスは、１つの２線ツイストペアによって制御室に接続された各デバイスとともに、２線ツイストペア電流閉ループによって制御室に接続されている。アナログ式フィールドデバイスは、特定範囲内で、電気信号に応答したり、電気信号を送信することができる。通常の形態では、一般的に、ペアになっている２つの導線間におおよそ２０−２５ボルトの電位差が生じ、閉ループに４−２０ミリアンプの電流が流れる。制御室へ信号を送信するアナログ式フィールドデバイスは、検出したプロセス変量に比例した電流を用いて電流閉ループを流れる電流を調節する。他方、制御室の制御に従って動作するアナログ式フィールドデバイスは、閉ループを流れる電流の大きさによって制御される。尚、閉ループを流れる電流の大きさは、プロセスＩ／ＯシステムのＩ／Ｏポートによって調節される一方、プロセスＩ／ＯシステムのＩ／Ｏポートは、コントローラによって制御される。また、能動的な電子機器を備えた従来の２線式アナログデバイスは、閉ループから４０ミリワットまでの電力の供給を受けることが可能である。より大きな電力を必要とするアナログ式フィールドデバイスは、一般的に、４つの導線を介して制御室に接続され、４つの導線のうちの２つの導線が、デバイスに電力を供給する。このようなデバイスは、当技術分野において４線式デバイスとして知られ、２線式デバイスのような電力の制限がない。
【０００５】
アナログ式フィールドデバイスとは対照的に、従来のディジタル式フィールドデバイスは、２値信号を送信したり、２値信号に対して応答する。一般的に、ディジタル式フィールドデバイスは、２４ボルト信号（ＡＣもしくはＤＣ）、または、１１０もしくは２４０ボルトＡＣ信号、または、５ボルトＤＣ信号で動作する。当然のことながら、ディジタル式デバイスは、特定の制御環境で必要とされるあらゆる電気仕様に従って動作するように設計されてもよい。ディジタル入力フィールドデバイスは、制御室との接続の確立及び切断のいずれか一方を行う単なるスイッチである一方、ディジタル出力フィールドデバイスは、制御室から信号があるか否かに従って動作するようになっている。
【０００６】
以前より、従来のフィールドデバイスの多くは、信号入力もしくは信号出力のいずれか一方を行うだけであり、信号入力もしくは信号出力は、フィールドデバイスが実行する主要機能に直接関連していた。例えば、従来のアナログ式抵抗温度センサが実現する唯一の機能は、２線式ツイストペアを介して流れる電流を変化させることで温度を送信することである一方、従来のアナログ式バルブ保定装置が実現する唯一の機能は、２線式ツイストペアを流れる電流の大きさに基づき、バルブを開位置と閉位置との間に位置させることである。
【０００７】
最近では、電流閉ループにディジタルデータを重畳するハイブリッドシステムが分散制御システムに用いられている。制御技術における１つのハイブリッドシステムがハイウェイ・アドレッサブル・リモート・トランスデューサ（ＨＡＲＴ）として知られており、このハイブリッドシステムは、ベル２０２モデム仕様に類似している。ＨＡＲＴシステムは、電流閉ループにおける電流の大きさを用いてプロセス変量を検出する（従来のシステムと同様）だけでなく、電流閉ループ信号にディジタルキャリア信号を重畳する。キャリア信号は、比較的遅く、二次プロセス変量を１秒間におおよそ２，３回の頻度で更新できる信号である。一般的に、ディジタルキャリア信号は、二次的な診断情報を送信するのに用いられるものであって、フィールドデバイスの主要制御機能を実現するのに用いられるものではない。キャリア信号に重畳される情報の例としては、二次プロセス変量、（センサ診断と、デバイス診断と、配線診断と、プロセス診断とを含む）診断情報、動作温度、センサの温度、補正情報、デバイスＩＤ番号、建設資材、設定もしくはプログラミング情報などがある。したがって、１つのハイブリッド式フィールドデバイスは、種々の入出力変数を持つことができ、種々の機能を実現できる。
【０００８】
ＨＡＲＴは、業界標準の一般的なシステムである。しかしながら、ＨＡＲＴは、速度が比較的遅い。業界における他社は、より速度が速い独自仕様のディジタル送信仕様を開発したものの、これらの仕様は、一般的に、競合他社が使用したり、入手できるものではない。
【０００９】
最近、より新しい制御プロトコルがアメリカ計測学会（ＩＳＡ）によって策定された。この新しいプロトコルは、一般的に、フィールドバスと呼ばれている。フィールドバスは、マルチドロップ・シリアル・ディジタル双方向通信プロトコルであり、分散制御システムにおける、現場計器と、監視ユニットや模擬ユニットといった他のプロセスデバイスとを接続するためのものである。フィールドバスによって、以前のプロセス制御ループ法におけるディジタル通信を強化しつつ、フィールドバス閉ループに連結されたプロセスデバイスに電力を供給する能力を維持するとともに、固有の安全要求に合致させることもできる。
【００１０】
合理的に標準化された２つの工業用フィールドバスプロトコルとして、ファウンデーション・フィールドバスと、プロフィバスとがある。フィールドバスプロトコルの物理層は、アメリカ計測学会規格であるＩＳＡ−Ｓ５０．０２−１９９２と、１９９５年の２つの拡張案とに定義されている。フィールドバスプロトコルでは、２つのサブプロトコルが定義されている。Ｈ１フィールドバスネットワークは、最大３１．２５（キロビット／秒）（Ｋｂｐｓ）の速度でデータを送信するとともに、ネットワークに接続されたフィールドデバイスに電力を供給する。Ｈ１物理層サブプロトコルは、１９９２年の９月に承認されたＩＳＡ規格の第１１節第２部に定義されている。Ｈ２フィールドバスネットワークは、最大２．５（メガビット／秒）（Ｍｂｐｓ）の速度でデータを送信するものの、ネットワークに接続されたフィールドデバイスに電力を供給せず、余剰の伝送媒体を備えている。
【００１１】
フィールドバスは、膨大な量のプロセスデータをディジタル通信するという有用な能力
を発揮する。したがって、フィールドバス通信の効率を最大限にすることが可能なプロセス制御デバイスの開発を継続する必要がある。
【００１２】
[発明の概要]
本発明は、プロセス制御システムなどのネットワークにおけるデバイスによって送受信されるメッセージの自動タイムスタンプを提供する。デバイスは、送信メッセージ及び受信メッセージに付随された、選択された事象に対応する事象パルスを生成する。これらの事象パルスに対して、デバイス内部の現在時刻値がタイムスタンプ値として格納される。
【００１３】
[詳細な説明]
＜プロセス制御システムの概要＞
本発明は、プロセス制御システムにおける現場計器と他のデバイスとに用いられる通信コントローラに関する。通信コントローラの用途は、メッセージとタイマ管理とのリンク層処理の大部分を実行することで、アプリケーションプロセッサもしくはＣＰＵを解放し、アプリケーションプロセッサもしくはＣＰＵが他の機能を実行できるようにすることである。本詳細な説明のために、ファウンデーション・フィールドバス通信プロトコルを用いるシステムを背景にして通信コントローラを説明する。ただし、通信コントローラは、パケットに基づいた通信プロトコルに対して一般的適用性を有している。
【００１４】
フィールドバス物理層は、物理層プロトコルデータユニット（ＰｈＰＤＵ）の形式で通信プロトコルデータを送受信する物理手段の電気的特性を定義している。さらに、フィールドバス物理層は、シンボル符号化、メッセージフレーム化、エラー検出方法を定義している。ＩＳＡフィールドバス規格は、３つの信号伝送速度と２つの結合モードとを定義している。本説明のため、ＩＳＡのＳ５０．０２規格第２部における第１１節に定義されたＨ１物理層を背景にして本発明を説明する。この節は、低電力の選択肢を有した、３１．２５Ｋｂｐｓ、電圧モード、導線媒体を対象としている。この選択肢によれば、通信媒体に接続されたデバイスは、通信媒体から動作電力の供給を受けることができる。物理層は、危険な環境のための固有の安全要求に合致させることができる。このプロトコルは、規格によって定義された電圧及び電流の制限に従って、低級ツイストペア線で動作し、多数のデバイスに対応するものである。
【００１５】
図１は、一般的なプロセス制御システム１０を示している。このプロセス制御システム１０は、セグメント１２と、電源１４と、５つのデバイスとを備えている。尚、５つのデバイスは、リンク・アクティブ・スケジューラ（ＬＡＳ）デバイス２０、リンク・マスタ（ＬＭ）デバイス２２、基本デバイス２４，２６，２８である。セグメント１２は、１対の導線上で３２基のデバイスまで対応することができる。一般的に、セグメント１２は、ループ実行速度と、電力と、固有の安全要求とに基づいて、４〜１６基のデバイスを有することになる。
【００１６】
ＬＡＳデバイス２０は、セグメント１２上のデバイス間でなされる全ての通信の主要スケジュールを維持する。ＬＡＳデバイス２０は、コンペル・データ（ＣＤ）と、データ・リンク・プロトコル・データ・ユニット（ＤＬＰＤＵｓ）とを各デバイスへ送信し、各デバイスが、その後に返信するようにスケジュールされる巡回データを返信することで全体的な通信の信頼性を向上させる。ＬＡＳデバイス２０は、セグメント１２上のデータリンク時刻（ＤＬ時刻）の局部的な起点として機能する。ＤＬＰＤＵは、セグメント１２をわたって通信されるＰｈＰＤＵメッセージのデータ内容である。
【００１７】
ＬＭデバイス２２は、万が一、ＬＡＳデバイス２０が故障した場合、もしくは正常に動作しなくなった場合に、ＬＡＳデバイス２０の役割を引き継ぐように構成されている。図１には、ＬＭデバイス２２しか図示されていないが、複数のリンク・マスタ・デバイスを
セグメント上に設けることができる。複数のリンク・マスタ・デバイスを設けることによって、リンク・アクティブ・スケジューラと第１のリンク・マスタとの双方が故障しても、第２のリンク・マスタがリンク・アクティブ・スケジューラを引き継ぐことができる。リンク・アクティブ・スケジューラがいったん機能しなくなると、リンク・マスタがリンク・アクティブ・スケジューラの機能を引き継ぐ。
【００１８】
各デバイスは、Ｖ（ＴＮ）と称する固有のアドレスを有している。尚、Ｖ（ＴＮ）は、ローカルノードＩＤ（Ｔｈｉｓ＿Ｎｏｄｅ）を表す。図１に示す例では、ＬＡＳデバイス２０は、Ｖ（ＴＮ）＝２０というアドレス；ＬＭデバイス２２は、Ｖ（ＴＮ）＝２２というアドレス；基本デバイス２４は、Ｖ（ＴＮ）＝Ａ５というアドレス；基本デバイス２６は、Ｖ（ＴＮ）＝Ｆ３というアドレス；基本デバイス２８は、Ｖ（ＴＮ）＝Ｆ５というアドレスを有している。
【００１９】
ＬＡＳデバイス２０は、セグメント１２上の全てのデバイスにパス・トークン（ＰＴ）メッセージとプローブ・ノード（ＰＮ）メッセージとを送信する。他のデバイス（ＬＡＳデバイス２２及び基本デバイス２４，２６，２８）はそれぞれ、リターン・トークン（ＲＴ）メッセージとプローブ・レスポンス（ＰＲ）メッセージとをＬＡＳデバイス２０に適宜返信する。
【００２０】
基本デバイス２４，２６，２８はそれぞれ、ＬＡＳデバイス２０によって送信された各々に対するＰＴメッセージとＰＮメッセージとを確認する必要があるだけである。ＰＴメッセージ及びＰＮメッセージは、符号化された宛先アドレス（ＤＡ）をＤＬＰＤＵの第２バイトに有している。ＬＡＳデバイス２０は、セグメント１２上の全てのデバイスに対して、トークン（ＰＴ）の転送、もしくはノード（ＰＮ）の調査を１つづつ行う。
【００２１】
基本デバイス２４，２６，２８は、各々の固有アドレス（ＤＡ＝Ｖ（ＴＮ））と一致する宛先アドレスを有するＰＴメッセージを受信すると、ＬＡＳデバイス２０に対してＲＴメッセージで応答する。基本デバイス２４，２６，２８は、ＤＡ＝Ｖ（ＴＮ）を有するＰＮ  ＤＬＰＤＵを受信すると、ＰＲメッセージで応答することを要求される。
【００２２】
ＬＡＳデバイス２０からのＰＴメッセージ、ＰＮメッセージ、及びＬＡＳデバイス２０へのＲＴメッセージ、ＰＲメッセージの送信によって、特定の基本デバイス２４，２６，２８が受信や応答する必要がない種々のメッセージがセグメント１２上に生成される。基本デバイス２４，２６，２８はそれぞれ、その特定のデバイス宛のＰＴメッセージ及びＰＮメッセージに応答する必要があるだけである。ＬＡＳデバイス２０からの他のデバイス宛のＰＴメッセージ及びＰＮメッセージ、さらに、他のデバイスからのＬＡＳデバイス２０宛のＲＴメッセージ及びＰＲメッセージに頻繁に割り込まれることにより、これら“妨害割込”を処理する過度の処理時間が生じ得る。基本デバイス２４，２６，２８のために、ＤＬＰＤＵフィルタリングを用いて、基本デバイスが処理しなければならない割込の数を低減できる。他方、ＬＡＳデバイス２０は、セグメント１２上の各メッセージを処理しなければならない。
【００２３】
セグメント１２上の全てのデバイスは、データをマンチェスタ符号化ベースバンド信号としてセグメント１２上に送信する。マンチェスタ符号化によって、“０”及び“１”は、ビット周期内で起こるロウからハイへの変化と、ハイからロウへの変化とでそれぞれ表される。フィールドバスでは、公称ビット時間は３２マイクロ秒（μ秒）であり、１６μ秒で変化を生じる。マンチェスタ符号化法は、拡張され、非データプラス（Ｎ＋）、非データマイナス（Ｎ−）といった２つの追加シンボルを含んでいる。但し、ビット周期中に変化は起こらず、マンチェスタ符号化ベースバンド信号は、ハイ（Ｎ＋）もしくはロウ（Ｎ−）のままとなる。
【００２４】
＜メッセージフォーマット＞
図２に、メッセージをセグメント１２上に送信するのに用いられる物理層プロトコルデータユニット（ＰｈＰＤＵ）のフォーマットを示す。ＰｈＰＤＵは、プリアンブルと、スタート・デリミタ（ＳＤ）と、データリンク・プロトコル・データ・ユニット（ＤＬＰＤＵ）と、エンド・デリミタ（ＥＤ）とを含んでいる。プリアンブルは、ＰｈＰＤＵメッセージの最初の数ビットである。フィールドバス仕様では、１〜８バイトのプリアンブルが許容されている。メッセージを受信するデバイスは、プリアンブルを用いて、到来するメッセージと同期する。図２に示すように、プリアンブルにおける最初のバイト列は、１  ０  １  ０  １  ０  １  ０となっている。
【００２５】
スタート・デリミタ（ＳＤ）は、プリアンブルの直後に続く。１つのメッセージにつき１つのＳＤがある。フィールドバス仕様では、ＳＤは、非文字データ（Ｎ＋及びＮ−）を有している必要がある。この非文字データは、常に、相互補完関係にある一対としてＳＤメッセージに現れる。この符号化方法によって、ＳＤは独特のものとなり、ＳＤとメッセージのデータ部分（ＤＬＰＤＵ）との混同が生じることがない。図２に示すＳＤの列は、１  Ｎ＋  Ｎ−  １  ０  Ｎ−  Ｎ＋  ０となっている。
【００２６】
ＤＬＰＤＵは、可変長メッセージである。ＤＬＰＤＵは、その最初のバイトとしてフレーム制御（ＦＣ）バイトを含み、その最後の２バイトとしてフレーム・チェック・シーケンス（ＦＣＳ）チェックサムを含んでいる。ＤＬＰＤＵの長さは、可変であり、最小３バイト（ＲＴメッセージの場合）から例えばおおよそ３００バイトのジャバリミットまでである。
【００２７】
エンド・デリミタ（ＥＤ）は、ＤＬＰＤＵに続く。ＥＤは、セグメント１２上へ送信されたあらゆるＰｈＰＤＵメッセージの最後のバイトを表している。ＳＤと同様に、ＥＤは、相互補完関係にある一対の非文字データを含んでいる。この符号化方法によって、ＥＤは独特のものとなり、ＥＤとＤＬＰＤＵとの混同が生じることがない。図２に示すエンド・デリミタの列は、１  Ｎ＋  Ｎ−  Ｎ＋  Ｎ−  １  ０  １となっている。
【００２８】
また、図２は、キャリア検出信号を示している。キャリア検出信号の用途は、（ａ）到来するＰｈＰＤＵメッセージがセグメント１２上へ送出される時期、もしくは（ｂ）デバイスがセグメント１２上にメッセージを送信している時期を示すことである。
【００２９】
送信開始（ＳＯＴ）は、送信イネーブル（ＴｘＥ）がアクティブになったとき、つまり、ＰｈＰＤＵメッセージのプリアンブルがセグメント１２へ最初に送出されたときに発生する。
【００３０】
活動開始（ＳＯＡ）は、キャリア検出信号がアクティブになり、キャリア検出信号が少なくとも１ビット時間、もしくは２ビット時間（おおよそ１６〜３２μ秒）の間、安定したのちに発生する。この時間は、メッセージを受信するデバイスの内部クロックに対して、いつキャリア検出がアクティブになるかに依存する。キャリア検出信号が安定したのちに活動開始（ＳＯＡ）が発生することによって、デバイスの通信コントローラは、プリアンブルの前半で起こる可能性が非常に高いノイズ異常を無視できる。追加時間は、ビット境界との同期に用いられ、それによりセグメント１２上の短いノイズバーストが活動として誤解釈される可能性が排除される。送信メッセージの場合、送信イネーブルがいったんアクティブになると（つまり、ＰｈＰＤＵのプリアンブルがセグメント１２へ送出されると）、ＳＯＡが発生する。
【００３１】
メッセージ開始（ＳＯＭ）は、受信メッセージのＦＣバイトが検出されたときの最初の
ビットの始まりで発生する。
ＳＯＭ＿ｘｍｔは、メッセージ送信開始であり、送信メッセージのＦＣバイトが検出されたときの最初のビットの始まりで発生する。
【００３２】
ＳＯＭｆは、フィルタ処理された受信ＤＬＰＤＵのＳＯＭである。ＳＯＭｆは、デバイス内の通信コントローラが、到来するメッセージをフィルタ処理するか判定するのに十分な情報を検出すると発生する。
【００３３】
メッセージ終了（ＥＯＭ）は、ＥＤにおける最後のビットの終わりが受信メッセージに現れると発生する。送信終了（ＥＯＴ）は、送信メッセージにおけるＥＤの最後のビットの終わりで発生する。
【００３４】
活動終了（ＥＯＡ）は、キャリア検出信号が非アクティブになったときに発生する。ＥＯＡは、送信ＤＬＰＤＵ及び受信ＤＬＰＤＵの双方で発生する。
＜デバイス・アーキテクチャ＞
図３は、基本デバイス２４における通信部のブロック図を示している。尚、基本デバイス２４における通信部は、デバイス２０−２８の各々のアーキテクチャを代表するものである。基本デバイス２４は、中央処理装置（ＣＰＵ）３０と、ランダム・アクセス・メモリ（ＲＡＭ）３２と、フラッシュ・メモリ３４と、通信コントローラ３６と、媒体接続装置（ＭＡＵ）３８とを備えている。
【００３５】
図３に示す本実施形態では、ＣＰＵ３０は、モトローラ社製６８ＬＣ３０２、モトローラ社製Ｍｃｏｒｅ２０７５、モトローラ社製ＰｏｗｅｒＰＣ８５０、アトメル社製ＴｈｕｍｂプロセッサＡＴ９１Ｍ４０８００などといったマイクロプロセッサである。ＣＰＵ３０は、８ビット以上のプロセッサである。
【００３６】
図３に示す本実施形態では、通信コントローラ３６は、特定用途向け集積回路（ＡＳＩＣ）素子であり、ＭＡＵ３８とＣＰＵ３０との間のインターフェイスとして機能する。通信コントローラ３６は、セグメント１２に接続された外部のアナログ回路との間で符号化されたマンチェスタデータの送受信を行う。通信コントローラ３６は、ＭＡＵ３８からシリアルデータを受信したのち、受信したデータを符号化し、符号化したデータをバイトに変換して、プリアンブル、ＳＤ、ＥＤ（そして、任意にＦＣＳバイト）を除去し、リンク層が読み取るメッセージデータを供給する。データ送信に向け、通信コントローラ３６は、リンク層からＤＬＰＤＵデータのバイトを受信して、プリアンブルとＳＤとを付加し、任意にＦＣＳの生成を行い、ＥＤを付加する。通信コントローラ３６は、続いてシリアルに符号化されたマンチェスタデータを形成し、マンチェスタデータは、セグメント１２上への送信のためにＭＡＵ３８へ送信される。
【００３７】
通信コントローラ３６とＭＡＵ３８との間の通信は、ＲｘＳ、ＲｘＡ、ＴｘＳ、ＴｘＥといった４つの信号を介して確立される。尚、ＲｘＳは、受信されたマンチェスタ符号化シリアルデータである。ＲｘＡは、受信データのキャリア検出信号である。ＴｘＳは、送信された符号化シリアルデータである。ＴｘＥは、送信イネーブル信号である。
【００３８】
本発明の他の実施形態では、通信コントローラ３６は、ＣＰＵ３０と同一の集積回路上に形成され得る。さらに、ＲＡＭ３２及びフラッシュ・メモリ３４は、いくつかの実施形態において、ＣＰＵ３０と一体化されてもよい。ＬＡＳデバイス２０の場合、ＣＰＵ３０、ＲＡＭ３２、フラッシュ・メモリ３４は、プロセス制御システム１０のホストコンピュータシステムの一部であってもよい。
【００３９】
ＭＡＵ３８は、セグメント１２とのネットワーク接続を確立する。ＭＡＵ３８は、集積回路であってもよいし、個別の素子を用いてＭＡＵ３８を形成することもできる。
＜通信コントローラ３６＞
図４は、通信コントローラ３６の機能ブロック図である。本実施形態では、通信コントローラ３６は、デバウンス回路４２と、ディジタル位相同期回路（ＰＬＬ）４４と、フロントエンドステートマシン４６と、受信メッセージフィルタリング４８と、受信ファースト・イン・ファースト・アウト（ＦＩＦＯ）メモリ５０と、送信ステートマシン５２と、送信ＦＩＦＯメモリ５４と、受信／送信事象マネージャ５８と、レジスタ群６０と、クロック生成回路６２と、発振器６４と、タイマ群６８と、ＣＰＵインターフェイス回路７０とを備えている。
【００４０】
到来するメッセージをＭＡＵ３８が検出すると、ＲｘＡ入力にて、キャリア検出信号が通信コントローラ３６へ供給され、ＲｘＳ入力にて、到来する非同期のマンチェスタデータが供給される。ＲｘＡ入力及びＲｘＳ入力は、フロントエンドステートマシン４６へ送出される。ディジタルＰＬＬ４４は、到来するシリアルマンチェスタ符号化データからクロックを正常化してクロックを再生する。そして、この再生されたクロックは、フロントエンドステートマシン４６のタイミングを決定するのに用いられる。
【００４１】
フロントエンドステートマシン４６は、到来するシリアルビットストリームＲｘＳを検出する。フロントエンドステートマシン４６は、プリアンブル、ＳＤ、ＥＤを除去し、ＤＬＰＤＵを受信ＦＩＦＯメモリ５０へ格納する。フロントエンドステートマシン４６は、受信メッセージフィルタリング４８とともに、特定のフレーム制御、加えて、他のデバイス宛のプローブ・ノード（ＰＮ）メッセージ、パス・トークン（ＰＴ）メッセージを除外するように構成され得る。フロントエンドステートマシン４６は、受信ＦＩＦＯメモリ５０へ書き込まれたバイト数のトラックを保持する。ＦＣＳは、各メッセージの終わりに自動的に確認され、任意に受信ＦＩＦＯメモリ５０へ格納され得る。
【００４２】
また、フロントエンドステートマシン４６は、フロントエンドステートマシン４６が検出した特定の事象を表す信号を送出する。この信号としては、ＳＯＭ事象パルス、ＳＯＭｆ事象パルス、ＥＯＭ事象パルス、ＳＯＡ事象パルス、ＥＯＡ事象パルスがある。
【００４３】
フロントエンドステートマシン４６は、ＲｘＡ線がアクティブになると作動する。そして、フロントエンドステートマシン４６は、プリアンブル領域のエッジに同期し、ＲｘＳ信号のマンチェスタ符号化データを復号する。ＳＯＡ事象は、フロントエンドステートマシン４６が起動したことを示す。
【００４４】
プリアンブルが検出されると、フロントエンドステートマシン４６は、スタート・デリミタ（ＳＤ）列を待つ。ＳＤが検出されると、フロントエンドステートマシン４６は、シリアルデータストリームをオクテットに変換し、シリアルデータストリームを８ビットのバイト毎に受信ＦＩＦＯメモリ５０に書き込む。フロントエンドステートマシン４６は、エンド・デリミタ（ＥＤ）が検出されるまで、もしくは受信ＦＩＦＯメモリ５０が満杯になるまで、データの新たなオクテットを受信ＦＩＦＯ５０に書き込み続ける。
【００４５】
ＥＤが検出されると、フロントエンドステートマシン４６は、ＲｘＡ線が非アクティブになるのを待つ。尚、ＲｘＡ線が非アクティブになることは、ＥＯＡ事象によって示される。
【００４６】
ＲｘＡ線が非アクティブになることで、フロントエンドステートマシン４６は初期状態
に復帰する。フロントエンドステートマシン４６は、フィールドバス・セグメント１２上の次の活動まで（つまり、再度ＲｘＡにてキャリア検出信号が供給されるまで）初期状態のままでいる。
【００４７】
フィルタリング回路は、基本デバイスにとって重要ではないメッセージに関するＩＲＱ負荷を軽減するために基本デバイスで用いられている。対照的に、ＬＡＳとして構成されたデバイスは、セグメント上の全てのメッセージを受信しなければならないため、フィルタリングを無効にしなければならない。フィルタリングが無効であると、全ての受信メッセージが受信ＦＩＦＯメモリ５０へ格納されるようになり、全ての受信メッセージがレジスタ群６０、そしてＣＰＵ６０へと転送されるようになる。ＳＯＭｆは、フィルタ処理された受信ＤＬＰＤＵのメッセージ開始信号である。ＳＯＭｆは、到来するメッセージがフィルタ処理されることを判定するのに十分な情報を受信メッセージが検出したとフロントエンドステートマシン４６が判定すると発生する。
【００４８】
フィルタリングが有効になると、フィルタ処理されたメッセージは受信ＦＩＦＯメモリ５０に格納されない。フィルタ処理されたメッセージによって、ＳＯＭｆが生成されないようになり、事象やＩＲＱが発生しないようになる。
【００４９】
フィルタ処理されたメッセージの例としては、リターン・トークン（ＲＴ）、アイドル、要求インターバル（ＲＩ）、プローブ応答（ＰＲ）ＤＬＰＤＵメッセージがある。これらは、フレーム制御（ＦＣ）バイトに基づいて特定され、フィルタリングが有効な状態では、常に拒否されるようになる。パス・トークン（ＰＴ）メッセージ及びプローブ・ノード（ＰＮ）メッセージは、メッセージの宛先アドレスがデバイスのアドレスと一致した場合に受信されるようになる。宛先アドレスが一致しない場合には、ＰＴメッセージ及びＰＮメッセージは拒否される。
【００５０】
ＦＣバイトに基づいてメッセージの種類に関してフィルタリングできることと、宛先アドレスに基づいてメッセージの種類に関してフィルタリングできることとによって、ＣＰＵ３０が処理しなければならない割込要求（ＩＲＱｓ）の数が制限され、それによってソフトウェア割込の負荷が軽減される。
【００５１】
フロントエンドステートマシン４６及び受信ＦＩＦＯメモリ５０は、ＭＡＵ３８からのシリアルデータフレームを構文解析するのに用いられる。ＣＰＵ３０は、受信ＦＩＦＯメモリ５０からデータを読み込み、読み込んだデータをＣＰＵ３０のローカルメモリ空間に格納して、受信ＤＬＰＤＵを復号する。
【００５２】
受信ＦＩＦＯメモリ５０は、８ビット幅を１バイトとした６３バイトである。受信ＦＩＦＯメモリ５０は、３つまでの完全な受信メッセージ（合計６３バイトまで）の全てのＤＬＰＤＵバイトを格納することになる。フロントエンドステートマシン４６は、フィルタ処理されたＲｘＳ信号からシリアルデータストリームを復号し、復号したシリアルデータストリームを８ビット並列形式のバイトに変換する。バイトの形成ののち、フロントエンドステートマシン４６は、書込ポインタによって指し示された場所へ符号化データを格納する書込パルスを生成する。書込動作が完了したのち、書込ポインタは、次のＤＬＰＤＵバイトを格納するようにインクリメントされる。
【００５３】
ＣＰＵ３０は、受信ＦＩＦＯメモリ５０に対する読込ポインタと連動する。レジスタ群６０の受信ＦＩＦＯレジスタ（実際のＤＬＰＤＵデータを含んでいる）からのあらゆる読込によって、８ビットデータは、受信ＦＩＦＯメモリ５０からデータバス上に直ちに送出され、ＣＰＵ３０に読み込まれる。読込動作が完了したのち、読込ポインタはインクリメントされる。読込ポインタのインクリメントは、受信ＦＩＦＯメモリ５０が空になるまで
継続され得る。
【００５４】
受信ＦＩＦＯメモリ５０にてオーバーフロー状態が発生するのを防止するため、レジスタ群６０には、受信ＦＩＦＯメモリ５０が満杯状態に近づくとＩＲＱの生成を許可するレジスタがある。ＩＲＱ生成の閾値は変更可能である。
【００５５】
送信ステートマシン５２は、送信ＦＩＦＯメモリ５４から送信されるＤＬＰＤＵデータを読み込む。プリアンブル、ＳＤ、ＥＤが自動的に挿入される。送信ステートマシン５２を起動するためには、ＰＤＵ間トリガー、もしくは任意に次回定期事象トリガーがアクティブとなって、送信動作を開始する必要がある。送信ステートマシン５２は、送信されたバイト数のトラックを保持する。アンダーフローもしくは送信カウント違反があると、エラー状態が指し示される。ＦＣＳは、ＤＬＰＤＵの最後の２バイトとして任意に自動送信され得る。
【００５６】
送信ステートマシン５２は、ＭＡＵ３８へのＴｘＳ線上のインターフェイス回路７０を介して供給され、セグメント１２上に送出されるマンチェスタシリアルデータを符号化する。また、送信ステートマシン５２は、ＥＤの最後のビットが発生して最初のプリアンブルにおける最初のビットが送信されたときに送信イネーブル（ＴｘＥ）線をアクティブ状態にする。また、送信ステートマシン５２は、ＴｘＥ線をアクティブ状態にするときに、送信開始（ＳＯＴ）事象信号を生成し、ＴｘＥ線が非アクティブに復帰するときに、送信終了（ＥＯＴ）事象信号を生成する。
【００５７】
送信ＦＩＦＯメモリ５４は、送信されるべきメッセージに必要とされる全てのＤＬＰＤＵバイトである合計６３バイトまでを格納する。変更可能な閾値は、送信ＦＩＦＯメモリ５４がほぼ空になるときをＣＰＵ３０に伝えるＩＲＱを送信するように設定され得る。６３バイトよりも多くのバイトが送信される必要がある場合には、ＣＰＵ３０は、送信ＦＩＦＯメモリ５４により多くのデータを追加できるようにすることを通知される。ＣＰＵ３０への通知は、全てのＤＬＰＤＵのバイトが書き込まれるまで継続する。ＣＰＵ３０が書込ポインタを用いて送信ＦＩＦＯ５４に書込を行う一方で、送信ステートマシン５２が読込ポインタを用いて送信ＦＩＦＯメモリ５４からバイトを読み込む。
【００５８】
通信コントローラ３６は、事象発生時に機能し、多数の事象の発生を処理できなければならない。事象の例としては、受信メッセージのＳＯＭ、ＥＯＭ、あるいはＥＯＡ、またあるいは送信メッセージのＥＯＴがある。受信／送信事象マネージャ５８は、３つの受信メッセージと１つの送信メッセージとの合計までで起こる全ての事象を管理する。
【００５９】
図４に示すように、受信／送信事象マネージャ５８は、ｒｃｖｍｓｇ１、ｒｃｖｍｓｇ２、ｒｃｖｍｓｇ３と称される３つの受信メッセージオブジェクトと、ｘｍｔｍｓｇと称される１つの送信メッセージオブジェクトとを備えている。さらに、受信／送信事象マネージャ５８は、メッセージキューマネージャ（ＭｓｇＱｍｎｇｒ）８０と、事象マネージャ（ＥｖｅｎｔＭｎｇｒ）８２と、送信マネージャ（ｘｍｔｍｎｇｒ）８４と、事象ＭＵＸ８６とを備えている。
【００６０】
受信ＦＩＦＯメモリ５０は、３つまでの完全な受信メッセージのＤＬＰＤＵバイトを格納することができる。これら３つのメッセージはそれぞれ、対応するオブジェクトｒｃｖｍｓｇ１と、ｒｃｖｍｓｇ２と、ｒｃｖｍｓｇ３とを備えている。各オブジェクトは、全てのＩＲＱの状態と、メッセージエラーと、各オブジェクトに対応する受信メッセージのために発生するタイムスタンプとを含んでいる。この情報は、メッセージの事象データを構成する。
【００６１】
全てのＩＲＱの状態、メッセージエラー、送信メッセージのために発生するタイムスタンプは、ｘｍｔｍｓｇオブジェクトに格納される。格納情報は、送信メッセージの事象データを構成する。
【００６２】
ＭｓｇＱｍｎｇｒ８０は、３つの受信メッセージオブジェクトの選定及び有効化を制御する。１度につき１つの受信メッセージオブジェクトのみがアクティブになることができる。ＭｓｇＱｍｎｇｒ８０によって、事象は、アクティブになっている受信メッセージオブジェクトと連動できる。ＣＰＵ３０によって他の３つの受信メッセージが認識される前に４つ目のメッセージが受信された場合には、ＭｓｇＱｍｎｇｒ８０は、事象データが読み込まれるまで、もしくは事象データが認識されるまで、さらなるいずれのメッセージの受信も無効とする。
【００６３】
ＥｖｅｎｔＭｎｇｒ８２は、事象の発生順序を管理する。事象が発生すると、事象マネージャ８２は、各事象に発生順序識別子（ＯＯＯ＿ＩＤ）を割り当てる。発生順序識別子を各事象に割り当てることにより、ＣＰＵ３０は、事象が発生する毎に事象を１つづつ読み込むことができる。ＣＰＵ３０は、各事象の発生時に各事象を認識しなければならない。第１の事象が認識されたのち、第１の事象に続く事象は、ＣＰＵ３０が読み込めるように待機されるようになる。
【００６４】
Ｘｍｔｍｎｇｒ８４は、ＰＤＵ間トリガー（ＩｎｔｅｒＰＤＵ＿ｔｒｉｇ）と次回定期事象トリガーとを監視して、送信トリガーコマンド（Ｘｍｔ＿Ｔｒｉｇ＿Ｃｍｄ）を送信ステートマシン５２に発行し、次のメッセージの送信を開始させる。
【００６５】
通信コントローラ３６は、レジスタ群６０を備えている。ＣＰＵ３０は、Ｒｅｇ００〜Ｒｅｇ３Ｆと称されたレジスタに書込や読込を行うことができる。また、割込（ＩＲＱｓ）は、レジスタ群６０を介して処理される。
【００６６】
クロック生成回路６２は、外部クロックを受信し、この外部クロックを使用するか、もしくはクロック生成回路６２内部の発振器６４からのクロック信号で通信コントローラ３６に必要な全てのクロック信号を生成する。
【００６７】
クロック生成回路６２は、好ましくは、クロック生成回路６２のノードタイマ及びオクテットタイマの双方のクロックレートを更新する能力を備えている。クロックレートを更新できることによって、通信コントローラ３６は、当該通信コントローラ３６のノード時刻とリンク・アドレス・スケジューラ（ＬＡＳ２０）との関係を同期させることができる。オクテット時刻は、内部メッセージタイミングを図るために用いられる一方、ノード時刻は、セグメント１２全体で共通の時刻の検出値を共有するために用いられる。
【００６８】
タイマ群６８は、異なる時刻の検出値を表す２つのグループに分割される。第１セットのタイマ群は、セグメントタイマ群と称され、ＣＰＵ３０のソフトウェア制御のもとで、クロック生成回路６２によって生成される可変クロックレートに基づいて動作する。第２セットのタイマ群は、メッセージタイマ群と称され、固定レートクロックで動作する。
【００６９】
通信コントローラ３６には、２つのセグメントタイマがある。第１セグメントタイマは、ノードタイマであり、ノードタイマは、３１．２５μ秒（３２ｋＨｚ）のクロックレートを有している。ノードタイマは、次回機能ブロック実行時刻と、リンク予定時刻Ｖ（ＬＳＴ）と、データリンク時刻（ＤＬ−Ｔｉｍｅ）とを提供するために用いられる。
【００７０】
第２セグメントタイマは、オクテットタイマであり、オクテットタイマは、２μ秒（５００ｋＨｚ）のクロックレートを有している。オクテットタイマは、次回定期事象トリガ
ー（次回定期事象トリガーは、特定時刻でメッセージを送信するために送信ステートマシン５２に接続している）に用いられる。クロックレートが調節されると、ノードタイマ及びオクテットタイマは、同じレートで互いに追従するようになる。つまり、ノードタイマとオクテットタイマとを駆動するクロック信号は、共通の可変クロックから得られている。
【００７１】
メッセージタイマ群は、フィールドバスメッセージ事象（送信及び受信）に基づいて、起動及び停止する。メッセージタイマ群は、非活動タイマと、ＰＤＵ間遅延タイマと、受信応答タイマと、送信応答タイマと、デリゲートトークン復帰タイマとを備えている。
【００７２】
非活動タイマは、減算カウンタである。非活動タイマは、２つのＰｈＰＤＵ間のアイドル時間を測定するのに用いられる。非活動タイマは、フィルタ処理された受信メッセージ及びフィルタ処理されていない受信メッセージの双方と、セグメント１２上のあらゆる送信メッセージとに作用する。非活動タイマは、起動を命令されると、１６μ秒毎に減算を行うようになる。非活動タイマの起動時点は、レジスタ群６０の１つに予め読み込まれた変更可能な設定時点から決定される。非活動タイマの減算は、受信メッセージもしくは送信メッセージのいずれか一方に関連した事象を介して解除もしくは停止され得る。非活動タイマがいったん０に到達もしくは失効すると、ＩＲＱが生成される。非活動タイマは、ＩＲＱが認識されるまで０のままとなる。ＩＲＱがハイのままであると、発生するさらなるメッセージ事象は、このＩＲＱが認識されるまで非活動タイマに作用しない。
【００７３】
ＰＤＵ間遅延タイマは、加算カウンタである。ＰＤＵ間遅延タイマは、Ｖ（ＭＩＤ）閾値レジスタとともに用いられ、送信メッセージもしくは受信メッセージの間の無送信最小時間（もしくは隙間時間）を保証するフィールドバスＶ（ＭＩＤ）最小ＰＤＵ間遅延を実現する。ＰＤＵ間遅延タイマは、フィルタ処理された受信メッセージ及びフィルタ処理されていない受信メッセージの双方と、セグメント１２上のあらゆる送信メッセージとに作用される。フィールドバス活動がないときには、ＰＤＵ間遅延タイマは、加算を継続する。カウント値がレジスタ群６０の１つに格納された、予め決められた値以上になると、ＰＤＵ間トリガー信号がアクティブになる。ＰＤＵ間トリガー信号は、ＰＤＵ間遅延時間に達したことを判定するのに用いられる。ＰＤＵ間トリガー信号は、ｘｍｔｍｎｇｒ８４に接続し、ＤＬＰＤＵの送信を開始できるという命令を与える。
【００７４】
受信応答タイマは、減算カウンタである。受信応答タイマは、加入デバイスがコンペル・データ（ＣＤ）ＤＬＰＤＵに対する即時応答を監視できるようにするために用いられる。また、受信応答タイマは、デバイスがオンラインされるときに当該デバイスが当該デバイスのアドレスを監視するのに用いられる。受信応答タイマは、起動を命令されると、１６μ秒毎に減算を行うようになる。受信応答タイマ起動時点は、レジスタ群６０の１つに予め読み込まれた変更可能な１６ビットの設定時点から決定される。受信応答タイマの減算は、ＳＯＭ事象もしくはＳＯＴ事象のいずれか一方を介して解除もしくは停止され得る。受信応答タイマがいったん０に到達もしくは失効すると、ＩＲＱが生成される。受信応答タイマは、ＩＲＱが確認されるまで０のままとなる。ＩＲＱがハイのままであると、発生するさらなるメッセージ事象は、このＩＲＱが確認されるまで受信応答タイマに作用しない。
【００７５】
送信応答タイマは、減算カウンタである。送信応答タイマによって、デバイスは、種々のＤＬＰＤＵ（つまり、コンペル・データ、パス・トークン）の送信後の即時応答を監視することができる。送信応答タイマは、起動を命令されると、１６μ秒毎に減算を行う。送信応答タイマの起動点は、レジスタ群６０の１つに予め読み込まれた変更可能な設定点から決定される。送信応答タイマの減算は、プローブ・ノード（ＰＮ）のＳＯＭ事象もしくはＳＯＴ事象を除く送信されたあらゆるＤＬＰＤＵのＳＯＭ事象もしくはＳＯＴ事象の
いずれか一方を介して、解除もしくは停止され得る。送信応答タイマがいったん０に到達もしくは失効すると、ＩＲＱが生成される。送信応答タイマは、ＩＲＱが認識されるまで０のままとなる。ＩＲＱがハイのままであると、発生するさらなるメッセージ事象は、このＩＲＱが認識されるまで送信応答タイマに作用しない。
【００７６】
デリゲートトークン復帰タイマは、減算カウンタである。デリゲートトークン復帰タイマは、他のデバイスからのデリゲートトークンを受信するアイドル時間を監視するのに用いられる。デリゲートトークン復帰タイマは、フィルタ処理された受信メッセージ及びフィルタ処理されていない受信メッセージの双方と、セグメント１２上のあらゆる送信メッセージとに作用する。デリゲートトークン復帰タイマは、起動を命令されると、１６μ秒毎に減算を行うようになる。デリゲートトークン復帰タイマの起動時点は、レジスタ群６０の１つに予め読み込まれた変更可能な設定時点から決定される。デリゲートトークン復帰タイマの減算は、受信メッセージもしくは送信メッセージのいずれか一方に関連する事象を介して解除もしくは停止され得る。デリゲートトークン復帰タイマがいったん０に到達もしくは失効すると、ＩＲＱが生成される。デリゲートトークン復帰タイマは、このＩＲＱが認識されるまで０のままとなる。ＩＲＱがハイのままであると、さらなるメッセージ事象が発生しても、このＩＲＱが認識されるまでデリゲートトークン復帰タイマは作用されない。
【００７７】
＜自動タイムスタンプ＞
通信コントローラ３６は、正確な時刻の検出値が維持され、正確な時刻の検出値が通信コントローラ３６及びＣＰＵ３０、さらにセグメント１２に接続された他のデバイス内で使用され得るように、事象の自動タイムスタンプを実行する。図１に図示するように、プロセス制御システム１０は、セグメント１２に動的に接続されたデバイス２０〜２８の間で常に送受信されるメッセージを有している。前述したように、物理層では、各メッセージは、物理層プロトコルデータユニット（ＰｈＰＤＵ）を構成している。時刻情報を必要とするＰｈＰＤＵの受信及び送信に付随される特定の事象がある。本発明では、特定の事象の発生時にセグメントタイマ群のスナップショットを取得することで、通信コントローラ３６内で自動タイムスタンプが発生する。
【００７８】
受信ＰｈＰＤＵに付随されるのは、活動開始（ＳＯＡ）事象である。活動開始事象は、フロントエンドステートマシン４６が受信ＰｈＰＤＵ活動を検出したときに発生する。受信ＰｈＰＤＵに付随される他の事象は、メッセージ終了（ＥＯＭ）事象である。メッセージ終了事象は、エンド・デリミタ（ＥＤ）の終了で発生する。ＥＯＭ事象は、ＣＰＵ３０上で実行中のソフトウェアへの割込要求（ＩＲＱ）を生成し、受信メッセージが発生したことを示す。受信／送信事象マネージャ５８は、レジスタ群６０を介してＣＰＵ３０に事象ＩＲＱを供給する役割を担っている。
【００７９】
送信ＰｈＰＤＵに付随されるのは、送信終了（ＥＯＴ）事象である。送信終了事象は、ネットワークへの送信ＰｈＰＤＵの送信が完了した際、つまり、ＥＤの終了の際に発生する。ＥＯＴ事象によって、受信／送信事象マネージャ５８は、ＣＰＵ３０のソフトウェアへの割込要求（ＩＲＱ）を生成し、メッセージの送信が完了したことを示す。
【００８０】
受信メッセージ及び送信メッセージの双方の各事象が発生する時刻をＣＰＵ３０のソフトウェアが把握することは重要である。１つの複雑な点は、ソフトウェアが用いる２種類の時刻の検出値、つまり、ＤＬ時刻（データリンク時刻）とオクテット時刻とが存在することである。ＤＬ時刻及びオクテット時刻の双方は、単調に増加するカウントである。これら２種類の時刻の検出値は、これら２種類の時刻の検出値それぞれの時間基準のために異なるクロックレートを必要とする。ＤＬ時刻は、おおよそ３２ＫＨｚ（３１．２５μ秒）の調節可能なクロックレートに基づいている一方、オクテット時刻は、おおよそ５００
ＫＨｚ（２μ秒）の調節可能なクロックレートに基づいている。
【００８１】
ＣＰＵ３０のソフトウェアは、ＥＯＭ事象もしくはＥＯＴ事象のいずれか一方のＩＲＱを取得したのちに事象時刻値を判定できるものの、ＩＲＱ生成からソフトウェアが実際にＤＬ時刻もしくはオクテット時刻を読み込むことができるまでの時間を表すソフトウェア待ち時間が存在する。ソフトウェア待ち時間は、ＩＲＱ発生時にソフトウェアが実行中のタスクに依存して変化し得る。さらに、双方の時間基準の時刻値がソフトウェアによって必要とされているため、ソフトウェアがタイマの１つから時刻値を読み込み、読み込んだ時刻値を他の時間基準に変換するのに要するオーバーヘッドが存在する。
【００８２】
ＳＯＡ事象のＩＲＱがない点において他の問題が存在する。ＳＯＡの受信は、非同期の事象である。ＳＯＡのＩＲＱを有することには問題がある。それは、セグメント１２上のノイズバーストが、ＳＯＡ事象の検出を生じさせてしまうからである。
【００８３】
ＣＰＵ３０のソフトウェアは、ノイズのあるセグメント１２によって生じる不必要なＳＯＡのＩＲＱに応答し、容易に過負荷状態になってしまう可能性がある。
ＳＯＡが実際に発生したときに、ソフトウェアが時刻を計算することにも問題があるであろう。それは、プリアンブルのバイトの数が不明であるからである。メッセージ開始（ＳＯＭ）事象にて、つまり、受信ＤＬＰＤＵの開始が検出された時点にてＩＲＱが生成される可能性がある。しかし、プリアンブルは、最小１バイトから最大８バイトであるので、ソフトウェアが計算する時刻値は、２５６マイクロ秒から２０４８マイクロ秒までの範囲に及ぶ可能性がある。
【００８４】
コントローラ３６は、ＤＬ時刻及びオクテット時刻の双方の受信ＰＰＤＵ事象及び送信ＰｈＰＤＵ事象のタイムスタンプを正確かつ自動的に行うのに必要なハードウェアを提供する。
【００８５】
図５は、２つのセグメントタイマであるノードタイマ６８Ａ及びオクテットタイマ６８Ｂを用いる自動タイムスタンプ機能を図示する機能ブロック図である。
図５に示されているのは、可変クロック生成回路６２、クロック周波数調節レジスタ６０Ａ、可変リンクタイマオフセットレジスタ６０Ｂ、データリンク時刻オフセットレジスタ６０Ｃ、次回機能ブロック実行時刻レジスタ６０Ｄ、次回定期事象レジスタ６０Ｅ、残り時間レジスタ６０Ｆ、スナップショットレジスタ６０Ｇ〜６０Ｊ、加算器９０，９２、減算器９４、比較器９６，９８である。
【００８６】
ノードタイマ６８Ａ及びオクテットタイマ６８Ｂは、２つの異なる時刻の検出値を提供するのに用いられるセグメントタイマである。ノードタイマ６８Ａ及びオクテットタイマ６８Ｂのクロック信号は、クロック周波数調節レジスタ６０Ａの制御下にある可変クロック生成回路６２によって供給される。２つのクロック信号の双方における周波数は、デバイス（この場合、基本デバイス２４）で使用されるクロックレートをＬＡＳ２０のクロックレートと同期させるために制御される。
【００８７】
ノードタイマ６８Ａは、３２ＫＨｚのクロック信号で動作する単調増加タイマである。ノードタイマ６８Ａにおけるカウントは、ノード時刻Ｃ（ＮＴ）、データリンク時刻（ＤＬ時刻）、リンク予定時刻Ｖ（ＬＳＴ）を生成するのに用いられる。ノードタイマ６８Ａの他の重要な用途は、次回機能ブロック実行時刻割込を生成することである。
【００８８】
オクテットタイマ６８Ｂは、５００ＫＨｚのクロック信号で動作し、オクテットに基づ
く単調増加タイマである。オクテットタイマ６８Ｂの重要な用途の１つは、次回定期事象トリガーを生成することである。
【００８９】
可変リンク時刻オフセットレジスタ６０Ｂは、ＬＡＳ２０のローカルリンクスケジューリング時刻Ｖ（ＬＳＴ）に対する特定のデバイス（この例ではデバイス２４）の符号付きオフセット（もしくは差分）を表す値であるＶ（ＬＳＴＯ）を提供する。ＬＡＳ２０の時間基準は、時刻配信（ＴＤ）ＤＬＰＤＵがＬＡＳ２０から受信されたときに決定される。可変リンク時刻オフセットレジスタ６０Ｂからの値は、ノードタイマ６８Ａからのカウント値に加算され、デバイス２４のローカルリンク予定時刻Ｖ（ＬＳＴ）が生成される。
【００９０】
データリンク時刻オフセットレジスタ６０Ｃは、データリンク時刻オフセットＶ（ＤＬＴＯ）を含み、データリンク時刻オフセットＶ（ＤＬＴＯ）は、デバイス２４がＬＡＳ２０のＤＬ時刻とデバイス２４のＤＬ時刻のあらゆる差分を補正するのに用いられる。ＬＡＳ２０は、可変Ｖ（ＤＬＴＯ）をＴＤ  ＤＬＰＤＵを介して全てのデバイスに送信する。ＤＬ時刻は、加算器９２によって形成され、加算器９２は、Ｖ（ＤＬＴＯ）の値をＶ（ＬＳＴ）の値に加算する。加算結果は、デバイス２４のローカルＤＬ時刻を形成する。次回機能ブロック実行レジスタ６０Ｄにより、次回機能ブロックが送信されるときにＣＰＵ３０に割込を行うという設定を行うことが可能となる。この設定は、比較器９６がＶ（ＬＳＴ）とレジスタ６０Ｄに格納された設定時点とを比較することで達成される。
【００９１】
次回定期事象レジスタ６０Ｅによれば、オクテットタイマ６８Ｂによって保持されるオクテット時刻に基づいて予め決められた時刻にＤＬＰＤＵを送信する設定が可能である。トリガー機構は、次回定期事象レジスタ６０Ｅとオクテット時刻との間で減算器９４にて減算を行うことで実現されている。次回定期事象設定時点が次回定期事象レジスタ６０Ｅに書き込まれたのち、送信要求が実行され得る。レジスタ６０Ｅの値とオクテット時刻との差分がいったん０以下になると、次回定期事象トリガーが生成される。次回定期事象トリガーは、受信／送信事象マネージャ５８のｘｍｔｍｎｇｒ８４に供給される。次回定期事象トリガーによって、ＤＬＰＤＵをセグメント１２上に送信する命令が発行される。残り時間レジスタ６０Ｆによって、ＣＰＵ３０は、次回定期事象トリガーが発行される前に残り時間を判定することができる。
【００９２】
スナップショットレジスタ６０Ｇ〜６０Ｊは、ソフトウェアによって始動されたときに、ノード時刻Ｃ（ＮＴ）と、オクテット時刻と、データリンク時刻（ＤＬ時刻）と、ローカルリンク予定時刻Ｖ（ＬＳＴ）とを格納する。スナップショットパルスが発生した時点で、全ての４つの時刻値は同時に取得されることになる。タイマ６８Ａ，６８Ｂは、カウントを継続するものの、肝心な事象のスナップショット時刻値は、レジスタ６０Ｇ〜６０Ｊに取得されることになる。
【００９３】
受信ＰｈＰＤＵの自動タイムスタンプ機能は、以下のように動作する。まず、フロントエンドステートマシン４６が、到来するマンチェスタ形式データのサンプリングを開始するように、デバウンス回路４２及びディジタル位相同期回路４４（図４参照）が十分な期間のフィールドバス活動を検出する。ディジタル位相同期回路４４は、マンチェスタデータのサンプリング及び復号のためにＰｈＰＤＵのプリアンブルにおけるビットの境界に同期する。フロントエンドステートマシン４６がデータの復号開始を命令された時点で、ＳＯＡ事象パルスが生成される。
【００９４】
ＳＯＡ事象パルスは、オクテット時刻及びＤＬ時刻の現在値を、各現在値のＳＯＡタイムスタンプレジスタにそれぞれ取得させるスナップショットパルスとして用いられる。これらＳＯＡタイムスタンプレジスタは、受信／送信事象マネージャ５８におけるｒｃｖｍｓｇ１オブジェクト、ｒｃｖｍｓｇ２オブジェクト、ｒｃｖｍｓｇ３オブジェクトに含ま
れている。
【００９５】
ＤＬＰＤＵの全てのバイトの受信が完了した時点で、フロントエンドステートマシン４６は、エンド・デリミタ（ＥＤ）の独特の列を検出する。ＥＤの最後にて、ＥＯＭ事象パルスが生成され、ＥＯＭ  ＩＲＱがアクティブとなる。
【００９６】
ＥＯＭ事象パルスは、現在のＤＬ時刻及びオクテット時刻を取得するスナップショットパルスを生成する。ＤＬ時刻及びオクテット時刻の現在値は、受信メッセージオブジェクトであるｒｃｖｍｓｇ１、ｒｃｖｍｓｇ２、ｒｃｖｍｓｇ３に配置された、各現在値のＥＯＭタイムスタンプレジスタにそれぞれ格納される。
【００９７】
ＥＯＭ  ＩＲＱは、レジスタ群６０を介してＣＰＵ６０に供給される。ＥＯＭ  ＩＲＱは、ＣＰＵ３０にて実行中のソフトウェアに割込を行う。割込が行われた時点で、ソフトウェアは、必要に応じてタイムスタンプ格納レジスタが読み込む時間基準としてＤＬ時刻時間基準もしくはオクテット時刻時間基準のいずれか一方を選択できる。
【００９８】
送信ＰｈＰＤＵとともに自動タイムスタンプを生成する手順は、以下のとおりである。ＣＰＵ３０のソフトウェアは、送信されるＤＬＰＤＵを送信ＦＩＦＯメモリ５４に読み込む。また、ソフトウェアは、送信されるＤＬＰＤＵのバイト数を表すカウント値Ｎをレジスタに読み込む。そして、ソフトウェアは、ＤＬＰＤＵの送信要求を開始する。
【００９９】
セグメント１２上への送信を行う条件がいったん満たされると、送信ステートマシン５２は、ＰｈＰＤＵ列であるプリアンブルバイト、ＳＤバイト、ＤＬＰＤＵのＮバイト、最後のＥＤバイトの送信を開始する。ＥＤの送信が終了すると、ＥＯＴ事象パルス及びＥＯＴ  ＩＲＱが生成される。ＥＯＴ事象パルスは、スナップショットトリガーとして機能し、オクテット時刻及びデータリンク時刻（ＤＬ時刻）の現在値を各現在値のＥＯＴタイムスタンプレジスタにそれぞれ格納する。これらＥＯＴタイムスタンプレジスタは、受信／送信事象マネージャ５８における送信メッセージオブジェクトに配置されている。
【０１００】
ＥＯＴ  ＩＲＱは、ソフトウェアに割込を行う。そして、ソフトウェアは、必要に応じて、適切なタイムスタンプ格納レジスタから読み込まれるデータを選択できる。
ＰｈＰＤＵ事象の自動タイムスタンプによれば、ＥＯＭ  ＩＲＱもしくはＥＯＴ  ＩＲＱのいずれか一方にまず応答したのちに、ソフトウェアに現在時刻を判定させる必要がある場合に必要とされるソフトウェアの待ち行列が不要となる。さらに、自動タイムスタンプ機能によれば、非同期事象の現在時刻を取得するＳＯＡタイムスタンプを双方の時間基準で生成することができる。
【０１０１】
通信コントローラ３６で自動タイムスタンプを実行することにより、タイムスタンプ値の精度が向上する。通信コントローラ３６は、ＰｈＰＤＵを直接処理するため、関連するＰｈＰＤＵ事象がいつ発生するのかを正確に把握し、関連するＰｈＰＤＵ事象に対応する現在のセグメント時刻を取得するように直ちに動作する。
【０１０２】
通信コントローラ３６は、さらに別の自動タイムスタンプ機能を提供する。この別の自動タイムスタンプ機能は、タイムスタンプデータの自動送信を含んでいる。送信時にＤＬＰＤＵデータ内にタイムスタンプデータが含まれる必要があるメッセージが３種類ある。通信コントローラ３６は、これら３つの特定のＤＬＰＤＵに対するタイムスタンプを自動的に挿入して、タイムスタンプを自動的に送信する能力を備えている。尚、３つの特定のＤＬＰＤＵとは、時刻配信（ＴＤ）ＤＬＰＤＵ、往復遅延問い合わせ（ＲＱ）ＤＬＰＤＵ、往復遅延応答（ＲＲ）ＤＬＰＤＵである。
【０１０３】
ＴＤ  ＤＬＰＤＵは、ＬＡＳ２０によって送信され、セグメント１２上の全ての他のデバイスを協調させ、他のデバイスにおいて検出されるＤＬ時刻の経過速度を同期させることができる。図６に示すＴＤ  ＤＬＰＤＵは、送信が終了する前に、ＤＬ時刻の７バイトのタイムスタンプを送信する必要がある。このタイムスタンプは、ＴＤ  ＤＬＰＤＵがローカルリンクに送出される時点で取得される。ＴＤ  ＤＬＰＤＵがローカルリンクに送出される時点とは、フレーム制御（ＦＣ）バイトの開始時点である。
【０１０４】
ＲＱ  ＤＬＰＤＵは、１つのデバイスから他の１つのデバイスへと送信され、デバイス間の相互通信にとって固有の往復遅延の測定及び計算を開始するのに用いられる。図７は、ＲＱ  ＤＬＰＤＵの構造と自動タイムスタンプのソースとを示している。ＲＱ  ＤＬＰＤＵは、ＤＬＰＤＵがローカルリンクに送出された時点に取得されたノード時刻Ｃ（ＮＴ）における２４ビットのタイムスタンプを送信する必要がある。２４ビットのタイムスタンプのフォーマットは、ノード時刻（１５：０）に加えて“００００００００”となっている。ＲＱ  ＤＬＰＤＵは、スタート・デリミタ（ＳＤ）の終了時に発生し、メッセージ開始（ＳＯＭ＿ｘｍｔ）事象パルスと見なされる。
【０１０５】
図７に示すように、ＲＱ  ＤＬＰＤＵは、８バイトのデータに加え、２バイトのＦＣＳを含んでいる。２４ビットのＳＯＭノード時刻は、ＲＱ  ＤＬＰＤＵにおけるバイト５〜７に表されている。
【０１０６】
ＲＲ  ＤＬＰＤＵは、セグメント１２上における２つの個別のデバイス間の相互通信にとって固有の往復遅延の測定及び計算を完了させるのに用いられる。ＲＲ  ＤＬＰＤＵは、常に、ＲＱ  ＤＬＰＤＵの後に続くことになっている。ＲＱ  ＤＬＰＤＵ及びＲＲ  ＤＬＰＤＵは、互いを補うものになっている。ＲＲ  ＤＬＰＤＵは、図８に示されている。ＲＲ  ＤＬＰＤＵは、ＤＬＰＤＵがローカルリンクに送出された時点で取得されたノード時刻における２４ビットのタイムスタンプを送信する必要がある。この２４ビットは、送信ＦＩＦＯメモリ５４のバイト１２〜１４に格納される。２４ビットのタイムスタンプのフォーマットは、ノード時刻（１５：０）に加えて“００００００００”となっている。
【０１０７】
通信コントローラ３６は、どのＤＬＰＤＵがセグメント１２上に送信中であるのかを自動的に検出する。通信コントローラ３６は、ＤＬＰＤＵがセグメント１２上に送出された時点で送信されるタイムスタンプ値を格納する。通信コントローラ３６は、格納されたタイムスタンプ値を送信ＦＩＦＯメモリ５４に適切に読み込み、適切に符号化する。
【０１０８】
ＴＤ  ＤＬＰＤＵ、ＲＱ  ＤＬＰＤＵ、ＲＲ  ＤＬＰＤＵの自動タイムスタンプは、ソフトウェアがＴＤ  ＤＬＰＤＵ、ＲＱ  ＤＬＰＤＵ、ＲＲ  ＤＬＰＤＵを送信ＦＩＦＯメモリ５４に読み込んだときに始まる。また、ソフトウェアは、送信されるＤＬＰＤＵのバイト数のカウント値をレジスタに読み込む。ＤＬＰＤＵのバイト数のカウント値は、ＤＬＰＤＵの種類に応じて変化する。そして、ソフトウェアは、ＤＬＰＤＵの送信要求を開始する。
【０１０９】
セグメント１２が適切な時間だけ無活動になれば、送信ステートマシン５２は、送信を開始できる。送信が開始されると、送信ステートマシン５２は、１〜８バイトのプリアンブル、１バイトのスタート・デリミタ（ＳＤ）、ＮバイトのＤＬＰＤＵに加え、２バイトのフレームチェック制御、そして、最後の１バイトのエンド・デリミタ（ＥＤ）の送信を進める。ＤＬＰＤＵが送信されている間、送信ステートマシン５２は、送信ＦＩＦＯメモリ５４から８ビットのデータを読み込む。各バイトは、送信される前に、パラレル−シリアル変換器を介してシリアルデータに変換される。
【０１１０】
通信コントローラ３６は、送信ステートマシン５２の状態と、送信のためにパラレル−シリアル変換器を介してシフトアウトされた送信ＦＩＦＯメモリ５４のデータとの双方を監視する。ＤＬＰＤＵの最初のバイトが送信される時点で、送信ステートマシン５２は、メッセージ開始送信（ＳＯＭ＿ｘｍｔ）事象パルスを生成する。
【０１１１】
ＤＬＰＤＵの最初のバイトは、常に、図６に示すフレーム制御（ＦＣ）バイトである。ＦＣは、どの種類のＤＬＰＤＵが送信中であるのかを示す。どの種類のＤＬＰＤＵが送信中であるのかによって、ＴＤフラグもしくはＲＱフラグもしくはＲＲフラグが設定されることになる。１つの送信ＤＬＰＤＵにつき、１つのフラグのみが設定され得る。送信中のＤＬＰＤＵがＴＤフレーム制御（ＦＣ）、ＲＱフレーム制御（ＦＣ）、ＲＲフレーム制御（ＦＣ）のいずれにも一致しない場合には、上述のフラグのいずれも設定されない。
【０１１２】
フラグが設定されてから短い時間でフレーム制御データはセグメント１２上に送出される。その時点で、送信ステートマシン５２は、ノード時刻及びＤＬ時刻を取得するスナップショットを生じるメッセージ開始送信（ＳＯＭ＿ｘｍｔ）（図２参照）事象パルスを生成する。ＳＯＭ＿ｘｍｔパルスを用いることで、データがセグメント１２上に送出されたときにおける送信デバイスのノード時刻及びＤＬ時刻の非常に正確な値が得られる。ＴＤフラグが設定されると、ＤＬ時刻における４８ビットのタイムスタンプが作成され、一時レジスタに格納される。ＲＱフラグもしくはＲＲフラグのいずれか一方が設定されると、ノード時刻における２４ビット形式のタイムスタンプは、他の一時レジスタに格納される。
【０１１３】
タイムスタンプ値が格納されたのち、クロックパルスが生成され、格納されたタイムスタンプデータが送信ＦＩＦＯメモリ５４に転送される。格納されたタイムスタンプデータの転送は、タイムスタンプデータがセグメント１２上に送信されることが必要となる前によく発生する。
【０１１４】
ＴＤ  ＤＬＰＤＵ、ＲＱ  ＤＬＰＤＵ、ＲＲ  ＤＬＰＤＵはそれぞれ、タイムスタンプ値が送信ＦＩＦＯ５４の別の記憶位置に転送される必要がある。別の記憶位置への転送は、適切なタイムスタンプデータを送信ＦＩＦＯメモリ５４内の適切な記憶位置に多重化するように設定されたＴＤフラグもしくはＲＱフラグもしくはＲＲフラグを用いて達成される。ソフトウェアが送信ＦＩＦＯメモリ５４の上述の記憶位置に最初に書き込んだいかなる値も新たなタイムスタンプ値で上書きされる。
【０１１５】
最後に、送信終了ＩＲＱは、ＤＬＰＤＵが送信されたときにＣＰＵ３０上のソフトウェアに割込を行うことになる。しかしながら、ソフトウェアがタイムスタンプの生成に関与するのではない。むしろ、通信コントローラ３６がタイムスタンプデータの生成を自動的に実行している。
【０１１６】
通信コントローラ３６の自動タイムスタンプにより、タイムスタンプデータの計算及び符号化を全て行うのに要するソフトウェアのオーバーヘッドがなくなる。また、通信コントローラ３６内のハードウェアで自動タイムスタンプ機能を実行することで、タイムスタンプ値の精度が大幅に向上する。通信コントローラは、ＤＬＰＤＵの最初のバイトの始まりがローカルリンクに送出されているときを正確に把握するため、通信コントローラは、タイムスタンプを適切な時刻で取得できる。
【０１１７】
本発明は、好ましい実施形態を参照しながら説明されているが、当業者は、本発明の精神及び範囲を逸脱することなく、形態の変更及び詳細な変更が可能であることを認識するであろう。
【図面の簡単な説明】
【０１１８】
【図１】通信媒体セグメント上のデバイス間のディジタル通信を行うプロセス制御システムの図面である。
【図２】図１のプロセス制御システムにおけるデバイス間の通信のためのメッセージフォーマットを示す。
【図３】プロセス制御システムにおけるデバイスのブロック図である。
【図４】図３のデバイスにおける通信コントローラの機能ブロック図である。
【図５】図４の通信コントローラにおいて自動タイムスタンプを実行するのに用いられるクロック生成、セグメントタイマ、レジスタの機能ブロック図である。
【図６】自動タイムスタンプに続く時刻配信（ＴＤ）データリンク・プロトコル・データ・ユニット（ＤＬＰＤＵ）のメッセージフォーマットを示す図面である。
【図７】自動タイムスタンプを伴う往復遅延問い合わせ（ＲＱ）ＤＬＰＤＵのメッセージフォーマットを示す図面である。
【図８】自動タイムスタンプを伴う往復遅延応答（ＲＲ）ＤＬＰＤＵのメッセージフォーマットを示す図面である。
【図１】
2008508796.tif 000003
【図２】
2008508796.tif 000004
【図３】
2008508796.tif 000005
【図４】
2008508796.tif 000006
【図５】
2008508796.tif 000007
【図６】
2008508796.tif 000008
【図７】
2008508796.tif 000009
【図８】
2008508796.tif 000010
【国際調査報告】
2008508796.tif 000011