Hobby Lab 趣味のモノ作り実験のサイトです。
部品 プロセッサー他 CH32V 203マニュアル_2_PWR
2 電源制御 (PWR)
2.1 概要
2.2 電源監視回路
2.2.1 パワーオンとパワーダウンリセット
2.2.2 プログラム可能な電圧検出器
2.3 低電力モード
2.3.1 低消費電力構成
2.3.2 スリープモード
2.3.3 ストップモード
2.3.4 スタンバイモード
2.3.5 RTC自動ウェイクアップ
2.4 レジスタの説明
2.4.1 PWR_CTLR
2.4.2 PWR_CSR

Pr:Prプロセッサ関係
PrP:プロセッサ
動作比較
 STM32F動作比較
 CH32V203&STM32F 動作比較
 arduino動作比較
raspberrypi関係
 RaspberryPiハード
CH32V関係
 -CH32V開始
 -203K8T6(32Pin)開始
 -203C8T6(48P)開始
 -003J4M6(8Pin)開始
 -003F4P6(20Pin)開始
 -Moun River StudioⅡ
 プログラミング!
  203_GPIO関係
  203_TIME関係
  203_TIME Encoder
  203_I2C関係
  203_1-Wire関係
  003_DS18B20テスター
  USART(UART)関係
  DS18B20をModBus制御
 -マニュアル
 203データシート
 203取説
  MBA メモリとバス方式
  PWR 電力制御
  RCC リセット・拡張・クロック
  BKP バックアップレジスタ
  CRC 巡回冗長検査
  RTC リアルタイムクロック
  GPIO GPIOと代替機能
  DMA ダイレクトメモリアクセス制御
  ADTM 高度な制御タイマー
  GPTM 汎用タイマー
  BCTM 基本タイマー
  USART 同期非同期通信
arduino関係
 ESP12関係
 (a)ESP-8266D1mini注意
PrP:その他  RS485ドライバー
 CP2102 BRIDGE
 WCH-LinkEエミュレーター
Pr:Wire 電線関係
Pr:Resistance 抵抗
Pr:Capacitor コンデンサ
Pr:Coil コイル
Pr:PassiveElmt 受動素子
Pr:Diode ダイオード関係
Pr:OPAMP オペアンプ関係
PrO:送受信機  Si4735
PrO:オペアンプ  LM324
 LM358
Pr:Tr トランジスタ関係
2SC1815
 リレードライバー設計
 アンプ設計
 発振器
TLP152
 TLP152テスト
TLP2361
 TLP2361テスト
TLP5754
 TLP5754テスト
Pr:Source 電源関係  ツェナーダイオード
 TL431
 LM317
PrS:Downモジュール
 EGS002_IR2110S
 SKU011012
 ACDC02
 XH_M299
 LM2596
 Mini360_MP23070N
 DROK
 WH140
PrS:UPモジュール
 MT3608
PrS:充電モジュール
 TP4056
Pr:Sensor_AD_時計等
PrS:電圧、電流
ADS1115 16bit4CH I2C A/D
 Hardware
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226 I2C 直流電圧電流
 Hardware
 Arduino
 RaspberryPi_Python
WCS 電流ホール素子
 Hardware
PrS:温度、気圧、湿度、照度
BNE280 I2C 気圧,湿度,気温
 Hardware
 Arduino
 RaspberryPi_Python
BH1750 I2C 照度
 Hardware
 Arduino
 RaspberryPi_Python
DS18B20 1-Wire 温度計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:時間、日時
DS3231 I2C 時計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:表示器
MAR3953 320X480 3.95"
 概要と線や点を描く
 フォントを描く
SSD1306 I2C 0.96"OLED
 Hardware
 Arduino
 RaspberryPi_Python
Pr:Old Processor他
図2-1 電力構造ブロック図

2 電源制御 (PWR)

この章は、CH32F2x、CH32V2x、およびCH32V3xファミリ全体に適用されます。

2.1 概要

