智能车制作

标题: K60 DMA能用了!!!!! [打印本页]

作者: 星斗520    时间: 2012-3-31 15:06
标题: K60 DMA能用了!!!!!
程序终于调试成功了 可是发现个让我很不淡定的问题 就是即便使用DMA采集摄像头数据 在DMA采集过程中CPU并不能执行其他程序啊!!!!!完全实现不了一边采集一边处理的效果!!!是我用的不对呢 还是DMA也不过如此呢!!
我用的是PCLK硬件触发DMA采集 也看了其他人写的DMA程序 并没有发现自己程序有问题 !!! 摄像头数据采集 何去何从啊!!

作者: 洋葱圈    时间: 2012-3-31 15:39
CPU不能执行其他程序?你要执行什么程序。
作者: 星斗520    时间: 2012-3-31 15:51
洋葱圈 发表于 2012-3-31 15:39
CPU不能执行其他程序?你要执行什么程序。

比如 液晶显示 串口发送 无线接收…… 好像都不行啊
作者: ╯_╰    时间: 2012-3-31 19:52
求参考啊  284269732@qq.com
作者: evangwt    时间: 2012-4-1 00:44
Mark
作者: 星斗520    时间: 2012-4-1 15:03
没有人解释一下吗 ???
作者: moonlight831    时间: 2012-4-3 08:27
好像是总线低,或者pclk得分频。。。
作者: 星斗520    时间: 2012-4-4 21:05
moonlight831 发表于 2012-4-3 08:27
好像是总线低,或者pclk得分频。。。

嗯 说的有道理 我的总线以前调的有点低
作者: moonlight831    时间: 2012-4-5 00:41
星斗520 发表于 2012-4-4 21:05
嗯 说的有道理 我的总线以前调的有点低

因为我也在搞这块,现在总线100了~ pclk 没分频,但是 一取行取少了的话就进不去dma~现在只取到60行,你们怎么样了?

作者: 星斗520    时间: 2012-4-5 12:32
moonlight831 发表于 2012-4-5 00:41
因为我也在搞这块,现在总线100了~ pclk 没分频,但是 一取行取少了的话就进不去dma~现在只取到60行,你们 ...

我们还好 PLCK四分频 每行可以取到160个点 采集一直没问题 这两天忙其他事 过几天我们就好好弄一弄 一边采集一边处理
作者: moonlight831    时间: 2012-4-5 16:08
星斗520 发表于 2012-4-5 12:32
我们还好 PLCK四分频 每行可以取到160个点 采集一直没问题 这两天忙其他事 过几天我们就好好弄一弄 一边采 ...

514623223 能加Q吗 想请教你点问题~我们第一次接触这比赛,身边没人带着做~~~
作者: 2009gxs    时间: 2012-4-5 16:41
哎 我要加油了~~好多东西还是不太懂~
作者: 星斗520    时间: 2012-4-5 19:06
2009gxs 发表于 2012-4-5 16:41
哎 我要加油了~~好多东西还是不太懂~

加油吧 我们做车 就是为了学东西 有成绩 最好 没有成绩 要的就是收获
作者: 星斗520    时间: 2012-4-5 19:22
看来要换摄像头了!!!!好不清晰啊
作者: 2009gxs    时间: 2012-4-6 18:06
星斗520 发表于 2012-4-5 19:22
看来要换摄像头了!!!!好不清晰啊

CMOS的肯定没有CCD的效果好吧~~
作者: eve昔枫    时间: 2012-4-10 13:03
问下你们摄像头是用的几V的? 5还是3.3
作者: 小鬼快跑    时间: 2012-4-13 13:13
星斗520 发表于 2012-4-5 12:32
我们还好 PLCK四分频 每行可以取到160个点 采集一直没问题 这两天忙其他事 过几天我们就好好弄一弄 一边采 ...

我们用的K10,现在数据都没有出来,请问下你们PLCK分频是因为不分频上升沿时间不够触发不了DMA吗?
作者: lemon~cmc    时间: 2012-4-13 13:38
星斗520 发表于 2012-4-5 19:22
看来要换摄像头了!!!!好不清晰啊

你们摄像头架了多高哟。怎么图像采的这么宽?兄弟加下QQ可以不?也想请教点DMA采集数据的问题,下午做个四分频试一下,现在只能采到一行数据,郁闷。 279788046
作者: superrepus    时间: 2012-4-13 21:38
DMA执行时程序是可以执行的,但是MCU内部的数据总线是公用的,DMA通过数据总线向内存存放数据时CPU就不能使用数据总线从内存读数据或向内存写数据,CPU内部会调节总线的负载,始终保留一定的总线带宽给CPU,但这种总线的利用方式应该是分时复用~无论USART、SPI、还是其他外设都要使用数据总线交换数据,所以才会有DMA运行时CPU程序无法运行的感觉~
我外置了FIFO,K60在100Mhz(官方推荐的最高频率)下使用FlexBus+DMA,实现一行700点采集(实时)。
作者: 星斗520    时间: 2012-4-14 11:58
2009gxs 发表于 2012-4-6 18:06
CMOS的肯定没有CCD的效果好吧~~

