Bus Blaster v2 design overview

From DP

Revision as of 15:30, 23 March 2011 by Ian (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation , search
Project Summary
Name: Bus Blaster v2 design overview
Buy it: [ Get one for $35 at Seeed Studio]
Price: $35
Status: Test production
Manufacturing: Testing
Forum: Bus Blaster v2 design overview Forum
Busblaster-v2.jpg

You can get a [Bus Blaster v2 for $35]. Bus Blaster v2 is an experimental high-speed JTAG debugger design.

  • Based on FT2232H with high-speed USB 2.0
  • Buffered interface works with 3.3volt to 1.2volt targets
  • Reprogrammable buffer (CPLD) works with OpenOCD, urJTAG, and more
  • Compatible with 'jtagkey', 'KT-link', other programmer types
  • Should support Serial Wire Debug with KT-link compatible interface
  • Open source (CC-BY-SA)

Bus Blaster v2 is now available. Each unit is tested with a real JTAG target before it ships.

Read about the design below.

Contents

Overview

The Bus Blaster is used to program and debug devices with a JTAG interface like ARM processors, CPLDs, flash memory, and more. It has a JTAGkey-compatible buffer interface that is supported by most popular open source JTAG utilities.

This project was developed in a public forum, and progress was documented on a wiki.

Hardware

Bus Blaster-v2-cct.png

Click for a full size schematic image. Schematic and PCB were designed with the freeware version of Cadsoft Eagle, download the latest project files from our Google Code project page.

FT2232H

File:Busblaster-v2-ft2232.jpg

The FT2232H is a powerful USB to serial communication chip. It has an MPSSE feature that provides a simple USB to JTAG converter (and UART, I2C, or SPI). Most DIY JTAG debuggers use this chip, as do many commercial models.

Bus Blaster v1 uses the 'H' version of the chip, the latest 3.3volt revision that supports JTAG adaptive clocking. The circuit is based on a reference design from the FT2232H datasheet.

We chose not to populate the optional EEPROM on Bus Blaster v1 in order to stay within our price goals. It is not required, and without it the FT2232 uses default settings.

Buffered interface

File:Busblaster-v2-buffer.jpg

The buffer translates voltage levels between the FT2232H (3.3volts) and a JTAG device (1.2volts-3.3volts). The buffer is the primary difference between the Bus Blaster and a plain FT2232H development board.

The buffer is powered by the target, 1.2volts to 3.3volts only
You must connect the target power supply to the JTAG VTG pin

Busblasterjtagcon-updated.png

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

The jtagkey interface is common among DIY programmers, and it's already supported in most open source JTAG utilities. We reverse engineered the connections from the OpenOCD source code and verified them against the Openmoko debug board v3 schematics.

The buffer is NOT 5volt compatible.

Outputs

Outputs (Bus Blaster->target)
pin FT2232 pin description directon
TDIADBUS1 JTAG data in to targetoutput
TCK ADBUS0 JTAG clock in to targetoutput
TMS ADBUS3 JTAG state machine updateoutput
TRSTACBUS0 Reset outputoutput
TSRSTACBUS1 Bi-directional reset pinoutput
DGBRQACBUS4Debug request output
TDOADBUS2JTAG data out from target input
TSRST ADBUS6Bi-directional reset pin input
RTCKADBUS7 System return clock input
DGBACKACBUS5Debug acknowledge input
VTGADBUS5Voltage targetinput


PCB

Bus-blaster-v1-pcb-scan-490.jpg

We used the freeware version of Cadsoft Eagle to make the schematic and PCB. Download the latest designs and firmware from the project Google Code page.

Partslist

BusBlaster-v1-pcb-final.png

Click for a full size placement image.

partlist
Parts Quantity Value Package
C1-C7, C13-C21, C25 17 100nF C805
C8 1 3.3uF SMC_A
C9, C10 2 27pF C805
C11, C12, C22 3 4.7uF SMC_A
IC1 1 FT2232H LQFP64
IC3 1 LD1117-3.3 SOT223
IC4, IC5 2 SN74AVC4T245 TSSOP16
IC6, IC7, IC8 3 SN74LVC2T45DCTR DCT_R_PDSO_G8
JTAG 1 02x10 shrouded header, male 0.1” PAK100/2500-20
L1, L2 2 800mA+ ferrite bead FB805
LED1, LED2 2 LED CHIPLED_0805
R1 1 12K R805
R2, R9 2 1K R805
R3, R4, R5, R7 4 10K R805
R6 1 2.2K R805
R8 1 100k R805
R10, R11 2 470R R805
T1 1 NPN transistor, 100mA+ SOT23-BEC
USB 1 USB MINI B SMD MINI-USBB
X1 1 12MHz crystal, small package 4X6

Taking it further

We're already hard at work on Bus Blaster v2. The updated design replaces the discrete buffer chips with a CPLD. V2 will be cheaper and more flexible.

Get one!

Bus Blaster v1 is now available to early adopters at a discount. Each unit is tested with a real JTAG target before it ships.

You can get a Bus Blaster v1 for $35, including worldwide shipping.

Your purchases at Seeed Studio keep the open source project coming, we sincerely appreciate your support!

Links

License

Hardware license: CC-BY-SA