Specifications
50 SAM0025A-062397 ESS Technology, Inc.
ES1879 DATA SHEET
PROGRAMMING THE ES1879
PRELIMINARY
Compatibility Mode Pro
g
rammin
g
This section describes Compatibility mode programming.
Compatibility Mode DAC Operation
1. Reset
Write 1h to port Audio_Base+6h.
To play a new sound without resetting the ES1879
beforehand when the status of the analog circuits is not
clear, mute the input to the mixer with command D3h to
prevent pops.
2. Enable stereo mode (optional).
Set bit 1 of mixer register 0Eh high. Use only DMA
mode. Clear bit 1 of mixer register 0Eh after the DAC
transfer.
3. Set sample rate and filter clock.
Use commands 40h or 41h to set the sample rate and
filter clock divider. 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.
4. Set the block size. Only use this command (48h) with
High-Speed DMA transfer modes (commands 90h and
91h).
5. Configure the system interrupt controller and system
DMA controller.
6. 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 16. See
Table 28 for a description of the commands in addition
to the commands for DMA transfers of compressed
data.
7. Delay approximately 100 milliseconds to allow the
analog circuits to settle, then enable the Audio 1 DAC
input to mixer with command D1h.
8. During DMA.
For Auto-Initialize mode, it is not necessary to send any
commands to the ES1879 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 D1h and D3h, which control the
Audio 1 DAC mixer input enable/disable status, and
command D0h, which suspends DMA, are acceptable
to send during DMA transfers. These commands can
only be sent during certain windows of opportunity. See
“Stereo DMA Transfers in Compatibility Mode” on
page 48.
9. 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. Delay 25
milliseconds to let the filter outputs settle to DC levels,
then disable the Audio 1 DAC input to the mixer with
command D3h.
10.Issue another software reset to the ES1879 to initialize
the appropriate registers.
Table 16 Uncompressed DAC Transfer Modes
DAC DMA Transfer Mode Data Length Command
Direct 8-bit 10h
16-bit 11h
DMA mode Normal 8-bit 14h
16-bit 15h
High-Speed 8-bit 91h
DMA mode Auto-Initialize 8-bit 1Ch
16-bit 1Dh
High-Speed 8-bit 90h










