JTAGkey cloneの製作

revised Oct. 19, 2008.

FT2232L を使った openocd のライタ&デバッガ。... だがどっちかっつーと今回はハンダ付けまわりの話だけ。 使う話は以下次号

特徴としては

くらい。
JTAGkey-Tiny が Vcc=2.8-5V てのはともかく、JTAGkey の Vcc=1.4-5V はどうやって実装してんだろう。 1.5V 以下の閾値で受けつつ 5V トレラントになるロジックが見当たらん。I/F を CPLD で作って Vccio 切替えてるとか反則は無しな。 いや、CPLD っぽいけどさ
部品に対する註釈
あたし的に 2SD1048,CRS08,FDN304P,BLM21PG221SN1 あたりは常用パーツ化している。それ以上の意味はあんまりない。
補足(Oct 17, 2008):
  1. JTAG I/Fサイドの入力ピン(LVC2T45の B側) を 22kΩでプルアップ。
    LVC2T45の入力側が浮くと、状況によっては出力ピン(LVC2T45の A側)が中間電圧(2Vくらい)になることがあった。 いらんことしてしまわないよう意識的に省略したトコだったがダメでした。
  2. 5VDラインと V+ラインに電解コンデンサ追加。
    JTAG I/Fへ電源供給が便利すぎて、つい FPGA のような重い負荷を繋いでしまう。こころもち電源線を強化。
  3. 2項目に関連して、ターゲットへ 5V 及び 3.3V の電源供給のため(だけ)のピンヘッダ設置追加。 もっとも FPGA のような重い負荷に USB の Vcc直結の 5Vラインを繋ぐと、 繋いだ瞬間 5Vラインの電圧低下で FT2232L にリセットがかかる。まー実害は無いけど。
    ← 外部供給用ピンヘッダの 5V を FT2232L の RESET# の根元からとっていた事実が判明。あほですな。 USBコネクタの根元からに繋ぎかえた。
  4. 逆流防止 D を、電源非供給のときもピンが浮かないようにスイッチとの接続方法を変更。
これにともない、回路図を更新して、ついでに基板配置図を付加。パーツ名とかほとんど入ってないけど、雰囲気だけ。
さらに補足:
FT2232H版を作った。 注釈: まあどうでもいいことだが:

ポリウレタン線

今回の目的の一つに、UEW に慣れる、というものがあった。この UEW、

という二派が存在する。 でまあ、これまで後者だったわけだが、いろいろやってみるに要するに「タイムスケールが違う」ということであった。

TO-92 なトランジスタのピン 1 つ付けるのに 2-3秒、TSSOP-28 くらいの IC のハンダ付けに 1辺あたり 10秒、 くらいでハンダ付けが出来てるところへ、 ユニバーサル基板のスルホールに UEW 0.26mmφ挿して一発ハンダ付け (被覆熔融と電気的接続を同時) するのに 共晶ハンダに TQ-95 のフルパワーモード (90W) でだいたい 10 〜 30 秒かかった。とってものんびりさん。

現状、ハンダ付けの速度は金属片の温度上昇にかかる時間できまる(だから IC みたいにピンが細いと速い)感覚があるのに、 UEW 0.26mmφ (仕上がり径 0.305mmφ) のワイヤのハンダ付けに 20秒も 30秒もかかるとは思わない。 途中で出来たかなと思って、コテを離してチェックしてみてダメだった、の繰り返しやってりゃそりゃ焦げもする。 被覆を熔かすのにけっこう熱量食うのだな。

  1. コテの熱でハンダが融ける。ワイヤ周辺ではハンダは凹む。つまり濡れてない。
  2. 20秒ほどしてハンダの液面全体がベコっと凹む。熱で膨れていたポリウレタン被膜が破れ、ワイヤのすき間にハンダが流れ込んだ。
  3. その直後、ワイヤに沿ってハンダが突沸でもしたかのように這い登ってくる。

