Convert to non-recursive make
[openocd.git] / src / jtag / drivers / usb_blaster / README.CheapClone
1 USB Blaster Cheap Clone
2 =======================
3
4 The Altera USB Blaster has a cheap clone, based on :
5 - a Cypress CY7C68013A-56PVXC as the main chip
6 - a 74HC244D as the output latch
7 - a 24 MHz quartz
8 - a EEPROM 24C64BN
9
10 The schematics (cut down to essential) is :
11
12 /-----------------+----------------------\
13 +--------------+ | | |
14 USB--| CY7C68013A | | +----------+ | |
15 | | | | 74HC244D | | |
16 . . | | | | |
17 . . \--o 1 20 o | 10 pins header |
18 | 47 o-- TCK --o 2 19 o---/ +-------+ |
19 | 46 o-- TDO --o 3 18 o-- TCK -----o 1 2 o |
20 | 45 o-- TMS --o 4 17 o-- TDO -----o 3 4 o |
21 | 44 o o 5 16 o-- TMS -----o 5 6 o |
22 | 43 o-- o 6 15 o o 7 8 o |
23 | 42 o-- o 7 14 o +--o 9 10 o |
24 | 41 o-- TDI --o 8 13 o-- ? | +-------+ |
25 . 40 o-- nOE \ o 9 12 o-- TDI --+ |
26 . . | o 10 11 o |
27 o 28 29 o | | | |
28 | | | +----------+ |
29 +--------------+ \ |
30 ---------------------------------------/
31
32 From this one can deduce that :
33 - the cypress emulates the Altera chip
34 - as the cypress pins used are 41-47, all output/input are controlled by 8051
35 PortA.
36 - as the 8051 is clocked at 24Mhz, and because each USB byte is handled by the
37 8051, assuming a 40 instruction cycles per USB packet, the maximum throughput
38 would be around 500 kHz.
39
40 Pinout
41 ======
42 Port A.0: nOE (output enable of 74HC244D)
43 Port A.1: TDI
44 Port A.5: TMS
45 Port A.6: TDO
46 Port A.7: TCK
47
48 Throughput considerations
49 =========================
50 Mesurements on a scope reveal that :
51 - for bitbang mode, the throughtput is 56.5 kbits/s
52 (as each clock transition is mesured at 17.7us)
53 - for byteshift mode, the throughput is 107.7 kbits/s
54 (as 63 bits TDI transmission is mesured in 585 us)
55
56 Let's suppose that to upload a 32 bits value, it is necessary to :
57 - move from IDLE to DR-SHIFT : 3 bitbang (3 TMS transitions)
58 - input the 32 bits of data : 1 byteshift (24 bits) + 8 bitbang (8 bits)
59 - move from DR-SHIFT to IDLE : 5 bitbang (5 TMS transitions)
60 So for this 32 bits of data, the time would be :
61 3 * 17.7us + 1 * 585us/63*24 + 5 * 17.7us
62 = 53.1us + 222us + 88.5us
63 = 363us
64
65 Throughtput in bit/s: 32 * (1 / 363E-6) = 88000 bits/s
66 Throughtput in bytes/s: 11kBytes/s
67
68 Conclusion
69 ==========
70 Contrary to the original USB Blaster, the cheap clone will never reach high
71 transfer speeds over JTAG.

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)