Hobby Lab 趣味のモノ作り実験のサイトです。
部品 プロセッサー他 CH32V 203マニュアル_3_RCC
3 RCC
3.1 主な特徴
3.2 リセット
3.2.1 電源リセット
3.2.2 システムリセット
3.2.3 バックアップドメインリセット

3.3 クロック
3.3.1 システムクロック構造
3.3.2 HighSpeedClock(HSI/HSE)
3.3.3 LowSpeedClock(LSI/LSE)
3.3.4 PLL_Clock
3.3.5 バス/ペリフェラルクロック
3.3.5.1 システムクロック(SYSCLK)
3.3.5.2 AHB/APB1/APB2バスクロック
3.3.5.3 RTCクロック(RTCCLK)
3.3.5.4 独立ウォッチドッグクロック
3.3.5.5 マイクロコントローラクロック出力
3.3.5.6 USBクロック
3.3.5.7 ETHクロック
3.3.5.8 I2SとRNGクロック
3.3.6 クロックセキュリティシステム
3.4 制御を拡張する

3.5 レジスタの説明
3.5.1 RCC_CTLR
3.5.2 RCC_CFGR0
3.5.3 RCC_INTR
3.5.4 RCC_APB2PRSTR
3.5.5 RCC_APB1PRSTR
3.5.6 RCC_AHBPCENR
3.5.7 RCC_APB2PCENR
3.5.8 RCC_APB1PCENR
3.5.9 RCC_BDCTLR
3.5.10 RCC_RSTSCKR
3.5.11 RCC_AHBRSTR
3.5.12 RCC_CFGR2
3.5.13 EXTEND_CTR

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他

3. RCC

 RCC = Reset, expansion and Clock Control
この章は、CH32F2x、CH32V2x、およびCH32V3xファミリ全体に適用されます。
コントローラは、電源領域の分割とアプリケーションにおける周辺機器の消費電力管理を考慮し、様々なタイプのリセットと設定可能なクロックツリー構造を提供します。
この章では、システムにおける各クロックの動作範囲について説明します。

3.1 主な特徴 (Main features)

●複数のリセットタイプ
●複数のクロックソース、バスクロック管理
●外部水晶発振器モニターとクロックセキュリティシステムを内蔵
●各ペリフェラルクロックの個別管理:リセット、有効化、無効化
●内部クロック出力




3.2 リセット

リセットには、
 ・3.2.1 電源リセット
 ・3.2.2 システム リセット
 ・3.3.3 バックアップ ドメイン リセット
の 3 種類があります。

3.2.1 電源リセット

電源リセットが発生すると、バックアップドメインを除くすべてのレジスタがリセットされ(バックアップドメインはVBATから電源供給されます)、 アプリケーションプログラム内のPCポインタはアドレス0x00000004(リセットベクターテーブル)に固定されます。
電源リセットは、以下のイベントが発生したときに生成されます。
●パワーオン/パワーダウンリセット(POR/PDRリセット)
●スタンバイモードからのウェイクアップ

3.2.2 システムリセット

システムリセットが発生すると、制御/ステータスレジスタ(RCC_RSTSCKR)のリセットフラグとバックアップドメインを除くすべてのレジスタがリセットされます。
RCC_RSTSCKRレジスタのリセットステータスフラグビットを参照することで、リセットイベントの要因を特定できます。
システムリセットは、以下のイベントが発生すると生成されます。
●NRSTピンのLowレベル(外部リセット)
●ウィンドウウォッチドッグのカウント終了条件(WWDGリセット)
●独立ウォッチドッグのカウント終了条件(IWDGリセット)
●ソフトウェアリセット(SWリセット)
●低消費電力管理リセット

ウィンドウ/独立ウォッチドッグリセット:ウィンドウ/独立ウォッチドッグのペリフェラルタイマのカウントサイクルオーバーフローによってトリガされます。
詳細については、対応する章を参照してください。
ソフトウェアリセット:CH32F2xは、コアレジスタ(AIRCR)のビット2を1に設定することでシステムをリセットします。
具体的な動作については、Cortex-M3コアマニュアルを参照してください。
CH32V2xおよびCH32V3xは、割り込み設定レジスタ(PFIC_CFGR)のSYSRESETビットを1に設定するか、PFIC_SCTLRレジスタのSYSRESETビットを1に設定すると、システムをリセットします。
詳細は、該当する章を参照してください。
低消費電力管理リセット:ユーザー選択バイトのSTANDY_RSTビットを0に設定すると、スタンバイモードリセットが有効になります。
このとき、スタンバイモードに入る処理が実行された後、スタンバイモードに入る代わりにシステムリセットが実行されます。
ユーザー選択バイトのSTOP_RSTビットを0に設定すると、ストップモードリセットが有効になります。
ストップモードに入る処理が実行された後、ストップモードに入る代わりにシステムリセットが実行されます。

3.2.3 バックアップ ドメイン リセット

バックアップドメインリセットが発生すると、バックアップレジスタ、RCC_BDCTLRレジスタ(RTCイネーブルおよびLSE発振器)を含む、バックアップドメインレジスタのみがリセットされます。
バックアップドメインリセットは、以下のイベントが発生したときに生成されます。
●VDDとVBATの両方の電源がオフになっていることを前提として、VDDまたはVBATの電源がオンになった場合
●RCC_BDCTLRレジスタのBDRSTビットを1に設定する
●RCC_APB1PRSTRレジスタのBKPRSTビットを1に設定する




3.3クロック

3.3.1 システムクロック構造


注: このクロックツリー構造は、CH32F20x_D6、CH32F20x_D8、CH32V20x_D6、およびCH32V30x_D8に適用されます。

3.3.2 High-speed clock (HSI/HSE)

HSIはシステム内の8MHz RC発振器によって生成される高速クロック信号です。
HSI RC発振器は、外部デバイスに依存せずにシステムクロックを供給できます。
起動時間は非常に短いですが、クロック周波数の精度は低くなります。
HSIは、RCC_CTLRレジスタのHSIONビットを設定することで有効化/無効化できます。
HSIRDYビットは、HSI RC発振器が安定しているかどうかを示します。
デフォルトでは、HSIONとHSIRDYは1に設定されています(無効化しないことを推奨します)。
RCC_INTRレジスタのHSIRDYIEビットが設定されている場合、対応する割り込みが生成されます。
工場キャリブレーション:製造プロセスの違いにより、各チップのRC発振周波数が異なる場合があるため、工場出荷前に各チップに対してHSIキャリブレーションを実施します。
システムリセット後、工場キャリブレーション値がRCC_CTLRレジスタのHSICAL[7:0]ビットにロードされます。
ユーザー調整:アプリケーションプログラムは、電圧や周囲温度の違いに基づいて、CC_CTLRレジスタのHSITRIM[4:0]ビットを介してHSI周波数を調整できます。
注:HSE水晶発振器が故障した場合、HSIクロックはバックアップクロックソース(クロックセキュリティシステム)として使用されます。

HSEは高速外部クロック信号であり、外部水晶/セラミック共振器による生成または外部高速クロック入力が含まれます。
外部水晶/セラミック共振器(HSE水晶):3~25MHzの外部発振器は、システムに高精度のクロックソースを提供します。
詳細については、このマニュアルの電気的特性を参照してください。
HSE水晶発振器は、RCC_CTLRレジスタのHSEONビットを設定することで有効/無効を切り替えることができます。
HSERDYビットは、HSE水晶発振器の発振状態を示します。
HSERDYビットがハードウェアによって1に設定されるまで、クロックは出力されません。
RCC_INTRレジスタのHSERDYIEビットが設定されている場合、対応する割り込みを生成できます。
注意:負荷コンデンサは発振器ピンのできるだけ近くに配置する必要があり、負荷容量の値は選択した発振器に応じて調整する必要があります。

外部高速クロックソース(HSEバイパス):このモードでは、外部クロックソースがOSC_INピンに直接供給され、OSC_OUTピンは停止します。
最大周波数は25MHzです。
アプリケーションプログラムは、HSEONビットが0のときにHSEBYPビットをセットしてHSEバイパスを有効にし、その後HSEONビットをセットする必要があります。

