STM32G4 – TAMP
タンパおよびバックアップ･レジスタ

1.0版

STM32タンパおよびバックアップレジスタのプレゼンテーションにようこそ。ここでは、改ざんに対するセキュリティを確保するために使用される、このペリフェラルの主な機能について説明します。

1

概要
STM32G4
VDD

パワースイッチ

VBAT

2• TAMPは32個のバックアップ･レジスタに対してタンパ検出時に消去可能• 2種類のタンパ入力:外部（3つGPIO）と内部（4つ）• バッテリ･バックアップ･ドメインに属しているため、メイン電源がオフのときにも機能する

VBATパワードメイン

RTC

TAMP

PE6

PA0

PC13

LSE
PC14 PC15

RTC_TAMP3

RTC_
TAMP2

RTC_
TAMP1

アプリケーション側の利点• タンパ保護されたバックアップ・レジスタ

32.768kHz• フィルタリングによる超低電力タンパ検出

TAMPペリフェラルは、メイン電源がオフのときにデータを保存するために使用される32ビットバックアップレジスタを備えています。これらのバックアップ レジスタは、タンパピンまたは一部の内部イベントでタンパ（改ざん）イベントが検出されたときに消去されるため、安全なデータを格納するために使用できます。
VBATドメインがバックアップバッテリによって供給される場合、タンパ検出は低電力モードで機能します。
改ざん防止回路には、超低電力デジタルフィルタリングが含まれており、誤ったタンパ検出を回避します。

2

主な機能

3

• 32個バックアップ･レジスタ:• VDD電源がオフの際、VBATによって電源がオンのバッテリ･バックアップ･ドメインにバックアップ･レジスタ（TAMP_BKP0-31R）が実装• 3個の外部タンパ検出イベント• 設定可能なフィルタおよび内部プルアップがある外部のパッシブ･タンパ･イベント• 4個の内部タンパ･イベント• タンパ検出はRTCタイムスタンプ･イベントを生成可能• 内部タンパ検出により、バックアップ・レジスタが消去• 外部タンパに関しては、消去を無効にすることも可能

TAMPの主な機能は次のとおりです。
128バイトのバックアップレジスタは、32個の 32ビットバックアップレジスタに分けられます。
これらのレジスタは、すべての低電力モードおよびVBATモードで保存され、3個のタンパピンのいずれかまたは4個の内部タンパ監視でタンパ検出イベントが発生すると消去されます。外部からのタンパイベントに関しては、ソフトウェアで、タンパイベントが検出されたときにバックアップレジスタを消去するかどうかを選択できます。
3本のタンパピンはVBATモードで使用できます。
外部タンパイベントは、プログラム可能なエッジ検出、または設定可能なフィルタを使用してレベルで検出することができ、超低電力モードで内部プルアップを使用します。
タイムスタンプ関数は、タンパイベントに応じて、タイムスタンプレジスタにカレンダーの内容を保存するために使用されます。

3ブロック図外部タンパ検出TAMP_IN1
TAMP_IN2

エッジ検出

TAMP_IN3

LSE (32.768kHz)

内部タンパ検出外部タンパ イネーブル/ディセーブル

HSE/32

LSEモニタリング
HSEモニタリング

レベル検出
フィルタ

Tamp_ker_ck= RTCCLK

4

RTCカレンダオーバーフロー

内部タンパ イネーブル/ディセーブル

STメーカーの読み出し

消去イネーブル/ディセーブル

LSI

APBバス

RCC_BDCR / RTCSEL

TAMPTAMPx (x=1-3)

ITAMPy (y=3-6)

Flashメモリの読出し保護がレベル1からレベル0に変更

reset

PCLK

コントロール&ステータスレジスタ

バックアップ･レジスタ

