音频器件主要使用集成电路间音频 (I2S) 协议进行通信。I2S 具有位时钟 (BCLK)、左右时钟 (LRCLK) 和数据线。为便于使用,TIDA-060031 采用板载数字逻辑将 24 位、右对齐的 I2S 输入转换为双帧菊花链式 SPI 输出。DAC 设置为菊花链配置。该输出由两个 DAC11001 器件锁存。图 2-2 显示了与所需 SPI 输出重叠的 I2S 输入。
在创建 I2S 转 SPI 数字逻辑时,需要克服一些关键设计挑战。
- SPI 时钟与 I2S 时钟相比反转。
- I2S 帧中的 8 个最高有效位不用考虑,而 DAC11001 要求该位是 DAC 地址 0x01。这通过 8 位并行负载移位寄存器 SN74LV165APW 实现。
- DAC11001 的四个最低有效位 (LSB) 不用考虑。这不是大问题,因为 24 位数据在 I2S 中很常见,因此不需要移位。
- LRCK 为 50% 占空比信号,而 DAC11001 需要一条低电平有效芯片选择线路。LRCLK 会延迟并反转,然后与原始 LRCLK 进行“与”运算,以产生 DAC11001 所需的 CS 高脉冲。
- 必须生成 LDAC 信号以使 DAC 同时锁存数据。
- I2S 中的数据值是有符号 24 位整数,而 DAC11001A 需要无符号整数。这意味着必须反转数据值的最高有效位。
TIDA-060031 使用 图 2-3 中所示的逻辑实现了 I2S 到 SPI 转换。