时钟服务器之GNSS_gnss时间系统(1)


时间服务器是一种从GNSS(全球卫星导航系统,例如:GPS,北斗…)地球同步卫星上获取标准时钟信号信息,将这些信息通过TCP/IP网络传输,为网络设备(用户)提供精确、标准、安全、可靠和多功能的时间服务,是一款实现时间同步的实用时钟设备。

一、GNSS概述

全球导航卫星系统(Global Navigation Satellite System,GNSS),又称全球卫星导航系统,是能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统。其包括一个或多个卫星星座及其支持特定工作所需的增强系统 。
        全球卫星导航系统国际委员会公布的全球4大卫星导航系统供应商,包括中国的北斗卫星导航系统(BDS)、美国的全球定位系统(GPS)、俄罗斯的格洛纳斯卫星导航系统(GLONASS)和欧盟的伽利略卫星导航系统(GALILEO)。其中GPS是世界上第一个建立并用于导航定位的全球系统,GLONASS经历快速复苏后已成为全球第二大卫星导航系统,二者正处现代化的更新进程中;GALILEO是第一个完全民用的卫星导航系统,正在试验阶段;BDS是中国自主建设运行的全球卫星导航系统,为全球用户提供全天候、全天时、高精度的定位、导航和授时服务 。

二、GPS(Global Positioning System)

全球定位系统(Global Positioning System,GPS),是一种以人造地球卫星为基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提供准确的地理位置、车行速度及精确的时间信息。GPS自问世以来,就以其高精度、全天候、全球覆盖、方便灵活吸引了众多用户。GPS是美国从20世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位功能的新一代卫星导航与定位系统。

三、BDS(BeiDou Navigation Satellite System)

中国北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)是中国自行研制的全球卫星导航系统。是继美国全球定位系统(GPS)、俄罗斯格洛纳斯卫星导航系统(GLONASS)之后第三个成熟的卫星导航系统。

2009年,北斗三号系统建设启动。到2020年,完成30颗卫星发射组网,全面建成北斗三号系统。这30颗卫星中,有3颗地球静止轨道(GEO)卫星、3颗倾斜地球同步轨道(IGSO)卫星,和24颗中圆地球轨道(MEO)卫星。这次发射的卫星,是一颗地球静止轨道(GEO)卫星,也是北斗全球卫星导航系统星座部署的收官卫星。

北斗三号系统继承了有源定位和无源定位两种技术体制,通过“星间链路”——也就是卫星与卫星之间的连接“对话”,解决了全球组网需要全球布站的问题。北斗三号在北斗二号的基础上,进一步提升性能、扩展功能,为全球用户提供定位导航授时、全球短报文通信和国际搜救等服务;同时在中国及周边地区提供星基增强、地基增强、精密单点定位和区域短报文通信服务。

目前,北斗的服务由北斗二号系统和北斗三号系统共同提供,2020年后,将平稳过渡到以北斗三号系统为主提供。下一步的计划是到2035年,建设完善更加泛在、更加融合、更加智能的国家综合时空体系。

四、GLONASS

格洛纳斯(英文:GLONASS),是俄语“全球卫星导航系统GLOBAL NAVIGATION SATELLITE SYSTEM”的缩写。格洛纳斯卫星导航系统作用类似于美国的GPS、欧洲的伽利略卫星定位系统和中国的北斗卫星导航系统。该系统最早开发于苏联时期,后由俄罗斯继续该计划。

