一、引言
OpenMV是一个基于ARM Cortex-M7的低成本、高性能、易用的开源机器视觉平台,该平台旨在使得物联网及机器人等硬件设备“看得更远、更清楚、更深远”。本文将从硬件角度出发,对OpenMV的原理图进行详解。
二、系统结构
OpenMV主控芯片采用STM32F765VI,其集成了Cortex-M7处理器,拥有最高216 MHz的时钟频率以及最大512 KB的Flash存储器和320 KB的SRAM。其余重要器件还包括
- 摄像头单元OV7725
- MPU-9250六段式IMU单元
- 板载RGB LED
- 板载高保真音频输出器
- 收音机模块
- microSD卡槽
图1为OpenMV原理图的整体结构图:
+--------------+ | STM32F765VI | | 256KB Flash |<----------------+ | 32KB SRAM |<-+ | | ... | | | +--------------+ | | | | | | +--|---------|----|-------------|---> link | | | | | | | | | | | '-----------' | | | | | FT232RL USB |---> USB | | | | ... | | | | | CP2104 UART |---> UART | | | | ... | | | | '--------'+-----|---> I2C2_SDA | | | | | | | | +--+-+----v-----+--+--+ I2C2_SCL | | ... | | | | | USB3300 | | | | | | | | | ... | | | | | | | | | D+ D- | | P4.5|--|-| | | | | | A0 A1 |<-' P4.4|--|-| | | | | | TX RX SCL|{{{{ | | | | | | | ... SDA|{{{{ P4.3|--|-| | | | | | | | | | | | | | | | | | | | | | +------+-----------+ P2.1|--|-| | | | | | | | | SSEL P2.2|--|-| | | | | | | SPI | | IRQ P2.5|--|-| | | | | | | ... | | ... | | | | | | | | | NRF24L01 |{{{{ | | | | | | | | | | P1.3|--|-|------|--|--|-|->| CSN|--+ | P1.4|--|-|------|--|--|-|-- | MOSI| | | P1.7|--|-|------|--|--|-|-- | MISO|<-+ | | | | | | | | +-----+ | | | | | | | | +------+---------+ P1.8|--|-| | | | | | | | P1.9|--|-| | | | | | | I2S3 | | | | | | | | | | ... '--|---------' | | | | +------+-----------+ | | | | | +------+-----------+ +--'------------|-'-'-'--| USB HS PHY | | | +------------------+ | ... | | | | LED(RGB)| | | | microSD slot | | | | audio DAC | | | | radio IC | | | | IMU(MPU-9250) | | | | camera(OV7725)| | | +---------------+
1、主控芯片
OpenMV主控芯片采用了ST公司的STM32F765VI,该芯片在72MHz时钟下执行DMIPS / MIPS效率为2.14、有控制端口更多,支持JPEG和H.264压缩引擎,支持DSP指令,有4个DMA控制器和2x CAN总线。使用基于Cortex-M7的处理器如STM32F765VI可确保对机器视觉算法和处理流程具有相当的计算性能,同时满足低功耗和小尺寸的要求,适用于嵌入式开发等各种领域。
在原理图中,采用STM32F765VI主控芯片连接基于Cortex-M7架构的处理器,并且将芯片的IO口连接至其他芯片器件。
2、摄像头单元
OpenMV平台采用了OmniVision公司的OV7725图像传感器芯片,该传感器具有高达30fps的QVGA(320×240)图像的JPEG压缩输出,适合于嵌入式计算机视觉应用。
在原理图中,OV7725芯片通过DCMI接口连接至STM32F765VI主控芯片,并且利用原理图中的I2C2总线来控制芯片的寄存器。通过这些接口,OpenMV可以实时读取摄像头数据并在处理器内进行图像处理和分析。
3、IMU单元
OpenMV平台采用了InvenSense公司的MPU-9250六段式IMU芯片,它是一个多功能的低功耗传感器,同时具有三轴陀螺仪、三轴加速度计和三轴电子罗盘的功能。它采用标准I²C(numI2C=2,内置MPU9250_I2C默认为I2C2)接口,包括集成数字运动处理器,可用于运动跟踪、运动传感等。
在原理图中,MPU-9250通过I²C2接口连接至主控芯片,用于实现姿态解算,此外还加入了一些外部元件以支持IMU传感器的电路设计。
4、LED模块
OpenMV平台采用了数码渐变RGB LED模块,通常由三种颜色LED组成,即红(R)绿(G)蓝(B)。通过在某些LED上提供不同的电压水平,可以产生所需的颜色。采用RGB LED模块可以满足OpenMV在运作过程中所需的各种指示灯显示。
在原理图中,LED模块直接连接至主控芯片的GPIO引脚,可直接控制颜色、亮度和闪烁频率等参数。
5、其他器件模块
OpenMV平台还集成了其他一些器件模块,如microSD卡槽、高保真音频输出器、收音机模块等。它们通过SPI总线、I²S3接口、I²C3接口和其他GPIO端口接口等连接到主控芯片上,用于提供额外的存储、音频输出和收音等功能。
三、OpenMV电路板选型思考
OpenMV的硬件设计采用模块化布局,主要是为了便于用户的操作和管理,过程中没有任何点对点直接连接和复杂的硬件结构,这可能有助于在产品维护方面节省资源和时间。
四、结论
本文主要从硬件角度对OpenMV的原理图进行详解,通过分析OpenMV的系统结构和器件模块,我们可以更好地理解机器视觉方面的技术及其实现方式。同时,也可以更好地评估OpenMV平台的应用范围和性能优劣。