3.3.3 Low-speed clock (LSI/LSE)

LSIは、システム内の約40kHzのRC発振器によって生成される低速クロック信号です。
ストップモードおよびスタンバイモードでも動作を継続し、RTCクロック、独立ウォッチドッグ、およびウェイクアップユニットのクロックリファレンスを提供します。
詳細については、このマニュアルの電気的特性を参照してください。
LSIは、RCC_RSTSCKRレジスタのLSIONビットをセットすることで有効/無効を切り替えることができ、その後、LSIRDYビットを照会することでLSIのRC発振が安定しているかどうかを確認します。
LSIRDYビットがハードウェアによって1にセットされるまで、クロックは解放されません。RCC_INTRレジスタのLSIRDYIEビットがセットされている場合、対応する割り込みを生成できます。
LSEは、外部水晶/セラミック共振子の生成、または外部低速クロック入力を含む外部低速クロック信号です。
RTCクロックやその他のタイミング機能に、低消費電力で高精度なクロックソースを提供します。
外部水晶/セラミック共振子(LSE水晶):外部32.768kHz低速発振器。
LSEは、RCC_BDCTLRレジスタのLSEONビットを設定することで有効/無効を切り替えることができます。
LSERDYビットは、LSE水晶発振が安定しているかどうかを示します。
LSERDYビットがハードウェアによって1に設定されるまで、クロックは解放されません。
RCC_INTRレジスタのLSERDYIEビットが設定されている場合、対応する割り込みを生成できます。


外部低速クロックソース(LSEバイパス):このモードでは、外部クロックソースがOSC32_INピンに直接供給され、OSC32_OUTピンは停止します。
アプリケーションプログラムは、LSEONビットが0のときにLSEBYPビットをセットしてLSEバイパスを有効にし、その後LSEONビットをセットする必要があります。


3.3.4 PLL clock

RCC_CFGR0 レジスタと EXTEND_CTR レジスタを設定することで、内部 PLL クロックに 3 つのクロックソースと逓倍係数を選択できます。
これらの設定は、各 PLL を有効にする前に完了する必要があります。
PLL を有効にすると、これらのパラメータは変更できなくなります。
PLL は、RCC_CTLR レジスタの PLLON ビットを設定することで有効/無効にできます。
PLLRDY ビットは、PLL クロックが安定しているかどうかを示します。
PLLRDY ビットがハードウェアによって 1 に設定されるまで、クロックはリリースされません。PLL2 は、RCC_CTLR レジスタの PLLON2 ビットを設定することで有効/無効にできます。
PLLRDY2 ビットは、PLL2 クロックが安定しているかどうかを示します。PLLRDY2 ビットがハードウェアによって 1 に設定されるまで、クロックはリリースされません。
PLL3 は、RCC_CTLR レジスタの PLLON3 ビットを設定することで有効/無効にできます。PLLRDY3 ビットは、PLL3 クロックが安定しているかどうかを示します。
PLLRDY3ビットがハードウェアによって1に設定されるまで、クロックは解放されません。
RCC_INTRレジスタのPLLRDYIEビット、PLL2RDYIEビット、およびPLL3RDYIEビットが設定されている場合、対応する割り込みを生成できます。
PLLクロックソース:
・ HSIクロック
・ HSIクロック(2分周)
・ HSEクロックまたはPLL2クロック(設定可能な分周器経由)
  PLL2とPLL3は、HSEクロック(設定可能な分周器(PREDIV2)経由)によって駆動されます

3.3.5 バス/ペリフェラルクロック

3.3.5.1 システムクロック (SYSCLK)

RCC_CFGR0レジスタのSW[1:0]ビットを設定することで、システムクロックソースを設定します。
SWS[1:0]ビットは、現在のシステムクロックソースの状態を示します。
・システムクロックとしてのHSI
・システムクロックとしてのHSE
・システムクロックとしてのPLLクロック
コントローラがリセットされると、HSIクロックがシステムクロックソースとしてデフォルトで選択されます。
クロックソース間の切り替えは、ターゲットクロックソースの準備が整ってから行う必要があります。

3.3.5.2 AHB/APB1/APB2バス周辺クロック(HCLK/PCLK1/PCLK2)

RCC_CFGR0レジスタのHPRE[3:0]、PPRE1[2:0]、PPRE2[2:0]ビットを設定することで、AHBバス、APB1バス、APB2バスのクロックをそれぞれ設定できます。
これらのバスクロックは、その下層に実装されたペリフェラルインターフェースのアクセスクロックリファレンスを決定します。
アプリケーションプログラムは、これらの値を調整することで、一部のペリフェラルの消費電力を削減できます。
さまざまな周辺モジュールは、RCC_AHBRSTR、RCC_APB1PRSTR、および RCC_APB2PRSTR レジスタのビットによってリセットされ、初期状態に戻すことができます。
RCC_AHBPCENR、RCC_APB1PCENR、およびRCC_APB2PCENRレジスタのビットを設定することで、異なるペリフェラルモジュールの通信クロックインターフェースを個別に有効化または無効化できます。
ペリフェラルを使用するには、まず対応するクロックビットを有効化して、そのレジスタにアクセスする必要があります。

3.3.5.3 RTCクロック(RTCCLK)

RCC_BDCTLRレジスタのRTCSEL[1:0]ビットを設定することで、RTCCLKのクロックソースをHSE/128、LSE、またはLSIクロックのいずれかにすることができます。
このビットを変更する前に、電源制御レジスタ(PWR_CR)のDBPビットが1に設定されていることを確認してください。
このビットは、バックアップドメインがリセットされた場合にのみリセットできます。
・LSEをRTCクロックとして使用する場合:LSEはバックアップドメインにあり、VBAT電源から電力を供給されているため、VBATが電力を供給し続けている限り、VDD電源がオフになってもRTCは動作を継続します。
・LSIをRTCクロックとして使用する場合:VDD電源がオフになった場合、RTCの自動ウェイクアップは保証されません。
・HSE/128をRTCクロックとして使用する場合:VDD電源がオフになった場合、または内部電圧レギュレータの電源がオフになった場合(1.8Vドメインから電源が除去された場合)、RTCの状態は保証されません。

3.3.5.4 独立したウォッチドッグクロック

独立ウォッチドッグがハードウェアオプションまたはソフトウェアアクセスによって起動された場合、LSI発振器は強制的にオンとなり、オフにすることはできません。
LSI発振器の一時停止後、クロックがIWDGに供給されます。

3.3.5.5 マイクロコントローラクロック出力(MCO)

マイクロコントローラクロック出力(MCO)機能により、クロックをMCOピンに出力できます。
対応するGPIOポートレジスタで、オルタネートプッシュプル出力モードを設定します。
RCC_CFGR0レジスタのMCO[3:0]ビットを設定することで、以下の8つのクロック信号をMCOクロック出力として選択できます。
システムクロック (SYSCLK) ・HSI ・HSE ・PLLクロックの2分周 ・PLL2クロック ・PLL3クロック ・PLL3クロックの2分周 ・XT1 外部 3~25MHz 発振器 (Ethernet用)

3.3.5.6 USBクロック

USBD 48MHz クロックソースは、設定可能な分周器を介した PLL クロックであり、PLL は 48MHz、96MHz、144MHz の 3 種類のクロック構成をサポートします。
RCC_CFGR0 レジスタの USBPRE[1:0] ビットを設定することで、48MHz クロックが USBD に出力されます。

USBOTG 48MHz クロックソースは、設定可能な分周器を介した PLL クロックまたは USBHSPLL クロックであり、RCC_CFGR2 レジスタの USB_CLK_SRC ビットを設定することで選択できます。
設定可能な分周器を介した PLL クロックをクロックソースとして選択する場合の設定手順については、USBD を参照してください。
クロックソースとして USBHSPLL クロックを選択した場合、RCC_CFGR2 レジスタの USBHS_CKREFSEL[1:0] ビットを設定することで、 USBHS PLL リファレンスクロック周波数を選択できます(リファレンスクロック周波数は USBHS PLL 入力クロックと同じである必要があります)。

