Close

Necessary Pins

A project log for operation: Learn The MIPS (PIC32MX1xx/2xx/370)

Having been exclusive to a certain uC-line for over a decade, it's time to learn something new (and port commonCode!)... Enter MIPS

eric-hertzEric Hertz 06/26/2015 at 20:360 Comments

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)
3V3
This 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