JPH0364231A - 通信インタフェース回路 - Google Patents

通信インタフェース回路

Info

Publication number
JPH0364231A
JPH0364231A JP2196061A JP19606190A JPH0364231A JP H0364231 A JPH0364231 A JP H0364231A JP 2196061 A JP2196061 A JP 2196061A JP 19606190 A JP19606190 A JP 19606190A JP H0364231 A JPH0364231 A JP H0364231A
Authority
JP
Japan
Prior art keywords
interrupt
interface
host
flags
fifo
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.)
Pending
Application number
JP2196061A
Other languages
English (en)
Inventor
Shawn L Adams
ショウン エル.アダムス
Jonathan R Engdahl
ジョナサン アール.エングダール
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.)
Allen Bradley Co LLC
Original Assignee
Allen Bradley Co LLC
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 Allen Bradley Co LLC filed Critical Allen Bradley Co LLC
Publication of JPH0364231A publication Critical patent/JPH0364231A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は直列通信ネットワーク(回路網)に係わり、詳
細にはディジタルプロセッサを直列通信ネットワークに
接続するためのインタフェースに関する。
[従来の技術] 多くの直列通信ネットワークが商業分野や工場に於いて
見られる。商業環境に於いては、例えば「イーサネット
」という商標で売られているローカルエリアネットワー
クはパーソナルコンピュータ、表示端末、小型計算機、
大型計算機、印字装置およびディスク駆動装置を互いに
システムとして結合し、この中でデータは構成装置の間
を高速で伝達される。同様に工場環境に於いては、商標
名rMAPJで売られているローカルエリアネットワー
クは個々の制御装置を表示端末、小型計算機、大型計算
機、計算機支援設計システム、計算機支援製造システム
、計算機支援エンジニアリングステーションおよびディ
スク駆動装置とを結合している。直列通信ネットワーク
の種類は急増しており、ある種の環境に於いては標準化
の努力がなされているにもかかわらず、現在質を超える
異なるネットワークが使われておりその数は増え続けて
いる。
商用環境での使用を目的としてディジタルプロセッサを
設計する場合、設計者はその処理装置を直列通信ネット
ワークに接続するための戦略的判断をしなければならな
い。例えば、プロセッサがrVME  BUSJ やr
MUT I BUSJ の様なバックブレーンを有する
場合、このバックプレーン用の回路基板が各々の通信ネ
ットワークに対して設計される。種々のプロセッサ回路
基板および通信インタフェース基板をバックプレーンと
して設計でき、任意の組合せで使うことが出来る。−方
ディジタルプロセッサがバックブレーンを採用しない場
合には、通信ネットワークのインタフェースはディジタ
ルプロセッサの一部として構成される。このような場合
、各々のディジタルプロセッサは特定の通信ネットワー
ク上で動作するように設計され構成されなければならず
、また仮に多くのネットワークに対応する場合には各々
のネットワークに対して組み込み形インタフェース回路
を備えたプロセッサを提供しなければならない。
言葉を代えて言えば、もしも製造者が性能および容量の
異なる三種類のディジタルプロセッサを提供し、これら
のプロセッサが規定された環境の三つの異なる通信ネッ
トワーク上で動作しなければならないとすると、共通バ
ックプレーンアーキテクチャを使用する場合には六つの
回路基板製品を供給しなければならず、通信インタフェ
ースをプロセッサの一部として組み込む場合には九つの
異なる製品を用意しなければならないということである
製造者が異なるアーキテクチャの広範な種類のディジタ
ルプロセッサ製品を供給し、これらのプロセッサが使用
される環境で非常に多くの通信ネットワークが存在する
場合には困難な選択をしなければならない。例えば本特
許の出願人でもあるアレン・ブラッドレイ社は、合衆国
特許第4,504.927号に記載されているような小
型低価格のプログラム可能制御装置や、合衆国特許第4
゜527.250号に記載されているようなプログラミ
ング端末を製造しているがこれらはバックブレーンを採
用していない。当社はまた合衆国特許第4.443.8
65号記載の中型プログラム可能制御装置も供給してお
りこれにはひとつのバックブレーンが採用されている、
また合衆国特許第4.442,504号記載の大型プロ
グラム可能制御装置は別のバックブレーンを採用し、合
衆国特許第4,228,495号記載の数値制御装置は
さらに別の複数のバックブレーンを採用し、そして合衆
国特許出願中の1986年11月7日受付の明細書番号
第928.529号に記載のセル制御装置はさらに別の
バックブレーンを採用している。明らかにこれらのプロ
セッサ製品の各々およびこれらが工場で対面する通信ネ
ットワークの各々に対して通信インタフェースモジュー
ルや回路を用意しておくことは商業的に実現出来るよう
な話ではない。
[発明の目的と要約] 本発明は、直列通信回路網を広く種々のディジタル・プ
ロセッサに基づく製品に接続させるインテリジェント通
信インタフェースに関する。特に、本発明は通信回路網
を接続すると共に、通信することによりメッセージ・デ
ータを送受信する回路網アクセス手段と、前記回路網ア
クセス手段が送信するメッセージ・データを記憶し、前
記回路網アクセス手段が受信したメッセージ・データを
記憶し、一組のホスト割り込みフラグ及び関連する一組
の肯定応答(A CK)フラグを記憶し、かつ一組のイ
ンタフェース割り込みフラグ及び関連する一組の肯定応
答フラグを記憶する共用メモリと、前記共用メモリを前
記回路網アクセス手段及びホスト・プロセッサに接続す
る割り付はデータ・バス及び割り付はアドレス・バスと
、前記ホスト・プロセッサ、前記共用メモリ及び前記回
路網アクセス手段に接続されたインタフェース・コント
ローラとを備え、前記インタフェース・コントローラは
、前記回路網アクセス手段がメッセージ・データを受信
したときは、ホスト割り込みフラグを反転させる動作を
して前記ホスト・プロセッサに割り込みを発生し、かつ
前記ホスト・プロセッサからの割り込みに応答して前記
一組のインタフェース割り込みフラグを調べて反転され
たかを判断し、かつこれに対応する肯定応答フラグを反
転させるものである。
本発明の全般的な目的は、非常に簡単な割り込み構造に
より一組の割り込み駆動事象を多重化させることにある
。前記ホスト・プロセッサ及び前記インタフェース・コ
ントローラに利用可能な割り込み線は1本のみであるが
、前記共用メモリにおける一組のホスト割り込みフラグ
及び一組のインタフェース・コントローラ割り込みフラ
グを採用することにより、異なる多くの事象を表示する
ことができる。
本発明の全般的な他の目的は、高価なメモリ保護回路即
ち「セマポア(5erAaphore)機構コを必要と
することなくに、一組の割り込みを多重化することにあ
る。割り込みは、割り込みフラグ及びその肯定応答フラ
グが逆の論理状態にあることを示す。前記インタフェー
ス・コントローラは、対応する肯定応答フラグを反転す
ることにより要求した割り込みのサービスに肯定応答を
し、対応する割り込みフラグと同一の状態に設定する。
前記ホスト割り込みフラグの書き込みは可能であるが、
ソフトウェアの規約によって前記インタフェース・コン
トローラ割り込みフラグの書き込みはしない。逆に、前
記ホスト・プロセッサは、前記ホスト割り込みフラグで
はなく、前記インタフェース・コントローラ割り込みフ
ラグに書き込むことができる。インタフェース・コント
ローラ、又はホスト◆プロセッサは全てのフラグを読み
込むことにより、割り込み要求が保留されているか(即
ち割り込みフラグが逆の論理状態にあるか)、又はサー
ビスされたか(割り込みフラグ及び肯定応答フラグが共
に同一状態にあるか)を判断することができる。
より特定化された本発明の目的は、ホスト・プロセッサ
と通信インタフェース回路との間におけるメッセージ・
データの受け渡し手段を提供することにある。共用メモ
リは、着信メツセージ、送出メツセージ及び回路網監視
データと共に、これらデータ構造のそれぞれについての
割り込みフラグを記憶する。ホスト・プロセッサ又は通
信インタフェース回路は、割り込みがあると、これらの
割り込みフラグを調べて、どのデータ構造がサービスさ
れるべきかについて、及びそのサービスの優先度につい
ての判断をする。これによって、メツセージ及びその肯
定応答の効率的な結合が達成される。
本発明の更に他の目的は、いずれかのプロセッサが前記
へ用メモリからロック・アウトされるのを防止すること
にある。他の装置は「バス・ロック」信号を採用する。
このバス・ロック信号は、1つのプロセッサをエネーブ
ルしてそのプロセッサが機能している間に、他のプロセ
ッサを前記共用メモリからロック・アウトさせるもので
ある。
これは、実質的に前記通信インタフェースの動作を遅い
ものにし、かつ高速のボーで通信インタフェースを使用
しないようにすることができる。
本発明の先述の、またその他の目的および長所は以下の
説明で明かとなろう。説明は、本発明の一部を構成する
添付図を参照してなされるが、これらは本発明の提出さ
れた実施例を図示する目的で示されている。そのような
実施例は本発明の全ての範囲を表す必要はないが、発明
の範囲の解釈は添付の特許請求の範囲によってなされる
[実施fN] 第1図に於てプログラマブル・コントローラ10はラッ
ク12に格納されており、このラックは複数の印刷(プ
リント)回路基板を受ける一連のスロットを有する。こ
れらの機能基板は、ラック12の裏面に沿って延びバッ
クブレーン11を構成するマザーボードと接続する。バ
ックブレーン11は複数のモジュールコネクタを有しこ
れらはバックブレーン上の導電性パターンで相互接続さ
れている。バックブレーン11は一連の信号バスを提供
し、これらにモジュールが接続される。ラック12には
、電源供給モジュール14、装置コントローラーモジュ
ール16、いくつかのプログラム実行プロセッサ中モジ
ュール18および複数のリモート入出力I10スキャナ
モジュール20が収納されている。ラック12の物理的
構成は本特許と同一の委譲穴に委譲された合衆国特許出
願第06/909,710号、1986年9月22日登
録、に開示されている。
最大四つまでのリモート入出力スキャナモジュ−ル20
がコントローラ10と外部リモートI10ラック17と
を例えばリンク15の様な直列I10データバスを介し
て接続する。各々の外部リモートI10ラック17は複
数のローカルI10モジュール19を有しこれらは制御
機器上の個別のセンサおよびアクチュエータに結合され
ている。
ローカルI10モジュール19には多くの種類があって
、例えばDC入出力、AC入出力、アナログ入出力およ
び開ループまたは閉ループ位置決めモジュールが挙げら
れる。外部リモートI10ラック17はまたアダプタモ
ジュール19′を有し、これは合衆国特許第4,413
.319号に開示されているようなものであって、これ
は直列通信ネットワーク15に接続され、メツセージデ
ータをローカルI10モジュール19とネットワーク1
5との間で結合する。
装置コントローラ・モジュール16はデータバス22を
介してプログラミング端末装置24に接続されており、
これはユーザー・プログラムをプログラマブル・コント
ローラ10にロードしその動作を構築すると同時にその
性能を監視する。端末24はユーザーがシステムの制御
プログラムを開発出来るようにプログラムされたパーソ
ナルコンピュータである。制御プログラムはプログラマ
ブル・コントローラにダウンロードされ、さらに監視す
る必要がなければ端末24を装置コントローラ・モジュ
ール16から切り離すことも可能である。装置コントロ
ーラ・モジュール16はまたケーブル26を介してロー
カルエリアネットワーク28に接続することもでき、こ
れを介してデータおよびプログラム指令を受信したり、
同様に状態情報および報告データを中央コンピュータに
送ることが出来る。このことにより中央コンピュータま
たは中央の端末で、工場の床に置かれている複数のプロ
グラマブル・コントローラのプログラムを作成したり動
作の操作を行うことが可能となる。
特に第2図に於て、装置コントローラ・モジュール16
はプログラマブル−コントローラと外部端末およびロー
カルエリアネットワークとの通信インタフェースを提供
する。装置コントローラ・モジュール16はまたシステ
ム管理機能をも実施し、システムステータス表示および
管理連絡をバックプレーン11に対して実行する。プロ
グラマブル・コントローラの通常動作時は、これに接続
されている外部装置、例えばネットワーク28およびプ
ログラミング端末装置24との間の通信を司る。重要な
仕事のひとつは、端末24との通信であって、オペレー
タがシステムの運転状態を監視したり異常なセンサやア
クチュエータを検出できるような情報を提供することで
ある。装置コントローラ・モジュール16で管理遂行さ
れるもうひとつの仕事は、ローカルエリアネットワーク
28を介して中央コンピュータまたは系列のプログラマ
ブル・コントローラとデータ変換を行うことである。こ
のことにより□中央コンピュータがひとつまたは複数の
プログラマブル・コントローラからその動作に関する統
計値を集めることが可能となる。
装置コントローラ・モジュール16はバックプレーンバ
ス21−.23に接続し、三つのセクション即ち二バッ
クプレーンインタフェース・セクション;プロセッサ・
セクション;そして通信セクションに分割されている。
バックプレーンインタフェース・セクションは全ラック
モジュールのバックプレーンに対する連絡を監督管理し
、装置コントローラ・モジュール−16自体のバックプ
レーン11に対するインタフェースとして動作する。
プロセッサ・セクションはプログラマブル・コントロー
ラ10に対する監督管理プログラムを実行する。通信セ
クションは第一に、直列通信線25を介しての外部端末
24との通信、およびケーブル26を介してのローカル
エリアネットワーク28との通信に責任を持つ。
第2図に於て、プロセッサ・セクションは一組のバスに
連結されており、これらはコントロールバス61.16
ビツトデータバス62、および23ビツトアドレスバス
63で構成されている。これらのバスへの連絡は仲裁回
路64で制御されている。プロセッサ・セクションは例
えばモトローラ社製のモデル68010のような16ビ
ツトマイクロプロセツサ66を中心に構成されており、
読み出し専用メモリ68に記憶されているプログラムコ
ードを実行する。68010マイクロプロセツサは基本
的にメモリマツプ装置であって直接接続された人出力線
は持たない。従って処理装置上のその他の部品素子への
連絡はバス63上に当該アドレスを流して行わなければ
ならない。マイクロプロセッサ66から送られるアドレ
ス情報はアドレスデコード回路70で解読され、アクセ
スされた部品素子に対して適切な制御信号を発する。
プロセッサ・セクションはまた割り込みプロセッサ72
を有し、これはマイクロプロセッサ66の割り込み処理
を制御し適切な指令アドレスベクトルを提供する。
データ転送肯定応答およびバスエラー(DTACK/B
ERR)回路74もまたコントロール・バス61に接続
されている。回路74はプロセッサ・セクション内の種
々の部品素子からの信号に応答しデータ伝送完了承認を
行ったり、誤ったアドレス指定やデータ伝送の失敗が生
じた際にはバス誤り信号を発生する。これらの信号はマ
イクロプロセッサ66で実行され、これは修正処理を行
う。プロセッサ・セクションはまたクロック回路89を
有し、これは主システムクロックとリアルタイムクロッ
クとを有する。システムステータス回路88は全システ
ム10のステータスに関する入力信号を受信しそのステ
ータスの表示を行う。
装置コントローラ・モジュール16の主ランダム・アク
セス・メモリ(RAM69)もまた処理装置バス61−
63に接続されている。RAM59はプログラマブル・
コントローラ10のシステムメモリとして働くスタティ
ク・メモリである。
メイン記憶装置69はシステム内の他のモジュールから
バックプレーン11を経由して直接アクセス可能であっ
て、マイクロプロセッサ66の仲介を受ける必要はない
さらに第2図に於て、装置コントローラ・モジュール1
6のプロセッサ・セクションはラック12のバックブレ
ーンバスのインタフェースともなっており、これは両方
のバスに共に接続されている複数の部品素子を介して実
現されている。特にバックプレーンデータバス22は処
理装置データバス62に一組の双方向データ転送ゲート
78によって、バックブレーンアドレスバス23はアド
レスバス63にもうひとつの双方向ゲート76によって
接続されている。装置コントローラ・モジュール16が
プログラマブル・コントローラ10のバックブレーン1
1に対して制御の実行を試みる際には、マスタモード制
御回路81はコントロール・バス61上の信号に応答し
、ラック12内のその他のモジュールにアクセスするた
めにバックブレーンコントロール・バス21上に適切な
制御信号を発する。
ラック12内部のその他のモジュールが例えばメインR
AM69の内容を読みとるといったように、装置コント
ローラ・モジュール16にアクセスを試みる場合には装
置コントローラ・モジュールはこのその他のモジュール
によってバックプレーン11の制御に従属する。この環
境下では装置コントローラ・モジュール16内部のスレ
ーブモード制御回路82はバックブレーンアドレスバス
23上に現れる装置コントローラのアドレス信号および
、その他のモジュールから導かれるバックブレーンバス
21の制御線上の制御信号に応答する。応答に際してス
レーブモード制御回路82は転送ゲート76および78
に信号を発し、その他のバックプレーンモジュールが装
置コントローラ・モジュール16にアクセス出来る状態
とする。
後者の場合マスタモード制御回路81は休止状態となっ
ている。二つの双方向転送ゲート76および78はマス
タモードまたはスレーブモード制御回路81および82
からバックプレーン通信のモードに依存してコントロー
ル・バス61の線を経由してイネーブル制御信号を受信
する。
バックプレーン仲裁回路84はバックブレーン11への
アクセスを監督管理しシステム内のモジュールからのア
クセス要求が衝突することを回避している。バックプレ
ーン仲裁回路84は、複数のモジュールが同時にバック
プレーンにアクセスを試みた場合にどのアクセス要求を
認めるかの決定を行うために循環優先順位方式を採用し
ている。
循環優先順位方式では、モジュールがバ・ツクプレーン
11の制御を放棄する度に優先順位が移動する。
リモートI10モジュール20は入力センサデータを収
集し、これはプロセッサモジュール18でのプログラム
実行時に使用される。第1図および第3図に於て、リモ
ートI10スキャナモジュール20はプログラマブルコ
ントローラ10を、入力装置または出力装置とプログラ
マブルコントローラ10とのインタフェースを構成して
いるローカルI10モジュール19を内蔵するひとつま
たは複数の外部リモートI10ラック17と連結してい
る。各々のリモー)I10スキャナーモジュール20は
外部リモートエ10ラック17に接続された人力装置の
ステータスに従属する人力データを周期的に要求しそれ
をモジュールの入力イメージテーブルに記憶し、例えば
プロセッサ・モジュール18の様なその他の制御器が読
み取れるようにしている。リモートI10スキャナ・モ
ジュール20はまた、例えば実行プロセッサ・モジュー
ル18の様なその他のコントローラ・モジュールから受
信する出力データのイメージテーブルをも有する。スキ
ャナー・モジュールの出力イメージテーブル内の最新の
出力データは定期的な間隔でそれぞれのリモートI10
ラック17に転送されこれらのラックに接続されている
種々のアクチュエータの制御に使われる。
各々のリモートI10スキャナー・モジュール2oは三
本のバックブレーンバス21−23に接続する。リモー
)I10スキャナー・モジュール20は二組の内部バス
を有する:記録装置アクセスバス121−123および
マイクロプロセッサバス131−133、これらはバッ
クプレーン11に一組のアドレスバスゲート124およ
び一組のデータバスゲート126を介して接続されてい
る。これらの両トランスミッションゲートの各々は内部
バス制御回路128で制御され、これは記憶装置コント
ロールバス121経由で、ゲート124および126に
信号を送る。メインRAM134と示されている、ロー
カルランダム・アクセス・メモリは、三本のコントロー
ルバス121−123に結合されている。これは外部リ
モートI10ラック17からI10スキャナー・モジュ
ール20に人力されたセンサ情報である入力イメージテ
ーブルを記憶すると共に、リモートI10ラック17に
出力される出力データの出力イメージテーブルをも記憶
している。
山部バス制御回路128はまた制御信号をI10データ
仲裁回路130にも送り、これはバックプレーン11お
よびマイクロプロセッサバス13−1−133から記憶
装置バス121−123へのアクセス要求の衝突を回避
する。二組の伝送ゲート、すなわちアドレスゲート13
6および双方向ゲート138はコントロ゛−ルバス12
1−123をマイクロプロセッサバス131−133に
内部接続し、制御信号をコントロールバス121経由で
I10データ仲裁回路130から受信する。
リモートI10スキャナー・モジュール20の運転は8
ビツトマイクロプロセツサ140で制御され、これは三
本のマイクロプロセッサバス131−133に接続され
ている。マイクロプロセッサ140はザイログ社のZ8
0として購入可能であり、内部に記憶されたプログラム
に応じて動作し、メインRAM134から通信セクショ
ン141にメツセージデータを送ったり、通信セクショ
ン141からメツセージデータを受信する。通信セクシ
ョン141はメツセージデータをマイクロプロセッサ1
40と各々の直列リンク15との間で結合する。
以上記述したモジュールは本発明が使用される環境で典
型的なものである。多くの機能を実行するホスト・プロ
セッサ(例えばマイクロプロセッサ66または140)
はまた、ひとつまたは複数の直列通信リンクまたはネッ
トワークを介して通信をしなければならない。ホストプ
ロセッサはメツセージデータを通信ネットワークと通信
セクションを経由して交換するが、この通信セクション
はメツセージデータの送受信に必要な特定のネットワー
クのプロトコル実行の責任を有する。ホストプロセッサ
は、メツセージデータを含むデータを、通信セクション
と共有しているメモリーから読みとることもまた共有記
憶装置にデータを書き込むことも出来る。
第4図を詳細に参照すると、この実施例の通信インタフ
ェース回路はホスト・プロセッサを2つの直列通信リン
ク200及び201のうちのいずれかに接続するように
設計されている。ホスト・プロセッサ(第4図には示さ
れていない。)は一組の双方向ゲート202を介して通
信インタフェース回路を接続しており、双方向ゲート2
02はホスト・プロセッサのデータ・バス203を共有
データ・バス204に接続させる。ホスト・プロセッサ
のアドレス・バス205は15回路一組のゲート207
により15ビツトの共通アドレス・バス206に接続さ
れている。ゲート207は、論理ロー信号を“en”制
御線208を介して受信したときに、双方向ゲート20
2と共にエネーブルされる。ホスト・プロセッサは「要
求」制御線215を用いて読み出し又は書き込みサイク
ルを開始する。また、インタフェース回路210は共有
データ・バス204及び205に対するアクセスが許可
されたときに、DTACK制御腺216を用いることに
より要求に肯定応答をする。ホスト・プロセッサの読み
出し/書き込み制御線2o9は双方向ゲート2o2を介
するデータの転送方向を決定する。
共有データ・バス204及び206は共有ランダム・ア
クセス・メモリ(RAM)211を接続している。RA
M211はWE制御線212及びIC8制御線213を
介し、インタフェース回路210により制御されている
。インタフェース回路210は、共有データ・バス20
4及び206も接続しており、 en”制御線208を
操作してホストナプロセッサが共有RAM211にアク
セスできるようにしている。
以下で更に詳細に説明するが、共有RAM211はホス
ト・プロセッサと通信インタフェースとの間のメッセー
ジ・データを含む情報を交換する手段として用いられる
。メッセージ・データはホスト・プロセッサか、又はイ
ンタフェース回路210により共有RAM21 ’Iに
書き込まれる。他の装置はそのメッセージ・データの存
在が知らされた後にそのメッセージ・データを読み出す
ことができる。更に、以下で詳細に説明するが、ホスト
・プロセッサを正しく動作させるために通信インタフェ
ース回路が必要とするデータは、通信インタフェース回
路を特殊用途向けに構築するデータとして共有RAM2
11に記憶されている。
第4図を引き続き参照すると、インタフェース回路21
0は多数の機能を実行する特殊用途向は集積回路(AS
IC)である。第1に、共有RAM211に対するアク
セスを仲裁し、共有RAM211に対する読み出し及び
書き込みサイクルを制御する。インタフェース回路21
0は共有RAM211からのメツセージ會データをAチ
ャネル・トランシーバ220又はBチャネル・トランシ
ーバ221に転送し、またAチャネル・トランシーバ2
20又はBチャネル・トランシーバ221からのメッセ
ージ・データを共有RAM211に返送する。更に、イ
ンタフェース回路210はインタフェース・コントロー
ラ222が共有RAM211からデータを読み出し、ま
たこれにデータを書き込むことができるようにする。
インタフェース回路210の動作はインタフェース・コ
ントローラ222により制御されており、インタフェー
ス・コントローラ222はザイローグ(株)が製造した
プログラム済みのマイクロコンピュータ、「スパー8」
型である。インタフェース・コントローラ222は、8
ビツトのデータ/アドレス・バス223.8ビツトのア
ドレス・バス224及び一組の制御線を介してインタフ
ェース回路210に接続されている。16ビツトのアド
レスがデータ/アドレス・バス223及び224に印加
されたときは、AS制御線225に信号が送出され、ま
た8ビツトのデータがデータ/アドレス・バス223に
印加されたときは、DS制御線に信号が送出される。デ
ータ/アドレス・バス223上を転送されるデータの方
向は、R/W制御線227の論理状態により決定される
。前記バス及び制御線はインタフェース・コントローラ
222により駆動されるが、多数の制御線がインタフェ
ース回路210により駆動されている。
これらにはインタフェース・コントローラ222を待機
状態にするWA I T制御線228と、集約して22
9により示す一連の割り込み線及びフラグ線とが含まれ
る。
更に、インタフェース・コントローラ222は一組の制
御線によりホスト・プロセッサにも接続されている。こ
れらには、ホスト割り込み線230が含まれている。こ
のホスト割り込み線230は、インタフェース・コント
ローラ222により用いられ、共有RAM211におけ
る一定のデータ構造を読み出すべきことをホスト・プロ
セッサに知らせるものである。同様に、ホスト・プロセ
ッサはコントローラ割り込みの制御線を介してインタフ
ェース・コントローラ222を割り込むことができる。
このコントローラ割り込み制御線231は、ホスト・プ
ロセッサからの情報のために共有RAM211を読み出
すことをインタフェース・コントローラ222に知らせ
るものである。
最後に、TME制御線232は、ホスト・プロセッサに
より用いられ、その試験モード動作を開始すべきことを
インタフェース・コントローラ222に知らせることが
できる。
第4図及び第5図を詳細に参照すると、インタフェース
回路210はAチャネル・トランシーバ220及び22
1を共有RAM211に接続し、かつインタフェース・
コントローラ222を共有RAM211に接続している
。チャネル穴トランシーバ220は線250を介してチ
ャネルA直列プロトコル機械251に接続され、Bチャ
ネル・トランシーバ221は線252を介して点線25
3により輪郭を示すチャネルB直列プロトコル機械に接
続されている。チャネルA直列プロトコル機械251及
びチャネルB直列プロトコル機械253は構成及び動作
が同一である。
チャネルA直列プロトコル機械251及びチャネルB直
列プロトコル機械253へ及びこれからのメッセージ・
データは、8ビツトのデータ・バス255及び8回路の
双方向ゲート256を介して共有RAM211に接続さ
れている。DMA制御部257は、15回路一組のアド
レス・ゲート258を介してその共有アドレス・バス2
06上にアドレスを発生することにより、共有RAM2
11から又はこれにメッセージ・データの転送を実際に
実行する。共有データ・バス204及び206の制御は
仲裁及び制御回路260により決定され、仲裁及び制御
回路260はホスト・プロセッサと、インタフェース・
コントローラ222と、DMA制御部257のA及びB
チャネルとからの要求の仲裁をする。
第4図及び第5図を参照すると、データ/アドレス・バ
ス223及びアドレス・バス224は、8ビット一組の
双方向ゲート262及び8ビツトの一組のアドレス・ゲ
ート263を介してインタフェース回路210に接続さ
れている。DS制御線226による信号によりデータ/
アドレス・バス223上にデータが存在するときは、双
方向ゲート262がエネーブルされ、データがR/W制
御線227により示す方向に転送される。このデータは
8ビツトのデータ・バス263に転送され、次いで他の
一組の8回路のデータ・ゲート264を介して8ビツト
のデータ・バス255に接続される。このようにして、
共有RAM211からデータ・バス263に、及び双方
向ゲート262を介してインタフェース・コントローラ
222にデータを転送することができる。データ・バス
263上のデータは、DMA制御部257に転送されて
インタフエース中コントローラ222をエネーブルさせ
てDMA制御が発生するメモリ・アドレスを設定させる
。更に、データ・バス263は一組のタイマ266及び
プロセッサ・ステータス・レジスタ268を接続してい
る。従って、インタフェース・コントローラ222は、
ローカル・エリア・ネットワークの特定のタイミング条
件にチャネルA直列プロトコル機槻251及びチャネル
B直列プロトコル機械253を構築するタイマ266に
データを書き込む。更に、インタフェース・コントロー
ラ222は、他の機能を実行している間に、プロセッサ
・ステータス・レジスタ268にインタフェース回路2
10の動作を制御するデータを書き込むこともできる。
更に、インタフェース・コントローラ222は、任意の
時点でプロセッサ・ステータス・レジスタ268からデ
ータを読み出してインタフェース回路210の状態を判
断することができる。プロセッサ・ステータス・レジス
タ268の内容を表Aに示す。
表A プロセッサ・ステータス・レジスタ 4ビット: 「有効マンチェスタ」を表示するまでに何
ビットの有効ビットを受け取るべ きかをマンチェスタ◆エンコーダに 通知 1ビット:有効なマンチェスタ信号の受信可1ビット:
キャリア検出 1ビット:障害検出 8ビット:ステーション・アドレス 4ビット:受信FIFO状態は満杯 3ビット:パケットまでに送出したプリアンプル・フラ
グの数 8ビット:送信コマンドの後に送信機を保持するビット
時間数 1ビット:送信機ビジー 1ビット:受信機ビジー 受信機シンドローム・レジスタ:マイクロプロセッサに
対する「不良パケット」割り込み原因受信FIFOオバ
ーフロー マンチェスタ・コード喪失 パケット短過ぎ パケット長過ぎ 廃棄メツセージ受信 CRC不良 受信内容なしFIFOの読み出し 送信シンドローム・レジスタ: 送信FIFOアンダフロー(内容なし)フラグの開放各
週ぎ 満杯の送信P I F’Oへの書き込みAS制御線22
5により示すように、インタフェース・コントローラ2
22がデータ/アドレス・バス223上にアドレスを送
出したときは、このアドレスはアドレス・ラッチ270
にラッチされる。次いで、上位8ビツトのアドレスがア
ドレス・バス224に送出されたときは、全16ビツト
のアドレスがアドレス・バス271に印加される。この
アドレスはデコーダ272によりデコードされ、データ
・バス263に接続されている装置のうちの一つをエネ
ーブルさせる。更に、共有RAM211がアドレス指定
されたときは、デコーダ272は仲裁及び制御回路26
0に対する要求を発生し、プロセッサ・インタフェース
制御267がWA I T制御線228を介してインタ
フェース・コントローラ222に待機信号を送出する。
アクセスが許可されたときは、前記待機信号が除去され
、一組のアドレス・ゲート273がエネーブルされてイ
ンタフェース・コントローラ222が発生したアドレス
をアドレス・ゲート258介して共有アドレス・バス2
06に転送させる。
インタフェース・コントローラ222は、前述のバス及
びゲートを介する共有RAM211への完全なアクセス
を獲得し、ホスト・プロセッサと情報を交換することが
できる。更に、インタフェース・コントローラ222は
、チャネルA直列プロトコル機械251及びチャネルB
直列プロトコル機械253の動作を構築し、それらの動
作を制御し、かつそれらの動作を監視することができる
第5図を参照すると、チャネルA直列プロトコル機械2
51及びチャネルB直列プロトコル機械253は、これ
らが接続しているローカル・エリア・ネットワークが用
いるビット・オリエンテッド・プロトフル構造を取り扱
う。これらは、しばしばHDLCエンジンと呼ばれ、ロ
ーカル・エリア・ネットワークのプロトコルの直列フォ
ーマットによりパケット化された情報を送受信するもの
である。それぞれがフラグの設定、ゼロ挿入及び削除、
並びにCRCのチエツク及び生成を行なう。
各チャネルA直列プロトコル機械251及びチャネルB
直列プロトコル機械253は、マンチェスタ・デコーダ
300が受信した全てのデータ・バイトを受信FIFO
メモリ280に転送する受信セクションと、マンチェス
タ・エンコーダ301を介して送信FIFOメモリ28
1にロードした全てのデータ・バイトを送信する送信セ
クションとに分割される。
受信セクションは、受信制御302により動作しており
、受信制御302はその各機能要素に対して接続を行な
うものである。マンチェスタ争デコーダ300によりデ
ータ・パケットが受信され、これが直列に直並列変換器
304に転送されるに従って、そのアドレス・フィール
ドがアドレス検出回路303によりチエツクされる。そ
のアドレスが当該ステーションのローカル・アドレスと
一致しないときは、そのデータ・パケットは無視される
。一致したときは、データ・パケットは直並列変換器3
04により8ビツトのデータ・バイトに変換され、これ
らのデータ・バイトが受信FIFOメモリ280に記憶
される。パケットの終了フラグ前の最終2バイトは、C
RCチエッカ305が発生すると数と比較される巡回冗
長検査(CRC)である。もし数が同一であれば、デー
タ・パケットが正しく伝送されたことになり、受信FI
FOメモリ280に転送される。インタフェース・コン
トローラ222(第4図)の割り込みを発生してデータ
・パケットを受信したことを表示する。CRCバイトが
伝送の誤りを表示したときは、CRCチエッカ305は
インタフェース・コントローラ222に割り込みを発生
し、誤りビットが受信シンドローム・レジスタにセット
されて問題のインタフェース・コントローラ222に通
知をする。
送信セクションは送信側a1306により動作されてお
り、送信制御306はその各機能要素に対して接続をす
るものである。この送信セクションはインタフェース・
コントローラ222からコマンドを受け取ると、送信F
IFOメモリ281に記憶されているデータ・メツセー
ジを送出する。
送信機はマンチェスタ・エンコーダ30il)してデー
タ・パケットのプリアンプル・ビットの退出を自動的に
開始し、次いでデータ・バイトを送信FIFOメモリ2
81から読み出して直並列変換器307に印加する。こ
のデータは直列のビット列に変換され、伝送のためにマ
ンチェスタ・エンコーダ301に転送される。CRC発
生器308は送信したデータ・パケットにおける全ての
ビットを監視し、CRC発生器308は最後のデータ・
ビットが送出されると、16ビツトのCRC数を発生す
る。このCRC数は、前述のように、データ・パケット
が他のステーションで受信されたときに、データ・パケ
ットの完全性をチエツクするために用いられる。
チャネルA@列プロトコル機槻251及びチャネルB直
列プロトコル機械253を実現するために用いることが
可能な構成は多数あるが、それらの正確な設計は本発明
の要旨ではない。例えば、それらの多くの機能は、集積
回路の形式で商業的に入手可能なユニバーサル・アシン
クロナス◆レシーバ/トランシーバ(UART)により
実行可能とされる。同様のことは、マンチェスタ・エン
コーダ、マンチェスタ・デコーダ及びPIFOメモリに
ついてもいえる。しがし、前述のように、チャネルA直
列プロトコル機械251及びチャネルB直列プロトコル
機械253におけるこれらの機能要素は、第5図に示す
他の機能要素も含むASICの一部として、この実施例
により実現されている。実際において、このASICを
広範な種類の通信応用に用いることができるようにして
その設計、開発及びツールのコストを経済的に適正なも
のにすることは、本発明の目的のうちの一つとなってい
る。
前述のように、共有RAM2i 1は、接続する特定の
ホスト・プロセッサに通信インタフェース回路を適合さ
せ、かつそのホスト・プロセッサとメッセージ・データ
の交換ができるようにするデータ構造を記憶する。記憶
したこれらのデータ構造は、全般的に第6図に示され、
以下で更に詳細に説明される。
特に第6図を参照すると、共有RAM211はデータを
セグメントにより記憶する。第1セグメント350は交
渉セグメントである。この交渉セグメントには、電源投
入の際にホストと通信インタフェース回路との間の通信
の特性を交渉させるために用いられる32バイトのデー
タを有する。
以下、この第1セグメント350を更に詳細に説明する
第2セグメント352は識別セグメントであり、通信イ
ンタフェース回路の連続及び改訂番号を表示する情報を
有する。
第3セグメント351はセグメント記述子アレーを含む
ディレクトリ・セグメントである。セグメント記述子ア
レーには共有RAM211における各セグメントの開始
アドレス、各セグメントの大きさ、セグメントの種類及
びセグメントの例が含まれる。第3セグメント351は
共有RAM211における他のセグメントに対するイン
デックスである。セグメントの種類は、 0:交渉セグメント 1:セグメント・ディレクトリ 2:識別セグメント 3:チャネル・セグメント 4:プロセッサ間ハンドシェーク・フラグ5:選択セグ
メント この場合では、特定の種類のセグメント数を表示してい
る。例えば、この実施例には2つのチャネル・セグメン
ト355及び356があり、これらはその例示数0“及
び“1゛により識別される。
第3セグメント351の次は、ハンドシェーク・セグメ
ント354であり、共有RAM211においてチャネル
当り8つの8ビツト・ワードを占める。第9図に示すよ
うに、ハンドシェーク・セグメント354は、ホストか
らインタフェース・コントローラ222への割り込みに
関するフラグを記憶する4ワード370〜373と、イ
ンタフェース・コントローラ222からホストへの割り
込みに関するフラグを記憶する4ワード374〜377
とを有する。特に、ワード370内のフラグは、ホスト
・プロセッサがインタフェース・コントローラ222に
割り込みをしたときに、ホスト・プロセッサにより反転
される。インフッエース・コントローラ222はこれら
フラグを読み取り、いずれが反転されたかを判断するこ
とにより、割り込みのサービスをする。第1フラグ(ビ
ット0)はチャネルAをリセットすべきことを表わし、
次のフラグ(ビット7)は診断カウンタをリセットすべ
きことを表わし、次の4フラグ(ビット8〜11)は各
4チヤネルAアクセスFIFOレジスタがサービスを要
求していることを表わし、次の4フラグ(ビット12〜
15)はその4チヤネルA管理FIFOレジスタがサー
ビスを要求していることを表わしている。インタフェー
ス・コントローラ222はワード371において対応す
るフラグを反転することにより割り込みの肯定応答をし
、その割り込みのサービスをするのに必要なルーチンを
実行する。ハンドシェーク中セグメント354における
ワード372及び373は、ワード370及び371と
同一である。しかし、これらはチャネルBに関連するも
のである。
ハンドシェーク・セグメント354における最後の49
−ド374−377は同一形式で編成されている。しか
し、ワード374及び376における割り込みフラグは
インタフェース・コントローラ222により反転され、
割り込みがホストによりサービスされる。このホストは
ワード375及び377において対応するフラグを反転
することにより割り込みの肯定応答をし、適当な割り込
みサービス・ルーチンを実行する。
要するに、ハンドシェーク・セグメント354はホスト
から、又は一対の割り込み線を介するインタフェース・
コントローラ222からの多くの割り込みを多重化する
ための手段として動作する。
複数対のワード370〜371.372〜373.37
4〜375及び376〜377において対応するビット
が逆の状態にあるときは、割り込みが通知される。ホス
トはそれ自身のフラグのみを反転することができ、また
インタフェース・コントローラ222はそのフラグのみ
を反転することができる。両者は全てのフラグを読み出
すことができ、またいずれも割り込みが要求されたか、
また要求された割り込みがサービスされたかについて、
判断することができる。この技術を用いることにより、
プロセッサは如何なる時でも共有RAM211をロック
・アウトする必要がない。以下、この割り込み多重化技
術の動作を詳細に説明する。
第5図を参照すると、共有RAM211における次の2
セグメントは、インタフェース回路210(第5図)の
Aチャネル及びBチャネルを介して転送されるメツセー
ジに関連したデータを記憶する。特に、セグメント35
5は複数FIFO。
メツセージ・ヘッダ、バッファ・ヘッダ、及びチャネル
Aを介する通信に関連したバッファを記憶する。また、
セグメント356はチャネルBを介する同様の通信につ
いてのデータ構造を記憶する。
2つのセグメント355及び356は略同−であるので
、一方のみを詳細に説明しよう。
第10図を参照すると、共有RAM211介してホスト
とインタフェース・コントローラ222との間で転送さ
れる各メツセージは、メツセージ・ヘッダ、0以上のバ
ッファ・ヘッダ、及ヒ各バッファ・ヘッダに関連する1
データ・バッフ7からなる。メツセージ・ヘッダは結合
された一組のデータ構造として378により示されてい
る。各メツセージ・ヘッダは次の情報を記憶する。
NEXT:当該メツセージに関連する次のバッファ・ヘ
ッダに対するポインタ 5ERVIC:当該メツセージにより実行されるサービ
ス PRIORITY:プロトコルが異なる優先度をもつ当
該メツセージの優 先順位 5TATUS :伝送の結果 0:確認済み退出 1:確認済み非送出 2:非確認済み送出 3:非確認済み非送出 REASON:故障の原因を表わす誤りコードDEST
INATION  ADDRESS  C0UNT :
行き先アドレスが必要とするバイト数; DESTINATION  NETWORK  ADD
RESS :当該メツセージの行き先;5OURCE 
 ADDRESS  C0UNT:発信源アドレスを定