理论如此 不过 各有优势 CMOS电路节俭……
作者: 星斗520    时间: 2012-4-14 12:01
小鬼快跑 发表于 2012-4-13 13:13
我们用的K10,现在数据都没有出来,请问下你们PLCK分频是因为不分频上升沿时间不够触发不了DMA吗?

不是  时间是够用的 不过没有必要采集那么多的点啊 160个点对我们来说足够用了
作者: 星斗520    时间: 2012-4-14 12:04
eve昔枫 发表于 2012-4-10 13:03
问下你们摄像头是用的几V的? 5还是3.3

我们用的是5V的 这款单片机足够承受5V电压 没问题的
作者: 星斗520    时间: 2012-4-14 12:11
lemon~cmc 发表于 2012-4-13 13:38
你们摄像头架了多高哟。怎么图像采的这么宽?兄弟加下QQ可以不?也想请教点DMA采集数据的问题,下午做个四 ...

有什么问题 直接回帖 就可以了 我懂的也不多 能帮的会帮的 我们摄像头高度30厘米 用PLCK四分频触发DMA 这样就相当于均分了一行的数据 采集回来 自然显得比较宽 这个还和摄像头镜头角度有关 我们实验室有几种镜头 我一个一个试的 也不知道这个是哪个角度了
作者: 星斗520    时间: 2012-4-14 12:22
superrepus 发表于 2012-4-13 21:38
DMA执行时程序是可以执行的,但是MCU内部的数据总线是公用的,DMA通过数据总线向内存存放数据时CPU就不能使 ...

看来你用的是模拟摄像头吧 有人问过我怎么用DMA采集模拟摄像头的数据 我想了想告诉他两种办法一是通过一路PWM波 产生一个满足要求的DMA触发信号 就可以实现了 第二种通过内部的输出比较功能来产生一个定时信号 周期性触发DMA 也可以实现 不知兄弟用的是哪种方式 分享一下吧 另外提一下 数字摄像头要用这种方式就需要好好调整一下这个周期 我用这种方式试了试 数字的可能是因为会采集到两个点刚好交换数据时候的数据 这时候就出现错误数据 所以需要精确定时 确定周期 模拟的就不一样了 还有个一问题就是 如果真如我所猜想 那以前比赛用数字的好像没有出现因为采集 两个点之间的数据而出错!!不知兄弟有什么看法吗?
作者: superrepus    时间: 2012-4-14 18:38
星斗520 发表于 2012-4-14 12:22
看来你用的是模拟摄像头吧 有人问过我怎么用DMA采集模拟摄像头的数据 我想了想告诉他两种办法一是通过一路 ...

主要矛盾在于摄像头输出时钟信号(无论模拟还是数字),MCU也输出时钟,相当于两个都是主机,所以无法采集,因此我用了硬件FIFO,摄像头的数据在PCLK下写入FIFO,MCU提供读时钟异步从FIFO读取数据。合理配置flexbus和DMA就可以实现时钟的输出和数据的读取了。
模拟和数字用法一样的,我在模拟后面加的视频解码芯片,相当于变成了数字的~网上也有集成了FIFO的7620,可以原理一样的,但是规则不让用~~

作者: Horizon3261    时间: 2012-4-21 11:23
能参考下吗?谢谢啦
作者: Horizon3261    时间: 2012-4-21 11:31
楼主能分享参考的DMA使用程序吗?

作者: Horizon3261    时间: 2012-4-21 11:31
472329187@qq.com,谢谢啦
作者: agogos    时间: 2012-4-23 15:02
superrepus 发表于 2012-4-14 18:38
主要矛盾在于摄像头输出时钟信号(无论模拟还是数字),MCU也输出时钟,相当于两个都是主机,所以无法采集 ...

我想问下你的视频解码后是不是二分频了?去除了CbCr分量然后压入FIFO????
作者: superrepus    时间: 2012-4-23 16:58
agogos 发表于 2012-4-23 15:02
我想问下你的视频解码后是不是二分频了?去除了CbCr分量然后压入FIFO????

我用的是并行输出的解码器,y和uv分别用各自的数据总线,只读Y就行了,uv不用管。

