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

IEEE1588同步原理及其在PTN網中的實現

IEEE1588及其測試方法簡介[圖]
淺談網絡精確時間同步—PTP(IEEE1588)

評論