打印
[STM32F4]

【F446RE开发板试用】摄像头图像采集及LCD显示

[复制链接]
1275|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 晓枫VS枯叶 于 2015-10-20 09:40 编辑

感谢二姨给的板子,中途比较忙,所以这次拖到最后才来分享
主要分享OV7725的图像采集和SPI LCD的显示
用的到外设有:
1. 模拟SCCB(类似I2C)
2. 硬件SPI驱动LCD
3. SDIO驱动TF卡
4. UART调试
5.TIMER进行帧率计算
本来开始用HAL库都写好了图像采集和显示的程序,但是发现cubemx创建出来的SDIO+FATFS在写数据是会出现CRC校验错误,最后放弃了HAL库,又采用了标准库进行采集。
本来准备用硬件的IIC来配置OV7725,但是貌似那个SCCB时序和IIC时序不同,一直导致硬件IIC卡死,遂采用了软件模拟SCCB时序,软件模拟还是很顺利的。而SPI方面看了一下数据手册,

SPI1的速度有45 Mbits/s,但是在cubemx里配置时却出现速度不能大于42Mbits/s

而我用的标准库配置时,把SPI1的分频参数强制设置为2(即速度为45 Mbits/s)时LCD也不能工作了,改成4(即速度为22.5 Mbits/s)时LCD工作正常,不知道这是SPI的问题还是LCD不支持
这么搞的速度,下次再找个FLASH芯片测试下,FLASH芯片的速度总能达到要求了。SPI驱动的LCD刷屏非常慢,即使在分辨率只有176*240的情况下还要110ms一屏(单色),这可能就是串
口屏的劣势所在了吧。
而SDIO所采用的48M时钟,我使用PLLSAI来提供,时钟配置如下所示,虽然用的标准库,毕竟cubemx上的时钟树配置比较简单,看起来也比较直观。

对应的标准库函数如下
RCC_PLLSAIConfig(8,384,8,2);
  RCC_48MHzClockSourceConfig(RCC_48MHZCLKSource_PLLSAI);
  RCC_SDIOClockSourceConfig(RCC_SDIOCLKSource_48MHZ);
  RCC_PLLSAICmd(ENABLE);
这样配置对USB来说同样有效,这样在使用USB或SDIO时F446的主频同样可以跑在180M,这是在f429上的一些改进吧。
整体接线及实物图如下:

桌子比较乱见谅了...........本准备实现拍照功能的,但是由于我的SPI LCD是单向通信的,不能读LCD,所以就没有搞上去(现在还在考虑用那种方法),所以感觉TF卡在上面也成了摆设。

这是试用的F466还是很给力的,但是自己在途中遇到了两个问题:1.SPI1的速率问题、2.HALSDIO驱动TF卡,如果有人解决了,希望赐教一下,工程如下:
OV7725.zip (1.59 MB)



沙发
晓枫VS枯叶|  楼主 | 2015-10-20 09:28 | 只看该作者
最后截图的那句话导致帖子含有不良信息,无法发表@21小跑堂

使用特权

评论回复
评论
21小跑堂 2015-11-2 09:29 回复TA
刷*单色屏~这样就可以了 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

82

帖子

2

粉丝