注册 登录
查看: 9397|回复: 64

[鹰眼] 山外鹰眼调帧数

[复制链接]
发表于 2013-5-2 10:04:42 | 显示全部楼层 |阅读模式
在 OV7725.c  里修改 ov7727_reg 数组里面的参数:
50帧:
{COM4         , 0xC1},
{CLKRC        , 0x02},


75帧:
{COM4         , 0x41},
{CLKRC        , 0x00},


112帧:
{COM4         , 0x81},
{CLKRC        , 0x00},


150帧:
{COM4         , 0xC1},
{CLKRC        , 0x00},



看ov 7725的datasheet 的 CLKRC 和 COM4 寄存器:
file:///C:/Users/Administrator/AppData/Local/youdao/ynote/images/B423202E212842D79E68E399D9BA29B2/%5B~RZ)P%5B2XLGF3NDZ(H11%7DAQ.jpg




file:///C:/Users/Administrator/AppData/Local/youdao/ynote/images/D649666B5867406DA6CB3CD804F1C5DE/37LL6%248)04B%5DOJHTM4P2P3F.jpg


公式: pclk 频率 = 12M * PLLx / ( clkrc[5:0] + 1)

PLLx ,如果是 PLL 6x ,则为 6倍 ,即 pclk 频率 = 12M * 6 / ( clkrc[5:0] + 1)
PLL 就是 1 倍

clkrc[5:0] 为 0 ,PLLx  为 PLL6x  时 ,即  pclk 频率 = 12M * 6 / ( 0 + 1) = 72M



pclk 决定了 帧数 ,pclk 对应的帧数是多少,需要测出来才知道,可用示波器来测,或者定时1秒测脉冲


本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2013-5-29 16:58:32 | 显示全部楼层
我的只能用50帧的 ,75和112帧的初始化函数可以通过,但是用示波器看,只有场信号正常,像素同步信号和行信号都不正常,也采集不了数据,150帧的信号都是正常的,貌似信号不稳。


#define MCG_CLK_MHZ         PLL100      // 设置时钟频率
#define MAX_BUS_CLK         50         // bus不要超过200M,这里设为100M
#define MAX_FLASH_CLK       25          // flash不能超过32M,这里设为不超过30M
还有想超频到150M的话只需要改PLL100为PLL150吗?我这样改了,但是出现问题了,只能是100M,改为其他的都出现问题了。

最后麻烦希望让我加入你们的群,好几天了都没有加进去
回复 支持 1 反对 1

使用道具 举报

发表于 2013-5-29 20:24:38 | 显示全部楼层
我用的是V3.3版的,就是您给的这个链接里面的camera那个文件的代码,我用您给的方法,用上位机已经采集到了图像帧率为50,pLL100,60*80的图像,但是按照论坛给的方法去改却出现了问题,我的QQ541793635,还请您帮我加一下群,我加了这两个群但都没有反应
QQ753258889
自我介绍山外kinetis系列Q群:233191678
山外摄像头Q群:220460914
山外淘宝小店:firestm32.taobao.com
山外鹰眼视频:http://baid.us/hsZB
毕业学校firestm32.t
回复 支持 1 反对 1

使用道具 举报

发表于 2015-5-18 22:24:57 | 显示全部楼层
输出帧数和pclk 频率有什么关系?
This device has an image array capable of operating at up to 60 frames per second (fps) in VGA
数据手册给出的最高输出帧数才60fps,我哪里理解错了??
回复 支持 0 反对 1

使用道具 举报

发表于 2013-5-30 10:17:19 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-29 21:06
初步觉得是 信号收到干扰导致的,请参考:
山外鹰眼长排线不稳定的解决方法 - 智能车初学入门扫盲资料 - ...

山大哥,我的改了之后出问题的根源就是摄像头的像素同步信号PCLK输出有问题,导致不能触发DMA中断。
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2013-5-29 21:06:29 | 显示全部楼层
zswxzl 发表于 2013-5-29 20:26
还有我用的是K60

初步觉得是 信号收到干扰导致的,请参考:
山外鹰眼长排线不稳定的解决方法 - 智能车初学入门扫盲资料 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... &extra=page%3D2
回复 支持 1 反对 0

使用道具 举报

发表于 2014-12-8 11:36:36 | 显示全部楼层
wijop 发表于 2014-12-8 02:21
如图,我设置成50帧后就一直采集错误,,,其它帧数都正常

要调一下单片机的频率。有的帧率会出现总线冲突问题。
来自安卓客户端来自安卓客户端
回复 支持 0 反对 1

使用道具 举报

发表于 2013-5-5 18:32:39 | 显示全部楼层
50帧 够用啦
回复 支持 反对