これは、TAMPのブロック図です。
TAMPには2個のクロックソースがあります。TAMPクロック（またはRTCCLK）は、フィルタリングを使用したレベル検出モードでのタンパ検出にのみ使用され、APBクロックはTAMPおよびバックアップレジスタの読み取りおよび書き込みアクセスに使用されます。
TAMPクロックは、高速外付けオシレータ（またはHSE）を32で除算、低速外付けオシレータ（またはLSE）、または低速内蔵オシレータ（LSI）のいずれかを使用できます。
LSEまたはLSIのみが、STOPモードとSTANDBYモードで機能します。
SHUTDOWNモードとVBATモードではLSEのみが機能します。
LSEモニタリング、HSEモニタリング、RTCカレンダオーバーフロー、およびSTの読み出しなど、いくつかの内部機能によってタンパイベントが発生する可能性があります。
内部および外部タンパには、それぞれ有効な制御ビットがあります。デフォルト
では、内部タンパは有効になっており、外部タンパは無効になっています。
また既定では、すべてのタンパ検出イベントによってバックアップレジスタが消去されます。外部タンパイベントは、バックアップレジスタを消去しないように設定できます。
バックアップレジスタは、システムのリセットまたはデバイスがSTANDBYモードから復帰したときにリセットされないことに注意してください。
タンパ検出イベントが発生した場合、またはフラッシュの読み出し保護がレベル1からレベル0に変更された場合、バックアップレジスタをリセットできます。
4タンパ検出5

超低電力耐タンパ回路

耐タンパスイッチ• VBATモードで使用できる3個のタンパ入力ピンとイベント

TAMP_IN1

TAMP_IN2

TAMP_IN3

TAMP_IN入力の静電容量

タンパ
検出

リセット

128バイトバックアップレジスタ• アクティブエッジまたはレベルでの設定可能• 外部タンパ･イベントが検出された場合のバックアップ･レジスタのリセット• 外部タンパの場合は無効になっている可能性がある• タンパはタイムスタンプ･イベントを生成可能

タンパの機能は、超低電力のタンパ検出回路を備えています。
その目的は、安全なアプリケーションのために物理的な改ざんを検出し、侵入の場合に機密データを自動的に消去することです。
3個のタンパ入力ピンとイベントがサポートされており、すべての低電力モードやVBATモードで機能します。
検出はエッジトリガまたはレベルトリガで、アクティブエッジまたはレベルはイベントごとに設定可能です。
プリチャージ時間は、TAMP_INX入力で大きなキャパシタンスをサポートするために、TAMPRECHビットによって決定されます。
タンパイベントは、侵入の試みの日付を記録するために使用できるタイムスタンプイベントを生成できます。
図に示すコンデンサはフィルタリングを目的としています。
外部コンデンサがタンパ入力に明示的に接続されていない場合、配線容量のモデルを気にする必要があります。
エッジ検出モードでは、外部プルアップが必要であることに注意してください。
レベル検出モードでは、次のスライドで説明されているように内部プルアップが使用されます。
5

タンパ検出6

フィルタリング付きの安全で超低電力のタンパ検出• 耐タンパ･スイッチの開状態を検出する設定可能なI/Oプル
アップ抵抗の使用• 異なるコンデンサの値をサポートする設定可能なプリチャージパルス• 1、2、4、8サイクル• 設定可能なフィルタ• サンプリング･レート：128、64、32、16、8、4、2、1Hz• MCUをウェイクアップさせるための割込みを生成する前の連続する同一のイベント数：1、2、4、8

タンパ検出回路には、超低電力デジタルフィルタが備わっています。
内部I/Oプルアップを使用して、耐タンパスイッチの状態を検出できます。
I/Oプルアップは、タンパピンがローレベルになった場合の消費電力を削減するためにプリチャージパルス中にのみ適用されます。
プリチャージパルスの継続時間は、異なるコンデンサの値をサポートするように設定可能で、1、2、4、8RTCクロックサイクルに設定できます。
ピンレベルはプリチャージパルスの最後にサンプリングされます。
フィルタは、タンパピンに適用できます。
デバイスをウェイクアップさせるための割込みを生成する前に、指定した数の連続する同一のイベントを検出する機能が搭載されています。
この数値は設定可能で、1～128Hzのプログラム可能なサンプリングレートで1、2、4、8個のイベントを設定できます。

6

タンパ検出–シグナル

7

RTCCLK

フローティング入力
(未接続)
スイッチ開
タンパ検出入力の電圧

入力電圧サンプリングはここで行われる
1サイクルのプリチャージ
2サイクルのプリチャージ
4サイクルのプリチャージ（8サイクル：非表示）
スイッチ閉

この図では、内部プルアップを使用したタンパ検出を示しています。
内部プルアップは、1、2、4、または8サイクルに適用できます。
スイッチを開いている場合、レベルはレジスタによってプルアップされます。
スイッチを閉じている場合、レベルはローのままになります。
入力電圧はプリチャージパルスの最後にサンプリングされます。

