色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-09-12 08:59 ? 次閱讀

1 概述

1588是IEEE規(guī)范定義的網(wǎng)絡(luò)實(shí)時(shí)同步標(biāo)準(zhǔn)。它提供一種通過(guò)網(wǎng)絡(luò)信息交互以獲得精準(zhǔn)時(shí)鐘信息的標(biāo)準(zhǔn)。和在廣域網(wǎng)上的NTP協(xié)議比較,1588最新標(biāo)準(zhǔn)提供高于納秒級(jí)別的時(shí)鐘精度,可以用來(lái)滿足要求在一個(gè)相對(duì)小的空間范圍內(nèi)對(duì)時(shí)鐘同步有嚴(yán)格要求的應(yīng)用場(chǎng)景,例如基站同步,音視頻網(wǎng)橋(AVB),工業(yè)控制,產(chǎn)線控制,軍事應(yīng)用等。

KeyStone架構(gòu)是TI推出的高性能多核架構(gòu),該架構(gòu)目前已演進(jìn)了兩代——KeyStone1 和KeyStone2。基于KeyStone架構(gòu),TI推出多款針對(duì)基站和網(wǎng)絡(luò)應(yīng)用的多核芯片

KeyStone1家族基于40nm工藝,包括如下器件型號(hào):

TCI6616

TCI6618

TCI6614 和TCI6612

TMS320C6678、TMS320C6674、TMS320C6672 等

KeyStone2家族基于28nm工藝,包括如下器件型號(hào):

TCI6636K2H

TCI6634K2K

TCI6638K2K

TCI6630K2L

本文首先介紹IEEE1588的基本原理,然后以常見(jiàn)的基于PHY的IEEE1588實(shí)現(xiàn)方案為參考,介紹KeyStone架構(gòu)上支持IEEE1588的硬件功能。同時(shí),本文總結(jié)了在KeyStone1芯片上實(shí)現(xiàn)IEEE1588方案需要注意的實(shí)現(xiàn)細(xì)節(jié),并對(duì)KeyStone2芯片的1588方案做初步介紹。

2 IEEE1588時(shí)鐘同步原理

IEEE1588使用精準(zhǔn)時(shí)間協(xié)議PTP(Precision Timing Protocol),通過(guò)端到端的報(bào)文交互獲得時(shí)鐘參考信息,矯正本地時(shí)鐘頻率和相位。1588協(xié)議基于兩個(gè)假設(shè)條件:第一,在時(shí)鐘源設(shè)備和受時(shí)鐘設(shè)備之間,網(wǎng)絡(luò)報(bào)文傳輸時(shí)間是對(duì)稱的。也就是說(shuō)一個(gè)報(bào)文從時(shí)鐘源設(shè)備到受時(shí)鐘設(shè)備的傳輸時(shí)間等于報(bào)文從受時(shí)鐘設(shè)備到時(shí)鐘源設(shè)備的傳輸時(shí)間相同;第二,在PTP報(bào)文交換過(guò)程當(dāng)中,本地時(shí)鐘的漂移可以忽略不計(jì)。

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

如圖所示,在經(jīng)過(guò)sync->delay_request->delay_response消息交互以后,受時(shí)鐘設(shè)備獲得4個(gè)時(shí)間值。以太網(wǎng)報(bào)文在兩個(gè)設(shè)備之間的環(huán)路時(shí)延可以計(jì)算為:

Troundtrip=(t4-t1)-(t3-t2)

假設(shè)包傳輸時(shí)延是對(duì)稱的,那么單路時(shí)延是:

Ttripdelay=((t4-t1)-(t3-t2))/2

從時(shí)鐘設(shè)備的時(shí)鐘和主時(shí)鐘的差值是:

Tdelta=t2-(t1+Ttripdelay)

實(shí)際部署時(shí),時(shí)鐘源發(fā)送sync消息,從設(shè)備根據(jù)多個(gè)sync消息來(lái)計(jì)算本地時(shí)鐘的偏差。當(dāng)從設(shè)備需要同步本地時(shí)鐘相位的時(shí)候,發(fā)送delay_req消息,時(shí)鐘源發(fā)送delay_response,從設(shè)備根據(jù)獲得的4個(gè)時(shí)間值來(lái)估計(jì)相位的偏差。

對(duì)于時(shí)鐘源設(shè)備,如果在發(fā)送sync報(bào)文時(shí)所帶的時(shí)間戳就是報(bào)文發(fā)送時(shí)采集的準(zhǔn)確時(shí)間,這種模式叫做single step模式。如果發(fā)送sync報(bào)文的時(shí)候所帶的時(shí)間戳只是一個(gè)近似時(shí)間,sync報(bào)文發(fā)送的準(zhǔn)確時(shí)間不能在發(fā)送sync報(bào)文的時(shí)候獲得或者實(shí)時(shí)插入到sync報(bào)文中,時(shí)鐘源設(shè)備需要發(fā)一個(gè)follow up消息報(bào)文,用來(lái)傳遞sync 報(bào)文的準(zhǔn)確發(fā)送時(shí)間,這種模式叫做two step模式。下面介紹的PHY 方案支持時(shí)鐘源single step,TI的KeyStone架構(gòu)支持時(shí)鐘源two step模式。