システム動作電圧(VDD)は2.3~3.6Vの範囲で動作し、内蔵の電圧レギュレータがコアに必要な1.5Vの電力を供給します。
主電源(VDD)がオフの場合、バッテリなどのバックアップ電源からVBATピンを介してリアルタイムクロック(RTC)とバックアップレジスタに電力を供給できます。
バックアップ電源が不要な場合は、VDDをVBATピンに直接接続することをお勧めします。
VDDAピンとVSSAピンは、ADC、DAC、温度センサーなど、システム内のアナログ関連回路への電源供給専用です。
VREF+とVREF-は、一部のアナログ回路の基準電圧として使用され、チップ内部ではVDDAとVSSAと同じです。
実際のアプリケーションでは、VDDAとVSSAはそれぞれVDDとVSSに接続する必要があります。

主電源(VDD)がオフになると、アナログスイッチはVBATに切り替わり、バックアップ領域はVBATピンから電源供給されます。
このとき、PC13~PC15のIOピンはGPIOとして使用できず、以下の機能のみ使用できます。
● PC13は、TAMPERピン、RTCアラーム、またはセカンダリ出力として使用できます。
● PC14およびPC15は、LSEピンとしてのみ使用できます。
主電源(VDD)が安定すると、システムは自動的にバックアップ領域をVDDから電源供給するように切り替え、PC13~PC15のIOピンはGPIOとして使用できるようになります。
PC13~PC15ピンをGPIO出力として使用する場合、速度は2MHz未満に制限する必要があり、最大負荷容量は30pFです。また、LED駆動など、連続出力や電流消費が発生する状況では使用しないでください。

注:
主電源(VDD)の復旧中、内部VBAT電源は対応するVBATピンを介して外部バックアップ電源に接続されたままです。
VDDがリセット遅延時間tRSTTEMPO未満の場合、VDDは安定し、VBATの値より0.6V以上高くなり、VDDとVBAT間のダイオードを介してVBATに非常に短い瞬間に電流が注入される可能性があります。
その後、バッテリなどのバックアップ電源がVBATピンを介して注入されます。
バックアップ電源がこのような瞬間注入電流に耐えられない場合は、バックアップ電源とVBATピンの間に正の低ドロップアウトダイオードを追加することを推奨します。




図2-2 POR/PDR波形

2.2 電源監視回路

2.2.1 パワーオンリセットとパワーダウンリセット

パワーオンリセット(POR)回路とパワーダウンリセット(PDR)回路はシステムに内蔵されています。
VDD/VDDAが対応するしきい値を下回ると、外部リセット回路を必要とせず、関連する回路によってシステムがリセットされます。
パワーオンしきい値(VPOR)とパワーダウンしきい値(VPDR)の詳細については、対応するデータシートを参照してください。

2.2.2 プログラム可能な電圧検出器

図2-3 PVD閾値
プログラマブル電圧検出器(PVD)は、主にシステムの主電源を監視するために使用されます。
電源制御レジスタ(PWR_CTLR)のPLS[2:0]ビットで選択されたしきい値と比較することで監視します。
外部割り込みレジスタ(EXTI)の設定と連携することで、関連する割り込みを生成し、停電前にデータの保存などの操作をシステムに通知することができます。
具体的な設定は次のとおりです。
1) PWR_CTLRレジスタのPLS[2:0]ビットを設定し、監視する電圧しきい値を選択します。
2) オプションの割り込み処理。PVD機能は、立ち上がり/立ち下がりエッジの設定をトリガーするために、EXTIモジュールのライン16に内部的に接続されています。
この割り込みを有効にします(EXTIを設定)。VDDがPVDしきい値を下回るか、PVDしきい値を上回ると、PVD割り込みが生成されます。
3) PWR_CTLRレジスタのPVDEビットをセットしてPVDを有効にします。
4) PWR_CSRステータスレジスタのPVD0ビットを読み取り、現在のシステムの主電源とPLS[2:0]ビットで設定されたしきい値の関係を取得し、対応するソフト処理を実行します。





2.3 低電力モード

システムがリセットされると、マイクロコントローラは通常の動作状態(実行モード)になります。
このとき、システムクロック周波数を下げるか、周辺クロックを無効にするか、動作中の周辺クロックを下げることで、システムの電力を節約できます。
システムが動作する必要がない場合は、ユーザーはシステムを低電力モードに設定し、この状態から抜け出すことができます。
マイクロコントローラは現在、プロセッサ、周辺機器、電圧レギュレータなどの動作の違いに応じて、以下の3つの低電力モードを提供しています。
●スリープモード:コアの動作を停止しますが、すべての周辺機器(コア専用の周辺機器を含む)は動作を継続します。
●ストップモード:すべてのクロックを停止しますが、システムはウェイクアップ後も動作を継続します。
●スタンバイモード:すべてのクロックを停止し、ウェイクアップ後にマイクロコントローラをリセットします(電源リセット)。

