JP2013172280A - 送信装置、送信方法、およびプログラム、並びに通信システム - Google Patents

送信装置、送信方法、およびプログラム、並びに通信システム Download PDF

Info

Publication number
JP2013172280A
JP2013172280A JP2012034652A JP2012034652A JP2013172280A JP 2013172280 A JP2013172280 A JP 2013172280A JP 2012034652 A JP2012034652 A JP 2012034652A JP 2012034652 A JP2012034652 A JP 2012034652A JP 2013172280 A JP2013172280 A JP 2013172280A
Authority
JP
Japan
Prior art keywords
output
counter
unit
clock
value
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
JP2012034652A
Other languages
English (en)
Inventor
Naoki Inomata
直樹 猪俣
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2012034652A priority Critical patent/JP2013172280A/ja
Priority to US13/767,239 priority patent/US20130215910A1/en
Priority to CN201310051110.6A priority patent/CN103259641A/zh
Publication of JP2013172280A publication Critical patent/JP2013172280A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • 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
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays

Abstract

【課題】マスタ機器とスレーブ機器との間で誤差なくタイムスタンプを通信する。
【解決手段】
本開示の送信装置は、α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、前記第2カウンタから出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、前記第2カウンタの出力を、前記テーブルを参照して、10Y−X未満の値に変換する変換部と、前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部とを備える。本開示は、PTPマスタとPTPスレーブからなる通信システムに適用できる。
【選択図】図3

Description