7タンパ検出8• タンパ検出は、割込みやトリガ･イベントを生成することができ、デジタル･フィルタリングの恩恵を受ける• 各イベントに対して割込みをイネーブル/ディセーブルに出来る• バックアップ･レジスタの消去は、外部イベントごとに設定可能• 低電力タイマへのハードウェア･トリガは、外部イベントごとに設定可能

タンパ検出回路は、割込みやトリガイベントの生成にも使用できます。
各タンパ割込みは個別にイネーブルまたはディセーブルにできます。
各外部タンパイベントは、バックアップレジスタを消去するかしないかを個別に構成できます。
各外部タンパイベントは、低電力タイマへのハードウェアトリガを生成するように個別に設定できます。
これにより、割込みやトリガ生成のために、これらのI/Oに存在するデジタルフィルタリングを利用できます。

8割込み割込みイベント

9説明

TAMPx

TAMP_INxピンで検出されたときにセットITAMPy

ITAMP_INyで内部タンパ･イベントが検出されたときにセット

TAMP
TAMPx検出回路
EN

TAMPxフラグ

TAMP_SR[TAMPxF]

クリア

TAMPx割込みステータス
TAMP_MISR[TAMPxMF]

TAMP_CR1[TAMPxE]TAMP_SCR[CTAMPxF]←1

TAMPx検出回路
EN

ITAMPyフラグ

TAMP_IER[TAMPxIE]TAMP_SR[ITAMPyF]

クリア

NVIC
TAMPx割込みステータス
TAMP_MISR[ITAMPyMF]

TAMP_CR1I[TAMPyE]
TAMP_SCR[CITAMPyF]←1

TAMP_IER[ITAMPyIE]

すべての割込みは、すべての低電力モードからプロセッサを起動することができます。すべてのタンパピンと内部タンパソースの検出は、割込みを生成できます。
タンパ検出回路は、TAMP_CR1レジスタをプログラミングすることでイネーブルまたはディセーブルにすることができます。
このオプションが有効で、タンパイベントが検出された場合、対応するフラグがTAMP_SRレジスタに設定されます。
次にTAMP_IERレジスタをマスクするか、タンパイベント割込みを有効にします。
割込みサービスルーチンは、タンパイベント割込みの原因を識別するフラグを含むTAMP_MISRレジスタを読み取ることによって、どのタンパイベントが発生したかを簡単に判断できます。
ネスト化されたベクタ割込みコントローラ（またはNVIC）には、RTCおよびタンパモジュールに関連する固有の入力があります。

9低電力モード
モード

10

説明

RUN

有効

SLEEP

有効
• TAMP割込みにより、デバイスはSLEEPモードを終了

低電力RUN

有効低電力SLEEP有効• TAMP割込みにより、デバイスは低電力SLEEPモードを終了

STOP0/STOP1

フィルタリングによるレベル検出は、LSEまたはLSIによってクロックされた場合にのみ有効になる• TAMP割込みにより、デバイスはSTOP0/STOP1モードを終了

STANDBY

フィルタリングによるレベル検出は、LSEまたはLSIによってクロックされた場合にのみ有効になる• TAMP割込みにより、デバイスはSTANDBYモードを終了

SHUTDOWN

フィルタリングによるレベル検出は、LSEによってクロックされた場合にのみ有効になる• TAMP割込みにより、デバイスはSHUTDOWNモードを終了

TAMPペリフェラルはすべての低電力モードでアクティブであり、TAMP割込みによってデバイスは低電力モードを終了します。
STOP0、STOP1、およびSTANDBYモードでは、TAMPのクロックにLSEまたはLSIクロックのみを使用できます。
SHUTDOWNモードではLSEのみが機能します。

10関連するペリフェラル

11• TAMPに関するペリフェラルのトレーニングを参照してください。
• リアルタイム・クロック(RTC)• リセットおよびクロック制御(RCC)• ネスト化されたベクト割込みコントローラ(NVIC)

リアルタイムクロックに関連する周辺機器のリストです。必要に応じて、これらの周辺トレーニングを参照してください。
• リアルタイムクロック• リセットとクロック制御• ネスト化されたベクト割込みコントローラ

11