智能车制作

标题: k60 ccd dma触发源 [打印本页]

作者: zjh328986199    时间: 2014-5-6 16:56
标题: k60 ccd dma触发源
ccd没有pclk,如果想使用dma采集图像的话,必须要设置合适的触发源。
总体看下来有两个方案,发现方案1不行,但是也不太想用方案2。

1:使用pit作为触发源
本来想用PIT作为dma的触发源,但是发现无论怎么配置都是不行。
例如
        开了DMAMUX->CHCFG[chx] |= DMAMUX_CHCFG_TRIG_MASK;
现象是到了pit指定的时间后,触发dma,但是根本停不下来,触发一次后就一直触发。
比如我pit时间是1s,major loop设为100,minor loop设为1,到了pit时间(1S后),1s中后100个major立即全部触发完了,而不是我想要的隔1s钟major一次,整个过程需要100s的情况。

        不开DMAMUX->CHCFG[chx] |= DMAMUX_CHCFG_TRIG_MASK;
更惨,瞬间触发完了,连1s钟都没有。

看了半天,勘误表也说了如果用pit触发dma时,不推荐使用major loop>1的情况。




2:使用ftm产生pwm触发dma
因为ftm一共就3个,我的设想是一路给两个电机用,另两路用正交解码器来测速(不知道直立对测电机正反转有没有很大的要求),所以用光了~

请大家各抒己见,看有没有更好的办法用来ccd用dma的方式采集图像~


作者: allenanswerzq    时间: 2014-5-6 20:06
似乎是超核的库啊。。
作者: zjh328986199    时间: 2014-5-6 20:52
allenanswerzq 发表于 2014-5-6 20:06
似乎是超核的库啊。。

是LPLD的最新版本,用着还不错,这个问题有点小蛋疼


作者: allenanswerzq    时间: 2014-5-6 22:37
zjh328986199 发表于 2014-5-6 20:52
是LPLD的最新版本,用着还不错,这个问题有点小蛋疼

哦,这样啊,你试试用always触发采集试试。不需要触发源,尽最大能力传输。

作者: zjh328986199    时间: 2014-5-6 23:12
allenanswerzq 发表于 2014-5-6 22:37
哦,这样啊,你试试用always触发采集试试。不需要触发源,尽最大能力传输。

这点我也想过,但是这个采集间隔时间完全就不能确定了。
我现在在准备画主板,不知道always能采集多少个点,万一点数太多,ram大小(空间)还是要做进一步处理(时间)都是有一定的浪费,不知道仁兄你有没有更好的建议,3q

作者: 狂野的庄稼汉    时间: 2014-5-6 23:15
K60FX FTM有4个,你可以把FTM3也利用起来呀
作者: zjh328986199    时间: 2014-5-6 23:21
狂野的庄稼汉 发表于 2014-5-6 23:15
K60FX FTM有4个,你可以把FTM3也利用起来呀

可惜我的是k60dn,好吧

作者: 狂野的庄稼汉    时间: 2014-5-6 23:51
zjh328986199 发表于 2014-5-6 23:21
可惜我的是k60dn,好吧

额,好吧

作者: allenanswerzq    时间: 2014-5-7 00:49
zjh328986199 发表于 2014-5-6 23:12
这点我也想过,但是这个采集间隔时间完全就不能确定了。
我现在在准备画主板,不知道always能采集多少个 ...

用这种方式最慢的话可以配置成好像是隔八个周期采集一个点。但那个速度还是很快,意味着你存储空间小的话,看不到整个赛道。我以前就是这么干的。行不通。。呜呜呜。我采集的摄像头。不过你可以试试

作者: zjh328986199    时间: 2014-5-7 09:14
allenanswerzq 发表于 2014-5-7 00:49
用这种方式最慢的话可以配置成好像是隔八个周期采集一个点。但那个速度还是很快,意味着你存储空间小的话 ...

这个always还能设置多少时间间隔采集一个点,在哪边能看吗?
你最后是怎么处理的?
难道测速真要一路ftm,一路lptmer?两路不对称,总感觉怪怪的,而且一路不能测正反转了。
直立对检测正反转有要求吗?


