Enhanced Modular I/O Subsystem (eMIOS200)
MPC5510 Microcontroller Family Reference Manual, Rev. 1
26-24
Freescale Semiconductor
Preliminary
Figure 26-19. A1 and B1 Updates at EMIOS_CADR[n] and EMIOS_CBDR[n] Reads
26.5.1.1.6
Double Action Output Compare (DAOC) Mode
In the DAOC mode the leading and trailing edges of the variable pulse-width output are generated by
matches occurring on comparators A and B, respectively.
When the DAOC mode is first selected (coming from GPIO mode) both comparators are disabled.
Comparators A and B are enabled by updating registers A1 and B1 respectively and remain enabled until
a match occurs on that comparator, when it is disabled again. In order to update registers A1 and B1, a
write to A2 and B2 must occur and the OUDIS[n] bit must be cleared.
The output flip-flop is set to the value of EDPOL when a match occurs on comparator A and to the
complement of EDPOL when a match occurs on comparator B.
MODE[6] controls if the FLAG is set on both matches or on the second match only (see
for
details).
If subsequent enabled output compares occur on registers A1 and B1, pulses will continue to be generated,
regardless of the state of the FLAG bit.
At any time, the FORCMA and FORCMB bits allow the software to force the output flip-flop to the level
corresponding to a comparison event in comparator A or B, respectively. The FLAG bit is not affected by
these forced operations.
NOTE
If registers A1 and B1 are loaded with the same value, the unified channel
behaves as if a single match on comparator B had occurred, i.e., the output
pin will be set to the complement of EDPOL bit and the FLAG bit is set.
0x000500
0x001000
0x001100
0x001250
0x001525
0x0016A0
Selected
Counter Bus
FLAG
Set Event
A
A
A
A2 (Captured)
Value
2
0xxxxxxx
Notes:
1
After input filter
2
EMIOS_CADR[n] = A2
Input Signal
1
EDPOL = 1
B1 Value
3
0x001525
0xxxxxxx
0xxxxxxx
0x001000
0x001250
0x0016A0
B2 (Captured)
Value
3
EMIOS_CBDR[n] = B1
0xxxxxxx
0x001250
A1 Value
0x001000
Read EMIOS_CADR[n]
Read EMIOS_CBDR[n
0x001100
0x001250
0x001000
0x001000
0x001250