めるために必要な バイト数; 5OURCE  NETWORK  ADDRESS:
当該メツセージの発信源; SAP  TYPE:当該メツセージにおいて用いてい
るサービス・アクセ ス・ポイントの種類; DSAP :行き先サービス・アクセス・ポイント数; 5SAP:発信源サービス・アクセス・ポイント数; BUFFERHEADERPOINTER:当該メツセ
ージに関連した第1の バッファ・ヘッダのアドレス; TAG :ユーザ定義のフィールド; バッファ・ヘッダは、一組の結合されたデータ構造とし
て第10図に379により示されている。
各バッファ・ヘッドは次の情報を記憶する。
NEXT :当該メツセージに関連した次のバッファ・
ヘッダに対するポインタ; DATA :当該バッファ・ヘッダに関連したバッファ
に対するポインタ; 5IZE:バッファに関連したデータ・バイト数。
このバッファは380により示されており、それぞれは
バッファ・ヘッダ379のうちの一つに関連した一連の
バイトである。ホスト又はインタフェース◆コントロー
ラ222は、データ・バッファ380にメッセージ・デ
ータを記憶し、次いでこれらに関連したバッファ・ヘッ
ダ379によりメッセージ・データを連係させることに
よって、これらのデータ・バッファ380のうちの1以
上からなるメツセージを形成することができる。次いで
、メツセージ・ヘッダ378が形成される。
このメツセージ・ヘッダ378はバッファ・ヘッダ37
9の当該連係リストにおける最初のバッファ・ヘッダを
識別する。
第10図を参照する。ホストがメツセージを作成すると
、これ4−二矢印382により示す要求FIFO381
に当該メツセージのヘッダに対するボイツを記憶する。
要求F I FO381は次の記憶情報が先行するポイ
ンタのアレーである。即ち、NEXT  IN:メツセ
ージ・ヘッダ・ボイツを記憶可能なFIFO内の次 に利用可能な位置に対するホ スト・インデックス; NEXT  OUT:読み出しかつ処理されるべき次の
メツセージ・ボイツ に対するインタフェース・ コントローラ・インデッ クス; WRAP  MASK:当該フィールドを用いる2つの
インデックス・ラ ップ; IFLAG  NUMBER:当該FIFOが用いる割
り込みフラ グ・ビット数。
インタフェース・コントローラ222に割り込みがあっ
たときは、矢印383により示す要求FIFO381か
ら次のメツセージ・ボイツを読み出し、指示メツセージ
・ヘッダ378、及びバッファ・ヘッダ379により指
示された関連のデータ・バッファ380のデータを読み
出す。インタフェース・コントローラ222は、メツセ
ージを受信したこと、及び同一のメツセージ・ヘッダの
ボイツを矢印385により示す確認F I FO384
に書き込むことによって処理したことを確認する。F 
I FO384はFIFO要求381に対する構造と同
様であり、ホストに割り込みがあったときは、ホストは
矢印386により示す確認FIFO384から次のメツ
セージ・ヘッダ・ボイツを読み出す。次いで、ホストは
共有RAM2 ’l iから指示されたメツセージ・ヘ
ッダを読み出して指示されたメツセージを処理したこと
を確認する。
同様のデータ構造はインタフェース・コントローラ22
2により示されるメツセージについても存在する。第1
0図を引き続き参照すると、インタフェース・コントロ
ーラ222は、回路網を介してメツセージを受信し、共
有RAM211のメッセージ・データを利用可能なデー
タ・バッファ380、及びメツセージ・ヘッダを利用可
能なメツセージ・ヘッダ378に記憶する。次いで、イ
ンタフェース・コントローラ222はJ印388により
示すように、指示F I FO387にメツセージ・ヘ
ッダ378のボイツを記憶して、ホストに割り込みをす
る。ホスト・プロセッサは矢印389により示すように
、指示F I FO387における次のボイツを読み出
す。また、ヘッダ及びメッセージ・データを共有RAM
211から読み出す。次いで、ホスト・プロセッサは、
矢印391により示すように、受け取りF I FO3
90のボイツを書き込み、インタフェース・コントロー
ラ222に割り込みを行なう。インタフェース・コント
ローラ222は、受け付けF I FO390からボイ
ツを読み出し、矢印392により示すようにホストが当
該メツセージを受け取ったことを確認する。
第9図を再び参照すると、ハンドシェーク・セグメント
354は4つの要求F I FO381、確認F I 
FO384、指示F I FO387及び受け付けF 
I FO390のそれぞれについて割り込みフラグを有
する。特に、ワード370のホスト割り込みは4つのF
IFOに対応する4つのアクセス・フラグを有し、ワー
ド372は4つのチャネルBF I FOを有する。同
様に、インタフェース・コントローラ・ワード374は
4つのAチャネルFIFOに対応する4つのアクセス・
フラグを有し、またインタフェースやコントローラ・ワ
ード376は4つのBチャネルFIFOに対応する4つ
のアクセス・フラグを有する。これらのフラグは、他の
プロセッサから割り込みを受け取ったときは、割り込み
があったプロセッサが速やかに適当なFIFOを読み出
すようにさせる。
共有RAM211 (第7図)におけるチャネル・セグ
メント355及び356は、回路網管理機能に関連する
データ構造も記憶する。これらには、4つの管理FIF
O及び関連する管理ヘッダと、バッファ・ヘッダ及び前
述のように動作するバッファ(図示していない)とを有
する。更に、ホスト及びインタフェース・コントローラ
222が管理FIFOを速やかにサービスするようにさ
せるハンドシェーク・セグメント354(第9図)の各
ワード370〜377には、4つの管理割り込みフラグ
がある。
前述のように、インタフェース・コントローラ222の
主要な機能は共有RAM211とインタフェース回路2
10(第4図)との間のメツセージを中継することであ
る。インタフェース・コントローラ222はその内部読
み出し専用メモリ(図示していない)に記憶されている
プログラムの制御に従って前記機能、及びその他の機能
を実行スる。これら多数のプログラムは、割り込みによ
り駆動され、線231を介してホストから割り込みを受
け取ったときに実行されるサービス・ルーチンと、イン
タフェース回路210のAチャネル又はBチャネルから
割り込みを受け取ったときに実行されるサービス・ルー
チンとを含むものである。しかし、インタフェース・コ
ントローラ222が実行する主プログラムは第8図に示
されており、これを更に詳細に説明しよう。
第8図を詳細に参照する。インタフェース・コントロー
ラ222の電源を投入したとき、即ち物理的なリセット
をしたときは、処理ブロック400により示す一組の命
令を実行して診断機能を実行する。例えば、共有RAM
211の正しさを前面的にチエツクする。これに続いて
、処理ブロック401により表わされている一組の命令
を実行し、インタフェース・コントローラ222及びホ
ストが共有RAM211を介して互いにどのように通信
をするのかを判断する一組のパラメータを授受する。
授受に続いて、2つのチャネルはそれぞれ処理ブロック
402により示すように構築される。各物理チャネルは
一組の予め定めたアクセス及びプロトコル選択にデフオ
ールドするが、他の選択も可能である。特に、各チャネ
ル内では、共有RAM211のセグメント355及び3
56(第6図)がホストにより読み出してデフオールド
値と異なる動作パラメータを選択するのに用いることが
可能なセグメント(図示なし)を選択する。例えば、各
チャネルは4つの「アクセス形式jのうちの一つ、即ち
、(1)ローカル・エリア・ネットワーク上の活性ノー
ド; (2)ローカル・エリア・ネットワーク上の不活
性ノード; (3)直列入出力リンク上のスキャナ又は
アダプタ:又は(4)2つのローカル・エリア・ネット
ワーク間のブリッジを設定することができる。これら各
アクセス形式により、ホストが選択可能な種々のプロト
コルを定めるメニューが存在する。選択可能な各プロト
コルはそのプロトコルの動作パラメータ(即ち、ボー速
度、パリイティー)の値を得ることができる。各チャネ
ルの構成を完結したときは、チャネルは動作状態、即ち
「オン・ライン」になる。
第8図を参照すると、構築後に、各物理チャネルが交互
にサービスされる。これは、403により示すチャネル
環境を切換えるサブルーチンを呼出すことにより達成さ
れる。このチャネル環境の切換にはマイクロコンピュー
タ・レジスタの値を待避させ、他のチャネルのレジスタ
値をロードすることを含む。判断ブロック404により
、チャネルが動作状態にあるかについての判断をするチ
エツクを行なう。また、判断ブロック405により着信
メツセージがチャネルの受信FIFOメモリ280(第
5図)から入手可能かどうかの判断をするチエツクを行
なう。イエスのときは、処理ブロック406に示すよう
に、メツセージが受信FIFOメモリ280から読み出
され、共有RAM211の未使用のデータ・バッファ3
80に書き込まれる。対応するバッファ・ヘッダ379
及びメツセージ・ヘッダ378が作成され、メツセージ
・ヘッダ378のボイツが指示F I FO387(第
13図)の次のエントリに記憶される。処理ブロック4
07に示すように、ハンドシェーク・セグメントにおけ
る適当なフラグが反転され、ホストに割り込みをして着
信メツセージのサービスをする。
判断ブロック405における判断により着信メツセージ
がないときは、判断ブロック40Bにおいて内部フラグ
・レジスタのチエツクをして、ホストが共有RAM21
1のメツセージの送信を要求したかどうかの判断をする
。イエスのときは、処理ブロック409に示すように、
要求FIFO381におけるボイタを読み出し、指示さ
れたメツセージ・ヘッダ378、バッファ・ヘッダ37
9及びデータ・バッファ380(第10図)が共有RA
M211からチャネルの送信FIFOメモリ281(第
5図)へ転送される。次いで、処理ブロック410によ
り同一のメツセージ・ヘッダ・ボイタを共有RAM21
1内の確認F I FO384に書き込み、ホストに割
り込みをしてメツセードを処理したことを表示する。
インタフェース・コントローラ222はこのプログラム
により連続的にサイクルすると共に、2つのチャネル間
でチャネル環境の切換えを行なう。
従って、いずれかのチャネルで受信したメツセージがホ
ストに転送され、ホストから受信したメツセージは転送
されて固有の一連のリンク上に送出される。
前述のように、インタフェース・コントローラ222が
ホストに割り込みをしたときは、先ずハンドシェーク・
セグメント354の適当な割り込みフラグを反転しなけ
ればならない。例えば、第9図及び第10図に示すよう
に、指示F I FO387及び確認FIFO384に
対応している各チャネル穴ホスト割り込みワード370
及びチャネルBホスト割り込みワード372には、一つ
の割り込みフラグが存在する。共有RAM21’lから
チャネルAホスト割り込みワード370及びチャネルB
ホスト割り込みワード372を読み出し、固有のフラグ
の状態を変更し、かつ共有RAM211にチャネルAホ
スト割り込みワード370及びチャネルBホスト割り込
みワード372を再び書き込むことにより、これらのう
ちのいずれかを反転することができる。ホストに知らせ
るためにホストへの割り込み制御線230が使用される
勿論、割り込みフラグが既にその肯定応答フラグと異な
るときは、割り込みが既に要求されており、再び割り込
みフラグが反転されることはない。
ホストは、要求P I F0381にメッセージ・デー
タをロードしたとき、又は受け付けFIFO390に書
き込むことにより着信メツセージの肯定応答をしたとき
も、同一方法で動作する。即ち、ホストがハンドシェー
ク・セグメント354からチャネルA及び又はチャネル
Bのインタフェース割り込みワード374又は376を
読み出し、適当な割り込みフラグを反転し、ハンドシェ
ーク・セグメント354に読み出した前記ワードを戻す
次いで、ホストはコントローラ割り込み制御線231を
用いてインタフェース・コントローラ222に割り込み
を行なう。
コントローラ割り込み制御線231を介して割り込みの
要求をしたときは、インタフェース・コントローラ22
2は第11図に示す割り込みサービス・ルーチンを実行
することにより応答する。
この割り込みサービス中ルーチンは、いずれのフラグを
反転したのかを判断し、インタフェース・コントローラ
222に記憶されているフラグ・レジスタにおいて対応
するビットをセットする。特に、割り込みサービス・ル
ーチンを開始したときは、チャネルAの割り込みフラグ
、次いでチャネルBの割り込みフラグをチエツクするル
ープに入る。処理ブロック400に示すように、先ずイ
ンタフェース割り込みワード374又は376が共有R
AM211のハンドシェーク・セクション(第9図)か
ら読み出され、次いで処理ブロック401に示すように
対応する肯定応答ワード375又は377を読み込む。
処理ブロック402により示すように、2つのワードに
おける各ビットは、排他的論理和が取られて、割り込み
フラグがその肯定応答フラグのときのと異なる状態に反
転されたかを判断する。処理ブロック403により示す
ように、合成したビット・パターン(R)がインタフェ
ース・コントローラ割り込みフラグ・レジスタと論理和
が取られるので、新しく検出された割り込みが追加され
る。
処理ブロック404に示すように、次のステップは前記
新しく検出された割り込みに対応する肯定応答フラグの
状態を反転させることにある。これは、肯定応答フラグ
375又は377と合成したビット・パターン(R)と
の排他的論理和を取り、次いで処理ブロック405に示
すように、共有RAM211内のその位置に変更した肯
定応答フラグのワードを書き込むことにより達成される
処理ブロック406により、両チャネルの割り込みフラ
グをチエツクしたかについて判断するチエツクを行なう
。イエスのときは、インタフェース・コントローラ22
2に復帰してその割り込み機能を再開してその割り込み
サービス・ルーチンを終了する。
前述のように、フラグ・レジスタの状態は、いずれかの
FIFOがサービスを要求しているかを判断するために
、周期的にチエツクされる。フラグがセットされて特定
のFIFOがサービスを要求していることを表わしてい
るときは、当該FIFOにおける全てのメツセージが処
理される。これは、最初の割り込みがサービス可能とな
る前に、第2番目以降の割り込みが発生する状況を管理
することである インタフェース・コントローラ222によりホスト・プ
ロセッサに割り込みがあったときは、前述の割り込みサ
ービス・ルーチンと同様の割り込みサービス・ルーチン
がホスト・プロセ・ンサによって実行されることが、当
該技術分野に習熟する者にとり明らかなこととすべきで
ある。更に、割り込みサービス中に他の機能も実行可能
なことも明らかなこととすべきである。
【図面の簡単な説明】
第1図は本発明を実施したプログラマブル・コントロー
ラ装置の斜視図、 第2図は第1図のプログラマ−プル・コントローラ装置
の一部を形成する装置コントローラ・モジュールのブロ
ック図、 第3図は第1図のプログラマブル・コントローラ装置の
一部を形成するリモート人出力スキャナーのブロック図
、 第4図は第2図及び第3図の装置コントローラ・モジュ
ールに用いられるインテリジェント通信インタフェース
回路のブロック図、 第5図は第4図のインテリジェント通信インタフェース
回路の一部を形成する回路網アクセス回路の回路図、 第6図は第4図のインテリジェント通信インタフェース
回路の一部を形成する共用RAMのマツプを示す図、 第7図は第6図の共用RAMのマツプの一部を示す交渉
セグメントのマツプを示す図、第8図は第4図のインタ
フェース舎コントローラが実行するプログラムのフロー
チャートを示す図、 第9図は第6図の共用RAMのマツプの一部を示す接続
セグメントのマツプを示す図、第10図は第6図の共用
RAMのマツプの一部を形成するチャネルA及びチャネ
ルBに記憶されるデータ構造を表わす図、 第11図は第4図のインタフェース・コントローラが実
行する割り込みサービス・ルーチンのフローチャートを
示す図である。 10・・・プログラマブル・コントローラ、18・・・
プログラム実行プロセッサ・モジュール、24・・・プ
ログラミング端末装置、64・・・仲裁回路、66・・
・マイクロプロセッサ、68・・・読み出し専用メモリ
、72・、・割り込みプロセッサ、81・・・マスク・
モード制御回路、82・・・スレーブ・モード制御回路
、84・・・バックプレーン仲裁回路、222・・・イ
ンタフェース・コントローラ、140・・・マイクロプ
ロセッサ、251・・・チャネルA直列プロトコル機械
、253・・・チャネルB直列プロトコル機械、260
・・・仲裁及び制御回路。

