OPEN-EC硬件介绍

起源

先介绍一下做这个的起因吧。
之前实验室用的都是OPENMV,树莓派这一类的视觉处理模块。然后这几年芯片价格疯涨,这类模块价格也涨得离谱,实验室有需要大批量入门级的视觉模块,已经支持不起开销了。
偶然发现ESP32竟然没涨价,而且还有安信可专门的摄像头模块,就是这个ESP32-CAM。可惜它主打的是网络摄像头,对图像处理的操作几乎没有。
因此就萌生了在上面移植图像操作库。找来找去要不就是库太大,单片机带不动不够大,或者就是太简单,就想着反正也不麻烦,不如自己实现一些图像操作。
然后计划就开始了。
硬件方面,计划在开发板上移植LCD,可以实时看到图像处理结果。
软件方面,写一些类似OPENCV的API,后续想尝试对onnx的支持,以及再改一改图传便于远程看结果以及调试。

实物

正面

esipc ESIPC-CAM-DCA0_串口

背面

esipc ESIPC-CAM-DCA0_引脚_02

侧面

esipc ESIPC-CAM-DCA0_图像处理_03

ESP32-CAM模块

esipc ESIPC-CAM-DCA0_图像处理_04


真的很便宜!!带摄像头只要20块。

主频高达240MHz,运算能力高达 600 DMIPS

内置 520KB SRAM,外置8MB PSRAM

其中给图像动态分配的存储空间主要分配在外置PSRAM中。

上面带了配套的OV2640模块,CSI接口通信

LCD

esipc ESIPC-CAM-DCA0_图像处理_05


由于他引脚比较少,就把SD/TF卡的引脚那来给LCD了。引脚真的很少,所以只给了LCD 3个脚(抠到极致)SCL,SDA,DC(RS),其中片选直接接地选中,复位跟ESP的复位接一起。

分辨率128x160,不能再大了,再大刷新频率不够。

USB-TTL

esipc ESIPC-CAM-DCA0_图像处理_06

UART0终端选择

esipc ESIPC-CAM-DCA0_图像处理_07


U0T和U0R接在ESP32的串口上,U0T_340接在CH340的RX上,U0T_EXT接在无线通信模块上。

无线通信模块兼容HC系列的蓝牙,直接插上去就行。

用于远程调试。后期会有终端,远程收发指令和数据。

启动方式选择

esipc ESIPC-CAM-DCA0_esipc_08


软件一键下载实在不支持,ESP32的烧录工具只能动TX RX两个脚。

ESP32复位之后,如果IO0接地,就进入flash烧录模式,悬空或者接高就正常运行程序。

硬件实现的功能是,按一下下载,进入程序烧录模式,按一下复位,从FLASH读取运行程序。

后来发现IO0在程序运行中,用作摄像头的通信,所以为了防止对摄像头通信有影响,图中的R1可以不焊。

供电

模块不仅可以用过USB供电,还提供一个5V供电口。
官方说供电要求5V 2A,事实证明功率确实很大。如果供电不足,读到的图像会花。

串口

引出一个串口UART2,用于跟MCU通信,传递识别结果等。
ESP32串口引脚可以乱搞,TX RX可以映射到任意一个脚上,不需要按照官方的引脚。(官方给的UART2引脚被占了)