USBHDのクロックソースはUSBHSPLLクロックです。USBHS PLLリファレンスクロック周波数は、RCC_CFGR2レジスタのUSBHS_CKREFSEL[1:0]ビットを設定することで選択できます (リファレンスクロック周波数はUSBHS PLL入力クロックと同じである必要があります)。RCC_CFGR2レジスタのUSBHS_PLLALIVEビットを設定することで、USB PHY内部PLLを有効にできます。

3.3.5.7 ETHクロック

CH32V203K8T6は関係無い。
詳細については、セクション27.4.5.1を参照してください。

3.3.5.8 I2SとRNGクロック

I2SおよびRNGのクロックソースは、PLL3VCOまたはシステムクロック(SYSCLK)を選択できます。
RCC_CFGR2レジスタのI2S2SRC/I2S3SRC/RNG_SRCビットを設定することで、I2S2/I2S3/RNGのクロックソースを選択できます。

3.3.6 クロックセキュリティシステム

クロックセキュリティシステムは、コントローラの動作保護機構です。
HSEクロックに障害が検出されると、HSIクロックに切り替え、割り込み通知を生成してソフトウェアに障害を通知し、MCUが救済措置を実行できるようにします。
RCC_CTLRレジスタのCSSONビットを1に設定することで、クロックセキュリティシステムを起動できます。
この場合、クロック検出器はHSE発振器の起動遅延(HSERDY=1)後に有効になり、HSE発振器が停止した後に無効になります。
システム動作中にHSEクロックに障害が検出されると、HSE発振器は無効になり、クロック障害イベントがアドバンストコントロールタイマ(TIM1およびTIM8)のブレーク入力に送信されます。
クロックセキュリティ割り込みが生成され、CSSFビットが1に設定され、アプリケーションプログラムはマスク不可割り込み(NMI)に入ります。
CSSFビットはCSSCビットをセットすることでクリアでき、NMI割り込み保留ビットはキャンセルできます。

現在のHSEがシステムクロックとして選択されている場合、または現在のHSEがPLL入力クロックとして選択され、 PLLがシステムクロックとして選択されている場合、クロックセキュリティシステムは、障害が発生すると自動的にシステムクロックをHSI発振器に切り替え、HSE発振器とPLLを無効にします。





3.4 制御を拡張する

システムは拡張制御ユニット(EXTEND_CTRレジスタ)を提供します。
このユニットにAHBクロックを使用する場合、リセットはシステムリセット時にのみ実行されます。
主に以下の拡張制御ビット機能が含まれます。
(1) 内蔵電圧の調整
LDOTRIMおよびULLDOTRIMにはデフォルト値が選択されており、パフォーマンスと消費電力の調整時に値を変更できます。

(2) PLLクロックの選択
HSIPREは、元のクロック構成レジスタと連携して、PLLの入力クロックとしてHSIクロックを分周するかどうかを選択します。

(3)ロックアップ機能モニタ
LKUPENが有効になっている場合、システムのロックアップモニタが有効になります。
ロックアップが発生すると、システムはソフトウェアリセットを実行し、LKUPRESETを1に設定します。このビットは読み出し後、1を書き込むことでクリアできます。

(4) USBDモジュールの内蔵抵抗と通信速度制御
USBフルスピードデバイスコントローラ(USBD)は、USBDPUを介して内蔵プルアップ抵抗(1.5KΩ)を使用するかどうかを選択します。
有効でない場合は、USBピンにプルアップ抵抗を接続する必要があります(低速モードではUD-ピン、フルスピードモードではUD+ピンに接続)。
現在のUSBデバイスの速度モードはUSBDLSによって設定されます。

(5) ETHモジュール 10M Ethernetおよび1000M Ethernet RGMIIインターフェース有効化制御ビット
CH32V203K8T6は関係無い。
ETH_10Mを介して10M Ethernetを有効化します。
ETH_RGMIIを介して1000M Ethernet RGMIIインターフェースを有効化します。

(6)低電力モード時のHSE発振制御ビット
このビットは、低電力モード時にHSEを発振させるかどうかを決定します。
注:製品番号によって、拡張レジスタビットの定義が異なります。
詳細は、拡張制御レジスタ(EXTEND_CTR)の説明を参照してください。




3.5 レジスタの説明

表3-1 RCC関連レジスタ
NameAccess addressDescriptionReset value
R32_RCC_CTLR0x40021000クロック制御レジスタ0x0000xx83
R32_RCC_CFGR00x40021004クロック構成レジスタ00x00000000
R32_RCC_INTR0x40021008クロック割り込みレジスタ0x00000000
R32_RCC_APB2PRSTR0x4002100CAPB2 周辺リセットレジスタ0x00000000
R32_RCC_APB1PRSTR0x40021010周辺リセットレジスタ0x00000000
R32_RCC_AHBPCENR0x40021014AHB周辺クロック有効化レジスタ0x00000014
R32_RCC_APB2PCENR0x40021018APB2周辺クロック有効化レジスタ0x00000000
R32_RCC_APB1PCENR0x4002101CAPB1周辺クロック有効化レジスタ0x00000000
R32_RCC_BDCTLR0x40021020バックアップドメイン制御レジスタ0x00000000
R32_RCC_RSTSCKR0x40021024制御/ステータスレジスタ0x0C000000
R32_RCC_AHBRSTR0x40021028AHBペリフェラルリセットレジスタ0x00000000
R32_RCC_CFGR20x4002102CAHBペリフェラルリセットレジスタ0x00000000

表3‐2 EXTEND関連レジスタ
NameAccess addressDescriptionReset value
R32_EXTEND_CTR0x40023800構成拡張制御レジスタ0x00000A00

3.5.1 クロック制御レジスタ(RCC_CTLR)

CTLR =Clock conTroL Register | Access base address 0x40021000 Offset address: 0x00
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedPLL3RDYPLL3ONPLL2RDYPLL2ONPLLRDYPLLON ReservedCSSONHSEBYPHSERDYHSEON HSICAL HSITRIMReservedHSIRDYHSION
RORORWRORWRORW RORWRWRORW RO RWRORORW
00000000 00000000 xxxxxxxx 10000011

PLL3RDY [RO]

PLL3クロックレディロックフラグビット(ハードウェアによってセット)
1PLL3がロックされています
0PLL3がロック解除されています
注:CH32F20x_D8CおよびCH32V30x_D8Cに適用されま

PLL3ON [RW]

PLL3クロック有効化制御ビット
1PLL3有効化
0PLL3無効化
注:このビットは、ストップモードまたはスタンバイ低消費電力モードに移行するとハードウェアによってクリアされます。
CH32F20x_D8CおよびCH32V30x_D8Cに適用されます。

PLL2RDY [RO]

PLL2クロックレディロックフラグビット(ハードウェアによってセット)
1PLL2がロックされています
0PLL2がロック解除されています
注:CH32F20x_D8CおよびCH32V30x_D8Cに適用されま

PLL2ON [RW]

PLL2クロック有効化制御ビット
1PLL2有効化
0PLL2無効化
注:このビットは、ストップモードまたはスタンバイ低消費電力モードに移行するとハードウェアによってクリアされます。
CH32F20x_D8CおよびCH32V30x_D8Cに適用されます。

PLLRDY [RO]

PLLクロックレディロックフラグビット(ハードウェアによってセット)
1PLLがロックされています
0PLLがロック解除されています

PLLON [RW]

PLLクロック有効化制御ビット
1PLL有効化
0PLL無効化
注:このビットは、ストップモードまたはスタンバイ低電力モードに入るとハードウェアによってクリアされます。

CSSON [RW]

クロックセキュリティシステム有効化制御ビット
1※1 クロックセキュリティシステムを有効にする
0クロックセキュリティシステムを無効化する
※1 HSEが準備完了状態(HSERDYが1にセットされている状態)の場合、HSEクロック検出器はハードウェアによって有効化されます。
HSEクロック障害が検出されると、 CSSFフラグとNMI割り込みが有効になります。
HSEが準備完了状態でない場合、HSEクロック検出器はハードウェアによって無効化されます。

HSEBYP [RW]

