Enhanced Queued Analog-to-Digital Converter (eQADC)
MPC5510 Microcontroller Family Reference Manual, Rev. 1
31-32
Freescale Semiconductor
Preliminary
31.4.1
Data Flow in the eQADC
shows how command data flows inside the eQADC system. A command message is the
predefined format in which command data is stored in the user-defined command queues. A command
message has 32 bits and is composed of two parts: a CFIFO header and an ADC command. Command
messages are moved from the user command queues to the CFIFOs by the host CPU or by the eDMA as
they respond to interrupt and eDMA requests generated by the eQADC. The eQADC generates these
requests whenever a CFIFO is not full. The FIFO control unit will only transfer the command part of the
command message to the selected ADC. Information in the CFIFO header together with the upper bit of
the ADC command is used by the FIFO control unit to arbitrate which triggered CFIFO will be transferring
the next command. Commands sent to the ADC are executed in a first-in-first-out (FIFO) basis and three
types of results can be expected: data read from an ADC register, a conversion result, or a time stamp.
NOTE
While the eQADC pops commands out from a CFIFO, it also is checking
the number of entries in the CFIFO and generating requests to fill it. The
process of pushing and popping commands to and from a CFIFO can occur
simultaneously.
The FIFO control unit expects all incoming results to be shaped in a pre-defined result message format.
shows how result data flows inside the eQADC system. Results generated on the on-chip
ADC are formatted into result messages inside the result format and calibration submodule. Results
returning from the external device are already formatted into result messages and therefore bypass the
result format and calibration submodule located inside the eQADC. A result message is composed of an
RFIFO header and an ADC result. The FIFO control unit decodes the information contained in the RFIFO
header to determine the RFIFO to which the ADC result should be sent. Once in an RFIFO, the ADC result
is moved to the corresponding user result queue by the host CPU or by the eDMA as they respond to
interrupt and eDMA requests generated by the eQADC. The eQADC generates these requests whenever
an RFIFO has at least one entry.
NOTE
While conversion results are returned, the eQADC is checking the number
of entries in the RFIFO and generating requests to empty it. The process of
pushing and popping ADC results to and from an RFIFO can occur
simultaneously.