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.

[参考译文] TLV320AIC3204:16位8kHz PCM 音频放大

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1468757/tlv320aic3204-16-bit-8khz-pcm-audio-amplification

器件型号:TLV320AIC3204

工具与软件:

您好!

我已经在另一篇文章中谈到了此主题、但由于其他问题而没有进一步详细介绍基本电路运行。

我正在使用我的现有电路、并且我已经在其中添加了 PDM 麦克风。 到目前为止还不错 但听我说...

编解码器的 DOUT (引脚5) 设置为馈送麦克风时钟的1.024MHz 的时钟输出。 麦克风的数据输出将其 PDM 数据发送到编解码器的 DIN (引脚4)。

在所有工作结束时、麦克风的音频被发送到调制解调器的 PCM 端口:调制解调器具有 PCM 16位、8kHz 的固定配置、并且无法更改;调制解调器必须将2.048MHz 的时钟输出到 S_BCLK (引脚32设置为输入)、并将8kHz 信号输出到 S_WCLK (引脚8设置为输入)。 结果是来自麦克风的音频进入编解码器 DIN (引脚4)、然后通过编解码器发送到编解码器的 S_DOUT (引脚11)、该引脚连接到调制解调器的 PCM 数据输入引脚。 所有这一切的工作。 我呼叫调制解调器并可以听到音频。

但是、我是否可以使用任何设置使音频"更干净"、例如 使用滤波器和双二阶滤波器或其他任何设置?  我只是没有设置不同滤波器的知识、不知道如何计算它以及它是如何工作的。

虽然这一切都可以正常工作、但是当您了解它的琐碎内容时、即使阅读手头的文档、编解码器的内部结构也非常复杂。 对不起!

此外、本底噪声似乎相当大。 听起来像是语音上面的白噪声。 理想情况下、我想增加语音范围的频率增益并降低其他频率的增益吗? 这是可行的吗? 不确定这是否有任何意义、但我需要帮助。。

以下是 P0和 P1的寄存器配置:

