mcu是ch579,整個(gè)系統(tǒng)關(guān)掉藍(lán)牙并且對(duì)不用的引腳做了必要初始化,在HAL_SLEEP=1的情況下,如果不讀傳感器數(shù)據(jù)時(shí),功耗為18ua,主要是傳感器自身的耗電,mcu不耗電。但根據(jù)實(shí)際需求,每0.2s需要讀一次傳感器,這時(shí)加了一個(gè)tmos_start_task來喚醒,時(shí)間為0.2s來讀傳感器,這時(shí)功耗在50-150ua變化。然后為了測(cè)試,進(jìn)行修改,依然每0.2s喚醒一次,但并不做任何操作,進(jìn)入事件處理后直接結(jié)束,這時(shí)功耗仍然在50-150ua變化。按理說沒跑什么代碼不應(yīng)該有這么大電流,不知能否修改一些設(shè)置達(dá)到低電流。謝謝
用的HID_Keyboard這個(gè)例程
更改的代碼如下
.
.
.
#define SENSOR_INTERVAL? ? ?MS1_TO_SYSTEM_TIME(200)
.
.
.
uint16 HidEmu_ProcessEvent( uint8 task_id, uint16 events )
{
.
.
.
if ( events & READ_SENSOR )
{
//if(readsensor()==1)
{
// display(pTxData);
}
tmos_start_task( hidEmuTaskId, READ_SENSOR, SENSOR_INTERVAL );
return ( events ^ READ_SENSOR );
}
.
.
.
}
注釋掉了讀傳感器和顯示,依然不能降低功耗,將SENSOR_INTERVAL 設(shè)置很大,相當(dāng)于長(zhǎng)時(shí)間休眠,mcu就不耗電了
結(jié)合藍(lán)牙使用時(shí)原始功耗為18uA,這里提供一個(gè)思路:添加一個(gè)TMOS任務(wù),每0.2S執(zhí)行一次打印,其他均為默認(rèn),串口接上打印信息查看日志同時(shí)測(cè)試功耗,理論上功耗增加不會(huì)特別大的。
關(guān)了藍(lán)牙,18ua是傳感器的功耗,無(wú)任務(wù)時(shí)mcu沒有耗電,具體情況帖子應(yīng)該說清楚了,增加了0.2s空任務(wù)都沒有添加打印代碼電流就變大了很多
整個(gè)電路上有個(gè)傳感器,相當(dāng)于排除這個(gè)傳感器,不開藍(lán)牙無(wú)任務(wù)整個(gè)系統(tǒng)基本不耗電,但TMOS添加一個(gè)每0.2s的空任務(wù),耗電會(huì)增加平均七八十微安的功耗(電流波動(dòng)很大,大概50-150ua,減去20ua傳感器電流也有30-130ua),按理說只是每0.2s喚醒一次,不應(yīng)該這么大
下圖分別測(cè)試默認(rèn)的例程和添加了TMOS任務(wù)的功耗測(cè)試:
添加打印
用的HID_Keyboard這個(gè)例程嗎?你這是開了藍(lán)牙才平均29ua,開藍(lán)牙并增加打印任務(wù)才65.55ua。比我測(cè)試的低多了,我電路板加了個(gè)47微法的電容,測(cè)試時(shí)電池直接串聯(lián)的萬(wàn)用表
使用的是HID_KBD的例程,連接間隔做了修改。
可以先在開發(fā)板上進(jìn)行測(cè)試,上面開啟了0.2S的任務(wù)后功耗增加30±,這還是一個(gè)比較正常的現(xiàn)象的。
會(huì)不會(huì)是版本問題,能否方便把你用的版本給個(gè)下載地址或者發(fā)給我也行?
PPK2功耗分析儀,多少錢可以買到?
功率計(jì)直接淘寶上搜索進(jìn)行購(gòu)買即可,目前提供精準(zhǔn)測(cè)量的工具很多的。
程序是官網(wǎng)下載的最新的,做了連接間隔的調(diào)整如上。
TMOS任務(wù)如圖:
可以發(fā)送一份郵件至郵箱:lpc@wch.cn,我這里也可以提供該程序進(jìn)行驗(yàn)證,備注情況。
去官網(wǎng)下載了2.5版本,做了圖中的修改,做測(cè)試估算平均電流也有五六十微安,能否通過更改設(shè)置將電流降到20ua以下
官方提供了PM的程序,開啟sleep模式查看芯片的sleep模式底電流是否為手冊(cè)標(biāo)注,注意需去除LDO/燈等功耗元件。
上面測(cè)試的是開啟了一個(gè)TMOS任務(wù)的睡眠,如果需要進(jìn)一步降低功耗,需要將執(zhí)行該任務(wù)的時(shí)間拉大,否則喚醒還是很頻繁的。
謝謝解答。由于液晶顯示的問題,如果降低喚醒頻率會(huì)使顯示看起來不平滑??戳讼翽M程序,沒提供類似TMOS的時(shí)間喚醒.項(xiàng)目是紐扣電池供電,其中傳感器大約不到20ua,希望不開藍(lán)牙的狀態(tài)下總共不超過50ua,看來不容易了
再請(qǐng)教下,發(fā)現(xiàn)TOMS系統(tǒng)在HAL_SLEEP=1時(shí)LCD不能顯示,怎樣設(shè)置能使LCD點(diǎn)亮
確保你的操作是在TMOS管理運(yùn)行的,可以加上打印信息查看是否有運(yùn)行到了。
在開啟睡眠后,確保LCD顯示已完成,可以通過置一個(gè)標(biāo)志,如果該標(biāo)志顯示任務(wù)未完成,此時(shí)進(jìn)入了睡眠,則直接在一進(jìn)入CH58X_LowPower這個(gè)函數(shù)時(shí)就return出去,直到任務(wù)執(zhí)行完成將標(biāo)志恢復(fù),重新進(jìn)入睡眠。