HTLAB.NET Efinix ダウンロードケーブル

Efinix Download Cable 001 Efinix Download Cable 002

Trion FPGA コンフィギュレーション方法 を踏まえて、作成した Efinix ダウンロードケーブルを紹介します。

ダウンロードケーブルの使用方法から解説します。

作り方についてはページ下部をご覧ください。

 

必要なファイルのダウンロード

GitHubを使用して開発をしているため、以下に置いてあります。

 

 

上記リンクからリポジトリにあるファイルを一式ダウンロードしておきます。

 

Efinix Download Cable 003

このようにクリックするとGitが無くてもZIP形式でダウンロードできます。

その場合は解凍してわかりやすいディレクトリに置いてください。

 

ドライバのインストール方法(Windows)

Efinix ダウンロードケーブルをコンピュータと接続し、ドライバのインストールを行います。

デバイスマネージャーを開くと「ほかのデバイス」に「HTLAB.NET Efinix Download Cable」というデバイスが複数見えると思います。

(それ以外の場所に見える場合は、既に別のドライバが当たっている可能性があるので、後述の通りアンインストールします)

Efinix Download Cable Windows Driver Install 01

表示されている「HTLAB.NET Efinix Download Cable」全てに対してドライバをインストールします。

右クリックで「ドライバーの更新」を開きます。

 

Efinix Download Cable Windows Driver Install 02 Efinix Download Cable Windows Driver Install 03

「コンピューターを参照してドライバーを検索(R)」をクリックし、ダウンロードしたGitHubのリポジトリ内、Driverフォルダを指定して次に進みます。

(サブフォルダーを検索する(I)にチェックを入れてください)

 

Efinix Download Cable Windows Driver Install 04 Efinix Download Cable Windows Driver Install 05

ドライバのインストールが終わるまで待ちます。

全ての「HTLAB.NET Efinix Download Cable」デバイスに対して繰り返しドライバのインストールを行います。

 

Efinix Download Cable Windows Driver Install 06

このように、「libusb-win32 devices」が増えます。

これでドライバのインストールが完了しました。

 

もし、ドライバのインストールがうまくいかない場合は、Zadigを使用してインストールを行います。

Efinix Download Cable Windows Driver Install 07

「libusb-win32」のドライバをインストールします。

 

ドライバのアンインストール方法(Windows)

何らかの理由でドライバを削除する場合や、別のドライバが当たってしまっている場合の対処法です。

 

Efinix Download Cable Windows Driver Uninstall 01

デバイスを探し、右クリック、「デバイスのアンインストール(U)」を選択します。

 

Efinix Download Cable Windows Driver Uninstall 02

必ず、「このデバイスのドライバーを削除しようとしました。」にチェックを入れて、アンインストールボタンをクリックします。

全ての「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」をダブルクリックで実行します。

 

Efinix Download Cable Windows Patch 01

管理者権限が要求されるので、変更を許可して進むと、このような表示になりパッチが完了します。

 

バッチファイルの詳細

詳しくはバッチファイルをテキストエディタで見てもらえればわかります。

行っていることは単純です。

 

  • 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」が見えると思います。

 

Efinix Download Cable 004

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ボード側)

Efinix Download Cable Header Target 2D Efinix Download Cable Header Target 3D

リボンケーブルを使用する都合上、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 等のガーバービューアで設計情報を見ることもできます。

ガーバーファイルが読み込まれると、見積もり画面が表示されます。

Efinix Download Cable JLCPCB 001

製造条件を以下のように指定してください。

項目 概要
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の右側をクリックして有効にします。

Efinix Download Cable JLCPCB 002

表面に部品を実装してもらうので、「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」ボタンをクリックして進みます。

 

次のページに進むと、基板のデザインが表示されます。

Efinix Download Cable JLCPCB 003

「NEXT」で次に進み、実装する部品を指定しましょう。

 

Efinix Download Cable JLCPCB 004 Efinix Download Cable JLCPCB 005

「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」をクリックして次に進みます。

 

Efinix Download Cable JLCPCB 006

このように使用する部品の一覧が表示されるでしょう。

今回は BOM / CPL ファイルで指定した部品を全て実装するので、全てにチェックマークが入っていることを確認して、右下の「NEXT」をクリックします。

 

Efinix Download Cable JLCPCB 007

部品実装のプレビューが表示されるでしょう。

