(57)【特許請求の範囲】
【請求項１】
所定の通信経路に接続され、当該通信経路上の通信データが入力される入力端子と、当該通信経路にワイヤードオアロジックあるいはワイヤードアンドロジックで接続され、当該通信経路に通信データを出力する出力端子と、当該入出力端子への通信データを受信／生成する中央処理装置と、中央処理装置により書き込まれたデータを保持し、当該データを上記出力端子から出力する出力データバッファと、入力端子から入力される通信経路上の通信データを保持し、当該情報が上記中央処理装置に読み出される入力データバッファとを有する通信制御装置において、
上記中央処理装置により読取カウント値が設定される読取リロードレジスタと、上記中央処理装置により出力カウント値が設定される出力リロードレジスタと、タイムアウトする度に当該２つのリロードレジスタのカウント値を交互に読み出してカウントするタイマとを設けるとともに、読取カウント値に基づいてタイムアウトした場合には上記入力データバッファには通信データの保持動作を行わせ、出力カウント値に基づいてタイムアウトした場合には上記出力データバッファによる通信データ出力動作を行わせることを特徴とする通信制御装置。
【請求項２】
入力端子から入力される通信データのエッジを検出してエッジ検出信号をタイマに出力するエッジ検出回路を設けるとともに、当該タイマには、当該エッジ検出信号が入力された際に読取カウント中であれば読取カウント値を再度リロードし、当該エッジ検出信号が入力された際に出力カウント中であればタイムアウトを出力して読取カウント値をリロードすることを特徴とする請求項１記載の通信制御装置。
【請求項３】
出力データバッファと入力データバッファとの少なくとも一方は複数の通信データを保持し、古いものから順次出力することを特徴とする請求項１または請求項２記載の通信制御装置。
【請求項４】
入力端子から入力される通信データと出力端子から出力される通信データとを比較し、これらが不一致となった場合には衝突検出信号を中央処理装置に出力する衝突検出回路を設けたことを特徴とする請求項１から請求項３のうちのいずれか１項記載の通信制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はローカルエリアネットワーク（ＬＡＮ）などの多重通信ネットワークにおいて好適に利用することができる通信制御装置に係り、特に、このような多重通信ネットワークにおいても汎用的に利用することが可能な通信制御装置に関するものである。
【０００２】
【従来の技術】
従来、この種の通信制御装置では、通信に必要な各種の制御機能、例えば通信データの送受信タイミング制御機能、２以上のデータがネットワーク上に出力された時に生ずる衝突制御などの制御機能が全てハードウェアにて構成され、当該通信制御装置に接続されたコンピュータなどにおいては外部から通信データを入出力すれば良いように構成されていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、近年、ネットワーク技術は多様化し、多数のプロトコルが存在するようになってきた。そのため、上記従来の通信制御装置のようにその全てをハードウェアとして構成した場合には、１つのプロトコルに対応して形成した通信制御装置は他のプロトコルに適用することが不可能であるため、各プロトコルごとに通信制御装置の設計を行なわなければならなかった。
【０００４】
そこで、通信制御装置を必要最小限のハードウェアで構成し、中央処理装置において各種の通信制御を実現することが考えられる。
【０００５】
図５はこのような考えのもとに考案される通信制御装置の構成を示すブロック図である。図において、１は図示外の通信経路に接続され、当該通信経路上の通信データが入力される入力端子であり、２は当該通信経路にワイヤードオアロジックあるいはワイヤードアンドロジックで接続され、当該通信経路に通信データを出力する出力端子であり、３は当該入力端子１，出力端子２への通信データを受信／生成する中央処理装置であり、４は中央処理装置３により書き込まれたデータおよび入力端子１から入力される通信経路上の通信データを保持する入出力ポートであり、５はクロック数をカウントしてタイムアウトしたら割り込み信号を中央処理装置３に出力するタイマであり、６は中央処理装置３により当該タイマ５のカウント値が設定されるレジスタであり、７は中央処理装置３と当該レジスタ６などを接続するデータバスである。
【０００６】
次に動作について説明する。
図６はノーリターンゼロ（ＮＲＺ）方式で連続的にデータ通信を行なうＬＡＮ通信の１ビット波形を示す波形概念図である。同図はビットが立っている状態の波形を示すものであり、図において、８は１ビットに割り当てられた１ビット周期であり、９は当該１ビット周期８の始まりのエッジとなる送信ポイントであり、１０は各通信制御装置において当該ビットのデータをラッチするタイミングを示す受信ポイントであり、１１は送信ポイント９から受信ポイント１０までの読取セットアップ期間であり、１２は受信ポイント１０から次の送信ポイント９までの出力セットアップ期間である。
【０００７】
そして、このように中央処理装置３において各種の通信制御を実現するように構成した通信制御装置では、例えば図７および図８に示すようなフローチャートに従って他の通信制御装置との間で同期を図りつつ（通信ノード間の同期を図りつつ）通信データを送受信する。
【０００８】
図７は当該通信制御装置において中央処理装置３がデータ送受信のために実行するデータ送受信制御フローチャートである。図において、ＳＴ１はタイマ５からの割り込み信号入力を待つタイムアウト待機ステップであり、ＳＴ２は当該割り込み信号が読取セットアップ期間１１を設定するためのカウント値に基づく割り込み信号か否かを判断する割り込み判別ステップであり、ＳＴ３は当該割り込み信号が読取セットアップ期間１１のカウント値に基づくものである場合に実行されるステップであって、レジスタ６に出力セットアップ期間１２用のカウント値を設定する出力カウント値設定ステップであり、ＳＴ４はステップＳＴ３に続いて入出力ポート４を介して入力端子１から入力されたデータを読み込む読取ステップであり、ＳＴ５は当該読取通信データと出力端子２に出力している通信データとを比較してこれらが一致しているか否かを判断する衝突判断ステップであり、ＳＴ６は上記衝突判断にて不一致である場合に通信データの送信を停止させる通信終了ステップであり、ＳＴ７は上記ステップＳＴ２において割り込み信号が出力セットアップ期間１２のカウント値に基づくものである場合に実行されるステップであって、レジスタ６に読取セットアップ期間１１用のカウント値を設定する読取カウント値設定ステップであり、ＳＴ８は当該ステップＳＴ７に続いて出力通信データがある場合には当該データを出力端子２から出力する出力端子書き込みステップであり、このステップＳＴ８の後には上記ステップＳＴ５が実行される。
なお、ステップＳＴ３やステップＳＴ７においてレジスタ６に設定されるカウント値はタイマ５による割り込み発生タイミングから当該カウント値に基づいてタイマ５のカウントが開始されるまでの割り込み遅延時間を考慮した値が設定される。
【０００９】
図８は通信制御装置において中央処理装置３が同期を補正するために実行するデータ送受信制御フローチャートである。図において、ＳＴ９は入力通信データのエッジ検出を行なうエッジ待機ステップであり、ＳＴ１０はレジスタ６に出力カウント値を設定するタイミング補正ステップであり、ＳＴ１１は検出するエッジの極性（立ち上がりエッジと立ち下がりエッジ）を切り替えるエッジ切替ステップである。
【００１０】
そして、このような通信制御装置であれば、上記１ビット周期の間にレジスタ６に読取カウント値と出力カウント値とをセットすることができ、これにより当該１ビット周期の間に通信データの送受信を行なうことができる。また、自分以外の通信制御装置が同時に出力を行なった場合には、ワイヤードオアロジックあるいはワイヤードアンドロジックにおいて自分が負けたら（入力通信データと出力通信データとが不一致となったら）出力を停止して当該他の通信制御装置の出力通信データを受信することができ、しかも、ワイヤードオアロジックあるいはワイヤードアンドロジックにおいて自分が勝ったら（入力通信データと出力通信データとが一致していたら）そのまま出力を継続することができる。更に、他の通信制御装置から送信された通信データに含まれるエッジを検出してカウント値を設定し直すので、他の通信制御装置との同期を常に維持することができ、長期に渡って安定したデータ通信を行なうことができる。
【００１１】
また、上記レジスタ６に設定する読取カウント値と出力カウント値との比率や総和を変更することにより、各種の読み取りタイミングや通信速度に対応することができ、各種のＬＡＮプロトコルに対応することができる。
【００１２】
しかしながら、このように通信制御装置を必要最小限のハードウェアで構成するとともに、中央処理装置３において各種の通信制御を実現するように構成した場合には、実際には、上述したように中央処理装置３において通信に必要な全ての制御を実行する必要があるため、自ずと中央処理装置３の処理能力により通信速度が制限されてしまい、高速化を望むこともできない。
【００１３】
また、上記割り込み処理にて各種タイミングを制御すると、割り込み要求が発生してから実際に割り込みルーチンが実行されるまでの時間には一般的に数μｓのバラツキがあるため、他の通信制御装置との同期がずれ易く、しかも、更にその期間のばらつきを考慮して各種タイミングを設計しなければならず、高速通信のプロトコルには利用できないという問題もある。
【００１４】
そこで、この発明は、装置としての汎用性を損なうことなく、しかも、高速の通信ネットワークにも対応することができる通信制御装置を得ることを目的とする。
【００１５】
【課題を解決するための手段】
この発明に係る通信制御装置は、所定の通信経路に接続され、当該通信経路上の通信データが入力される入力端子と、当該通信経路にワイヤードオアロジックあるいはワイヤードアンドロジックで接続され、当該通信経路に通信データを出力する出力端子と、当該入出力端子への通信データを受信／生成する中央処理装置と、中央処理装置により書き込まれたデータを保持し、当該データを上記出力端子から出力する出力データバッファと、入力端子から入力される通信経路上の通信データを保持し、当該情報が上記中央処理装置に読み出される入力データバッファとを有する通信制御装置において、上記中央処理装置により読取カウント値が設定される読取リロードレジスタと、上記中央処理装置により出力カウント値が設定される出力リロードレジスタと、タイムアウトする度に当該２つのリロードレジスタのカウント値を交互に読み出してカウントするタイマとを設けるとともに、読取カウント値に基づいてタイムアウトした場合には上記入力データバッファには通信データの保持動作を行なわせ、出力カウント値に基づいてタイムアウトした場合には上記出力データバッファによる通信データ出力動作を行わせるものである。
【００１６】
この発明に係る通信制御装置は、入力端子から入力される通信データのエッジを検出してエッジ検出信号をタイマに出力するエッジ検出回路を設けるとともに、当該タイマには、当該エッジ検出信号が入力された際に読取カウント中であれば読取カウント値を再度リロードし、当該エッジ検出信号が入力された際に出力カウント中であればタイムアウトを出力して読取カウント値をリロードするものである。
【００１７】
この発明に係る通信制御装置は、出力データバッファと入力データバッファとの少なくとも一方は複数の通信データを保持し、古いものから順次出力するものである。
【００１８】
この発明に係る通信制御装置は、入力端子から入力される通信データと出力端子から出力される通信データとを比較し、これらが不一致となった場合には衝突検出信号を中央処理装置に出力する衝突検出回路を設けたものである。
【００１９】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１はこの発明の実施の形態１による通信制御装置の構成を示すブロック図である。図において、１は図示外の通信経路に接続され、当該通信経路上の通信データが入力される入力端子であり、２は当該通信経路にワイヤードオアロジックあるいはワイヤードアンドロジックで接続され、当該通信経路に通信データを出力する出力端子であり、３は当該入力端子１，出力端子２への通信データを受信／生成する中央処理装置であり、１３は入力端子１に入力される波形をフィルタリングして入力通信データの波形を整形するデジタルフィルタであり、１５は中央処理装置３により書き込まれたデータを保持し、当該データを所定のタイミングにて出力端子２に出力する出力データバッファであり、１４は当該デジタルフィルタ１３の出力が入力されて、当該波形を所定のタイミングでサンプリングして保持する入力データバッファであり、１６はデジタルフィルタ１３の出力が入力されて、当該出力に含まれる立ち上がりエッジおよび立ち下がりエッジを検出したらエッジ検出信号を出力するエッジ検出回路であり、１７は中央処理装置３により読取カウント値が設定される読取リロードレジスタであり、１８は中央処理装置３により出力カウント値が設定される出力リロードレジスタであり、１９はタイムアウトする度に当該２つのリロードレジスタ１７，１８のカウント値を交互に読み出してカウントし、読取カウント値に基づいてタイムアウトした場合には上記入力データバッファ１４にラッチ信号を出力し、出力カウント値に基づいてタイムアウトした場合には上記出力データバッファ１５にラッチ信号を出力するタイマであり、２０はデジタルフィルタ１３から出力される通信データと出力端子２から出力される通信データとを比較し、これらが不一致となった場合には衝突検出信号を中央処理装置３に出力する衝突検出回路である。
【００２０】
また、上記タイマ１９にはエッジ検出信号が入力されており、読取カウント中にエッジ検出信号が入力されると、上記読取カウント値を読取リロードレジスタ１７から再度呼び出し直し、出力カウント中にエッジ検出信号が入力されると、出力データバッファ１５にラッチ信号を出力するとともに読取カウント値を読取リロードレジスタ１７から呼び出す。なお、当該タイマ１９は、カウントアップによるオーバフローに基づいてラッチ信号を出力するように構成しても、カウントダウンによるアンダーフローに基づいてラッチ信号を出力するように構成しても良い。
【００２１】
上記入力データバッファ１４は、詳しくは、デジタルフィルタ１３の出力をラッチ信号に基づいてホールドする入力Ｄフリップフロップ１４ａと、当該入力Ｄフリップフロップ１４ａの出力を保持する入力用データレジスタ１４ｂとで構成されており、また、上記出力データバッファ１５は、中央処理装置３により書き込まれた出力通信データを保持する出力用データレジスタ１５ｂと、当該出力用データレジスタ１５ｂに保持されたデータをラッチ信号に基づいてホールド出力する出力Ｄフリップフロップ１５ａとからなる。
【００２２】
上記衝突検出回路２０は、詳しくは、デジタルフィルタ１３から出力される通信データと出力端子２から出力される通信データとが入力され、これら２つの入力レベルが異なるときにはハイレベル信号を出力する排他的論理和回路２０ａと、当該出力を入力データバッファ１４へのラッチ信号によりラッチして中央処理装置３に衝突検出信号を出力する衝突検出Ｄフリップフロップ２０ｂとからなる。
【００２３】
ここではＬＡＮのプロトコルに基づく動作について例示的に説明する。
【００２４】
まず、中央処理装置３の動作について説明する。
図２はデータ送受信のために実行するデータ送受信制御フローチャートである。図において、ＳＴ１２はタイマ１９から出力されるラッチ信号に基づくタイマ割り込み入力を待つデータ設定待機ステップであり、ＳＴ１３は当該タイマ割り込みが読取カウント値に基づくものか否かを判別する割り込み判別ステップであり、ＳＴ１４は当該割り込みが読取カウント値に基づくものである場合に実行されるステップであって、入力データバッファ１４に格納された１ビット分の入力通信データを読み込む読取ステップであり、ＳＴ１５はステップＳＴ１４に続いて実行されるステップであって、出力データバッファ１５に１ビット分の出力通信データをセットする書込ステップである。
なお、上記ステップＳＴ１３においてタイマ割り込みが読取カウント値に基づくものではない（即ち、出力カウント値に基づくものである）と判断された場合には、上記ステップＳＴ１４およびステップＳＴ１５を実行せずに終了する。
【００２５】
図３は衝突検出信号に基づく中央処理装置３の動作を示す衝突検出時フローチャートである。図において、ＳＴ１６は当該衝突検出信号が入力されたことを検出する衝突検出ステップであり、ＳＴ１７は当該検出がなされたときに出力データバッファ１５に対するデータ書き込みを中断（終了）させる送信終了ステップである。
【００２６】
図４は以上の構成および動作に基づく通信制御装置の全体の動作タイミングを説明する動作説明図である。図において、ＴＡは読取リロードレジスタ１７の設定値（読取カウント値）に基づく入力用データバッファへのラッチ信号を示し、ＴＢは出力リロードレジスタ１８の設定値（出力カウント値）に基づく出力用データバッファへのラッチ信号を示す。
【００２７】
図４に示すように、当該通信制御装置は、入力端子１から入力される通信データの波形に同期して動作し、例えば（３）に示すように入力端子１から入力される通信データとタイマ１９のタイムアウトとのタイミングがずれたら、当該入力通信データのエッジにあわせてタイマ１９のカウント値を所定のリロードレジスタ１７からリロードして同期を図ることができる。
【００２８】
また、このように同期がとれた状態であれば、（１）および（２）に示すように、１ビット周期の間に、出力用データレジスタ１５ｂのデータをプロトコルに基づいた所定のタイミング（送信ポイント）のラッチ信号にて送出したり、プロトコルに基づいた所定のタイミング（受信ポイント）のラッチ信号にて入力通信データを入力用データレジスタ１４ｂに格納することができる。また、中央処理装置３においては上述したデータ送受信制御フローチャートにて当該２つのデータレジスタに対して読み出し／書き込みを１ビット周期の間に実行するだけでデータの送受信を行なうことができる。
【００２９】
更に、出力端子２から出力通信データを出力している途中で、衝突検出信号が入力されれば、その次の出力通信データの送信を停止（中断）することができる。
【００３０】
以上のように、この実施の形態１によれば、２つのリロードレジスタ１７，１８とタイマ１９とを設け、これらによりデータの送信／受信タイミングを制御するように構成したので、中央処理装置３の動作を介することなく、タイマ１９のタイムアウトに応じて出力通信データを出力データバッファ１５から出力したり、読取通信データを入力データバッファ１４に読み取ったりすることができるので、中央処理装置３は、プロトコルに応じたカウント値を設定した後は、１ビット周期の間において通信データの出力および読取を行なうだけで通信データの送受信を行なうことができる。
【００３１】
また、この実施の形態１によれば、入力通信データのエッジを検出するエッジ検出回路１６を設け、当該エッジ検出に基づいてタイマ１９のカウント値を適宜リロードするように構成したので、中央処理装置３の制御を介することなく、常に同一の通信ネットワーク上に接続された他の通信制御装置との同期を確保することができる。
【００３２】
更に、この実施の形態１によれば、入力通信データと出力通信データとをリアルタイムで比較する衝突検出回路２０を設けたので、１ビット周期毎に中央処理装置３において入力通信データと出力通信データとを比較する必要がなくなり、衝突検出を適当に行ないつつ、１ビット周期に必要な最小制御時間を短縮することができる。
【００３３】
従って、この実施の形態１によれば、上記２つのリロードレジスタ１７，１８の値（比率や総和）を変更することにより各種のプロトコルに対応した送信ポイントおよび受信ポイントを設定することができるので、非常に汎用性を有する。
【００３４】
しかも、１ビット周期毎にルーチン的に発生するデータの送受信動作や衝突検出について専用のハードウェアを設けて中央処理装置３に負荷を軽減し、しかも、データの出力タイミングや読取タイミングを中央処理装置３にて調整する必要がなくなったので、当該中央処理装置３の処理能力以上の速度でデータの送受信を行なうことができる。
【００３５】
その結果、装置としての汎用性を損なわないというレベルではなく、高速の通信ネットワークにも対応することができるほどの汎用性を得ることができる。
【００３６】
実施の形態２．
この発明の実施の形態２の通信制御装置は、入力用データレジスタ１４ｂおよび出力用データレジスタ１５ｂがそれぞれ複数ビットデータを保持するとともに、古いものから順次出力するように構成された以外は実施の形態１と同様の構成である。
【００３７】
次に動作について説明する。
中央処理装置３が複数ビット単位にて各データレジスタ１４ｂ，１５ｂに対して読み出し／書き込みを行なう以外は実施の形態１と同様の動作である。
【００３８】
以上のように、この実施の形態２によれば、中央処理装置３は複数ビット毎に通信データの読み出し／書き込みを行なうことができるので、同量のデータを送受信する際に必要となる中央処理装置３の処理時間を短縮することができる。従って、実施の形態１よりも更に高速の通信ネットワークに対しても利用することができる程の汎用性を有する。
【００３９】
【発明の効果】
以上のように、この発明によれば、中央処理装置により読取カウント値が設定される読取リロードレジスタと、上記中央処理装置により出力カウント値が設定される出力リロードレジスタと、タイムアウトする度に当該２つのリロードレジスタのカウント値を交互に読み出してカウントするタイマとを設けるとともに、読取カウント値に基づいてタイムアウトした場合には上記入力データバッファには通信データの保持動作を行わせ、出力カウント値に基づいてタイムアウトした場合には上記出力データバッファによる通信データ出力動作を行わせるようにしたので、中央処理装置の動作を介することなく、タイマのタイムアウトに応じて出力通信データを出力データバッファから出力したり、読取通信データを読取データバッファに読み取ったりすることができる。従って、中央処理装置は、プロトコルに応じたカウント値を設定した後は、通信データの出力および読取を行なうだけで通信データの送受信を行なうことができるので、装置としての汎用性を損なうことなく、しかも、高速の通信ネットワークにも対応することができる効果がある。
【００４０】
この発明によれば、入力端子から入力される通信データのエッジを検出してエッジ検出信号をタイマに出力するエッジ検出回路を設けるとともに、当該タイマには、当該エッジ検出信号が入力された際に読取カウント中であれば読取カウント値を再度リロードし、当該エッジ検出信号が入力された際に出力カウント中であればタイムアウトを出力して読取カウント値をリロードするので、中央処理装置は複数の通信データを連続的に読み出したり書き込んだりすることができるので、中央処理装置はエッジ検出に基づく同期補正制御をも実行する必要が無くなる。従って、装置としての汎用性を損なうことなく、しかも、更に高速の通信ネットワークにも対応することができる効果がある。
【００４１】
この発明によれば、出力データバッファと入力データバッファとの少なくとも一方は複数の通信データを保持し、古いものから順次出力するので、同量のデータを送受信する際に必要となる中央処理装置の処理時間を短縮することができる。従って、装置としての汎用性を損なうことなく、しかも、更に高速の通信ネットワークにも対応することができる効果がある。
【００４２】
この発明によれば、入力端子から入力される通信データと出力端子から出力される通信データとを比較し、これらが不一致となった場合には衝突検出信号を中央処理装置に出力する衝突検出回路を設けたので、中央処理装置では衝突検出をする必要が無くなる。従って、装置としての汎用性を損なうことなく、しかも、更に高速の通信ネットワークにも対応することができる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による通信制御装置の構成を示すブロック図である。
【図２】  この発明の実施の形態１による通信制御装置のデータ送受信制御フローチャートである。
【図３】  この発明の実施の形態１による通信制御装置の衝突検出時フローチャートである。
【図４】  この発明の実施の形態１による通信制御装置の全体の動作タイミングを説明する動作説明図である。
【図５】  必要最小限のハードウェアで構成し、中央処理装置において各種の通信制御を実現するための通信制御装置の構成を示すブロック図である。
【図６】  ＬＡＮ通信の１ビット波形を示す波形概念図である。
【図７】  図５に示す通信制御装置において実行されるデータ送受信制御フローチャートである。
【図８】  図５に示す通信制御装置において実行されるデータ送受信制御フローチャートである。
【符号の説明】
１  入力端子、２  出力端子、３  中央処理装置、１４  入力データバッファ、１５  出力データバッファ、１６  エッジ検出回路、１７  読取リロードレジスタ、１８  出力リロードレジスタ、１９  タイマ、２０  衝突検出回路。
【図１】
0003638769.tif 000002
【図２】
0003638769.tif 000003
【図３】
0003638769.tif 000004
【図４】
0003638769.tif 000005
【図５】
0003638769.tif 000006
【図６】
0003638769.tif 000007
【図７】
0003638769.tif 000008
【図８】
0003638769.tif 000009