Other Parts Discussed in Thread: TUSB2077A, TUSB2046B
主题中讨论的其他器件: TUSB2046B
将设计从 TUSB2046B 4端口集线器转换为 TUSB2077A 7端口集线器。 我只能获得七个端口中的四个进行初始化。 在 TI 工程部门的帮助下(谢谢 Julie!) 我了解到 TUSB2077A 具有未记录的"特性"。 手册中没有提到过这一点、尽管它可能曾经提到过。
当/BusPwr 设置为低电平时、这意味着器件和下行端口由上行 USB 供电。 由于有一个500mA 的电流限制、并且为集线器芯片分配了100mA、所以只有400mA (每端口100mA)可用。 该器件禁用最多三个端口以符合标准。 在总线供电模式下、它是一个四端口集线器。 它只是一个自供电模式下的7端口集线器、且/BusPwr 设置为高电平。
TUSB2046B 具有几乎相同的控制引脚、但关键 的是、总线供电设备的 BusPwr 引脚的逻辑状态为高电平、而不是低电平。 当我替换2077A 时、我错过了/BusPwr 引脚的状态已翻转的事实。 我之前将其设置为低电平、因为它是自供电的。
另一个消息是、只要在上游器件联机并开始查找 USB 集线器之前完成复位、使用较长的复位时间就没有任何影响。 在本例中、3.3V 电源的斜升时间相当慢、我使用的是简单的 R/C 时间延迟。 在电源稳定 且晶体振荡器稳定之前、不得释放复位。 对于晶体来说、缓慢的斜坡时间和几毫秒的时间、很难在电源轨后面有一个足够远的简单 RC 来提供足够的延迟、使用不超过1ms 的预定值。 该限制是由响应已启动的实时设备的 USB 连接的要求驱动的。 在我的嵌入式系统案例中、在嵌入式电路板加电并准备就绪后、PC 端仍在启动并执行加电测试。 我使用的是4.7K 和10uf、这使我的延迟更像是40ms。
由于 Julie 的建议、问题得以解决。 我想在这里写下它、以便未来的工程师在这个奇怪的问题上撕下头发、可能会在完全不平衡之前发现它。