微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2530捕捉ms级脉冲,我这边似乎个数会有丢失

CC2530捕捉ms级脉冲,我这边似乎个数会有丢失

时间:10-02 整理:3721RD 点击:

信号源发了16个脉冲,每个脉冲高电平是2ms左右。

问题现象:

程序用的是SerialApp例程进行修改。CC2530使用P2.0外部中断,在HAL_KEY中的halProcessKeyInterrupt()中进行相关信息的打印,发现只接收了8个脉冲。

机制说明:

在P2.0上升沿启动TIM4,下降沿停止TIM4,打印出脉冲时长,使用8分频,时长和实际是差不多的。就是个数少了一半。

Pulse(1)=30
Pulse(2)=28
Pulse(3)=28
Pulse(4)=31
Pulse(5)=28
Pulse(6)=28
Pulse(7)=28
Pulse(8)=29

先别用定时器计时,先看下16个脉冲,进中断的次数对不对?

VV你好,在2.5.1协议栈上验证进中断次数还是只有8次。

今天在HA的heat_cool_unit上验证,未使用定时器功能,屏蔽按键去抖动、KEY POLL等处理,仅在halProcessKeyInterrupt捕捉中断次数,发现也是只有8个。

我将信号源的脉冲电平扩大一倍,高电平大概4ms左右,即可捕捉到16个。(调试发现若高电平为3ms多,可捕捉到10余个中断,数量有时多点,有时少一点)

如下图

我觉得是否有可能是低电平的持续时间过短,CC2530来不及判断出上升沿。原来的低电平大概是持续500多us,这种情况下有时进不了上升沿中断;扩大后的信号源低电平时持续了1ms左右,这种情况就能稳定进入上升沿中断。

另外我打算尝试下定时器捕获。

想请教下,CC2530官方的代码目前是不是不支持定时器捕获功能?

“NOTE: Only Output Compare Mode is supported. There is no provision
to support Input Capture Mode.“

如果现在支持的话是否有例程提供下,谢谢啦。

http://e2e.ti.com/support/wireless_connectivity/f/158/p/187470/675542.aspx#675542

CC2530本身支持这个功能,但是官方没有这样的例程。

你可以参考上面的链接。

谢谢!

VV大神,谢谢你的回复。

我尝试了那样的捕获功能,分别在P2.0和P1.0都做了尝试,捕捉几百us的脉冲依旧会有个数丢失。如果脉冲时长扩大至几ms就不会丢失了。

截止到目前,外部中断和定时器捕获所产生的效果都一样的。

能否麻烦你们也做下测试,看看CC2530捕获几百us的脉冲是否会有部分脉冲个数丢失。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top