*STM32*+SD卡(DMA)+znFAT+OV7670“录制AVI视频”(AVR版升级) 内附演示
本帖最后由 znmcu 于 2014-1-13 09:43 编辑http://www.znmcu.cn/bbs/images/**.gif
网站 www.znmcu.cn 论坛 www.znmcu.cn/bbs
znFAT技术交流群:145948643
这个实验是上次发布的“简易录像机”(AVR)实验的升级版。因为AVR单片机在硬件性能上仍然不够理想,所以上次的实验只能是采取折中的方案,缩小录像中图像的尺寸,把320x240缩小到160x120。通过牺牲图像质量的方法来提高帧速,它勉强能达到4fps。在这个升级版的实验中,CPU换成了STM32,它的最高工作主频可以达到72Hz(实际可超频到最高140MHz)。因此它将能够达到更高的帧速,而且图像质量也将得到提升,采用标准QVGA图像尺寸(320x240)。
先前的AVR上的“简易录像机”实验,21IC链接:
OV7670摄像头+AVR+SD卡+znFAT作“录像机”!(飙速极致) 附AVI软件
https://bbs.21ic.com/icview-668786-1-1.html这个实验在原理上与以前的实验是一样的。只不过有两个部分进行了较大改进:1、SD卡的底层驱动加入了STM32的DMA,从而使数据读写速度达到了更高的水平(实测的写扇区速度大约为800KBps)。为什么DMA会让SD卡的计写速度有如此大的提升,大家还是详细参见《振南的znFAT》一书吧(预计年后出版)。其实SD卡的读写速度完全可以有更大的提升空间,不过需要使用SDIO,可惜振南的ZN-X开发板上的STM32是中量级的芯片,并没有配备这一接口。我想,现在达到的速度基本上已经是SPI模式下的极限速度了。2、视频格式不再采用振南自定义的ZNV格式,而是直接得到可用于播放的标准AVI视频(关于AVI视频格式的详细资料,请关注后续发布)。最终的视频是320X240像素,RGB565格式的16位色,帧速为5fps。为了达到更好的录像效果,我试图对STM32芯片进行超频,换用更高频率的晶振,将PLL配置为最高倍,结果发现STM32工作不正常了。经过不断尝试,最后实测发现STM32的工作频率最大不能超过140MHz。为了稳定最后选定128MHz,即晶振使用16MHz,PLL设置为8倍。znFAT依旧配置为全速模式,关闭一切实时更新,开启所有的加速机制。
实验在线视频演示:
基于振南的ZN-X开发板 STM32 进行录像实验
http://player.youku.com/player.php/sid/XNjYwNjc0NzU2/v.swf
对录制的AVI视频在PC上使用播放器进行播放
http://player.youku.com/player.php/sid/XNjYwNjg0MDI4/v.swf
实验效果:
STM32上的源代码:
简介:此程序采用OV7670的200帧QVGA图像,通过znFAT存为AVI视频,可在PC上直接播放。 振南老师的大作 一个帖子,也需要维护和推广,否则发布都是徒劳的。我想每个发帖者都希望自己帖子受关注,多回复。 支持大神大作。 果然是高手做的好東西 表示支持 感谢支持 幸苦楼主了深夜发贴 我做实验很多时候都是在晚上,因为白天事情多。摄像头这个实验在晚上做其实不太合适,因为晚上会影响图像质量,影响实验效果。 顶个 接下来我要做stm32上的AVI视频播放实验。sd卡上znFAT的文件读取速度因为加入了stm32的dma,所以速度已经比较高,达到1.2MBps,播放QVGA的视频,帧速能达到8fps,最终的视频播放效果会比较流畅。 学习 楼主学习了 碉堡了!! 南哥威武。赞 赞~~~~~ 支持大神 原来大神都是夜猫子 好东西 不错
很想知道你自建网站后,有更好的效益吗?