FPGA学员1
我做过类似的融合项目,分享点经验。时间同步上,除了内部计数器,最好用外部 PPS 信号(如果传感器支持)来校准,避免时钟漂移。ZYNQ 的 PL 可以接一个 GPS 模块的 PPS,用它复位或同步时间戳计数器,这样雷达和摄像头的时间基准就统一了。
缓存管理别搞太复杂,本科毕设够用就行。每个传感器数据进来后,打上时间戳,然后存入一个大的 BRAM 环形缓冲区,而不是用多个 FIFO。缓冲区设计成结构体数组:包含时间戳、数据指针、帧标志。在 PL 里用状态机管理写入,PS 通过 AXI-Lite 配置和读取。这样软件查询时,可以根据时间戳二分查找对齐的数据。
关键点:数据流带宽要算好,尤其是图像数据量大,可能要用 AXI-Stream 接口配合 DMA 传到 DDR,时间戳作为 sideband 信号一起传递。雷达点云数据量小,可以放 BRAM。记得在 Vivado 里做好时序约束,跨时钟域路径设好 false path。
开源的话,可以搜一下 “FPGA-based sensor fusion timestamp”,GitHub 上有些小模块参考,但整体架构得自己搭。先搞定一个传感器的时间戳和缓存,再扩展第二个,一步步来。
