CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

消費電流

計時の遅れは良く良く考えると、負荷容量による水晶発振の周波数ずれではここまでにはなるわけがなく
単に割込み処理のコーディングミスだったようです。
 
タイマ1でちょうど1秒のタイムアウトで割込みを発生させ、その後、LCD画面の更新をおこなってから
カウンタ初期値をソフトで再ロードしていましたが、それではそれらの処理が丸々1秒に追加されてしまうわけ
でこれではダメです。
そこでCCPユニットをコンペアモードで動作させ、タイマ1が0x8000にマッチしたところで割込みを発生と
同時にハード的にタイマを0クリアさせることで正確に1秒毎になります
 
これで24時間計時させると遅れは5秒までに縮まりました。その誤差は-0.006%なのでこれは水晶の
周波数偏差といえます。分周比を0x8000-2とすることでずれを吸収しました。
 
計時ではないシステム全体のクロックは内部発振の512kHzを使っていますが
現状での消費電流を測ると360uAになりました。
コイン電池で動作させる場合、その定格電流は100~200uAとされているのでこれではまだ使いすぎです。
内部設定で下げられるか検討してみます。
 
 
イメージ 1