Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

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にクロック供給*/

  • In reply to チョコ:

    チョコさん

    >クロック出力機能が使えるかと思います。クロック出力機能はCPUの動作クロックとは無関係に,
    >fMAINを分周したものが出力されます(この機能を使うことで動作電流は増加することになります)。
    過去にモニタしていたようで、CKS1 = 0x80; がコメントして残してありました。戻してP31ポートで観測致しました。
    通常のON時で、1MHzの方形波が出ており、スイッチOFF時に0V一定になりましたので、クロックを切替え⇒メイン停止はできていると考えております。(画像が貼れず申し訳ございません。)

    ちなみに、消費電流は約50μA増加しました。

    次にこの機能で不具合となっているTAUを停止し、再開したとき何MHzになっているか波形を観測したいと存じます。
    何かつかめると思います。
  • In reply to EEYORE:

    皆様、暫く調査して、本件の顛末です。

    ①IICをスイッチON時に逆の順番で再開させても、やはりEEPROMに保存できない件
    ⇒IIC内部で使用していたタイマ0が起動されていなく、無限ループになっていました。
    ⇒これを起動しましたところ、無事に保存できるようになりました。
    ⇒他注意点としては、IICを起動すると、通信状態になるので、ストップコンディションを発行しました。

    ②TAUを停止し、スイッチON後、再開時に逆の順で戻していった件
    ⇒クロック出力機能で高速内蔵発振をモニタ、再開したとき何MHzになっているか波形を観測
    ⇒同じく1MHzの波形が観測されました、ということでその他の原因を当たっていきました。
    ⇒ブザーが通常より短い、短押しスイッチ操作が長押しになる現象考察
    ⇒タイマ設定がリセットされていて、いわば0msタイマになっていました。これにより、ブザーが短い、スイッチ長短のタイミングが最小になっていて、現象発生していました。
    ⇒このタイマ設定を全て戻してみると、復活致しました。

    ③気づき
    ・解決方法としては、ステップ送りして設定値をモニタしていて全て気づきました。周辺ハードウェアにクロック供給停止時に設定値はリセットされないだろうと思い込みが強く、抜け出せませんでした。
    ユーザーズマニュアルをよく読むこと、モニタして確認結果を得ながら進めることが今回の教訓です。
    ・上記が解決して周辺モジュールを停止しても、消費電流は下がりませんでした。その他に見落しがないか、また別の視点で考察して進めたいと存じます。
    その時は、またご協力頂けますと幸甚です。

    一旦終了とします、ありがとうございました。
  • In reply to EEYORE:

    チョコです。
    EEYOREさん,ある程度進められてよかったですね。
    前回,「逆に再開させる場合には,CPUのクロックを高速内蔵発振器に切り替えてから,PER0でのクロックの
    供給から機能の再設定の順にやることで,使えるようになるはずです。」と,初期設定を「機能の再設定」と表現したつもりだったんですが。。。。
    あとは,オプションバイトでオンチップ・デバッグを禁止に設定してみてください。
  • In reply to チョコ:

    チョコさん

    お蔭様でいろいろとありがとうございました。
    初期設定の件は、よく噛み砕けていませんでした、申し訳ございませんでした。

    ・残りのアドバイスですが、オプション・バイトでオンチップデバッグを動作禁止にしてみました。
    hexファイルの000C3Hが84(許可)⇒04(禁止)になったのを確認(デバッガにダウンロードできなかった事も確認)。
    しかし、消費電流は変わりませんでした。
    一旦ここまでで今後を検討したいと存じます。
  • In reply to EEYORE:

    皆様

    消費電流の件完全解決致しましたので、少しまぬけですが、結論を書いておこうと思います。
    ・消費電流の測定場所が2箇所ありました。よくあるマルチ電源で電池部とACアダプタ部です。
    ・ACアダプタ部に少し仕掛けがありまして、そこで測定すると電池部より約0.6mA多く流れていました。
    ・電池部ではスタンバイ時に、70-80μAまで落ちていることを確認できました。
    高機能の割りに、すばらしい低消費電流のMCUですね。

    MCUと全く無関係の電源回路部での消費でした。(必要機能で10kΩでバイパスしてました)
    皆様にはいろいろとお手数お欠けし申し訳ございませんでした。<(_ _)><(_ _)><(_ _)>
    以上、今後も懲りずにお付き合い宜しくお願い致します。<(_ _)>

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page