如何使用以太网IP核的1588功能?

以太网 ip 核的 1588 功能是用来实现,在 ip 内部为tx侧发送包打上发送出去这个时间节点的时间戳,以及获得 rx 侧收回来的包在 ip 接口处的时间戳。然而10g/25g 的 ip 例子工程没有提供演示,本文主要介绍了如何使用这个 ip 的 1588功能
产生一个例子工程的仿真
01
1. 打开vivado新建工程,添加一个 10g/25g以太网 ip core,注意在 ip 的 gui 里勾上 1588功能(如图),然后右键产生example design
为了能同时支持 1-step 和 2-step,这里在产生 ip 时选择了“onestep”的 1588
2. 工程产生完成后,需要先给 tx/rx_systemtimer 加上参考时间值。如果用的是 2020.2,新的 ip 例子工程已经自带了 timer_syncer 模块,为 systemtimer 提供输入。但如果用的是之前的版本,你只需要写一个计数器的逻辑,输出为标准时间 ns 计数,提供给 systemtimer 输入就行了,到时候 ip 在发出包的那一刻,会把 tx_systemtimer 当时的值作为时间戳使用,或者在收到包的那一刻,把当时的 rx_systemtimer 的值拿来使用
下面是一个简单的计数器代码示例,选自 100gcmac 的 ip 参考设计中产生 tx_systemtimer的逻辑,供参考使用
3. 最后给工程加上仿真选项,帮助加速仿真速度,就可以开始做工程的功能仿真了
如何使用1588功能
02
1. 首先使能 ip 的 1588 的 1-step 功能,可以在逻辑里将 ip 的输入“ctl_tx_1step_enable” 置1,如果使能了 ip 的 axi 读写寄存器接口的话,也可以将地址 0038 的 bit0 写1
2. 同样地方式,通过修改信号 “ctl_ptp_transpclk_mode” 选择 ordinaryclock 模式或者transparentclock 模式。在 oc 模式下,时间戳会直接覆盖原以太网包里的值,但在 tc 模式下,时间戳则会叠加在原来位置的数值上面。具体可参考 1588 协议
3. 接着跑仿真,先在设计逻辑里将 “tx_ptp_1588op_in” 接为 01,观察 1-step 模式下的 ip 的工作行为,仿真结果如下图示
由于这里的 “tx_ptp_tstamp_offset_in” 为0,发送包的第一拍数据 “tx_axis_tdata” 会从原来的值 “fe14ffffffffffff”被 ip 替换成时间戳,也就是在 rx 侧看到收到的数据包的第一拍数据 “rx_axis_tdata” 已经变成了 “010005xxxxxxxxxx”
实际上 ip 在 1-step 工作模式下,2-step也是同时工作的,对应 “tx_ptp_tstamp_valid_out” 拉高的 “tx_ptp_stamp_out” 的值,就是这个包的时间戳,输出给客户,这个时间戳的值客户可以自行稍加修改添加到下一个包再发出去,这就是 2-step 的工作模式
用于2-step的“tx_ptp_stamp_out”和填进包里的1-step时间戳略有区别,差距就是 “ctl_tx_ptp_latency_adjust”,差异的原理细节可参考 ip 的文档 pg210
用户可以自行给他发的每个包输入不同的“tx_ptp_tag_field_in”值,然后当ip输出 “tx_ptp_stamp_out” 时间戳的时候,只要找到对应的 “tx_ptp_pstamp_tag_out” 值,就是相同 tag_in 对应的那个包的时间戳
rx 侧收进包的时间戳,为 rx_ptp_stamp_out”,目前时间戳的点都是 ip 的接口,所以在环回仿真里面,rx 侧的时间戳会比tx侧的时间戳大,差了一整个 gt 的延时没有计算进去,用户应当在ar搜索中找到自己用的器件对应gt的具体latency,静态延时值可通过ctl_tx/rx_latency 信号合进 ip。并且,延时结果能在功能仿真里面体现出来
4. 最后你还可以随时在逻辑里修改 tx_ptp_1588op_in 的输入,当接为 00 或者 10 的时候,ip 就不会再自动打上时间戳,第一拍保留了数据包的原始数据 fe14ffffffffffff”,并且如果1588op=00 的时候,tx_ptp_tstamp_valid_out 也不会再拉高,如下图
原文标题:开发者分享 | 如何使用 10g/25g 以太网 ip core 上的 1588 功能
文章出处:【微信公众号:fpga开发圈】欢迎添加关注!文章转载请注明出处。


低成本无绳式单相BLDC手持式搅拌机方案
简介SMT是怎样的东西
维信诺AMOLED柔性屏概念车载应用成“打卡”地
基于STM32实现串口的两个分案解析
大功率高频直流电源如何选合适?
如何使用以太网IP核的1588功能?
618完美厨房,超值好价带走佳歌高品质厨房八件套!
详解5G的六大关键技术
十年时间,吉利进化为设计吉利
以色列有一款逆天“纳米眼药水”,滴一滴视力就能恢复5.0你信吗?
Spring Boot如何实现异步任务
视觉系统检测机对比检验员,它的优势是什么
直流电子负载的四种工作模式
电机起停/水塔水位/正反转/星三角减压四大PLC项目案例
罗德与施瓦茨NRX功率计介绍
紫光集团发布全新的品牌标识及定义(内附紫光展锐图说发展史)
食品制造业机器人应用场景越来越广 食品制造业开始进行变革
传特斯拉重启上海三期汽车工厂建设项目
在巨头开路之下 家用机器人正走进市场爆发前夜
来聊聊这款手机,今日华为荣耀V9发布搭载麒麟960如何?