Bus Blaster v1 buffer overview

From DP

Jump to: navigation , search

Contents

JTAG pin connections

Busblasterjtagcon-updated.png

The four main JTAG IO pins (TDI, TDO, TCK, TMS) are fixed on the FT2232, but the other control pins vary among programmers. We wanted the Bus Blaster to work 'out of the box', so we made the buffer compatible with the Amontec JTAGkey.

We reverse engineered the JTAGkey connections from the OpenOCD source code and the Openmoko debug board v3 schematics.

Outputs

Outputs (FT2232->buffer)
pin FT2232 pin description Enable pinnotes
TDIADBUS1 Data in to targetJTAG_BUF_EN Shared output enable
TCK ADBUS0 ClockJTAG_BUF_EN Shared output enable
TMS ADBUS3 Machine stateJTAG_BUF_EN Shared output enable
TSRSTACBUS1TSRST_BUF_ENIndividual output enable, connected to TSRST input
TRSTACBUS0TRST_BUF_ENIndividual output enable
DGBRQACBUS4Debug request

This buffer is difficult to choose because it requires three different output enables. A chip like the 74LVC8T245 (1.6volt to 5volts) has a single output enable for 8bits - we'd need three and 19 pins would be wasted.

The 74xx4T245 commonly used on other FT2232D programmers to give 1.6-5volt output won't work for us because the new FT2232H is 3.3volts instead of 5volts.

We used the SN74AVC4T245, which gives 1.2volt-3.6volt output range. Ideally, a 5volt part can be found in the future.

Inputs

Inputs (buffer->FT2232)
pin FT2232 pindescription notes
TDOADBUS2Data out from target
TSRST ADBUS6 Connected to TSRST output
RTCKADBUS7Return clock For adaptive clocking
DGBACKACBUS5Debug acknowledge
VTGADBUS5Voltage target detectSimple transistor with pullup resistor, inverts signal

Two interchangable buffers:

Pin connection compatibility

Bus Blaster pin connection comparison
JTAG signalDirectionBus Blaster Amontec JTAGkeyOpenmoko debugOpenOCDLink
TDI out ADBUS1ADBUS1ADBUS1
TMS out ADBUS3 ADBUS3 ADBUS3
TCK out ADBUS0 ADBUS0 ADBUS0
TDOinADBUS2ADBUS2ADBUS2
JTAG BUF ENoutADBUS4ADBUS4n/a
nTRSToutACBUS0ACBUS0ACBUS1
nTRST_BUF_ENoutACBUS2ACBUS2ACBUS0
nSRSToutACBUS1ACBUS1ACBUS3
nSRST_BUF_ENoutACBUS3ACBUS3ACBUS2
nSRSTinADBUS6ADBUS6n/a
RTCKinADBUS7n/a (ADBUS7 reserved input)connected to JTAG pin 13
DBGACKinACBUS5n/an/a
DBGRQoutACBUS4n/an/a
Target present(inverted)inADBUS5ADBUS5n/a

BOLD signals are fixed FT2232 pins.

JTAGkey buffer connections:

  • nTRST = 0x01; (ACBUS0)
  • nTRSTnOE = 0x4; (ACBUS2)
  • nSRST = 0x02; (ACBUS1)
  • nSRSTnOE = 0x08; (ACBUS3)

References