0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Xilinx Zynq系统·上如何实现IEEE1588协议

倩倩 来源:CSDN 作者:CSDN 2022-09-23 15:19 次阅读

IEEE1588/PTP 协议是实时工业软件的一个重要的协议,本博文讨论该协议在Xilinx Zynq 系统·上如何实现IEEE1588 协议。

ZYNQ 系统的以太网

Zynq 系统中有两类Ethernet 接口,一种是PS 端的硬件千兆以太网,另一种是PL 实现的以太网接口。

2797830a-3afd-11ed-9e49-dac502259ad0.png

PS 端以太网

zynq 中带有两个硬核千兆以太网MAC,ENET0,ENET1。与普通SOC 芯片不同,zynq PS 断地外设可以通过MIO连接到芯片的引脚上,也可以通过EMIO 接口连接到PL 端。连接到PL端后,带来了灵活性,可以转换成各种接口。比如设计一个交换机。定义端其它的引脚。

PS 端MIO 引出的以太网接口是RGMII接口,可以连接具有RGMII 的Phy 芯片。

27a57942-3afd-11ed-9e49-dac502259ad0.png

PS 端的Ethernet 透过EMIO 连接各种接口(通过1000BASE-X/SGMII PCS/PMA IP)

27da7958-3afd-11ed-9e49-dac502259ad0.png

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 相连接。

27e6c47e-3afd-11ed-9e49-dac502259ad0.png

使用rtl8211fs-vs-cg

realtek 公司的rtl8211fs-vs-cg 支持IEEE1588.注意:一定要带有vs 后缀的才支持IEEE1588/PTP.

27ff46b6-3afd-11ed-9e49-dac502259ad0.png

使用高通atheros AR8031 芯片

2816836c-3afd-11ed-9e49-dac502259ad0.png

Linux 下访问mdio 的方法

测试程序

28314d1e-3afd-11ed-9e49-dac502259ad0.png

我是在Z7 nano开发板的pynq 操作系统下调试通过的。

使用AXI 1G/2.5G Ethernet Subsystem

只有在使用SGMII和FDP接口。并且带有GTX 功能的Zynq 芯片才支持IEEE1588。

结束语

笔者更倾向使用带有IEEE1588/PTP 的PHY 芯片实现zynq 的IEEE1588

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5380

    浏览量

    171131
  • Zynq
    +关注

    关注

    9

    文章

    608

    浏览量

    47129

原文标题:ZYNQ 实现IEEE1588方法

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Xilinx ZYNQ 7000系列SoC的功能特性

    本文介绍下Xilinx ZYNQ 7000系列SoC的功能特性、资源特性、封装兼容性以及如何订购器件。
    的头像 发表于 10-24 15:04 350次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>ZYNQ</b> 7000系列SoC的功能特性

    中国唯一受邀出席2024 IEEE ISPCS企业!赛思ePRTC系统成5G时频同步网最强Buff!

    2024年10月7日-11日,国际IEEE1588精密时钟同步测量、控制和通信研讨(简称ISPCS)日本东京成功举办。赛思受邀携面向5G时频同步网的最强Buff—ePRTC系统及相关产品分享如期
    的头像 发表于 10-12 11:20 338次阅读
    中国唯一受邀出席2024 <b class='flag-5'>IEEE</b> ISPCS企业!赛思ePRTC<b class='flag-5'>系统</b>成5G时频同步网最强Buff!

    KeyStone器件实现IEEE1588时钟方案

    电子发烧友网站提供《KeyStone器件实现IEEE1588时钟方案.pdf》资料免费下载
    发表于 09-26 09:10 0次下载
    <b class='flag-5'>在</b>KeyStone器件<b class='flag-5'>实现</b><b class='flag-5'>IEEE1588</b>时钟方案

    Xilinx® Zynq®UltraScale™系列多处理器中的VCCINT_VCU轨供电

    电子发烧友网站提供《为Xilinx® Zynq®UltraScale™系列多处理器中的VCCINT_VCU轨供电.pdf》资料免费下载
    发表于 09-25 10:54 0次下载
    为<b class='flag-5'>Xilinx</b>® <b class='flag-5'>Zynq</b>®UltraScale™系列多处理器中的VCCINT_VCU轨供电

    使用TPS65086x PMIC为Xilinx Zynq UltraScale MPSoC供电

    电子发烧友网站提供《使用TPS65086x PMIC为Xilinx Zynq UltraScale MPSoC供电.pdf》资料免费下载
    发表于 09-21 11:11 0次下载
    使用TPS65086x PMIC为<b class='flag-5'>Xilinx</b> <b class='flag-5'>Zynq</b> UltraScale MPSoC供电

    [XILINX] 正点原子ZYNQ7035/7045/7100开发板发布、ZYNQ 7000系列、双核ARM、PCIe2.0、SFPX2!

    正点原子FPGA新品ZYNQ7035/7045/7100开发板,ZYNQ 7000系列、双核ARM、PCIe2.0、SFPX2! 正点原子Z100 ZYNQ开发板,搭载Xilinx
    发表于 09-02 17:18

    TSN时钟同步 | PTP对时案例演示——基于NXP i.MX 8M Plus

    )。 IEEE1588协议简称精确时钟协议PTP(Precision Timing Protocol),它的全称是“网络测量和控制系统的精密时钟同步
    发表于 07-10 10:28

    用于工业自动化和电力系统评估板8EBV89317-10G以太网PLL和IEEE 1588频率合成器数据手册

    电子发烧友网站提供《用于工业自动化和电力系统评估板8EBV89317-10G以太网PLL和IEEE 1588频率合成器数据手册.rar》资料免费下载
    发表于 05-11 17:30 0次下载
    用于工业自动化和电力<b class='flag-5'>系统</b>评估板8EBV89317-10G以太网PLL和<b class='flag-5'>IEEE</b> <b class='flag-5'>1588</b>频率合成器数据手册

    用于IEEE 1588和同步以太网的82P33814同步管理单元评估板数据手册

    电子发烧友网站提供《用于IEEE 1588和同步以太网的82P33814同步管理单元评估板数据手册.rar》资料免费下载
    发表于 05-09 18:20 0次下载
    用于<b class='flag-5'>IEEE</b> <b class='flag-5'>1588</b>和同步以太网的82P33814同步管理单元评估板数据手册

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。 Xilinx
    发表于 05-08 16:23

    Xilinx ZYNQ 动手实操演练

    功能变动的基础实现变革。 系统架构中,可扩展性意味着系统设计时包含了通过新功能扩展/改进自身的机制和元素(hook),而且无需对
    发表于 05-03 19:28

    STM32F107的1588协议如何使用外部时钟做为基准?

    想使用外部的GPS秒脉冲给MASTER做为基准时钟,然后通过1588协议让其他SLAVE同步.我下载了官网例程,但不知道怎么把GPS的秒脉冲和1588的时钟关联起来.使用ETH_PTPTime_SetTime
    发表于 04-25 07:04

    简谈Xilinx Zynq-7000嵌入式系统设计与实现

    今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。 Xilinx
    发表于 04-10 16:00

    如何实现PTP协议的精准同步时钟?

    尊敬的技术大牛们,你们好! 现有一项目需要用到贵公司的STM32F4系列产品,由于业务场景对时钟同步精度要求很高。所以需寻求你们的技术支撑,提供关于STM32F4系列的PTP协议IEEE1588协议的参考代码!以便
    发表于 03-26 07:57

    STM32 IEEE1588时间同步

    有谁在STM32实现IEEE1588精确时间同步的吗?
    发表于 02-23 16:22