Claims (6)

    【特許請求の範囲】
  1. (1)制御機能を実行するホスト・プロセッサと、当該
    装置に接続された通信リンクとを有する制御装置におけ
    る通信インタフェース回路において、前記通信リンクに
    接続され、前記通信リンクを介してメッセージ・データ
    を送受信するように動作可能なプロトコル装置と、 前記プロトコル装置に接続され、前記ホスト・プロセッ
    サに割り込みを発生する手段を含むインタフェース・コ
    ントローラと、 前記ホスト・プロセッサに接続され、前記インタフェー
    ス・コントローラに割り込みを発生する手段と、 前記ホスト・プロセッサ及び前記インタフェース・コン
    トローラに接続され、前記ホスト・プロセッサによる読
    み出しのために前記プロトコル装置が受信したメッセー
    ジ・データを記憶し、前記プロトコル装置による送信の
    ために前記ホスト・プロセッサからのメッセージ・デー
    タを記憶し、かつ一組のホスト割り込みフラグ及び対応
    する一組の肯定応答フラグ、並びに一組のインタフェー
    ス割り込みフラグ及び対応する一組の肯定応答フラグを
    含むハンドシェイク・セグメントを記憶する共用メモリ
    とを備え、 前記インタフェース・コントローラは 前記ホスト割り込みフラグのうちの一つを反転し、前記
    ホスト・プロセッサに割り込みを発生する第1の手段と
    、 前記ホスト・プロセッサが発生した前記インタフェース
    ・コントローラに対する割り込みに応答して、前記一組
    のインタフェース割り込みフラグを反転されたフラグに
    ついて調べ、対応する肯定応答フラグを反転させる第2
    の手段とを有することを特徴とする通信インタフェース
    回路。
  2. (2)請求項2記載の通信インタフェース回路において
    、前記ホスト・プロセッサは前記インタフェース割り込
    みフラグのうちの一つを反転し、前記インタフェース・
    コントローラに割り込みを発生する第3の手段と、前記
    インタフェース・コントローラが発生した前記ホスト・
    プロセッサに対する割り込みに応答し、前記一組のイン
    タフェース割り込みフラグを反転されているフラグにつ
    いて調べて対応する肯定応答フラグを反転させる第4の
    手段とを有することを特徴とする通信インタフェース回
    路。
  3. (3)請求項1記載の通信インタフェース回路において
    、前記プロトコル装置が受信したメッセージ・データは
    前記共用メモリ内の指示FIFOに記憶され、前記ホス
    ト割り込みフラグのうちの一つは前記指示FIFOに関
    連され、前記ホスト・プロセッサからのメッセージ・デ
    ータは前記共用メモリ内の要求FIFOに記憶され、か
    つ前記インタフェース割り込みフラグのうちの一つは前
    記要求FIFOに関連されると共に、 前記インタフェース・コントローラは前記一つのインタ
    フェース割り込みフラグの反転に応答して前記要求FI
    FOからメッセージ・データを読み出し、前記通信リン
    ク上に送信するために前記プロトコル装置に供給するこ
    とを特徴とする通信インタフェース回路。
  4. (4)請求項3記載の通信インタフェース回路において
    、前記共用メモリに確認FIFOを記憶し、前記ホスト
    割り込みフラグのうちの第2のフラグを前記確認FIF
    Oに関連させると共に、 前記インタフェース・コントローラは前記要求FIFO
    からのメッセージ・データを結合した後、前記確認FI
    FOに確認メッセージ・データを書き込み、前記ホスト
    割り込みフラグのうちの第2のものを反転させ、かつ前
    記ホスト・プロセッサに割り込みを発生するように動作
    可能であることを特徴とする通信インタフェース回路。
  5. (5)請求項4記載の通信インタフェース回路において
    、前記ホスト・プロセッサは前記ホスト割り込みフラグ
    の一つの反転に応答して前記指示FIFOからの前記メ
    ッセージ・データを読み出すように動作可能であること
    を特徴とする通信インタフェース回路。
  6. (6)請求項5記載の通信インタフェース回路において
    、前記共用メモリに受け付けFIFOを記憶し、前記イ
    ンタフェース割り込みフラグのうちの第2のものを前記
    受け付けFIFOに関連させると共に、 前記ホスト・プロセッサは前記指示FIFOからのメッ
    セージ・データを読み出した後、前記受け付けFIFO
    にデータを書き込み、前記インタフェース割り込みフラ
    グのうちの第2のものを反転させ、前記インタフェース
    ・コントローラに割り込みを発生するように動作可能で
    あることを特徴とする通信インタフェース回路。
