Difference between revisions of "TIAO Black Flash USB+ Universal Flash Programmer User's Manual"

From TIAO's Wiki
Jump to: navigation, search

10 PCS, 10cm x 10cm, 2 layers prototype for $38.80 shipped!
Line 85: Line 85:
 
# [[#Reset_Button|Reset Button]]
 
# [[#Reset_Button|Reset Button]]
 
# [[#Mode_Change_Switch|Mode Change Switch]]
 
# [[#Mode_Change_Switch|Mode Change Switch]]
 +
# [[#Flash_Programmer_Pinout|Flash Programmer Pinout]]
  
 
= Connector Pinout & LEDs =
 
= Connector Pinout & LEDs =
Line 173: Line 174:
 
In Application Mode, pressing the reset button will only perform a USB reset. In Bootloader Mode, it will reset the device but when the device automatically reconnects, it will start in the DFU mode, allowing the software to load new AVR firmware.
 
In Application Mode, pressing the reset button will only perform a USB reset. In Bootloader Mode, it will reset the device but when the device automatically reconnects, it will start in the DFU mode, allowing the software to load new AVR firmware.
  
== dd ==
+
== Flash Programmer Pinout ==
'''This connector is enabled only if RS232/TTL jumpers are on RS232-OUT, see [[#Serial_RS232/TTL_level_Selection_Jumper|Serial RS232/TTL level Selection Jumper]]'''
 
  
[[Image:Tumpa.rs232.connector.1.png|middle]][[Image:Tumpa.rs232.connector.2.png|middle]]
+
The pinout of the flash programmer depends on the firmware loaded into the programmer.
  
 +
[[Image:Pinout-bfu+.png|none]]
 +
 +
'''JTAG Mode Pinout:'''
 
{|
 
{|
 
! align="left"|Pin #
 
! align="left"|Pin #
! Acronym
 
! Full name
 
! Direction
 
 
! Description
 
! Description
 
|-
 
|-
 
| 1
 
| 1
| DCD
+
| GND
| Data Carrier Detect
 
| <<--
 
| Modem connected to another
 
 
|-
 
|-
 
| 2
 
| 2
| RxD
+
| TCK
| Receive Data
 
| <<--
 
| Receives bytes into PC
 
 
|-
 
|-
 
| 3
 
| 3
| TxD
+
| GND
| Transmit Data
 
| -->>
 
| Transmits bytes out of PC
 
 
|-
 
|-
 
| 4
 
| 4
| DTR
+
| TMS
| Data Terminal Ready
 
| -->>
 
| I'm ready to communicate
 
 
|-
 
|-
 
| 5
 
| 5
| SG
+
| GND
| Signal Ground
 
|
 
| Ground/GND
 
 
|-
 
|-
 
| 6
 
| 6
| DSR
+
| TDO
| Data Set Ready
 
| <<--
 
| I'm ready to communicate
 
 
|-
 
|-
 
| 7
 
| 7
| RTS
+
| GND
| Request To Send
 
| -->>
 
| RTS/CTS flow control
 
 
|-
 
|-
 
| 8
 
| 8
| CTS
+
| TDI
| Clear To Send
 
| <<--
 
| RTS/CTS flow control
 
 
|-
 
|-
 
| 9
 
| 9
| RI
+
| GND
| Ring Indicator
+
|-
| <<--
+
| 10
| Telephone Line Ringing
+
| TRST
 
|}
 
|}
  
