EAGLE で デザインして、 OLIMEX で作ってもらうというのを前堤にして 作ったデータ。
オリジナルのデザインってのは、いいねぇ。 実際に作らなくても作ったような気にさえなる。
02/07/12 -- Flash ROM ボードの方は 発注。
02/07/17 -- ROM ライタの方も、発注のメールを出してしまった。
L-Router 向け Flash ROM ボード
モルフィー企画の ROM ボードを買ってみたけども、そのままでは L-Router の ROM ソケットにささらない。削ったりいろいろするのは面倒なの で、デザインしてみた。発注したけども、動くかどうかは作ってみないと わからない。
セールスポイントは、
データ ( 02/07/09 更新 )
コストの目安
7/9 EAGLE の使い方をまったく間違えていたので、書き直し(ver 1.2)。
TO1 0.028 inch ( 0.71 mm) TO2 0.035 inch ( 0.89 mm)とか出たから OK なんだろう。
TOP: 1,17,18 BOTTOM: 16,17,18 SILK: 20,21,25 TOP MASK: 29 BOTTOM MASK 30
DSS : 両面スルーホール基板 160mm x 100 mm $26 + 0.8mm : + $5 穴 : 72 個 ( 10 枚取れるなら 720 個) 500 超過なので、+ $2.6 ルール 8mil ( 製作 15 営業日) 送料 : Airmail $8 ( 8-14 日) 合計 $41.6 3-4 週間 注文方法 brd ファイルと readme.txt を zip で圧縮して fastpcb@olimex.com に送る。 readme.txt は、DOS 型式で、 name : shipping address : shipping option : Airmail file list : readme.txt -- this file rom102a.brd -- Flash ROM board ver 1.2 type : DSS desgign rule : 8mil thickness : 0.8mm ぐらいを書けば良いのか?
02/07/10
3-4 週間もかかるのなら、できた順に order かけていこうと考え ROM board を order したいというメールを出してみた。
レイアウトを 考えたら 最大 12 枚入るので、その旨も 書いてみた。
desirable board layout (6.00 x 3.95 inch) +----+----+----+----+----+----+----+----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +----+----+----+----+----+----+----+----+ | | | +-----------------+-----------------+ | | | +-----------------+-----------------+
返事と MS Word ファイル が来た。
Word ファイルの中味は、FAX 用 order form 。で、ちょっと気になること
02/07/16
02/07/19 送ったぞとのメールが来た。ちょうど一週間。
02/07/27 きたぁー...らしい。書留あつかいでまだ受け取っていないが、 郵便局からの通知には、確かに OLIMEX と。
02/07/29 ボードうけとる。ガーン 失敗。シルクスクリーンが、Flash ROM の
端子の部分にかかっている。これはどうしたら良いのかな。
なにかで削れば良さそうだから、まぁよしとしよう。( これは爪でごりごりやれば
OK だった。)
そういうことも含めて、自分が書いたアートワークが物として手に入るというのは
感動もの。
電子工作/XC9572XLで作るROMライタあんど 電子工作/XC9572XLと8U245AMで作るUSBシリアルIOの合体ボード
ROM ライタ部の構想
NAXJP というフリーの CPLD 書き込みソフトを知ったので、 それでいろいろ遊んでみたいぞ と思って設計したもの。
---
電子工作/XC9572と8U245AMで作るシリアルIO と 電子工作/XC9572で作るROMライタ が合体したボードの構想
大きさは、8cm x 5cm 。OLIMEX に発注したとき 4 枚取れるのが前堤。
使い方は、
の3通りを想定。
ピンの配置
pin 1 2 3 4 5 6 7 8 9 10 VCC DI CK DO SEL TDO TCK TDI TMS GND Conifg ------------------------ 通信 ---------------------
さて、ROM ライタ側のことを考えると、ホストとの通信のために 4 本。 相手ての接続のために 8 本 の I/O 線が必要ということになった。
これで 12 本。全部で 52 本だから ROM 側に使える I/O 線は 40本。
8bit アクセス専用ときめたら、7 本も余ってしまったが、無理につながなくて 良いならそれにこしたことはない。なんどか 配線してみたが、 信号の取り回しがけっこう厳しい。
ところで、D8 - D14 の 7本は、BYTE モード固定なら HI-Z だそうだ。 他のデータ線と共有しつつ、ROM ソケット上に信号を回すこともできる。 ... というわけで 入力用の 4 bit と TCK/TMS/TDI の 3 本 の 合計 7 本を ROM にも出すようにした。(TCK/TMS/TDI を ROM に出しても何の役にも立たない のだが、配線がすっきりする。)
USB B タイプコネクタの形状はわかった。 DC ジャックは、秋月で売っている マル信無線 の MJ-179P の形状がわかった。
02/07/10 発注を前堤に 書き直し。
02/07/11 回路 チェック。
おおむね OK だが、USB 部 CPLD の JTAG 配線が 間違っていた。
チェック内容
リセット回路 (SMD 専用) +------+------ C ------------- +5V | | 0.01u 100K | | +------+--- B E ---------- RESET# (4), CPLD へ | | 470K 100K | | +-----------+----------- GND 適合 TR は不明 (モルフィーの回路だと 2SA1105) EEPROM(93C46) 部 EECS --------- (1) --- 100K ---> VCC (8)---> VCC EESK --------- (2) (7)--- GND EEDATA ----+----(3) (6) ---> VCC | 2K2 | +----(4) --- 10K ----> VCC (5)----> GND USB 部 DPLUS ------- 10 ---------- D+ DMINUS ---+-- 10 ---------- D- | 1K5 | V33 ----+ | 0u1 | +------GND その他 +---> VCC | 470 | AVCC ---------+ | 0u1 | +----- GND +---> VCC | 100K | RCCLK --------+ | 0u1 | +----- GND XIN ----o o -----> GND XOUT ----o --------------> CPLD へ 6MHz セラミック パスコン 0u1 いくつか。 他の信号線は、全部 CPLD と 1:1 に配線。
JTAG のバグだけ直して、 確実に 4 枚取れるように 基板のサイズをチェックすれば、発注はできそうだ。
修整したもの
サイズチェック
ドリル数チェック
メモ: 部品リスト
SMD 用 0.01 u 100K 470K TR http://rswww.co.jp で購入可能。 抵抗: MCR10 シリーズ 2012 (2.0mm x 1.2mm) 50個 300円 トランジスタ: 2SA1576AR (SC59) 10個 70円 とか? コンデンサ: 秋月 20個 100円 SMD or 小さいサイズ 0.1u 10 470 1K5 2K2 4K7 (10K でもいいかも) 10K 100K SMD は、上記と同じ 50個 300円。 足つきなら、秋月で 100本 100円 電解コン 4u7 (不用かも) 33u (あたり?) 47u の SMD タイプ 10 個 200-300円 @ rswww 6MHz セラロック (秋月) 電源レギュレータ 3.3V TA48M033F (千石) XC9572XL-VQ64 x2 (トリプルワン) FTDI FT8U245AM (IPI) 93C46 (5V 用) オプション?(秋月) USB B type (IPI/秋月) DC コネクタ ジャック (適当 / テスト用)(秋月) PIN ヘッダ 1x10 (CN1 用) PIN ヘッダ 1x10 (CN2 用 テスト用) PIN ヘッダ 1x5 (CN3 用 USB部 JTAG ) 48 pin DIP ソケット 8 pin DIP ソケット (93C46 使用時)
8bit CONFIG(JTAG) | | | USB --- FT245AM ---- CPLD(USB部) -+-- CPLD(ROMWri部) -+-- 外部接続 | 8bit パラレル | 12bit + CLK 8bit - 4bit+JTAG +-- ROM ソケット 33 bit(+4) USB 部 CONFIG 用 pin 機能 USB 部 CPLD 6 TDO (IN) | TDO 7 TCK (OUT) | TCK 8 TDI (OUT) | TDI 9 TMS (OUT) | TMS 10 GND USB - ROM Writer 接続用 USB 部 CPLD pin 機能 ROMWri 部 CPLD 1 NC 42 2 DI (IN) | 24 45 3 CK (OUT) | 17 44 4 DO (OUT) | 19 43 5 SEL (OUT) | 22 46 6 TDO (IN) | TDO 40 7 TCK (OUT) | TCK 39 8 TDI (OUT) | TDI 38 9 TMS (OUT) | TMS 10 GND 外部接続用(ROM Writer 部) ROMWri 部 CPLD pin 機能 1 VCC (3.3V 出力) 58 2 DI (IN) 56 3 CK (OUT) 51 4 DO (OUT) 49 5 SEL (OUT) 45 6 TDO (IN) 40 7 TCK (OUT) 36 8 TDI (OUT) 35 9 TMS (OUT) 10 GND ROM ボード接続用 CPLD ROM ROM CPLD NC(1) ~RESET(48) 61 NC ~WE 62 60 RDY/~BUSY NC 59 A18/NC A19/NC 63 57 A17 A8 64 52 A7 A9 9 50 A6 A10 8 47 A5 A11 4 46 A4 A12 2 48 A3 A13 1 43 A2 A14 6 38 A1 A15 11 33 A0 A16 16 GND ~CE ~BYTE GND Vss Vss 32 ~OE DQ15/A-1 13 31 DQ0 DQ7 15 (30) DQ8 DQ14 (17) 34 DQ1 DQ6 18 (28) DQ9 DQ13 (19) 27 DQ2 DQ5 20 (29) DQ10 DQ12 (22) 25 DQ3 DQ4 23 (24) DQ11(24) (25)Vcc FT245AM -- CPLD (USB 部) 接続 CPLD FT245AM 51 XOUT(28) (OUT) 52 D0(25) 56 D1(24) 57 D2(23) 58 D3(22) 59 D4(21) 60 D5(20) 61 D6(19) 62 D7(18) 63 RD# (16) (IN) 64 WR (15) (IN) 1 TXF# (14) (OUT) 2 RXF# (12) (OUT) 4 EEREQ#(11) (IN) 5 EEGNT#(10) (OUT) 23 RESET#(4)
改良すべき点
o 電解コンデンサの SMD 対応 (直径をでかくしておく?) o ROM ソケットへの +5V 供給 (NC のところを使う) なんかもう面倒だからいいやという気になってきた。 SMD の電解コンなんかつかわないと思うし、ROM ソケットも 3.3V 専用と割り切れば良いと思う。 これももう発注してしまいたい。
02/07/16
02/07/24 発送したとのメール。FAX から 8 日かかっているが、まぁ そんなものか。
これで、一週間ほど待てば、ボードがやってくるのだろうか? とても たのしみ。夏休みに製作をたのしめそうだ。
02/07/31 キターーーらしい。flash ROM ボードは単純だったが、 これはちょっと複雑なので、どういう仕上がりか とても気になる。
02/08/01 キターーー。外国樣よりの 封筒を受け取る。なかには、確かに4枚。 うーん。パターンとレジスト,シルクは、EAGLE で書いたとおりだねぇ。 ドリルが、ちょっとずれたりしている。 あと、4枚中1枚に、ちょっと茶色のカスがこびりついていた。洗浄不十分? 消しゴムでゴリゴリやったら、銅色の地が出てきた。これが使えるか ちょっと不安。テスターで調べてみよう。
02/08/08
秋月 6Mhz セラロック 40 円ぐらい。 93C46 1 列 40 pin ピンヘッダ ( 普通の長さ) 8pin IC ソケット 1/6 W 抵抗 ( ちいさいタイプ ) 各100 本入り 100円。 10, 470, 1K5, 2K2, 4K7, 10K, 100K, 470K 表面実装 コンデンサ 20 個入り 100円。 0.01 u, 0.1 u 千石 表面実装 抵抗 10 個入り 50円。 10, 470, 1K5, 2K2, 4K7, 10K, 100K, 470K トランジスタ 表面実装 品がみつからなかったので普通の 2SA10?? 5 つ 150 円 ( 残りの部品は購入済 )
一応部品は揃った... はず。そろりそろりと組み立てはじめようかと 思っている。
メモ: XC9572XL-VQ64 のピン配置
V G T c N D g2 2 2 2 2 2 2 4 4 c D O 4 4 4 4 ----------------------------------------------- /64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 \ 2 | 1 48 | 4 g2 | 2 47 | 4 Vccint | 3 46 | 4 2 | 4 45 | 4 g2 | 5 44 | 4 2 | 6 43 | 4 2 | 7 42 | 3 1 | 8 XC9572XL-5-VQ64 41 | GND 1 | 9 40 | 3 1 | 10 39 | 3 1 | 11 38 | 3 1 | 12 37 | Vccint 1 | 13 36 | 3 GND | 14 35 | 3 g1 | 15 34 | 3 g1 | 16 33 | 3 \ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 / ----------------------------------------------- g1 1 1 1 G 3 1 3 3 V 3 T T T 3 3 N c D M C D c I S K g: global pin 1-4 : function block # TDO , TCK, TDI, TMS : JTAG Vccint : 3.3V Vcc(io): 2.5/3.3V
一番ピンを 左上になるように して、信号線を書き入れてみた。 ファンクションブロックは 1-4 まである。あまり気にするつもりはなく、 同じファンクションブロックは 近く、違うファンクションブロックは 遠い ぐらいに考えるつもり。左側の角にある グローバルのピンもあんまり気に するつもりはないが、クロック入力などは、できるならこれを使った方が 良いかも。
メモ その2 FT245AM の ピン配置
E R A A X X V D E C V G T T c 0 C C C N O I c S L C D U N K T ------------------------ /32 31 30 29 28 27 26 25 \ EESK | 1 24 | D1 EEDATA | 2 23 | D2 VCC | 3 22 | D3 RESET# | 4 21 | D4 TEST | 5 FT245AM 20 | D5 3V3OUT | 6 19 | D6 USBDP | 7 18 | D7 USBDM | 8 17 | GND \ 9 10 11 12 13 14 15 16 / ------------------------ G E E R V T W R N E E X C X R D D G R F C F # N E # # T Q # #
これで何をしたいか
困っていること
OLIMEX について http://www.paken.org:8080/aaf/eda/olimex.html で 日本語で詳しい説明があるんだが、思うように 設定できていない。
EAGLEをうまく使えていないのだ。 だいたい、CAD など さわったことがないので、誤解していることが多い。
だいたい慣れたら
このあたりちゃんとチェックしないとダメらしい。
Q: ドリル径の設定はどうやるの?
メニューでは、10,12,16,24,32... とでてくる。 設定したいドリル径は、 24(0.6mm), 28(0.7mm) ,35(0.9mm), 39(1.0mm) ... 。
まず、view で mil 単位にする。 コマンドラインを使って
change drill 130とすれば、希望のサイズに変更できる。
Q: DRC (デザインルール チェック) って?
OLIMEX では、8mil の デザインルールでも、線の太さが 10 mil Space が 8mil でないといけない。
それをチェックする のが DRC で、OLIMEX で、8mils.dru または 10mils.dru を配布している。
それを使うのは良いのだが、 0.5mm ピッチの IC を扱おうとすれば、ピッチは、19.xx mil。 誤差などを考えると、11 mil の 太さの PAD を 0.5mm 間隔で並べていかないと いけないのではないかという気がする。それはともかくいずれにせよ。 この場合、8mils.dru でチェックすることになる。
さて、IC はライブラリで 描くが、そのとき RECT で 絵を書くのではダメ。 それではシグナルがのるものとして認識してくれないようだ。 ライブラリは作れてしまうのだが、後で DRC するときに困る。 RECT と Wire を重ねると、接続されずに、2 つのものが近づきすぎている というエラーになる。
ではなにを使うかというと SMD 。任意のサイズの SMD を作るには、 コマンドラインで、
SMD x_width y_widthとする。単位は、view -> grid で指定した単位らしい。
変更する場合は、
change smd x_width y_width
XILINX.lbr に付属の VQ64 は、12 mil x 59 mil の SMD パッドを使っている。 これでは、DRC にひっかかるので、11 mil x 59 mil にしないといけない。
それだけではダメだということが、分かった。 SMD のサイズを変更しても、接続してくれない。
どうも、ボードエディタというのは、部品を配置して、その部品間をつないで いく。そういうものらしい。で、まったく部品とつながっていない線は 部品とは接続できない?
少なくともこの手順なら、DRC でエラーにならない ボードができる。
ということは、部品から書き直ししないとダメらしい。
ROM ボードの場合は、部品といっても、48 pin DIP と プルアップ抵抗2つだけ だから、書き直しはそれほど苦でもない。PAD で書いた ROM ソケット全部消し 部品にした 48 pin DIP を置き換え、1本1本 配線を消して書き直す。 ... と書くと大変なようだが、デザインの方が大変なので、デザインをこわさずに 書き直せるのは楽なほう。
それはともかく、EAGLE のユーザインターフェイスは、興味深い。 メニューでも省略した操作できるが、コマンド入力ラインをもっていて、 メニューでできることは全部できる。コマンドラインでパラメータを省略 すると、メニューとか オブジェクトを指すといった GUI でそれを補う。 で、コマンドラインの部分は、スクリプトでも動かせる(ようだ)。 うまく GUI と コマンドラインインターフェイス(CLI) が統合されていて、 慣れれば使いやすいような予感がする。数字を入れれば済むところで、 GUI で撰択したり、アバウト or 感覚的に操作したいのに数字をいれなくては ならない...といったことでうんざりさせられないわけだ。
ただし、メニューだけですべての操作はできない。初心者なら、 なにができるか分からないわけで、戸惑うポイントでもある。
02/07/04
なにを デザインして、OLIMEX に発注するかの 方針が定まった。
まず ROM ボード。これは いうまでもない。
それとともに、FTDI + XC9572XL-VQ64 で作る汎用 I/O ボート と CPLD ROM ライタ を くっつけて 8cm x 5cm に 入れたボードを 設計し発注する。
ふたつのボードは切り離すこともできるようにして、ROM ライタの方は パラレルポート接続も考えておく。
02/07/08
やはり完成形は、
というもので、開発の際に 部品の付け方で
というものを目指すことにした。基板は C 基板サイズよりちょっと大きいが、 十分小さいので、わざわざ 切り離して使えてもメリットがないと判断。
さて、このボードで なにをしたいか/なにができるか 再度考えてみる。 USB インターフェイスだから、お手軽に高速で 作業ができるのは大前提。
この2つは、主目的だが、その他として
これぐらいできれば、とりあえず満足かも。
回路まで変更してアドオンのボードを作れば、ちょっとしたことはできそうだが、 一応想定しているのは、
これ以外に、RAM とクロックが載った ROM サイズ の ボードを作ってみたい。 それで何をするかというと