3 1588芯片實(shí)現(xiàn)方案

根據(jù)打時(shí)間戳的方式不同,常見(jiàn)的1588方案分為軟件時(shí)間戳方案和硬件時(shí)間戳方案。軟件方案通常是通過(guò)軟件手段在網(wǎng)絡(luò)報(bào)文的接收中記錄PTP報(bào)文接收或發(fā)送時(shí)間,處理靈活,可以根據(jù)應(yīng)用場(chǎng)景靈活處理PTP協(xié)議報(bào)文,支持多種封裝格式。但是因?yàn)檐浖袛嗟臅r(shí)間抖動(dòng)大,軟件時(shí)間戳方案的精度較差,在對(duì)精度要求不高的情況下使用。硬件方案通過(guò)特殊硬件解析PTP 報(bào)文,并用硬件記錄報(bào)文發(fā)送或接收時(shí)間。硬件方案精度高,但是需要特殊硬件解析PTP報(bào)文,在特殊場(chǎng)景中,例如PTP over IPSec,報(bào)文經(jīng)過(guò)加密,硬件無(wú)法解析PTP報(bào)文。根據(jù)硬件方案獲取報(bào)文收發(fā)時(shí)間地點(diǎn)不同,硬件方案又分在PHY上集成的1588方案和MII集成的1588方案等。

下面先簡(jiǎn)單介紹一下TI基于PHY的硬件解決方案作為參考,然后著重介紹KeyStone架構(gòu)上的基于MII和PA的1588 方案。

3.1 以太網(wǎng)PHY1588方案(DP83640)

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

DP83640[11]是一款百兆網(wǎng)口PHY,集成1588功能,對(duì)外提供校準(zhǔn)過(guò)的時(shí)鐘和PPS信號(hào),同時(shí)還支持同步以太網(wǎng)功能,直接從物理層獲得遠(yuǎn)端時(shí)鐘。在支持同步以太網(wǎng)的情況下,使用1588做相位調(diào)整,實(shí)驗(yàn)表明最終的時(shí)鐘偏差精度可以達(dá)到納秒以下。

83640 timestamp模塊維護(hù)一個(gè)本地的1588計(jì)數(shù)器,包括32bit的秒計(jì)數(shù)和30bit的納秒計(jì)數(shù)。PTP報(bào)文中要求的48bit秒計(jì)數(shù)中的高16位需要軟件維護(hù)。上層軟件在發(fā)送一個(gè)1588報(bào)文的時(shí)候,時(shí)間戳中秒計(jì)數(shù)的高16位由軟件設(shè)置的,低32位設(shè)置為0。

報(bào)文解析模塊用來(lái)匹配解析PTP報(bào)文。83640支持1588Annex D&E和Annex F格式的報(bào)文。當(dāng)PTP報(bào)文送至PHY時(shí),報(bào)文解析硬件檢測(cè)到這個(gè)PTP報(bào)文的時(shí)鐘,在報(bào)文發(fā)出時(shí),把本地的時(shí)間戳寫到PTP報(bào)文里面,并修改相關(guān)的CRC 和CHKSUM值。83640支持1588 single step模式的時(shí)鐘源。在報(bào)文接收方向,同樣有報(bào)文解析硬件。在解析到PTP報(bào)文以后,接收?qǐng)?bào)文的準(zhǔn)確時(shí)間戳可以插入在報(bào)文里,或者通過(guò)控制接口上報(bào)。

83640的1588時(shí)鐘模塊對(duì)外提供頻率控制接口,軟件通過(guò)控制寄存器可以調(diào)整輸出的時(shí)鐘頻率。1588時(shí)鐘模塊根據(jù)上層軟件的配置,對(duì)1588時(shí)鐘模塊的輸入時(shí)鐘信號(hào)微調(diào),然后分頻輸出。時(shí)鐘調(diào)整是通過(guò)調(diào)整每個(gè)時(shí)鐘周期的時(shí)間來(lái)實(shí)現(xiàn)的。在每個(gè)時(shí)鐘周期調(diào)整的單位是2-32ns。在正常模式下,這個(gè)調(diào)整機(jī)制用來(lái)補(bǔ)償本地時(shí)鐘和時(shí)鐘源的差距。在長(zhǎng)期工作以后產(chǎn)生累積同步誤差時(shí),軟件可以調(diào)整寄存器的值,在一定時(shí)間內(nèi),對(duì)頻率向上或者向下微調(diào),以補(bǔ)償相位差距。當(dāng)在相位補(bǔ)償以后,恢復(fù)正常頻率補(bǔ)償模式。

