欢迎淘宝搜索 飞灵科技,我司相关新产品陆续上线。
本文将以 IMX6ULL 为例,描述具体的 IEEE 1588 功能的实现。本文参考了 NXP 官方提供的 RM 手册。
IMX6ULL 为了支持 IEEE 1588 或类似的时间同步协议的实现,MAC 与时间戳模块相结合,以支持精确的输入和输出帧的时间戳。设置 ENETn_ECR[EN1588] 以使能 1588 的支持。
IEEE 1588 功能的概述如下图:
1. Adjustable timer module
可调定时器模块(TSM)实现了自由运行计数器(FRC),这个 FRC 生成时间戳。FRC 使用时间戳时钟进行操作,可以根据您的系统需求将其设置为任何值。
通过专用的校正逻辑,定时器可以被调整,以允许同步到远程主机,并提供同步的时间参考到本地系统。定时器可以被配置为在一个固定的时间周期后触发中断,以允许软件定时器的同步或执行其他同步的系统功能。
该定时器通常用于实现一秒的周期;因此,其取值范围为 0 ~ (1 × 109)-1。周期事件可以触发中断,软件可以根据需要维护秒和小时的时间值。
1.1 可调定时器的实现
可调计时器由可编程计数器/累加器和校正计数器组成。两个计数器的周