外部高速水晶振動子バイパス制御ビット
1外部高速水晶/セラミック共振器をバイパスする。(外部クロックソースを使用)RW
0外部高速水晶/セラミック共振器をバイパスしない
注:このビットはHSEONが0の場合にのみ書き込み可能です。

HSERDY [RO]

外部高速水晶発振器準備完了フラグビット(ハードウェアによりセット)
1外部高速水晶発振器準備完了
0外部高速水晶発振器の準備が完了していない
注:HSEONビットがクリアされた後、このビットをクリアするにはHSE発振器クロックの6サイクルかかります。

HSEON [RW]

外部高速水晶発振器有効化制御ビット
1HSE発振器を有効化
0HSE発振器を無効化
注:ストップモードまたはスタンバイ低電力モードに入ると、このビットはハードウェアによってクリアされます。

HSICAL [RO]

内部高速クロックのキャリブレーションは、起動時に自動的に初期化されます。

HSITRIM [RW]

内部高速クロックのトリミング: ユーザーはHSICAL[7:0]ビットに加算されるトリミング値を入力し、電圧や温度の変化に応じて内部HSI RC発振器の周波数を調整できます。
デフォルト値は16で、HSIは8MHz±1%の範囲でトリミング可能です。
連続する2つのHSICALステップ間のトリミングステップは約40kHzです。

HSIRDY [RO]

内部高速クロック(8MHz)準備完了フラグビット(ハードウェアによってセット)
1内部高速クロック(8MHz)準備完了
0内部高速クロック(8MHz)準備完了ではありません
注:HSIONビットがクリアされた後、このビットがクリアされるまでにHSI発振器クロックの6サイクルかかります。

HSION [RW]

内部高速クロック(8MHz)有効化制御ビット
1HSI発振器を有効化
0HSI発振器を無効化
注:システムがスタンバイモードおよびストップモードから復帰した場合、 またはシステムクロックとして選択された外部発振器(HSE)が故障した場合、 このビットはハードウェアによってセットされ、内部8MHz RC発振器を起動します。


3.5.2 クロック構成レジスタ0 (RCC_CFGR0)

CFGR0 =Clock conFiGuration register0 | Access base address 0x40021000 Offset address: 0x04
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ADC_CLK_ADJReservedETHPREMCO USBPREPLLMULPLLXTPREPLLSRC ADCPREPPRE2PPRE1 HPRESWSSW
RWRORWRW RWRWRWRW RWRWRW RWRORW
00000000 00000000 00000000 00000000

ADC_CLK_ADJ [RW]

ADCクロックのデューティサイクル調整
1ADCクロックのローレベルが長くなります
0ADCクロックのデューティサイクルは50%です

ETHPRE [RW]

Ethernetクロックソースの分周制御
1分周しない
02分周する
注:CH32V20x_D8W、CH32V20x_D8、およびCH32F20x_D8Wに適用されます。

MCO [RW]

マイクロコントローラクロック出力(MCO)制御
00xxクロックなし
0100システムクロック(SYSCLK)
0101内部8MHz RC発振器クロック(HSI)
0110外部発振器クロック(HSE)
0111PLLクロック(2分周)
1000PLL2クロック
1001PLL3クロック(2分周)
1010XT1外部発振器クロック
1011PLL3クロック
注:このクロック出力は、起動時またはMCOクロックソースの切り替え時に、一部のサイクルが切り捨てられる場合があります。

USBPRE [RW]

USBFS/USBOTGクロックプリスケーラ設定
00分周なし(PLLCLK=48MHzの場合)
012分周(PLLCLK=96MHzの場合)
103分周(PLLCLK=144MHzの場合)
11未使用

PLLMUL [RW]

PLL逓倍係数(これらのビットはPLLが無効の場合にのみ書き込み可能です)
CH32V20x_D8/CH32V20x_D8W/CH32F20x_D8W/
CH32V30x_D8/CH32F20x_D8/CH32V20x_D8/
CH32V20x_D8W/CH32F20x_D8Wの場合
0000PLL入力クロック x2
0001PLL入力クロック x3
0010PLL入力クロック x4
0011PLL入力クロック x5
0100PLL入力クロック x6
0101PLL入力クロック x7
0110PLL入力クロック x8
0111PLL入力クロック x9
1000PLL入力クロック x10
1001PLL入力クロック x11
1010PLL入力クロック x12
1011PLL入力クロック x13
1100PLL入力クロック x14
1101PLL入力クロック x15
1110PLL入力クロック x16
1111PLL入力クロック x18
CH32F20x_D8C/CH32V30x_D8Cの場合
0000PLL入力クロック x18
0001PLL入力クロック x3
0010PLL入力クロック x4
0011PLL入力クロック x5
0100PLL入力クロック x6
0101PLL入力クロック x7
0110PLL入力クロック x8
0111PLL入力クロック x9
1000PLL入力クロック x10
1001PLL入力クロック x11
1010PLL入力クロック x12
1011PLL入力クロック x13
1100PLL入力クロック x14
1101PLL入力クロック x6.5?
1110PLL入力クロック x15
1111PLL入力クロック x16

PLLXTPRE [RW]

PLLエントリのHSE分周比(PLLが無効の場合にのみ書き込み可能)
1HSEクロックを2分周します
0HSEクロックを分周しません

PLLSRC [RW]

PLLエントリクロックソース(PLLが無効の場合にのみ書き込み可能)
1HSEクロックは分周されていない、または2分周されていません
0HSIクロックは分周されていない、または2分周されていません

ADCPRE [RW]

ADCクロックソースの分周制御
00PCLK2を2分周
01PCLK2を4分周
10PCLK2を6分周
11PCLK2を8分周
注:ADCクロックは最大14MHzを超えてはなりません。

PPRE2 [RW]

APB2 クロックソースの分周制御
0xxHCLK を分周しない
100HCLK を 2 分周する
101HCLK を 4 分周する
110HCLK を 8 分周する
111HCLK を 16 分周する

PPRE1 [RW]

APB1 クロックソースの分周制御
0xxHCLK を分周しない
100HCLK を 2 分周する
101HCLK を 4 分周する
110HCLK を 8 分周する
111HCLK を 16 分周する

HPRE [RW]

AHBクロックソースのプリスケーラ制御
0xxxSYSCLKを分周しない
1000SYSCLKを2分周する
1001SYSCLKを4分周する
1010SYSCLKを8分周する
1011SYSCLKを16分周する
1100SYSCLKを64分周する
1101SYSCLKを128分周する
1110SYSCLKを256分周する
1111SYSCLKを512分周する
注:AHBクロックソースのプリスケール係数が1より大きい場合、プリフェッチバッファをオンにする必要があります。

SWS [RO]

システムクロック(SYSCLK)ステータス(ハードウェアによって設定)
00システムクロックソースはHSIです
01システムクロックソースはHSEです
10システムクロックソースはPLLです
11該当なし

SW [RW]

システムクロックソーススイッチ
00HSIをシステムクロックとして使用します
01HSEをシステムクロックとして使用します。
10PLL出力をシステムクロックとして使用します。
11該当なし
注:
システムがスタンバイモードおよびストップモードから復帰した場合、またはクロックセキュリティシステムが有効化(CSSON=1)された後にシステムクロックとして使用されていた外部発振器HSEに障害が発生した場合、ハードウェアによってHSIがシステムクロックとして強制的に選択されます。

3.5.3 クロック割り込みレジスタ(RCC_INTR)

INTR =clock INTerrupt Register | Access base address 0x40021000 Offset address: 0x08
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved CSSCPLL3RDYCPLL2RDYCPLLRDYCHSERDYCHSIRDYCLSERYDCLSIRYDC ReservedPLL3RDYIEPLL2RDYIEPLLRDYIEHSERDYIEHSIRDYIELSERYDIELSIRYDIE CSSFPLL3RDYFPLL2RDYFPLLRDYFHSERDYFHSIRDYFLSERYDFLSIRYDF
RO WOWOWOWOWOWOWOWO RORWRWRWRWRWRWRW RORORORORORORORO
00000000 00000000 00000000 00000000

CSSC [WO]

クロックセキュリティシステム割り込みクリアフラグビット (CSSF)
1CSSF割り込みフラグをクリアします
0影響なし