-第0页-
寄存器000:000 (0x00 -> 0000 0000)
寄存器001:000 (0x00 -> 0000 0000)
寄存器002:096 (0x60 -> 0110 0000)
寄存器003:000 (0x00 -> 0000 0000)
寄存器004:002 (0x02 -> 0000 0010)
寄存器005:000 (0x00 -> 0000 0000)
寄存器006:040 (0x28 --> 0010 1000)
寄存器007:000 (0x00 -> 0000 0000)
寄存器008:000 (0x00 -> 0000 0000)
寄存器009:000 (0x00 -> 0000 0000)
寄存器010:000 (0x00 -> 0000 0000)
寄存器011:143 (0x8F --> 1000 1111)
寄存器012:140 (0x8C --> 1000 1100)
寄存器013:000 (0x00 -> 0000 0000)
寄存器014:128 (0x80 ->1000 0000)
寄存器015:002 (0x02 -> 0000 0010)
寄存器016:000 (0x00 -> 0000 0000)
寄存器017:008 (0x08 -> 0000 1000)
寄存器018:129 (0x81 ->1000 0001)
寄存器019:130 (0x82 -> 1000 0010)
寄存器020:128 (0x80 -> 1000 0000)
寄存器021:001 (0x01 -> 0000 0001)
寄存器022:000 (0x00 --> 0000 0000)
寄存器023:004 (0x04 -> 0000 0100)
寄存器024:000 (0x00 --> 0000 0000)
寄存器025:007 (0x07 -> 0000 0111)
寄存器026:129 (0x81 -> 1000 0001)
寄存器027:064 (0x40 -> 0100 0000)
寄存器028:000 (0x00 -> 0000 0000)
寄存器029:000 (0x00 -> 0000 0000)
寄存器030:001 (0x01 -> 0000 0001)
寄存器031:008 (0x08 -> 0000 1000)
寄存器032:012 (0x0C --> 0000 1100)
寄存器033:009 (0x09 -> 0000 1001)
寄存器034:000 (0x00 -> 0000 0000)
寄存器035:000 (0x00 -> 0000 0000)
寄存器036:096 (0x60 -> 0110 0000)
寄存器037:102 (0x66 --> 0110 0110)
寄存器038:000 (0x00 -> 0000 0000)
寄存器039:000 (0x00 -> 0000 0000)
寄存器040:000 (0x00 -> 0000 0000)
寄存器041:000 (0x00 -> 0000 0000)
寄存器042:010 (0x0A --> 0000 1010)
寄存器043:000 (0x00 -> 0000 0000)
寄存器044:192 (0xC0 --> 1100 0000)
寄存器045:000 (0x00 -> 0000 0000)
寄存器046:000 (0x00 -> 0000 0000)
寄存器047:000 (0x00 -> 0000 0000)
寄存器048:000 (0x00 -> 0000 0000)
寄存器049:000 (0x00 -> 0000 0000)
寄存器050:000 (0x00 -> 0000 0000)
寄存器051:000 (0x00 --> 0000 0000)
寄存器052:004 (0x04 -> 0000 0100)
寄存器053:022 (0x16 -> 0001 0110)
寄存器054:003 (0x03 -> 0000 0011)
寄存器055:016 (0x10 -> 0001 0000)
寄存器056:002 (0x02 -> 0000 0010)
寄存器057:000 (0x00 -> 0000 0000)
寄存器058:000 (0x00 -> 0000 0000)
寄存器059:000 (0x00 -> 0000 0000)
寄存器060:001 (0x01 -> 0000 0001)
寄存器061:007 (0x07 -> 0000 0111)
寄存器062:000 (0x00 -> 0000 0000)
寄存器063:020 (0x14 -> 0001 0100)
寄存器064:012 (0x0C -> 0000 1100)
寄存器065:000 (0x00 -> 0000 0000)
寄存器066:000 (0x00 -> 0000 0000)
寄存器067:000 (0x00 -> 0000 0000)
寄存器068:111 (0x6f --> 0110 1111)
寄存器069:056 (0x38 -> 0011 1000)
寄存器070:000 (0x00 --> 0000 0000)
寄存器071:000 (0x00 -> 0000 0000)
寄存器072:000 (0x00 -> 0000 0000)
寄存器073:000 (0x00 -> 0000 0000)
寄存器074:000 (0x00 -> 0000 0000)
寄存器075:238 (0xEE -> 1110 1110)
寄存器076:016 (0x10 -> 0001 0000)
寄存器077:216 (0xD8 --> 1101 1000)
寄存器078:126 (0x7E --> 0111 1110)
寄存器079:227 (0xE3 ->1110 0011)
寄存器080:000 (0x00 -> 0000 0000)
寄存器081:168 (0xA8 --> 1010 1000)
寄存器082:000 (0x00 -> 0000 0000)
寄存器083:006 (0x06 -> 0000 0110)
寄存器084:000 (0x00 -> 0000 0000)
寄存器085:000 (0x00 -> 0000 0000)
寄存器086:192 (0xC0 --> 1100 0000)
寄存器087:192 (0xC0 --> 1100 0000)
寄存器088:042 (0x2A --> 0010 1010)
寄存器089:000 (0x00 -> 0000 0000)
寄存器090:016 (0x10 -> 0001 0000)
寄存器091:000 (0x00 -> 0000 0000)
寄存器092:000 (0x00 -> 0000 0000)
寄存器093:000 (0x00 -> 0000 0000)
寄存器094:000 (0x00 -> 0000 0000)
寄存器095:000 (0x00 -> 0000 0000)
寄存器096:127 (0x7F --> 0111 1111)

**其余寄存器全部设置为0。