軟件協(xié)議棧通過(guò)協(xié)議處理以后獲得本地的時(shí)鐘與時(shí)鐘源的絕對(duì)時(shí)間差值,然后通過(guò)寄存器調(diào)整本地絕對(duì)時(shí)間戳。在修改時(shí),軟件把絕對(duì)時(shí)間差值寫入寄存器,然后使能修改。這種方法適用初始同步時(shí)單次校正本地絕對(duì)時(shí)間戳。如在正常工作中出現(xiàn)累積相位偏差,應(yīng)該使用前面介紹的微調(diào)方法,避免輸出時(shí)鐘抖動(dòng)。

應(yīng)用層通過(guò)設(shè)置83640的trigger control模塊來(lái)控制輸出PPS 或者其他同步信號(hào)。應(yīng)用可以設(shè)置在timestamp 的哪些具體時(shí)刻某個(gè)GPIO管腳可以發(fā)生反轉(zhuǎn)。trigger的輸出可以線與并輸出到GPIO管腳,通過(guò)線與可以是輸出復(fù)雜的周期波形。

83640方案實(shí)現(xiàn)簡(jiǎn)單,直接輸出矯正時(shí)鐘及相位信號(hào),但是對(duì)于復(fù)雜傳輸場(chǎng)景支持困難;而且相比不包含IEEE1588功能的PHY芯片,83640的成本要高出許多。

3.2 KeyStone1 1588方案

KeyStone架構(gòu)是TI推出的高性能多核架構(gòu),現(xiàn)在已經(jīng)有KeyStone1和KeyStone2兩種架構(gòu)。KeyStone架構(gòu)中也包含了對(duì)IEEE1588功能的支持。

KeyStone1系列芯片的1588方案包括兩個(gè)硬件部分:記錄時(shí)間戳,發(fā)送同步脈沖。KeyStone1支持two step的時(shí)間戳模式,同時(shí)也能支持1588協(xié)議中Annex D&E和Annex F規(guī)定的PTP報(bào)文解析。

對(duì)于記錄時(shí)間戳,KeyStone1對(duì)于Annex D&E和Annex F采用不同的硬件來(lái)支持。Annex D&E使用以太網(wǎng)協(xié)處理(NetCP)里面的包加速器(PA)來(lái)支持;Annex F報(bào)文使用以太網(wǎng)交換機(jī)(GE Switch)里面的CPTS模塊來(lái)支持 [12-13]。

對(duì)于同步信號(hào)的輸出,KeyStone1里面需要通過(guò)Timer64[14]來(lái)完成。軟件通過(guò)CPTS或者PA獲取到時(shí)間戳后,計(jì)算需要調(diào)整的頻率和相位,然后通過(guò)配置Timer64的周期寄存器來(lái)更改Timer64的輸出周期,調(diào)整輸出的相位信息;通過(guò)SPI接口調(diào)整外部的VCXO的輸出頻率,矯正本地時(shí)鐘頻率。

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

3.2.1 Annex D&E PTP報(bào)文處理

PA內(nèi)部會(huì)維護(hù)一個(gè)48bit的計(jì)時(shí)器,該計(jì)時(shí)器的頻率與PA的頻率一致(一般是350MHz)。由于Annex D&E報(bào)文的承載方式為IP/UDP承載(報(bào)文模式為IPv4和IPv6),當(dāng)用戶收到或者發(fā)送一個(gè)IPv4或IPv6的PTP報(bào)文時(shí),在PA 側(cè)會(huì)記錄一個(gè)報(bào)文接收(或發(fā)送)的時(shí)間戳,這個(gè)時(shí)間戳只有32bit(為48bit中的低32bit)。這個(gè)時(shí)間戳保存在用戶指定的QMSS的某個(gè)Queue的描述符里面。

用戶從Queue中提取出該描述符:如果是接收,用戶可根據(jù)描述符信息解析報(bào)文類型,獲取報(bào)文內(nèi)容,同時(shí)讀取32bit時(shí)間戳并換算成絕對(duì)時(shí)間。如果是發(fā)送,用戶只需讀取時(shí)間戳,轉(zhuǎn)換為1588 48bit絕對(duì)時(shí)間后按照1588 two step的規(guī)則再做報(bào)文發(fā)送。

3.2.2 Annex F PTP報(bào)文處理

GE Switch模塊上的CPTS模塊支持對(duì)1588 Annex F(以太網(wǎng)封裝)的PTP報(bào)文解析,支持VLAN。在CPSW邏輯匹配到PTP報(bào)文時(shí),會(huì)觸發(fā)一個(gè)硬件信號(hào)給CPTS模塊用來(lái)觸發(fā)時(shí)間戳獲取。

CPTS 的時(shí)間戳模塊維護(hù)一個(gè)32bit的timer,根據(jù)配置,這個(gè)timer可以工作在二分之一CPU主頻上。這個(gè)timer 是一個(gè)free run timer。軟件通過(guò)這個(gè)timer換算得到1588的32bit納秒時(shí)鐘和48bit秒時(shí)鐘。因?yàn)閠imer只有32bit,所以軟件需要處理timer反轉(zhuǎn)事件,用來(lái)維護(hù)秒信息。CPTS得到時(shí)間事件以后,會(huì)將PTP報(bào)文的消息類型和Sequence ID等信息壓入EVENT FIFO中,并觸發(fā)中斷讓用戶處理。

