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.

[参考译文] CCS/AICPUREPATH_STUDIO:创建用于与 CC3220SF-LAUNCHXL 和 CC3200AUDBOOST 配合使用的流程时出现问题

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/956897/ccs-aicpurepath_studio-problems-creating-process-flow-to-work-with-cc3220sf-launchxl-and-cc3200audboost

器件型号:AICPUREPATH_STUDIO

工具/软件:Code Composer Studio

我最初使用 CC3220SF-LAUNCHXL Launchpad 和 CC3200AUDBOOST Booster Pack 开发音频应用。 我需要 VOX 功能、因此创建了一个流程、以便在 PurePath Studio 中提供该流程。

我创建了一个工艺流程、并在 TLV320AIC3254EVM-K 开发板上成功测试了该流程。

然后、我按照 https://www.ti.com/lit/an/slaa605a/slaa605a.pdf 中的说明、获取了由 PurePath Studio 创建的头文件的内容、并尝试将其整合到 CC3220SF SDK 中包含的 i2secho 示例中 、但除了启动时几次点击之外、我没有任何音频。

这是我创建的流程。 我实际需要生产的唯一部件是从左侧输入到左侧 I2S 输出的路径、其他元件仅用于测试目的。

使用 TLV320AIC3254EVM-K、当 VAD 在左耳触发时、我会在右耳上不断获得音频和音频。 我的示波器显示了当 VAD 触发时从 EVM-K 发出的 I2S 数据。  

在 i2secho 示例中、我已将 AudioCodec_config 方法替换为对 AIC_Init(0x30)的调用、并已更改命令以从控制 i2c

GPIO_I2C_Write (address、data[i].reg_off、data[i].reg_val)(在中使用)

i2secho 示例使用的 AudioCodec_regWrite (data[i].reg_off、data[i].reg_val)。

I2S 读取回调中没有音频和数据

提前感谢

Chris

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

    我一直在尝试这种方法-不幸的是、仍然在挣扎。 这是我现在使用此流程的流程、并尝试将 i2secho 示例中的编解码器配置与 PurePath Studio 生成的代码相结合。

    我正在获取一些音频、但音量非常低。

    这是我现在拥有的流程:

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

    尊敬的 Chris:

    如果您有与 EVM-K 板一起工作的流程、并且在将设置导出到另一个板时不工作、则问题可能与时钟差异有关。

    请注意、EVM-K 板上的器件从 TAS1020B USB 控制器获取 MCLK、并使用 PLL 和分频器派生所有内部时钟。 该 SimpleLink 板上的 MCLK 可能不同。 如果它们不同、则 PLL 配置寄存器-即 P、R、J、D、NADC、 mAdc、NDAC、MDAC -必须进行更改以适应主时钟频率。

    您是否能够检查和确认 SimpleLink 板上器件的输入时钟? 另请列出 EVM-K 的 PLL 配置寄存器 我可以推荐合适的替换器件。

    此致。

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

    你好 Diljith

    感谢您的回答。

    我正在运行采样率为16kHz 的16位音频。 i2secho 示例中的设置如所示  

    MCLK = BCLK

    Fs = 16kHz、BCLK = PLL 输入、BCLK = 512kHz

    该示例在以16KHz 采样率运行时不包括 PLL 寄存器的任何其他设置、但是否将它们设置为更高的采样率-我假设对于16KHz、它使用默认值、但我无法确认这一点?

    PurePath Studio 创建的设置为

    // # REG[0][5]= 0x91;P=1、R=1、J=24
    // # REG[0][6]= 0x18;P=1、R=1、J=24
    // # REG[0][7]= 0x00;D=0000 (MSB)
    // # REG[0][8]= 0x00;D=0000 (LSB)
    // # REG[0][4]= 0x03;PLL_CLKIN = MCLK、CODE_CLKIN = PLL_CLK、PLL 打开
    // # REG[0][12]= 0x88;MDAC = 8、分压器加电
    // # REG[0][13]= 0x01;DOSR = 384 (MSB)
    // # REG[0][14]= 0x80;DOSR = 384 (LSB)
    // # REG[0][18]= 0x02;NADC = 2、分压器断电
    // # REG[0][19]= 0x98;mAdc = 24、分压器加电
    // # REG[0][20]= 0x80;AOSR = 128
    // # REG[0][11]= 0x82;NDAC = 2、分压器通电
    

    此致

    Chris

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

    你好 Diljith

    只需添加一点更多信息-在 CC3220的 I2S 初始化参数中、MCLK 分频器设置为40:

    /*!
    *@用于将 I2S_Params 结构初始化为默认值的简短函数
    *
    *@param [out] params *的 I2S_Params 结构指针
    初始
    化*
    *默认值为
    :*@code
    * params.samplingFrequency = 16000;
    * params.memorySlotLength = I2S_MEMORY_LENGTH_16位;
    * params.moduleRole = I2S_MASTER;
    * params.trueI2sFormat =(bool) true;
    * params.invertWS =(bool) true;
    * params.isMSBFirst =(bool) true;
    * params.isDMAUnused =(bool) false;
    * params.samplingEdge = I2S_SAMPLING_EDGE_RISING;
    * params.beforeWordPadding = 0;
    * params.bitsPerWord = 16;
    * params.fterWordPadding = 0;
    * params.fixedBufferLength = 1;
    * params.SD0Use = I2S_SD0_OUTPUT;
    * params.SD1Use = I2S_SD1_INPUT;
    * params.SD0Channels = I2S_CHANNELS;
    * params.SD1Channels = I2S_CHANNELS;
    * params.phaseType = I2S_PHASE_TYPE_DUAL;
    * params.startUpDelay = 0;
    * params.MCLKDivider = 40;
    * params.readCallback = NULL;
    * params.writeCallback = NULL;
    * params.errorCallback = NULL;
    * params.custom =空;
    *@endcode
    *
    *@param 参数结构以初始
    化*/ 

    此致

    Chris

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

    感谢额外的输入。 我将为这种配置确定 PLL 时钟树、并在一天内返回给您。

    此致。

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

    尊敬的 Chris:

    请为您的流程使用随附的时钟树。

    应用参考指南(www.ti.com/lit/slaa408a)包含与时钟树寄存器相关的信息

    选择 BCLK 作为 PLL 输入、并对以绿色显示的11个寄存器进行编程、以进行时钟树配置。

    如果您遇到任何障碍、请告诉我。

    此致。

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

    你好 Diljith

    感谢您的参与、我将把这些值融入我的代码中、并进行测试和报告。

    是否有一个文档可用于创建时钟树的过程。 以供将来参考? 我可以从应用参考指南中的时钟树中了解结构、现在我将了解如何计算相应的值

    我尝试在 AIC3254 CS 应用程序中使用 PLL 计算器、但我最终得到了与您列出的设置非常不同的设置、无法使它们正常工作

    非常感谢

    Chris

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

    ARG 具有所有信息。 用于配置时钟树。 我相信所有限制都记录在其中。  

    自动计算工具非常有用、但对于简单的整数比、手工计算更容易。

    为此、我使用了 Excel 计算器。 GUI 的"Dividers"选项卡对于验证简单的整数分频器也非常方便。

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

    你好 Diljith

    感谢您提供的额外信息。 我会再看一下 ARG——我以前不会错过任何东西。

    您提供的时钟树设置 非常有用、谢谢、现在我已经全部启动并运行了。

    非常感谢

    Chris

x 出现错误。请重试或与管理员联系。