HTLAB.NET Efinix ダウンロードケーブル
Trion FPGA コンフィギュレーション方法 を踏まえて、作成した Efinix ダウンロードケーブルを紹介します。
ダウンロードケーブルの使用方法から解説します。
作り方についてはページ下部をご覧ください。
必要なファイルのダウンロード
GitHubを使用して開発をしているため、以下に置いてあります。
上記リンクからリポジトリにあるファイルを一式ダウンロードしておきます。
このようにクリックするとGitが無くてもZIP形式でダウンロードできます。
その場合は解凍してわかりやすいディレクトリに置いてください。
ドライバのインストール方法(Windows)
Efinix ダウンロードケーブルをコンピュータと接続し、ドライバのインストールを行います。
デバイスマネージャーを開くと「ほかのデバイス」に「HTLAB.NET Efinix Download Cable」というデバイスが複数見えると思います。
(それ以外の場所に見える場合は、既に別のドライバが当たっている可能性があるので、後述の通りアンインストールします)
表示されている「HTLAB.NET Efinix Download Cable」全てに対してドライバをインストールします。
右クリックで「ドライバーの更新」を開きます。
「コンピューターを参照してドライバーを検索(R)」をクリックし、ダウンロードしたGitHubのリポジトリ内、Driverフォルダを指定して次に進みます。
(サブフォルダーを検索する(I)にチェックを入れてください)
ドライバのインストールが終わるまで待ちます。
全ての「HTLAB.NET Efinix Download Cable」デバイスに対して繰り返しドライバのインストールを行います。
このように、「libusb-win32 devices」が増えます。
これでドライバのインストールが完了しました。
もし、ドライバのインストールがうまくいかない場合は、Zadigを使用してインストールを行います。
「libusb-win32」のドライバをインストールします。
ドライバのアンインストール方法(Windows)
何らかの理由でドライバを削除する場合や、別のドライバが当たってしまっている場合の対処法です。
デバイスを探し、右クリック、「デバイスのアンインストール(U)」を選択します。
必ず、「このデバイスのドライバーを削除しようとしました。」にチェックを入れて、アンインストールボタンをクリックします。
全ての「HTLAB.NET Efinix Download Cable」デバイスに対して繰り返し実行します。
次回、接続しなおしたときには、ドライバが適用されていない状態になっているはずです。
(注意:Zadigを使用してドライバを USB Serial (CDC) に変更しても、FTDI社のドライバに変更したことにはなりません。必ずアンインストールしましょう)
パッチの適用方法(Windows)
次に Efinity IDE にパッチを適用します。
パッチを適用しないと Efinity IDE でダウンロードケーブルが認識されませんので、必ずパッチを当てる必要があります。
パッチを当てる前に Efinity IDE は必ず終了させておきます。
WinMergeのインストール
バッチファイル中で、WinMerge(内のPatchコマンド)を使用します。
WinMerge をダウンロードしてインストールしておきます。
この例では、2024-01-27リリースの WinMerge-2.16.38-x64-Setup.exe を64bit環境下で使用しています。
インストール時には「プラグイン」にチェックが入っていることを必ず確認してください。
「標準インストール」で進めれば基本的に問題はありません。
インストールしておくだけで特別操作は必要ありません。
(注意)WinMerge 2.16.31時点でApplyPatchプラグインのアップデートが行われているため、Patchコマンドの場所が変更になっています。
そのため、WinMerge 2.16.30までのバージョンを使用している場合は、バッチファイル中のパスを変更する必要があります。
32bit環境でも同様にパス変更が必要と思われます。
~WinMerge 2.16.30 : C:\Program Files\WinMerge\Commands\GnuWin32\bin\patch.exe
WinMerge 2.16.31~ : C:\Program Files\WinMerge\Commands\msys2\usr\bin\patch.exe
WinMerge 2.16.31以降のバージョンを使用している場合は対応の必要はありません。
パッチの実行
ダウンロードしたGitHubのリポジトリ内、Efinity_Patchフォルダを開きます。
バージョンごとにパッチファイルが分かれているため、対象のバージョンのフォルダ(Efinity_IDE~フォルダ)を開きます。
Windowsのみ、スタンドアロンのプログラマーが存在します。
インストール先が異なるため、パッチを別に(Programmer~フォルダ)を用意してあります。
フォルダ内「Windows_Apply_Patch_WinMerge.bat」をダブルクリックで実行します。
管理者権限が要求されるので、変更を許可して進むと、このような表示になりパッチが完了します。
バッチファイルの詳細
詳しくはバッチファイルをテキストエディタで見てもらえればわかります。
行っていることは単純です。
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft2232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft4232.json
以上のファイルは新規にコピーを行っています。
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py
以上のファイルはパッチを当てています。
バックアップファイルは「C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py.orig」にあります。
パッチのアンインストール
何か不具合等があってパッチをアンインストールする場合の手順です。
なお、Efinity IDEのアップデート等でusb_resolver.pyが書き換えられた場合、パッチが無効になっていると思われます。
その場合は、バックアップファイルを削除し、アップデートされたusb_resolver.pyに対してパッチを適用する必要があります。
アップデート前に、一度パッチを削除しておくのが安全かもしれません。
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft2232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\efx_hw_common\boards\htlab_download_cable_ft4232.json
- C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py
上記4ファイルを削除します。
その後、「C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py.orig」を「C:\Efinity\(バージョン)\pgm\bin\efx_pgm\usb_resolver.py」に名前変更します。
Efinix ダウンロードケーブルの使用方法
ドライバのインストールと、パッチがうまくいっていれば、プログラマーから「HTLAB.NET Efinix Download Cable」が見えると思います。
SPI ActiveモードとJTAGモードを簡単にテストしていますが、SPI ActiveモードからJTAGモードへの切り替えがうまくいかない場合がありました。
エラーが出る場合は、一度プログラマーを開き直してみてください。
「TARGET」LEDはターゲットボードからVCCIOが供給されているかを表示します。
USBから電源が供給されていないと動作しないので、必ずUSBを接続した状態にしてください。
USBから電源が供給され、なおかつターゲットボードからVCCIOが供給されることで、初めて「TARGET」LEDが点灯します。
「ACTIVE」LEDは通信線のクロックで駆動されるLEDで、書き込み等の処理を行っている場合に点灯します。
プログラマーを開いた際に、ダウンロードケーブルが認識されているとJTAGモードで使用可能かチェックされるようで、JTAG側の「ACTIVE」LEDが一瞬点灯します。
ターゲットボードの電源が入っている状態であればJTAGモードが使用可能と認識され、JTAGモードが選択された状態になるようです。
それ以外の場合は、SPI Activeモードに変更されます。
推奨ピン配置(ターゲットFPGAボード側)
リボンケーブルを使用する都合上、Altera FPGAボード等のように切り欠きが外側を向いている方が使いやすいと思います。
2.54mmピッチの10ピンボックスヘッダを使用します。
SPIヘッダーまたは、JTAGヘッダーのいずれかを実装する必要があります。
SPIヘッダーの場合はフラッシュと並列に接続されているため書き込み動作のみ対応します。
JTAGヘッダーはデバッグにも使用できますが、SPIフラッシュに直接書き込むことはできないため、デザインをパススルーするように構成する必要があります。
ボードに空きスペースがある場合は、ヘッダを2つ取り付けることをお勧めします。
SPIヘッダーピン配置(ターゲットFPGAボード側)
ピン | 名前 | I/O | 概要 |
---|---|---|---|
1 | CCK | 入力 | SPI_SCLK, プログラマー側からのクロック入力端子 |
2 | CRESET_N | 入力 | リセット入力端子 |
3 | CDI0 | 入力 | SPI_MOSI, プログラマー側からのデータ入力端子 |
4 | CDONE | 出力 | コンフィギュレーション完了信号出力端子 |
5 | CDI1 | 出力 | SPI_MISO, プログラマー側へのデータ出力端子 |
6 | HOLD | 入力 | HOLD, もし SPI Active Quad (x4) モードを使用する場合は CDI3 にも接続 |
7 | SS_N | 入力 | SPI_SS, プログラマー側からのセレクト入力端子 |
8 | VCCIO | 電源 | VCCIO依存(1.8V~3.3V)一般的には3.3Vの電源 |
9 | FTDI_RST | 入力 | FTDI他、バス占拠デバイスがある場合にRESET接続、ない場合はN.C. |
10 | GND | 電源 | GND |
VCCIOピンはプログラマー側にI/O電圧を知らせるためにあります。(1.8V から 3.3V)
「Titanium Ti60 F225 Development Board」の回路図を見ると、実際にレベル変換を行っていることがわかります。
FTDI_RST ピンは、ボード内蔵プログラマー(FTDI)を無効にするために使用されるようです。
FTDI_RST を LOW に設定すると、ボード上のFTDIチップがリセット状態になり、SPIバスがハイインピーダンスで開放されます。
JTAGヘッダーピン配置(ターゲットFPGAボード側)
ピン | 名前 | I/O | 概要 |
---|---|---|---|
1 | TDO | 出力 | JTAG通信線 |
2 | VCCIO | 電源 | VCCIO依存(1.8V~3.3V)一般的には3.3Vの電源 |
3 | TCK | 入力 | JTAG通信線 |
4 | TDI | 入力 | JTAG通信線 |
5 | TMS | 入力 | JTAG通信線 |
6 | FTDI_RST | 入力 | FTDI他、バス占拠デバイスがある場合にRESET接続、ない場合はN.C. |
7 | SS_N | 入力 | SPI_SS, プログラマー側からのセレクト入力端子 |
8 | CRESET_N | 入力 | リセット入力端子 |
9 | GND | 電源 | GND |
10 | GND | 電源 | GND |
T4 ~ T20 FPGA では、モード制御に SS_N および CRESET_N ピン制御が必要です。
ボードに FTDI チップがある場合は、SPIヘッダーと同じように FTDI_RST を配線する必要があります。
FTDIデバイスを載せない場合でも、他にSPI・JTAGバスを使用するデバイスが繋がる場合、FTDI_RSTはバス開放のために配線しないといけません。
実際の結線方法に関しては、 Trion FPGA コンフィギュレーション方法 ページの下部「Trionボードの作成方法」セクションに記載しています。
ダウンロードケーブルの作り方(基板の発注:JLCPCB - PCBA)
今回は JLCPCB(日本語版) で基板製造と部品の実装を行ってもらいます。
アカウントは作成済み、ログインも行っている前提で以下に手順を示します。
記事中では英語版のサイトでの手順を示していますが、日本語版サイトもあるので是非利用してみてください。
なお、設計データは2種類用意しています。
全ての部品を実装する必要のある「FT2232H_Efinix_Download_Cable_Ver1.0」、
USB部分に市販のモジュールを使用する「FT2232H_Mini_Module_Efinix_Download_Cable_Ver1.0」、を用意しています。
基板のみを製造して自作するのであれば、市販モジュールを使用するもののほうが実装する部品が少なく、楽に作れます。(しかし若干コストアップします)
以下のように実装も依頼するのであれば、全ての部品を実装するもので良いとは思います。
メイン基板の製造指示(FT2232H_Efinix_Download_Cable_Ver1.0)
JLCPCB の Standard PCB/PCBA 見積もりページ(日本語版)を開きます。
ダウンロードしたGitHubのリポジトリ内、Hardwareフォルダ内にある「Gerber_FT2232H_Efinix_Download_Cable_Ver1.0.zip」を「Add gerber file」と書かれているところに貼り付けます。
このZIPファイルはガーバーファイルと言われるプリント基板の設計情報が入ったものとなっています。
1枚の基板を表すのに複数のファイルが必要であるため、基板製造業者はZIP等の圧縮形式で1ファイルとして受け付けるのが一般的です。
もちろん、ZIPを解凍すれば、gerbv 等のガーバービューアで設計情報を見ることもできます。
ガーバーファイルが読み込まれると、見積もり画面が表示されます。
製造条件を以下のように指定してください。
項目 | 値 | 概要 |
---|---|---|
Base Material | FR-4 | 基板の素材。一般的にはFR-4。 |
Layers | 2 | 2層の両面基板として設計。 |
Dimensions | 100 * 66 | 基板のサイズ。合っているか確認してください。 |
PCB Qty | 5(変更済み) | 基板の個数。必要な数に変更してください。 |
Product Type | Industrial/Consumer electronics | 一般用途であればこれで大丈夫です。 |
PCB Specifications
項目 | 値 | 概要 |
---|---|---|
Different Design | 1 | 設計の種類は1種類です。 |
Delivery Format | Single PCB | 少量生産のため面付けは行わず、単体で製造します。 |
PCB Thickness | 1.6 | 基板の厚みです。標準的な1.6mmを前提に設計しています。 |
PCB Color | Blue(変更済み) | 基板の色です。イメージカラーの青色に変更しています。 |
Silkscreen | White | 基板中の文字の色です。基本は白になります。 |
Surface Finish | LeadFree HASL(変更済み) | 鉛フリーハンダでの表面処理を指定します。 |
High-spec Options
項目 | 値 | 概要 |
---|---|---|
Outer Copper Weight | 1 oz | 銅箔の厚みです。一般的には 1 oz で大丈夫です。 |
Via Covering | Tented | Viaの覆い方。小径Via向きのTentedが一般的。大きい穴は非推奨ですが今回は無視。 |
Board Outline Tolerance | ±0.2mm(Regular) | 基板外形の許容範囲。余裕がある設計なので±0.2mm指定で大丈夫です。 |
Confirm Production file | No | 製造前に確認をするかどうか。心配であれば確認を。 |
Remove Order Number | Specify a location(変更済み) | 製造番号を裏に入れるように設計データ中で指定しています。 |
Flying Probe Test | Fully Test | 基板製造時の導通テスト。 |
Gold Fingers | No | 金メッキのエッジコネクタを設けるかどうか。使用しません。 |
Castellated Holes | No | 端面スルーホール加工。使用しません。 |
Edge Plating | No | 基板端面のメッキ加工。使用しません。 |
Advanced Options
項目 | 値 | 概要 |
---|---|---|
4-Wire Kelvin Test | No | 信頼性が必要な基板製造に関する測定オプション。使用しません。 |
Paper between PCBs | No | 基板の間に紙を挟むかどうか。傷が心配であればどうぞ。 |
Appearance Quality | IPC Class 2 Standard | 基板のクオリティ。一般的なものです。 |
Silkscreen Technology | Ink-jet/Screen Printing Slikscreen | 文字の印刷方法。一般的なものです。 |
Package Box | With JLCPCB logo | 完成した基板を入れる箱について。ロゴ付きか、ロゴ無しか。 |
ここまで入力すれば基板製造の指示は完了です。
もし自分で部品を実装するのであれば、このまま基板を注文すれば良いです。(その場合Stencilがあるとハンダ印刷は楽です)
メイン基板の実装指示(FT2232H_Efinix_Download_Cable_Ver1.0)
今回は、部品実装の手間も省きたいので、PCBA(PCB Assembly)での実装サービスも申し込みましょう。
ページ下部、PCB Assemblyの右側をクリックして有効にします。
表面に部品を実装してもらうので、「Assemble top side」にチェックが入っていることを確認し、条件を以下のように指定してください。
項目 | 値 | 概要 |
---|---|---|
PCBA Type | Economic | 制限がある変わりに安価なPCBAです。 |
Assembly Side | Top Side | 部品を実装する面を選びます。 |
Tooling holes | Added by Customer(変更済み) | Economicでは部品実装の際に固定穴が必要。設計データに追加済み。 |
Confirm Parts Placement | No | 部品実装前に確認をするかどうか。心配であれば確認を。 |
Advanced Options
項目 | 値 | 概要 |
---|---|---|
Photo Confirmation | No | 写真を送るかどうか。心配であればどうぞ。 |
Board Cleaning | No | 基板を洗浄するかどうか。通常は無洗浄で大丈夫です。 |
Conformal Coating | No | 基板をコーティングするかどうか。使用しません。 |
Bake Components | No | ベーキングするかどうか。湿気に弱いデバイスでは必要。 |
Packaging | Antistatic bubble film | 梱包方法。お好きなものを。 |
Depanel boards & edge rail before delivery | No | 面付けを切り離すかどうか。使用しません。 |
Solder Paste | Sn96.5%, Ag3.0%, Cu0.5% (260℃) | ハンダの種類。Economicでは他に選べません。 |
Add paste for unpopulated pad & step stencil opening | No | 部品実装しない場所にハンダを盛るかどうか。 |
Others | No | その他。追加指示があれば。 |
ここまで入力すれば部品実装の基本的な指示は完了です。
「I agree to the Terms and Conditions of JLCPCB assembly Service」にチェックを入れて、「Confirm」ボタンをクリックして進みます。
次のページに進むと、基板のデザインが表示されます。
「NEXT」で次に進み、実装する部品を指定しましょう。
「Add BOM File」にて、「BOM for FT2232H_Efinix_Download_Cable_Ver1.0.csv」ファイルを指定。
「Add CPL File」にて、「Pick Place for FT2232H_Efinix_Download_Cable_Ver1.0.csv」ファイルを指定。
BOMファイルは使用する部品の一覧表です。
CPLファイルは部品を置く位置を指定するファイルです。
この2個のファイルがあって初めて実装依頼できます。
両方のファイルをアップロードしたら「Process BOM & CPL」をクリックして次に進みます。
このように使用する部品の一覧が表示されるでしょう。
今回は BOM / CPL ファイルで指定した部品を全て実装するので、全てにチェックマークが入っていることを確認して、右下の「NEXT」をクリックします。
部品実装のプレビューが表示されるでしょう。
配置を確認して大丈夫そうであれば、「NEXT」で次に進みましょう。
5枚の基板製造と実装を頼んだ場合、$87.14との見積もりが出ました。(加えて送料がかかります)
「Product Description」はこの基板の使用目的を聞いています。
例として「Reserch\Education\DIY\Entertainment > Development Board - HS Code 847330」を設定して、「SAVE TO CART」をクリック、カートに追加します。
基板をケースに入れるために、フロントパネルとリアパネルも基板として設計してあります。
続けて、それぞれの基板の製造指示をしましょう。
フロントパネル・リアパネル基板の製造指示(FT2232H_Efinix_Download_Cable_Ver1.0)
メイン基板と同様に、JLCPCB の Standard PCB/PCBA 見積もりページ(日本語版)を開きます。
「Gerber_Panel_Front.zip」と「Gerber_Panel_Rear.zip」をカートに追加する必要があります。
製造条件を以下のように指定して、2種類分繰り返してカートに入れます。
項目 | 値 | 概要 |
---|---|---|
Base Material | FR-4 | 基板の素材。一般的にはFR-4。 |
Layers | 2 | 2層の両面基板として設計。 |
Dimensions | 71.12 * 25.4 | 基板のサイズ。合っているか確認してください。 |
PCB Qty | 5(変更済み) | 基板の個数。必要な数に変更してください。 |
Product Type | Industrial/Consumer electronics | 一般用途であればこれで大丈夫です。 |
PCB Specifications
項目 | 値 | 概要 |
---|---|---|
Different Design | 1 | 設計の種類は1種類です。 |
Delivery Format | Single PCB | 少量生産のため面付けは行わず、単体で製造します。 |
PCB Thickness | 1.6 | 基板の厚みです。標準的な1.6mmを前提に設計しています。 |
PCB Color | Blue(変更済み) | 基板の色です。イメージカラーの青色に変更しています。 |
Silkscreen | White | 基板中の文字の色です。基本は白になります。 |
Surface Finish | LeadFree HASL(変更済み) | 鉛フリーハンダでの表面処理を指定します。 |
High-spec Options
項目 | 値 | 概要 |
---|---|---|
Outer Copper Weight | 1 oz | 銅箔の厚みです。一般的には 1 oz で大丈夫です。 |
Via Covering | Tented | Viaの覆い方。小径Via向きのTentedが一般的。大きい穴は非推奨ですが今回は無視。 |
Board Outline Tolerance | ±0.2mm(Regular) | 基板外形の許容範囲。余裕がある設計なので±0.2mm指定で大丈夫です。 |
Confirm Production file | No | 製造前に確認をするかどうか。心配であれば確認を。 |
Remove Order Number | Specify a location(変更済み) | 製造番号を裏に入れるように設計データ中で指定しています。 |
Flying Probe Test | Fully Test | 基板製造時の導通テスト。 |
Gold Fingers | No | 金メッキのエッジコネクタを設けるかどうか。使用しません。 |
Castellated Holes | No | 端面スルーホール加工。使用しません。 |
Edge Plating | No | 基板端面のメッキ加工。使用しません。 |
Advanced Options
項目 | 値 | 概要 |
---|---|---|
4-Wire Kelvin Test | No | 信頼性が必要な基板製造に関する測定オプション。使用しません。 |
Paper between PCBs | No | 基板の間に紙を挟むかどうか。傷が心配であればどうぞ。 |
Appearance Quality | IPC Class 2 Standard | 基板のクオリティ。一般的なものです。 |
Silkscreen Technology | Ink-jet/Screen Printing Slikscreen | 文字の印刷方法。一般的なものです。 |
Package Box | With JLCPCB logo | 完成した基板を入れる箱について。ロゴ付きか、ロゴ無しか。 |
こちらは基板だけあれば大丈夫なので、PCB Assemblyは申し込みません。
Stencilも必要ないです。
基板の発注
カートに入れた設計情報で発注してみましょう!
カートを開きます。
合計を見てみると4アイテムで $ 97.34 USD、重さが 0.85kg のようです。
PCBA対象の基板製造には「Special offer」とあるので、割引されているようです。
時期にもよると思いますが、大体100ドル(と送料)程度の費用がかかると思っていれば良さそうです。
「Secure Checkout」をクリックして支払いに進みます。
送付方法を選択します。
今回は早く届いてほしいので 2.Shipping Method にて「DHL Express 1-3 business days」を選択しました。
送料を比べると以下のようになっているみたいです。
こちらは重量によっても変化すると思われますので、参考程度に。
業者 | 日数 | 金額 |
---|---|---|
FedEx International Packet | 3-5 business days | $19.80 |
OCS Express | 6-8 business days | $11.87 |
Global Standard Direct Line | 6-9 business days | $7.84 |
UPS Express Saver | 3-5 business days | $22.80 |
DHL Express | 1-3 business days | $19.80 |
「Continue」で進み「Submit Order」で支払いに進みます。
支払いには各種クレジットカードとPayPalが使用できます。
PayPal経由だと手数料として $0.59 USD上乗せされるようです。
現在のドル円レートだと2万円弱といったところでしょうか。
注文を行い、届くのを待ちましょう。
1週間程度で到着!
このように梱包されて届きます。
良いクオリティです。
特に実装ミスも見られず、キレイにハンダ付けされています。
届いた時点でほぼ出来上がっているのは気が楽ですね。
その他用意する部品
輸送時の曲がり防止等を考え、表面実装以外の部品は自分で実装するようにしています。
DIP部品(FT2232H_Efinix_Download_Cable_Ver1.0)
「FT2232H_Efinix_Download_Cable_Ver1.0」では、以下の部品が必要です。
FT2232Hで使用可能なEEPROMは16bitのワードサイズで3.3Vで駆動可能なものに限ります。
つまり、 93AA46B-I/P, 93LC46B-I/P, 93AA46C-I/P に限られ、93C46B-I/P等では3.3V駆動ができないため使用できません。
DIP部品(FT2232H_Mini_Module_Efinix_Download_Cable_Ver1.0)
「FT2232H_Mini_Module_Efinix_Download_Cable_Ver1.0」では、以下の部品が必要です。
デジグネーター | 概要 | 個数 | 入手先 |
---|---|---|---|
CN2, CN3 | FT2232H Mini Module | 1 | DigiKey - FT2232H MINI MODULE RS - FTDI Chip 開発ボード FT2232H MINI MODULE Mouser - FT2232H MINI MODULE |
LED1, LED2 | SSF-LXH240IGD, MHK2396EGBTD ... | 2 | LCSC - MEIHUA MHK2396EGBTD DigiKey - SSF-LXH240IGD DigiKey - 5530112F DigiKey - WP934MD/LILGD |
P1, P2 | IDC Connector 10P Right-Angle | 2 | DigiKey - SBH11-PBPC-D05-RA-BK DigiKey - 30310-5002HB LCSC - BOOMELE(Boom Precision Elec) 2.54-2*5P LCSC - HCTL HC-JN254-2-05-W LCSC - XFCN BH254R-10P 秋月電子通商 - BH-10RG |
U8 | IC Socket 8 Pin | 1 | DigiKey - 4808-3004-CP DigiKey - 110-87-308-41-001101 LCSC - CONNFLY Elec DS1009-08AT1NX-0A2 LCSC - ZHOURI IC-8P 秋月電子通商 - ICソケット ( 8P) 秋月電子通商 - 丸ピンICソケット ( 8P) |
U8 | 93LC46B-I/P | 1 | DigiKey - 93LC46B-I/P Mouser - 93LC46B-I/P 秋月電子通商 - MicroWire シリアルEEPROM 93AA46C-I/P |
FT2232Hで使用可能なEEPROMは16bitのワードサイズで3.3Vで駆動可能なものに限ります。
つまり、 93AA46B-I/P, 93LC46B-I/P, 93AA46C-I/P に限られ、93C46B-I/P等では3.3V駆動ができないため使用できません。
リボンケーブル
ピン配置がわかりやすいように4mm幅のテプラでシールを作成しました。
テプラ単体では4mm幅テープには2行表示ができず、パソコンと接続可能なもの(「テプラ」PRO SR5900P)を使用。
TEPRA Label Editor SPC10ソフトウェアでシールデザインをしました。
USBケーブル
通常はBタイプのUSBケーブルです。
FT2232H Mini Module を使用するものには、miniBのUSBケーブルを用意してください。
アルミニウムケース(SZOMK AK-C-C15)
SZOMK 社の AK-C-C15 アルミニウムケースを前提に設計しています。
付属している金属パネルは使用しません。
固定ネジはたぶんM2.5です。図面にも表記がなく実測です。(下穴は2.0mmのようです)
- AliExpress - AK-C-C15 1PCS 26*71*100mm hot selling electronics enclosure ...
- AliExpress - AK-C-C15 4Pcs 26*71*100mm hot selling electronics enclosure ...
- AliExpress - AK-C-C15 4 pieces a lot 26*71*100mm aluminum project box ...
- AliExpress - AK-C-C15 4Pieces extrusion aluminum tool box 26*71*100mm ...
持ち運び用ケース
R36S / RG35XX ゲームコンソール向けのキャリングケースを流用しています。
15cm * 10cm * 4cm とのサイズ表記がある無地の黒のケースです。
- AliExpress - Portable Game Case for Miyoo Mini Plus M17 R36S R35S ...
- AliExpress - Protect Game Storage Case for Miyoo Mini Plus M17 R36S R35S ...
ダウンロードケーブルの作り方(ハンダ付け・組み立て)
前述、DIP部品をハンダ付けします。
このようにハンダ付けします。
ポリスイッチは足が長いため、ハンダ付け後、ニッパーで短く切断してください。
モジュールを使用するタイプの基板では、モジュール自体のハンダ付けと、EEPROMの取り外しに関して検討する必要があります。
以下をご覧ください。
EEPROM取り外し(FT2232H_Mini_Module_Efinix_Download_Cable_Ver1.0)
FT2232H Mini Module を使用するもので、なおかつ基板上にEEPROMを実装した場合には、モジュール上についているEEPROMを取り外す必要があります。
FT2232H Mini Module 裏面にある U2, R6, R7 を取り外してください。
その場合は、基板上、U8, R16, R17 を実装している必要があります。
もちろんこのようなことをしなくても、モジュール上のEEPROMだけで動作はできます。
しかし、以下に示す設定を間違った場合、EEPROMを外して通電中に再度接続するという方法で復旧することがあります。
モジュールに搭載されている表面実装タイプのEEPROMではそれがかなり難しいでしょう。
万が一のことを考えると、基板上にDIPタイプのEEPROMをICソケットで実装し、モジュール上のEEPROMは外してしまうのが良いと思います。
FT2232H Mini Module の飛び出たピンヘッダーは必ず短く切ってください。
ケースに接触するため、ショートの原因になります。
ケースの組み立て
基板として発注したフロントパネルをケースにネジ止めしましょう。
ネジサイズはPH1なので、1番のプラスドライバーを使用してください。
( PB SWISS TOOLS 8190.1-80 をお勧めしておきます)
ケースの個体差でネジが入りづらい場合があるので、ネジを斜めに入れないように気を付けてください。
フロントパネルを取り付けたら、メイン基板を中に入れます。
メイン基板がきちんと中に入っていることを確認して、リアパネルも同様に取り付けます。
完成です。
キャリングケースに入れるとこのようになります。
リボンケーブルとUSBケーブルを収納できます。
ダウンロードケーブルの作り方(設定・動作確認)
完成したダウンロードケーブルをコンピュータと接続します。
FTDI社のデバイス設定変更には「FT_PROG」というソフトウェアが必要です。
現時点で最新の FT_PROG 3.12.46.653 - EEPROM Programming Utility をインストールしておきます。
そして、デバイスマネージャーに「USB Serial Port」が2個表示されるか確認してください。
このように表示されていればFT_PROGを起動してみましょう。
(そうでない場合は、前述の通り、ドライバのアンインストールを試してみてください)
FT_PROGを起動し、「Scan and Parse」をクリックしてみましょう。
このような表示になれば認識されています。
FTDI社以外のドライバを使用している場合は認識されないので、一時的にFTDIのドライバに変更する必要があります。
デフォルトと異なるVID/PIDを書き込んでしまった場合は、EEPROMを取り外し、デフォルトの状態でFTDIデバイスを開始する必要があります。
(そのためにEEPROMをDIPで設計しています)
基本的に、EEPROMを接続しない状態でコンピュータと接続し、ショートに気をつけながら導通したままEEPROMを接続することでFT_PROGで書き込みが可能です。
書き換えてしまったVID/PIDに対してドライバを適用する方法もありますが、OS自体でドライバ署名を無効にする必要があり、セキュリティレベルが低下するためお勧めはできません。
もちろん、ドライバ署名をすることで解決もできますが、非常に高価ですので現実的ではないでしょう。
なお、EEPROMが接続されていないと、EEPROM Typeに「No EEPROM detected」と表示されます。
その場合は接続を確認してください。
設定を始めていきましょう。
左のツリーから「USB Device Descriptor」を開き、以下の情報を入力します。
Property | Value |
---|---|
Custom VID/PID | Custom VID/PID |
Vendor ID | 1209 |
Product ID | EFD2 |
IDの入力間違いに気をつけてください。
間違えた場合には認識されないのはもちろんのこと、FT_PROGの書き換えもそのままではできません。
次に「USB String Descriptors」を開き、以下の情報を入力します。
Property | Value |
---|---|
Manufacturer | HTLAB.NET |
Product Description | HTLAB.NET Efinix Download Cable |
Serial Number Enabled | False(チェック外す) |
こちらも入力を間違えないようにしてください。
チェックを外すのは絶対に忘れないようにしてください。
シリアル番号を含めると46文字を超えるため、FT_PROG自体がクラッシュする可能性があります。
「Program Devices」をクリックしてプログラムしましょう。
確認画面が出てくるので「Program」をクリックすることにより、FTDIデバイスを経由して情報がEEPROMに書き込まれます。
EEPROMのダンプデータも用意してあるので、別途 XGecu T56 などのユニバーサルプログラマーを使用して書き込みすることでも動作します。
ダウンロードケーブルを接続し直して、デバイスマネージャーでこのように認識されていれば成功です。
簡単なチュートリアルに関しては以下にまとめてあります。