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**** 2484615 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/872279/tas6424-q1-clearing-overcurrent-faults

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

前面的问题描述了 TAS6424数据表的许多问题、我还有几个后续问题

  • 之前的查询专门询问了如何清除全局故障2寄存器(0x12)中的故障
    • 寄存器0x10 (通道故障)和0x11 (全局故障1寄存器)中的故障会怎么样?
    • 是否必须遵循任何特定的定序才能清除过流?

很抱歉、我会很紧张、但我必须开始与 Linux 驱动程序维护人员进行讨论、如果我有线索、这会加快进度。

目前、tas6424 Linux 驱动程序有很多问题(写入0x21.7以清除的顺序不正确、以及正在清除的内容)。

git.kernel.org/.../tas6424.c

是否有更新的数据表来澄清这些问题?

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

    您好、Jon、

    寄存器0x21中的位7将清除寄存器0x10、0x11、0x12和0x13中的所有故障和警告。  没有序列、只需写入0x21中的位7。

    如果出现过流故障或直流偏移故障、则输出级将处于高阻态模式。  在高阻态模式下、消除了过流和直流偏移故障。  最好运行直流负载诊断、以确保不存在导致过流故障的短路情况。  直流偏移在放大器重新导通前无法确定。  您的代码可以计算直流偏移故障的数量、然后关闭该通道、直到下一次下电上电。  直流偏移故障的数量取决于系统。

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

    Eric、

    感谢您提供的信息、我还意识到 Linux 驱动程序发出了一条"重置"命令(地址0x00、位7)...但这似乎不能清除故障...这种操作到底是什么作用? 它是否等效于 POR? (我必须相信不会清除故障)。

    谢谢、

    Jon

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

    您好、Jon、

    Linux 驱动程序不是由我们的团队创建的。  它是一款开源 Linux 驱动程序、由 TI 的另一个团队开发。  

    要明确清除故障、必须执行我之前消息中描述的命令。  

    如果发送了"复位命令"(基本上类似于 POR 事件)、则故障应清除。  如果他们不 能确认命令正在发送。 并得到确认。

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

    顺便说一句...抱歉、这是使用我的个人帐户运行的...当我开始使用我的工作帐户登录时...我们将 TAS6424用作我们驾驶舱 SOC 的参考设计...如果它很重要的话。

    无论如何、我认为复位正确地是 sent....no、我确定可以附加一个包含 i2c 数据的文件...下面是一个包含一些注释的片段。 此 i2c 总线上有2个 tas6424和一个 GPIO 扩展器...无论如何...这是 Linux 驱动程序在初始化和运行时生成的流量。 该总线位于 a2b 总线的后面、因此流量有一点 slow...in 在任何情况下、我们遇到的情况(由于 a2b 主机的功率循环、而不是隔离式放大器)在初始化时会看到放大器上的过流故障...并尝试充分了解如何处理。 但初始"复位"会清除它。  

    在开始与驾驶员维护人员讨论之前、我只想确保我了解放大器"应该"做什么。

    那么、您的位置是"reset device"命令应该清除故障? 它会将所有寄存器清零至"POR "状态吗? 因为在我们的系统中、这种情况似乎不是这样。

    这个特定问题(主机电源循环)、我们"可能"通过强制硬件中的主机关闭隔离电源来解决了...但仍然希望明确了解"重置设备"命令的作用(因为我的经验不同意您的意见...您可以看到正在发出重置、 但在下面的事务81 (以及后续的273)中读取过流。

    2.962190750000000,490xD4,0x80、写入、ACK #复位器件
    2.973521000000000,50,0xE8,0x06、写入、ACK
    2.973839125000000、51、0xE9、0xFC、读取、NAK
    2.9954375000000、52、0xD4、0x03、写入、ACK
    2.995627750000.52、0xD4、0x05、写入、ACK # 44.1kHz、前4个 tdm、左对齐16/24位
    3.031416000000、53、0xE8、0x02、写入、ACK
    3.031606375000000、53、0xE8、0xFE、写入、ACK
    3.049520000000000、54、0xE8、0x06、写入、ACK
    3.049710250000.54,0xE8,0xDC、写入、ACK
    3.065582125000000、55、0xE8、0x06、写入、ACK
    3.065900250000.56、0xE9、0xDC、读取、NAK
    3.074207125000000、57、0xD4、0x05、写入、ACK
    3.074397375000000、57、0xD4、0xAF、写入、ACK #设置通道1卷0xAF (大容量)
    3.081873625000000、58、0xE8、0x02、写入、ACK
    3.082064000000、58、0xE8、0xEE、写入、ACK
    3.089915125000000、59、0xD4、0x06、写入、ACK
    3.090105500000000、59、0xD4、0xAF、写入、ACK #设置通道2卷0xAF (大容量)
    3.098331750000000、60、0xE8、0x06、写入、ACK
    3.098522125000000、60、0xE8、0xCC、写入、ACK
    3.129143750000000、61、0xD4、0x07、写入、ACK
    3.129334125000000、61、0xD4、0xAF、写入、ACK #设置通道3卷0xAF (大容量)
    3.142247625000000,62、0xD6、0x00、写入、ACK
    3.142438125000000、62、0xD6、0x80、写入、ACK
    3.150039375000000、63、0xD4、0x08、写入、ACK
    3.150229625000000、63、0xD4、0xAF、Write、ACK # set channel 4 volume 0xAF (大声)
    3.157789125000000、64、0xD6、0x03、写入、ACK
    3.1579795000000006、0xD6、0x24、写入、ACK
    3.16468487500000065、0xD4、0x09、写入、ACK
    3.164875250000.65、0xD4、0x01、写入、ACK # LOAD 诊断未运行
    3.181517875000000,660xD6,0x03、写入、ACK
    3.181708375000000、66、0xD6、0x25、写入、ACK
    3.244079625000000、67、0xD6、0x05、写入、ACK
    3.244269875000000,67,0xD6,0xAF、写入、ACK
    3.254975250000.68、0xD6、0x06、写入、ACK
    3.25516562500000068、0xD6、0xAF、写入、ACK
    3.260850125000000、69、0xD6、0x07、写入、ACK
    3.261040500000000、69、0xD6、0xAF、写入、ACK
    3.269245875000000、70、0xD4、0x03、写入、ACK
    3.269436250000.70,0xD4,0x45, Write, ACK #48kHz,前4个 tdm 插槽
    3.285412250000.71、0xD6、0x08、写入、ACK
    3.285602625000000、71、0xD6、0xAF、写入、ACK
    3.300745375000000、72、0xE8、0x02、写入、ACK
    3.3009357800000、72、0xE8、0xEF、写入、ACK
    3.314578500000000、73、0xD6、0x09、写入、ACK
    3.314768875000000、73、0xD6、0x01、写入、ACK
    3.326328250000.74、0xD4、0x04、写入、ACK
    3.326518750000.74、0xD4、0x00、写入、ACK #所有4个通道均可播放
    3.357911250000000、75、0xE8、0x02、写入、ACK
    3.358101625000000,750xE8,0xEF、写入、ACK
    3.375910875000000、76、0xD6、0x03、写入、ACK
    3.376101250000000、76、0xD6、0x65、写入、ACK # 48kHz、第二个4 tdm 插槽
    3.384765000000、77、0xE8、0x02、写入、ACK
    3.384955375000000、77、0xE8、0xFF、写入、ACK
    3.391369000000、000、78、0xD6、0x04、写入、ACK
    3.391559375000000、78、0xD6、0x00、写入、ACK
    3.419285250000.79、0xE8、0x02、写入、ACK
    3.419475625000000、79、0xE8、0xFF、写入、ACK
    3.564262250000.80,0xD4,0x10、写入、ACK
    3.564580250000.81、0xD5、0x80、读取、NAK
    3.582387000000、82、0xD4、0x11、写入、ACK
    3.582705000000.83、0xD5、0x00、读取、NAK
    3.589595250000.84,0xD4,0x12、写入、ACK
    3.589913250000.85、0xD5、0x00、读取、NAK
    3.601491000000.86、0xD4、0x13、写入、ACK
    3.601809000000、87、0xD5、0x00、读取、NAK

    (笑声)

    6.496281375000000、272、0xD4、0x10、写入、ACK
    6.4965AG500000000,273,0xD5,0x80,READ,NAK

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

    您好、Jon、

    我可以理解 I2C 转储。 我有一些问题:

    1. 我看到您一直在调高音量。  为什么要这样做?   
    2. 最大数字输入信号是多少?  0dBFS 处的满标度将以0dB 增益削波。
    3. 在步骤74中打开放大器、可能会出现 OC。  您为什么认为它不能出现在这里?  OC 可能是真实的、尤其是在最大音量时  

    请尝试执行以下步骤、查看设置中是否有令人难过的内容。

    1. 在步骤49中重置后读取故障、查看是否存在 OC 故障。
    2. 运行负载诊断程序、查看您是否对地短路或对电源短路、请勿在步骤65中将其旁路
    3. 在步骤81之后、读取0x0F 中输出的状态、 这将为您提供输出的实际状态。  通道1可能处于高阻态。

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

    Greg、

    老实说、在我与维护人员讨论之前、我将加快此速度、并为 Linux TAS6424.c 驱动程序编译一个"问题"列表。

    不确定您对软件的了解程度如何、但如果愿意、请查看:

    https://elixir.bootlin.com/linux/latest/source/sound/soc/codecs/tas6424.c

    也许您甚至知道那些被列为作者的人。

    Linux 的问题在于、如果驱动程序"良好"、则"不用担心"。。。如果有问题、则会变得有点困难。

    i2c 跟踪基于系统中驱动程序的行为...我的任务是弄清"发生了什么..."。当我在注释中看到"0xAF"音量设置时、我在注释中注意到、对我来说也显得很大...但是默认(POR)值为0xCF=0dB...这更少...为什么您说"全部" 前进的道路"?

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

    您好、Jon、

    我不正确、0xAF 的值为-16dB、因此这不是问题。

    我不是一个软件人员、因此我无法说出驱动程序代码。

    您可能需要使用欧姆计来查看在测试设置中通道1是否具有接地或电源的低阻抗。  这将导致发生 OC 故障。

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

    Greg、

    我在未连接任何设备的通道上遇到过 OC 故障。 同样、当系统在放大器已配置(甚至可能是"播放")之后发出初始化命令集时、这似乎是一个相关的问题。

    一旦 OC 激活、这组命令就不会清除 OC 故障、无论执行多少次...我清除故障的唯一方法是为放大器断电。 (请注意、当发生 OC 时、驱动程序当前不会发出"故障清除"(0x21、位7)...这是我需要与声称该驱动程序的任何人讨论的问题之一。

    根据我看到的情况、我仍然不相信0x00位7正在做什么、但如果您没有进一步的了解、我们可以关闭这个 TT。

    谢谢、
    Jon

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

    Jon、

    今天、我在工作台上有一些时间。  我需要让您继续前进、以便我们能够正确调试您的系统。  我将保持开放状态、直到您对器件的了解得到满足。

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

    Jon、

    您不会疯了、我已经把这个器件与另一个器件混淆了、您答对了。  复位 不会复位/清除故障。  它只是复位控制寄存器。  我很抱歉指导错误。

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

    Greg、

    感谢您花时间了解这一点...我对此表示赞赏。

    如果 HWM 能更新其中的一些信息,那将是很棒的:)

    Jon

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

    Jon、

    数据表和用户指南不在更新队列中。  我将根据您的见解将其放在队列中、我将提出更新建议。