Si2401
Preliminary Rev. 0.9
29
Low Level DSP Control
Although not necessary for most applications, the DSP
low-level control functions are available for users with
very specific applications requiring direct DSP control.
DSP Registers
Several DSP registers are accessible through the
Si2401 microcontroller via S-registers SE5, SE6, and
SE8. SE5 and SE6 are used as conduits to write data to
specific DSP registers and read status. SE8 defines the
function of SE5 and SE6 depending on whether they
are being written to or read from. Care must be
exercised when writing to DSP registers. DSP registers
can only be written while the Si2401 is on-hook and in
the command mode. Writing to any register address not
listed in Tables 18 and 19 or writing out-of-range values
is likely to cause the DSP to exhibit unpredictable
behavior.
The DSP register address is 16-bits wide, and the DSP
data field is 14-bits wide. DSP register addresses and
data are written in hexadecimal. To write a value to a
DSP register, the register address is written, and then
the data is written. When SE8 = 0x00, SE5(DADL) is
written with the low bits [7:0] of the DSP register
address, and SE6 (DADH) is written with the high bits
[15:8] of the DSP address. When SE8 = 0x01,
SE5 (DDL) is written with the low bits [7:0] of the DSP
data word corresponding to the previously written
address, and SE6 (DDH) is written with the high bits
[15:8] of the data word corresponding to the previously
written address. Example 1 illustrates the proper
procedure for writing to DSP registers.
Example1:
The user would like to program call
progress filter coefficient A2_k0 (0x15) to be 309
(0x135).
Host Command:
ATSE8=00SE6=00SE5=15SE8=01SE6=01SE5=35SE8=00
In this command, ATSE8=00 sets up registers SE5 and
SE6 as DSP address registers. SE6=00 sets the high
bits of the address, and SE5=15 sets the low bits.
SE8=01 sets up registers SE5 and SE6 as DSP data
registers for the previously-written DSP address (0x15).
SE6=01 sets the six high bits of the 14-bit data word,
and SE5=35 sets the eight low bits of the 14-bit data
word.