Enhanced Queued Analog-to-Digital Converter (eQADC)
MPC5510 Microcontroller Family Reference Manual, Rev. 1
31-74
Freescale Semiconductor
Preliminary
31.5
Initialization/Application Information
31.5.1
Multiple Queues Control Setup Example
This section provides an example of how to configure multiple user command queues.
describes how each queue can be used for a different application. Also documented in this section are
general guidelines on how to initialize the on-chip ADC, and how to configure the command queues and
the eQADC.
31.5.1.1
Initialization of On-Chip ADC
The following steps provide an example of configuring the eQADC to initialize the on-chip ADC. In this
example, commands will be sent through CFIFO0.
1. Load all required configuration commands in the RAM in such way that they form a queue; this
data structure will be referred below as Queue0.
queue able to configure the on-chip ADC.
2. Configure
Section 31.3.3.2, “eQADC Null Message Send Format Register (EQADC_NMSFR)
.”
3. Configure the eDMA to transfer data from Queue0 to CFIFO0 in the eQADC.
4. Configure
Section 31.3.3.7, “eQADC Interrupt and eDMA Control Registers 0–5
a) Set CFFS0 to configure the eQADC to generate an eDMA request to load commands from
Queue0 to the CFIFO0.
b) Set CFFE0 to enable the eQADC to generate an eDMA request to transfer commands from
Queue0 to CFIFO0; Command transfers from the RAM to the CFIFO0 will start immediately.
Table 31-41. Example Applications of Each Command Queue
Command
Queue Number
Queue Type
Running Speed
Number of
Contiguous
Conversions
Example
0
Very fast burst
time-based queue
every 2
μ
s for 200
μ
s;
pause for 300
μ
s and then
repeat
2
Injector current profiling
1
Fast
hardware-triggered
queue
every 900
μ
s
3
Current sensing of PWM
controlled actuators
2
Fast repetitive
time-based queue
every 2 ms
8
Throttle position
3
Software-triggered
queue
every 3.9 ms
3
Command triggered by
software strategy
4
Repetitive
angle-based queue
every 625 us
7
Airflow read every 30
degrees at 8000 RPM
5
Slow repetitive
time-based queue
every 100 ms
10
Temperature sensors