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.

[参考译文] TAS2557:初始化- 22050Hz、16位。

Guru**** 2473260 points
Other Parts Discussed in Thread: TAS2557, TAS2557EVM

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/801728/tas2557-initialization---22050hz-16bit

器件型号:TAS2557

你好!

我正在使用集成的 TAS2557模块、需要 SoM 在初始化和配置方面的帮助。  

我希望该模块作为 I2S 上的主机、MCLK 为12MHz。 以22050Hz 采样速率、单声道播放16位音频。

我使用了 TAS2557EVM 板来生成一个.cfg 文件、我已经使用 SPI 将该文件写入我们的集成模块。 您可以找到附加的配置文件。

我似乎不能让电路成为主控电路、因此非常感谢您的帮助。

此致、

/Viktor

e2e.ti.com/.../combined_5F00_configuration_5F00_0_5F00_ROMMode2_5F00_44.1KHz.cfg

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

    您好、Viktor、

    欢迎使用 e2e。
    您可以在脚本末尾添加以下命令。 这些命令将根据采样率配置将 BCLK 和 WCLK 配置为输出。

    w 98 00 00
    宽98 7f 00
    W 98 00 01
    W 98 01 00 # I2S // 16位
    W 98 0d 01 # BDIV 输入= DAC_MOD_CLK
    w 98 0e 82 # BDIV 已启用并设置为2
    W 98 0f A0 # WDIV 已启用并设置为32
    W 98 10 00 # ASI1来自 BDIV 和 WDIV 的 BCLK 和 WCLK
    W 98 ASI1_BCLK_OUT 的3D 0d # GPIO1 (BCLK)输出
    ASI1_WCLK_OUT 的 W 98 3e 0c # GPIO2 (WCLK)输出

    我已将此内容添加到您提供的 cfg 中、并附加了修改后的 cfg。
    您可以在测试设置中尝试此操作。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器

    e2e.ti.com/.../5430.combined_5F00_configuration_5F00_0_5F00_ROMMode2_5F00_44.1KHz.cfg

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

    谢谢你伊凡!

    正如我在前面提到过的、我将通过 SPI 配置我的器件。 在调试 SPI 接口时、我注意到 TAS2557不接受我的寄存器写入内容。  

    我尝试写入寄存器、然后再次读取同一寄存器、以确认我的设置。

    我写的内容如下:

    {register、value}:

    {0x00、0x00}、{0x7f、0x00}、{0x00、 0x01}、{0x0F、0x8F}

    然后我正在读取同一个寄存器、但该模块仅返回0xff 或0x00。

    因此、我的问题是、由于数据表缺少有关如何使用 SPI 的信息、您是否有关于我应该如何使用 SPI 读取和写入 TAS2557中的寄存器的更多信息?

    提前感谢您!

    /Viktor

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

    我只想验证以下几点:您是否移除了 J13/J48上的跳线?
    必须上拉 SPI_SELECT 引脚以启用 SPI 接口。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    伊万

    很抱歉我迟到了回复。
    我在此实现方案中未使用 TAS2557EVM 板、我使用的是由我们的硬件团队构建的试验电路板、SPI_SELECT 被上拉到+3V3、  

    SPI SCL 上的最小和最大频率是多少?
    您是否有任何使用 SPI 进行注册读取/写入的实现示例?

    提前感谢您!

    /Viktor

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

    你好,Ivan!

    您可以忽略我前面有关 SPI 使用的问题。 我在 E2E 上发现了另一个主题、有人遇到了同样的问题、他/她的解决方案也对我很有用。

    寄存器需要向左移动1位、LSbit 设置为1进行读取、设置为0进行写入。 此外、TAS2557模块似乎在 SPI 模式2上运行。 我在数据表中找不到此信息,我想如果您将此信息包含在 TAS2557数据表中,您可以节省一些其他编程人员几个小时的调试时间:)

    尽管如此、我仍然对时钟有一些问题、并且该模块似乎不会在 BCLK1和 WCLK1上生成任何内容。
    我是您之前提供的配置文件、但重新排列为结构、如下所示:

    静态 cfg_reg_t init_registers []=
    {
    /*断电和静音开始*/
    {0x00、0x00}、{0xFE、0x64}、{0x0E、 0x01}、{CFG_meta_delay、10}、{0xFE、0x00}、 {0x0E、0x03}、
    {0x00、0x00}、{0xFE、0x00}、{0x58、 0x00}、{0x00、0x00}、{0xFE、0x00}、 {0x08、0x60}、
    {CFG_meta_delay、2}、{0x0A、0x00}、{0x00、 0x00}、{0x08、0x00}、
    /*断电和静音结束*/
    
    /*软件复位开始*/
    {0x00、0x00}、{0xFE、0x00}、{0x02、 0x01}、{CFG_meta_delay、10}、
    /*软件复位结束*/
    
    /* PLL 开始*/
    {0x00、0x00}、{0xFE、0x00}、{0x00、 0x01}、{0xe6、0x0F}、{0xe8、0x0d}、 {0x00、0x00}、
    {0xFE、0x64}、{0x36、0x01}、{0x38、0x03}、{0x3a、0x1d}、{0x3c、0xd0}、 {0x40、0x02}、
    {0x44、0x08}、{0x04、0x10}、{0x42、0x08}、{0x02、0x08}、{0x56、0x00}、 {0x58、0x40}、
    {0x3E、0x20}、{0x15、0x00}、
    /* PLL 结束*/
    
    /*程序开始*/
    {0x00、0x00}、{0xFE、0x00}、{0x00、0xFD}、{0x1a、0x0d}、{0x00、0xFE}、 {0x50、0x00}、
    {0x00、0x00}、{0x10、0x02}、{0x14、0x08}、{0x68、0x03}、{0x00、0x32}、 {CFG_meta_burst、5}、
    {0x78、0x3D}、{0x99、0x99}、{0x9a、 0x00}、{CFG_meta_burst、5}、{0xe0、0x00}、 {0x03、0xDE}、
    {0x00、0x00}、{CFG_meta_burst、5}、{0xd0、 0x00}、{0x00、0x00}、{0x00、0x00}、 {0x00、0x33}、
    {CFG_meta_burst、5}、{0xc8、0x39}、{0x80、 0x00}、{0x00、0x00}、{0x00、0x35}、 {CFG_meta_burst、5}、
    {0x98、0x00}、{0x00、0x00}、{0x01、 0x00}、{0x00、0x34}、{CFG_meta_burst、5}、 {0xd0、0x00}、
    {0x6a、0xe2}、{0x36、0x00}、{CFG_meta_burst、 5}、{0xd8、0x00}、{0x6a、0xe2}、 {0x36、0x00}、
    {CFG_meta_burst、5}、{0xe0、0x7f}、{0x2a、 0x3B}、{0x94、0x00}、{0x00、0x00}、 {0x44、0x02}、
    {0x00、0x00}、{0xFE、0x82}、{0x00、 0x19}、{CFG_meta_burst、5}、{0x70、0xD1}、 {0x50、0x00}、
    {0x10、0x00}、{0x00、0x00}、{0xFE、 0x00}、{0x00、0x32}、{CFG_meta_burst、13}、 {0x78、0x3D}、
    {0x99、0x99}、{0x9a、0x30}、{0x00、 0x00}、{0x00、0x50}、{0x00、0x00}、 {0x00、0x00}、
    {CFG_meta_burst、5}、{0x98、0x02}、{0x00、 0x00}、{0x00、0x00}、{CFG_meta_burst、5}、 {0xc0、0x28}、
    {0x00、0x00}、{0x00、0x00}、{0x00、 0x33}、{CFG_meta_burst、5}、{0x80、0x00}、 {0x00、0x01}、
    {0x00、0x00}、{CFG_meta_burst、5}、{0xc8、 0x39}、{0x80、0x00}、{0x00、0x00}、 {0x00、0x00}、
    {0x0c、0x74}、{0x56、0x03}、{0x54、 0x00}、{0x00、0x00}、{0xFE、0x64}、 {0x50、0x80}、
    {0x00、0x00}、{0xFE、0x00}、{0x10、 0x02}、{0x00、0x33}、{CFG_meta_burst、9}、 {0x20、0x73}、
    {0x33、0x33}、{0x33、0x6b}、{0x85、 0x1E}、{0xb8、0x00}、{CFG_meta_burst、33}、 {0x40、0x1d}、
    {0x99、0x99}、{0x99、0x20}、{0xcc、 0xcc}、{0xcc、0x24}、{0x00、0x00}、 {0x00、0x27}、
    {0x33、0x33}、{0x33、0x2a}、{0x66、 0x66}、{0x66、0x2D}、{0x99、0x99}、 {0x99、0x30}、
    {0xcc、0xcc}、{0xcc、0x34}、{0x00、 0x00}、{0x00、0x00}、
    /*程序结束*/
    
    /*开始前*/
    {0x00、0x00}、{0xFE、0x00}、{0x5e、 0x2a}、{0x5a、0x17}、{0x00、0x02}、 {0x0c、0x11}、
    {0x00、0x32}、{CFG_meta_burst、9}、{0xa8、 0x00}、{0x94、0x45}、{0x70、0x00}、 {0x07、0x6d}、
    {0xf7、0x00}、
    /*结束前*/
    
    /*配置开始*/
    {0x00、0x00}、{0xFE、0x00}、{0x0a、 0xA0}、{0x0a、0xa3}、{0x08、0xfa}、 {0x00、0x00}、
    {0xFE、0x00}、{0x0a、0xa0}、{0x0a、 0xa3}、{0x08、0xfa}、{CFG_meta_delay、2}、 {0x00、0x00}、
    {0xFE、0x00}、{0x5a、0x21}、{0x5c、 0x21}、{0x58、0x0B}、
    /*配置结束*/
    
    /*加电和取消静音开始*/
    {CFG_meta_delay、2}、{0x00、0x00}、{0xFE、 0x00}、{0x0E、0x00}、{0xFE、0x64}、 {0x0E、0x00}、
    /*加电和取消静音结束*/
    
    /*将 TAS2557设置为主器件并配置 BCLK 和 WCLK */
    {0x00、0x00}、/*第0页*/
    {0xFE、0x00}、/* Book 0 */
    {0x00、0x01}、//*第1页*/
    {0x02、0x00}、// I2S、16位*/
    {0x1a、0x01}、/* BDIV 输入= DAC_MOD_CLK *
    {0x1c、0x82}、/* BDIV 已启用并设置为2 */
    {0x1E、0xa0}、/* WDIV 被启用并被设定为32 */
    {0x20、0x00}、/* ASI1来自 BDIV 和 WDIV 的 BCLK 和 WCLK *
    {0x7a、0x0d}、/* GPIO1 (BCLK)输出来自 ASI1_BCLK_OUT *
    ASI1_WCLK_OUT 的{0x7c、0x0c}///* GPIO2 (WCLK)输出*
    }; 

    我是否在初始化过程中出现了问题?

    谢谢!
    /Viktor

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

    在上电和取消静音之前、您能否移动我发送给您的 BCLK 和 WCLK 配置命令? 我想尝试一下、以防万一。
    我将回顾其余设置以验证它是否正常。 可能需要一段时间,因为这些是一些注册著作。

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Ivan!

    我尝试了你的建议,但不幸的是没有任何改进。
    如果您在启动时有任何其他配置文件需要编写、我将随时为您提供建议。 我现在只想听到一些声音。 所有这些寄存器文章都是从 EVM 开发套件复制的。 我肯定会遇到一些配置错误的情况。 但根据此模块的数据表、建议您从 PPC3生成.cfg 文件。

    当然、我理解!

    感谢你的帮助!
    /Viktor

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

    我注意到、您采用了 PPC3生成的.cfg、并在之前的注释中将其调整为 SPI。 它看起来是正确的。
    不过、在本主题的开头、您提到22050Hz 采样率。 您是否使用此 WCLK 频率?
    PPC3 cfg 生成器目前不支持该采样率、您使用的脚本基于44.1kHz 采样率。 您是否尝试在此采样率上设置 I2S 主器件以测试音频是否正确?

    此致、
    -Ivan Salazar
    应用工程师-低功耗音频和传动器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ivan、

    我现在注意到我的代码中有一个错误。 由于寄存器移位、CFG_meta_delay 和 CFG_meta_burst 的定义结果是与某些寄存器相同的值、因此写入过程完全错误。  
    BCLK 和 WCLK 现在都正常工作。  

    我尝试播放3kHz 的声音、它看起来是正确的!

    感谢您的支持 Ivan。

    此致、  
    /Viktor