VLP16--通过模拟GPSPPS与GPRMC信号同步时钟

1.VLP16与GPS相关的管脚:

  1. GPS-RECEIVE
    接收GPS的GPRMC语句,注意是RS232电平(high 3-15V,low 1.2V以下),如TTL电平输出需要进行信号反转,没有RS232芯片的可以使用反相电路。NPN电平反向
  2. GPS PULSE
    接收GPS的PPS信号,上升沿触发持续10us-200ms,与下一个PPS要大于300ms以上
    在这里插入图片描述
  3. GROUND
    信号地

2.利用GPS信息完成时间同步 TimeSynchronization

  1. VLP16的TOH时间戳
    VLP16有一个用于记录着TOH(top of hour)的定时器,默认根据VLP16的内部时钟自加累积,当收到一个有效的PPS信号时,会把每一个PPS的上升沿与TOH对齐,在data/position数据包里都会存在4个Byte的TOH时间戳。TOH的结构分为’TOH number of minutes and seconds‘和 ’sub-second‘,时间戳分为秒和微秒。这个4Byte能记录的最大时间是3,599,999,999μs,也就是最多能记录一小时的时间戳。在这里插入图片描述
  2. TOH时间戳结构
    sub-second:无PPS时定时器使用内部时钟给sub-second赋值,当检测到有效的PPS信号时,sub-second会在每一秒的PPS上升沿到来时进行调整。
    minutes and seconds:当接受到有效GPRMS数据时,由GPRMS里的时间戳进行调整,如果没有收到GPRMS时也会每秒自加。
    注意:当GPS突然显示无效定位时,此时由VLP16内部时钟接管驱动sub-second,就会出现一些偏移量。
  3. GPS GPRMC含义
    实例:GPRMC,161050.00,A,3042.94310,N,10358.95564,E,0.057,020513,A*7A
    $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
    <1> UTC时间,hhmmss.sss(时分秒.毫秒)格式
    <2> 定位状态,A=有效定位,V=无效定位
    <3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
    <4> 纬度半球N(北半球)或S(南半球)
    <5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
    <6> 经度半球E(东经)或W(西经)
    <7> 地面速率(000.0~999.9节,前面的0也将被传输)
    <8> 地面航向(000.0~359.9度,以正北为参考基准,前面的0也将被传输)
    <9> UTC日期,ddmmyy(日月年)格式
    <10> 磁偏角(000.0~180.0度,前面的0也将被传输)
    <11> 磁偏角方向,E(东)或W(西)
    <12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
  4. web配置参数含义
    – PPS:Lock
    当VLP16检测到一个稳定持续的PPS信号,会在web页面显示“PPS: Locked”以及在 position packet at offset 0xF4的位置写入0x02。
    – PPS Qualifier:Require GPS Receiver Valid
    On:VLP16在使用PPS上升沿给sub-second调整时,首先验证GPS是否提供了有效的位置信息,检测定位状态(A=有效定位,V=无效定位)是否为A
    – PPS Qualifier:Require PPS Lock
    On:VLP16将会使用Delay值的周期去鉴定PPS信号是否有效
    OFF:VLP16会有两个周期去鉴定PPS信号是否有效
    – Delay值
    单位秒,值0-65535,默认5秒,它的作用是有一个{Delay}秒的滚动窗口不断地去检测PPS的有效性,在开始检测时PPS被认定为不稳定模式(free-running),由内部时钟驱动sub-second,当检测PPS稳定后由PPS的上升沿驱动sub-second
    – GPS Qualifier
    On:当GPS有效时,将会由接收的GPRMC来调整TOH的minutes and seconds值
    OFF:将会由接收的GPRMC来调整TOH的minutes and seconds值,不会去检测GPS定位状态(A=有效定位,V=无效定位)
    在这里插入图片描述
    在这里插入图片描述

热门文章

暂无图片
编程学习 ·

Android运行Linux程序

安卓直接运行arm-linux-gnueabi-gcc编译的标准嵌入式Linux程序,我们有时不想把原Linux程序重新开发一遍。第一步,给adb root权限运行,否则拷贝会提示无权限failed to copy E:\share\a8Agent1.0.1\a8Agent to /data/a8Agent: Permission deniedadb root 第二不,发送程序到安…
暂无图片
编程学习 ·

读取csv文件,逐行写入txt

import csv #加载csv包便于读取csv文件x, y = [], [] csv_file = open(G:/竞赛/datafountain/O2O商铺食品安全相关评论发现/rnn_cnn/data/train.csv,encoding=utf-8) #打开csv文件 next(csv_file) csv_reader_lines = csv.reader(csv_file) #逐行读取csv文件 for one_l…
暂无图片
编程学习 ·

dexjar用法

将dex文件转换成jar文件: 直接将dex文件拖进d2j-dex2jar.bat 或者 用cmd进行转换将jar文件转换成dex文件: 直接将jar文件拖进d2j-jar2dex.bat 或者 用cmd进行转换
暂无图片
编程学习 ·

AIX下查看系统中逻辑和物理cpu的方法

系统中有很多命令可以查看cpu的个数,但是哪个命令输出的是逻辑cpu个数,哪个又是物理cpu个数呢?下面做一个简单的介绍。从AIX5.3起,对于power5的机器,系统引入了SMT(Simultaneous multi-threading)的功能,其允许两个处理线程在同一颗处理器上运行,对操作系统而言,一颗…
暂无图片
编程学习 ·

个推图可视化应用实践

