PTP(Precision Time Protocol)是一种网络协议,设计用于在分布式系统中实现高精度的时间同步。在本文档中,我们关注的是ERT(Event Recorder Transmitter)设备上的PTP开发,特别是ERT V2版本。ERT V2基于1.0.9.3版本进行了修改,涉及到的文件包括`end:vxbFdtRzn1dDwEnd.c/h`以及`ptp: servo.c/ptpd.h`和`emsp: vxbFdtRzn1dEthMuxSwiPhy.c`。 配置中,PTP接口被设置为OC( Ordinary Clock)模式,并命名为"dwmac0?1?"。这个名称表明它与名为"dwmac"的以太网MAC控制器相关联。以太网MAC控制器通常用于处理网络数据包,包括PTP时间戳的处理。在E2E(End-to-End)模式下,PTP数据包从源设备直接传输到目的地,中间不经过任何时钟修正。 在设备树(Device Tree)中,`Kooka.dtsi`是用于描述硬件配置的文件。这里,`bootargs`被更新为指定`dwmac(1,1)`作为主机,IP地址和其他网络参数也进行了设定。此外,在`rzn1-pinctrl-kooka.dtsi`中,对`dwmac0`的pinmux进行了调整,以适应不同的PHY(物理层)连接。这确保了MAC控制器能正确与PHY通信,这对于PTP的时间戳捕获至关重要。 为了进行调试,通过配置`VSB dwmac_debug`宏,启用了`dwmacShow()`函数,这有助于理解硬件状态。重新构建VSB后,可以检查PTP相关寄存器的状态,例如在`dwmac1PTPStart()`中提到的0x03c、0x700、0x704和0x718等寄存器。这些寄存器可能包含与PTP时钟同步、帧传输和接收相关的设置。 ERT和RTU(Remote Terminal Unit)硬件在大多数方面是相似的,唯一的区别在于PHY的复位引脚。在与MAC交互、设备树、MAC驱动和PTP的配置中,都需要考虑这个差异。在`Kooka.dtsi`设备树中,定义了两个DWMAC实例(`dwmac0`和`dwmac1`),它们分别位于不同的地址,并且都配置为支持SNPS(Synopsys)的DWMAC(DesignWare MAC)控制器。这些MAC控制器的属性包括中断、帧大小、接收和发送缓冲区的数量以及MAC地址等。 总结起来,这个文档描述了ERT V2版本中PTP开发的关键步骤,包括硬件配置、设备树更新、MAC驱动适配以及调试方法。这些信息对于理解如何在特定硬件平台上实现精确的时间同步至关重要。
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助