SNTP客户端/服务器网络授时模组设计

1.简介

基于SNTP协议的网络授时模组,主要用来解决单片机等嵌入式设备与卫星或互联网的时间同步问题。本模组具备两种工作模式,
(1) 作为SNTP客户端:向SNTP服务器索取时间,并通过串口输出时间;
(2) 作为SNTP时间服务器:以脉冲和串口数据作为基准时间,对SNTP客户端进行网络授时;

2.功能

2.1 SNTP Client模式
模组工作在SNTP Client模式,时钟源是SNTP服务器,模组向SNTP服务器获取时间,校时间隔客户自己可以设置(默认是10min),出错会重试3次,每次等待时间为500ms。获取时间出错时,会返回相应错误码,串口每给模组发送一次时间获取指令,模组向SNTP服务器获取1次当前时间。
2.2 SNTP Server模式
模组工作在SNTP Server模式,时钟源是脉冲时,用来给SNTP客户端提供授时服务。当模组2S未检测到有脉冲输入,即为出错,在下一次检测到脉冲则恢复。此时如果串口依然可以收到时间数据(其他系统发送过来的,例如GPS/BD模组)则更新时间,在客户端校时时,将返回未同步的时间信息。
2.3 秒脉冲输出
模组提供1S脉冲输出功能,每秒钟发出100ms脉宽的方波脉冲,1S精度系统误差不到万分之0.28,与时间源的相对误差为10ms,脉冲会在下一次时间同步时校准,校准的同步误差依然是10ms以内。

3.设计

主控采用江苏沁恒的单芯片方案,具体电路如下图:
3.1主控
在这里插入图片描述
3.2RJ45网口
在这里插入图片描述
3.3串口
在这里插入图片描述
3.4电源在这里插入图片描述

4.测试

样板如下图所示:
在这里插入图片描述
具体测试过程如下:
首先,将PC和模组接入同一个局域网,修改PC网络参数(IP、子网掩码、网关)使PC与模组处于同一子网。在PC端运行“SNTPModuleCFG.EXE”配置工具,如下图所示:在这里插入图片描述
在“适配器”一栏的下拉列表选择电脑使用的网卡,点击“搜索模块”按钮,模块列表会显示出目前局域网中所有的模组,双击“模块列表”里的任意一个模组,获取模组当前参数,如下图所示:
在这里插入图片描述
根据实际需求修改相应参数,此处以模组作为SNTP Client模式为例,通过SNTP方式获取阿里云NTP服务器时间,查找可知阿里云NTP服务器(ntp2.aliyun.com)IP地址为203.107.6.88,故修改模组目的IP为此IP,协议类型选择SNTP_Client即可,其他均为默认,点击左侧“配置模块参数”按钮,软件左下方提示“配置成功”,到此配置完毕,如下图所示:
在这里插入图片描述此时就可以通过串口获取当前北京时间。
使用网线将模组连接到已接入互联网的路由器。使用USB转串口线缆,连接模组与PC,在PC端打开串口调试助手,根据模块当前串口配置,选择调试助手的相应串口参数,点击“打开串口”。
获取北京时间的串口指令为16进制数“57 AB 61”,所以勾选调试助手的“16进制发送”和“16进制显示”复选框。在串口调试助手发送窗口输入“57 AB 61”,点击“发送”按钮,此时接收框中返回时间数据,如下图所示:
在这里插入图片描述
接收到的时间数据为BCD码格式,故“19 06 10 19 43 20”表示的意思是“2019年06月10日,19时43分20秒”。
上面是以产品可以接入网互联网为例的配置,如果产品不可接入互联网,必须在局域网使用,只需要在局域网配置一台SNTP服务器,将模组的目标IP配置为SNTP服务器IP,其他与上述配置方法均相同。

5.资料下载地址

链接:https://pan.baidu.com/s/1pqB_6S8E8ohi3sWWhp-OFg
提取码:nffq
https://shop150191998.taobao.com/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SNTP协议客户端实现以及数据包格式: LI:跳跃指示器,警告在当月最后一天的最终时刻插入的迫近闺秒(闺秒)。 VN:版本号。 Mode:工作模式。该字段包括以下值:0-预留;1-对称行为;3-客户机;4-服务器;5-广播;6-NTP控制信息。NTP协议具有3种工作模式,分别为主/被动对称模式、客户/服务器模式、广播模式。在主/被动对称模式中,有一对一的连接,双方均可同步对方或被对方同步,先发出申请建立连接的一方工作在主动模式下,另一方工作在被动模式下; 客户/服务器模 式与主/被动模式基本相同,惟一区别在于客户方可被服务器同步,但服务器不能被客户同步;在广播模式中,有一对多的连接,服务器不论客户工作 在何种模式下,都会主动发出时间信息,客户根据此信息调整自己的时间。 Stratum:对本地时钟级别的整体识别。 Poll:有符号整数表示连续信息间的最大间隔。 Precision:有符号整数表示本地时钟精确度。 Root Delay:表示到达主参考源的一次往复的总延迟,它是有15~16位小数部分的符号定点小 数。 Root Dispersion:表示一次到达主参考源的标准误差,它是有15~16位小数部分的无符号 定点小数。 Reference Identifier:识别特殊参考源。 Originate Timestamp:这是向服务器请求分离客户机的时间,采用64位时标格式。 Receive Timestamp:这是向服务器请求到达客户机的时间,采用64位时标格式。 Transmit Timestamp:这是向客户机答复分离服务器时间,采用64位时标格式。 Authenticator(Optional):当实现了NTP认证模式时,主要标识符和信息数字域就 包括已定义的信息认证代码(MAC)信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值