智能车制作

标题: xs128 多路输入捕捉 问题 [打印本页]

作者: hahah    时间: 2012-12-28 22:50
标题: xs128 多路输入捕捉 问题
各位单片机的爱好者,学单片机一段时间了,最近做一个小项目。使用xs128单片机。
我要实现测量4路速度的功能,比如汽车的ABS四轮速度。
使用xs128的IC0~IC3 输入捕捉。
1.自由计数器方案
TC0 TC0H的差值来计算。但是不考虑自由计数器的溢出的话,测量的低频段有问题。
问题:怎么对自由计数器分频,我用的PLL是64M的,总线32M。使测量的频率在1Hz到10KHz。
当初看的书籍是hcs12的书籍,书里面写有自由计数器可用。
但是xs128的不知道能不能这么用?希望大神能给个答案。自己也一直找不到相关的书籍资料。除了英文的sheet文件,看了也不是很明白。
2.定时器方案
查了资料,介绍xs128 定时器PIT。使用定时器定时10us,中断程序中加入16位的全局计数变量,输入捕捉中断调用计数变量,并计算出频率。
问题:这样的方案一路可行,多路经常出现数值不稳定,跳动的情况。还有多路高频中断导致程序不稳定。

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


作者: hahah    时间: 2012-12-28 22:58
测量速度的方案我确定的是,测量两个脉冲的时间间隔。
因为的低频,所以选择这个方案。
看到大多数的方案都的使用单位时间的脉冲数来测量速度。
使用xs128的脉冲累加器+定时器中断,引脚PT7。
这个只能测一路的。我想测量多路的。所以就想使用输入捕捉模块,测量多路的脉冲宽度,来测量速度。
求顶贴,求指导啊。。。。。


作者: aytc100    时间: 2012-12-28 23:59
要么外接硬件计数器,要么用多片单片机。xs128的脉冲累加器只有一路,而其他中断多了一片单片机又处理不过来。
作者: qinlu123    时间: 2012-12-29 09:51
外接计数器,你要是不要求计数精度也可以分时测速啊。
作者: mxj1005071012    时间: 2012-12-29 13:09
aytc100 发表于 2012-12-28 23:59
要么外接硬件计数器,要么用多片单片机。xs128的脉冲累加器只有一路,而其他中断多了一片单片机又处理不过来 ...

说的很对
作者: hahah    时间: 2012-12-29 15:21
aytc100 发表于 2012-12-28 23:59
要么外接硬件计数器,要么用多片单片机。xs128的脉冲累加器只有一路,而其他中断多了一片单片机又处理不过来 ...

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

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




作者: hahah    时间: 2012-12-29 15:24
qinlu123 发表于 2012-12-29 09:51
外接计数器,你要是不要求计数精度也可以分时测速啊。

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

作者: 1627252997    时间: 2012-12-29 16:31
不知道大侠想应用于什么方面。
作者: fanyu19900706    时间: 2013-3-7 20:13
hahah 发表于 2012-12-29 15:21
对于精度要求还是比较高的。
因为汽车轮速传感器(霍尔传感器+齿轮)脉冲的个数比较少,一圈20左右的脉冲 ...

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





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