USB Contact Mating Sequence

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

USB Contact Mating Sequence

ソリューションへジャンプ
2,155件の閲覧回数
jeffthompson
Contributor V

I'm working with a non-standard USB connection method and MCUXpresso USB SDK. If the device and host contact mating sequence is GND, then D+, then D-, then Vbus, the device enumerates. But if the mating sequence is reversed, it does not.

Is there a specification for the contact mating sequence?

Is there some way I can poll to see if there is a connected device, or to force an enumeration attempt?

ラベル(1)
タグ(1)
0 件の賞賛
返信
1 解決策
2,112件の閲覧回数
jeffthompson
Contributor V

I replied to the email notice, but Outlook couldn't send it for some reason. I'm using the MIMXRT1062DVJ6A as a host. The USB SDK is what came with MCUXpresso 2.6.2 (it's what we started and and its too late in the development cycle to change). I ended up looking for (kEHCIDeviceAttached == ehciInstance->deviceAttached) && (kStatus_DEV_Attached != cdcInstance->deviceState), then disabling Vbus to the connector, tearing down and rebuilding the USB stack, and enabling Vbus to connector. It's a bit of sledge hammer approach, but it works reliably. The device immediately enumerates and communicates.

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
2,113件の閲覧回数
jeffthompson
Contributor V

I replied to the email notice, but Outlook couldn't send it for some reason. I'm using the MIMXRT1062DVJ6A as a host. The USB SDK is what came with MCUXpresso 2.6.2 (it's what we started and and its too late in the development cycle to change). I ended up looking for (kEHCIDeviceAttached == ehciInstance->deviceAttached) && (kStatus_DEV_Attached != cdcInstance->deviceState), then disabling Vbus to the connector, tearing down and rebuilding the USB stack, and enabling Vbus to connector. It's a bit of sledge hammer approach, but it works reliably. The device immediately enumerates and communicates.

0 件の賞賛
返信
2,136件の閲覧回数
jeffthompson
Contributor V
So, I modified my code to disable USB power and start a 1-second timer when the EHCI device attached state is Attached, but the CDC device state is not Attached. I connect the device, but it would not enumerate.
 
I then changed the timeout to 2 seconds. Still not working. I really don't what else I can do. I can't change the connection method, but I have contacted the device developer to see if there is anything they can do on their end. Fortunately, it's all in the same company, and the device and the host only need to work with each other.
0 件の賞賛
返信
2,141件の閲覧回数
gusarambula
NXP TechSupport
NXP TechSupport

Hello jeffthompson,

Standard connectors usually have the GND and VBUS pins elongated in relation to the Data pins as to have power first and then proceed with the enumeration so I wouldn’t recommend your current sequence.

It’s possible that it works as the data signals are present when the power is enabled. The other way around you would have VBUS present, but no ground reference signal and the data pins cannot function properly this way.

Would you please provide more details on your setup? For example, which i.MXRT you are using and is it working as host or device? If you are running a specific demo please also let us know.

Regards,
Gustavo

0 件の賞賛
返信