智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: yangkuanqaz8598
打印 上一主题 下一主题

[讨论] K60 的 DMA 部分

  [复制链接]

25

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1273

优秀会员奖章活跃会员奖章

QQ
威望
817
贡献
256
兑换币
297
注册时间
2013-2-24
在线时间
100 小时
41#
发表于 2013-4-21 00:50:21 | 只看该作者
回复 支持 反对

使用道具 举报

25

主题

286

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1273

优秀会员奖章活跃会员奖章

QQ
威望
817
贡献
256
兑换币
297
注册时间
2013-2-24
在线时间
100 小时
42#
发表于 2013-4-21 01:22:25 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
40
威望
32
贡献
6
兑换币
5
注册时间
2013-5-20
在线时间
1 小时
毕业学校
武汉理工
43#
发表于 2013-5-24 16:59:25 | 只看该作者
Hi,  楼主描述的基本正确,但有个地方不对,需要提出说明下:
“DMA_SLAST(CHn)和DMA_DLAST_SGA(CHn)分别为当DMA传输结束后(主循环结束后),对于源地址和目的地址的最终偏移调整值。” 当 DMA_SLAST 设置为0时,下次DMA move 数据时(another major loop begain ),会继续在上次DMA_SADDR后寻址,可能造成DMA_ES中SBE错误。如果 你是想从 SADDR 首部重新开始 move data 到 DADDR, 需要设置 DMA_SLAST = - (SOFF * BITER),  即 减掉 SADDR移动了BITER次SOFF。DAM_DLAST也同理。
另外,“using the module feature”功能也很巧妙,适当设置 ATTR 的 SMOD(2的n次方)。例如PDB 触发ADC1,ADC1的RA,RB轮流保存转换结果。ADC1 触发DMA 轮流,反复读RA, RB;RA, RB ;RA, RB .......到数组中。SOFF=4, SMOD=8;
  详见 飞思卡尔社区论坛 讨论贴: https://community.freescale.com/thread/307039, 内附参考代码。
回复 支持 反对

使用道具 举报

2

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1246
威望
622
贡献
348
兑换币
415
注册时间
2013-7-9
在线时间
139 小时
44#
发表于 2014-1-13 22:50:24 | 只看该作者
:hug::hug::hug:
回复 支持 反对

使用道具 举报

15

主题

168

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2419
威望
1433
贡献
598
兑换币
530
注册时间
2014-1-13
在线时间
194 小时
45#
发表于 2014-1-25 12:08:53 | 只看该作者
suebillt 发表于 2013-2-16 14:05
英文资料太复杂,没看懂,刚刚看这个知道了通道源那部分

谢谢你了,我现在也在调试DMA,有很多不明白的,手册很不错哦
回复 支持 反对

使用道具 举报

0

主题

16

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1193
威望
724
贡献
267
兑换币
238
注册时间
2013-11-17
在线时间
101 小时
毕业学校
北华大学
46#
发表于 2014-3-18 12:37:59 | 只看该作者
yangkuanqaz8598 发表于 2013-3-12 19:38
谢谢了,这个对DMA说的真心详细

我们 用dma 测一路脉冲,好使,可是测两路脉冲,他好像总是从一块地址上取东西,测得都是一样的值,我自己找了一块地址,单独用行,可是两路同时用采两个的地址也是同样的情况,DMA能不能两路同时用呀,帮忙解释一下,
回复 支持 反对

使用道具 举报

1

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
793
威望
411
贡献
216
兑换币
260
注册时间
2014-3-7
在线时间
83 小时
47#
发表于 2014-6-10 11:09:40 | 只看该作者
hzlaliugang 发表于 2013-4-16 23:12
DMA_Source 是指触发源,像一些硬件模块SPI等,通过DMA来传输数据的话,就要在DMA触发源里面写SPI触发源, ...

如果我把DMA_Source设置为DMA_ADC0;也就是说我不用设置触发方式了吗;我用的是野火的库,代码中有这么一段,然后我再在ADC中设置转换完成后发出DMA请求,不知道我理解的对不......

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

注册会员

Rank: 2

积分
77
威望
50
贡献
19
兑换币
17
注册时间
2014-3-21
在线时间
4 小时
毕业学校
南京工程学院
48#
发表于 2014-7-9 13:44:29 | 只看该作者
yangkuanqaz8598 发表于 2013-2-18 21:20
下面就是ADC结果寄存器的相关宏定义了,但是看来看去还是不能理解,到底哪个才等价于ADC0_RA的实际地址值 ...

我想问下,这个问题解决了吗?
回复 支持 反对

使用道具 举报

4

主题

78

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1732
QQ
威望
899
贡献
461
兑换币
323
注册时间
2012-3-6
在线时间
186 小时
49#
发表于 2014-7-23 13:24:08 | 只看该作者
回复 支持 反对

使用道具 举报

16

主题

310

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2194

活跃会员奖章优秀会员奖章

威望
1065
贡献
569
兑换币
675
注册时间
2014-1-7
在线时间
280 小时
50#
发表于 2014-8-3 16:41:20 | 只看该作者
TuTuready 发表于 2014-3-18 12:37
我们 用dma 测一路脉冲,好使,可是测两路脉冲,他好像总是从一块地址上取东西,测得都是一样的值,我自己 ...

怎么用DMA提取脉冲数啊?能具体说说吗?我现在卡在DMA触发源这块...
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 01:48 , Processed in 0.082567 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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