コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for the ‘JTAG’ Category


hatena bookmark

以前からちょくちょく出てきている、iruka さん製作の STBEE MINI を使った JTAGアダプター。名称 arm_blaster。

ごらんの通り CNCフライスでプリント基板を作って使っている。
回路図は元のページを見て欲しいのだけれども、単に 4本の GPIO に抵抗を挟んでコネクタにつなぐだけの代物。どう見てもユニバーサル基板で作った方が早いよ!という風情なのだけれども、敢えてこういう小物も CNCフライスで作っていきたい。

できあがったモノの仕上がりが綺麗ってのもあるけれども、今は CAD で書いて CNC で出力というフローに慣れたいからというのが主な理由。
あと、こんなものでも部品代としてみれば安いので数こなしていけばユニバーサル基板を買うよりコストメリットも出てくるはず。それとこれは次回になるだろうけれども、コネクターでユニバーサル基板にそのまま刺さらないような奴を使いたいときにぐぐっと優位性がでてくる。

とかそれらしいこと書いているけれども、実際の所、ワイヤーの皮膜を向いたり溶かしたりして配線する作業が面倒で嫌なんだよ!ヽ(`Д´)ノウワァァァン
あとユニバーサル基板を適度なサイズに割るのもめんどい。

ユニバーサル基板だととりあえずで作り始めて作りながらあーでもないこーでもないと設計を変えたりテストしたりするものだけど、CNCだと最初にCADできっちり設計しなければならないのが難点。
いや、それは製作手順としてやった方がいいことなんだけれども。

この程度のもの欲しい人がいるとも思えないけど、K2CADのデータやガーバーやGCODEの詰め合わせ。
Download: armblaster_pcb.zip


hatena bookmark

dsc06445
先日買ったマルツのFPGA学習ベースボードについているパラレルプログラマでうはうはのFPGA生活が送れているかというとさにあらず。この五日間コンフィギュレーションができなくて悪戦苦闘していた。

■ 第一の難関、増設パラレルポートの罠
Lattice の ispVM を起動してダウンロードケーブルを設定することから始まるのだけれども、自動認識に失敗しケーブルを発見することができない。
でまあ、パラレルポート設定の所に 0x0378 とか書いてあるのを見て気がつく。これは、マザーボードというかチップセット内蔵のパラレルポート時のI/Oアドレスだ。うちのは増設カードによるパラレルポートなのでI/Oアドレスが違うはず。
para_jtag1
で、見てみたら 0xb400 だったのでこれを手動設定。
para_jtag2
これでダウンロードケーブルが認識されて使える様になった。

■ 第二の難関、バウンダリスキャンできない
ところが次の段階であるバウンダリスキャンによるデバイス検出ができずエラーのみが帰ってくる状態に。さっぱりわからないので、超簡易プローブテスタを作成して、マルツボード上を信号が流れているか確認する。
dsc06446
大活躍の超簡易プローブテスタ。
みっちりと調査し、結構な時間をかけてわかったことは、JTAGの信号はちゃんとFPGAに届いていること。たぶん、TDOが受け取れずに 1 オンリーを検出している状態であること。
おまけに、調査しているときなんかの切っ掛けですぐ信号が出てこなくなる現象に遭遇。これに出会うとアプリを起動し直しなのだけれども、4回に1回とかの頻度で起こるのでちときつい。
ちなみに Xilinx モードにしたら Impact で普通にバウンダリスキャンできた(デバイスは不明な奴と表示される)。なのでマルツボードのせいでも、FPGA基板のせいでもなさそうである。
パラレルポートドライバと増設パラレルポートの関係な気がしてきて、やる気はがっつり減退。なにかに頼りたくなってくる。
dsc06447
頼りになる女神降臨(ひだりのほうね)。USBなかわいいアイツ。
まあ、Windows7 のときに「パラレルポート撤廃しようかなー」とかいっていた時はまだ迷いがありながらも検討していたと言うことで。

しかし……。

■ 第三の難関、USBケーブルでもバウンダリスキャンできない
流石にUSBケーブルでもコンフィグできなかった時は目の前まっくらになりましたよ。
今回のLattice基板(&雑誌)3つ買ってあったのだけれども、3つとも駄目ってどういうことよ。いったい何がどうなっているのよさ。
具体的にはパラレルポートの時とは違って、スキャンはできる。できるんだけれども、NO-JTAG という「不明なデバイス」扱いになってしまうという現象。
~~ 2日間の格闘を挟んで ~~
5日を費やしてようやく思い出した。そういや以前にもコンフィグできない問題ってあったよなと。
あれは2007年の Spaltan3E 基板の時。コンフィグできないという問題で一堂騒然。結局波形を揃える必要があるということで、うまくコンフィグできない人は244でバッファを作ってかますか、コンデンサを調整して波形を調整するということになっていたと思う。
dsc06455
その時につくった 74VHC244 なアダプタ。
これを基板とケーブルの間にかますと……。
dsc06454
ばっちりというかあっさりスキャンできるようになりましたよ。こんちくしょうめ。
もちろん、コンフィグもバッチリ。
これで Lattice FPGA基板で開発して遊ぶことができますよ。(目の端にキラリと光ものが)

たぶん、増設パラレルポートで上手くいかないみたいと言う問題と、バッファを噛ました方が良いという問題はそれぞれ別の事象。
私の場合はこうだったという情報までに。


hatena bookmark

dsc06443
マルツ電波の「FPGA学習ベースボード」を買ってみましたー。
やあ、デジタル・デザイン・テクノロジー連動付録の Lattice FPGA を使ってみたくなったもので。Lattice FPGAが使えるダウンロードケーブルは手元にないのでどうしたものかなあと考えていたのです。
なひたふさんが XilinxやAlteraのパラレルダウンロードケーブルで Lattice FPGA をプログラミングするサポートダウンローダを公開されているし、Lattice のパラレルダウンロードケーブルの回路図もあるので自作しても良かったりはする。でも、「難しくは無い」けど「面倒くさい」ときってあるよね。その面倒くさいも時には楽しい要素なのだけれども、今回は回避した次第。
それに、テストボードも作るの面倒で、これくらいのがスタートアップにあるのも結構便利なものだったりするのです。いずれは、自作のテストボードができてそれで済ます様になるかもね。

手に取るまで気がつかなかった、というか見落としていたのだけれども。
dsc06444
パラレルポートコネクタがオス型じゃん。
これまで使っていたストロベリーリナックスのパラレルダウンロードケーブル(現在は販売終了)がメス型コネクタだったのでケーブルが合わないよ。中継ぎコネクタでも買ってくるか……。
まあ、ByteBlaster もオス型コネクタだったし、メス型というほうが逆なのかもしれない。

このベースボード、7セグにスイッチにラダー抵抗DACとシリアルって結構バランスの良い学習ボードだと思う。取り敢えずの学習でこの辺は使いやすいしね。汎用I/Oポート端子に245バッファがついているところも初心者向けやマイコン応用用途としてポイント高し。
7セグがダイナミックでなく直繋ぎなのでポートを食い過ぎなのが難点。SRAMがついているとかなり汎用度が高まるんだけれども、まあそのへんはブロックRAMでなんとかするところか。
回路として簡単なのでおまけ的に USBコネクタがついているのだけれども、使える人がどれくらいいるかはちと疑問ではある。

この後に続く、Splatan3E と Cyclone 互換基板の販売が楽しみ。
この手の基板が後々入手できることの安心感は大きいと思うのです。