Velodyne VLP16时间同步

2023-10-30 03:20
文章标签 时间 同步 velodyne vlp16

本文主要是介绍Velodyne VLP16时间同步,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Velodyne VLP16时间同步

  • 时间同步需要GPS信号和PPS信号
  • 需求
  • 1.介绍
  • 2.设置界面
  • 3.背景
  • 4.PPS Qualifier
    • 4.1 Require GPS Receiver Valid
    • 4.2 Require PPS Lock
    • 4.3 Delay
  • 5. GPS Qualifier
    • 5.1 Require GPS Receiver Valid
  • 6.应用
  • 7.汇总
  • 8.电平需求

时间同步需要GPS信号和PPS信号

需求

高电平 3 ~ 15V
低电平 -15 ~ 1.2V
GPS信号 GPRMC:HHMMSS, HHMMSS.s, HHMMSS.ss 以及 HHMMSS.sss 232电平
PPS信号 TTL电平
固件版本 3.0.34.0 (VLP-16)以上

1.介绍

威力登Velodyne公司的VLP16激光雷达使用时间同步功能所需信号以及相关设置的说明,供自己以后参考,也希望能够帮助大家!

2.设置界面

下面两个按钮分别用于PPS信号同步(PPS Qualifier),GPS信号同步(GPS Qualifier)。其中GPS信号使用美国国家海洋电子协会(NMEA)字段。在传感器网页界面可以进行设置
下面是默认设置
在这里插入图片描述

3.背景

激光内部只有一个代表TOH(Top Of Hour)时间的计数器,基于内部晶振器(internal oscillator)。当传感器收到一个有效的PPS信号时,TOH计数在每个PPS上升沿进行调整,使TOH与UTC时间一致。TOH在数据和位置/遥测数据包中以一个四字节的时间戳发送。
TOH时间由两部分组成,一部分是从TOH时间开始的分钟数+秒数,一部分是微秒数。如下面所示,激光只有当前时刻的分钟数+秒数+微秒数,不知道具体的年月日时
在这里插入图片描述
传感器会持续检测PPS脉冲信号并评估,在网页界面位置数据包中都可以看到。如果PPS信号有效,稳定,可靠,网页界面会显示PPS: Locked,数据包中PPS状态值(0xF4)置为0x02
在这里插入图片描述

传感器使用内部振荡器记录微秒数,但是传感器可以使用PPS信号来调整微秒数,在PPS上升沿对微秒数置零

如果有NMEA信息,分钟数+秒数通过NMEA数据校正,如果没有,每秒递增。

使用PPS信号校正微秒计数器允许传感器同步外部PPS源

4.PPS Qualifier

3个设置按钮,传感器如何使用GPS、PPS校正TOH计数器。
根据GPS接收器的有效/无效状态,这三个设置决定传感器的TOH计数器是否应该进入自由运行模式或使用PPS信号的上升边缘同步微秒计数器。

4.1 Require GPS Receiver Valid

该设置确定传感器利用NMEA语句中提供的GPS接收器的当前状态的方式。

  • On 在使用PPS信号的上升边调整内部微秒计数器之前,该传感器要求GPS接收器数据有效。PPS校正之前需要GPS信号有效

传感器必须接收到有效的NMEA消息,表明GPS接收器正在提供有效的时间戳

  • Off 不考虑GPS信号是否有效,使用PPS信号上升沿对微秒计数器同步

4.2 Require PPS Lock

该设置决定了传感器确认PPS信号有效的方式。在多少个Delay之后才使用PPS信号。

  • On 该传感器利用延迟计数(Delay)中的值来确定有效性。
  • Off 该传感器忽略延迟计数(Delay)中的值,默认经过2个周期之后使用PPS信号。关闭此选项会将延迟值设置为2

4.3 Delay

该参数是用户设置的传感器验证PPS信号有效性所需的时间,单位是整数秒,可接受的值范围从0到65535。默认值是5秒当不使用PPS信号时,会使用内部晶振器对计数

5. GPS Qualifier

设置TOH时间是否跟随GPS信号同步,或者跟随内部晶振器同步

5.1 Require GPS Receiver Valid

  • On GPS信号有用时,使用NMEA信息对TOH时间同步
  • Off 不管GPS信号是否有效均使用NMEA信息对TOH时间同步

6.应用

默认设置(以及固件的以前版本)中,传感器使用PPS同步到GPRMC消息中包含的时间,而不考虑GPRMC消息中有效标志的状态。在这种配置下,当GPS定位失效时,一个较大系统中的所有器件(激光雷达、IMU、RGB相机等)将被锁定在同一时间源(GPS接收器的内部时钟)。这允许在后期或实时处理期间对数据进行适当的协调

7.汇总

在这里插入图片描述
在这里插入图片描述
如果没有提供NMEA语句,分和秒计数器由子秒计数器的翻转来驱动

8.电平需求

GPRMC报文信息需要232电平PPS信号需要TTL电平
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于Velodyne VLP16时间同步的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/305252

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为