MSP430F2xxファミリーは、MCLKに対するフェールセーフ機能を有しています。
CPUの動作クロックであるMCLKが停止するとCPUの停止という最悪の状態になります。
そのような状態を避けるため、下記フェールセーフ機能があります。
・ MCLKのソースクロックをDCOCLKに強制的に変更します。
(BCSCTL2[SELMx] = 0x と同等)
・ DCO (Digitally Controlled Oscillator) に接続する抵抗は、
内部抵抗を強制的に選択します。
(BCSCTL2[DCOR] = 0 と同等)
* 注意事項 *
フェールセーフ機能が実行されても、これらBCSCTL2[SELMx/DCOR]の値は変更されません。
出典:MSP430x2xx Family User’s Guide (SLAU144J)
MCLKに対するフェールセーフ機能は、下記状況で実行されます。
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発振器が搭載されていないデバイスで、
LFXT1発振器が作動中(SR[OSCOFF] = 0)に、LFXT1CLKクロックの異常が検出され、
MCLKのソースクロックにXT2CLKを設定(BCSCTL2[SELMx] = 10)したとき。
* 参考 *
XT2発振器が搭載されていないデバイスでは、
XT2CLKの代わりにLFXT1CLKがデバイス内部で接続されています。
そのため、 BCSCTL2[SELMx] = 10としたとき、MCLKCLKにLFXT1CLKが供給されます。
出典:MSP430x2xx Family User’s Guide (SLAU144J)