CC2630 TIMAC协议栈低功耗问题
項目功能: 采集5s數據發送——休眠5s——采集5s數據發送,循環往復
平臺: CC2630
協議棧:timac_1_05_02_43299
問題描述: ?在休眠5s的過程中,整體電流在7,8ma,只比數據發送低1ma,這是不科學的。驗證沒有event在跑的時候
是可以到3,400ua的電流消耗的(主要是板子上的傳感器功耗)。
看了TI的RTOS,TIMAC協議介紹,以及社區的問答,都沒有給出解決問題的辦法或者提到這一現象。
著重強調的都只有一點:RTOS會管理功耗。
試了一下 ? 聯網——采集5s數據發送——斷網——休眠5s——聯網——采集5s數據發送——斷網,這樣的方案,但是對于同一個協調器,每次聯網都會重新分配shortaddress,到
了0x10地址后,就不能再進行連接,終端持續搜索信道。這個方案PASS掉。
解決方法:之后想看看RTOS到底是如何實現低功耗管理的,遂搜索 IDLE 關鍵詞,有了意外的發現。
? ??
這里有一句話:TRUE if the MAC enables its receiver during idle periods 。 繼續搜索MAC_RX_ON_WHEN_IDLE 關鍵字,發現如下判斷,賦值函數。
再搜索 msa_IsDirectMsg ?發現他的初值雖然是 FALSE,但是在按鍵處理函數,即掃描信道函數?? MSA_ScanReq(MAC_SCAN_ACTIVE, 3); 之前卻賦值了MSA_DIRECT_MSG_ENABLED,MSA_DIRECT_MSG_ENABLED 是 TRUE的宏定義。
這樣問題就很明朗了,原來是系統設置,在IDLE模式下,射頻部分沒有關閉導致的電流消耗。
只要將MSA_DIRECT_MSG_ENABLED 宏定義改為 FALSE 即可。
之后又搜索到一個TI英語論壇鏈接,講到了這個問題。
https://e2e.ti.com/support/wireless_connectivity/proprietary_2-4_ghz/f/964/p/578271/2126272
這個問題困擾了我半個多月,希望能幫到需要的人。_(°:з」∠)_
總結
以上是生活随笔為你收集整理的CC2630 TIMAC协议栈低功耗问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10设置自动关机
- 下一篇: web报表