Vehicle 快速倒车影像链路

Vehicle 快速倒车影像链路

1. 目标

vehicle/为Rockchip vendor快速倒车影像方案,目标是在Android Camera/HWC完整启动前,以较短延迟显示后摄画面。

2. 构建依赖

VIDEO_REVERSE_IMAGE依赖:

  • ARCH_ROCKCHIP
  • ROCKCHIP_DRM_DIRECT_SHOW
  • VIDEO_ROCKCHIP_CIF
  • PHY_ROCKCHIP_CSI2_DPHY

因此它横跨camera capture和DRM direct display。

3. 组成

文件组 作用
vehicle_main/dev 生命周期和设备入口
vehicle_cif capture接口/寄存器
vehicle_flinger buffer到显示
vehicle_gpio 倒车信号等GPIO
vehicle_generic_sensor 通用sensor控制
vehicle_ad_* TP28xx、NVP、MAX96714、GC2145、ADV7181等decoder
DPHY common CSI2 DPHY协作

4. 数据路径

1
2
3
4
5
6
7
8
reverse GPIO/event
-> power sensor/decoder
-> configure CIF/CSI
-> allocate capture buffers
-> start frame capture
-> vehicle flinger
-> DRM direct-show/VOP
-> display

5. 支持源

Kconfig可选TP2815、TP2855、NVP6324、NVP6188、MAX96714、GC2145和AD7181。实际I2C地址、video format和lane来自板级DTS/配置。

6. Buffer

Capture DMA与VOP scanout必须共享可访问buffer,并保证:

  • stride/format一致;
  • producer完成后再scanout;
  • VOP释放后才复用;
  • IOMMU domains/physical地址可达;
  • cache属性正确。

7. 与标准栈关系

它是专用低延迟旁路,不等同于标准V4L2→userspace→DRM pipeline。优点是快,代价是跨子系统耦合和vendor ABI。

8. 状态机

至少区分:

  • inactive;
  • starting;
  • streaming;
  • stopping;
  • error。

倒车信号抖动时必须去抖,start/stop不能并发重复执行。

9. 显示ownership

Direct show可能与正常HWC/DRM atomic commit争用VOP plane。必须明确:

  • 哪个plane保留;
  • 进入倒车时如何抢占;
  • 退出时如何恢复;
  • suspend/hotplug怎么办。

10. 错误恢复

  • sensor无锁:显示安全提示/黑帧;
  • CIF timeout:stop/reset/restart;
  • buffer错误:禁止scanout损坏地址;
  • DRM被卸载:停止capture;
  • GPIO频繁变化:serialize work。

11. 安全

倒车画面属于安全相关功能。应有:

  • 启动deadline和故障监测;
  • stale frame检测;
  • 明确fail-safe;
  • userspace不能任意注入buffer;
  • watchdog/health counters;
  • production关闭过度debug。

12. RK3588配置

本树rk3588_vehicle.config明确写有# CONFIG_VIDEO_REVERSE_IMAGE is not set,说明“vehicle源码存在”不能推断该fragment启用;应以最终合并.config和具体车载DTS为准。

13. 调试顺序

倒车GPIO→decoder I2C/lock→CSI DPHY→CIF IRQ/frame counter→buffer address/fence→DRM direct-show→VOP route→panel/backlight。

文章互动

阅读 --

留言

0 条留言

正在加载留言…