mFrame
載入中...
搜尋中...
無符合項目
mcxa153::chip::vbat::VBAT 類別 參考文件final

MCXA153 電池供電域 (VBAT) 控制介面 更多...

#include <VBAT.h>

類別mcxa153::chip::vbat::VBAT的繼承圖:
ufm::lang::NonInstantiable ufm::lang::Object ufm::lang::Interface

靜態公開方法(Static Public Methods)

static constexpr uint32 VERID_FEATURE (uint32 value)
 VERID - FEATURE.
 
static constexpr uint32 VERID_MINOR (uint32 value)
 Version ID - MINOR.
 
static constexpr uint32 VERID_MAJOR (uint32 value)
 Version ID - MAJOR.
 
static constexpr uint32 FROCTLA_FRO_EN (uint32 value)
 FROCTLA - FRO_EN.
 
static constexpr uint32 FROLCKA_LOCK (uint32 value)
 FROCTLA - LOCK.
 
static constexpr uint32 FROCLKE_CLKE (uint32 value)
 FROCTLA - CLKE.
 
static constexpr uint32 WAKEUP_WAKEUPA_REG (uint32 value)
 WAKEUP_WAKEUPA - REG.
 
static constexpr uint32 WAKLCKA_LOCK (uint32 value)
 WAKLCKA - LOCK.
 

保護方法(Protected Methods)

virtual ~VBAT (void) override=default
 Destroy the object.
 
- 保護方法(Protected Methods) 繼承自 ufm::lang::NonInstantiable
 NonInstantiable (void)=delete
 禁止實例化 NonInstantiable 類別
 
 NonInstantiable (const NonInstantiable &)=delete
 禁止複製建構函式
 
virtual ~NonInstantiable (void) override=default
 Destroy the Non Instantiable object.
 
NonInstantiableoperator= (const NonInstantiable &)=delete
 
NonInstantiableoperator= (NonInstantiable &&)=delete
 

額外的繼承成員

- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (void) override
 取得對應的 Object 物件
 
void delay (int milliseconds) const
 延遲指定的毫秒數進行執行緒等待
 
bool equals (Object *object) const
 判斷與另一物件是否為相同參照(指標型態比較)
 
bool equals (Object &object) const
 判斷與另一物件是否為相同參照(參照型態比較)
 
void wait (void) const
 使當前線程等待直到被通知
 
bool wait (int timeout) const
 等待通知或超時
 
bool yield (void) const
 讓執行緒讓渡控制權給同優先權的下一個執行緒
 
int lock (void) const
 核心鎖定,鎖定期間禁止線程切換
 
int unlock (void) const
 核心解鎖
 
ufm::sys::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

詳細描述

MCXA153 電池供電域 (VBAT) 控制介面

VBAT類別提供MCXA153電池供電域的管理與控制功能。包括低功耗FRO16K振盪器控制、 喚醒事件管理、電池供電模式下的系統資源保持以及超低功耗運作控制。

主要功能特色:

  • FRO16K 低功耗振盪器管理: • 16 kHz內部RC振盪器啟用/停用控制 • 超低功耗設計,適合電池供電應用 • 時脈輸出控制,支援低頻系統運作 • 振盪器鎖定機制,防止意外修改
  • 電池供電域控制: • VBAT電源域的獨立管理 • 主電源斷開時的系統資源保持 • 超低功耗模式下的基本功能維持 • 電池供電切換的無縫轉移
  • 喚醒事件管理: • 深度睡眠狀態的喚醒源配置 • 喚醒暫存器的狀態保持 • 喚醒事件的優先權控制 • 喚醒設定的鎖定保護
  • 系統資源保持: • 關鍵暫存器內容在電池供電下保持 • 即時時脈(RTC)功能支援 • 最小系統狀態的維持 • 快速恢復至正常運作模式

FRO16K 振盪器特性:

  • 頻率規格:典型16 kHz ± 2精度
  • 功耗特性:超低功耗設計,適合長期運作
  • 啟動時間:快速啟動,適合頻繁喚醒應用
  • 溫度穩定性:在電池供電溫度範圍內保持穩定

電池供電應用場景:

  • 物聯網 (IoT) 裝置的長期待機
  • 智慧型感測器的間歇性運作
  • 可攜式裝置的電源管理
  • 工業監控設備的備用電源模式

喚醒機制說明:

  • 外部中斷喚醒:GPIO腳位狀態變化
  • 定時器喚醒:RTC或低功耗計時器
  • 通訊介面喚醒:UART、SPI、I2C等
  • 模擬訊號喚醒:比較器或ADC閾值觸發

使用範例 - FRO16K振盪器配置:

// 啟用FRO16K振盪器作為低功耗時脈源
VBAT0.FROCTLA = VBAT::FROCTLA_FRO_EN(1) | // 啟用FRO16K
VBAT::FROCLKE_CLKE(1); // 啟用時脈輸出
// 鎖定FRO16K設定,防止意外修改
VBAT0.FROCTLA |= VBAT::FROLCKA_LOCK(1); // 鎖定振盪器設定
// 檢查振盪器是否已啟用並鎖定
if ((VBAT0.FROCTLA & VBAT::FROCTLA_FRO_EN(1)) &&
(VBAT0.FROCTLA & VBAT::FROLCKA_LOCK(1))) {
// FRO16K已正常啟用且受保護
}
static constexpr uint32 FROLCKA_LOCK(uint32 value)
FROCTLA - LOCK.
Definition VBAT.h:257
static constexpr uint32 FROCLKE_CLKE(uint32 value)
FROCTLA - CLKE.
Definition VBAT.h:267
static constexpr uint32 FROCTLA_FRO_EN(uint32 value)
FROCTLA - FRO_EN.
Definition VBAT.h:243

