Getting Started: Running the “Device – Composite – HID + MSD” demo

Required Hardware: 1

Configuration 1: PIC18F87J50 PIM + HPC Explorer 1

Configuration 2: Explorer 16. 1

Configuring the Hardware: 1

Configuration 1: PIC18F87J50 PIM + HPC Explorer 1

Configuration 2: Explorer 16. 4

Firmware. 7

Running the Demo. 8

Trademarks: 9

## Required Hardware:

To run this project, you will need one of the following sets of hardware:

### Configuration 1: PIC18F87J50 PIM + HPC Explorer

PIC18F87J50 Plug-In-Module (PIM) (MA180021)

High pin count (HPC) Explorer (DM183022)

SD Card PICTail™ Plus Daughter Card (AC164122)

### Configuration 2: Explorer 16

PIC24FJ256GB110 Plug-In-Module (PIM) (MA240014)

Explorer 16 (DM240001)

USB PICtail Plus Daughter Card (AC164131)

SD Card PICTail Plus Daughter Card (AC164122)

## Configuring the Hardware:

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 1: PIC18F87J50 PIM + HPC Explorer

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.

5) On the SD Card PICTail Plus board, short JP1, JP2, and JP3 on the side farthest from the SD Card holder. Depending on the revision of the board you have the silk-screen on the board may incorrectly label the top as the “HPC-EXP” setting. Please ignore this silk screen and place the jumpers as described above and seen below.

6) Connect the SD Card PICTail Plus board to the HPC Explorer board. This may require the addition of female headers onto the HPC Explorer board and possibly male headers on the SD Card PICTail Plus board. Make sure when connecting the two boards together that the pin names as printed on both boards match up as they are connected.

### Configuration 2: Explorer 16

1) Before attaching the PIC24FJ256GB110 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 PIC24FJ256GB110 PIM to the Explorer 16 board, remove all attached cables from both boards. Connect the PIC24FJ256GB110 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.

4) On the SD Card PICTail Plus board, short JP1, JP2, and JP3 on the side farthest from the SD Card holder. Depending on the revision of the board you have the silk-screen on the board may incorrectly label the top as the “HPC-EXP” setting. Please ignore this silk screen and place the jumpers as described above and seen below.

5) Connect the SD Card PICTail Plus board to the HPC Explorer board in either the female PICTail Plus connectors. Attach the board in the top bay of either of the connectors.

6) On the USB PICTail Plus board, short jumper JP1. Remove all other shorts on the board.

7) 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.

Firmware:

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 – Composite – HID + MSD” 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® IDE help available through the help menu of MPLAB (Help->Topics…->MPLAB IDE).

NOTE WHEN USING THE HID BOOTLOADER (for PIC18F87J50 PIM): The “USB Device - Mass Storage - SD Card reader”, “USB Device - Mass Storage - SD Card data logger”, and “USB Device – Composite – HID + MSD” demos make use of the SD Card PICtail Daughter Board (Microchip® Direct: AC164122). This PICtail uses the RB4 I/O pin for the card detect (CD) signal, and is actively driven by the PICtail. The active drive overpowers the pull up resistor on the RB4 pushbutton (on the PIC18F87J50 FS USB Plug-In Module board). As a result, if the PIC18F87J50 is programmed with the HID bootloader, and an SD Card is installed in the socket when the microcontroller comes out of reset, the firmware will immediately enter the bootloader (irrespective of the RB4 pushbutton state). To exit the bootloader firmware, remove the SD Card from the SD Card socket, and tap the MCLR button. When the SD Card is not plugged in, the PICtail will drive the card detect signal (which is connected to RB4) logic high, which will enable the bootloader to exit to the main application after coming out of reset. Once the main application firmware is operating, the SD Card can be plugged in. The SD Card is “hot-swappable” and should be recognized by the host upon insertion. To avoid this inconvenience when using the bootloader with the PICtail, it is suggested to modify the bootloader firmware to use some other I/O pin for bootloader entry, such as RB0 (which has a pushbutton on it on the HPC Explorer board).

Running the Demo:

This demo uses the selected hardware platform as both and SD card reader and a custom HID device. It will appear to the computer as if two USB devices were attached.

For details how to run the demo for each of the functions please see the respective getting started documents: “USB Device – Mass Storage – SD Card Reader” and “USB Device – HID – Simple Custom Demo”.

NOTE: the “USB Device – HID – Simple Custom Demo” application is expecting a PID of 0x003F. Because these two different applications can’t have the same PID, this demo uses PID 0x0054. The PC application that corresponds to this application is only looking for devices with PID 0x003F so the PC application will not be able connect to this demo without modification. Modify the MY_DEVICE_ID field to "Vid_04d8&Pid_0054" and recompile

## Trademarks:

The Microchip name and logo, the Microchip logo, MPLAB, and PIC are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.

PICDEM and PICTail are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.

Microsoft, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

SD is a trademark of the SD Association in the U.S.A and other countries