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.

[参考译文] LP-CC1352P7:无法从 I2S 回波示例获取音频输出。

Guru**** 2434100 points
Other Parts Discussed in Thread: CC3200AUDBOOST, CC3200, CC1352P7, CC2652R7, CC2642R

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1107505/lp-cc1352p7-unable-to-get-audio-output-from-i2s-echo-example

器件型号:LP-CC1352P7
主题中讨论的其他器件:CC3200AUDBOOSTCC3200CC1352P7CC2652R7CC2642R

您好!

  我尝试运行由 TI 资源共享的 I2S 回波示例。

该示例建议使用我购买的 CC3200AUDBOOST、并按照以下步骤操作:

CC3200音频 BoosterPack

  • BoostPack DIN  的信号引脚与此 LaunchPad 不兼容。 使用以下修改之一,启用与  i2secho  示例一起使用的 CC3200音频 BoosterPack。
  • 向下弯曲下面的两个针脚 DIO30。 此外,折弯 DIO28-30。 请确保弯曲的针脚未与 IC 或任何其他组件接触、弯曲的针脚应足以确保它们未连接到 CC3200音频 BoosterPack。
  • 将 CC3200音频 BoosterPack 连接到 LP_CC1352P7_4
  • 在 CC3200音频 BoosterPack 上的以下引脚之间运行跳线:
    • DIN: P3.3  P3.9
    • DOUT: P3.4  P3.10
    • BCLK: P3.5  P3.8
    • FSYNC/WCLK: P4.9  P3.7
