ESP32-P4 --- 摄像头视频数据显示到 LCD
从摄像头到LCD的数据流如下:
CSI 配置函数(esp_cam_new_csi_ctlr)初始化了DMA1,指示摄像头的数据流从 CSI 按 RAW8 搬移到帧缓存,由于 ISP 共用 CSI bridge,实际数据流是 CSI 输出 RAW8 数据到 ISP,ISP 输出 RGB565 到帧缓存。
DMA1 中配置的 size 是 ctrl->csi_transfer_size,即 RAW8 大小的数据,但是这个值应该会被硬件修改,因为 size 改为任何值都没影响,包括不影响进入DMA完成中断的频率。
CSI-2
对于 ESP32P4 CSI,需要指定 data lane 频率,ESP32P4 CSI 以此设置频率挡位(实测频率过高CSI驱动不了。猜测:ESP32P4 CSI 作为时钟接收端,理论上是不需要提前知道频率,知道频率可以选择高速或低速模块接收数据)
data lane 频率 是 IDI 频率的4倍(2 lane,RGB565,DDR)
ISP
输入包括:
颜色格式、水平像素、垂直像素、输入源
输出包括:
期望像素输出频率(如果视频输出到LCD,可设置为LCD 的 DCLK;或者是摄像头像素数据频率的2倍左右,即IDI频率)、颜色格式
疑问:ISP 默认是输出到 ISP 的 FIFO 么