Infineon-PSoC 4/6低功耗模式之休眠、停止模式(二)

1.休眠模式
        在休眠模式下,PSoC 內的所有時鐘和同步外設都被禁用。引腳和低功耗比較器可以保持活動狀態,並且SRAM和UDB寄存器的狀態也得到保持。 注意:PSoC模擬協處理器器件系列不支持休眠模式。

1.1 休眠模式的喚醒源
        引腳和低功耗比較器中斷可以將器件從休眠模式喚醒。每次退出休眠模式都會引起器件復位,但仍保持SRAM和某些寄存器的狀態,從而可以檢測喚醒復位的原因。雖然保持SRAM,但默認復位會將所有變量初始化為其用戶定義初始化狀態或零。為了避免某個變量在從休眠模式喚醒後被重新初始化,請使用該變量定義中的“CY_NOINIT”屬性。該屬性僅適用於全局或靜態變量。想要確保某個變量不被初始化,您代碼應確定該復位是否由從休眠模式喚醒事件導致。復位完成並返回活動模式後,您可以調用CySysPmGetResetReason() API函數來確定復位是由休眠模式喚醒導致的,還是由任何其他原因引起的。下面的代碼說明了如何定義一個未初始化的變量以及確定該復位是否由休眠喚醒導致。

1.2 休眠模式轉換
        通過調用CyPmHibernate() API函數,可以進入休眠模式。通過該函數,可以將器件配置為休眠模式。不需要調用其他任何API,這是因為退出休眠模式造成復位事件時,包含時鐘的所有組件都被斷電並被重新初始化。只有低功耗比較器仍能保持活動狀態,用於引起從休眠模式喚醒現象。
        當觸發某個引腳或低功耗比較器中斷時,器件將退出休眠模式。退出休眠模式後,PSoC將復位。復位完成並返回活動模式後,您可以調用 CySysPmGetResetReason() API函數來檢測休眠喚醒復位的原因。使用組件API可以檢測指定引腳或比較器中斷,因為這些寄存器的狀態均被保持。
        雖然不必要,但是在進入休眠模式前,您可通過調用CySysPmfreezeIo() API函數來選擇鎖定所有IO單元(GPIO)。在引腳可以再次轉換狀態前,器件從休眠模式被喚醒後,應調用CySysPmUnfreezeIo() API函數。使用這些函數能夠確保在復位過程中和復位後不會發生意外的GPIO轉換。

1.3 休眠模式的使用情況
        不需要定期喚醒,但器件消耗的電流小於1 μA時,應該使用休眠模式。該模式也可以用於對模擬或數字信號轉換的喚醒,這種情況下所消耗的電流最小。請注意,在器件從休眠模式喚醒前,如果您的代碼被組織成一個狀態機,並且CPU可以開始從先前已知的狀態中執行代碼,那麼可以有效地使用休眠模式。您必須使用狀態變量定義中的CY_NOINIT屬性,以確保狀態變量從休眠狀態喚醒後不會被重新初始化。通過調用CySysPmGetResetReason() API函數,可檢測休眠喚醒復位(如以上章節所述),從而確保器件是由休眠模式喚醒導致復位的。


2.停止模式
        PSoC 供電引腳未被斷電時,停止模式下所消耗的電流最小。所有外設都被禁用,並且不會保持SRAM和寄存器的狀態。器件引腳可能處於“凍結”狀態並保持它們的驅動模式和邏輯狀態。專用喚醒引腳(P0[7])用於將器件從停止模式喚醒。 注意:PSoC模擬協處理器器件系列不支持停止模式。

2.1 停止模式的喚醒源
      專用喚醒引腳P0[7]是停止模式下唯一可用的喚醒源。通過調用CySysPmSetWakeupPolarity() API函數,可以將它的輸入喚醒極性設置為上升沿或下降沿。

2.2 停止模式轉換
      通過調用CyPmStop() API函數,可以進入停止模式。通過該函數,可以將器件配置為停止模式(包括凍結I/O狀態)。如果您使用了專用的喚醒引腳,則再次進入停止模式前通過調用CySysPmSetWakeupPolarity() API函數來設置它的輸入喚醒極性。
      當觸發專用喚醒引腳和復位信號處於低電平或循環供電時,將退出停止模式。退出停止模式時,PSoC將復位。復位完成並返回活動模式後,通過調用 CySysPmGetResetReason() API函數,可以確定該停止模式是通過切換喚醒引腳還是循環供電而退出。喚醒(引腳)復位後,GPIO狀態還會保持凍結狀態,並在更改引腳狀態前,必須通過CySysPmUnfreezeIo() API函數解除GPIO的凍結狀態。由於CySysPmStop()函數已經確保凍結了IO單元,因此進入停止模式前無需調用CySysPmUnfreezeIo() API 函數。

2.3 停止模式的使用情況
      需要最小的功耗和功能時,可以使用停止模式。在主機控制器或用戶輸入(如按鍵觸摸)可以觸發專用喚醒引腳,並且電源拓撲結構不允許斷開器件電源的應用場合中,該模式非常有用。

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

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

評論