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

no-image

PIC16C745/P

Manufacturer Part Number
PIC16C745/P
Description
8-Bit CMOS Microcontrollers with USB
Manufacturer
Microchip Technology
Datasheet
PIC16C745/765
10.6
To efficiently manage USB endpoint communications
the USB implements a Buffer Descriptor Table (BDT)
in register space. Every endpoint requires a 4 byte
Buffer Descriptor (BD) entry. Because the buffers are
shared between the MCU and the USB, a simple
semaphore mechanism is used to distinguish which is
allowed to update the BD and buffers in system mem-
ory. The UOWN bit is cleared when the BD entry is
“owned” by the MCU. When the UOWN bit is set to 1,
the BD entry and the buffer in system memory is
owned by the USB. The MCU should not modify the
BD or its corresponding data buffer.
The Buffer Descriptors provide endpoint buffer control
information for the USB and MCU. The Buffer Descrip-
tors have different meaning based on the value of the
UOWN bit.
The USB Controller uses the data stored in the BDs
when UOWN = 1 to determine:
The MCU uses the data stored in the BDs when
UOWN = 0 to determine:
Each endpoint has a 4 byte Buffer Descriptor and
points to a data buffer in the USB dual port register
space. Control of the BD and buffer would typically be
handled in the following fashion:
DS41124A-page 68
Data0 or Data1 PID
Data toggle synchronization enable
Number of bytes to be transmitted or received
Starting location of the buffer
Data0 or Data1 PID
The received TOKEN PID
Number of bytes transmitted or received
The MCU verifies UOWN = 0, sets the BDndAL to
point to the start of a buffer, if necessary fills the
buffer, then sets the BDndST byte to the desired
value with UOWN = 1.
When the host commands an in or out transac-
tion, the Serial Interface Engine (SIE) performs
the following:
- Get the buffer address
- Read or write the buffer
- Update the USTAT register
- Update the buffer descriptors with the packet
- Set the data 0/1 bit
- Update the byte count
- Clear the UOWN bit
The MCU is interrupted and reads the USTAT,
translates that value to a BD, where the UOWN,
PID, Data 0/1, and byte count values are checked.
ID (PID) value
Buffer Descriptor Table (BDT)
Advanced Information
1999 Microchip Technology Inc.

Related parts for PIC16C745/P