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.

[参考译文] TAS6424-Q1:一旦我们移除直流负载、诊断就不会针对直流负载正确更新

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1467354/tas6424-q1-diagnostics-are-not-updated-for-dc-load-properly-once-we-remove-the-dc-load

器件型号:TAS6424-Q1
主题中讨论的其他器件:TAS6424、TAS6424E-Q1 、TAS6584-Q1

工具与软件:

您好、TI 支持团队:

我们有兴趣读取寄存器0x0C 和0x0D 的直流负载诊断。 当我们将扬声器等外部负载连接到通道1、2、3和4 (用于前置和后置扬声器)时、将检测到电池短路、接地短路和直流负载开路、而不会出现问题。

连接直流负载(外部扬声器)后、我们预计0x0C 和0x0D 中的寄存器值为0x00、因为所有通道上都没有故障。 这是我们目前看到的观察。

但是、当我们移除外部扬声器时、故障应该会重置、从而产生一个非零值、特别是设置了第1位和第5位。 遗憾的是、故障未按预期复位。

如果有任何其他配置或寄存器,我们应该考虑调整 Init ()函数来解决此问题,您能否提供建议?

    TAS6424_WriteReg (TAS6424_REG_MODE_CTRL_ADDR0x80);
    TAS6424_WriteReg (TAS6424_REG_MODE_CTRL_ADDR0x00);
    TAS6424_WriteReg (TAS6424_REG_SAP_CTRL_ADDR0x46);
    TAS6424_WriteReg (TAS6424_REG_CH_STATE_ADDR0x00);
    TAS6424_WriteReg (TAS6424_REG_CH1_VOL_ADDR0xC9);
    TAS6424_WriteReg (TAS6424_REG_CH2_VOL_ADDR0xC9);
    TAS6424_WriteReg (TAS6424_REG_CH3_VOL_ADDR0xC9);
    TAS6424_WriteReg (TAS6424_REG_CH4_VOL_ADDR0xC9);
    TAS6424_WriteReg (TAS6424_REG_DC_DIAG_CTRL_ADDR0x02);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    直流诊断仅在器件处于 Hi-Z 状态时有效。  它不是实时负载诊断。  如果您移除了扬声器负载、则需要将器件置于 Hi-Z 模式、然后运行负载诊断。

    此致、
    Gregg Scott

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

    尊敬的 Gergg Scott:

    感谢您的答复。 我们将在明天尝试。 同时、我想再分享一个观察结果:

    负载连接到任何通道后、我们会注意到全局故障1寄存器值为0x10、表示检测到时钟故障。

    这在播放模式下是正常的吗、或者我们是否也应该在 Hi-Z 状态下预期这一点?

    此外、我们是否需要启用交流诊断来测试扬声器负载诊断?

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

    交流负载诊断和时钟故障是两种不同的机制。  需要解决时钟故障问题。  您需要确保具有具有 Fsync 的精确整数倍的正确时钟。  如果它们不准确、则会出现间歇性时钟故障。  如果接地从器件返回到 TDM 源、您还可以看到时钟故障。

    此致、
    Gregg Scott

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

    尊敬的 Gergg Scott:

    我们尝试通过将扬声器连接到通道来在 Hi-Z 模式下测试负载诊断。

    但是、我们始终从寄存器0x0C 和0x0D 读取零(0x00)值。

    即使在 Hi-Z 模式下短接至 GND 或 VCC、寄存器值也是相同的、例如0x00。

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

    Sunilkumar,

    您可以查看此 e2e 主题以获得帮助:(11) TAS6424E-Q1:诊断功能-音频论坛-音频- TI E2E 支持论坛

    这提供完成直流负载诊断所需的时序、以便您可以读回值。

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    感谢您的答复。

    我们每10ms 读取一次诊断寄存器、我们也每10ms 检查一次模式;但是、状态始终保持为播放模式。

    当我们将状态更改为 Hi-Z 模式时、两个诊断寄存器值都为零。

    我们面临着一个与直流负载诊断相关的问题。 以下是一些观察:

    如前所述、这是我们在播放模式下观察到的情况:

    • 如果我们将相应的通道连接到 GND 或 VCC、则可以在相应的寄存器0x0C 和0x0D 中检测故障值("检测到 GND 短路"或"检测到电源短路")。
    • 断开通道与 GND 或 VCC 的连接后、我们可以看到开路负载位按预期设置("未检测到 GND 短路"、"未检测到电源短路")。
    • 在此期间、我们不会观察到全局故障1寄存器中的任何值。

    负载测试:

    • 当我们将外部扬声器连接到相应的通道时、0x0C 和0x0D 寄存器值会按预期指示"未检测到负载开路"。
    • 一旦我们从通道中移除外部负载、我们需要设置"检测到开路负载"位、但从未设置该位。
    • 在此期间、我们观察到全局故障1寄存器值为0x10、表示检测到时钟故障。

    能否就解决这一问题提供指导或建议?

     

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

    在上述情况下进行负载测试期间、我的解释是您在步骤1中测试开路负载、并在您将其退出待机模式时通过自动直流负载诊断功能进行测试。  在步骤2中、我可以解释为、您是在不运行直流负载诊断的情况下切断负载并期望变化。  而且、我不知道您看到时钟故障的原因。  这与直流负载诊断是分开的。   

    在使器件退出待机模式时的自动负载诊断中、具有故障连接的通道将大约每秒(永远)进行一次测试、直到负载得到校正。  自动直流诊断也可以通过 I2C 发出 ABORT 信号来终止、或将器件置于 STANDBY 模式。

    如果您在从待机状态中恢复后使所有设备正常工作、然后再停止负载、则不会检测到负载。  您需要通过 I2C 命令运行直流诊断。  

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    非常感谢您的答复。

    如您所知、我们当前运行在播放模式。 测试 GND 和 VCC 后、模式保持不变、我们在测试(故障)负载时观察到相同的模式。

    我有几个问题:

    1. 在此过程中我们是否需要监控待机引脚24?
    2. 我们是否需要设置寄存器0x28中的 PHASE_SEL 第5位?
    3. 要进行负载故障检测、我们是否需要再次在寄存器0x09中输入命令、如以下快照所示?

    您能否就这些问题提供指导?

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

    当处于 PLAY 模式时、直流负载诊断无法正常运行。   

    在播放模式下:

    • 电源短路将触发过流故障。  如果启用了自动负载诊断、它将逐个运行直流负载诊断、然后等待用户交互。
    • 接地短路将触发过流故障。  如果启用了自动负载诊断、它将逐个运行直流负载诊断、然后等待用户交互。
    • 开路负载不会触发故障或运行负载诊断。  什么都不会改变
    • 如果信号足够大且短路在电阻中足够低、短路负载可能会触发 CBC 警告。  这不会触发直流负载诊断

    PLAY 期间无法进行负载诊断。  本器件未对其进行设计。

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    您能说明一下我们需要对扬声器负载诊断做些什么吗? 我们已经在所有四种模式下执行了测试、但直流诊断寄存器0x0C 和0x0D 上没有更新。

    1. 在 Hi-Z 模式下、当我们执行直流扬声器诊断时、寄存器0x0C 和0x0D 始终显示零。

    2. 在直流诊断模式下、寄存器0x0D 始终读取0x03、即使未连接任何器件也是如此。

    您能否告诉我们此设备是否支持扬声器负载诊断功能?

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

    Sunikumar,

    在读取直流负载诊断寄存器之前、您需要等待多长时间?  当所有4个通道都为开路负载时、最坏的情况为500ms。

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    作为循环任务的一部分、我们每100ms 持续读取一次诊断寄存器。 启动软件1分钟后、我们连接扬声器、但无法检测到寄存器0x0C 和0x0D 上的负载扬声器。

    此致、

    Sunilkumar Chawhan

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

    Sunikumar,

    在上面随附的图形中、输出显示为开路负载。  您是否连接了扬声器?  在上面的注释#2中、它表示没有任何连接。   

    以上测试1和2之间的区别是什么。

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    正如我在上一个注释中提到的、我们最初没有连接任何到与寄存器0x0D 相对应的通道3。 行为保持不变、如图所示、使用 STB 和扬声器负载时、寄存器值仍然没有变化。

    我们目前不确定执行扬声器负载诊断还需要做什么。 您能提供一些指导吗?

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

    您好 Gregg Scott:

    正如我在上一个注释中提到的、我们最初没有连接任何到与寄存器0x0D 相对应的通道3。 行为保持不变、如图所示、使用 STB 和扬声器负载时、寄存器值仍然没有变化。

    我们目前不确定执行扬声器负载诊断还需要做什么。 您能提供一些指导吗?

    1.当我们在0x04寄存器中将 MODE 更改为 DC 诊断模式时:0xFF

    表示通道3和4 (0xD)的寄存器 Front_spk_FAULT_reg 中没有变化

    2. 当我们 在0x04寄存器中将模式更改为 Hi-Z 模式时:0x55

    表示通道3和4 (0xD)的寄存器 Front_spk_FAULT_reg 中没有变化:始终为零

    在寄存器0x04中将模式更改为播放模式(通过将其设置为0x00)时、中没有变化 FRONT_SPK_FAULT_reg 、表示通道3和4 (0x0D)。

    负载诊断功能将检测到故障、一旦我们连接扬声器、寄存器值将按预期更改为"No_OPEN_Load Detected"、但它会锁存、并且通道在锁存后将无法正常运行(STB、STG、SL 将不起作用)。

    通道4

    通道3

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

    Sunikumar,

    在上面的步骤1中、结果与描述相符。  通道3为开路负载、通道4负载正确。

    第2步是否遵循第1步?   我看到通道3现在显示的是正确的负载。  此时您是否连接了扬声器/负载?   

    在第3步中、从高阻态到 PLAY、除非在寄存器0x09位0中将其旁路掉、否则直流负载诊断将运行。  它继续在开放的频道上运行、当连接扬声器时、它将检测到它。  请读取寄存器0x0F 以查看其所在通道的状态。  哪个寄存器是 Front_spk_FAULT_reg?  如果是寄存器0x10、则需要清除通道3上的 OC 故障。  如果是、这将阻止通道。

    在通道4图形中:
    通道状态0xFC 不能正确反映通道3和4的 SPK 诊断状态。 它们是相反的。

    在通道3图形中:
    一切看起来都正确。

    此致、
    Gregg Scott

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

    在图形中、变量" CHAL_STATE_REPORT "属于注册" 0x0F "

    图1:在启动软件之前、如果我们首次将扬声器负载连接到通道、该值将在直流诊断模式下更新。 但是、启动软件并将扬声器连接到频道后、它将检测不到任何内容。

    图2:如果我们手动将寄存器0x04设置为 Hi-Z 模式、我们将收到0x0D 寄存器中的值、它表示变量" FRONT_SPK_FAULT_reg "

    图形3和4:我们手动将模式设置为在寄存器0x04中播放、它对应于名为" STATE_CTRL_reg " 首次、如果我们连接负载 FRONT_SPK_FAULT_reg 进行了相应更改。 但是、如果我们随后卸下扬声器、即 FRONT_SPK_FAULT_reg 寄存器值不变 锁存 .

    如果可能、我们是否可以进行会议或团队通话? 这将有助于我们更快地理解我们的问题。

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

    Sunikumar,

    自动负载诊断具有一些您需要了解的问题。  器件退出待机模式后、会自动运行。  如果所有通道正常、它将停止运行负载诊断并将报告设置为0x00。  如果某个通道出现故障(例如开路负载)、该通道将每秒继续运行负载诊断并报告开路负载。  连接扬声器时、它会发现负载、因为它每秒运行一次负载诊断、并会报告存在负载。   这不是相反的工作方式,如果你有一个良好的负载,然后卸下扬声器,它不会指示负载丢失,因为自动负载诊断停止上一个良好的负载。   

    获得良好的负载指示后、您可以传输正确加载的通道进行播放。  在这些通道上、负载诊断未运行、如果您卸下扬声器、则不会指示负载诊断。   和具有错误负载(如0x0D 寄存器中所示)的通道无法移至播放模式。  它将卡在负载诊断状态。  

    所说的锁存效应是因为当扬声器在获得良好效果后被移除时、通道上的负载诊断不起作用。  

    我们的直流负载诊断不能用于检测处于 PLAY 模式的扬声器。

    此致、
    Gregg Scott

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

    您好 Gregg Scott:

    在星期一的讨论之后、我们有一些问题:

    之间的比较 正在复位 从机 使用 I2C (通过写入 0x80 模式控制寄存器 (0x00))、我们无法获得扬声器负载诊断。

    但是、复位从设备会中断扬声器的播放、因为它会在复位期间停止播放、而这种情况每5秒发生一次、因为我们会定期更新播放模式、因此它会中断扬声器的播放。

    请建议一个获得扬声器负载诊断而不中断扬声器播放的解决方案

    此致、

    Sunil Chawhan

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

    Sunil、

    正如我们在电话呼叫过程中讨论的、TAS6424E-Q1没有此功能。  接地短路或电源短路保护可提供过流保护。  对于短路负载、我们可以查看 CBC 警告或过流保护(这取决于信号电平)。  对于开路负载、无法在 PLAY 时检测到该情况。

    如果您需要实时负载诊断、则可以实现能够检测扬声器中电流的外部电路。  可将电流与输出电压进行比较、从而确定扬声器是开路负载还是短路负载。

    或者、您可以使用内置了实时负载诊断功能的 TAS6584-Q1器件。

    此致、
    Gregg Scott