使用範例 - 喚醒事件配置:

// 配置喚醒事件暫存器
VBAT0.WAKEUP_WAKEUPA = VBAT::WAKEUP_WAKEUPA_REG(0x0F); // 設定喚醒源
// 鎖定喚醒配置,確保深度睡眠期間不被修改
VBAT0.WAKLCKA = VBAT::WAKLCKA_LOCK(1); // 啟用喚醒鎖定
// 進入深度睡眠前的最後檢查
if (VBAT0.WAKLCKA & VBAT::WAKLCKA_LOCK(1)) {
// 喚醒設定已鎖定,可安全進入深度睡眠
enterDeepSleep();
}
static constexpr uint32 WAKEUP_WAKEUPA_REG(uint32 value)
WAKEUP_WAKEUPA - REG.
Definition VBAT.h:277
static constexpr uint32 WAKLCKA_LOCK(uint32 value)
WAKLCKA - LOCK.
Definition VBAT.h:291

使用範例 - 電池供電模式轉換:

// 準備進入電池供電模式
void prepareBatteryMode(void) {
// 1. 啟用FRO16K作為備用時脈
VBAT0.FROCTLA = VBAT::FROCTLA_FRO_EN(1) |
// 2. 配置喚醒源
VBAT0.WAKEUP_WAKEUPA = VBAT::WAKEUP_WAKEUPA_REG(WAKEUP_SOURCES);
// 3. 鎖定關鍵設定
VBAT0.FROCTLA |= VBAT::FROLCKA_LOCK(1);
VBAT0.WAKLCKA = VBAT::WAKLCKA_LOCK(1);
// 4. 切換至低功耗模式
switchToLowPowerMode();
}
// 從電池供電模式恢復
void recoverFromBatteryMode(void) {
// 檢查喚醒原因並恢復系統狀態
uint32_t wakeupReason = VBAT0.WAKEUP_WAKEUPA;
handleWakeupEvent(wakeupReason);
}

功耗最佳化策略:

  • 僅在必要時啟用FRO16K振盪器
  • 使用最小的喚醒源配置
  • 適當設定鎖定機制避免功耗洩漏
  • 配合系統電源管理進行整體最佳化

系統整合要點:

  • 與SPC電源控制器協同運作
  • 配合SCG時脈管理進行模式切換
  • 整合WUU喚醒單元實現完整喚醒方案
  • 考慮MRCC模組復位控制的影響
此類別僅提供靜態方法,無法實例化
VBAT域的設定變更需要特殊的解鎖序列,請參閱技術參考手冊
電池供電模式的功耗特性會受到溫度和電池電壓影響
鎖定機制一旦啟用,通常需要系統復位才能解除
FRO16K的精度可能受到製程變異和溫度影響,關鍵應用需要外部參考校準

函式成員說明文件

◆ FROCLKE_CLKE()

static constexpr uint32 mcxa153::chip::vbat::VBAT::FROCLKE_CLKE ( uint32 value)
inlinestaticconstexpr

FROCTLA - CLKE.

FRO16K Control A - Clock Enable

◆ FROCTLA_FRO_EN()

static constexpr uint32 mcxa153::chip::vbat::VBAT::FROCTLA_FRO_EN ( uint32 value)
inlinestaticconstexpr

FROCTLA - FRO_EN.

FRO16K Control A - FRO16K Enable

  • [0b0]Disable
  • [0b1]Enable

◆ FROLCKA_LOCK()

static constexpr uint32 mcxa153::chip::vbat::VBAT::FROLCKA_LOCK ( uint32 value)
inlinestaticconstexpr

FROCTLA - LOCK.

FRO16K Control A - Lock

  • [0b0]Do not block
  • [0b1]Block

◆ VERID_FEATURE()

static constexpr uint32 mcxa153::chip::vbat::VBAT::VERID_FEATURE ( uint32 value)
inlinestaticconstexpr

VERID - FEATURE.

Version ID - Feature Specification Number

◆ VERID_MAJOR()

static constexpr uint32 mcxa153::chip::vbat::VBAT::VERID_MAJOR ( uint32 value)
inlinestaticconstexpr

Version ID - MAJOR.

Version ID - Major Version Number

◆ VERID_MINOR()

static constexpr uint32 mcxa153::chip::vbat::VBAT::VERID_MINOR ( uint32 value)
inlinestaticconstexpr

Version ID - MINOR.

Version ID - Minor Version Number

◆ WAKEUP_WAKEUPA_REG()

static constexpr uint32 mcxa153::chip::vbat::VBAT::WAKEUP_WAKEUPA_REG ( uint32 value)
inlinestaticconstexpr

WAKEUP_WAKEUPA - REG.

Wakeup 0 Register A - Register

◆ WAKLCKA_LOCK()

static constexpr uint32 mcxa153::chip::vbat::VBAT::WAKLCKA_LOCK ( uint32 value)
inlinestaticconstexpr

WAKLCKA - LOCK.

Wakeup Lock A - Lock

  • [0b0]Lock is disabled
  • [0b1]Lock is enabled

此類別(class) 文件是由下列檔案中產生: