没有合适的资源?快使用搜索试试~ 我知道了~
首页基于FreeRTOS和LwIP的SNTP设计
资源详情
资源评论
资源推荐

基于基于FreeRTOS和和LwIP的的SNTP设计设计
通过SNTP功能可将系统的实时时钟RTC与网络时钟进行同步,确保系统时间一直保持较高的精度。LM9D96片
内集成以太网控制器,FreeRTOS和LwIP均为开源,对于成本敏感而又需要高精度的时钟应用场合,具有较高
的研究及应用价值。
引言
网络时间协议NTP(Network Time Protocol)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进
行时间同步。NTP采用UDP进行数据传输,端口号为123,可提供了1~50 ms 的精确度,精确度取决于同步源和网络路径等
特性[1]。
简单网络时间协议SNTP(Simple Network Time Protocol)是一个简化了的NTP服务器和NTP客户端策略,SNTP在协议实现
上没有什么更改,在最近也不会有什么变动。 访问范例与UDP/TIME 协议是一致的,实际上,SNTP应该更容易适用于使用个
人计算机的UDP/TIME 客户,而且SNTP 也被设计在一个专门的服务器( 包括一台集成的无线电时钟)上操作[2]。SNTP主
要通过同步算法来交换时间服务器和客户端的时间戳,从而估算出数据包在网络上的往返延迟,进而独立地估算系统的时钟偏
差。SNTP报文格式如图1所示。
LI用于表示闺秒(闺秒);VN表示版本号;Mode为模式,该字段包括0(预留)、1(对称行为)、3(客户机)、4(服务器)、5(广播)、
6(NTP控制信息);Stratum用于对本地时钟级别的整体识别;Poll表示有符号整数表示的连续信息间的最大间隔;Precision表
示本地时钟精确度;Root delay表示主要参考源的总延迟;Root dispersion表示相对于主要参考源的正常差错;Reference
identifier指示系统时钟最后一次校准的时间,该字段仅在服务器端有效;Originate timestamp表示客户端向服务品发起请求的
时间;Receive timestamp是服务器接收到客户端同步请求的时间;Transmit timestamp是服务器向客户端发送响应的时间。
假设客户端与服务器之间请求与响应的网络耗时相同,则客户端通过SNTP同步后的时间接近为:Transmit timestamp +
(Receive timestamp - Originate timestamp)。
图1 SNTP报文格式
1 硬件设计
基于TI公司CortexM3内核的LM3S9D96平台的硬件系统框图如图2所示。
图2 硬件系统框图
Power:系统工作电源,采用DC 5 V,由外置Adaptor设备提供。整个系统的电源包括:5 V、3.3 V、1.8 V。
LED:通过4个LED指示一些重要功能模块的工作状态,如5 V电源、RTC、LAN及软件的运行状态等。
LAN:Internet通信接口,实现标准TCP/IP互联网通信,TI公司的CortexM3系列片上集成一个以太网控制器PHY和媒体访问控
制器MAC,遵循IEEE802.3规范,完全支持10BASET和100BASETX标准,所以LAN电路就变得格外简单,仅需要一个带隔离
变压器的RJ45端子和几个电阻电容即可。
Clock:为整个系统提供16 MHz和25 MHz时钟源。
EEPROM:采用512 Kb SPI接口EEPROM,存储一些采集到的重要运行数据及系统配制参数,如IP地址、子网掩码、网关及
DNS服务器、SNTP时间服务器、时区等。
Recover:恢复出厂设置,当上电时按住此键可使系统所有参数恢复到出厂默认值。
RTC:采用Maxim公司的DS1302实时时钟芯片。
2 软件设计
系统软件基于FreeRTOS实时操作系统和LwIP以太网协议栈进行设计。FreeRTOS和LwIP均是开源,而LwIP本身不支持
SNTP功能。RTC实时时钟DS1302硬件电路,为实现SNTP提供了硬件支持,但时钟精确度随着运行时间累积,误差会逐渐
显现,而SNTP网络对时正好弥补此缺陷。整个软件系统框架图如图3所示。
图3 系统软件框架
图4 工作流程图
主体软件可分为3个功能块进行实现:①SNTP获得网络时钟;②DS1302时钟调整;③通过HTTP以网页方式显示当前时钟。
它们分别对应图3中SNTP Task、RTC Task、HTTP Task三个任务,工作流程如图4所示。对于HTTP Task,采用经典的B/S
架构,网页开发可选用AJAX技术,实现简单,对于不同的访问终端支持,开发起来也方便,在此不做详细介绍。这里仅给出
SNTP Task和RTC Task二个功能模块的软件流程图,分别如图5和图6所示。



















weixin_38688371
- 粉丝: 8
- 资源: 890
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论1