智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 17347|回复: 28
打印 上一主题 下一主题

K60+DMA+DSP对摄像头数据的采集---每秒60帧

  [复制链接]

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
227
贡献
86
兑换币
6
注册时间
2012-4-27
在线时间
35 小时
毕业学校
万里学院
跳转到指定楼层
1#
发表于 2012-6-5 14:47:57 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 laoylhuli 于 2012-6-5 14:47 编辑

闲来无聊写一下关于我对摄像头数据采集处理的设计
      K60的内核是Cortex-M4,不得不说这个内核比M3有了很大的长进,特别是核心对dsp内核的支持。玩过STM32的朋友知道32上也有dsp库,但最大的缺点是M3内核模拟的,速度算不上快,但比一般自己写代码快很多。
      下面来讲一下怎么读取摄像头数据,这个是关键只有获得了有效的数据才能处理啊。我用的摄像头是OV7620,买来的时候基本是出厂设置。OV7620视频输出格式通过YCrCb格式,这里我们只用Y通道,里面输出的是灰度。
      摄像头输出通过VS(场同步信号)、HS(行同步信号)、PCLK(像素时钟同步信号),和Y0~Y7组成。用示波器观察PCLK的时间是74ns,也就是13.5M的速度(用杜邦线小心,摄像头架的很高,线很长衰减很厉害)。这里我采用了中断和DMA相结合(有DMA这么好的资源干嘛不用呢),没接触过的人可能不知道那时什么功能,其实很简单只要你给它设置好相应的参数,它就会不通过CPU直接将你的数据从外设和内存之间相互搬运,或者内存到内存的搬运,什么时候搬运你就要告诉他。在程序开始的时候我们设置两个中断(为了保证必要的速度最好设置在两个不同的中断号中),一个是VS中断,一个是HS中断,并且配置DMA(建立外设和内存的搬运过程,搬运次数,触发方式)触发采用PCLK,并且使能VS中断,失能掉HS和DMA中断。
      (1)当一帧图像开始传输时VS触发中断(这里不判断奇偶场),在中断中我们初始化一些行计数之类的变量,并且失能VS开启HS中断。
      (2)当VS之后的第一个HS的到来表示第一行触发HS中断,在此你就要判断这一行的数据你是否需要(如果我们把一幅图像的所有数据都读进来RAM不够吧)。之后没来一个HS触发一次中断判断这一行你是否需要,如果需要就使能DMA传输和中断。当判断行计数大于你要的行数后,失能HS,来一个标志位说明一帧图像已经接收完毕。
      (3)DMA中断中其实很简单,开启一次DMA的传输和中断后,摄像头每来一个PCLK就会搬运一次数据到指定的RAM中,当一次搬运完你所设置的搬运次数后进入DMA中断,在中断中你要及时的将RAM中的数据移走,防止被覆盖,这里需要注意一下为了尽可能的快速移走数据你要好好考虑下你要搬运的次数。
      (4)上面提到的那个标志位就要用在主函数中,当判断标志位被标志后,我们要开始进行处理,滤波、黑线的判断、十字路口、停车是必不可少的。
       滤波和黑线的判断我们可以使用自带的DSP内核来完成,关于cortex-M4中的dsp内核,可以登入arm的官网下载相关资料  http://www.onarm.com/cmsis/download/   里面的库提供很丰富的处理方法。

评分

1

查看全部评分

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
227
贡献
86
兑换币
6
注册时间
2012-4-27
在线时间
35 小时
毕业学校
万里学院
2#
 楼主| 发表于 2012-6-6 22:20:53 | 显示全部楼层
Horizon3261 发表于 2012-6-6 21:06
你的K60 的具体型号是多少?定点型的K60没有DSP吧?

M4内置dsp内核的  详细的可以百度百科对cortex-m4的介绍很详细

回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
威望
227
贡献
86
兑换币
6
注册时间
2012-4-27
在线时间
35 小时
毕业学校
万里学院
3#
 楼主| 发表于 2012-6-7 19:17:27 | 显示全部楼层
深海· 发表于 2012-6-7 18:39
你们用的是这个芯片吗?
我们用的是MCP,32位的,发现图像处理得很乱。
我们学校另一组用的是K60的, ...

我用的是这个芯片  图像采集出来很好啊  最重要的是对摄像头时序的问题,里面用到了两个中断你什么时候去清除中断标志位是个非常关键的问题。清不好中断标志位会出现模糊的现象

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 17:27 , Processed in 0.059815 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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