Note the following details of the code protection feature on Microchip devices:
•Microchip products meet the specification contained in their particular Microchip Data Sheet.
•Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
•There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•Microchip is willing to work with the customer who is concerned about the integrity of their code.
•Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device
applications and t he lik e is provided only for your convenience
and may be su perseded by upda t es . It is y our responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WHETHER EXPRESS OR
IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION,
QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability
arising from this information and its use. Use of Microchip
devices in life supp ort and/or safety ap plications is entir ely at
the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless M icrochip from any and all dama ges, claims,
suits, or expenses re sulting from such use. No licens es are
conveyed, implicitly or otherwise, under any Microchip
intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, K
EELOQ, KEELOQ logo, MPLAB, PIC, PICmicro,
PICSTART, PRO MA TE, rfPIC and SmartShunt are registered
trademarks of Microchip Technology Incorporated in the
U.S.A. and other countries.
FilterLab, Linear Active Thermistor, MXDEV, MXLAB,
SEEVAL, SmartSensor and The Embedded Control Solutions
Company are registered trademarks of Microchip Technology
Incorporated in the U.S.A.
Analog-for-the-Digital Age, Application Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, In-Circuit Serial
Programmin g , IC SP, ICEPIC, Mindi, MiW i , MPASM, MPLAB
Certified logo, MPLIB, MPLINK, mTouch, PICkit, PICDEM,
PICDEM.net, PICtail, PIC
32
logo, PowerCal, PowerInfo,
PowerMate, PowerT ool, REAL ICE, rfLAB, Select Mode, Total
Endurance, UNI/O, WiperLock and ZENA are trademarks of
Microchip Technology I ncorporat ed in the U.S.A. and other
countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
Microchip received ISO/TS-16949:2002 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
All documentation becomes dated, and this manual is no exception. Microchip tools and
documentation are constantly evolving to meet customer needs, so some actual dialogs
and/or tool descriptions may differ from those in this document. Please refer to our web site
(www.microchip.com) to obtain the latest documentation available.
Documents are identified with a “DS” number. This number is located on the bottom of each
page, in front of the p age number. The numbering convention for the DS number is
“DSXXXXXA”, where “XXXXX” is the document number and “A” is the revision level of the
document.
For the most up-to-date information on development tools, see the MPLAB
Select the Help menu, and then Topics to open a list of available online help files.
®
IDE online help.
INTRODUCTION
This chapter contains general information that will be useful to know before using the
PIC32MX. Items discussed in this chapter include:
• Document Layout
• Conventions Used in this Guide
• Recommended Reading
• The Microchip Web Site
• Development Systems Customer Change Notification Service
• Customer Support
• Document Revision History
DOCUMENT LAYOUT
This document describes how to use the PIC32MX Starter Board as a development tool
to emulate and debug firmware on a target board. The user guide is composed of the
following chapters:
• Chapter 1. “Introducing the PIC32MX USB Starter Board” provides a brief
overview of the PIC32MX USB Starter Board, highlighting its features and uses.
• Chapter 2. “PIC32MX USB Starter Bo ard Tutorial” provides step-by-step
instructions for installin g the PIC32MX USB Starter Board and using the Microchip
MPLAB IDE to build and run the tutorial prog ram on the PIC32 MX USB S t arter Board.
• Chapter 3. “Create a New Project” provides step-by-step instructions for creating
a new project using the MPLAB
Board.
• Chapter 4. “PIC32MX USB Starter Board Hardware” provides the hardwar e
description of the PIC32MX USB Starter Board.
• Appendix A. “PIC32MX USB Starter Board Schematics” provides a block
diagram and detailed schematics of the PIC32MX USB Starter Board.
®
IDE and loading it on to the PIC32 MX U SB Starter
This user’s guide describes how to use the PIC32MX USB Starter Board.
The following Microchip documents are available and recommended as supplemental
reference resources.
PIC32MX Data Sheet (DS61143)
Consult this document for detailed information on the PIC32MX 32-bit devices.
Reference information found in this data sheet includes:
• Device memory map
• Device pinout and packaging details
• Device electrical speci fic ati on s
• List of peripherals included on the device
MPLAB
This document details the use of Microchip’s MPLAB C32 C Compiler for PIC32MX
devices to develop an application. MPLAB C32 is a GNU-based language tool, based
on source code from the Free Software Foundation (FSF). For more information about
FSF, see their web site at http://www.fsf.org.
MPLAB
Consult this document for more information pertaining to the installation and
implementation of the MPLAB IDE software, as well as the MPLAB Editor and MPLAB
SIM Simulator software that are included with it.
Universal Serial Bus Specification and Associated Documents
The Universal Serial Bus is defined by the USB 2.0 specification and its associated
supplements and class-specific documents. These documents are available from the
USB Implementor’s Forum. See their website at http://www.usb.org.
®
C32 C Compiler User’s Guide (DS51686)
®
IDE User’s Guide (DS51519)
Preface
THE MICROCHIP WEB SITE
Microchip provides online support via our web site at http://www.microchip.com. This
web site makes files and information easily available to customers. Accessible by most
Internet browsers, the web site contains the following information:
• Product Support – Data sheets and errata, application notes and sample
programs, design resources, user’s guides and hardware support documents,
latest software releases and archived software
• General Technical Support – Frequently Asked Questions (FAQs), technical
support requests, online discussion groups, Microchip consultant program
member listings
• Business of Microchip – Product selector and ordering guides, latest Microchip
press releases, listings of seminars and events; and listings of Microchip sales
offices, distributors and factory representatives
DEVELOPMENT SYSTEMS CUSTOMER CHANGE NOTIFICATION SERVICE
Microchip’s customer notification service helps keep customers current on Microchip
products. Subscribers will receive e-mail notification whenever there are changes,
updates, revisions or errata related to a specified product family or development tool of
interest.
To register, access the Microchip web site at http://www.microchip.com, click on Customer Change Notification and follow the registration instructions.
The Development Systems product group categories are:
• Compilers – The latest information on Microchip C compilers and other language
tools. These include the MPLAB C18, MPLAB C30, and MPLAB C32 C compilers;
ASM32, MPASM™ and MPLAB ASM30 assemblers; MPLINK™, and MPLAB
LINK30, MPLAB LINK32 object linkers; and MPLIB™ and MPLAB LIB30 object
librarians.
• Emulators – The latest information on Microchip in-circuit emulators. This
includes the MPLAB REAL ICE™ and MPLAB ICE 2000 in-circuit emulators.
• In-Circuit Debuggers – The latest information on the Microchip in-circuit
debuggers. This includes the MPLAB ICD 2 and PICkit™ 2.
• MPLAB IDE – The latest information on Microchip MPLAB IDE, the Windows
Integrated Development Environment for development systems tools. This list is
focused on the MPLAB IDE, MPLAB IDE Project Manager, MPLAB Editor and
MPLAB SIM simulator, as well as general editing and debugging features.
• Programmers – The latest information on Microchip programmers. These include
the MPLAB PM3 device programmer and the PICSTART
PICkit 2 developm ent pr ogrammers.
®
Plus, PICkit™ 1 and
®
CUSTOMER SUPPORT
Several channels are available to assist the users of Microchip products:
• Distributor or Representative
• Local Sales Office
• Field Application Engineer (FAE)
• Technical Support
• Development Systems Information Line
Customers should contact their distributor, representative or FAE for support. Local
sales offices are also available to help customers. A list of sales offices and locations
is included in the back of this document.
Technical support is available through the web site http://support.microchip.com.
DOCUMENT REVISION HISTORY
Revision A (June 2008)
This is the initial release of the PIC32MX USB Starter Board User’s Guide.
Chapter 1. Introducing the PIC32MX USB Starter Board
1.1INTRODUCTION
Thank you for purchasing the Microchip T echnology PIC32MX USB Starter Board. This
board provides a low-cost, modular development system for Microchip’s new line of
32-bit microcontrollers.
The starter board comes pre-loaded with dem ons trati on softwar e for the user to
explore the new features of the PIC32MX. It is also expandable through a modular
expansion interface, which allows the user to extend its functionality. The PIC32MX
USB Starter Board also supplies on-board circuitry for full debug and programming
capabilities.
1.2HIGHLIGHTS
This chapter covers the following topics:
• Kit Contents
• PIC32MX Functionality and Features
The preprogrammed example code on the PIC32MX MCU is available via download.
All project files have been included, so that the code may be used directly to restore
the PIC32MX MCU on the starter board to its original state (i.e., if the sample device
has been reprogrammed with another program) or so you can use the tutorial code as
a platform for further experimentation. Refer to Section 2.4 for download and
installation instructions.
1.3KIT CONTENTS
The PIC32MX USB Starter Board contains the following items:
• PIC32MX USB Starter Board
• USB Mini-B to full-sized A cable – USB debug cable to debug and power the
board
• USB Micro-B to full-sized A cable – PIC32 USB cable to communicate with the
PIC32 USB port
If you are missing any part of the kit, contact a Microchip sales office for assistance. A
list of Microchip offices for sales and service is provided on page 36.
A representation of the layout of the PIC32MX USB Starter Board is shown in
Figure 1-1. The board includes these key features, as indicated in the diagram:
1. PIC32MX460F512L 32-bit microcontroller
2. Green power-indicator LED
3. Regulated +3.3V power supply for powering the starter board via USB or
expansion board
4. On-board crystal for precision microcontroller clocking (8 MHz)
5. USB connectivity for on-board debugger communications
6. PIC18LF4550 USB microcontroller for on-board debugging
7. Orange Debug indicator LED
8. Three push-button switches for user-defined inputs
9. Three user-defined indicato r LED s
10. Connector for various expansion boards (on the underside of board)
11. USB Type A receptacle connectivity for PIC32MX Host based Applications
12. USB Type Micro-AB receptacle for OTG and USB Device connectivity for
PIC32MX OTG/Device based Applications (on the underside on board)
13. USB Host and OTG power supply for powering PIC32MX USB applications.
Note 1:To power Rev B boards, the USB debug cable must be connected to a
USB port on the host PC.
2:When running USB device applications, open the jumper JP2 to prevent
possibly back-feeding voltage onto VBUS from one port on the host to
another (or from one host to another).
This chapter is a self -paced tutorial to get you started usi ng the PI C3 2M X USB Starter
Board.
2.2HIGHLIGHTS
Items discussed in this chapter include:
• Host Computer Requirements
• Installing the PIC32MX USB Starter Board Software
• Using the PIC32MX USB Starter Board Out of the Box
• Starting the Tutorial Project
• Building the Project
• Programming the Device
• Running the Program
• Tutorial Program Operation
PIC32MX USB STARTER
BOARD USER’S GUIDE
2.3HOST COMPUTER REQUIREMENTS
To communicate with and program the starter board, the following hardware and
software requirements must be met:
• PC-compatible system
• Two available USB ports on PC or powered USB hub
• Microsoft Windows XP
(The PIC32MX USB Starter Board has not been tested on Windows NT® and
Windows 2000
®
®
or Windows Vista® operating system
operating systems.)
2.4INSTALLING THE PIC32MX USB STARTER BOARD SOFTWARE
Starter board software and installation instructions are available on the Microchip.com
web site at the following URL: http://www.microchip.com/PIC32USBboard. The web
page will guide you through installation and setup of MPLAB IDE, MPLAB C32 C
Compiler, and the demo projects. The page also provides links to other technical
documents. After completing the online installation instructions, continue to the next
section in this document.
2.5USING THE PIC32MX USB STARTER BOARD OUT OF THE BOX
Install software (instructions in section 2.4) before connecting the board to the host PC.
The PIC32MX USB Starter Board may be used directly from the box as a
demonstration board for the PIC32MX device. The PIC32MX is preprogrammed with
the classic “Simon Says” game (
device and is ready for immediate use.
2.5.1How to Play the Game
When the USB debug cable is plugged into the starter board’s Mini-B (debug) receptacle, the three LEDs start blinking to indicate the start of a new game. Begin the game
by pressing one of the switches, SW1-SW3, to choose the level of game difficulty . SW3
is the easiest, SW1 is the hardest. The goal is to imitate the light patterns as long as
you can, without getting frazzled. Ultimately, you will make a mistake and all of the
LEDs will light up to signal the end of the game. After a brief pause, you can press any
switch to start a new game.
If you launch MPLAB IDE and connect to the starter board while the game is running,
the game will stop. Further, if you perform a debug or program operation from MPLAB
IDE, the demo application will be replaced with the current MPLAB project application.
However, the game can be reloaded onto the starter board by opening the file
simon_says_demo.mcw from c:\Program Files\Microchip\pic32_solutions\
simon_says_demo
The preprogrammed example code on the PIC32MX has been included in the
PIC32MX USB Starter Board demo-projects download file located at the following URL:
http://www.microchip.com/PIC32USBboard. All project files have been included, so
that the code may be used directly to restore a PIC32MX to its original state (i.e., if the
sample device has been reprogrammed with another program), or so you can use the
tutorial code as a platform for further experimentation.
Connect the starter board to the host PC and click the MPLAB IDE icon on your
computer desktop. Select File>Open Workspace...
the tutorial project file:
StarterBoard_Mousedemo.mcw
(or browse to the file path that you used when you installed the MPLAB IDE).
The pane on the left of the MPLAB IDE interface displays project files, the ‘
‘.
a’ (library) files that are used to build an application. The project files are organized by
type into folders.
Select D
Found” should then be displayed in the “Output” pane of the MPLAB IDE interface. If
not, check the driver installation, as well as the connections between the hardware and
the PC.
ebugger>Select Tool>PIC32MX Starter Kit from the menu bar. “Starter Kit
Either clic k Debugger>Run from the menu bar of the MPLAB IDE or click the Run icon
(the turquoise triangle) on the Debug Tool Bar, shown in Figure 2-6, to run the new
program.
FIGURE 2-6:DEBUG WINDOW
2.10TUTORIAL PROGRAM OPE R AT I O N
The USB Human Interface Device (HID) mouse tutorial project demonstrates a simple
USB peripheral device by emulating a mouse. Depending on the revision of your USB
starter board, make the following connections to run the mouse demo.
• For Rev B of the USB starter board, the host PC must have two available USB
ports:
1. Mo ve jum per JP2 to the open posi tio n.
2. Use the USB debug cable (Mini-B to A) to attach the board’s debug connector
J1 to the first USB port of the host PC. Rev B boards source power from the
debugger connection.
3. Use the USB Micro-B to full-sized A cable to attach the board’s J5 connector
(type Micro-AB receptacle) to the second USB port of the host PC.
• For a later revision of the USB starter board:
1. Mo ve jum per JP2 to the open posi tio n.
2. Use the USB Micro-B to full-sized A USB cable to attach the board’s J5
connector (type Micro-AB receptacle) to an available USB port on the host PC.
Note:For the HID mouse demo (and all other USB device demos), the JP2
jumper should be open to prevent the possibility of back-feeding voltage
onto VBus from one port on the host to another (or from one host to
another).
After a pause, the PIC32MX USB Starter Board will enumerate as a standard mouse
HID, using dr iver s bui lt in to th e host ’ s ope rati ng sy stem. The su cces sfu l compl eti on o f
this process is usually accompanied by a “bing-bong” tone from the host PC. The
output window will display a message indicating that the demo is running, as shown in
Figure 2-7.
To move the mouse cursor, press the button switches on the starter board. Table 2-1
shows the action associated with each button.
TABLE 2-1:BUTTONS FOR CURSOR MOVEMENT
Button PressedMouse Cursor Action
SW1Moves Cursor Down
SW2Moves Cursor to Right
SW1 and SW3Moves Cursor Up
SW2 and SW3Moves Cursor Left
T o disable the HID mouse demo, disconnect the host PC from the Micro-AB receptacle
on the starter board. The host PC usually plays a reverse “bong-bing” tone to indicate
the successful disconnection of the peripheral device.
1. From the “Active Toolsuite” drop-down list, click “Microchip PIC32 C Compiler
Toolsuite”. The toolsuite includes the compiler, assembler and linker that will be
used. If the PIC32 compiler option is not available, check the “Show all installed
toolsuites” box.
2. Click Next to continue. The Project Wizard Step Three: dialog opens, as shown
#include <plib.h>/* include PIC32 peripheral library */
int main(void)
{
int i;
/* Setup LED’s */
mPORTDClearBits(BIT_0); /* Turn off LED1 on startup */
mPORTDSetPinsDigitalOut(BIT_0); /* Make RD0 (LED1) as output */
mPORTDClearBits(BIT_1); /* Turn off LED2 on startup */
mPORTDSetPinsDigitalOut(BIT_1); /* Make RD1 (LED2) as output */
mPORTDClearBits(BIT_2); /* Turn off LED3 on startup */
mPORTDSetPinsDigitalOut(BIT_2); /* Make RD2 (LED3) as output */
while(1)
{
for(i=0; i<200000; i++);/* put a delay */
mPORTDToggleBits(BIT_0);/* turn ON LED1 */
for(i=0; i<200000; i++);/* put a delay */
mPORTDToggleBits(BIT_1);/* turn ON LED2 */
for(i=0; i<200000; i++);/* put a delay */
mPORTDToggleBits(BIT_2);/* turn ON LED3 */
};
return 0;
}
6. In the Project window, right-click on the Source Files folder. Select Add Files and
choose
blinkLED.c to add the file to the source directory, see Figure 3-5.
FIGURE 3-5:ADDING SOURCE FILES
7. Click Debugger>Select Tool>PIC32MX Starter Kit
from the menu bar, for the
Target board.
Note:Make sure that the starter board is connected to your PC.
Click Debugger>Run from the menu bar of the MPLAB IDE or click the Run icon (the
turquoise triangle) on the Debug Tool Bar, as indicated in Figure 3-11, to run the new
program.
FIGURE 3-11:RUN THE PROGRAM
The starter board LEDs blink to indicate that the program is running successfully.
This chapter describes the hardware features of the PIC32MX USB Starter Board.
4.2HARDWARE FEATURES
PIC32MX STARTER BOARD
USER’S GUIDE
The key features of the PIC32MX USB
in the order given in
to Figure 1-1 on page 6 for their locations on the board.
Section 1.4 “PIC32MX Functionality and Features”
Starter Board
are listed below. They are presented
. Y ou can refer
4.2.1Processor Support
The PIC32MX USB Starter Board is designed with a permanently mounted (i.e.,
soldered) PIC32MX460F512L processor.
4.2.2Power Supply
There are three ways to supply power to the PIC32MX USB Starter Board:
• USB bus power connected to USB debug connector J1.
• USB bus power connected to PIC32 USB connector J5 – if using Rev C or later
revision of the board.
• An external application board with a regulated DC power supply that provides +5V
can be connected to the J2 application board connector that is provided on the
bottom side of the board.
One green LED (D3) is provided to show that the PIC32 microcontroller is powered up.
4.2.3Debug USB Connectivity
The PIC32MX USB Starter Board includes a PIC18LF4550 USB microcontroller that
provides debugger connectivity over USB. The PIC18LF4550 is hard-wired to the
PIC32MX device to provide two types of protocol translation:
• I/O pins of PIC18LF4550 to ICSP™ pins of PIC32MX
• I/O pins of PIC18LF4550 to JTAG pins of PIC32MX
The PIC32MX USB Starter Board currently uses the JT AG pins of the PIC32MX device
There are three possible ways to connect to the PIC32MX USB microcontroller:
• HOST Mode
Connect the device to the Type A connector J4, located on the top side of the USB
starter board. If using the Debug USB port to power the Host port, install jumper JP2 to
short the back-power prevention diode. Note that a maximum of ~400 mA can be
supplied from the Debug USB port to the Host port using this method. If the full 500 mA
supply is needed, an external supply must be connected to the application board. Also,
remove JP2 to prevent back powering the Debug USB port.
•DEVICE Mode
First, connect the debug Mini-B USB cable to port J1. Next, connect the USB starter
board to the host using a cable with a Type-B Micro plug to the USB starter board’s
Micro A/B port J5, located on the bottom side of the USB starter board. The other end
of the cable must have a Type-A plug. Connect it to a USB host.
• OTG Mode
Connect the USB starter board to the OTG device using an OTG Micro A/B cable to the
Micro A/B port J5, located on the bottom side of the USB starter board. The USB starter
board provides an on board power supply capable of providing 120mA Max. This
supply is controlled by the PIC32MX460 microcontroller.
4.2.5Switches
Push-butt on switches provide the following functionality:
• SW1: Active-low switch connected to RD6
• SW2: Active-low switch connected to RD7
• SW3: Active-low switch connected to RD13
The switches do not have any debounce circuitry and require the use of internal pull-up
resistors; this allows you to investigate software debounce techniques. When Idle, the
switches are pulled high (+3.3V). When pressed, they are grounded.
4.2.6LEDs
The RD0 through RD2 LEDs are connected to PORTD of the processor. The PORTD
pins are set high to light the LEDs.
4.2.7Oscillator Options
The installed microcontroller has an oscillator circuit connected to it. The main oscillator
uses an 8 MHz crystal (Y2) and functions as the controller’s primary oscillator. Use of
an external crystal is required to develop USB applications. USB specification dictates
frequency tolerance of +/- 0.25% for full speed. Non-USB applications can use the
internal oscillators. The USB starter board also has provisions for an external
secondary oscillator (Y3); however, this is not populated.
The PIC18LF4550 is independently clocked and has its own 8 MHz crystal (Y1).
The PIC32MX USB Starter Board has been designed with a 120-pin modular
expansion interface, which allows the board to provide basic generic functionality now
and easy extendability to new technologies as they become available.
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Techn ical Su pport:
http://support.microchip.com
Web Address:
www.microchip.com
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445