FC2カウンター FPGAの部屋 Ultra96
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板5(とりあえず基板配線ができた)

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板4(基板作成開始)”の続き。

前回は、パーツにフットプリントをアサインして、基板の取り付け穴とコネクタの位置を決定した。今回は、部品の位置を決定して、FreeRouter で自動配線してもらって、KiCad にインポートした。

まずは、FreeRouter の画面を示す。KiCad からフットプリントや配線情報をエクスポートして、FreeRouter に読み込み、自動配線した結果だ。
Ultra96V2_HL_exp_board_22_190927.png

FreeRouter の自動配線した結果をエクスポートして、KiCad でインポートした。
Ultra96V2_HL_exp_board_21_190927.png

DRC もOK だが、特に 3 つの電源ラインがどうつながっているか?を確認する必要がある。
  1. 2019年09月27日 05:21 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板4(基板作成開始)

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板4(回路図修正、フットプリント作成)”の続き。

前回は、電源ICのフットプリントを作るのが難しいので、1.2V の電源モジュールを MOUSER で売っているTRACO Power TSR 1-0512SM に変更した。更に 3 個のフットプリントを作成した。今回は、進捗は少ないが、パーツにフットプリントをアサインして、基板の取り付け穴とコネクタの位置を決定した。

回路図が完成し、フットプリントを作成したので、パーツにフットプリントを割り当てた。
Ultra96V2_HL_exp_board_18_190922.png

Ultra96V2_HL_exp_board_19_190922.png

すべてのパーツにフットプリントを割り当てることができた。
Eeschema でネットリストを出力した。

Pcbnew を立ち上げてEeschema で出力したネットリストを読み込んだ。
パーツが読み込まれてきた。
取り付け穴とコネクタの位置を決定した。
Ultra96V2_HL_exp_board_20_190922.png

低速コネクタPMOD 拡張ボードと低速コネクタからの基板の距離は一緒だ。低速コネクタPMOD 拡張ボードのPMOD は 2 つ並んでいるが、その面に 4 個 PMOD コネクタを並べる予定だ。
後 2 個は右の辺と左の辺に 1 個ずつ並べる予定だ。
基板のサイズは、73 mm X 85 mm の予定だ。
  1. 2019年09月24日 05:16 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板4(回路図修正、フットプリント作成)

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板3(回路図完成)”の続き。

前回は、「Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板の回路図が完成した」と書いたが、やはり、電源ICのフットプリントを作るのが難しいので、1.2V の電源モジュールを MOUSER で売っているTRACO Power TSR 1-0512SM に変更した。更に 3 個のフットプリントを作成した。

変更した回路図を示す。1.2V の電源モジュールを TRACO Power TSR 1-0512SM に変更した。
Ultra96V2_HL_exp_board_14_190922.png

最初に、作成した集合抵抗チップネットワーク抵抗器 CND2A10Y 1kΩ のフットプリントを示す。
秋月電子には、1 KΩの集合抵抗しかないが、MOUSER には、同じフットプリントの集合抵抗が売っているので、それを使おう。3.3 kΩがこれだ
Ultra96V2_HL_exp_board_17_190922.png

1.2V の電源モジュールの TRACO Power TSR 1-0512SMのフットプリントを作成した。
Ultra96V2_HL_exp_board_16_190922.png

最後に、高速コネクタに勘合するコネクタ TE5179031-2 のフットプリントを作成した。
Ultra96V2_HL_exp_board_15_190922.png

これでフットプリントができたので、基板を作成する準備が整った。
  1. 2019年09月22日 05:53 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板3(回路図完成)

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板2(回路図作成途中)”の続き。

前回は、Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板の回路図を作成している途中だった。今回は、Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板の回路図が完成した。

まずは、階層回路図のトップを示す。
Ultra96V2_HL_exp_board_9_190918.png

低速コネクタ部分の回路図を示す。
Ultra96V2_HL_exp_board_10_190918.png

高速コネクタの 1 枚目の回路図を示す。
Ultra96V2_HL_exp_board_11_190918.png

高速コネクタの 2 枚目の回路図を示す。
Ultra96V2_HL_exp_board_12_190918.png

実は、高速コネクタのPL に接続されてる端子のUSB2D3 がUSB 3.1 コントローラーに接続されていてPL のピンに接続していなかった。そこで、P6 は 4 個のピンだけを接続してある。残念。。。

BOM を示す。
Ultra96V2_HL_exp_board_13_190918.png
  1. 2019年09月18日 05:32 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板2(回路図作成途中)

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板1”の続き。