使用道具 举报

发表于 2013-5-29 16:59:02 | 显示全部楼层
我的只能用50帧的 ,75和112帧的初始化函数可以通过,但是用示波器看,只有场信号正常,像素同步信号和行信号都不正常,也采集不了数据,150帧的信号都是正常的,貌似信号不稳。


#define MCG_CLK_MHZ         PLL100      // 设置时钟频率
#define MAX_BUS_CLK         50         // bus不要超过200M,这里设为100M
#define MAX_FLASH_CLK       25          // flash不能超过32M,这里设为不超过30M
还有想超频到150M的话只需要改PLL100为PLL150吗?我这样改了,但是出现问题了,只能是100M,改为其他的都出现问题了。

最后麻烦希望让我加入你们的群,好几天了都没有加进去
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-29 17:39:37 | 显示全部楼层
zswxzl 发表于 2013-5-29 16:59
我的只能用50帧的 ,75和112帧的初始化函数可以通过,但是用示波器看,只有场信号正常,像素同步信号和行信 ...

你加入的是哪个Q群?申请加入的,一般情况下我们都是允许的。

我们的鹰眼,信号比较差(长数据线和高速下收到干扰),只能K系列单片机才能采集图像,你用示波器测,是不准的。

我不明白你的意思,你直接插到我们的小霸王的板子上不就可以测试了吗?
为啥采集不了数据?是在我们的小霸王板子上吗?

你的例程是哪个例程?请在我们光盘资料下的摄像头例程(此例程加入NRF无线调试功能,你不插入NRF无线模块的话就必须删掉main里面无线模块的代码):
山外 K60 光盘资料下载 - 智能车初学入门扫盲资料 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... &extra=page%3D1
回复 支持 反对

使用道具 举报

发表于 2013-5-29 20:26:59 | 显示全部楼层
还有我用的是K60
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-30 11:55:37 | 显示全部楼层
zswxzl 发表于 2013-5-30 10:17
山大哥,我的改了之后出问题的根源就是摄像头的像素同步信号PCLK输出有问题,导致不能触发DMA中断。

你如何修改的 ?
回复 支持 反对

使用道具 举报

发表于 2013-5-30 13:23:36 | 显示全部楼层
就是在
#define MCG_CLK_MHZ         PLL100      // 设置时钟频率
#define MAX_BUS_CLK         50         // bus不要超过200M,这里设为100M
#define MAX_FLASH_CLK       25          // flash不能超过32M,这里设为不超过30M
这里把PLL100改为PLL150,或者把
//寄存器,寄存器值次
    {COM4         ,0xC1},
    {CLKRC        ,0x02},
   这里按照论坛http://www.vcan123.com/forum.php?mod=viewthread&tid=11这里改为75帧和112帧,都是出现了PCLK输出信号乱的,但是场信号可以看到对应的75HZ,112HZ.
回复 支持 反对

使用道具 举报

发表于 2014-5-21 09:29:50 | 显示全部楼层
山外メ雲ジ 发表于 2013-5-29 17:39
你加入的是哪个Q群?申请加入的,一般情况下我们都是允许的。

