●はじめに
インテル(旧アルテラ)社の MAXUシリーズは 資料an422_j「MAX II CPLD を使用したポータブル・システムにおける消費電力の管理」
で述べられている様に、かなり使用し易いCPLDと思われます。
その中で、「MAXIIデバイスはホット・ソケット時にCPLD のIO ピンを経由する不要な寄生リーク・パスによるスタティック・リーク電流が
非常に低いホット・ソケット・サポートを提供する」とし、応用例に「パワーダウン ・モードを使用したMAX II のスタンバイ時消費電力の低減」として図 6 EPM570T100 セルフ・パワーダウン回路
が示されています。
(他に同様記事 EDN Japan「CPLD回路の電源を自動的にシャットダウン」が有ります)
上記の資料には「スタティック・リーク電流が非常に低い」と謳われてはいますが、同様の構成で実際に使用すると、MAXUのIO端子を経由してVCCIO端子に抜ける、バッテリーアプリケーション回路にとっては無視できないレベルの リーク電流が
観測されます。
この辺りを考慮して適用される事をお薦めするのが本稿の趣旨です。
●電流リークの概要
一例として下図をで電流リークが発生するメカニズムの概要を示します。
但し、 デバイスハンドブック
では所要の正確な仕様数値が得られないので、ここでは要点を箇条書きにした定性的な説明とします。
@IC1には電源3.3Vが常時供給され、スイッチSWオフの為MAXU、IC2の電源はオフ状態。
AIC1は動作中で、図はロジックH(出力電圧Voh)の出力端子のみを示す。
BMAXUは内部のPOR(パワーオンリセット回路)により、VCCIOが1.4V以下の為IO端子はトライステートのハイインピーダンス出力になり、IO端子はVCCIOにRpu1〜RpuNでプルアップされる。
(説明の為にこれをスタンバイ状態と呼ぶ)
データシートではVCCIOが3.3V時はRpu1〜RpuNは5〜25[kΩ]。(VCCIOがIO端子電圧より小さい場合は抵抗値はより小さい値になるとの事)
CMAXUのIO1〜ION端子の入力電圧VohによりRpu1〜RpuNを介してVCCIO端子側にリーク電流Ilk1〜IlkN、その合計値Ilk_sumが生ずる。
Ilk_sumはMAXU内部へのIlk_in、外部回路へのIlk_exに分流する。
Dプルアップ抵抗Rpu1〜RpuNの合成値をRpu、MAXUのVCCIOにつながる合成負荷抵抗をRldとすると、リーク電圧VlkはVohをRpuとRldで分圧した値になり、
リーク電流Ilk_sumはVoh/(Rpu+Rld)になる。
EVCCIOのVlkが1.4Vを越えてMAXUがユーザモードになったとするとプルアップ抵抗Rpu1〜RpuNはオフになりVlkは無くなる。
もしプログラムされたプルアップ抵抗が有ったとしてもMAXUの消費電流が大きくなり、即ち合成負荷抵抗Rldが小さくなりVlkが低下するので、
MAXUはユーザモードになれず、SWがオフの間はスタンバイ状態で安定し、VCCIOにはVlkが印加され続ける。
●電流リークの実例
MAXUシリーズのEPM240T1005C5Nを用い、VohとなるIO端子が少なくとも6本有り、IC2が無しの実回路にてVlk1.32V。
IC2の代わりに負荷抵抗10K、1Kを付加した場合それぞれでVlkは1.05V、0.97V。
これはVlkにより外部負荷をそれぞれIlk_ex 0.105mA、0.97mAドライブできることになります。
●注意点
以上から、上記の様なアプリケーションでは以下の注意すべき点が見えてきます。
@電源スイッチSWをオフにしてもVCCIOラインは完全に電源オフ状態にならず、リーク電圧Vlkが印加される。
Aバッテリーシステムの様に消費電流を低く抑えたいにもかかわらず、意図しない、かつ無視できないレベルの電流消費が発生する場合がある。
IO端子にVohが加わらない様にするか、その端子数を極力少なくする方法を検討しておくべきである。
SWで電源と共にGNDもオフにする方法も考えられるが、回路をフローティングにする事は静電対策上薦められない。
B図の様にMAXUの外部でVCCIOに接続されたIC2が低電圧、低消費電流で動作するデバイスであれば、スタンバイ状態時でもリーク電圧Vlkで予測しない動作をする可能性がある。
C図の様にMAXUの外部でVCCIOにパワーオンリセット回路ExPORを設けた場合、スタンバイ状態でVlkが印加される事により、時定数に関わるコンデンサ
が充電される等の原因で、パワーオンリセット機能が正常に働かない場合が有り得る。
以上
(初版 2018/06/08)