全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

基于STM32的照相机系统软件设计

时间:2017-12-04 09:36

人气:

作者:admin

标签: STM32  照相机 

导读:关于STM32的片上资源,LCD ILI9341液晶屏的基本配置,SD卡的驱动及文件系统,OV7725摄像头功能的介绍已经在上一个章节中进行了详细的说明。硬件平台的搭建都是建立在STM32开发板与其他器...

系统软件设计

关于STM32的片上资源,LCD ILI9341液晶屏的基本配置,SD卡的驱动及文件系统,OV7725摄像头功能的介绍已经在上一个章节中进行了详细的说明。硬件平台的搭建都是建立在STM32开发板与其他器件模块连接上的,本章节则主要采用自顶向下,层层细化的程序设计思想,分模块讲解整个系统的软件实现流程。

3.1 顶层程序设计

STM32照相机基本流程可以描述为:系统初始化,拍照处理。首先是系统初始化,包括系统时钟配置,对按键的GPIO和中断使能,LEDGPIO初始化;再初始化LCDGPIOFSMC总线功能和内部寄存器;还有初始化SDFATFS文件系统并使能SDIO的中断;最后,在实现模拟SCCB总线后,OV7725还需要配置FIFOGPIOOV7725内部的寄存器,并初始化场信号线。接着,拍照处理:等待帧同步信号,进入摄像;等待按键,开始拍照(即液晶截屏)并将图片保存到SD卡中,见图3.1

3.2 系统初始化程序设计

3.2.1 GPIO初始化

在第二章的主控模块部分已经介绍了GPIO的寄存器和引脚的输入输出模式,对复用功能实现也做出了详细说明。在STM32控制下的LEDKEYGPIO以及LCDSD card,摄像头使用的所有GPIO或特殊功能引脚的设置都要通过流程图来实现(图3.2)。

3.2.2 LCD初始化

LCD初始化主要包括两个内容:FSMC总线配置,LCD寄存器配置,见图3.3。程序中的涉及液晶屏的读写操作(如清屏,设置液晶扫描方向以及写入图片信息),都是在向Bank1_LCD_CBank1_LCD_D两个区域分别写入命令和数据实现的。其中,命令/数据的含义可参考ILI9341参考手册上的内容,在第二章的液晶显示模块中也给出了部分指令的含义。

3.2.3 SD卡文件系统初始化

SD卡文件系统初始化可分两块:SD卡中断初始化和硬件初始化。如何设置中断和FatFs文件系统的函数接口前面都已经介绍过了,图3.4是整个SD卡文件系统的初始化流程图。

3.2.4 OV7725初始化

摄像头OV7725的初始化分为三大部分:SCCB总线和FIFO的GPIO初始化,传感器的初始化,场信号线的初始化。其中的SCCB总线时序在上一章已经讲过,图3.5是OV7725初始化的程序流程图。

3.1 主程序流程图

3.2 GPIO的配置及复用

图3.3 LCD初始化流程

3.4 SD卡文件初始化流程

3.5 OV7725初始化流程

3.3 拍照处理程序设计

前几个小节详细介绍了各个子模块的初始化的实现,从主程序框图上看,还要有FIFO的准备,图像采集与显示,中断服务程序,液晶截屏与保存子程序。FIFO的准备(使能数据出FIFO输出),图像采集与显示是通过反复的读FIFO的输出并往LCD寄存器写入数据的过程,这些可以参考第二章的液晶显示模块和图像采集模块中FIFO的时序。最后一小节的重点是液晶截屏和图片保存的流程控制,见图3.6

3.6 液晶截屏与保存流程


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信