マイコンのソフト開発はつい最近始めたばかりなのですが、ターゲットシステムにマイコンを入れ込んだ状態でデバッグができる方が、当然の事ながら便利です。
LaunchPadでは一般的なJTAGではなく、Spy-Bi-Wireと呼ばれる2線式インタフェースを使ってターゲットデバイスに対するプログラムの書き込みやデバッグなどを行うように作られており、そのためのコントローラがLaunchPadの基板上に搭載されています。
デバッグ用のインタフェースは2線式なので、当然の事ながら双方向となる線があります。しかも、方向を制御する信号はコントローラからは出ていません。
実は、これが問題でありまして、例えばターゲットシステムの電源電圧とLaunchPadの電源電圧は、LaunchPadの電源電圧をトレースするように、自動的に出力電圧を制御するような電源をターゲットデバイスの電源として使用するような場合を除くと、ほとんどの場合は異なります。
適当なレベルシフタを間に入れるのが良いのですが、双方向かつ制御信号なしという条件では非反転のオープンドレインバッファとプルアップ抵抗を組み合わせることになります。
この場合、片方は電源電圧より高い入力電圧に耐えるバッファを、もう片方は電源電圧より高い出力端子電圧に耐えるバッファを選定する事になります。
図に示した回路は、VCC1>VCC2と仮定しています。バッファの電源はVCC2を使い、VCC1系からVCC2系へのバッファには入力トレラント機能付き、VCC2系からVCC1系へのバッファは出力電圧トレラント機能付きのバッファを使います。
東芝がそのような用途向けのICを色々出していますが、品種が多くパッケージも色々あるので、間違いなく選ぶのがやや面倒ですが、例えばTC74LCX07などが適当といえるでしょう。
ところが、LaunchPadのメーカーでもあるTIが、「レベルトランスレータ」という、制御信号不要で双方向のレベル変換ができるという、Spy-By-Wireを異電圧電源システム間で接続するために開発されたとしか思えない製品を販売していました。
パッケージは最大サイズでSOIC(1.27mmピッチ面実装)ですが、取り寄せて試してみる事にしました。取り寄せた製品はTXS0104EDRです。型番はTXS0104Eに加えて、1.27mmピッチのSOICパッケージであることを示す「D」と梱包形態がテープリールであることを示す「R」ということになっています。
手始めに、LaunchPadからの電源をターゲットマイコンに供給して、Spy-By-Wireによる接続がうまく行くか試しましたが、最初はデバッガ(Code Composer Studio)でうまく認識されず、色々調べたものの良く分からず、結果ピッチ変換基板とICの半田付け部を再加熱したら認識されましたので、半田不良だったようです。
今のところ、ここまでしかテストしていませんが、ターゲットシステムにはI2Cエクスパンダと2桁の7セグメントLEDを取り付けているので、週末を利用して色々とテストしてみたいと思います。
最初、不等号の向きが逆だったので訂正しました。
0 件のコメント:
コメントを投稿