
1. 项目概述Excam 是一款面向嵌入式视觉应用的紧凑型机器视觉终端设备其核心定位是将 OpenMV 生态的算法能力与工程化硬件平台深度融合形成具备完整人机交互、本地存储、环境适应与可扩展性的独立视觉节点。区别于传统开发板形态的视觉模块Excam 在物理结构上完成了从“实验平台”到“功能完备终端”的跨越集成翻转式显示屏、可充电锂电系统、多模式照明、物理按键输入、SD 卡本地存储及标准化外设接口所有功能均围绕 OpenMV 固件运行时环境进行协同设计。该设备并非对 OpenMV 模块的简单封装而是基于 STM32H7 系列高性能 MCU 的深度定制实现。主控选用 STM32H743VIT6亦兼容 STM32H750VBT6主频达 480 MHz具备双精度浮点单元FPU、大容量片上 SRAM1 MB及丰富的高速外设资源为实时图像处理、轻量级神经网络推理及多任务调度提供了坚实的硬件基础。在保持与 OpenMV 官方固件二进制兼容的前提下Excam 通过硬件层面对供电管理、传感器接口、显示驱动与人机交互通道进行了系统性重构使其脱离 PC 依赖即可完成图像采集、算法执行、结果可视化与数据持久化全流程。从应用场景看Excam 适用于教育实践、工业简易质检、智能小车视觉导航、安防边缘识别等对体积、功耗与交互友好性有明确要求的嵌入式视觉场景。其 1.8 英寸翻转屏支持 180° 旋转便于不同安装姿态下的画面观察RGB 指示灯与物理按键构成基础状态反馈与控制通道补光灯电路支持 PWM 调光适配低照度环境SD 卡槽允许离线保存图像帧、模型文件与日志数据而侧面 SH1.0 排针则完整引出了 OpenMV 支持的全部 GPIO、UART、I2C、SPI 及 ADC 引脚并在关键信号线上配置 ESD 防护器件兼顾功能性与鲁棒性。2. 硬件系统架构2.1 主控与核心外设拓扑Excam 的硬件系统采用模块化三层架构主控板四层 PCB、屏幕板两层 PCB、摄像头板两层 PCB。三者通过 FPC 软排线互联物理隔离的同时保证高速信号完整性与装配灵活性。系统框图清晰呈现了数据流与控制流路径OV5640/OV2640 图像传感器经 DVP 并行接口接入 STM32H743 的 DCMI 外设图像数据经 DMA 直接搬运至内部 SRAM 或外部 SDRAM若扩展处理结果通过 SPI 接口驱动 1.8 英寸 ST7735S 型 TFT LCD用户指令通过独立按键矩阵与 RGB LED 状态指示形成闭环SD 卡通过 SDIO 2.0 接口实现高速读写所有外设电源由统一电源树供给并受精密电源管理芯片调控。主控芯片 STM32H743VIT6 的选型具有明确的工程依据其 DCMI 接口原生支持 OV5640 的 10-bit RAW RGB 输出格式最高采样率可达 30 fpsVGA640×480远超 OV2640 的 QVGA320×240性能瓶颈内置的 ART Accelerator™ 与 L1 Cache 显著提升代码执行效率使 MicroPython 解释器在复杂算法如 Haar 级联人脸识别、ORB 特征点匹配下仍能维持可接受的帧率丰富的定时器资源含高级控制定时器 TIM1/TIM8为 PWM 补光灯调光、RGB LED 呼吸灯效提供精确时基而 SWD 调试接口的保留则为固件调试与底层驱动开发提供了标准通道。2.2 电源管理系统设计Excam 的电源树设计体现了对便携式设备典型工况的深度考量涵盖输入防护、电池管理、电压转换与智能启停四大子系统其拓扑结构如下图所示文字描述输入级防护USB Type-C 输入端口首先接入 TI TPS259261 电子保险丝。该器件非传统熔断式保护而是集成了过压锁定OVP、反向电压阻断Reverse Voltage Blocking、浪涌电流限制Inrush Current Limit及热关断Thermal Shutdown功能。当输入电压超过 5.8 V 或发生反接时TPS259261 内部 MOSFET 立即关断响应时间小于 1 μs有效避免后级电路因异常输入受损。电池充放电管理采用国产 TP5100 开关型锂电池充电管理 IC。该芯片支持最大 2 A 充电电流内置功率 MOSFET 与温度检测可动态调整充电电流以适配不同容量电池典型值 18650/21700 锂电。其恒流CC→ 恒压CV→ 涓流Trickle三段式充电逻辑符合锂电安全规范且充电状态指示引脚STAT直连主控 GPIO供固件实时监控充电进程。宽压稳压输出TP5100 输出的电池电压3.0–4.2 V送入 TI TPS63070 升降压 DC/DC 转换器。该芯片可在输入电压高于、低于或等于输出电压时均维持稳定输出典型应用中配置为 3.3 V/1.5 A 固定输出为整个系统MCU 核心、LCD、传感器、SD 卡提供低噪声、高效率92%的主电源。其 2.5 MHz 开关频率允许使用小型陶瓷电容减小 PCB 面积。智能启停控制采用 EC190708 一键式电源管理 IC 实现无机械开关的软启动/关机。其工作逻辑为长按物理按键 ≥3 秒触发开机信号EC190708 拉高 EN 引脚使 TPS63070 输出系统运行中再次长按 ≥3 秒EC190708 检测到关机请求先向 MCU 发送中断通知待 MCU 完成 SD 卡数据刷写、LED 熄灭等收尾操作后再切断 EN 信号。该设计避免了突然断电导致的文件系统损坏同时支持 USB 供电与电池供电的无缝切换——当 USB 插入时EC190708 自动优先使用 USB 供电并为电池充电拔出后平滑切换至电池供电。2.3 视觉与显示子系统视觉子系统由图像传感器、DCMI 接口电路及配套时钟驱动组成。Excam 支持 OV5640500 万像素与 OV2640200 万像素两款 DVP 接口 CMOS 传感器通过硬件跳线选择。OV5640 作为首选其优势在于更高分辨率2592×1944与更优低照度性能支持 DVP 并行输出8/10-bit RAW RGB/YUV与 STM32H743 DCMI 完全匹配内置 PLL 时钟倍频器仅需 24 MHz 晶振即可生成图像传感器所需高频时钟如 96 MHz降低 EMI。DCMI 接口设计严格遵循 STM32H7 参考手册要求HREF行同步、VSYNC场同步、PCLK像素时钟信号均经 22 Ω 串联电阻端接抑制信号反射8 位数据线D0–D7采用等长布线长度偏差控制在 ±50 mil 内DCMI_CLK 由 MCU 的 MCO1 引脚输出经 74LVC1G04 缓冲后驱动传感器确保时钟边沿陡峭度。显示子系统采用 1.8 英寸 ST7735S TFT LCD分辨率为 128×16018-bit RGB 接口。其驱动由 STM32H743 的 QUADSPI 外设模拟 SPI 时序实现因原生 SPI 不支持 18-bit 数据宽度。屏幕板通过 12-pin FPC 与主控板连接包含CS片选、RS寄存器/数据选择、WR写使能、RD读使能、RESET、LED_BL背光控制及 8 位数据线D0–D7。180° 翻转结构通过柔性 PCB 的 U 型弯折实现无需额外机械铰链既保证结构强度又降低装配复杂度。2.4 人机交互与扩展接口人机交互层包含物理按键、RGB LED 与补光灯三大组件均通过 GPIO 直接控制设计注重低功耗与可靠性按键矩阵四个独立按键KEY_UP、KEY_DOWN、KEY_LEFT、KEY_RIGHT各自通过 10 kΩ 上拉电阻连接至 MCU GPIO另一端接地。按键引脚均配置内部弱上拉与数字滤波DFSDM 或 GPIO 输入滤波器有效抑制机械抖动。按键事件通过 EXTI 外部中断触发固件中采用防抖计时器如 20 ms 延时确认确保输入有效性。RGB LED采用共阴极三色 LEDR/G/B 三路分别经 100 Ω 限流电阻连接至 MCU 的 TIM1_CH1/TIM1_CH2/TIM1_CH3 输出引脚。利用高级定时器的互补通道与死区插入功能可生成精确相位差的 PWM 波形实现平滑色彩混合与呼吸灯效功耗可控单色最大电流约 5 mA。补光灯采用 TI TPS61165 恒流 LED 驱动器专为白光 LED 设计。其核心优势在于输入电压范围宽2.7–5.5 V可直接由 TPS63070 输出的 3.3 V 供电内置 1.2 A 开关 MOSFET支持高达 28 V 的 LED 串电压亮度通过 PWM 信号占空比 0–100%线性调节频率建议 100 Hz 以避免可见闪烁。电路中 LED 正极接 TPS61165 的 SW 引脚负极经电流检测电阻0.2 Ω接地FB 引脚反馈检测电压以维持恒流典型值 350 mA。扩展接口为侧面 SH1.0 间距 1.0 mm 的 20-pin 排针完整引出 OpenMV 支持的所有外设引脚包括GPIOP0–P9对应 PA0–PA9, PB0–PB1 等复用为 UART/ADC/SPI/I2C通信接口UART1TX/RX、I2C1SCL/SDA、SPI1SCK/MISO/MOSI/NSS模拟输入ADC1_IN0–ADC1_IN5对应 PA0–PA5定时器通道TIM2_CH1–TIM2_CH4、TIM3_CH1–TIM3_CH4 所有引脚旁均放置 0402 封装的 TVS 二极管如 SMF5.0A钳位电压 7.5 V静电防护等级达 ±15 kV空气放电显著提升现场使用可靠性。3. 关键电路原理与工程实现3.1 摄像头接口与时序匹配OV5640 与 STM32H743 的 DCMI 接口匹配是系统稳定运行的关键。OV5640 在 VGA 分辨率640×480下PCLK 典型值为 24 MHz对应理论帧率为 30 fps。STM32H743 的 DCMI 外设要求 PCLK 上升沿采样数据且 HREF/VSYNC 信号需满足最小脉宽HREF ≥ 2 PCLKVSYNC ≥ 1 PCLK。实际设计中通过以下措施确保时序裕量时钟源配置MCU 的 RCC 时钟树将 PLLQ 输出120 MHz分频为 24 MHz经 MCO1 输出至 OV5640 的 XCLK 引脚。OV5640 内部 PLL 将此 24 MHz 倍频至 96 MHz再分频生成所需的 PCLK24 MHz与内部时钟。信号完整性DCMI 数据线D0–D7与控制线HREF/VSYNC/PCLK在 PCB 上采用微带线布线特征阻抗控制在 50 Ω ±10%PCLK 走线长度严格匹配误差 50 mil避免 skew 导致采样错误。电平匹配OV5640 I/O 电压为 1.8 V而 STM32H743 GPIO 默认为 3.3 V。设计中采用双向电平转换器 TXB0108其 A 端接 OV56401.8 VB 端接 MCU3.3 V自动识别方向并完成电平转换避免因电压不匹配导致的信号失真或器件损伤。3.2 补光灯恒流驱动电路分析TPS61165 驱动电路的设计凸显了对 LED 光学性能与系统功耗的平衡。其典型应用电路包含输入滤波VIN 引脚并联 10 μF 钽电容与 100 nF 陶瓷电容抑制高频噪声。电感选型采用 4.7 μH 屏蔽功率电感如 CD105C饱和电流 ≥1.5 A确保在最大驱动电流下不饱和。电流设定LED 电流由 FB 引脚外部电阻 RSET决定公式为 ILED 200 mV / RSET。设计中 RSET 0.56 Ω理论电流为 357 mA实测值 350 mA误差在 ±5% 内。PWM 调光EN 引脚接收来自 TIM2_CH1 的 PWM 信号频率 10 kHz占空比 0–100%。TPS61165 支持 100% 占空比调光且 EN 引脚响应时间 1 μs确保亮度调节无延迟。该方案相较 MOSFET 直驱的优势在于恒流特性使 LED 亮度不随电池电压下降而衰减3.0–4.2 V 范围内亮度恒定内置过温保护OTP在 LED 过热时自动降频延长寿命PWM 调光无频闪符合人眼舒适度要求。3.3 SD 卡接口与文件系统可靠性SD 卡通过 SDIO 2.0 接口4-bit data连接支持最高 25 MB/s 传输速率。为保障文件系统FatFS在频繁读写与意外断电下的鲁棒性硬件层面采取三项措施电源去耦SDIO 电源VDD单独由 TPS63070 的一路 LDO3.3 V供给并在卡座附近放置 10 μF 100 nF 陶瓷电容组合抑制瞬态电流引起的电压跌落。信号端接CMD、CLK 及 DAT0–DAT3 信号线均串联 22 Ω 电阻位于 MCU 端匹配走线阻抗减少信号反射。热插拔支持SD 卡座的 CDCard Detect引脚通过 10 kΩ 上拉电阻连接至 MCU GPIO插入时接地MCU 可在初始化前检测卡是否存在避免无效初始化。固件中OpenMV 的 FatFS 驱动已针对 SDIO 优化支持 wear leveling磨损均衡与 journaling日志记录即使在写入过程中断电也能最大程度保证 FAT 表与目录项一致性。4. 软件系统与固件适配4.1 OpenMV 固件烧录流程Excam 的固件烧录采用标准 STM32 DFUDevice Firmware Upgrade模式流程严谨且可复现进入 DFU 模式短接 BOOT0 引脚至 3.3 V同时按住 RESET 按键再释放 RESET最后释放 BOOT0。此时 MCU 从系统存储器启动内置 DFU Bootloader 运行USB 设备枚举为 “STM32 BOOTLOADER”。工具选择使用 ST 官方 STM32CubeProgrammerv2.16.0其 DFU 协议栈成熟兼容性强。固件选择必须使用 OpenMV 官方发布的openmv_firmware_h7.bin推荐 v4.6.0该固件已针对 STM32H743 的内存映射Flash: 2 MB, SRAM: 1 MB与外设寄存器地址进行编译不可混用其他 H7 系列固件。烧录参数在 STM32CubeProgrammer 中选择 “USB” 连接目标为 “DFU”加载固件后勾选 “Erase Sectors Before Programming” 与 “Verify After Programming”确保 Flash 内容完全覆盖且校验正确。验证烧录成功后断开 USB短按 RESET设备启动。此时可通过串口USB CDC或 OpenMV IDE 连接若 IDE 显示 “Connected to OpenMV Cam H7”即表明固件运行正常。4.2 关键功能代码适配说明Excam 的硬件特性要求对标准 OpenMV 示例代码进行必要修改主要涉及显示、存储与外设控制屏幕方向校正因 180° 翻转结构原始图像需旋转 180°。标准代码sensor.set_hmirror(True); sensor.set_vflip(True)仅对传感器输出做镜像无法解决 LCD 物理翻转问题。正确做法是在图像处理后、显示前进行软件旋转import image, lcd img sensor.snapshot() img_rotated img.rotation_corr(x_rotation180) # 直接旋转180度 lcd.display(img_rotated)神经网络模型加载OpenMV IDE 生成的 Edge Impulse 模型代码默认从 Flash 加载但 Excam 的 SD 卡容量通常 ≥8 GB更适合存放大型模型文件。需修改ei_object_detection.py中模型加载路径# 原始代码从Flash加载 # net ml.Model(trained.tflite, load_to_fbuos.stat(trained.tflite)[6] (gc.mem_free() - (64*1024))) # 修改后从SD卡加载强制加载至Framebuffer net ml.Model(/sd/trained.tflite, load_to_fbTrue)同时需确保 SD 卡根目录存在/sd文件夹并将trained.tflite、labels.txt及ei_object_detection.py置于此目录。补光灯控制TPS61165 的 EN 引脚连接至P6即PA6需通过定时器 PWM 输出控制。标准pyb.Timer初始化代码如下from pyb import Pin, Timer light_pin Pin(P6, Pin.OUT_PP) # 配置为推挽输出 tim Timer(2, freq10000) # TIM2, 10 kHz PWM ch tim.channel(1, Timer.PWM, pinlight_pin) ch.pulse_width_percent(50) # 50% 占空比中等亮度SD 卡挂载首次使用需手动挂载 SD 卡。在 REPL 中执行import os os.mountsd() # 自动挂载至 /sd os.listdir(/sd) # 查看内容确认挂载成功5. BOM 关键器件选型表序号器件名称型号/规格数量选型依据1主控 MCUSTM32H743VIT61480 MHz Cortex-M72 MB Flash1 MB SRAM原生 DCMI/SDIO/QUADSPI2图像传感器OV5640-FA-QC15 MP DVP 接口支持 VGA30fps1.8 V I/O低功耗模式3LCD 驱动 ICST7735S1128×160 TFT18-bit RGB内置 DC-DC支持睡眠模式4电子保险丝TPS25926115.8 V OVP±15 kV ESD1.5 A 持续电流超低导通电阻85 mΩ5锂电充电管理TP510012 A 开关充电NTC 温度监控4.2 V 恒压精度 ±0.5%6升降压 DC/DCTPS6307012.5–5.5 V 输入3.3 V/1.5 A 输出92% 效率2.5 MHz 开关频率7LED 恒流驱动TPS61165128 V LED 串压1.2 A 开关电流PWM 调光OTP 保护8电源管理 ICEC1907081一键开关机USB/电池自动切换关机前中断通知9电平转换器TXB010811.2–3.6 V 双向电平转换支持 DCMI 1.8 V ↔ 3.3 V 信号10ESD 防护器件SMF5.0A (TVS)20±15 kV ESD 保护钳位电压 7.5 V0402 封装6. 结构与装配要点Excam 的结构设计以功能集成与制造可行性为双重目标。外壳采用 ABS 材料 3D 打印共七个独立部件主控顶壳、主控底壳、屏幕顶壳、屏幕底壳、镜头保护盖、四个按键帽、拓展模块支架。所有部件通过 M2 热熔螺母与 M2×4 螺丝紧固确保结构刚性。装配关键工艺点包括FPC 插座压接主控板与屏幕板、摄像头板间的 12-pin 与 24-pin FPC 插座需使用专用压接治具确保金手指完全插入且无翘曲避免接触不良。热熔螺母植入在打印件指定孔位预热至 200 °C将 M2 热熔螺母垂直压入冷却后形成牢固金属嵌件为后续螺丝锁付提供可靠螺纹。LCD 屏幕贴合ST7735S 模块背部双面胶需均匀施压避免气泡FPC 弯折处涂覆少量 UV 胶固定防止长期弯折导致断裂。摄像头模组校准OV5640 模组安装后需通过 OpenMV IDE 的Tools → Machine Vision → Lens Correction功能采集标定板图像生成畸变校正参数写入lens_corr文件提升后续识别精度。整机装配完成后需进行 72 小时老化测试循环执行色块识别、人脸检测、SD 卡读写、补光灯 PWM 调光等典型负载监测各芯片表面温度红外热像仪、电池电压跌落曲线及系统稳定性确保批量生产良率。