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.

[参考译文] Linux/TLV320AIC3100:在较低的比特率(如16000hz)下失败

Guru**** 2460390 points
Other Parts Discussed in Thread: TLV320AIC3100

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/752361/linux-tlv320aic3100-arecord-fails-with-lower-bitrates-like-16000hz

器件型号:TLV320AIC3100

工具/软件:Linux

您好!

我正在使用 AM335x 定制板。

我的 arecord 功能有问题。
我能够以较高的速率记录、比如44100hz。 但当谈到较低的速率时、它会失败。

IE、

"arecord --device=plughw:0、0 --format S16_LE --rate 44100 -C1 --duration =5 test.wav"工作正常。 我已验证播放。 其他比特率也更高。

但是、当涉及到时
"arecord --device=plughw:0、0 --format S16_LE --rate 16000 -C1 --duration =5 test.wav",录音在1秒超时之前结束,我只能听到一个噪音。

记录较低速率背后的问题是什么? 我可以播放16000hz 音频示例。 但不记录。

____________________________________________________________________________________________
root@azeem-:~# cat /etc/asound.conf
PCM.!DEFAULT{
类型插头
从器件{
PCM"硬件:0、0"

CTL.!DEFAULT{
键入 HW
卡0

_________________________________________________________________________________________

****播放硬件设备列表****
卡0:PLAYERU [PLAYERU]、设备0:回放 tlv320aic31xx-hifi-0[]
子设备:1/1
子设备#0:子设备#0
root@azeem-:~#
_________________________________________________________________________________________

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我提供更多的记录持续时间、我可以看到这一点。

    "超限!!! (至少16.177 ms 长)
    超赞!!! (至少39.360ms 长)"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Azeem、

    在编解码器方面、我看不到出现这种情况的原因。 TLV320AIC3100 EVM 可实现16kHz 采样率、而不会出现任何问题。
    让我在 AM335x 团队中寻求帮助。 我对该板不够熟悉、无法对此进行大量评论。

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

    您是否使用 AM335x TI PSDK Linux? 如果是、是哪个版本?

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

    是的、

    版本:4.1.18+gitAUTOINC+bbe8cfc1da-r22c

    此致
    Azeem

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

    这是 Linux 内核版本。 我需要您使用的 PSDK 版本。 最新版本为5.01

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

    Pavel、

    很抱歉、我忘记粘贴详细信息。

    TI-PROCESSOR-SDK-LINUX-AM335x-EVM-04.01.00.06

    PROCESSOR-SDK-LINUX-02.00.02


    此致、
    Azeem

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

    您是否对此有更新?

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

    Azeem、

    我在 AM335x Starterkit 板上测试了16KHz 记录、工作正常。 我还查看了 AM335x McASP 用户指南、我发现支持的采样率为16KHz:

    processors.wiki.ti.com/.../AM335x_Audio_Driver's_Guide

    是否可以为我提供启用了详细选项的控制台输出? 下面是我拥有的内容:

    e2e.ti.com/.../arecord_5F00_16k.txt

    您是否还可以向我提供 DTS 文件以供审核?

    同时、您可以检查以下指针是否会有所帮助:

    如果出现问题:

    -如属 XRUN (欠下或超限)

    - ALSA 周期大小必须与 FIFO 深度(TX/Rx 编号)对齐

    芯片勘误表、通报1.0.38 McASP:McASP 到 EDMA 同步电平事件可能会丢失

    此致、
    帕维尔

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

    您好、Pavel、

    感谢您的快速响应。  

    以下是您需要的信息。 在使用上述"asound.conf"文件之前、我遇到了16000hz 比特率回放问题。 因此、我修改了该文件、现在可以播放16000hz 比特率、但在录制方面仍然没有任何结果。 我附上了我最新的"asound.conf"。

    请参阅随附的文件。

    a. A 记录输出。

     e2e.ti.com/.../0753.arecord_5F00_veribose.txt

    2. DTS 文件已修整

    e2e.ti.com/.../2728.trimmed_5F00_dts_5F00_file.txt

    3. asound.conf 文件

    e2e.ti.com/.../7610.asound.conf.txt

    谢谢、此致

    Azeem

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

    您说过您使用的是 ti-processor-sdk-linux-am335x-evm-04.01.00.06。 此 PSDK 版本附带内核4.9.41。 能否仔细检查您使用的 PSDK 版本? 因为内核4.1.18附带 PSDK 2.00.02

    此外、在 arecord_veribode.txt 文件中、我看到采样率从16000更改为11025、这不受 McASP 音频驱动程序支持。 在16KHz 模拟用例期间、您应该使用示波器测量 McASP1_FSX 引脚上的确切频率。

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

    Pavel、

    很抱歉再次出现混淆。
    是的、我们使用的是 PROCESSOR-SDK-LINUX-02.00.02。


    谢谢、此致
    Azeem

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

    我在 PROCESSOR-SDK-LINUX-02.00.02中检查 asound.conf 文件、它是空文件。 Ascendrc (或 asound.conf)是一个配置文件、从技术上讲、音频在 Linux 中不是必需的、但它是根据特定系统的音频需求定制的强大工具。 路由和采样率转换是可通过 Ascendrc 配置的属性示例。
    AM335x EVM 和 Starterkit 音频在空的 asound.conf 文件中工作正常。 在 asound.conf 文件中、您的电路板和 TI 电路板之间需要存在哪些差异? 有关此文件的更多信息、请检查以下指针:

    processors.wiki.ti.com/.../Sitara_SDK_Linux_Audio_ALSA_User_Space
    www.alsa-project.org/.../Asoundrc


    另外、在 DTS 文件中、我看到以下行:

    兼容="ti、playeru-audio-revB";

    在 AM335x TI 电路板上、我们有:

    兼容="ti、DA830-EVM-AUDI";

    这个"ti、DA830-EVM-AUDI"指向 Linux 内核/sound/soc/codec/Davinci/Davinci-evm.c 文件、其中处理 AIC3x (AIC3106)编解码器。 确保您已为 AIC3100编解码器修改了 DaVinci-EVM.c。 另请参阅以下 Wiki 页面:

    processors.wiki.ti.com/.../Sitara_Linux_Audio_Porting_Guide
    processors.wiki.ti.com/.../Sitara_Linux_Audio_DAC_Example


    我还建议您测量帧同步和位时钟引脚、并验证这些引脚上的时钟频率是否正确和预期。

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您没有与 e2e 主题相关的问题、请关闭/验证/解决此主题。

    此致、
    帕维尔