MSP430F1xxファミリーは、MCLKに対するフェールセーフ機能を有しています。
CPUの動作クロックであるMCLKが停止するとCPUの停止という最悪の状態になります。
そのような状態を避けるため、下記フェールセーフ機能があります。
・ MCLKのソースクロックをDCOCLKに強制的に変更します。
(BCSCTL2[SELMx] = 0x と同等)
・ DCO (Digitally Controlled Oscillator) に接続する抵抗は、
内部抵抗を強制的に選択します。
(BCSCTL2[DCOR] = 0 と同等)
* 注意事項 *
フェールセーフ機能が実行されてもこれらレジスタフィールド
(BCSCTL2[SELMx/DCOR])の値は変更されません。
出典:MSP430x1xx Family User’s Guide(SLAU049F)
MCLKに対するフェールセーフ機能は、下記状況で実行されます。
1. HF-modeに設定(BCSCTL1[XTS] = 1)された
LFXT1発振器が作動中(SR[OSCOFF] = 0)に、LFXT1CLKの異常が検出され、
MCLKのソースクロックにLFXT1CLKが設定(BCSCTL2[SELMx] = 11)されているとき。
2. XT2発振器が搭載されているデバイスで、
XT2発振器が作動中(BCSCTL1[XT2OFF] = 0)に、 XT2CLKの異常が検出され、
MCLKのソースクロックにXT2CLKが設定(BCSCTL2[SELMx] = 10)されているとき。
3. XT2発振器が搭載されていないデバイスで、
HF-modeに設定(BCSCTL1[XTS] = 1)された
LFXT1発振器が作動中(SR[OSCOFF] = 0)に、LFXT1CLKの異常が検出され、
MCLKのソースクロックにXT2CLK(実際にはLFXT1CLK)
が設定(BCSCTL2[SELMx] = 10)されているとき。
出典:MSP430x1xx Family User’s Guide(SLAU049F)