[应用相关] 关于stm32的mco输出的问题的解答

[复制链接]
3164|10
 楼主| _gege 发表于 2016-11-29 20:24 | 显示全部楼层 |阅读模式
最近在做一个东西时需要驱动OV7670摄像头,OV7670所用的时钟源是由STM32的HSE(我这里所用的是外接晶振)提供,然后复用到MCO引脚输出,当然芯片内部的电平是占空一半的方波,但是在调试摄像头时我发现SCCB通信总是失败,也就是单片机总是接收不上数据,后测发现XCLK(OV7670时钟输入脚)的波形严重失真,如下图

一开始我以为是外接时钟源选择错误,我应该选择外接占空一半的方波,但是在网上和其他网友交流后知道内部时钟电路绝对是方波,也就是有相应的整形电路,HSE与HSI输出的都是方波,下图是时钟内部原理图:

从图中我们可以看出MCO输出可选的有四种时钟源,除了SYSCLK其他的都是方波,但是外接时钟源频率是8M,其实对于我所用的示波器来说,8M的方波它测不出,带宽不够。接下来我给大家展示一下我的验证:

这是36M低速时钟50分频后的方波,从图中可以看出电平跳动时抖动很厉害,趋于稳定时间超过了一半周期

这是36M低速时钟25分频后的方波,已经很失真了,能勉强看一下。

这是36M低速时钟12分频后的方波,差不多不能看了

这是36M低速时钟6分频后的方波,几乎已经是稍稍失真的正弦波了,另外由于这是由计时器产生的方波,在电平跳动时一定产生纹波,没有直接从HSE引出来的波形干净,所以即使HSE是8M的波形,其依旧比6M的由TIM产生的方波漂亮。

打赏榜单

qqaa123 打赏了 0.01 元 2016-11-30

feiqi1 发表于 2016-11-29 20:27 | 显示全部楼层
选用MCO引脚输出时钟电平是没问题的吧。
androidbus 发表于 2016-11-29 20:32 | 显示全部楼层
有些同学说在做摄像头驱动是时钟不匹配,我想说的是你所测出来的波形不合适,所以感觉不匹配。
litengg 发表于 2016-11-29 20:36 | 显示全部楼层
选用MCO引脚输出时钟电平是没问题的,要是有问题也应该是程序有问题。
qiangweii 发表于 2016-11-29 20:43 | 显示全部楼层
关于stm32的mco输出的问题难在哪里呢?
hfdy01 发表于 2016-11-29 20:52 | 显示全部楼层
XCLK(OV7670时钟输入脚)的波形严重失真??有图吗??
CallReceiver 发表于 2016-11-29 20:55 | 显示全部楼层
解答的还是很全面的,了解学习了。。
天灵灵地灵灵 发表于 2016-11-29 22:46 | 显示全部楼层
也可以用PLL的时钟输出搞。
玛尼玛尼哄 发表于 2016-11-29 22:59 | 显示全部楼层
不管内部外部的方式,只要能输出个符合要求的就行了。
皈依 发表于 2016-11-30 08:18 | 显示全部楼层
楼主图挂了 一个都没看到
苏山人家 发表于 2016-11-30 09:24 | 显示全部楼层
说好的图呢,一个都木有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

1357

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部