作者: ad3600    时间: 2012-4-23 19:47
星斗520 发表于 2012-4-5 12:32
我们还好 PLCK四分频 每行可以取到160个点 采集一直没问题 这两天忙其他事 过几天我们就好好弄一弄 一边采 ...

首先声明 我没用过DMA,但看过别人的介绍,我的疑问是,当DMA开始接收系统的控制总线进行数据传输后,CPU还能正常地执行程序别的部分吗?这里面是不是涉及到内核处理问题?

作者: 小書生    时间: 2012-4-23 19:54
DMA传输时,需要利用系统的数据总线、地址总线、控制总线,相当于接管CPU的总线控制权。那么,DMA工作方式基本有以下三种:
1......CPU停机方式。即 DMA 传输时 CPU 不工作。。
2......周期挪用方式。在CPU不进行总线操作的周期,见缝插针的进行DMA传输。。
3......周期扩展方式。当DMA传输时,专门的时钟电路向CPU发送加宽的时钟信号,而向DMAC发送正常的时钟信号。CPU在加宽时钟周期内操作不往下进行,DMAC在这段时间进行DMA传输。
也就是说,让CPU和DMAC像两个独立的人一样互不干扰的做自己的事,几乎是不可能的。。。。。
作者: agogos    时间: 2012-4-26 21:52
superrepus 发表于 2012-4-23 16:58
我用的是并行输出的解码器,y和uv分别用各自的数据总线,只读Y就行了,uv不用管。

难道是ADV7181???能否详细交流下???
作者: superrepus    时间: 2012-4-26 22:56
agogos 发表于 2012-4-26 21:52
难道是ADV7181???能否详细交流下???

TVP5147

作者: agogos    时间: 2012-4-27 08:19
superrepus 发表于 2012-4-26 22:56
TVP5147

这个芯片不是发热巨大的么?而且貌似有死机的情况。。。。
作者: superrepus    时间: 2012-4-27 09:43
agogos 发表于 2012-4-27 08:19
这个芯片不是发热巨大的么?而且貌似有死机的情况。。。。

长时间运行确实有温度,但是和CCD的温度相比可以忽略不计了~死机没遇到过
作者: leeves_chou    时间: 2012-5-15 17:07
moonlight831 发表于 2012-4-5 00:41
因为我也在搞这块,现在总线100了~ pclk 没分频,但是 一取行取少了的话就进不去dma~现在只取到60行,你们 ...

哥们 你好 我接触k60晚,看到你们都是4月初就把图像搞的差不多了 小弟惭愧啊!小弟有几个问题,希望得到仁兄的帮助 我用DMA采集数据 没有pclk分频,现在问题就是 用串口发送数据很不稳定 有时候有数据,有时候等半天都没数据,是不是应为行数太少的缘故 我33行,如果改成60行 DMA初始化要怎么修改呢??或者还有其他的缘故?谢谢~
作者: 长杨    时间: 2012-5-22 09:23
能不能给我发个DMA的 程序啊,我才刚刚用啊,谢谢了
5 2 9 2 2 9 6 0 5@q q.c o m


作者: 星斗520    时间: 2012-5-22 13:17
leeves_chou 发表于 2012-5-15 17:07
哥们 你好 我接触k60晚,看到你们都是4月初就把图像搞的差不多了 小弟惭愧啊!小弟有几个问题,希望得到仁 ...

DMA初始化 只是初始化 一行采集的点数 行数是由行中断决定的
作者: 星斗520    时间: 2012-5-22 13:26
长杨 发表于 2012-5-22 09:23
能不能给我发个DMA的 程序啊,我才刚刚用啊,谢谢了
5 2 9 2 2 9 6 0 5@q q.c o m

http://www.znczz.com/forum.php?mod=viewthread&tid=84408  给个链接 看看吧
作者: martain    时间: 2012-5-24 18:56
长杨 发表于 2012-5-22 09:23
能不能给我发个DMA的 程序啊,我才刚刚用啊,谢谢了
5 2 9 2 2 9 6 0 5@q q.c o m

‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘

作者: 小顺子    时间: 2012-6-3 20:41
怎么做到的采集?

作者: 冰水混合物    时间: 2012-6-6 11:11
可以加下q吗?535317563
作者: 笨鹅    时间: 2012-6-11 21:02
求程序,dma采集代码403280134@qq.com

作者: 冰水混合物    时间: 2012-6-15 13:47
你好,我也是在弄DMA采集这块,一直触发不了DMA,可以参考一下你的程序吗,只要最简单的就可以了,如果可以的话
作者: 新人类    时间: 2012-6-15 17:36
星斗520 发表于 2012-4-14 12:11
有什么问题 直接回帖 就可以了 我懂的也不多 能帮的会帮的 我们摄像头高度30厘米 用PLCK四分频触发DMA 这 ...