第1页-
寄存器000:001 (0x01 -> 0000 0001)
寄存器001:000 (0x00 -> 0000 0000)
寄存器002:000 (0x00 -> 0000 0000)
寄存器003:000 (0x00 -> 0000 0000)
寄存器004:000 (0x00 -> 0000 0000)
寄存器005:000 (0x00 -> 0000 0000)
寄存器006:000 (0x00 -> 0000 0000)
寄存器007:000 (0x00 -> 0000 0000)
寄存器008:000 (0x00 -> 0000 0000)
寄存器009:060 (0x3C --> 0011 1100)
寄存器010:000 (0x00 -> 0000 0000)
寄存器011:016 (0x10 -> 0001 0000)
寄存器012:008 (0x08 -> 0000 1000)
寄存器013:008 (0x08 -> 0000 1000)
寄存器014:000 (0x00 -> 0000 0000)
寄存器015:000 (0x00 -> 0000 0000)
寄存器016:006 (0x06 -> 0000 0110)
寄存器017:006 (0x06 --> 0000 0110)
寄存器018:064 (0x40 -> 0100 0000)
寄存器019:064 (0x40 -> 0100 0000)
寄存器020:000 (0x00 -> 0000 0000)
寄存器021:000 (0x00 -> 0000 0000)
寄存器022:000 (0x00 --> 0000 0000)
寄存器023:000 (0x00 -> 0000 0000)
寄存器024:000 (0x00 --> 0000 0000)
寄存器025:000 (0x00 -> 0000 0000)
寄存器026:000 (0x00 -> 0000 0000)
寄存器027:000 (0x00 -> 0000 0000)
寄存器028:000 (0x00 -> 0000 0000)
寄存器029:000 (0x00 -> 0000 0000)
寄存器030:000 (0x00 -> 0000 0000)
寄存器031:000 (0x00 -> 0000 0000)
寄存器032:000 (0x00 -> 0000 0000)
寄存器033:000 (0x00 -> 0000 0000)
寄存器034:000 (0x00 -> 0000 0000)
寄存器035:000 (0x00 -> 0000 0000)
寄存器036:000 (0x00 -> 0000 0000)
寄存器037:000 (0x00 -> 0000 0000)
寄存器038:000 (0x00 -> 0000 0000)
寄存器039:000 (0x00 -> 0000 0000)
寄存器040:000 (0x00 -> 0000 0000)
寄存器041:000 (0x00 -> 0000 0000)
寄存器042:000 (0x00 --> 0000 0000)
寄存器043:000 (0x00 -> 0000 0000)
寄存器044:000 (0x00 -> 0000 0000)
寄存器045:000 (0x00 -> 0000 0000)
寄存器046:000 (0x00 -> 0000 0000)
寄存器047:000 (0x00 -> 0000 0000)
寄存器048:000 (0x00 -> 0000 0000)
寄存器049:000 (0x00 -> 0000 0000)
寄存器050:000 (0x00 -> 0000 0000)
寄存器051:104 (0x68 ->0110 1000)
寄存器052:192 (0xC0 --> 1100 0000)
寄存器053:000 (0x00 -> 0000 0000)
寄存器054:192 (0xC0 --> 1100 0000)
寄存器055:000 (0x00 -> 0000 0000)
寄存器056:000 (0x00 -> 0000 0000)
寄存器057:000 (0x00 -> 0000 0000)
寄存器058:000 (0x00 -> 0000 0000)
寄存器059:024 (0x18 -> 0001 1000)
寄存器060:024 (0x18 -> 0001 1000)
寄存器061:000 (0x00 -> 0000 0000)
寄存器062:000 (0x00 -> 0000 0000)
寄存器063:192 (0xC0 --> 1100 0000)

**其余的寄存器都是0。

谢谢!!

贝诺伊特

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

    尊敬的 Benoit:

    麦克风非常擅长抓取我们可能认为不会大声的噪声。 请确保您在安静的环境中进行测试、并仔细检查麦克风的规格、确保您看到的噪音可能来自麦克风。

    白噪声很难滤除、因为它具有宽带。 双二阶滤波器非常适合滤除窄带噪声。 双二阶滤波器本质上是可编程的二阶滤波器、因此增益、Q、频率等取决于您。  

    本底噪声问题是数字麦克风特有的问题还是模拟麦克风也存在的问题?

    此致、
    Jeff McPherson

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

    尊敬的 Jeff:

    本底噪声不是"本身噪声"、而是被放大的环境声音。 我将 在未来几周内尝试一些不同的事情、因为我想将音频质量从8kHz 8位提高到可能16kHz 16位、然后流式传输到数据通道、而不是蜂窝"语音"通道-语音通道也必须与我听到的音频有关、因为调制解调器有自己的语音通道传输编解码器、这就是为什么我没有其他选择、只能将16位音频传递到@ 8kHz 的原因。 我想看看我能做些什么 很可能如果我提高音频质量、我将能够获得比 IP 更好的效果。

    有关滤波、我使用了 AIC3204 CS 应用、但我在"自适应滤波"下看到了参数均衡器。 我喜欢它的外观、但如何将所有这些设置转换为页/寄存器/值?

     左上角的"采样频率"选项-我该如何将其更改为16kHz 呢?

    谢谢!

    贝诺伊特

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

    尊敬的 Benoit:

    老实说、我不是 AIC3204 EQ 页面的最大粉丝。 如果不使用 EVM、那么将结果转换为寄存器写入就会非常困难。

    相反、我会使用我们的 TI Biquad 工具:https://www.ti.com/tool/COEFFICIENT-CALC

    下面的软件与 GUI 中的软件相同。 您仍然可以像参数 EQ 一样在图中拖动。 您只需小心地设置正确的采样率和系数分辨率(对于此器件、根据每个系数的寄存器数量、为24)。

    然后实时报告系数。 然后、可将这些十六进制值复制到 I2C 主机以写入器件。

    此致、
    Jeff McPherson

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

    好的、我来试一下。 谢谢!