== SPI Connector 1 ==
+
'''SPI Mode Pinout:'''
 
 
[[Image:Tumpa.spi1.connector.1.png|none]]
 
 
 
 
{|
 
{|
 
! align="left"|Pin #
 
! align="left"|Pin #
Line 249: Line 222:
 
|-
 
|-
 
| 1
 
| 1
| MISO
 
|-
 
| 2
 
| Vcc (connected to on board 3.3V)
 
|-
 
| 3
 
| SCK
 
|-
 
| 4
 
| MOSI
 
|-
 
| 5
 
| CS
 
|-
 
| 6
 
 
| GND
 
| GND
|}
 
 
== RS232 Level 2.54mm IDC Header ==
 
 
'''This connector is enabled only if RS232/TTL jumpers are on RS232-OUT, see [[#Serial_RS232/TTL_level_Selection_Jumper|Serial RS232/TTL level Selection Jumper]]'''
 
 
[[Image:tumpa.rs232.connector.png|none]]
 
 
For your convenience, we added this header. This header is inter connected to the DB9 connector.  The pinout is different then the pinout of [[#DB9_Male_RS232|DB 9 connector]], however the extra pin (PIN 10) is connected to on board 3.3V power.  GND pin (PIN 9) and +3.3V PIN (PIN 10) are always enabled regardless the jumpers position of [[#Serial_RS232/TTL_level_Selection_Jumper|Serial RS232/TTL level Selection Jumper]].
 
 
This is the pinout of the RS232 level 2.54mm IDC header:
 
 
 
{|
 
! align="left"|Pin #
 
! Description
 
|-
 
| 1
 
| RI
 
 
|-
 
|-
 
| 2
 
| 2
| DCD
+
| Vcc
 
|-
 
|-
 
| 3
 
| 3
| DSR
+
|
 
|-
 
|-
 
| 4
 
| 4
| CTS
+
| SI
 
|-
 
|-
 
| 5
 
| 5
| RX
+
|
 
|-
 
|-
 
| 6
 
| 6
| TX
+
| SO
 
|-
 
|-
 
| 7
 
| 7
| RTS
+
| RST
 
|-
 
|-
 
| 8
 
| 8
| DTR
+
| SCLK
 
|-
 
|-
 
| 9
 
| 9
| GND
+
| PROG
 
|-
 
|-
 
| 10
 
| 10
| +3.3V
+
| CS
 
|}
 
|}
  
== 20 PIN JTAG Connector ==
+
'''NAND Mode Pinout:'''
 
 
[[Image:tumpa.jtag.connector.1.png|none]]
 
 
 
 
{|
 
{|
 
! align="left"|Pin #
 
! align="left"|Pin #
Line 322: Line 258:
 
|-
 
|-
 
| 1
 
| 1
| VTAR
 
|-
 
| 3
 
| nTRST
 
|-
 
| 5
 
| TDI
 
|-
 
| 7
 
| TMS
 
|-
 
| 9
 
| TCK
 
|-
 
| 11
 
| RTCK
 
|-
 
| 13
 
| TDO
 
|-
 
| 15
 
| RST
 
|-
 
| 17
 
| DBGRQ
 
|-
 
| 19
 
| DBGACK
 
|-
 
| 2
 
| Not Connected
 
|-
 
| 4, 6, 8, 10, 12, 14, 16, 18, 20
 
 
| GND
 
| GND
|}
 
 
 
 
== MAX3243 Auto Power Down Jumper ==
 
 
[[Image:Tumpa.auto.power.down.max3243.1.png|none]]
 
 
This jumper controls whether to always enable MAX3243 or let FT2232H automatically enables it (save power).
 
 
* Jumper on PIN 1 and PIN 2: Always enable MAX3243
 
* Jumper on PIN 2 and PIN 3: FT2232H (<span style="text-decoration: overline">PWREN</span>, PIN 60)controls when to enable or disable MAX3243.
 
 
== Buffer Enable Jumper ==
 
 
[[Image:tumpa.buff.enable.connector.1.png|none]]
 
 
This jumper controls whether to software enable/disable buffer chip (74LVC16T254).
 
 
* Jumper on PIN 1 and PIN 2: Enable (Low)/Disable (High) 74LVC16T245 via FT2232H's ACBUS3 (PIN 29).
 
* Jumper on PIN 2 and PIN 3: Always enable 74LVC16T245
 
 
== Buffer Chip Power Selection Jumper ==
 
 
[[Image:Tumpa.vtar.sel.connector.1.png|none]]
 
 
This jumper controls how to power the buffer / voltage translator chip (74LVC16T245)
 
 
The 74LVC16T245's Vcc(A) is connected to on board +3.3V.  You can either power the Vcc(B) using on board +3.3V or powered by the target board.
 
If powered by target board, please make sure the target board's power is in the range of +1.8V - +5.5V.
 
 
* Jumper on PIN 1 and PIN 2: Power the buffer chip 74LVC16T245's Vcc(B) via the on board +3.3V source.
 
* Jumper on PIN 2 and PIN 3: Power the buffer chio 74LVC16T245's Vcc(B) by target board. (PIN 3 of this header is connected to JTAG header's PIN 1)
 
 
 
== Serial RS232/TTL level Selection Jumper ==
 
 
[[Image:Tumpa.rs232.ttl.connector.1.png|none]]
 
 
These jumpers allows you to have serial communication at either RS232 level or TTL level.
 
 
* Jumpers short top row (RS232-OUT) and middle row (SELECT) (this is the default): enable RS232 level serial output.  (thus [[#DB9_Male_RS232|DB9 Connector]] and [[#RS232_Level_2.54mm_IDC_Header|RS232 Level 2.54mm IDC Header]] are enabled)
 
* Jumpers short middle row (SELECT)and bottom row (TTL-OUT): enable TTL level serial output.  (thus [[#TTL_Level_Serial_Connector|TTL Level Serial Connector]]is enabled)
 
 
== TTL Level Serial Connector ==
 
 
'''This connector is enabled only if RS232/TTL jumpers are on TTL-OUT, see [[#Serial_RS232/TTL_level_Selection_Jumper|Serial RS232/TTL level Selection Jumper]]'''
 
 
[[Image:tumpa.ttl.connector.png|none]]
 
 
 
{|
 
! align="left"|Pin #
 
! Description
 
|-
 
| 1
 
| Tx
 
 
|-
 
|-
 
| 2
 
| 2
| Rx
+
| Vcc
 
|-
 
|-
 
| 3
 
| 3
| RTS
+
| EJ
 
|-
 
|-
 
| 4
 
| 4
| CTS
+
| SI
 
|-
 
|-
 
| 5
 
| 5
| DTR
+
| XX
 
|-
 
|-
 
| 6
 
| 6
| DSR
+
| SO
 
|-
 
|-
 
| 7
 
| 7
| DCD
+
| KSK
 
|-
 
|-
 
| 8
 
| 8
| RI
+
| SCLK
 
|-
 
|-
 
| 9
 
| 9
| +3.3V
+
|  
 
|-
 
|-
 
| 10
 
| 10
| +5V (USB Power)
 
|-
 
| 11, 12
 
| GND
 
|}
 
 
The power pins (9, 10, 11 and 12) are always connected, regardless of the jumper positions of [[#Serial_RS232/TTL_level_Selection_Jumper|Serial RS232/TTL level Selection Jumper]].
 
 
 
== SPI Connector 2 ==
 
 
[[Image:Tumpa.spi2.connector.1.png|none]]
 
 
{|
 
! align="left"|Pin #
 
! Description
 
|-
 
| 1
 
| MISO
 
|-
 
| 2
 
| Vcc (connected to on board 3.3V)
 
|-
 
| 3
 
| SCK
 
|-
 
| 4
 
| MOSI
 
|-
 
| 5
 
 
| CS
 
| CS
|-
 
| 6
 
| GND
 
 
|}
 
|}
  
 +
For detailed firmware/pinout configuration, please read the flashcatUSB software manual downloaded from [http://www.tiaowiki.com/download//file.php?id=39 here].
  
== PWR/RX/TX LEDs ==
 
 
[[Image:Tumpa.led.group.1.png|none]]
 
 
* PWR: indicates the TUMPA board is connected to USB port of the computer and on board voltage regulator outputs +3.3V.
 
* RX: Indicates FT2232H is receiving bytes from target via serial communication channel B
 
* TX: Indicates FT2232H is transmitting bytes to target via serial communication channel B
 
 
== Target Board Power LED ==
 
 
[[Image:Tumpa.led.vtar.1.png|none]]
 
 
* LED is ON: Target board (PIN 1 of JTAG Header) has power supply > 3.3V.
 
* LED is OFF: Target board (PIN 1 of JTAG Header) has power supply < 3.3V or no power.
 
 
The VTAR can also be detected by software.  If VTAR has voltage > 3.3V, ACBUS4 (PIN 30) of FT2232H will be LOW.  Otherwise it will be HIGH.
 
 
= Pin Connections =
 
 
{|class="wikitable" style="background:#cccc99;color:black;width:80%;" border="1" cellpadding="5" cellspacing="0" align="center"
 
| align="center" style="background:#f0f0f0;"|'''FT2232H'''
 
| align="center" style="background:#f0f0f0;"|'''20 PIN JTAG Header'''
 
| align="center" style="background:#f0f0f0;"|'''SPI Header 1'''
 
| align="center" style="background:#f0f0f0;"|'''DB9 Connector'''
 
| align="center" style="background:#f0f0f0;"|'''RS232 Level Output Header'''
 
| align="center" style="background:#f0f0f0;"|'''TTL Level Output Header'''
 
| align="center" style="background:#f0f0f0;"|'''SPI Header 2'''
 
| align="center" style="background:#f0f0f0;"|'''Memo'''
 
|- style="align=center;background:white; color:black"
 
| ADBUS0||TCK||SCK||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| ADBUS1||TDI||MOSI||||||||||
 
|- style="align=center;background:white; color:black"
 
| ADBUS2||TDO||MISO||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| ADBUS3||TMS||CS||||||||||
 
|- style="align=center;background:white; color:black"
 
| ADBUS4||RST||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| ADBUS5||nTRST||||||||||||
 
|- style="align=center;background:white; color:black"
 
| ADBUS6||DBGRQ||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| ADBUS7||RTCK||||||||||||
 
|- style="align=center;background:white; color:black"
 
|&nbsp;||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| ACBUS0||DBGACK||||||||||||
 
|- style="align=center;background:white; color:black"
 
| ACBUS1||||||||||||||Connected to nTRST pin of JTAG Header, (input)
 
|- style="background:#f0f0f0; color:black"
 
| ACBUS2||||||||||||||Connected to RST pin of JTAG Header, as (input)
 
|- style="align=center;background:white; color:black"
 
| ACBUS3||||||||||||||OEN Pin (enable buffer chip), active low (output)
 
|- style="background:#f0f0f0; color:black"
 
| ACBUS4||||||||||||||Target present pin.  Detect VTAR, active low (input)
 
|- style="align=center;background:white; color:black"
 
| ACBUS5||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| ACBUS6||||||||||||||
 
|- style="align=center;background:white; color:black"
 
| ACBUS7||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
|&nbsp;||||||||||||||
 
|- style="align=center;background:white; color:black"
 
| BDBUS0||||||TX||TX||TX||SCK||
 
|- style="background:#f0f0f0; color:black"
 
| BDBUS1||||||RX||RX||RX||MOSI||
 
|- style="align=center;background:white; color:black"
 
| BDBUS2||||||RTS||RTS||RTS||MISO||
 
|- style="background:#f0f0f0; color:black"
 
| BDBUS3||||||CTS||CTS||CTS||CS||
 
|- style="align=center;background:white; color:black"
 
| BDBUS4||||||DTR||DTR||DTR||||
 
|- style="background:#f0f0f0; color:black"
 
| BDBUS5||||||DSR||DSR||DSR||||
 
|- style="align=center;background:white; color:black"
 
| BDBUS6||||||DCD||DCD||DCD||||
 
|- style="background:#f0f0f0; color:black"
 
| BDBUS7||||||RI||RI||RI||||
 
|- style="align=center;background:white; color:black"
 
|&nbsp;||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| BCBUS0||||||||||||||
 
|- style="align=center;background:white; color:black"
 
| BCBUS1||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| BCBUS2||||||||||||||
 
|- style="align=center;background:white; color:black"
 
| BCBUS3||||||||||||||RX LED
 
|- style="background:#f0f0f0; color:black"
 
| BCBUS4||||||||||||||TX LED
 
|- style="align=center;background:white; color:black"
 
| BCBUS5||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
| BCBUS6||||||||||||||
 
|- style="align=center;background:white; color:black"
 
| BCBUS7||||||||||||||
 
|- style="background:#f0f0f0; color:black"
 
|&nbsp;||||||||||||||
 
|- style="align=center;background:white; color:black"
 
| <span style="text-decoration: overline">PWREN</span>||||||||||||||Enable MAX3243. Active low (output)
 
|}
 
  
 
<span class="plainlinks">
 
<span class="plainlinks">

Revision as of 21:05, 2 September 2013








Buy various JTAG cables for your Satellite Receiver, Cable Modem, Wireless Router, Standard Wiggler from http://www.easymg.com and http://www.diygadget.com


Overview

The TIAO Black Flash USB+ Universal Flash Programmer (BlackflashUSB+) is a universal flash programmer with integrated USB to Serial converter (TTL level) and 2 port USB 2.0 hub. It is fully compatible with flashcatusb, thus you can use open source software to program your flash chips.

Technical Specifications

USB 2.0 Hub:

  • Compliant to USB specification Revision 2.0
  • Integrate USB 2.0 transceiver
  • Support 4/3/2 downstream ports by I/O pin configuration
  • Upstream port supports both high-speed (HS) and full-speed (FS) traffic
  • Downstream ports support HS, FS, and low-speed (LS) traffic
  • 1 control pipe (endpoint 0, 64-byte data payload) and 1 interrupt pipe (endpoint 1, 1-byte data payload)
  • Backward compatible to USB specification Revision 1.1
  • On-chip 8-bit micro-processor

USB to Serial Transceiver:

  • Fully Compliant with USB Specification v2.0 (Full-Speed)
  • Supports RS232-like Serial Interface
  • Full-duplex transmitter and receiver (TXD and RXD)
  • Six MODEM control pins (RTS, CTS, DTR, DSR, DCD, and RI)
  • 5, 6, 7 or 8 data bits
  • Odd, Even, Mark, Space, or None parity mode
  • One, one and a half, or two stop bits
  • Parity error, frame error, and serial break detection
  • Programmable baud rate from 75 bps to 6 Mbps
  • External RS232 driver power down control
  • Independent power source for serial interface
  • Extensive Flow Control Mechanism
  • Adjustable high/low watermark level
  • Automatic flow control with CTS/RTS
  • Automatic flow control with XON/XOFF
  • Inbound data buffer overflow detection
  • Configurable 512-byte bi-directional data buffer
  • 256-byte outbound buffer and 256-byte inbound buffer; or 128-byte outbound buffer and 384-byte inbound buffer
  • Supports remote wake-up from MODEM input signals
  • Provides drivers support for Windows, Mac OS, Linux, and WinCE
  • Designed for Windows XP Certified Logo Drivers

Flash Chip Programmer:

  • Open-source software supports multi-languages: English, French, German, Portuguese, Spanish
  • Fast 16MHz RISC processor
  • 32KB Flash
  • Two (2) DIP switches for mode application changes
  • Upgradeable firmware over USB
  • On board reset button
  • Universal CFI Flash programming support
  • SPI Mode 0, 1, 2 compatible
  • USB 1.1 / 2.0 compatible
  • Dual voltage (3.3v or 5v) output

Board Dimensions

The dimension of the board is 6.48 cm * 5.19 cm.

Dimension-BFU+.jpg

Board Layout

Pinout-BFU+.jpg
  1. USB 2.0 Hub power LED
  2. Mini USB receptacle
  3. Onboard USB 2.0 port 2
  4. Onboard USB 2.0 port 1
  5. Serial (TTL Level) header
  6. Application Status LED Indicator
  7. Output Voltage Selector
  8. Reset Button
  9. Mode Change Switch
  10. Flash Programmer Pinout

Connector Pinout & LEDs

USB 2.0 Hub power LED

This LED indicates the onboard USB 2.0 hub is working correctly.

Mini USB receptacle

Connect this receptacle to the computer with a good quality USB to Mini USB cable. The shorter the better.

Onboard USB 2.0 port 2

USB A 2.0 receptacle for any USB 2.0 devices.

Onboard USB 2.0 port 1

USB A 2.0 receptacle for any USB 2.0 devices.

Serial (TTL Level) header

The TTL level COM port header.

Comport-bfu+.png
Pin # Description
1 Tx
2 Rx
3 DTR
4 DSR
5 RTS
6 DCD
7 RI
8 CTS
9 +3.3V
10 +5V (USB Power)
11, 12 GND

Application Status LED Indicator

Indicates the current application status of the flash programmer.

Output Voltage Selector

Move the jumper to 3.3V if the target device support 3.3v. Move the jumper to 5v if the target device supports 5v.

Reset Button

Resets the device or force the programmer to enter the bootloader mode.

Mode Change Switch

Application mode change switch.

Mode-switch-bfu+.png

The functionality of this programmer differs depending on the type of firmware programmed into it.

Change to bootloader mode (1 at ON position, 2 away from ON position) (also known as the DFU mode) to perform a firmware update over USB.

Change to application mode (both 1 and 2 at ON position) to execute the firmware loaded into the programmer.

In Application Mode, pressing the reset button will only perform a USB reset. In Bootloader Mode, it will reset the device but when the device automatically reconnects, it will start in the DFU mode, allowing the software to load new AVR firmware.

Flash Programmer Pinout

The pinout of the flash programmer depends on the firmware loaded into the programmer.

Pinout-bfu+.png

JTAG Mode Pinout:

Pin # Description
1 GND
2 TCK
3 GND
4 TMS
5 GND
6 TDO
7 GND
8 TDI
9 GND
10 TRST

SPI Mode Pinout:

Pin # Description
1 GND
2 Vcc
3
4 SI
5
6 SO
7 RST
8 SCLK
9 PROG
10 CS

NAND Mode Pinout:

Pin # Description
1 GND
2 Vcc
3 EJ
4 SI
5 XX
6 SO
7 KSK
8 SCLK
9
10 CS

For detailed firmware/pinout configuration, please read the flashcatUSB software manual downloaded from here.









Buy various JTAG cables for your Satellite Receiver, Cable Modem, Wireless Router, Standard Wiggler from http://www.easymg.com and http://www.diygadget.com



10 PCS, 10cm x 10cm, 2 layers prototype for $38.80 shipped!