4 Backup Register (BKP)
この章は、CH32F2x、CH32V2x、およびCH32V3xファミリ全体に適用されます。
バックアップレジスタ(BKP)は、10個の16ビット汎用データレジスタを備え、20バイトのユーザーデータを保存できます。
主電源(VDD)がオフになった後も、このデータはVBAT電源によって保持されるため、スタンバイ状態、システムリセット、または電源リセットの影響を受けません。
さらに、BKPユニットは、改ざん検出管理、RTCクロックキャリブレーション、およびパルス出力機能も提供します。
バックアップレジスタ(BKP)は、10個の16ビット汎用データレジスタを備え、20バイトのユーザーデータを保存できます。
主電源(VDD)がオフになった後も、このデータはVBAT電源によって保持されるため、スタンバイ状態、システムリセット、または電源リセットの影響を受けません。
さらに、BKPユニットは、改ざん検出管理、RTCクロックキャリブレーション、およびパルス出力機能も提供します。
4.1 主な特徴
・20バイトのバックアップデータレジスタ
・タンパー検出(TAMPER)機能
・RTCクロックキャリブレーション機能
・PC13ピンにRTCクロックの64分周、アラームパルス、または秒パルスを出力
4.2 バックアップデータレジスタ
マイクロコントローラがリセットされると、バックアップレジスタとRTCへのアクセスは無効になります。
以下の操作でバックアップレジスタへのアクセスを有効にする必要があります。
以下の操作でバックアップレジスタへのアクセスを有効にする必要があります。
(1) RCC_APB1PCENRレジスタのPWRENビットとBKPENビットをセットして、バックアップインターフェースの電源と動作クロックを有効にします。
(2) 電源制御レジスタ(PWR_CTLR)のDBPビットをセットして、バックアップレジスタとRTCレジスタへのアクセスを有効にします。
(2) 電源制御レジスタ(PWR_CTLR)のDBPビットをセットして、バックアップレジスタとRTCレジスタへのアクセスを有効にします。
4.2.1 Backup data register
バックアップデータレジスタは、汎用データバッファとして使用できます。
VDD電源オフ時にVBAT電源によってデータを保存する機能があるため、重要なデータや機密データの保存に使用できます。
ただし、このデータはタンパーイベント発生後にすべてクリアされます。
VDD電源オフ時にVBAT電源によってデータを保存する機能があるため、重要なデータや機密データの保存に使用できます。
ただし、このデータはタンパーイベント発生後にすべてクリアされます。
4.2.2 改ざん検出(Tamper Detection)
外部信号(立ち上がりエッジまたは立ち下がりエッジ)が入力されると、タンパーイベントが生成され、
現在のシステムに保持されている重要な情報がハードウェアによって自動的にクリアされます。
タンパー検出はシステム情報のセキュリティを強化します。
タンパーイベントは、タンパー検出ピンで遷移エッジが検出されると生成されます(TPALビットに依存)。
タンパー検出割り込みが有効になっている場合は、同時にタンパー検出割り込みも生成されます。
タンパーイベントが発生している限り、すべてのバックアップデータレジスタはクリアされます。さらに、ハードウェア検出はメモリモードを採用しています。
タンパー検出機能が有効になっていない場合(TPE=0)、システムは遷移エッジがあるかどうかをサンプリングしてチェックし、 TPALビットの選択が満たされた場合は、タンパーイベントを事前にロックし、TPEビットを1に設定してタンパーイベントをトリガーします。
例:TPAL=0 の場合、TPAL が有効になっていない (TPE=0) が TAMPER ピンがすでに High になっていると、 TPE=1 になると追加のタンパーイベントが生成されます (システムは立ち上がりエッジを事前にロックします)。
TPAL=1 の場合、TPAL が有効になっていない (TPE=0) が TAMPER ピンがすでに Low になっていると、 TPE=1 になると追加のタンパーイベントが生成されます (システムは立ち下がりエッジを事前にロックします)。
したがって、不要なタンパーイベントによってバックアップレジスタがクリアされるのを防ぐため、 タンパーピンのハードウェア検出の開始時に BKP_TPCSR レジスタの CTE ビットを 1 に設定し、 ハードウェアによって記憶されている可能性のあるタンパーイベントを最初にクリアして、現在のタンパー検出ピンが無効であることを確認することをお勧めします。
注:VDD 電源が切断されている場合でも、タンパー検出機能は有効です。
データ バックアップ レジスタの不要なリセットを回避するために、TAMPER ピンは正しいレベルに正しく接続する必要があります。
タンパー検出はシステム情報のセキュリティを強化します。
タンパーイベントは、タンパー検出ピンで遷移エッジが検出されると生成されます(TPALビットに依存)。
タンパー検出割り込みが有効になっている場合は、同時にタンパー検出割り込みも生成されます。
タンパーイベントが発生している限り、すべてのバックアップデータレジスタはクリアされます。さらに、ハードウェア検出はメモリモードを採用しています。
タンパー検出機能が有効になっていない場合(TPE=0)、システムは遷移エッジがあるかどうかをサンプリングしてチェックし、 TPALビットの選択が満たされた場合は、タンパーイベントを事前にロックし、TPEビットを1に設定してタンパーイベントをトリガーします。
例:TPAL=0 の場合、TPAL が有効になっていない (TPE=0) が TAMPER ピンがすでに High になっていると、 TPE=1 になると追加のタンパーイベントが生成されます (システムは立ち上がりエッジを事前にロックします)。
TPAL=1 の場合、TPAL が有効になっていない (TPE=0) が TAMPER ピンがすでに Low になっていると、 TPE=1 になると追加のタンパーイベントが生成されます (システムは立ち下がりエッジを事前にロックします)。
したがって、不要なタンパーイベントによってバックアップレジスタがクリアされるのを防ぐため、 タンパーピンのハードウェア検出の開始時に BKP_TPCSR レジスタの CTE ビットを 1 に設定し、 ハードウェアによって記憶されている可能性のあるタンパーイベントを最初にクリアして、現在のタンパー検出ピンが無効であることを確認することをお勧めします。
注:VDD 電源が切断されている場合でも、タンパー検出機能は有効です。
データ バックアップ レジスタの不要なリセットを回避するために、TAMPER ピンは正しいレベルに正しく接続する必要があります。
4.2.3 RTCキャリブレーション
この機能を使用するには、改ざん検出端子を共通IOポートとして選択する必要があります。
BKP_TPCTLRレジスタのTPEビットをクリアしてください。
・パルス出力
BKP_OCTLRレジスタのASOEビットを設定し、RTCパルス出力を有効にし、ASOSビットをセットして、秒パルス出力またはアラームパルス出力のいずれかを選択します。
・RTCキャリブレーション
BKP_OCTLRレジスタのCCOビットを設定すると、内部RTCクロックを64分周したものが改ざん検出端子(TAMPER)に出力されます。
実際のテストでは、CAL[6:0]ビットをソフトウェアで設定することで、クロックを調整し、RTCをキャリブレーションしてください
BKP_OCTLRレジスタのASOEビットを設定し、RTCパルス出力を有効にし、ASOSビットをセットして、秒パルス出力またはアラームパルス出力のいずれかを選択します。
・RTCキャリブレーション
BKP_OCTLRレジスタのCCOビットを設定すると、内部RTCクロックを64分周したものが改ざん検出端子(TAMPER)に出力されます。
実際のテストでは、CAL[6:0]ビットをソフトウェアで設定することで、クロックを調整し、RTCをキャリブレーションしてください
4.2.4 BKP interface reset
VDD電源がオフの場合でも、BKPドメインはVBATから独立して電源を供給できます。
アプリケーションコードはBKPドメインレジスタのリセットを制御し、バックアップデータレジスタのBKP_DATAR1-10、ASOSビット、およびASOEビットは、 RCC_BDCTLRレジスタのBDRSTビットをソフトウェアで設定することでリセットされます。これは、RCCペリフェラルインターフェース制御BKPRSTビットの影響を受けません。
アプリケーションコードはBKPドメインレジスタのリセットを制御し、バックアップデータレジスタのBKP_DATAR1-10、ASOSビット、およびASOEビットは、 RCC_BDCTLRレジスタのBDRSTビットをソフトウェアで設定することでリセットされます。これは、RCCペリフェラルインターフェース制御BKPRSTビットの影響を受けません。
4.3 レジスタの説明
表4-1 BKP関連レジスタ
TPEが0の場合にのみTPALビットのステータスを変更することをお勧めします。
| Name | Access address | Description | Reset value |
|---|---|---|---|
| R16_BKP_DATAR 1 | 0x40006C04 | バックアップデータレジスタ 1 | 0x0000 |
| R16_BKP_DATAR 2 | 0x40006C08 | バックアップデータレジスタ 2 | 0x0000 |
| R16_BKP_DATAR 3 | 0x40006C0C | バックアップデータレジスタ 3 | 0x0000 |
| R16_BKP_DATAR 4 | 0x40006C10 | バックアップデータレジスタ 4 | 0x0000 |
| R16_BKP_DATAR 5 | 0x40006C14 | バックアップデータレジスタ 5 | 0x0000 |
| R16_BKP_DATAR 6 | 0x40006C18 | バックアップデータレジスタ 6 | 0x0000 |
| R16_BKP_DATAR 7 | 0x40006C1C | バックアップデータレジスタ 7 | 0x0000 |
| R16_BKP_DATAR 8 | 0x40006C20 | バックアップデータレジスタ 8 | 0x0000 |
| R16_BKP_DATAR 9 | 0x40006C24 | バックアップデータレジスタ 9 | 0x0000 |
| R16_BKP_DATAR10 | 0x40006C28 | バックアップデータレジスタ10 | 0x0000 |
| R16_BKP_OCTLR | 0x40006C2C | RTCキャリブレーションレジスタ | 0x0000 |
| R16_BKP_TPCTLR | 0x40006C30 | 改ざん検出制御レジスタ | 0x0000 |
| R16_BKP_TPCSR | 0x40006C34 | 改ざん検出ステータスレジスタ | 0x0000 |
4.3.1 バックアップデータレジスタ(BKP DATARx)(x=1~10)
BKP DATARx =Clock conFiGuration register0 | Access base address 0x40006C04 Offset address: 0x04-0x28
■レジスター内容
ユーザープログラムから呼び出すことができます。
注:これらのデータは、バックアップドメインリセット(BDRST)によってのみリセットされるか、タンパーピンイベントによって設定されます(タンパー検出ピンのTAMPER機能が有効な場合)。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||
| RW | |||||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DATA [RW]
バックアップデータ。ユーザープログラムから呼び出すことができます。
注:これらのデータは、バックアップドメインリセット(BDRST)によってのみリセットされるか、タンパーピンイベントによって設定されます(タンパー検出ピンのTAMPER機能が有効な場合)。
4.3.2 RTCキャリブレーションレジスタ(BKP_OCTLR)
CFGR0 =Clock conFiGuration register0 | Access base address 0x40006C04 Offset address: 0x30
■レジスター内容
注:このビットはバックアップドメインリセット(BDRST)によってのみリセットできます。
注:このビットはバックアップドメインリセット(BDRST)によってのみリセットできます。
注1: この機能を有効にするには、タンパー検出機能をオフにする必要があります。
注2: このビットはVDD電源がオフになるとクリアされます。
これにより、RTCクロックのキャリブレーションが可能になり、クロックを0~121ppmのステップで遅くすることができます。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | AS0S | ASOE | CCO | CAL | |||||||||||
| RO | RW | RW | RW | RW | |||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ASOS [RW]
TAMPERピンのアラーム/秒パルス出力の選択| 1 | 秒パルスを出力 |
| 0 | アラームパルスを出力 |
ASOE [RW]
TAMPERピン有効パルス出力ビット| 1 | アラームパルスまたは秒パルスの出力を有効にします |
| 0 | アラームパルスまたは秒パルスの出力を無効にします |
CCO [RW]
キャリブレーションクロック出力選択ビット| 1 | TEMPER端子から64分周されたRTCクロックを出力します |
| 0 | キャリブレーションクロックを出力しません |
注2: このビットはVDD電源がオフになるとクリアされます。
CAL [RW]
キャリブレーション値レジスタ。このレジスタの値は、220クロックパルスごとに無視されるクロックパルスの数を示します。これにより、RTCクロックのキャリブレーションが可能になり、クロックを0~121ppmのステップで遅くすることができます。
4.3.3 改ざん検出制御レジスタ(BKP_TPCTLR)
BKP_TPCTLR =TamPer detection ConTroL Register | Access base address 0x40006C04 Offset address: 0x34
■レジスター内容
注意:TPALビットとTPEビットが同時にクリアされると、誤ったタンパーイベントが発生します。| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | TPAL | TPE | |||||||||||||
| RO | RW | RW | |||||||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TPAL [RW]
改ざん検出ピン(TEMPERピン)のアクティブレベル設定| 1 | 改ざん検出ピンがローレベルの場合、すべてのバックアップデータレジスタがクリアされます(ハードウェアロックの立ち下がりエッジ) |
| 0 | 改ざん検出ピンがハイレベルの場合、すべてのバックアップデータレジスタがクリアされます(ハードウェアロックの立ち上がりエッジ) |
TPE [RW]
タンパー(Tamper)検出ピン有効ビット| 1 | TEMPERピンをタンパー検出に使用します |
| 0 | TEMPERピンを共通IOポートとして使用します。 |
TPEが0の場合にのみTPALビットのステータスを変更することをお勧めします。
4.3.4 改ざん検出ステータスレジスタ(BKP_TPCSR)
BKP_TPCSR =TamPer detection Status Register | Access base address 0x40006C04 Offset address: 0x04
■レジスター内容
注:このビットは、システムがリセットされたとき、またはスタンバイモードからウェイクアップされたときにのみリセットされます。
注:このビットが1の場合、すべてのBKP_DATARxレジスタがクリアされ、このビットがリセットされるまでは、BKP_DATARxレジスタへのすべての書き込み操作は無効になります。
注1:タンパー割り込みでは、コアを低電力モードからウェイクアップさせることはできません。
注2:このビットは、システムがリセットされるか、スタンバイモードからウェイクアップされた場合にのみリセットされます。
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Reserved | TIF | TEF | Reserved | TPIE | CTI | CTE | |||||||||
| RO | RO | RO | RO | RW | WO | WO | |||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TIF [RO]
タンパー(Tamper)割り込みフラグビット。| 1 | タンパーイベントが検出され、TPIEビットが1にセットされると、このビットがセットされます |
| 0 | CTIビットに1を書き込むとクリアされます。TPIEビットがリセットされると、このビットも同時にリセットされます |
TEF [RO]
タンパー(Tamper)イベントフラグビット| 1 | タンパーイベントが検出されると、このビットがセットされます |
| 0 | CTEビットに1を書き込むことでクリアされます |
TPIE [RW]
タンパー(Tamper)割り込み有効化ビット| 1 | タンパー検出割り込み有効(TPEを1に設定する必要があります) |
| 0 | タンパー検出割り込み無効 |
注2:このビットは、システムがリセットされるか、スタンバイモードからウェイクアップされた場合にのみリセットされます。
CTI [WO]
改ざん検出割り込みクリアビット| 1 | 書き込むとクリアされ、読み出された値は無効となります |
| 0 |
CTE [WO]
改ざん検出クリアビット| 1 | 書き込むとクリアされ、読み出される値は無効になります |
| 0 |