前回は、”Ultra96-V2 の低速コネクタに接続する PMOD 拡張基板を作ってきたが、PMOD が 2 個だと、CMOS カメラを接続するので、精一杯で、ロボットを動かすPWM を出力するPMOD が確保できなかった。よって、高速コネクタのピンも使用して、最大PMOD 6 個出力できるようにしようと思う。”ということで、Ultra96V2 のコネクタの仕様や使用する部品について検討した。今回は、KiCad で回路図を作成している。新たな部品のシンボルを作成して、階層回路図を使用して書いている。

KiCad 階層回路図を書くのは初めてなので、”KiCad 5.0 / 5.1 入門実習テキスト『KiCad Basics for 5.x』 #マッハ新書”を見ながら階層回路図を書き方を学習しながら回路図を書いている。

まずは、作成したシンボルを示す。
秋月電子のチップネットワーク抵抗器 CND2A10Y 1kΩの回路図シンボルをR_Network08 を修正して作成した。
Ultra96V2_HL_exp_board_7_190917.png

次に、秋月電子のムラタ表面実装DC-DCコンバーター OKL-T/3-W5N-C の回路図シンボルを作成した。これは同じピン番号が 2 つあるピンがあるので、それは大きな番号に振り直した。
Ultra96V2_HL_exp_board_8_190917.png

これを使用してPMOD 2個分ずつに回路図を分割した。
Ultra96V2_HL_exp_board_4_190917.png

low_speed_con, high_speed_con0, high_speed_con1 の 3 つの階層回路図に分割した。

low_speed_con を示す。これはだいたい完成している。
Ultra96V2_HL_exp_board_3_190917.png

high_speed_con0 を示す。これは高速コネクタは書けているが、高速コネクタの片側のピンをhigh_speed_con1 に回す必要がある。その部分はまだだ。
Ultra96V2_HL_exp_board_5_190917.png

high_speed_con0 を示す。これは、PMOD 回路をコピーしただけで、まだ高速コネクタからの信号線をつないでない。高速コネクタからの信号線は階層ラベルにする予定だ。
Ultra96V2_HL_exp_board_6_190917.png

全体の完成度は 50 % と言ったところか? 引き続き回路図の完成に向けて努力しよう。
  1. 2019年09月17日 05:11 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

Ultra96-V2 の高速、低速コネクタ用PMOD 拡張基板1

Ultra96-V2 の低速コネクタに接続する PMOD 拡張基板を作ってきたが、PMOD が 2 個だと、CMOS カメラを接続するので、精一杯で、ロボットを動かすPWM を出力するPMOD が確保できなかった。よって、高速コネクタのピンも使用して、最大PMOD 6 個出力できるようにしようと思う。

当初は、低速コネクタのPMOD 拡張基板と高速コネクタの拡張基板を分けようと思っていたのだが、Ultra96-V2 の回路図を見ると高速コネクタに電源の出力がない。回路図を一部を引用する。
Ultra96V2_HL_exp_board_1_190913.png

低速コネクタの方には、+5V と+VCC_PSAUX (1.8V) が出力されているので、高速コネクタと一緒に低速コネクタ用のヘッダを基板に搭載する必要がある。回路図の一部を引用する。
Ultra96V2_HL_exp_board_2_190913.png

やはり +5.0V を電源に使用する必要がある。+5.0V は 6A ということなので、電流容量に不安はないはず。
高速コネクタのFPGA 出力ピンの電圧はほとんど 1.2V ということが分かった。制約ファイル Ultra96_constraints_180318.xdc の一部を引用する。

