
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
560 of 808
NXP Semiconductors
UM10360
Chapter 30: LPC17xx Digital-to-Analog Converter (DAC)
5.2 Double buffering
Double-buffering is enabled only if both, the CNT_ENA and the DBLBUF_ENA bits are set
in DACCTRL. In this case, any write to the DACR register will only load the pre-buffer,
which shares its register address with the DACR register. The DACR itself will be loaded
from the pre-buffer whenever the counter reaches zero and the DMA request is set. At the
same time the counter is reloaded with the COUNTVAL register value.
Reading the DACR register will only return the contents of the DACR register itself, not the
contents of the pre-buffer register.
If either the CNT_ENA or the DBLBUF_ENA bits are 0, any writes to the DACR address
will go directly to the DACR register.
Fig 131. DAC control with DMA interrupt and timer
CNTVAL
COUNTER
PRE-BUFFER
MUX
DACR
LD
LD
LD
EN
16
16
pbus
pbus
set_intrpt
dblbuf_ena
cnt_ena
ena_cnt_and_dblbuf
pbus_wr_to_DACR
1
0
pbus
pbus
pbus_wr_toDACR
zero
DAC value
3
2
1
0
S
C
set_intrpt
pbus
pbus_wr_to_DACR
DMA_ena
intrptDMA_req