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.

[参考译文] CC1352P:从 Contiki 到 I2S 接收 PDM 数据时不准确。

Guru**** 2482105 points
Other Parts Discussed in Thread: CC1352P, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1265043/cc1352p-inaccuracy-when-receiving-pdm-data-from-contiki-to-i2s

主题中讨论的其他器件:CC1352PSysConfig

부품 번호:CC1352P

我当前正在尝试将 MEMS 麦克风连接至 cc1352P1。

我正在使用的 OS 为 contiki-ng、我将使用此论坛中实施的 PDM、I2S 和开放源码示例进行移植。
我将按顺序接近它、首先...

我已在 cc1352P1 lunchpad 上使用 pdmstream 示例成功输出 PDM mic 数据。
IDE 是 CCS 12.4、我使用的示例是"simplelink_audio_plugin_3_30_00_06"的 pdmstream 示例。 对于 cc13xx、我下载了"simplelink_cc13x2_26x2_SDK_3_30_00_03"并成功连接。
使用"simplelink_audio_plugin_3_30_00_06"工具文件夹中的 Python 代码、我将 UART 的字节代码输出更改为 wav 文件、并检查稳定行为。

对于可视化,我用"绘图"绘制图形,它看起来像这样。

但是、当前工程的 cc13XX-cc26xx SDK 版本使用的是"simplelink_cc13xx_cc26xx_sdk_5_40_00_40"。
本版本中 pdmstream 示例的实现与我成功使用的"simplelink_audio_plugin_3_30_00_06"中的 PDM 示例略有不同。

我成功的例子是使用" I2SCC26XX.h , I2SCC26XX.c"实现的。

但是、对于"simplelink_cc13xx_cc26xx_sdk_5_40_00_40"中的示例、我发现 pdmstream 的执行会在"PDMCC26XX.c、PDMCC26XX_UTIL.c"中声明 I2S 的设置并打开 I2S。

我试图尽可能理解内部执行、但是由于"PDMCC26XX_I2S_PARAMS"和"I2S_PARAMS"之间的差异、我无法进行一个完美的比较。


和... 我用这个开源代码作为一个参考、以 contiki-ng 的方式来实现这个驱动程序。

github.com/.../PDMCC26XX_contiki.c


使用 UART 存储的 PCM 数据的图形表示如下。

我对 BCLK 频率和错误的引脚端口进行了大量研究、但没有发现任何异常。

也许我在进行 I2S 设置时不对吧?
当 PDMCC26XX 驱动程序生成这样的图表时、是否有办法进行故障排除?



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

    您好、Han、  

    我尝试了一款内部转换工具。 我没有完全理解图表和他们的解释。 我明白、您想要了解音频插件和 SDK 示例之间的区别。 但是、为了帮助您更好地理解问题并提供更具体的回答、请将问题发布为英语吗?

    此致、

    SID

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

    抱歉、编辑过程中的翻译注册不正确! 我将再次对其进行编辑并发送给您!

    现在... 修复它... T_T

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

    尊敬的 Changmin:

    PDM_I2S 实现方式是 I2S 外设的一种替代用法、您应该可以通过使用 SysConfig 等进行一些应用程序级更改、将应用程序从基于音频插件的工程迁移到5_40 SDK。

    我想问一下、迁移到5_40 SDK 是否有任何具体的原因?

    此致、

    SID

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

    我的工程在 CC1352P1上使用 Contiki-ng OS、该工程的 SDK 版本在 CC13XX-CC26xx 5.40上使用。

    因此、我是根据5.40编写的。  


    此外、这个图形为经过 PDM2PCM 抽取的32个样本的拼接。

    图形的形状很可疑、每2ms 显示一个接近 Max 或 Min 的值。


    巧合的是,
    需2ms 的时间才能抽取通过 I2S 的 IRQ 在 DMA 中叠加的256个 PDM 样本、以创建32个 PCM 样本。

    我正在认真阅读 CC13xx 技术指南文档。
    我怀疑我的项目中 MEMS 麦克风的特性或 I2S 配置存在问题。

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

    尊敬的 Changmin:

    您是否在抽取之前尝试过观察/比较 PDM 数据、在这两种情况下、最好在抽取之前和之后逐级跟随数据。  

    此外、如果要使用与音频插件相同的应用、但要迁移到新的 SDK、这也是可行的选择。  

    此致、
    SID