Motorola ColdFire MCF5281 User Manual page 600

Motorola microcontroller user's manual
Table of Contents

Advertisement

Register Descriptions
27.6.5.3 QADC Control Register 2 (QACR2)
QACR2 is the mode control register for queue 2. This register governs queue operating
mode and the use of completion and/or pause interrupts. Typically, these bits are written
once when the QADC is initialized and not changed thereafter.
QACR2 also includes a resume feature that selects the resumption point for queue 2 after
its operation is suspended by a queue 1 trigger event. The primary reason for selecting
re-execution of the entire queue or subqueue is to guarantee that all samples are taken
consecutively in one scan (coherency).
When subqueues are not used, queue 2 execution restarts after suspension with the first
CCW in queue 2. When a pause has previously occurred in queue 2 execution, queue
execution restarts after suspension with the first CCW in the current subqueue.
A subqueue is considered to be a stand-alone sequence of conversions. Once a pause flag
has been set to report subqueue completion, that subqueue is not repeated until all CCWs
in queue 2 are executed.
For example, the RESUME bit can be used when the frequency of queue 1 trigger events
prohibit queue 2 completion. If the rate of queue 1 execution is too high, it is best for queue
2 execution to continue with the CCW that was being converted when queue 2 was
suspended. This allows queue 2 to eventually complete execution.
The beginning of queue 2 is defined by programming the BQ2 field in QACR2. BQ2 is
usually set before or at the same time as the queue operating mode for queue 2 is selected.
If BQ2[6:0] ≥ 64, queue 2 has no entries, the entire CCW table is dedicated to queue 1, and
CCW63 is the end-of-queue 1. If BQ2[6:0] is 0, the entire CCW table is dedicated to queue
2. A special case occurs when an operating mode is selected for queue 1 and a trigger event
occurs for queue 1 with BQ2 set to 0. Queue 1 execution starts momentarily, but is
terminated after CCW0 is read. No conversions occur.
The BQ2[6:0] pointer may be changed dynamically to alternate between queue 2 scan
sequences. A change in BQ2 after queue 2 has begun or when queue 2 has a trigger pending
does not affect queue 2 until it is started again. For example, two scan sequences could be
defined as follows: The first sequence starts at CCW10, with a pause after CCW11 and an
end of queue (EOQ) programmed in CCW15; the second sequence starts at CCW16, with
a pause after CCW17 and an EOQ programmed in CCW39.
With BQ2[6:0] set to CCW10 and the continuous-scan mode selected, queue execution
begins. When the pause is encountered in CCW11, an interrupt service routine can retarget
BQ2[6:0] to CCW16. When the end-of-queue is recognized in CCW15, an internal
retrigger event is generated and execution restarts at CCW16. When the pause software
interrupt occurs again, BQ2 can be changed back to CCW10. After the end-of-queue is
recognized in CCW39, an internal retrigger event is created and execution now restarts at
CCW10.
27-16
MCF5282 User's Manual
MOTOROLA

Advertisement

Table of Contents
loading

This manual is also suitable for:

Coldfire mcf5282

Table of Contents