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.

[参考译文] CC1311R3:PDM 到 PCM 驱动器

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1226419/cc1311r3-pdm-to-pcm-driver

器件型号:CC1311R3
主题中讨论的其他器件: CC1310SysConfig

你(们)好。

我们尝试使用 CC1311R3连接到 PDM-MIC。  

我的问题是、我可以 在 SDK (SimpleLink CC13xx CC26xx SDK (7.10.00.98))中找到一个驱动程序"pdm2pcm_cc26x2_ticlang.asm"、但 PCM 中产生了很大的噪声。

您是否知道/知道 CC1311R3的驱动程序(PDM 至 PCM)?

谢谢。

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

    大家好

    此处记录了我们的 PDM 驱动程序:

    PDMCC26XX.h 文件参考(TI.com)

    您是否注意到以下情况:

    "在器件脱离高频外部振荡器(XOSC_HF)之前、请勿开始传输数据。 需要 XOSC_HF 来生成无抖动的 I2S 音频时钟。 当切换到 XOSC_HF 时、错过了多个 SCLK_HF 时钟周期、因此音频时钟周期也会消失。 抖动和缺少音频时钟周期都会导致音频噪声性能出现严重降级! 默认情况下、器件在启动后关闭高频 RC 振荡器(RCOSC_HF)。 设置对 XOSC_HF 的依赖、以使其打开、并在就绪时切换到 XOSC_HF。 注册开关后 XOSC_HF 的功率通知。 等待直到这个通知发生后调用 PDMCC26XX_startStream ()。 从待机模式唤醒时、如果在进入待机模式之前设置了依赖关系、则会自动打开并切换到 XOSC_HF。 再一次、只有  在通知应用程序切换到 XOSC_HF 后才调用 PDMCC26XX_startStream ()。  PDMCC26XX_OPEN () 在运行 XOSC_HF 之前可被调用。"

    Siri.

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

    你好、Siri

    非常感谢您的帮助、很抱歉回复延迟。

    我已经尝试切换到 XOSC_HF 并等待通知、然后 调用 PDMCC26XX_startStream ()、 但是它不工作。 我仍然具有很大的本底噪声。  

    还尝试调用 OSCClockSourceGet ()来再次检查它是否使用 XOSC_HF。  

    还有其他原因吗?

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

    已尝试、将 D-MIC 连接到 CC1310 EVK 并使用适用于 CC1310的 PDM 驱动程序、这种情况下没有任何问题。

    我认为问题在于 CC1311的 PDM 驱动程序。  还尝试禁用了所有其他 IRQ 和外设、它不起作用...

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

    我需要一些时间来和研发部门核实这一点  同时、您是否有  CC13xx CC26xx SDK 支持的任何其他 CC13xx 器件、以便可以测试问题是与 SDK 本身还是与 CC1311有关。

    Br

    Siri.

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

    我与研发部门进行了接洽、自2018年以来对 PDM 驱动程序进行的唯一重大改动是一年前对 PIN->GPIO 进行了更新。

    测试 CC1310时、您要使用哪个 CC13x0 SDK 进行测试?

    此外、除了尝试 CC1311之外的其他 LP (如果您有)、还可以尝试另一版本的

    CC13xx CC26xx SDK 来查看这是否只是7.10中的一个问题?

    您在 CC1310上运行的代码是否与在 CC1311上运行的代码相同、但使用的 SDK 不同吗?

    尝试让示例尽可能相似、以便更轻松地找出导致 CC1311问题的原因。

    当您有一个小型演示、在不同的器件上给出不同的结果时、您可以与我们共享代码、以便我们来看看。 对于 CC1311、您需要共享 SysConfig 文件和应用程序代码。

    下面是 R&D 的一些建议、关于您在使用此驱动器时应该测试什么/应该如何测试:

    "他们是否尝试过查看频谱内容并将其与发送的内容进行比较? 在确定音频内容本身为什么会有噪声时、我通常会设置如下流水线:

    1. 生成所需频率范围(50Hz 至8kHz 或16kHz、具体取决于配置)下的 PCM 频率扫描
    2. 将 PCM 频率扫描转换为 PDM 编码
    3. 通过 I2S 将 PDM 内容从另一个 DUT 发送到 DUT、或使用所需的滤波器将 PDM 数据直接输入 pdm2pcm 汇编函数。
    4. 检索从 DUT (通过驱动程序或汇编代码)接收到的 PCM 内容、并将其下载到 PC 上
    5. 现在您必须处理 PCM 文件。 主文件和导数文件、然后再馈入系统。
    6. 看看两个序列的频率频谱。 主文件应具有平坦的线作为频谱、因为它是我们生成的纯扫描。 导数文件应该是它的近似值。 "

     Siri.

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

    我不知道原因、但如果我使用 GNU 编译器(v9.2.1)来破坏我的项目、它会起作用(没有任何噪声)、但如果我使用 TI Clang v2.1.2.LTS、它会产生噪声。

    也许有任何构建配置错误吗?  顺便说一下、我使用的是 SimpleLink CC13xx CC26xx SDK - 7.10.00.98、我的代码基于空项目(我只需添加 PDM 驱动器来捕捉 D-MIC 中的数据、并添加 UART 驱动程序来输出 PCM 数据)。

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

    您能否检查一下这两种情况下的优化是否相同?

    此外、在两种情况下查看反汇编、并比较生成的汇编代码。

    Siri.

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

    GNU 使用 o3级别、TI Clang 没有优化功能。

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

    您是否能够使用 GNU 继续您的项目?  

    如果我们弄清 GNU 和 TI Clang 版本之间的区别、我就需要你们为两者提供完整的代码、以便我们可以比较反汇编。

    Siri.

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

    是的、我现在可以使用 GNU 编译器继续我的项目。 抱歉、我无法共享代码、下面我们来结束这个问题。  非常感谢~á