基于STM32+OV7670的低端视频监控系统设计

分享到:

 1 芯片简介

1.1 STM32F407简介

本系统采用的处理器是意法半导体公司的STM32F407,该处理器以32位Cortex—M4为内核,具有浮点运算功能的低端高速ARM,其内部集成了大量可供立即使用的资源,如TFT液晶显示器接口(Flexible Stactie Memory Control,FSMC)、摄像头接口(Camera Inter face)、DMA控制器等,方便且实用。

1.2 OV7670简介

OV7670是OmniVision公司基于CMOS VGA的图像传感器,可通过SCCB总线控制输出整帧、子采集、取窗口等操作,其VGA图像最高可达到30 fps。其对外重要接口有:XCLK(时钟输入)、HREF(输出行同步信号)、VSYNC(输出场同步信号)、PCLK(输出像素时钟)、RESET(复位输入信号)、PWDN、SIO_C(SCCB总线时钟信号)、SIO_D(SCCB总线数据信号)、D0~D7(摄像头输出数据信号)。

本系统采用的OV7670不带FIFO,由STM32F407直接通过SCCB总线读取数据,并显示在LCD上。

2 硬件和软件实现

2.1 硬件实现

 

本系统硬件电路实现简单,微处理器与系统主要外设连接如图1所示,主要涉及STM32F407与TFT液晶模块连接以及与OV7670图像传感器的连接,接口电路如图2、图3所示。

 

 

STM32F407与TFT液晶模块连接时,仅需将该模块考虑成一个SRAM即可,具体连接方式见图2。唯一需要注意的是,液晶模块RS和CS端与STM32F407的FSMC控制器的连接,本系统中RS连接FSMC_A0(PF0),CS连接FSMC_NE4(PG12),这些连接直接关系到软件初始化时相关寄存器地址设置。

 

 

如图3所示,STM32F407与OV7670连接时,OV7670的XLCK PC9可以选择STM32F407的MC01或MC02引脚,同时PCI SOIC和SOID PC2引脚可以连接至I2C总线,也可以根据软件设计定义其他I/O引脚(本系统采用了这种方案),OV7670的其他端口连接至DCMI相应接口即可。

 

 

2.2 软件实现

本系统的软件设计关键点在于系统时钟的配置、TFT液晶模块初始化、OV7670图像传感器初始化、SCCB总线时序模拟。软件程序流程图如图4所示。

 

 

系统时钟配置由RCC_Config()函数完成,函数内部结构如下:

 

 

TFT液晶模块初始化关键点在于FSMC控制器的配置和寄存器地址的计算。STM32F407的FSMC使用了AHB3提供的时钟信号,因而需要使能AHB3时钟以及FSMC控制器复用的其他I/O端口所在时钟信号。寄存器地址则需要根据液晶模块的RS和CS端与FSMC接口的具体连接方式计算。由于STM32F4系列微处理器的FSMC控制器对外设备地址映射从0x60000000开始到0x9FFFFFFF结束,共有4个BANK组成,每个BANK大小为256 MB,每个BANK又分为4个小块,每块大小为64 MB。

在TFT液晶初始化程序中选择了BANK1,且CS连接FSMC NE4(PG12),故TFT液晶模块的寄存器起始地址为0x6C000000;RS连接FSMC_A0(PF0),故TFT液晶模块的RAM为0x6C000000+20×2=0x6C000002。如果在TFT液晶初始化程序中选择了BANK1,且CS连接FSMC NE1(PD7),TFT液晶模块的寄存器起始地址为0x60000000;RS连接FSMC A18(PD13),TFT液晶模块的RAM为0x60000000+218×2=0x60080000。

依次类推可以计算其他连接方法时,液晶模块的寄存器起始地址和RAM地址。代码如下:

#define LCD_RAM *(vu16*)((u32)0x6c000002) //定义RAM基地址

#define LCD_REG *(vu16*)((u32)0x6c000000) //定义REG基地址

OV7670图像传感器初始化关键点有两个,首先是微处理器的DCMI接口及DMA部分的配置,这些配置主要体现在DCMI接口、DMA控制器以及图像传感器用到的其他I/O端口所在时钟总线使能方面;其次是OV7670本身寄存器配置方面。由于篇幅所限,现将一些重要的函数列出,并给出重要注释,仅供参考。

 

 

 

 

SCCB总线时序模拟可以根据SCCB标准中定义的时序进行程序编写,这一部分为大家所熟知,不再赘述。

结语

通过以上程序编写、软件和硬件的调试,最终得到比较满意的结果,如图5所示。

 

 

虽然视频图像显示有点模糊,且画面略有顿挫感,但是可以通过软件、硬件的再优化提升画面效果,同时也为STM32F407和OV7670在视频监控系统中的应用提供思路。

相关阅读:

 

嵌入式设计:STM32自动量程电压表设计方案

采用STM32 单片机的太阳能LED街灯解决方案

基于STM32的多路电压测量设计方案

STM32单片机中文官网
意法半导体/ST/STM

 

继续阅读
意法半导体推出支持高能效Power Delivery和PPS的参考设计 简化USB Type-C™电源适配器设计

中国,2021年2月26日——意法半导体推出了一个支持可编程电源(PPS)的 USB Type-C™Power Delivery 3.0参考设计,最大输出功率27W,在不连接充电线的情况下零功耗,可加快好用、小巧、高效的电源适配器设计。USB PPS有助于节省电能,减少设备充电时间和散热量,降低设备端的物料清单成本。

意法半导体推出功能完整的电能表评估板 集成低成本传感器和稳健的电隔离功能

中国,2021年2月25日——意法半导体新推出的电表评估板采用低成本的抗电分流传感器和先进的电流隔离技术实现出色的可靠性和鲁棒性,加快三相交流电能表设计,满足国际上最严格的电能表质量和精度标准。

意法半导体将在MWC 2021上海大会上展出业界领先的智能出行、电源和能源管理、物联网和5G解决方案

中国上海,2021年2月23日——横跨多重电子应用领域的全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)将在MWC 2021上海大会(2月23-25日)上,围绕“意法半导体,科技始之于你”主题,展示其行业领先的智能出行、电源与能源管理、物联网与5G半导体产品和解决方案。

意法半导体推出面向大众市场的 STM32WL LoRa®无线系统芯片系列产品

今天新推出的STM32WL型号包括基于Arm®Cortex®-M4内核和Cortex-M0 + MCU内核的双核STM32WL55。开发者可以完全开放和灵活地使用两个内核,双核架构可以有效地实现硬件隔离,增强网络安全性,应用更新无需重新认证设备,并增强射频和应用的实时性能。

ST携手施耐德电气,助力智能楼宇实现数字化人流量监测

意法半导体与能源管理和工业自动化数字化转型的市场领导者施耐德电气(Schneider Electric)联合推出一款物联网传感器原型。通过监测建筑物的居住率和使用率,该解决方案可以实现新型物业管理服务,提高楼宇的能源管理效率。