PLL3RDYC [WO]

PLL3レディ割り込みクリアフラグビット
1PLL3RDYF割り込みフラグをクリアします
0影響しません
注:CH32F20x_D8CおよびCH32V30x_D8Cに適用されます。

PLL2RDYC [WO]

PLL2レディ割り込みクリアフラグビット
1PLL2RDYF割り込みフラグをクリアします
0影響しません
注:CH32F20x_D8CおよびCH32V30x_D8Cに適用されます。

PLLRDYC [WO]

PLLレディ割り込みクリアフラグビット
1PLLRDYF割り込みフラグをクリアします
0影響しません

HSERDYC [WO]

HSE発振器準備完了割り込みクリアフラグビット
1HARDYF割り込みフラグをクリアします
0影響なし

HSIRDYC [WO]

HSI発振器準備完了割り込みクリアフラグビット
1HSIRDYF割り込みフラグをクリアします
0影響なし

LSERDYC [WO]

LSE発振器準備完了割り込みクリアフラグビット
1LSERDYF割り込みフラグをクリアします
0影響なし

LSIRDYC [WO]

LSI発振器準備完了割り込みクリアフラグビット
1LSIRDYF割り込みフラグをクリアします
0影響なし

PLL3RDYIE [RW]

PLL3レディ割り込み有効化ビット
1PLL3レディ割り込みを有効にする
0PLL3レディ割り込みを無効にする

PLL2RDYIE [RW]

PLL2レディ割り込み有効化ビット
1PLL2レディ割り込みを有効にする
0PLL2レディ割り込みを無効にする

PLLRDYIE [RW]

PLLレディ割り込み有効化ビット
1PLLレディ割り込みを有効にする
0PLLレディ割り込みを無効にする

HSERDYIE [RW]

HSEレディ割り込み有効化ビット
1HSEレディ割り込みを有効にする
0HSEレディ割り込みを無効にする

HSIRDYIE [RW]

HSIレディ割り込み有効化ビット
1HSIレディ割り込みを有効にする
0HSIレディ割り込みを無効にする

LSERDYIE [RW]

LSEレディ割り込み有効化ビット
1LSEレディ割り込みを有効にする
0LSEレディ割り込みを無効にする

LSIRDYIE [RW]

LSIレディ割り込み有効化ビット
1LSIレディ割り込みを有効にする
0LSIレディ割り込みを無効にする

CSSF [RO]

クロックセキュリティシステム割り込みフラグビット
1HSEクロックに障害が発生し、クロックセキュリティシステム割り込み(CSSI)が生成されます
0クロックセキュリティシステム割り込みは発生しません。ハードウェアによってセットされます。ソフトウェアでCSSCビットに1を書き込むとクリアされます。

PLL3RDYF [RO]

PLL3クロック準備完了割り込みフラグ
1PLL3クロックによるクロック準備完了割り込み発生
0PLL3クロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでPLL3RDYCに1を書き込んでください。
注:CH32F20x_D8CおよびCH32V30x_D8Cに適用されます。

PLL2RDYF [RO]

PLL2クロック準備完了割り込みフラグ
1PLL2クロックによるクロック準備完了割り込み発生
0PLL2クロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでPLL2RDYCに1を書き込んでください。
注:CH32F20x_D8CおよびCH32V30x_D8Cに適用されます。

PLLRDYF [RO]

PLLクロック準備完了割り込みフラグ
1PLLクロックによるクロック準備完了割り込み発生
0PLLクロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでPLLRDYCに1を書き込んでください。

HSERDYF [RO]

HSEクロック準備完了割り込みフラグ
1HSEクロックによるクロック準備完了割り込み発生
0HSEクロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでHSERDYCに1を書き込んでください。

HSIRDYF [RO]

HSIクロック準備完了割り込みフラグ
1HSIクロックによるクロック準備完了割り込み発生
0HSIクロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでHSIRDYCに1を書き込んでください。

LSERDYF [RO]

LSEクロック準備完了割り込みフラグ
1LSEクロックによるクロック準備完了割り込み発生
0LSEクロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでLSERDYCに1を書き込んでください。

LSIRDYF [RO]

LSIクロック準備完了割り込みフラグ
1LSIクロックによるクロック準備完了割り込み発生
0LSIクロックによるクロック準備完了割り込みなし。ハードウェアによりセット。クリアするにはソフトウェアでLSIRDYCに1を書き込んでください。

3.5.4 APB2 周辺リセットレジスタ (RCC_APB2PRSTR)

APB2PRSTR =APB2 Peripheral ReSseT Register | Access base address 0x40021000 Offset address: 0x0C
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved TIM10RSTTIM9RSTReserved ReservedUSART1RSTTIM8RSTSPI1RSTTIM1RSTADC2RSTADC1RSTReserved IOPERSTIOPDRSTIOPCRSTIOPBRSTIOPARSTReservedAFIORST
RO RWRWRO RORWRWRWRWRWRWRO RWRWRWRWRWRORW
00000000 00000000 00000000 00000000

TIM10RST [RW]

TIM10 リセット
1TIM10 をリセット
0影響なし

TIM9RST [RW]

TIM9 リセット
1TIM9 をリセット
0影響なし

USART1RST [RW]

USART1 リセット
1USART1 をリセット
0影響なし

TIM8RST [RW]

TIM8 リセット
1TIM8 をリセット
0影響なし

SPI1RST [RW]

SPI1 リセット
1SPI1 をリセット
0影響なし

TIM1RST [RW]

TIM1 リセット
1TIM1 をリセット
0影響なし

ADC2RST [RW]

ADC2 リセット
1ADC2 をリセット
0影響なし

ADC1RST [RW]

ADC1 リセット
1ADC1 をリセット
0影響なし

IOPERST [RW]

IO port PE リセット
1PE をリセット
0影響なし

IOPDRST [RW]

IO port PD リセット
1PD をリセット
0影響なし

IOPCRST [RW]

IO port PC リセット
1PC をリセット
0影響なし

IOPBRST [RW]

IO port PB リセット
1PB をリセット
0影響なし

IOPARST [RW]

IO port PA リセット
1PA をリセット
0影響なし

AFIORST [RW]

代替機能IOリセット リセット
1代替機能をリセットします
0影響なし

3.5.5 APB1 周辺リセットレジスタ (RCC_APB1PRSTR)

APB1PRSTR =APB1 Peripheral ReSet Register | Access base address 0x40021000 Offset address: 0x10
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedDACRSTPWRRSTBKPRSTCAN2RSTCAN1RSTReserved USBDRSTI2C2RST12C1RSTUSART5RSTUSART4RSTUSART3RSTUSART2RSTReserved SPI3RSTSPI2RSTReservedWWDGRSTReservedUART8RST UART7RSTUART6RSTTIM7RSTTIM6RSTTIM5RSTTIM4RSTTIM3RSTTIM2RST
RORWRWRWRWRWRO RWRWRWRWRWRWRWRO RWRWRORWRORW RWRWRWRWRWRWRWRW
00000000 00000000 00000000 00000000

DACRST [RW]

DACモジュールのリセット
1DACをリセットします
0効果なし

PWRRST [RW]

電源インターフェースモジュールのリセット
1電源インターフェースをリセット
0効果なし

BKPRST [RW]

バックアップインターフェースのリセット
1バックアップインターフェースをリセットします
0効果なし

CAN2RST [RW]

CAN2モジュールのリセット
1CAN2をリセットします
0効果なし

CAN1RST [RW]

CAN1モジュールのリセット
1CAN1をリセットします
0効果なし

USBDRST [RW]

USBDモジュールのリセット
1USBDをリセットします
0効果なし

I2C2RST [RW]

I2C2インターフェースのリセット
1I2C2をリセットします
0効果なし

I2C1RST [RW]

I2C1インターフェースのリセット
1I2C1をリセットします
0効果なし

USART5RST [RW]

USART5インターフェースのリセット
1USART5をリセットします
0効果なし

USART4RST [RW]

USART4インターフェースのリセット
1USART4をリセットします
0効果なし

USART3RST [RW]

