大家好、
我有一款采用 TUSB4041I 芯片的产品、最近出现了一些问题。 我将尝试以简洁的方式描述症状。
-该产品是在去年设计和制造的,大约有20套。 每个单元都在开始工作。
-运行几个月后,我们有4台设备停止被某些 USB 主机识别。 当某个单元停止与特定主机一起工作时、我们尚未看到它开始再次工作。
-如果通过外部 USB 2.0集线器(主机供电)连接了坏设备,则即使与不能直接工作的主机连接也能正常工作。
我们尝试了不同的电缆。
我们始终使用具有 Ubuntu 的计算机、并查看 dmesg 报告。 如果我们的装置停止工作(所有装置最初都可以工作)、则连接设备后、dmesg 将保持完全安静、就像未连接 USB 的数据线一样。
复位引脚连接到时间常数约为20ms 的 RC 电路。 在器件未被识别后手动下拉 RESET 引脚不起作用。 此外、在不断开 USB 线的情况下进行电源循环也没有帮助。
在进行一些故障排除后、我注意到时钟振荡器在系统未被识别时运行异常、因此我尝试在那里解决它。 随附的示波器屏幕截图之一显示了时钟上的奇怪行为、而另一个屏幕截图显示了同一器件通过 USB 集线器连接到同一主机时运行良好的时钟。 信号在晶体的一个引脚上测量。 请注意不同的时间刻度。
使用的晶体是 ABM3B-24.000MHZ-10-1-U-T 我尝试了以下步骤以查看是否可以使其正常工作:
-卸下18p 盖
-将电容器放回、移除1M 电阻器
-放回1M、添加一个与 XO 引脚串联的1k 电阻器
在执行这些步骤后、器件通过外部集线器正常工作、但未能正常工作(即所采取的步骤完全无效、也不会使其变得更糟)。
后来、我看到其他人在 TUSB4041卡在挂起模式时遇到问题、在该模式下时钟可能会关闭。 这是怎么回事? 关断时、时钟是否看起来如此奇怪?
我还了解到、焊接芯片散热焊盘在某种程度上至关重要。 我们有一个根据数据表创建的 PCB 封装、但我们不知道我们的装配体使用的厚度模板。 我们也无法轻松访问 X 射线。 焊料问题是否纯粹是热问题? 只要有合理数量的焊料和实心连接、我就无法看到散热垫上的焊料质量如何影响信号完整性。 在我们的应用中、芯片额外连接到顶部的散热器上、这应改善散热。 上面有 TUSB4041的 PCB 位于被动冷却的外壳内、外壳内的温度可达50-60摄氏度、 但是、即使芯片在高温下运行、我也不会期望芯片像这样受到永久损坏(我希望芯片在过热时停止工作、但器件会由于连接断开而关闭并冷却、因此不会出现温度过高的情况)。
总之:我们的所有设备最初都可以正常工作、然后在一段时间后、某些设备永久停止被某些 PC 识别、同时仍能与其他 PC 正常工作或通过集线器连接。
奇怪的是,一切最初都是正常的,只有在运行了几周或几个月后才停止。
我已经查看了以下主题:
https://e2e.ti.com/support/interface/f/138/t/730153?TUSB4041I-How-to-check-behavior-
https://e2e.ti.com/support/interface/f/138/t/548848#pi239031350=2&pi320995=2
我现在的计划是尝试使用振荡器而不是晶体、或者甚至只使用不同制造商生产的晶体、但最好了解这个问题。 我感谢您提供有关该做什么的任何提示。 我们的客户的运营处于暂停状态、正在等待我们找到可靠的解决方案。 换用另一个 PCB 并不是一个好主意、因为新的 PCB 可以随时停止以相同的方式工作。