STM32F103是ST公司基于ARM Cortex-M3内核设计的一款32位的微控制器(MCU),其工作频率可以达到72MHz,在正常的工作频率下,其指令的处理速度可以达到1.25MIPS/MHz,但其电流消耗量较低,仅为27mA。STM32F103作为图像采集系统的控制核心,可极大地提高图像采集系统的性能。
本设计选用OmniVision公司的OV7670作为图像传感器。OV7670可以输出8位图像数据,支持3种不同的RGB/YcbCr/Yuv的图像格式,在图像数据的传输过程中帧频可以达到30帧/S的高速率,能够支持的图像分辨率可以达到1640x480ppi,电压与主控的供电电压一致为3.3V。OV7670带有标准的SCCB总线传输数据,而SCCB接口是兼容I2C接口。
本设计采用AL422B作为数据处理的RAM,AL422B是一款FIFO存储芯片,存储容量可达到384K×8B,工作频率可以达到50MHz。在此系统中,一个完整帧图像包含的像素点的个数为320×240,存储完整一帧图像的像素点所需要的存储空间为153600字节,所以AL422B的性能指标足以满足系统的设计需求。
SD卡存储器被广泛地使用在电子装备产品中。本设计选用金士顿4G的SD卡作为存储器来使用,存储可以将帧图像的像素点的信息加以存储,为后期的信息处理提供方便。
本设计将3.2寸TFT液晶屏作为显示屏来使用,TFT液晶屏分辨率为240×320ppi,将STM32的FSMC总线与液晶屏的数据引脚直接相连。其他的外设主要包括复位电路、晶振电路、JTAG调试电路及WiFi无线传输模块等。
本设计用24MHz晶振给图像传感器OV7670提供系统时钟。为了解决STM32与OV7670两者间的数据传输速率不一致,现将FIFO作为帧缓存器连接在两者之间,摄像头将采集的像素数据先缓存到AL422B后再送给MCU。为将摄像头采集的图像数据自动地写到缓存中,采用了74HC00非门芯片,来产生符合AL422B写时序的信号。图像采集模块与STM32F103的接口电路如图2所示。本设计主控通过I2C总线产生控制信号来模拟SCCB总线通信,从而对OV7670寄存器进行初始化,此外还要对行场同步信号、开窗及输出格式进行配置。
本设计中SD卡采用SPI总线,将SD卡的CMD引脚、CLK引脚、DATA0引脚、DATA3引脚分别与STM32F103的SPI3_MOSI引脚、SPI3_SCK引脚、SPI3_MISO引脚相连,其CS作为片选。
本设计的图像采集系统主要由STM32F103微处理器、OV7670摄像头、AL422B帧缓存器、TFT液晶屏、SD卡存储器及其他传输外设构成。图像采集系统的整体设计如图1所示。
本设计图像采集系统在便携式电子装备、机器视觉等一些领域被广泛使用,其核心技术是实时图像的采集技术。采集图像处理的速度及质量会影响产品的整体性能。现阶段较多的图像采集系统都用ARM、DSP技术,但系统较复杂而且成本高,应用较困难。本项目设计的图像采集系统基于STM32F103,具有图像质量好、功耗低、实时性好、成本低等优点。
本设计的图像采集系统使用CMOS摄像头来获取图像数据,在微控制器的控制下,将图像信息经缓存器缓存后存入到SD卡中,并通过LCD实时显示。该系统硬件资源精简,采集的图像显示清晰、实用性强,适合便携式图像采集系统使用。