# ----------------------------------------------------------------------------
# High-speed expansion connector
# ---------------------------------------------------------------------------- 
# Bank 65
set_property PACKAGE_PIN P1   [get_ports {CSI0_C_N                }];  # "P1.CSI0_C_N"
set_property PACKAGE_PIN N2   [get_ports {CSI0_C_P                }];  # "N2.CSI0_C_P"
set_property PACKAGE_PIN N4   [get_ports {CSI0_D0_N               }];  # "N4.CSI0_D0_N"
set_property PACKAGE_PIN N5   [get_ports {CSI0_D0_P               }];  # "N5.CSI0_D0_P"
set_property PACKAGE_PIN M1   [get_ports {CSI0_D1_N               }];  # "M1.CSI0_D1_N"
set_property PACKAGE_PIN M2   [get_ports {CSI0_D1_P               }];  # "M2.CSI0_D1_P"
set_property PACKAGE_PIN M4   [get_ports {CSI0_D2_N               }];  # "M4.CSI0_D2_N"
set_property PACKAGE_PIN M5   [get_ports {CSI0_D2_P               }];  # "M5.CSI0_D2_P"
set_property PACKAGE_PIN L1   [get_ports {CSI0_D3_N               }];  # "L1.CSI0_D3_N"
set_property PACKAGE_PIN L2   [get_ports {CSI0_D3_P               }];  # "L2.CSI0_D3_P"
set_property PACKAGE_PIN T2   [get_ports {CSI1_C_N                }];  # "T2.CSI1_C_N"
set_property PACKAGE_PIN T3   [get_ports {CSI1_C_P                }];  # "T3.CSI1_C_P"
set_property PACKAGE_PIN R3   [get_ports {CSI1_D0_N               }];  # "R3.CSI1_D0_N"
set_property PACKAGE_PIN P3   [get_ports {CSI1_D0_P               }];  # "P3.CSI1_D0_P"
set_property PACKAGE_PIN U1   [get_ports {CSI1_D1_N               }];  # "U1.CSI1_D1_N"
set_property PACKAGE_PIN U2   [get_ports {CSI1_D1_P               }];  # "U2.CSI1_D1_P"
set_property PACKAGE_PIN H5   [get_ports {DSI_CLK_N               }];  # "H5.DSI_CLK_N"
set_property PACKAGE_PIN J5   [get_ports {DSI_CLK_P               }];  # "J5.DSI_CLK_P"
set_property PACKAGE_PIN F1   [get_ports {DSI_D0_N                }];  # "F1.DSI_D0_N"
set_property PACKAGE_PIN G1   [get_ports {DSI_D0_P                }];  # "G1.DSI_D0_P"
set_property PACKAGE_PIN E3   [get_ports {DSI_D1_N                }];  # "E3.DSI_D1_N"
set_property PACKAGE_PIN E4   [get_ports {DSI_D1_P                }];  # "E4.DSI_D1_P"
set_property PACKAGE_PIN D1   [get_ports {DSI_D2_N                }];  # "D1.DSI_D2_N"
set_property PACKAGE_PIN E1   [get_ports {DSI_D2_P                }];  # "E1.DSI_D2_P"
set_property PACKAGE_PIN C3   [get_ports {DSI_D3_N                }];  # "C3.DSI_D3_N"
set_property PACKAGE_PIN D3   [get_ports {DSI_D3_P                }];  # "D3.DSI_D3_P"
set_property PACKAGE_PIN C2   [get_ports {HSIC_DATA               }];  # "C2.HSIC_DATA"
# Bank 66
set_property PACKAGE_PIN A2   [get_ports {HSIC_STR                }];  # "A2.HSIC_STR"
# Bank 26
set_property PACKAGE_PIN E8   [get_ports {CSI0_MCLK               }];  # "E8.CSI0_MCLK"
set_property PACKAGE_PIN D8   [get_ports {CSI1_MCLK               }];  # "D8.CSI1_MCLK"


制約ファイルに書いてあったが、Bank 26 は 1.8V 、Bank 65 は 1.2V だそうだ。

# IO standard for Bank 26 Vcco supply is fixed at 1.8V
# IO standard for Bank 65 Vcco supply is fixed at 1.2V


となると 1.2V 電源を用意する必要があるが、1.8V だと秋月電子のシリーズ・レギュレータに対応品があるが、1.2V だとない。
そこで、可変電圧レギュレータを使うことにしようと思う。
ムラタ表面実装DC-DCコンバーター OKL-T/3-W5N-C
◆入力電圧:DC2.4V~5.5V(3V/5V兼用)
◆出力電圧:0.6V~3.63V(可変)
◆出力電流:最大3A
なので、良さそうだ。
1.2V 出力のときの抵抗は 2.0 kΩだそうだ。
表面実装品の抵抗は秋月電子では5% 精度なので、これだけはアキシャルでよいか。
小型 金属皮膜抵抗1/4W2kΩ(100本入)
「従来の1/6Wと同サイズの小型1/4W、±1%の金属皮膜抵抗です。」ということなので、小さくて良さそうだ。

(2019/09/17:追記)
1.2V の電源モジュールとして、MOUSER で売っているTRACO Power TSR 1-0512SM も良さそう。
表面実装品、入力電圧: 3 V to 5.5 V、出力電圧 - チャンネル1: 1.2 V 、出力電流 - チャンネル1: 1 A
  1. 2019年09月13日 05:33 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0

