2023年4月18日发(作者:原油泄漏)基雷绝阵
于STM32F407与OV2640的图像采集系男生和女生一起
统的设计
杨才生;吴状肥;万国义
【摘 要】基于STM32F407嵌入式系统及200万摄像头OV2640设计了图像采集
系统,分析了系统的基本硬件架构,分别对不同模块的功能特点作出了简单的介绍;对
系统的软件设计给出了相应的说明,介绍了系统初始化的基本思路和流程,以及相关
外围设备模块在程序中的使用;并给出了系统的整体设计思路,实现了系统的稳定运
行.
【期刊名称】《汽车实用技术》
【年(卷),期】2018(000)013
【总页数】3页(P142-144)
【关键词】STM32F407;OV2640;嵌入式系统
【作 者】杨才生;吴状肥;万国义
【作者单位】上汽通用五菱汽车股份有限公司,广西柳州 545007;上汽通用五菱汽
车股份有限公司,广西柳州 545007;上汽通用五菱汽车股份有限公司,广西柳州
545007
【正文语种】中 文
【中图分类】U462
引言
随着计算机技术的发展,嵌入式系统越来越多应用在各种微型控制系统中,如智能
驾驶系统、机器人视觉系统、场景监控系统等,这些系统中大量使用摄像头,虽然
市面上苏蕾人体艺术
有很多摄像头可直接使用,但是具有个性化的摄像头还是需要用户自己设计
和研究,比如要求摄像头嵌入到控制系统中、要求具有视频捕捉功能、要求具有图
像识别、对象跟踪功能等。在智能驾驶系统中中的图像采集与处理技术,在汽车主
动安全领域具有非常重要的意义。
1 系统结构与功能
一套完善的图像采集系统由硬件和软件两个部分组成,其中硬件部分主要包括微控
制器、摄像头、图像存储设备等,软件部分主要用来驱动摄像头,并实现图像的传
输、存储与处理等任务。
2 硬件设计
2.1 最小系统
(1)电源电路
电源电路用于给视觉系统提供功率需求,本设计要求电源模块能将24V车载电源
转化成+5V和+3.3V两个级别,其中+5V给摄像头等模块供电,+3.3V给MCU
供电。图1是24V转+5V的电路原理图:
图1 24伏转5伏电源电路
图1中,MURB1620CT用于防止电源反接,SMAJ36A通过吸收浪涌冲击实现对
电路中的元器件的保护,LM2575S型调压器可输出高达3A的稳定电流,从而为
摄像头等外设的工作提供了保证。
为了使一年级手抄报简单又漂亮
STM32型微控制器正常运行,需要给其提供3.3V稳定的电压,图2所示
为采用REG1117-3.3型集成三端稳压器实现+5V到+3.3V的转换:
图2 5伏转3.3伏电压
作为常用的降压型稳压器,REG1117-3.3可将 4.8~10V的输入电压稳定在
+3.3V,且保证输出电流高达 800mA,完全满足图像采集系统微处理器的功耗需
求。
(2)复位电路
STM32F407是低电木耳炒鸡蛋的做法
平复位的,所设计的复位电路如图3所示,其中R13和C23
构成了上电复位电路:
图3 复位电路
(3)JTAG调试接口
图4 JTAG调试接口
通过JTAG调试接口既可对STM32F407内部数据进行监测,又可实现 ISP(In-
System Programmer,在系统编程),便于对微控制器的FLASH等器件进行编
程。图4所示为本设计所采用的20引脚JTAG调试接口。
2.2 摄像头接口
STM32F407自带数字同步并行摄像头(DCMI)接口,该接口能够接收外部8~
14位CMOS摄像头模块发出的像素数据流。STM32F407为OV2640型摄像头
模块提供的接口如图5所示:
图5
在该接口中使用了微控制器的如下引脚资源:
DCMI(D[0:7]):用于接 OV2640型摄像头模块的数据输出引脚;
DCMI_HSYNC:用于接OV2640型摄像头模块的水平同步信号引脚;
DCMI_VSYNC:用于接OV2640型摄像头模块的垂直同步信号引脚;
DCMI_PIXCLK:用于接 OV2640型摄像头模块的像素时钟信号引脚。
2.3 存储器接口
STM32F407自带的标准的SD卡接口使用4位SDIO接口驱动,最高通信速度可
达 48Mhz(分频器旁路时), 最高每秒可传输数据 24M字节,完全满足图像传
输速度的要求,SD卡的接口电路如图6所示:
图6 SD卡接口电路
3 软件设计
3.1 摄像头驱动
OV2640的初始化
OV2640型摄像头模块的初始化包括以下几个方面的配置和操作:
(1)选择控制对象为图像传感器,通过向 RA_DLMT寄存器写入0x01实现;
(2)软复位OV2640,通过COM7寄存器写入0x80实现;
(3)设置图像参数,包括:输出模式,白平衡,亮度,对比度,特效,分辨率等。
图像格式控制
由于YUV422格式的图像直接读取其像素的Y分量即可获得该像素的灰度信息,
因此驱动 OV2640时优先考虑YUV422格式图像数据的输出。OV2640输出
YUV422格式图像数据需要依次通过以下配置实现:
(1)通过向RA_DLMT寄存器写0x00选择控制对象为摄像头模块内置DSP。
(2)通过 IMAGE_MODE寄存器切换摄像头模块的数据输出格式。
(3)通过CTRL0寄存器控制摄像头模块的使能。
3.2 图像的缓存
图像传感器采集到的像素数据缓存在 32位数据寄存器DCMI_DR中,然后通过
DMA传输至外部存储设备。STM32F407的直接存储器访问DMA可以在无需任
何CPU操作的情况下通过DMA快速移动数据实现外设与存储器之间的高速数据
传输,这样节省的CPU资源可供其它操作使用。
在本设计中,DCMI每次触发DMA请求时DMA仲裁器根据当前请求的优先级启
动图像数据流从 DCMI_DR到FIFO的传输。当图像数据量达到FIFO的阈值时,
FIFO中缓存的图像数据被转移至外部SRAM中。当数据流项数寄存器达到零时
DCMI请求DMA终止当前的数据传输事务。
3.3 SD卡的驱动
为了实现大量图像数据的存储,图像缓冲区中的像素数据要被及时转移至SD卡中,
使用SD卡进行图像存储主要通过以下函数来实现:
//写SD卡
//buf:写数据缓存区
//ctor:扇区地址
//cnt:扇区个数
//返回值,错误状态,0,正常,其它,错误
u8 SD_WriteDisk(u8*buf,u32 ctor,u8 cnt)
{
u8 sta=SD_OK;
u8 n;
long long lctor=ctor;
lctor<<=9;
if((u32)buf%4!=0)
{
for(n=0;n
{
memcpy(SDIO_DATA_BUFFER,buf,512);
sta=SD_WriteBlock(SDIO_DATA_BUFFER,lctor+512*n,512);
buf+=512;
}
}el
{
if(cnt==1)sta=SD_WriteBlock(buf,lctor,512);
el sta=SD_WriteMultiBlocks(buf,lctor,512,cnt);
}
ret幼儿启蒙故事
urn sta;
}
4 结束语
本文基于STM32F407型微处理器和OV2640型摄像头加SD卡的设计方案不仅
成本低廉,而且功能齐全,整体效果较好,硬件平台设备较为成熟。在软件方面,
程序流程严谨,逻辑严密,而且驱动程序较为完善,各个模块之间不存在耦合性,
系统运行稳 定、可靠。
参考文献
【相关文献】
[1] 黄健,罗国平,杜丽君.基于STM32F407平台OV2640驱动程序设计[J].通讯世界, 2015(19):246-
247.
[2] 李慧敏,樊记明,杨笑.基于STM32和OV7670的图像采集与显示系统设计[J].传感器与微系统,
2016, 35(9):114-117.
[3] 李大朋,曹国华.基于STM32单片机驱动面阵CCD实时图像显示的研究[J].长春理工大学学报
(自然科学版), 2014(1):37-40.
[4] 万天添.融合指纹与指静脉图像采集系统[D].杭州:杭州电子科技大学,2017.
[5] 邢方诚,王素珍,宗卫华,等.基于 STM32CubeMX 的高速嵌入式图像采集系统[J].单片机与嵌入式
系统应用,2016, 16(5):42-45.
[6] 龙再川,赵凯生,洪明坚,等.ARM系统中DMA方式在数据采集中的应用[J].电子设计工程,
2007(2):66-69.