智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 14076|回复: 20
打印 上一主题 下一主题

OV7725帧率设置问题,或者说PCLK设置问题

  [复制链接]

50

主题

198

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1393
威望
690
贡献
439
兑换币
386
注册时间
2013-3-6
在线时间
132 小时
毕业学校
北京师范大学珠海分校
跳转到指定楼层
1#
发表于 2014-7-10 16:15:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
废话不多说,先上图。
问题如图示,采集的第一张没问题,可是后面的都有问题,整体表现为,图像往上循环滚动。











导致 这样的现象的原因是,我更改了PCLK的频率;
按理说,PCLK影响的只是摄像头输出图像数据的速度,
改慢了,采集图像的时间就变长,改快了,采集图像的时间就缩短;
为什么会影响到图像的时序,导致时序混乱呢???
注 :我就更改了PCLK的频率设置,其余都没动。
哪位 大神 能解析下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

2

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
威望
152
贡献
81
兑换币
85
注册时间
2014-4-9
在线时间
32 小时
毕业学校
111
2#
发表于 2014-7-10 16:23:34 | 只看该作者
是用的野火的ov7725么,如果是的话好像场中断和pclk都是要接150的下拉电阻的,这样图像就不会跳变了,不知是不是。
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
3#
发表于 2014-7-10 16:31:07 | 只看该作者
本来该1时刻输出的。成了2时刻。
回复 支持 反对

使用道具 举报

50

主题

198

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1393
威望
690
贡献
439
兑换币
386
注册时间
2013-3-6
在线时间
132 小时
毕业学校
北京师范大学珠海分校
4#
 楼主| 发表于 2014-7-10 16:45:29 | 只看该作者
zhou1994 发表于 2014-7-10 16:31
本来该1时刻输出的。成了2时刻。

额...你的意思明白。
就好像两个人约好一个时间碰面,但是其中一个人擅自修改了碰面时间,导致两人碰面失败。
可是我觉得这里不会有这种情况;因为不存在摄像头和MCU约好的条件;
这里的情形应该是:MCU死等摄像头;
摄像头早送数据那么,MCU就早收到,摄像头晚送数据,MCU就晚收到。

我的采集流程是这样的:
摄像头的场同步信号触发MCU  —>  MCU使能行中断
摄像头的行同步信号触发MCU  —>  MCU使能DMA
摄像头的像素时钟PCLK 直接 供给 DMA
即:DMA的采集永远是跟随PCLK的,PCLK我设置快了,DMA采集自然就快了,PCLK我设置慢了,DMA采集自然就慢了。
不存在说 一个在第一时刻输出,一个却在第二时刻才接受的情况;
因为 摄像头的输出 和 DMA的接收 是跟随同一个信号的:PCLK




回复 支持 反对

使用道具 举报

50

主题

198

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1393
威望
690
贡献
439
兑换币
386
注册时间
2013-3-6
在线时间
132 小时
毕业学校
北京师范大学珠海分校
5#
 楼主| 发表于 2014-7-10 16:47:19 | 只看该作者
尕玍紿 发表于 2014-7-10 16:45
额...你的意思明白。
就好像两个人约好一个时间碰面,但是其中一个人擅自修改了碰面时间,导致两人碰面失 ...

当然,PCLK的频率,在DMA的接受范围内!
回复 支持 反对

使用道具 举报

50

主题

198

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1393
威望
690
贡献
439
兑换币
386
注册时间
2013-3-6
在线时间
132 小时
毕业学校
北京师范大学珠海分校
6#
 楼主| 发表于 2014-7-10 17:25:41 | 只看该作者
问题已解决!我的场中断服务函数中,响应了当次的场中断后,将场中断关闭了:disable_irq(场中断)
然后在 处理完当前采集回来的图像后,方才重新打开场中断:enable_irq(场中断)
现在改用开关变量来达到 enable_irq(场中断)/disable_irq(场中断) 的效果。
即:用开关变量的置一/清零 取代 enable_irq(场中断)/disable_irq(场中断)

这样操作后,我再更改PCLK的配置,改慢/改快都没问题了!!
当然,PCLK的频率必须在DMA的承受范围内。

DMA的频率范围一直是我的一个疑问,不知道,有没有人知道????
目前实践证明:K60的PLL设置为100MHz时,DMA支持的频率在10M以下,即若PCLK的频率超过10M,图像将错乱。
额...不确保以上数据一定正确!!
望知道的人 告知。
回复 支持 反对

使用道具 举报

55

主题

1286

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
8827

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章资源大师奖章论坛骨干奖章

威望
4121
贡献
2694
兑换币
1967
注册时间
2012-5-8
在线时间
1006 小时
7#
发表于 2014-7-10 17:44:16 | 只看该作者
这个应该是你的数组问题
回复 支持 反对

使用道具 举报

50

主题

198

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1393
威望
690
贡献
439
兑换币
386
注册时间
2013-3-6
在线时间
132 小时
毕业学校
北京师范大学珠海分校
8#
 楼主| 发表于 2014-7-10 18:33:38 | 只看该作者
易湘鑫 发表于 2014-7-10 17:44
这个应该是你的数组问题

怎么说??
能具体点吗??
比如:我曾经遇到的数组问题:定义的数组大小与实际采集图像大小的不匹配。
回复 支持 反对

使用道具 举报

13

主题

250

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3621
威望
1776
贡献
1079
兑换币
1136
注册时间
2013-11-19
在线时间
383 小时
9#
发表于 2014-7-11 11:32:33 | 只看该作者
尕玍紿 发表于 2014-7-10 17:25
问题已解决!我的场中断服务函数中,响应了当次的场中断后,将场中断关闭了:disable_irq(场中断)
然后在  ...

我们偶尔也出现这样的现象,我想问下,每当你响应场中断后就关闭场中断,然后处理完图像再打开场中断为什么会导致图像滚动?
回复 支持 反对

使用道具 举报

10

主题

530

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2598
QQ
威望
1305
贡献
775
兑换币
877
注册时间
2013-11-24
在线时间
259 小时
10#
发表于 2014-7-11 12:44:40 | 只看该作者
和 楼上有相同的疑惑!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 19:06 , Processed in 0.051045 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表