JP2196061A 1989-07-25 1990-07-24 通信インタフェース回路 Pending JPH0364231A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US384614 1982-06-03
US07/384,614 US5283869A (en) 1989-07-25 1989-07-25 Interrupt structure for network interface circuit

Publications (1)

Publication Number Publication Date
JPH0364231A true JPH0364231A (ja) 1991-03-19

Family

ID=23518028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2196061A Pending JPH0364231A (ja) 1989-07-25 1990-07-24 通信インタフェース回路

Country Status (4)

Country Link
US (1) US5283869A (ja)
JP (1) JPH0364231A (ja)
CA (1) CA2019373C (ja)
DE (1) DE4023471C2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301303A (en) * 1990-04-23 1994-04-05 Chipcom Corporation Communication system concentrator configurable to different access methods
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5414814A (en) * 1992-05-08 1995-05-09 The United States Of America As Represented By The Secretary Of The Navy I/O interface between VME bus and asynchronous serial data computer
US6029199A (en) * 1992-10-23 2000-02-22 International Business Machines Corporation Computing system having a system supervisor and a collection of computing subunits each of which has a subunit supervisor
DE4341886A1 (de) * 1992-12-16 1994-06-23 Rolm Co HDLC-Hardwaremaschine und Speicherschnittstelle
US5504837A (en) * 1993-05-10 1996-04-02 Bell Communications Research, Inc. Method for resolving conflicts among distributed entities through the generation of counter proposals by transversing a goal hierarchy with acceptable, unacceptable, and indeterminate nodes
AU1261995A (en) * 1993-12-16 1995-07-03 Intel Corporation Multiple programmable interrupt controllers in a multi-processor system
US5455954A (en) * 1993-12-22 1995-10-03 Adaptec, Inc. Host interrupt signal generation circuit for controlling an auto read operation in a disk drive controller
US5634081A (en) * 1994-03-01 1997-05-27 Adaptec, Inc. System for starting and completing a data transfer for a subsequently received autotransfer command after receiving a first SCSI data transfer command that is not autotransfer
JPH07262152A (ja) * 1994-03-24 1995-10-13 Hitachi Ltd コンピュータシステム
US5896292A (en) * 1995-06-05 1999-04-20 Canon Kabushiki Kaisha Automated system for production facility
US5949762A (en) * 1996-01-24 1999-09-07 Telebit Corporation Apparatus and method for processing multiple telephone calls
KR100216451B1 (ko) * 1996-05-13 1999-08-16 윤종용 프로세서 통신시스템에서 다수의 하위데이타들을 전송하는 장치 및 방법
US5761428A (en) * 1996-07-05 1998-06-02 Ncr Corporation Method and aparatus for providing agent capability independent from a network node
US6145007A (en) * 1997-11-14 2000-11-07 Cirrus Logic, Inc. Interprocessor communication circuitry and methods
KR100257712B1 (ko) * 1997-12-31 2000-06-01 서평원 인터넷을 이용한 프로세스 간의 정보교환 장치
US7007099B1 (en) * 1999-05-03 2006-02-28 Lucent Technologies Inc. High speed multi-port serial-to-PCI bus interface
US7734744B1 (en) * 1999-11-09 2010-06-08 Cisco Technology, Inc. System for communicating management information and method of operation
US6799317B1 (en) * 2000-06-27 2004-09-28 International Business Machines Corporation Interrupt mechanism for shared memory message passing
KR20040008124A (ko) * 2001-01-31 2004-01-28 인터내셔널 비지네스 머신즈 코포레이션 제어 정보 제공 방법 및 통신 스위치 및 이를 포함하는호스트 컴퓨터 시스템
US7310766B2 (en) * 2004-10-07 2007-12-18 International Business Machines Corporation End-to-end data integrity protection for PCI-Express based input/output adapter
US7721160B2 (en) * 2006-09-11 2010-05-18 Advanced Micro Devices, Inc. System for protecting data during high-speed bidirectional communication between a master device and a slave device
US9043363B2 (en) * 2011-06-03 2015-05-26 Oracle International Corporation System and method for performing memory management using hardware transactions
US8693490B1 (en) 2012-12-20 2014-04-08 Unbound Networks, Inc. Parallel processing using multi-core processor
CN112198820B (zh) * 2020-09-27 2021-11-12 中国第一汽车股份有限公司 一种中断服务实现方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228495A (en) * 1978-12-19 1980-10-14 Allen-Bradley Company Multiprocessor numerical control system
US4527250A (en) * 1980-09-11 1985-07-02 Allen-Bradley Company Video computer terminal with detachable intelligent keyboard module
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
US4443865A (en) * 1981-10-26 1984-04-17 Allen-Bradley Co. Processor module for a programmable controller
US4604500A (en) * 1981-12-02 1986-08-05 At&T Bell Laboratories Multiprocessing interrupt arrangement
US4504927A (en) * 1982-09-08 1985-03-12 Allen-Bradley Company Programmable controller with expandable I/O interface circuitry
US4831582A (en) * 1986-11-07 1989-05-16 Allen-Bradley Company, Inc. Database access machine for factory automation network
US4809269A (en) * 1987-04-02 1989-02-28 Advanced Micro Devices, Inc. Dual-port timing controller
JP2834122B2 (ja) * 1987-07-08 1998-12-09 株式会社日立製作所 制御装置
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors

