PIC16C745/P Microchip Technology, PIC16C745/P Datasheet - Page 57

no-image

PIC16C745/P

Manufacturer Part Number
PIC16C745/P
Description
8-Bit CMOS Microcontrollers with USB
Manufacturer
Microchip Technology
Datasheet
10.0
10.1
This section introduces a minimum amount of informa-
tion on USB. If you already have basic knowledge of
USB, you can safely skip this section. If terms like
Enumeration, Endpoint, IN/OUT Transactions, Trans-
fers and Low Speed/Full Speed are foreign to you,
read on.
USB was developed to address the increased connec-
tivity needs of PC’s in the PC 2000 specification.
There was a base requirement to increase the band-
width and number of devices, which could be attached.
Also desired were the ability for hot swapping, user
friendly operation, robust communications and low
cost. The primary promoters of USB are Intel, Com-
paq, Microsoft and NEC.
USB is implemented as a Tiered Star topology, with
the host at the top, hubs in the middle, spreading out
to the individual devices at the end. USB is limited to
127 devices on the bus, and the tree cannot be more
than 6 levels deep.
USB is a host centric architecture. The host is always
the master. Devices are not allowed to “speak” unless
“spoken to” by the host.
Transfers take place at one of two speeds. Full Speed
is 12 Mb/s and Low Speed is 1.5 Mb/s. Full Speed
covers the middle ground of data intensive audio and
compressed video applications, while low speed sup-
ports less data intensive applications.
10.1.1
Four transfer protocols are defined, each with
attributes:
- Isochronous Transfers, meaning equal time,
- Bulk Transfers are the converse of Isocho-
- Interrupt Transfers are designed to communi-
- Control Transfers are used for configuration
1999 Microchip Technology Inc.
guarantee a fixed amount of data at a fixed
rate. This mode trades off guaranteed data
accuracy for guaranteed timeliness. Data
validity is not checked because there isn’t
time to re-send bad packets anyway and the
consequences of bad data are not cata-
strophic.
nous. Data accuracy is guaranteed, but time-
liness is not.
cate with devices which have a moderate
data rate requirement. Human Interface
Devices like keyboards are but one example.
For Interrupt Transfers, the key is the desire
to transfer data at regular intervals. USB peri-
odically polls these devices at a fixed rate to
see if there is data to transfer.
purposes.
UNIVERSAL SERIAL BUS
Overview
TRANSFER PROTOCOLS
Advanced Information
10.1.2
Information communicated on the bus is grouped in a
format called Frames. Each Frame is 1 ms in duration
and is composed of multiple transfers. Each transfer
type can be repeated more than once within a frame.
10.1.3
Power has always been a concern with any device.
With USB, 5 volt power is now available directly from
the bus. Devices may be self-powered or bus-pow-
ered. Self-powered devices will draw power from a
wall adapter or power brick. On the other hand, bus-
powered devices will draw power directly from the
USB bus itself. There are limits to how much power
can be drawn from the USB bus. Power is expressed
in terms of “unit loads” ( 100 mA). All devices, includ-
ing Hubs, are guaranteed at least 1 unit load (low
power), but must negotiate with the host for up to 5
unit loads (high power). If the host determines that the
bus as currently configured cannot support a device’s
request for more unit loads, the device will be denied
the extra unit loads and must remain in a low power
configuration.
10.1.4
At the lowest level, each device controls one or more
endpoints. An endpoint can be thought of as a virtual
port. Endpoints are used to communicate with a
device’s functions. Each endpoint is a source or sink of
data. Endpoints have both an In and Out direction
associated with it. Each device must implement end-
point 0 to support Control Transfers for configuration.
There are a maximum of 15 endpoints available for
use by each full speed device and 6 endpoints for
each slow speed device. Remember that the bus is
host centric, so In/Out is with respect to the host and
not the device.
10.1.5
Prior to communicating on the bus, the host must see
that a new device has been connected and then go
through an “enumeration process”. This process
allows the host to ask the device to introduce itself,
and negotiate performance parameters, such as
power consumption, transfer protocol and polling rate.
The enumeration process is initiated by the host when
it detects that a new device has attached itself to the
bus. This takes place completely in the background
from the application process.
10.1.6
The USB specification requires a number of different
descriptors to provide information necessary to iden-
tify a device, specify its endpoints, and each endpoint’s
function. The five general categories of descriptors are
Device, Configuration, Interface, End Point and String.
FRAMES
POWER
END POINTS
ENUMERATION
DESCRIPTORS
PIC16C745/765
DS41124A-page 57

Related parts for PIC16C745/P