Using an FTDI Mini Module as a JTAG Controller

We review what is needed to use an FTDI FT2232H Mini Module as a JTAG controller when using UrJTAG.

An FTDI FT2232H Mini Module can be used as a readily available, low cost JTAG controller when using UrJTAG tools.

The figure below shows the mini module in action connected to an ADI Blackfin BF537-Stamp development board.

We took the quick & dirty route by modifying a UrJTAG source file so the tools would operate as if the module was a gnICE JTAG controller. We modified "/urjtag/src/tap/cable/ft2232.c" and replaced the following line:

URJ_DECLARE_FTDX_CABLE(0x0456, 0xF000, "-mpsse", "gnICE", gnice)

with:

URJ_DECLARE_FTDX_CABLE(0x0403, 0x6010, "-mpsse", "gnICE", gnice)

This maps the gnICE board to vendor ID 0x403, which is FTDI, and product ID to 0x6010, which is the mini module.

Rather than hacking at the UrJTAG code, we could have changed the VID and PID (vendor and product ID) on the mini module to emulate the gnICE board or created a new UrJTAG profile for the mini module. For us, the last option is probably the best & what we'll eventually do since we're in the process of creating a simple, open source opto-isolator base board for the mini module. We'll post an update when that board is finalized.

Wiring Connections

The table below provides the wiring connections between the mini module and any Blackfin development board that follows the standard ADI conventions for JTAG pin numbering.

Mini Module CN2 to Blackfin JTAG Mapping
CN2

Pin #
CN2

Pin Signal
Bfin JTAG

Pin #
Bfin JTAG

Pin Name
2 GND 4 GND
7 AD0 8 TCK
9 AD2 14 TDO
10 AD1 12 TDI
12 AD3 6 TMS
13 AD5 2 EMU
17 AC1 10 TRST

In addition to the above connections, pin 1 on CN2 should be tied to pin 11, which ties VIO to 3.3V. Also, a jumper should be placed between CN3-1 and CN3-3 to tie VCC with VBUS. These connections are recommended in the mini module datasheet for powering the mini module from the USB bus.

Please help us improve this article:

+ participate in conversation