配置を確認して大丈夫そうであれば、「NEXT」で次に進みましょう。

 

Efinix Download Cable JLCPCB 008

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 見積もりページを開きます。

Efinix Download Cable JLCPCB 009 Efinix Download Cable JLCPCB 010

「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も必要ないです。

 

基板の発注

カートに入れた設計情報で発注してみましょう!

Efinix Download Cable JLCPCB 011

カートを開きます。

合計を見てみると4アイテムで $ 97.34 USD、重さが 0.85kg のようです。

PCBA対象の基板製造には「Special offer」とあるので、割引されているようです。

時期にもよると思いますが、大体100ドル(と送料)程度の費用がかかると思っていれば良さそうです。

「Secure Checkout」をクリックして支払いに進みます。

 

Efinix Download Cable JLCPCB 012

送付方法を選択します。

今回は早く届いてほしいので 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」で支払いに進みます。

 

Efinix Download Cable JLCPCB 013

支払いには各種クレジットカードとPayPalが使用できます。

PayPal経由だと手数料として $0.59 USD上乗せされるようです。

現在のドル円レートだと2万円弱といったところでしょうか。

注文を行い、届くのを待ちましょう。

 

1週間程度で到着!

Efinix Download Cable JLCPCB 014 Efinix Download Cable JLCPCB 015

このように梱包されて届きます。

 

Efinix Download Cable JLCPCB 016 Efinix Download Cable JLCPCB 017

良いクオリティです。

特に実装ミスも見られず、キレイにハンダ付けされています。

届いた時点でほぼ出来上がっているのは気が楽ですね。

 

その他用意する部品

輸送時の曲がり防止等を考え、表面実装以外の部品は自分で実装するようにしています。

 

DIP部品(FT2232H_Efinix_Download_Cable_Ver1.0)

「FT2232H_Efinix_Download_Cable_Ver1.0」では、以下の部品が必要です。

 

デジグネーター 概要 個数 入手先
J1 USB Type B 1 LCSC - XUNPU USB-B10-BRW
LCSC - Jing Extension of the Electronic Co. 921-111A1010D10200
DigiKey - USB-B1HSW6
DigiKey - UJ2-BH-1-TH
秋月電子通商 - 基板取付用USBコネクタ(Bタイプ メス)
F1 PTC Fuse, 200mil Pitch 1 LCSC - Jinrui Electronic Materials Co. JK60-050
DigiKey - RXEF050
DigiKey - RXEF050-2
DigiKey - RXEF050-AP
秋月電子通商 - リセッタブルヒューズ 0.5A トリップ電流:1A 耐圧:60V MF-R050
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駆動ができないため使用できません。

 

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のようです)

 

持ち運び用ケース

R36S / RG35XX ゲームコンソール向けのキャリングケースを流用しています。

15cm * 10cm * 4cm とのサイズ表記がある無地の黒のケースです。

 

ダウンロードケーブルの作り方(ハンダ付け・組み立て)

前述、DIP部品をハンダ付けします。

Efinix Download Cable Assembly 001 Efinix Download Cable Assembly 002

このようにハンダ付けします。

ポリスイッチは足が長いため、ハンダ付け後、ニッパーで短く切断してください。

モジュールを使用するタイプの基板では、モジュール自体のハンダ付けと、EEPROMの取り外しに関して検討する必要があります。

以下をご覧ください。

 

EEPROM取り外し(FT2232H_Mini_Module_Efinix_Download_Cable_Ver1.0)

Efinix Download Cable FT2232H Mini Module 001

FT2232H Mini Module を使用するもので、なおかつ基板上にEEPROMを実装した場合には、モジュール上についているEEPROMを取り外す必要があります。

 

Efinix Download Cable FT2232H Mini Module 002 Efinix Download Cable FT2232H Mini Module 003

FT2232H Mini Module 裏面にある U2, R6, R7 を取り外してください。

その場合は、基板上、U8, R16, R17 を実装している必要があります。

もちろんこのようなことをしなくても、モジュール上のEEPROMだけで動作はできます。

しかし、以下に示す設定を間違った場合、EEPROMを外して通電中に再度接続するという方法で復旧することがあります。

モジュールに搭載されている表面実装タイプのEEPROMではそれがかなり難しいでしょう。

万が一のことを考えると、基板上にDIPタイプのEEPROMをICソケットで実装し、モジュール上のEEPROMは外してしまうのが良いと思います。

 