USART3インターフェースのリセット
1USART3をリセットします
0効果なし

USART2RST [RW]

USART2インターフェースのリセット
1USART2をリセットします
0効果なし

SPI3RST [RW]

SPI3インターフェースのリセット
1SPI3をリセットします
0効果なし

SPI2RST [RW]

SPI2インターフェースのリセット
1SPI2をリセットします
0効果なし

WWDGRST [RW]

ウィンドウウォッチドッグのリセット
1ウィンドウウォッチドッグをリセットします
0効果なし

USART8RST [RW]

USART8インターフェースのリセット
1USART8をリセットします
0効果なし

USART7RST [RW]

USART7インターフェースのリセット
1USART7をリセットします
0効果なし

USART6RST [RW]

USART6インターフェースのリセット
1USART6をリセットします
0効果なし

TIM7RST [RW]

Timer7モジュールのリセット
1Timer7をリセットします
0効果なし

TIM6RST [RW]

Timer6モジュールのリセット
1Timer6をリセットします
0効果なし

TIM5RST [RW]

Timer5モジュールのリセット
1Timer5をリセットします
0効果なし

TIM4RST [RW]

Timer4モジュールのリセット
1Timer4をリセットします
0効果なし

TIM3RST [RW]

Timer3モジュールのリセット
1Timer3をリセットします
0効果なし

TIM2RST [RW]

Timer2モジュールのリセット
1Timer2をリセットします
0効果なし


3.5.6 AHBペリフェラルクロックイネーブルレジスタ(RCC_AHBPCENR)

AHBPCENR =AHB Peripheral Clock ENable Register | Access base address 0x40021000 Offset address: 0x14
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedETHMACRXEN ETHMACTXENETHMACENDVPENOTGENUSBHSENSDIOENRNGENFSMCEN ReservedCRCENReservedSRAMENDMA2ENDMA1EN
RORW RWRWRWRWRWRWRWRW RORWRORWRWRW
00000000 00000000 00000000 00000100

ETHMACRXEN [RW]

Ethernet MAC 受信クロックの有効化
1Ethernet MAC 受信クロックが有効
0Ethernet MAC 受信クロックが無効

ETHMACTXEN [RW]

Ethernet MAC 送信クロックの有効化
1Ethernet MAC 送信クロックが有効
0Ethernet MAC 送信クロックが無効

ETHMACEN [RW]

Ethernet MAC クロックの有効化
1Ethernet MAC クロックが有効
0Ethernet MAC クロックが無効

DVPEN [RW]

CVPモジュールクロックの有効化
1DVPクロックが有効
0DVPクロックが無効

OTGEN [RW]

USBOTGモジュールクロックの有効化
1USBOTGクロックが有効
0USBOTGクロックが無効

USBHSEN [RW]

USBHSモジュールクロックの有効化
1USBHSクロックが有効
0USBHSクロックが無効

SDIOEN [RW]

SDIOモジュールクロックの有効化
1SDIOクロックが有効
0SDIOクロックが無効

RNGEN [RW]

RNGモジュールクロックの有効化
1RNGクロックが有効
0RNGクロックが無効

FSMCEN [RW]

FSMCENモジュールクロックの有効化
1FSMCENクロックが有効
0FSMCENクロックが無効

CRCEN [RW]

CRCモジュールクロックの有効化
1CRCクロックが有効
0CRCクロックが無効

SRAMEN [RW]

SRAMインターフェースクロックの有効化
1スリープモードでは、SRAMインターフェースクロックが有効です
0 スリープモードでは、SRAMインターフェースクロックが無効です

DMA2EN [RW]

DMA2モジュールクロックの有効化
1DMA2クロックが有効
0DMA2クロックが無効

DMA1EN [RW]

DMA1モジュールクロックの有効化
1DMA1クロックが有効
0DMA1クロックが無効
注意:ペリフェラルクロックが有効になっていない場合、ペリフェラルレジスタの値はソフトウェアで読み取ることができず、返される値は常に 0 になります。

3.5.7 APB2 周辺クロック有効化レジスタ (RCC_APB2PCENR)

APB2PCENR =APB2 Peripheral Clock ENable Register | Access base address 0x40021000 Offset address: 0x18
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved TIM10ENTIM9ENReserved ReservedUSART1ENTIM8ENSPI1ENTIM1ENADC2ENADC1ENReserved IOPEENIOPDENIOPCENIOPBENIOPAENReservedAFIOEN
RO RWRWRO RORWRWRWRWRWRWRO RWRWRWRWRWRORW
00000000 00000000 00000000 00000000

TIM10EN [RW]

TIM10 インターフェースクロック有効化ビット
1TIM10クロック有効化
0クロック無効化

TIM9EN [RW]

TIM9 インターフェースクロック有効化ビット
1TIM9クロック有効化
0クロック無効化

USART1EN [RW]

USART1 インターフェースクロック有効化ビット
1USART1クロック有効化
0USART1クロック無効化

TIM8EN [RW]

TIM8 インターフェースクロック有効化ビット
1TIM8クロック有効化
0TIM8クロック無効化

SPI1EN [RW]

SPI1 インターフェースクロック有効化ビット
1SPI1クロック有効化
0SPI1クロック無効化

TIM1EN [RW]

TIM1 インターフェースクロック有効化ビット
1TIM1クロック有効化
0TIM1クロック無効化

ADC2EN [RW]

ADC2 モジュールクロック有効化ビット
1ADC2クロック有効化
0ADC2クロック無効化

ADC1EN [RW]

ADC1 モジュールクロック有効化ビット
1ADC1クロック有効化
0ADC1クロック無効化

IOPEEN [RW]

IO port PE クロック有効化ビット
1PEクロック有効化
0PEクロック無効化

IOPDEN [RW]

IO port PD クロック有効化ビット
1PDクロック有効化
0PDクロック無効化

IOPCEN [RW]

IO port PC クロック有効化ビット
1PCクロック有効化
0PCクロック無効化

IOPBEN [RW]

IO port PB クロック有効化ビット
1PBクロック有効化
0PBクロック無効化

IOPAEN [RW]

IO port PA クロック有効化ビット
1PAクロック有効化
0PAクロック無効化

AFIOEN [RW]

代替機能 IO クロック有効化ビット
1代替機能 IO クロックが有効化
0代替機能 IO クロックが無効化
注意:ペリフェラルクロックが有効になっていない場合、ペリフェラルレジスタの値はソフトウェアで読み取ることができず、返される値は常に 0 になります。

3.5.8 APB1 周辺クロック有効化レジスタ (RCC_APB1PCENR)

APB1PCENR =APB1 Peripheral Clock ENable Register | Access base address 0x40021000 Offset address: 0x1C
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedDACENPWRENBKPENCAN2ENCAN1ENReserved USBDENI2C2EN12C1ENUSART5ENUSART4ENUSART3ENUSART2ENReserved SPI3ENSPI2ENReservedWWDGENReservedUART8EN UART7ENUART6ENTIM7ENTIM6ENTIM5ENTIM4ENTIM3ENTIM2EN
RORWRWRWRWRWRO RWRWRWRWRWRWRWRO RWRWRORWRORW RWRWRWRWRWRWRWRW
00000000 00000000 00000000 00000000

DACEN [RW]

DACモジュールクロック有効化ビット
1DACクロック有効化
0DACクロック無効化

PWREN [RW]

電源インターフェースクロック有効化ビット
1電源インターフェースクロック有効化
0電源インターフェースクロック無効化

BKPEN [RW]

バックアップインターフェースのリセット
1バックアップインターフェースクロック有効化
0バックアップインターフェースクロック無効化

CAN2EN [RW]

CAN2モジュールクロック有効化ビット
1CAN2クロック有効化
0CAN2クロック無効化

CAN1EN [RW]

CAN1モジュールクロック有効化ビット
1CAN1クロック有効化
0CAN1クロック無効化

USBDEN [RW]

USBDモジュールクロック有効化ビット
1USBDクロック有効化
0USBDクロック無効化

I2C2EN [RW]

I2C2インターフェースクロック有効化ビット
1I2C2クロック有効化
0クI2C2ロック無効化

I2C1EN [RW]