五、GALILEO(Galileo satellite navigation system)

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模仿以上回答,如果代码:memcpy(UDP3 + 24, &udp3.GNSS_LLALongitude, 8);可以改写为: UDP3[24] = udp3.GNSS_LLALongitude & 0xFF; UDP3[25] = (udp3.GNSS_LLALongitude >> 8) & 0xFF; UDP3[26] = (udp3.GNSS_LLALongitude >> 16) & 0xFF; UDP3[27] = (udp3.GNSS_LLALongitude >> 24) & 0xFF; UDP3[28] = (udp3.GNSS_LLALongitude >> 32) & 0xFF; UDP3[29] = (udp3.GNSS_LLALongitude >> 40) & 0xFF; UDP3[30] = (udp3.GNSS_LLALongitude >> 48) & 0xFF; UDP3[31] = (udp3.GNSS_LLALongitude >> 56) & 0xFF; 代码:memcpy(UDP3 + 32, &udp3.GNSS_LLALatitude, 8);可以改写为: UDP2[32] = udp3.GNSS_LLALatitude & 0xFF; UDP2[33] = (udp3.GNSS_LLALatitude >> 8) & 0xFF; UDP2[34] = (udp3.GNSS_LLALatitude >> 16) & 0xFF; UDP2[35] = (udp3.GNSS_LLALatitude >> 24) & 0xFF; UDP2[36] = (udp3.GNSS_LLALatitude >> 32) & 0xFF; UDP2[37] = (udp3.GNSS_LLALatitude >> 40) & 0xFF; UDP2[38] = (udp3.GNSS_LLALatitude >> 48) & 0xFF; UDP2[39] = (udp3.GNSS_LLALatitude >> 56) & 0xFF; 请帮我改写以下程序:memcpy(UDP3 + 40, &udp3.GNSS_LLAAltitude, 4); memcpy(UDP3 + 44, &udp3.GNSS_EastVelSpeed, 4); memcpy(UDP3 + 48, &udp3.GNSS_NorthvelSpeed, 4); memcpy(UDP3 + 52, &udp3.GNSS_UpVelSpeed, 4); memcpy(UDP3 + 56, &udp3.GNSS_AzimuthAngle, 4); memcpy(UDP3 + 60, &udp3.GNSS_LLALatStd, 4); memcpy(UDP3 + 64, &udp3.GNSS_LLAlonStd, 4); memcpy(UDP3 + 68, &udp3.GNSS_LLAAltStd, 4); memcpy(UDP3 + 72, &udp3.GNSS_EastVelStd, 4); memcpy(UDP3 + 76, &udp3.GNSS_NorthvelStd, 4); memcpy(UDP3 + 80, &udp3.GNSS_UpVelStd, 4); memcpy(UDP3 + 84, &udp3.GNSS_AzimuthAngleStd, 4); memcpy(UDP3 + 88, &udp3.GNSS_GroundSpeed, 4); memcpy(UDP3 + 92, &udp3.GNSS_SolutionStatus, 1); memcpy(UDP3 + 93, &udp3.GNSS_PositionType, 1); memcpy(UDP3 + 94, &udp3.GNSS_NumSatellitesTracked, 1); memcpy(UDP3 + 95, &udp3.GNSS_NumSatellitesSolu, 1); memcpy(UDP3 + 96, &udp3.GNSS_NumL1SatellitesSolu, 1); memcpy(UDP3 + 97, &udp3.GNSS_NumL2SatellitesSolu, 1); memcpy(UDP3 + 98, &udp3.GNSS_NumL5SatellitesSolu, 1); memcpy(UDP3 + 99, &udp3.GNSS_Undulation, 4); memcpy(UDP3 + 103, &udp3.GNSS_Age, 4); memcpy(UDP3 + 107, &udp3.GNSS_leaps, 1); memcpy(UDP3 + 108, &udp3.GNSS_SafeStatus, 1);
06-11
以下是改写后的程序: UDP3[40] = udp3.GNSS_LLAAltitude & 0xFF; UDP3[41] = (udp3.GNSS_LLAAltitude >> 8) & 0xFF; UDP3[42] = (udp3.GNSS_LLAAltitude >> 16) & 0xFF; UDP3[43] = (udp3.GNSS_LLAAltitude >> 24) & 0xFF; UDP3[44] = udp3.GNSS_EastVelSpeed & 0xFF; UDP3[45] = (udp3.GNSS_EastVelSpeed >> 8) & 0xFF; UDP3[46] = (udp3.GNSS_EastVelSpeed >> 16) & 0xFF; UDP3[47] = (udp3.GNSS_EastVelSpeed >> 24) & 0xFF; UDP3[48] = udp3.GNSS_NorthvelSpeed & 0xFF; UDP3[49] = (udp3.GNSS_NorthvelSpeed >> 8) & 0xFF; UDP3[50] = (udp3.GNSS_NorthvelSpeed >> 16) & 0xFF; UDP3[51] = (udp3.GNSS_NorthvelSpeed >> 24) & 0xFF; UDP3[52] = udp3.GNSS_UpVelSpeed & 0xFF; UDP3[53] = (udp3.GNSS_UpVelSpeed >> 8) & 0xFF; UDP3[54] = (udp3.GNSS_UpVelSpeed >> 16) & 0xFF; UDP3[55] = (udp3.GNSS_UpVelSpeed >> 24) & 0xFF; UDP3[56] = udp3.GNSS_AzimuthAngle & 0xFF; UDP3[57] = (udp3.GNSS_AzimuthAngle >> 8) & 0xFF; UDP3[58] = (udp3.GNSS_AzimuthAngle >> 16) & 0xFF; UDP3[59] = (udp3.GNSS_AzimuthAngle >> 24) & 0xFF; UDP3[60] = udp3.GNSS_LLALatStd & 0xFF; UDP3[61] = (udp3.GNSS_LLALatStd >> 8) & 0xFF; UDP3[62] = (udp3.GNSS_LLALatStd >> 16) & 0xFF; UDP3[63] = (udp3.GNSS_LLALatStd >> 24) & 0xFF; UDP3[64] = udp3.GNSS_LLAlonStd & 0xFF; UDP3[65] = (udp3.GNSS_LLAlonStd >> 8) & 0xFF; UDP3[66] = (udp3.GNSS_LLAlonStd >> 16) & 0xFF; UDP3[67] = (udp3.GNSS_LLAlonStd >> 24) & 0xFF; UDP3[68] = udp3.GNSS_LLAAltStd & 0xFF; UDP3[69] = (udp3.GNSS_LLAAltStd >> 8) & 0xFF; UDP3[70] = (udp3.GNSS_LLAAltStd >> 16) & 0xFF; UDP3[71] = (udp3.GNSS_LLAAltStd >> 24) & 0xFF; UDP3[72] = udp3.GNSS_EastVelStd & 0xFF; UDP3[73] = (udp3.GNSS_EastVelStd >> 8) & 0xFF; UDP3[74] = (udp3.GNSS_EastVelStd >> 16) & 0xFF; UDP3[75] = (udp3.GNSS_EastVelStd >> 24) & 0xFF; UDP3[76] = udp3.GNSS_NorthvelStd & 0xFF; UDP3[77] = (udp3.GNSS_NorthvelStd >> 8) & 0xFF; UDP3[78] = (udp3.GNSS_NorthvelStd >> 16) & 0xFF; UDP3[79] = (udp3.GNSS_NorthvelStd >> 24) & 0xFF; UDP3[80] = udp3.GNSS_UpVelStd & 0xFF; UDP3[81] = (udp3.GNSS_UpVelStd >> 8) & 0xFF; UDP3[82] = (udp3.GNSS_UpVelStd >> 16) & 0xFF; UDP3[83] = (udp3.GNSS_UpVelStd >> 24) & 0xFF; UDP3[84] = udp3.GNSS_AzimuthAngleStd & 0xFF; UDP3[85] = (udp3.GNSS_AzimuthAngleStd >> 8) & 0xFF; UDP3[86] = (udp3.GNSS_AzimuthAngleStd >> 16) & 0xFF; UDP3[87] = (udp3.GNSS_AzimuthAngleStd >> 24) & 0xFF; UDP3[88] = udp3.GNSS_GroundSpeed & 0xFF; UDP3[89] = (udp3.GNSS_GroundSpeed >> 8) & 0xFF; UDP3[90] = (udp3.GNSS_GroundSpeed >> 16) & 0xFF; UDP3[91] = (udp3.GNSS_GroundSpeed >> 24) & 0xFF; UDP3[92] = udp3.GNSS_SolutionStatus; UDP3[93] = udp3.GNSS_PositionType; UDP3[94] = udp3.GNSS_NumSatellitesTracked; UDP3[95] = udp3.GNSS_NumSatellitesSolu; UDP3[96] = udp3.GNSS_NumL1SatellitesSolu; UDP3[97] = udp3.GNSS_NumL2SatellitesSolu; UDP3[98] = udp3.GNSS_NumL5SatellitesSolu; UDP3[99] = udp3.GNSS_Undulation & 0xFF; UDP3[100] = (udp3.GNSS_Undulation >> 8) & 0xFF; UDP3[101] = (udp3.GNSS_Undulation >> 16) & 0xFF; UDP3[102] = (udp3.GNSS_Undulation >> 24) & 0xFF; UDP3[103] = udp3.GNSS_Age & 0xFF; UDP3[104] = (udp3.GNSS_Age >> 8) & 0xFF; UDP3[105] = (udp3.GNSS_Age >> 16) & 0xFF; UDP3[106] = (udp3.GNSS_Age >> 24) & 0xFF; UDP3[107] = udp3.GNSS_leaps; UDP3[108] = udp3.GNSS_SafeStatus;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值