我们的鹰眼,信号比较差(长数据线和高速 ...

请问一下山外哥,鹰眼视频里的帧数是多少
回复 支持 反对

使用道具 举报

发表于 2014-12-8 02:21:42 | 显示全部楼层
如图,我设置成50帧后就一直采集错误,,,其它帧数都正常

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2014-12-31 22:57:59 | 显示全部楼层
又一次让我佩服了山外哥
回复 支持 反对

使用道具 举报

发表于 2015-1-26 22:36:12 | 显示全部楼层
山外除了YY上位机  还有别的串口调试工具吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-26 22:37:45 | 显示全部楼层
3cztrpg 发表于 2015-1-26 22:36
山外除了YY上位机  还有别的串口调试工具吗?

还有我们自己开发的多功能调试助手
回复 支持 反对

使用道具 举报

发表于 2015-1-27 17:33:19 | 显示全部楼层
山外メ雲ジ 发表于 2015-1-26 22:37
还有我们自己开发的多功能调试助手

给个链接  还是在资料专辑里面?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-27 17:34:00 | 显示全部楼层
3cztrpg 发表于 1422351199
给个链接  还是在资料专辑里面?
资料专辑——多功能调试助手
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2015-2-7 18:35:21 | 显示全部楼层
@山外哥,请求帮助~!!我用鹰眼的例程,解压之后加入了图像处理,然后用OLED显示,程序老是卡死,这是怎么回事啊??不加图像处理的程序就不会卡死,是不是时序问题啊??
回复 支持 反对

使用道具 举报

发表于 2015-3-2 13:17:30 | 显示全部楼层
为什么50帧在无线调试器上面收不到图像,但是其它帧率都可以收到图
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-2 14:17:58 | 显示全部楼层
1109242278 发表于 2015-3-2 13:17
为什么50帧在无线调试器上面收不到图像,但是其它帧率都可以收到图

在线调试,看看卡死在哪里。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-2 15:14:41 | 显示全部楼层
/************************ 图像采集和显示  ***********************/
      //  camera_get_img();                           //摄像头获取图像
卡死在这



回复 支持 反对

使用道具 举报

发表于 2015-3-2 15:21:25 | 显示全部楼层
1109242278 发表于 2015-3-2 15:14
/************************ 图像采集和显示  ***********************/
      //  camera_get_img();     ...

试试调一下bus频率,听山外说是总线冲突问题。
回复 支持 反对

使用道具 举报

发表于 2015-3-2 15:22:31 | 显示全部楼层
caoling 发表于 2015-2-7 18:35
@山外哥,请求帮助~!!我用鹰眼的例程,解压之后加入了图像处理,然后用OLED显示,程序老是卡死,这是怎么 ...

数组越界~
回复 支持 反对

使用道具 举报

发表于 2015-3-2 20:13:07 | 显示全部楼层

谢谢您的回答~不过我还是有点不懂,数组越界是指数组定义的内存容量有问题么??
回复 支持 反对

使用道具 举报

发表于 2015-3-2 20:32:38 | 显示全部楼层
caoling 发表于 2015-3-2 20:13
谢谢您的回答~不过我还是有点不懂,数组越界是指数组定义的内存容量有问题么??

就是在循环中,对数组的操作溢出了,导致修改了别的内存区域,异常
回复 支持 反对

使用道具 举报

发表于 2015-3-2 21:09:30 | 显示全部楼层
也就是类似于定义a[40]={0};的大小的数组,然后循环到最后出现了a[40]这个变量,其实最大应该是a[0]~a[39],是吧?
回复 支持 反对

使用道具 举报

发表于 2015-3-2 21:14:54 | 显示全部楼层
葛采文 发表于 2015-3-2 20:32
就是在循环中,对数组的操作溢出了,导致修改了别的内存区域,异常

也就是类似于定义a[40]={0};的大小的数组,然后循环到最后出现了a[40]这个变量,其实最大应该是a[0]~a[39],是吧?
回复 支持 反对

使用道具 举报

发表于 2015-3-2 21:53:24 | 显示全部楼层
caoling 发表于 2015-3-2 21:14
也就是类似于定义a[40]={0};的大小的数组,然后循环到最后出现了a[40]这个变量,其实最大应该是a[0]~a[3 ...

是的,不能出现a[40]的,这样会越界的
回复 支持 反对

使用道具 举报

发表于 2015-3-2 22:23:52 | 显示全部楼层
葛采文 发表于 2015-3-2 21:53
是的,不能出现a[40]的,这样会越界的

恩恩,好的,谢谢~
回复 支持 反对

使用道具 举报

发表于 2015-3-4 18:17:48 | 显示全部楼层
caoling 发表于 2015-2-7 18:35
@山外哥,请求帮助~!!我用鹰眼的例程,解压之后加入了图像处理,然后用OLED显示,程序老是卡死,这是怎么 ...

你加入图像处理的程序在哪找到的?我一直没看到
回复 支持 反对

使用道具 举报

发表于 2015-3-6 19:32:25 | 显示全部楼层
小@小哒哒何 发表于 2015-3-4 18:17
你加入图像处理的程序在哪找到的?我一直没看到

是我自己写的
回复 支持 反对

使用道具 举报

发表于 2015-3-7 00:30:22 | 显示全部楼层
wijop 发表于 2014-12-8 02:21
如图,我设置成50帧后就一直采集错误,,,其它帧数都正常

我和你一样,也是设置成50帧就采集错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-7 12:35:19 | 显示全部楼层
qpwoei8384 发表于 2015-3-7 00:30
我和你一样,也是设置成50帧就采集错误

要调一下bus频率就可以了。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-7 21:12:06 | 显示全部楼层
能不能配一个100帧的出来呢?需要自己用示波器测才能决定那两个寄存器的值么?
回复 支持 反对

使用道具 举报

发表于 2015-3-8 02:41:18 | 显示全部楼层
山外メ雲ジ 发表于 2015-3-7 12:35
要调一下bus频率就可以了。

的确,我用FX
#define CORE_CLK                PLL100// 从 PLL_e 里选择 已提供的 配置方案
                                            // bus 、 flex bus 、 flash 频率 都是 core 整数倍分频而来
#define MAX_BUS_CLK             100         // bus      (bus        >= core/16  )

可以显示50帧的图像,图像稳定得多,我的鹰眼上边的螺丝没了,镜头可以自由移动,无语了。
现在调一调焦距
回复 支持 反对

使用道具 举报

发表于 2015-3-8 19:56:02 | 显示全部楼层
山外哥!!为什么调成50帧,k60核心频率只能100兆可以取图像,其他就不可以。。我想超频200兆取图像
回复 支持 反对

使用道具 举报

发表于 2015-5-18 22:36:17 | 显示全部楼层
山外メ雲ジ 发表于 2015-3-7 12:35
要调一下bus频率就可以了。

山外哥 你可以讲下怎么写 解压特定行的图像变成要处理的图像吗
回复 支持 反对

使用道具 举报

发表于 2015-6-7 01:51:51 | 显示全部楼层
Cambridge-Five 发表于 2015-5-18 22:24
输出帧数和pclk 频率有什么关系?
This device has an image array capable of operating at up to 60 fram ...

我也想说这个问题
回复 支持 反对

使用道具 举报

发表于 2015-6-7 02:33:37 | 显示全部楼层
看了下摄像头的历程,我觉得有需要改进的地方,在历程中,思路是采集图像,然后计算,采集,计算,如此循环,看似合理,但是采集与计算是串行的,我觉得完全可以采集与计算同时执行,我之前给7620写了个程序,就是采用这个思路,我用了类似于OpenGL中的双缓冲,图像缓存我建立了两个,然后用两个指针分别指向他们,一个指针叫后台指针,一个叫前台指针,图像采集时存到后台指针指向的缓存,采集完就交换两个指针,把前台指针交给主程序处理,然后后台继续采集下一帧图像,这样就能采集与计算互不干扰,并行处理,成倍提高了图像采样率,比单纯的提高摄像头的帧率的成本来的更低,而且还有个问题,每次采样间隔的时间应该相同,我看了下历程的代码实现,这个要求是达不到的,只能说是近似相同,因为每次调用图像采集函数,所用的时间不一定相同,这对PID调节的影响较大,因为PID要求是周期采样,否则计算就会有偏差。以上是我的一些建议,忘采纳。如有什么不妥之处,也请指出来,谢谢。
回复 支持 反对

使用道具 举报

发表于 2015-6-10 19:07:38 | 显示全部楼层
山外哥,50帧的为什么不可用啊,
回复 支持 反对

使用道具 举报

发表于 2015-7-6 14:46:00 | 显示全部楼层
logic 发表于 2015-6-7 02:33
看了下摄像头的历程,我觉得有需要改进的地方,在历程中,思路是采集图像,然后计算,采集,计算,如此循环 ...

兄弟,我也在思考你说的这个问题。能不能详细的说一下。我很感兴趣
回复 支持 反对

使用道具 举报

发表于 2015-7-6 14:57:57 | 显示全部楼层
glass 发表于 2015-7-6 14:46
兄弟,我也在思考你说的这个问题。能不能详细的说一下。我很感兴趣

可以加Q详聊 472179216
回复 支持 反对

使用道具 举报

发表于 2015-7-6 17:37:14 | 显示全部楼层
为什么帧率越高,摄像头采集需要的时间却越小呢,好奇怪。我用112帧需要16ms左右,用150帧需要12ms。用的是kl26+山外鹰眼。频率是100M,bus为40M(实际是33.3M)
回复 支持 反对

使用道具 举报

发表于 2015-10-30 15:04:23 | 显示全部楼层
wijop 发表于 2014-12-8 02:21
如图,我设置成50帧后就一直采集错误,,,其它帧数都正常

你好,请问解决了吗?我也是这个问题。
回复 支持 反对

使用道具 举报

发表于 2015-10-30 15:06:00 | 显示全部楼层
1748532017 发表于 2015-10-30 15:04
你好,请问解决了吗?我也是这个问题。

调低单片机频率就可以了
回复 支持 反对

使用道具 举报

发表于 2015-10-30 15:06:55 | 显示全部楼层
1748532017 发表于 2015-10-30 15:04
你好,请问解决了吗?我也是这个问题。

好像是 单片机频率和摄像头频率 冲突。调一下频率。
回复 支持 反对

使用道具 举报

发表于 2015-11-3 10:15:37 | 显示全部楼层
我的摄像头在上位机什么都没有,怎么解决呢,用的是山外的程序和摄像头,龙邱K60单片机
回复 支持 反对

使用道具 举报

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

本版积分规则

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