nRF51822
1. 開發(fā)環(huán)境搭建
1.1 安裝pack
MDK5在框架上做了調(diào)整,增加了許多新的特征。MDK5分成了MDK內(nèi)核和software pack兩部分,其內(nèi)核部分仍然包括編譯器、編輯器、安裝包和調(diào)試跟蹤,而sofrware pack又包括Device、CMSIS和MDK professional Midware。
對于nRF51822 我們需要安裝NordicSemiconductor.nRF_DeviceFamilyPack。
Pack8.11.1 & Pack8.5.0 都需要安裝
Pack8.5.0 基礎(chǔ)外設(shè)試驗需要用到
Pack8.11.1+ SDK12.2 開發(fā)BLE應(yīng)用用到
Pack Download links
2. nRF51822 Power management (POWER)
2.1 System OFF mode
system off mode是最深省電模式。 在此模式下,系統(tǒng)的核心功能已關(guān)閉,所有正在進(jìn)行的任務(wù)都將終止。 唯一有效的機制在這種模式下響應(yīng)是復(fù)位和喚醒機制。
在系統(tǒng)關(guān)閉模式下保留一個或多個RAM塊
可以通過以下方式進(jìn)行喚醒:
1、GPIO信號
2、LPCOMP模塊
3、復(fù)位中喚醒
在進(jìn)入系統(tǒng)關(guān)閉模式之前,用戶必須確保所有正在進(jìn)行的EasyDMA交易已完成。 這通常是通過確保在進(jìn)入系統(tǒng)關(guān)閉時啟用EasyDMA的外圍設(shè)備未激活來實現(xiàn)的。
void recover_state() {uint32_t loop_count = 0;if ((NRF_POWER->GPREGRET >> 4) == RESET_MEMORY_TEST_BYTE){// Take the loop_count value.loop_count = (uint8_t)(NRF_POWER->GPREGRET & 0xFUL);NRF_POWER->GPREGRET = 0;}loop_count++;NRF_POWER->GPREGRET = ( (RESET_MEMORY_TEST_BYTE << 4) | loop_count);tx_payload.data[1] = loop_count << 4; } void system_off( void ) { #ifdef NRF51NRF_POWER->RAMON |= (POWER_RAMON_OFFRAM0_RAM0Off << POWER_RAMON_OFFRAM0_Pos) |(POWER_RAMON_OFFRAM1_RAM1Off << POWER_RAMON_OFFRAM1_Pos); #endif //NRF51 #ifdef NRF52NRF_POWER->RAM[0].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[1].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[2].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[3].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[4].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[5].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[6].POWER = RAM_RETENTION_OFF;NRF_POWER->RAM[7].POWER = RAM_RETENTION_OFF; #endif //NRF52// Turn off LEDs before sleeping to conserve energy.bsp_board_leds_off();// Set nRF5 into System OFF. Reading out value and looping after setting the register// to guarantee System OFF in nRF52.NRF_POWER->SYSTEMOFF = 0x1;(void) NRF_POWER->SYSTEMOFF;while (true); }2.2 Emulated System OFF mode
如果設(shè)備處于調(diào)試接口模式,將模擬系統(tǒng)關(guān)閉以確保在系統(tǒng)關(guān)閉期間可以使用調(diào)試所需的所有必需資源,有關(guān)詳細(xì)信息,請參閱DIF章節(jié)。 調(diào)試所需的資源包括以下關(guān)鍵組件:DIF,CLOCK,POWER,NVMC,MPU,CPU,CODE和RAM。 由于CPU在仿真系統(tǒng)關(guān)閉模式下保持打開狀態(tài),因此建議在進(jìn)入系統(tǒng)關(guān)閉后直接添加無限循環(huán),以防止CPU執(zhí)行通常不應(yīng)執(zhí)行的代碼。
2.3 System ON mode
System ON mode,CPU可以處于活動狀態(tài)或休眠狀態(tài)。 CPU通過執(zhí)行CPU指令集中的WFI或WFE指令進(jìn)入休眠狀態(tài)。 在WFI休眠模式下,如果在NVIC中啟用了相關(guān)中斷,則CPU將因中斷請求而被喚醒。 在WFE休眠模式下,無論NVIC中是否啟用相關(guān)中斷,CPU都會因中斷請求而被喚醒。
子功率模式
在CPU休眠期間,在系統(tǒng)開啟模式下,系統(tǒng)可以駐留在以下兩種子電源模式之一:
?持續(xù)延遲
? 低電量
在恒定延遲模式下*(有關(guān)更多信息,請參閱特定于器件的產(chǎn)品規(guī)范)*,CPU喚醒延遲和PPI任務(wù)響應(yīng)將保持不變并保持最小值。這可以通過在睡眠期間強制啟用一組基本資源來保護,有關(guān)強制使用哪些資源的詳細(xì)信息,請參閱設(shè)備特定的產(chǎn)品規(guī)范。具有恒定且可預(yù)測的等待時間的優(yōu)點將以增加功耗為代價。通過觸發(fā)CONSTLAT任務(wù)來選擇恒定延遲模式。
在低功耗模式下,第44頁的系統(tǒng)開啟模式中描述的自動電源管理系統(tǒng)將是最有效的并且可以節(jié)省最多電量。具有低功率的優(yōu)點將以具有不同的CPU喚醒延遲和PPI任務(wù)響應(yīng)為代價。通過觸發(fā)LOWPWR任務(wù)選擇低功耗模式。
當(dāng)系統(tǒng)進(jìn)入ON模式時,默認(rèn)情況下,它將處于低功耗子功耗模式。
總結(jié)
- 上一篇: 2022/08/27 吉软 Vue
- 下一篇: 硬件电路之电源设计MP2359