(57)【特許請求の範囲】
【請求項１】
集積回路であって、
ホストプロセッサと、
シリアル半二重のユニバーサル非同期レシーバ／トランスミッタ（ＵＡＲＴ）回路要素であって、前記ホストプロセッサに結合され、受信データ入力と送信データ出力とを有し、前記送信データ出力が前記受信データ入力から分離される、前記ＵＡＲＴ回路要素と、
前記ホストプロセッサと前記ＵＡＲＴ回路要素とから分離されるロジック回路要素であって、前記送信データ出力に結合される送信データ入力と、モード出力とを有し、前記送信データ入力における受信信号に応答して送信モードと受信モードの一方を選択して前記モード出力において前記選択した前記送信モードと前記受信モードの一方を送信モード信号又は受信モード信号でシグナリングする、前記ロジック回路要素と、
を含む、集積回路。
【請求項２】
請求項１に記載の集積回路であって、
前記ロジック回路要素が、コプロセッサ回路要素を含む、集積回路。
【請求項３】
請求項１に記載の集積回路であって、
前記ロジック回路要素が、前記送信データ入力と前記モード出力とに結合されるタイマ回路要素を含む、集積回路。
【請求項４】
請求項１に記載の集積回路であって、
前記ホストプロセッサが、如何なるモード出力から自由である、集積回路。
【請求項５】
請求項１に記載の集積回路であって、
前記受信データ入力に結合される受信データ出力と、前記送信データ出力に結合される送信データ入力と、前記モード出力に結合されるモード入力とを有するトランシーバ回路要素を更に含む、集積回路。
【請求項６】
集積回路であって、
ホストプロセッサと、
前記ホストプロセッサに結合され、受信データ入力と送信データ出力とを有するシリアル半二重ＵＡＲＴ回路要素であって、前記送信データ出力が前記受信データ入力から分離されており、前記ＵＡＲＴ回路要素が、前記送信データ出力上でのフレーム伝送の過程を追跡するライン状態レジスタを含む、前記ＵＡＲＴ回路要素と、
前記ホストプロセッサと前記ＵＡＲＴ回路要素とから分離されているロジック回路要素であって、前記送信データ出力に結合される送信データ入力と、モード出力と、前記ＵＡＲＴ回路要素の前記ライン状態レジスタに結合されるライン状態レジスタ入力とを有し、前記送信データ入力における受信信号に応答して送信モードと受信モードの一方を選択して前記モード出力において前記選択した前記送信モードと前記受信モードの一方を送信モード信号又は受信モード信号でシグナリングする、前記ロジック回路要素と、
を含む、集積回路。
【請求項７】
請求項６に記載の集積回路であって、
前記ロジック回路要素が、コプロセッサ回路要素を含む、集積回路。
【請求項８】
請求項６に記載の集積回路であって、
前記ホストプロセッサが、如何なるモード出力から自由である、集積回路。
【請求項９】
請求項６に記載の集積回路であって、
前記受信データ入力に結合される受信データ出力と、前記送信データ出力に結合される送信データ入力と、前記モード出力に結合されるモード入力とを有するトランシーバ回路要素を更に含む、集積回路。
【請求項１０】
集積回路を作動するプロセスであって、
ホストプロセッサから分離されたロジック回路要素において、スタートビットのためにＵＡＲＴの送信データ出力をモニタリングし、
前記送信データ出力上にスタートビットをモニタリングするときに前記ロジック回路要素内のタイマをスタートして前記ロジック回路要素からの送信モードの出力を選択し、
前記タイマの満了のときに前記ロジック回路要素からの受信モードの出力を選択し、
前記選択の前に遅延を開始し、
前記遅延の間に別のスタートビットのために前記ＵＡＲＴの送信データ出力をモニタリングし、
前記遅延の満了のときに前記選択を進める、
ことを含む、プロセス。
【請求項１１】
請求項１０に記載のプロセスであって、
前記タイマの満了のときに、前記選択の前に遅延を開始することを更に含む、プロセス。
【請求項１２】
請求項１０に記載のプロセスであって、
前記タイマの満了のときに、前記選択の前に遅延を開始して、別のスタートビットのために前記ＵＡＲＴの送信データ出力をモニタリングすることを更に含む、プロセス。
【請求項１３】
集積回路を作動するプロセスであって、
ホストプロセッサから分離されたロジック回路要素において、スタートビットのためにＵＡＲＴの送信データ出力をモニタリングし、
前記送信データ出力上にスタートビットをモニタリングするときに前記ロジック回路要素内のタイマをスタートして前記ロジック回路要素からの送信モードの出力を選択し、
前記タイマの満了のときに前記ロジック回路要素からの受信モードの出力を選択し、
前記選択の前に遅延を開始し、
前記遅延の間に別のスタートビットのために前記ＵＡＲＴの送信データ出力をモニタリングし、
前記送信データ出力上に別のスタートビットをモニタリングするときに前記ロジック回路要素内のタイマを再びスタートして前記ロジック回路要素からの前記送信モードの出力を選択する、
ことを含む、プロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、概して集積回路による通信に関し、更に特定して言えば、集積回路によるシリアル半二重通信の制御に関連する。
【背景技術】
【０００２】
シリアル通信は、産業制御用途において一般的である。例えば、ＲＳ−４８５に従ったシリアル半二重通信がオートメーションシステムにおいて広く用いられている。ファクトリーオートメーションシステムなどの用途は、しばしば、通信のためにＲＳ−４８５を使うプログラム可能ロジックコントローラを用いる。幾つかのシステムはイーサネットベースの通信に移っているが、広く普及しているレガシーシステムのためのサポートがまだ必要である。例えば、ＲＳ−４８５は、シリアル通信の、速度、フォーマット、及びプロトコルを特定していない。異なる製造業者からのデバイスの相互操作性は、たとえ同様であっても、信号レベル仕様に単に準拠することのみでは保障されない。
【０００３】
シリアル半二重通信を用いる従来の通信システムの一例が図１において概略で示されており、この例では、集積回路１０（例えば、ＲＩＳＣマイクロプロセッサ）が、ホストプロセッサ１１及びユニバーサル非同期レシーバ／トランスミッタ（ＵＡＲＴ）１２を含み、更なる集積回路などの外部トランシーバ（ＸＣＶＲ）１３と協働する。ＵＡＲＴ１２は、トランシーバ１３にデータＴＸＤを出力し、データＴＸＤは、ホストプロセッサ１１から受信されており、１４で概略的に図示するような一つ又は複数の接続されたデバイスを有するデバイスバスに対してトランシーバにより伝送される。同様に、ＵＡＲＴ１２は、デバイスバス１４からトランシーバ１３により受信されたデータＲＸＤをトランシーバ１３から受信する。ＵＡＲＴ１２は、この受信データをホストプロセッサ１１に提供する。ホストプロセッサ１１は、トランシーバ１３に制御シグナリングＴＸ／ＲＸを提供し、これが、トランシーバ１３の送信オペレーション及び受信オペレーションを適切にイネーブル及びディセーブルする。
【０００４】
ホストプロセッサ１１が（ＴＸ／ＲＸ信号を用いて）トランシーバ１３を送信（ＴＸ）モードから受信（ＲＸ）モードへ又はその逆へ切り替えるとき、ターンアラウンドオペレーションが起こる。例えば、ＴＸモードからＲＸモードへの遷移では、ターンアラウンド時間は、トランシーバ１３がＴＸモード（このモードでは、トランシーバ１３の送信オペレーションがイネーブルされ、受信オペレーションがディセーブルされる）から、ＲＸモード（このモードでは、トランシーバ１３の送信オペレーションがディセーブルされ、受信オペレーションがイネーブルされる）へ遷移するために必要とされる時間である。このターンアラウンド時間は、最後に送信されたビットがトランシーバ１３を完全に通過したとき始まる。
【０００５】
多くのオートメーションシステム用途における通信では、低レイテンシー（例えば、著しく低いレイテンシー）が重要である。例えば、ＴＸモードからＲＸモードへのターンアラウンドは、最後に送信されたビットが外部トランシーバ（例えば、図１における１３）を通過した後、可能な限りすぐに起こるべきである。従って、ＴＸモードからＲＸモードへのターンアラウンド時間は可能な限り短くすべきである。
【発明の概要】
【０００６】
記載される例において、集積回路装置が、ホストプロセッサ及びＵＡＲＴを含む。ＵＡＲＴは、ホストプロセッサとの通信のために結合され、集積回路装置の外にあるトランシーバとのシリアル半二重通信のために構成される。トランシーバは、シリアル半二重通信の間、オペレーションの送信モード及びオペレーションの受信モードを想定する。また、集積回路装置は、ＵＡＲＴに結合されるホストプロセッサから分離されており、いつ送信モードを想定するか及びいつ受信モードを想定するかのそれぞれのインジケーションをトランシーバにシグナリングするためにＵＡＲＴのオペレーションに応答する、ロジックを含む。
【図面の簡単な説明】
【０００７】
【図１】シリアル半二重通信を用いる従来の通信システムを概略で示す。
【０００８】
【図２】例示の実施例に従った通信システムを概略で示す。
【０００９】
【図３】図２のシステムによって実施され得るオペレーションを示す。
【００１０】
【図４】更なる例示の実施例に従った通信システムを概略で示す。
【００１１】
【図５】図４のシステムによって実施され得るオペレーションを示す。
【発明を実施するための形態】
【００１２】
ホストプロセッサ（図１における１１で示されるものなど）において用いられるソフトウェア次第で、外部シリアル半二重トランシーバ（図１において１３で示されるものなど）のＴＸモードからＲＸモードへの遷移に関連付けられるターンアラウンド時間は、通信リンクの受信能力に負の影響を有し得る。ターンアラウンド時間が長すぎる場合、入ってくるＲＸデータの一部が損なわれる可能性がある。リンクプロトコルには、ターンアラウンドオペレーションが２ビット時間内に起こることを必要とするものがある。少なくとも一つの例において、１１５．２ｋボーでの通信では、２ビット時間のターンアラウンド時間が、通例必要とされる１３０μｓ内に充分に入り得る。
【００１３】
例示の実施例は、ホストプロセッサから離れて外部トランシーバのＴＸ／ＲＸモード遷移を制御し、それにより、ＴＸ／ＲＸモード遷移のホストプロセッサ制御に関連付けられ得る遅いターンアラウンド時間を回避する。幾つかの実施例は、ホストプロセッサと同じ集積回路上で、ホストプロセッサから分離されたロジックを提供し、このロジックがＴＸ／ＲＸモード遷移を制御する。
【００１４】
図２は、例示の実施例に従った通信システムを概略で示す。図２のシステムにおいて、集積回路２０内のシリアル半二重ＵＡＲＴ１２が、集積回路２０のホストプロセッサ２３と、デバイスバス（図２において明示せず）に結合される外部トランシーバ１３（幾つかの実施例では集積回路）との間の通信をインタフェースする。しかし、図２のシステムでは、（図１の１０及び図２の２０などの集積回路における）コプロセッサ２１が、トランシーバ１３のＴＸ及びＲＸモード間の遷移を制御するために用いられる。そのため、図２のホストプロセッサ２３はＴＸ／ＲＸモード遷移を制御せず、一方、図１のホストプロセッサ１１はこういった遷移を制御する。
【００１５】
コプロセッサ２１は、ＵＡＲＴ１２によりＴＸＤで送信されたシリアルデータフレームのタイミング及び構造（特徴と称されることもある）の知識を用いることによって、ＴＸ／ＲＸモード遷移を制御する。例えば、ＴＸＤで送信されたフレームは通常、開始ビットで始まり、その後所定の数のデータビット（及び幾つかの実施例において一つ又は複数のパリティビット）が続き、これらの後、一つ又は複数の停止ビット（通常、一つの停止ビット）が続く。幾つかの実施例において、フレームは８個のデータビットを含む。コプロセッサ２１は、ＵＡＲＴ１２のＴＸＤ出力に結合され、送信されたフレームをモニタリングする。送信されたフレームのこのモニタリングに基づいて、コプロセッサ２１は、トランシーバ１３のＴＸモードの選択を示すためにＴＸ／ＲＸにおけるシグナリングをトランシーバ１３に出力する。
【００１６】
前述のフレームモニタリングにおいて、コプロセッサ２１は、開始ビットの発生を検出するためＵＡＲＴ１２のＴＸＤ出力をモニタリングする。開始ビットの検出は、トランシーバ１３のＴＸモード（例えば、ＴＸイネーブルド及びＲＸディセーブルド）に対して直ぐに（ＴＸ／ＲＸで）シグナリングするため、コプロセッサ２１をトリガする。幾つかの実施例において、ＴＸ又はＲＸモードは、その論理レベルに応じて、ＴＸをイネーブルしＲＸをディセーブルする、又はその逆とする、単一のデジタル信号を単にトグルすることにより選択される。開始ビットの検出はまた、コプロセッサ２１において２２におけるタイマー機能のオペレーションをトリガする。開始ビット、複数のデータ（及び任意選択のパリティ）ビット、及び停止ビットを含むフレームを送信するために必要とされる時間の総量は、コプロセッサ２１に既知である。開始ビット検出によってトリガされると、タイマー機能２２は、フレーム送信をタイミングし始める。タイマー機能２２がフレーム伝送時間が満了したことを示すと、コプロセッサ２１は、ＲＸモードを選択するためにトランシーバ１３をシグナリングする。
【００１７】
幾つかの実施例において、タイマー機能２２は、フレーム伝送時間が満了した直後遅延時間を実装する。コプロセッサ２１は、遅延時間が満了するまで待機し、その後ＲＸモードのためにシグナリングする。遅延時間は、ＲＸモードへの切り替えが起こる前に停止ビットがトランシーバ１３を完全に通過することを確実にすることを助ける。また、コプロセッサ２１は、遅延時間の間、ＵＡＲＴ１２のＴＸＤ出力をモニタリングし続け、それにより、連続するフレームのバーストが伝送される事象においてフレーム間のＴＸ／ＲＸ選択信号の不要なトグルを回避する。従って、遅延時間の間、バーストにおける第２の（又は他の後続の）フレームの開始ビットが検出され得、ＴＸモードを選択されたままとする。このオペレーションは、（ａ）ＲＸモードへの切り替えがバーストにおけるフレームの終了後起こり、その後、（ｂ）バーストの次のフレームの開始ビットが検出されるとすぐＴＸモードに切り替わる、という状況を避け得る。種々の実施例において、遅延は、少なくとも１ビット伝送時間（ビット時間）、ビット時間の一部、及び少なくとも１ビット時間とビット時間の一部との組み合わせなど、種々の時間期間を有する。
【００１８】
種々の実施例において、コプロセッサ２１のためのファームウェアが、或るフレームに対する総伝送時間、ビット時間（通常、フレームの全てのビットに対して同じである）、フレーム構造、及び遅延時間、の一つ又は複数を含む構成パラメータを提供する。幾つかの実施例において、遅延の利用は任意選択である。このような任意選択の遅延実施例において、遅延任意選択が有効でない場合、遅延時間パラメータはゼロとし得る。
【００１９】
コプロセッサ２１の上述の利用は、ホストプロセッサ２３を、トランシーバ１３のスイッチングＴＸ／ＲＸモードのタスクから解放する。これは、ホストプロセッサがスイッチングＴＸ／ＲＸモードのタスクを行なう、図１などに関連して上述した従来の配置と対照的である。コプロセッサ２１によるモード制御は、ホストプロセッサ制御に関連付けられ得る過剰なターンアラウンド時間の発生を避けるのを助ける。
【００２０】
図３は、例示の実施例に従って実施され得るオペレーションを示す。幾つかの実施例において、図２のシステムは図３のオペレーションを行なうことができる。３１で、開始ビットをモニタリングすることが示されている。３１で開始ビットが検出される場合、３２でＴＸモードが選択され、３３でタイマー機能が始まる。３４でタイマーが満了すると、３５で遅延が始まる。３６及び３７で図示するように、遅延の実行の間、３６で開始ビットのモニタリングが行われる。３６で開始ビットが検出される場合、オペレーションは、ＴＸモードが選択されたままである３２に進む。３６で開始ビットの検出がなく、３７で遅延時間が満了する場合、３８でＲＸモードが選択され、その後、３１で次の開始ビットが待機される。幾つかの実施例は遅延を実装しないが、その他の実施例は任意選択として遅延を実装する。図３における破線は、遅延を実装しない実施例における、及び遅延選択が有効でない任意選択の遅延実施例におけるオペレーションを示す。いずれの場合においても、図示するように３４でタイマーが満了し次第、３８でＲＸモードが選択される。
【００２１】
図４は、更なる例示の実施例に従った通信システムを概略で示す。図４のシステムは、ＵＡＲＴ１２のＴＸＤ出力上のフレーム伝送の進行を追跡するために、集積回路４０内のコプロセッサ４１がライン状態レジスタ（ＬＳＲ）４２（ＵＡＲＴ１２において従来利用可能である）を用いるという点を除いて、図２のものに概して類似する。ＬＳＲ４２は、従来、ＵＡＲＴ１２の伝送ホールド及びシフトレジスタが空であるときを示し、これは、フレームの伝送が完了しているというインジケーションである。
【００２２】
図５は、例示の実施例に従って実施され得る更なるオペレーションを示す。幾つかの実施例において、図４のシステムは図５のオペレーションを行なうことができる。５１で、開始ビットのモニタリングが示されている。５１で開始ビットが検出される場合、５２でＴＸモードが選択され、５３で始まるＬＳＲがモニタリングされる。５４でＬＳＲが伝送が完了していることを示すとき、５５でＲＸモードが選択され、その後、５１で次の開始ビットが待機される。
【００２３】
図２〜図５に関連して上述した技術は、集積回路２０及び４０の各々における複数のＵＡＲＴ１２に対応するように容易にスケーリング可能であり、複数の外部トランシーバ１３が複数のＵＡＲＴにそれぞれ結合される。このような複数のＵＡＲＴ／ＸＣＶＲ組み合わせは、ファクトリーオートメーション用途などにおいて、一般的である。コプロセッサ２１又は４１のためのファームウェアは、複数のＵＡＲＴ／ＸＣＶＲ組み合わせの各々に対し、関連するＵＡＲＴ１２のＴＸＤ出力をモニタリングするため、及びＴＸ／ＲＸ信号を関連するＸＣＶＲ１３に出力するために、集積回路のどの端子がコプロセッサにより用いられるべきかを識別するため、構成パラメータを提供する。
【００２４】
上述の種々の実施例ではＴＸ／ＲＸモード制御に対してホストプロセッサ上で干渉処理が要求されず、そのため、ホストＵＡＲＴドライバソフトウェアオペレーションに影響がない。コプロセッサのためのファームウェアは、ホストプロセッサ上で用いられるオペレーティングシステムに対して書き込まれたホストプロセッサ（例えば、Ｌｉｎｕｘ又はＲＴＯＳホストプロセッサドライバ）により従来のようにロードされ得る。
【００２５】
幾つかの実施例において、トランシーバ１３は、市販されているＳＮ６５ＨＶＤ８２  ＲＳ−４８５トランシーバなどの、ＲＳ−４８５トランシーバとして提供される。幾つかの実施例において、集積回路２０及び４０は、市販されているＡＭ３３５ｘ／ＡＭ４３７ｘ／ＡＭ５７ｘｘ又は同様にイネーブルされるマイクロプロセッサなどの、ＲＩＳＣマイクロプロセッサとして提供される。
【００２６】
本発明の特許請求の範囲内で、説明した例示の実施例に変形が成され得、他の実施例が可能である。
【図１】
0006496747.tif 000002
【図２】
0006496747.tif 000003
【図３】
0006496747.tif 000004
【図４】
0006496747.tif 000005
【図５】
0006496747.tif 000006