Also Published As

Publication number Publication date
CA2019373A1 (en) 1991-01-25
DE4023471C2 (de) 2003-04-17
US5283869A (en) 1994-02-01
DE4023471A1 (de) 1991-01-31
CA2019373C (en) 2000-10-10

Similar Documents

Publication Publication Date Title
JPH0364231A (ja) 通信インタフェース回路
US5452420A (en) Intelligent network interface circuit for establishing communication link between protocol machine and host processor employing counter proposal set parameter negotiation scheme
EP0471354B1 (en) Intelligent network interface circuit
US5237659A (en) Gateway device for connecting a computer bus to a ring network
US4809217A (en) Remote I/O port for transfer of I/O data in a programmable controller
CA1288524C (en) Multiprocessor interrupt rerouting mechanism
US4831620A (en) Controller for controlling multiple LAN types
EP0522005B1 (en) An equivalent network interface module for connecting a programmable logic controller to a high speed communications network
US6070214A (en) Serially linked bus bridge for expanding access over a first bus to a second bus
EP0255091B1 (en) Multi-CPU interlock
US5165022A (en) Channel and control unit having a first I/O program protocol for communication with a main processor and a second universal I/O program protocol for communication with a plurality of I/O adapters
US4771286A (en) Lan controller having split bus design
EP0446077B1 (en) A control system for multi-processor system
US5901070A (en) Voltage regulator controller having means for automatic configuration of accessory devices
JPH06187267A (ja) コンピュータバスと高速環状ネットワークとの間のデータ伝送システム
JPH0683234B2 (ja) コンピュータのバスを環状光ファイバネットワークに接続するブリッジ装置及び該装置の使用方法
US4823124A (en) Lan controller proprietary bus
JP2520905B2 (ja) シリアル通信制御装置
EP0255096A2 (en) A controller for controlling multiple LAN types
EP0255090A2 (en) LAN controller proprietary bus
EP0193305A2 (en) System interface for coupling standard microprocessor to a communications adapter
EP0424658A2 (en) Computer system
CA2347869C (en) Linked bridge
JP2925215B2 (ja) 回線制御システムおよび該回線制御システムに用いる回線制御装置
JPH1141297A (ja) プログラマブルシーケンサーを使用したdmaコントローラ