wm9090 Wolfson Microelectronics plc, wm9090 Datasheet - Page 36

no-image

wm9090

Manufacturer Part Number
wm9090
Description
Ultra Low Power Audio Subsystem
Manufacturer
Wolfson Microelectronics plc
Datasheet
WM9090
w
Table 19 Write Sequencer Control - Initiating a Sequence
PROGRAMMING A SEQUENCE
A sequence consists of write operations to data bits (or groups of bits) within the control registers.
The Register fields associated with programming the Control Write Sequencer are described in Table
20.
For each step of the sequence being programmed, the Sequencer Index must be written to the
WSEQ_WRITE_INDEX field. The values 0 to 15 correspond to all the available RAM addresses
within the Write Sequencer memory. (Note that memory addresses 16 to 58 also exist, but these are
ROM addresses, which are not programmable.)
Having set the Index as described above, Register R71 must be written to (containing the Control
Register Address, the Start Bit Position and the Field Width applicable to this step of the sequence).
Also, Register R72 must be written to (containing the Register Data, the End of Sequence flag and
the Delay time required after this step is executed). After writing to these two registers, the next step
in the sequence may be programmed by updating WSEQ_WRITE_INDEX and repeating the
procedure.
WSEQ_ADDR is an 8-bit field containing the Control Register Address in which the data should be
written.
WSEQ_DATA_START is a 4-bit field which identifies the LSB position within the selected Control
Register to which the data should be written. For example, setting WSEQ_DATA_START = 0100 will
select bit 4 as the LSB position; in this case, 4-bit data would be written to bits 7:4 and so on.
R70 (46h)
Write
Sequencer 0
R73 (49h)
Write
Sequencer 3
R74 (4Ah)
Write
Sequencer 4
R75 (4Bh)
Write
Sequencer 5
REGISTER
ADDRESS
BIT
5:0
5:0
8
9
8
0
WSEQ_ENA
WSEQ_ABORT
WSEQ_START
WSEQ_START_
INDEX [5:0]
WSEQ_BUSY
(read only)
WSEQ_CURRE
NT_INDEX [5:0]
(read only)
LABEL
DEFAULT
00_0000
00_0000
0
0
0
0
Write Sequencer Enable
0 = Disabled
1 = Enabled
Writing a 1 to this bit aborts the
current sequence and returns control
of the device back to the serial
control interface.
Writing a 1 to this bit starts the write
sequencer at the memory location
indicated by the
WSEQ_START_INDEX field. The
sequence continues until it reaches
an “End of sequence” flag. At the
end of the sequence, this bit will be
reset by the Write Sequencer.
Sequence Start Index. This is the
memory location of the first
command in the selected sequence.
0 to 15 = RAM addresses
16 to 58 = ROM addresses
59 to 63 = Reserved
Sequencer Busy flag (Read Only).
0 = Sequencer idle
1 = Sequencer busy
Note: it is not possible to write to
control registers via the control
interface while the Sequencer is
Busy.
Sequence Current Index. This is the
location of the most recently
accessed command in the write
sequencer memory.
PP, January 2010, Rev 3.0
DESCRIPTION
Pre-Production
36

Related parts for wm9090