Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
chipkit_uno32:refmanual [2015/04/27 21:57] – [chipKIT Uno32 Reference Manual] Martha | chipkit_uno32:refmanual [2015/08/25 17:28] (current) – [chipKIT Uno32 Reference Manual] Joshua Woldstad | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== chipKIT Uno32 Reference Manual ====== | ====== chipKIT Uno32 Reference Manual ====== | ||
- | {{: | + | |
+ | {{ : | ||
---- | ---- | ||
Line 38: | Line 39: | ||
---- | ---- | ||
- | ===== 2 Hardware Overview ===== | + | ====== chipKIT Uno32 Hardware Overview |
The Uno32 board has the following hardware features: | The Uno32 board has the following hardware features: | ||
Line 101: | Line 102: | ||
---- | ---- | ||
- | =====3 Jumper Settings===== | + | ======Jumper Settings====== |
The chipKIT development platforms use a Microchip PIC32 microcontroller. These are 32-bit products that bring unprecedented features to the Arduino community. In order to maintain compatibility with existing hardware and software, additional jumpers and row headers are provided. | The chipKIT development platforms use a Microchip PIC32 microcontroller. These are 32-bit products that bring unprecedented features to the Arduino community. In order to maintain compatibility with existing hardware and software, additional jumpers and row headers are provided. | ||
Line 123: | Line 124: | ||
{{ : | {{ : | ||
{{ : | {{ : | ||
+ | |||
---- | ---- | ||
+ | |||
**JP5 & JP7**\\ | **JP5 & JP7**\\ | ||
Line 130: | Line 133: | ||
{{ : | {{ : | ||
{{ : | {{ : | ||
+ | |||
---- | ---- | ||
+ | |||
**JP6 & JP8**\\ | **JP6 & JP8**\\ | ||
Line 138: | Line 143: | ||
---- | ---- | ||
- | =====4 MPIDE and USB Serial Communications===== | + | |
+ | |||
+ | ====== chipKIT Uno32 Hardware Description ====== | ||
+ | =====MPIDE and USB Serial Communications===== | ||
The Uno32 board is designed to be used with the Multi-Platform IDE (MPIDE). Digilent produced the MPIDE development platform by modifying the Arduino™ IDE. It is backwards-compatible with the Arduino IDE. | The Uno32 board is designed to be used with the Multi-Platform IDE (MPIDE). Digilent produced the MPIDE development platform by modifying the Arduino™ IDE. It is backwards-compatible with the Arduino IDE. | ||
Line 155: | Line 163: | ||
The header connector J3 provides access to the other serial handshaking signals provided by the FT232R. Connector J3 is not loaded at the factory and can be installed by the user to access these signals. | The header connector J3 provides access to the other serial handshaking signals provided by the FT232R. Connector J3 is not loaded at the factory and can be installed by the user to access these signals. | ||
- | ---- | + | |
- | =====5 Power Supply===== | + | =====Power Supply===== |
The Uno32 is designed to be powered either via USB or from an external power supply. There is an automatic switch-over circuit that causes the external supply to be used if both supplies are present. | The Uno32 is designed to be powered either via USB or from an external power supply. There is an automatic switch-over circuit that causes the external supply to be used if both supplies are present. | ||
Line 198: | Line 206: | ||
**VIN (pin 6):** This connects to the voltage provided at the external power supply connector. This can be used to provide unregulated input power to the shield. It can also be used to power the Uno32 board from the shield instead of from the external power connector. | **VIN (pin 6):** This connects to the voltage provided at the external power supply connector. This can be used to provide unregulated input power to the shield. It can also be used to power the Uno32 board from the shield instead of from the external power connector. | ||
- | ---- | + | |
- | =====6 5V Compatibility===== | + | =====5V Compatibility===== |
The PIC32 microcontroller operates at 3.3V. The original Arduino boards operate at 5V as do many Arduino shields. | The PIC32 microcontroller operates at 3.3V. The original Arduino boards operate at 5V as do many Arduino shields. | ||
Line 208: | Line 216: | ||
The fact that all I/O pins are 5V tolerant means that it is safe to apply 5V logic levels to any pins on the board without risk of damaging the PIC32 microcontroller. | The fact that all I/O pins are 5V tolerant means that it is safe to apply 5V logic levels to any pins on the board without risk of damaging the PIC32 microcontroller. | ||
- | The minimum high-voltage output of the PIC32 microcontroller is rated at 2.4V when sourcing 12mA of current. When driving a high impedance input (typical of CMOS logic) the output high voltage will be close to 3.3V. Some 5V devices will recognize this voltage as a logic high input, and some won’t. Many 5V logic devices will work reliably with 3.3V inputs. | + | The minimum high-voltage output of the PIC32 microcontroller is rated at 2.4V when sourcing 12mA of current. When driving a high impedance input (typical of CMOS logic) the output high voltage will be close to 3.3V. Some 5V devices will recognize this voltage as a logic high input, and some won't. Many 5V logic devices will work reliably with 3.3V inputs. |
- | ---- | + | |
- | =====7 Input/ | + | =====Input/ |
The Uno32 board provides 42 of the I/O pins from the PIC32 microcontroller to pins on the input/ | The Uno32 board provides 42 of the I/O pins from the PIC32 microcontroller to pins on the input/ | ||
Line 228: | Line 236: | ||
The analog inputs on connector J7 are assigned pin numbers. The outer row of pins on J7 are analog inputs A0-A5. The inner row of pins are A6-A11. These pins are also assigned digital pin numbers: A0-A5 are digital pins 14-19, and A6-A11 are 20-25. | The analog inputs on connector J7 are assigned pin numbers. The outer row of pins on J7 are analog inputs A0-A5. The inner row of pins are A6-A11. These pins are also assigned digital pin numbers: A0-A5 are digital pins 14-19, and A6-A11 are 20-25. | ||
- | ---- | + | =====Peripheral I/O Functions===== |
- | =====8 Peripheral I/O Functions===== | + | |
The PIC32 microcontroller on the Uno32 board provides a number of peripheral functions. The following peripherals are provided: | The PIC32 microcontroller on the Uno32 board provides a number of peripheral functions. The following peripherals are provided: | ||
Line 244: | Line 251: | ||
**PWM:** Pulse width modulated output. Pins 3 (OC1), 5 (OC2), 6 (OC3), 9 (OC4), and 10 (OC5). | **PWM:** Pulse width modulated output. Pins 3 (OC1), 5 (OC2), 6 (OC3), 9 (OC4), and 10 (OC5). | ||
- | **External Interrupts:****Bold Text** Pin 38 (INT0), Pin 2 (INT1), Pin 7 (INT2), Pin 8 (INT3), Pin 35 (INT4) | + | **External Interrupts: |
**User LEDs:** Pin 13 (LD4), Pin 43 (LD5). Pin 13 is shared between a connector pin and the LED. Pin 43 only goes to the LED and not any connector pin. Driving the pin high turns the LED on, driving it low turns it off. | **User LEDs:** Pin 13 (LD4), Pin 43 (LD5). Pin 13 is shared between a connector pin and the LED. Pin 43 only goes to the LED and not any connector pin. Driving the pin high turns the LED on, driving it low turns it off. | ||
Line 262: | Line 269: | ||
On Arduino boards, the corresponding connector is also used as an in-system programming connector as well as providing access to some of the SPI signals. On Arduino boards, pin 5 of this connector is connected to the reset net. | On Arduino boards, the corresponding connector is also used as an in-system programming connector as well as providing access to some of the SPI signals. On Arduino boards, pin 5 of this connector is connected to the reset net. | ||
- | Some Arduino shields, | + | Some Arduino shields, |
A reset button is at the upper left corner of the board. Pressing this button resets the PIC32 microcontroller. | A reset button is at the upper left corner of the board. Pressing this button resets the PIC32 microcontroller. | ||
---- | ---- | ||
- | =====9 Microchip Development Tool Compatibility===== | + | ======Microchip Development Tool Compatibility====== |
In addition to being used with the MPIDE, the Uno32 board can be used as a more traditional microcontroller development board using Microchip Development Tools. | In addition to being used with the MPIDE, the Uno32 board can be used as a more traditional microcontroller development board using Microchip Development Tools. | ||
Line 280: | Line 287: | ||
The Microchip MPLAB® IDE or the MPLAB® X IDE can be used to program and debug code running on the Uno32 board. These programs can be downloaded from the Microchip web site. | The Microchip MPLAB® IDE or the MPLAB® X IDE can be used to program and debug code running on the Uno32 board. These programs can be downloaded from the Microchip web site. | ||
- | ---- | + | =====Reloading the MPIDE bootloader===== |
- | =====10 Reloading the MPIDE bootloader===== | + | |
Using the Microchip development tools to program the Uno32 board will cause the boot loader to be erased. To use the board with the MPIDE again, it is necessary to program the boot loader back onto the board. The boot loader source code and compiled image can be found in the MPIDE software download. | Using the Microchip development tools to program the Uno32 board will cause the boot loader to be erased. To use the board with the MPIDE again, it is necessary to program the boot loader back onto the board. The boot loader source code and compiled image can be found in the MPIDE software download. | ||
---- | ---- | ||
- | =====Appendix A: Pinout Diagram===== | ||
- | Work in progress... | ||
- | ---- | + | ====== Pinout Tables ====== |
- | =====Appendix B: Pinout Tables===== | + | |
The following tables give the relationship between the chipKIT digital pin numbers, the connector pin numbers and the microcontroller pin numbers. | The following tables give the relationship between the chipKIT digital pin numbers, the connector pin numbers and the microcontroller pin numbers. | ||
In the following tables, columns labeled chipKIT pin # refer to the digital pin number. This is the value that is passed to the pinMode(), digitalRead(), | In the following tables, columns labeled chipKIT pin # refer to the digital pin number. This is the value that is passed to the pinMode(), digitalRead(), | ||
- | For most pins, this pin number will agree with the pin number labeled on the board. For the pins whose function can be switched using jumpers, the pin number labeled on the board is correct when the jumper is in the ‘normal’ position. | + | For most pins, this pin number will agree with the pin number labeled on the board. For the pins whose function can be switched using jumpers, the pin number labeled on the board is correct when the jumper is in the 'normal' |
For example: The normal position for JP4 is the RD4 position. The digital pin number for the microcontroller signal RD4 is 10. With JP4 in the RD4 position, digital pin 10 is connected to the pin labeled 10 on the board. The alternate position for JP4 is the RG9 position. The digital pin number for the microcontroller signal RG9 is 44. With JP4 in the RG9 position, digital pin 44 is connected to the pin labeled 10 on the board, and digital pin 10 is not connected. | For example: The normal position for JP4 is the RD4 position. The digital pin number for the microcontroller signal RD4 is 10. With JP4 in the RD4 position, digital pin 10 is connected to the pin labeled 10 on the board. The alternate position for JP4 is the RG9 position. The digital pin number for the microcontroller signal RG9 is 44. With JP4 in the RG9 position, digital pin 44 is connected to the pin labeled 10 on the board, and digital pin 10 is not connected. | ||
- | The pin labeled 10 on the board is connected to connector J5 pin 5. This is shown as J5-05 in the following tables. In the ‘Pinout Table by Shield Connector Pin’ table below, J5-05 is shown has being either chipKIT pin # 10 or 44. J5-04 is connected to chipKIT pin # 10 when JP4 is in the RD4 position and is connected to chipKIT pin # 44 when in the RG9 position. | + | The pin labeled 10 on the board is connected to connector J5 pin 5. This is shown as J5-05 in the following tables. In the 'Pinout Table by Shield Connector Pin' |
- | ---- | + | ===== Pinout Table by Logical Pin Number ===== |
- | ====by Digital | + | |
+ | ^ chipKIT Pin # ^ Connector Pin # ^ PIC32 Pin # ^ PIC32 Signal | ||
+ | | 0 | J6-01 | 34 | U1RX/ | ||
+ | | 1 | J6-03 | 33 | U1TX/ | ||
+ | | 2 | J6-05 | 42 | IC1/ | ||
+ | | 3 | J6-07 | 46 | OC1/ | ||
+ | | 4 | J6-09 | 59 | RF1 | | | ||
+ | | 5 | J6-11 | 49 | OC2/ | ||
+ | | 6 | J6-13 | 50 | OC3/ | ||
+ | | 7 | J6-15 | 43 | IC2/ | ||
+ | | 8 | J5-01 | 44 | IC3/ | ||
+ | | 9 | J5-03 | 51 | OC4/ | ||
+ | | 10 | J5-05 | 52 | PMWR/ | ||
+ | | 11 | J5-07 | 6 | SDO2/ | ||
+ | | 12 | J5-09 | 5 | SDI2/ | ||
+ | | 13 | J5-11 | 4 | SCK2/ | ||
+ | | 14/A0 | J7-01 | 14 | C2IN-/ | ||
+ | | 15/A1 | J7-03 | 12 | C1IN-/ | ||
+ | | 16/A2 | J7-05 | 21 | U2CTS/ | ||
+ | | 17/A3 | J7-07 | 23 | TMS/ | ||
+ | | 18/A4 | J7-09 | 27 | TCK/ | ||
+ | | 19/A5 | J7-11 | 29 | PMALH/ | ||
+ | | 20/A6 | J7-02 | 13 | C2IN+/ | ||
+ | | 21/A7 | J7-03 | 11 | C1IN+/ | ||
+ | | 22/A8 | J7-06 | 22 | PMA7/ | ||
+ | | 23/A9 | J7-08 | 24 | TDO/ | ||
+ | | 24/ | ||
+ | | 25/ | ||
+ | | 26 | J6-02 | 60 | PMD0/ | ||
+ | | 27 | J6-04 | 61 | PMD1/ | ||
+ | | 28 | J6-06 | 62 | PMD2/ | ||
+ | | 29 | J6-08 | 63 | PMD3/ | ||
+ | | 30 | J6-10 | 64 | PMD4/ | ||
+ | | 31 | J6-12 | 1 | PMD5/ | ||
+ | | 32 | J6-14 | 2 | PMD6/ | ||
+ | | 33 | J6-16 | 3 | PMD7/ | ||
+ | | 34 | J5-02 | 53 | PMRD/ | ||
+ | | 35 | J5-04 | 45 | IC4/ | ||
+ | | 36 | J5-06 | 54 | CN15/ | ||
+ | | 37 | J5-08 | 55 | CN16/ | ||
+ | | 38 | J5-10 | 35 | U1RTS/ | ||
+ | | 39 | J5-12 | 31 | PMA9/ | ||
+ | | 40 | J5-14 | 32 | PMA8/ | ||
+ | | 41 | J5-16 | 15 | PGC1/ | ||
+ | | 42 | J5-15 | 16 | PGED1/ | ||
+ | | 43 | N/A | 58 | RF0 | User LED LD5 | | ||
+ | | 44 | J5-05 | 8 | PMA2/ | ||
+ | | 45 | J11-1, J7-09 | 36 | SDA1/ | ||
+ | | 46 | J11-2, J7-11 | 37 | SCL1/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Pinout Table By Shield Connector | ||
+ | |||
+ | ^ Connector Pin # ^ chipKIT Pin # ^ PIC32 Pin # ^ PIC32 Signal | ||
+ | | J5-01 | 8 | 44 | IC3/ | ||
+ | | J5-02 | 34 | 53 | PMRD/ | ||
+ | | J5-03 | 9 | 51 | OC4/ | ||
+ | | J5-04 | 35 | 45 | IC4/ | ||
+ | | J5-05 | 10 or 44 | 52 or 8 | PMWR/ | ||
+ | | J5-06 | 36 | 54 | CN15/ | ||
+ | | J5-07 | 11 or 12 | 6 or 5 | SDO2/ | ||
+ | | J5-08 | 37 | 55 | CN16/ | ||
+ | | J5-09 | 12 or 11 | 5 or 6 | SDI2/ | ||
+ | | J5-10 | 38 | 35 | U1RTS/ | ||
+ | | J5-11 | 13 | 4 | SCK2/ | ||
+ | | J5-12 | 39 | 31 | PMA9/ | ||
+ | | J5-13 | | | GND | ||
+ | | J5-14 | 40 | 32 | PMA8/ | ||
+ | | J5-15 | 42 | 16 | PGED1/ | ||
+ | | J5-16 | 41 | 15 | PGC1/ | ||
+ | | J6-01 | 0 | 34 | U1RX/ | ||
+ | | J6-02 | 26 | 60 | PMD0/ | ||
+ | | J6-03 | 1 | 33 | U1TX/ | ||
+ | | J6-04 | 27 | 61 | PMD1/ | ||
+ | | J6-05 | 2 | 42 | IC1/ | ||
+ | | J6-06 | 28 | 62 | PMD2/ | ||
+ | | J6-07 | 3 | 46 | OC1/ | ||
+ | | J6-09 | 4 | 59 | RF1 | ||
+ | | J6-10 | 30 | 64 | PMD4/ | ||
+ | | J6-11 | 5 | 49 | OC2/ | ||
+ | | J6-12 | 31 | 1 | PMD5/ | ||
+ | | J6-13 | 6 | 50 | OC3/ | ||
+ | | J6-14 | 32 | 2 | PMD6/ | ||
+ | | J6-15 | 7 | 43 | IC2/ | ||
+ | | J6-16 | 33 | 3 | PMD7/ | ||
+ | | J7-01 | A00/ | ||
+ | | J7-02 | A06/ | ||
+ | | J7-03 | A01/ | ||
+ | | J7-03 | A07/ | ||
+ | | J7-05 | A02/ | ||
+ | | J7-06 | A08/ | ||
+ | | J7-07 | A03/ | ||
+ | | J7-08 | A09/ | ||
+ | | J7-09 | A04/18 or 45 | 27 or 36 | TCK/ | ||
+ | | J7-10 | A10/ | ||
+ | | J7-11 | A05/19 or 46 | 29 or 37 | PMALH/ | ||
+ | | J7-12 | A11/ | ||
+ | | J11-1 | 45 | 36 | SDA1/ | ||
+ | | J11-2 | 46 | 37 | SCL1/ | ||
- | ---- | ||
- | ====by Microcontroller pin#==== | ||
- | ---- | ||
- | ====by Pmod Shield Connector #==== | ||
- | The Pmod Shield adapter allows for easy connection to Digilent Pmods by providing 5 12-pin Pmod connectors that co-map to the standard Uno32 GPI/O headers. | ||
+ | ===== Pinout Table by PIC32 Microcontroller Pin ===== | ||
+ | ^ PIC32 Pin # ^ Connector Pin # ^ chipKIT Pin # ^ PIC32 Signal | ||
+ | | 1 | J6-12 | 31 | PMD5/ | ||
+ | | 2 | J6-14 | 32 | PMD6/ | ||
+ | | 3 | J6-16 | 33 | PMD7/ | ||
+ | | 4 | J5-11 | 13 | SCK2/ | ||
+ | | 5 | J5-09 or J5-07 | 12 | SDI2/ | ||
+ | | 6 | J5-07 or J5-09 | 11 | SDO2/ | ||
+ | | 7 | JP3-01 | ||
+ | | 8 | J5-05 | 44 | SS2/ | ||
+ | | 9 | | | VSS | | | ||
+ | | 10 | ||
+ | | 11 | J7-03 | A07/ | ||
+ | | 12 | J7-03 | A01/ | ||
+ | | 13 | J7-02 | A06/ | ||
+ | | 14 | J7-01 | A00/ | ||
+ | | 15 | J5-16 | 41 | PGC1/ | ||
+ | | 16 | J5-15 | 42 | PGED1/ | ||
+ | | 17 | JP3-05 | ||
+ | | 18 | JP3-04 | ||
+ | | 19 | ||
+ | | 20 | ||
+ | | 21 | J7-05 | A02/ | ||
+ | | 22 | J7-06 | A08/ | ||
+ | | 23 | J7-07 | A03/ | ||
+ | | 24 | J7-08 | A09/ | ||
+ | | 25 | ||
+ | | 26 | ||
+ | | 27 | J7-09 | A04/ | ||
+ | | 28 | J7-10 | A10/ | ||
+ | | 29 | J7-11 | A05/ | ||
+ | | 30 | J7-12 | A11/ | ||
+ | | 31 | J5-12 | 39 | PMA9/ | ||
+ | | 32 | J5-14 | 40 | PMA8/ | ||
+ | | 33 | J6-03 | 1 | U1TX/ | ||
+ | | 34 | J6-01 | 0 | U1RX/ | ||
+ | | 35 | J5-10 | 38 | U1RTS/ | ||
+ | | 36 | J7-09, J11-1 | 45 | SDA1/ | ||
+ | | 37 | J7-11, J11-2 | 46 | SCL1/ | ||
+ | | 38 | ||
+ | | 39 | ||
+ | | 40 | ||
+ | | 41 | ||
+ | | 42 | J6-05 | 2 | IC1/ | ||
+ | | 43 | J6-15 | 7 | IC2/ | ||
+ | | 44 | J5-01 | 8 | IC3/ | ||
+ | | 45 | J5-04 | 35 | IC4/ | ||
+ | | 46 | J6-07 | 3 | OC1/ | ||
+ | | 47 | ||
+ | | 48 | ||
+ | | 49 | J6-11 | 5 | OC2/ | ||
+ | | 50 | J6-13 | 6 | OC3/ | ||
+ | | 51 | J5-03 | 9 | OC4/ | ||
+ | | 52 | J5-05 | 10 | PMWR/ | ||
+ | | 53 | J5-02 | 34 | PMRD/ | ||
+ | | 54 | J5-06 | 36 | CN15/ | ||
+ | | 55 | J5-08 | 37 | CN16/ | ||
+ | | 56 | ||
+ | | 57 | ||
+ | | 58 | ||
+ | | 59 | J6-09 | 4 | RF1 | | | ||
+ | | 60 | J6-02 | 26 | PMD0/ | ||
+ | | 61 | J6-04 | 27 | PMD1/ | ||
+ | | 62 | J6-06 | 28 | PMD2/ | ||
+ | | 63 | J6-08 | 29 | PMD3/ | ||
+ | | 64 | J6-10 | 30 | PMD4/ | ||