本開示は、送信装置、送信方法、およびプログラム、並びに通信システムに関し、特に、ネットワークを介して接続されているマスタ機器と、時刻情報を高い精度で同期させる場合に用いて好適な送信装置、送信方法、およびプログラム、並びに通信システムに関する。
従来、ネットワークを介して接続されている装置間で、それぞれの内部の時刻情報を同期させる仕組みが存在し、その代表的なものとしてIEEE1588PTP(precision time protocol)が知られている(例えば、特許文献1参照)。
IEEE1588PTPによれば、ネットワークを介して接続されているマスタ機器(以下、PTPマスタと称する)とスレーブ機器(以下、PTPスレーブと称する)との間でPTPメッセージを通信することにより、PTPマスタの時刻情報に対して、PTPスレーブの時刻情報を同期させることができる。具体的には、PTPマスタ内部の発振周波数f1に対してPTPスレーブ内部の発振周波数f2を同期させ、その後、PTPマスタの時刻情報にPTPスレーブの時刻情報を同期させる。
以下、PTPマスタ内部の発振周波数f1に対してPTPスレーブ内部の発振周波数f2を同期させることを周波数同期と称し、PTPマスタの時刻情報にPTPスレーブの時刻情報を同期させることを時刻同期と称する。
図1は、IEEE1588PTPを利用した従来の高精度時刻同期処理の概要を示している。
PTPマスタは、発振周波数f1に基づく所定の周期Δmで、PTPマスタの時刻情報(タイムスタンプ)である送信時刻T1を含むPTPメッセージとしてのSyncメッセージを、ネットワーク上に送信する。一方、PTPスレーブは、PTPマスタが送信したSyncメッセージを受信したことに応じ、そこに含まれる送信時刻T1を抽出するとともに、PTPスレーブの時刻情報(タイムスタンプ)であるその受信時刻T2を読み出す。すなわち、PTPスレーブは、Syncパケットを受信する毎に、送信時刻T1(PTPマスタのタイムスタンプ)と受信時刻T2(PTPスレーブのタイムスタンプ)を得ることになる。
また、PTPスレーブは、PTPメッセージとしてのDelay_reqを、ネットワークを介してPTPマスタに送信し、PTPスレーブの時刻情報(タイムスタンプ)であるその送信時刻T3を読み出す。一方、PTPマスタは、Delay_reqを受信したことに応じ、PTPマスタの時刻情報(タイムスタンプ)である受信時刻T4を読み出し、受信時刻T4を含めたPTPメッセージとしてのDelay_resをPTPスレーブに返信する。従って、PTPスレーブは、Delay_reqを送信し、その応答であるDelay_resを受信することにより、Delay_reqのPTPスレーブからの送信時刻T3(PTPスレーブのタイムスタンプ)とPTPマスタでの受信時刻T4(PTPマスタのタイムスタンプ)を得ることになる。
ここで、Syncメッセージ、Delay_req、Delay_resなどのPTPメッセージのネットワークを介する通信に要する時間(以下、ネットワーク遅延時間と称する)は、変動せず常に一定であると仮定する。
この仮定の下においては、PTPマスタの発振周波数f1とPTPスレーブの発振周波数f2が等しければ、PTPマスタにおけるSyncメッセージの送信間隔Δm=T1−T1とPTPスレーブにおけるSyncメッセージの受信間隔Δs=T2−T2が一致することになる。換言すれば、ΔmとΔsの差Δm−Δsが0ではない場合、PTPマスタの発振周波数f1とPTPスレーブの発振周波数f2との間に誤差があって同期していない状態であるといえる。
したがって、周波数同期については、PTPスレーブにおいて、ΔmとΔsの差Δm−Δs(以下、周波数ずれと称する。)が0になるように、PTPスレーブの発振周波数f2を調整すればよい。周波数ずれΔm−Δsは、次式(1)によって算出できる。
周波数ずれΔm−Δs
=(T1−T1)−(T2−T2)=(T2−T1)−(T2−T1
・・・(1)
時刻同期については、PTPスレーブにて、Syncメッセージの送信時刻T1と受信時刻T2と、Delay_reqの送信時刻T3と受信時刻T4とに基づいて、次式(4)に示す時刻差を算出し、この時刻差が0となるように、PTPスレーブにおいて内部時計T2を調整すればよい。
Syncメッセージのネットワーク遅延
=(T2−時刻差)−T1=(T2−T1)−時刻差
・・・(2)
Delay_reqのネットワーク遅延
=T4−(T3−時刻差)=(T4−T3)+時刻差
・・・(3)
Syncメッセージのネットワーク遅延=Delay_reqのネットワーク遅延=一定と仮定しているので、時刻差は式(2)から式(3)を減算することにより、次式(4)が導出される。
時刻差={(T2−T1)−(T4−T3)}/2
・・・(4)
また、ネットワーク遅延については、式(2)と式(3)を加算することにより、次式(5)が導出される。
ネットワーク遅延={(T2−T1)+(T4−T3)}/2
・・・(5)
特開2010−190635号公報
ところで、PTPマスタやPTPスレーブと成り得るAV関連の電子装置は、その基準クロックをビデオデータの処理に対して都合のよい27MHzとすることが尤も好適であり、27MHzの基準クロックに従ってカウントアップするクロック値を時刻情報として用いることにより、PLL等を別途に設けることなく時刻情報を得るための構成を簡素化し得る。
これに対し、IEEE1588PTPでは、PTPマスタとPTPスレーブとの間で通信する時刻情報(タイムスタンプ)に対して10−9秒(ns:nano second)単位で通信することが規定されている。
したがって、PTPマスタがPTPスレーブに対して時刻情報(タイムスタンプ)を送信する場合、27MHzのクロック値をns単位のタイムスタンプに変換する必要がある。そして、それを受信したPTPスレーブでは、ns単位のタイムスタンプを27MHzのクロック値に逆変換する必要がある。
なお、27MHzの1カウントはns単位で表すと37.037037037037・・・(=10/27×10)nsとなって循環小数となるので、27MHzの基準クロック値をns単位に変換する場合、従来においては、この循環小数が所定の位で丸められていた。
しかしながら、そのように所定の位で丸めたns単位のタイムスタンプには誤差が含まれていることになるので、PTPスレーブにおいてPTPマスタと時刻情報を高精度で同期させることができなってしまう。
本開示はこのような状況に鑑みてなされたものであり、マスタ機器とスレーブ機器との間で誤差なくタイムスタンプを通信できるようにするものである。
本開示の第1の側面である送信装置は、規格に従い10−Y秒単位のタイムスタンプを送信する送信装置において、α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、前記第2カウンタから出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、前記第2カウンタの出力を、前記テーブルを参照して、前記10Y−X未満の値に変換する変換部と、前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部とを備える。
前記規格は、IEEE1588PTPであり、前記10−Y秒単位は、10−9秒単位とすることができる。
前記α×10Hzは、27×10Hzとすることができる。
本開示の第1の側面である送信装置は、前記α×10Hzの基準クロックに従ってカウントアップすることにより前記クロック値を生成する時計部をさらに備えることができる。
本開示の第1の側面である送信方法は、規格に従い10−Y秒単位のタイムスタンプを送信する送信装置の送信方法において、前記送信装置による、α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1出力ステップと、前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2出力ステップと、前記第2出力ステップで出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルを参照することにより、前記第2出力ステップの出力を、前記10Y−X未満の値に変換する変換ステップと、前記第1ステップの出力と、前記変換ステップの出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算ステップとを含む。
本開示の第1の側面であるプログラムは、規格に従い10−Y秒単位のタイムスタンプを送信するコンピュータを、α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、前記第2カウンタから出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、前記第2カウンタの出力を、前記テーブルを参照して、前記10Y−X未満の値に変換する変換部と、前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部として機能させる。
本開示の第1の側面においては、α×10Hzの基準クロックに基づくクロック値がカウントされ、α毎に10Y−Xずつインクリメントされる値がα回連続して出力される。また、前記基準クロックに基づく前記クロック値がカウントされて0乃至α−1が繰り返し出力され、出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルが参照されることにより、出力されるα種類の値が前記10Y−X未満の値に変換される。そして、α毎に10Y−Xずつインクリメントされる値と変換後の値が加算されることにより、前記10−Y秒単位のタイムスタンプが生成される。
本開示の第2の側面である通信システムは、規格に従い10−Y秒単位のタイムスタンプを通信する送信装置と受信装置から成る通信システムにおいて、前記送信装置が、α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、前記第2カウンタから出力されたるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、前記第2カウンタの出力を、前記テーブルを参照して、前記10Y−X未満の値に変換する変換部と、前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部とを備える。また、前記受信装置が、前記送信装置から送信された前記10−Y秒単位のタイムスタンプを10Y−Xで除算したときの商と余りを算出する除算部と、前記除算部で算出された前記商にαを乗算する乗算部と、前記送信装置の変換部が参照するものと同一のテーブルを参照することにより、前記除算部で算出された前記余りを、前記10Y−X未満の値に逆変換する逆変換部と、前記乗算部の出力と、前記逆変換部の出力を加算することにより、前記α×10Hzの基準クロックに基づく前記クロック値を復元する加算部とを備える。
本開示の第1の側面においては、送信装置により、α×10Hzの基準クロックに基づくクロック値がカウントされ、α毎に10Y−Xずつインクリメントされる値がα回連続して出力される。また、前記基準クロックに基づく前記クロック値がカウントされて0乃至α−1が繰り返し出力され、出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルが参照されることにより、出力されるα種類の値が前記10Y−X未満の値に変換される。そして、α毎に10Y−Xずつインクリメントされる値と変換後の値が加算されることにより、前記10−Y秒単位のタイムスタンプが生成される。
前記送信装置から送信された前記10−Y秒単位のタイムスタンプを10Y−Xで除算したときの商と余りが算出され、算出された前記商にαが乗算され、前記送信装置の変換部が参照するものと同一のテーブルが参照されることにより、算出された前記余りが前記10Y−X未満の値に逆変換される。そして、乗算の結果と、逆変換の結果とが加算されることにより、前記α×10Hzの基準クロックに基づく前記クロック値が復元される。
本開示の第1の側面によれば、誤差なく基準クロック値を復元できるタイムスタンプを送信することができる。
本開示の第2の側面によれば、マスタ機器とスレーブ機器との間で誤差なくタイムスタンプを通信することができる。
IEEE1588PTPを利用した従来の高精度時刻同期処理の概要を示す図である。 本開示を適用したPTPマスタとPTPスレーブからなる通信システムの構成例を示すブロック図である。 ns変換処理部の機能的ブロックの構成例を示す図である。 図3に対応する回路図である。 基準クロックがαMHzである場合に対応するテーブルの一例を示す図である。 基準クロックが27MHzである場合に対応するテーブルの一例を示す図である。 ns変換処理を説明するフローチャートである。 ns逆変換処理部の機能的ブロックの構成例を示す図である。 ns逆変換処理を説明するフローチャートである。 基準クロックがαMHzである場合に対応するns変換処理部の各部の出力を示す図である。 基準クロックがαMHzである場合に対応するns逆変換処理部の各部の出力を示す図である。 基準クロックが27MHzである場合に対応するns変換処理部の各部の出力を示す図である。 基準クロックが27MHzである場合に対応するns逆変換処理部の各部の出力を示す図である。 コンピュータの構成例を示すブロック図である。
以下、本開示を実施するための最良の形態(以下、実施の形態と称する)について、図面を参照しながら詳細に説明する。
図2は、本開示の実施の形態である、ネットワークを介して接続されたPTPマスタとPTPスレーブからなる通信システムを示している。ただし、同図には、PTPマスタとPTPスレーブそれぞれの周波数同期および時刻同期に関係する構成についてのみ図示している。
当該システムのPTPスレーブ30は、PTPマスタ10とネットワーク20を介してPTPメッセージを送受信することにより、自身の時刻情報をPTPマスタの時刻情報を同期させるものである。
PTPマスタ10は、マスタクロック発振部11、時計部12、メッセージ送信部13、およびメッセージ受信部14を含む。
マスタクロック発振部11は、周波数f1=αMHzの基準クロックを発振して時計部12およびメッセージ送信部13に出力する。なお、本実施の形態においてf1=27MHz(すなわち、α=27)とするが、αの値は27に限定されるものではない。特に、1000/αが割り切れない場合において本開示が効果的に作用する。
時計部12は、内蔵するカウンタを周波数f1の基準クロックに従ってカウントアップし、そのカウント値であるクロック値をPTPマスタ10の時刻情報としてメッセージ送信部13およびメッセージ受信部14に供給する。
メッセージ送信部13は、時刻情報(f1=αMHzのクロック値)を、ns単位のタイムスタンプに変換するns変換処理部13aを内蔵している。ns変換処理部13aの詳細については、図3を参照して後述する。
メッセージ送信部13は、Syncメッセージを送信するに際し、その送信時刻T1を表す時刻情報(αMHzのクロック値)をns単位のタイムスタンプに変換し、ns単位のタイムスタンプより表される送信時刻T1を含むSyncメッセージを所定の周期Δmでネットワーク20に送信する。また、メッセージ送信部13は、メッセージ受信部14がPTPスレーブ30からのDelay_reqを受信したことに応じ、メッセージ受信部14から通知されるその受信時刻T4を表す時刻情報(αMHzのクロック値)をns単位のタイムスタンプに変換し、ns単位のタイムスタンプにより表される受信時刻T4を含めたPTPメッセージとしてのDelay_resを、ネットワーク20を介してPTPスレーブ30に返信する。
メッセージ受信部14は、PTPスレーブ30から送信されたDelay_reqを受信した場合、その受信時刻T4を表す時刻情報(αMHzのクロック値)をメッセージ送信部13に通知する。
一方、PTPスレーブ30は、スレーブクロック発振部31、時計部32、メッセージ受信部33、補正処理部34、およびメッセージ送信部35を含む。
スレーブクロック発振部31は、周波数f2の基準クロックを発振して時計部32に出力する。また、スレーブクロック発振部31は、補正処理部34から入力される、式(1)に示された周波数ずれΔm−Δsが0となるように周波数f2を調整する。
時計部32は、内蔵するカウンタを周波数f2の基準クロックに従ってカウントアップし、そのカウント値をクロック値としてPTPスレーブ30の時刻情報としてメッセージ受信部33およびメッセージ送信部35に供給する。また、時計部32は、補正処理部34から入力される、式(4)に示された時刻差が0となるように時刻情報(周波数f2のクロック値)を調整する。
メッセージ受信部33は、ns単位のタイムスタンプを時刻情報(αMHzのクロック値)に逆変換するns逆変換処理部33aを内蔵している。ns逆変換処理部33aの詳細については、図8を参照して後述する。
メッセージ受信部33は、PTPマスタ10からネットワーク20を介して送信されるPTPメッセージとしてのSyncメッセージを受信し、Synsメッセージからns単位のタイムスタンプより表される送信時刻T1を抽出する。さらに、メッセージ受信部33は、ns単位のタイムスタンプより表される送信時刻T1をαMHzのクロック値に逆変換して補正処理部34に出力する。さらに、メッセージ受信部33は、Syncメッセージを受信したときの受信時刻T2(周波数f2のクロック値)を補正処理部34に出力する。
また、メッセージ受信部33は、PTPスレーブ30が送信するDelay_reqに応じ、PTPマスタ10からネットワーク20を介して返信されるPTPメッセージとしてのDelay_resを受信し、受信したDelay_resに含まれるDelay_reqの、ns単位のタイムスタンプより表される受信時刻T4を抽出する。さらに、メッセージ受信部33は、ns単位のタイムスタンプより表される受信時刻T4をαMHzのクロック値に逆変換して補正処理部34に出力する。
補正処理部34は、メッセージ受信部33から入力されるSyncメッセージの送信時刻T1(αMHzのクロック値)とその受信時刻T2(αMHzのクロック値)に基づき、上述した式(1)に示された周波数ずれΔm−Δsを演算してスレーブクロック発振部31に出力する。
さらに、補正処理部34は、Syncメッセージの送受信時刻T1,T2(αMHzのクロック値)と、メッセージ送信部35から入力される、Delay_reqの送信時刻T3(周波数f2のクロック値)と、Delay_reqの受信時刻T4(αMHzのクロック値)に基づき、式(4)に示された時刻差を演算して時計部32に出力する。
メッセージ送信部35は、ネットワーク20を介してPTPマスタ10に対してDelay_reqを送信するとともに、その送信時刻T3(周波数f2のクロック値)を補正処理部34に出力する。
[ns変換処理部13aの構成例]
次に図3は、PTPマスタ10のメッセージ送信部13に内蔵されたns変換処理部13aの機能的ブロックの構成例を示している。
ns変換処理部13aは、第1カウンタ51、第2カウンタ52、変換部53、および加算部55から構成される。
第1カウンタ51は、ns単位のタイムスタンプの千の位以上の値を出力するためのものである。第1カウンタ51は、時計部12から入力される時刻情報(αMHzのクロック値)が0からα−1までは0を出力し、αから2α−1までは1000を出力し、2αから3α−1までは2000を出力するように、1000ずつインクリメントした値をα回連続して出力する。なお、第1カウンタ51の出力が10−10となり、それがα回出力されると、第1カウンタ51はその出力を0にリセットする。このとき同時に秒を計数するカウンタ(不図示)をインクリメントすることで、正確な1秒を計数することができる。
第2カウンタ52は、ns単位のタイムスタンプの百の位以下を決定するためのものである。第2カウンタ52は、時計部12から入力される時刻情報(αMHzのクロック値)が0からα−1までは入力と同じ値を出力し、入力がαから2α−1までは0からα−1までを順に出力し、それ以降の同様に、入力に合わせて0からα−1までを順に出力する。すなわち、第2カウンタ52は、0からα−1までを順に出力するリングカウンタとすることができる。
変換部53は、内蔵するテーブル54を参照することにより、第2カウンタの値に対応する、ns単位のタイムスタンプの百の位以下の値を出力する。
加算部55は、第1カウンタ51から入力されるns単位のタイムスタンプの千の位以上の値と、変換部53から入力されるns単位のタイムスタンプの百の位以下の値とを加算することにより、1秒未満のns単位のタイムスタンプを生成する。
なお、図3においては図示を省略するが、第1カウンタ51の出力が10−10であり、且つ、第2カウンタ52の出力がα−1であるタイミングで1秒単位のタイムスタンプを出力するようになされている。
図4は、図3に示されたns変換処理部3aの機能的ブロックの構成例を具現化する電気回路の構成例を示している。なお、図4においては、図3の機能ブロックに対応する部位に対して図3と共通の番号を付しているので、その説明は省略する。
[テーブルの一例]
図5は、PTPマスタ10のマスタクロック発振部11がαMHzの基準クロックを発振する場合に対応する、変換部53が内蔵するテーブル54の一例を示している。
テーブル54は、第2カウンタの値である0からα−1までのα種類の値に対して、ns単位のタイムスタンプの百の位以下の値が均等に分散されて対応付けて記録されている。
例えば、第2カウンタの値0にはタイムスタンプの値t=0、第2カウンタの値1にはタイムスタンプの値t=1000/α(整数)、第2カウンタの値2にはタイムスタンプの値t=2×1000/α(整数)が対応付けられている。
図6は、PTPマスタ10のマスタクロック発振部11が27MHzの基準クロックを発振する場合(αが27である場合)に対応するテーブル54の一例を示している。
この場合、テーブル54には、第2カウンタの値である0から26までの27種類の値に対して、ns単位のタイムスタンプの百の位以下の値が均等に正規化されて対応付けて記録されている。例えば、第2カウンタの値1にはns単位のタイムスタンプの値37が、第2カウンタの値2にはns単位のタイムスタンプの値74が、第2カウンタの値26にはns単位のタイムスタンプの値963が対応付けられている。
[ns変換処理部13aの動作説明]
次に、PTPマスタ10がPTPスレーブ30に対してタイムスタンプを送信するときに実行されるns変換処理について説明する。図7は、ns変換処理を説明するフローチャートである。
ステップS1において、第1カウンタ51は、時計部12から入力された時刻情報(αMHzのクロック値)をカウントし、0からα−1までは0を、αから2α−1までは1000を、2αから3α−1までは2000を出力するように、1000ずつインクリメントした値をα回連続して加算部55に出力する。
これと同時に、第2カウンタ52は、時計部12から入力された時刻情報(αMHzのクロック値)をカウントし、その値が0からα−1までは入力と同じ値を、入力がαから2α−1までは0からα−1までを順に出力し、それ以降の同様に、入力に合わせて0からα−1までを順に変換部53に出力する。
ステップS2において、変換部53は、内蔵するテーブル54を参照することにより、第2カウンタの値に対応する、ns単位のタイムスタンプの百の位以下の値を出力する。
ステップS3において、加算部55は、第1カウンタ51から入力されたns単位のタイムスタンプの千の位以上の値と、変換部53から入力されたns単位のタイムスタンプの百の位以下の値とを加算することにより、1秒未満のns単位のタイムスタンプを生成する。
以上のようにしてαMHzのクロック値から変換されたns単位のタイムスタンプがPTPスレーブ30に送信される。
[ns逆変換処理部33aの構成例]
次に図3は、PTPスレーブ30のメッセージ受信部33に内蔵されたns逆変換処理部33aの機能的ブロックの構成例を示している。
ns逆変換処理部33aは、除算部61、乗算部62、逆変換部63、加算部64、および補正部65から構成される。
除算部61は、PTPマスタ10から送信されるSyncメッセージやDelay_resに含まれるns単位のタイムスタンプを1000で除算することにより、その商(整数)と余り(100の位以下の値)を算出し、商を乗算部62に、その余りを逆変換部63に出力する。
乗算部62は、除算部61から入力される商にα(本実施の形態の場合、27)を乗算してその乗算結果を加算部64に出力する。逆変換部63は、ns変換処理部13aの変換部53が内蔵しているものと同一のテーブル54を内蔵しており、除算部61から入力される余り(nc単位のタイムスタンプの百の位以下の値)を、テーブル54を参照することによってαMHzのクロック値に変換して加算部64に出力する。
加算部64は、乗算部62の出力に逆変換部63の出力を加算することによりαMHzのクロック値を復元して補正部65に出力する。ただし、加算部64により復元されたαMHzのクロック値は、ns逆変換処理部33aにおける処理に要する時間だけ遅延している。そこで、補正部65は、ns逆変換処理部33aに要する時間に相当する所定の値を、加算部64の出力に加算する補正を行って、補正後のαMHzのクロック値を後段に出力する。
[ns逆変換処理部33aの動作説明]
次に、PTPスレーブ30がマスタ10から、ns単位のタイムスタンプを含むSyncメッセージやDelay_resを受信した時に実行されるns逆変換処理について説明する。図9は、ns逆変換処理を説明するフローチャートである。
ステップS11において、除算部61は、PTPマスタ10から送信されるSyncメッセージやDelay_resに含まれていたns単位のタイムスタンプを1000で除算することにより、その商(整数)と余り(100の位以下の値)を算出し、商を乗算部62に、その余りを逆変換部63に出力する。
ステップS12において、乗算部62は、除算部61から入力された商にαを乗算してその乗算結果を加算部64に出力する。ステップS13において、逆変換部63は、除算部61から入力された余りを、テーブル54を参照することによってαMHzのクロック値に変換して加算部64に出力する。
ステップS14において、加算部64は、乗算部62の出力に逆変換部63の出力を加算することによりαMHzのクロック値を復元して補正部65に出力する。ステップS15において、補正部65は、ns逆変換処理部33aに要する時間に相当する所定の値を、加算部64の出力に加算する補正を行って、補正後のαMHzのクロック値を後段に出力する。
以上のようにしてPTPマスタ10から送信されたns単位のタイムスタンプがαMHzのクロック値に逆変換されるので、PTPスレーブ30においてはαMHzの基準クロックに基づくPTPマスタ10と同期した動作が可能となる。
[変換例の説明]
図10は、基準クロックがαMHzである場合のns変換処理部13aの各部の出力を示しており、図11は、それに対応するns逆変換処理部33aの各部の出力を示している。
図10の最上段に示された基準クロックのクロック値と、図11の最下段に示された加算部64の出力を比較して明らかなように、PTPスレーブ30においてPTPマスタ10から送信されたαMHzのクロック値が正確に復元されていることを確認できる。
次に、図12は、基準クロックが27MHzである場合のns変換処理部13aの各部の出力を示しており、図13は、それに対応するns逆変換処理部33aの各部の出力を示している。
図12の最上段に示された基準クロックのクロック値と、図13の最下段に示された加算部64の出力を比較して明らかなように、PTPスレーブ30においてPTPマスタ10から送信された27MHzのクロック値が正確に復元されていることを確認できる。
以上説明したように、本開示によれば、複雑な演算を要することなく、αMHzのクロック値をns単位のタイムスタンプに変換し、それを逆変換して正確にαMHzのクロック値を復元することができる。したがって、PTPスレーブ30において、復元したαMHzのクロック値に誤差が蓄積して誤動作が発生するような事態を抑止することができる。
なお、本実施の形態においては、基準クロックαMHzが27MHzである場合についてのみ言及したが、例えば、αMHzが33MHzなどの場合であっても本開示を適用できる。ただし、この場合、テーブル54は、33種類の値の対応を保持する必要がある。
また、本実施の形態においては、タイムスタンプのオーダーをns単位としたが、タイムスタンプのオーダーはこれに限るものではない。
ところで、上述したns変換処理部13aまたはns逆変換処理部33aによる一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
図14は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、入力部106、出力部107、記憶部108、通信部109、およびドライブ110が接続されている。
入力部106は、キーボード、マウス、マイクロフォンなどよりなる。出力部107は、ディスプレイ、スピーカなどよりなる。記憶部108は、ハードディスクや不揮発性のメモリなどよりなる。通信部109は、ネットワークインタフェースなどよりなる。ドライブ110は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア111を駆動する。
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105およびバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU101)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア111に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
10 PTPマスタ, 11 マスタクロック発振部, 12 時計部, 13 メッセージ送信部, 13a ns変換処理部, 14 メッセージ受信部, 20 ネットワーク, 30 PTPスレーブ, 31 スレーブクロック発振部, 32 時計部, 33 メッセージ受信部, 33a ns逆変換処理部, 34 補正処理部, 35 メッセージ送信部, 51 第1カウンタ, 52 第2カウンタ, 53 変換部, 54 テーブル, 55 加算部, 61 除算部, 62 乗算部, 63 逆変換部, 64 加算部, 65 補正部, 100 コンピュータ, 101 CPU