FT2232H Mini Module の飛び出たピンヘッダーは必ず短く切ってください。

ケースに接触するため、ショートの原因になります。

 

ケースの組み立て

基板として発注したフロントパネルをケースにネジ止めしましょう。

Efinix Download Cable Assembly 003 Efinix Download Cable Assembly 004

ネジサイズはPH1なので、1番のプラスドライバーを使用してください。

( PB SWISS TOOLS 8190.1-80 をお勧めしておきます)

ケースの個体差でネジが入りづらい場合があるので、ネジを斜めに入れないように気を付けてください。

フロントパネルを取り付けたら、メイン基板を中に入れます。

 

Efinix Download Cable Assembly 005 Efinix Download Cable Assembly 006

メイン基板がきちんと中に入っていることを確認して、リアパネルも同様に取り付けます。

 

Efinix Download Cable Assembly 007 Efinix Download Cable Assembly 008

完成です。

 

Efinix Download Cable Assembly 009 Efinix Download Cable Assembly 010

キャリングケースに入れるとこのようになります。

リボンケーブルとUSBケーブルを収納できます。

 

ダウンロードケーブルの作り方(設定・動作確認)

完成したダウンロードケーブルをコンピュータと接続します。

FTDI社のデバイス設定変更には「FT_PROG」というソフトウェアが必要です。

現時点で最新の FT_PROG 3.12.46.653 - EEPROM Programming Utility をインストールしておきます。

そして、デバイスマネージャーに「USB Serial Port」が2個表示されるか確認してください。

Efinix Download Cable Setting 001

このように表示されていればFT_PROGを起動してみましょう。

(そうでない場合は、前述の通り、ドライバのアンインストールを試してみてください)

 

Efinix Download Cable Setting 002

FT_PROGを起動し、「Scan and Parse」をクリックしてみましょう。

このような表示になれば認識されています。

FTDI社以外のドライバを使用している場合は認識されないので、一時的にFTDIのドライバに変更する必要があります。

デフォルトと異なるVID/PIDを書き込んでしまった場合は、EEPROMを取り外し、デフォルトの状態でFTDIデバイスを開始する必要があります。

(そのためにEEPROMをDIPで設計しています)

基本的に、EEPROMを接続しない状態でコンピュータと接続し、ショートに気をつけながら導通したままEEPROMを接続することでFT_PROGで書き込みが可能です。

書き換えてしまったVID/PIDに対してドライバを適用する方法もありますが、OS自体でドライバ署名を無効にする必要があり、セキュリティレベルが低下するためお勧めはできません。

もちろん、ドライバ署名をすることで解決もできますが、非常に高価ですので現実的ではないでしょう。

 

Efinix Download Cable Setting 003

なお、EEPROMが接続されていないと、EEPROM Typeに「No EEPROM detected」と表示されます。

その場合は接続を確認してください。

 

設定を始めていきましょう。

Efinix Download Cable Setting 004

左のツリーから「USB Device Descriptor」を開き、以下の情報を入力します。

Property Value
Custom VID/PID Custom VID/PID
Vendor ID 1209
Product ID EFD2

IDの入力間違いに気をつけてください。

間違えた場合には認識されないのはもちろんのこと、FT_PROGの書き換えもそのままではできません。

 

Efinix Download Cable Setting 005

次に「USB String Descriptors」を開き、以下の情報を入力します。

Property Value
Manufacturer HTLAB.NET
Product Description HTLAB.NET Efinix Download Cable
Serial Number Enabled False(チェック外す)

こちらも入力を間違えないようにしてください。

チェックを外すのは絶対に忘れないようにしてください。

シリアル番号を含めると46文字を超えるため、FT_PROG自体がクラッシュする可能性があります。

 

Efinix Download Cable Setting 006

「Program Devices」をクリックしてプログラムしましょう。

確認画面が出てくるので「Program」をクリックすることにより、FTDIデバイスを経由して情報がEEPROMに書き込まれます。

EEPROMのダンプデータも用意してあるので、別途 XGecu T56 などのユニバーサルプログラマーを使用して書き込みすることでも動作します。

 

Efinix Download Cable Setting 007

ダウンロードケーブルを接続し直して、デバイスマネージャーでこのように認識されていれば成功です。

 

簡単なチュートリアルに関しては以下にまとめてあります。