![NXP Semiconductors LPC43Sxx Скачать руководство пользователя страница 707](http://html1.mh-extra.com/html/nxp-semiconductors/lpc43sxx/lpc43sxx_user-manual_1721827707.webp)
UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
707 of 1441
NXP Semiconductors
UM10503
Chapter 25: LPC43xx/LPC43Sxx USB0 Host/Device/OTG controller
fetch the operating context needed to handle a request from the host without the need to
follow the linked list, starting at the dQH when the host request is received. After the
device has loaded the dTD, the leading data in the packet is stored in a FIFO in the device
controller. This FIFO is split into virtual channels so that the leading data can be stored for
any endpoint up to six endpoints for the LPC43xx USB0.
After a priming request is complete, an endpoint state of primed is indicated in the
ENDPTSTATUS register. For a primed transmit endpoint, the device controller can
respond to an IN request from the host and meet the stringent bus turnaround time of High
Speed USB. Since only the leading data is stored in the device controller FIFO, it is
necessary for the device controller to begin filling in behind leading data after the
transaction starts. The FIFO must be sized to account for the maximum latency that can
be incurred by the system memory bus. On the LPC43xx, 128 x 36 bit dual port memory
FIFOs are used for each IN endpoint.
25.10.6.2 Priming receive endpoints
Priming receive endpoints is identical to priming of transmit endpoints from the point of
view of the DCD. At the device controller the major difference in the operational model is
that there is no data movement of the leading packet data simply because the data is to
be received from the host. Note as part of the architecture, the FIFO for the receive
endpoints is not partitioned into multiple channels like the transmit FIFO. Thus, the size of
the RX FIFO does not scale with the number of endpoints.
25.10.7 Interrupt/bulk endpoint operational model
The behaviors of the device controller for interrupt and bulk endpoints are identical. All
valid IN and OUT transactions to bulk pipes will handshake with a NAK unless the
endpoint had been primed. Once the endpoint has been primed, data delivery will
commence.
A dTD will be retired by the device controller when the packets described in the transfer
descriptor have been completed. Each dTD describes N packets to be transferred
according to the USB Variable Length transfer protocol. The formula and table below
describe how the device controller computes the number and length of the packets to be
sent/received by the USB.The results vary according to the total number of bytes and
maximum packet length (wMaxPacketSize).
With Zero Length Termination (ZLT) = 0
N = INT(Number Of Bytes/wMaxPacketSize) + 1
With Zero Length Termination (ZLT) = 1
N = CEILING(Number Of Bytes/wMaxPacketSize)
Table 512. Variable length transfer protocol example (ZLT = 0)
Bytes (dTD)
Max Packet Length
(dQH)
N
P1
P2
P3
511
256
2
256
255
-
512
256
3
256
256
0
512
512
2
512
0
-