基于STM32控制器的SNTP授时服务器的研究与设计

时间:2012-08-07来源:网络

2e.JPG


图5所示是GPS模块与STM32的连接示意图。GPS接收模块采用HOLUX生产的GPS模块M87GPS,模块的串行口输出和输入分别接到STM32的输入与输出,秒脉冲PPS信号连接到处理器的IO口,在秒脉冲(1PPS)同步的情况下,系统将实时精准地通过串口把标准的UTC时间传送给处理器STM32。

4 SNTP服务器的软件设计
SNTP服务器的软件设计主要可分为两个部分:W5100的驱动设计和SNTP协议的软件实现。其软件流程图如图6所示。

2g.JPG


首先,利用ST公司提供的固件库可初始化STM32的系统配置,把SPI接口配置为两线单向全双工传输、主模式,以8位数据帧的格式进行传
输;同时配置RTC模块产生秒脉冲,再与日历算法结合得到自身的系统时间,然后通过GPS的秒脉冲PPS修正系统时间。再通过配置W5100公共
寄存器和端口寄存器来完成它的基本设置、网络信息以及端口存储器信息的没置,使之为UDP服务器模式。此后,W5100处于监听状态,一旦
W5100的SOCKET端口有中断事件,W5100将触发STM32的外部中断,STM32若检测到SoekRecvflag发生改变,则立即开始SNTP协议的解析。
接收SNTP协议包后,便可记录收到报文的时间T2,然后从报文中解析出时间戳T1,再将T1、T2封装成新的报文进行发送,同时发送时再记录一个发送时间T3。

5 结束语
本文基于STM32和W5100搭建了一个网络服务器硬件平台,并在其上实现了SNTP同步时间报文。经测试,本系统运行稳定,并可实现对客
户端PC机的时钟同步。通过该系统可有效解决工业控制等领域的时间不同步问题。

1 2 3 4

关键词: STM32 SNTP授时 网络时间协议 时间同步

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版