当前位置: 首页 > news >正文

征程 6 VIO Frame 时间戳介绍

1. 时间类型

征程 6 内部的时间类型如下
在这里插入图片描述

Linux 系统时间是基于 arm system counter 抽象的,Linux 的基于 arm system counter 抽象了很多种时间,图中画了两种。CLOCK_MONOTONIC_RAW 是不会被时间同步调整的。

在这里插入图片描述

2. Frame 时间戳

从 VIO 侧获取的图像数据,带有时间戳信息,相关信息如下:

typedef struct image_info_s {
    uint16_t sensor_id; /
< sensor id */
**    uint32_t pipeline_id; /**
< pipeline id */
    uint32_t frame_id; /
< frame id */
**    uint64_t time_stamp; /**
< HW time stamp */
    struct timeval tv; /
< system time of hal get buf */
**    int32_t buf_index; /**
< buffer index */
    int32_t img_format; /
< image format */
**    int32_t fd[HB_VIO_BUFFER_MAX_PLANES]; /**
< ion buf fd */
    uint32_t size[HB_VIO_BUFFER_MAX_PLANES]; /
< buffer size per plane */
**    uint32_t planeCount; /**
< image plane count */
    uint32_t dynamic_flag; /
< dynamic flag */
**    uint32_t water_mark_line; /**
< water mark line value */
    VIO_DATA_TYPE_E data_type; /
< buffer data type */
**    buffer_state_e state; /**
< buffer state */
    uint64_t desc; /
< temp description for isp raw feedback */
**    struct timeval trig_tv;/**
< system time of lpwm trigger */
} image_info_t;

time_stamp:代表收到第一行到达时刻,获取的是 system count;

struct timeval tv: 代表收到第一行到达时刻,时间戳来源有 3 个地方, 分别代表 RTC 时戳,wall time,PHC 时戳,可通过/sys/devices/platform/soc/soc:globaltime/globaltime 配置;

struct timeval trig_tv: 同 tv,代表 LPWM trigger 时刻;

类型value获取方式是否受授时影响
GLOBAL_TIME_RTC2硬件寄存器锁存Y
GLOBAL_TIME_PHC1依赖 FS ISR 软件获取Y
GLOBAL_TIME_SYSTIME0依赖 FS ISR 软件获取N
  • RTC、PHC 是可以被时间同步调整的,直接调整的是硬件 counter。

​ ○ PHC 时间获取:驱动调用 hobot_eth_get_phc_time 接口

​ ○ RTC 时间获取:CIM 可以通过读寄存器直接拿到 RTC 时间,不建议调用接口获取 RTC 时间

​ ■ RTC 精确到秒的时间:应用层可以获取

​ ■ RTC 精确到纳秒的时间:

​ □ 如果时间同步在同步 RTC,不允许其他应用获取 RTC 时间,因为获取 RTC 时间可能 导致 RTC 时间异常改变,这个是硬件限制。

​ □ 如果不做 RTC 的时间同步,应用层可以获取 RTC 时间

常改变,这个是硬件限制。

​ □ 如果不做 RTC 的时间同步,应用层可以获取 RTC 时间

  • 车载系统一般使用 PHC 时间域,所以 frame timestamps 选择 PHC 时钟源的情况偏多,当前具体使用哪个时钟源,看具体方案;

相关文章:

  • 【随手笔记】QT避坑一(串口readyRead信号不产生)
  • 测试第二课-------测试分类
  • 安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量
  • AI Agent工程师认证-学习笔记(3)——【多Agent】MetaGPT
  • 2025蓝桥杯省赛C++B组解题思路
  • 月之暗面视觉模型(Kimi-VL)论文速读
  • OBS SDK 中 ffmpeg_muxer 与 ffmpeg_output 的区别与使用 QSV 编码器的正确方式
  • 《前端面试题之 CSS篇(第一集)》
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据导出
  • data_analysis13
  • 神经网络背后的数学原理
  • 探索 Python 的 functools 模块:缓存、属性缓存与 LRU 缓存
  • Day22 -php开发01--留言板+知识点(超全局变量 文件包含 数据库操作 第三方插件)
  • 可配置多功能门芯片的12种用法推导——基于74LVC1G97芯片(附1G98、1G57、1G58、1G99用法)
  • SpringBoot3快速入门笔记
  • 漏洞报告:多短视频平台时间差举报滥用漏洞
  • Python实例题:使用Python生成分形图片
  • java基础 运算符
  • android display 笔记(十三)surfcaeflinger的DEQUEUED、QUEUED
  • android中dp和px的关系
  • 北京昌平区/江门网站优化公司
  • 做猎头需要用到的网站/网络销售是做什么的
  • 网站建设公司业务培训/湖南靠谱seo优化
  • 成立一个做网站的公司成本/网络推广应该怎么做啊
  • wordpress点击网页效果/排名优化软件点击
  • word模板免费下载网站/南宁网站公司