查看: 44389|回复: 282

[原创] 巧妙利用DMA来实现脉冲累加

[复制链接]

该用户从未签到

6

主题

79

帖子

0

中级会员

Rank: 3Rank: 3

积分
441
最后登录
1970-1-1
发表于 2012-3-30 14:50:34 | 显示全部楼层 |阅读模式
哈哈 , Kinetis 系列 只有 一路 LPT 模块 ,要实现 多路脉冲累加 (不进入中断服务函数,不占用 CPU 资源) ,难道就没方法了吗?

就目前网上公开的资料来看,貌似还没有公开实现多路脉冲累加的方法吧?都是靠 FTM 的 输入捕捉 或者 GPIO 的触发中断 ,在中断函数里进来累加。

其实,Kinetis 的DMA模块,是 可以实现 16路 15位 的  脉冲累加 完全可以不进入中断服务函数,由硬件进行累加。彻底解决 Kinetis单片机不能多路脉冲累加的功能 ……
 
可通过增加个中断来实现拓展计数位数,几乎不影响CPU……


实测 30KHz 的PWM脉冲波 ,用PIT 来 1秒定时,读取到脉冲波:30012个 ,比 LPT误差还更小……
 
与 LPT 相比,我们的方法是巧妙借用了 DMA 每次传输,会自动减1 的功能 (硬件实现的)
而 LPT 则是一个计数器 ,两种的原理是不一样的……
 
实测 30KHz 的PWM脉冲波 ,用PIT 来 1秒定时,读取到脉冲波:30012个 ,比 LPT误差还更小……
 
函数接口非常方便……
DMA_count_Init       初始化……
DMA_count_get       获取计数值……
DMA_count_reset     重新计数……
 
下载地址:
DMA_脉冲累加.rar (770.52 KB, 下载次数: 572)
回复

使用道具 举报

该用户从未签到

6

主题

79

帖子

0

中级会员

Rank: 3Rank: 3

积分
441
最后登录
1970-1-1
 楼主| 发表于 2012-3-30 14:53:55 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

野火独家提供,自行构思的方法。测试效果非常好……
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

18

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
发表于 2012-3-30 19:03:33 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

野火你咋怎么厉害呢???
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

25

帖子

0

注册会员

Rank: 2

积分
79
最后登录
1970-1-1
发表于 2012-3-30 20:39:00 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

我也觉得野火很厉害,很不一般哦!
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

10

帖子

0

新手上路

Rank: 1

积分
12
最后登录
1970-1-1
发表于 2012-3-30 20:51:52 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

火哥V5
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

30

帖子

0

注册会员

Rank: 2

积分
137
最后登录
1970-1-1
发表于 2012-3-31 03:32:34 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

火哥,快点帮我 调调那个 PIT 触发 DMA 传输模块啊……

调了一整天,我都调不出来啊……
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
3
最后登录
1970-1-1
发表于 2012-3-31 08:30:05 | 显示全部楼层

回复:巧妙利用DMA来实现脉冲累加

顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

4

帖子

0

新手上路

Rank: 1

积分
3
最后登录
1970-1-1
发表于 2012-3-31 11:10:10 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

在智能车论坛上很火
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

26

帖子

0

注册会员

Rank: 2

积分
80
最后登录
1970-1-1
发表于 2012-3-31 23:27:01 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

我也觉得野火很厉害
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

26

帖子

0

新手上路

Rank: 1

积分
39
最后登录
1970-1-1
发表于 2012-4-1 10:20:47 | 显示全部楼层

RE:巧妙利用DMA来实现脉冲累加

好东西,下来看看
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-18 21:58 , Processed in 0.100559 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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