Fixed USB host bugs.
[goodfet] / firmware / README.TI_Lauchpad
1 Texas TI Launchpad
2 ==================
3
4 $4.30 Just too good to be true, so suddenly it is probably not available anymore,
5 On the otherhand, it is effective marketing, it work I am here (from pic/atmega)
6 and maybe not that expensive at all and it direclty benefit the develoopers,
7 thats something new - well done TI.
8
9 $4.30 for 4 CPUs, 2 of which is pretty powerfull. The TUSB3410 and MSP430F1612
10
11 My initial goal was to use the TI-Launchpad with goodfet software to developxi
12 software for the C1110/C1111 another TI-chip.
13
14 But using the supplied MSP430G2211/MSP430G2231 as intelligent portexpanders
15 you can have a really powerfull expandable platform here, making it an even better
16 bargain.
17
18 Only 4 (four) IO pins available on pinhead
19 ==========================================
20 P3.6 TXD1    BTXD
21 P3.7 RXD1    BRXD
22 P5.3         SBWTCK 47k pull-down
23 P2.4 P4.7 P5.1 P5.2 SBWDIO 47k pull-up
24 P4.7 P2.4 P5.1 P5.2 SBWDIO 47k pull-up
25 P5.1 P4.7 P2.4 P5.2 SBWDIO 47k pull-up
26 P5.2 P4.7 P2.4 P5.1 SBWDIO 47k pull-up
27
28 Unmodified the TI-Launchpad cripples the F1612, by only making 4 pins
29 easily accessable
30
31 Quite a few of the GoodFET applications use 4 or less pins.
32
33 The MSP430F1612 has tiny pins so at least for me it is very difficult
34 to solder on extra wires, The easiest would be P5.4 (pin48).
35 The TUSB3410 is easier to attach wires to
36
37 MSP430 pins which is also available on the TUSB3410
38 ===================================================
39 P1.3 RTS input  from TUSB3410   (would require modified TUSB3410 firmware)
40 P1.4 DTR input  from TUSB3410   (would require modified TUSB3410 firmware)
41 P1.5 DSR output to TUSB3410     (could easily be used)
42 P1.6 CTS output to TUSB3410     (could easily be used)
43 P3.1 SDA io     to TUSB3410     (available after successfull boot of TUSB3410)
44 P3.3 SCL io     to TUSB3410     (available after successfull boot of TUSB3410)
45 P4.6 Reset to TUSB3410
46 P5.5 SMCLK 12 Mhz send to TUSG3410
47
48 although there are restrictions on some of the bits there is a little more
49 room for expansion,  The original GoodFET only uses 6 pins.
50
51 Comparison to GoodFET
52 =====================
53 On the GoodFET, DTR and RTS is connected to Reset and Tck on F1612,
54 RXD and TXD is connected to P1.1/P2.2 so BSL is possible, not here !!
55
56 We could emulate a BSL, this would be a nice Sunday afternoon project.
57
58 Basic design consideration for my adaption
59 ==========================================
60 - Interrupt based.
61 - goodfet.??? host-python script compatible. (unmodified if possible)
62 - minimal modification to current firmware-sources
63 - MSP430F1612 is using 12Mhz X-tal on XT-2, which is supplied to the TUSB3410
64 - MSP430F1612 itself runs at 3Mhz X-tal, close enough to goodfet timing at 3M6
65 - MSP430F1612 effictively disables EEPROM access for TUSB3410, by pulling SDA, SCL low
66 - Without EEPROM the TUSB3410 will load the firmware from /lib/firmware/..../ti3410.fw
67   and act as standard USB-rs232 controller, no further modifications is necessary.
68 - MSP430F1612 release reset to TUSB3410,  note, avoid reseting the MSP430F1612 because
69   this will remove the clock from the TUSB3410, NMI can easily implement similar
70   warmstart funtionaity.
71 - for "offband" debuging, attach a serial port to BTXD (pin6), and compile with -DDEBUG_LEVEL=3 -DDEBUG_START=3
72 - for debugging via USB add -DINBAND_DEBUG
73 - four new filesi:
74         README.TI_Lauchpad
75         platform/tilauchpad.h
76         lib/tilaunchpad.c
77         include/msp430_serial.c
78         lib/msp430_serial.h
79 - due to bugs in my msp430 library (seems to be fixed in current source)
80         core_common.inc
81         lib/setjmp.S
82 - modification to:
83         Makefile:
84
85 Other design considerations in my modifications to GoodFET software
86 ===================================================================
87 I am always low on USB-serial adapters, hence this will be
88 the default alternative use of the modified TI Launchpad.
89
90 1) if a jumper is installed between SBWTCK and SBWDIO, the Launchpad
91 will configure itself as a USB-serial adapter at 115k2 no handshakes.
92 It might be an idea to implement it as application, if others care
93 for this functionality.
94 NOTE: this is DISABLED right now,
95
96 Since Pins are scarse,
97
98 2) usart TX1 and RX1 can be configured independently A using
99 uart1 tx for debug messages, while using rx bit for something else
100 or we can use full uart1 for pass through
101 or not uart1 functions at all,
102
103 3) LED can be easily be moved to different pin, or diabled.
104
105 June 2011
106
107 Best Regards
108
109 Peter@Lorenzen.us