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

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

3天内不再提示

Xilinx Zynq系统如何实现IEEE1588协议

我快闭嘴 来源:CSDN技术社区 作者:CSDN技术社区 2022-09-21 14:28 次阅读

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

ZYNQ 系统的以太网

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

ab8fb01e-396e-11ed-9e49-dac502259ad0.png

PS 端以太网

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

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

ac583ac0-396e-11ed-9e49-dac502259ad0.png

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

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

ad0a2708-396e-11ed-9e49-dac502259ad0.png

使用rtl8211fs-vs-cg

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

ad78afe8-396e-11ed-9e49-dac502259ad0.png

使用高通atheros AR8031 芯片

adc1406e-396e-11ed-9e49-dac502259ad0.png

???????Linux 下访问mdio 的方法

测试程序

ae794dbc-396e-11ed-9e49-dac502259ad0.png

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

使用AXI 1G/2.5G Ethernet Subsystem

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

结束语

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

审核编辑:汤梓红

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

    关注

    40

    文章

    5065

    浏览量

    166166
  • Xilinx
    +关注

    关注

    70

    文章

    2118

    浏览量

    119341
  • Zynq
    +关注

    关注

    9

    文章

    598

    浏览量

    46599

原文标题:ZYNQ 系统的IEEE1588 实现方法

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

收藏 人收藏

    评论

    相关推荐

    STM32 IEEE1588时间同步

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

    IEEE1588的原理

    IEEE1588的全称是“网络测量和控制系统的精密时钟同步协议标准”,基本构思是通过硬件和软件将网络设备(客户机)的内时钟与主控机的主时钟实现同步,提供同步建立时间小于10μs的运用,
    发表于 04-16 08:32

    Ti arm9或者A8,哪一款支持IEEE1588协议

    请问 Ti arm9或者A8,哪一款支持IEEE1588协议
    发表于 05-15 02:50

    请问AM3354支持PTP(IEEE1588协议吗?

    requirements.这段话的意思好像是说在所有的am335x的处理器都支持IEEE1588v2的协议,只是实现的方式不同,am3351/3352/3354在CPSW里,AM3356/3357
    发表于 06-21 07:13

    请问怎么用STM32以太网的IEEE1588 PTP实现内部RTC的同步更新?

    STM32的 MAC支持 IEEE1588 PTP,怎么用这个实现内部 RTC的同步更新?需要用到 LwIP吗?完全没有头绪,有谁知道这个怎么实现
    发表于 03-25 03:37

    IEEE1588协议及测试技术,总结的太到位了

    IEEE1588PTP协议介绍IEEE1588精密时钟同步协议测试技术
    发表于 04-09 06:51

    介绍一种IXIA IEEE1588测试解决方案

    IEEE1588协议主要有哪些测试项目? 一种IXIA IEEE1588测试解决方案
    发表于 05-27 06:36

    如何使用IEEE1588 (PTP) 同步时间?

    我知道如何使用 IEEE1588 (PTP) 同步时间。如何将 LS1046/LS1088 的内部时钟与 GPS 时间同步。根据我对系统与 GPS 同步的了解,我们需要来自 GPS 接收器的 ToD
    发表于 04-19 07:57

    IEEE1588时间同步协议在Linux下的分析与实现

    IEEE1588 精确时间同步标准为基础,通过对工业以太网中PTP 协议的深入研究和分析,着重探讨了如何在装有linux 系统的现场设备上实现时间同步,并给出相应的
    发表于 07-30 11:27 46次下载

    基于IEEE1588协议的分布式系统时钟同步方法

    实现分布式系统高精度同步数据采集及实时控制,提出一种基于IEEE1588协议的分布式系统时钟同步方法。通过分析影响同步精度的因素,采用FP
    发表于 12-30 15:52 41次下载

    IEEE1588在分散运动控制系统中的应用

    说明 IEEE1588 在一个分布运动控制系统中的应用。目前的解决方案是依靠分散运动部件对时间同步的专门实现。随着IEEE1588标准的出现,可以开发一种在标准网络(如以太网)上使用商
    发表于 06-17 15:52 42次下载

    IEEE1588时钟同步在PTN网中的实现

    详细分析了IEEE1588时钟同步的基本原理,介绍了阿尔卡特朗讯TSS-5产品中实现IEEE1588时钟同步系统的方案,给出具体的硬件架构框图以及
    发表于 05-30 14:55 46次下载
    <b class='flag-5'>IEEE1588</b>时钟同步在PTN网中的<b class='flag-5'>实现</b>

    IEEE1588同步原理及其在PTN网中的实现

    详细分析了IEEE1588时钟同步的基本原理,介绍了阿尔卡特朗讯TSS-5产品中实现IEEE1588时钟同步系统的方案,给出具体的硬件架构框图以及
    发表于 11-16 16:25 21次下载
    <b class='flag-5'>IEEE1588</b>同步原理及其在PTN网中的<b class='flag-5'>实现</b>

    IEEE1588及其测试方法简介[图]

    IEEE1588定义了为网络测量和控制系统提供精确时钟同步协议的标准,运营商、电力、制造、运输等各大行业的部分系统都需要一个能在低成本、易部署的以太网上为其提供高精度时钟同步的方法,
    发表于 01-19 01:43 2793次阅读

    IEEE1588时钟同步在PTN网中的实现

    电子发烧友网站提供《IEEE1588时钟同步在PTN网中的实现.pdf》资料免费下载
    发表于 10-24 09:39 0次下载
    <b class='flag-5'>IEEE1588</b>时钟同步在PTN网中的<b class='flag-5'>实现</b>