智能车制作

标题: 一分钟后,DMA就会造成死机,这车还怎么跑!! [打印本页]

作者: Jaisen    时间: 2016-5-19 01:43
标题: 一分钟后,DMA就会造成死机,这车还怎么跑!!
       现在突然想加更多路数,但是超核的2.4版本DMA基层库,开机一分钟左右就会死机。实在找不出其原因在哪,之前看论坛里有很多车友也遇到这个问题,不知道解决了没有?请问这个问题怎么解决?

作者: Jaisen    时间: 2016-5-19 01:45
实在找不出来了,先睡会吧,明天再试试
作者: 木木夕儿    时间: 2016-5-19 01:53
采集电压吧……DMA路数太多会不稳定。
还有,这一届可以用多块单片机的
作者: Quixote    时间: 2016-5-20 14:27
从这两个角度考虑,第一点,指向的地址偏移。第二点,看是不是进的硬件错误中断,如果进的硬件错误中断,就看堆栈上的数据。我觉得是因为访问了不允许写的内存导致的。看看究竟是不是。
作者: xhx331153066    时间: 2016-5-20 16:03
我们去年用了6路DMA也没啥问题啊
作者: Jaisen    时间: 2016-5-21 22:54
木木夕儿 发表于 2016-5-19 01:53
采集电压吧……DMA路数太多会不稳定。
还有,这一届可以用多块单片机的

换成多个MCU,现在来不及了,一开始定的方案中没考虑过,现在有点后悔了
作者: Jaisen    时间: 2016-5-21 22:59
Quixote 发表于 2016-5-20 14:27
从这两个角度考虑,第一点,指向的地址偏移。第二点,看是不是进的硬件错误中断,如果进的硬件错误中断,就 ...

“进的硬件错误中断,如果进的硬件错误中断,就看堆栈上的数据”   堆栈数据一般怎么来查错?可以说一下吗,这个我确实平时没用过。。

作者: Jaisen    时间: 2016-5-21 23:00
xhx331153066 发表于 2016-5-20 16:03
我们去年用了6路DMA也没啥问题啊

采集速率多快?一直开DMA采集数据?用的谁底层库?

作者: 木木夕儿    时间: 2016-5-21 23:14
Jaisen 发表于 2016-5-21 22:54
换成多个MCU,现在来不及了,一开始定的方案中没考虑过,现在有点后悔了

换方案吧……别采集频率了

作者: xhx331153066    时间: 2016-5-23 07:34
Jaisen 发表于 2016-5-21 23:00
采集速率多快?一直开DMA采集数据?用的谁底层库?

有四路是20MS(一个程序周期)一次,另外两路可以算是轮流采集,每一个不到20MS吧,用的野火的库

作者: YFKJ    时间: 2016-5-23 12:54
我就“喜欢看回复”
作者: 木木夕儿    时间: 2016-5-23 13:20
xhx331153066 发表于 2016-5-23 07:34
有四路是20MS(一个程序周期)一次,另外两路可以算是轮流采集,每一个不到20MS吧,用的野火的库

其实最关键的是振荡频率。理论上讲,如果多个通道振荡频率的和与单片机IO时钟频率相当,则有很大概率会出现DMA占住总线不释放的情况,那么单片机就死机了。

作者: xhx331153066    时间: 2016-5-24 07:30
木木夕儿 发表于 2016-5-23 13:20
其实最关键的是振荡频率。理论上讲,如果多个通道振荡频率的和与单片机IO时钟频率相当,则有很大概率会出 ...

搜嘎,原来如此,受教了回想起来我们的虽然用的多,但频率确实都不高
作者: 一朵菊花压海棠    时间: 2016-5-27 16:10
四路DMA同时采集  采集周期2ms
作者: 一朵菊花压海棠    时间: 2016-6-22 12:40
一分钟。。。一分钟还跑不完全程那还咋比赛,。。。




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