作者: allenanswerzq    时间: 2014-5-7 12:12
zjh328986199 发表于 2014-5-7 09:14
这个always还能设置多少时间间隔采集一个点,在哪边能看吗?
你最后是怎么处理的?
难道测速真要一路ftm ...

[attach]59509[/attach]测速的话,正交解码不就搞定了吗。也能判断正反转啊

作者: zjh328986199    时间: 2014-5-7 13:34
allenanswerzq 发表于 2014-5-7 12:12
测速的话,正交解码不就搞定了吗。也能判断正反转啊

ftm不就3个么
一个出pwm给电机,一个产生pclk给ccd,那就只剩一个了,但是电机有两个撒


作者: allenanswerzq    时间: 2014-5-7 17:54
zjh328986199 发表于 2014-5-7 13:34
ftm不就3个么
一个出pwm给电机,一个产生pclk给ccd,那就只剩一个了,但是电机有两个撒

啊,不是有好多路通道吗。不明白你了。你做直立车是吧。

作者: zjh328986199    时间: 2014-5-7 19:59
allenanswerzq 发表于 2014-5-7 17:54
啊,不是有好多路通道吗。不明白你了。你做直立车是吧。

一个ftm是有很多channels,但是一个ftm输出的频率是一样的。
ftm0用来输出2个10k的pwm给2个电机。
ftm1输出M级别的用来替代pclk给ccd。
就只剩下ftm2了,你又不可能同时接两个编码器。

看来只能一路ftm,一路lptmer了。


作者: allenanswerzq    时间: 2014-5-7 20:22
zjh328986199 发表于 2014-5-7 19:59
一个ftm是有很多channels,但是一个ftm输出的频率是一样的。
ftm0用来输出2个10k的pwm给2个电机。
ftm1 ...

看来是的。不多M级别的pclk会不会影响单片机的工作啊。哈哈哈。试试

作者: zjh328986199    时间: 2014-5-7 20:28
allenanswerzq 发表于 2014-5-7 20:22
看来是的。不多M级别的pclk会不会影响单片机的工作啊。哈哈哈。试试

主要我想玩玩硬件二值化配合dma传输数据,那必须要搞个高速的触发源。
64us的行中断,没个几M的触发源不行。

问下直立有必要检测电机正反转吗?


作者: 若要走    时间: 2014-5-7 20:42

作者: zjh328986199    时间: 2014-5-7 20:44
若要走 发表于 2014-5-7 20:42

哥们,给个建议a~
作者: 若要走    时间: 2014-5-7 23:25
我一个打酱油的
作者: allenanswerzq    时间: 2014-5-7 23:40
zjh328986199 发表于 2014-5-7 20:28
主要我想玩玩硬件二值化配合dma传输数据,那必须要搞个高速的触发源。
64us的行中断,没个几M的触发源不 ...

我试过用always采集硬件二值化的图形。由于采集速度过快。数组设的尽管很大。任然看不全赛道。直立需要判断正反转吧。大神是做着玩,还是参加比赛啊

作者: zjh328986199    时间: 2014-5-7 23:59
allenanswerzq 发表于 2014-5-7 23:40
我试过用always采集硬件二值化的图形。由于采集速度过快。数组设的尽管很大。任然看不全赛道。直立需要判 ...

我是自己做着玩的,已经毕业好多年了,当年也是玩了两年,也算是大学美好的回忆吧

作者: allenanswerzq    时间: 2014-5-8 00:56
zjh328986199 发表于 2014-5-7 23:59
我是自己做着玩的,已经毕业好多年了,当年也是玩了两年,也算是大学美好的回忆吧

原来是前辈啊。太敬佩了。都毕业好多年了,还想着坐车玩。哈哈
作者: 暴风猎人    时间: 2016-1-20 11:22
zjh328986199 发表于 2014-5-7 23:59
我是自己做着玩的,已经毕业好多年了,当年也是玩了两年,也算是大学美好的回忆吧

大神你最后是怎么做的呢?
我是模拟摄像头+DMA,但是不清楚怎样触发DMA来读取数据啊


作者: 暴风猎人    时间: 2016-1-20 11:23
allenanswerzq 发表于 2014-5-8 00:56
原来是前辈啊。太敬佩了。都毕业好多年了,还想着坐车玩。哈哈

请问模拟摄像头+DMA  用那种方式采集数据好呢?






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