Claims (7)

  1. 規格に従い10−Y秒単位のタイムスタンプを送信する送信装置において、
    α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、
    前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、
    前記第2カウンタから出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、
    前記第2カウンタの出力を、前記テーブルを参照して、前記10Y−X未満の値に変換する変換部と、
    前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部と
    を備える送信装置。
  2. 前記規格は、IEEE1588PTPであり、
    前記10−Y秒単位は、10−9秒単位である
    請求項1に記載の送信装置。
  3. 前記α×10Hzは、27×10Hzである
    請求項2に記載の送信装置。
  4. 前記α×10Hzの基準クロックに従ってカウントアップすることにより前記クロック値を生成する時計部を
    さらに備える請求項2に記載の送信装置。
  5. 規格に従い10−Y秒単位のタイムスタンプを送信する送信装置の送信方法において、
    前記送信装置による、
    α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1出力ステップと、
    前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2出力ステップと、
    前記第2出力ステップで出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルを参照することにより、前記第2出力ステップの出力を、前記10Y−X未満の値に変換する変換ステップと、
    前記第1ステップの出力と、前記変換ステップの出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算ステップと
    を含む送信方法。
  6. 規格に従い10−Y秒単位のタイムスタンプを送信するコンピュータを、
    α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、
    前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、
    前記第2カウンタから出力されるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、
    前記第2カウンタの出力を、前記テーブルを参照して、前記10Y−X未満の値に変換する変換部と、
    前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部と
    して機能させるプログラム。
  7. 規格に従い10−Y秒単位のタイムスタンプを通信する送信装置と受信装置から成る通信システムにおいて、
    前記送信装置は、
    α×10Hzの基準クロックに基づくクロック値をカウントし、α毎に10Y−Xずつインクリメントする値をα回連続して出力する第1カウンタと、
    前記基準クロックに基づく前記クロック値をカウントして0乃至α−1を繰り返し出力する第2カウンタと、
    前記第2カウンタから出力されたるα種類の値それぞれに対し、前記10Y−X未満の値が均等に分散されて対応付けられたテーブルと、
    前記第2カウンタの出力を、前記テーブルを参照して、前記10Y−X未満の値に変換する変換部と、
    前記第1カウンタの出力と、前記変換部の出力を加算することにより、前記10−Y秒単位のタイムスタンプを生成する加算部と
    を備え、
    前記受信装置は、
    前記送信装置から送信された前記10−Y秒単位のタイムスタンプを10Y−Xで除算したときの商と余りを算出する除算部と、
    前記除算部で算出された前記商にαを乗算する乗算部と、
    前記送信装置の変換部が参照するものと同一のテーブルを参照することにより、前記除算部で算出された前記余りを、前記10Y−X未満の値に逆変換する逆変換部と、
    前記乗算部の出力と、前記逆変換部の出力を加算することにより、前記α×10Hzの基準クロックに基づく前記クロック値を復元する加算部と
    を備える
    通信システム。
