"時刻同期用パケットを送受信することで自装置と他装置との装置間時刻同期を行なう通信装置であって、該時刻同期用パケットを生成するための第1のリアルタイムクロックと、該第1のリアルタイムクロックと時刻同期された、該時刻同期用パケットの送出時刻を取得するための第2のリアルタイムクロックと、を備えることを特徴とする通信装置。前記装置間時刻同期は、PrecisionTimeProtocolPTPにしたがって実行されることを特徴とする請求項1に記載の通信装置。前記第1のリアルタイムクロックと前記第2のリアルタイムクロックの時刻同期は、PPSPulsePerSecond信号とシステムクロックの2つの信号を用いて、ハードウェアの動作で実現されることを特徴とする請求項2に記載の通信装置。前記通信装置には、外部と信号を送受するためのインターフェイスユニットと、該インターフェイスユニットを制御する監視制御ユニットが設けられ、前記第1のリアルタイムクロックと前記第2のリアルタイムクロックは、該インターフェイスユニットに装備され、該インターフェイスユニット内のPPS信号と、該監視制御ユニットから供給されるPPS信号の選択回路を備えることを特徴とする請求項3に記載の通信装置。前記時刻同期用パケットの生成処理において、該時刻同期用パケットのデータ内容を保持するメモリを備えることを特徴とする請求項1に記載の通信装置。前記時刻同期用パケットの送出時刻の取得後にその補数を計算して、装置間時刻同期のための補正時間を取得することを特徴とする請求項1に記載の通信装置。前記時刻同期用パケットはPTPメッセージであって、シーケンスIDのカウンタ値をシーケンスID領域に挿入し、該カウンタ値をインクリメントすることによりPTPメッセージ内のシーケンスIDを更新させることを特徴とする請求項2に記載の通信装置。前記時刻同期用パケットはPTPメッセージであって、生成するPTPメッセージにおいて、originTimestamp領域のフレーム内位置情報を、装置内転送用プロトコルのフレームヘッダにおいて設定することにより、originTimestamp領域の情報更新を可能とすることを特徴とする請求項2に記載の通信装置。前記時刻同期用パケットはPTPメッセージであって、生成するPTPメッセージにおいて、correctionField領域の位置情報を、装置内転送用プロトコルのフレームヘッダにおいて設定することにより、correctionField領域の情報更新を可能とすることを特徴とする請求項2に記載の通信装置。前記時刻同期用パケットはPTPメッセージであって、生成するPTPメッセージにおいて、sequenceID領域の位置情報を、装置内転送用プロトコルのフレームヘッダにおいて設定することにより、sequenceID領域の情報更新を可能とすることを特徴とする請求項2に記載の通信装置。近年、ネットワークのマルチドメイン化が進むに従い、情報量が増えていく中で、CPUの情報処理量負荷は今後さらに増加していく傾向にある。そのような状況の中、PTPメッセージの生成処理はソフトウェアとRTCで実施しているため、CorrectionFieldの補正量はCPUの負荷状況によって大きく揺らいでしまい、高精度な時刻同期システムを構築できなかった。高精度な時刻同期システムは様々な業界で必要性が高まっているが、特に、ビデオ配信システムなどのスムーズでタイムリーな通信が求められるサービスにおいては、時刻同期の誤差により発生するフレームロスは、契約ユーザや配信業者にとって大きな問題となっている。以下の実施形態においては、高精度な時刻同期を行なうことのできる通信装置を提供する。以下の実施形態の一側面における通信装置は、時刻同期用パケットを送受信することで自装置と他装置との装置間時刻同期を行なう通信装置であって、該時刻同期用パケットを生成するための第1のリアルタイムクロックと、該第1のリアルタイムクロックと時刻同期された、該時刻同期用パケットの送出時刻を取得するための第2のリアルタイムクロックとを備える。以下の実施形態によれば、高精度な時刻同期を行なうことのできる通信装置を提供することができる。以下の実施形態では、PTPSystemCLKでハードウェアの動作により時刻同期させる。本構成を持つことにより、PTPPacket生成時もnsオーダ、データPTPPacket送出時もnsオーダのタイムスタンプを打つことができ、PTPPacket中のCorrectionFieldの補正量の揺らぎを極力抑えることができる。すなわち、パケット生成あるいは受信から他装置へのパケット送出までの時間は図2の処理遅延に相当し、PTPパケットのCrrectionFieldに設定されて転送される。この処理遅延をnsオーダで正確に管理することができ、したがって、装置間での時刻同期も正確に行なえるようになる。このため、Grandmastermodeノードと、Boundaryclockmodeノード、OrdinaryclockmodeノードのRTCを正確に同期させることができる。PTPPacket生成部generatorと送信部のRTCがハードウェア動作で時刻同期しているため、ソフトウェアで動作するRTCを使わなくて良くなる。したがって、RTC動作を実行する必要がなくなる分、CPUの処理量が減る。また、ハードウェア動作によって同期したRTCを使うので、nsオーダで安定した高精度な時刻同期を実現することができる。図4及び図5は、本実施形態の構成を示す図である。本実施形態の通信装置は、図4にあるように、監視制御ユニットMCU25とPacketIFユニット26、スイッチユニット27で構成されている。監視制御ユニット25とスイッチユニット27は、それぞれ、現用系と予備系が用意され、冗長化されている。監視制御ユニット25は、PacketIFユニット26に対し、装置全体の基本となるSystemClockとPPS信号を送出する。PacketIFユニット26は、監視制御ユニット25から供給されるPPS信号と、監視制御ユニット25から供給されるSystemClockを受信する。そして、これに基づいて、PacketIFユニット26内の監視制御FPGAFieldProgramableGateArrayとNPUに設置されているRTCのPTP時刻同期を実施する。また、これらに加え、PacketIFユニット26は、PTPPacket生成時のタイムスタンプと、外部へのPTPPacket送出時のタイムスタンプの処理を行う。図5は、PacketIFユニット内部の詳細ブロック構成図である。PacketIFユニットには、NPU31、及び、監視制御FPGA32が搭載されている。監視制御FPGA32にはPTPPacketGenerator35とPPSSystemClockにハードウェア動作で時刻同期したRTC36が設置されている。NPU31にはPacket送出部37、40と、監視制御FPGAに搭載されているRTC36とハードウェア動作で時刻同期したRTC38とが設置されている。図5において、SFP57は、光モジュールである。NPU31のSerDes58は、シリアルパラレル変換回路である。MAC40は、PTPTimeStamp機能を内蔵するMACブロックであり、パケット入力時の時刻情報をPTPパケットのヘッダに付与する。PP37は、ProgramablePipelineであり、NPU31内でユーザの定義するパケット処理を実施するブロックである。MAC41は、PTPパケットの送信受信ブロックである。RTC38は、PTP入力パケットに対して、受信時刻情報を提供する時計ブロックである。PCIe29は、PCIExpressインタフェースである。PCIeスイッチ42は、監視制御アクセス用として使用されるスイッチである。CPU43は、IFユニット内に搭載される監視制御用プロセッサであり、入力PTPパケットのTimeStamp情報を収集し、ネットワーク経由で監視制御ユニットMCU25に通知するものである。SysCLKPLL制御部44は、現用系及び予備系制御ユニットから選択されたSysClockに同期した基準クロックを生成するブロックである。MAC45は、PTPパケットの送受信ブロックである。PTPflowSeqIDrecognition52は、入力PTPパケットのフロー/シーケンス番号識別によるフィルタ処理を実施するブロックである。PTPSlaveTSmem46は、PTP入力パケットのTimeStamp情報を格納するメモリである。PTPPacketGenerator35は、送信PTPパケットの生成を制御するブロックであり、ハードウェアによる自立生成トリガで動作する。PTPPacketBuffer47は、送信PTPパケットデータを格納するメモリである。RTC36は、送信PTPパケットのoriginTimestamp時刻情報を提供するブロックであり、NPUのRTC38とPPS信号、クロックを共有することにより同じ時刻情報を保有する。PPS53-1PPS53-2は、MCUから入力されるPPS信号の受信ブロックであり、現用系、予備系の各々のMCUから受信する。SysClk54-1SysClk54-2は、MCUから入力されるSystemClock信号の受信ブロックであり、現用系、予備系のMCUそれぞれから受信する。SEL50、51は、セレクタであり、現用系、予備系のいずれの信号を受信するかを選択する。ILAN55-1ILAN55-2は、装置内LANインタフェースであり、現用系、予備系のMCUと各々接続する。L2SW56は、装置内LANスイッチである。PCIe48は、PCIExpressインタフェースである。MAC49は、装置内LANの送受信ブロックである。PTPパケットの送出動作を説明する。セレクタSEL50は、MCU監視制御ユニットの現用系、あるいは、予備系から送出されたPPS信号を選択する。セレクタSEL51は、MCU監視制御ユニットの現用系、あるいは、予備系から送出されたSysClk信号を選択する。セレクタSEL51が選択したSysClk信号を元に、基準となるクロックを、SysCLKPLL制御部44で、生成する。MCUから選択したPPS信号と、SysCLKPLL制御部44で生成された基準クロックを元に、RTC36,38を時刻同期させる。PTPPacketGenerator35において、PTPパケットを、ハードウェア動作によりRTC38と同期したRTC36を元に、生成する。そして、生成したPTPパケットをPTPPacketBuffer47に格納する。CPU43からのPTPPacketGenerator35に対するPTPパケット送出の命令が受信されると、PTPPacketBuffer47に格納してあるPTPパケットを出力する。そのとき、送出するPTPパケットのTimestamp情報をPTPSlaveTSmem46に格納する。そして、監視制御FPGA32からNPU31へPTPパケットを送出する。NPU31のPP37では、受信したデータをパイプライン処理して、MAC40にPTPパケットを転送する。MAC40では、PTPパケットを外部に送出する時刻をPTPのoriginTimestampフィールドに書き込む。ここで、この時刻を取得するRTC38は、ハードウェアの動作により、RTC36と時刻同期したものである。そして、SFPを経由して、PTPパケットを外部に送出する。図6及び図7は、監視制御ユニットの詳細ブロック構成を示す図である。監視制御ユニットには、PPS信号分配処理部とSystemClock分配処理部が搭載されている。図6は、PPS信号分配処理部の構成であり、図7は、SystemClock分配処理部の構成である。図6において、MCURS422CN60は、RS-422コネクタである。GPS受信機と接続されるインタフェースであり、PPS信号受信、TOD情報などの受信が行なわれる。PPS収集/分配ブロック61の位相比較部62は、自装置のPPS信号と、冗長装置のPPS信号の位相を比較するブロックである。PPS収集/分配ブロック61のPPSSEL63は、GPS受信機からの受信PPS信号と自装置内RTC82からのPPS信号のいずれを使用するかを選択する。PPS収集/分配ブロック61のShiftReg64は、シフトレジスタであり、SystemClockの基準クロックを用いて、PPS出力位相を制御する。DIS65は、PPS信号を装置内に分配するブロックである。BWBCN66は、バックボードコネクタであり、予備系のMCUや、各PacketIFユニットにPPS信号を分配する。NMEA処理部67は、GPS受信機とTOD情報をやり取りするブロックである。集中RTC82は、装置内で大元のRTC時刻情報を生成するブロックである。SystemClockを基準に動作しており、PTPアルゴリズムによるソフト制御によって、周波数制御、時刻制御が行なわれる。InternalLANブロック68は、レイヤ2で動作するスイッチである。CPU69は、各IFユニットから収集されたTimestamp情報を元に、PTPアルゴリズムを実施するプロセッサである。MCURS422CN60には、GPS受信機から受信したPPS信号を入力される。PPSSEL63は、GPSからのPPS信号あるいは、集中RTC82からのPPSのどちらかを選択する。ShiftReg64は、SystemClockの基準クロックを用いて、PPS出力位相を制御する。DIS65は、PPSを装置内に分配する。図7において、CATDSP70のRefCLKSEL71は、集中RTC73、内部発振器74、あるいは、各IFユニットから送出されるクロックの選択部である。CATDSP70のDPLL72は、RefCLKSEL71から入力されたクロックと周波数や位相ずれの無いクロックを生成するデジタルPLLである。集中RTC73は、装置内での大元のRTC時刻情報を生成するブロックである。SystemClockを基準に動作しており、PTPアルゴリズムによるソフト制御によって、周波数制御、時刻制御が行なわれる。集中RTC73は、図6の集中RTC82と同じものである。RTCBaseClock制御部75のfinegradeDPLL76は、高精度なデジタルPLLであり、SEL77から入力されたクロックをもとに、RTC73のベースとなるクロックを送出する。RTCBaseClock制御部75のSEL77は、内部発振器74からのクロックとCATDSP70からのクロックのいずれかを選択するブロックである。CPU78は、各IFユニットから収集されたTimestamp情報を元に、PTPアルゴリズムを実施するプロセッサである。CPU78は、図6のCPU69と同一のものを再掲したものである。DIS79は、クロックを装置内に分配するブロックである。BWBCN80は、バックボードコネクタである。MCUBNCCN81は、GPS受信機から送られてくるクロックを受信するコネクタである。このクロックは、例えば、10MHzである。RefCLKSEL71は、RTC73からのクロック、内部発振器74からのクロック、各IFユニットから送られてくるクロック、あるいは、GPS受信機からのクロックのうち、いずれかを基準クロックとして選択する。DPLL72は、選択されたクロックを元に、SystemClockを生成する。DIS79は、SystemClockを各IFユニットに分配する。図8は、監視制御ユニットの全体図である。監視制御ユニットは、図6及び図7で説明した詳細構成を有するが、図6のPPS信号分配処理部と図7のSystemClock分配処理部が結合された構成となる。その場合、図6の集中RTC82と図7の集中RTC73は同じもので、図6のCPU69と図7のCPU78は同じものとなっており、両処理部に共通の構成となっている。図9は、PacketIFユニットの監視制御FPGA内部のPTPPacketGeneratorのブロック構成図である。監視制御ユニットのPPS入力部85とタイムスタンプTSupdate部86との間にRTC87を設置している。このRTC87にはSecond単位310とnanosecond単位310のカウンタを設けており、NPUに設置されているRTCとハードウェア動作で時刻同期を実現している。図9のPTPPacketGeneratorは、GrandMastermodeのノードにおけるSyncパケットの生成を行なう。PacketGenManager88は、Syncパケットの生成制御ブロックである。100MHz基準クロックにより、ハードウェア自立トリガによるタイムスロットベースの生成タイミングを制御する。PacketGenTimeslotProfileTable89は、PTPセッションIDごとに設定されているSyncパケットの生成プロファイル情報を格納しているテーブルである。SyncPacketMemoryTable90は、Syncパケットデータを格納するテーブルである。Seccounterは、時刻情報の秒カウンタである。PPS信号によってインクリメントされるカウンタであり、SyncパケットのoriginTimestamp情報に使用される。NanoSeccounterは、時刻情報のナノ秒カウンタである。100MHz信号によってインクリメントされ、PPS信号によってリセットされるカウンタである。SyncパケットのoriginTimestamp情報に使用される。TSupdate部86は、SyncパケットのoriginTimestamp領域を現在の時刻情報に更新するブロックである。correctionFieldupdate部91は、SyncパケットのcorrectionField領域を更新するブロックである。seqIDupdate部92は、SyncパケットのシーケンスID領域を更新するブロックである。currentseqIDTable93がカウントするシーケンスID番号を用いて、シーケンスID領域を更新する。currentseqIDTable93は、PTPセッションIDごとに管理されているSyncパケットの現在のシーケンスID番号を格納しているメモリであり、アクセスされる毎に自動的に1だけインクリメントされる。Timestamprecording部94は、Syncパケット生成に対して、PTPセッションID,シーケンスIDごとに、originTimestamp情報、correctionField情報を格納するブロックである。TimestampTable95は、PTPセッションID、シーケンスIDごとに、originTimestamp情報、correctionField情報を格納するメモリである。MUX96は、ハードウェア自立生成パケットと、他のパケットの合流処理を行う。DevIDswitchremove部97は、デバイスID情報を元に、行き先をスイッチするブロックである。デバイスID情報は、このブロックを通過後、削除される。MAC1498は、送信パケットの行き先であり、図9では、4ポートを想定している。入力PTPパケットのTimestamp情報を収集し、LAN経由でMCUに伝達する。ブロック99は、ハードウェアで構成され、originTimestampの値からcorrectionFieldの値を得る処理を実行する。最初に、8バイトのoriginTimestampを、LSBの更新を行う。そして、NPUの外部にデータを送信する。図10B及び図10Cには、各部におけるPTPパケットのフレームフォーマットが示されている。図10Bの上段のフレームフォーマットは、図10AのMACIF部40から外部にパケットを送出する、あるいは、外部からパケットを受信する際のフォーマットである。図10Bの下段のフレームフォーマットは、図10AのPP部37と内部メモリスイッチとの間のパケットを送受する場合のフォーマットである。図10Cは、MACIF部41と45の間でパケットを送受する場合のフォーマットである。外部に送出するPTPパケットは、MACヘッダ、IPv4ヘッダIPv6ヘッダ、あるいは、これは無くてもよい、UDPチェックサムあるいは、これは無くてもよい、シーケンスID、originTimestamp、correctionField、MACFCSからなっている。これがMACIF部45、41の間で転送される場合には、Metadataが先頭に付加され、MACフレームに埋め込まれて転送される。また、NPU内部で転送される場合には、PTPパケットの先頭に、TITxヘッダが付加されて転送される。このように、PTPパケットが異なるプロトコルで転送される場合にも、PTPパケットをラッピングして転送し、シーケンスID、originTimestamp、correctionFieldのフレーム内の位置から、これらのフィールドを適切に更新することにより、PTPの処理が可能となる。シーケンスID、originTimestamp、correctionFieldのフィールドのフレーム内位置は、適用されるプロトコルでの転送において付加されるヘッダ内に設定すればよい。以上のように、PTPPacket生成部generatorと送信部のRTCがハードウェア動作で時刻同期しているため、PTPPacket生成時もnsオーダ、データ送出時もnsオーダのタイムスタンプを打つことができる。また、PTPパケット中のcorrectionFieldの補正量の揺らぎを極力抑えることができる。PTPパケット中のcorrectionFieldの補正量の揺らぎを抑えることにより、RTCの時刻を補正するための補正量の値が正確なものとなる。したがって、補正量が正確なるため、Grandmastermodeノードと、Boundaryclockmodeノード、OrdinaryclockmodeノードのRTCを正確に同期させることができる。PTPPacket生成部generatorと送信部のRTCがハードウェア動作で時刻同期しているため、ソフトウェアで動作するRTCを使わなくて良くなる。したがって、RTC動作を実行する必要がなくなる分、CPUの処理量時刻補正処理量が減る。また、ハードウェア動作によって同期したRTCを使うので、従来のμsオーダからnsオーダの高精度な時刻同期を行うことができる。IEEE1588PTPには以下のような処理メカニズムと各メッセージが存在する。DelayrequestresponseメカニズムSyncメッセージFollowUpメッセージDelayReqメッセージDelayRespメッセージPeerDelayメカニズムPdelayReqメッセージPdelyaRespメッセージPdelayRespFollowUPメッセージ上記全てのメッセージのタイムスタンプ処理において本実施形態が適用できるため、IEEE1588規格の遅延測定を高精度化し、低CPU負荷を実現できる。本実施形態は、ロングホールの有線通信装置だけでなく、モバイルネットワークの通信装置においても適用することができる。図11は、OTNPTPシステムに本実施形態を適用した構成例を示す図である。図11において、図5と同じ構成要素には同じ参照符号を付し、それらの説明を省略する。図11において、Packet生成側のRTCとOTN最終送信側のRTCとを、NPUのRTCと共に、ハードウェア動作により時刻同期させる。ことにより、OTNPTPシステムにおいても、nsオーダの高精度な時刻同期を実現することができる。なお、このとき、NPU31のRTC38は使用せず、MAC40では、TimeStamp処理を行わない。図11において、XFPは、10GbEthernet等で使用される光モジュールである。OTN30のSerDesは、シリアルパラレル変換回路である。OTN30のMACは、PTPTimestamp機能を内蔵するMACブロックであり、PTPパケット入力時の時刻情報をPTPパケットのヘッダに付与する。RTC39は、PTP入力パケットに対して、受信時刻情報を提供する時計ブロックである。図11の構成においては、NPU31からOTN30にPTPパケットを送出すると、OTN30のMACにおいて、PTPパケットを外部に送出する時刻をPTPパケットに書き込み、XFPを経由して、PTPパケットを外部に送出する。"