This is an automated email from Gerrit. Robert Jarzmik ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/1520
-- gerrit commit 421ec7854c632d4ae52d3f51be0c1c3cfead94f1 Author: Robert Jarzmik <[email protected]> Date: Mon Jul 22 23:41:51 2013 +0200 jtag/drivers: usb_blaster cheap clone documentation Add documentation about the cheap clone based on the Cypress chip. The documentation has schematics data, and throughtput mesures. Change-Id: I51bf19ff9229565e178dd4c1231682bd9b4b7a8b Signed-off-by: Robert Jarzmik <[email protected]> diff --git a/src/jtag/drivers/usb_blaster/README.CheapClone b/src/jtag/drivers/usb_blaster/README.CheapClone new file mode 100644 index 0000000..7eb1bad --- /dev/null +++ b/src/jtag/drivers/usb_blaster/README.CheapClone @@ -0,0 +1,60 @@ +USB Blaster Cheap Clone +======================= + +The Altera USB Blaster has a cheap clone, based on : + - a Cypress CY7C68013A-56PVXC as the main chip + - a 74HC244D as the output latch + - a 24 MHz quartz + - a EEPROM 24C64BN + +The schematics (cut down to essential) is : + +--------------+ +USB--| CY7C68013A | +----------+ + | | | 74HC244D | + . . | | + . . o 1 20 o 10 pins header + | 47 o-- TCK --o 2 19 o-- ? +-------+ + | 46 o-- TDO --o 3 18 o-- TCK -----o 1 2 o + | 45 o-- TMS --o 4 17 o-- TDO -----o 3 4 o + | 44 o o 5 16 o-- TMS -----o 5 6 o + | 43 o-- o 6 15 o o 7 8 o + | 42 o-- o 7 14 o +--o 9 10 o + | 41 o-- TDI --o 8 13 o-- ? | +-------+ + . . o 9 12 o-- TDI --+ + . . o 10 11 o + o 28 29 o | | + | | +----------+ + +--------------+ + +From this one can deduce that : + - the cypress emulates the Altera chip + - as the cypress pins used are 41-47, all output/input are controlled by 8051 + PortA. + - as the 8051 is clocked at 24Mhz, and because each USB byte is handled by the + 8051, assuming a 40 interuction cycles per USB packet, the maximum throughput + would be around 500 kHz. + +Throughput considerations +========================= +Mesurements on a scope reveal that : + - for bitbang mode, the throughtput is 56.5 kbits/s + (as each clock transition is mesured at 17.7us) + - for byteshift mode, the throughput is 107.7 bits/s + (as 63 bits TDI transmission is mesured in 585 us) + +Let's suppose that to upload a 32 bits value, it is necessary to : + - move from IDLE to DR-SHIFT : 3 bitbang (3 TMS transitions) + - input the 32 bits of data : 1 byteshift (24 bits) + 8 bitbang (8 bits) + - move from DR-SHIFT to IDLE : 5 bitbang (5 TMS transitions) +So for this 32 bits of data, the time would be : + 3 * 17.7us + 1 * 585us/63*24 + 5 * 17.7us + = 53.1us + 222us + 88.5us + = 363us + +Throughtput in bit/s: 32 * (1 / 363E-6) = 88000 bits/s +Throughtput in bytes/s: 11kBytes/s + +Conclusion +========== +Contrary to the original USB Blaster, the cheap clone will never reach high +transfer speeds over JTAG. -- ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