如果是7620的话建议不要去对PCLK分频。。。。。。因为我用示波器测过。。那样会影响采集时间。。。不知道一不一样吧。。反正我测出来的4分频后的帧信号周期大概是160ms 那么也就是说160ms才能换一次新图。。。(具体是否这个数字我忘了。。你可以用示波器验证下)。这样的话会带来一个问题就是你的控制可能滞后。。即使你采集的像素点少点。。但摄像头采集传输速度慢。。也还是慢。。。据我测试。。。不分频情况下采集时间是15ms一场 30ms一帧这样的话勉强还能满足舵机控制周期。。。这个也是我想要解决的问题,在这里提下。。请问哪位大神知道如何设置SCCB使得一帧的采集在20ms以内???
作者: 新人类    时间: 2012-6-15 17:37
星斗520 发表于 2012-4-5 19:22
看来要换摄像头了!!!!好不清晰啊

这个摄像头其实没必要换。。。这幅图已经能跑了。。。
作者: 星斗520    时间: 2012-6-24 01:34
新人类 发表于 2012-6-15 17:36
如果是7620的话建议不要去对PCLK分频。。。。。。因为我用示波器测过。。那样会影响采集时间。。。不知道 ...

看来你还是 不懂DMA采集啊  四分频之后 怎么可能时间那么长呢!!  再测测吧  那可是像素同步信号啊
作者: 新人类    时间: 2012-6-24 10:19
星斗520 发表于 2012-6-24 01:34
看来你还是 不懂DMA采集啊  四分频之后 怎么可能时间那么长呢!!  再测测吧  那可是像素同步信号啊

PLCK分频后会影响帧信号。。。。。不然你测测你的控制周期就明白了。。。

作者: 我是雨过留痕    时间: 2012-6-24 14:26
新人类 发表于 2012-6-24 10:19
PLCK分频后会影响帧信号。。。。。不然你测测你的控制周期就明白了。。。

这个是不影响的,我不太清楚你说的控制周期具体指的什么,是说程序采集完一帧图像所花的时间?除非你四分频之后还是按每行640个点采集,否则不会出现你说的160ms。。。一帧数据的时间不超过40ms(每秒30帧),四分频后每行采160个点

作者: 新人类    时间: 2012-6-24 16:18
我是雨过留痕 发表于 2012-6-24 14:26
这个是不影响的,我不太清楚你说的控制周期具体指的什么,是说程序采集完一帧图像所花的时间?除非你四分 ...

就是说你们只采集镜头上方的一部分?饿。。控制周期指的的是。。从采集图像到。程序控制舵机的时间。。。

作者: 我是雨过留痕    时间: 2012-6-24 16:26
......当然不是,采集的话还是都采集的,视野范围一样大。就是分辨率低了而已。本来摄像头每行可以输出640个像素点的信息,但分频后每间隔四个点采集一个。分辨率降低了四倍
作者: 月下听蝉    时间: 2012-6-24 23:28
能分享一下程序吗
作者: tujunjie    时间: 2012-7-6 08:59
新人类 发表于 2012-6-15 17:36
如果是7620的话建议不要去对PCLK分频。。。。。。因为我用示波器测过。。那样会影响采集时间。。。不知道 ...

DMA中plck不分频应该那一部分程序呢?哥们
作者: 新人类    时间: 2012-7-6 17:39
tujunjie 发表于 2012-7-6 08:59
DMA中plck不分频应该那一部分程序呢?哥们

SCCB那部分。。。。

作者: 周杰伦    时间: 2012-11-10 19:24
怎么让PCLK四分频,你是用计数来控制的吗?  PCLK速度那么快,CPU跟的上么?另外,我还有一个问题。为什么我的OV7620的数据传输口一接上IO口,场中断就变乱了?还有呢,如果用模拟摄像头,采用PIT中断来采,需要在PIT中断中打开DMA中断么,还是只要把DMA的传输端口打开就行了呢。
作者: fn654    时间: 2012-11-12 15:26
微机刚学到,在使用DMA时,会把总线什么的都交给DMA控制器,而CPU处于空闲状态,是不是这样的
作者: 客流量    时间: 2013-3-31 08:01
星斗520 发表于 2012-4-1 15:03
没有人解释一下吗 ???

求参考啊,DMA模块

作者: 蛋炒面    时间: 2013-11-3 10:59
求楼主的摄像头采集资料。
作者: 蛋炒面    时间: 2013-11-3 10:59
763425438@qq。com





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2