First, working out which pins/circuitry need to be connected as a bare-minimum. (Reminder: I'm going for JTAG-programming, here... If you're planning to use MPLABX and/or a Microchip programming-dongle, or if you're looking for this to be *correct*, you're probably better-off using someone else's documentation, check out those links suggested in this project's "comments" by @Bruce Land ! Thanks for those! Especially: Tahmid's Introduction To PIC32)
I've documented my overly-wordy thought-process, but I won't bore you with those details here. I'll probably upload those docs at a later-date.
This is, pretty much, "AS I UNDERSTAND" which may be "not at all" or somewhere inbetween. I tried to be rigorous, but I haven't wired anything up yet....
( '#' = MUST BE CONNECTED per section 2.1 ) ( Minimal WITHOUT USB, WITHOUT ANALOG DECOUPLING INDUCTOR ) 3V3 ^ | \ / 10K PIC32 \ MX2xxFxxxB 3V3 / ___________ ^ | 1k | |_| | | .1uF +-/\/\-- /MCLR -|1*# #28|- AVDD -+--||--. | RA0 -|2 #27|- AVSS / AGND -+-> GND ===.1uF RA1 -|3 26|- RB15 | RB0 -|4 25|- RB14 | RB1 -|5 +24|- RB13 | RB2 -|6 (#)23|- VUSB3V3 ---> 3V3 v RB3 -|7 22|- RB11 GND<---- GND/VSS-|8# 21|- RB10 10uF TANT/CER ^ RA2 -|9 #20|- VCAP ----||--. | RA3 -|10 #19|- VSS / GND ---+-> GND ===.1uF RB4 -|11 *18|- RB9/TDO | RA4 -|12 *17|- RB8/TCK +------ V+/VDD -|13# *16|- RB7/TDI | TMS/RB5-|14* *15|- VBUS (N/C OK?) v |___________| (input to detect USB) 3V3This pinout is pretty much the same for the MX1xxFxxxB, but there are distinct differences:
NOTE: 1xx/2xx are mostly pin-compatible
NOTICED DIFFERENCES:
14 TMS (2xx)
15 RB6 vs VBUS
21 5V tolerant vs NOT
22 5V tolerant vs NOT
ALSO NOT TMS (2xx)
23 RB12 vs VUSB3V3
JTAG:
I'm having some difficulty figuring out the TRST/SRST scenario... but I'm piecing it together from various sources... I THINK TRST is a N/C, and I THINK SRST is connected to /MCLR. Again, this is not yet tested. FROM PAST-EXPERIENCE with the Freescale part, it was possible to connect openOCD to the Freescale chip with NO reset pin connected... Albiet a bit unweildy. So, I think that'll be my first-attempt.
As It Stands:
FT2232 pinout: (AD#) _______ | | (plausibly: ->VREF) N/C nTRST |1 2| GND (VSS) (AD1) TDI |3 4| GND (VSS) (AD2) TDO |5 6| GND (VSS) (AD3) TMS |7 8| GND (VSS) (AD0) TCK |9 10| GND (VSS) (likely: /MCLR) N/C nSRST |11 (12)| (Index, don't populate) N/C DINT |13 14| VREF N/C |_______| (VREF: PIC32's VDD -> JTAGger?)
... today ... so-far unique amongst most my days... lots-learned, tons outside the realm of electronics... hopefully some of that will stick around.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.