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 リカルド:

    リカルドさん

    アドバイスありがとうございます。
    ・出力ポートに関しては、プルアップ・プルダウン抵抗を変えて
    消費電流の増加を見たのですが、ありませんでした。
    ⇒出力ポートからの流出ではないと考えております。
    ・入力ポートに関しては、15箇所ありましたが、開放はありませんでした。

    何か見ることがあれば、アドバイス頂けると幸いです。
  • In reply to EEYORE:

    リセット中の消費電流はどうなりますか。
  • EEYOREさん

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

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

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

  • In reply to EEYORE:

    >・入力ポートに関しては、15箇所ありましたが、開放はありませんでした。
    プルアップ抵抗内蔵の入力が、Lレベルになっていませんか。
    (78kにプルアップ抵抗内蔵のポートが有るのか知らないけど)

     プラス側の電源電流を測っているのだろうから、Hレベルの出力ポートから電流が流出しているのでしょう。Hレベルのポートを調べて見て下さい。

     E1などの開発装置が繋がっていれば、その影響はどうでしょう。
  • In reply to リカルド:

    リカルドさん

    席に戻りましたので、再開して調査しました。
    RESETを強制的にGNDに落としてみたところ、定常 0.62mAが0.95mAになりました。
    簡易的にGNDに落としたので、RESETはH(3.3V)に10kΩでプルアップしたままなので、この抵抗分0.33mA増えたと考えております。
    その後、時系列でみると、GNDに落としてから約2秒後に2-3mAに、約3秒後に1.15mAに変化しました。
    これは、内部回路?F/Wが影響しているのかなと捉えました。
  • In reply to Kirin:

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

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

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

    リカルドさん

    ご指摘ありがとうございます。
    78K0R-LH3を使用していまして、プルアップ抵抗内蔵ポートはP1/3/7で、P1/3の入力設定のうち4ポートでで設定しています。
    ・4ポートいずれも、Hレベルになっていました。
    ⇒ここからの流出はないかと存じます。

    出力は少し多いので、これから見てみます。

    開発ツールは、未接続の状態で調査しています。
  • In reply to EEYORE:

    >RESETはH(3.3V)に10kΩでプルアップしたままなので、この抵抗分0.33mA増えたと考えております。
     
     CPU以外の電流も含まれていると言う事ですね。電流を測るとき、他にCPU以外の電流が含まれて居ませんか。
  • In reply to リカルド:

    リカルドさん

    他には、サブマイコンとしてPICマイコンがあるのですが、これは通常はSLEEPしていて、数μAオーダになっています。
    それ以外は、ほとんど78K0Rに接続されていますので、確認できていると考えております。
  • チョコです。
    78K0R/Lxは使ったことはありませんが,コメントさせていただきます。
    >IICAを動作させない操作をしたところ、逆に消費電流が0.65⇒2.8mAに上がる結果となっています。
    これは,KiriNさんがコメントされているようにP6が出力モードになっているために,3.3Vが2本の
    3.3kΩでプルダウンされることで,約2mA増加するものです。IICAを停止する時には,最初に兼用に
    なっているP0とP61をPM6レジスタで入力に変更してからIICAを停止させてください。これは,STOP
    モードとは無関係にこの手順が必要です。そうしないと,SDAとSCLが同時に立下り,異常な信号の
    変化となり,外部のEEPROMが,変な状態(スタート・コンディションと解釈)となる危険性があり
    ます(その結果,通信ができなくなる)。

    また,クロックを切り替えてから,PER0でTAU等へのクロック供給を停止されているようですが,
    ここも気になります。まず,TAU等の動作を停止させ,その後,PER0でクロックの供給を停止し,
    最後にCPUのクロックを切り替ってから高速内蔵発振器を停止させるべきでしょう。

    逆に再開させる場合には,CPUのクロックを高速内蔵発振器に切り替えてから,PER0でのクロックの
    供給から機能の再設定の順にやることで,使えるようになるはずです。

    >(高速内蔵発振器は停止していても外部で波形をプロットする術はないようで、観測もできず・・・)
    クロック出力機能が使えるかと思います。クロック出力機能はCPUの動作クロックとは無関係に,
    fMAINを分周したものが出力されます(この機能を使うことで動作電流は増加することになります)。

    それと,LCDを駆動する電源がどうなっているかも気になります。外部抵抗分割なら,そこの電流の
    対策はされていますか。

    また,RTCの動作電流ははせいぜい1mA程度なので,停止する必要はないはずです。
  • In reply to Kirin:

    Kirinさん

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

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

    チョコさん、またお世話になります。

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

    ・TAUとクロックの切替えについて
    >また,クロックを切り替えてから,PER0でTAU等へのクロック供給を停止されているようですが,
    >ここも気になります。まず,TAU等の動作を停止させ,その後,PER0でクロックの供給を停止し,
    >最後にCPUのクロックを切り替ってから高速内蔵発振器を停止させるべきでしょう。

    順番について、正式な順番になるよう見直したいと存じます。
    1点TAUの動作停止の方法は、下の部分でしょうか?
    「fCLKに選択しているクロックを変更(システム・クロック制御レジスタ(CKC)の値を変更)
    する場合は,タイマ・アレイ・ユニットを停止(TT0 = 00FFH, TT1 = 000FH)させてくださ
    い。」

    ・クロック出力機能については、ありがとうございました。
    ⇒勉強してテスト波形を観測してみます。
  • In reply to リカルド:

    リカルドさん

    出力Hになっているポートを調査しましたが、外部プルアップ抵抗接続のためが13ポート、他IC通信で2ポート(負論理:Hデフォルト)となり、特に異常は見られませんでした。
  • In reply to チョコ:

    チョコさん

    ・IICの部分で約2mA増加する件は、PM6レジスタで入力に変更してからIICにクロック供給停止したところ、約2mAの増加は無くなりました、ご両名のご指摘の通りでした。
    ただ、スイッチON時に逆の順番で再開させても、やはりEEPROMに保存できないのに変わりはない状態でした。
    念のため、再開後にIICE=1 とダミークロック出力を実施しましたが変わりませんでした。

    ・TAUとクロックの切替えについて
    TAUの動作を停止(TT0 = 00FFH, TT1 = 000FH)させ、その後PER0でクロック供給停止、
    最後にCPUクロックを切替え高速内蔵発振器を停止と組み替えました、
    スイッチON後、再開時に逆の順で戻していきましたが、
    ブザーが通常より短い、短押しスイッチ操作が長押しになる等は変わらず発生しています。
    ⇒こちらは、クロック出力機能を勉強して高速内蔵発振をモニタする予定です。

    現状、このような状況です。

    その他、記載しておきます。
    ・LCD駆動・・・内部昇圧方式を選択しています。
    当初は駆動したままでしたが、スイッチOFF時 駆動をやめると約20μA低減したので継続しています。
    ・RTC動作・・・動作をやめても、消費電流はほとんど変わりませんでした。

    これら2点の影響は、小さい結果となっております。

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