NTP网络授时系统设计与实现-NTP服务器端授时服务软件设计与实现_第1页
NTP网络授时系统设计与实现-NTP服务器端授时服务软件设计与实现_第2页
NTP网络授时系统设计与实现-NTP服务器端授时服务软件设计与实现_第3页
NTP网络授时系统设计与实现-NTP服务器端授时服务软件设计与实现_第4页
NTP网络授时系统设计与实现-NTP服务器端授时服务软件设计与实现_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4章NTP效劳器端授时效劳软件设计与实现NTP效劳器端的授时效劳软件主要包括三个功能模块:参数设置、时钟检μCLinux系统开发平台的建立和另外两个功能模块的设计GPS授时、NTP协议等相关背景学问作简洁介绍。因本系统效劳器的硬件开发只停留在电路设计阶段,还没有形成实际的产SmartARM2200SmartARMARM7TDMIRS232JTAG接口、10MμCLinux的试验开发设备,可完全模拟本系统所设μCLinux移植到试验开发板上,建立穿插编译环境。系统开发平台的建立ARMμCLinux穿插编译环境的建立、μCLinuxμCLinux环境下的应用程序开发。μCLinux穿插编译环境的建立[17]由于嵌入式Linux的开发板资源有限,不行能在开发板上运行开发和调试〔开发板形式。机是运行Linux的PC,可以是安装了Linux操作系统的本地机,亦可以是Linux效劳器。RedhatEL4ASX86PCSmartARM2200型试验在宿主机上编译-连接-定位,得到的可执行文件则在目标机运行。EL4AS系统,由于目标板平台处理器是ARM,因而需要安装GCC针对ARMμCLinux的编译器为arm-elf-gcc。arm-elf-gcc安装步骤为:将编译器文件arm-elf-tools-20040427.sh 拷贝到名目/usr/src 下,为arm-elf-tools-20040427.sh增加可执行权限:#chmod755arm-elf-20040427.sharm-elf-tools-20040427.sh:./arm-elf-tools-20040427.sh安装完毕后,查看/usr/local/bin 等文件,假设存在,根本可以确定穿插编译器安装成功。还有效。编译μCLinux将μCLinux源码包μCLinux-dist-20040408.tar.gz[18拷贝到名目如/usr/src下,并解压。-disx源代码名目。为SmartARM2200开发板和LPC2200 文件μCLinux-dist-20040408-lpc-chy-cmj.patch拷贝到当前名目下,并执行:catμCLinux-dist-20040408-lpc-chy-cmj.patch|patch–p1–dμCLinux-distμCLinuxLPC2200的选项。μCLinux配置方式makexconfig。各命令使用范围不一样,但效果是一样的。各命令说明如下:makeconfig-命令行方式,适用于掌握台和图形终端makemenuconfig-文本菜单方式,适用于掌握台和图形终端makexconfig-X窗口图形界面方式,仅适用于图形终端由于其配置直观性,因而承受这种配置方式。和文件系统[19]建终端或者在掌握台〔CTRL+ALT+F1~F661个〕。cd/usr/srcinx-dist假设不是进展第一次编译,需要先去除以前编译产生的关心文件和目标文件,以保证编译的正确性。假设是第一次编译则可省略。makedistclean。makemenuconfig在配置界面中按提示设置相应的厂商/产品、内核版本、函数库版。SmartARM2200开发试验板使用的是PHILIPS的LPC2200芯片,使用随机光盘供给的补丁文件后,只需对平台进展根本设置,最终选择DefaultallSettings后退出保存即可。建立源代码文件依靠关系〔第一次必需执行:makedepmakeμCLinuxromfsimages为images为生linux-2.4.xlinux文件,elfμCLinux内核试验。内核到开发板windows环境下,PC机使用串口与目标板连接,使用超级终端将开发linuxFTPServerPCFTP客户μCLinux内核以及文件系统传送到开发板。启动μCLinux宿主机启动到linux系统,使用串口与目标板相连,翻开终端窗口,运行μCLinux系统。NFSNFSiptables的设置。arm-elf-gcc进展穿插minicom在目标机上运行系统程序了。4.2时钟检查与校正模块设计与实现本系统所实现的时钟检查与校正模块,其主要功能,是对效劳器串口进展将自身时钟校正为标准时钟。〔铷〕GPS、北斗卫星定位系统和CDMA终端等。因对各种外接时钟源的操作根本全都,仅接收信号GPS授时为例,对系统的设计实现进展说明。GPS授时根本原理andRanging/GlobalSystem〕的简称,是由美国国防部研制的导航卫星测距与授时、定位21324颗卫星等间隔分能同时观测到至少4GPS卫星[20]。GPS由三局部构成:一是GPS卫星〔空间局部:21颗工作卫星,3颗备用卫星;二是地面支撑系统〔地面监控局部1个主控站,3个注入站,5GPS接收机〔用户局部作。GPS和时间信息[21]。GPS的根本原理示意如以下图。 图4-1 GPS授时原理在本系统中,可以从GPS模块的输出信号中直接猎取时间信息,故对GPS定位信息的解算方法不做具体介绍。GPS数据接收本系统开发过程中,选择了串行接口的GPS接收机。所使用GPS接收机的4800bps。无奇偶校验,8个数据位,1个起始位,1个停顿位。GPS板输出的数据是以美国国家海洋电子协会(NationalMarineElectromcsAssociation)NMEA0183ASCII码接口协议为根底历等信息。另外,GPS还可直接输出秒脉冲(1PPS),其精度高达±1μs。本系统GPS的串行接口输出信号出分别时钟信号的方式来猎取标UTC时间。NMEA0183数据格式[22]NEMA0183输出语句的格式如以下图所示:图4-2 NMEA0183输出语句的构造示意图其中以ASCII码为输出形式的NMEA0183的RM〔RecommendedSpecifICGPS/TRANSITData,推举定位信息〕语句如下:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>时间,hhmmss〔时分秒〕格式<2>定位状态,A=有效定位,V=无效定位度分〕格式〔0也将被传输〕<4>N〔北半球〕S〔南半球〕度分〕格式〔0也将被传输〕<7>地面速率〔000.0~999.90也将被传输〕<9>UTC日期,ddmmyy〔日月年〕格式<10>磁偏角〔000.0~180.00也将被传输〕<12>模式指示〔仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效〕RMC语句以外,GlobalPositioningSystemFixData〔GGA〕GPS定位Dataandtime(ZDA)时间和日期信息中,也都包含时间信息。时钟检查与校正模块的实现GPS授时模块的流程如以下图所示:开头开头等待5秒NO串口初始化失败失败>10次?成功接收串口数据YES失败灯光告警分别时钟信号NO成功计算时钟偏差偏差>设定值?YES校正本地时钟灯光提示图4-3 GPS授时模块流程图intfd;intnread,nwrite,i;intfd;intnread,nwrite,i;charbuff[2000];fd_setrd;/*翻开串口*/if((fd=open_port(fd,1))<0){perror(“open_porterror“);return;}/*设置串口*/if((i=set_opt(fd,4800,8,”N”,1))<0){perror(“set_opterror“);return;}/*/*串口的读写*/FD_ZERO(&rd);FD_SET(fd,&rd);while(FD_ISSET(fd,&rd)){while((nread=read(fd,buff,2000))>0){„„//gps信号中分别时钟处理〔略〕}}close(fd);return;4.3NTP效劳模块NTP效劳模块的功能,主要是创立socket端口,接收客户端NTP报文,附NTP报文。NTP报文是效劳器与客户端交互的主要消息,也是NTP的工作模式、消息格式和同步原理做一简要介绍。网络时间协议概述网络时间效劳的工作模式主要有三种[2]主〔Symmetricmod动模式下;主从模式〔Server/Clientmod。与主被动对称模式根本一样。唯一区就是在这种模式的根底上设计的;播送模式〔Multicast/Broadcastmod。一对多的连接,效劳器不管客户络延时被无视,因此在准度上有损失,但可满足秒级应用。NTPC/S模式。时间信息的传输都使用UDP因条件限制,本系统承受发送多个恳求的方式来模拟多个效劳器。NTP消息格式[24]