I2C1インターフェースクロック有効化ビット
1I2C1クロック有効化
0I2C1クロック無効化

USART5EN [RW]

USART5インターフェースクロック有効化ビット
1USART5クロック有効化
0USART5クロック無効化

USART4EN [RW]

USART4インターフェースクロック有効化ビット
1USART4クロック有効化
0USART4クロック無効化

USART3EN [RW]

USART3インターフェースクロック有効化ビット
1USART3クロック有効化
0USART3クロック無効化

USART2EN [RW]

USART2インターフェースクロック有効化ビット
1USART2クロック有効化
0USART2クロック無効化

SPI3EN [RW]

SPI3インターフェースクロック有効化ビット
1SPI3クロック有効化
0SPI3クロック無効化

SPI2EN [RW]

SPI2インターフェースクロック有効化ビット
1SPI2クロック有効化
0SPI2クロック無効化

WWDGEN [RW]

ウィンドウウォッチドッグクロック有効化ビット
1ウィンドウウォッチドッグクロック有効化
0ウィンドウウォッチドッグクロック無効化

USART8EN [RW]

USART8インターフェースクロック有効化ビット
1USART8クロック有効化
0USART8クロック無効化

USART7EN [RW]

USART7インターフェースクロック有効化ビット
1USART7クロック有効化
0USART7クロック無効化

USART6EN [RW]

USART6インターフェースクロック有効化ビット
1USART6クロック有効化
0USART6クロック無効化

TIM7EN [RW]

Timer7モジュールクロック有効化ビット
1Timer7クロック有効化
0Timer7クロック無効化

TIM6EN [RW]

Timer6モジュールクロック有効化ビット
1Timer6クロック有効化
0Timer6クロック無効化

TIM5EN [RW]

Timer5モジュールクロック有効化ビット
1Timer5クロック有効化
0Timer5クロック無効化

TIM4EN [RW]

Timer4モジュールクロック有効化ビット
1Timer4クロック有効化
0Timer4クロック無効化

TIM3EN [RW]

Timer3モジュールクロック有効化ビット
1Timer3クロック有効化
0Timer3クロック無効化

TIM2EN [RW]

Timer2モジュールクロック有効化ビット
1Timer2クロック有効化
0Timer2クロック無効化
注意:ペリフェラルクロックが有効になっていない場合、ペリフェラルレジスタの値はソフトウェアで読み取ることができず、返される値は常に 0 になります。

3.5.9 バックアップドメイン制御レジスタ (RCC_BDCTLR)

BDCTLR =Backup Domain ConTroL Register | Access base address 0x40021000 Offset address: 0x20
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedBDRST RTCENReservedRTCSEL ReservedLSEBYPLSERDYLSEON
RORW RWRORW RORWRORW
00000000 00000000 00000000 00000000

BDRST [RW]

バックアップドメインソフトウェアリセット制御
1バックアップドメイン全体をリセットします
0リセットを無効にします

RTCEN [RW]

RTCクロック有効化制御
1RTCクロック有効化
0RTCクロック無効化
注:RTCクロックは、RTCSEL!=0の場合にのみ有効化できます。
それ以外の場合は、ハードウェアによって強制的に0に設定されます。

RTCSEL [RW]

RTCクロックソースの選択
00クロックなし
01LSE発振器クロック
10LSI発振器クロック
11HSE発振器クロックの128分周
注:RTCクロックソースを選択(RTCEN=1)すると、次にバックアップドメインがリセットされるまで変更できません。
BDRSTビットをセットすることでデフォルトに戻すことができます。

LSEBYP [RW]

外部低速発振器(LSE)バイパス制御ビット
1外部低速水晶/セラミック共振器をバイパス(外部クロックソースを使用)
0外部低速水晶/セラミック共振器をバイパスしない
注:このビットは、LSEON が 0 の場合にのみ書き込み可能です。

LSERDY [RO]

外部低速発振器準備完了フラグビット(ハードウェアによってセット)
1外部低速発振器準備完了
0外部低速発振器準備完了ではない
注:LSEONビットがクリアされた後、このビットをクリアするにはLSEクロックの6サイクルかかります。

LSEON [RW]

外部低速水晶発振器有効化制御ビット
1LSE発振器有効化
0LSE発振器無効化
注:バックアップドメイン制御レジスタ(RCC_BDCTLR)のLSEON、LSEBYP、RTCSEL、およびRTCENビットはバックアップドメインにあります。
したがって、これらのビットはリセット後に書き込み保護状態となり、電源制御レジスタ(PWR_CR)のDBPビットが1に設定された後にのみ変更できます。
これらのビットはバックアップドメインのリセットによってのみクリアされます。
内部リセットまたは外部リセットはこれらのビットに影響を与えません。

3.5.10 制御/ステータスレジスタ(RCC_RSTSCKR)

RSTSCKR =Control/Status Register | Access base address 0x40021000 Offset address: 0x04
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
LPWRRSTFWWDGRSTFIWDGRSTFSFTRTFPORRSTFPINRSTFReservedRMVF Reserved ReservedLSIRDYLSION
ROROROROROROROWO RO RORORW
00001100 00000000 00000000 00000000

LPWRRSTF [RO]

低電力リセットフラグ
1低電力リセット発生
0低電力リセット未発生
低電力管理リセット発生時、ハードウェアによってセットされます。
ソフトウェアでRMVFビットに書き込むことでクリアされます。

WWDGRSTF [RO]

ウィンドウウォッチドッグリセットフラグ ウィンドウウォッチドッグリセットが発生しました
1
0ウィンドウウォッチドッグリセットは発生していません
ウィンドウウォッチドッグリセットが発生すると、ハードウェアによってセットされます。
ソフトウェアでRMVFビットに書き込むとクリアされます。

IWDGRSTF [RO]

独立ウォッチドッグリセットフラグ
1独立ウォッチドッグリセット発生
0独立ウォッチドッグリセット未発生
独立ウォッチドッグリセット発生時、ハードウェアによってセットされます。
ソフトウェアでRMVFビットに書き込むことでクリアされます。

SFTRSTF [RO]

ソフトウェアリセットフラグ
1ソフトウェアリセット発生
0ソフトウェアリセット未発生
ソフトウェアリセット発生時、ハードウェアによってセットされます。
ソフトウェアによるRMVFビットへの書き込みによってクリアされます。

PORRSTF [RO]

パワーオン/パワーダウンリセットフラグ
1パワーオン/パワーダウンリセット発生
0パワーオン/パワーダウンリセット未発生
パワーオン/パワーダウンリセット発生中はハードウェアによってセットされます。
ソフトウェアでRMVFビットに書き込むことでクリアされます。

PINRSTF [RO]

外部手動リセット(NRSTピン)フラグ
1NRSTピンリセット発生
0NRSTピンリセット未発生
NRSTピンリセット中はハードウェアによってセットされます。
ソフトウェアによるRMVFビットへの書き込みによってクリアされます。

RMVF [WO]

リセットフラグクリア制御
1リセットフラグをクリアします
0影響はありません

LSIRDY [RO]

内部低速クロック(LSI)準備完了フラグビット(ハードウェアによってセット)
1内部低速クロック(40kHz)準備完了
0内部低速クロック(40kHz)準備完了ではない
注:LSIONビットがクリアされた後、このビットをクリアするにはLSIクロックの3サイクルかかります。

LSION [RW]

内部低速クロック(LSI)有効化制御ビット
1LSI(40kHz)発振器有効化
0LSI(40kHz)発振器無効化
注意: リセット フラグはパワーオン リセットによってのみクリアできますが、その他はシステム リセットによってクリアできます。

3.5.11 AHBペリフェラルリセットレジスタ(RCC_AHBRSTR)

AHBRSTR =AHB peripheral ReSeT Register | Access base address 0x40021000 Offset address: 0x28
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
Reserved ETHMACRSTDVPRSTUSBHDRSTReserved
RO RWRORWRO
00000000 00000000 00000000 00000000

ETHMACRST [RW]

Ethernet MACリセット制御
1Ethernet MACをリセットする
0影響なし

DVPRST [RO]

DVPリセット制御
1DVPをリセットします
0影響なし

