JPWO2020059054A1 - 通信装置、通信システム、及びプログラム - Google Patents

通信装置、通信システム、及びプログラム Download PDF

Info

Publication number
JPWO2020059054A1
JPWO2020059054A1 JP2019526333A JP2019526333A JPWO2020059054A1 JP WO2020059054 A1 JPWO2020059054 A1 JP WO2020059054A1 JP 2019526333 A JP2019526333 A JP 2019526333A JP 2019526333 A JP2019526333 A JP 2019526333A JP WO2020059054 A1 JPWO2020059054 A1 JP WO2020059054A1
Authority
JP
Japan
Prior art keywords
communication device
physical layer
communication
layer circuit
clock
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.)
Granted
Application number
JP2019526333A
Other languages
English (en)
Other versions
JP6611996B1 (ja
Inventor
智史 荒川
智史 荒川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6611996B1 publication Critical patent/JP6611996B1/ja
Publication of JPWO2020059054A1 publication Critical patent/JPWO2020059054A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2834Switching of information between an external network and a home network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • H04J3/0658Clock or time synchronisation among packet nodes
    • 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/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

第1PHY部(121)は、物理層における信号の送受信を担い、通信ケーブル(601)を介して通信装置(101)の第2PHY部(142)と信号の送受信を行い、第2PHY部(142)に対して、信号の送受信のタイミングを規定するクロック信号を送信するクロックマスタとして設定されている。機器制御部(151)は、設定されたイベントを検出すると、クロックスレーブとして設定された第2PHY部(142)の初期化が完了した後に、クロックマスタとして設定された第1PHY部(121)の初期化を完了する。

Description

本発明は、通信装置、通信システム、方法、及びプログラムに関する。
通信装置間では、通信方式を合わせなければ相互に通信を行うことができない。例えば、イーサネット(登録商標)に関する規格であるIEEE(The Institute of Electrical and Electronics Engineers institute)802.3では、OSI(Open System Interconnection)参照モデルの物理層を担う物理層回路における、最適な通信方式を自動的に設定するオートネゴシエーションを規定する。オートネゴシエーションを使用することで、最適な伝送速度と、最適な通信モードとが自動的に設定される。ここで、通信モードの設定とは、全二重通信と半二重通信のうち最適なモードを設定することをいう。
オートネゴシエーションと併用されることが多い機能として、Auto MDI(Medium Dependent Interface)/ MDI−X(Medium Dependent Interface Crossover)という通信ケーブルの自動識別機能がある。Auto MDI/ MDI−X機能を有効にした通信装置においては、通信ケーブルの種類を自動的に識別することができる。
また、通信速度が高速である場合には、通信装置間で信号の送受信のタイミングを厳密に合わせる必要がある。これは、通信装置間のクロックの誤差により、フレームロスが発生するからである。
IEEE802.3では、1000BASE−Tのような規格のギガビットのイーサネット(登録商標)において、対向する通信装置の物理層回路間において同期を取るため、以下のようなことが規定されている。一方の通信装置の物理層回路を同期のためのクロック信号の供給元であるマスタ(クロックマスタ)に設定し、通信先である他方の通信装置の物理層回路をクロックマスタから供給されたクロック信号に合わせて動作するスレーブ(クロックスレーブ)に設定する。クロックマスタは、自身が有するクロックを示すクロック信号を含むデータをクロックスレーブに送信する。クロックスレーブはクロックマスタから受信したデータからクロックマスタのクロック信号を再生し、再生したクロック信号に合わせてクロックマスタにデータを送信する。このように、双方の通信装置は同期してデータを送受信する。
ここで、クロックマスタがクロック信号を含むデータをクロックスレーブに送信する前に、クロックスレーブとして設定された物理層回路の初期化が完了している必要がある。クロックスレーブとして設定された物理層回路の初期化が完了していなければ、クロックスレーブはクロックマスタからクロック信号を含むデータを受信できないからである。このため、クロックスレーブとして設定された物理層回路の初期化処理の完了のタイミングと、クロックマスタとして設定された物理層回路がクロック信号を含むデータをクロックスレーブとして設定された物理層回路に送信するタイミングとを調整しなければならない。
通信装置において上述のオートネゴシエーションが有効となっている場合、オートネゴシエーションにより、クロックマスタとクロックスレーブとが自動的に設定され、双方の通信装置の物理層回路の初期化処理が完了した後、クロックマスタとして設定された一方の通信装置の物理層回路が、クロックスレーブとして設定された他方の通信装置の物理層回路にクロックを示すクロック信号を含むデータを送信するよう制御されている。オートネゴシエーションを使用した場合には、クロックスレーブの初期化処理の完了のタイミングと、クロックマスタがデータを送信するタイミングとを意識的に調整する必要はない。
しかし、オートネゴシエーションでは、通信装置間において最適な通信方式を決定するために、通信装置が相互にFLPバーストと呼ばれるパルスを送出する必要がある。このため、オートネゴシエーションの実行にはある程度の時間を要する。
リンクアップ後、リンクダウンがあまり発生しない環境においては、オートネゴシエーションを使用したとしても、通信の効率が極端に悪くなるとはいえない。しかし、ファクトリーオートメーションの分野において、例えば、産業用ロボットのアームに取り付けられている治具、溶接機等は、必要に応じて適宜交換される。このため、産業用ロボットと、産業用ロボットを制御するプログラマブルロジックコントローラとの通信がしばしば切断され、産業用ロボットのアームの治具、溶接機等が交換された後、産業用ロボットとプログラマブルロジックコントローラとの通信を再度リンクアップする必要がある。このような状況ではオートネゴシエーションを何度も実行することになるのでオートネゴシエーションのための時間がかかり、作業効率が下がってしまう。
特許文献1には、オートネゴシエーションに要する時間を短縮する方法として、あらかじめオートネゴシエーションとAuto MDI/MDI−Xとを有効にし、決定された通信速度と、クロックマスタ又はクロックスレーブの区別と、MDI/MDI−Xの区別とを含む通信設定情報を保存し、その後、オートネゴシエーションをオフにして、保存しておいた通信設定情報を使用してリンクアップすることが記載されている。
国際公開第2016/120976号
特許文献1には、クロックスレーブの初期化処理の完了のタイミングと、クロックマスタがデータを送信するタイミングとを調整することに関する開示はない。1000BASE−Tのような通信規格に則った高速な通信を行う通信装置に対して、オートネゴシエーションに要する時間を短縮するため、特許文献1に記載の構成を採用した場合、クロックスレーブの初期化処理の完了のタイミングと、クロックマスタがデータを送信するタイミングとを調整しないため、クロック誤差が発生し、リンクアップができない、あるいは、リンクアップしたとしてもフレームロスが発生することが想定される。さらに、フレームロスの影響が大きくなれば通信装置間の通信自体が成り立たなくなってしまう。このように、特許文献1に記載の構成を1000BASE−Tのような通信規格に則った高速な通信に適用することができない。
本発明は、上記実情に鑑みてなされたものであり、対向する通信装置の物理層回路間のクロック同期が必要な通信を行う通信装置が、オートネゴシエーションと通信ケーブルの自動識別機能とを使わずに、リンクアップすることを目的とする。
上記目的を達成するため、本発明の通信装置の第1の物理層回路は、物理層における信号の送受信を担い、通信線を介して接続された第2の通信装置の第2の物理層回路と信号の送受信を行い、第2の物理層回路に対して、信号の送受信のタイミングを規定するクロック信号を送信するクロックマスタとして設定される。第1の制御部は、設定されたイベントを検出すると、第2の通信装置のクロックスレーブとして設定された第2の物理層回路の初期化が完了した後に、クロックマスタとして設定された第1の物理層回路の初期化を完了する。
本発明の通信装置は、対向する通信装置のクロックスレーブとして設定された物理層回路の初期化が完了した後に、クロックマスタとして設定された物理層回路の初期化を完了する。このように、クロックスレーブの初期化完了のタイミングと、クロックマスタの初期化完了のタイミングとを調整しているので、物理層回路間のクロック同期が必要な高速通信を行う通信装置が、オートネゴシエーションと通信ケーブルの自動識別機能とを使わずにリンクアップすることができる。
実施の形態1に係る通信装置のハードウェア構成を示すブロック図 実施の形態1に係る通信装置の機能ブロック図 実施の形態1に係るリセット制御処理のフローチャート 実施の形態1に係る通信装置のPHY部の初期化のタイミングを示す図 実施の形態2に係る通信装置の機能ブロック図 実施の形態に2に係る再開処理のフローチャート 変形例に係る通信装置のPHY部の初期化のタイミングを示す図
以下、本発明の実施の形態1に係る通信装置100〜102について、図面を参照しつつ詳細に説明する。
(実施の形態1)
図1に示すように、本発明の実施の形態1に係る通信装置100〜102は、プログラマブルロジックコントローラ1に含まれている通信装置である。プログラマブルロジックコントローラ1は、通信装置100〜102と、CPUユニット200とを含む。プログラマブルロジックコントローラ1は、例えば、生産システム、制御システム等において稼動する検出器、被制御機器を制御する。通信装置100〜102は、オートネゴシエーションと通信ケーブルの自動識別機能とを使わずにリンクアップすることが可能である。ここで、リンクアップとは、通信装置100〜102が、物理層のレベルで、他の通信装置と通信する準備が整った状態となったことをいう。別の言い方をすると、リンクアップとは、通信装置100〜102の物理層回路が、他の通信装置の物理層回路と、電気信号の送受信を行うことができる状態をいう。
通信装置100と通信装置101とは、フィールドバス600を介して接続されており相互に通信可能である。通信装置100と通信装置102とは、フィールドバス600を介して接続されており、相互に通信可能である。実施の形態1において、通信装置100の一例はネットワークユニットである。通信装置101の一例は産業用ロボットである。通信装置102の一例は情報処理装置である。通信装置100〜102は、相互に同期して通信を行う。このため、通信装置100〜102は、同期のために必要な構成を備えているものとする。
以下、通信装置100を中心に説明するが、通信に関する機能については、通信装置101、102も通信装置100と同様の構成を有するものとする。
図1に示すように、通信装置100はハードウェア構成として、各種データを記憶する記憶装置110と、他の装置と通信を行う通信I/F(Interface)回路120と、入力電力から必要とされる出力電力を生成する電源回路130と、通信装置100全体を制御する演算装置150と、を有する。記憶装置110と、通信I/F回路120と、電源回路130と、はいずれもバス190を介して演算装置150に接続されており、演算装置150と通信する。
記憶装置110は、揮発性メモリと不揮発性メモリを含み、プログラムと各種データとを記憶する。また、記憶装置110は、演算装置150のワークメモリとして用いられる。
通信I/F回路120は、演算装置150から供給されたデータを電気信号に変換し、変換した電気信号を他の通信装置に送信する。また、通信I/F回路120は、他の通信装置から受信した電気信号をデータに復元して演算装置150に出力する。演算装置150から通信I/F回路120に供給されるデータの一例は、通信装置101への制御信号である。
電源回路130は、通信装置100に供給された電力を変換する。例えば、電源回路130は、電圧変換、周波数変換、交直変換等を行う。
演算装置150は、CPU(Central Processing Unit)を含む。演算装置150は、記憶装置110に記憶される各種プログラムを実行して、通信装置100の各種機能を実現する。
CPUユニット200は、プログラマブルロジックコントローラ1全体を制御する。CPUユニット200と通信装置100〜102とは、フィールドバス600によって接続されており、相互に通信する。
図2に示すように、通信装置100は、機能的には、プログラムと各種パラメータとを記憶する記憶部111と、物理層を担う第1PHY(Physical)部121及び第2PHY部122と、データリンク層を担うMAC(Media Access Control)部123と、通信装置100を他の通信装置に接続するための第1通信ポート124及び第2通信ポート125と、各部への電源供給を制御する電源制御部132と、ハードウェアリセットを制御するハードウェアリセット制御部133と、第1PHY部121と第2PHY部122のソフトウェアリセットを制御する機器制御部151と、を含む。
以下の説明においては通信装置100を中心に説明するが、通信装置101、102も通信装置100と同様の構成を備える。図2においては、説明の便宜上、通信装置101については、第1PHY部141と、第2PHY部142と、第1通信ポート143と、第2通信ポート144とだけを図示し、その他の構成の図示を省略している。通信装置102については、第1PHY部145と、第2PHY部146と、第1通信ポート147と、第2通信ポート148とだけを図示し、その他の構成の図示を省略している。また、図2においては、CPUユニット200の図示を省略している。
記憶部111は、後述の機器制御部151が実行するプログラム001を記憶する。プログラム001は、例えば、演算装置150が実行することで、ファームウェアを実現するためのプログラムである。また、記憶部111は、通信装置100のリンクアップに必要なパラメータを記憶する。リンクアップに必要なパラメータには、第1PHY部121がクロックマスタであるかクロックスレーブであるかを示す情報と、第2PHY部122がクロックマスタであるかクロックスレーブであるかを示す情報と、通信ケーブルのタイプと、通信速度と、通信モードと、が含まれている。クロックマスタとは、クロック信号を供給する側のPHY部であり、クロックスレーブとは、クロックマスタから受信したクロック信号に同期して動作する側のPHY部である。
第1PHY部121と、第1PHY部121と通信する相手側のPHY部とは同期して通信する。このため、第1PHY部121がクロックマスタであるかクロックスレーブであるかを示す情報は、第1PHY部121が同期のためのクロック信号を供給する側であるか、クロック信号が供給される側であるかを示す。第2PHY部122がクロックマスタであるかクロックスレーブであるかを示す情報についても同様である。記憶部111には、通信ケーブルのタイプとして、例えば、ストレートケーブルであるかクロスケーブルであるかを示す情報が格納されている。また、記憶部111には、通信モードとして、例えば、全二重通信であるか半二重通信であるかを示す情報が格納されている。記憶部111は、記憶装置110により実現される。
これらの通信装置100のリンクアップに必要なパラメータは、例えば、あらかじめ、通信装置100〜102のオートネゴシエーションと、Auto MDI/ MDI−Xとをそれぞれ有効にして決定されたものである。なお、リンクアップに必要なパラメータが決定された後は、通信装置100〜102のオートネゴシエーションと、Auto MDI/ MDI−Xをそれぞれ無効にしておく。
第1PHY部121は、OSI参照モデルの第1層である物理層を担う物理層回路を含み、第1通信ポート124のコネクタに接続されている。第1通信ポート124は通信ケーブル601を介して通信装置101の第2通信ポート144に接続されている。第2通信ポート144には通信装置101の第2PHY部142が接続されている。このように、第1PHY部121は通信装置101の第2PHY部142に物理的に接続されており、通信装置101の第2PHY部142と通信する。第1PHY部121は、通信装置101の第2PHY部142との通信に先立って、通信の物理的な設定の内容を決定し、その内容をレジスタ121aに書き込む。レジスタ121aに書き込まれる情報は、通信速度と、通信装置101に対してクロックマスタとなるかクロックスレーブとなるかを示す情報と、通信装置101との接続に使用されているケーブルの種別とを含む。第1PHY部121は、通信I/F回路120により実現される。
第2PHY部122は、OSI参照モデルの第1層である物理層を担う物理層回路を含み、第2通信ポート125のコネクタに接続されている。第2通信ポート125は、通信ケーブル602を介して通信装置102の第1通信ポート147に接続されている。第1通信ポート147には第1PHY部145が接続されている。このように、第2PHY部122は通信装置102の第1PHY部145に物理的に接続されており、通信装置102の第1PHY部145と通信する。第2PHY部122は、通信装置102の第1PHY部145との通信に先立って、通信の物理的な設定の内容を決定し、その内容をレジスタ122aに書き込む。レジスタ122aに書き込まれる情報は、通信速度、通信装置102に対してクロックマスタとなるかクロックスレーブとなるかを示す情報、通信装置102との接続に使用されているケーブルの種別を含む。第2PHY部122は、通信I/F回路120により実現される。
第1PHY部121と、対向する第2PHY部142とは、データの送受信のタイミングを揃えるため同期する必要がある。このため、第1PHY部121と第2PHY部142の一方が、同期のために通信のタイミングを規定するクロック信号を他方に送出する。第2通信ポート125は通信ケーブル602を介して通信装置102の第1通信ポート147に接続されており、第2PHY部122は通信装置102の第1PHY部145に物理的に接続されている。
以下の説明においては、理解を容易にするため、通信装置100の第1PHY部121をクロックマスタに設定し、対向する通信装置101の第2PHY部142をクロックスレーブに設定したと仮定する。通信装置102の第1PHY部145をクロックマスタに設定し、対向する通信装置100の第2PHY部122をクロックスレーブに設定したと仮定とする。クロックマスタとして機能する第1PHY部121は、クロックスレーブとして機能する通信装置101の第2PHY部142に、クロック信号を供給する。クロック信号は、データを送信又は受信するタイミングを規定する信号である。
MAC部123は、OSI参照モデルの第2層であるデータリンク層を担うデータリンク層回路である。MAC部123は、通信I/F回路120により実現される。MAC部123は、第1PHY部121及び第2PHY部122に接続されており、通信装置101の不図示のMAC部のデータリンク層回路と通信する。
第1通信ポート124は、通信ケーブル601を接続可能なコネクタを有し、通信ケーブル601を介して、通信装置101の第2通信ポート144に接続されている。第1通信ポート124は、第1PHY部121に接続されている。第1PHY部121が出力した信号は、第1通信ポート124から通信装置101に向けて送り出される。
第2通信ポート125は、通信ケーブル602を接続可能なコネクタを有し、通信ケーブル602を介して、通信装置102の第1通信ポート147に接続されている。第2通信ポート125は、第2PHY部122に接続されている。第2PHY部122が出力した信号は、第2通信ポート125から通信装置102に向けて送り出される。
前述のように通信装置100の第1PHY部121をクロックマスタに設定し、対向する通信装置101の第2PHY部142をクロックスレーブに設定する。第1通信ポート124に接続された第1PHY部121は第1の物理層回路の一例である。通信装置101の第2PHY部142は他の物理層回路の一例である。通信装置101の第2PHY部142は第2の物理層回路の一例である。通信装置100は通信装置の一例である。通信装置101は第2の通信装置の一例である。通信ケーブル601は通信線の一例である。
電源コネクタ131には、電源ケーブル801が接続される。電源ケーブル801を介して、電源装置800から、通信装置100に電力が供給される。
電源制御部132は、電源装置800から供給された電力を、通信装置100に適した電力に変換し、通信装置100の各部に供給する。電源制御部132は、電源回路130により実現される。
ハードウェアリセット制御部133は、通信装置100の各部に対するハードウェアリセットと、ハードウェアリセット解除とを制御する。具体的には、ハードウェアリセット制御部133は、電力供給が開始されると、ハードウェアリセット信号を第1PHY部121及び第2PHY部122と、MAC部123と、機器制御部151とを含む通信装置100の各部に出力する。ハードウェアリセット制御部133は、電力供給が開始されてから設定された時間が経過すると、ハードウェアリセット信号を解除する、即ち、通信装置100の各部に対するハードウェアリセット信号の出力を停止する。ハードウェアリセット制御部133が、電力供給が開始されてから設定された時間が経過してから、ハードウェアリセット信号を解除するのは、通信装置100の各部に十分な電源が供給され、通信装置100の各部が安定して動作することができるようになるまで待つ必要があるからである。演算装置150が、記憶装置110に格納されたブートローダを実行することにより、ハードウェアリセット制御部133を実現する。
ハードウェアリセットによって、第1PHY部121及び第2PHY部122と、MAC部123と、機器制御部151とがリセットされる。また、記憶部111の揮発性メモリが初期化される。ハードウェアリセット制御部133は、通信装置100に供給される電源電圧を監視し、電源電圧が決められた条件を満たすまで、各部にリセット信号を出力し続ける。
なお、前述のように、第1PHY部121及び第2PHY部122に十分な電源が供給されるようになってから、ハードウェアリセットが解除される。また、ソフトウェアリセットにより、レジスタ121a及びレジスタ122aを初期化する必要がある。このため、第1PHY部121及び第2PHY部122は、ハードウェアリセットと後述のソフトウェアリセットが解除された後でなければ、通信を開始するための初期化を開始することができない。
機器制御部151は、OSI参照モデルの、第3層から第7層のうちの少なくとも1つの層の機能を実現する。また、機器制御部151は、第1PHY部121及び第2PHY部122を制御する。機器制御部151は、演算装置150により実現される。機器制御部151は第1の制御部の一例である。
機器制御部151は、決められたタイミングで、第1PHY部121及び第2PHY部122に対して、ソフトウェアリセットを実行する。ソフトウェアリセットにより、例えば、レジスタ121a及びレジスタ122aが初期化される。なお、機器制御部151は、第1PHY部121と第2PHY部122に対して、個別にソフトウェアリセット信号の出力/出力停止を行うことができる。機器制御部151は、演算装置150により実現される。
接続/切断装置700は、通信装置100と通信装置101との間において電源ケーブル801及び通信ケーブル601を接続または切断する。接続/切断装置700が、電源ケーブル801及び通信ケーブル601を切断すると、通信装置100と通信装置101とは通信することができない。接続/切断装置700は、電源ケーブルの接続/切断を切り換える切換手段の一例である。
実施の形態1においては、接続/切断装置700は、例えば、産業用ロボットのアームと、治具との間に設けられたツールチェンジャである。アームから治具が取り外されるとき、接続/切断装置700であるツールチェンジャにより、電源ケーブル801と、通信ケーブル601とがそれぞれ切断される。また、新たな治具がアームに取り付けられるとき、ツールチェンジャにより、電源ケーブル801と、通信ケーブル601とがそれぞれ再度接続される。アームの治具が交換される度に、通信装置100と通信装置101との間、通信装置100と通信装置102との間で通信の切断と再接続が発生することになる。
電源装置800は、通信装置100〜102に電力を供給する。図示するように、接続/切断装置700から通信装置101、102側に延びた電源ケーブル801は、分岐する。分岐した一方の電源ケーブル801は、通信装置100の電源コネクタ131に接続され、分岐した他方の電源ケーブル801は、通信装置102の不図示の電源コネクタに接続されている。前述のように、接続/切断装置700が通信装置100と通信装置101との間において電源ケーブル801を接続または切断するため、接続/切断装置700が通信装置100と通信装置101との間において電源ケーブル801を接続している間は、通信装置100及び通信装置102に電力が供給される。一方、接続/切断装置700により、通信装置100と通信装置101との間において電源ケーブル801が切断されると、通信装置100及び通信装置102への電力の供給が停止する。この場合、電力の供給が停止するため、通信装置100及び通信装置102は動作することができない。
なお、図示するように、電源装置800から供給される電力は、産業用ロボットである通信装置101に直接供給される。このため、電源装置800が動作している状態においては、接続/切断装置700が電源ケーブル801を切断した場合でも、通信装置101への電源供給は停止しない。
上述のように、通信の切断と再接続が度々発生するため、実施の形態1においては、あらかじめ、通信装置100〜102のオートネゴシエーションを無効にし、オートネゴシエーションを行うことなく、クロックスレーブとして設定されたPHY部の初期化処理が完了した後に、クロックマスタとして設定されたPHY部の初期化処理を開始するよう制御する。
図3を参照しながら、通信装置100が、第1PHY部121、第2PHY部122の初期化処理の開始タイミングを制御する方法を説明する。以下、通信装置100に電力が供給されておらず、通信装置100において通信が不可能な状態であるときに、通信装置100に電源装置800から電力が供給されると、通信装置100の各部が行う処理を説明する。以下のフローにおいては、第1PHY部121がクロックマスタ、第2PHY部122がクロックスレーブであるとのパラメータが記憶部111にあらかじめ格納されているものとする。
接続/切断装置700により、電源装置800と通信装置100との電源ケーブル801が接続され、通信装置100への電源投入というイベントが発生することにより、図3の処理が開始される。
電源制御部132は、電源コネクタ131を介して供給される電力から、通信装置100の動作に適した電力の生成を開始する(ステップS11)。ハードウェアリセット制御部133は、電力供給が開始されると、ハードウェアリセット信号を発生する(ステップS12)。ハードウェアリセット制御部133は、ハードウェアリセットの解除が可能になる条件を満たすまで、ハードウェアリセット信号を、第1PHY部121及び第2PHY部122と、MAC部123と、機器制御部151とを含む通信装置100の各部にハードウェアリセット信号の出力を継続する。
また、機器制御部151は、通信装置100に電源が投入されると、ソフトウェアリセット信号を発生し(ステップS13)、第1PHY部121及び第2PHY部122に対して、ソフトウェアリセット信号を出力する。
ハードウェアリセット制御部133は、ハードウェアリセットが解除可能になるまで待つ(ステップS14)。実施の形態1において、ハードウェアリセット制御部133は、通信装置100に電源が投入されてから予め決められた時間が経過すると、ハードウェアリセットが解除可能であると判別する。例えば、ハードウェアリセット制御部133は、電源制御部132の出力電圧が、通信装置100全体が動作可能なレベルになり、且つ、クロック同期のために必要なPLLの発信が安定するまでに必要な時間が経過するまで待つ。予め決められた時間が経過して、ハードウェアリセットの解除が可能になると(ステップS14;Yes)、ハードウェアリセット制御部133は、ハードウェアリセットを解除し(ステップS15)、即ち、ハードウェアリセット信号の出力を停止する。
機器制御部151は、第2PHY部122のソフトウェアリセットの解除が可能であるか否かを判別する(ステップS16)。ステップS16において、機器制御部151は第2PHY部122の初期化処理を実行するためのプログラム001を記憶装置110から読み出す。機器制御部151は、プログラム001を読み出し、予め決められた時間が経過してプログラム001を実行できるようになると、第2PHY部122のソフトウェアリセットの解除が可能であると判別する(ステップS16;Yes)。機器制御部151は、プログラム001を実行することにより、後述の処理を行う。
機器制御部151は、記憶部111に格納されている通信の設定に関するパラメータを読み出す(ステップS17)。機器制御部151は、第2PHY部122のソフトウェアリセットを解除する(ステップS18)。具体的には、機器制御部151は、記憶部111から読み出したパラメータを、第2PHY部122のレジスタ122aに書き込む。これによって、第2PHY部122が初期化の処理を開始する。
機器制御部151は、第2PHY部122の初期化完了までに要する時間が経過するまで待つ(ステップS19)。第2PHY部122の初期化完了までに要する時間には、第2PHY部122のリンクアップに必要な処理が完了し、第2PHY部122に含まれるPLLの発振が安定するまでの時間が含まれている。
第2PHY部122の初期化が完了するのに必要な時間と、決められた待機時間が経過すると(ステップS19;Yes)、機器制御部151は、第1PHY部121のソフトウェアリセットを解除し(ステップS20)、記憶部111から読み出したパラメータを、第1PHY部121のレジスタ121aに書き込む。これによって、第1PHY部121が初期化の処理を開始する。第1PHY部121の初期化の処理が完了すると、通信装置100はリンクアップ可能な状態になる。
通信装置100の対向装置である通信装置101、102においても上記のフローと同様の処理が行われている。対向装置も上記と同様の処理をすべて行うと、リンクアップが完了する。したがって、通信装置100と101、100と102との間で通信が可能となる。
通信装置100と101、100と102との間で通信が可能となると、クロックマスタと設定されたPHY部を有する通信装置は、クロック同期のため、クロックスレーブと設定されたPHY部を有する装置に対してクロック信号を送信する。
図3のフローにおいて、ステップS14においては、ハードウェアリセット制御部133は、通信装置100に電源が投入されてから予め決められた時間が経過すると、ハードウェアリセットの解除が可能であると判別した。また、ステップS16においては、機器制御部151は、ハードウェアリセットの解除から予め決められた時間が経過すると、クロックスレーブとして設定された第2PHY部122のソフトウェアリセットとの解除が可能であると判別した。ステップS19においては、機器制御部151は、第2PHY部122が初期化の処理を開始してから決められた時間が経過したかを判別した。それぞれのステップにおいて待つべき時間は以下のように決められる。
まず、ステップS14においては、(a1)電源が通信装置100に供給されてから、電圧の立ち上がりに要する時間と、(a2)電圧が立ち上がってから通信装置100内部向けの電圧が安定するまでに要する時間と、(a3)クロック同期のために必要なPLLの発振が安定するまでの時間と、を待つ必要がある。以下、(a1)〜(a3)の時間の合計時間を期間P1とする。期間P1が経過したときに、ハードウェアリセットの解除が可能となる。
なお、通信装置101においては、接続/切断装置700を介さず、電源装置800から直接電源が供給されているため、安定した電力が供給されていると考えられる。このため、通信装置101については期間P1に上記(a1)の時間を含める必要はない。
上記(a1)〜(a3)の時間は、それぞれ通信装置100の仕様と、電源装置800の仕様等から求めることが可能である。求められた(a1)〜(a3)の時間を合計した期間P1は、例えば、あらかじめ電源回路130に含まれているメモリに記憶されている。ハードウェアリセット制御部133は、電源回路130に含まれているタイマによって、電源が通信装置100に供給されてからの経過時間を計測し、電源回路130に含まれているメモリに記憶されている期間P1が経過したかを判別する。ハードウェアリセット制御部133は、経過時間の条件とともに、さらに、電圧の条件、例えば、電源制御部132の出力が決められたレベルに到達したか、を満たすかを判別してもよい。
次に、ステップS16においては、ハードウェアリセットの解除から、ソフトウェアリセットの解除が可能になるまでの期間(以下、期間P2)を待つ必要がある。機器制御部151が、プログラム001を実行して、第2PHY部122のレジスタ122aに通信の設定に関するパラメータを書き込むと、第2PHY部122が初期化の処理を開始する。このため、実施の形態1においては、ステップS16において、ハードウェアリセットの解除から、プログラム001を記憶装置110から読み出す時間が経過したか否かを判別する。期間P2が経過したときに、ソフトウェアリセットの解除が可能になる。
プログラムの読み出し期間はプログラム001のサイズにより異なる。このため、期間P2として、最大限認められる読み出し時間が定義されている。定義された時間内にプログラム001を読み出すことができない場合、例えば、機器制御部151は以下のように動作する。機器制御部151は、期間P2においてプログラム001のリンクアップまでの処理の部分を読み出し、通信装置100のリンクアップが完了した後に、残りの部分のプログラム001を読み出すようにしてもよい。
ステップS19において、第2PHY部122の初期化の開始から初期化完了までに要する期間(以下、期間P3とする)と、他の通信装置においてクロックスレーブとして設定された第2PHY部の初期化完了まで待機するよう設定された待機時間(以下、期間P4とする)と、が経過することを待つ。期間P3は、通信装置100の仕様から求めることができる。
通信装置100〜102において、クロックスレーブとして設定されたすべての第2PHY部の初期化が完了してから、クロックマスタとして設定された第1PHY部の初期化を行う。このため、期間P4については、通信装置100、101、102それぞれにおける期間P1、P2、P3の時間から求めることができる。
図4に、ステップS14、S16、S19における、通信装置100〜102のそれぞれの処理のタイミングの一例を示す。
期間100−P1は、通信装置100においてハードウェアリセットの解除が可能になるまでの期間P1に相当する。期間101−P1、102−P1は、それぞれ、通信装置101、102において、ハードウェアリセットの解除が可能になるまでの期間P1に相当する。期間100−P2は、通信装置100において、ソフトウェアリセットの解除が可能になるまでの期間P2に相当する。期間101−P2、102−P2はそれぞれ通信装置101、102における期間P2に相当する。期間100−P3は、通信装置100の第2PHY部122の初期化完了までの期間P3に相当する。期間101−P3、102−P3はそれぞれ通信装置101、102における期間P3に相当する。
図示する例では、通信装置101の第2PHY部142の初期化完了の時点t3は、通信装置100の第2PHY部122の初期化完了の時点t1より遅い。通信装置100が、第2PHY部122の初期化完了の後、続けて、第1PHY部121の初期化を開始した場合、通信装置101の第2PHY部142の初期化が完了する前に、通信装置100の第1PHY部121の初期化が完了してしまう恐れがある。この結果、通信装置100と通信装置101とのクロックの誤差が発生してしまい、リンクアップができない、あるいは、フレームロスが発生する、ことにより、通信装置100と通信装置101とは通信することができない。
このため、通信装置100は、第2PHY部122の初期化が完了した時点t1から待機期間として設定された期間100−P4待機する。通信装置100は、待機した後、時点t4からクロックマスタとして設定された第1PHY部121の初期化を開始する。通信装置100が待機している間に、通信装置101の第2PHY部142の初期化が完了する。よって、通信装置100と通信装置101との間でクロックの誤差は生じない。
また、通信装置100と通信装置102との関係では、通信装置の第2PHY部122の初期化完了の時点t1は、通信装置102の第2PHY部146の初期化完了の時点t2より早いため、通信装置102については待機期間待つことなく、第1PHY部145の初期化を開始してもよいように思える。しかし、複数の通信装置間において、それぞれのタイミングを調整することは煩雑である。
このため、実施の形態1においては、すべての通信装置において、第2PHY部の初期化が完了した後に、例えば、第2PHY部の初期化が一番最初に完了した通信装置の第1PHY部の初期化を開始するような制御を行う。従って、他の通信装置100、102は、通信装置101の第2PHY部142の初期化が完了した時点t3以降に、それぞれの第1PHY部の初期化を開始する。
以上を踏まえて、待機期間は、例えば次のように設定する。待機期間は、複数の通信装置の間で、クロックスレーブと設定されたPHY部の初期化完了までにかかる最小期間と最大期間との差以上となるよう設定する。最小期間と最大期間とは、各通信装置について、上記のように期間P1〜P3の合計を求め、合計の期間が最小であるものを最小期間とし、合計の期間が最大であるものを最大期間として求めることができる。さらに、実施の形態1においては、最大期間と最小期間との差分の期間に、ある程度の余裕期間を加えた期間を待機期間として設定している。このように構成することで、仮に、いずれかの通信装置において第2PHY部の初期化完了までに係る時間が予測される時間より長くなったとしても、クロックの同期に影響を与えない。
図4に示す例では、クロックスレーブとして設定されたPHY部の初期化完了にかかる期間のうち、通信装置101の第2PHY部142の初期化完了までの期間が最大であり、通信装置100の第2PHY部122の初期化完了までの期間が最小である。よって、通信装置101についての期間101−P1〜期間101−P3の合計期間と、通信装置100についての期間100−P1〜期間100−P3の合計期間との差分に、ある程度の余裕期間を加えた期間を、通信装置100の待機期間である期間100−P4として設定している。また、通信装置100、101についても、期間102−P4とほぼ同じ長さの期間である期間100−P4、101−P4がそれぞれ待機期間として設定している。
このようにして、待機期間である期間P4を決定する。通信装置100の期間100−P1〜100−P3の合計の期間は、第1の期間の一例である。通信装置101の期間101−P1〜101−P3の合計の期間は、第2の期間の一例である。
図4に示すように待機期間を設定することで、図2に示す、通信装置100と通信装置101との間においては、通信装置101のクロックスレーブとして設定された第2PHY部142の初期化が完了した後に、通信装置100のクロックマスタとして設定された第2PHY部122の初期化が開始される。
また、通信装置100と通信装置102との間においては、通信装置100のクロックスレーブとして設定された第2PHY部122の初期化が完了した後に、通信装置102のクロックマスタとして設定された第1PHY部145の初期化が開始される。
このように、実施の形態1では、通信装置100〜102それぞれについて期間P1〜P4の期間を適切に設定することで、クロックスレーブとして設定されたPHY部の初期化が完了した後に、クロックマスタとして設定されたPHY部の初期化を完了するよう制御される。よって、クロックマスタがクロック信号を送信したときに、相手のクロックスレーブがクロック信号を受信して、受信したクロック信号からクロックを再生することができる。よって、通信装置100〜102は相互に通信することが可能になる。
なお、通信装置102の第2通信ポート148は、使用されていない。しかし、上記のように、すべての通信装置においてクロックスレーブとして設定された第2PHY部の初期化完了まで待機する必要があるため、このような場合でも、通信装置102は、図3に示すステップS19において待機する必要がある。
実施の形態1においては、通信装置100への電源投入というイベントの検出により、通信装置100〜102の間でのリンクアップに係る処理が実行された。これは、図1に示すように、電源装置から通信装置100への電源供給の遮断と投入が、接続/切断装置700により行われていたためである。イベントは、例えば、クロックマスタとして設定されたPHY部の初期化、クロックスレーブとして設定されたPHY部の初期化が必要となる状態を引き起こす事象であり、電源投入に限られない。
(実施の形態2)
以下、電源投入以外のイベントを検出する構成として、実施の形態2を説明する。図5に示すように、実施の形態2に係る通信システムにおいては、通信装置100及び102へは、電源装置800ではなく、電源装置810からの電源供給が行われる。図示するように、電源装置810と通信装置100との間の電源ケーブル上には、接続/切断装置700が設けられていない。電源装置810と通信装置102との間の電源ケーブル上においても、接続/切断装置700が設けられていない。このような構成により、実施の形態1とは異なり、電源装置810が正常に動作している間は、通信装置100、102への電源供給が遮断されることがない。
しかしながら、電源供給が継続されている場合であっても、通信装置100と通信装置101との間でリンクダウンが発生することがある。例えば、接続/切断装置700により通信が切断された場合である。実施の形態2においては、接続/切断装置700により通信の切断の発生が度々起こると仮定して、通信装置100〜102それぞれは、通信の切断を監視し、リンクダウンというイベントを検出したときに、リンクアップの処理を再度行う。
通信装置100に係るハードウェア構成は、図1に示した実施の形態1に係る構成と同様である。図5に示すように、通信装置100自体に係る機能構成は、電源に関する構成以外は、図2に示した実施の形態1に係る構成と基本的には同じである。また、実施の形態2においても、電源が遮断された状態から電源が投入された場合に、通信装置100が行う処理は、図3に示す実施の形態1に係る処理と同様である。
実施の形態2においても、実施の形態1と同様に、通信装置100の第1PHY部121をクロックマスタに、通信装置101の第2PHY部142をクロックスレーブに、通信装置102の第1PHY部145をクロックマスタに、通信装置100の第2PHY部122をクロックスレーブに設定するものとする。
以下、通信装置100〜102は、電源が投入されてから、図3のフローを実行することにより、それぞれ通信可能な状態であるとする。この状態から、通信装置100の第1通信ポート124と通信装置101の第2通信ポート144との間でリンクダウンが発生したことを検出した場合の、クロックマスタに設定された第1PHY部121を有する通信装置100における通信の再開処理を説明する。通信の再開処理は、機器制御部151が、記憶部111に格納されているプログラム001を実行することにより実現される。
通信装置101においても、リンクダウンを検出した場合に、ある程度の時間を待って、通信ケーブル601が再接続されたかを判別し、通信ケーブル601が接続されたことを判別すると、クロックスレーブに設定された第2PHY部142を初期化する。ただし、クロックスレーブである第2PHY部142の初期化のタイミングについては、クロックマスタである通信装置100の第1PHY部121の初期化のタイミングを意識する必要はない。ここでは、クロックスレーブに設定された第2PHY部142を有する通信装置101における通信の再開処理は省略する。以下、通信装置100の通信の再開処理を説明する。
図6に示すように、通信装置100の機器制御部151は、決められたタイミングで通信ケーブルが切断されたかを判別する(ステップS31)。ここで、機器制御部151は、例えば、通信フレームが一定期間届かない場合に、通信ケーブルが切断されたと判別してもよい。あるいは、機器制御部151は、第1通信ポート124に接続されている第1PHY部121が検出した情報に基づいて、通信ケーブルが切断されたかどうかを判別してもよい。
通信ケーブルが切断されたと判別すると(ステップS31;Yes)、機器制御部151は、設定された時間が経過するまで待つ(ステップS32;No)。待つべき時間は、記憶部111に格納されているものとする。
設定された時間が経過したと判別すると(ステップS32;Yes)、機器制御部151は、通信ケーブルが接続されたか判別する(ステップS33)。例えば、機器制御部151は、第1通信ポート124に接続されている第1PHY部121が検出した情報に基づいて、通信ケーブルが切断されたかどうかを判別すればよい。
通信ケーブルが接続されたと判別すると(ステップS33;Yes)、機器制御部151は、設定された時間が経過するまで待つ(ステップS34;No)。ここで、機器制御部151が設定された時間待機するのは、クロックスレーブである通信装置101の第2通信ポート144に接続された第2PHY部142の初期化が完了した後に、クロックマスタである第1PHY部121の初期化を開始するべきだからである。
機器制御部151は、設定された時間が経過したと判別すると(ステップS34;Yes)、第1PHY部121の初期化を行う(ステップS35)。ここで、機器制御部151は、レジスタ121aにセットされたパラメータを再利用して、初期化を行ってもよい。あるいは、第1PHY部121に対して再度ソフトウェアリセットを実行し、その後、第1PHY部121のレジスタ121aに、記憶部111に格納されている第1PHY部121用のパラメータをセットしてもよい。これにより第1PHY部121は動作を開始する。
機器制御部151は、通信が再開したかを判別する(ステップS36)。例えば、機器制御部151は第1PHY部121の初期化を行ってから、初期化完了までに要する時間が経過し、その後、一定時間が経過するまでに通信フレームを受信したかどうかにより、通信が再開したかを判別してもよい。あるいは、機器制御部151は、第1PHY部121が検知する情報に基づいて、通信が再開したかを判別してもよい。機器制御部151は、通信が再開したと判別すると(ステップS36;Yes)、再開処理を終了する。一方、機器制御部151は、通信が再開していないと判別すると(ステップS36;No)、再びステップS32の処理を実行する。以上が、再開処理である。
なお、実施の形態2においては、通信装置100及び102へは、電源装置800ではなく、電源装置810からの電源供給が行われている。このため、通信装置100の第1通信ポート124と、通信装置101の第2通信ポート144との間にリンクダウンが発生した場合であっても、通信装置100の第2通信ポート125と通信装置102の第1通信ポート147との間にリンクダウンが発生していないことが予想される。よって、通信装置100の第2PHY部122と、通信装置102の第1PHY部145については、通信の再開処理を行う必要がない。
以上、説明したように、実施の形態2では、電源が供給された状態において、リンクダウンが発生したことを検出したときに、クロックマスタに設定されたPHY部を有する通信装置は、対向する通信装置のクロックスレーブに設定されたPHY部の初期化完了に必要な時間を待ってから、クロックマスタに設定されたPHY部の初期化の処理を開始する。このように、実施の形態2においても、クロックスレーブとして設定されたPHY部の初期化が完了した後に、クロックマスタとして設定されたPHY部の初期化を完了するよう制御される。よって、クロックマスタが、クロックスレーブにクロック信号を送信するタイミングにおいてクロックスレーブの初期化が完了しており、クロック同期を問題なく行うことができる。よって、対向する通信装置が相互に通信することが可能になる。
(変形例)
実施の形態1、2では、クロックスレーブとして設定されたPHY部の初期化完了を待ってから、クロックマスタとして設定されたPHY部の初期化を開始する例を説明したが、これに限られない。クロックスレーブとして設定されたPHY部の初期化が完了する前に、クロックマスタとして設定されたPHY部の初期化が完了していればよいため、例えば、次のようなタイミングで通信装置100のクロックマスタとして設定された第1PHY部121の初期化を開始してもよい。
図7に示す例では、通信装置100についての待機期間である期間100−P4を、図4に示す例より短く設定している。このため、通信装置100のクロックマスタとして設定された第1PHY部121の初期化が開示される時点t13は、対向する通信装置101のクロックスレーブとして設定された第2PHY部142の初期化が完了する時点t14より前である。即ち、クロックスレーブの初期化完了より前に、クロックマスタの初期化が開始される。
ただし、クロックマスタがクロック信号を送信するタイミングでクロックスレーブの初期化が完了していなければならないので、クロックマスタとして設定された第1PHY部121の初期化が完了する時点t15は、クロックスレーブである第2PHY部142の初期化が完了する時点t14より後となるように期間100−P4が設定されている。変形例に係る構成においても、クロックマスタとクロックスレーブ間において同期を問題無く行うことができる。
変形例では、クロックマスタである第1PHY部121の初期化の開始のタイミングを早めるものの、クロックマスタの初期化完了はクロックスレーブの初期化完了より後になるよう調整する必要がある。このため、期間100−P1〜期間100−P3と、待機期間である期間100−P4と、期間100−P5との合計の期間が、クロックスレーブである第2PHY部142の初期化の完了までにかかる期間である期間101−P1〜期間101−P3の合計期間より長くなるように、待機期間である期間100−P4を設定する。変形例に係る構成の場合、全ての通信装置のクロックマスタとして設定されたPHY部の初期化完了までに要する時間が、実施の形態1、2よりも短縮されるという利点がある。
以上説明したように、実施の形態1、2、変形例に係る通信装置は、対向する通信装置のクロックスレーブとして設定されたPHY部の初期化が完了した後に、クロックマスタとして設定されたPHY部の初期化を完了する。その後、クロックマスタがクロックスレーブにクロック信号を送信する。スレーブの初期化処理の完了のタイミングと、クロックマスタがクロック信号を送信するタイミングとを調整するので、クロックマスタとクロックスレーブ間において同期を問題無く行うことができる。また、オートネゴシエーションを行わないので、リンクアップまでにかかる時間を短縮することができる。
実施の形態1においては、通信装置100〜102の待機時間である期間P4を全て同じ期間とする例を説明したが、期間P4については、通信装置毎に異ならせてもよい。例えば、図4に示すように、第2PHY部の初期化完了のタイミングが、他の通信装置に比べて遅い通信装置101については、待機時間である期間101−P4を図示する期間より短く設定してもよい。このように構成することで、クロックマスタとして設定された第1PHY部の初期化完了までにかかる時間を短縮することができる。
また、図4の例において、通信装置102の待機時間である期間102−P4を図示する期間より短く設定してもよい。例えば、時点t4において、通信装置102の第1PHY部145の初期化を開始するようにしてもよい。
通信装置毎に待機期間を異ならせた場合であっても、クロックスレーブの初期化の完了の後に、クロックマスタの初期化が完了するように、待機期間を設定する。よって、図2に示す通信装置100と通信装置101との間においては、通信装置101のクロックスレーブとして設定された第2PHY部142の初期化が完了した後に、通信装置100のクロックマスタとして設定された第1PHY部121の初期化が開始される。
また、通信装置100と通信装置102との間においては、通信装置100のクロックスレーブとして設定された第2PHY部122の初期化が完了した後に、通信装置102のクロックマスタとして設定された第1PHY部145の初期化が開始される。
このように、通信装置100〜102それぞれについて期間P1〜P4の期間を適切に設定することで、通信装置100〜102のすべてのクロックマスタとして設定されたPHY部の初期化が完了する前に、すべてのクロックスレーブとして設定されたPHY部の初期化が完了するように制御する。よって、クロックマスタがクロック信号を送信したときに、相手のクロックスレーブが受信したクロック信号からクロックを再生することができる。
実施の形態1、2、変形例においては、3つの通信装置100〜102を含む例を説明したが、通信装置の台数は4台以上であってもよいし、2台以下であってもよい。また、1つの通信装置が3つ以上のPHY部を有していてもよい。また、上記の説明においては、イベントの例として、電源投入、リンクダウンを挙げたが、イベントは、PHY部の初期化が必要となる状態を引き起こす事象であり、これらに限られない。
また、実施の形態1、2においては、第1PHY部121、141、145をクロックマスタと設定し、第2PHY部122、142、146をクロックスレーブと設定する例を説明したが、これに限られない。1つの通信装置が有する2つのPHY部をいずれもクロックマスタに設定してもよい。例えば、通信装置101の第1PHY部121、第2PHY部122をクロックマスタに設定してもよい。この場合、第1PHY部121の通信先である通信装置101の第2PHY部142をクロックスレーブに設定し、第2PHY部122の通信先である通信装置102の第1PHY部145をクロックスレーブに設定する。通信装置100は、クロックスレーブの初期化完了の後に、クロックマスタとして設定された第1PHY部121と第2PHY部122との初期化を完了すればよい
上記の通信装置100〜102の機能は、専用のハードウェアによっても、また、通常のコンピュータによっても実現することができる。
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
1 プログラマブルロジックコントローラ、001,002 プログラム、100,101,102 通信装置、121a,122a レジスタ、110 記憶装置、111 記憶部、120 通信I/F回路、121,141,145 第1PHY部、122,142,146 第2PHY部、123 MAC部、124,143,147 第1通信ポート、125,144,148 第2通信ポート、130 電源回路、131 電源コネクタ、132 電源制御部、133 ハードウェアリセット制御部、150 演算装置、151 機器制御部、190 バス、200 CPUユニット、600 フィールドバス、601,602 通信ケーブル、700 接続/切断装置、800,810 電源装置、801 電源ケーブル
本発明は、通信装置、通信システム、及びプログラムに関する。
上記目的を達成するため、本発明の通信装置は、通信線を介して第2の通信装置に接続されている。通信装置が備える第1の物理層回路は、物理層における信号の送受信を担い、第2の通信装置の第2の物理層回路と信号の送受信を行い、第2の物理層回路に対して、信号の送受信のタイミングを規定するクロック信号を送信するクロックマスタとして設定される。通信装置が備える第1の制御部は、設定されたイベントを検出すると、第2の通信装置のクロックスレーブとして設定された第2の物理層回路の初期化完了のため、設定された期間を待って、第2の物理層回路の初期化が完了した後に、第1の物理層回路の初期化を完了する。設定された期間は、(i)通信装置のハードウェアリセットの解除が可能になるまでの期間と、(ii)通信装置のハードウェアリセットの解除が可能になってから、通信装置のソフトウェアリセットの解除が可能になるまでの期間と、(iii)通信装置のソフトウェアリセットの解除が可能になってから、通信装置が有する第1の物理層回路以外の物理層回路であって、クロックスレーブとして設定された他の物理層回路の初期化が完了するまでの期間とを含む第1の期間と、予め設定された待機期間と、を合わせた期間である。

Claims (13)

  1. 物理層における信号の送受信を担い、通信線を介して接続された第2の通信装置の第2の物理層回路と信号の送受信を行い、前記第2の物理層回路に対して、信号の送受信のタイミングを規定するクロック信号を送信するクロックマスタとして設定された第1の物理層回路と、
    設定されたイベントを検出すると、前記第2の通信装置のクロックスレーブとして設定された前記第2の物理層回路の初期化が完了した後に、前記クロックマスタとして設定された前記第1の物理層回路の初期化を完了する第1の制御部と、
    を備える通信装置。
  2. 前記第1の制御部は、前記設定されたイベントを検出すると、前記第2の通信装置の前記クロックスレーブとして設定された前記第2の物理層回路の初期化完了のため、設定された期間を待って、前記クロックマスタとして設定された前記第1の物理層回路の初期化を完了する、
    請求項1に記載の通信装置。
  3. 前記設定された期間は、(i)前記通信装置のハードウェアリセットの解除が可能になるまでの期間と、(ii)前記通信装置のハードウェアリセットの解除が可能になってから、前記通信装置のソフトウェアリセットの解除が可能になるまでの期間と、(iii)前記通信装置のソフトウェアリセットの解除が可能になってから、前記通信装置が有する前記第1の物理層回路以外の物理層回路であって、前記クロックスレーブとして設定された他の物理層回路の初期化が完了するまでの期間とを含む第1の期間と、予め設定された待機期間と、を合わせた期間である、
    請求項2に記載の通信装置。
  4. (iv)前記第2の通信装置のハードウェアリセットの解除が可能になるまでの期間と、(v)前記第2の通信装置のハードウェアリセットの解除が可能になってから、前記第2の通信装置のソフトウェアリセットの解除が可能になるまでの期間と、(vi)前記第2の通信装置のソフトウェアリセットの解除が可能になってから、前記第2の通信装置の前記第2の物理層回路の初期化が完了するまでの期間とを含む第2の期間が、前記第1の期間より長い場合は、前記待機期間は、前記第1の期間と前記第2の期間との差分の期間以上に設定されている、
    請求項3に記載の通信装置。
  5. 前記設定されたイベントは、この通信装置への電源の投入である、
    請求項1から4のいずれか1項に記載の通信装置。
  6. 電源ケーブルを介して、電源を供給する電源装置に接続されており、
    前記電源装置と前記通信装置との間に設けられた前記電源ケーブルの経路上には、前記電源ケーブルの接続/切断を切り換える切換手段が設けられており、
    前記切換手段が、前記電源ケーブルを接続することにより、前記通信装置への電源投入が行われる、
    請求項5に記載の通信装置。
  7. 前記設定されたイベントは、前記通信装置と前記第2の通信装置との間のリンクダウンの発生である、
    請求項1から4のいずれか1項に記載の通信装置。
  8. 前記クロックマスタとして設定された前記第1の物理層回路は、前記第1の物理層回路の初期化が完了すると、前記クロックスレーブとして設定された前記第2の物理層回路に前記クロック信号を送信する、
    請求項1から7のいずれか1項に記載の通信装置。
  9. 第1の通信装置と、
    第2の通信装置と、
    を含み、
    前記第1の通信装置は、
    物理層における信号の送受信を担い、通信線を介して接続された第2の通信装置の第2の物理層回路と信号の送受信を行い、前記第2の物理層回路に対して信号の送受信のタイミングを規定するクロック信号の供給元であるクロックマスタとして設定された第1の物理層回路と、
    設定されたイベントを検出すると、クロックスレーブとして設定された前記第2の物理層回路の初期化が完了した後に、前記第1の物理層回路の初期化を完了し、前記第1の物理層回路が前記クロック信号を前記第2の物理層回路に送信するよう制御する第1の制御部と、
    を備え、
    前記第2の通信装置は、
    物理層における信号の送受信を担い、前記クロック信号が示すタイミングで前記第1の物理層回路と信号の送受信を行う第2の物理層回路、
    を備える、
    通信システム。
  10. 前記設定されたイベントは、前記第1の通信装置への電源の投入である、
    請求項9に記載の通信システム。
  11. 前記設定されたイベントは、前記第1の通信装置と前記第2の通信装置との間のリンクダウンの発生である、
    請求項9に記載の通信システム。
  12. 物理層における信号の送受信のタイミングを規定するクロック信号をクロックスレーブに送信するクロックマスタとして設定された第1の物理層回路を有する通信装置が、
    設定されたイベントを検出すると、前記第1の物理層回路に通信線を介して接続された第2の通信装置の物理層回路であって、前記クロックスレーブとして設定された第2の物理層回路の初期化が完了した後に、前記第1の物理層回路の初期化を完了するステップ、
    を含む方法。
  13. 物理層における信号の送受信のタイミングを規定するクロック信号をクロックスレーブに送信するクロックマスタとして設定された第1の物理層回路を有する第1のコンピュータに、
    設定されたイベントを検出させ、
    前記設定されたイベントを検出した場合に、前記第1の物理層回路に通信線を介して接続された第2のコンピュータの物理層回路であって、前記クロックスレーブとして設定された第2の物理層回路の初期化が完了した後に、前記第1の物理層回路の初期化を完了させる、
    プログラム。
JP2019526333A 2018-09-19 2018-09-19 通信装置、通信システム、及びプログラム Active JP6611996B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/034690 WO2020059054A1 (ja) 2018-09-19 2018-09-19 通信装置、通信システム、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6611996B1 JP6611996B1 (ja) 2019-11-27
JPWO2020059054A1 true JPWO2020059054A1 (ja) 2020-12-17

Family

ID=68692063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019526333A Active JP6611996B1 (ja) 2018-09-19 2018-09-19 通信装置、通信システム、及びプログラム

Country Status (4)

Country Link
US (1) US11042182B1 (ja)
JP (1) JP6611996B1 (ja)
DE (1) DE112018007891B4 (ja)
WO (1) WO2020059054A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6731602B1 (ja) * 2019-02-28 2020-07-29 株式会社安川電機 スレーブ機器及び通信システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3906015B2 (ja) * 2000-07-12 2007-04-18 株式会社東芝 クロック周波数切り替え機能を有するlsi、計算機システム及びクロック周波数切り替え方法
GB2399722A (en) 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
JP2005123892A (ja) * 2003-10-16 2005-05-12 Matsushita Electric Ind Co Ltd データ伝送装置およびデータ伝送システム、並びにその初期化方法
US20060072624A1 (en) 2003-10-17 2006-04-06 Takashi Akita Data transmission system, data transmitter, and transmitting method
US7483370B1 (en) * 2003-12-22 2009-01-27 Extreme Networks, Inc. Methods and systems for hitless switch management module failover and upgrade
WO2006113965A1 (en) * 2005-04-26 2006-11-02 Semitech Innovations Pty Ltd. Communications method and device
JP2007026033A (ja) 2005-07-15 2007-02-01 Fujitsu Ltd 半導体装置及び半導体装置の動作モード自動判定方法
JP2008113207A (ja) * 2006-10-30 2008-05-15 Sumitomo Electric Ind Ltd 光データリンク
WO2011161828A1 (ja) * 2010-06-25 2011-12-29 富士通株式会社 データ伝送システム、データ伝送方法および送信装置
JP2012133070A (ja) * 2010-12-21 2012-07-12 Sanyo Engineer & Construction Inc Lcos素子の駆動回路
JP2013030932A (ja) 2011-07-27 2013-02-07 Denso Corp 通信システム及び、当該通信システムに用いられるサブマスタノード
JP6205847B2 (ja) 2013-05-28 2017-10-04 沖電気工業株式会社 通信制御装置及びプログラム
US10033586B2 (en) * 2014-12-03 2018-07-24 Intel Corporation Technologies for autonegotiating 10G and 1G serial communications over copper cable
US9787543B2 (en) 2015-01-26 2017-10-10 Mitsubishi Electric Corporation Communication apparatus and communication method
JP6235506B2 (ja) * 2015-03-05 2017-11-22 ファナック株式会社 通信先を切替えて物理データを測定するデータ測定装置

Also Published As

Publication number Publication date
US20210165443A1 (en) 2021-06-03
WO2020059054A1 (ja) 2020-03-26
DE112018007891T5 (de) 2021-05-06
US11042182B1 (en) 2021-06-22
DE112018007891B4 (de) 2022-05-05
JP6611996B1 (ja) 2019-11-27

Similar Documents

Publication Publication Date Title
US7936685B2 (en) Intelligent fast switch-over network tap system and methods
US9602304B2 (en) Data transfer device system, network system, and method of changing configuration of network system
US20080052557A1 (en) Method, system, and program for error handling in a dual adaptor system where one adaptor is a master
JP2006148911A (ja) ネットワークを動作させるための方法及び装置
US20100274943A1 (en) Line-card disabling for power management
US9019959B2 (en) Node, switch, and system
US20100061404A1 (en) Method for starting a communication system, a communication system having a communication medium and a plurality of subscribers connected thereto, and subscribers of such a communication system
US20140043957A1 (en) Automatic Recover After Loss Of Signal Event In A Network Device
JP2011108235A (ja) 周辺機器、スイッチング・デバイスのための省電力回路及び動作方法
WO2013000201A1 (zh) 一种通信接口的多速率自适应方法及系统
TWI408559B (zh) 在通信系統中埠從活動狀態到待命狀態的過渡
US20220137695A1 (en) Power consumption reduction in usb redrivers and repeaters
WO2018098639A1 (zh) 一种掉电处理、获取连接关系的方法及设备
CN115589273A (zh) Epa通信系统
JP6611996B1 (ja) 通信装置、通信システム、及びプログラム
JP2010244457A (ja) Usb通信制御方法、usb通信制御システム及びusbハブ機器
US9742623B2 (en) Master device, communication system, and communication method
US20130242798A1 (en) Apparatus for duplicating router in building automatic control system and controlling method thereof
US9705823B2 (en) Port status synchronization method, related device, and system
CN103188338A (zh) 数字保护继电器及其联接以太网通信的方法
JP4341305B2 (ja) 電源管理装置
KR20160146048A (ko) 차량 네트워크에서 통신 노드의 동작방법
CN117666746B (zh) 多节点服务器、应用于多节点服务器的方法、装置和介质
JP7283776B2 (ja) イーサーネット端末,通信方法及び通信プログラム
US10797932B2 (en) Communication device, link-up method, and communication system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190515

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190515

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191029

R150 Certificate of patent or registration of utility model

Ref document number: 6611996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250