ARM-WinCE分布式系统平台的时钟同步设计
3 软件设计
软件设计分为两个步骤:1)是基于DM9000和DP83640进行以太网通信的驱动程序设计;2)是通过DP83640进行时钟同步的应用程序设计。
本文使用WinCE5.0操作系统,WinCE5.0系统下网络驱动程序的编写必须符合网络驱动接口规范NDIS(Network Driver Interface Stan dard)。NDIS的层次结构如图3所示,其中最上层的Winsock是提供给应用层的接口。NDIS位于协议驱动层下面,硬件驱动Miniport Driver之上。协议驱动层通过调用NDIS封装的接口函数,实现与底层硬件驱动的交互。WinCE下网络驱动程序的设计主要是在NDIS构架下,针对实际的硬件编写代码,实现相应的中间层Miniport Driver接口函数。其主要完成的功能有:DM9000与DP83640的初始化;网络数据包的发送;网络数据的接收和中断。
实现了以太网通信的驱动程序的基础上,用于时钟同步功能的应用程序通过UDP协议发送、接收时钟同步报文,并进行加入、提取和解析时间戳等操作,这些操作通过读写DP83640内部的1588基本寄存器组(PTP 1588 BASEREGISTERS)和1588配置寄存器组(PIP 1588CONFIGURATION REGISTERS)完成。
4 结论
IEEE1588协议通过在以太网上发送和接收同步报文来实现时钟同步,同步的精度取决于记录报文发送和接收时间的时间戳的精度,因此要实现高精度的时钟同步必须通过硬件支持在通信协议的底层加入和提取时间戳。本文通过在ARM-WinCE嵌入式系统平台上设计了使用DP836 40芯片作为PHY收发器的以太网接口电路及其驱动程序,实现了IEEE1588协议在ARM-WinCE平台上的移植,并达到了不低于1 μs的同步精度,为基于ARM-WinCE平台的测试仪器组建分布式测试系统奠定了基础。
时钟同步 IEEE1588协议 分布式测试系统 相关文章:
- I2C之知(三)--I2C总线的字节格式、时钟同步和仲裁(12-15)
- 对I2C总线的时钟同步和总线仲裁的深入理解(11-22)
- C8051F120与RS422息线的时钟同步技术(10-15)