Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| chipkit_uc32:refmanual [2014/08/12 22:54] – Renee | chipkit_uc32:refmanual [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======chiipKIIT™ uC32™ Board Reference Manual | + | ====== |
| - | **Revision: | + | The chipKIT uC32 is based on the popular Arduino™ open-source hardware prototyping platform and adds the |
| + | performance of the Microchip® PIC32 microcontroller. The uC32 is easy to use and suitable for both beginners and | ||
| + | advanced users experimenting with electronics and embedded control systems. The uC32 is the same form factor | ||
| + | as the Arduino Uno board and is compatible with Arduino shields. It features a USB serial port interface for | ||
| + | connection to the IDE and can be powered via USB or an external power supply. The uC32 board takes advantage | ||
| + | of the powerful PIC32MX340F512 microcontroller, which features a 32-bit MIPS processor core running at 80 MHz, | ||
| + | 512K of flash program memory, and 32K of SRAM data memory. | ||
| - | Note: This document applies to REV A of the board | + | {{ :chipkit_uc32: |
| - | **Overview** | + | Features Include: |
| - | {{ : | + | |
| + | | ||
| + | | ||
| + | | ||
| + | * Compatible with many Arduino shields | ||
| + | * 43 available I/O pins | ||
| + | * Two user LEDs | ||
| + | * PC connection uses a USB A > mini B cable (not included) | ||
| + | * 12 analog inputs | ||
| + | * 3.3V operating voltage | ||
| + | * 80 MHz operating frequency | ||
| + | * 75mA typical operating current | ||
| + | * 7V to 15V input voltage (recommended) | ||
| + | * 20V input voltage (maximum) | ||
| + | * 0V to 3.3V analog input voltage range | ||
| + | * +/-18mA DC current per pin | ||
| + | The uC32 can be programmed using the Multi-Platform Integrated Development Environment (MPIDE), an | ||
| + | environment based on the original Arduino IDE modified to support PIC32. It contains everything needed to start | ||
| + | developing embedded applications. In addition, the uC32 is fully compatible with the advanced Microchip MPLAB® | ||
| + | IDE and the PICkit™ 3 in-system programmer/ | ||
| - | The chipKIT | + | The uC32 provides 43 I/O pins that support a number of peripheral functions, such as UART, SPI, and I2C ports and pulse width modulated outputs. Twelve |
| + | outputs. | ||
| - | The uC32 is the same form factor as the Arduino Uno board and is compatible with Arduino shields. It features a USB serial port interface for connection to the IDE and can be powered via USB or an external power supply. | ||
| - | The uC32 board takes advantage of the powerful PIC32MX340F512 microcontroller. This microcontroller features a 32-bit MIPS processor core running at 80Mhz, 512K of flash program memory and 32K of SRAM data memory. | + | ---- |
| - | The uC32 can be programmed using the Multi-Platform Integrated Development Environment (MPIDE), an environment based on the original Arduino IDE modified to support PIC32. | + | ====== 1 chipKIT uC32 Hardware Overview |
| - | + | ||
| - | In addition, the uC32 is fully compatible with the advanced Microchip MPLAB® IDE and the PICKit3 in-system programmer/ | + | |
| - | + | ||
| - | The uC32 is easy to use and suitable for both beginners and advanced users experimenting with electronics and embedded control systems. | + | |
| - | + | ||
| - | The uC32 provides 42 I/O pins that support a number of peripheral functions, such as UART, SPI, and I2C ports and pulse width modulated outputs. Twelve of the I/O pins can be used as analog inputs or as digital inputs and outputs. | + | |
| - | + | ||
| - | Features include: | + | |
| - | + | ||
| - | + | ||
| - | * | + | |
| - | * compatible with many existing Arduino code samples and other resources | + | |
| - | * Arduino Uno form factor | + | |
| - | * compatible with many Arduino shields | + | |
| - | * 42 available I/O pins | + | |
| - | * two user LEDs | + | |
| - | * PC connection uses a USB A > mini B cable (not included) | + | |
| - | * 12 analog inputs | + | |
| - | * 3.3V operating voltage | + | |
| - | * 80Mhz operating frequency | + | |
| - | * 75mA typical operating current | + | |
| - | * 7V to 15V input voltage (recommended) | + | |
| - | * 20V input voltage (maximum) | + | |
| - | * 0V to 3.3V analog input voltage range | + | |
| - | * +/-18mA DC current per pin | + | |
| - | + | ||
| - | **chipKIT uC32 Hardware Overview | + | |
| - | ** | + | |
| The uC32 has the following hardware features: | The uC32 has the following hardware features: | ||
| - | {{ : | + | {{ : |
| - | **1. USB Connector for USB Serial Converter | + | ** 1. USB Connector for USB Serial Converter** |
| - | ** | + | |
| - | This connects to a USB port on the PC to provide the communications port for the MPIDE to talk to the uC32 board. This can also be used to power the uC32 board when connected to the PC. | + | This connects to a USB port on the PC to provide the communications port for the MPIDE to talk to the |
| - | + | uC32 board. This can also be used to power the uC32 board when connected to the PC. | |
| - | **2. JP3 – Microchip Debug Tool Connector | + | ** 2. JP3 – Microchip Debug Tool Connector** |
| - | ** | + | |
| - | This connector is used to connect Microchip programmer/ | + | This connector is used to connect Microchip programmer/ |
| + | allows the uC32 board to be used as a traditional microcontroller development board using the | ||
| + | Microchip | ||
| - | **3. J4 – External Power Connector | + | **3. J4 – External Power Connector** |
| - | ** | + | |
| - | This is a 5.5mm x 2.1mm barrel connector used to power the uC32 board from an external power supply. It is wired with the center terminal as the positive supply voltage. The power supply voltage must be in the range 7V to 15V. | + | This is a 5.5mm x 2.1mm barrel connector used to power the uC32 board from an external power |
| + | supply. It is wired with the center terminal as the positive supply voltage. The power supply voltage | ||
| + | must be in the range 7V to 15V. | ||
| - | **4. Power Supply – 3.3V Regulator | + | **4. Power Supply – 3.3V Regulator** |
| - | ** | + | |
| Voltage regulator for the 3.3V power supply. This power supply can provide up to 500mA of current. | Voltage regulator for the 3.3V power supply. This power supply can provide up to 500mA of current. | ||
| - | **5. JP2 – Power Select Jumper | + | **5. JP2 – Power Select Jumper** |
| - | ** | + | |
| - | This jumper is used to route power from the external power connector through the on-board 5V voltage regulator or to bypass the 5V regulator. The REG position routes power through the 5V regulator. The BYP position bypasses the on-board 5V regulator. With this jumper in the BYP position the maximum input voltage that can be applied at the external power connector is 6V. | + | This jumper is used to route power from the external power connector through the on-board 5V |
| + | voltage regulator or to bypass the 5V regulator. The REG position routes power through the 5V | ||
| + | regulator. The BYP position bypasses the on-board 5V regulator. With this jumper in the BYP position | ||
| + | the maximum input voltage that can be applied at the external power connector is 6V. | ||
| - | **6. Power Supply – 5V Regulator | + | **6. Power Supply – 5V Regulator** |
| - | ** | + | |
| - | This on-board 5V voltage regulator regulates the input voltage applied at the external power connector to 5V. This is used to power the 3.3V regulator and to provide 5V power to expansion shields. This regulator can provide up to 800mA of current. | + | This on-board 5V voltage regulator regulates the input voltage applied at the external power connector |
| + | to 5V. This is used to power the 3.3V regulator and to provide 5V power to expansion shields. This | ||
| + | regulator can provide up to 800mA of current. | ||
| - | **7. J2 – Shield Power Connector | + | **7. J2 – Shield Power Connector** |
| - | ** | + | |
| This connector provides power to I/O expansion shields connected to the board. | This connector provides power to I/O expansion shields connected to the board. | ||
| - | **8. PIC32 Microcontroller | + | **8. PIC32 Microcontroller** |
| - | ** | + | |
| The PIC32MX340F512H microcontroller is the main processor for the board. | The PIC32MX340F512H microcontroller is the main processor for the board. | ||
| - | **9. J7 – Analog Signal Connector | + | **9. J7 – Analog Signal Connector** |
| - | ** | + | |
| This connector provides access to analog/ | This connector provides access to analog/ | ||
| - | **10. JP6/JP7 – A4/A5 Signal Select Jumpers | + | **10. JP6/JP8 – A4/A5 Signal Select Jumpers** |
| - | ** | + | |
| - | These jumpers are used to switch pins 9 and 11 on connector J7 between analog inputs A4 and A5 or the I2C signals SDA and SCL. | + | These jumpers are used to switch pins 9 and 11 on connector J7 between analog inputs A4 and A5 or |
| + | the I2C signals SDA and SCL. | ||
| - | **11. J8 – SPI Signal Connector | + | **11. J8 – SPI Signal Connector** |
| - | ** | + | |
| - | This connector provides alternative access to the SPI signals. This is used by some shields for access to the SPI bus. | + | This connector provides alternative access to the SPI signals. This is used by some shields for access to |
| + | the SPI bus. | ||
| - | **12. JP5/ | + | **12. JP5/JP7 – SPI Master/ |
| - | ** | + | |
| - | These jumpers are used to switch the SPI signals for use of the uC32 board as an SPI master device or as an SPI slave device. Both jumpers should be switched together. Place the shorting blocks in the MASTER position for master operation and in the SLAVE position for slave operation. Normally, these jumpers are in the MASTER position. | + | These jumpers are used to switch the SPI signals for use of the uC32 board as an SPI master device or as |
| + | an SPI slave device. Both jumpers should be switched together. Place the shorting blocks in the MASTER | ||
| + | position for master operation and in the SLAVE position for slave operation. Normally, these jumpers | ||
| + | are in the MASTER position. | ||
| - | **13. User LEDs | + | **13. User LEDs** |
| - | ** | + | |
| Two LEDs connected to digital signal pins 13 and 43. | Two LEDs connected to digital signal pins 13 and 43. | ||
| - | **14. J6 – Digital Signal Connector | + | **14. J6 – Digital Signal Connector** |
| - | ** | + | |
| This connector provides access to digital I/O pins on the microcontroller. | This connector provides access to digital I/O pins on the microcontroller. | ||
| - | **15. JP4 – Pin 10 Signal Select Jumper | + | **15. JP4 – Pin 10 Signal Select Jumper** |
| - | ** | + | |
| - | This jumper is used to switch connector J5 pin 5 (digital signal 10) between pulse width modulator (PWM) operation and SPI operation. The jumper is placed in the RD4 position for PWM output and in the RG9 position for SPI slave operation. The shorting block on this jumper will normally be in the RD4 position. The only time it normally needs to be in the RG9 is when using the Uno32 board as an SPI slave device. | + | This jumper is used to switch connector J5 pin 5 (digital signal 10) between pulse width modulator |
| + | (PWM) operation and SPI operation. The jumper is placed in the RD4 position for PWM output and in | ||
| + | the RG9 position for SPI slave operation. The shorting block on this jumper will normally be in the RD4 | ||
| + | position. The only time it normally needs to be in the RG9 is when using the Uno32 board as an SPI | ||
| + | slave device. | ||
| - | **16. J5 – Digital Signal Connector | + | **16. J5 – Digital Signal Connector** |
| - | ** | + | |
| This connector provides access to digital I/O pins on the microcontroller. | This connector provides access to digital I/O pins on the microcontroller. | ||
| - | **17. Communications Status LEDs | + | **17. J11 – I2C** |
| - | ** | + | |
| - | These LEDs indicate activity on the USB serial interface. | + | |
| - | **18. Reset Button | + | Dedicated I2C signals. These pins are independent of the settings of jumpers JP6 and JP8. However, if |
| - | ** | + | JP6 and JP8 are in the RG3 and RG2 position, the I2 |
| + | C signals will be tied to pins A4 and A5 on J7. | ||
| - | This button can be used to reset the microcontroller, | + | **18. Communications Status LEDs** |
| + | These LEDs indicate activity on the USB serial interface. | ||
| - | + | **19. Reset Button** | |
| - | **chipKIT uC32 Jumper Settings | + | |
| - | ** | + | |
| + | This button can be used to reset the microcontroller, | ||
| - | 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. This document describes the functionality of the jumpers listed in the figure below. | ||
| + | ---- | ||
| + | ====== 2 chipKIT uC32 Jumper Settings ====== | ||
| - | ===== chipKIT | + | The chipKIT |
| + | unprecedented features to the Arduino community. In order to maintain compatibility with existing hardware and | ||
| + | software, additional jumpers and row headers are provided. This document describes the functionality of the | ||
| + | jumpers listed in Fig. 1 below. | ||
| - | **MPIDE and USB Serial Communications | + | {{ : |
| - | ** | + | |
| + | {{ : | ||
| - | The uC32 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 MPIDE uses a serial communications port to communicate with a boot loader running on the uC32 board. The serial port on the uC32 board is implemented using an FTDI FT232R USB serial converter. Before attempting to use the MPIDE to communicate with the uC32, the appropriate USB device driver must be installed. | + | ====== 3 chipKIT |
| - | The uC32 board uses a standard mini-USB connector for connection to a USB port on the PC. | + | ===== 3.1 MPIDE and USB Serial Communications ===== |
| - | When the MPIDE needs to communicate | + | The uC32 board is designed |
| + | Arduino IDE that supports the PIC32 microprocessors | ||
| + | MPIDE uses a serial | ||
| + | serial port on the uC32 board is implemented using an FTDI FT232R USB serial converter. Before attempting to use | ||
| + | the MPIDE to communicate with the uC32, the appropriate USB device driver must be installed. | ||
| - | When the MPIDE opens the serial communications | + | The uC32 board uses a standard mini-USB connector for connection |
| + | needs to communicate with the uC32 board, | ||
| + | establishes communications | ||
| - | This automatic reset action (when the serial communications connection is opened) can be disabled. To disable this operation, there is a cut-able trace on the bottom of the board between the pins on JP1. JP1 is normally not loaded. If the trace between | + | When the MPIDE opens the serial communications connection |
| + | low. This pin is coupled through | ||
| + | low resets | ||
| - | Two red LEDs (LD1 and LD2) will blink when data is being sent or received | + | This automatic reset action |
| + | this operation, there is a cuttable trace on the bottom of the board between the pins on JP1. JP1 is normally not | ||
| + | loaded. If the trace between | ||
| + | loading JP1 and inserting a shorting block across it. | ||
| - | The header connector J3 provides access to the other serial handshaking signals provided by the FT232R. Connector J3 is not loaded at the factory | + | Two red LEDs (LD1 and LD2) will blink when data is being sent or received between |
| + | serial connection. | ||
| - | **Power Supply | + | 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 uC32 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. | + | ===== 3.2 Power Supply ===== |
| - | The power supply | + | The uC32 is designed to be powered either via USB or from an external |
| + | switch-over circuit that causes | ||
| - | The 5V voltage | + | The power supply section in the uC32 uses two voltage |
| + | power the VCC5V0 bus. The second regulates | ||
| + | powers | ||
| - | There is a reverse polarity protection diode in the external power supply circuit. Considering the diode drop plus the forward drop across the regulator, the minimum input voltage | + | The 5V voltage regulator |
| + | NCP1117 is the part normally used. The NCP1117 is rated for an output current | ||
| + | 800mA). The dropout | ||
| + | LM1117). | ||
| - | For input voltages above 9V, the regulator | + | There is a reverse polarity protection diode in the external power supply circuit. Considering the diode drop plus |
| + | the forward drop across the regulator, the minimum input voltage to the regulator | ||
| + | reliable 5V output. The absolute maximum input voltage of both the NCP1117 and the LM1117 | ||
| + | recommended maximum operating voltage is 15V. | ||
| - | The 3.3V regulator | + | For input voltages above 9V, the regulator |
| + | and the LM1117 have output short circuit protection and internal | ||
| + | automatically | ||
| - | The 5V power bus, VCC5V0 can be powered from one of three sources: | + | The 3.3V regulator is a Microchip MCP1725. This regulator is rated for a maximum output current |
| + | absolute maximum input voltage for the MCP1725 is 6V. This regulator has internal short circuit protection and | ||
| + | thermal protection. It will get noticeably warm when the current consumed by the VCC3V3 bus is close to the | ||
| + | 500mA maximum. | ||
| - | | + | The 5V power bus, VCC5V0, can be powered from one of three sources: |
| - | * the output of the on-board 5V regulator when operating from an external 7V-15V supply, | + | |
| - | * directly | + | * The output of the on-board 5V regulator when operating from an external 7V-15V supply |
| + | * Directly | ||
| - | Switch-over from USB power to external power is done automatically and the external supply will be used if both are present. | + | Switch-over from USB power to external power is done automatically and the external supply will be used if both |
| + | are present. | ||
| - | Jumper JP2 is used to route the external power supply voltage through the on-board 5V regulator or directly to the VCC5V0 bus, bypassing the on-board 5V regulator. Normally, JP2 is in the REG position. This routes the external supply through the 5V regulator. Operation from an externally regulated 5V supply is provided by placing the jumper in the BYP position. | + | Jumper JP2 is used to route the external power supply voltage through the on-board 5V regulator or directly to the |
| + | VCC5V0 bus, bypassing the on-board 5V regulator. Normally, JP2 is in the REG position. This routes the external | ||
| + | supply through the 5V regulator. Operation from an externally regulated 5V supply is provided by placing the | ||
| + | jumper in the BYP position. | ||
| - | The forward drop across the MCP1725 is typically 210mV (350mV max) at 500mA output. With JP2 in the BYP position, this will allow correct operation of the 3.3V power supply from an input voltage down to 3.5V. This lets you power the board from batteries and other lower voltage power sources. In that case, the VCC5V0 power bus will not be powered at 5V. | + | The forward drop across the MCP1725 is typically 210mV (350mV max) at 500mA output. With JP2 in the BYP |
| + | position, this will allow correct operation of the 3.3V power supply from an input voltage down to 3.5V. This lets | ||
| + | you power the board from batteries and other lower voltage power sources. In that case, the VCC5V0 power bus | ||
| + | will not be powered at 5V. | ||
| **Note:** When JP2 is in the BYP position, do not apply more than 6V to the external power input. This can destroy the 3.3V regulator and possibly the PIC32 microcontroller as well. | **Note:** When JP2 is in the BYP position, do not apply more than 6V to the external power input. This can destroy the 3.3V regulator and possibly the PIC32 microcontroller as well. | ||
| - | The PIC32 microcontroller is rated to use a maximum of 75mA of current when operating at 80Mhz. This allows up to 425mA from the VCC3V3 bus and up to 925mA from the VCC5V0 bus to power external devices. | + | The PIC32 microcontroller is rated to use a maximum of 75mA of current when operating at 80 MHz. This allows up |
| + | to 425mA from the VCC3V3 bus and up to 925mA from the VCC5V0 bus to power external devices. | ||
| - | The POWER connector, J2, is used to power shields connected to the uC32 board. The following pins are provided on this connector: | + | The POWER connector, J2, is used to power shields connected to the uC32 board. The following pins are provided |
| + | on this connector: | ||
| - | **P32_RST | + | **NC** (pin 1): This pin is not used. |
| - | **VCC3V3 | + | **IOR** (pin 2): Provides a 3.3v reference voltage |
| + | input pin voltage to the uC32. | ||
| - | **VCC5V0 | + | **P32_RST** |
| - | **GND (pin 4, 5):** This provides a common ground connection between the uC32 and the shields. | + | **VCC3V3** |
| - | **VIN (pin 6):** This connects to the voltage provided at the external | + | **VCC5V0** |
| + | the total provided by pins 2 and 3 shouldn’t exceed 925mA. | ||
| - | === 5V Compatibility === | + | **GND** (pin 6, 7): This provides a common ground connection between the uC32 and the shields. |
| - | The PIC32 microcontroller operates | + | **VIN** (pin 8): This connects to the voltage provided |
| + | provide unregulated input power to the shield. It can also be used to power the uC32 board from the shield | ||
| + | instead of from the external power connector. | ||
| - | There are two issues to consider when dealing with 5V compatibility for 3.3V logic. The first is protection of 3.3V inputs from damage caused by 5V signals. The second is whether the 3.3V output is high enough to be recognized as a logic high value by a 5V input. | + | ===== 3.3 5V Compatibility ===== |
| - | The digital I/O pins on the PIC32 microcontroller | + | The PIC32 microcontroller |
| + | shields. There are two issues to consider when dealing with 5V compatibility for 3.3V logic. The first is protection of 3.3V inputs from damage caused by 5V signals. The second is whether | ||
| - | 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 digital I/O pins on the PIC32 microcontroller are 5V tolerant. The analog capable I/O pins are not 5V tolerant. |
| + | To provide 5V tolerance on those pins, the uC32 contains clamp diodes and current limiting resistors to protect | ||
| + | them from 5V input voltages. | ||
| - | 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. | ||
| - | === Input/ | + | ===== 3.4 Input/ |
| + | The uC32 board provides 43 of the I/O pins from the PIC32 microcontroller to pins on the input/ | ||
| + | J5, J6, and J7. | ||
| - | The uC32 board provides 42 of the I/O pins from the PIC32 microcontroller | + | The PIC32 microcontroller can source or sink a maximum |
| + | output voltage within the specified voltage range (Vol 0.4V, Voh 2.4V) the pin current must be restricted | ||
| + | 12mA. The maximum current that can be sourced or sunk across all I/O pins simultaneously is +/-200mA. The | ||
| + | maximum voltage that can be applied to any I/O pin is 5.5V. For more detailed specifications, refer to the | ||
| + | PIC32MX3XX/ | ||
| - | The PIC32 microcontroller can source or sink a maximum of 18mA on all digital I/O pins. However, | + | Connectors J5 and J6 are 2x8 female pin header connectors that provide |
| + | (closer | ||
| + | inner row of pins provides access | ||
| - | Connectors J5 and J6 are 2x8 female pin header | + | Connector J7 is a 2x6 female pin header |
| + | microcontroller. The outer row of pins corresponds to the six analog | ||
| + | inner row of pins are the additional | ||
| + | also be used as digital I/O pins. | ||
| - | Connector J7 is a 2x6 female | + | The chipKIT/ |
| + | numbers for the I/O pins on the uC32 are 0-41. These pin numbers are labeled in the silk screen on the board. | ||
| + | Pin numbers 0-13 are the outer row of pins on J6 and J5, from right to left. Pin numbers 14-19 are the outer row of | ||
| + | pins on J7 from left to right. Pins 20-25 are the inner row of pins on J7 from left to right. Pin numbers 26-41 are the | ||
| + | inner row of pins on J6 and J5 from right to left. The pin labeled A is normally the reference voltage for the | ||
| + | microcontroller' | ||
| - | The chipKIT/ | + | In addition |
| + | pin does not go to any connector. | ||
| - | Pin numbers | + | The analog inputs on connector J7 are assigned pin numbers. |
| + | The inner row of pins are A6-A11. These pins are also assigned digital pin numbers: A0-A5 are digital | ||
| + | and A6-A11 are 20-25. | ||
| - | In addition to the connector pin, Pin 13 also connects to the user LED LD4. Pin 43 connects to user LED LD5. Pin 43 pin does not go to any connector. | ||
| - | 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. | + | ===== 3.5 Peripheral I/O Functions ===== |
| - | === Peripheral I/O Functions === | + | The PIC32 microcontroller on the uC32 board provides a number of peripheral functions. The following peripherals |
| + | are provided: | ||
| + | **UART port 1:** Asynchronous serial port. Pin 0 (RX), Pin 1 (TX). These pins are connected to I/O connector J6 and are | ||
| + | also connected to the FT232R USB serial converter. It is possible to use these pins to connect to an external serial | ||
| + | device when not using the USB serial interface. This uses UART1 (U1RX, U1TX) on the PIC32 microcontroller. | ||
| - | The PIC32 microcontroller | + | **UART port 2:** Asynchronous serial port. Pin 39 (RX), Pin 40 (TX). This uses UART2 (U2RX, U2TX) on the PIC32 |
| + | microcontroller. | ||
| - | **UART port 1:** Asynchronous | + | **SPI:** Synchronous |
| + | SDO2, SCK2) on the PIC32 microcontroller | ||
| - | **UART port 2:** Asynchronous serial port. Pin 39 (RX), Pin 40 (TX). This uses UART2 (U2RX, U2TX) on the PIC32 microcontroller. | + | Jumpers JP5 and JP7 are used to select whether the uC32 operates as a Master |
| + | MISO) or a Slave (transmit on MISO, receive on MOSI) device. The shorting blocks | ||
| + | placed in the Master position for the uC32 to function as an SPI master. | ||
| - | **SPI:** Synchronous serial port. Pin 10 (SS), Pin 11 (MOSI), Pin 12 (MISO), Pin 13 (SCK). This uses SPI2 (SS2, SDI2, SDO2, SCK2) on the PIC32 microcontroller These signals also appear on connector J8. | + | Jumper JP4 is used to select PWM output or the SPI SS function on Pin 10. The shorting block on JP4 should be in |
| + | the RD4 position to select PWM output. It should be in the RG9 position to select the SPI SS function. JP4 will | ||
| + | normally be in the RD4 position. In general, the only time it needs to be in the RG9 position is when the uC32 | ||
| + | board is being used as an SPI slave device. | ||
| - | Jumpers | + | **I2C:** Synchronous serial interface. The dedicated I2C signals can be found on J11. In addition, the PIC32 |
| + | microcontroller shares analog pins A4 and A5 with the two I2C signals SDA and SCL. Jumpers | ||
| + | to select whether the analog pin functions | ||
| + | position to use the pins for I2C operation. This uses I2C1 (SDA1, SCL1) on the PIC32 microcontroller. | ||
| - | Jumper JP4 is used to select PWM output or the SPI SS function on Pin 10. The shorting block on JP4 should | + | **Note:** The I2C bus uses open collector drivers |
| + | pull-up resistors must be provided | ||
| - | **I^2C:** Synchronous serial interface. The PIC32 microcontroller shares analog pins A4 and A5 with the two I2C signals SDA and SCL. Jumpers JP6 and JP8 are used to select whether the analog pin functions or the I2C pin functions are being used. The shorting blocks are placed in the A4/A5 position to select the analog input function or general digital I/O. They are placed in the RG3/RG2 position to use the pins for I2C operation. This uses I2C1 (SDA1, SCL1) on the PIC32 microcontroller. | + | **PWM:** Pulse width modulated output. Pins 3 (OC1), 5 (OC2), 6 (OC3), 9 (OC4), and 10 (OC5). |
| - | + | ||
| - | **Note:** The I2C bus uses open collector drivers to allow multiple devices to drive the bus signals. This means that pull-up resistors must be provided to supply the logic high state for the signals. These pull-up resistors are not on the uC32 board and must be provided externally. The required resistance of the pull-up resistor to use depends on the total number of devices on the bus, the length of wire, and the clock speed being used. It essentially depends on distributed capacitance on the bus. The higher the distributed capacitance and the faster the clock speed, the smaller the resistance should be. Values typically used are in the range of 2K to 10K ohms. | + | |
| - | + | ||
| - | **PWM:** Pulse width modulated output. Pins 3 (OC1), 5 (OC2), 6 (OC3), 9 (OC4), and 10 (OC5). | + | |
| **External Interrupts: | **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. | ||
| - | **A/D Converter Reference: | + | **A/D Converter Reference: |
| + | voltage reference to determine the input voltage range of the analog pins. The maximum voltage that can be | ||
| + | applied to this pin is 3.3V. This pin can also be used as digital pin 42. | ||
| - | **RTCC:** Real Time Clock Calendar. The PIC32 microcontroller contains an RTCC circuit that can be used to maintain time and date information. The operation of the RTCC requires a 32.768Khz | + | **RTCC:** Real Time Clock Calendar. The PIC32 microcontroller contains an RTCC circuit that can be used to maintain |
| + | time and date information. The operation of the RTCC requires a 32.768 KHz frequency source. Crystal X2 (not | ||
| + | loaded), just above and to the right of the PIC32 microcontroller IC, is provided for you to solder a 32 KHz watch | ||
| + | crystal. The Citizen CFS206-32.768KDZF-UB crystal can be used in this location. | ||
| **RESET:** The PIC32 microcontroller is reset by bringing its MCLR pin low. The MCLR pin is connected to the P32_RST net on the circuit board. | **RESET:** The PIC32 microcontroller is reset by bringing its MCLR pin low. The MCLR pin is connected to the P32_RST net on the circuit board. | ||
| - | As described earlier, reset of the PIC32 microcontroller can be initiated by the USB serial converter. The USB serial converter brings the DTR pin low to reset the microcontroller. Jumper JP1 can be used to enable/ | + | As described earlier, reset of the PIC32 microcontroller can be initiated by the USB serial converter. The USB serial |
| + | converter brings the DTR pin low to reset the microcontroller. Jumper JP1 can be used to enable/ | ||
| + | for the USB serial converter to initiate a reset. | ||
| - | The P32_RST net is connected to pin 1 of connector J2. This allows circuitry on a shield to reset the microcontroller, | + | The P32_RST net is connected to pin 3 of connector J2. This allows circuitry on a shield to reset the |
| + | microcontroller, | ||
| Connector J8 provides access to the SPI bus. Pin 5 provides access to the SPI Slave Select signal (SS). | Connector J8 provides access to the SPI bus. Pin 5 provides access to the SPI Slave Select signal (SS). | ||
| - | 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 | |
| - | Some Arduino shields, notably, the Ethernet shield, connect pin 5 to the reset net on pin 1 of connector J2. This causes the processor to be reset each time an attempt is made to access the SPI port. Jumper JP9 can be used to break the connection between J8 pin 5 and reset when using Arduino shields that make this connection. JP9 has a cut-able trace on the bottom of the board that can be cut to break the connection between SPI SS and reset. JP9 is not loaded at the factory. To restore the connection, solder a two pin header at the JP9 position and install a shorting block. | + | net. |
| - | + | ||
| - | A reset button is at the upper left corner of the board. Pressing this button resets the PIC32 microcontroller. | + | |
| - | + | ||
| - | === Microchip Development Tool Compatibility === | + | |
| - | In addition | + | Some Arduino shields, notably the Ethernet shield, connect pin 5 to the reset net on pin 3 of connector J2. This |
| + | causes the processor to be reset each time an attempt is made to access the SPI port. Jumper JP9 can be used to | ||
| + | break the connection between J8 pin 5 and reset when using Arduino shields that make this connection. JP9 has a | ||
| + | cuttable trace on the bottom of the board that can be cut to break the connection between SPI SS and reset. JP9 is | ||
| + | not loaded at the factory. To restore the connection, solder | ||
| + | shorting block. A reset button is at the upper left corner of the board. Pressing this button resets the PIC32 | ||
| + | microcontroller. | ||
| - | Unloaded connector JP3 on the left side of the board is used to connect to a Microchip development tool, such as the PICkit3™. The holes for JP3 are staggered so that a standard 100-mil spaced | + | ===== 3.6 Microchip |
| - | Typically, a right-angle male connector is used in JP3 so that a PICkit3 can be attached coplanar | + | In addition to being used with the MPIDE, |
| + | development board using Microchip Development Tools. | ||
| - | If JP3 is loaded from the top, the PICkit3 | + | Unloaded connector |
| + | the PICkit3™, for in-circuit serial programming (ICSP). The holes for JP3 are staggered so that a standard 100-mil | ||
| + | spaced 6-pin header | ||
| + | development tool that supports | ||
| + | interface as the PICkit3, can be used. | ||
| - | The Digilent PICkit3 Programming Cable Kit includes all necessary connectors and a cable for connecting | + | Typically, |
| + | board. If the connector is loaded from the top, the PICkit3 will be upright (button and LEDs visible). Alternatively, | ||
| + | the connector can be loaded from the bottom. In this case, the PICkit3 will be upside down. | ||
| - | The Microchip MPLAB® IDE or the MPLAB® X IDE can be used to program | + | If JP3 is loaded from the top, the PICkit3 will interfere with the USB connector and the external power connector. A short six-wire cable can be used between the PICkit3 |
| + | won’t interfere with the USB and external power connectors. | ||
| - | Using the Microchip | + | The Microchip |
| - | + | board. | |
| - | === Pinout Tables === | + | |
| + | Using the Microchip development tools to program the uC32 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 | ||
| + | image can be downloaded from the Digilent Uno32 product page. | ||
| - | The following tables give the relationship between the chipKIT digital pin numbers, the connector pin numbers and the microcontroller pin numbers. | + | ===== 3.7 Pinout Tables ===== |
| - | 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(), | + | The following tables give the relationship between the chipKIT digital pin numbers, the connector pin numbers and |
| + | the microcontroller pin numbers. | ||
| + | number. This is the value that is passed to the pinMode(), digitalRead(), | ||
| + | to the pin. | ||
| - | 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' | ||
| + | position. | ||
| - | 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’ 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. | ||
| + | ==== 3.7.1 Pinout Table by Logical Pin Number ==== | ||
| + | | **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-04 | 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 Logical | + | ==== 3.7.2 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-08 | 29 | 63 | PMD3/ | ||
| + | | 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-04 | 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/ | ||
| + | ==== 3.7.3 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, | ||
| + | | 37 | J7-11, | ||
| + | | 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/ | ||
| - | CHIPKIT and the CHIPKIT Logo are trademarks or registered trademarks of Microchip Technology Incorporated in the U.S. and other countries, and are used under license. | ||