JP2012034652A 2012-02-21 2012-02-21 送信装置、送信方法、およびプログラム、並びに通信システム Pending JP2013172280A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012034652A JP2013172280A (ja) 2012-02-21 2012-02-21 送信装置、送信方法、およびプログラム、並びに通信システム
US13/767,239 US20130215910A1 (en) 2012-02-21 2013-02-14 Transmission apparatus, transmission method, program, and communication system
CN201310051110.6A CN103259641A (zh) 2012-02-21 2013-02-16 传送装置、传送方法、程序和通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012034652A JP2013172280A (ja) 2012-02-21 2012-02-21 送信装置、送信方法、およびプログラム、並びに通信システム

Publications (1)

Publication Number Publication Date
JP2013172280A true JP2013172280A (ja) 2013-09-02

Family

ID=48963360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012034652A Pending JP2013172280A (ja) 2012-02-21 2012-02-21 送信装置、送信方法、およびプログラム、並びに通信システム

Country Status (3)

Country Link
US (1) US20130215910A1 (ja)
JP (1) JP2013172280A (ja)
CN (1) CN103259641A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675689B2 (en) * 2011-02-15 2014-03-18 General Electric Company Method of time synchronization of free running nodes in an avionics network
CN104113517A (zh) * 2013-04-22 2014-10-22 华为技术有限公司 时间戳生成方法、装置及系统
US9442511B2 (en) * 2013-10-15 2016-09-13 Eci Telecom Ltd. Method and a device for maintaining a synchronized local timer using a periodic signal
EP3267692A4 (en) * 2015-03-04 2018-12-05 Sony Corporation Transmission device, transmission method, receiving device, and receiving method
CN112703704B (zh) 2018-09-21 2022-07-29 三菱电机株式会社 通信装置、通信系统、通信方法及计算机可读取的记录介质
JP6800390B2 (ja) * 2018-09-21 2020-12-16 三菱電機株式会社 通信装置、通信システム、通信方法および通信プログラム
US11546073B2 (en) * 2020-05-19 2023-01-03 Realtek Semiconductor Corp. Control method and time aware bridge device for seamless precision time protocol
TW202209837A (zh) * 2020-08-19 2022-03-01 智邦科技股份有限公司 網路裝置
US20230095364A1 (en) * 2021-09-30 2023-03-30 Skyworks Solutions, Inc. Maintaining a virtual time of day

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729180A (zh) * 2008-10-21 2010-06-09 华为技术有限公司 精准时钟同步方法及系统、精准时钟频率/时间同步装置
JP2010190635A (ja) * 2009-02-17 2010-09-02 Sony Corp スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
JP4766128B2 (ja) * 2009-02-27 2011-09-07 ソニー株式会社 スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム

