Audio devices primarily use the Inter-Integrated
Circuit Sound (I2S) protocol for communication. I2S features a bit
clock (BCLK), a left-right clock (LRCLK), and a data line. For ease
of use, the TIDA-060031 features onboard digital logic to convert a
24-bit, right-justified I2S input into a two-frame daisy-chained SPI
output. The DACs are set up in a daisy-chain configuration. This
output is latched by the two DAC11001 devices. Figure 2-2 shows the I2S input overlaid with the desired SPI output.
There are some key design challenges to overcome
when creating the I2S-to-SPI digital logic.
- The SPI clock is inverted compared to the I2S
clock.
- The 8 most-significant bits in the I2S frame
are don't-cares while the DAC11001 requires this to
be the DAC address, 0x01. This is accomplished with the
SN74LV165APW, an 8-bit parallel load shift register.
- The four least significant bits (LSBs) for the
DAC11001 are don't-cares. This is not a major issue
as 24-bit data is common in I2S, so no shifting is
necessary.
- The LRCK is 50% duty-cycle signal, while the
DAC11001 requires an active-low chip select line. The LRCLK
is delayed and inverted, and then ANDed with the original
LRCLK to produce the CS-high pulse required by the
DAC11001s.
- An LDAC signal must be generated for the DACs
to latch the data at same time.
- The data value in I2S is a signed 24-bit
integer, while the DAC11001A requires an unsigned integer.
This means the most-significant bit of the data value must
be inverted.
The TIDA-060031
implemented I2S-to-SPI conversion using the logic shown in Figure 2-3.