JP2010278897A - 通信データ処理回路及び通信データ処理方法 - Google Patents

通信データ処理回路及び通信データ処理方法 Download PDF

Info

Publication number
JP2010278897A
JP2010278897A JP2009131108A JP2009131108A JP2010278897A JP 2010278897 A JP2010278897 A JP 2010278897A JP 2009131108 A JP2009131108 A JP 2009131108A JP 2009131108 A JP2009131108 A JP 2009131108A JP 2010278897 A JP2010278897 A JP 2010278897A
Authority
JP
Japan
Prior art keywords
communication
data
processing unit
transmission
data processing
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
JP2009131108A
Other languages
English (en)
Other versions
JP2010278897A5 (ja
Inventor
Yoshinori Mochizuki
義則 望月
Takatoshi Kato
崇利 加藤
Nobuaki Obinata
宣昭 小日向
Shigeki Taira
重喜 平
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009131108A priority Critical patent/JP2010278897A/ja
Priority to US12/787,421 priority patent/US20100306511A1/en
Publication of JP2010278897A publication Critical patent/JP2010278897A/ja
Publication of JP2010278897A5 publication Critical patent/JP2010278897A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation

Abstract

【課題】産業用イーサネットによる所要のネットワーク構成に容易に対応可能な通信用データ処理装置を提供する。
【解決手段】受信したパケットを逐次解析を行いつつ、その受信したパケットを別のポートに送信データとして送信する処理を実行するか否かをレジスタ(422,423)によって切り換える。また、受信パケットの解析、ならびに送信パケットの生成を制御、実行するためのプログラムコードを書き換え可能なメモリ(440)に保存し、プログラムコードの変更により、様々な通信プロトコルへの対応を可能にする。
【選択図】図3

Description

本発明は、リアルタイム性を要する通信データを効率的に処理することを可能とする、通信端末向けの通信データ処理回路及び通信データ処理方法に関するものである。
従来、工場内ではPROFIBUS(登録商標、以下同様)やSERCOS(登録商標、以下同様)に代表されるようなフィールドバスを利用して、PLC(Programmable Logic Controller)とセンサ、インバータ間のデータ通信を行ってきた。しかし、現在、工場内のオートメーション化が進み、機器間のネットワーク上に流れるデータ量が増えつつあり、既存のフィールドバスでは対応しきれないという問題が生じつつある。このデータ量増加の問題を解決する一手段として、LAN(Local Area Network)等で利用されているETHERNET(イーサネットと共に登録商標、以下同様)をフィールドバスに適用した産業用イーサネットがある。産業イーサネットは、ETHERNETと比べて、リアルタイム性や信頼性といった特徴を持ち、フィールドバスと比べて高速なデータ通信が可能あるため、将来、工場内の多くの通信に産業用イーサネットが使われる見込みである。産業用イーサネットの規格の一つとしてEthercat(登録商標、以下同様)やPRFINET(登録商標、以下同様)がある。
現状、従来のフィールドバスとの互換性維持を含めて産業用イーサネットの規格化が進んでいるため、複数の産業用イーサネットの規格が存在する。複数の規格が統合化される可能性はあるが、将来も複数の産業用イーサネットの規格が存在する見込みである。
通信プロトコル処理は、汎用プロセッサと記憶装置を搭載した処理装置において、汎用プロセッサが、記憶装置に保存されているプロトコル処理を行うためのプログラムを実行することによって実行される。つまり、ソフトウェアベースのプロトコル処理を実現する。
また、プロトコル処理を専用に行うハードウェア、又は装置を利用することにより、通信プロトコル処理を実行しているものがある(特許文献1)。つまり、ハードウェアベースのプロトコル処理によって、通信プロトコル処理が実現されている。特許文献1には、データの送受信を効率的に行う送受信装置を備える通信プロトコルの処理方法について述べている。
特開平8-181715号公報
しかし、従来技術における通信プロトコルを処理する装置は、以下のような課題がある。
第1に、産業用イーサネットはLAN等で利用されるETHERNETとは異なり、ライン型やツリー型など様々なトポロジーに対応する必要がある。従来技術では、このようなトポロジーへの対応が考慮されていない。従って、ライン型やツリー型などのトポロジーに対応する仕組みを搭載する必要がある。
第2に、産業用イーサネットには複数の規格が存在している。従来技術にように、受信したパケットを処理する装置ならびに送信するパケットを生成する装置をそれぞれ専用ハードウェアとして備えている場合、それぞれの規格に合わせたハードウェアが必要となる。従って、プロトコル毎に専用ハードウェアを開発、搭載することは、通信装置における回路ならびにプログラムの実装規模、製造ラインの増大を招く虞があり、コスト的に非効率である。
本発明の目的は、産業用イーサネットによる所要のネットワーク構成に容易に対応可能な通信用データ処理装置を提供することにある。
更に詳しくは、所要のネットワークトポロジへの対応と所要のネットワークプロトコルへの対応が容易な通信用データ処理装置、並びに通信用データ処理方法を提供することにある。換言すれば、リアルタイム性を要する通信プロトコルを含めて、多様な通信プロトコル処理への対応を低コストで実現することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本発明において開示される発明のうち、代表的な一例を簡単に説明すれば、以下の通りである。
すなわち、通信インタフェースから逐次、受信した受信パケットを逐次解析しつつ、受信したパケットをそのまま別ポートの送信データとして送信し、その際に、別ポートに送信するタイミングをレジスタによって設定することを可能とする。また、受信した受信パケットの逐次解析ならびに送信する送信パケットの逐次生成を行うためのマイクロコードを書き換え可能なメモリに保存し、マイクロコードの変更を容易に行うことができ、また、通信プロトコルの指定をレジスタ設定で行うようにする。これにより、様々な通信プロトコルへの対応が可能になる。
本発明によれば、リアルタイム性を要する通信プロトコルを含めて、多様な通信プロトコル処理への対応を低コストで実現することが可能となる。
図1はEthercatにおけるトポロジー構成の一例を示した説明図である。 図2はEthercatにおける1フレームの構成を例示する説明図である。 図3は逐次、フレームを受信、処理を行いながら、受信したフレームをある期間内に隣接する通信端末に送信する仕組みを搭載した本発明の第1の実施の形態に係る通信端末のハードウェア構成を例示するブロック図である。 図4はコントローラのハードウェア構成を例示したブロック図である。 図5は受信解析部のハードウェア構成を例示したブロック図である。 図6は送信生成部のハードウェア構成を例示したブロック図である。 図7は送受信データ制御部のハードウェア構成を例示したブロック図である。 図8は通信端末の電源投入後の起動シーケンスを例示したフローチャートである。 図9は信号処理部からの受信データの処理手順を例示したフローチャートである。 図10は解析結果処理手順を例示したフローチャートである。 図11はIEEE 1588に準拠した同期方式についての説明図である。 図12は本発明の第2の実施の形態に係る通信端末のハードウェア構成を例示したブロック図である。 図13は通信端末1200における電源投入後の起動シーケンスを例示したフローチャートである。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係る通信データ処理装置(300,1200)は、データ処理部(380)と、複数の外部インタフェースポートを有する通信インタフェース(301)と、前記データ処理部による設定に従って前記通信インタフェースを用いた通信制御を行う通信処理部(370)とを有する。前記通信処理部は、通信処理部を所定の通信プロトコルに従ってプログラム制御するためのプログラムコードを書換え可能に格納するメモリ(440)と、前記通信インタフェースを介して受信したデータを、受信したポートとは異なるポートから送信する動作を指定する第1のモードレジスタ(422)とを有し、前記第1モードレジスタを参照し、前記メモリに格納されたプログラムコードに従って前記通信インタフェースを介する送受信を制御する。
これにより、メモリに格納するプログラムコードによって所要通信プロトコルに準拠した通信動作が可能になり、また、受信ポートと送信ポートを別々にすることを可能になるからリニア型の通信トポロジへの対応も可能になる。これにより、様々な通信プロトコルへ容易に対応が可能になり、リアルタイム性を要する通信プロトコルを含めて、多様な通信プロトコル処理への対応を低コストで実現することが可能となる。
〔2〕項1の通信データ処理装置において、前記通信処理部は、前記異なるポートから送信するタイミングを可変可能に指定するタイミングレジスタ(423)を有する。例えばリニア型の通信トポロジにおいて、受信データをそのまま後続の通信端末に渡したり、ある程度の処理を行なってその結果を付随させて受信データを後続の通信端末に渡すことが可能になる。この点でも種々の通信プロトコルへの対応が可能になり、更に通信制御の柔軟性を増すことができる。
〔3〕項2の通信データ処理装置において、前記通信処理部は、前記メモリに格納されるプログラムコードに対応する通信プロトコルを示すデータが設定される第2のモードレジスタ(421)を備える。第2のモードレジスタの値を参照することによって、現在メモリに格納されたプログラムコードがどの通信プロトコルに対応するかを容易に確認可能になる。さらに、第2のモードレジスタの設定値を参照して前記メモリに格納すべきプログラムコードの種別を判別すること等にも利用可能である。
〔4〕項3の通信データ処理装置において、前記データ処理部は前記第1モードレジスタ、第2モードレジスタ及びタイミングレジスタをアクセスするプロセッサ(350)を有する。
〔5〕項3又は4の通信データ処理装置において、前記通信処理部は、入力した受信データを解析し、その解析結果に基づく通信制御を行うと共に、前記入力した受信データを前記解析結果に基づく制御の完了を待たずに前記第2モードレジスタ及びタイミングレジスタの設定にしたがって他のポートから出力する制御を行う。すなわち、例えばリニア型の通信トポロジにおいて、受信データをそのまま後続の通信端末に渡したり、ある程度の処理を行なってその結果を付随させて受信データを後続の通信端末に渡すことが可能になる。
〔6〕項1乃至5の何れかの通信データ処理装置において、前記データ処理部は前記メモリに格納するプログラムコードを保有する不揮発性メモリ(341)を有する。前記データ処理部は前記不揮発性メモリから前記メモリにプログラムコードを初期設定する。
〔7〕項1乃至5の何れかの通信データ処理装置において、前記データ処理部は入力回路(360,1280)を有し、前記データ処理部は前記入力回路からプログラムコードを入力して前記メモリに初期設定する。
〔8〕本発明の代表的な実施の形態に係る通信データ処理方法は、データ処理部と、複数の外部インタフェースポートを有する通信インタフェースと、前記データ処理部による設定に従って前記通信インタフェースを用いた通信制御を行う通信処理部とを用いて通信制御を行うための方法であって、通信処理部を所定の通信プロトコルに従ってプログラム制御するためのプログラムコードを前記データ処理部が書換え可能なメモリに格納する処理と、前記通信インタフェースの受信ポートとは異なるポートを送信ポートに指定するためのデータを前記データ処理部が前記通信処理部の第1のモードレジスタに設定する処理と、前記通信処理部が前記第1のモードレジスタの設定データを参照し、前記メモリに格納されたプログラムコードに従った送受信動作を行なう処理と、を含む。
これにより、様々な通信プロトコルへ容易に対応が可能になり、リアルタイム性を要する通信プロトコルを含めて、多様な通信プロトコル処理への対応を低コストで実現することが可能となる。
〔9〕項8の通信データ処理方法は更に、前記異なるポートから送信するタイミングを可変可能に指定するためのデータを前記データ処理部が前記通信処理部のタイミングレジスタに設定する処理と、前記タイミングレジスタの設定データに従って前記通信処理部が前記通信インタフェースで受信したデータを送信するタイミングを制御する処理と、を有する。
〔10〕項9の通信データ処理装置は更に、前記メモリに格納されるプログラムコードに対応する通信プロトコルを示すデータを前記データ処理部が前記通信処理部の第2のモードレジスタに設定する処理を含む。
2.実施の形態の詳細
実施の形態について更に詳述する。
<第1の実施の形態>
本説明では、産業用イーサネットの規格の一つであるEthercatを通信プロトコルの一例として説明するが、本発明をEthercat以外の産業用イーサネットならびに、データ送信元アドレス、データ送信先アドレス、送受信データを1フレームの構成に含んだ別の通信プロトコルに適用することも可能である。尚、1フレームの構成に、データ長、データの種類、誤り訂正符号等を含んでも良い。
図1は、Ethercatにおけるトポロジー構成(通信トポロジ)の一例を示した図である。
Ethercatは図に示すように1つのマスタと複数のスレーブから構成される。スレーブは通信端末を構成し或いはそれを含んでいる。マスタから送信されたデータは各スレーブにて処理を行った後、再びマスタに戻るというライン型のトポロジー構成にも対応することが可能である。つまり、マスタ100から送信されたデータはスレーブA110のポート1に届き、スレーブA100で必要な処理を行った後、ポート2を介してスレーブB120に送信される。スレーブB120においても同様な処理を行い、スレーブC130のポート1にデータを送信する。データを受信したスレーブC130は必要な処理を行った後、今度はスレーブB120のポート2に対してデータを送信する。以降、同様な処理を行い、マスタ100にデータを送信することが可能である。図より明らかなように、ライン型の通信トポロジを採用した場合に、終端のスレーブは同一ポートで送受信を行い、その他のスレーブは複数のポートで別々に送受信を行うことが必要になる。
図2にはEthercatのフレーム構成が例示される。このフレーム構成は、イーサネットヘッダ200、データフィールド220、誤り訂正のためのFCS(Frame Check Sequence)240から構成されている。
イーサネットヘッダ200には、フレーム送信先のMACアドレス202、フレーム送信元のMACアドレス204ならびに本フレームがEthercatであることを示すタイプ0x88A4が設定される。尚、Ethercatの場合、フレーム送信先のMACアドレス202には、各スレーブを構成しているセグメントアドレスが設定され、各スレーブのアドレスそのものは設定されない。各スレーブのアドレスは、後に述べるEthercatヘッダ230に設定される。
データフィールド220は、2バイト(Byte)のフレームヘッダ222ならびに複数のEthercatテレグラムから構成されている。フレームヘッダ222には、1フレーム全体のデータ長が設定されている。
各Ethercatテレグラムは、Ethercatヘッダ230、データ232、WKC234から構成されている。Ethercatヘッダ230には、データ232を利用して処理を行うスレーブのアドレス(MACアドレス202で指定されたセグメント内のスレーブのアドレス)ならびに処理内容が設定されている。処理内容には、メモリへの書き込み、読み出しの他、同期処理、アプリケーション処理などが含まれる。WKC(ライトカウンタ)234はEthercatヘッダ230が示す処理を実施したスレーブが、処理を実施したことをマスタ100に知らせるために、値を1インクリメントする領域である。前記設定された処理内容を行ったときにWKC234を1インクリメントする。
ここで、図1のトポロジ構成におけるスレーブによるEthercatフレームの処理フローの概要を説明する。
マスタ100は図2の各フィールドに必要な値を設定した後、スレーブA110のポート1にフレームを送信する。フレームを受信したスレーブA110は、各Ethercatテレグラム内のEthercatヘッダ230に自身を示すアドレスがあるか確認する。自身を示すアドレスがある場合、Ethercatヘッダ230が示す処理を実行し、処理が終了したら、WKC234の値を1インクリメントした後、スレーブB120のポート1にフレームを送信する。この際、自身の処理に関係のないフィールドに関しては何も処理を行わず、スレーブB120に送信する。尚、受信したフレームの一部でも変更した場合、スレーブB120に送信する送信フレームのFCS240フィールドの値も変更する。
自身を示すアドレスがない場合、何も処理を行わず、スレーブB120に受信したフレームを送信する。
Ethercatのフレームはある期間内に次のスレーブに送信する必要がある。そのため、もしある期間内にEthercatヘッダ230で示される処理が終了しなかった場合には、WKC234をインクリメントせずにフレームを送信する必要がある。
ただし、フレームに含まれる全ての構成要素を受信し、処理を行った後、隣接する通信端末にフレームを送信するような処理フローは、リアルタイム性を要する産業用イーサネットでは適用することが難しい。そこで、逐次、フレームを受信、処理を行いながら、受信したフレームをある期間内に隣接するスレーブ(通信端末)に送信する仕組みを通信端末に搭載する必要がある。
図3には、逐次、フレームを受信して、処理を行いながら、受信したフレームをある期間内に隣接する通信端末に送信する仕組みを搭載した本発明の第1の実施の形態に係る通信端末のハードウェア構成が例示される。同図に示される通信端末300は、特に制限されないが、相補型MOS集積回路製造技術で単結晶シリコンのような1個の半導体基板に構成された1チップの半導体集積回路、又はモジュール基板にマルチチップで構成されて1パッケージに封止されたモジュールデバイス、或いは回路基板に複数の半導体集積回路を搭載したマルチチップのカードデバイスとして構成される。
通信端末300は、通信インタフェース301、通信処理部370及びデータ処理部380から成る。通信処理部370は、信号処理部302、受信解析部310、送信生成部312、送受信データ制御部314、DMA制御部315、コントローラ320、第1のメモリ制御部330及び第1のメモリ331を備える。データ処理部380は、第2のメモリ制御部340、第2のメモリ341、プロセッサ350、周辺制御部360を有する。周辺制御部360は図示を省略する補助記憶装置やその他の周辺回路に接続される。通信端末300は、通信端末300上で動作するサービス、アプリケーションに応じて、周辺制御部360等に接続された図示していない磁気ディスク装置等の記憶装置や表示パネルを有してもよい。信号処理部302は、図に示すような通信インタフェースの送受信ポート(ポート1(Port1)の送信ポート及び受信ポート、ポート2(Port2)の送信ポート及び受信ポート)毎に設ける構成以外にも、全てのポート共通の構成であってもよい。ポートの数もポート1とポート2に制限されない。受信解析部310及び送信生成部312は、通信端末300上で動作するサービス、アプリケーションに応じて、それぞれ1つ以上の設けることが可能である。
通信端末300は通信インタフェース301を介して、図示していない通信端末と通信を行う。通信端末300に搭載されている各内部回路モジュールは、一定の動作周期で処理を実行している。以下の説明において、一定の動作周期をサイクルと記載する。例えば、動作周期の数を表す場合、1サイクルと記載し、また、動作周期の順番を表す場合、1サイクル目と記載する。
信号処理部302は、通信端末300が通信インタフェース301を通じてネットワークと接続するための処理を行なう回路である。通信インタフェース301をOSI(Open Systems Interconnection (開放型システム間相互接続))参照モデルにおける物理層とした場合、信号処理302は、ビット変換処理やクロック調整などを行う。また、使用する通信インタフェースに応じて、変調・復調処理などを行ってもよい。尚、産業用イーサネットの場合、通信インタフェース301のデータ幅は4ビットであるため、各モジュールの処理も4ビットずつ行うものとする。ただし、使用する通信インタフェースに応じて、処理単位は自由に変更しても、本発明においては問題ない。以下の説明における受信データ、ならびに送信データとは、受信フレーム、ならびに送信フレームに含まれるデータの一部とする。
コントローラ320、送受信データ制御部314、受信解析部310及び送信生成部310の詳細は図面に基づいてその詳細を後述する。DMA制御部370はコントローラ320等からの指示に従ってDMA転送制御を行う。第1のメモリはSRAMのような高速メモリであり、バッファ若しくはキャッシュメモリとして利用され、第1のメモリ制御部330によってそのメモリ動作が制御される。データ処理部380のプロセッサ350は通信端末300の全体的な制御や特定の演算を行う。第2のメモリ341は電気的に書き換え可能なフラッシュメモリのような不揮発性メモリであり、第2のメモリ制御部340によってそのメモリ動作が制御される。
図4にはコントローラ320のハードウェア構成の一例が示される。コントローラ320は、通信制御部410、レジスタ群420、同期制御部430、マイクロコードテーブル440及びレジスタ群420を有する。
通信制御部410は、受信解析部310ならびに送信生成部312が通信プロトコルに準拠した処理を行うよう制御するモジュールである。上記の制御には通信制御部410内部に有する状態遷移制御部411を利用する。データを受信したとき、受信解析部310が送信する解析結果S3およびデータS4を通信制御部410が入力する。データを受信した場合、状態遷移部411は、受信解析部310が送信する解析結果S3から、通信状態に適した受信データが受信されていることを確認し、次に受信解析部310が、どのような受信データ解析を行うべきかの指示を制御信号S1として送信する。例えば、マイクロコードテーブル440から、受信解析部310が次に行う処理を示した命令を抽出し、その命令をマイクロコード解釈部412で制御信号に変更し、変換された制御信号S1を受信解析部310へ与える。例えば、Ethercatの場合、6バイトのフレーム送信元のMACアドレス204に2バイトのタイプ206(0x88A4)が続く構成となっている。状態遷移制御部411は、受信解析部310から6バイトのフレーム送信元のMACアドレス204を正しく受信した解析結果を受信すると、マイクロコードテーブル440を参照して、次に受信解析部310が行う命令を抽出する。今回の場合では、0x88A4と2バイトの受信データを比較する命令となる。その命令をマイクロコード解釈部412で制御信号S1に変更し、受信解析部310に送信する。
1フレームに構成されるデータ全ての受信が終わった後、解析結果によって、送受信データ制御部314内に保存した受信データを第2のメモリ341に保存する必要がある場合、通信制御部410が信号S2により送受信データ制御部314にDMA制御部315を介して第2のメモリ341にデータを保存するよう要求する。
データを送信する場合、状態遷移制御部411は、送信生成部312が送信した生成結果(送信データ生成結果)S5から、通信状態に適した送信データが生成・送信されていることを確認し、次に送信生成部312に、生成すべき送信データの指示を制御信号S6として与える。上記の方法は受信解析部310と同じくマイクロコードを利用する方法であるから、その詳細な説明は省略する。
通信プロトコルによって、送信フレームの種類は様々である。通常、通信端末自身が送信フレームを一から生成するが、Ethercatの場合、受信したフレームの一部分にメモリに保存してあるデータを挿入したフレームを送信フレームとして、別の通信端末に送信する。このような場合、DMA制御部315を経由してメモリアクセスを行うとリアルタイム性が維持できなくなる恐れがある。尚、Ethercatのように受信したデータの一部分のみを改変して、他の通信端末に送信するデータを転送データと呼ぶことにする。
そこで、本発明では、DMA制御部315経由でなく、コントローラ320が直接アクセスすることが可能なメモリである第1のメモリ331を搭載した構成となっている。図4のS7で示される制御信号及びデータが第1のメモリ制御部330に与えられて第1のメモリ331がアクセスされる、尚、受信解析部310ならびに送信生成部312も第1のメモリ331をアクセスできるように構成することも可能である。
状態遷移制御部411は、受信解析部310の解析結果より、第1のメモリ331に保存してあるデータを挿入する必要があると判断した場合、第1メモリ制御部330を介して、第1のメモリ331に保存してあるデータを読み出し、送信生成部312内にある送信バッファ630に設定する。状態遷移制御部411は、生成データの状態に合わせて、送信バッファ630に設定してあるデータを送信するように指示を行う。送信バッファ630は通信制御部410の内部にあっても良い。また、上記処理をDMA制御部315を経由して行ってもリアルタイム性を損なうことがない場合、すなわち第2のメモリ341にあるデータを挿入してもリアルタイム性を損なうことがない場合には、上記の処理を、図4の信号S8を用いてDMA制御部315経由で行っても良い。
産業用イーサネットには様々な規格はあるが、どの規格もETHERNETの規格を拡張したものであるため、処理のフローはほとんど同じであり、使用する演算子もほとんど同じである。そのため、マイクロコードによって、使用する演算子を制御することにより、マイクロコードを変更するのみで、通信端末300が使用する通信プロトコルも変更することが可能となる。このような通信プロトコルの変更を実現するため、マイクロコードテーブル440は、EEPROMやRAM等の書き換え可能なメモリの方が良い。RAMの場合にはパワーオンリセット処理において第2のメモリ341からマイクロコードテーブル440に所要のプログラムコードが初期ロードされるようにすればよい。
レジスタ群420は、通信端末300の動作に必要なレジスタであり、通信モードレジスタ421、カット/スルーモードレジスタ422、転送タイミングレジスタ423、メモリ制御用レジスタ424、メモリ同期用レジスタ425、通信プロトコル用レジスタ426等から構成される。レジスタ群420の各レジスタには、例えばパワーオンリセット処理においてプロセッサ350が第2メモリから初期化データをリードして初期設定し、或いは、プロセッサ350が周辺制御部360に接続する周辺回路から初期化データをリードして初期設定すればよい。
通信モードレジスタ420は、通信端末300が処理を行なう通信プロトコルの種類、すなわちマイクロコードテーブル440に格納されたマイクロプログラムによって制御される通信プロトコルを示すデータが設定されるレジスタである。種類とは例えばEthercatやPROFINETである。例えば、プロセッサ350はこの通信モードレジスタ420の設定データを参照して第2メモリ341からマイクロコードテーブル440に転送すべきマイクロプログラムを判別する。
カット/スルーモードレジスタ422は、通信インタフェース401を介して受信したデータを、転送タイミングレジスタ423が示すサイクル内で、別の通信端末に送信するスルーモード又は送信しないカットモード又の何れの動作モードで通信端末を動作させるかが指定されるレジスタである。
転送タイミングレジスタ423は、受信データを別の通信端末に送信するまでのサイクルを示すレジスタである。例えば、レジスタの値が10の場合、受信データが信号処理部302から送信されて、10サイクル後に、他の通信端末に送信されることを示す。
メモリ制御用レジスタ424は、アプリケーションならびに受信したデータ種類に応じて、データを第1のメモリ331にアクセスするのか第2のメモリ341にアクセスするのかを切り替えるために使用する。
メモリ同期用レジスタ425は、第1のメモリ331に保存したデータの内容を第2のメモリ341にコピーする際に使用するレジスタである。このレジスタには、サイクル数や受信パケット数ならびに時間等を設定することが可能であり、そのレジスタの示す値になった場合、第1のメモリ331の内容を第2のメモリ341にコピーする制御が開始される。
通信プロトコル用レジスタ426は、各プロトコル処理に必要なレジスタである。例えば、通信プロトコルとして、Ethercatを使用する場合には、FMMU処理に必要な情報やSYNC Manager処理に必要な情報などを設定する。要するに、この通信プロトコル用レジスタ426は、通信モードレジスタ421が示す通信モードで通信を行うために必要なコントロールレジスタとして利用される。
産業用イーサネットはETHERNETとは異なり、リアルタイム性が重要な機能となり、他の通信端末と正確に同期する必要がある。同期制御部430は、各プロトコルに準拠した同期処理を行うためのモジュールである。即ち、リアルタイムクロック431を有し、リアルタイムクロック431が示す時刻によって他の通信端末との間で同期した時刻管理を行うことができるようになっている。
図5には受信解析部310のハードウェア構成の一例が示される。受信解析部310は、通信インタフェース301を介して受信した受信パケットS10を解析するモジュールであり、受信データ解析部510、状態管理レジスタ520及び受信バッファ530を有する。
受信データ解析部510には、演算ロジック511が搭載されており、この演算ロジック511を利用して、受信したデータの解析ならびに処理を行う。
信号処理部302から供給される受信データS10は受信解析部310内の受信バッファ530に格納される。コントローラ320が指示するデータ長まで受信データを格納した後、受信データ解析部510は、コントローラ320が送信した制御信号S1に基づいて、演算ロジック511を利用して受信データの解析を行う。解析した結果は、コントローラ320に通知され、若しくは状態管理レジスタ520に保持される。
ここで、Ethercatが指定されておるときの受信データ解析部510による処理を説明する。予め、コントローラ320は、受信データ解析部510に対して、受信バッファ530に6バイトの送信データを格納し格納したデータが状態管理レジスタ520に保存してあるマスタのMACアドレスであるか否かを比較する処理を行なうための命令を送信する。状態管理レジスタ520には、受信したデータを解析するために必要なデータを格納する。受信データ解析部510は、受信データバッファ530に6バイトのデータが設定されたことを検出すると、演算ロジック511にある比較器を利用して、その受信データバッファ530に格納された6バイトのデータが状態管理レジスタ520に格納されてあるマスタのアドレスであるかを比較し、その比較結果を信号S3としてコントローラ320に送信する。
6バイトのデータがマスタのアドレスであった場合、コントローラ320は、次に2バイトのデータを受信バッファ530に格納させ、状態管理レジスタ520に格納されているタイプの値であるか否かを比較させる。
以上の処理を、通信インタフェース301を介してデータを受信する毎に行う。コントローラ320は状態管理レジスタ520を使用せず、制御信号S1のみで受信データ解析部510に対して解析処理の指示命令を送信しても良い。
また、信号処理部302から送信されたデータS10は、受信バッファ530に格納される他に、送受信データ制御部314にも直接送信される。
図6には送信生成部312のハードウェア構成の一例が示される。送信生成部312は、通信インタフェース301を介して、他の通信端末に送信する送信データを生成するモジュールであり、送信データ生成部610、状態管理レジスタ620及び送信バッファ630を有する。
送信データ生成部610には、演算ロジック611が搭載されており、この演算ロジック611を利用して、送信するデータの生成ならびに処理を行う。演算ロジック611ならびに状態管理レジスタ620は、受信解析部310が有する演算ロジック511及び状態管理レジスタ520と共通に構成してもよい。
送信データ生成部610は、コントローラ320が送信した制御信号S6に基づいて、演算ロジック611を利用して、送信データの生成を行う。また、生成した結果を、コントローラ320に通知もしくは状態管理レジスタ620に設定する。
送信データ生成部610で行う送信データ生成処理の流れについてイーサネットヘッダ200を送信する場合を例に説明する。
予め、コントローラ320は、送信データ生成部610に対して、状態管理レジスタ620に格納してある6バイトの送信先MACアドレスを送信データとして送信する処理命令を与える。状態管理レジスタ620には、データを生成するために必要なデータが格納されている。
送信データ生成部610は、状態管理レジスタ620に格納してある6バイトの送信先MACアドレスを送信し、その送信結果S5をコントローラ320に送信する。
コントローラ320は、送信結果より、正しく送信が行われたことを確認すると、マイクロコードテーブル440を参照して、次に送信生成データ部610が行う命令を抽出し、その命令をマイクロコード解釈部412で制御信号に変更し、信号S6として送信データ生成部610に送信する。例えば、マイクロコードテーブル440を参照した結果、次に状態管理レジスタ620に格納してある通信端末300自身のMACアドレスを送信データとして送信する処理を指示するための命令の場合、その命令に合った制御信号S6を送信する。上記の処理に加えて、送信データ生成部610では、転送データを利用した送信データの生成を行うことも可能である。
ここで、Ethercatが指定されているとき転送データを利用した送信データ生成処理を説明する。Ethercatの場合、送信データとして、受信したデータをそのまま使用する場合、受信したデータを一部分のみ改変して使用する場合、又は第1のメモリ331に保存してあるデータを送信データとして使用する場合がある。
受信したデータをそのまま使用する場合、コントローラ320は、状態管理レジスタ620に送信するデータ長を設定し、送信データ生成部611に対して、送受信データ制御部314から供給される転送データS11を状態管理レジスタ620が示す値だけ送信データとして送信する処理を指示するための命令を与える。
もし、受信したデータの一部分を改変する場合、送受信データ制御部314から一部分を改変するデータの基となるデータS11が送信される前に、コントローラ320が、改変するデータの位置ならびに改変方法を送信データ生成部611に送信する。尚、送受信データ制御部314から送信されたデータを改変した場合、送信データのFCSの値も変更する必要がある。そのため、送信データを生成する場合には、送信バッファ630ならびに演算ロジック611を利用して、常にFCSの演算を行い、もしFCSの値を変更する必要がある場合には、その演算結果を利用することにする。
また、送信データとして第1のメモリ331に保存してあるデータを使用する場合、コントローラ320は、送信バッファ630に第1のメモリ331に保存してあるデータを設定する他に、送信データ生成部611に対して、第1のメモリ331に保存してあるデータを挿入する位置ならびに格納してあるアドレスを通知する。送信データ生成部610は、コントローラ320が示した位置に対して、送信バッファ630に保存したデータ挿入し、送信データとして送信する。
図7には送受信データ制御部314のハードウェア構成の一例が示される。送受信データ制御部314は、受信したデータを他の通信端末に送信するための制御、及び受信したデータをDMA制御部315経由で第2のメモリ341に送信するための制御を行うモジュールであり、制御部710、送受信データバッファ720及びセレクタ730を有する。
信号処理部302から直接供給された受信データS10は、送受信データバッファ720に保存されるとともに、転送タイミングレジスタ423の値に応じて、セレクタ730等を経由し転送データとして、送信生成部312に送信される。その制御は制御部710が行う。例えば、転送タイミングレジスタ423の値が0の場合、セレクタ730を利用することにより、受信したデータをそのまま送信生成部312に送信するパスを有効にする。また、転送タイミングレジスタ423の値が10の場合、受信したデータをそのまま送信生成部312に送信するパスを有効にせず、受信データの先頭が送信されてから、10サイクルが経過した後、送受信データバッファ720に保存された受信データを送信データとして送信する。尚、転送タイミングレジスタ423を利用した制御は送受信データ制御部314でなく、送信生成部312が行っても良い。この場合、受信したデータをそのまま送信生成部112に送信するパスを設定しておく必要がある。
前述の通り、受信データをそのまま送信データとして送信生成部412に送信するかどうかはカット/スルーモードレジスタ412の設定値に従って判断すればよい。
また、コントローラ320より、送受信データバッファ720に格納したデータをDMA制御部315経由で第2のメモリ341に送信する指示が信号S2により供給された場合、DMA制御部315に対して、保存先のアドレスならびに保存するデータ長、データを保存してある位置などの情報を通知する。
図8は通信端末300に電源が投入された直後の起動シーケンスが例示される。
電源投入後、第2のメモリ341に設定してある通信端末300自身の情報を参照する(ステップ810)。参照の結果を用いて、通信処理部370に設定すべき情報を設定する(ステップ820)。その設定は、通信端末300のアドレスや送信元のアドレスの設定、更には、データ通信に使用するプロトコル等の設定として、通信モードレジスタ421、カット/スルーモードレジスタ422、転送タイミングレジスタ423、および通信プロトコルレジスタ426への初期設定とされる。
次に、通信端末300上で動作するアプリケーション及びサービスに応じて、第2のメモリ341に保存してあるデータを第1のメモリ331に保存する(ステップ830)。その際、メモリ制御用レジスタ424ならびにメモリ同期用レジスタ425の設定も行う。
最後に、データ通信に使用するプロトコルに準拠した初期化シーケンスを実行し、起動シーケンスを終了する(ステップ840)。
各プロトコルの初期化シーケンスの一例として、Ethercatの初期化シーケンスを説明する。
Ethercatでは、ETHERNETを使用するようなMACアドレスを使用せず、Ethercatネットワーク内でのみ有効な2バイトのアドレスをマスタ100がスレーブ毎に設定する。設定方法として、まずマスタ100がスレーブA110に対して、2バイトのアドレスを送信する。2バイトのアドレスを受信したスレーブA110は、そのアドレスを自身のアドレスと認識し、そのアドレスに1インクリメントした値をスレーブB120に送信する。
スレーブB120においても、同様の処理を行った後、スレーブC130に送信する。以降、同様の処理を行うことにより、バイトのアドレスを設定する。
尚、産業用イーサネットの場合、フレームのタイプを参照することにより、マスタ100が送信する通信プロトコルを判定することが可能である。そこで、各プロトコルに準拠した初期化シーケンス中に第2のメモリ341を通じてマイクロコードを取得し、通信制御部370への設定を行ってもよい。
図9には信号処理部302からの受信データの処理フローが例示される。
受信解析部310は信号処理部から受信データを受信すると、それを受信データ解析処理部510及び送受信制御部314へ供給する(ステップ900、ステップ910、ステップ920)。
ステップ910の送受信制御部314への受信データの供給は、図5に示すように受信解析部310において特別な処理は行わずに送受信データ制御部314に供給するものとされる。尚、必要に応じて、受信データ解析部510において、必要な処理を行った後に、送受信データ制御部314に受信データを送信しても良い。
以下、送受信データ制御部314に送信された受信データの流れについて説明する。
送受信データ制御部314は、受信解析部310から受信データを受取り、送受信データバッファ720に格納すると、カット/スルーモードレジスタ422を参照し、通信端末300の動作モードが、カットモード又はスルーモードの何れであるかを確認する(ステップ911〜ステップ913)。
もし、通信端末300の動作モードがスルーモードではなく、カットモードの場合、受信データを他の通信端末に送信する必要がないため、送信生成部312に転送する処理を行わず、代わりにコントローラ320からDMA転送要求があるかどうかを確認する(ステップ916)。
コントローラ320からDMA転送要求がある場合、DMA制御部315に対して、送受信データバッファ720に格納してある受信データを第2のメモリ341に保存するために必要な情報、例えばDMA転送を行うデータ長、保存先・保存元のアドレスを送信し、処理を終了する(ステップ917)。尚、コントローラ320はDMA転送要求の代わりに、送受信データ制御部314に対して、送受信データバッファ720に格納してある受信データを第1のメモリ331に保存する要求を送信しても良い。
コントローラ320からDMA転送要求がない場合、送受信データバッファ720に格納された受信データを破棄した後、処理を終了する。尚、必要に応じて、受信データを送受信データバッファ720内に保存しておいても良い。
もし、通信端末300の動作モードがスルーモードの場合、受信データを他の通信端末に送信する必要があるため、送信生成部312にデータを供給する処理を行う。以下に転送するための処理を説明する。
転送する必要があると判断すると、送受信データ制御部314は、転送タイミングレジスタ423を参照し、転送するタイミングを取得する(ステップ913)。転送タイミングレジスタ423に設定されてある値が0の場合、送受信データバッファ720に受信データを格納しつつ、送信生成部312に対して、受信データを送る。転送タイミングレジスタ423に設定されてある値が0以外の場合、セレクタ730を利用して、上記のような受信データの転送を行わせず、送受信データバッファ720にのみ受信データを格納し、転送タイミングレジスタ423が示すサイクル分、転送を待った後、送受信データバッファ720に格納してある受信データを送る(ステップ914、ステップ915)。
尚、上記のような転送処理を送受信データ制御部314が行わずに、受信解析部310が行っても良い。
送信生成部312は、送受信データ制御部314から転送要求があると、送受信データ制御部314からの転送データを受取り、その転送データに基づいて送信データを作成し、信号処理部302に供給する(ステップ930、ステップ931、ステップ936、ステップ937)。
転送データに基づいて送信データを作成する動作は、コントローラ320が送信生成部312を制御して行う。制御方法については、上記で説明したマイクロコードを利用した制御方法であるため、その詳細な説明は省略する。
次に、受信データ解析処理(ステップ920)以降の処理の流れについて説明する。
受信解析部310は、コントローラ320が送信する制御信号を基に、受信データ解析部510内にある演算ロジック511を利用して、受信データの解析を行う。尚、受信データの解析方法は、上述したマイクロコードを利用した制御方法であるため、その詳細な説明は省略する(ステップ920)。
解析が終了すると、その解析結果及び必要に応じて受信データをコントローラ320に送信する(ステップ921)。
解析結果ならびに受信データを受信したコントローラ320は、解析結果処理を行う(ステップ923)。尚、解析結果処理に関しては、図10を用いて後から説明する。
コントローラ320は、受信した解析結果より、マイクロコードテーブル440を参照し、受信解析部310が次に処理すべき命令を取得し、その取得した命令をマイクロコード解釈部412にて制御信号に変換した後、受信解析部310に送信する(ステップ1010、ステップ1012、ステップ1014)。
ステップ1010〜ステップ1014に並行して、もし受信した解析結果により、同期処理を行う必要がある場合、同期処理を行う(ステップ1020)。同期処理とは、各通信端末のリアルタイム性を維持するため、ネットワーク上に存在する通信端末間で同期を取るための処理であり、同期処理の方法として、IEEE 1588に準拠した同期方式と通信プロトコルに準拠した同期方式の二種類がある(ステップ1022、ステップ1024、ステップ1026)。
図11を用いてIEEE 1588に準拠した同期方式について説明する。まず、初めに、マスタ100とスレーブA110間の伝送遅延があり、その伝送遅延時間をTとする。マスタ100はスレーブA110に対して、マスタ自身がデータを送信する時刻Tmaster1を設定したフレームを送信する(ステップ1110)。フレームを受信したスレーブA110は、フレームを受信した時刻Tslave1とフレームに設定されている時刻の差分を求める(ステップ1120)。例えば、Tmaster1を100、Tslave1を91とすると、差分は−9となる。従って、転送遅延時間Tは不明であるが、マスタ100とスレーブA110の間には−9の誤差があることが分かる。
そこで、スレーブA110はその差分を補正する。次に、スレーブA110の補正が正確に行われたことをスレーブA110自身で確認するため、マスタ100はスレーブA110に対して、時刻Tmaster2を設定したフレームを送信する(ステップ1130)。
フレームを受信したスレーブA110は、フレームを受信した時刻Tslave2とフレームに設定されている時刻の差分を求める(ステップ1140)。尚、補正が行われているため、今回は差分は0となる。
補正が終わったら、次に伝送遅延時間Tを求める手順に進む。
スレーブA110はマスタ100に対して、遅延要求を送信する(ステップ1150)。この際、遅延要求を送信した時刻Tslave3はメモリ等に保存しておく。
遅延要求を受信したマスタ100はすぐに遅延応答をスレーブA110に対して送信する(ステップ1160)。遅延応答を受信したスレーブA110は、その遅延応答を受信した時刻Tslave4をメモリ等に保存し、Tslave3とTslave4より伝送遅延時間Tを求める(ステップ1170)。
尚、IEEE 1588準拠の同期処理に必要な時刻の取得は、同期制御部430に内蔵されているリアルタイムクロック431を利用して行う。以上がIEEE 1588に準拠した同期方式の流れである。
図9において、同期処理でなく、ステップ1010〜ステップ1014と並行して、メモリへのアクセスが必要な場合、メモリアクセス処理を行う(ステップ1030)。
メモリアクセス処理とは、第1のメモリ331もしくは第2のメモリ341にアクセスし、データの読み出しもしくは書き込みを行う処理である。使用するメモリ領域に関しては、メモリ制御用レジスタ424を利用して行う。メモリ制御用レジスタ424の使用方法として、起動時にコントローラ320がアクセス可能なメモリをメモリ制御用レジスタ424に設定する方法や、マスタから送信されるメモリアドレスによってアクセスするメモリを切り替える等の方法がある(ステップ1032,ステップ1034、ステップ1036)。
また、同期処理でもメモリアクセス処理でもなく、ステップ1010〜ステップ1014と並行して、アプリケーション独自の処理を行う必要がある場合、アプリケーション独自の処理を行っても良い(ステップ1040)。
解析結果において、メモリアクセスやアプリケーション独自の処理によって、送信データを送信する必要が生じた場合、送信データ処理を行う(ステップ924、ステップ925)。送信データ処理とは、まず、コントローラ320が、送信したいデータを送信生成部312内にある送信バッファ630に設定し、送信生成部312に対して、送信するデータが存在していること、並びに送信するタイミングを通知する処理である。尚、送信データに関しては、送信バッファ630でなく、送受信データ制御部314内の送受信データバッファ720に設定しても良い。
送信要求を受信した送信生成部312は、送信データを格納した場所を確認した後、そのデータを利用して送信データを生成し、信号処理部302に送信する(ステップ930、ステップ931、ステップ936、ステップ937)。
送信データを作成する動作は、コントローラ320が送信生成部312を制御して行う。制御方法については、上記で説明したマイクロコードを利用した制御方法であるからその詳細な説明は省略する。
以上説明した実施の形態1によれば以下の作用効果を得る。
(1)レジスタ422の設定に従って、受信ポートと送信ポートを別々のポートに割り当てることができる。受信したデータをから通信インタフェースから逐次、受信した受信パケットを逐次解析しつつ、受信したパケットをそのまま別ポートの送信データとして送信することができる。リニア型やツリー型などの種々のネットワークトポロジに対応化脳である。その際に、別ポートに送信するタイミングはレジスタ423によって設定することが可能であり、種々のネットへ柔軟に対応することが可能である。
(2)受信した受信パケットの逐次解析ならびに送信する送信パケットの逐次生成をマイクロコードに基づいて制御、実行を行う。このマイクロコードを書き換え可能なメモリ341,440に保存することにより、マイクロコードの変更を行うことができ、様々な通信プロトコルにも対応することが可能となる。通信プロトコルはレジスタ421の設定によって指定することができる。
(3)上記より、リアルタイム性を要する通信プロトコルを含めて、多様な通信プロトコル処理への対応を低コストで実現することが可能となる。
<第2の実施の形態>
図12は、本発明の第2の実施の形態における通信端末のハードウェア構成の一例が示される。以下、第1の実施の形態との差異を中心に説明する。
通信端末1200は、通信インタフェース301、信号処理部302、受信解析部310、送信生成部312、送受信データ制御部314、DMA制御部315、コントローラ320、第1のメモリ制御部330、第1のメモリ331、第2のメモリ制御部340、第2のメモリ341、プロセッサ350、有線インタフェース1280、及び同期制御部1290を有する。
尚、通信端末1200は、通信端末1200上で動作するサービス、アプリケーションに応じて、図示していない磁気ディスク装置等の記憶装置や表示パネルを有する構成であってもよい。
第1の実施の形態の通信端末300と比較して、第2の実施の形態の通信端末1200は、有線インタフェース1280を備えている点ならびに同期制御部1290がコントローラ320の内部に搭載されておらず、通信インタフェース301と直接通信できる点が異なる。通信端末1200内の他の構成要素については、第1の実施の形態と同一のであるからその詳細な説明は省略する。
有線インタフェース1280を搭載することにより、通信インタフェース301から成るネットワークとは別のネットワークにアクセスすることが可能となる。有線インタフェース1280は無線インタフェースでも良い。
第1の実施の形態では、通信端末300が様々な通信プロトコルに対応するため、受信解析部310及び送信生成部312の制御のために使用する各通信プロトコルに対応したマイクロコードを第2のメモリ341に事前に保存しておき、電源投入時に、通信端末300が実行する通信プロトコルに応じて、マイクロコードテーブル440に設定するように構成される。この場合、通信端末300が多くの通信プロトコルに対応する場合、第2のメモリ341に複数のマイクロコードを保存しておく必要があり、大容量のメモリが必要となる。そこで、マイクロコードは全て外部のネットワークにあるサーバに保存しておき、起動時にそのサーバからアクセスすることによって、マイクロコードをマイクロコードテーブル440にダウンロードすれば良い。この方法により、マイクロコード用に大容量のメモリを持つ必要がなくなり、通信端末1200のコストを削減することが可能となる。
同期制御部1290が通信インタフェース301に直結すればリアルタイムクロックによる同期制御に与える内部動作遅延の影響を小さくすることができる。
図13には通信端末1200における電源投入後の起動シーケンスが例示される。
電源投入後、有線インタフェース1280を通じて通信端末1200の動作に必要なマイクロコードならびにパラメータを取得する(ステップ1310)。
取得したマイクロコードならびにパラメータを通信処理部370に設定する(ステップ1310)。
次に、通信端末1300上で動作するアプリケーション、サービスに応じて、第2のメモリ341に保存してあるデータを第1のメモリ331に保存する(ステップ1330)。
また、第2のメモリ341に保存してあるデータをサーバに保存しても良く、その場合には有線インタフェース1280を経由して第1のメモリ331に保存する。
最後に、データ通信に使用するプロトコルに準拠した初期化シーケンスを実行し、起動シーケンスは終了する(ステップ1340)。
産業用イーサネットの場合、フレームのタイプを参照することにより、マスタ100が送信する通信プロトコルを判定することが可能である。そこで、各プロトコルに準拠した初期化シーケンス中に有線インタフェース1280を通じてマイクロコードを取得し、通信制御部370に設定してもよい。
別のネットワークにアクセスすることが可能になることにより、マイクロコードの保存ならびに第2のメモリ341そのものが必要なくなる。
通信端末1200は、有線インタフェース1280を搭載した他に、同期制御部1290を通信インタフェース301と通信できる構成になっている。
図11を用いて説明したように同期処理にはデータの送受信時の時刻が必要となる。第1の実施の形態にあるような受信解析部310ならびにコントローラ320で解析処理を行った後、同期処理の開始を行うような処理フローでは、ns(ナノ・セカンド)ns単位の同期精度が必要なプロトコルの同期処理に対応できない虞がある。そこで、同期制御部1290を直接通信インタフェース301と通信できる構成にすることにより、データの送受信に関するより正確な時間を取得することが可能となる。
その他、第2の実施の形態載によっても上記第1の実施の形態と同様の作用効果を得る。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、個々の通信ポートは図1に示されるように送信と受信を別信号線で並列に行うことができる構成に限らず、送信と受信を同一信号線を用いて行う構成にしてもよい。
また、実施の形態の説明では本発明に係る通信データ処理装置および通信データ処理方法を適用した通信端末を一例としたが、本発明はそれに限定されず、産業用イーサネットに用いる通信制御用の各種デバイス等に広く適用することができる。
100 マスタ
110 スレーブA
120 スレーブB
130 スレーブC
200 イーサネットヘッダ
201 プリアンブル
202 送信先MACアドレス
204 送信元MACアドレス
206 EtherType
220 データフィールド
240 FCS
300 通信端末
301 通信インタフェース
302 信号処理部
310 受信解析部
312 送信生成部
314 送受信データ制御部
315 DMA制御部
320 コントローラ
330 第1のメモリ制御部
331 第1のメモリ
340 第2のメモリ制御部
341 第2のメモリ
350 プロセッサ
360 周辺制御部
370 通信処理部

Claims (10)

  1. データ処理部と、複数の外部インタフェースポートを有する通信インタフェースと、前記データ処理部による設定に従って前記通信インタフェースを用いた通信制御を行う通信処理部とを有し、
    前記通信処理部は、通信処理部を所定の通信プロトコルに従ってプログラム制御するためのプログラムコードを書換え可能に格納するメモリと、前記通信インタフェースを介して受信したデータを、受信したポートとは異なるポートから送信する動作を指定する第1のモードレジスタとを有し、前記第1モードレジスタを参照し、前記メモリに格納されたプログラムコードに従って前記通信インタフェースを介する送受信を制御する、通信データ処理装置。
  2. 前記通信処理部は、前記異なるポートから送信するタイミングを可変可能に指定するタイミングレジスタを有する、請求項1記載の通信データ処理装置。
  3. 前記通信処理部は、前記メモリに格納されるプログラムコードに対応する通信プロトコルを示すデータが設定される第2のモードレジスタを備える、請求項2記載の通信データ処理装置。
  4. 前記データ処理部は前記第1モードレジスタ、第2モードレジスタ及びタイミングレジスタをアクセスするプロセッサを有する、請求項3記載の通信データ処理装置。
  5. 前記通信処理部は、入力した受信データを解析し、その解析結果に基づく通信制御を行うと共に、前記入力した受信データを前記解析結果に基づく制御の完了を待たずに前記第2モードレジスタ及びタイミングレジスタの設定にしたがって他のポートから出力する制御を行う、請求項3又は4記載の通信データ処理装置。
  6. 前記データ処理部は前記メモリに格納するプログラムコードを保有する不揮発性メモリを有し、
    前記データ処理部は前記不揮発性メモリから前記メモリにプログラムコードを初期設定する、請求項1乃至5の何れか1項記載の通信データ処理装置。
  7. 前記データ処理部は入力回路を有し、
    前記データ処理部は前記入力回路からプログラムコードを入力して前記メモリに初期設定する、請求項1乃至5の何れか1項記載の通信データ処理装置。
  8. データ処理部と、複数の外部インタフェースポートを有する通信インタフェースと、前記データ処理部による設定に従って前記通信インタフェースを用いた通信制御を行う通信処理部とを用いて通信制御を行うための通信データ処理方法であって、
    通信処理部を所定の通信プロトコルに従ってプログラム制御するためのプログラムコードを前記データ処理部が書換え可能なメモリに格納する処理と、
    前記通信インタフェースの受信ポートとは異なるポートを送信ポートに指定するためのデータを前記データ処理部が前記通信処理部の第1のモードレジスタに設定する処理と、
    前記通信処理部が前記第1のモードレジスタの設定データを参照し、前記メモリに格納されたプログラムコードに従った送受信動作を行なう処理と、を含む通信データ処理方法。
  9. 前記異なるポートから送信するタイミングを可変可能に指定するためのデータを前記データ処理部が前記通信処理部のタイミングレジスタに設定する処理と、
    前記タイミングレジスタの設定データに従って前記通信処理部が前記通信インタフェースで受信したデータを送信するタイミングを制御する処理と、を有する、請求項8記載の通信端末装置。
  10. 前記メモリに格納されるプログラムコードに対応する通信プロトコルを示すデータを前記データ処理部が前記通信処理部の第2のモードレジスタに設定する処理を更に含む、請求項9記載の通信データ処理方法。
JP2009131108A 2009-05-29 2009-05-29 通信データ処理回路及び通信データ処理方法 Pending JP2010278897A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009131108A JP2010278897A (ja) 2009-05-29 2009-05-29 通信データ処理回路及び通信データ処理方法
US12/787,421 US20100306511A1 (en) 2009-05-29 2010-05-26 Communication data processor and communication data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009131108A JP2010278897A (ja) 2009-05-29 2009-05-29 通信データ処理回路及び通信データ処理方法

Publications (2)

Publication Number Publication Date
JP2010278897A true JP2010278897A (ja) 2010-12-09
JP2010278897A5 JP2010278897A5 (ja) 2012-04-12

Family

ID=43221603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009131108A Pending JP2010278897A (ja) 2009-05-29 2009-05-29 通信データ処理回路及び通信データ処理方法

Country Status (2)

Country Link
US (1) US20100306511A1 (ja)
JP (1) JP2010278897A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013150163A (ja) * 2012-01-19 2013-08-01 Mitsubishi Electric Building Techno Service Co Ltd ネットワークシステムおよびネットワーク設定方法
JP2016015556A (ja) * 2014-07-01 2016-01-28 株式会社日立製作所 ネットワークシステム、管理サーバ
US9525739B2 (en) 2013-05-09 2016-12-20 Mitsubishi Electric Corporation FA network LSI and communication device

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011011587A1 (de) * 2011-02-17 2012-08-23 Phoenix Contact Gmbh & Co. Kg Portunabhängiges topologisch geplantes Echtzeitnetzwerk
JP5229343B2 (ja) * 2011-03-15 2013-07-03 オムロン株式会社 接続異常検出方法、ネットワークシステムおよびマスター装置
KR101283716B1 (ko) * 2011-10-18 2013-07-08 엘에스산전 주식회사 이더캣 기반의 네트워크 시스템 및 이의 운용방법
JP5891086B2 (ja) * 2012-03-28 2016-03-22 株式会社日立産機システム 通信制御システム、通信制御装置、および被制御装置
WO2013160730A1 (en) 2012-04-26 2013-10-31 Freescale Semiconductor, Inc. A cut-through forwarding module and a method of receiving and transmitting data frames in a cut-through forwarding mode
JP6351363B2 (ja) * 2013-08-01 2018-07-04 キヤノン株式会社 通信装置およびそのデータ処理方法
CN105187283A (zh) * 2015-08-21 2015-12-23 中国科学院计算技术研究所 基于EtherCAT协议的工业控制网络从站通信方法及装置
JP6984199B2 (ja) * 2017-07-07 2021-12-17 オムロン株式会社 制御システム、および、制御方法
CN110855537B (zh) * 2019-11-13 2021-06-11 大连京丰机械制造有限公司 基于双MCU的EtherCAT主站实现方法及系统
CN112953800B (zh) * 2019-11-26 2022-10-04 台达电子工业股份有限公司 基于EtherCAT协定的数据交握方法
DE102020203732B4 (de) 2020-03-23 2022-01-05 Lenze Se Elektrisches Steuergerät

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05130165A (ja) * 1991-08-15 1993-05-25 Nippon Motoroola Kk 通信インターフエイス装置
JPH1127184A (ja) * 1997-07-04 1999-01-29 Toshiba Corp データ伝送装置
JP2001256176A (ja) * 2000-03-13 2001-09-21 Mitsubishi Electric Corp ブリッジ装置
JP2004056759A (ja) * 2002-05-30 2004-02-19 Renesas Technology Corp パケット通信装置
JP2005216283A (ja) * 2004-01-30 2005-08-11 Internatl Business Mach Corp <Ibm> シングル・チップ・プロトコル・コンバーター

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689502B2 (ja) * 1996-10-04 2005-08-31 キヤノン株式会社 印刷制御装置および印刷制御方法
JPH11168524A (ja) * 1997-12-05 1999-06-22 Canon Inc 通信制御装置および通信制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6289300B1 (en) * 1998-02-06 2001-09-11 Analog Devices, Inc. Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
JP3352411B2 (ja) * 1998-03-05 2002-12-03 株式会社東芝 制御システム、電力系統保護制御システムおよびプログラムを記憶した記憶媒体
US6216215B1 (en) * 1998-04-02 2001-04-10 Intel Corporation Method and apparatus for senior loads
US6195739B1 (en) * 1998-06-29 2001-02-27 Cisco Technology, Inc. Method and apparatus for passing data among processor complex stages of a pipelined processing engine
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US8762581B2 (en) * 2000-12-22 2014-06-24 Avaya Inc. Multi-thread packet processor
US6970565B1 (en) * 2000-12-22 2005-11-29 Xm Satellite Radio Inc. Apparatus for and method of securely downloading and installing a program patch in a processing device
EP2945361B1 (en) * 2002-02-20 2019-04-10 Canon Kabushiki Kaisha Printing apparatus and control method therefor
FR2837330B1 (fr) * 2002-03-14 2004-12-10 Canon Kk Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
US7356568B2 (en) * 2002-12-12 2008-04-08 International Business Machines Corporation Method, processing unit and data processing system for microprocessor communication in a multi-processor system
JP2008035272A (ja) * 2006-07-28 2008-02-14 Canon Inc 情報処理システム及び当該システムにおけるデータ通信方法
JP4991223B2 (ja) * 2006-09-08 2012-08-01 ルネサスエレクトロニクス株式会社 データ処理装置
JP4845674B2 (ja) * 2006-10-26 2011-12-28 キヤノン株式会社 データ処理装置及び方法、通信装置、並びにプログラム
JP4921142B2 (ja) * 2006-12-12 2012-04-25 キヤノン株式会社 通信装置
WO2009052121A2 (en) * 2007-10-14 2009-04-23 Gilbert Masters Electrical energy usage monitoring system
FR2924243B1 (fr) * 2007-11-27 2013-03-22 Commissariat Energie Atomique Circuit comportant une machine microprogrammee pour traiter les entrees ou les sorties d'un processeur afin de les faire entrer ou sortir du circuit selon n'importe quel protocole de communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05130165A (ja) * 1991-08-15 1993-05-25 Nippon Motoroola Kk 通信インターフエイス装置
JPH1127184A (ja) * 1997-07-04 1999-01-29 Toshiba Corp データ伝送装置
JP2001256176A (ja) * 2000-03-13 2001-09-21 Mitsubishi Electric Corp ブリッジ装置
JP2004056759A (ja) * 2002-05-30 2004-02-19 Renesas Technology Corp パケット通信装置
JP2005216283A (ja) * 2004-01-30 2005-08-11 Internatl Business Mach Corp <Ibm> シングル・チップ・プロトコル・コンバーター

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013150163A (ja) * 2012-01-19 2013-08-01 Mitsubishi Electric Building Techno Service Co Ltd ネットワークシステムおよびネットワーク設定方法
US9525739B2 (en) 2013-05-09 2016-12-20 Mitsubishi Electric Corporation FA network LSI and communication device
JP2016015556A (ja) * 2014-07-01 2016-01-28 株式会社日立製作所 ネットワークシステム、管理サーバ

Also Published As

Publication number Publication date
US20100306511A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
JP2010278897A (ja) 通信データ処理回路及び通信データ処理方法
US8065455B2 (en) Method for data communication of bus users in an open automation system
JP4571671B2 (ja) 通信モジュールのメッセージメモリのデータへアクセスする方法および装置
US10193705B2 (en) Method, communication network, and control unit for the cyclical transmission of data
US11075707B2 (en) Open real-time ethernet protocol
KR100981461B1 (ko) 통신 칩 및 메시지 관리자에 의한 통신 칩의 메시지 메모리의 데이터에 대한 액세스 제어 방법
US9948558B2 (en) Techniques for a switch to receive network controller sideband interface control packets
CN111279656B (zh) 数据传输方法和通信网络
US9270481B2 (en) Communication system and method for isochronous data transmission in real time
KR20210019531A (ko) 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행
US9935898B2 (en) Ethernet interface module
US10999097B2 (en) Apparatuses and methods involving first type of transaction registers mapped to second type of transaction addresses
JP2017529033A (ja) イーサネットインタフェースモジュール
US9391924B2 (en) Ethernet interface module
US20100146225A1 (en) Acyclic data transfer via a field bus coupler
JP2008509463A (ja) メッセージをメッセージメモリに記憶する方法およびメッセージメモリ
Schriegel et al. A migration strategy for profinet toward Ethernet TSN-based field-level communication: An approach to accelerate the adoption of converged IT/OT communication
US7853706B2 (en) Method, interface and network for cyclical sending of Ethernet telegrams
US8824333B2 (en) Method and apparatus for full duplex serial shifting mode and switch mode data transmission
US11929936B2 (en) Interface apparatus between TSN-devices and non-TSN-devices
US20210385108A1 (en) Synchronization of elements in a network
CN115051888A (zh) 一种基于AM335X的EtherCat主站控制系统
CN115996245A (zh) 一种数据帧流传输方法、装置、设备及介质
Cena et al. Ethernet for Control Automation Technology
Rostan High Speed Industrial Ethernet for Semiconductor Equipment

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130411

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130808