This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TLV320AIC3268:miniDSP I2C 接口配置

Guru**** 2399355 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/689465/tlv320aic3268-minidsp-i2c-interface-configuration

器件型号:TLV320AIC3268

您好!

我正在使用 AIC3268 miniDSP 创建一个用于多路复用器选择的立体声多路复用器组件。

多路复用器中有3个立体声通道输入和1个立体声通道输出。

下面是 PurePath Studio GDE 中的多路复用器属性:

组件接口1           {Coef=0x1B}

DSPCoefBlockStartAddr        0x1B

DSPCoefBlockStartLeng        0x1

I2CBook                                    0x50

I2CPage                                    0x1

I2CRegister                              0x74

我对 多路复用器的 I2C 接口有一些疑问:

(1) 在立体声多路复用器组件的"帮助"文档中、有一个可配置属性(运行时间): MuxSelect

如何在我们的内核驱动程序中修改此属性(选择输入通道:1或2或3)?

我尝试通过 I2C 接口读取 MuxSelect 属性、如下所示:

aic326x_codec_read[0x500174]:书籍80、第1页、偏移量0x74、值0

aic326x_codec_read[0x500175]:书籍80、页1、偏移量0x75、值0

aic326x_codec_read[0x500176]:第80页、偏移量0x76、值3

3显示了多路复用器的默认输入通道、 为什么它在偏移量0x76中?  0x74是 MSB、0x76是 LSB? miniDSP 的寄存器大小不是4字节(0x74 0x75 0x76 0x77)?

(2)如何通过 I2C 接口写入 miniDSP 寄存器?

是否有任何示例或文档?

谢谢!

BR、

Steven

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Steven、

    读取多路复用器块系数所遵循的过程是正确的、但需要考虑几个注意事项。

    多路复用器选择 存储为数据的系数类型、长度为3字节、存储在4字节时隙寄存器中、LSB 位于第三个时隙。 这就是为多路复用器读取的值存储在寄存器0x76中的原因。

    miniDSP 系数的动态变化是可能的、这种工作模式被称为自适应模式。 使用自适应模式时、miniDSP 系数存储器分为两组、一组可访问 miniDSP、另一组可访问控制接口。 基本上、这个模式使得用户能够通过控制接口将一个指令写入系数内存的一组、而 miniDSP 正在访问另一组内存。 然后、可以在系数存储器之间进行切换、以便 miniDSP 能够访问新指令。 请参阅此应用手册、了解有关此操作的详细信息。

    更新所需系数的基本步骤列表如下:

    1. 更改所需的系数寄存器。
    2. 读取 DAC/ADC 自适应系数配置寄存器并确保自适应模式被启用(在 PPS 中、这应该是缺省值)。
    3. 执行系数组的交换(将1写入位0)。
    4. 等待位0清零、这表示组已交换。
    5. 更改所需的系数、使两个组上的值保持不变。

    此致、

    Diego Melendez López í a
    音频应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Diego、
    非常感谢您的支持。
    另一个问题:
    所有系数类型的数据的长度都是3字节?
    在哪里可以找到此长度的定义?

    再次感谢!
    BR、
    Steven
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Steven、

    AIC3268具有一个具有24位 C-RAM 存储器的 miniDSP、这意味着系数将具有24位数据大小。

    此致、

     Diego Melendez López í a
      音频应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Diego、
    非常感谢!
    我可以使用 amixer utilty 动态设置 DSP 系数。
    最后一个问题:
    如您所述、我更改两个缓冲器上所需的系数。
    第4步
    4、等待位0清零、这表示组已经交换。

    换用了多长时间?
    为了保护、我会在等待就绪时添加超时。 它应该快速交换、对吧?

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Steven、

    执行 SWAP 命令后、系数组将在下一个采样周期开始时切换。 例如、在48kHz 采样率下、完成交换所需的最大时间约为20.8µs μ s。

    此致、

     Diego Melendez López í a
      音频应用工程师