我执行了前3个步骤、检查是否需要执行第4步。 然后、我看到连接应该会导致"NC"(无连接、我通过弯曲引脚确保了这一点。
我也确保了3.3V 引脚指针与 Launchpad 指针匹配、如所附图像中所示。
使用此设置、当我刷写 I2S 示例时、我可以看到 CC1352P7 Launchpad 上的驱动程序初始化 LED 亮起、但我没有获得音频反馈。
我还可以通过什么其他方法来调试它?
附加我的设置照片。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正如您提到的、您确实需要运行跳线、我在您的图片上看不到它们。

    您能否尝试一下、然后告诉我们它是否正常工作?

    此致、

    Arthur

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

    谢谢 Arthur。  我也尝试按照最后一步连接跳线。 但仍然不幸运。

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

    我是否需要将单独的 USB 电源连接到此 CC3200 AUDBOOST?我认为它将从 LaunchPad 中获取。

    如果我的理解有误、请纠正我的问题。

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

    尊敬的 Vinay:

    不需要、您无需连接 USB 电源。 但是、我看到您忘记弯曲以下引脚(蓝色圆圈、DIO14):

    DIO14 Pin not bent

    让我知道,在这项修改之后,它是否起作用。

    此致、

    Arthur

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

    e2e.ti.com/.../Board.html

    我附加的是 Board.html、它不讨论折弯 DI014。  是否遗漏了此信息、因此我应该尝试您的建议、即弯曲 DI014。

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

    我现在弯曲了针脚,如下所示。

    现在,立体声输出中的声音非常嘈杂,但仍然不能回声立体声输入中的声音。

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

    默认情况下、i2secho 输出到扬声器端子(黑色)

    请将定义更改为要使用的输出。

    此致、

    Arthur

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

    尝试了以下操作:  

    #define INPUT 选项 AudioCodec_MIC_Mono //AudioCodec_MIC_LINE_IN
    #define output_option AudioCodec_speaker_LO //AudioCodec_speaker_HP

    仍然很吵,听不到回音的声音。

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

    如果 DIO16也弯曲,因为我看到 P3.7连接到 P4.9,P4.9映射到 DIO16。

    请告诉我,Arthur。

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

    尊敬的 Vinay:

    我建议遵循"硬件设置"部分(尤其是在 CC13x2下)提供的指导、以正确设置跳线 https://dev.ti.com/tirex/content/simplelink_audio_plugin_3_30_00_06/docs/Quick_Start_Guide.html
    除其他外、DIO14无需弯曲。

    对于音频输入/输出定义的配置、我建议使用以下选项:

    #define INPUT_OPTION                    AudioCodec_MIC_LINE_IN
    #define OUTPUT_OPTION                   AudioCodec_SPEAKER_LO

    这将启用绿色连接器作为输入/输出。

    最后、我建议使用手机作为音频源、而不是计算机。 实际上、由于电源产生的噪声、大多数计算机发出的声音非常嘈杂、不能用于此示例。

    我希望这将有所帮助、

    此致、

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

    是的。在按照 Arthur 的指令弯曲 DIO14之前、我遵循了硬件设置并确保了跳线。

    此外、您提供的链接似乎讨论了 audioechHAL、它与我遵循 SDK 中提供的 I2Secho 示例不同。

    当我尝试在 SDK 中搜索 AudioechoHAL 时、我看不到这些示例。

    还尝试了最新的 Simlink SDK 之一,即使在那里,我也看不到您引用的示例。

    您能不能就 I2Secho 示例向我提供指导,该示例的详细信息在前面的问题中提供。

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

    尊敬的 Vinay:

    我向您指出的文档只能用于硬件配置(即设置跳线)。

    我的其余消息适用于您正在使用的示例(即 i2secho 示例)。

    此致、

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

    此外,在 Resource Explorer 中,还给出了 I2Secho 示例,而不是您引用的 audioHAL 示例。
    请参阅下面的屏幕截图:  

    关于噪音部分:噪音是我听不到任何回声的,所以它看起来是不正确的。 我还在尝试将移动设备的某些音乐连接到麦克风、并确认这一点。  

    我在弯曲 DIO14之后才开始听到噪音,这是 Arthur 建议的。 另外,我没有从 stero 中取出任何东西。

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

    您好!

    正如我在上一条消息中提到的、我所提到的文档只应用于硬件配置(即设置跳线)。 我的其余消息适用于您正在使用的示例(即 i2secho 示例)。

    DIO14不应弯曲。 为符号 input_option 和 output_option 设置的值应该与我之前的消息中提到的值相同。 音频输入应使用未连接到电源的电话。

    为了帮助调试、请使用逻辑分析仪来验证时钟(WCLK 和 BCLK)和数据线路是否显示预期的信号。

    此致、  

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

    我误解了您指向不同的示例。

    现在、我已经了解了、让我重新验证并弯曲引脚 DIO14以使其返回。

    我会尝试并回来  

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

    刚试过、我仍然有噪音、但很轻的是、我可以听到手机播放的歌曲。

    设置现在看起来是这样的。

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

    您好!

    感谢您的更新。

    您是否也可以尝试使用其他耳机? 我之前见过耳机发出的一些噪音(尤其是集成了音量控制的耳机)。  

    如果不起作用、对于测试、您能否移除到达 P3.10和 P3.9的跳线。 然后将 P3.10和 P3.9短接在一起。 这将绕过 CC1352并有助于评估噪声源。

    此致、

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

    更换耳机、运气不好。
    正如您所说、短接 P3.9和 P3.10可提供非常干净、流畅的音频。
    这意味着通过 Launchpad CC1352P7-4有问题?

    我们是否可以在 I2S 读取中转储一些 PCM 样本,或者您是否建议其他操作?

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

    在尝试调试时,我尝试点击 i2sReadlist.head buffer,当我打开该指针的内存并尝试保存内存以最终转换为.wav 格式时。 我看到如下所示的存储器  

    这里显示了 I2sTransactions 1...10...并且在我运行和停止时也能看到非常一致的值。

    基本上、我想从缓冲区转储16位 PCM 值、并将其转换为.wav 格式、然后播放它。

    我的存储器检查和导出是否正确。

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

    我正在尝试点击 i2sBufList 缓冲区,但不明白为什么有10个缓冲区,前半部分用作读列表,后半部分用作写列表。

    我想基本上转储音频,看看噪声是否已经在缓冲区中,或者当我们通过 DAC 时。

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

    您好!

    感谢您运行的其他测试。

    音频数据(PCM)存储在名为 buf1...buf10的缓冲区中。

    所有的缓冲区都按顺序通过读取和写入列表。

    此致、

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

    您好 Clement、

      已尝试将 buf1转储 为大小为1024 (256*4)的 buf4。 但使用联机转换器时、.dat 或 bin 文件无法转换为 wav 文件。

    正如我看到的、当被视为 uint8时、这些值接近255、但我们需要的是16位 PCM 样本。 那么、有没有办法可以直接从这些 bufs 中转储16位 PCM、并将其转换为 wav 文件进行侦听。

    快照如下:  

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

    我尝试使用此网站: www.media.io/wav-converter.html

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

    尊敬的 Vinay:

    请更改显示格式以匹配您正在查看的数据格式。

    为此、请使用以红色突出显示的菜单:

    此致、

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

    是的、Clement、我尝试了8位无符号数和16位有符号数...但波形转换似乎不起作用。  

    您能不能尝试一下、让我知道转储和转换为波形文件的过程。

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

    您好!

    要清除、考虑到 I2S 驱动器的配置、并且除非您对其进行了修改、否则收集的数据应解释为有符号16位数据。

    我将验证内存转储是否可以解释为波形文件。

    此致、

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

    我尚未进行任何更改、因此期望16位 PCM 样本可用。

    如果您可以验证并让我知道该过程、那会很好。

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

    尊敬的 Vinay:

    以下是这样一个过程:

    必要条件

    过程

    此过程假设我们正在运行某种 SimpleLink 音频插件示例(例如 i2secho)。

    步骤1:采集音频

    使用麦克风、单声道输入或标准线路输入。

    步骤2:暂停程序的执行

    只要程序已采集音频至少10秒钟、请在任何时间点执行该步骤。

    步骤3:将缓冲区转储到二进制文件。

    eclipse 存储器浏览器中查找 buf1变量。 它应该给出其地址(在我的例子中为0x20004518)。 记下其地址、稍后您将需要该地址。

    检查缓冲区是否在存储器中是连续的、它们应该是连续的。 然后、在内存浏览器中右键单击、然后选择"Save Memory"。

    然后、您将看到以下屏幕。 选择将转储文件另存为原始二进制文件的路径。

    现在、在"Start Address"中、输入您之前记下的 buf1地址。 在"以字为单位的长度"中、输入640。 ((10 * 256字节长缓冲区)/4 (32位字))。

    然后单击完成转储存储器文件。

    步骤4:使用 Audacity 进行波形检查。

    启动您之前下载的"audacity (Audacity)"软件。 点击 File→Import→Raw Data。 选择您在最后一步中创建的存储器文件。

    您现在会遇到以下窗口。 选择"有符号32位 PCM"、按字节顺序选择"小端字节序"、然后根据您在示例程序中选择的输入源选择通道数。

    我个人使用了"单声道"输入源、因此我选择了"单声道"。 然后、选择您配置的程序要捕获的采样率。 同样、我个人在源代码中选择了8000Hz、并且还选择了 Audacity。

    您现在应该能够看到波形、并将数据导出为您选择的任何格式(例如 WAV)。

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

    谢谢 Arthur。 我尝试过,但听到的蜂鸣音非常小(猜它只与256字节大小的10个缓冲器有关)。 仍然没有足够的说服力来判断音频是否干净。

    在中间,为什么32位 PCM?...我认为我们得到的是16位 PCM,对吧?

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

    您好!

    原因是、即使在使用单声道输入时、我们仍将音频视为立体声。

    您也可以使用这些设置导入航迹。 它的声音将是一样的。

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

    我也这么做了...但我的音频效果不是很好。  

    我只点击256*10 = 2560字节= 1280 -16位样本= 1280/8000 = 0.16秒,我的理解是否正确?

    我得到的是下面的,我正在播放歌曲,但几乎没有任何部分的歌曲。

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

    另一个观察结果:当我检查内存时,您会期望 buf1到 buf10位于连续位置,但我看到 buf10位于 buf1之上,使它不连续。

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

    e2e.ti.com/.../rawdata_5F00_8k_5F00_wave.zip

    我看到我的音频只有0.08秒,而我期望的数据值是0.16秒....

    音频也有噪声。

    您能告诉我我缺少了什么吗?

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

    尊敬的 Vinay:

    确切地说、您是否已修改开箱即用示例以使用8kHz 采样率、或者是否已将其保持在44.1kHz?

    如果确认存储在 RAM 中的数据中存在噪声、请验证以下内容:

    -使用逻辑分析仪分析到达 CC1352输入端的 I2S 数据=>噪声是否已经存在/饱和是否已经存在?

    -如果是、请尝试降低电话所用的音量=>是否已经存在噪声/是否仍然发生饱和?

    -如果是,请尝试焊接短而紧密的跳线。

    我希望这将有所帮助、

    此致、

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

    您好 Clement、

      是的、我已将采样率更改为8kHz、这些在代码中如下。

    #define SAMPLE_RATE 8000 //44100 //支持的值:8kHz、16kHz、32kHz 和44.1kHz *
    #define INPUT 选项 AudioCodec_MIC_Mono //AudioCodec_MIC_LINE_IN
    #define output_option AudioCodec_speaker_HP

    由于这些转储值几乎不会在0.16秒左右、因此我无法在存储器中确认这些样本是否有噪声。

    我想累积到1秒,即8000个样本=16KB。

    关于硬件调试、我在外出工作、因此无法访问逻辑分析仪和焊枪。

    我还怀疑针脚弯曲会导致噪音问题,可能吗?

    您能不能在您的一边尝试一下、让我知道、因为我没有第二块板来尝试设置。

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

    这些问题是否会导致饱和程度问题:  

    /*音量控制*/
    AudioCodec_speakerVolCtrl (AudioCodec_TI_3254、AudioCodec_speaker_HP、75);
    AudioCodec_micVolCtrl (AudioCodec_TI_3254、AudioCodec_MIC_Onboard、75);

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

    e2e.ti.com/.../rawdata_5F00_8k_5F00_bufptr_5F00_wave.wav

    请查看我得到的噪声量。

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

    尊敬的 Vinay:

    [~ userid="514354" URL"/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1107505/lp-cc1352p7-unable to get-audio-output-fer-I2S-echo-example/4112319"]关于硬件访问和调试枪支的问题,请引用不使用自定义的逻辑器,因此不使用自定义的逻辑器。]

    我知道、调试本会很有帮助。

    您碰巧可以访问 CC2642R 器件或 CC2652R7器件吗? 在这种情况下、您可以在此平台上运行代码、从而无需使用跳线。

    [引用 userid="514354" URL"~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forume/1107505/lp-cc1352p7-unable to -get-audio-output-fer-fer-I2S-echo-example/4112319"]您是否可以在第二个电路板上尝试使用报价和报价[我是否知道?/319 ]

    Arthur 已经成功测试过几次这个示例。 在软件层面、一切看起来都不错。

    [引用 userid="514354" URL"~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1107505/lp-cc1352p7-unable to get-audio-output-ffrom -I2S-echo-example/4112319"]我还可能会怀疑引脚的噪声,从而导致引脚出现问题[引用中的错误]

    折弯销不应在此处产生太大的影响。 在所有情况下、这是唯一可能的方法、因为不弯曲它们会产生其他更大的问题。

    此致、

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

    好的、我将再次复位并重新检查所有硬件连接和代码。

    但是、如果我想从缓冲区中抽取1秒的样本、您能不能帮助我如何从存储器中抽取。

    我尝试转储 buf 地址、但没有获得值为1秒的数据(在将缓冲区大小更改为16KB 之后)。 此外,您能否帮助我了解在读取和写入之间分布在1到10个范围内的 i2sTransactions。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚刚完成了一次完全重置,并从开始重新开始。
    幸运 的是、我发现了问题。弯曲的一个引脚接触 CC3200AUDBOOST、导致了噪音。
    如果您可以提供有关点击缓冲区的上述信息、那么 μ@Clement 将会有所帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    干得不错、感谢您的介绍。

    [引用 userid="514354" URL"~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forume/1107505/lp-cc1352p7-unable to get-audio-output-fer-I2S-echo-example/4112939#4112939"]1还可以帮助您阅读和理解分发的范围内的交易。1  [/报价]

    请参阅示例自述文件、尤其是"应用设计详细信息"部分

    [引用 userid="514354" URL"~/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forume/1107505/lp-cc1352p7-unable to -get-audio-output-fs-fer-I2S-echo-example/4112955#4112955"]如果您可以点击上面的引用缓冲区,则会帮助您提供上述信息[

    您是说要转储缓冲区的内容吗? 使用 I2S 是否足够了? 我是说、该示例已配置为通过 I2S 发送缓冲区的内容。 如果选择此方法、请确保注释掉应用程序代码中实施的小治疗/滤波。

    另一种方法可以是增加缓冲区的数量(或其大小)以保留更多数据。 然后、您可以遵循 Arthur 建议的技术。

    此致、

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

    谢谢 Clement。
    让我澄清我的问题:我基本上想抽取1秒的样本。  

    采用8kHz 的采样率和1秒的数据值= 8000*2bytes=16Kytes 的数据,我想转储。 (我们考虑16位 PCM 时为2字节)。

    亚瑟所展示的是如此短暂的一瞥,你不能知道有没有音频。 事实上,在他的快照中,我也可以指出,有一些脉冲会产生很高的噪音。  

    因此、从 buf1获取内存看起来是正确的、但 buf10不是连续分配的、因此 Arthur 也会看到脉冲。

    您能不能帮助我修改此代码以获取1秒的音频样本。

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

    您好!

    在这种情况下,我建议如下:

    -与 buf1、buf2、...、buf10不同,只声明一个缓冲区(称为 BUF)为您想要的大小(计划有一些裕量,因为它可能很难读取缓冲区的最末尾)。

    -声明附加的 I2S 事务。 每个事务将容纳256字节(因此、根据之前分配的存储器长度、您可以决定需要多少字节)。 我们假设您有 NUMBUFS 事务。

    -初始化所有 I2S 事务并将其存储在一个列表中。 用于保存数据的缓冲区将为 BUF[I*BUFSIZE](事务编号为 i,从0开始)。

    -创建 I2S 事务的振铃列表(即列表的尾端指向标题)

                List_tail(&i2sReadList)->next = List_head(&i2sReadList); /* I2S buffers are queued in a ring-list */
                List_head(&i2sReadList)->prev = List_tail(&i2sReadList);

    -只能通过修改传递给 I2S_OPEN 的参数来启用 I2S 读取。 为此、修改 i2sParams.SD0Use 的值、如下所示。

    i2sParams.SD0Use = I2S_SD0_DISABLED;

    -完成读取操作时,请勿将消息取消队列(即注释掉以下代码)

            /* The finished transaction contains data that must be treated */
            List_remove(&i2sReadList, (List_Elem*)transactionFinished);
            List_put(&treatmentList, (List_Elem*)transactionFinished);
    

    -在 readCallback 中,当传递的 I2S_Transaction 与 NUMBUFS-2对应时,停止执行。 在实践中、您可以检查传递的事务的地址、并使用断点访问虚拟易失性变量。 (我建议您在代码运行几秒钟后添加断点)

    static void readCallbackFxn(I2S_Handle handle, int_fast16_t status, I2S_Transaction *transactionPtr) {
    
        if(transactionPtr == i2sTransactionList[NUMBUFS-2])
        {
            volatile uint32_t dummy = 10; // Add a break point on this line
        }
    
    }
    

    代码暂停后、请使用 Arthur 提供的步骤来读取缓冲区的内容。 缓冲区的末尾可能有不应考虑的旧数据。

    我希望这将有所帮助、

    此致、

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

    我根据您的建议进行了更改,并尝试点击 buffer_15sec worth of 1.5sec 数据,方法是将长度以字表示为:12032 (188*256/4)。

    但音频效果不好。 我错过了什么?

    附加的文件

    .e2e.ti.com/.../i2secho.c

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

    您好 Clement、

      您能告诉我如何打开板载麦克风吗?

    我使用了此宏 AudioCodec_mic_onboard 并将其初始化为 input_options、还在 Audiocodec_config 中使用了此宏、以便它初始化为读取板载麦克风。

    我是否需要使用不同的 Maco?

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

    您好!

    关于轻触音频:

    -您仍在对音频应用虚拟治疗

    -您已启用写入(不应启用)

    -请解释"音频不正确"是什么意思吗?

    关于使用板载 Micro:

    ——实际上我也不能启用它。 我知道它只需要重新配置 Booster Pack 上的硬件编解码器、但我没有找到确切的方法

    此致、

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

    这(为了启用麦克风) 需要音频插件吗?

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

    我的意思是:  

    SimpleLink 音频插件

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

    您好!

    否、启用板载麦克风不需要 SimpleLink 音频插件。 实际上、这是一个需要在硬件编解码器中启用的设置。

    查看代码(我目前没有要测试的板),在调用 AudioCodec_config()时,可以在 i2secho 示例中启用板载麦克风。 请尝试使用 AudioCodec_MIC_ONBO载 作为最后一个参数。

    此致、

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

    我已经在 audiocodec 配置中尝试过 Audio_Codec_mic_onboard、但运气不好。

    事实上,我已经尝试设置0xFF,启用所有可能的麦克风,但这也不起作用。