
Chapter 9. Slave FIFOs Page 9-19
9.3 Firmware
This section describes the interface between FX2 firmware and the FIFOs. More information is
available in
Chapter 8, "Access to Endpoint Buffers."
9.3.1 Firmware FIFO Access
FX2 firmware can access the slave FIFOs using four registers in XDATA memory: EP2FIFOBUF,
EP4FIFOBUF, EP6FIFOBUF, and EP8FIFOBUF. These registers can be read and written directly
(using the MOVX instruction), or they can serve as sources and destinations for the dual Auto-
pointer mechanism built into the EZ-USB FX2 (see Section 8.8.
"Autopointers"
).
Additionally, there are a number of FIFO control and status registers: Byte Count registers indicate
the number of bytes in each FIFO; flag bits indicate FIFO fullness, mode bits control the various
FIFO modes, etc.
This chapter focuses on the registers and bits which are specific to slave-FIFO operation; for a
fuller description of all the FIFO registers, see
Chapter 8 "Access to Endpoint Buffers"
and
Chapter
15, "Registers."
For proper operation as described in this chapter, FX2 firmware
must
set the DYN_OUT and
ENH_PKT bits (REVCTL.0 and REVCTL.1) to 1.
Table 9-3. Registers Associated with Slave FIFO Firmware
EPxCFG INPKTEND
EPxFIFOCFG EPxFIFOIE
EPxAUTOINLENH/L EPxFIFOIRQ
EPxFIFOPFH:L INT2IVEC
EP2468STAT INT4IVEC
EP24FIFOFLGS INTSETUP
EP68FIFOFLGS IE
EPxCS IP
EPxFIFOFLGS INT2CLR
EPxBCH:L INT4CLR
EPxFIFOBCH:L EIE
EPxFIFOBUF EXIF
REVCTL (bits 0 and 1
must
be initialized to 1 for operation as described in this chapter)
Comentarios a estos manuales