基于STM32的简易照相机设计
基于STM32的简易照相机设计
本设计是基于STM32和OV7670摄像头模块在SD卡上建立FATFS文件系统实现拍照保存为BMP格式图片的设计。
基本原理
OV7670摄像头模块先将采集的数据保存在大容量存储器AL422B中,STM32直接通过I2C向OV7670芯片写数据,初始化,写命令将数据写到AL422B,STM32控制AL422将数据读出来,OV7670配置的是RGB格式QVGA输出,一个像素输出3个子节,RGB格式又具体分为565,所以需要将3个子节转换为一个565格式的数据让LCD可以识别出颜色来,这样的话一个320*240大小的屏幕总共写76800次,写完之后屏幕便会显示当前画面,OV7670的模块每一桢数据是320*240*3个字节,我们配置使用溢出信号的方式来触发STM32 接收数据包,也就是当OV7670采集完一桢数据后,VSYNC会发出一个信号提示数据采集完毕,STM32开启一个外部触发中断EXIT来监听VSYNC,当进入中断时立即读取AL422里的数据送屏显示。
当有按键按下时,我们调用FATFS文件系统中的建立文件名函数,再调用BMP编码函数将从LCD的RAM读出的数据写进SD卡内,写之前语言判断SD卡是否有效等,最后将带走有BMP格式的图片保存起来
本设计是基于STM32和OV7670摄像头模块在SD卡上建立FATFS文件系统实现拍照保存为BMP格式图片的设计。
基本原理
OV7670摄像头模块先将采集的数据保存在大容量存储器AL422B中,STM32直接通过I2C向OV7670芯片写数据,初始化,写命令将数据写到AL422B,STM32控制AL422将数据读出来,OV7670配置的是RGB格式QVGA输出,一个像素输出3个子节,RGB格式又具体分为565,所以需要将3个子节转换为一个565格式的数据让LCD可以识别出颜色来,这样的话一个320*240大小的屏幕总共写76800次,写完之后屏幕便会显示当前画面,OV7670的模块每一桢数据是320*240*3个字节,我们配置使用溢出信号的方式来触发STM32 接收数据包,也就是当OV7670采集完一桢数据后,VSYNC会发出一个信号提示数据采集完毕,STM32开启一个外部触发中断EXIT来监听VSYNC,当进入中断时立即读取AL422里的数据送屏显示。
当有按键按下时,我们调用FATFS文件系统中的建立文件名函数,再调用BMP编码函数将从LCD的RAM读出的数据写进SD卡内,写之前语言判断SD卡是否有效等,最后将带走有BMP格式的图片保存起来