表2-1 低電力モードの一覧
モードエントリウェイクアップソースクロックへの影響電圧レギュレータ
SleepWFI任意の割り込みコアクロックOFF
他のクロックには
影響しません
ON
WFEウェイクアップイベント
StopSLEEPDEEPを1に設定
PDDSを0にクリア
WFIまたはWFE
外部割り込み/イベント
(外部割り込みレジスタで設定)
WKUPピンの立ち上がりエッジ
HSE、HSI、PLL
および周辺クロックをOFF
ON:LPDS=0、または
低消費電力:LPDS=1
StandbySLEEPDEEPを1に設定
PDDSを1に設定
WFIまたはWFE
WKUPピンの立ち上がりエッジ
RTCアラームイベント、NRSTピンのリセット
IWDGリセット。
注:外部割り込み/イベントに
よってもシステムを
ウェイクアップできますが、
ウェイクアップ後にシステムは
リセットされません
注:
SLEEPDEEPビットはコア専用のペリフェラル制御ビットです。
CH32F2xについては、Cortex-M3コアのマニュアルを参照してください。
CH32V2xおよびCH32V3xについては、PFIC_SCTLRレジスタを参照してください。

2.3.1 低消費電力構成

●WFIとWFE
WFI: マイクロコントローラは、割り込みコントローラが応答する割り込みソースによってウェイクアップされます。
システムがウェイクアップすると、まず割り込みサービス関数が実行されます(マイクロコントローラのリセットを除く)。
WFE: ウェイクアップイベントによってマイクロコントローラがトリガーされると、低消費電力モードが終了します。
ウェイクアップイベントには以下が含まれます。
1) 外部または内部EXTIラインをイベントモードとして設定します。
この場合、割り込みコントローラを設定する必要はありません。
2) または、WFIウェイクアップに相当する割り込みソースを設定します。
この場合、システムはまず割り込みサービス関数を実行します。
3) または、SLEEPONPEN ビットを設定して周辺割り込みを有効にしますが、割り込みコントローラでは割り込みを有効にせず、システムのウェイクアップ後に割り込み保留ビットをクリアする必要があります。
● SLEEPONEXIT
有効:WFI または WFE 命令の実行後、マイクロコントローラは処理すべきすべての割り込みサービスが終了したことを確認した後、低電力モードに移行します。
無効:WFI または WFE 命令の実行後、マイクロコントローラは直ちに低電力モードに移行します。
● SEVONPEND
有効:WFE の実行によって開始された低電力モードからは、すべての割り込みまたはウェイクアップイベントによってウェイクアップできます。
無効:WFE の実行によって開始された低電力モードからは、割り込みコントローラで有効にされた割り込みまたはウェイクアップイベントによってのみウェイクアップできます。

2.3.2 スリープモード

このモードでは、すべてのI/Oピンは実行モードと同じ状態を維持し、すべての周辺クロックは通常動作です。
そのため、スリープモードに入る前に不要な周辺クロックを無効にして、消費電力をさらに削減します。
このモードでのウェイクアップに必要な時間は最短です。
開始:
コアレジスタ制御ビットSLEEPDEEP=0、電源制御レジスタPDDS=0を設定します。
LPDSは内部電圧レギュレータの状態を決定します。
WFIまたはWFEを実行し、SEVONPENDまたはSLEEPONEXITを選択します。
終了:
任意の割り込みまたはウェイクアップイベント。

2.3.3 ストップモード

