本帖最后由 znmcu 于 2014-1-3 00:45 编辑
![](http://www.znmcu.cn/bbs/images/**.gif)
网站 www.znmcu.cn 论坛 www.znmcu.cn/bbs
znFAT技术交流群:145948643
自从用OV7670摄像头模块+SD卡,还有我的znFAT实现了“简易数码相机”实验之后,我又有一个新的想法,那就是“简易录像机”实验。我想把静态的单帧图像升级为动态的视频。其实从原理上来说很简单,就是连续获取多幅图像,依次的存储在一起即可。请看下图。
这一实验与数码相机实验相比,最大的难点在于如何提高帧速(录像的流畅度),也就是说要在单位时间内尽量多地从摄像头模块获取图像,并且将其存入到SD卡中。从原则上来说,视频的帧速至少要达到10fps,人眼才会感觉比较流畅。以16位QVGA图像(320x240像素)来计算,一帧图像的数据量为320x240x2=153600B=150KB。如果每秒要获取10帧图像,并全部存入SD卡,则总数据量为1500KB。这对于CPU芯片的硬件性能及文件系统的数据存储效率都有较高的要求。 我们使用ATMEGA128A芯片作为主控制器,它的硬件性能其实达不到上述要求(哪怕是在使用标称的最高工作频率16MHz的情况下)。因此,振南在这里使用了一些折中的方法,让其可以达到录像的实验目的,虽然最终的效果可能还是会有些差强人意。 OV7670芯片输出的图像尺寸是可以被灵活设置的,我将其宽与高均缩小一倍,即160x120,这样一帧图像的数据量就减少了3倍,即37.5KB。单帧图像数据量的减少,将使录像的帧速得以很大的提升,不过这是以图像质量为代价的。 SD卡以及文件系统部分其实是比较成熟的,直接延用了我的SD卡驱动与znFAT文件系统方案。使用ATMEGA128芯片的硬件SPI来进行驱动,并将znFAT的加速缓冲机制打开(CCCB算法),最终实测的文件数据写入速度大约为180KB/s,即录像的帧频大约能达到5fps,也许我们会看到一个稍有卡顿的视频效果。 实验硬件平台及示意如下图。
TFT 液晶同步显示效果图。
一帧帧的图像数据在 SD卡上被组织为了znv文件格式(znv格式是由振南片行定义的一种视频文件格式,详见相关实验)。我们希望在PC上能使用播放器对录像进行播放,因此振南编写了这样一个小软件,如下图所示。
注:此实验中TFT液晶模块使用的控制器为S6D1121,OV7670模块上集成了FIFO,型号为AL422B。
振南的ZN-X开杂板原理图:
znFAT书配开发板原理图(基板).rar
(78.81 KB)
|