请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F446RE驱动OV5640

[复制链接]
jiguosheng 发布时间:2020-5-3 13:13
之前自己用STM32F446RE做了一个小开发板,搭配OV5640模块做图像采集实验。现将实验过程分享给大家。
0 H5 \3 x# d/ ^! L7 Q9 C  I首先使用STM32CubeMX v5.6搭建底层驱动。主要是使用DCMI接口和UART5,所以主要配置这两个外设。
; B! u1 z6 ~/ M4 O, ]; { 1.png 5 A, Y" x9 b* @. y* Y, i
2.png
1 T. p1 n  j6 X1 P) h" ] 3.png
; d) o) V/ l# W" S 4.png
  @- R9 q0 O) d4 M9 C% V! H0 [由于OV5640需要一些控制引脚和SCCB(类似于I2C的时序,本例使用IO模拟),所以还需要配置一些额外的IO作为输入/输出口。; W0 c5 t9 C/ K# w( [
6.png
& l& m  {5 y" J: |: D7 S* s将时钟开到最大180MHz8 k/ M& d" I6 w9 k  @1 [' u
7.png ) d- @, I1 @, R7 S
Heap Size和Stack Size都设置为0x1000,然后点击生成工程。
, ^9 B- X% h' v# N2 P) h+ t4 F! h, Y在生成的工程文件夹下新建OV5640的文件夹,用于存放OV5640的驱动文件。5 l8 n" W5 X- n2 @2 R1 w
8.png 7 v1 ]5 C/ R; C; i- i
添加头文件。
, |7 _4 z7 H) d; j/ k; f 9.png
; O1 h2 \' q4 p下面编写OV5640的驱动。主要是先通过SCCB总线向OV5640发送寄存器配置信息,然后初始化DCMI接口。配置信息厂家一般会提供,所以一般不需要用户自己去写配置。具体内容可以参看附件中的源码。5 i/ X7 r' n% q' b" i4 Q+ {1 W
10.png
* h  \7 w' s: ]' m4 b# S" t* N6 ^ 11.png
- j; O. U* D6 I& F+ ~6 k' J 12.png , p& y( \4 K+ b& G/ }' w
13.png
  q. D' Z4 u/ ] 14.png ' n/ V4 |  K4 l! v( o) K
最后在main.c文件中加入如下代码。
( @0 p' c1 e$ Q/ o1 W% M0 F" r 15.png
( h; W0 ]5 P" l. L( H9 X 16.png 0 f3 v% H4 z7 h$ Z" e2 @/ b4 M, ]
17.png
8 B: Q7 W- ?8 a 18.png ( Q  S( \8 @; O1 D$ C7 n3 H: p
程序在while循环中调用OV5640_App()程序。在OV5640_App();中先开启DCMI,开始一次拍照,并通过DMA将数据搬运至缓冲区中。当一帧采集完毕后,触发中断,使能标志位,OV5640_App()得以继续运行。在得到一帧数据后,通过从后向前判断非零数据的位置得到有效数据的长度,然后通过UART5发送出去。
/ l& G" q" Q  O  O实测160X120连续采集发送帧率只有1fps左右,增大分辨率会降低帧率。这和使用串口传输有关。通过增大缓冲区大小、使用UART+DMA以及双缓存的方法均没有明显的提速效果。
( D5 a$ w/ ~! n2 E- u- V9 n实际效果如下:
2 D. f  B. U; x 19.png % A0 {3 b5 S; M; b
代码:! H) U! w" e7 d% w9 k1 t; V
STM32F446RE_OV5640.zip (887.79 KB, 下载次数: 58)
收藏 评论3 发布时间:2020-5-3 13:13

举报

3个回答
李康1202 回答时间:2020-5-5 11:56:45
谢谢分享
g921002 回答时间:2020-5-28 00:07:03
很棒的說明,從cubemx到代碼說明都很清楚。
银河之风 回答时间:2020-11-27 10:32:36
想咨询一下楼主用的串口显示图像的软件是什么?网上没有搜索到
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版