ストップモードは、コアのディープスリープモード(SLEEPDEEP)とペリフェラルを組み合わせたクロック制御メカニズムです。
電圧レギュレータは低消費電力モードに設定できます。
このモードでは、ドメイン内の高周波クロック(HSE/HSI/PLL)が停止し、SRAMとレジスタの内容は保持され、I/Oピンは同じ状態を維持します。
システムはこのモードからウェイクアップした後も動作を継続でき、HSIがデフォルトのシステムクロックとして使用されます。
フラッシュメモリがプログラムされている場合、メモリアクセスが完了するまでシステムはストップモードになりません。
APBにアクセスしている場合、APBアクセスが完了するまでシステムはストップモードになりません。 ストップモードで動作可能なモジュール:独立ウォッチドッグ(IWDG)、リアルタイムクロック(RTC)、低周波クロック(LSI/LSE)。
開始:
コアレジスタ制御ビットSLEEPDEEPを1、電源制御レジスタPDDSを0に設定します。
LPDSはオプションです。
WFIまたはWFEを実行します。
SEVONPENDとSLEEPONEXITはオプションです。
終了:
外部割り込み/イベント(外部割り込みレジスタで設定)、WKUPピンの立ち上がりエッジ。

2.3.4 スタンバイモード

スタンバイモードとストップモードの唯一の違いは、特定のウェイクアップ条件で終了すると、マイクロコントローラがリセットされ、電源リセットが実行される点です。
スタンバイモードで動作可能なモジュール:独立ウォッチドッグ(IWDG)、リアルタイムクロック(RTC)、低周波クロック(LSI/LSE)。
開始:コアレジスタ制御ビット SLEEPDEEP=1、電源制御レジスタ PDDS=1 を設定します。WFI または WFE を実行します。
SEVONPEND と SLEEPONEXIT はオプションです。
終了:
1) 外部割り込み/イベント(外部割り込みレジスタに設定されている)、およびウェイクアップ相当のストップモードが終了します。
2) WKUP ピンの立ち上がりエッジ、RTC アラームイベントの立ち上がりエッジ、外部リセット、および NRST ピンの IWDG リセット。
これらのウェイクアップ後、マイクロコントローラは電源リセットを実行します。
スタンバイモード時:通常電源供給時は、PWR_CTLRレジスタのR2K_STYENビットを1に設定して2KバイトRAMをオンに保ち、R30K_STYENビットを1に設定して30KバイトRAMをオンに保ちます。
VBAT電源供給時は、PWR_CTLRレジスタのR2K_VBATENビットを1に設定して2KバイトRAMをオンに保ち、R32K_VBATENビットを1に設定して30KバイトRAMをオンに保ちます。
これに基づいて、RAM_LVENビットを1に設定して低電圧モードを有効にします。
低電圧モードを有効にすると、消費電力は相対的に低くなります。
注:
デバッグモードでは、マイクロプロセッサがストップモードまたはスタンバイモードに入ると、デバッグ接続が失われます。

2.3.5 RTC自動ウェイクアップ

RTCは、外部割り込みに依存せずにMCUを自動的にウェイクアップするために使用できます。
タイムベースをプログラムすることにより、ストップモードまたはスタンバイモードから一定間隔でウェイクアップできます。
RTCクロックソースとして、外付けの低消費電力32.768kHz水晶発振器(LSE)を選択するか、内蔵発振器(LSI)を選択できます。
LSIの精度と消費電力はLSEよりも劣ります。
RTCアラームイベントは、MCUをストップモードからウェイクアップできます。
これを実現するには、外部割り込みライン17を立ち上がりエッジ割り込みとして設定し、RTCがアラームイベントを生成するように設定する必要があります。
スタンバイモードからウェイクアップするには、RTCがアラームイベントを生成するように設定するだけで済みます。




2.4 レジスタの説明

表2-2 PWR関連レジスタ
名前アクセスアドレス説明リセット値
R32_PWR_CTLR0x40007000電源制御レジスタ0x00000000
R32_PWR_CSR0x40007004電源制御/ステータスレジスタ0x00000000

2.4.1 電源制御レジスタ (PWR_CTLR)

PoWeR ConTroL Register= | Access base address 0x40007000 Offset address: 0x00
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedRAM_LVENR30K_VBATENR2K_VBATENR30K_STYENR2K_STYEN ReservedDBPPLSPVDECSBFCWUFPDDSLPDS
RORWRWRWRWRW RORWRWRWRW1RW1RWRW
00000000 00000000 00000000 00000000

RAM_LVEN

RAMの低電圧モード有効化ビット(低電力)(RAM’s low voltage mode enable bit)(lower power):
1有効
0無効

R30K_VBATEN

