PIC-P28-USB development board
Users Manual
Rev.A, June 2007
Copyright(c) 2007, OLIMEX Ltd, All rights reserved
INTRODUCTION:
PIC-P28-USB board was designed in mind to create board which to
allow easy interface for your embedded projects to computers with
USB. It’s based around the popular FTDI chips FT232.
Some of you will say: wait a minute why to use additional expensive
chip to interface my PIC to USB when I have seen on Microchip’s web
site that there are PICs with buid-in USB controller as peripheral?
Here is the catch: USB (Universal Serial Bus) was created by the big
boys: Microsoft, Intel, NXP, HP, NEC (you can find more info at
www.usb.org)
and it’s really great way to add peripherals to PC
computers as it carry both data signals and power supply, but as it’s
universal the programming of USB device is not easy job. The USB
interface is simple host-device interface. On the PC there is HOST
controller which provide the power and make the communication, but
because on the USB there are so many type of peripherals which are
supported like: Human interface devices – like mouse, joysticks,
tablets etc, Communication Devices like modems, links, routers etc.,
Image devices – like scanners, web cameras, etc, Mass storage devices
like hard drives, flash memories etc, Audio devices like microphones,
and speakers, you can imagine that writing the USB host controller
software is not easy job and there are several programming layers for
the USB stack i.e. host your application code will have the access to
the different peripherals. So one USB host stack may consist of many
tenths of thousands for high level language code.
At the USB device side the code is not so complicated as at least you
implement not all communication protocols for the devices mentioned
above, but only your device code, but it’s still not small code, and why
you should spend your time to write 1000 lines of code when you want
to make simple old good RS232 send and receive byte??? No much
sense I guess, but wait there is another catch when you plug the USB
device the host assign it an number which is used later to distinguish
it from the other USB devices connected to the computer. To make
the driver installation easier every USB product manufacturer should
have his own assigned VENDOR-CODE so far so good, this means when
you plug your Genius web camera Windows know which driver to
install. The bad for you is that to get this VENDOR-CODE you have to
pay US $1500.00 to USB.ORG guys, not bad business at all huh? To
sell numbers? If you decide to make thousands of USB devices it’s
good idea to have such vendor code, but what if you want to make one
small prototype which you want to connect to USB?
Now after reading all above you should not be surprised that FTDI Inc.
who created USB to RS232 chip FT232 is very popular – they give you
simple solution to connect to USB without knowing all the stuff behind
it, without paying upfront for USB vendor code and using the good old
fashioned RS232 way to program in your PIC. On their web there are
drivers for Windows version XYZ, Linux, Mac OS etc., so you can
interface your project to machines running all these operating systems
with small piece of code in the PIC.
PIC-P28-USB have FT232 USB-to-RS232 converter IC on board.
The power is taken from the USB so no need for external power supply
adapter. Note that when you plug your USB cable there is process of
USB enumeration and the power supply to PIC is supplied only when
USB host successfully enumerate your PIC-P28-USB so power to PIC
come with 1-2 seconds delay
The on-board ICSP connector allow you to program the PIC on the
board without pulling it of the socket, by ICSP programmer like PIC-
MCP, PIC-MCP-USB, PIC-PG1, PIC-PG2, PIC-PG3, PIC-PG4 or to
program and debug it with PIC-ICD2, PIC-ICD2-POCKET or PIC-ICD2-
TINY.
IMPORTANT: all programmers provide power supply through
ICSP connector during the programming PIC-P28-USB should not be
connected to USB. Of course PIC-ICD2 have option to not power the
target circuit and this option should be used when you debug your
application while connected to USB.
The oscillator circuit is made with 20 Mhz crystal oscillator, so you
can run your PIC at maximum performance.
The RESET circuit is made with simple RC circuit. Note that RESET
button should not be pressed while you program or debug the PIC!
PIC-P28-USB have user button for user input connected to PIC
microcontroller’s RA5 port. When RA5 port is initialized as INPUT you
will read “0” when the button is pressed and “1” when it is depressed.
Status LED is connected via jumper to PIC microcontroller’s RA0 port.
When your RA0 port is initialized as OUTPUT and set to “0” LED will
go ON, when RA0 port is set to “1” LED will go OFF.
PIC-P28-USB have handy GND pin for connection to oscilloscope.
All modem signals from FT232 are provided and could be used.
PIC-P28-USB have socket for I2C EEPROM which are connected to
RC4-SDA and RC3-SCL
FEATURES:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
ICSP/ICD connector for programming and debugging
FT232 USB-to-RS232 converter
DIL28 microcontroller socket
DIL8 EEPROM socket
Quartz crystal 20Mhz
LED to RA0 through jumper
user Button to RA5
Reset button and circuit
USB type B connector
Extension slot on every uC pin
Gird 100 mils
GND bus
Vcc bus
Four mounting holes 3,3 mm (0,13")
FR-4, 1.5 mm (0,062"), green soldermask, white silkscreen component print
Dimensions 100x80 mm (3,9x3,15")
All boards produced by Olimex are ROHS compliant
HARDWARE: