Basic Operation
856
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Analog To Digital Converter (ADC) Module
22.2.1.9.1 Reading Conversion Results from a FIFO
The conversion results for each group can be accessed via a range of addresses provided to facilitate the
use of the ARM Cortex-R4 CPU’s Load-Multiple (LDM) instruction. A single read performed using the LDR
instruction can also be used to read out a single conversion result. The results are read out from the
group’s memory region as a FIFO queue by reading from any location inside this address range. The
conversion result that got stored first gets read first. A result that is read from the memory in this method
is removed from the memory. For example, a read from any address in the range ADEVBUFFER (offset
90h to AFh) pulls out one conversion result from the Event Group memory.
Figure 22-4. Format of Conversion Result Read from FIFO, 12-bit ADC
Offset Address
Register
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x90 to 0xAF
ADEVBUFFER
EV_
EMPTY
Reserved
EV_CHID
Reserved
EV_DR
0xB0 to 0xCF
ADG1BUFFER
G1_
EMPTY
Reserved
G1_CHID
Reserved
G1_DR
0xD0 to 0xEF
ADG2BUFFER
G2_
EMPTY
Reserved
G2_CHID
Reserved
G2_DR
Figure 22-5. Format of Conversion Result Read from FIFO, 10-bit ADC
Offset Address
Register
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0x90 to 0xAF
ADEVBUFFER
Reserved
EV_
EMPTY
EV_CHID
EV_DR
0xB0 to 0xCF
ADG1BUFFER
Reserved
G1_
EMPTY
G1_CHID
G1_DR
0xD0 to 0xEF
ADG2BUFFER
Reserved
G2_
EMPTY
G2_CHID
G2_DR
Option to read channel id along with conversion result:
The application has an option to read the channel id along with the conversion result. This is controlled by
the CHID field of the group’s mode control register. If the option to read the channel id is not selected, the
channel id field of the conversion result reads as zeros.
Protection against reading from empty FIFO:
There is also a hardware mechanism to protect the application from reading past the number of new
conversion results held in the FIFO. Once all available conversion results have been read out of the FIFO
by the application, a subsequent read from the FIFO causes the mechanism to indicate that the FIFO is
empty by setting the EMPTY field.
Debug / Emulation Support:
For debug purposes, each conversion group also provides an address that the application can read from
for extracting the group’s conversion results. However, no status flags for a conversion group are affected
by reading from these emulation buffer addresses. For example, reading from ADEVEMUBUFFER (offset
F0h) returns the next result in the Event Group buffer but does not actually remove that result from the
buffer or change the amount of data held in the buffer.