IEEE1588/PTP 協(xié)議是實時工業(yè)軟件的一個重要的協(xié)議,本博文討論該協(xié)議在Xilinx Zynq 系統(tǒng)·上如何實現(xiàn)IEEE1588 協(xié)議。
ZYNQ 系統(tǒng)的以太網(wǎng)
Zynq 系統(tǒng)中有兩類Ethernet 接口,一種是PS 端的硬件千兆以太網(wǎng),另一種是PL 實現(xiàn)的以太網(wǎng)接口。
PS 端以太網(wǎng)
zynq 中帶有兩個硬核千兆以太網(wǎng)MAC,ENET0,ENET1。與普通SOC 芯片不同,zynq PS 斷地外設(shè)可以通過MIO連接到芯片的引腳上,也可以通過EMIO 接口連接到PL 端。連接到PL端后,帶來了靈活性,可以轉(zhuǎn)換成各種接口。比如設(shè)計一個交換機(jī)。定義端其它的引腳。
PS 端MIO 引出的以太網(wǎng)接口是RGMII接口,可以連接具有RGMII 的Phy 芯片。
PS 端的Ethernet 透過EMIO 連接各種接口(通過1000BASE-X/SGMII PCS/PMA IP)
PL 端以太網(wǎng)
PL 端的以太網(wǎng)是通過IP核實現(xiàn)的。vivado 中有下列幾種以太網(wǎng)IP。
tri mode Ethernet MAC
AXI 1G/2.5G Ethernet Subsystem
100M/1G TSN Subsystem
其中
AXI 1G/2.5G Ethernet Subsystem 支持IEEE1588 ,但是只有在使用SGMII和SFP(small form factor pluggable)接口。并且?guī)в蠫TX 功能的Zynq 芯片才支持IEEE1588。如此看來只能在光纖接口,或者SGMII接口上實現(xiàn)。網(wǎng)絡(luò)上資料也不多。
*小貼士*
*GTX*
GTX是一種就是G級速率以上的SERDES串行/解串器。Xilinx芯片里內(nèi)嵌的串行/解串器GTX,GTH,GTP等模塊。
7系列中,按支持的最高線速排序,GTP
100M/1G TSN Subsystem 也支持IEEE1588 但是看上去也是比較復(fù)雜的樣子。
SGMII
SGMII協(xié)議是CISCO公司提出來的,可以減少芯片間互聯(lián)的管腳。傳統(tǒng)的GMII前面說了是8bits數(shù)據(jù)線,此外還需要時鐘,和一些控制線,雙向加起來要20根線左右。而SGMII接口是1根數(shù)據(jù)線加1根時鐘線,雙向共4根。如果去掉時鐘線(采用CDR),那么2根線就可以實現(xiàn)互聯(lián)了。
SGMII本質(zhì)上并沒有對以太網(wǎng)協(xié)議的分層做改動,還是MAC層,PCS層和PMA層。原來GMII模式下,MAC層一般做在SOC側(cè),PHY層包括PCS+PMA做在另一個單獨的芯片上。而SGMII的實施是將PCS層也同時放在了原來的MAC側(cè)。這樣SOC芯片和PHY芯片各有一個PCS層。
對于SOC發(fā)送來說,數(shù)據(jù)包有MAC層過來,經(jīng)過tx 的pcs,從SGMII接口發(fā)送出去。在PHY芯片上,有一個rx的pcs先將SGMII的信號解出GMII信號,然后再經(jīng)過傳統(tǒng)的PHY層處理發(fā)送到介質(zhì)上。對于SOC接收來說,則反過來。
tri mode Ethernet MAC在100Mbps 時可以使用MAC 接口,可以通過一個MAC to RMII 的IP 轉(zhuǎn)換成為RMII 接口。
IEEE1588/PTP實現(xiàn)方案
IEEE1588 的硬件實現(xiàn)的方法有兩種:
在MAC控制器中實現(xiàn)
在Phy 芯片中實現(xiàn),比較常見的有TI 公司的DP83640 芯片
ZYNQ 中實現(xiàn)IEEE1588 協(xié)議的方式
筆者做了一些廠商,在PL 端使用現(xiàn)成的IP 支持1588 似乎只有1g/2.5g ethernet subsystem 這一種。但是它只有在帶有GT 傳輸?shù)膠ynq 中使用,而且并沒有多少成功的參考。
基于本人的經(jīng)驗,使用帶有IEEE1588 /PTP 功能的PHY 芯片實現(xiàn),比較簡單。
使用DP83640
使用DP83640 實現(xiàn)IEEE1588 協(xié)議相對比較簡單。主要的問題是要通過RMII接口與DP83640 相連接。
使用rtl8211fs-vs-cg
realtek 公司的rtl8211fs-vs-cg 支持IEEE1588.注意:一定要帶有vs 后綴的才支持IEEE1588/PTP.
???????Linux 下訪問mdio 的方法
測試程序
我是在Z7 nano開發(fā)板的pynq 操作系統(tǒng)下調(diào)試通過的。
使用AXI 1G/2.5G Ethernet Subsystem
只有在使用SGMII和FDP接口。并且?guī)в蠫TX 功能的Zynq 芯片才支持IEEE1588。
結(jié)束語
筆者更傾向使用帶有IEEE1588/PTP 的PHY 芯片實現(xiàn)zynq 的IEEE1588
審核編輯:湯梓紅
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5600瀏覽量
175095 -
Xilinx
+關(guān)注
關(guān)注
73文章
2184瀏覽量
124568 -
Zynq
+關(guān)注
關(guān)注
10文章
614瀏覽量
48081
原文標(biāo)題:ZYNQ 系統(tǒng)的IEEE1588 實現(xiàn)方法
文章出處:【微信號:ZYNQ,微信公眾號:ZYNQ】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
IEEE1588的原理
請問AM3354支持PTP(IEEE1588)協(xié)議嗎?
請問怎么用STM32以太網(wǎng)的IEEE1588 PTP實現(xiàn)內(nèi)部RTC的同步更新?
IEEE1588協(xié)議及測試技術(shù),總結(jié)的太到位了
如何使用IEEE1588 (PTP) 同步時間?
IEEE1588在分散運(yùn)動控制系統(tǒng)中的應(yīng)用
IEEE1588時鐘同步在PTN網(wǎng)中的實現(xiàn)

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

IEEE1588及其測試方法簡介[圖]
AN3411_基于stm32F107的IEEE1588高精度時間協(xié)議演示

淺談網(wǎng)絡(luò)精確時間同步—PTP(IEEE1588)

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

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

評論