2電源レベルシフタICを使う

ARMやロジックデバイスの記事(つうか今までほとんどそればっかだ)を書くときは
JTAGKey(の互換回路)のことに触れる機会がとても多くあるのですが、そのたんびに
かみきさんの作例を引用させてもらうのは非常に忍びないので自分でもJTAGkey
互換の回路図起こしました。私が実際にARMやFPGAの書き込み・デバッグの際に
使用しているものです。

以前にも触れたとおり、ほぼかみき氏の物と同じですがなるべくJTAGkeyに似せる
べくEEPROMを外付けにしてVID,PIDを書き換えられるようにしてます。
(これやっとくとOpenOCD使うときいちいちcfg書き換えなくてすむし)
FTDIのドライバEEPROMの設定一式は"おきば"にありますので真似して作られる奇特
な人はそちらも参照のこと。
回路図は配線ミスがないか私のほうで念入りにチェックしてますが、それでも
見落としがあるかもしれません。ご利用の際は自己責任でお願いします。


…やばい、前置きがえらくまともになってしまった…もう疲れてきたよパトラッシュ…
でも後もうチョットだからね待ってていないさん…(パタ)
何で長々とJTAGkey互換回路の話ししたかというと、この回路中に信号レベルを変換
できる2電源レベルシフタIC(と5Vトレラントな1,2ゲートロジック)が使われているからで、
これが間に挟まってると1.65V〜5Vの信号までなら異なる信号レベルの問題も
気にすることなく書き込み・デバッグできるからなのです。
で、実際にこれはどの程度使えるものなのかということを検証していきたいと思います。









今回のお題:
上記2電源レベルシフタICを利用したI/Fを用いて、低電圧駆動時のAVRマイコンに
安全かつ確実に書き込みができるかどうかの検証。


実験装備:
1.今回の実験のために特別な回路特別に動く「USBaspx改改」を実験用AVRライタの
  ハードウエアとしてこしらえる。V-USBのバージョンアップに合わせて地味に更新中。
2.PC側の制御ソフトはavrspxのVID,PIDの記述を最新のものに
  書き換えてリコンパイルした物を使用。

3.テスト用マイコンとしてATTINY2313(rev.C)を使用。試験回路はこちら
  万が一の事態に備えて19.2MHzのクリスタルを装着&使用できる状態にしている。

4.ATTINY2313のヒューズ設定は出荷時のまま。プログラムはIOパタパタさせるだけの
  プログラムに、無駄にprintfライブラリのリンクをさせて2kバイトギリギリの容量に調整。


実験内容:
 3.の実験用回路に1.のAVRライタを接続し、ライタ側のdelay設定は「-d5」にした
状態にて各電圧ごとに「書き込み」&「ベリファイ」を10回試行し、すべて正常に行えるか
どうかを確認する。
また各試験電圧時のTCKの波形を2電源レベルシフタICの入力・出力について記録しておく。



結果:1CH:レベルシフタ入力 CH2:レベルシフタ出力(測定したのだいぶ前です)


まず3.3Vから。ぜんぜん余裕です。


次に2.5V。まったく問題なし。


目標の1.8V。ぜんぜん余裕でした。波形もきれい。
ちなみに備え付けのクリスタルの駆動(19.2MHzの高速)に切り替えても1.8Vの電源電圧
で正常に書き込み・ベリファイできてます。

まとめ:
●やっぱ専用のレベルシフタはすごいね〜。
●今は通販で容易に手に入るので物怖じせずにどんどん使っていこう。











EX:
このまま1.8Vよりも電源電圧を下げてくとどうなるのか?

注:危険ですから絶対にまねしないでください!!!!!!
  メーカーが保障してない電圧範囲でAVRマイコンの書き込み動作をすると、
  以後デバイスが使用できなくなる可能性があります!!!
特にチップリビジョンがB以前のATTINY2313はRSTDISBLを0にしたりSPIENを1に
  したりするとパラレルライタでも回復不可能になります!!!!
  リビジョンC以降はダイジョブです



結果:


1.6V。まったく余裕ですな。
しかし19.2MHzのクリスタル動作だとここでダウン。以後は内蔵RC発振で。


1.4V。異常なし。ど根性AVR。がんばれ!がんばれ!


1.2V。何!?まだいけるというのか!?


1.1V。あ、とうとうベリファイエラーでた。でも今までよくがんばった。すごいぞAVR。


1.0V。もはや同期すらできない(-d20とかでもだめ)。内部基準電圧が1.1V(typ)だから
物としてもここが限界でしょう。2電源レベルシフタICの出力波形もかなりなまってます。
しかしこの電圧でもちゃんとレベル変換の仕事はしている。



まとめ:
●がんばったら乾電池一個で動くかもしれないATTINY2313。
●レベルシフタは速度さえ気にしなければ1Vでも動く。


それでは実践行ってみましょうか

Go to top of page