SemiDrive E3 低功耗功能介紹(一)

一、概述

        在特定的應用場景下對能耗要求極為嚴格,為滿足不同能耗要求,SemiDrive E3 系列分別支持 RTC,Sleep 和 Hibernate 三種低功耗模式,本文講解晶片處於低功耗時,系統內部資源分配情況及如何喚醒低功耗,本文以 RTC 低功耗模式為例,講解如何使用 EB 工具配置低功耗參數。

硬體平台:E3640 官方開發板(SD103_E3_GATEWAY_ePOWERTRAIN_A03_019);

軟體環境:IAR Embedded Workbench for ARM 8.50.6;

軟體平台:E3 MCAL PTG3.0。



圖1 E3640 官方開發板



二、低功耗功能說明

1     Sleep 低功耗模式

在系統通過軟體進入 Sleep 模式,需要做如下操作:

  • 所有的 CPU 核處於 inactive 狀態,關閉所有 CPU 時鐘;
  • 關閉所有外部時鐘,只保留 wakeup 事件所需要的時鐘;
  • 關閉所有 PLL;
  • 24MHz 外部時鐘或者內部 RC 時鐘是否關閉,取決於具體應用;
  • 所有的存儲進入保留模式。

喚醒 Sleep 低功耗模式,方式如下幾種:

  • 24MHz 時鐘沒有關閉

所有中斷腳都可以喚醒;

  • 24MHz 時鐘關閉

RTC 時鐘中斷喚醒;

USB_ID 或者 VBUS 喚醒;

未斷電的 GPIO 異步喚醒。


2     Hibernate 低功耗模式

在系統通過軟體進入 Hibernate 模式,需要做如下操作:

  • 關閉所有的 CPU 電源;
  • 關閉 AP 域電源 ;
  • Safety 域片內的存儲進入保留模式;
  • 關閉所有 Safety 域周邊時鐘 ;
  • 關閉 PLL ;
  • 關閉 24MHz 晶體和內部 RC 晶體 ;
  • 關閉所有的模擬模塊ADC、ACMP、POR、VD、PT_SENSOR等。

喚醒 Hibernate 方式有如下幾種:

  • RTC 時鐘中斷喚醒 ;
  • 未斷電的 GPIO 異步喚醒。


3     RTC 低功耗模式

在 RTC 模式下,除了 RTC 電源不關,其他電源都關閉,外部 32KHz 或者內部 32KHz 不關閉。

喚醒 RTC 低功耗模式,方式如下幾種:

  • RTC 時鐘中斷喚醒;
  • Sys_Wakeup0,Sys_Wakeup1 喚醒;
  • Sys_Button 喚醒。

在 RTC 模式下,系統典型功耗為 50uW,系統進入 RTC 模式,除了 RTC 域的 IO,其他 IO 都進入高阻態。


3.1     RTC 低功耗配置項

3.1.1    WakeupSourceConfiguration


  • Wakeup0 Pin Select:配置 enable/disable wakeup0 喚醒源;
  • Wakeup1 Pin Select:配置 enable/disable wakeup1 喚醒源;
  • Wakeup0 And Wakeup1 Pin Select:配置 Wakeup0 And Wakeup1 組合模式,AND 僅當 wakeup0 和 wakeup1 都處於活動狀態時才生成喚醒事件,OR 為 wakeup0 或wakeup1 處於活動狀態時生成喚醒事件;
  • BC Button Select:配置 enable/disable BC_Button enter/exit RTC mode;
  • RTC Interrupt Select:配置 enable/disable RTC Timer 喚醒源;

      註:Wakeup0 And Wakeup1 Pin Select 選擇 AND 模式時,wakeup0/wakeup1 同時選擇 EDGE 是不支持的。

3.1.2    Wakeup0PinConfiguration


  • Wakeup0 Pin Pulse Mode Edge Select:配置 RTC 模式下 Wakeup0 引腳的脈衝模式邊緣設置,RAISING:上升沿有效,FALLING:下降沿有效,BOTH:雙邊沿有效,INVALID:邊沿觸發無效。
  • Wakeup0 Pin Trigger Mode:配置觸發方式,LEVEL:電平觸發,EDGE邊沿觸發;
  • Wakeup0 Pin Polarity Select:配置有效電平/邊沿;
  • Wakeup0 Pin Filter Bypass Select:使能濾波,FILTER_ENABLE:使能濾波,FILTER_BYPASS:禁止濾波;
  • Wakeup0 Pin Filter Edge Select:濾波邊沿;
  • Wakeup0 Pin Filter Cnt (0 -> 15):濾波過濾閥值;
  • Wakeup0 Pin Sample Interval (0 -> 7):濾波採樣值;

       註:Wakeup0 必須在edge mode下才支持濾波功能;

3.1.3    BCButtonConfiguration




  • BC Button Off/on Sensitive Select:配置 off/on 觸發模式;
  • BC Button Off/on Polarity Select:配置 off/on 電平/邊沿;
  • BC Button Off/on Max Valid Window Select :配置 enable/disable max 窗口設置;
  • BC Button Off/on Max Valid Window Timer:配置 max 計數值;
  • BC Button Off/on Min Valid Window Timer:配置 min 計數值;
  • BC Button Window Timer Unit:配置窗口基準單元;
  • BC Button Filter Bypass Select:配置過濾 enable/disable;
  • BC Button Filter Edge Select:配置過濾邊沿;
  • BC Button Filter timer:配置過濾閾值;
  • BC Button Sample Interval:配置過濾採樣值;

3.1.4    RTCConfiguration


        配置RTC Timer硬體通道,秒/分,計時時間。

  • RTC Channel Select:選擇 RTC Timer 硬體通道;
  • RTC1 Timer Mode Select:選擇 RTC1 Timer 計時單位(SEC/MIN);
  • RTC1 Wakeup Timer:配置 RTC1 Timer 計數值;
  • RTC2 Timer Mode Select:選擇 RTC2 Timer 計時單位(SEC/MIN);
  • RTC2 Wakeup Timer:配置 RTC2 Timer 計數值。

3.2      結果驗證

        晶片上電重啟 log 信息提示,如下圖:

        在命令行中輸入 runcase 100,使開發板切換至 RTC 低功耗狀態,VCC3V3_AP、VCC3V3_SAF、VCC1V8_SAF處於掉電狀態,CPU 處於斷電狀態,開發板此時不能 Debug 或 attach CPU 內核,開發電源情況如下圖。

         RTC 定時器喚醒低功耗或 Wakeup0 按鍵喚起低功耗,如下圖所示:





三、參考文檔

《SemiDrive_E3硬體設計手冊_Rev1.09》

《SemiDrive_E3_MCAL_User_Guide_Rev03.00》



歡迎在博文下方留言評論,我們會及時回復您的問題。

如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com   
作者:Linna Wang / 王麗娜


更多資訊,請掃碼關注我們!

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論