3.2.3 同步信號(hào)的產(chǎn)生

同步信號(hào)需要通過(guò)Timer64來(lái)產(chǎn)生。由于Timer64,PA以及CPTS都是共用KeyStone外部的VCXO,因此從時(shí)間源上保證各個(gè)計(jì)時(shí)器之間沒(méi)有累積誤差。這樣計(jì)算出來(lái)的各個(gè)絕對(duì)時(shí)間也是固定不變的。

關(guān)于同步信號(hào)的時(shí)間戳,有兩點(diǎn)需要說(shuō)明:

1.KeyStone芯片的1588功能不維護(hù)絕對(duì)時(shí)間戳,時(shí)間信息是從CPTS timer或者PA的timer換算出來(lái)。這樣也不支持對(duì)1588報(bào)文發(fā)送時(shí)實(shí)時(shí)修改,所以在用KeyStone芯片做時(shí)鐘源時(shí),芯片只支持two step模式。

2.輸出時(shí)鐘方案需使用KeyStone1芯片上的定時(shí)器的輸出。因?yàn)镃PTS(或PA)上打時(shí)間戳的計(jì)數(shù)器和定時(shí)器使用的時(shí)鐘雖然是同源,但是相位不同,產(chǎn)生的PPS時(shí)鐘時(shí),需要軟件參與校正兩個(gè)計(jì)數(shù)器,并對(duì)記錄相應(yīng)的相位差。具體實(shí)現(xiàn)時(shí),需要首先對(duì)CPTS(或PA)里面的計(jì)數(shù)器和選定的Timer64計(jì)數(shù)器相差相位進(jìn)行計(jì)算。軟件首先操作CPTS(或PA)寄存器,觸發(fā)一個(gè)CPTS時(shí)間戳記錄事件(或者發(fā)起一個(gè)讀取PA時(shí)間戳寄存器的命令),然后馬上讀取timer64的值。考慮到cache問(wèn)題以及硬件總線上的競(jìng)爭(zhēng)可能性,軟件應(yīng)在一個(gè)循環(huán)內(nèi)多次執(zhí)行這個(gè)操作,保證執(zhí)行程序加載到L1 cache中,兩個(gè)時(shí)鐘之間的相位差應(yīng)該可以通過(guò)循環(huán)幾次獲得的值平均得到。

3.3 KeyStone2 1588方案

KeyStone2架構(gòu)的TI芯片對(duì)1588的支持做了改進(jìn)和增強(qiáng)。CPTS模塊支持同步以太網(wǎng)(Annex F)和1588 Annex D &E的報(bào)文。在KeyStone2芯片中,PPS輸出是直接由CPTS邏輯驅(qū)動(dòng)的。軟件通過(guò)設(shè)置相關(guān)寄存器設(shè)置下一個(gè)PPS 輸出時(shí)timestamp的值,當(dāng)計(jì)數(shù)器跑到設(shè)置的值的時(shí)候,硬件觸發(fā)PPS信號(hào)輸出。

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

相比KeyStone1的方案,KeyStone2的主要優(yōu)點(diǎn)在于:

1.方案簡(jiǎn)單,涉及到的硬件和底層器件更少

KeyStone1需要PA,CPTS,Timer64,QMSS等外設(shè)和加速器來(lái)支持整套方案,而KeyStone2只需要CPTS一個(gè)模塊就可以支持Annex D&E和Annex F的PTP報(bào)文,同時(shí)也支持同步信號(hào)的輸出;

2.時(shí)間戳個(gè)數(shù)減少,降低了計(jì)算復(fù)雜度

KeyStone1里面需要計(jì)算包括PA時(shí)間戳,CPTS時(shí)間戳以及Timer64的時(shí)間戳在內(nèi)的共計(jì)3個(gè)時(shí)間戳與PTP報(bào)文的真實(shí)時(shí)間的絕對(duì)時(shí)間相差;KeyStone2里面只有CPTS一個(gè)時(shí)間戳需要計(jì)算;

3.方案全由硬件邏輯完成,徹底避免了軟件干預(yù)同時(shí)也提高了同步精度

KeyStone 1的方案由于記錄時(shí)間戳的時(shí)間源(PA和CPTS)與發(fā)送同步信號(hào)的時(shí)間源(Timer64)是不同的,因此在系統(tǒng)運(yùn)行的時(shí)候需要軟件計(jì)算不同時(shí)間源的絕對(duì)時(shí)間差,這樣才能在后面的時(shí)間同步中精確調(diào)整時(shí)間。這里有軟件讀取并計(jì)算時(shí)間差的工作,這部分工作不可避免的存在軟件誤差,雖然可以通過(guò)多次計(jì)算取平均等統(tǒng)計(jì)手段縮小誤差,但還是對(duì)精度存在一定的影響。KeyStone2中,記錄時(shí)間戳和發(fā)送同步脈沖都在CPTS中,因此無(wú)需計(jì)算兩者的時(shí)間差,這樣就避免了軟件干預(yù),也提高了同步精度。

