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.

[参考译文] TAS5713:退出时重新启动所有通道关闭

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/573859/tas5713-reboot-on-exit-all-channel-shutdown

部件号:TAS5713

您好,

我不知道有人能帮我。

我正在尝试在SBC上创建闹钟,Bananapro (相当于Raspberry Pie)。 我创建了自己的PCB (VCC=18V,AVSS,AVDD=3.3V):

每当我尝试取消TAS5713的静音时,即

-重置

-微调振荡器(i2cset -y 3 26 0x1B 0x00)

-配置DAC (...)

-退出全通道关闭(i2cset -y 3 26 0x05 0x00)

TAS5713重新启动:-(.

任何人都可以给我提示为什么TAS重新启动?

此致,

Nicolas

PS:错误寄存器从不更改0x00值

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

    您好,Nicolas:

    感谢您与我们联系并关注TAS5713。

    您是否在两个初始化步骤之间实施了正确的延迟时间? 例如,在修整振荡器后,应该有50ms的延迟。 数据表第37-38页概述了初始化顺序,您还可以在其中找到启动期间应实施的延迟时间。

    能否提供初始化序列代码? 更全面地了解您的流程将使我们能够更有效地帮助您。 我将向您发送连接请求,以便您可以私下共享代码(如果您选择)。

    此致,

    Brian Angiel

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

    您好,Brian,

    感谢您的快速(第一个)回答:-)。
    在这里分享我的小代码没有问题(部分是C,另一个是python,因为我很懒)。 因此,我正在为初始化步骤实施延迟:

    #include <wipringpi.h>

    /* gcc -o reset reset.c -lwipringPi */

    #定义重置4.

    #define PDN 5.

    内部主(无效)

     WiringPiSetup ();

     pinMode (插针模式)(复位,输出);

     PinMode (插针模式)(PDN, 输出);

     DigitalWrite (复位,低);

     DigitalWrite (PDN,高);

     延迟(1);

     DigitalWrite (复位,高);

     延迟(15);

     延迟(10);

     返回0;

    }

     

    之后,我开始初始化DAC:

    #!/usr/bin/python

    导入smbus

    导入时间

    usleep = lambda x:Time.sleep (x/lambda 100万.0)

     

    命令=[

     {'REG':0x07,'DATA':[0xFF]},

     {'REG':0x03,'DATA':[0x80]},

     {'REG':0x04,'DATA':[0x03]},

     {'REG':0x06,'DATA':[0x00]},

     {'REG':0x10,'DATA':[0x02]},

     ...

     

    总线= smbus.SMBUS (3)  # 0 =/dev/i2c-0 (端口I2C0),1 =/dev/i2c-1 (端口I2C1)

    device_address = 26

    #微调振荡器

    bus.write_i2c_block_data (device_address,0x1B,[0x00])

    用户睡眠(5万)

    对于命令命令cmd:

      rc=bus.write_i2c_block_data (device_address,cmd['reg'],cmd['data'])

      如果rc !=无:

        打印"错误:reg=%d"%(cmd['reg'])

    rc = bus.write_i2c_block_data (device_address,0x05,[0x00])

    如果rc !=无:

      打印"错误:reg=%d"%(cmd['reg'])

    但是,我并不尊重一切,特别是我不会对AVDD进行Rampup,最糟糕的PVDD,即当我的Bananapro启动时,一切都是“开”的。 您认为这是根本原因吗? 使用哪种组件来增加PVDD?

    此致,

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

    您好,Nicolas:

    是的,重新启动可能是由于偏离数据表中列出的初始化顺序而导致的。 我建议您从该顺序开始,如果您仍然遇到重新启动问题,请告诉我。

    此外,我将附上我拥有的初始化代码示例。 它用于初始化在PBTL模式下使用BD调制操作的设备,但希望它对您有所帮助。

    此致,

    Brian Angiel

    e2e.ti.com/.../TAS5713-Initialization.txt

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

    我重做了PCB,实际上我根本没有发送初始化序列。 现在我想我对芯片更友好:它不会重新启动。
    但它仍然不能播放,错误寄存器在0x00,经过一小段时间后它切换到0x40 (PLL自动锁定错误),我只能听到扬声器上的"噪音"。 这意味着什么(PLL自动锁定错误)?
    但有时错误从0到0x40,然后从0x50到0xd0。


    我是否需要在初始化芯片后立即播放音乐,或者是否可以“稍后”播放?


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

    您好,Nicolas:

    我很高兴听到新布局对您更有效。

    您能给我发送一些有关时钟信号的信息吗? 您使用什么来生成它们?您对每个时钟运行的频率是多少?

    您是否有方法探测时钟信号以检查信号的频率和质量?

    此致,

    Brian Angiel