JP2022132152A - IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法、並びにIO-Link通信のスレーブデバイス - Google Patents
IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法、並びにIO-Link通信のスレーブデバイス Download PDFInfo
- Publication number
- JP2022132152A JP2022132152A JP2022025374A JP2022025374A JP2022132152A JP 2022132152 A JP2022132152 A JP 2022132152A JP 2022025374 A JP2022025374 A JP 2022025374A JP 2022025374 A JP2022025374 A JP 2022025374A JP 2022132152 A JP2022132152 A JP 2022132152A
- Authority
- JP
- Japan
- Prior art keywords
- timing
- slave device
- master
- actual
- master device
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000012937 correction Methods 0.000 title claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 68
- 230000000630 rising effect Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 239000013078 crystal Substances 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4273—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4278—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2231—Master slave
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0262—Arrangements for detecting the data rate of an incoming signal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】IO-Link通信におけるスレーブデバイスのタイミング検出及び補正方法を提供する。【解決手段】方法は、マスターデバイスとスレーブデバイスは共通の基本タイミングで動作し、通信セットアップ中にマスターデバイスから送信されたスレーブデバイスでINIT要求を検出するステップ、受信したINIT要求からマスターデバイスの実際のタイミングを計算するステップ及びマスターデバイスの計算された実際のタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正するステップを備える。【選択図】図1
Description
本発明は、IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法に関し、マスターデバイスおよびスレーブデバイスは、共通の基本的なタイミングで動作する。本発明はさらに、IO-Link通信のスレーブデバイスに関し、マスターデバイスとスレーブデバイスは、共通の基本的なタイミングで動作する。
IO-Linkは、短距離産業用通信ネットワーク規格(IEC 61131-9)である。IO-Linkを介した通信は、双方向、デジタル、2地点間、および、有線または無線である。IO-Linkは、たとえば、産業用アプリケーションでデジタルセンサとアクチュエータを接続するために使用される。IO-Linkは、マスターデバイスと少なくとも1つのスレーブデバイス、すなわち、センサまたはアクチュエータを備える。マスターデバイスは、上位レバーコントローラ(PLC)へのインターフェイスを提供し、スレーブデバイスとの通信を制御、特に開始する。マスターデバイスと少なくとも1つのスレーブデバイスとの間のIO-Link通信は、汎用非同期送受信機(UART)通信に基づいている。
汎用非同期送受信機(UART)通信は、データ形式と伝送速度が構造化可能である非同期シリアル通信である。UART通信の主要な設計面と要件(非同期)は、マスターデバイスとスレーブデバイスとの間のタイミング精度である。タイミングは、たとえば、合意されたボーレートによって定義され、マスターデバイスとスレーブデバイスは、水晶ベースのタイミング基準または発振器を使用する。ただし、内部発振器は全温度範囲で必要なタイミング精度を提供できず、外部水晶ベースのタイミング基準は追加のスペースを必要とする。
したがって、本発明の目的は、IO-Link通信のマスターデバイスとスレーブデバイスとの間のタイミング精度を高めることである。
この目的は、IO-Link通信におけるスレーブデバイスの時間検出および補正方法によって解決され、マスターデバイスとスレーブデバイスとは、次の手順を含む共通の基本タイミングで動作する:
通信セットアップ中にマスターデバイスから送信されたスレーブデバイスでのINIT要求を検出し、
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、
マスターデバイスの計算されたタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正する。
通信セットアップ中にマスターデバイスから送信されたスレーブデバイスでのINIT要求を検出し、
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、
マスターデバイスの計算されたタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正する。
IO-Link通信、特に、汎用非同期送受信機の通信では、通信のマスターデバイスとスレーブデバイスは共通の基本タイミングで動作する。例えば、スレーブデバイスは、従来技術で知られるように、通信セットアップ中にマスターデバイスから送信されたINIT要求を検出するためのUARTモジュールを含む。タイミング精度を向上させるために、スレーブデバイス、特に、UARTモジュールは、受信したINIT要求を分析し、受信したINIT要求からマスターデバイスの実際のタイミングを計算する。マスターデバイスとスレーブデバイスは共通の基本タイミングで動作するため、スレーブデバイスは基本タイミングに関する情報を持っており、それに基づいて、スレーブデバイスは予想される基本タイミングとの差を検出することにより、受信したINIT要求から実際のタイミングを計算できる。
共通の基本タイミングに基づくスレーブデバイスの初期のタイミングは、マスターデバイスの計算された実際のタイミングに基づいて実際のタイミングに修正される。スレーブデバイスの初期のタイミングが、マスターデバイスによって送信されて受信したINIT要求に基づいてマスターデバイスの実際のタイミングに修正されるため、スレーブデバイスは内部発振器を共通の基本タイミング用のタイミング基準として使用できる。そのような発振器は、特に高温範囲にわたって必要な精度を提供しないが、本発明による方法は、受信したINIT要求から計算されたマスターデバイスの実際のタイミングに基づいて精度を改善する。したがって、本発明による方法を使用して、スレーブデバイスは、発振器のタイミング基準を使用することができ、同時に、プロトコル通信に必要なタイミング精度を提供することができる。
本発明の好ましい変形例によれば、共通の基本タイミングは、ボーレートとして定義され、スレーブデバイスの初期のタイミングの補正は、ボーレートオフセットに基づいている。ボーレートは、電気通信または電子機器のデータチャネルを介した通信速度を規定する。ボーレートの単位は、1秒あたりのシンボル数または1秒あたりのパルス数である。ボーレートオフセットは、マスターデバイスの実際のタイミング、すなわち、実際のボーレートに対応するように、初期のタイミング、すなわち、初期ボーレートをどのように修正(補正)しなければならないかを規定する。
本発明の有利な変形例では、この方法は、マスターデバイスの実際のタイミングを連続的に追跡するとともにスレーブデバイスの実際のタイミングを修正するステップをさらに備える。したがって、スレーブデバイスのタイミングは、通信の開始時に修正されるだけでなく、すなわち、スレーブデバイスの初期のタイミングの修正によって修正されるだけでなく、マスターデバイスの実際のタイミングを追跡するとともにスレーブデバイスの実際のタイミングを修正することによって連続的に修正される。
本発明の変形例によれば、マスターデバイスの実際のタイミングの連続的な追跡は、スレーブデバイスでの少なくとも1つの受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップを備える。したがって、通信セットアップ中にマスターデバイスによって送信されたINIT要求を分析する代わりに、スレーブデバイスは通常の受信したデータ送信を分析して、スレーブデバイスの実際のタイミングを継続的に修正する。
本発明の変形例によれば、スレーブデバイスでの少なくとも1つの受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、それぞれの受信したデータ送信の後に、または、一定の間隔で実行される。スレーブデバイスのタイミング基準の精度に応じて、スレーブデバイスでの受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、それぞれの受信したデータ送信の後に、または、一定の間隔で実行される。
本発明のさらなる変形例では、スレーブデバイスの実際のタイミングは、1つまたは複数の完全なマスターテレグラムの終了後に修正され、1つのマスターテレグラムは、2つ以上のデータ送信を備えている。最初のマスターテレグラムは、INIT要求と1つ以上のデータ送信を備える。この変形例では、スレーブデバイスは、いわゆるマスターテレグラム内のマスターデバイスから、多重データ送信をそれぞれ受信し、すなわち、INIT要求と1つ以上のデータ送信を受信する。完全なマスターテレグラムを受信した後、スレーブデバイスは、データ送信のそれぞれの分析に基づく、すなわち、マスターテレグラム内のINIT要求とデータ送信とに基づくタイミングを修正する。同時に、スレーブデバイスは、マスターテレグラムへの応答を準備し、スレーブデバイスの修正された実際のタイミングを使用してマスターデバイスにその応答を送信できる。
本発明の変形例によれば、スレーブデバイスの実際のタイミングの修正は、1つまたは複数のマスターテレグラムにおけるローパスフィルタリングの多重データ送信に基づく。再び、最初のマスターテレグラムには、INIT要求が含まれ、これは、ローパスフィルタリング中にも考慮され得る。
本発明の有利な変形例によれば、受信したINIT要求および/または受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、受信したINIT要求および/または受信したデータ送信からタイミング情報を抽出するステップを含む。受信したINIT要求および/または受信したデータ送信からタイミング情報を抽出するステップは、例えば、INIT要求および/または受信したデータ送信のビットの分析に基づく。
本発明の特に好ましい変形例では、受信したINIT要求および/または受信したデータ送信からタイミング情報を抽出するステップは、INIT要求および/または受信したデータ送信における立ち上がりおよび/または立ち下がりエッジを検出するステップを含む。INIT要求および/または受信したデータ送信におけるビットの特定の立ち上がりエッジおよび/または立ち下がりエッジ間の時間を計算することにより、スレーブデバイスは、マスターデバイスの実際のタイミングを計算できる。
本発明の変形例によれば、受信したINIT要求および/または受信したデータ送信からタイミング情報を抽出するステップは、スレーブデバイスのハードウェアコンポーネントによって実行される。受信したINIT要求および/または受信したデータ送信からのタイミング情報の抽出は、ハードウェアコンポーネントによって、たとえば、受信したINIT要求および/または受信したデータ送信におけるビットの立ち上がりおよび/または立ち下がりエッジを、コンパレータを用いて検出することによって、簡単に実行できる。ハードウェアコンポーネントはさらに高精度を提供する。
本発明の別の変形例によれば、受信したINIT要求および/または受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、スレーブデバイスのソフトウェアコンポーネントによって実行され、ソフトウェアコンポーネントは、受信したINIT要求および/または受信したデータ送信から抽出されたタイミング情報を処理する。ソフトウェアコンポーネントには、受信したINIT要求および/または受信したデータ送信から抽出されたタイミング情報により実際のタイミングを計算するために使用されるアルゴリズムを簡単に補正、最適化、および/または置換できるという利点がある。
本発明の有利な変形例では、スレーブデバイスの初期のタイミングおよび/または実際のタイミングは、特定の閾値を超えた場合にのみ修正される。したがって、マスターデバイスの実際のタイミングに対するスレーブデバイスの実際のタイミングのわずかな偏差は、データ送信に悪影響を及ぼさないため、毎回修正されるわけではない。特定の閾値を超えた場合にのみ、データ送信への何らかの悪影響を回避するために、スレーブデバイスの実際のタイミングは、マスターデバイスの実際のタイミングに修正されなければならない。閾値レベルは、例えば、パラメータ化または適応化でき、すなわち、閾値は、特定のパラメータに依存でき、または、修正変更できる。
本発明の変形例によれば、受信したINIT要求からマスターデバイスの実際のタイミングを計算するステップ、および/または、少なくとも1つの受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、INIT要求内の、少なくとも1つのデータ送信内の、および/または、マスターテレグラム内のクロックパルスをカウントするステップを含む。
本発明の好ましい変形例によれば、IO-Link通信のスレーブデバイスは、以下の方法ステップを実施する少なくとも1つの汎用非同期送受信機(UART)モジュールを備える:
通信セットアップ中にマスターデバイスから送信されたスレーブデバイスでINIT要求を検出し、
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、
マスターデバイスの計算されたタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正する。
通信セットアップ中にマスターデバイスから送信されたスレーブデバイスでINIT要求を検出し、
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、
マスターデバイスの計算されたタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正する。
本発明の特に好ましい変形例では、IO-Link通信のスレーブデバイスは、それぞれが前述の方法ステップを実行し、異なる初期のタイミング設定を有する多重の汎用非同期送受信機(UART)モジュールを備える。したがって、IO-Linkのスレーブデバイスは、多重のUARTモジュールを有し、それぞれが異なる初期のタイミングに構成されている。たとえば、スレーブデバイスは、+/-5%にわたって分散された異なる初期のタイミングを持つ4つのUARTモジュールを備える。初期のタイミング設定が異なるため、通信セットアップ中に1つのUARTモジュールが、マスターデバイスから送信されたINIT要求を正しく受信する機会が高くなる。その後、このUARTモジュールはIO-Link通信に使用される。UARTモジュールの数を増やすと、より広いタイミング範囲でINIT要求を検出ことが可能になる。
この目的は、IO-Link通信のスレーブデバイスによってさらに解決され、マスターデバイスとスレーブデバイスは共通の基本タイミングで動作し、スレーブデバイスは、本発明による方法を実行する少なくとも1つの汎用非同期送受信機モジュールを備える。スレーブデバイスは、本発明の方法を実施するための特定のハードウェアおよび/またはソフトウェアを含むことができる。好ましくは、スレーブデバイスは、例えば、水晶ベースのタイミングデバイスのような外部コンポーネントなしで集積回路内に実装される。集積回路は、スレーブデバイスのソフトウェアコンポーネントを格納するためのメモリを含むことができる。
本発明の好ましい変形例によれば、スレーブデバイスは、異なる初期のタイミング設定を有し、それぞれが本発明による方法を実行する多重の汎用非同期送受信機モジュールを含む。したがって、IO-Linkのスレーブデバイスは、多重のUARTモジュールを有し、それぞれが異なる初期のタイミングに構成されている。たとえば、スレーブデバイスは、+/-5%にわたって分散された異なる初期のタイミングを持つ4つのUARTモジュールを備える。初期のタイミング設定が異なるため、通信セットアップ中に1つのUARTモジュールが、マスターデバイスから送信されたINIT要求を正しく受信する機会が高くなる。その後、このUARTモジュールはIO-Link通信に使用される。UARTモジュールの数を増やすと、より広いタイミング範囲でINIT要求を検出することが可能になる。
以下において、本発明は、添付の図に示される実施形態に関してさらに説明される。それは以下に示される。
本発明によるIO-Link通信におけるスレーブデバイスのタイミングおよび検出方法の第1の実施形態のフローチャートである。
本発明によるIO-Link通信におけるスレーブデバイスのタイミングおよび検出方法の第2の実施形態のフローチャートである。
IO-Link通信のINIT要求と受信したINIT要求からのタイミング情報の抽出との信号図である。
図1は、IO-Link通信におけるスレーブデバイスのタイミングおよび検出方法の第1の実施形態のフローチャートを示す。
IO-Link通信は非同期であり、マスターデバイスとスレーブデバイスは共通の基本タイミングで動作する。非同期通信では、マスターデバイスとスレーブデバイスに共通のタイミング基準はない。タイミングは、たとえば、合意したボーレートによって定義され、マスターデバイスとスレーブデバイスは、水晶ベースのタイミング基準または発振器を使用する。IO-Link通信の主要な設計面と要件(非同期)は、マスターデバイスとスレーブデバイス間のタイミング精度である。
本発明のタイミング検出および補正方法によれば、スレーブデバイスは、マスターデバイスの実際のタイミングを検出し、その初期のタイミングをスレーブデバイスの実際のタイミングに修正する。好ましい実施形態では、スレーブデバイスは、マスターデバイスの実際のタイミングを継続的に追跡し、その実際のタイミングをマスターデバイスの実際のタイミングに修正する。
図1に示されるように、本発明の方法が開始される、すなわち、スレーブデバイスが通信を準備し、通信チャネルをリスニングしている。これは、たとえば、ウェイクアップ要求(WURQ)をスレーブデバイスに送信することにより、マスターデバイスによって開始される。
スレーブデバイスが通信を準備し、通信チャネルをリスニングした後、マスターデバイスは、通信チャネルを介してスレーブデバイスにINIT要求を送信し、マスターデバイスとスレーブデバイス間の通信をセットアップする。スレーブデバイスは、マスターから送信されたINIT要求を検出する。
受信したINIT要求から、スレーブデバイスは、マスターデバイスの実際のタイミングを計算する。マスターデバイスに応答を送信する前に、スレーブデバイスは、その初期のタイミングをマスターデバイスの計算された実際のタイミングに修正し、それによってマスターデバイスとスレーブデバイス間のタイミング精度を高める。
マスターデバイスとスレーブデバイス間の通信がセットアップされた後、スレーブデバイスは、マスターデバイスの実際のタイミングを継続的に追跡し、その実際のタイミングを修正する。これは、スレーブデバイスでマスターデバイスからのデータ送信を受信すること、スレーブデバイスで受信したデータ送信からマスターデバイスの実際のタイミングを計算することによって、実現される。これは、たとえば、受信した各データ送信の後、または、事前定義された数のデータ送信の後に実行できる。
受信したINIT要求および/または受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、好ましくは、受信したINIT要求および/または受信したデータ送信からタイミング情報を抽出するステップを含む。受信したINIT要求および/または受信したデータ送信からのタイミング情報の抽出は、例えば、INIT要求および/または受信したデータ送信における立ち上がりおよび/または立ち下がりエッジを検出するステップを含む。INIT要求および/または受信したデータ送信で検出された立ち上がりエッジおよび/または立ち下がりエッジの差は、マスターデバイスの実際のタイミングを計算するために使用される。
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、および/または、少なくとも1つの受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、INIT要求または少なくとも1つのデータ送信のクロックパルスをカウントするステップを含む。たとえば、INIT要求の事前定義された立ち上がりエッジまたは立ち下がりエッジ間のクロックパルス、または、少なくとも1回のデータ送信がカウントされる。
受信したINIT要求および/または受信したデータ送信からタイミング情報を抽出するステップは、スレーブデバイスのハードウェアコンポーネントによって実行される。たとえば、ハードウェアコンパレータは、INIT要求および/または受信したデータ送信の立ち上がりエッジおよび/または立ち下がりエッジを検出する。
受信したINIT要求および/または受信したデータ送信からマスターデバイスの実際のタイミングを計算するステップは、スレーブデバイスのソフトウェアコンポーネントによって実行され、ソフトウェアコンポーネントは、受信したINIT要求および/または受信したデータ送信から抽出されたタイミング情報を処理する。
本発明の好ましい変形例によれば、スレーブデバイスの初期のタイミングおよび/または実際のタイミングは、特定の閾値を超えた場合にのみ修正される。したがって、マスターデバイスとスレーブデバイスとの間のタイミングにわずかな違いしかなく、通信に悪影響がない場合、スレーブデバイスのタイミングは修正されない。
本発明による方法は、マスターデバイスとの通信が終了するまで、スレーブデバイスによって実行される。
有利なことに、IO-Link通信のスレーブデバイスは、それぞれが以下のステップを実行する多重の汎用非同期送受信機モジュールを備える:
通信セットアップ中にマスターデバイスから送信された、スレーブデバイスでのINIT要求を検出し、
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、
マスターデバイスの計算されたタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正する。
通信セットアップ中にマスターデバイスから送信された、スレーブデバイスでのINIT要求を検出し、
受信したINIT要求からマスターデバイスの実際のタイミングを計算し、
マスターデバイスの計算されたタイミングに基づいて、スレーブデバイスの初期のタイミングを実際のタイミングに修正する。
さらに、多重の汎用非同期送受信機モジュールはそれぞれ、異なる初期のタイミング設定を有する。これにより、通信セットアップ中にマスターデバイスによって送信されたINIT要求が、少なくとも1つの汎用非同期送受信機モジュールによって正しく受信される可能性がより高い。INIT要求を正しく受信するモジュールは、スレーブデバイスとマスターデバイス間のさらなる通信のために選択される。複数のモジュールがINIT要求を正しく受信する場合、最速のモジュールが選択されることが望ましい。
図2は、IO-Link通信におけるスレーブデバイスのタイミングおよび検出方法の第2の実施形態のフローチャートを示す。
図2に示される第2の実施形態は、1つまたは複数の完全なマスターテレグラムの終了後にスレーブデバイスの実際のタイミングが修正されるという点で、図1に示される第1の実施形態と異なる。マスターテレグラムは、2つ以上のデータ送信またはINIT要求と少なくとも1つのデータ送信とを備える。
スレーブデバイスが1つ以上の完全なマスターテレグラムを受信すると、スレーブデバイスは、受信したマスターテレグラムから、すなわち、INIT要求と1つ以上のデータ送信、それぞれ2つ以上のデータ送信からマスターデバイスの実際のタイミングを計算できる。
この変形例では、スレーブデバイスの実際のタイミングの修正は、例えば、 1つまたは複数のマスターテレグラムにおける、ローパスフィルタリングした多重のデータ送信に基づかせることができる。
図3は、IO-Link通信のINIT要求と、受信したINIT要求からのタイミング情報の抽出との信号図を示す。
スレーブデバイスがINIT要求の開始ビットの立ち下がりエッジを検出すると、次のカウンタが開始される:
テレグラム_カウンタ、
ビット_タイム_カウンタ、
ビット_ヌム_カウンタ。
テレグラム_カウンタ、
ビット_タイム_カウンタ、
ビット_ヌム_カウンタ。
テレグラム_カウンタは、プロトコルの最初の立ち下がりエッジからプロトコルの終了までのクロックパルスをカウントする。プロトコルは、図1に示される第1の実施形態によるINIT要求あるいはデータ送信、または、図2に示される第2の実施形態によるデータテレグラムである。クロックパルスは、スレーブデバイスのタイミング基準によって生成される。
ビット_タイム_カウンタは、構成されたビット_タイムごとに名目上のクロックパルスの数をカウントする。構成されたビット_タイムは、共通の基本タイミングに、特に、マスターデバイスとスレーブデバイス間で合意されたボーレートに依存する。ビット_タイム_カウンタは、ビット_タイム_クロック値に達すると、一回転する。ビット_タイム_カウンタは、ビット_タイムの約50%でビット_ヌム_カウンタのカウントパルスをトリガーし、次のエッジの早い/遅い到着を考慮する。
ビット_ヌム_カウンタは、ビット_タイム_カウンタによってトリガーされたチェックマークに基づいて、プロトコルの最初の立ち下がりエッジから経過したビット時間をカウントする。
プロトコルの最初の立ち上がりエッジが検出されるとすぐに、テレグラム_カウンタの値がレジスタct_first_risingに格納され、ビット_ヌム_カウンタの値がレジスタnbit_first_risingに格納される。
最初の立ち下がりエッジの後にプロトコルで立ち下がりエッジが検出されるとすぐに、テレグラム_カウンタの値がレジスタct_fallingに格納され、ビット_ヌム_カウンタの値がレジスタnbit_fallingに格納される。これは、プロトコルが終了するまで繰り返される。
初の立ち上がりエッジの後にプロトコルで立ち上がりエッジが検出されるとすぐに、テレグラム_カウンタの値がレジスタct_risingに格納され、ビット_ヌム_カウンタの値がレジスタnbit_risingに格納される。これは、プロトコルが終了するまで繰り返される。
取得したタイミング値を図3に示される。
スレーブデバイスの実際のタイミングは次のように修正される:
マスターデバイスの実際のタイミングを継続的に追跡している間、たとえば、スレーブデバイスは、タイミングが閾値で定義された特定の制限内にあるかどうかをチェックする。閾値は、たとえば、レジスタx_cоuntsによって定義される。スレーブデバイスは、受信したデータ送信(プロトコル)から上記のタイミング情報を抽出し続ける。
スレーブデバイスの実際のタイミングは、たとえば、次のように修正される:
If(((bit_time_clock * nbit_rising)+ pulse_asymmetry)<(ct_rising - x_counts)) then increase bit_time_clock
else
if(((bit_time_clock * nbit_rising)+ pulse_asymmetry)>(ct_rising + x_counts)) then decrease bit_time_clock
else no change.
If(((bit_time_clock * nbit_rising)+ pulse_asymmetry)<(ct_rising - x_counts)) then increase bit_time_clock
else
if(((bit_time_clock * nbit_rising)+ pulse_asymmetry)>(ct_rising + x_counts)) then decrease bit_time_clock
else no change.
これは、スレーブデバイスの初期および/または実際のタイミングをマスターデバイスの実際のタイミングに修正するためのアルゴリズムの一例にすぎない。ローパスフィルタリングのような他のより複雑なアプローチも使用できる。
Claims (17)
- IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法であって、マスターデバイスと前記スレーブデバイスが共通の基本タイミングで動作するものであり、当該方法は、以下のステップを含む:
通信セットアップ中に前記マスターデバイスから送信された前記スレーブデバイスでINIT要求を検出し、
受信した前記INIT要求から前記マスターデバイスの実際のタイミングを計算し、
前記マスターデバイスの計算された前記実際のタイミングに基づいて、前記スレーブデバイスの初期のタイミングを実際のタイミングに修正する方法。 - 請求項1に記載のタイミング検出および補正方法において、
前記共通の基本タイミングがボーレートとして定義され、前記スレーブデバイスの前記初期のタイミングの修正がボーレートオフセットに基づく方法。 - 請求項1または請求項2に記載のタイミング検出および補正方法において、さらに、前記マスターデバイスの前記実際のタイミングを継続的に追跡し、前記スレーブデバイスの前記実際のタイミングを修正するステップを含む方法。
- 請求項3に記載のタイミング検出および補正方法において、
前記マスターデバイスの前記実際のタイミングの連続的な追跡は、前記スレーブデバイスでの少なくとも1つの受信したデータ送信から前記マスターデバイスの前記実際のタイミングを計算するステップを含む方法。 - 請求項3に記載のタイミング検出および補正方法において、
前記スレーブデバイスでの少なくとも1つの前記受信したデータ送信から前記マスターデバイスの前記実際のタイミングを計算するステップは、それぞれの受信したデータ送信の後に実行される方法。 - 請求項4または請求項5に記載のタイミング検出および補正方法において、
前記スレーブデバイスの前記実際のタイミングは、1つまたは複数の完全なマスターテレグラムの終了後に修正され、1つのマスターテレグラムは2つ以上のデータ送信を含む方法。 - 請求項6に記載のタイミング検出および補正方法において、
前記スレーブデバイスの前記実際のタイミングの修正は、1つまたは複数のマスターテレグラムのローパスフィルタリングした多重のデータ送信に基づく方法。 - 請求項1から7のいずれかに記載のタイミング検出および補正方法において、
受信した前記INIT要求および/または受信した前記データ送信から前記マスターデバイスの前記実際のタイミングを計算することは、受信した前記INIT要求および/または受信した前記データ送信からタイミング情報を抽出するステップを含む方法。 - 請求項8に記載のタイミング検出および補正方法において、
受信した前記INIT要求および/または受信した前記データ送信から前記タイミング情報を抽出するステップは、前記INIT要求および/または受信した前記データ送信における立ち上がりエッジおよび/または立ち下がりエッジを検出するステップを含む方法。 - 請求項8または9に記載のタイミング検出および補正方法において、
受信した前記INIT要求および/または受信した前記データ送信からタイミング情報を抽出するステップは、前記スレーブデバイスのハードウェアコンポーネントによって実行される方法。 - 請求項8から10のいずれかに記載のタイミング検出および補正方法において、
受信した前記INIT要求および/または受信した前記データ送信から前記マスターデバイスの前記実際のタイミングを計算するステップは、前記スレーブデバイスのソフトウェアコンポーネントによって実行され、前記ソフトウェアコンポーネントは、受信した前記INIT要求および/または受信した前記データ送信から抽出された前記タイミング情報を処理する方法。 - 請求項8から10のいずれかに記載のタイミング検出および補正方法において、
前記スレーブデバイスの前記初期のタイミングおよび/または実際のタイミングは、特定の閾値を超えた場合にのみ修正される方法。 - 請求項1から12のいずれかに記載のタイミング検出および補正方法において、
受信した前記INIT要求から前記マスターデバイスの前記実際のタイミングを計算すること、および/または、少なくとも1つの受信したデータ送信から前記マスターデバイスの前記実際のタイミングを計算することは、前記INIT要求、前記少なくとも1つのデータ送信、および/またはマスターテレグラムでのクロックパルスをカウントするステップを含む方法。 - 請求項1から13のいずれかに記載のタイミング検出および補正方法において、
前記IO-Link通信の前記スレーブデバイスは、前記方法ステップを実行する少なくとも1つの汎用非同期送受信機モジュールを含む方法。 - 請求項14に記載のタイミング検出および補正方法において、
前記IO-Link通信の前記スレーブデバイスは、それぞれが方法ステップを実行するとともに異なる初期のタイミング設定を有する多重の汎用非同期送受信機モジュールを含む方法。 - マスターデバイスと共通の基本タイミングで動作する、IO-Link通信のスレーブデバイスであって、
前記スレーブデバイスが、請求項1から14のいずれかに記載の方法を実行する少なくとも1つの汎用非同期送受信機モジュールを備えるスレーブデバイス。 - 請求項14に記載のスレーブデバイスであって、
請求項15に記載の方法を実行するために異なる初期のタイミング設定を有する多重の汎用非同期送受信機モジュールを備えるスレーブデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21159590 | 2021-02-26 | ||
EP21159590.5A EP4050492B1 (en) | 2021-02-26 | 2021-02-26 | Timing detection and correction method for a slave device in an io-link communication and slave device of an io-link communication |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022132152A true JP2022132152A (ja) | 2022-09-07 |
Family
ID=74797809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022025374A Pending JP2022132152A (ja) | 2021-02-26 | 2022-02-22 | IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法、並びにIO-Link通信のスレーブデバイス |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220278819A1 (ja) |
EP (1) | EP4050492B1 (ja) |
JP (1) | JP2022132152A (ja) |
CN (1) | CN114978391A (ja) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5103464A (en) * | 1990-05-31 | 1992-04-07 | Northern Telecom Limited | Method and apparatus for timing recovery in digital data communications systems |
JP2007324679A (ja) * | 2006-05-30 | 2007-12-13 | Nec Electronics Corp | シリアル通信用ボーレートジェネレータ |
DE102009017681B4 (de) * | 2009-04-16 | 2014-02-20 | Phoenix Contact Gmbh & Co. Kg | Verfahren und Kommunikationssystem zum Ermitteln des Zeitpunktes eines Ereignisses in einem IO-Gerät |
US8583957B2 (en) * | 2010-07-27 | 2013-11-12 | National Instruments Corporation | Clock distribution in a distributed system with multiple clock domains over a switched fabric |
FR2967535B1 (fr) * | 2010-11-15 | 2012-11-02 | Alcatel Lucent | Procede de synchronisation d'horloges maitre et esclave d'un reseau a commutation de paquets et a liaisons agregees entre noeuds, et dispositifs de synchronisation associes |
US9292036B2 (en) * | 2013-05-24 | 2016-03-22 | Arm Limited | Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface |
CN108023723B (zh) * | 2016-11-04 | 2021-07-09 | 华为技术有限公司 | 频率同步的方法以及从时钟 |
US11146425B2 (en) * | 2017-12-29 | 2021-10-12 | Datalogic Ip Tech S.R.L. | IO-link device |
US10848160B2 (en) * | 2018-07-10 | 2020-11-24 | Aerotech, Inc. | Devices, systems, and methods for reducing jitter in control systems |
EP3637271B1 (en) * | 2018-08-06 | 2021-03-03 | Shenzhen Goodix Technology Co., Ltd. | Baud rate calibration circuit and serial chip |
US10880594B2 (en) * | 2019-02-06 | 2020-12-29 | Bose Corporation | Latency negotiation in a heterogeneous network of synchronized speakers |
JP2022049407A (ja) * | 2020-09-16 | 2022-03-29 | キオクシア株式会社 | 情報処理システム、ストレージデバイス、およびキャリブレーション方法 |
-
2021
- 2021-02-26 EP EP21159590.5A patent/EP4050492B1/en active Active
-
2022
- 2022-01-13 CN CN202210038992.1A patent/CN114978391A/zh active Pending
- 2022-02-22 JP JP2022025374A patent/JP2022132152A/ja active Pending
- 2022-02-25 US US17/680,701 patent/US20220278819A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4050492B1 (en) | 2024-05-01 |
CN114978391A (zh) | 2022-08-30 |
EP4050492A1 (en) | 2022-08-31 |
US20220278819A1 (en) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101885935B1 (ko) | 전환 가능한 데이터 전송 속도에서의 직렬 데이터 전송을 위한 방법 및 그 장치 | |
JP5798251B2 (ja) | メッセージの大きさがフレキシブルな直列データ伝送におけるデータ伝送信頼性を改善するための方法及び装置 | |
CN109669899B (zh) | 自适应调节串口通信波特率的方法及串口装置 | |
US10146725B2 (en) | Method and device for checking the correct functioning of a serial data transmission | |
US9461937B2 (en) | Method and device for a serial data transmission with additionally inserted data | |
WO2020029023A1 (zh) | 波特率校准电路及串口芯片 | |
CN103684678A (zh) | 一种用于uart的波特率自适应方法、装置及uart | |
JP2008518497A (ja) | シリアルデータバスのためのスレーブバスサブスクライバ | |
CN111654557B (zh) | 一种rs485地址码的自动分配方法、上位机、下位机 | |
WO2017065923A1 (en) | Methods to avoid i2c void message in i3c | |
CN101404556A (zh) | 一线总线的通讯方法 | |
JP2011234128A (ja) | シリアル通信用ボーレート検出装置およびシリアル通信用ボーレート補正装置ならびにシリアル通信用ボーレート検出方法 | |
CN105340223A (zh) | 确定can总线连接单元的内部延迟时间的设备和测量方法 | |
US20110026572A1 (en) | Baud rate error detection circuit and baud rate error detection method | |
TW201702894A (zh) | 獨立式通用非同步接收器/傳輸器brk偵測 | |
KR20210026528A (ko) | 차량 내 통신 장치 및 그의 시간 동기화 방법 | |
CN104092515A (zh) | 兼容can2.0b协议的can总线通信方法 | |
JP2022132152A (ja) | IO-Link通信におけるスレーブデバイスのタイミング検出および補正方法、並びにIO-Link通信のスレーブデバイス | |
CN103559164A (zh) | 串口波特率识别方法和装置 | |
CN110535621B (zh) | 一种串口通讯波特率校正装置及其校正方法 | |
CN114095296B (zh) | 波特率自适应系统、方法及装置 | |
JP2016111712A (ja) | 連続するデータストリームを読み込むための方法および装置 | |
CN117201366B (zh) | 基于lin总线的波特率检测方法及装置 | |
JP2020005026A (ja) | 半導体装置および通信制御方法 | |
CN113868178B (zh) | 一种基于i2c总线的通信方法、系统及存储介质 |