博客專欄

        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 時鐘源的情況偏多,當前具體使用哪個時鐘源,看具體方案;


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




        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江口县| 丹巴县| 保康县| 涡阳县| 讷河市| 宝应县| 竹溪县| 吴忠市| 高尔夫| 仪陇县| 陕西省| 承德县| 华安县| 南木林县| 石柱| 裕民县| 朝阳县| 黄浦区| 澄迈县| 三原县| 文山县| 龙口市| 诸城市| 洮南市| 宣化县| 海淀区| 西林县| 龙海市| 徐汇区| 格尔木市| 奉新县| 宝鸡市| 石门县| 广灵县| 枣阳市| 泸定县| 绥江县| 涞水县| 顺昌县| 临湘市| 忻城县|