INTRODUCTION:
PIC-P40-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-P40-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-P40-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-P40-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.
Summary of Contents for PIC-P40-USB
Page 5: ...HARDWARE ...