4 KeyStone1 1588方案實(shí)現(xiàn)

前文從原理和方案上描述了KeyStone中如何實(shí)現(xiàn)1588方案,本章節(jié)以KeyStone1為例,從技術(shù)細(xì)節(jié)方面來(lái)闡述1588實(shí)現(xiàn)方式。

以Annex F的PTP報(bào)文為例,1588的實(shí)現(xiàn)主要分為配置Gbe Switch[3]和計(jì)算時(shí)間偏差兩部分。整體流程如下:當(dāng)接收(或發(fā)送)一個(gè)802.3的PTP報(bào)文時(shí),Gbe Switch會(huì)自動(dòng)偵測(cè)到PTP報(bào)文的接收(或發(fā)送)時(shí)間,并將該時(shí)間戳記錄下來(lái);用戶根據(jù)記錄下來(lái)的時(shí)間戳,配置Timer64的時(shí)間輸出信號(hào),獲取當(dāng)前需要調(diào)整的時(shí)間偏差。

4.1 Gbe Switch配置

KeyStone1中的Gbe Switch是一個(gè)集成了1588 PTP報(bào)文檢測(cè)的交換機(jī),其中CPTS用來(lái)記錄時(shí)間戳,CPSW用來(lái)偵測(cè)1588報(bào)文。因此1588實(shí)現(xiàn)方式主要通過(guò)配置CPTS和配置CPSW來(lái)實(shí)現(xiàn)。

4.1.1 CPTS配置

CPTS是KeyStone1架構(gòu)中Gbe Switch中的一個(gè)模塊,請(qǐng)參考文獻(xiàn)[12]中的2.3.5章節(jié)。該章節(jié)詳細(xì)介紹了CPTS模塊的工作場(chǎng)景和寄存器列表。

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

CPTS 配置步驟如下:

1)復(fù)位CPTS模塊;

CPTS的復(fù)位通過(guò)將TS_CONTROL寄存器中的CPTS_EN位域?qū)?來(lái)實(shí)現(xiàn)。

2)選擇CPTS時(shí)鐘源;

CPTS時(shí)鐘源在CPTS_RFTCLK_SEL寄存器中選擇,有四種時(shí)鐘源可以選擇:SYSCLK3,SYSCLK4,TIMI0 和TIMI1。其中SYSCLK3是1/2 CPU時(shí)鐘,SYSCLK4是1/3 CPU時(shí)鐘,TIMI0和TIMI1分別是兩個(gè)外部時(shí)鐘輸入pin腳,原本是作為Timer64的輸入時(shí)鐘,這里也可以復(fù)用為CPTS的時(shí)鐘源。

3)使能CPTS模塊;

CPTS的使能通過(guò)將TS_CONTROL寄存器中的CPTS_EN位域?qū)?來(lái)實(shí)現(xiàn)。當(dāng)CPTS使能后,CPTS內(nèi)部的時(shí)間記數(shù)器就會(huì)根據(jù)輸入時(shí)鐘的頻率開(kāi)始記數(shù)。

4)使能CPTS中斷;

CPTS模塊中斷使能通過(guò)配置INT_EABLE來(lái)完成。CPTS可以產(chǎn)生多種事件的中斷,主要有:

Push中斷:用戶手動(dòng)觸發(fā)一個(gè)Push事件,該事件會(huì)記錄當(dāng)前CPTS的時(shí)間戳,并觸發(fā)中斷;

記數(shù)器翻轉(zhuǎn)中斷:當(dāng)CPTS的32bit記數(shù)器從0xFFFFFFFF變?yōu)?x00000000時(shí)會(huì)自動(dòng)觸發(fā)一個(gè)中斷;

記數(shù)器半翻轉(zhuǎn)中斷:當(dāng)CPTS的32bit記數(shù)器從0x7FFFFFFF變?yōu)?x80000000時(shí)會(huì)自動(dòng)觸發(fā)一個(gè)中斷;

以太網(wǎng)PTP報(bào)文接收中斷:當(dāng)接受1個(gè)以太網(wǎng)PTP報(bào)文時(shí)觸發(fā)中斷;

以太網(wǎng)PTP報(bào)文發(fā)送中斷:當(dāng)發(fā)送1個(gè)以太網(wǎng)PTP報(bào)文時(shí)觸發(fā)中斷;

4.1.2 CPSW的配置

CPSW是屬于Switch的組成部分,可以通過(guò)配置CPSW讓Switch識(shí)別PTP報(bào)文。CPSW的報(bào)文識(shí)別功能也通過(guò)配置寄存器的方式來(lái)實(shí)現(xiàn)。需要說(shuō)明的是,由于Switch對(duì)外有兩個(gè)接口(port1和port2),因此對(duì)應(yīng)的寄存器也有兩份。其寄存器列表如下圖所示:

IEEE1588的原理介紹及在KeyStone1芯片上實(shí)現(xiàn)IEEE1588設(shè)計(jì)方案

配置步驟如下:

1)配置LTYPE;

每種以太網(wǎng)報(bào)文都有一個(gè)類型,CPSW將根據(jù)這個(gè)類型配置偵測(cè)用戶需要的報(bào)文。根據(jù)以太網(wǎng)報(bào)文的定義,IEEE1588的PTP報(bào)文的類型為0x88F7。用戶需要將這個(gè)類型寫入Pn_TS_SEQ_LTYPE中(n表示端口號(hào))。

2)配置VLAN ID(如果使能了VLAN報(bào)文的話);

用戶可以定義需要的VLAN ID,在Pn_TS_VLAN寄存器里面配置。

3)使能CPSW檢測(cè)模塊;

CPSW的使能包括接收和發(fā)送的使能,需要用戶配置Pn_TS_CTL里面對(duì)應(yīng)的位域。

4.2 時(shí)間偏差的計(jì)算和調(diào)整

Gbe Switch完成對(duì)PTP報(bào)文的時(shí)間戳記錄之后,用戶需要根據(jù)時(shí)間戳計(jì)算當(dāng)前需要調(diào)整的時(shí)間數(shù)。由于真實(shí)系統(tǒng)時(shí)間是基于Timer64的時(shí)間戳,因此用戶在計(jì)算CPTS的時(shí)間戳之后需要換算到真實(shí)系統(tǒng)時(shí)間。

為了方便說(shuō)明和計(jì)算,在下面的配置中,假定CPU時(shí)鐘為1GHz,CPTS采用1/3 CPU時(shí)鐘,Timer64的定時(shí)周期為1ms。

4.2.1 CPTS時(shí)鐘到系統(tǒng)時(shí)鐘

由于CPTS的時(shí)間戳只有32bit,因此CPTS翻轉(zhuǎn)后時(shí)間戳不能代表真實(shí)時(shí)間,用戶需要記錄翻轉(zhuǎn)的次數(shù)以獲得Tcpts。那么換算關(guān)系如下:

其中,N代表CPTS翻轉(zhuǎn)次數(shù),TIME_STAMP_CPTS代表當(dāng)前CPTS的32bit時(shí)間戳。Timer64是以1ms為周期進(jìn)行記數(shù)的定時(shí)器,其輸入時(shí)鐘為固定的1/6 CPU時(shí)鐘,因此可以算出Timer64的記數(shù)器范圍為0~166666(Timer64采用連續(xù)記數(shù)方式)。因此可以得出如下公式:

其中TIME_STAMP_TIMER代表當(dāng)前Timer64的時(shí)間戳。當(dāng)Timer64和CPTS完成使能,用戶可以通過(guò)讀取兩者時(shí)間戳的方式獲取兩者的在1ms內(nèi)的基本時(shí)間戳。假設(shè)讀取之后兩者時(shí)間戳偏差為Toffset,由于Timer64和CPTS同源,因此可以認(rèn)為此偏差在CPTS或Timer64復(fù)位前保持不變。

4.2.2 時(shí)間調(diào)整

1588的時(shí)間調(diào)整包括調(diào)頻和調(diào)相兩部分。通常來(lái)說(shuō),需要先保證頻率同步,然后再進(jìn)行相位調(diào)整。調(diào)頻的部分不需要Timer64的參與,需要比對(duì)PTP報(bào)文中的時(shí)間戳差值和CPTS記錄的時(shí)間戳,處理如下:

其中Teth1和Teth0分別表示收到的兩個(gè)PTP報(bào)文中自帶的主時(shí)鐘時(shí)間戳(納秒級(jí)),而Tcpts1和Tcpts0代表這接收這兩個(gè)PTP報(bào)文時(shí)由CPTS得到的時(shí)間。考慮到傳輸對(duì)稱性,這里可以不考慮傳輸過(guò)程時(shí)延的影響。

用戶通過(guò)比對(duì)?eth和?cpts來(lái)確定當(dāng)前系統(tǒng)頻率與主時(shí)鐘頻率的差別。

當(dāng)調(diào)頻過(guò)程基本完成,即?eth≈?cpts時(shí)可以進(jìn)行相位調(diào)整。調(diào)相的主要工作是調(diào)整Timer64的輸出脈沖,由于輸出脈沖以1ms為周期,因此只需計(jì)算在1ms內(nèi)的偏差即可。相位調(diào)整的主要原理如下:

其中,Teth表示接收到的PTP報(bào)文的主時(shí)鐘時(shí)間,Tcpts表示該P(yáng)TP報(bào)文對(duì)應(yīng)的CPTS時(shí)間,Toffset表示CPTS和Timer64的時(shí)間差,Ttripdelay表示網(wǎng)絡(luò)傳輸時(shí)間。

按照計(jì)算后,Timer64的輸出周期需要滿足如下條件:

4.3 KeyStone1 1588方案的說(shuō)明