USBHDRST [RW]

USBHDモジュールのリセット制御
1USBHDをリセット
0影響なし


3.5.12 クロック構成レジスタ(RCC_CFGR2)

CFGR2 =clock ConFiGuration Register | Access base address 0x40021000 Offset address: 0x2C
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
USB_CLK_SRCUSBHS_PLLALIVEUSBHS_CKREFSELUSBHS_PLL_SRCUSBHS_PREDIV ReservedETH1G_125M_ENETH1G_SRCRNG_SRCI2S3SRCI2S2SRCPREDIV1SRC PLL3MULPLL2MUL PREDIV2PREDIV1
RWRWRWRWRW RORWRWRWRWRWRW RWRW RWRW
00000000 00000000 00000000 00000000

USB_CLK_SRC [RW]

USB 48MHz クロックソースの選択
1USB PHY
0PLLCLK

USBHS_PLLALIVE [RW]

USBHS PHY内部PLL制御ビット
1USB PHY内部PLL有効
0USB PHY内部PLL無効

USBHS_CKREFSEL [RW]

USBHS PLLリファレンスクロックの選択 (USBHS_PLL_SRC/USBHS_PREDIV)
003MHz
014MHz
108MHz
115MHz

USBHS_PLL_SRC [RW]

USBHS PLLリファレンスソースの選択
1HSI
0HSE

USBHS_PREDIV [RW]

USBHS PLLプリスケーラ
000分周なし
0012分周
0103分周
0114分周
1005分周
1016分周
1107分周
1118分周

ETH1G_125M_EN [RW]

ギガビットイーサネット 125M クロック有効化ビット
1有効
0無効

ETH1G_SRC [RW]

ギガビットイーサネット 125M クロック選択
00PLL2 VCO
01PLL3 VCO
1x外部PB1ピン入力

RNG_SRC [RW]

RNGクロックソースの選択
1PLL3 VCO
0システムクロック

I2S3SRC [RW]

I2S3クロックソース
1PLL3VCO
0システムクロック(SYSCLK)

I2S2SRC [RW]

I2S2クロックソース
1PLL3VCO
0システムクロック(SYSCLK)

PREDIV1SRC [RW]

PREDIV1 クロックソース
1PLL2
0HSE

PLL3MUL [RW]

PLL3の乗算係数(これらのビットはPLL3が無効の場合にのみ書き込むことができます)
0000PLL3入力クロック x2.5
0001PLL3入力クロック x2.5
0010PLL3入力クロック x4
0011PLL3入力クロック x5
0100PLL3入力クロック x6
0101PLL3入力クロック x7
0110PLL3入力クロック x8
0111PLL3入力クロック x9
1000PLL3入力クロック x10
1001PLL3入力クロック x11
1010PLL3入力クロック x12
1011PLL3入力クロック x13
1100PLL3入力クロック x14
1101PLL3入力クロック x15
1110PLL3入力クロック x16
1111PLL3入力クロック x20

PLL2MUL [RW]

PLL2の乗算係数(これらのビットはPLL2が無効の場合にのみ書き込むことができます)
0000PLL2入力クロック x2.5
0001PLL2入力クロック x2.5
0010PLL2入力クロック x4
0011PLL2入力クロック x5
0100PLL2入力クロック x6
0101PLL2入力クロック x7
0110PLL2入力クロック x8
0111PLL2入力クロック x9
1000PLL2入力クロック x10
1001PLL2入力クロック x11
1010PLL2入力クロック x12
1011PLL2入力クロック x13
1100PLL2入力クロック x14
1101PLL2入力クロック x15
1110PLL2入力クロック x16
1111PLL2入力クロック x20

PREDIV2 [RW]

PREDIV2 プリスケーラ係数(これらのビットは、PLL2 と PLL3 が両方とも無効の場合にのみ書き込み可能です)
0000PREDIV2 を分周しません
0001PREDIV2 入力クロックを 2分周します
0010PREDIV2 入力クロックを 3分周します
0011PREDIV2 入力クロックを 4分周します
0100PREDIV2 入力クロックを 5分周します
0101PREDIV2 入力クロックを 6分周します
0110PREDIV2 入力クロックを 7分周します
0111PREDIV2 入力クロックを 8分周します
1000PREDIV2 入力クロックを 9分周します
1001PREDIV2 入力クロックを 10分周します
1010PREDIV2 入力クロックを 11分周します
1011PREDIV2 入力クロックを 12分周します
1100PREDIV2 入力クロックを 13分周します
1101PREDIV2 入力クロックを 14分周します
1110PREDIV2 入力クロックを 15分周します
1111PREDIV2 入力クロックを 16分周します

PREDIV1 [RW]

PREDIV1 分周係数(これらのビットは PLL が無効の場合にのみ書き込むことができます)
0000PREDIV1 を分周しません
0001PREDIV1 入力クロックを 2分周します
0010PREDIV1 入力クロックを 3分周します
0011PREDIV1 入力クロックを 4分周します
0100PREDIV1 入力クロックを 5分周します
0101PREDIV1 入力クロックを 6分周します
0110PREDIV1 入力クロックを 7分周します
0111PREDIV1 入力クロックを 8分周します
1000PREDIV1 入力クロックを 9分周します
1001PREDIV1 入力クロックを 10分周します
1010PREDIV1 入力クロックを 11分周します
1011PREDIV1 入力クロックを 12分周します
1100PREDIV1 入力クロックを 13分周します
1101PREDIV1 入力クロックを 14分周します
1110PREDIV1 入力クロックを 15分周します
1111PREDIV1 入力クロックを 16分周します
注:ビット0はRCC_CFGR0レジスタのビット17と同じです。
RCC_CFGR0レジスタのビット17が変更されると、このレジスタのビット0も変更されます。

注: CH32F20x_D8C および CH32V30x_D8C に適用されます。

3.5.13 拡張制御レジスタ(EXTEND_CTR)

EXTEND_CTR =EXTEND ConTrol Register | Access base address 0x40023800 Offset address: 0x00
■レジスター内容
3130292827262524 2322212019181716 1514131211109 8 7 6 5 4 3 2 1 0
ReservedHSE_KEEP_LPLDOTRIMULLDOTRIM LKUPRESETLKUPENReservedHSIPREETH_RGMⅡETH_10MUSBDPUUSBDLS
RORWRWRW RW1RWRWRWRWRWRWRW
00000000 00000000 00001010 00000000

HSE_KEEP_LP [RW]

低消費電力モードにおけるHSE発振制御ビット
1HSEは低消費電力モード時も発振を継続します
0HSEは低消費電力モード時も発振を停止します
注:CH32V20x_D8、CH32V20x_D8W、CH32F20x_D8Wに適用されます。

LDOTRIM [RW]

LDO電圧トリミング

ULLDOTRIM [RW]

ULLDO電圧トリミング

LKUPRESET [RW]

LOCKUPリセットフラグ
1LOCKUPによるシステムリセット。1を書き込むことでクリアされます
0Normal

LKUPEN [RW]

LOCKUP検出機能
1有効:システムロックアップが発生すると、LOCKUP_RESETビットをリセットしてセットします
0無効

HSIPRE [RW]

HISクロック分周器:(このビットはPLLが無効の場合にのみ書き込み可能)
1HSIクロックがPLL入力クロックとして選択される
0HISクロックの2分周がPLL入力クロックとして選択される

ETH_RGMII [RW]

1000M Ethernet RGMII インターフェースの有効化
11000M Ethernet RGMII インターフェースを有効化
0無効化
注: CH32F20x_D8C および CH32V30x_D8C に適用されます。

ETH_10M [RW]

10M Ethernet 有効
110M Ethernet 有効
0無効
注:CH32F20x_D8C、CH32V30x_D8C、CH32V20x_D8 CH32V20x_D8W, CH32F20x_D8W, CH32F20x_D8 に適用されます。

USBDPU [RW]

USBD内部プルアップ抵抗の有効化
1有効(外付けプルアップ抵抗不要)
0無効(外付けプルアップ抵抗必要)

USBDLS [RW]

USBD動作モードの選択
1低速モード
0全速モード







































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