ESP USB Camera 的应用方案

总体说明

目前,我们发布的 ESP32-S2ESP32-S3 系列的产品都支持 USB Camera 应用方案

适用领域

  • 家庭安防
  • 楼宇可视对讲机
  • 猫眼门铃
  • 儿童相机
  • FPV 图传
  • 宠物喂养
  • 扫码录入
  • 医疗内窥
  • AI 应用:OCR,人脸识别,侵入检测

当前主要的 Camera 接口类型有:

ESP USB Camera 的应用方案_第1张图片

当前 Camera 支持的数据输出格式,主要有:

  • RGB
  • YUV
  • JPEG
  • RAW Data
  • BMP

注意:
当摄像头本身不支持输出 JPEG 数据时,可以由 ESP 设备执行 JPEG 压缩,输出 JPEG 数据。特别地,当需要的分辨率过大 , 超过 640*480 时,尽量考虑使用支持 JPEG 编码的摄像头。由 ESP 设备执行 JPEG 编解码将对 CPU内存 造成压力。


USB 接口的 Camera 方案

目前,仅 ESP32-S2、ESP32-S3 支持 USB 接口的 Camera 方案,USB 接口为芯片指定管脚 GPIO19(D-)GPIO20(D+)

1 USB 接口的 Camera 选型 要求:

  • 摄像头兼容 USB1.1 全速(FS 12Mbps)模式

  • 摄像头必须支持标准 UVC 协议

  • 摄像头自带 MJPEG 压缩

  • 同步传输模式下,摄像头支持设置接口为 wMaxPacketSize512

  • 同步传输模式下,图像数据流 USB 传输总带宽应小于 4 Mbps (500 KB/s),若图像单帧 25KB,帧率可到 20 FPS

  • 批量传输模式下,图像数据流 USB 传输总带宽应小于 8.8 Mbps (1100 KB/s),若图像单帧 50KB,帧率可到 20 FPS

  • MJPEG 支持 320 x 480、320 x 240 分辨率(同步传输)或 640 x 480 分辨率 (批量传输)

  • MJPEG 支持设置帧率到 15 帧/s、30 帧/s


2 USB Camer 硬件接线:

  • USB 摄像头 VBUS 请使用 5V 电源,或使用 GPIO 控制 VBUS ON/OFF。
  • USB 摄像头D+ 、D- 数据线请按照常规差分信号标准走线
  • USB 摄像头 D+(绿线)接 ESP32-S2/S3 的 GPIO20
  • USB 摄像头 D-(白线)接 ESP32-S2/S3 的 GPIO19

3 USB 接口的 Camera 方案软件设计参考:

  • USB 接口的 Camera 应用基础功能:

    • USB 摄像头 JPEG 数据流实时获取
    • USB 摄像头热插拔
    • JPEG 本地实时解码,LCD 屏幕实时显示
    • JPEG 编码图像网络传输
  • 基于 UVC 协议的 USB Camera 驱动:

    • esp-iot-solution SDK usb/add_usb_solutions 分支: esp-iot-solution/components/usb/uvc_stream
  • USB 接口的 Camera 应用方案例程:

    • esp-iot-solution SDK usb/add_usb_solutions 分支: esp-iot-solution/examples/usb/host
  • USB Camera + LCD Display 例程:usb/host/usb_camera_lcd_display
  • USB Camera + SD 卡存储例程:usb/host/usb_camera_sd_card
  • USB Camera + Wi-Fi 图传(MJPEG)例程:usb/host/usb_camera_wifi_transfer

4 USB Camera 测试数据:

  • USB Camera 传输 + ESP 设备解码和刷屏 的帧率

    分辨率 编码格式 典型帧率
    320 * 480 JPEG 10
    320 * 240 JPEG 15
    • 瓶颈:ESP 设备的解码速率
    • 提升思路:
      • 加快 ESP 设备的解码速率,可参考 Audio JPEG 图片解码加速指令集 esp-adf-libs/esp_codec/include/codec/esp_jpeg_dec.h , 仅支持 ESP32-S3,对应示例参考:esp-adf/examples/display
  • 总带宽限制下,不同分辨率图像压缩率帧率对应关系:

USB Camera 传输 + ESP 设备 WiFi 图传

  • 瓶颈:ESP32 设备的 USB 接口传输带宽 4Mbps (同步传输模式)
  • 提升思路:
    • 增加图像压缩率,降低图像质量
    • 使用批量传输模式 USB Camera,USB 接口传输带宽可达 8.8 Mbps。
      ESP USB Camera 的应用方案_第2张图片
  • ESP32-S2 USB Camera ,在压缩率 25:1 下,640*480 分辨率的图像吞吐率可达到 15 帧每秒,每一帧图像大小约 36 KB:
    ESP USB Camera 的应用方案_第3张图片

  • ESP32-S2 USB Camera ,在压缩率 15:1 下,320*240 分辨率的图像吞吐率可达到 33 帧每秒,每一帧图像大小约 15 KB:
    ESP USB Camera 的应用方案_第4张图片


5 USB Camera 性能总结:

  • ESP32-S2 与 ESP32-S3 的 USB Camera 接口速率的性能差异不大,但 ESP32-S2 是单核芯片,ESP32-S3 是双核芯片,且 ESP32-S3 支持 8 线 PSRAM ,所以 ESP32-S3 的 USB Camera 整体性能优于 ESP32-S2

你可能感兴趣的:(外设,(Peripherals),USB,CAMERA)