ADE9000 Technical Reference Manual
UG-1098
Rev. 0 | Page 37 of 86
PAGE 15
0x800
0x880
0x87F
0x900
0x8FF
0x980
0x97F
0x9FF
0xFFF
0xF80
0xF7F
0xF00
0xEFF
PAGE 14
PAGE 3
PAGE 2
PAGE 1
PAGE 0
15
523-
050
Figure 50. Waveform Buffer Page Arrangement—for Fixed Data Rate
Samples Only
Waveform Buffer Filling Indication—Fixed Data Rate
Samples
The WFB_PG_IRQEN register allows the user to monitor if
specific pages have been filled, with one bit managing a page of
the buffer: Bit 0 manages Page 0, Bit 1 manages Page 1, and so
on. For example, if Bit 0 and Bit 3 of WFB_PQ_IRQEN are set,
the user receives an indication when the last address of Page 0,
0x87F, has been written (meaning that Page 0 is full), and when
the last address of Page 3, 0x9FF, has been written (meaning
that Page 3 is full). The PAGE_FULL bit of the STATUS0
register is set to 1 when a page enabled in the WFB_PG_IRQEN
register has been filled. The user can enable an interrupt to
occur on IRQ0 when the PAGE_FULL bit is set by setting the
PAGE_FULL bit in the STATUS0 register.
The WFB_LAST_PAGE bits in the WFB_TRG_STAT register
indicate which page was filled last when filling with fixed data
rate samples.
FIXED DATA RATE WAVEFORMS FILLING AND
TRIGGER-BASED MODES
The waveform buffer offers different filling modes to be used
with fixed data rate samples:
Stop when buffer is full
Continuous filling
allows a selection of events to trigger waveform
buffer captures, and there is an option to store the current
waveform buffer address during an event, to allow the user to
synchronize the event with the waveform samples.
The following are the waveform buffer actions that can be
associated with an event when the buffer is filling continuously:
Stop filling on trigger
Center capture around trigger
Save event address and keep filling
Stop when Buffer is Full Mode
Stop when buffer is full mode is enabled when WF_CAP_SEL = 1
and the WF_MODE[1:0] bits are equal to 00 in the WFB_CFG
register. Set the WF_CAP_EN bit in the WFB_CFG register to
start filling the buffer from Address 0x800.
When the Address Location 0xFFF in Page 15 is written, the
filling operation stops. To receive an indication when the buffer
is full, which corresponds to Page 15 being full, set Bit 15 of the
WFB_PG_IRQEN register prior to starting the capture. Then,
the PAGE_FULL bit in STATUS0 is set when the buffer is full.
This PAGE_FULL status change can be enabled to generate an
interrupt on IRQ0 as well.
To perform the next filling operation, disable the waveform
buffer by clearing the WF_CAP_EN bit of the WFB_CFG register
to 0, and enable it again by setting the same bit to 1.
Continuous Fill Mode
Continuous fill mode is enabled when WF_CAP_SEL = 1 and
WF_MODE[1:0] in the WFB_CONFIG register is equal to 1, 2,
or 3. Write the WF_CAP_EN bit in the WFB_CONFIG register
to start filling the buffer from Address 0x800.
In this mode, the waveform buffer is filled continuously. When
the entire buffer is filled up to Address Location 0xFFF, the filling
continues from Address Location 0x800 in a circular fashion.
In this mode, it is important to monitor the filling status of the
buffer using the WFB_PG_IRQEN register in conjunction with
the PAGE_FULL bit in the STATUS0 register and the
WFB_LAST_PAGE bits in the WFB_TRG_STAT register, as
described in the Waveform Buffer Filling Indication—Fixed
Data Rate Samples section. If the data is not read out of the
buffer soon enough, it is overwritten.
To stop the waveform buffer capture, read the WFB_LAST_
PAGE register, so that the page that contains the most recent
valid data is known, and then clear the WF_CAP_EN bit in the
WFB_CONFIG register to 0.
To restart the filling operation, disable the waveform buffer by
clearing the WF_CAP_EN bit of the WFB_CONFIG register if not
already cleared, and then enable it again by setting this bit to 1.
There are two variations on the continuous fill mode that stop
filling the waveform buffer based on a trigger event: stop filling
on trigger mode, and center capture around trigger mode.
These modes are selected when WF_MODE[1:0] = 1 and 2,
respectively (see the Stop Filling on Trigger section and the
Center Capture Around Trigger section for more information).