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.

[参考译文] TUSB2046B:无法识别 USB 设备

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1070277/tusb2046b-usb-device-not-recognized

部件号:TUSB2046B
“线程:测试”, TPS2044TUSB2046中讨论的其它部件

我设计了一个单独电源的非联动模式 USB 集线器。  

因此上游 USB D+/D-和 GND 已连接到主板/IC,但未连接 USB_5V,我们使用外部输入电源。

这是示意图:

 请忽略4D+/4D-,它们会向下拉至地面。  

我可以从示波器中看到几个方面:

1.晶体停止在2秒内工作,  

2.下游端口具有单独的5V 电压,D-保持3.3V 电压,但 D+无电。  

3.上游端口 D+和 D-在晶体发生故障前为正弦波。

4. USB 视图树信息:USB_RESET_FAILED


================================= USB 端口3 =========================

连接状态 :0x02 (设备枚举失败)
端口链 :2-12-3

设备管理器问题:43个(CM_prob_failed_post_start)
使用的端点 :0

================================= USB 设备=================

++++++++++++++++++ 设备信息++++++++++++++
设备说明 :未知 USB 设备(端口重置失败)
设备 ID :USB\VID_0000&PID_0001\6&98B719B&0&3
硬件 ID :USB\RESET_FAILURE
驱动程序密钥名 :{36fc9e60-c465-11CF-8056-444553540000}\0012 (GUID_DEVCLASS_USB)驱动
程序 INF :C:\Windows\inf\usb.inf
Legacy BusType :PNPBus
类 :USB
类 GUID :{36fc9e60-c465-11CF-8056-444553540000}(GUID_DEVCLASS _USB)
枚举符 :USB
PDO :\Device\USBPDO-7
位置信息 :Port_#0003.Hub_#0003
制造商信息 :(标准 USB 主机控制器)
功能 :0x64 (可移动,SilentInstall,RawDeviceOK)
状态 :0x01806400 (DN_H_SA_BLEABLE,DN_Removable,DN_NT_Enumerator,DN_NT_DRIVER)
问题代码 :43 (CM_prob_failed_post_start)地址
:3
HcDisableSelectiveSuspend:0
EnableSelectiveSuspend:0
SelectiveSuspendEnabled:0
EnhancedPowerMgmtEnabled:0
IdleInWorkingState :0
WakefromSleepState :0
电源状态 :D3 (支持:d0,d2,d3,从 d0唤醒,从 d2唤醒)

----- 连接信息-------------------------------------------------------
连接索引 :0x03 (端口3)
连接状态 :0x02 (设备故障计数)
当前配置值 :0x00 (配置0)
设备地址 :0x00 (0)
是集线器 :0x00 (否)
设备总线速度 :0x00 (低速
)开放式管道数 :0x00 (0管道到数据端点)
数据(六转储) :03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
00 00 00 00 (笑声)

----- 连接信息 V2 -----------------------
连接索引 :0x03 (3)
长度 :0x10 (16字节)
支持的用户协议:0x01
用户110 :1
(是,端口支持 USB 1.1) Usb200 :0 (否,端口不支持 USB 2.0)
Usb300 :0 (否,端口不支持 USB 3.0)
保留 MBZ :0x00
标志 :0x00
DevIsOpAtSsOrHigher :0 (设备未在超高速或更高速度下运行)
DevIsSsCapOrHigher 0 (设备不支持超高速或更高)
DevIsOpAttSPlusOrHigher :0 (设备不在 SuperSpeedPlus 或更高版本上运行)
DevIsSPlusCapOrHigher :0 (设备不支持 SuperSpeedPlus 或更高版本)
ReservedMBZ :0x00
数据(六转储) :03 00 00 00 10 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00…

----- 设备描述符-------------------------------------------------------
b 长度 :0x00 (0字节)

