基于统一授时的复眼子眼并行控制及运行模块构建毕业论文
2020-04-12 16:16:07
摘 要
自科学家受蜜蜂、苍蝇等生物的启发制造出“复眼相机”开始,复眼相机以其视野广阔、具有空间一致等特点被广泛应用于无人机、飞艇等空间探测领域中。为了使复眼的各个子眼能够在同一时间对相机拍摄范围内的所有空间进行摄影,本文专门为此研究了复眼子眼并行模块的时钟同步的解决方案。因为复眼相机为了实现广视角的空间图像的实时捕捉。所以复眼间的时钟同步是十分必要的,否则子眼的同步曝光将会受到严重影响,其所拍摄的内容会出现漏拍,延迟拍摄等问题。这与复眼相机作为视觉传感器在空间领域中的使用相违背。为了消除以上的影响,本文设计了一种复眼子眼时钟同步的并行控制模块,以单片机为中心对整个系统进行时钟校对,提高系统的时空一致性。
关键字:时钟同步 时空一致性 复眼相机 实时
目录
第一章 绪论 3
1.1研究背景及意义 3
1.2目前无线时钟同步现状 3
1.3本设计的主要工作 4
第二章 NTP网络时间协议的相关理论 7
2.1 UTC时间 7
2.2 NTP网络时钟协议 7
2.3 NTP服务器的实现原理 8
2.3.1 NTP的传输原理 8
2.3.2 NTP的传输过程 8
2.3.3 NTP的工作模式 10
2.3.4 NTP 的运行 11
2.3.5 影响NTP时间同步的因素 11
2.4 本章小结 12
第三章 硬件设计 13
3.1 硬件搭建目标 13
3.2 处理器的选择及外围电路的设计 14
3.3 ESP8266无线模块和串口通信电路设计 15
3.3.1 ESP8266硬件电路介绍 15
3.3.2 ATK-ESP8266的使用简介 16
3.4 串口通信电路 16
3.5 RTC模块硬件介绍 17
3.6本章小结 18
第4章 软件设计 19
4.1 软件系统架构 19
4.2 串口通讯程序设计 19
4.3 ESP8266部分软件设计 20
4.4本地RTC实时时钟设计 21
4.5 本章小结 22
第5章 实验结果及误差分析 23
5.1 实验结果 23
5.2 误差分析 23
第6章 结论与展望 25
6.1 结论 25
6.2 展望 25
参考文献 26
致谢 26
附录 27
第1章 绪论
1.1 研究背景及意义
随着网络通信,智能设备等相关科技的发展,在相关信息交流的过程中,需要统一的时间系统来管理信息系统,如果信息交流的双方时间不够同步,则会造成数据的丢失、系统日志记录异常和操作流程错乱等相关问题,在应用多个相机同时成像的复眼相机领域,统一的时间管理就显得尤其重要。
对于普通的本地时钟设备来说,使用晶振来维持本地时间的正常运行是一种常规的时间控制方案,但由于设备的不同,其时间不可避免会产生偏差,即使刚开始时间相差很小,由于硬件没有绝对的相同,在长时间的运行过程中,偏差也就越大。为了使各个设备之间的基准时钟达到同步,需要人为地调整设备来达到这个目的,但是对于当今智能化发展而言,为了时钟而花费大量人力就显得不够效率,且人眼分辨的偏差很小,对于某些精密仪器来说,人为对时远远没有达到预期要求。
对于时钟精度要求较高的设备而言,外接高精度时钟如GPS接收机、原子钟等目前精度极高的计时器就显得成本极高,而且不适合广泛应用。而在当今网络技术及其发达的情况下,携带无线设备的产品貌似可以作为移动型智能化设备的标配,利用无线通信网络进行时钟同步可以成为一种可行的方案,其拥有减少成本、节约资源、载体广泛等及其重要的特点,并且与当今智能化生活相契合。
1.2 目前无线时钟同步现状
目前所使用的时钟同步系统有卫星对时,NTP协议对时等对时方法。
(1)卫星对时:卫星对时是一种利用GPS,北斗,GLINASS等MGPS-801系列卫星与卫星接收机之间的一种对时方式,由于计时是基于一个标准原子钟,它使用特定原子的震荡作为一个节拍[1]。这样的时钟提供了最稳定、最准确的时间参考。这个定时信息是由卫星接收机获得的,它需要精确的时间来计算与卫星的距离,从而获得接收机在地球上的相对位置。
(2)无线电波授时:无线电波对时时一种使用电磁波发送时间标注的对时方式,它最开始是短波,由于短波容易受电离层的影响,最终发展为了超长波,精度也从一开始的ms级提升到了us级,发展到了最后来,也就是应用到了卫星对时上,精度也随之发展到了ns级[2]。
(3)NTP协议对时:NTP(Network Time Protocol)中文名称为网络时间协议,是目前被广泛应用于计算机网络上的同步时间协议,通过客户端想NTP服务器发送NTP报文请求,NTP服务器返回带有时间信息的报文,最终通过解析NTP报文中的时间信息计算信息传输过程的往返时间、单程延时、时间偏移量,最终获得相对精确的同步时间[3]。
就当今无线通讯的应用而言,这两种对时方法被应用的最广泛,实用性较大,通过本次设计的环境上来看,复眼系统之间的通信依赖于无线模块,符合当今网络架构中应用最为广泛的C/S模式(即客户端/服务器模式),而NTP授时方案符合网络条件,并且在所构成的硬件中,取材最为方便,具有一定的经济性。
1.3本设计的主要工作
本文一开始说明了时钟同步上的必要性,然后提出了网络时钟同步的可行性,并针对网络时钟同步的原理及过程进行研究,并提出了相应的硬件设计和软件设计,来达到网络时钟同步的目的。
本文章节安排如下
第一章:分析时钟同步的功能及各个领域对时钟精度的需求,讨论了目前主要的无线时钟同步方案,并选择适用的网络时钟同步方案,作为本次研究的目标。
第二章:讨论了NTP的原理和工作过程,作为本次设计的理论基础。
第三章:提出NTP时钟同步的方案,并设计了能提供时钟同步和守时的硬件电路设计。
第四章:为了实现硬件的相应功能,专门进行了软件设计,其中包括模块之间的通信,NTP报文中的时间信息提取和本地守时电路。
第五章:分析本次设计的时钟精度,并围绕影响精度的方方面面进行讨论。
第六章:对本次设计的总结,讨论了发展前景
本文的设计思路框图如图1-1所示:
图1-1
第2章 NTP网络时间协议的相关理论
2.1 UTC时间
UTC是1972年,在国际原子时和世界时之间产生的一种折衷时标,它又称为世界统一时钟,其中国际原子时是由铯-113原子跃迁的辐射周期所建立的,由于它拥有极高的稳定性,目前已经有了20多个国家建立了本地的原子时[4]。世界时表示的是格林尼治天文台的时间。也就是本初子午线的时间。UTC需要在特定的日子闰秒,来保证与国际原子时的时间差不会超过1s。
2.2 NTP网络时钟协议
NTP协议可以提供网络时间校正,在物联网领域中的应用较为广泛,它起源于时间协议、ICMP时间戳报文,NTP拥有自己独特的加密方式,可以防止外来协议的攻击,它的时钟源是UTC,从上文中看到UTC的时钟标准是原子钟,所以说NTP协议通过时间算法,可以给网络中的客户机进行时间同步,并且可以提供较为精准的时钟。
NTP的网络结构层次如下图所示,主时间服务器的时钟是UTC时间,二级服务器通过NTP报文请求获取主时间服务器的时间报文,同时二级服务器之间也可以相互同步时钟,三级服务器以此类推,也就是说服务器的层数越高,与主时间服务器的偏差也就越大,时间精度也就越低。
图2-1 NTP服务器的网络结构
2.3 NTP服务器的实现原理
2.3.1 NTP的传输原理
NTP的报文是在UDP网络协议下来传输的,UDP是用户数据报协议的英文简称,它的端口号位123,在OSI模型中处于传输层,并且是一种无连接的网络协议,位于IP协议的上层,它本身不会对数据包进行分组、组装、排序,所以说,报文被发送出去后,是无法检测报文是否完整,它的缺点也就是受网络的影响存在丢包,但是UDP需要的网络资源比较少,提高网络质量也能有效减少数据包的丢包,所以说,在网络技术发达的今天,UDP也是一种很实用的网络传输层协议。
NTP的运行原理在下面进行介绍,假设A方需要根据B方的时钟同步自己的本地时间,需要进行时钟同步的 A方发动一个消息给B方,该消息中包含它离开A时的时间戳T1,当报文到达B时,服务器加上到达的时间戳T2,此NTP消息离开B时, B加上离开的时间戳T3,当A接收到该相应报文时,加上新的时间戳T4。至此, A拥有足够的信息来计算消息来回一个周期的时延Delay和A相对于B的时间差Offset:
Delay = (T4 – T1.)-(T3 – T2)
Offset = ((T2 – T1) (T3 - T4))/2
需要进行时钟同步的A根据这些信息来调整自己的时钟,实现与B的时间同步。
NTP的时间戳的是用一个64为无浮点定点数来表示的,其次这个定点数的大小是对应与1900年1月1日0时的秒数,它的位分为两个部分,前面32位部分是指相对秒数的整数部分,而后面的是小数部分,但是32位二进制数有最大值,所以说,NTP报文的时钟范围是有限的,大致上一个满量程的计时区域大小为136年,当超过这个时间后数据将会溢出,NTP的相对时间也就需要调整。
2.3.2 NTP的传输过程
NTP报文有两种,一种是用于时间同步的数据报文,另一种是用于网络管理的控制报文,在NTP仅同步时间时,控制报文就不用使用,而数据报文包含时钟同步的信息,是本次设计中所要使用的报文,它的格式如表2-1所示。
LI | VN | Mode | Stratum | Poll | Precision |
Root Delay | |||||
Root Dispersion | |||||
Reference Identifier | |||||
Reference Timestamp | |||||
Originate Timestamp | |||||
Receive Timestamp | |||||
Transmit Timestamp | |||||
Authenticator |
表2-1 时间同步的报文格式
- LI(Leap Indicator):它拥有2位长度,当它的值是“11”时,时钟就不能被同步,其他的值如“00”、“01”、“10”时,NTP将不会进行任何的处理。
- VN(Version Number):NTP的版本号,已经更新到3。
- Mode:代表着NTP的工作模式,有0~7,8个值,分别表示为:0保留、·1主动对等体模式、2被动对等体模式、3客户端模式、4服务器模式、5广播模式和组播模式、6NTP控制报文、7预留给内部使用。
- Stratum:拥有8位的数据,表示的是时钟的层数,根据NTP服务器的网络结构,层数越高,它的时钟同步精度也就越低,所以,拥有最高时钟精度的是第1层,然后依次递减。
- Poll Interval:拥有8字节数据,表示相邻报文发送的最小时间间隔。
- Precision:时钟的精度,拥有8位数据。
- Root Delay:指的是需要时钟同步的一方发送报文到主时钟服务器,来回一次的时间延迟,拥有32位数据。
- Root Dispersion:需要时钟同步的时钟与主时钟的差值,拥有32位数据。
- Reference Identifier:用来作特定的参考时钟的标识,拥有32位数据。
- Reference Timestamp:需要进行时钟同步的时钟最后一次被设定更的时间。如果值为0则表示本地时钟从未被同步过,拥有64位数据。
- Originate Timestamp:NTP报文离开发送端时的本地时间。数据长度为64位。
- Receive Timestamp:NTP报文到达接收端的本地时间。数据长度为64位。
- Transmit Timestamp:需要时间同步的一方应答报文离开服务器端的本地时间。长度为64位。
- Authenticator:(可选)验证信息。长度为96位。
2.3.3 NTP的工作模式
NTP的工作模式有四种,这四种分别是对等体模式、客户端服务器模式、广播模式和组播模式。其中对等体模式又分为主动对等体模式和被动对等模式两种,这两种模式之间又可以互相同步,同步规则为等级低的向等级高的同步。