Getting Started: Running the “Device
– MCHPUSB - Generic driver demo”
Configuration
1: PICDEM FS USB
Configuration
2: PIC18F87J50 PIM + HPC Explorer
Configuration
4: Low Pin Count USB Development Kit
Configuration
5: PIC24F Starter Kit 1
Configuration
6: PIC18F46J50 Full Speed USB Demo Board
Configuration
7: PIC32 USB Starter Board
Configuration
1: PICDEM FS USB
Configuration
2: PIC18F87J50 PIM + HPC Explorer
Configuration
4: Low Pin Count USB Development Kit
Configuration
5: PIC24F Starter Kit 1
Configuration
6: PIC18F46J50 Full Speed USB Demo Board
Configuration
7: PIC32 USB Starter Board
To run this project, you will need one of the
following sets of hardware:
PICDEM
FS USB (DM163025)
PIC18F87J50
Plug-In-Module (PIM) (MA180021)
High
pin count (HPC) Explorer (DM183022)
Explorer
16 (DM240001)
USB
PICtail™ Plus Daughter Card (AC164131)
And one of the following PIMs
PIC24FJ64GB004
Plug-In-Module (PIM) (MA240019)
PIC24FJ256GB110 Plug-In-Module (PIM) (MA240014)
PIC32MX USB Plug-In-Module (PIM) (MA320002)
dsPIC33EP512MU810 USB Plug-In-Module (PIM)
PIC24EP512GU810 USB Plug-In-Module (PIM)
Low
Pin Count USB Development Kit with PICKit 2 Debugger/Programmer (DV164126)
or without Debugger/Programmer (DM164127)
PIC24F
Starter Kit 1 (DM240011)
PIC18F46J50
Full Speed USB Demo Board (MA180024)
PIC32 USB Starter Board (DM320003)
This
section describes how to set up the various configurations of hardware to run
this demo.
Configuration 1: PICDEM FS USB
Configuration 2: PIC18F87J50 PIM + HPC Explorer
Configuration 3: PIC24FJ256GB110 PIM + Explorer 16
Configuration 4: Low Pin Count USB Development
Kit
Configuration 5: PIC24F Starter Kit 1
Configuration 6: PIC18F46J50 Full Speed USB Demo Board
Configuration 7: PIC32MX USB Starter Board
1)
If using the PICDEM FS USB Demo Board, no hardware related configuration or
jumper setting changes should be necessary.
The demo board need only be programmed with appropriate firmware.
1)
Before attaching the PIC18F87J50 PIM to the HPC Explorer board, insure that the
processor selector switch (S3) is in the “ICE” position as seen in the image
below. Failure to so will result in
difficulties in getting the PIC18F87J50 PIM to sit properly on the HPC
Explorer.
2)
Short JP4 on the PIC18F87J50 PIM. This
allows the demo board to be powered through bus power.
3)
Short JP1 such that the “R” and “U” options are shorted.
4)
Before connecting the PIC18F87J50 PIM to the HPC Explorer board, remove all
attached cables from both boards.
Connect the PIC18F87J50 PIM to the HPC Explorer board. Be careful when connecting the boards to
insure that no pins are bent or damaged during the process. Also insure that the PIM is not shifted in
any direction and that all of the headers are properly aligned.
1)
Before attaching the PIM to the Explorer 16 board, insure that the processor
selector switch (S2) is in the “PIM” position as seen in the image below.
2)
Short the J7 jumper to the “PIC24” setting
3)
Before connecting the PIM to the Explorer 16 board, remove all attached cables
from both boards. Connect the PIM to the
Explorer 16 board. Be careful when
connecting the boards to insure that no pins are bent or damaged during the
process. Also insure that the PIM is not
shifted in any direction and that all of the headers are properly aligned.
3a)
If using the PIC24FJ64GB004 PIM, please insure that the programming port
switch is switched in the PGX1 direction.
4) On the USB PICTail Plus board, short jumper
JP1. Remove all other shorts on the
board.
5) Connect the USB PICTail Plus board to either
of the female PICTail Plus connectors or on the card edge connector (J9) at the
edge of the Explorer 16 board.
Note: When using the HID bootloader for PIC32, it is
important to modify the procdefs.ld file to relocate the sections of code that
will hold the bootloader and those sections that will hold the user
application. Example modified
procdefs.ld files have been provided with each project. This file is currently named
“Procdefs.ld.boot”. When using the
example project with the bootloader it is required to remove the “.boot” section
of the file. This will allow MPLAB to
use this file instead of the default linker file. Once the linker file is renamed, however, the
project will no longer work without the bootloader. Please rename the file in order to get the
project working again with PIC32.
1) Short pins 2 and 3 of J14. Make sure J12 is left open.
The PIC24F Starter Kit does not require any hardware setup
to run this demo. This demo does,
however, require the user to change the default selected device in the project
before compiling the demo.
1) Open the associated project file
for C30
2) In MPLAB Select
“Configure->Select Device”
3) In the device list box in the top
left corner of that window, select “PIC24FJ256GB106”
1) Short JP3 to allow the board to
be powered from the USB.
No specific hardware configuration is required for this
demo.
To
run this project, you will need to load the corresponding firmware into the
devices. There are two methods available
for loading the demos: Precompiled demos and source code projects.
Precompiled
Demos are available in the “<Install Directory>\USB – Precompiled Demos”
folders. Each demo should be prefaced
with the hardware platform it is compiled for.
Select the file that matches the hardware that you have and the demo
that you want to run. For more
information about how to load a precompiled project, please see the “Getting
Started – Loading a precompiled demo” guide.
The
source code for this demo is available in the “<Install Directory>\USB
Device – Generic driver” directory. In
this directory you will find all of the user level source and header files as
well as project and workspace files for each of the hardware platforms. Find the project (*.mcp) or workspace (*.mcw)
file that corresponds to the hardware platform you wish to test. Compile and program the demo code into the
hardware platform. For more help on how
to compile and program projects, please refer to the MPLAB® help available
through the help menu of MPLAB (Help->Topics…->MPLAB IDE).
Please
note that when using either the C30 or C32 demo projects you will be required
to select the correct processor for the demo board.
1) Open the associated project file
2) In MPLAB Select
“Configure->Select Device”
3) In the device list box in the top
left corner of that window, select the desired device.
The
source code for the driver and some example PC applications can be found at
“<Install Directory>\Microchip\USB\Utilities\MCHPUSB Custom
Driver\Mpusbapi”
The
generic driver (custom class) demo uses a custom class driver. Like any custom driver when first plugged
into a computer, a driver needs to be installed. When the device is plugged in to the computer
the following window will pop-up:
Continue
by selecting either options and clicking next.
If
the driver has been installed on the computer before the installation process
may complete itself without further action.
If
the driver has not been installed before on the computer, then the driver will
need to be installed. The Found New
Hardware Wizard will be looking for a *.inf file with a matching VID/PID as the
newly attached USB device. The driver
can be found in the following location: “<Install Directory>\USB
Tools\MCHPUSB Custom Driver\MCHPUSB Driver\Release”. Point the install wizard to this
directory. The install wizard should
then continue and finally complete.
Some
example PC applications which interface with the driver can be found at
“<Install Directory>\USB Tools\MCHPUSB Custom Driver\Mpusbapi”. PC applications can be written to either
directly interface with the custom class USB driver (by using standard I/O
functions like CreateFile(), ReadFile(), WriteFile(), CloseHandle()), or
indirectly through the use of mpusbapi.dll.
Mpusbapi.dll is a dynamic linked library file, which makes the process
of interfacing with the custom class USB driver (and therefore, your USB
device) somewhat simpler.
Once
the driver is installed the device can start to be used. Because this is not a standard driver class
that is supported by default in any of the operating systems, a custom
application is also required to talk to this device. There are two example applications provided
in this distribution. The first is the
legacy pdfsusb application. The second
is the MCHPUSB PnP (Plug-and-play) demo.
The
example application can be found in the “<Install Directory>\USB Device -
MCHPUSB - Generic Driver Demo\PC Software\Pdfsusb” directory.
When
the application is first launched it will look like the following.
Select
the “Demo Mode” tab.
In
the listbox at the top of the application, select the “PICDEM FS USB…”
option. If this option is not available
then the device is either not connected to the computer, the driver was not
installed correctly, or the firmware programmed into the device was not the
correct project needed to interface with the generic driver.
With
the listbox selecting the “PICDEM FS USB…” click the connect button. Once the button is clicked the application
should start reading the potentiometer and temperature data from the
hardware. The application can also
change the state of the LEDs. NOTE: the
Low Pin Count USB Development Kit does not have an on board temperature
sensor. This feature is not currently
implemented. Clicking LED3 button will
toggle LED D7 on the Explorer 16 board. Clicking LED4 button will toggle LED D8
on the Explorer 16 board. While using Explorer 16 and dsPIC33EP512MU810 or
PIC24EP512GU810 PIM, the temperature sensor and potentiometer interface are not
suported.
The
example application can be found in the “<Install Directory>\USB Device -
MCHPUSB - Generic Driver Demo\PC Software\Visual C++ 2005 Express” directory.
When
the application is launched and the MCHPUSB custom device is not attached, it
will look like the following.
Once
the device is attached the application will reflect that the device is attached
and look like the following. Moving the
potentiometer will cause the status bar of the application to move to reflect
the current value. While using Explorer 16 with dsPIC33EP512MU810 or
PIC24EP512GU810 PIM, the potentiometer interface is not supported.
The Microchip name and logo, the Microchip logo,
MPLAB, and PIC are registered trademarks of Microchip Technology Incorporated
in the
PICDEM and PICTail are trademarks of Microchip
Technology Incorporated in the
Microsoft, Windows, and Windows Vista are either
registered trademarks or trademarks of Microsoft Corporation in the
SD is a trademark of the SD Association in the
U.S.A and other countries