TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2640R2F: simple_broadcast例程下的广播功耗问题

Part Number:CC2640R2FOther Parts Discussed in Thread:CC2640, MSP430FR2433, ENERGYTRACE,

芯片的广播耗时理论上在us~ms量级,但观察功耗,广播耗时似乎在1s左右。怀疑与_pend()机制有关,因为如果注释掉_pend()函数,广播依然正常进行,高功耗峰大大缩短了,不过这也导致静态功耗急剧增加(可能是由于没有pend导致相关电源调度失效)。因此我的问题是在pend过程中为什么广播时长有1s之长呢,是否可能解决?

Alex Zhang:

您好,

感谢您对TI产品的关注!为更加有效地解决您的问题,我需要多一些时间查看这个问题,稍后会为您解答

,

Alex Zhang:

很抱歉让您久等了,您好,当设备在做广告时,你是如何测量电流消耗的?

我们以以下指南为例。

https://www.ti.com/lit/an/swra478d/swra478d.pdf

在做广告时,我们希望功耗看起来与下图类似

,

Xintao Deng:

如我在帖子https://e2echina.ti.com/support/wireless-connectivity/bluetooth/f/bluetooth-forum/583064/cc2640r2f-simple_periferal-simple_broadcaster中所说,使用MSP430FR2433作为唯一供电,在CCS中使用energytrace测量功耗。MSP和CC2640之间仅有3.3V和GND连接,且两块开发板所有跳线均已移除

,

Alex Zhang:

好的 我将继续跟进您的问题

,

Alex Zhang:

您是否能够发送应用程序代码以便在我们这边进行测试,或者在simple_broadcaster的未经修改的版本上是否注意到了这种行为?

,

Xintao Deng:

在主楼的“注释pend前”图中显示的,即是simple_broadcaster代码未经修改的版本,唯一的修改是加入了宏定义Display_DISABLE_ALL(以关闭串口相关功能)。如果不添加宏定义,在每次广播的间隔将存在约0.2mW的功耗,这在我上一个帖子中已经提到。

,

Alex Zhang:

好的 我将继续跟进您的问题

,

Alex Zhang:

您好,您这边通过注释掉pend函数来降低功耗是错误的选择,不可以的,你注释掉pend相当于一直在进行for循环,而取消掉了低功耗模式,所以会直接看到全部功耗拉高的电流图。pend本身是消息对列在等回调返回值,根据这个值来进行之后的if判断来进行任务的切换。

,

Alex Zhang:

如果您的简单外围设备或简单广播设备已被修改为低功耗。你会从我下面的博客中读到一些类似的内容。此外,您还可以直接使用CC2640R2F Launchpad的能量追踪。

TI CC2640R2F Eddystone Beacon

在我的博客中,能量追踪的图片很小,所以只需放大即可。

0 dBM能量跟踪电流消耗情况:

默认值为0 dbm时,广告峰值电流为7.319 mA。

信标广告当前波形:

广告波形持续约5毫秒。

Energytrace并不是电流测量波形中最好的,因此实际电流测量值可能更低。

,

Xintao Deng:

我了解注释pend函数会导致电源调度失效,但我的核心问题是为什么在注释pend前后,高功耗的峰持续时间会有所不同,如图片所示。按照我的理解,高功耗的峰即代表了芯片正在进行广播。同时您应该也注意到,在我发出来的图片中,未注释pend的例子里,高功耗峰的时长达到了将近1000ms,而不是5ms。此外,我认为CC2640R2F launchpad并没有energytrace功能,它没有相关的电路,在官网中列出的支持的硬件里也没有2640R2开发板https://www.ti.com.cn/tool/cn/ENERGYTRACE?keyMatch=ENERGYTRACE

,

Alex Zhang:

Xintao Deng 说:我了解注释pend函数会导致电源调度失效,但我的核心问题是为什么在注释pend前后,高功耗的峰持续时间会有所不同,如图片所示。按照我的理解,高功耗的峰即代表了芯片正在进行广播。

