2010年12月12日日曜日

LPCXpresso LPC1768のデバッガとターゲットを切り離して使う

LPCXpressoはそれ自身でデバッガとターゲットの用が足りてしまうので、デバイスを試すという意味で言えば普通それ以上考えません。

でも、「じゃあ製品に組み込む時どうすんの?」とかそういう話になってくると「いやー、LPC-LINK使うかなぁ?(←使わないでしょ。)」とか、「本当に動くのかなー。(←そりゃ動くだろうよ。)」みたいな話になってきます。

そこで、今回はLPCXpressoのターゲットだけを切り離して、JTAGデバッガと接続するお話です。

ユーザとしては「使い慣れた」、あるいは「既に投資してしまった」デバッガや環境を使いたいわけです。
ここでは手始めにデバッガ(LPC-LINK)とターゲットを切り離して使うことを考えます。


まずは回路図を確認します。
LPCXpressoは以下のようなデザインになっています。


LPC-LINK側から+3.3[V]を給電してもらってターゲットが動作するようになっています。
「じゃあ、USBに接続しないで動作させるにはどうするの?」という話ですが、これは図にある通り、「Expansion connector」から外部電源電圧(+5.0[V])をもらい、それがそのままLPC-LINKに入って、先ほどの+3.3[V]を生成するという設計です。

ちょっと考えてみましょう。
LPC-LINKとターゲットを切り離してみてください。
そして、整理してみます。

  • LPC-LINKは+5.0[V]から+3.3[V]を生成する。
  • ターゲットは+3.3[V]を給電されて動作する。
  • ターゲットは+5.0[V]を給電されても、LPC-LINKにそのまま渡すだけ。(要するにターゲットと+5.0[V]は一切関係ない。)
何が言いたいのかというと、「LPC-LINKとターゲットを切り離すと+3.3[V]を何らかの方法で給電しなければ動作しないボードになってしまう。」ということなんです。

また、図面には「Superset of mbed connector」と書かれていますが、これは大嘘。
なぜなら、mbedの40ピン目は+3.3[V]の出力です。


LPCXpressoのターゲットはLPC-LINKを接続している限り「+3.3[V]を出力」しますが、切断した途端にここから+3.3[V]を入れるという前提になっています。これでは当該ピンから+3.3[V]が供給される前提で設計されているベースボードは動作しないことになります。
これは明らかにスーパーセットではありません。
この時点で「superset of mbed pinning」は信用しないことにしました。
この設計はLPC-LINKを使わせる前提なのでしょう。

以下は図面の最後のページのピンアサインです。
初めは「self powered」の意味がわかりませんでしたが、「デバッガ+ターゲット=セルフ」ということみたいです。


そうなると「じゃあどうするの?」という現実的な問題になってきます。

  • LPCXpressoのターゲットの問題は単に+3.3[V]のみ。
  • 手軽に取り出せるのは、例えばUSBの+5.0[V]。
  • パソコンとターゲットとデバッガI/Fだけで開発したい。

私はこうしました。
  • LPCXpressoのターゲット上で+3.3[V]を+5.0[V]から生成するようにしよう。
  • LPCXpressoのデバッガは+3.3[V]の出力にダイオードを突き当ててるから大丈夫。
  • ターゲット用の+5.0[V]はUSBから頂こう。
結果としてできたのがこれ。

LPCXpresso上の配線は以下のようになっています。
EXT_POWXから+5.0[V]をもらい、+3.3[V]に降圧してからVIO_3V3Xに給電です。
コンデンサは後で。

こうすれば(※J6-29にUSBの+5.0[V]を渡す必要もある。)電源面から見ると「mbedとほぼsuperset」と言えます。また、パソコンさえあればデバッグが開始できます。

通常、デバッガはターゲットのI/O電源電圧をリファレンスとしてもらってI/Oを駆動する形をとります。
LPC-LINKは積極的にターゲットに電源を供給する前提で設計されています。
そういう意味で「切り離して使えます」と言われてはいるものの、LPCXpresso LPC1768にかなりフォーカスしたデバッガと考えていた方が良いかもしれません。

この次にJTAGKey2Pによる動作確認です。

0 件のコメント:

コメントを投稿