Also Published As

Publication number Publication date
US20130215910A1 (en) 2013-08-22
CN103259641A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
JP2013172280A (ja) 送信装置、送信方法、およびプログラム、並びに通信システム
JP4766128B2 (ja) スレーブ装置、スレーブ装置の時刻同期化方法および電子機器システム
JP5321923B2 (ja) クロック同期システム、ノード、クロック同期方法及びプログラム
JP2010190635A (ja) スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
KR101242419B1 (ko) 병렬처리 기반의 시각 동기화 장치
JP2013152095A (ja) 時刻制御装置、時刻制御方法、およびプログラム
JP2013083450A (ja) 時刻制御装置、時刻制御方法、およびプログラム
WO2013051447A1 (ja) 時刻制御装置、時刻制御方法、およびプログラム
WO2014083725A1 (ja) 同期装置、同期システム、無線通信装置及び同期方法
US20120079310A1 (en) Communication system, communication interface, and synchronization method
JP2014238357A (ja) 受信装置、時刻差算出方法、およびプログラム
JP2010278546A (ja) 時刻同期網及び通信装置
WO2020087370A1 (zh) 时间同步方法、设备及存储介质
JP2014027437A (ja) 通信装置、通信システム、および同期処理方法、並びにプログラム
JP2017069669A (ja) 時刻同期装置、基地局装置、及び、時刻同期方法
JP2014165582A (ja) 時刻同期システム、時刻同期方法、スレーブノード及びコンピュータプログラム
JP6523058B2 (ja) 通信システムおよび推定方法
CN103857029A (zh) 一种确定上行链路和下行链路的延时差的方法、装置和设备
JP6499018B2 (ja) 通信装置、通信システム、推定方法及びプログラム
JP6310758B2 (ja) 時刻同期装置および方法
JP2018125768A (ja) データ伝送装置及びプログラム
JP3949081B2 (ja) サンプリング周波数変換装置
JP6845522B2 (ja) 情報通信システム、情報通信装置
US20230077120A1 (en) Time synchronization device, time synchronization system, and time synchronizationmethod
JPWO2020095413A1 (ja) 通信システム、通信装置、及びプログラム