完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在看CC1310的例程,当看到Task_sleep()这个函数时有几点不明,请各位ti工程师以及各位论坛前辈帮忙看一下,谢谢
1.调用Task_sleep()睡眠后,睡眠是指的是进入到standby模式吗?这个模式下CC1310的耗电量是怎么样的呢? 2.Task_sleep()是针对整个工程来说的,还是某个任务来说的。比如说,我在一个工程文件中建立了两个任务(task),其中一个task调用Task_sleep()进入睡眠模式后,另外一个task在同时是进入睡眠模式还是正常工作呢? 3.Task_sleep()是可以通过pin interrupt来唤醒的吧? 希望TI工程师以及各位论坛前辈能够帮忙解答一下,十分感谢^_^ |
|
相关推荐
10个回答
|
|
Task_sleep 只是这个任务放弃执行。而不是进入到了低功耗状态。
关于低功耗参考附件,TI-RTOS会去管理低功耗,这应该和你以往自己管理低功耗有差别。 参考下WOR的例子。 |
|
|
|
shenzhenqide 发表于 2018-6-24 01:00 HI, TY 您好,我看CC1310的pinStandby例程时,发现里面就是调用Task_sleep()函数进入睡眠,而在对应的readme中描述,该例程的功能是周期性的进入standby模式。而据我所知,CC1310的standby模式是比较节电的。那么我可以这样理解吗,当我在任务中(单任务)调用Task_sleep(5000000/Clock_tickPeriod),也就是挂起任务5s,那么在这5s中CC1310的功耗会很低吗?求解,谢谢 |
|
|
|
jjfuwerwer 发表于 2018-6-24 01:18 实际调用睡眠管理是在Idle task中。 单纯调用task_sleep通常是不会进入低功耗的,他只是放弃了当前任务的执行。所有睡眠开始于下面这个结构, 里面的PowerCC26XX_standbyPolicy,你可以跟一下这个函数,最终会调用Power_sleep()函数。 这两个函数会判断一系列的条件(哪些条件参考我之前 的附件),最终决定是否进入低功耗状态。这两个函数,可以在TIRTOS的安装包里面找到. const PowerCC26XX_Config PowerCC26XX_config = [ .policyInitFxn = NULL, .policyFxn = &PowerCC26XX_standbyPolicy, .calibrateFxn = &PowerCC26XX_calibrate, .enablePolicy = TRUE, .calibrateRCOSC_LF = TRUE, .calibrateRCOSC_HF = TRUE, ]; |
|
|
|
shenzhenqide 发表于 2018-6-24 01:27 TY您好,您说的这两个函数我之前已经在您发的Power_Management中看到了,也就是说在配置完相关参数后,调用PowerCC26XX_standbyPolicy()后,TI-RTOS会自动管理低功耗模式对吗?那么如果是这样的话,开发者怎么知道自己的程序什么时候能够进入到低功耗模式呢,怎么计算功率呢?谢谢,期待您的解答 |
|
|
|
jjfuwerwer 发表于 2018-6-24 01:46 1. 对,自动管理低功耗。 2. 条件符合就进入低功耗,这个开发者可以通过Power Management API 来控制啊 3.功耗的计算方法,可参考类似芯片如下Link http://www.ti.com/lit/an/swra478a/swra478a.pdf 下面这个TI-design也可以去了解下,这个是基于CC1310的超低功耗的实现 http://www.ti.com/tool/TIDA-00489?keyMatch=cc1310&tisearch=tidesigns |
|
|
|
shenzhenqide 发表于 2018-6-24 01:56 TY您好, 那我想问一下 1.PowerCC26XX_standbyPolicy()这个函数是需要在程序运行时不停的调用来不停的判断进入某种低功耗模式吧? 2.想要调用PowerCC26XX_standbyPolicy()是需要更改如下吧 const PowerCC26XX_Config PowerCC26XX_config = [ .policyInitFxn = NULL, .policyFxn = &PowerCC26XX_standbyPolicy, .calibrateFxn = &PowerCC26XX_noCalibrate, .enablePolicy = TRUE, .calibrateRCOSC_LF = FALSE, .calibrateRCOSC_HF = FALSE, ]; 3.想要调用PowerCC26XX_standbyPolicy()还需要更改什么配置呢? 真心希望得到您的解答,谢谢 |
|
|
|
jjfuwerwer 发表于 2018-6-24 02:07 1. 这个函数是不需要你调用的,这个函数是TI-RTOS的一部分,不改不调。你能调用的API如下: Power Management APIs Used by Applications Applications can optionally call the following APIs. These APIs are not required, but are available to the application developer. • Power_enablePolicy() and Power_disablePolicy() controls when the policy is active at runtime. • Power_setPolicy() chooses a different power policy at runtime. • Power_setConstraint() and Power_releaseConstraint() set and release constraints for specific power transitions (in addition to constraints drivers are already managing). • Power_setPerformanceLevel() scales the device performance level between available operating points. • Power_registerNotify() registers an application callback function to be triggered upon specific power transition events. • Power_shutdown() puts the device in its lowest-power state, which requires a full application reboot to power up again. 2. 你是说红色的吗? 参考WOR的例子 const PowerCC26XX_Config PowerCC26XX_config = [ .policyInitFxn = NULL, .policyFxn = &PowerCC26XX_standbyPolicy, .calibrateFxn = &PowerCC26XX_calibrate, .enablePolicy = TRUE, .calibrateRCOSC_LF = TRUE, .calibrateRCOSC_HF = TRUE, ] 3. 看文档啊,同学. 那个文档里每个API的作用都有说明啊。 |
|
|
|
jjfuwerwer 发表于 2018-6-24 02:07 文档里还给了如何让driver支持power managerment. |
|
|
|
您好,实在是打扰了,如果我在程序中调用Power_enablePolicy() ,是不是就已经开启低功耗策略了,TI-RTOS会自动管理低功耗模式啊?因为我现在最大的困惑就是CC1310想要进入低功耗模式的话会不会像CC2530一样需要修改一些配置文件。我如果在CC1310程序中直接调用Power_enablePolicy() 是不是就会自动进行低功耗管理,谢谢 |
|
|
|
jjfuwerwer 发表于 2018-6-24 02:53 如下就表示开启低功耗策略。 Power_enablePolicy可以在运行时动态开关power managerment, 即Runtime Configuration const PowerCC26XX_Config PowerCC26XX_config = [ .policyInitFxn = NULL, .policyFxn = &PowerCC26XX_standbyPolicy, .calibrateFxn = &PowerCC26XX_calibrate, .enablePolicy = TRUE, .calibrateRCOSC_LF = TRUE, .calibrateRCOSC_HF = TRUE, ]; 2. 是的TI-RTOS自懂管理低功耗,你通过上面说的API来干预TI-RTOS 对功耗的管理。 3. 和2530完全不同。 CC1310的power managerment 复杂了去了,很难由客户来做到对功耗的管理。进入Standby就有10几个步骤。 4. 最麻烦一点就是你必须使用TI-RTOS,其他RTOS或者裸跑要管理功耗将会是非常复杂的一件事 |
|
|
|
只有小组成员才能发言,加入小组>>
348 浏览 1 评论
543 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
786 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
658 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
76浏览 29评论
251浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
261浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
209浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
67浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 14:23 , Processed in 1.073820 second(s), Total 97, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号