• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > 征程 6 VIO Frame 時間戳介紹

    征程 6 VIO Frame 時間戳介紹

    發布人:地平線開發者 時間:2025-04-12 來源:工程師 發布文章

    1. 時間類型

    征程 6 內部的時間類型如下

    img

    Linux 系統時間是基于 arm system counter 抽象的,Linux 的基于 arm system counter 抽象了很多種時間,圖中畫了兩種。CLOCK_MONOTONIC_RAW 是不會被時間同步調整的。

    image-20250412203740780image.png

    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 時間

    車載系統一般使用 PHC 時間域,所以 frame timestamps 選擇 PHC 時鐘源的情況偏多,當前具體使用哪個時鐘源,看具體方案;


    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 进贤县| 天津市| 永丰县| 长沙市| 驻马店市| 禹州市| 伊宁市| 卢龙县| 永胜县| 安平县| 英超| 楚雄市| 南涧| 洪洞县| 南汇区| 会东县| 郸城县| 泽普县| 会泽县| 辰溪县| 临夏县| 三门县| 军事| 长子县| 博兴县| 兴义市| 东丽区| 绥芬河市| 苗栗市| 龙胜| 九龙坡区| 高安市| 扶余县| 大悟县| 新营市| 天长市| 湘阴县| 屏东县| 临西县| 太和县| 铜陵市|