VBATが電源を供給する場合、スタンバイモード時の30K RAM電源有効化ビットは以下のとおりです。
1電源有効化
0電源無効化
注:
CH32F20x_D8、CH32F20x_D8C、CH32V30x_D8、CH32V30x_D8C、CH32V20x_D8、CH32V20x_D8W、およびCH32F20x_D8に適用されます。

R2K_VBATEN

VBATが電源を供給する場合、スタンバイモード時の2K RAM電源有効化ビットは次のようになります。
1電源有効化
0電源無効化

R30K_STYEN

スタンバイモード時、30K RAM 電源有効化ビット
1電源有効化
0電源無効化
注:
CH32F20x_D8、CH32F20x_D8C、CH32V30x_D8、CH32V30x_D8C、CH32V20x_D8、CH32V20x_D8W、および CH32F20x_D8 に適用されます。

R2K_STYEN

スタンバイモード時、2K RAM 電源有効化ビット
1電源有効化
0電源無効化

DBP

バックアップドメインへの書き込みを有効にします
RTCのクロックが外部クロックの128分周の場合、このビットは1に設定する必要があります。
1RTCおよびバックアップレジスタへのアクセスが有効。
0RTCおよびバックアップレジスタへのアクセスが無効。

PLS

PVDレベルの選択
詳細については、マニュアルの電気特性を参照してください。
000立ち上がりエッジで2.37V、立ち下がりエッジで2.29V
001立ち上がりエッジで2.55V、立ち下がりエッジで2.46V
010立ち上がりエッジで2.63V、立ち下がりエッジで2.55V
011立ち上がりエッジで2.76V、立ち下がりエッジで2.67V
100立ち上がりエッジで2.87V、立ち下がりエッジで2.78V
101立ち上がりエッジで3.03V、立ち下がりエッジで2.93V
110立ち上がりエッジで3.18V、立ち下がりエッジで3.06V
111立ち上がりエッジで3.29V、立ち下がりエッジで3.19V

PVDE

電源電圧検出器有効化ビット
1電源電圧検出器有効化
0電源電圧検出器無効化

CSBF

スタンバイフラグビットをクリアします。
このビットは常に0として読み出されます。
11に設定するとSBFスタンバイフラグビットがクリアされます。
00にクリアされ、何も起こりません。

CWUF

ウェイクアップフラグビットをクリアします。
このビットは常に0として読み出されます。
11にセットされた後、WUFフラグビットは2システムクロックサイクルでクリアされます。
0 0にクリアされ、影響はありません。

PDDS

パワーダウン時およびディープスリープ時のスタンバイ/ストップモード選択ビット。
1スタンバイモードに移行します。レギュレータの状態はLPDSビットに依存します。
0ストップモードに移行します。

LPDS

ストップモード時の電圧レギュレータ動作モード選択ビット。
PDDS=0の時に動作します。
1電圧レギュレータは低電力モードで動作します。
0 電圧レギュレータは通常モードで動作します。



2.4.2 電源制御/ステータスレジスタ(PWR_CSR)

Power control/status register = | Access base address 0x40007000 Offset address: 0x04
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedEWUP ReservedPVD0SBFWUF
RORWRORORORO
00000000 00000000 00000000 00000000

EWUP

WKUPピン有効化ビット
1WKUPは入力プルダウン構成で強制的に使用され、MCUをスタンバイモードからウェイクアップするために使用されます。
0WKUPピンは汎用I/Oとして使用され、MCUをスタンバイモードからウェイクアップするために使用されます。

PVD0

PVD出力フラグビット
PWR_CTLRレジスタのPVDEビットが1に設定されている場合にのみ有効です。
1VDD/VDDAがPLS[2:0]ビットで設定されたPVDしきい値よりも低い。
0VDD/VDDAがPLS[2:0]ビットで設定されたPVDしきい値よりも高い。

SBF

スタンバイフラグビット
CSBFビットを1にセットするとクリアされます。
1MCUはスタンバイモードに入ります。
0MCUはスタンバイモードではありません。

WUF

ウェイクアップフラグビット。
CWUFビットを1にセットするとクリアされます。
1 WKUPピンでウェイクアップイベントまたはRTCアラームイベントが検出されました。
0ウェイクアップイベントは発生していません。






































更新日 2025/11/24 19:52  管理者 平林 剛Hirabayashi Takeshi