您好,注释pend之前,在pend时是不会去进行for循环的,会一直在pend中去等待,所以您这边的峰值是属于广播为高功耗,假设您这边把pend注释掉,他就一直在for循环去进行工作,也就失去了pend的作用。电源调度失效了,肯定全功耗运行了。

,

Alex Zhang:

同时你去观察中纵坐标的功耗,一下子就全部拉起来了。处理的时间间隔下来了,但是您这边的功耗上去了。相当于直接去把低功耗模式关了。

解决高功耗的峰持续时间,并不是去注释掉pend来接解决的。我这边会继续跟进您的问题。

,

Alex Zhang:

Xintao Deng 说:我认为CC2640R2F launchpad并没有energytrace功能,它没有相关的电路,在官网中列出的支持的硬件里也没有2640R2开发板https://www.ti.com.cn/tool/cn/ENERGYTRACE?keyMatch=ENERGYTRACE

我知道我有正确的设置XDS110调试器+EnergyTrace HDR插件。与下面视频中的设置相同。

https://youtu.be/WOiJsRBMmr4

从我的博客来看,这是广告波形。广告波形从3621ms开始到3625ms。因此持续时间约为5ms。该波形是不可连接的广告或信标模式。

可连接的广告波形可在第20页找到。

www.ti.com/…/swra478d.pdf

如果你在EnergyTrace没有看到类似的广告波形,那么你的设置就有问题了。

,

Xintao Deng:

您博客中似乎并不是simple_periferal或broadcast例程。所以我想知道simple例程为什么无法得到这样的波形

,

Alex Zhang:

非常感谢您的回复,我需要一些时间来解决您的问题

,

Alex Zhang:

博客中是一个可配置的 Eddystone Beacon。开机时,前 30 秒的功能类似于简单的外围设备。30 秒后,它切换到像简单广播器一样的功能。您在波形中看到的是简单的广播不可连接广告

博客中就像修改后的简单广播。

在第20页可以看到波形https://www.ti.com/lit/ml/swra478d/swra478d.pdf。  

您是否拥有与 youtube 视频XDS110 调试器 +  EnergyTrace HDR 附加组件中所示相同的测试设置?否则,您将无法获得广告波形。

,

Xintao Deng:

我没有单独的XDS110调试器,烧写使用的是launchpad板载的XDS110,energytrace来自MSP430FR2433开发板。所以我可以理解为,之所以我看到的波形是时长1000ms的方波,而不是您给我看的时长几毫秒的波形,是因为我使用MSP430开发板来监测功耗吗?这感觉说不通

,

Alex Zhang:

您好,建议您这边按照我上面说的去尝试一下,如果按照上述blog提到的可以看到这样的波形,那应该就是您这边msp430监测的问题。

,

Alex Zhang:

也许用正确的程序是可能的,但我只是猜测,具体的还是要等一下工程师这边的回复

,

Alex Zhang:

你能更好地解释一下你是如何通过msp432为设备供电的,以及你是如何获得测量值的吗。(拍张照片就好了)。

,

Xintao Deng:

,

Alex Zhang:

您好,我这边收到了,会持续跟进 谢谢

,

Alex Zhang:

为了安全起见,您可以使用功率分析仪吗?如果是这样的话,那么你能用它来捕捉功率消耗的波形吗?这将有助于我们确定问题是来自MSP方面还是来自2640方面。

,

Alex Zhang:

您需要卸下CC2640R2F启动板上的跳线。如果连接了跳线,则XDS110电路将增加电流消耗。

我不知道MSP430 Launchpad需要做哪些更改。

,

Xintao Deng:

我没有功率分析仪器,所以使用msp作为替代方案。所有跳线都已经卸下了。不知道您这边能否尝试重现这个现象,只需要一块2640r2f开发板

,

Alex Zhang:

您好,我已经将问题同步至工程师这边,稍后会为您回复,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » CC2640R2F: simple_broadcast例程下的广播功耗问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1