|
公司基本資料信息
|
華潤微CS88M312芯片如何降低功耗,
芯片運行時的瞬時功耗主要與MCU使用模塊的數量和MCU的主頻相關。CS88M312芯片內置了16M/8M/4M/910K 4個高速振蕩器,選用合適的振蕩器會降低瞬時功耗。除了直接選用內置的調整振蕩器來做主時鐘,CS88M312芯片還可以把振蕩器進行分頻做為主時鐘,這樣可以進一步的降低系統的瞬時功耗。當然主頻越低同樣的任務處理的時單也越長,所以要進行綜合的考量。MCU運行時不使用的模塊全部關掉,這樣可以有效的避免MCU產生額外的功耗。
華潤微CS88M312芯片提供了兩種休眠模式和兩種空閑模式用來降低系統的功耗,相關說明如下:
休眠模式0:功耗低,MCU只能通過PA口喚醒;
休眠模式1:MCU只能通過PA口或看門狗喚醒;空閑模式0:內部高速時鐘停止,外設模塊可以工作在低速時鐘;空閑模式1:CPU停止,內部高速時鐘運行。
MCU進入到休眠模式或空閑模式:當SYS_REG2寄存器中的Idlen位為0時,進入休眠模式,Idlen為1時進入空閑模式。對于未使用的端口,建議設置為上拉輸入PCON 的 bit1 是 STOP 位,MCU 寫 Stop 信號為 1 將進入休眠模式,在進入休眠模式之前需將中斷控制器及其他接口模塊的 Mask 信號清 0,以保證 MCU 能被喚醒,在 MCU 喚醒之后,STOP 自動清 0。
注意:在 STOP 指令之后需要至少 4 條 NOP 指令,以保證程序喚醒后正常運行。對 MCU 進行 STOP 前,讀取SYS_REG4寄存器bit4位為 1等待,為 0 可以寫入 STOP
Sleep示例代碼如下:
void Sleep()
{
if((SYS_REG4 & 0x10) == 0x00)
{
WAKE_EN = 0x42; //
PCON |= 0X02; //mcu_stop
_nop_();
_nop_();
_nop_();
_nop_();
}
}
華潤微CS88M312芯片使用注意事項
1.不是所有的參數設置都在程序中對寄存器進行設置來實現。華潤微CS88M312芯片手冊中配置選項(如芯片的時鐘,主頻,RES引腳選項等)中的參數是在上位機軟件中進行設置;
2.當有需要降低功耗進入休眠并且休眠后需要通過定時器來喚醒時,內置低速振蕩器選用8K,32K會有個別情況下不能喚醒;
3.定時器0和定時器1是向上計數,從0開始到設置的計數值時產生中斷;
4.定時器2和定時器3計數時是向上計數,從設置值開始向上計數,計數到計數值溢出產生中斷;
5. 華潤微CS88M312芯片中斷只有INT0和INT1兩個中斷入口,各個中斷都可以映射到這兩個中斷中入中,當一個中斷入口不只一個中斷源時,需要把TCON設置為電平觸發,邊沿觸發只會響應一個中斷源,其它的中斷源不會響應;
6.使用UART功能時,定時器生成波特率時選用16位計數模式,高低8位分別計數模式誤碼率高,不建議使用;
7. 華潤微CS88M312芯片只能通過原廠提供的上位機和燒寫器進行下載,不能仿真;
8.使用燒寫器對華潤微CS88M312芯片進行燒寫時,芯片不能有外供電。
中國智能化網(zgznh®)--引領工業智能化產業發展 共享智能化+優質平臺
版權所有:深圳市智控網絡有限公司 學術指導:深圳市智能化學會
粵ICP備12078626號
深公網安備案證字第 4403101901094 號 | 粵公網安備 44030702001206號