慣れてくると液面が凹んだタイミングにあわせてコテを引き、直後の突沸を穏やかなものにしたくなる。 ただ、融けたポリウレタンがハンダ表面に浮き上がって固まる時間がなくなり、 別のものをハンダ付けするときにポリウレタンのカスが鬱陶しくなるので、ほどほどにしとく。
かるく傷つけとくと早い、というのも分かった。やんないと思うけど。

ワイヤの一方をハンダ付け済とかで周辺が熱せられていた条件では 20秒よりもうすこし早いし、接続相手の金属片が大きければ もうすこし遅い。それはまあそんなもん。

加熱対象に余力がなくて UEW に予備ハンダしておきたい時は、余ってるスルホールをハンダの溶鉱炉にし、そこにポリウレタン線を突っ込んでいる。

カプトンテープ

カプトンテープを絶縁の補助にすることはあったが、カプトンテープで絶縁するのを前提とした実装は初。 ダイセンの変換基板 Q048 は裏面が 0.8mm ピッチ用で、直下の基板のランドに触れるとマズい分をマスク。
... つうか、Q048 の裏面全体にテープ貼って、Q048 とユニバーサル基板側と繋ぐ必要のあるスルホールに千枚通しを 刺して電源線用の TCW を通し、両側でハンダ付けして固定した。

なお、UEW は Q048 側でしかハンダ付けしていない。Q048 の厚みが 1.0mm, 秋月基板の 1.6mm で厚み計 2.6mm ちょいあって、 しかも上下のスルホールが繋がっていないので、片側から裏面までの坑内にあるハンダを一度にすべて融かし切ることはできない。 そして両面から UEW をハンダ付けするとスルホール内に閉じ込められる空気が突沸で弾けてけっこう危険。 というわけで必要のない秋月基板側の穴にはハンダ付けしてない。

カプトンテープの面に沿ってハンダが隣と接触したりしないか心配したが、何の問題もなかった。基板のレジストよりよっぽど濡れないのね。

裏面パッドのハンダ付け

Q048 は中央パッドが表裏で繋がっている。裏面に何かをハンダ付けしたとして、裏面に手がとどかなくても表面にまだ IC のっけてない時点なら表側パッドから繋がったどうかテスタで確認することができる。せっかくなのでちょっとハンダ付け。
  1. 秋月基板裏面から、秋月基板表側に重ねたQ048の中央パッドに当たるスルホールをハンダで埋める。これだけでハンダがパッドに届いて繋がってくれればいいがそんな旨い話はない。
  2. スルホール内のハンダを融かしつつ、TCW 線をQ048のパッドにコツンとあたるまで差し込む。
  3. その状態で 10秒ほど待つと、ハンダ液面がぐっと下がる。パッドが濡れて秋月基板表面〜Q048パッド間の空間にハンダが充填された。 秋月基板スルホールとQ048の表面パッドが導通したはずだ。
  4. コテを離す。最初のうちは TCW 線もそのままにして、ハンダが固まってから切っていた(つーか、切ってさえないが)、 いっしょに TCW をひっこぬいても大丈夫。
ハンダ液面低下は秋月基板のスルホールの場合で 0.6mmほど。おおよその計算だけど、ちゃんと
ランド表面積 × パッド〜基板間の隙間 = スルホール面積 × 液面低下分
が成り立っていた。

コツの本質は UEW のハンダ付けと一緒だったりして。ほんとはパッド側を予備ハンダしておくもんなんだろうが、してない。 次回もしないだろう。パッド面とピンの面の差は多くの MLF パッケージで 0.1mm ほど。 予備ハンダするとピン下面が基板に接触しなくなることの罪のほうがたぶん重い。

出来た JTAGkey clone を PC に繋ぐと

