WM8961
Pre-Production
Figure 41 is an example of how sequences of commands are stored and applied within the CODEC. A
number of analogue functions requiring digital control are drawn across the bottom of the diagram.
Each command contains an operation and a delay. The operation (e.g. Mute Left) contains data and
address information to write a new value to a field within a CODEC control register. Each sequence is
terminated with an EOS flag allowing several sequences at a time to be stored in RAM or ROM.
Figure 41 Definition of Sequences, Commands, Control Registers and Fields
The sequencer has the ability to write to only part of a word. This allows individual fields in the word to
be written to while leaving others untouched. This capability also simplifies software access for direct
command because the application processor no longer needs to perform a read-modify-write
operation to ensure that only the field of interest is changed.
Each command in the sequence can includes a delay value which sets the time that execution will
pause before executing the next command. To reduce memory overhead, the delay is stored as a 4-
bit delay coefficient τ. The delay is proportional to k2τ , where k=62.5ųs when MCLK=12.288MHz.
This delay is added to the inherent time it takes to carry out a read-modify-write instruction
(approximately 500 ųs).
Figure 42 shows how the control words are arranged. Each word contains the details of the write:
Address, Data and write enable. A delay value, τ, is included to control the time between writes. The
EOS flag is used to indicate that the current command is the last in the sequence and that control
should be returned to the control interface once that command is complete.
The start and length fields form a mask which allows the write to be restricted to an individual field
within the write.
The mask byte comprises of (1) start = a pointer to the LSB of the field within the word, and (2) a field
length indicating the number of bits in the field.
For example if the word format is 16-bits wide, an 8-bit mask can be used with a 4-bit bit pointer and a
3-bit length field. This would allow any 1 to 8-bit contiguous field within the word to be accessed. For
example if start=0010, and length=011, then bits 2,3,4 will be modified.
Figure 42 Control Word format
The purpose of the write control sequencer default sequences is summarised in Table 49.
WSEQ START
ADDRESS
WSEQ FINISH
ADDRESS
PURPOSE
Power up DAC to HP out
0
17
26
48
18
27
Power up LRIN to ADC
Power down
Table 49 Write Sequencer Default Sequences
PP, August 2009, Rev 3.1
w
66