Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| chipkit_dp32:refmanual [2014/07/15 08:23] – created Renee | chipkit_dp32:refmanual [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== chipKIT™ DP32™ Reference Manual ====== | + | ====== chipKIT DP32 Reference Manual ====== |
| + | {{: | ||
| + | ---- | ||
| + | ==== Revision History ==== | ||
| + | Revised March, 2015\\ | ||
| + | This manual primarily applies to Rev C, as found on the underside of the board next to the white bar-coded box. Rev C is a major change from Rev B, so differences will be noted where appropriate. | ||
| - | Revised February 13, 2014 | + | {{ : |
| - | This maual applies to the chipKIT DP32 Rev. C | + | ---- |
| + | ====== Overview ====== | ||
| - | **Overview** | + | The chipKIT DP32 is an MPIDE compatible prototyping and project development board from Digilent. It combines the power of the Microchip® PIC32MX250F128B 28-pin DIP with a wire wrap prototyping area, provision for an EEPROM non-volatile memory, and analog temperature sensor, a potentiometer, |
| + | The DP32 takes advantage of the powerful PIC32MX250F128B microcontroller. This microcontroller features a 32-bit MIPS processor core running at 40 MHz, 128K of flash program memory and 32K of SRAM data memory. It is suitable for building projects directly on the board utilizing the provided prototyping area, but it can also be used as a device programmer to program the microcontrollers for inclusion in custom built projects. | ||
| - | The chipKIT™ | + | The DP32 can be programmed using the Multi-Platform Integrated Development Environment, |
| - | {{: | + | The DP32 is also fully compatible with the advanced Microchip(r) MPLAB X® IDE. To develop embedded applications using MPLAB X, a separate device programmer/ |
| - | | + | Features Include: |
| - | * 5 – 12 Volt recommended operating voltage | + | |
| - | * 19 available I/O pins | + | * 5 – 12 Volt recommended operating voltage |
| - | * Up to 9 analog inputs | + | * 19 available I/O pins |
| - | * 1 Potentiometer connected to an analog input | + | * Up to 9 analog inputs |
| - | * Four user LEDs | + | * 1 Potentiometer connected to an analog input |
| - | * Two user push button | + | * Four user LEDs |
| - | * Wire wrap prototype area | + | * Two user push button |
| - | * Provision for an SPI EEPROM and an analog temperature sensor | + | * Wirewrap |
| - | * Mounting Hole compatible with Hammond 1591XXSSBK project box | + | * Provision for an SPI EEPROM and an analog temperature sensor |
| + | * Mounting Hole compatible with Hammond 1591XXSSBK project box | ||
| - | The DP32 takes advantage of the powerful PIC32MX250F128B microcontroller. This microcontroller features a 32-bit MIPS processor core running at 40Mhz, 128K of flash program memory, and 32K of SRAM data memory. The PIC32MX250F128B is suitable for building projects directly on the board, utilizing the provided prototyping area, but it can also be used as a PIC32MX250F128B programmer to program the microcontrollers for inclusion in custom built projects. | + | ---- |
| - | The DP32 can be programmed using the Multi-Platform Integrated Development Environment (MPIDE), an environment based on the open source Arduino IDE, modified to support the PIC32 microcontroller. The board provides everything needed to start developing embedded applications using the MPIDE. | + | ====== 1 Functional Description ====== |
| - | The DP32 is also fully compatible with the advanced Microchip MPLAB® IDE and MPLAB® X IDE. To develop embedded applications | + | The PIC32MX250F12B microcontroller features a 32-bit MIPS processor core capable of running at up to 50 MHz. The DP32 operates |
| - | ===== 1 Functional Description ===== | + | The DP32 provides 19 I/O pins as located on two through-hole header footprints. Some pins share functions with the onboard circuits such as the on-board 8 MHz oscillator or USB data lines (see the schematic for details). If these peripherals are needed in the design then the microcontroller can be reconfigured to allow these pins to be used for other purposes. Nine of the digital I/O pins are shared with the analog inputs and can be used as analog input pins. |
| + | The PIC32MX250F128B microcontroller supports peripheral functions such as UART, SPI, and I< | ||
| - | The PIC32MX250F12B microcontroller | + | Additional |
| - | The DP32 provides 19 I/O pins located on two through-hole header footprints. Some pins share functions with the onboard circuits, such as the on-board 8 MHz oscillator or USB data lines (see the schematic for details). If these peripherals are needed in the design, then the microcontroller can be reconfigured to allow these pins to be utilized for other purposes. Nine of the digital I/O pins are shared with the analog inputs and can be used as analog input pins. | + | ---- |
| - | The PIC32MX250F128B microcontroller supports peripheral functions such as UART, SPI, and I2C, as well as pulse-width modulated outputs. To use the peripheral functions, the PIC32MX2xx family of microcontrollers features a mappable I/O system called peripheral pin select (PPS), which allows select peripheral functionality to be mapped to multiple pins on the device. The default | + | ====== 2 chipKIT |
| - | Additional features of the board include an 8-pin DIP header labeled IC4 that is mapped for use with a customer supplied Microchip 25LC256 EEPROM. The SPI bus and power signals are mapped to the correct pins so that the user can solder in an 8-pin dip socket or directly solder the IC into the holes. Similarly, the IC3 header on the board is mapped for a customer supplied Microchip MCP9701A analog temperature sensor. | + | {{ : |
| + | The DP32 has the following hardware features: | ||
| + | **1. J3 – Digital and Analog I/O Connector # | ||
| + | {{ : | ||
| + | The set of Digital I/Os with chipKIT numbers 9 through 18 and Analog pins A3-A8. The holes are slightly offset to allow for friction fitting of headers. See the Pinout Diagram and Pinout Table for more details.\\ | ||
| + | Rev C change: The silk screen on Rev B (image →) shows the port assignments as used with MPLAB, not the MPIDE pin assignments. Also, the holes are not offset, requiring headers to be soldered to the board. | ||
| - | ===== 2 ChipKIT™ DP32™ Hardware Overview ===== | + | **2. JP1, JP2 & JP3**\\ |
| + | JP1 – USBID Jumper for use with USB OTG:\\ | ||
| + | This jumper allows Digital I/O pin 0 (RB5) to be disconnected from the USBID line on the USB Port. If JP1 is shorted, pin 0 may not operate as expected. Some users may wish to keep JP1 shorted for USB operations.\\ | ||
| + | JP2 and JP3 – D+ and D- USB Signals:\\ | ||
| + | These jumpers are shipped unloaded. The trace between the two terminals may be cut if USB functionality is required to be permanently disabled. Once the traces have been cut, it is possible to solder jumper pins in these locations to re-enable the D+ and D- signals as desired. | ||
| - | The DP32 has the following hardware features: | + | **3. J2 – 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 DP32 board. This can also be used to power the DP32 when connected to the PC. | ||
| - | **1.** J2 – USB Connector for USB Serial Converter: | + | **4. J6 – External Power Screw Terminal Connectors**\\ |
| - | This connects to a USB port on the PC to provide | + | This screw terminal connector may be used to provide |
| - | **2.** JP6 – Microchip Debug Tool Connector: | + | **5. JP7 – Power Select Jumper**\\ |
| - | This connector is used to connect ICSP tools, such as the PICkit™3 | + | This jumper may be set to either power the DP32 via USB (J2), or Screw Terminal (J6). To power via USB, set the jumper |
| - | **3.** J6 – External Power Screw Terminal Connectors: | + | **6. IC4 – SPI EEPROM Device (Microchip 25LC256) Loading Point**\\ |
| - | This screw terminal connector may be used to provide up to 15VDC to the DP32. The polarity of the terminals | + | This 8-pin DIP footprint is designed so that a SPI controlled EEPROM device could be added at a later time if desired. It is intended that an 8-pin DIP socket or a Microchip 25LC256 device would be soldered into this location. The SPI signals for communicating with this EEPROM device are tied directly |
| - | **4.** JP7 – Power Select Jumper: | + | **7. VR1 – Analog Potentiometer**\\ |
| - | This jumper may be set to either power the DP32 via USB (J2), or Screw Terminal (J6). To power via USB, set the jumper to short the pins with VIN and VUSB. To power via external supply, short the two pins at JP7. | + | An analog potentiometer connected |
| - | **5.** JP1 – USBID Jumper for use with USB OTG: | + | **8. IC3 – Analog Temperature Sensor (Microchip MCP9701A) Loading Point**\\ |
| - | This jumper allows Digital I/O pin 0 (RB5) to be disconnected from the USBID line on the USB Port. If JP1 is shorted, pin 0 may not operate as expected. Some users may wish to keep JP1 shorted | + | This 3-pin footprint is intended for an analog temperature sensor |
| - | **6.** JP2 and JP3 – D+ and D- USB Signals: | + | **9. User LEDs**\\ |
| - | These jumpers are shipped unloaded. The trace between the two terminals may be cut if USB functionality is required | + | Four LEDs connected |
| - | + | ||
| - | **7.** IC4 – SPI EEPROM Device (Microchip 25LC256) Loading Point: | + | **10. IC1 PIC32 Microcontroller**\\ |
| - | This 8-pin DIP footprint | + | The PIC32MX250F128B microcontroller |
| - | **8.** VR1 – Analog Potentiometer: | + | **11. JP6 – Microchip Debug Tool Connector**\\ |
| - | An analog potentiometer connected | + | {{ :chipkit_dp32: |
| + | This connector is used to connect Microchip and Digilent programmer/ | ||
| + | Rev C change: This header | ||
| + | {{ : | ||
| + | connect to pin 1 on the debugger. Attaching the debugger incorrectly will almost certainly fry either the DP32, the debugger, or both. Please refer to the section titled " | ||
| - | **9.** User LEDs: | + | **12. Reset Button**\\ |
| - | Four LEDs connected to digital signal pins 11, 12, 13, and 14. An additional power-on LED has been added to the power supply circuit. When using a debugger signal pins 11 and 12 are dedicated | + | When pressed, the microcontroller resets the currently loaded sketch. If Button 2 (BTN2/PGM) is held down while pressing the reset button, the microcontroller will start from the boot loader, allowing |
| - | **10.** Reset Button: | + | **13. BTN2/PGM and BTN3 User Buttons**\\ |
| - | When pressed, the microcontroller resets the currently loaded sketch. If Button 2 (BTN2/PGM) is held down while pressing the reset button, the microcontroller will start from the boot loader, allowing a new sketch to be loaded. | + | These user buttons are connected to digital signal pins 1 and 17. They produce a logic high signal when depressed, and a logic low signal when released. When using MPIDE, these buttons are defined in the core files as PIN_BTN_1 and PIN_BTN_2 respectively. |
| - | **11.** | + | **14. JP4/JP5 – Pullup/ |
| - | These user buttons | + | These jumpers |
| - | **12.** JP4/JP5 – Pull-up/ | + | **15. J4 – Digital and Analog I/O Connector #1**\\ |
| - | These jumpers are used to add 2.2KΩ pull-up or pull down resistors to the digital signal pins 2 and 3. Pull-ups are necessary when utilizing I2C on these two pins. These two jumpers can be used as settable logic states either pulled high or pulled low, depending on the jumper settings. In addition, if no pull-ups or pull-downs | + | {{ : |
| + | The set of Digital I/Os with chipKIT numbers 0 through 8 and Analog pins A0-A2. See Pinout Diagram | ||
| + | Rev C change: The silk screen | ||
| - | **13.** IC1 PIC32 Microcontroller: | + | **16. Prototyping Area**\\ |
| - | The PIC32MX250F128B microcontroller is the main processor for the board. | + | {{ :chipkit_dp32: |
| + | The prototyping area has 288 through holes, broken into two main sections. One section has 28 3-hole busses. Between | ||
| - | **14.** J4 – Digital and Analog I/O Connector | + | ---- |
| - | The set of Digital I/Os with chipKIT™ numbers 0 through 8 and Analog pins A0-A2. See table 1 in appendix A for more details. | + | |
| - | **15.** IC3 – Analog Temperature Sensor (Microchip MCP9701A) Loading Point: | + | ====== |
| - | This 3-pin footprint is intended for an analog temperature sensor to be loaded by the user. It was designed with the Microchip MCP9701A Linear Active Thermistor in mind. The pin one (square pin) is for VCC3V3 of the device, pin two (center pin) is for the A0/pin 6 pin of the device, and pin three is for the ground pin (chipKIT™ pin 6). | + | ===== 3.1 MPIDE Development Tool ===== |
| - | **16.** J3 – Digital and Analog I/O Connector #2: | + | {{ :chipkit_dp32: |
| - | The set of Digital I/Os with chipKIT™ numbers 9 through 18 and Analog pins A3-A8. See table 1 in appendix A for more details. | + | |
| - | **17.** Prototyping Area: | + | The DP32 uses the PIC32MX250F128B onboard USB peripheral to program the microcontroller with the MPIDE environment. This requires a driver to be installed to accommodate this programing solution. The driver file is called Stk500v2.inf and is available in the drivers folder in the MPIDE distribution. In order to install the driver on a Windows based machine, follow the steps below. You should not need to manually install the drivers on a machine with a non-Windows OS.\\ |
| - | This area may be used to prototype any desired hardware designs using standard wire wrapping methods. | + | - Open MPIDE to ensure that it works. Close it and make sure that your DP32 is unplugged from the computer. |
| + | - Navigate to the MPIDE installation folder. The file path should be something like "C:\Program Files (x86)\mpide\mpide-0023-windows-20140821\drivers\chipKIT Drivers" | ||
| + | - You should see USBDriverInstaller at the bottom of the list.{{ : | ||
| + | - Open that application and click " | ||
| + | - Once the drivers are installed, close the windows. Open MPIDE, connect the board with the USB cable, and allow Windows to find and install the correct drivers.{{ : | ||
| - | + | Once the driver is installed and the computer has recognized the board, it is ready to be programmed. The board has two modes of operation. The first is the bootloader mode, to enter this mode you must press and hold down BTN2/PGM button while pressing the RESET button then release both to set the board into program mode. In program mode LD1 will flash to show you that the bootloader is running and the board is ready to be programmed. | |
| - | ===== 3 Programming | + | Once the board is programmed it will be reset and will execute the programmed sketch. If there is a sketch loaded on the board and you cycle power to the board, it will automatically reenter sketch mode. Each time you edit your sketch and need to reload it to the board, you will need to exit sketch mode by pressing and holding BTN/PGM, pressing RESET, and then releasing both to re-enter program mode. |
| - | ==== 3.1 MPIDE Development Tool ==== | + | Since the board resets between program mode and sketch mode the serial port will disconnect and then reconnect. The MPIDE serial monitor will not work unless there is a delay of at least 5 seconds in the user sketch before it begins to send data to the computer. To ensure the serial monitor is ready it is recommended that users watch the device manager or similar program for your OS after the reset to watch for the reconnection of the serial port before attempting to open the Serial Monitor in MPIDE. The delay is required for proper operation of the serial port so that the board can disconnect and reconnect to the computer before the DP32 begins sending data out while the OS is not listening. This is a byproduct of the embedded USB controller solution on the DP32. |
| - | The DP32 uses the PIC32MX250F128B onboard USB peripheral to program the microcontroller with the MPIDE environment. This requires a driver to be installed to accommodate this programming solution. The driver file is called Stk500v2.inf and is available in the driver’s folder in the MPIDE distribution. | ||
| - | Once the driver is installed and the computer has recognized the board, it is ready to be programmed. The board has two modes of operation. The first is the bootloader mode, to enter this mode you must press and hold down BTN2/PGM button while the PGM button is depressed press and release the RESET button, finally release the PGM button to place the board into program mode. In program mode, LD1 will flash to show you that the bootloader is running and the board is ready to be programmed. | + | ===== 3.2 Microchip MPLAB IDE Development Tool Campatibility ===== |
| - | Once the board is programmed, it will execute the programmed sketch. If there is a sketch loaded on the board and you cycle power to the board, it will automatically reenter sketch mode. To exit sketch mode, you must put the board into program mode as described in the above paragraph. | + | {{ : |
| - | Since the board resets between program mode and sketch mode the serial port will disconnect and then reconnect. The MPIDE serial monitor will not work unless there is a delay of at least 5 seconds in the user sketch before it begins to send data to the computer. To ensure the serial monitor is ready, it is recommended that users watch the device manager or similar program for your OS after the reset to watch for the reconnection of the serial port before attempting to open the Serial Monitor in MPIDE. The delay is required for proper operation of the serial port so that the board can disconnect and reconnect to the computer before the DP32 begins sending data out while the OS is not listing. This is a byproduct of the embedded USB controller solution on the DP32. | + | In addition to being compatible with the MPIDE, the DP32 board can be used as a more traditional microcontroller development board using Microchip Development Tools. |
| - | ==== 3.2 Microchip | + | The unloaded connector JP6 on the right side of the board is used to connect to a Microchip development tool, such as the PICkit3™ or the Digilent chipKIT PGM. The holes for JP6 are staggered so that a standard 100-mil spaced 6-pin header can be press fit to the board without the need to solder it in place. Any Microchip |
| + | The Microchip MPLAB® IDE or the MPLAB® X IDE can be used to program and debug code running on the DP32 board. These tools can be downloaded from the Microchip website. | ||
| - | In addition to being compatible with the MPIDE, the DP32 board can be used as a more traditional microcontroller development board using Microchip Development Tools. | + | ===== 3.3 Reloading |
| - | The unloaded connector JP6 on the right side of the board is used to connect | + | Using the Microchip development tools to program |
| + | | ||
| + | | ||
| + | - Select “32-bit MCUs (PIC32)” in the “Family: | ||
| + | - Select | ||
| + | - Make sure your programmer device is connected and selected in the " | ||
| + | - Name the project whatever you wish, then click " | ||
| + | - Check the box labeled "Set as main project", | ||
| + | - The project may not default to the main project, even if you selected | ||
| + | | ||
| + | - Press and hold BTN2/PGM on the DP32, then at the top of the MPLAB window, click on the icon with a green arrow pointing down. A dialog box titled " | ||
| - | Typically, a right-angle male connector is used in JP6 so that a PICkit3 can be attached coplanar with the DP32 board. The connector can be loaded from the top, or it can be loaded from the bottom. | ||
| - | The Microchip MPLAB® | + | ===== 3.4 Programming Additional ICs ===== |
| - | Using the Microchip development tools to program | + | A unique feature of the DP32 from the rest of the Digilent line of chipKIT boards is that the PIC32 microcontroller installed on the board is a removable, 28-pin DIP IC. This allows for lots of flexibility in building embedded projects since you can program the IC with the board, remove |
| - | + | ||
| - | ===== 4 ChipKIT™ DP32™ Jumper Settings ===== | + | |
| + | Once you have your new ICs, the original IC can be carefully removed from the socket and the new IC installed on the DP32 board. The new IC can now be programmed with MPLAB tools or MPIDE as described above. If you purchased the IC with the pre-loaded boot loader, you may use either programming environment right away. If you program the IC with MPLAB first, or purchased the IC without the chipKIT boot loader installed, you will need to use MPLAB X to load the boot loader as outlined above if you wish to use MPIDE. | ||
| - | JP1 USBID Connect (USB OTG) | + | ---- |
| - | Loaded: USBID is connected to Digital I/O pin 0 (RB5) and is usable by the microcontroller. | + | |
| - | Unloaded: Pin 0 is unconnected to USBID and freely usable. | + | |
| - | JP2 USB Data+ | + | ====== 4 chipKIT DP32 Jumper Settings ====== |
| - | JP3 USB Data- | + | {{ : |
| + | **JP1 USBID Connect (USB OTG)**\\ | ||
| + | Loaded: USBID is connected to Digital I/O pin 0 (RB5) and is usable by the microcontroller.\\ | ||
| + | Unloaded: Pin 0 is unconnected to USBID and freely usable.\\ | ||
| - | For most users, | + | **JP2 USB Data+**\\ |
| + | **JP3 USB Data-**\\ | ||
| + | For most users, | ||
| - | JP4/JP5 | + | ---- |
| - | Default configuration is with the shorting blocks loaded on pins 1 and 2, which results in pull-up | + | {{ : |
| + | **JP4/JP5 pullups/ | ||
| + | Default configuration is with the shorting blocks loaded on pins 1 and 2, which results in pullup | ||
| + | {{ : | ||
| - | JP7 Power Select Jumper | + | ---- |
| - | Default power is selected | + | {{ : |
| + | **JP7 Power Select Jumper**\\ | ||
| + | Default power select | ||
| + | {{ : | ||
| - | ==== 4.1 Power Supply ==== | + | ---- |
| - | The DP32 is designed to be powered either via USB or from an external power supply. Only one supply should be selected at a time. A power-on LED has been added to the power supply circuit. | + | ====== 5 Power Supply ====== |
| - | The DP32 has a single voltage regulator which regulates | + | The DP32 is designed to be powered |
| - | ==== 4.2 5V Compatibility ==== | + | The DP32 has a single voltage regulator mounted on the underside which regulates either 5V from USB to 3.3V, or a maximum of 15V external voltage to 3.3V. The 3.3V regulator is a Microchip MCP1703. This regulator is rated for a maximum output current of 250mA. 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 250mA maximum. |
| + | |||
| + | The internal USB circuit on the PIC32MX250F128B requires 5VDC to operate. Do not attempt to power the USB circuitry with the external power screw terminal, unless it is a regulated 5V external power supply. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ====== 6 5V Compatibility | ||
| The PIC32 microcontroller operates at 3.3V. 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. | The PIC32 microcontroller operates at 3.3V. 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. | ||
| - | Only MIPDE pin numbers 0 - 3 on the PIC32 microcontroller are 5V tolerant, all other pins are 3.3V tolerant only. To provide 5V tolerance on those pins, you will have to add clamping diodes and current limiting resistors to those pins. Please check the table 1 in appendix A to confirm 5V tolerant pins. | + | Only MIPDE pin numbers 0 - 3 on the PIC32 microcontroller are 5V tolerant. All other pins are 3.3V tolerant only. To provide 5V tolerance on those pins, you will have to add clamping diodes and current limiting resistors to those pins. Please check the Pinout Diagram or Pinout Table to confirm 5V tolerant pins. |
| - | 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 typically be close to 3.3V. Some 5V devices will recognize this voltage as a logic high input, and some will not. You will have to read the datasheet for the 5V parts you are using to ensure that 3.3V will satisfy the logic high conditions for the part. 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 typically be close to 3.3V. Some 5V devices will recognize this voltage as a logic high input, and some will not you will have to read the datasheet for the 5V parts you are using to ensure that 3.3V will satisfy the logic high conditions for the part. Many 5V logic devices will work reliably with 3.3V inputs. |
| - | ==== 4.3 Input/ | + | ---- |
| + | |||
| + | ====== 7 Input/ | ||
| The DP32 board provides all 19 I/O pins of the PIC32MX250F128B microcontroller to through-hole points on the PCB. | The DP32 board provides all 19 I/O pins of the PIC32MX250F128B microcontroller to through-hole points on the PCB. | ||
| - | |||
| - | The PIC32 microcontroller can source 10mA with a minimum VOH of 3V and sink 15mA with a maximum VOL of .4V on all digital I/O pins. The maximum current that can be sourced or sunk across all I/O pins simultaneously is +/- 200mA. For more detailed specifications, | ||
| - | The DP32 uses logical pin numbers to identify digital I/O pins. Pins 0 through 8 are located on J4, counting up from the square pad of J4. Pins 9 through 18 are located on J3, counting up from the square pad. In addition, several of these I/O pins share functionality with other devices on the board. See table 1 in appendix A for more information. | + | The PIC32 microcontroller can source or sink a maximum of 7mA on all digital I/O pins. The maximum current that can be sourced or sunk across all I/O pins simultaneously is +/- 200mA. For more detailed specifications, |
| + | |||
| + | The DP32 uses logical pin numbers to identify digital I/O pins. Pins 0 through 8 are located on J4, counting up from the square pad of J4. Pins 9 through 18 are located on J3, counting up from the square pad. In addition, several of these I/O pins share functionality with other devices on the board. See the Pinout Diagram and Pinout Table for more information. | ||
| Pins 15 and 16 are shared with the crystal for the internal oscillator, and are not typically usable. Pin 6 is shared with the Analog Temperature Sensor. Pin 8 is shared with the onboard Potentiometer. Pins 4 and 5 are shared with the USB Data+ and Data- signals. Pin 0 is shared with the USBID function, but removing jumper 1 clears this conflict. Pins 9, 18, 7, and 10 are used for the SPI EEPROM device if it is loaded, on its Chip Select, Master Out/Slave In, Serial Clock, and Master In/Slave Out lines respectively. | Pins 15 and 16 are shared with the crystal for the internal oscillator, and are not typically usable. Pin 6 is shared with the Analog Temperature Sensor. Pin 8 is shared with the onboard Potentiometer. Pins 4 and 5 are shared with the USB Data+ and Data- signals. Pin 0 is shared with the USBID function, but removing jumper 1 clears this conflict. Pins 9, 18, 7, and 10 are used for the SPI EEPROM device if it is loaded, on its Chip Select, Master Out/Slave In, Serial Clock, and Master In/Slave Out lines respectively. | ||
| - | In addition to the digital I/O, there are Analog inputs available on the board, called A0 through A8. These pins are shared on digital pins 6 through 14. | + | In addition to the digital I/O, there are Analog inputs available on the board, called A0 through A8. These pins are shared on digital pins 6 thru 14. |
| + | |||
| + | ---- | ||
| + | |||
| + | ====== 8 Peripheral I/O Functions ====== | ||
| + | |||
| + | **I< | ||
| + | Synchronous serial interface. The I< | ||
| + | |||
| + | **User LEDs**\\ | ||
| + | Pins 11 (LD4), 12 (LD3), 13 (LD2) and 14 (LD1) are shared between the through-hole connection and the LED. Driving the pin high turns the LED on, driving it low turns it off. | ||
| + | |||
| + | **User Buttons**\\ | ||
| + | Pins 1 (BTN3) and 17 (BTN2/PGM) are shared between a through-hole connection and a push button. Pushing the button drives the input high. Releasing it brings the input low. | ||
| + | |||
| + | **External Interrupts**\\ | ||
| + | Only INT0 is hard-mapped on the microcontroller. It is connected to pin 1. The other external interrupts are accessible via PPS described below. | ||
| + | |||
| + | **Reset**\\ | ||
| + | The Reset button is utilized to bring the MCLR pin low on the microcontroller, | ||
| + | |||
| + | ===== 8.1 Peripheral Pin Select ===== | ||
| + | |||
| + | An advanced feature of the PIC32MX1xx/ | ||
| + | |||
| + | **Output Compare**\\ | ||
| + | Pin 8 (OC1), Pin 2 (OC2), Pin 3 (OC3), Pin 13 (OC4), Pin 6 (OC5). Output compare allows for the implementation of PWM signals. | ||
| + | |||
| + | **Input Capture**\\ | ||
| + | Pin 6 (IC1), Pin 11 (IC2), Pin 2 (IC3), Pin 14 (IC4), Pin 13 (IC5). Input capture allows for the synchronization of timers with captured signals, along with the execution of interrupts. | ||
| + | |||
| + | **External Timer Input**\\ | ||
| + | Pin 18 (TCK1), Pin 14 (TCK2), Pin 12 (TCK3), Pin 6 (TCK4), Pin 3 (TCK5) allows for timers to be clocked from external sources. | ||
| + | |||
| + | **External Interrupt**\\ | ||
| + | Pin 3 (INT1), Pin 13 (INT2), Pin 2 (INT3), Pin 17 (INT4) allows for external interrupts to be triggered in their own ISRs. Interrupts may be edge triggered or level triggered, though only one of rising, falling, high, or low, may be chosen for trigger sensitivity. | ||
| + | |||
| + | **Change Notice Pins**\\ | ||
| + | All change notice pins are matched with their chipKIT pin numbers (e.g. CN0 is associated with Pin 0). There is a change notice pin for each I/O pin. | ||
| + | |||
| + | **UART**\\ | ||
| + | Pin 14 (U1TX), Pin 6 (U1RX), Pin 7 (U2TX) and Pin 10 (U2RX) are used to implement UART peripheral controls. Unlike other chipKIT boards, the USB Serial communication is not implemented using a UART controller. | ||
| + | |||
| + | **SPI**\\ | ||
| + | Synchronous serial port. Pin 9 (SS), Pin 18 (MOSI), Pin 7 (SCK), Pin 10 (MISO). This uses SPI1 on the PIC32 Microcontroller. The second SPI is implemented as Pin 14 (SS), Pin 2 (MOSI), Pin 13 (MISO), and Pin 8 (SCK). | ||
| + | |||
| + | ---- | ||
| - | ==== 4.4 Peripheral I/O Functions ==== | ||
| - | I^2C: Synchronous serial interface. The I2C1 interface is available on pins 2 and 3. When using the I2C interface, it is necessary to set JP4 and JP5 such that pull-ups are present on the bus. This is accomplished by moving the jumpers to pins 2 and 3 on each jumper, the default setting. | + | ====== Appendix A: Pinout Diagram ====== |
| - | User LEDs: Pins 11 (LD4), 12 (LD3), 13 (LD2), and 14 (LD1) are shared between the through-hole connection and the LED. Driving the pin high turns the LED on, driving it low turns it off. | + | {{ :chipkit_dp32: |
| + | This pin map does not define | ||
| - | User Buttons: Pins 1 (BTN2/PGM) and 17 (BTN3) are shared between a through-hole connection and a push button. Pushing the button drives the input high. Releasing it brings the input low. | + | When using TimerSerial |
| - | External Interrupts: Only INT0 is hard-mapped on the microcontroller. It is connected to pin 1. The other external interrupts are accessible via PPS described below. | + | ---- |
| - | Reset: The Reset button is utilized to bring the MCLR pin low on the microcontroller, | + | ====== Appendix B: Pinout Table by chipKIT Pin Number ====== |
| - | + | ||
| - | ==== 4.5 Peripheral | + | ^ chipKIT Pin # ^ PIC32 Pin ^ register ID ^ PIC32 Signal |
| + | | 0* | 14 | RB5 | TMS/ | ||
| + | | 1* | 16 | RB7 | TDI/ | ||
| + | | 2* | 17 | RB8 | TCK/ | ||
| + | | 3* | 18 | RB9 | TDO/ | ||
| + | | 4 | 21 | RB10 | PGED2/ | ||
| + | | 5 | 22 | RB11 | PGEC2/ | ||
| + | | 6/A0 | 24 | RB13 | AN11/ | ||
| + | | 7/A1 | 25 | RB14 | CVREF/ | ||
| + | | 8/A2 | 26 | RB15 | AN9/ | ||
| + | | 9/A3 | 2 | RA0 | PGED3/ | ||
| + | | 10/A4 | 3 | RA1 | PGEC3/ | ||
| + | | 11/A5 | 4 | RB0 | PGED1/ | ||
| + | | 12/A6 | 5 | RB1 | PGEC1/ | ||
| + | | 13/A7 | 6 | RB2 | AN4/ | ||
| + | | 14/A8 | 7 | RB3 | AN5/ | ||
| + | | 15 | 9 | RA2 | OSC1/ | ||
| + | | 16 | 10 | RA3 | OSC2/ | ||
| + | | 17 | 11 | RB4 | SOSCI/ | ||
| + | | 18 | 12 | RA4 | SOSCO/ | ||
| + | | - | 1* | - | nMCLR | - | | ||
| + | | - | 8 | - | GND | - | | ||
| + | | - | 13 | - | VDD | - | | ||
| + | | - | 15* | - | VBUS | - | | ||
| + | | - | 19 | - | GND | - | | ||
| + | | - | 20 | - | VCAP | - | | ||
| + | | - | 23 | - | VUSB3V3 | ||
| + | | - | 27 | - | AVSS | N/C | | ||
| + | | - | 28 | - | AVDD | - | | ||
| + | * Indicates 5V tolerant I/O pin\\ | ||
| + | ‡ When using MPIDE, there are macros defined for BTN2/PGM (PIN_BTN1) and for BTN3 (PIN_BTN2). You may also use the chipKIT pin # if you wish (#17 for BTN2/PGM, #1 for BTN3)\\ | ||
| + | ¤ When using MPIDE, there are macros defined for the LEDs, e.g. PIN_LED1 is assigned to LD1, PIN_LED2 to LD2, etc. You may also use the chipKIT pin # if you wish (#14 for LD1, #13 for LD2, etc.) | ||
| - | An advanced feature | + | For a more detailed explanation |
| - | PPS Assigned Peripherals: | ||
| - | * Output Compare: Pin 8 (OC1), Pin 2 (OC2), Pin 3 (OC3), Pin 13 (OC4), Pin 6 (OC5). Output compare allows for the implementation of PWM signals. | + | ---- |
| - | * Input Capture: Pin 6 (IC1), Pin 11 (IC2), Pin 2 (IC3), Pin 14 (IC4), Pin 13 (IC5). Input capture allows for the synchronization of timers with captured signals, along with the execution of interrupts. | + | |
| - | * External Timer Input: Pin 18 (TCK1), Pin 14 (TCK2), Pin 12 (TCK3), Pin 6 (TCK4), Pin 3 (TCK5) allows for timers to be clocked from external sources. | + | |
| - | * External Interrupt: Pin 3 (INT1), Pin 13 (INT2), Pin 2 (INT3), Pin 17 (INT4). Allows for external interrupts to be triggered in their own ISRs. Interrupts may be edge triggered or level triggered, though only one of rising, falling, high, or low, may be chosen for trigger sensitivity. | + | |
| - | * Change Notice Pins: All change notice pins are matched with their chipKIT™ pin numbers (e.g. CN0 is associated with Pin 0). There is a change notice pin for each I/O pin. | + | |
| - | * UART: Pin 14 (U1TX), Pin 6 (U1RX), Pin 7 (U2TX), and Pin 10 (U2RX) are used to implement UART peripheral controls. Unlike other chipKIT™ boards, the USB Serial communication is not implemented using a UART controller. | + | |
| - | * SPI: Synchronous serial port. Pin 9 (SS), Pin 18 (MOSI), Pin 7 (SCK), Pin 10 (MISO). This uses SPI1 on the PIC32 Microcontroller. The second SPI is implemented as Pin 14 (SS), Pin 2 (MOSI), Pin 13 (MISO), and Pin 8 (SCK). | + | |
| - | + | ====== Appendix | |
| - | ===== Appendix | + | |
| + | ^ Socket Pin # ^ chipKIT Pin # ^ Connector Pin # ^ PIC32 Signal | ||
| + | | 1* | - | - | nMCLR | Reset button circuit | ||
| + | | 2 | 9/A3 | RA0 | PGED3/ | ||
| + | | 3 | 10/A4 | RA1 | PGEC3/ | ||
| + | | 4 | 11/A5 | RB0 | PGED1/ | ||
| + | | 5 | 12/A6 | RB1 | PGEC1/ | ||
| + | | 6 | 13/A7 | RB2 | AN4/ | ||
| + | | 7 | 14/A8 | RB3 | AN5/ | ||
| + | | 8 | - | GND | VSS | ||
| + | | 9 | 15 | RA2 | OSC1/ | ||
| + | | 10 | 16 | RA3 | OSC2/ | ||
| + | | 11 | 17 | RB4 | SOSCI/ | ||
| + | | 12 | 18 | RA4 | SOSCO/ | ||
| + | | 13 | - | VDD | VDD | ||
| + | | 14* | 0 | RB5 | TMS/ | ||
| + | | 15* | - | VBUS | VBUS | | | ||
| + | | 16* | 1 | RB7 | TDI/ | ||
| + | | 17* | 2 | RB8 | TCK/ | ||
| + | | 18* | 3 | RB9 | TDO/ | ||
| + | | 19 | - | GND | VSS | ||
| + | | 20 | - | - | VCAP | | | ||
| + | | 21 | 4 | RB10 | PGED2/ | ||
| + | | 22 | 5 | RB11 | PGEC2/ | ||
| + | | 23 | - | - | VUSB3V3 | ||
| + | | 24 | 6/A0 | RB13 | AN11/ | ||
| + | | 25 | 7/A1 | RB14 | CVREF/ | ||
| + | | 26 | 8/A2 | RB15 | AN9/ | ||
| + | | 27 | - | - | AVSS | N/C | | ||
| + | | 28 | - | - | AVDD | | | ||
| + | * Pins are 5V tolerant | ||
| + | ---- | ||
| + | ====== Appendix D: Schematic ====== | ||
| + | The schematic is available as a {{: | ||