まず赤LEDが点灯(5Vの供給開始)、1 秒ほどして青緑LED が点灯 (FT2232L の初期化終了)。 けっこうズレるのでターゲットへの電源供給は確かに PWREN# によるスイッチが必須かも。
ついでだが。この赤と青緑は秋月の 2色LEDの奴 (FRDC1211C) なので 初期化終了後は黄色に見える ... ことを期待したが発光位置はけっこうずれていた。ちぇ。 それと、仕様上の If は赤側が 20mA, 青緑側が 10mA で規定してある。 なら、ってんで当初の設計は 2mA/1mA で点けるようにしてあったが壮絶に眩しく、 近所の CL-195Y/D (5.5mA流してる) とバランスが悪かったので抵抗つけかえて 0.57mA/0.2mA とした。やや赤が強い(上の写真の左下の LED だけど、ちょっと橙っぽい)と思うので赤は 0.4mA 位が適正かな。

と、勝手に ftdi_sio モジュールがロードされた。FTDIの USB ⇔ シリアルコンバータ用モジュール。 もしかして JTAGkey 使うのに邪魔になるかと思ったが、別にそんなことはなく、すべてのアプリでスルーしていた。

余談 1: Olimex ARM-USB-TINY

おお UEW 使えるじゃんてなわけで今回ためしに使ってみた 0.26mmφ 20m にかわって常用にするつもりで 0.2mmφ 200g を買いに秋葉に出たとき、 ついでに寄った千石 2F で Olimex ARM-USB-TINY とか ARM-USB-OCD を発見したりして。TINY のほうで 7000円くらい。
先に知ってたらどうしてたかなとちょっと考えてしまった。1.8/2.5V 対応が欲しかったのでどっちみち作ったろうけど。

余談 2: MLFに対する UEW 直付け

をを UEW いけるじゃん、ということで 0.5mmピッチの MLF 40pinパッケージ(ADuC7020BCPZ) 相手に UEWの直付けハンダしてみて轟沈した。

0.2mmφのワイヤであっても融けたポリウレタンがまとわりついてけっこう太く、0.5mmピッチで並べるのは辛い。0.65mmあれば大丈夫そうだが。 それと、予備ハンダをスルホールでのハンダどぶ漬けでやってるのでメッキ長が1.6mmにきっちり揃うのは美しいのだが、 その 1.6mmが MLF相手にするときは長すぎる。0.5mm位に出来ないのなら隣接ワイヤとの短絡の確率は UEW だろうが TCW だろうが同じだ。 そりゃ切り揃えりゃいいんだけどさ。

余談 3: 電原容量

USB バスから電源供給を受けて 3.3V に直すとき、普段は降圧DC-DC の TPS62007 を使う。 PowerGood を持ち、600mA でリミッタを掛けられるなど、過不足ない作りで都合がよろしい。 今回は手配線で基板面積に余裕もないので MCP1700 (250mAまで) 使ったのだったが ... 上にも書いたが、ターゲットへの電源供給要求には際限がなく、あからさまに不足してきた。 せめてTA48M033 (500mAまで) くらいは載せる努力をするんであった。

ついでに。電源供給が便利なので、どっか隙間に 12V用DCDC として LM2731X 載せようかと計画中なのだが、 そんなん積むくらいだったら TPS62007 積めたよなぁ。

余談 4: ポリウレタン線 vs ジュンフロン線ふたたび

楽になった〜てわけで簡単に別のモン作った。で、案外時間がかかった。時間の経過と事前の時間の割り振り想定をにらめっこするに、 ... ポリウレタン線って、時間かかるのだな。

被覆熔融に 30秒かかるとすると 100pin つけるのに 50分かかるわけだ (両端ぶんで100分)。 ジュンフロン線の皮剥きに 1箇所 30秒もかからんので、集中力の摩耗とか疲労とか考えなければ ジュンフロン線で問題ないところではジュンフロン線のが早く終わる。

まあ、ぼけっと熔けるのを待つ 30秒と、ストリッパで被覆に切れ込みいれてひっぱる 3秒じゃ疲労は段違いではあるけども。

次!

たぶん出来た。ので、次は普通にARM で動作確認といく話

References


[日記へ] [目次へ]