Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| chipkit_dp32:refmanual [2015/03/18 22:51] – [3.3 Reloading the MPIDE Boot Loader] brandon marcum | 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 ==== | ==== 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. | 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. | ||
| Line 8: | Line 9: | ||
| ---- | ---- | ||
| - | ===== Overview ===== | + | ====== Overview ====== |
| - | The chipKIT DP32 is a chipKIT/ | + | |
| - | The DP32 takes advantage | + | The chipKIT |
| - | 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 | + | 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 |
| - | The DP32 is also fully compatible with the advanced Microchip | + | 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: | Features Include: | ||
| - | * Microchip® | + | * Microchip |
| * 5 – 12 Volt recommended operating voltage | * 5 – 12 Volt recommended operating voltage | ||
| * 19 available I/O pins | * 19 available I/O pins | ||
| Line 30: | Line 32: | ||
| ---- | ---- | ||
| - | ===== 1 Functional Description ===== | + | |
| + | ====== 1 Functional Description ====== | ||
| The PIC32MX250F12B microcontroller features a 32-bit MIPS processor core capable of running at up to 50 MHz. The DP32 operates the microcontroller at 40Mhz by default.The microcontroller features 128 KB of flash program memory and 32 KB of SRAM data memory. Programming the DP32 can be done using the Multi-Platform Integrated Development Environment (MPIDE) or with the advanced Microchip MPLAB® IDE with the addition of a PICKit3 or chipKIT PGM in-system programmer/ | The PIC32MX250F12B microcontroller features a 32-bit MIPS processor core capable of running at up to 50 MHz. The DP32 operates the microcontroller at 40Mhz by default.The microcontroller features 128 KB of flash program memory and 32 KB of SRAM data memory. Programming the DP32 can be done using the Multi-Platform Integrated Development Environment (MPIDE) or with the advanced Microchip MPLAB® IDE with the addition of a PICKit3 or chipKIT PGM in-system programmer/ | ||
| Line 38: | Line 42: | ||
| 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. | 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. | ||
| + | |||
| ---- | ---- | ||
| - | ===== 2 chipKIT DP32 Hardware Overview ===== | + | |
| + | ====== 2 chipKIT DP32 Hardware Overview ====== | ||
| {{ : | {{ : | ||
| The DP32 has the following hardware features: | The DP32 has the following hardware features: | ||
| Line 102: | Line 109: | ||
| {{ : | {{ : | ||
| The prototyping area has 288 through holes, broken into two main sections. One section has 28 3-hole busses. Between the 3-hole busses are two 14-hole busses. There are also a 3V3 bus and GND bus, each with 8 holes. The remaining 160 holes are isolated for mounting whatever will fit using standard solder or wire wrapping methods. | The prototyping area has 288 through holes, broken into two main sections. One section has 28 3-hole busses. Between the 3-hole busses are two 14-hole busses. There are also a 3V3 bus and GND bus, each with 8 holes. The remaining 160 holes are isolated for mounting whatever will fit using standard solder or wire wrapping methods. | ||
| + | |||
| ---- | ---- | ||
| - | ===== 3 Programming the chipKIT DP32 ===== | + | |
| - | ==== 3.1 MPIDE Development Tool ==== | + | ====== 3 Programming the chipKIT DP32 ====== |
| + | ===== 3.1 MPIDE Development Tool ===== | ||
| {{ : | {{ : | ||
| Line 121: | Line 130: | ||
| 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. | 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. | ||
| - | ==== 3.2 Microchip | + | |
| + | ===== 3.2 Microchip | ||
| {{ : | {{ : | ||
| Line 131: | Line 141: | ||
| 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. | 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. | ||
| - | ==== 3.3 Reloading the MPIDE Boot Loader ==== | + | ===== 3.3 Reloading the MPIDE Boot Loader ===== |
| - | Using the Microchip development tools to program the DP32 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 | + | |
| - | - Open MPLABX. On the top task bar, click on " | + | Using the Microchip development tools to program the DP32 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 |
| + | - Open MPLAB X. On the top task bar, click on " | ||
| - Click on " | - Click on " | ||
| - Select “32-bit MCUs (PIC32)” in the “Family: | - Select “32-bit MCUs (PIC32)” in the “Family: | ||
| - Select the device ID “PIC32MX250F128B” in the “Device: | - Select the device ID “PIC32MX250F128B” in the “Device: | ||
| - | - Make sure you programmer device is connected and selected in the " | + | - Make sure your programmer device is connected and selected in the " |
| - Name the project whatever you wish, then click " | - Name the project whatever you wish, then click " | ||
| - Check the box labeled "Set as main project", | - Check the box labeled "Set as main project", | ||
| Line 145: | Line 156: | ||
| - | ==== 3.3 Programming Additional ICs ==== | + | ===== 3.4 Programming Additional ICs ===== |
| 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 it, and then embed it into a stand-alone application without the need to purchase an additional board (additional circuitry is required to embed the IC into stand alone projects). Additional ICs can then be acquired through Microchip directly. Simply go to [[https:// | 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 it, and then embed it into a stand-alone application without the need to purchase an additional board (additional circuitry is required to embed the IC into stand alone projects). Additional ICs can then be acquired through Microchip directly. Simply go to [[https:// | ||
| 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. | 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. | ||
| + | |||
| ---- | ---- | ||
| - | ===== 4 chipKIT DP32 Jumper Settings ===== | + | ====== 4 chipKIT DP32 Jumper Settings ====== |
| {{ : | {{ : | ||
| **JP1 USBID Connect (USB OTG)**\\ | **JP1 USBID Connect (USB OTG)**\\ | ||
| Line 160: | Line 174: | ||
| **JP3 USB Data-**\\ | **JP3 USB Data-**\\ | ||
| For most users, the traces for JP2 and JP3 should be left uncut. Cutting the trace will remove the ability to program the microcontroller from the USB Port. Users may optionally add jumper pins and a shorting block to restore the original functionality of the DP32 if the traces have been cut. | For most users, the traces for JP2 and JP3 should be left uncut. Cutting the trace will remove the ability to program the microcontroller from the USB Port. Users may optionally add jumper pins and a shorting block to restore the original functionality of the DP32 if the traces have been cut. | ||
| + | |||
| ---- | ---- | ||
| + | |||
| {{ : | {{ : | ||
| **JP4/JP5 pullups/ | **JP4/JP5 pullups/ | ||
| Default configuration is with the shorting blocks loaded on pins 1 and 2, which results in pullup configuration. Shorting pins 2 and 3 results in pulldown operation. Users may choose to remove shorting blocks entirely if no pullup/ | Default configuration is with the shorting blocks loaded on pins 1 and 2, which results in pullup configuration. Shorting pins 2 and 3 results in pulldown operation. Users may choose to remove shorting blocks entirely if no pullup/ | ||
| {{ : | {{ : | ||
| + | |||
| ---- | ---- | ||
| + | |||
| {{ : | {{ : | ||
| **JP7 Power Select Jumper**\\ | **JP7 Power Select Jumper**\\ | ||
| Default power select is with the shorting block connecting the two pins directly next to VBUS, providing power from the USB connector. If external power is desired, connect the two pins nearest the external power screw terminal labeled VIN.\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ | Default power select is with the shorting block connecting the two pins directly next to VBUS, providing power from the USB connector. If external power is desired, connect the two pins nearest the external power screw terminal labeled VIN.\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ | ||
| {{ : | {{ : | ||
| + | |||
| ---- | ---- | ||
| - | ===== 5 Power Supply ===== | + | |
| + | ====== 5 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. | 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. | ||
| Line 177: | Line 198: | ||
| 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. | 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 ===== | + | |
| + | ====== 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. | ||
| Line 184: | Line 208: | ||
| 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. | ||
| + | |||
| ---- | ---- | ||
| - | ===== 7 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. | ||
| Line 195: | Line 222: | ||
| 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. | 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 ===== | + | |
| + | ====== 8 Peripheral I/O Functions | ||
| **I< | **I< | ||
| Line 213: | Line 242: | ||
| The Reset button is utilized to bring the MCLR pin low on the microcontroller, | The Reset button is utilized to bring the MCLR pin low on the microcontroller, | ||
| - | ==== 8.1 Peripheral Pin Select: ==== | + | ===== 8.1 Peripheral Pin Select ===== |
| An advanced feature of the PIC32MX1xx/ | An advanced feature of the PIC32MX1xx/ | ||
| Line 236: | Line 266: | ||
| **SPI**\\ | **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). | 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). | ||
| + | |||
| ---- | ---- | ||
| - | ====== Appendices ====== | ||
| - | ===== Appendix A: Pinout Diagram ===== | + | |
| + | ====== Appendix A: Pinout Diagram ====== | ||
| {{ : | {{ : | ||
| This pin map does not define the full functionality for every pin. For a complete reference of pin functionality, | This pin map does not define the full functionality for every pin. For a complete reference of pin functionality, | ||
| When using TimerSerial (UART) ports with MPIDE HardwareSerial library, object " | When using TimerSerial (UART) ports with MPIDE HardwareSerial library, object " | ||
| + | |||
| ---- | ---- | ||
| - | ===== Appendix B: Pinout Table by chipKIT Pin Number ===== | + | |
| + | ====== Appendix B: Pinout Table by chipKIT Pin Number ====== | ||
| ^ chipKIT Pin # ^ PIC32 Pin ^ register ID ^ PIC32 Signal | ^ chipKIT Pin # ^ PIC32 Pin ^ register ID ^ PIC32 Signal | ||
| | 0* | 14 | RB5 | TMS/ | | 0* | 14 | RB5 | TMS/ | ||
| Line 280: | Line 315: | ||
| For a more detailed explanation of the functionality of each pin and the PIC32 architecture, | For a more detailed explanation of the functionality of each pin and the PIC32 architecture, | ||
| + | |||
| + | |||
| ---- | ---- | ||
| - | ===== Appendix C: Schematic ===== | + | |
| - | The schematic is available as a PDF download from the DP32 product page on the Digilent website.\\ | + | ====== Appendix C: Pinout Table by Socket Pin ====== |
| + | |||
| + | ^ 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 {{: | ||