Ultra96のPMOD拡張ボード計画(高速、低速コネクタをPMODへ変換)の部品調査結果の覚書2

Ultra96のPMOD拡張ボード計画(高速、低速コネクタをPMODへ変換)の部品調査結果の覚書”の続き。

前回は、Ultra96のコネクタや拡張ボードを作るためのコネクタについて考察した。
石原ひでみさんの”FPGAの内容の薄い本2”を見て、改めてPMOD X 6 個のボードを作りたくなったので、もう一度コネクタを考えてみよう。

Hi speedコネクタ 5177983-2
勘合する相手方コネクタ たぶんコネクタ勘合時の高さ 8mmの5179031-2
MIPI Adapter Mezzanineカードを入れると少し斜めになっている(低速コネクタより高速コネクタの高さが高い)。だが、そうでないとUSBコネクタの金属部分に基板が当たってしまうためだろう?
Mouser https://www.mouser.jp/ProductDetail/TE-Connectivity-AMP/5179031-2?qs=sGAEpiMZZMvffgRu4KC1R8rBJR2XJ4CGVDXQfomnbnc%3D
データシート https://www.mouser.jp/datasheet/2/418/NG_CD_5179031_A4-1251986.pdf

Ultra96 と MIPI Adapter Mezzanine が勘合した時の高さは 7.9 mm 。低速コネクタの勘合高は 7.3 mm で 0.5 mm 斜めになっている。低速コネクタ高さは基板から 6.5 mm だった。

コネクタ高さ 12.5 mm と 9.5 mm の低速コネクタ用ヘッダを買ったのだが、標準ヘッダとの高さは 3 mm刻みだった。

石原ひでみさんの”FPGAの内容の薄い本2”で知った”96Boards Consumer Edition Low Cost Hardware Platform Specification Version 1.0, January 2015”にExpansion Board Connectors が載っている。
TE 5179030-2: High speed”は、高さ 6.6 mm のコネクタだったので、”5179031-2”よりも背が低いPULGコネクタとなっている。

もう1つHi Speed 用のPULG コネクタは、”FCI 61083-063400LF”で、これは、6.7 mm の高さのPULG コネクタになっている。データシートを見ると、4.7 mm, 5.7 mm, 6.7 mm, 7.7 mm の 4 種類の高さのコネクタがあるようだ。

MIPI Adapter Mezzanineカードでは、7.7 mm の高さのコネクタが使用されている。
値段は、”5179031-2”が 1 個で 454 円、”61083-064400LF”が 615 円なので、”5179031-2”が良さそうだ。
もっと背の高いPULG コネクタは無さそうなので、斜めになってしまうな。。。
またまたIDAさんからHi Speed コネクタの KiCad モデルについて教えてもらった。


低速コネクタ用のヘッダは、表面実装品よりも背が多少低いが秋月電子の”2mmピッチピンヘッダ 2×40 (80P)”にしよう。
理由は、表面実装品だと位置がいい加減になってしまって、コネクタに入らないことがあるかも知れないからだ。スルーホールだったら、Ultra96に入れといて、はんだ付けすればバッチリ。ちょっと怖いけど。。。

PMOD コネクタ 2X6P が欲しいのだが、MOUSERで検索できない。分かる方型番教えてください。
IDAさんに教えてもらいました。ありがとうございました。
SSW-106-02-T-D-RA
10 個で 126 円なので、秋月電子の 2.5 倍の価格か。。。でも割らなくて良いので、この方が見栄えも良いな。。。

中国の部品屋さんをIDAさんに教えてもらいました。ありがとうございます。
Changjiang Connectors A2541HWR-2x6P

レベル変換ICのプルアップ抵抗
PMOD 1 個のみ 1608 の 1 kΩを 8 個実装して、後は集合抵抗を実装する。

集合抵抗
チップネットワーク抵抗器 CND2A10Y 1kΩ (5個入)
http://akizukidenshi.com/catalog/g/gP-10717/

上の秋月電子の集合抵抗のパッケージ互換品(データシートのフットプリント例も参考になる)
CAT25-102JALF
https://www.mouser.jp/ProductDetail/Bourns/CAT25-102JALF?qs=sGAEpiMZZMvrmc6UYKmaNYMTSqkpbtN5ShD9l70ohz4%3D
  1. 2019年09月11日 04:34 |
  2. Ultra96
  3. | トラックバック:0
  4. | コメント:0