78K0Rの高速内蔵発振停止と消費電流について

お世話になっております。いいよぉです。下記、長文で申し訳ございません。

 

主題:78K0Rの高速内蔵発振停止と消費電流について、少し納得がいかない部分があり、ご教示賜れると助かります。

 

・通常、高速内蔵発振で動作させており、OFFスイッチでOFFしている時に消費電流を低減したいため、

 サブクロックへ切替えてから、高速内蔵発振を停止させています。

 停止前の条件は、CPU/周辺ハードウエア・クロックを切替える際は、サブシステム・クロックで動作しているかを確認してから元のクロックを停止

 ということで、ステータスでサブクロックになったことを確認してからHIOSTOP = 1にしています。

 

Q1⇒データシートをみると、この高速内蔵発振停止で数mAから数μAへ落とせるはずですが、実際には半分程度にしか低減せずmAオーダのままです。

       何か設定などに見落している部分があれば、ご教示頂けると助かります。

       (高速内蔵発振器は停止していても外部で波形をプロットする術はないようで、観測もできず・・・)

 

Q2⇒データシートにサブシステム・クロック(fSUB)ではIICAは動作しないとの注意点がございます。

       よって、切替え時周辺モジュールへのクロックを供給停止するのが定石と認識しておりますが、

       CKC:CSSでfsubへ切替えた後、1つのトライとしてPER0でIICAへのクロックを供給停止し、

       IICAを動作させない操作をしたところ、逆に消費電流が0.65⇒2.8mAに上がる結果となっています。

          PER0(周辺モジュール)の状況は、通常RTC/IICA/TAU0のみ動作させていて、このサブクロック切替え時に

          ・RTCENは1⇒0にできています。(残念ながら、消費電流低減は数μA程度)

          ・IICAENは1⇒0 にトライすると、(4行上以外に)スイッチON時1に切替えてもシステムが不安定:EEPROMへのIIC通信が出来なくなりました。

          ・TAU0ENも1⇒0 にトライすると、スイッチON時1に切替えてもシステムが不安定:ON時に早いクロックになっている様子です。

           (ブザーが通常より短い、短押しスイッチ操作が長押しになる等。)

           ⇒よって、IICAEN/TAU0ENは操作せず停止できていないのが現状となります。

       この2bitが1⇒0⇒1と操作されてシステムが不安定になる原因は何かわかりますでしょうか。

       こちらも、何か命令抜けなどの見落としがないか、ご教示ください。

 

下のような流れで記述しています。

【スイッチOFF時】
CSS    = 0x01;  /*クロックを高速内蔵⇒サブクロックへ*/

 (ステータスを見て、サブクロックになったら)

HIOSTOP = 1;  /*高速内蔵クロックを停止*/

 (その後、)

PER0 = 0b00010001;
                +--+---+------- 0に設定 */
                +-------------- RTCEN */
                     +------------IICAEN 0にできず*/
                           +--------TAU0EN  0にできず*/
                         /*   [制御クロック] */
                         /*   0: 制御クロック供給停止 */
                         /*   1: 制御クロック供給 */

・・・

OFF⇒ON時、RTC/IICA/TAU0は未使用です。スイッチポートのステータスを見てます。

・・・

【スイッチON時】
HIOSTOP = 0;  /*高速内蔵クロックを動作*/
NOP();
CSS    = 0x00;  /*クロックをサブクロック⇒高速内蔵へ*/
PER0 = 0b10010001;   /*RTCにクロック供給*/

Parents
  • EEYOREさん

    IICを止めた時にPM60,61は出力になったままでしょうか?もしかするとLOW出力になってプルアップから電流を引いているかもしれません。

    それから、チップのプログラム書き込みは、デバッガからダウンロードされています?
    それともQBPやRFPなどのプログラマーで書き込みされてます?(こっちの方法を推奨)
    78K0Rはオンチップデバッグが有効になっていても内蔵高速発振器は止まるので問題ないのかもしれませんけれども。

    ちなみに、MINICUBE2/E1を接続した状態だとエミュレーターの電力消費とオンチップデバッグ機能の分電流が増えます。

Reply
  • EEYOREさん

    IICを止めた時にPM60,61は出力になったままでしょうか?もしかするとLOW出力になってプルアップから電流を引いているかもしれません。

    それから、チップのプログラム書き込みは、デバッガからダウンロードされています?
    それともQBPやRFPなどのプログラマーで書き込みされてます?(こっちの方法を推奨)
    78K0Rはオンチップデバッグが有効になっていても内蔵高速発振器は止まるので問題ないのかもしれませんけれども。

    ちなみに、MINICUBE2/E1を接続した状態だとエミュレーターの電力消費とオンチップデバッグ機能の分電流が増えます。

Children
  • Kirin さん(今回もお世話になります。)

    >IICを止めた時にPM60,61は出力になったまま
    ・開発ツールで、PM60/61のステータスをみればよいでしょうか?
    ⇒これから確認してみます。
    ・P60/61ポートもプルアップ3kΩの部分に並列に10kΩの抵抗をつけて消費電流増加を確認したのですが、これが甘いことに気づきました。3kに10kつけても、1/(1/3+1/10)=30/13≒2.3kΩと変化をつけれていませんでした。
    ⇒ハードの面からもダブルチェックしたいと存じます。

    ちなみに下半分確認の件、
    調査している時は、RFPで書き込んだセットで、開発ツールからは切り離しています。
    これは商社(メーカ)から指摘され済です。(^^ゞ
  • Kirinさん

    開発ツール上で確認したところ、PM60/61は0でP60/61は0でしたので、これでIICを停止したら、電流を引いて上がっていそうです。丁度、チョコさんからのコメントがございましたので、正式な停止方法に来週より修正していきたいと存じます。

    確認のきっかけを下さり、ありがとうございました。
    この後も、ご指導賜れると光栄でございます。<(_ _)>