----- 字符串描述符-------------------------------------------------------
字符串描述符不可用(因为设备有问题代码 CM_PROb_FAILED POST_START)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好,托马斯,

    您似乎安装了8MHz 晶体,而不是6MHz 晶体,是否可以确认?

    此致,

    JMMN

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

    很抱歉,它是6MHZ,我忘记改变它,而且我的晶体为18pF,而不是20pF。  

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

    好的,好的。  您可以共享上游 DP/DM 波形吗?

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

    D+

    D -

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

    我忘记了将电阻器(22R)放在 IC 的端口之间  

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

    添加此电阻器是否解决了问题?

    此致,

    JMMN

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

    您的意思是它不在布局中?  这不应导致这种行为。

    我需要一个不使用无限持久性的缩小图解。  可能会尝试在 DP 降低或 DP 提高时触发。

    此致,

    JMMN

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

    上游 D+/D-看起来不错

    This is the upstream D+/D-

    下游 D+/D-:

    我可以告诉您重置在此时或每次都失败。 我不明白为什么。

    我的组件在重置中使用(C3和 R1):10nF 和12.1k

    This is the downstream D+/D-, I can tell the reset failed, causing the D+ keeps acting low, and D- keeps acting high. What should I do with my reset. The reset value: 10nF, and 12.1K

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

    还有一件事,SUSPND 是漂浮的,当晶体发生故障/重置时。悬架也很高。

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

    当集线器挂起时,晶体将关闭,因此这不是意外的。  主机是否可以正确检测集线器,而不是下游设备?  是否可以发送集线器实例的 USB 树视图?

    您在下游连接了哪种设备?

    此致,

    JMMN

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

    是的,正确 检测到上游和集线器,只有下游无法识别,我正在测试 usb1.1键盘和 USB 2.0 USB 驱动程序。

    
    ================================= USB 端口7 =========================
    
    连接状态 :0x01 (设备已连接)
    端口链 :2-7
    
    ================================= 摘要=========================
    供应商 ID :0x0451 (德州仪器(TI)
    )产品 ID :0x2046
    USB 版本 :1.10
    端口最大速度 :高速
    设备最大速度 :全速
    设备连接速度:全速
    自供电 :是
    的要求电流 :0 mA
    使用的端点 :2
    
    ================================= USB 集线器=========================
    
    ++++++++++++++++++ 设备信息++++++++++++++
    设备说明 :通用 USB 集线器
    设备 ID :USB\VID_0451和 PID_2046\5&1079772F&0&7
    硬件 ID :USB\VID_0451和 PID_2046&REV_0125 USB\VID_0451和 PID_2046
    驱动程序密钥名 :{36fc9e60-c465-11CF-8056-444553540000}\0016 (GUID_DEVCLASS_USB)
    驱动程序 :\SystemRoot\System32\drivers\UsbHub3.sys (版本:10.0.19041.1202日期:2021-09-14)
    驱动程序 INF :C:\Windows\inf\usbhub3.inf
    Legacy BusType :PNPBus
    类 :USB
    类 GUID :{36fc9e60-c465-11CF-8056-444553540000}(GUID_DEVCLASS _USB)
    服务 :USBHUB3
    枚举符 :USB
    位置信息 :Port_#0007.Hub_#0002
    位置 ID :PCIROOT (0)#PCI(1400)#USBROOT (0)#USB(7),ACPI (_SB_)#ACPI (PCI0)#ACPI (XHC_)#ACPI (RHHUB)#ACPI (HS07)
    容器 ID :{828152bb-7808-11ec-ba96-38689328c138}
    制造商信息 :(标准 USB 集线器)
    功能 :0x84 (可移动,SurpriseRemovalOK)
    状态 :0x0180600A (DN_DRIVER_loaded,DN_started,DN_DISABLEABLE,DN_removable,DN_NT_Enumerator, DN_NT_DRIVER)
    问题代码 :0
    地址 :7
    HcDisableSelectiveSuspend:0
    EnableSelectiveSuspend:0
    SelectiveSuspendEnabled:0
    EnhancedPowerMgmtEnabled:0
    IdleInWorkingState :1
    威克弗罗姆睡前 :0
    电源状态 :D0 (支持:d0,d1,d2,d3,从 d0唤醒, 从 D1唤醒,从 D2唤醒)
    
    ----- USB 集线器描述符-------------------------------------------------------
    b 描述符长度 :0x09 (9字节)
    bDescriptionorType :0x29 (集线器描述符)
    bNumberOfPorts :0x04 (4端口)
    wHubCharacteristics :0x0009
    电源开关 :单
    个化合物设备 :无
    过流保护:单
    个 TT 思考时间 :
    最多8个 FS 位乘以端口指示符 :
    不支持 bPowerOnToPowerGood :0x32 (100 ms)
    bHubControlCurrent :0x64 (100 mA)
    设备可拆卸 :0x00
    位0 :0
    (保留,任意值)位1 :0 (端口1的设备可移动)
    位2 :0 (端口2的设备可移动)
    位3 :0 (端口3的设备可移动)
    位4 :0 (端口4的设备可移动)
    位5 :0 (未使用,必须为0)
    位6 :0 (未使用,必须为0)
    位7 0 (未使用,必须为0)
    PowerControlMask :0x1E
    数据(六转储) :09 29 04 09 00 32 64 00 1E )... 2D ...
    HubIsBusPowered :0x00 (自供电)
    
    ----- 扩展 USB 集线器描述符-------------------------------------------------------
    HubType :0x02 (Usb20Hub -集线器描述符在 USB 2.0和1.1规范中定义)
    HighestPortNumber :0x04 (4个端口)
    UsbHubDescriptor :与以上
    数据(六转储)中所示的“USB 集线器描述符”相同 :09 29 04 09 00 32 64 00 1E )... 2D ...
    
    ----- USB 集线器功能-----------------------
    HubIs2xCapable :0 (不支持2.x)
    数据(六转储) :00 00 00 00 ...
    
    ----- USB 集线器功能示例---------------
    HighSpeedCapable :0 (否)
    高速 :0 (否)
    MultiTCapable :0 (否)
    HubIsMultiTt :0 (否)
    ArmedWakeOnConnect :0 (否)
    IsBusPowered :0 (否)
    IsRoot :0 (无)
    数据(六转储) :00 00 00 00 ...
    
    ----- 连接信息-------------------------------------------------------
    连接索引 :0x07 (端口7)
    连接状态 :0x01 (设备连接)
    当前配置值 :0x01 (配置1)
    设备地址 :0x38 (56)
    是集线器 :0x01 (是)
    设备总线速度 :0x01 (全速)
    开放式管道数 :0x01 (1个管道到数据端点)
    管道[0] :EndpointID=1 Direction=in ScheduleOffset=0 Type=Interrupt wMaxPacketSize=1 bInterval=255
    数据(六转储) :07 00 00 00 12 01 10 01 09 00 08 51 04 46 20 .......... 问题 F.
    25 01 00 00 00 00 00 01 01 01 01 38 00 01 00 00 00 00 01 % 8······
    00 00 00 00 07 05 81 03 01 00 FF 00 00 00 00 00 00 。
    
    ----- 连接信息 V2 -----------------------
    连接索引 :0x07 (7)
    长度 :0x10 (16字节)
    支持的用户协议:0x03
    用户110 :1
    (是,端口支持 USB 1.1) Usb200 :1
    (是的,端口支持 USB 2.0) Usb300 :0 (否,端口不支持 USB 3.0)
    保留 MBZ :0x00
    标志 :0x00
    DevIsOpAtSsOrHigher :0 (设备未在超高速或更高速度下运行)
    DevIsSsCapOrHigher 0 (设备不支持超高速或更高)
    DevIsOpAttSPlusOrHigher :0 (设备不在 SuperSpeedPlus 或更高版本上运行)
    DevIsSPlusCapOrHigher :0 (设备不支持 SuperSpeedPlus 或更高版本)
    ReservedMBZ :0x00
    数据(六转储) :07 00 00 00 10 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00…
    
    ----- 设备描述符-------------------------------------------------------
    b 长度 :0x12 (18字节)
    bDescriptionorType :0x01 (设备描述符)
    bcdusb :0x110 (USB 版本1.10)
    bDeviceClass :0x09 (集线器)
    bDeviceSubClass :0x00
    bDeviceProtocol :0x00
    bMaxPacketSize0 :0x08 (8字节)
    idVendor :0x0451 (德州仪器(TI)
    ) idProduct :0x2046
    bcdDevice :0x0125
    制造商 :0x00 (无字符串描述符)
    iProduct :0x00 (无字符串描述符)
    iSerialNumber :0x00 (无字符串描述符)
    bNumConfigurations :0x01 (1配置)
    数据(六转储) :12 01 10 01 09 00 08 51 04 46 20 25 01 00 ...... Q.F %。
    00 01 。
    
    ----- 配置描述符-------------------------------------------------------
    b 长度 :0x09 (9字节)
    bDescriptionorType :0x02 (配置描述符)
    wTotalLength :0x0019 (25字节)
    bNumInterfaces :0x01 (1接口)
    bConfigurationValue :0x01 (配置1)
    iConfiguration :0x00 (无字符串描述符)
    bmAttributes :0xE0
    D7:保留,集1 :0x01
    D6:自供电 :0x01 (是)
    D5:远程唤醒 :0x01 (是)
    D4.:0:保留,设置0:0x00
    MaxPower :0x00 (0 mA)
    数据(六转储) :09 02 19 00 01 00 E0 00 09 04 00 01 09 00 09 00 00 009 00 ..........
    00 00 07 05 81 03 01 00 FF 。
    
    ----- 接口描述符-------------------------------------------------------
    b 长度 :0x09 (9字节)
    bDescriptionorType :0x04 (接口描述符)
    bInterfaceNumber :0x00 (接口0)
    bAlternateSetting :0x00
    bNumEndpoints :0x01 (1端点)
    bInterfaceClass :0x09 (集线器)
    bInterfaceSubClass :0x00
    bInterfaceProtocol :0x00
    iInterface :0x00 (无字符串描述符)
    数据(HexDump) :09 04 00 01 09 00 00 00 00 。
    
    ----- 端点描述符-------------------------------------------------------
    b 长度 :0x07 (7字节)
    bDescriptionorType :0x05 (端点描述符)
    bEndpointAddress :0x81 (Direction=in EndpointID=1)
    bmAttributes :0x03 (TransferType=Interrupt)
    wMaxPacketSize :0x0001 (1字节)
    bInterval :0xFF (255 ms)
    数据(六转储) :07 05 81 03 01 00 FF 。
    
    ----- 字符串描述符-------------------------------------------------------
    无
    
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,然后重置到集线器应该正常。  串联电阻器应该靠近设备,但放置错误,我希望看到下游端口发生切换。

    您能否在连接了 USB 2.0 (HS/FS)设备的情况下共享下游端口上的波形?

    此致,

    JMMN

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

    这是 PCB 布局

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

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

    大家好,托马斯,

    蓝色/黄色线条是否为上游端口?  下游端口是粉色/深蓝色端口?  为什么粉红色/深蓝色线条上的 DP 和 DM 都很高,这是无效的线条状态,不应该出现。

    此致,

    JMMN

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

    是的,你是对的,前两个是 DP0+/DP0-,后两个是 DP3+(蓝色),DP3-(粉红色)。

    我无法解释你提出的问题。 我认为 D+应该一直很高,导致我正在测试 USB2.0全速? 如果不是因为重置或晶体,那么会发生什么情况? 还是重置问题?

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

    顺便说一下,我没有在信号之间使用 SN75420 (二极管,可能是这样吗?

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

    大家好,托马斯,

    由于集线器的上游端口工作正常,因此这不是重置或晶体问题。

    当您插入下游设备并看到 VBUS 时,如果是 FS 或 HS 设备,设备将打开 DP 上的下拉菜单

    当您插入下游设备并看到 VBUS 时,如果是 LS 设备,设备将打开 DM 上的下拉菜单

    在您的系统中,DP 和 DM 都很高,这可能会导致问题。

    您能否断开下游设备的连接,确保端口上的 VBUS 处于5V 状态,然后捕获下游设备连接时 DP 和 DM 会发生什么情况?

    此致,

    JMMN

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

    你好,JMMN,

    谢谢你的帮助,现在主板工作了,我知道我犯了什么错误。 我在 TUSB2046和 TPS2044之间的下拉列表中使用了0.022uF 保护罩,它实际上是22nF,而不是22pF。 这就是我的测试失败的原因。 总的来说,这不是我的主板上发生的错误,而是我使用的组件。 如果我没有进行双重检查,我们就无法解决问题。  

    重新分级,

    托马斯·苏伊