基于基于STM32F407和和OV7670的低端视频监控系统的低端视频监控系统
本系统采用了意法半导体公司的STM32F407微处理器作为核心,以OV7670作为监控系统的视频采集传感器,
并将传感器采集的数据通过DMA控制器成功地发送至液晶模块(SSD1289)显示。该系统运行流畅,为低端视
频监控系统提供了一种新的解决方案。
引言
本系统着眼于经济型视频监控系统,可应用于工业自动化设备、汽车安全驾驶、医疗设施或大楼供水、供电等系统的监控,应
用前景广阔、成本低廉、系统简洁。
1 芯片简介
1.1 STM32F407简介
本系统采用的处理器是意法半导体公司的STM32F407,该处理器以32位CortexM4为内核,具有浮点运算功能的低端高速
ARM,其内部集成了大量可供立即使用的资源,如TFT液晶显示器接口(Flexible Stactic Memory Control,FSMC)、摄像头接
口(Camera Interface)、DMA控制器[1]等,方便且实用。
1.2 OV7670简介
OV7670是OmniVision公司基于CMOS VGA的图像传感器,可通过SCCB总线控制输出整帧、子采集、取窗口等操作,其
VGA图像最高可达到30 fps[2]。其对外重要接口有: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所示。
图1 微处理器与系统主要外设连接
图2 TFT液晶显示器与STM32F407接口电路
STM32F407与TFT液晶模块连接时,仅需将该模块考虑成一个SRAM即可,具体连接方式见图2。唯一需要注意的是,液晶模
块RS和CS端与STM32F407的FSMC控制器的连接,本系统中RS连接FSMC_A0(PF0),CS连接FSMC_NE4(PG12),这些连
接直接关系到软件初始化时相关寄存器地址设置。
如图3所示,STM32F407与OV7670连接时,OV7670的XLCK PC9可以选择STM32F407的MCO1或MCO2引脚,同时PCI
SOIC和SOID PC2引脚可以连接至I2C总线,也可以根据软件设计定义其他I/O引脚(本系统采用了这种方案),OV7670的其他
端口连接至DCMI相应接口即可。
图3 OV7670与STM32F407接口电路
2.2 软件实现
本系统的软件设计关键点在于系统时钟的配置、TFT液晶模块初始化、OV7670图像传感器初始化、SCCB总线时序模拟。软
件程序流程图如图4所示。
图4 系统软件流程
系统时钟配置由RCC_Config()函数完成,函数内部结构如下:
RCC_DeInit();//复位RCC配置至系统默认状态
RCC_HSEConfig(RCC_HSE_ON);//打开外部时钟
if(RCC_WaitForHSEStartUp() == SUCCESS) {//等待外部时钟稳定
RCC_PLLCmd(DISABLE); //关闭锁相环时钟
评论1
最新资源