KeyStone1的1588方案主要依靠配置Gbe Switch和軟件換算時(shí)間戳兩部分來(lái)完成。需要強(qiáng)調(diào)的是,在軟件換算時(shí)間的部分,這涉及到具體的1588時(shí)間戳計(jì)算算法。基于應(yīng)用的需求和精度需求,許多算法往往比這里介紹的更復(fù)雜,但是原理上來(lái)說(shuō)都是相同的。這也是KeyStone架構(gòu)使用軟件實(shí)現(xiàn)1588部分的一個(gè)優(yōu)勢(shì),用戶可以靈活使用軟件功能來(lái)提高1588的同步精度。

5 小結(jié)

從目前來(lái)看,IEEE1588v2標(biāo)準(zhǔn)已經(jīng)越來(lái)越多的應(yīng)用在通訊網(wǎng)絡(luò)中。由于IEEE1588v2標(biāo)準(zhǔn)也還在不斷的完善中,因此從技術(shù)角度出發(fā),熟悉1588同步原理,了解并設(shè)計(jì)不同場(chǎng)景中的1588方案,不論是從芯片設(shè)計(jì)角度或者基站整體解決方案角度來(lái)說(shuō),都是十分必要的。

本文簡(jiǎn)要的介紹了IEEE1588的原理,并分類分析了1588同步功能在PHY 以及KeyStone1和KeyStone2芯片上的應(yīng)用方案。以太網(wǎng)PHY實(shí)現(xiàn)1588同步的精度最高,但是成本相對(duì)比較昂貴;德州儀器的KeyStone架構(gòu)上集成了支持1588的Switch,用戶可以通過(guò)KeyStone架構(gòu)靈活實(shí)現(xiàn)1588同步功能,也為用戶的方案設(shè)計(jì)提供了更多的選擇。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423157
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5419

    瀏覽量

    171603
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120232
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32 IEEE1588時(shí)間同步

    有誰(shuí)在STM32實(shí)現(xiàn)過(guò)IEEE1588精確時(shí)間同步的嗎?
    發(fā)表于 02-23 16:22

    IEEE1588的原理

    IEEE1588的全稱是“網(wǎng)絡(luò)測(cè)量和控制系統(tǒng)的精密時(shí)鐘同步協(xié)議標(biāo)準(zhǔn)”,基本構(gòu)思是通過(guò)硬件和軟件將網(wǎng)絡(luò)設(shè)備(客戶機(jī))的內(nèi)時(shí)鐘與主控機(jī)的主時(shí)鐘實(shí)現(xiàn)同步,提供同步建立時(shí)間小于10μs的運(yùn)用,與未執(zhí)行IEEE1588協(xié)議的以太網(wǎng)延遲時(shí)間
    發(fā)表于 04-16 08:32

    請(qǐng)問(wèn)怎么用STM32以太網(wǎng)的IEEE1588 PTP實(shí)現(xiàn)內(nèi)部RTC的同步更新?

    STM32的 MAC支持 IEEE1588 PTP,怎么用這個(gè)實(shí)現(xiàn)內(nèi)部 RTC的同步更新?需要用到 LwIP嗎?完全沒(méi)有頭緒,有誰(shuí)知道這個(gè)怎么實(shí)現(xiàn)
    發(fā)表于 03-25 03:37

    IEEE1588協(xié)議及測(cè)試技術(shù),總結(jié)的太到位了

    IEEE1588PTP協(xié)議介紹IEEE1588精密時(shí)鐘同步協(xié)議測(cè)試技術(shù)
    發(fā)表于 04-09 06:51

    介紹一種IXIA IEEE1588測(cè)試解決方案

    IEEE1588協(xié)議主要有哪些測(cè)試項(xiàng)目? 一種IXIA IEEE1588測(cè)試解決方案
    發(fā)表于 05-27 06:36

    如何使用IEEE1588 (PTP) 同步時(shí)間?

    我知道如何使用 IEEE1588 (PTP) 同步時(shí)間。如何將 LS1046/LS1088 的內(nèi)部時(shí)鐘與 GPS 時(shí)間同步。根據(jù)我對(duì)系統(tǒng)與 GPS 同步的了解,我們需要來(lái)自 GPS 接收器的 ToD
    發(fā)表于 04-19 07:57

    請(qǐng)問(wèn)W5500芯片是否支持IEEE1588

    請(qǐng)問(wèn)W5500芯片是否支持IEEE1588,如果支持的話是否可以提供一段代碼參考。顯示全部
    發(fā)表于 11-03 06:04

    IEEE1588分散運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用

    說(shuō)明 IEEE1588 一個(gè)分布運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用。目前的解決方案是依靠分散運(yùn)動(dòng)部件對(duì)時(shí)間同步的專門實(shí)現(xiàn)。隨著IEEE1588標(biāo)準(zhǔn)的出現(xiàn)
    發(fā)表于 06-17 15:52 ?42次下載

    IEEE1588時(shí)鐘同步PTN網(wǎng)中的實(shí)現(xiàn)

    詳細(xì)分析了IEEE1588時(shí)鐘同步的基本原理,介紹了阿爾卡特朗訊TSS-5產(chǎn)品中實(shí)現(xiàn)IEEE1588時(shí)鐘同步系統(tǒng)的方案,給出具體的硬件架構(gòu)框
    發(fā)表于 05-30 14:55 ?46次下載
    <b class='flag-5'>IEEE1588</b>時(shí)鐘同步<b class='flag-5'>在</b>PTN網(wǎng)中的<b class='flag-5'>實(shí)現(xiàn)</b>

    IEEE1588同步原理及其PTN網(wǎng)中的實(shí)現(xiàn)

    詳細(xì)分析了IEEE1588時(shí)鐘同步的基本原理,介紹了阿爾卡特朗訊TSS-5產(chǎn)品中實(shí)現(xiàn)IEEE1588時(shí)鐘同步系統(tǒng)的方案,給出具體的硬件架構(gòu)框
    發(fā)表于 11-16 16:25 ?21次下載
    <b class='flag-5'>IEEE1588</b>同步原理及其<b class='flag-5'>在</b>PTN網(wǎng)中的<b class='flag-5'>實(shí)現(xiàn)</b>

    IEEE1588及其測(cè)試方法簡(jiǎn)介[圖]

    能滿足此需求。可以預(yù)見(jiàn),IEEE1588將是這些業(yè)務(wù)系統(tǒng)的重要組成部分,部署它之前需要對(duì)設(shè)備能力進(jìn)行充分的測(cè)試,以確保滿足業(yè)務(wù)要求。 IEEE1588分為兩個(gè)版本,本文參照版本2IEEE
    發(fā)表于 01-19 01:43 ?3284次閱讀

    Silicon Labs推出為簡(jiǎn)化IEEE1588實(shí)施而設(shè)計(jì)的全新完整解決方案

    Silicon Labs時(shí)鐘產(chǎn)品總經(jīng)理James Wilson表示:“Silicon Labs致力于為業(yè)界提供簡(jiǎn)易解決方案以加速實(shí)現(xiàn)IEEE1588。通過(guò)ClockBuilder Pro軟件對(duì)我們
    的頭像 發(fā)表于 01-04 15:29 ?2725次閱讀
    Silicon Labs推出為簡(jiǎn)化<b class='flag-5'>IEEE1588</b>實(shí)施而設(shè)計(jì)的全新完整解決<b class='flag-5'>方案</b>

    Xilinx Zynq系統(tǒng)如何實(shí)現(xiàn)IEEE1588協(xié)議

    IEEE1588/PTP 協(xié)議是實(shí)時(shí)工業(yè)軟件的一個(gè)重要的協(xié)議,本博文討論該協(xié)議Xilinx Zynq 系統(tǒng)·如何實(shí)現(xiàn)IEEE1588 協(xié)
    的頭像 發(fā)表于 09-21 14:28 ?3991次閱讀

    IEEE1588時(shí)鐘同步PTN網(wǎng)中的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《IEEE1588時(shí)鐘同步PTN網(wǎng)中的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-24 09:39 ?0次下載
    <b class='flag-5'>IEEE1588</b>時(shí)鐘同步<b class='flag-5'>在</b>PTN網(wǎng)中的<b class='flag-5'>實(shí)現(xiàn)</b>

    KeyStone器件實(shí)現(xiàn)IEEE1588時(shí)鐘方案

    電子發(fā)燒友網(wǎng)站提供《KeyStone器件實(shí)現(xiàn)IEEE1588時(shí)鐘方案.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 09:10 ?0次下載
    <b class='flag-5'>在</b><b class='flag-5'>KeyStone</b>器件<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>IEEE1588</b>時(shí)鐘<b class='flag-5'>方案</b>
    主站蜘蛛池模板: 亚洲国产精品无码AV久久久| 日本久久久久亚洲中字幕| 久久涩视频| 大学生第一次破女在线观看| 越南女 黑人 痛苦 大叫| 亚洲精品国产SUV| 在线亚洲色拍偷拍在线视频| 啊…嗯啊好深男男小黄文| 又亲又揉摸下面视频免费看| 伦理片飘花免费影院| 白嫩美女直冒白浆| 在线播放日韩欧美亚洲日本| 视频一区亚洲视频无码| 青青热久精品国产亚洲AV无码| 精品四虎国产在免费观看| a在线视频免费观看| 亚洲黄色成人| 农民工老头在出租屋嫖老熟女| 厕所xxxxx| 成人高清网站| 成人性生交大片免费看中文| 自拍黄色片| 四虎影视国产精品亚洲精品hd| 免费观看的毛片| 国产一级毛片在线| 国产成人精品免费青青草原app| 3d无遮挡h肉动漫在线播放| 最近韩国HD免费观看国语| 伊人精品在线| 4399的视频BD高清在线观看免费| 国产69精品久久久久人妻刘玥| 51精品国产AV无码久久久密桃| 嘟嘟嘟WWW在线观看视频高清| 精品无码久久久久久动漫 | 亚洲成人中文| 国产91网站在线观看免费| 欧美高清69vivo| 97人妻久久久精品系列A片| 久草精品在线| 一道本av免费不卡播放| 国产免国产免费|