使用STM32CubeMx工具配置STM32F103ZE芯片,在HID模式下,电脑不能识别到USB设备。经分析跟DP线有关。
硬件板的设计是 STM32F103ZE芯片+FE2_QFP48(USB hub芯片)。
其中:
PA11-->USB_DM
PA12-->USB_DP
PG8-->USB_CTRL(CTRL=1时DP悬空,CTRL=0时DP被上拉)
若想使电脑识别到USB设备,需要将DP上拉即可。
硬件电路上做如此设计是考虑到设备端重启,电脑需要重新识别到这是一次重启事件,否则电脑会显示“未识别设备”。在设备端重启后,首先将DP悬空,让电脑检测到USB设备掉线,然后再将DP上拉,让电脑识别到USB设备。如果不做此处理,则电脑不知道设备已经重启过了。
以下表格是USB各引脚配置及意义:
HOST端device端(高速)device端(低速)VBUS+5V自供电/外供电自供电/外供电D-(DP)15K下拉悬空
15K上拉D+(DM)15K下拉
15K上拉悬空ID拉低悬空悬空GNDGNDGNDGND其中,关于ID脚功能的说明,当2个OTG设备连接到一起的时候 ,ID为0的OTG设备默认为主机(Adevice),ID为1的OTG设备默认为从机(B device)。