8.1. 要点
● リセット元が活性になる時にマイクロ コントローラをリセットして初期状態に設定
● 各種状況を網羅する多数のリセット元
● 電源ONリセット
● 外部リセット
● ウォッチドッグ リセット
● 低電圧(Brown-out)リセット
● PDIリセット
● ソフトウェア リセット
● 非同期動作
● リセットにデバイス内のシステム クロックの走行が全く不要
● 応用コードからリセット元を読み取るためのリセット状態レジスタ 8.2. 概要
リセット システムはマイクロ コントローラ リセットを発行してデバイスをその初期状態に設定します。これはマイクロ コントローラがそれの電源定格以下で 動作するような時に動作が開始または継続しない状況のためです。リセット元が活性(有効)になった場合、デバイスは全てのリセット元が それらのリセットを開放するまでリセットに移行して保持されます。I/Oピンは直ちにHi-Zにされます。プログラム カウンタはリセット ベクタ位置に設 定され、全てのI/Oレジスタがそれらの初期値に設定されます。SRAM内容は保持されます。けれども、リセット発生時にデバイスがSRAM をアクセスする場合、アクセスされた位置の内容を保証することはできません。
リセットが全てのリセット元から開放された後、デバイスがリセット ベクタ アドレスから走行を始める前に、既定発振器が始動され、そして校正さ れます。既定により、これは最低プログラム アドレス(0)ですが、リセット ベクタをブート領域の最低アドレスへ移動することが可能です。
リセット機能は非同期で、故にデバイスをリセットするのにシステム クロックの走行が全く必要とされません。ソフトウェア リセット機能は使用者ソフトウェ アからの制御されたシステム リセットの発行を可能にします。
リセット状態(STATUS)レジスタは各リセット元に対する個別の状態フラグを持ちます。これは電源ONリセットで解除(0)され、最後の電源ONか らどのリセット元がリセットを発行したかを示します。
リセット システムの概要は図8-1.で示されます。
図8-1. リセット システム概要
電源ONリセット 外部リセット
ウォッチドッグ リセット
遅延計数器 計数器リセット
Q R S
Q
内部リセット プルアップ抵抗
低電圧検出リセット WDRF BORF EXTRF PORF リセット状態レジスタ
(STATUS)
時間経過 BODLEVEL2~0
ULP発振器 スパイク除去
STARTUPTIME1,0 PDIリセット
PDIRF
ソフトウェア リセット RESET
VCC
SRF
8.3. リセットの流れ
何れかのリセット元からのリセット要求は直ちにデバイスをリセットし、その要求が活性(有効)である限り、リセットを維持します。全てのリセット要 求が開放されると、再びデバイスが走行を始める前にデバイスは3つの段階を通って行きます。
● リセット計数器遅延
8.3.1. リセット計数器
リセット計数器は全てのリセット要求が開放された 時から設定可能な期間でリセット開放を遅らせる ことができます。リセット遅延は超低電力(ULP)内 部発振器の1kHz出力から計時され、加えて、リ セットが開放されるのに先立って24システム クロック (
clk
SYS)周期数が計数されます。リセット遅延は STARTUPTIMEヒューズ ビットによって設定され ます。選択可能な遅延は表8-1.で示されます。リセットが起こると必ず、クロック体系がリセットされ、
clk
SYS用の供給元として2MHz内部発振器が選ばれます。表8-1. リセット遅延
STARTUPTIME1,0 1kHz ULP発振器周期数 推奨使用方法 0 0 64
clk
ULP + 24clk
SYS 始動での周波数安定 0 1 4clk
ULP + 24clk
SYS 低速上昇電源1 0 (予約)
-1 -1 24
clk
SYS 高速上昇電源またはBOD許可8.3.2. 発振器始動
リセット遅延後、2MHz内部RC発振器クロックが開始され、それの校正値が製品識票列から校正レジスタへ自動的に設定されます。
8.4. リセット元 8.4.1. 電源ONリセット
電源ONリセット(POR)はチップ上の検出回路によって生成されます。PORはVCCが上昇してPOR閾値電圧(VPOT)に達した時に活性にさ れ、リセット手順を開始します。
PORはVCCが下降してVPOTレベル以下に落ちた時にデバイスの電力を正しく落とすのにも活性にされます。
VPOTレベルはVCC上昇の方がVCC下降よりも高くなります。POR特性データについてはデータシートを調べてください。
8.4.2. 低電圧検出(BOD:Brown-Out Detection)
チップ上の低電圧検出(BOD)回路はBODLEVELヒューズによって選択される設定可能なレベルの固定値と比較することにより、動作中の VCCレベルを監視します。禁止されると、BODはチップ消去中とPDIが許可されている時に最低レベルを強制されます。
BODが許可され、VCCが起動レベル以下の値に下降すると(図8-4.のVBOT-)、直ちに低電圧リセットが活性にされます。
VCCが起動レベル以上に上昇すると(図8-4.のVBOT+)、リセット計数器は時間経過期間(
t
TOUT)経過後にMCUを始動します。起動レベルはスパイクなしの低電圧検出を保証するためのヒステリシス を持ちます。検出レベルのヒステリシスはVBOT+=VBOT+VHYST/2、
VBOT-=VBOT-VHYST/2と解釈されるべきです。
BOD回路は電圧が
t
BODよりも長い間起動レベル以下に留まる場 合だけ、VCCでの低下を検出します。BOD特性データについてはデバイスのデータシートを調べてください。
設定可能なBODLEVEL設定は表8-2.で示されます。
図8-4. 低電圧検出(BOD)リセット
VBOT+
VCC 遅延タイマ 内部リセット
V
BOT-t
TOUTt
BOT 図8-2. MCU始動 (RESETはVCCに接続)VCC RESET 時間経過 内部リセット
VPOT VRST
t
TOUT図8-3. MCU始動 (外部的に延長されたRESET) VCC
RESET 時間経過 内部リセット
VPOT
VRST
t
TOUT表8-2. 設定可能なBODLEVEL設定
BODレベル番号 0 1 2 3 4 5 6 7
BODLEVEL2~0 ヒューズ (注2) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 公称低電圧検出電圧(VBOD) (注1) 3.0V 2.8V 2.6V 2.4V 2.2V 2.0V 1.8V 1.6 V 注1: ここの値は公称値だけです。精度と実際の数値についてはデバイスのデータシートを調べてください。
注2: これらのヒューズ ビット変更はプログラミング動作を抜けるまで無効です。
BOD回路は3つの動作形態を持ちます。
● 禁止: この動作形態ではVCCレベルの監視が全くありません。
● 許可: この動作形態ではVCCレベルが継続的に監視され、最低
t
BOD間のVBOT未満へのVCC低下が低電圧(Brown-out)リセットを与 えます。● 採取: この動作形態ではBOD回路が超低電力(ULP)発振器からの1kHz出力と同じ周期でVCC電圧を採取します。各採取間で BODはOFFされます。この動作種別は許可動作形態に比べて消費電力を減らしますが、1kHz ULP発振器出力の2つの正 端間のVCC電圧低下が検出されません。この動作形態で低電圧(Brown-out)が検出された場合、VCCが再びVBOT以上に なるまでデバイスがリセットを維持するのを保証するために、BOD回路が許可動作形態に設定されます。
BODACTヒュ-ズが活動動作とアイドル動作に対するBOD設定 を決め、一方BODPDヒューズがアイドル動作を除く全ての休止 形態動作に対するBOD設定を決めます。
表8-3. BOD設定ヒューズ符号化 BODACT1,0 / BODPD1,0
0 0 (予約)
内容
0 1 採取動作: 採取動作でBOD許可 1 0 許可動作: 継続的にBOD許可 1 1 禁止動作: BOD禁止
8.4.3. 外部リセット
外部リセット回路は外部RESETピンに接続されています。RESETピン が最小パルス時間
t
EXTより長くRESETピン閾値電圧VRST未満に駆 動された時に外部リセットが起動されます。リセットはピンがLowに保た れる限り保持されます。リセット ピンは内部プルアップ抵抗を内包しま す。外部リセット特性データについてはデバイスのデータシートを調べてくださ い。
図8-5. 外部リセット特性 VCC
RESET 遅延タイマ 内部リセット
t
EXT VRSTt
TOUT8.4.4. ウォッチドッグ リセット
ウォッチドッグ タイマ(WDT)は正しいプログラム動作を監視するためのシ ステム機能です。WDTが設定された時間経過周期内にソフトウェアか らリセットされない場合、ウォッチドッグ リセットが起されます。ウォッチドッグ リセットは2MHz内部発振器で1~2クロック周期の間、活性(有効)で す。
WDTの形態設定と使用の情報については64頁の「WDT - ウォッチ ドッグ タイマ」を参照してください。
図8-6. ウォッチドッグ リセット VCC
遅延タイマ 内部リセット ウォッチドッグ 時間経過
1~2 2MHz周期
t
TOUT8.4.5. ソフトウェア リセット
ソフトウェア リセットはリセット制御(CTRL)レジスタのソフトウェア リセット(SWRST) ビットへの書き込みによってソフトウェアからシステム リセットを発行するこ とを可能にします。リセットはそのビット書き込み後、2 CPUクロック周期 内で発行されます。ソフトウェア リセットが要求される時からそれが発行 されるまではどの命令も実行できません。
図8-7. ソフトウェア リセット VCC
遅延タイマ 内部リセット ソフトウェア
リセット
1~2 2MHz周期
t
TOUT8.4.6. プログラミングとデバッグ用インターフェース リセット
プログラミングとデバッグ用インターフェース リセットは外部のプログラミングとデバッグの間中のデバイス リセットに使用される独立したリセット元を含みま す。このリセット元はデバッガと書き込み器からだけアクセス可能です。
8.5. レジスタ説明
8.5.1. STATUS - 状態レジスタ (Status register)
- - SRF PDIRF WDRF BORF
7 6 5 4 3 2 1 0
ビット
STATUS +$00
R/W R/W
R/W R/W
R/W R/W
R R
-Read/Write 初期値
EXTRF PORF
● ビット7,6 - 予約 (Reserved)
このビットは未使用で将来用に予約されています。将来のデバイスとの互換性のため、このレジスタが書かれる時に、このビットへ常に0を 書いてください。
● ビット5 - SRF : ソフトウェア リセット フラグ (Software Reset Flag)
このフラグはソフトウェア リセットが起きた場合に設定(1)されます。このフラグは電源ONリセットまたはこのビット位置への1書き込みによって解除 (0)されます。
● ビット4 - PDIRF : プログラミングとデバッグ用インターフェース リセット フラグ (Program and Debug Interface Reset Flag)
このフラグはプログラミング インターフェース リセットが起きた場合に設定(1)されます。このフラグは電源ONリセットまたはこのビット位置への1書き込 みによって解除(0)されます。
● ビット3 - WDRF : ウォッチドッグ リセット フラグ (Watchdog Reset Flag)
このフラグはウォッチドッグ リセットが起きた場合に設定(1)されます。このフラグは電源ONリセットまたはこのビット位置への1書き込みによって解 除(0)されます。
● ビット2 - BORF : 低電圧(Brown-out)リセット フラグ (Brown Out Reset Flag)
このフラグは低電圧(Brown Out)リセットが起きた場合に設定(1)されます。このフラグは電源ONリセットまたはこのビット位置への1書き込みに よって解除(0)されます。
● ビット1 - EXTRF : 外部リセット フラグ (External Reset Flag)
このフラグは外部リセットが起きた場合に設定(1)されます。このフラグは電源ONリセットまたはこのビット位置への1書き込みによって解除(0) されます。
● ビット0 - PORF : 電源ONリセット フラグ (Power On Reset Flag)
このフラグは電源ONリセットが起きた場合に設定(1)されます。このフラグへの1書き込みがこのビット位置を解除(0)します。
8.5.2. CTRL - 制御レジスタ (Control register)
- - -
-7 6 5 4 3 2 1 0
ビット
CTRL +$01
R/W R
R R
R R
R R
0 0
0 0
0 0
0 0
Read/Write 初期値
- SWRST
● ビット7~1 - 予約 (Reserved)
これらのビットは未使用で将来用に予約されています。将来のデバイスとの互換性のため、このレジスタが書かれる時に、これらのビットへ 常に0を書いてください。
● ビット0 - SWRST : ソフトウェア リセット (Software Reset)
このビットが設定(1)される時にソフトウェア リセットが起こります。このビットはリセットが発行される時に解除(0)されます。このビットは形態設定変 更保護機構によって保護されています。詳細については10頁の「形態設定変更保護」を参照してください。
8.6. レジスタ要約
アドレス 略称 ビット7 ビット6 ビット5 ビット4 ビット3 ビット2 ビット1 ビット0 頁
+$01 CTRL - - - SWRST 63
+$00 STATUS - - SRF PDIRF WDRF BORF EXTRF PORF 63