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.

[参考译文] TLV320AIC23:无立体声输出

Guru**** 2481465 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/826606/tlv320aic23-no-stereo-output

器件型号:TLV320AIC23

尊敬的论坛:

我已通过 SPI 对 TLV320AIC23寄存器进行如下配置:

寄存器 ID                   寄存器名称                   VAL

0xF                                    RR                                               0x0
0x0                                    LLICVC                                       0x117
0x1                                    RLICVC                                      0x117
0x2                                    LCHVC                                       0x1F9
0x3                                    RCHVC                                      0x1F9
0x4                                    AAPC                                          0x12
0x5                                    DAPC                                         0x0
0x6                                    PDC                                            0x7
0x7                                    DAIF                                            0x13
0x8                                    SRC                                            0x1c
0x9                                    DIA                                              0x1

此外:

主/从模式                     =从
正常/USB 模式                      =正常
数字音频接口模式  = DSP 模式
输入位长度                             = 16位
输入采样率                        = 96KHz
CLKIN=MCLKC=BCLK              =12.288M

 由于我选择了 DSP 模式、16位 L/R 输入@ 96KHz 并且 MCLK=BCLK=12.288M、我用96位填充了每个整帧:(16位 R)+(16位 L)+(96位填充)*96KHz =12.288Mbit/s


  _____                                                                                                                                                                                                                                                                                                                             
 |_________________________________________________________________________________________      |_________________      
   
 |P00|B15|B14|B13|B12|B11|B10|B09b|08|B07|B06|B04|B03|B02|B01|B00|B15|B14|B13|B12|B11|B10|B09b|08|B07|B06|B06|B06|B06|B06|B06|B06|B06|B06|B06|B04|B02|B04|B04|B04|B04|B04|B04|B04|B04|B04|B04|B04|B04|B04 |P00|B15|B14|B13|....

|                             L 通道                                                                                  |         R CHANNEL                                                                                   | padding                                           |


虽然我可以清楚地听到一个信道、但我无法听到另一个信道(就像静音)。 我真的无法弄清发生了什么。 有什么建议?

谢谢

