231 や 671 などでアナログ回路が接続されているピンの MPC.PxxPFS の ASEL はいつ 1 にすれば最適でしょうか?
1. リセット解除直後、できるだけ迅速に (MSTPCRA や S12AD の初期化より先)
2. リセット解除直後 (は ASEL=0 のままとし) MSTPCRA や S12AD や S12AD1 の初期化一式が完了後
言い換えると
・回路的にデジタル入力としては中途半端な電圧がかかってしまう状況で ASEL=0 な時間が長時間あってよいか否か?
・その状況でデジタル入力部に貫通電流が流れないか?
・ S12AD のモジュールスタンバイ解除前に ASEL=1 にしてよいか(ハード的・ソフト的・両方の意味で)
という疑問です。
入力回路のところの 3入力OR は中途半端な電圧で問題ないか?
※ 231 や 671 ではほぼすべての入力端子がシュミットトリガ動作になっているので問題なさそうな気がしてきた・・・
62N とか 63T だとどうだったけ?
(この構成図だと ASEL=1 かつ PCR=1 は厳禁っスね)
他にご意見も出てこないようなので現ソースコードの実装のままとしておきます。
・リセット解除直後はハードウエアで ASEL=0 に初期化済み、を維持したまま
・外付け水晶振動子の駆動を開始する(発振安定には数ミリ秒を要する)
・ MSTP / S12AD の初期化を行う(他の周辺回路の初期化も行う)
・各種初期化の最終段階で ASEL=1 を実施
ちなみに現回路はごく単純に AVCC と VCC は同一3端子レギュレータにて供給し温度センサーである NTC と直列固定抵抗が ANxxx ピンに直結です。 tf さんの言うところの (1) → (2) → (3) 動作であって、回路側でリセット解除前に中間電圧がピンにかかる(待ってくれない)っス。コスト的に「待たせる回路」とか入れられないです。
RX231の入力はシュミットトリガなので貫通はない。もちろんパタパタする分の電気は消費しますが閾値あたりで変化する信号を受け取った普通のCMOSの貫通電流とは違ってパタパタの回数で発生するものなので特に何もせずにそのまま妥当なタイミングでアナログポートに切り替えて問題ないと思います。