ST7267C8 ST7267R8
106/189
When the AutoSet (INCSRM) feature is enabled,
the IPR bit (INCSRL.bit0) will be automatically set
when a packet of INMAXPR bytes has been load-
ed into the FIFO. This is particularly useful when
DMA is used to load the FIFO as it avoids the need
for any processor intervention when loading indi-
vidual packets during a large Bulk transfer.
10.5.12 Bulk OUT Endpoint
A Bulk OUT endpoint is used to transfer non-peri-
odic data from the host to the function controller.
Three optional features are available for use with a
Bulk OUT endpoint:
■ Double packet buffering
If the value written to the OUTMAXP register is
less than, or equal to, half the size of the FIFO al-
located to the endpoint, double packet buffering
will be automatically enabled. When enabled, up
to two packets can be stored in the FIFO.
■ DMA
If DMA is enabled for the endpoint, a DMA request
will be generated whenever the endpoint has a
packet in its FIFO. This feature can be used to al-
low an external DMA controller to unload packets
from the FIFO without processor intervention.
■ AutoClear
When the AutoClear feature is enabled, the OPR
bit (OutCSR.D0) will be automatically cleared
when a packet of OUTMAXP bytes has been un-
loaded from the FIFO. This is particularly useful
when DMA is used to unload the FIFO as it avoids
the need for any processor intervention when un-
loading individual packets during a large Bulk
transfer.
10.5.13 Interrupt IN Endpoint
An Interrupt IN endpoint is used to transfer period-
ic data from the function controller to the host.
An Interrupt IN endpoint uses the same protocol
as a Bulk IN endpoint and can be used the same
way. However, though DMA can be used, it offers
little benefit as Interrupt endpoints are usually ex-
pected to transfer all their data in a single packet.
Interrupt IN endpoints also support one feature
that Bulk IN endpoints do not, in that they support
continuous toggling of the data toggle bit. This fea-
ture is enabled by setting the FDT bit in the INCS-
RM register. When this bit is set to 1, the USB con-
troller will consider the packet as having been suc-
cessfully sent and toggle the data bit for the end-
point, regardless of whether an ACK was received
from the host.
10.5.14 Interrupt OUT endpoint
An Interrupt OUT endpoint is used to transfer peri-
odic data from the host to a function controller.
An Interrupt OUT endpoint uses almost the same
protocol as a Bulk OUT endpoint and can be used
the same way. The one difference is that Interrupt
endpoints do not support PING flow control. This
means that the USB controller should never re-
spond with a NYET handshake, only ACK/NAK/
STALL. To ensure this, the DNY bit in the OUTC-
SRM register should be set to 1 to disable the
transmission of NYET handshakes in High-speed
mode.
Though DMA can be used with an Interrupt OUT
endpoint, it generally offers little benefit as Inter-
rupt endpoints are usually expected to transfer all
their data in a single packet.