F

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

    Federico、  

    奇怪的是、 您能否尝试将寄存器7更改为0x03?  

    我已经了解了您的寄存器配置、一切对我来说都是正确的。  

    您能否获得 WCLK、BCLK 和数据的示波器捕获?  使用 WCLK 上的触发器执行单次捕捉。  

    此致、

    -Steve Wilson

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

    您好 Steve、

    同时、我已将接口模式更改为:MSB 左对齐。 那么、现在我的配置是

    寄存器 ID                   寄存器名称                   VAL

    0xF                                    RR                                               0x0
    0x0                                    LLICVC                                       0x117
    0x1                                    RLICVC                                      0x117
    0x2                                    LCHVC                                       0x1F9
    0x3                                    RCHVC                                      0x1F9
    0x4                                    AAPC                                          0x12
    0x5                                    DAPC                                         0x0
    0x6                                    PDC                                            0x7
    0x7                                    DAIF                                            0x1
    0x8                                    SRC                                            0x1c
    0x9                                    DIA                                              0x1

    我将向 TLV320AIC23馈送 BCLK=MCLK=12.288。

    假设 DAIF 寄存器= 0x1、我可以听到扬声器 A 的音乐

    • 如果我将 DAIF 更改为0x11、我可以从扬声器 A 听到音乐 B
    • 如果我将 DAIF 更改为0x21、我可以听到来自扬声器 B 的音乐 A
    • 如果我将 DAIF 更改为0x31、我可以从扬声器 A 听到音乐 B

    因此、我认为数据接口工作正常、但我不知道为什么每次只有一个扬声器播放音乐、而不是来自两个扬声器。 其中一个始终为"静音"。


    我将尽快添加接口的时序规格!

    谢谢

    f//

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

    大家好

    LRCIN 和 DIN 的附加时序波形。
    +左对齐 MSB 优先。
    + BCLK=MCLK=12.288M
    +采样率96K
    + 16位数据。 我有0、用48位填充 L 和 R。 (1/96K)/(1/12.288M)/2-16位= 48。

    谢谢。

    f//

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

    Federico、  

    为了进行测试、是否可以将 BCLK 更改为3.072MHz?

    此致、

    -Steve Wilson

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

    您好 Steve、

    您是否建议使用 MCLK=BCLK=3.072M 或 MCLK=12.288M 和 BCLK=3.072M?

    如果在将 L 和 R 发送到 TLV320AIC23之前换用 L 和 R、我可以清楚地听到换用的音频曲目、但再说一次、每次一个、通常来自同一个扬声器。

    谢谢

    f//

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

    Federico、  

    我建议尝试 MCLK =12.288且 BCLK =3.072Mhz、  

    如果可行、我会再次尝试将 BCLK 频率加倍至6.144Mhz。  其中一些较旧的器件在音频串行总线上的数据格式化可能非常特别。  您描述的行为使其听起来像是第一个数据插槽正在传输、但第二个数据插槽丢失了、 因此我想看看更改 BCLK/WCLK 比率是否会有所帮助。

    此致、

    -Steve Wilson

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

    您好 Steve、

    我现在不能尝试它。 但是,就我所记得的,我已经尝试过,但没有取得任何成功。 我还尝试了所有 DAIF 可用模式、其中 blk=MCLK=122.88:左对齐、右对齐、DSP 模式和 i2c 模式、但我始终只能从一个扬声器获得声音。
    ------

    "您描述的行为使其听起来像是正在传输第一个数据插槽、但第二个数据插槽丢失了"

    我认为无论如何都不会是这样的、因为如果我将寄存器0x7 (000111)中的 LRP 位设置为0、我可以从 SPEAKER_A 中听到 TRACK_1、如果我将寄存器0x7 (000111)中的 LRP 位设置为1、我可以从 SPEAKER_A 中听到 TRACK_2
    音频质量也很好。
    ------


    我目前正在使用此评估板 链接。 因此、我认为每个连接都是正常的。
    同时考虑到、如果我将寄存器0x7 (000111)中的 LRPSWAP 位设置为0、我将从 SPEAKER_A 获得声音;如果我将寄存器0x7 (000111)中的 LRPSWAP 位设置为1、我将从 SPEAKER_B 获得声音、清除对输出链的任何疑问。

    你怎么看? 我的选项已经用完了。。。

    感谢您的帮助!

    f//

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

    Federico、

    这 是一款比较旧的器  件、但不会累加、因此功能不仅通过正常的 TI 测试和验证方法进行了测试、而且在其传送带下使用了多年、我们以前从未发现过这一问题。 您确定是否启用了输出?

    此致

    -Steve Wilson

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

    您好!

    很抱歉我的回复很晚了、但我们已经关闭了。 我同意你的看法、有些事情不会累加。

    我还尝试了以下设置:
    FPGA 上的固件负载
    2. TLV320AIC23使用上述配置对 SPI 进行编程
    3.在 TLV320AIC23编程后添加了以下伪 while 环路

    while (1){
    SPI_ACC_WRITE (SPI_ACC_REG_DAIF、0x1)
    usleep(2000000);
    SPI_ACC_WRITE (SPI_ACC_REG_DAIF、0x31);
    usleep(2000000);
    } 

    现在、我可以清楚地听到 A 型扬声器 A 和 B 型扬声器 B 的音乐。顺便说一下、我仍然无法同时听到这两种声音。 啊啊啊! 我缺少什么? 我真的不知道。

    //我当前的编程例程
    SPI_ACC_DATA0 (SPI_ACC_REG_RR、0);
    usleep(1000000);
    SPI_ACC_WRITE (SPI_ACC_REG_LLICVC、    0x117);
    SPI_ACC_WRITE (SPI_ACC_REG_RLICVC、   0x117);
    SPI_ACC_WRITE (SPI_ACC_REG_LCHVC、    0x1F9);
    SPI_ACC_WRITE (SPI_ACC_REG_RCHVC、   0x1F9);
    SPI_ACC_WRITE (SPI_ACC_REG_AAPC、      0x12);
    SPI_ACC_WRITE (SPI_ACC_REG_DAPC、      0x3);
    SPI_ACC_WRITE (SPI_ACC_REG_PDC、        0x7);
    SPI_ACC_WRITE (SPI_ACC_REG_DAIF、        0x1);
    SPI_ACC_WRITE (SPI_ACC_REG_SRC、        0x1c);
    SPI_ACC_WRITE (SPI_ACC_REG_DIA          、0x1);

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

    Federico、  

    您是否可以使用此功能到达任何地方?  我无法看到您的配置不起作用的原因。

    -Steve Wilson