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

审核编辑 :李倩

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

    关注

    41

    文章

    6213

    浏览量

    181660
  • Zynq
    +关注

    关注

    10

    文章

    633

    浏览量

    49596

原文标题:ZYNQ 实现IEEE1588方法

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于Xilinx K7 325t的千兆网UDP协议实现小记

    基于xilinx k7 325t实现的千兆网udp协议,只需要设置好IP,端口,就可以直接给数据,基本等同于透传,可以不用管底层协议
    的头像 发表于 04-27 15:04 132次阅读
    基于<b class='flag-5'>Xilinx</b> K7 325t的千兆网UDP<b class='flag-5'>协议</b><b class='flag-5'>实现</b>小记

    IEEE1588从时钟模块 ptp时钟源 1588V2时钟发货视频

    时钟模块
    jf_47371611
    发布于 :2026年04月08日 16:41:29

    IEEE1588功能开发

    请教各位大佬,哪里有这个部分功能的开发教程?
    发表于 03-19 17:38

    高精度时间同步的IEEE1588 PTP授时服务器

    IEEE1588精确时间协议(Precision Time Protocol,简称PTP)应运而生,凭借亚微秒级的同步精度、灵活的组网方式和优异的兼容性,成为当前高精度时间同步领域的主流标准,为各行业
    的头像 发表于 02-10 14:00 396次阅读
    高精度时间同步的<b class='flag-5'>IEEE1588</b> PTP授时服务器

    SyncE/IEEE1588/DPLL时钟净化器为什么更依赖VCXO?

    板验证方法,帮助SyncE/IEEE1588、微波回传与传输时钟系统实现稳锁、低抖动与可量产的一致性设计。
    的头像 发表于 01-29 13:49 7470次阅读
    SyncE/<b class='flag-5'>IEEE1588</b>/DPLL时钟净化器为什么更依赖VCXO?

    Zynq全可编程片系统详解

    Zynq 是由赛灵思(Xilinx,现为 AMD 的一部分)推出的一系列全可编程片系统。它的革命性创新在于,它不是传统的 FPGA,也不是传统的处理器,而是将高性能的 ARM Cor
    的头像 发表于 01-13 11:41 2309次阅读
    <b class='flag-5'>Zynq</b>全可编程片<b class='flag-5'>上</b><b class='flag-5'>系统</b>详解

    恩智浦i.MX RT1180跨界处理器如何实现1588协议同步

    同步原理都是一脉相承来自于IEEE 1588标准,今天本文就介绍一下RT1180如何实现1588同步。
    的头像 发表于 12-03 09:09 8265次阅读
    <b class='flag-5'>在</b>恩智浦i.MX RT1180跨界处理器<b class='flag-5'>上</b>如何<b class='flag-5'>实现</b><b class='flag-5'>1588</b><b class='flag-5'>协议</b>同步

    1588协议如何依赖温补晶振实现高精度时间同步?

    5G基站密集部署、工业自动化产线高速运转、金融交易系统毫秒必争的今天,精确到纳秒级的时间同步早已成为现代数字网络的命脉。IEEE1588PrecisionTimeProtocol(PTP)
    的头像 发表于 12-02 14:45 692次阅读
    <b class='flag-5'>1588</b><b class='flag-5'>协议</b>如何依赖温补晶振<b class='flag-5'>实现</b>高精度时间同步?

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种Xilinx系统设计中关键的串
    的头像 发表于 11-14 15:02 2848次阅读
    <b class='flag-5'>Xilinx</b> FPGA串行通信<b class='flag-5'>协议</b>介绍

    IEEE1588 PTP授时服务器:轨道交通系统的时间同步基石​

    现代轨道交通飞速发展的今天,西安同步电子科技有限公司SYN2411型PTP1588 授时服务器作为一种先进的时间同步设备,正悄然轨道交通系统的各个环节发挥着至关重要的作用,成为保障
    的头像 发表于 09-19 18:08 1103次阅读

    解码精密时间核心:SYN2411IEEE1588主时钟技术解析

    在数字化、智能化浪潮席卷全球的今天,精准的时间对于电力、通信、金融、数据中心、工业自动化等关键领域至关重要。IEEE1588协议(PTP-Precision Time Protocol)已成为构建
    的头像 发表于 09-19 18:07 1077次阅读

    一文看懂 PTP(精确时间协议)及SONiC的最新优化实践

    PTP 用于为时间同步敏感的系统和应用程序局域网或广域网上创造高精度时间同步的环境,往往需要通过硬件辅助才能实现。PTP IEEE
    的头像 发表于 08-26 11:03 3683次阅读
    一文看懂 PTP(精确时间<b class='flag-5'>协议</b>)及SONiC<b class='flag-5'>上</b>的最新优化实践

    高精度VCTCXO:±0.05ppm稳定性赋能基站时钟系统

    FCom富士晶振高精度VCTCXO提供±0.05ppm稳定性,满足5G小基站、SyncE、IEEE1588和高精度时钟同步系统需求。
    的头像 发表于 07-15 10:00 2784次阅读
    高精度VCTCXO:±0.05ppm稳定性赋能基站时钟<b class='flag-5'>系统</b>

    PTP 时钟服务器应用方面的介绍

    实现网络中各个节点的时钟同步。SYN2407 系列模块对该协议的支持,使得其能够轻松融入各类遵循 IEEE1588 标准的网络系统,为整个网络提供高精度的时钟同步服务。
    的头像 发表于 06-06 14:03 1277次阅读

    NVMe协议研究扫盲

    JohnsonZynq挂载NVMe SSD,借助Linux系统中的NVMe驱动程序实现了对NVMe SSD的控制,并在
    发表于 06-02 23:28