
Functional Description
5-110
82801AA and 82801AB Datasheet
5.17.2
AC-link Output Frame (SDOUT)
A new audio output frame begins with a low to high transition of AC_SYNC. AC_SYNC is
synchronous to the rising edge of BIT_CLK. On the immediately following falling edge of
BIT_CLK, the codec samples the assertion of AC_SYNC. This falling edge marks the time when
both sides of AC-link are aware of the start of a new frame. On the next rising edge of BIT_CLK,
the ICH transitions SDOUT into the first bit position of slot 0, or the valid frame bit. Each new bit
position is presented to the AC-link on a rising edge of BIT_CLK and subsequently sampled by the
codec on the following falling edge of BIT_CLK. This sequence ensures that data transitions and
subsequent sample points for both incoming and outgoing data streams are time aligned.
The output frame data phase corresponds to the multiplexed bundles of all digital output data
targeting codec DAC inputs and control registers. Each output frame supports up to twelve
outgoing data time slots. The ICH generates 16-bit samples and, in compliance with the AC’97
specification, pads the 4 least significant bits of valid slots with zeros.
The output data stream is sent with the most significant bit first and all invalid slots are stuffed with
zeros. When mono audio sample streams are output from the ICH, software must ensure both left
and right sample stream time slots are filled with the same data.
Output Slot 0: Tag Phase
Slot 0 is considered the tag phase. The tag phase is a special 16 bit time slot where each bit conveys
a valid tag for its corresponding time slot within the current frame. A one in a given bit position of
slot 0 indicates that the corresponding time slot within the current frame has been assigned to a data
stream and contains valid data. If a slot is tagged invalid with a zero in the corresponding bit
position of slot 0, the ICH stuffs the corresponding slot with zeros during that slot’s active time.
Within slot 0, the first bit is a valid frame bit (slot 0, bit 15) that flags the validity of the entire
frame. If the valid frame bit is set to one, this indicates that the current frame contains at least one
slot with valid data. When there is no transaction in progress, the ICH deasserts the frame valid bit.
Note that after a write to slot 12, that slot will always stay valid, and therefore the frame valid bit
will remain set.
The next 12 bit positions of slot 0 (bits [14:3]) indicate which of the corresponding twelve time
slots contain valid data. Bits [1:0] of slot 0 are used as codec ID bits to distinguish between
separate codecs on the link.
Using the valid bits in the tag phase allows data streams of differing sample rates to be transmitted
across the link at its fixed 48 kHz frame rate. The codec can control the output sample rate of the
ICH using the SLOTREQ bits as described in the AC’97 specification.
Output Slot 1: Command Address Port
The command port is used to control features and monitor status of AC‘97 functions including, but
not limited to, mixer settings and power management. The control interface architecture supports
up to 64 16-bit read/write registers, addressable on even byte boundaries. Only the even registers
(00h, 02h, etc.) are valid. Output frame slot 1 communicates control register address, and write/
read command information.
In the case of the split codec implementation, accesses to the codecs are differentiated by the driver
using address offsets 00h - 7Fh for the primary codec and address offsets 80h–FEh for the
secondary codec. The differentiation on the link, however, is done via the codec ID bits. See
Section 5.17.4
for further details.