其意义源端口和目的端口这二栏中,剩余的UDP标头栏将被设定成规格的描述,以下为NTP消息格式的描述,跟随着IP和UDPNTP的消息格式和的格式描述是完全一样的,从时钟效劳猎取时间偏差,NTP协议的NTP包=NTP头+4个时间戳=48字节。NTP的消息格式如下所示:图4-4 NTP消息格式LeapIndicator(LI)2bit码,对当日发生的跳动(闰秒)的最终一分钟发出警告,插入或者删除了一秒。4。0保存主动对称被动对称客户端效劳器端播送NTP掌握信息保存给个人使用无定义首级时钟源次级时钟源大间隔。单位为秒,以2的幂表示,范围在NTP.MINPOLL和6(64sec)-10(1024sec)。2的幂表示。偿,记录值可呈现正位和负位,范围从几毫秒到几百毫秒。1516bit0毫秒到几百毫秒。ReferenceClockIdentifier:32bit码,识别特别的参考时间源。0层(未48bit0填充ASCII字符串,ASCII标识符说明如下:4-1ReferenceClockIdentifier数据说明Stratum Code Meaning0DCNDCN路由选择协议0NISTNIST公众模式0TSPTSP时间协议0DTS数字时间效劳器1ATOM原子钟〔已校准〕1VLFVLF无线电〔OMEGA等等〕1Callsign一般无线电1LORCLORAN-C无线电导航1GOESGPESUHF环境卫星1GPSGPSUHF卫星定位ReterenceTimestamp:本地时钟最终被设定或校正的时间,64bit。Server发出恳求的本地时间,64bit。的本地时间,64bit。息,96bit,此项为可选信息。NTP同步算法NTP算法首先要依据效劳器和客户端的来回报文来确定两地时钟的差值和θ表示,对时过程中的网络路径延迟用δ表示。NTP协议效劳器与客户端对时的根本过程如以下图所示:4-5效劳器与客户端对时过程间,T2T3NTP报文的时间。假设效劳器θδ2,路径延迟总和是δ,则可列出三个方程:T2-T1=θ+δ1 〔公式4-1〕T4-T3=δ2-θ δ1+δ2=δ 〔公式4-3〕假设从客户端到效劳器的路径延迟和从效劳器到客户端的路径延迟相等,即δ1=δ2=δ/2,则从以上三个方程可以求出:θ=T2-T1〕-〔T4-T3〕/2 〔4-4〕δ=〔T2-T1〕+〔T4-T3〕 〔公式4-5〕4-6图4-6 时间偏差和网络延迟在网络中只有一个时间效劳器的状况下,网络中的客户只能从这个唯一的过滤处理,δ和时钟偏差θ的估量准确度[25]NTP承受的是一种收敛算法。具体的实现是:客户方每隔固定的时间τ就四个时戳〔T1、T2、T3、T4〕得到δ和θ值,将屡次对时的结果以[δ,θ]形值序列上开N的窗口,然后看哪个δ,θ]δθ客户方本次处理的时钟偏差值。NTP效劳模块的实现网络授时系统设计中,ARM系统作为时间同步系统的效劳器,担当着时间NTP协议原理,整个效劳器的时间同步应答可以分为以下几个步骤:接收来自客户端的时间同步申请;NTP消息中添加接收该同步恳求的时间戳。把上述数据帧保存在表中,接收下一个时间同步申请;从表中取出数据帧,发送应答,此时标记发出应答的时间戳。开头创立SOCKET保存NTP报文申请操作成功?NO告警开头创立SOCKET保存NTP报文申请操作成功?NO告警有报文?YESNO恳求连接bind取出申请报文,记录发送应答时间操作成功?NO告警回复NTP报文YES接收NTP报文关闭socket连接记录报文到达时间参加到NTP报文中完毕YES图4-7 N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论