天天看点

启明云端分享|ESP32摄像头应用方案常遇到的问题

启明云端分享|ESP32摄像头应用方案常遇到的问题

提示:启明云端从2013年起就作为Espressif(乐鑫科技)大中华区合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫新产品、新方案的主要特点及应用!希望你能第一时间了解并快速用上好的方案和产品!

ESP32 系列芯片支持哪种类型的摄像头?

OV 系列:OV2640、OV3660、OV5640、OV7725

GC 系列:gc0308、gc032a、gc2145

SC 系列:sc031gs

可支持摄像头类型:摄像头支持 I2C(SCCB)配置,支持 8 线并口通信

摄像头输出图像都有什么格式?

图像格式:主要由摄像头决定,如果某个摄像头支持多个图像格式,如RGB565、RGB888、YUV422、JPEG等,是需要通过配置摄像头的寄存器来选择输出格式。

摄像头支持哪些参数调整?

图像数据传输速度(PCLK)、摄像头输出格式、分辨率、输出图像大小、白平衡、GAMMA 校正等摄像头自带的图像模式。

摄像头中 MCLK 和 PCLK 区别及关系?

MCLK 是摄像头输入的主时钟,带动整个摄像头的主频。

PCLK 是摄像头输出的时钟,主要为输出数据提供 CLK。

MCLK 在摄像头内经过倍频/分频(根据摄像头配置决定)后得到 PCLK。

摄像头的 PCLK 是不是越高越好?

理论上 PCLK 速度越高数据传输越快,但实际使用中也会对芯片处理速度要求越高。

当前 ESP32 系列芯片并口通信是通过 I2S 接口实现,过高的 PCLK 会导致并口数据无法同步,出现图像抖动甚至花屏的现象,所以

PCLK 存在以下测试数据。

ESP32 的 PCLK 上限为 8 MHz 。

ESP32S2 的 PCLK 上限为 32 MHz。

ESP32 系列芯片支持 MIPI 接口吗?

ESP32 和 ESP32S2 均不支持,后续的芯片会支持。

ESP32 系列芯片支持 USB2.0 接口吗?

ESP32-S2 均支持,后续ESP32-S3的芯片会支持。

启明云端分享ESP32-S2驱动USB摄像头DEMO

摄像头中 YUV/RGB 的传输速度为何会比 JPEG 慢?

因为 YUV/RGB 数据量比 JPEG 的数据量大。

例如:320 × 240 的屏幕, YUV422 输出要 153.6K, 而 JPEG 压缩后大约 10 K。

摄像头应用中影响帧率的因素?

帧率:帧率是指两张图片间刷新的速度,其影响因素主要为:

摄像头性能及参数配置而产生的图像大小(输出图像分辨率大小、输出图像格式)

CPU 处理速度(接收图像处理、图像转码速度、图传到网络或显示屏的速度)

摄像头运行失败如何排查?

无法识别摄像头型号:

检查管脚是否对应正确,重点关注 XCLK、SIOC、SIOD。

XCLK 输入的时钟频率太低或摄像头供电不正常,导致摄像头无法正常运行。

SIOC 和 SIOD 上挂载太多设备,导致轮询读到率先返回的地址 ID 不是摄像头而是其他设备。(建议摄像头 ID 固定,去除轮询步骤)

摄像头识别到了型号,没有图像显示:

检查摄像头数据管脚是否有信号,MCLK 是否正常输入。

摄像头寄存器参数配置正确。

摄像头图像显示不正常:

先检查代码,输出格式是 RGB、YUV 还是 JPEG,是否符合接收端需要的格式。

尝试降低 PCLK 频率。

ESP32 支持传输视频流吗?

视频流的传输操作分:二进制传输 和 视频流编解码。

二进制传输:ESP32 可以做二进制传输,此处只取决于传输的网络带宽,目前我们 ESP32 TCP 带宽 20 MB/s,参考 WiFI

测试数据 。

视频流编解码:目前视频流主要格式有 H264、H265、MJPEG 等,ESP32 暂无视频流编解码操作的能力。