智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2685|回复: 8
打印 上一主题 下一主题

xs128 多路输入捕捉 问题

[复制链接]

5

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
威望
200
贡献
71
兑换币
34
注册时间
2012-2-21
在线时间
19 小时
毕业学校
合肥工业大学
跳转到指定楼层
1#
发表于 2012-12-28 22:50:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位单片机的爱好者,学单片机一段时间了,最近做一个小项目。使用xs128单片机。
我要实现测量4路速度的功能,比如汽车的ABS四轮速度。
使用xs128的IC0~IC3 输入捕捉。
1.自由计数器方案
TC0 TC0H的差值来计算。但是不考虑自由计数器的溢出的话,测量的低频段有问题。
问题:怎么对自由计数器分频,我用的PLL是64M的,总线32M。使测量的频率在1Hz到10KHz。
当初看的书籍是hcs12的书籍,书里面写有自由计数器可用。
但是xs128的不知道能不能这么用?希望大神能给个答案。自己也一直找不到相关的书籍资料。除了英文的sheet文件,看了也不是很明白。
2.定时器方案
查了资料,介绍xs128 定时器PIT。使用定时器定时10us,中断程序中加入16位的全局计数变量,输入捕捉中断调用计数变量,并计算出频率。
问题:这样的方案一路可行,多路经常出现数值不稳定,跳动的情况。还有多路高频中断导致程序不稳定。

3.问题;对于这样的项目,多路输入捕捉中断测量多路频率的问题。怎么的设计思路比较好?
各位智能车大神,求顶贴,求指导。

5

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
威望
200
贡献
71
兑换币
34
注册时间
2012-2-21
在线时间
19 小时
毕业学校
合肥工业大学
2#
 楼主| 发表于 2012-12-28 22:58:01 | 只看该作者
测量速度的方案我确定的是,测量两个脉冲的时间间隔。
因为的低频,所以选择这个方案。
看到大多数的方案都的使用单位时间的脉冲数来测量速度。
使用xs128的脉冲累加器+定时器中断,引脚PT7。
这个只能测一路的。我想测量多路的。所以就想使用输入捕捉模块,测量多路的脉冲宽度,来测量速度。
求顶贴,求指导啊。。。。。

回复 支持 反对

使用道具 举报

56

主题

4914

帖子

3

精华

顶级版主

北京科技大学智能汽车队公共主页管理员

Rank: 11Rank: 11Rank: 11Rank: 11

积分
56131

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
19568
贡献
13933
兑换币
3365
注册时间
2010-7-22
在线时间
11315 小时
3#
发表于 2012-12-28 23:59:00 | 只看该作者
要么外接硬件计数器,要么用多片单片机。xs128的脉冲累加器只有一路,而其他中断多了一片单片机又处理不过来。
回复 支持 反对

使用道具 举报

200

主题

2621

帖子

1

精华

杰出人士

蜗牛

Rank: 12Rank: 12Rank: 12

积分
12488

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章在线王奖章资源大师奖章

QQ
威望
5973
贡献
3101
兑换币
1999
注册时间
2011-10-21
在线时间
1707 小时
4#
发表于 2012-12-29 09:51:09 | 只看该作者
外接计数器,你要是不要求计数精度也可以分时测速啊。
回复 支持 反对

使用道具 举报

21

主题

892

帖子

0

精华

常驻嘉宾

爱板者

Rank: 8Rank: 8

积分
3857

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1833
贡献
1048
兑换币
736
注册时间
2012-12-4
在线时间
488 小时
5#
发表于 2012-12-29 13:09:10 | 只看该作者
aytc100 发表于 2012-12-28 23:59
要么外接硬件计数器,要么用多片单片机。xs128的脉冲累加器只有一路,而其他中断多了一片单片机又处理不过来 ...

说的很对
回复 支持 反对

使用道具 举报

5

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
威望
200
贡献
71
兑换币
34
注册时间
2012-2-21
在线时间
19 小时
毕业学校
合肥工业大学
6#
 楼主| 发表于 2012-12-29 15:21:18 | 只看该作者
aytc100 发表于 2012-12-28 23:59
要么外接硬件计数器,要么用多片单片机。xs128的脉冲累加器只有一路,而其他中断多了一片单片机又处理不过来 ...

对于精度要求还是比较高的。
因为汽车轮速传感器(霍尔传感器+齿轮)脉冲的个数比较少,一圈20左右的脉冲个数。
如果采用脉冲累加的方案,要测量多个脉冲,同时这样车轮就转了多圈,车子就前进了几米了,做不到实时控制。

所以我想在相邻两个脉冲(此时车子也只是前进了很小的一段距离。)就测量出车子的速度。
我初步的方案中,使用了四路的输入脉冲捕捉中断+一路定时器PIT(定时10us)中断。
我打开了四路的PWM,输出不同频率的PWM波,占空比50%。
四路输入捕捉能够采集到PWM的周期。但是不太稳定。
如果一路测量,三路接地。测量路正常工作。
如果两路测量,两路接地。测量路正常工作。
如果四路测量,第一路IC0测量不能正常工作。
难道是因为中断多了的问题吗?中断函数语句很少,占用时间很短。
xs128 的中断函数,大家一般用多少个啊??多少个合适?



回复 支持 反对

使用道具 举报

5

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
威望
200
贡献
71
兑换币
34
注册时间
2012-2-21
在线时间
19 小时
毕业学校
合肥工业大学
7#
 楼主| 发表于 2012-12-29 15:24:02 | 只看该作者
qinlu123 发表于 2012-12-29 09:51
外接计数器,你要是不要求计数精度也可以分时测速啊。

分时测速精度降低了很多。要求的精度不是特别高,分时测速对于实时控制不好。
谢谢顶贴。。
回复 支持 反对

使用道具 举报

46

主题

521

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1819
威望
1227
贡献
168
兑换币
161
注册时间
2012-2-7
在线时间
212 小时
毕业学校
山东
8#
发表于 2012-12-29 16:31:44 | 只看该作者
不知道大侠想应用于什么方面。
回复 支持 反对

使用道具 举报

15

主题

331

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1714
威望
1003
贡献
417
兑换币
106
注册时间
2011-10-27
在线时间
147 小时
9#
发表于 2013-3-7 20:13:25 | 只看该作者
hahah 发表于 2012-12-29 15:21
对于精度要求还是比较高的。
因为汽车轮速传感器(霍尔传感器+齿轮)脉冲的个数比较少,一圈20左右的脉冲 ...

请问一下,你这个实现了吗?我现在也是用多路的输入捕捉,但是输入同一个信号到2路是,只有其中一路有输出,还有一路没有反应,这是什么原因?优先级低的被屏蔽了??谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 18:23 , Processed in 0.050534 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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