个推资深前端开发专家 东风图可视化应用是数据可视化的一个重要组成部分。图指的是知识图谱(Knowledge Graph),此概念于2012年由Google正式提出,旨在帮助Google优化搜索引擎返回的结果,提升用户搜索质量及体验。个推作为专业的数据智能服务商,在图可视化应用方面也进行了…
暂无图片
编程学习 ·

Java设计模式-单例模式(全例记录)

1. 基础介绍核心作用:保证一个类只有一个实例,并提供一个访问该实例的全局访问点; 优点:由于单例模式只生成一个实例,所以减少了系统的开销,当一个系统启动需要较多的资源时,可以直接在系统启动时产生一个单例对象,然后使其永久驻留内存;单例模式可以在系统设置全局访…
暂无图片
编程学习 ·

NEAR的机会

(采摘橄榄,梵高)如今,加密圈都在为DeFi疯狂,在整体市值不升反降的这些日子里,加密圈的情绪一直高涨。这是因为Compound效应带来的结果。 虽然公链关注度暂时不如之前,但这一赛道依然是加密领域最重要的赛道。在ETH2.0没有充分证明和虹吸一切之前,一切都存在着概率和可能…
暂无图片
编程学习 ·

大学的生活给你的现在带来了什么?

《你的大学四年为现在的你提供什么优势了》初入大学的时候,我们每个人心里都存着渴望、好奇,有多少人在报完志愿的那一刻,心中的大学还是那些偶像剧中的样子。收到通知书的我们,都在彼此炫耀,终于走进了大学,可以自己做主的生活,没有家人约束的日子。走进大学的校门,多…
暂无图片
编程学习 ·

《忍者必须死3》游戏体验报告

(下文将《忍者必须死3》简称为忍3)一、背景1.1忍者必须死3流行原因分析1、情怀因素忍3的第一版游戏诞生于14年,第一版对标天天酷跑,第一版吸引用户的原因在于14年跑酷游戏众多而第一版不是氪金游戏玩法画风也算独树一帜。14年忍1的主要目标用户画像为经济能力有限的学生群体…
暂无图片
编程学习 ·

MySql简单入门_第四篇(2)_存储

5、存储过程:为以后的使用而保存的一条或多条MySql语句的集合存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(…
暂无图片
编程学习 ·

STM32HAL库的串口通讯流程详解

一 查询模式 待定,日后补充 二 中断模式 1 中断接收 1.1中断接收流程 先在启动文件中找到中断向量表(此处以USART1为例子)然后找到USART1_IRQHandler的函数定义在这里就会发现又跳转到了 HAL_UART_IRQHandler(&huart1);,追进去为下图所示:在图中标记的前三步是读取寄存…
暂无图片
编程学习 ·

数独小游戏开发(1)---自定义界面

放假闲着没事,自己写个小游戏练练手平时看到的数独小游戏的界面都是直接一个999\times999的小方格,这里使用自定义View实现。 重写onDraw()实现自定义界面的显示@Overridepublic void onDraw(Canvas canvas) { // super.onDraw(canvas);//浅色线条Paint grayPaint = n…
暂无图片
编程学习 ·

Git之HTTPS和SSH两种方式托管项目到GitHub

Git之HTTPS和SSH两种方式托管项目到GitHubGit和代码托管中心Git结合GitHub使用https方式ssh方式同步到远程仓库从远程仓库克隆从远程仓库取代码其他 Git和代码托管中心局域网环境 GitLab服务器外网环境下 GitHub、码云Git结合GitHub使用介绍 Github支持两种同步方式"https…
暂无图片
编程学习 ·

@RequestBody和@RequestParam区别

@RequestParam 注解@RequestParam接收的参数是来自requestHeader中,即请求头。RequestParam可以接受简单类型的属性,也可以接受对象类型。@RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。 defaultValue 可设置请求参数的默认值。 value 为接收url的…
暂无图片
编程学习 ·

IDEA MAVEN模块名变灰

现象 如下图所示:正常模块名是黑色,api模块名是灰色原因 api项目的pom.xml文件被设置在maven忽略文件清单中 解决 file - setting - 搜索maven - Ignored Files 将清单中对应项目的pom.xml文件取消选中即可
暂无图片
编程学习 ·

Transformer 笔记总结

transformer这一概念来自于原文attention is all you need 在机器翻译中,输入是一个句子,输出是另一种语言的句子,如下图所示:即由编码组件、解码组件以及连接层构成,如下图所示:其中编码器由6个编码器单元构成,解码器由6个解码器单元构成,如下图所示:其中,编码器单元…
暂无图片
编程学习 ·

简单认识一下Java

Java Java是一门面向对象的编程语言,不仅吸收了c++语言的各种优点,但是摒弃了c++难以理解的多继承、指针等概念。因此Java语言具有功能强大和简单易用两个特征。 Java语言作为静态面向对象编程语言的代表,极好的实现了面向对象的理论,允许程序员以优雅的思维方式进行复杂的…
暂无图片
编程学习 ·

材料力学与弹性力学中讲到的 扭转

材料力学圆轴扭转、非圆截面扭转、开口薄壁杆件扭转、闭口薄壁杆件扭转 圆轴的塑性扭转1.非圆截面扭转矩形梁进行扭转,边缘处有最大切应力。在边缘上,最大切应力位于长边的中点处。 短边处的最大切应力τ1与长边处的最大切应力τ2都位于他们的中点处,但后者大于前者。 当h/b…