Specifications
ESS Technology, Inc. SAM0023-122898 47
ES1869 DATA SHEET
PROGRAMMING THE ES1869
5. Set sample rate and filter clock.
Use commands 40h or 41h to set the sample rate and
filter clock divider. If you want to set the filter clock to be
independent from the sample rate, use command 42h
in addition to 40h or 41h.
For stereo transfers, set the timer divider to twice the
per-channel sample rate. The maximum stereo
transfer rate for 8-bit data is 22 kHz per channel; so for
this case, program the first timer divider as if you were
transferring data at 44 kHz mono. The maximum stereo
transfer rate for 16-bit data is 11 kHz per channel.
6. Set the block size. Only use this command (48h) with
High-Speed DMA transfer modes (commands 98h and
99h).
7. Configure the system interrupt controller and system
DMA controller.
8. Start DMA.
Start the DMA transfer by sending the command for the
desired transfer type and data length. The
uncompressed modes are shown in Table 15. See
Table 26 for a description of the commands in addition
to the commands for DMA transfers of compressed
data.
9. Delay approximately 100 milliseconds to allow the
analog circuits to settle, then enable the Audio 1 DAC
input to mixer with command D1h.
10.During DMA.
For Auto-Initialize mode, it is not necessary to send any
commands to the ES1869 at interrupt time, except to
read Audio_Base+Eh to clear the interrupt request.
For Normal mode, initialize the system DMA controller
with the address and count of the next block size if it
changes. Use command 48h. To start the next transfer,
use command D4h.
To stop DMA after the current auto-initialize block is
finished, use command D0h.
Commands such as D0h, which suspends DMA, are
acceptable to send during DMA transfers. These
commands can only be sent during certain windows of
opportunity. See “Writing Commands to ES1869
Controller Registers” on page47.
11.After DMA is finished, restore the system interrupt
controller and DMA controller to their idle state. Monitor
the FIFO Empty status flag in port Audio_Base+Ch to
be sure that data transfer is completed.
12.Issue another software reset to the ES1869 to initialize
the appropriate registers.
The maximum sample rate for Direct mode ADC is 22 kHz.
The maximum sample rate for DMA ADC for both 8-bit and
16-bit is 22 kHz, using commands 24h, 25h, 2Ch, or 2Dh.
There is a special High-Speed mode for ADC that allows
8-bit sampling up to 44 kHz. This mode uses commands
98h (auto-initialize) and 99h (normal). No AGC is
performed as the input volume is controlled with command
DDh.
Extended Mode Programming
This section describes Extended mode programming.
Commanding ES1869 Controller Registers
Controller registers are written to and read from using
commands sent to ports Audio_Base+Ch and
Audio_Base+Ah.
Commands of the format Axh, Bxh, and Cxh, where x is a
numeric value, are used for Extended mode programming
of the first audio channel.
Commands of the format Ax and Bx are used to access
the ES1869 controller registers. For convenience, the
registers are named after the commands used to access
them. For example “register A4h,” the Audio 1 Transfer
Count Reload (low-byte) register, is written to by
“command A4h.”
Enabling Extended Mode Commands
After any reset, and before using any Extended mode
commands first send command C6h to enable Extended
mode commands.
ES1869 Command/Data Handshaking Protocol
This section describes how to write commands to and read
data from the ES1869 controller registers.
Writing Commands to ES1869 Controller Registers
Commands written to the ES1869 enter a write buffer.
Before writing the command, make sure the buffer is not
busy.
Table 15 Uncompressed ADC Transfer Modes
ADC DMA Transfer Mode Data Length Command
Direct 8-bit 20h
16-bit 21h
DMA mode Normal 8-bit 24h
16-bit 25h
High-Speed 8-bit 99h
DMA mode Auto-Initialize 8-bit 2Ch
16-bit 2Dh
High-Speed 8-bit 98h










