你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> HK32/航顺 >> 航顺芯片HK32F103xC/D/E USB枚举情况分析

航顺芯片HK32F103xC/D/E USB枚举情况分析

关键字:航顺芯片 HK32F103x C D E USB 枚举情况分析 作者: 来源: 发布时间:2022-06-23  浏览:10
HK32F103x/C/D/E是航顺芯片公司推出的中大容量的32位MCU芯片,内部集成丰富且强大的外设,如SPI/IIC/UART/USB/FSMC/SDIO等。

有客户在快速替换使用过程中,遇到过使用HAL库的USB枚举失败的情况:直接插入电脑USB口是枚举失败,不能识别;经过HUB插入的话能识别,但是驱动有问题(带黄色三角形、感叹号)。

通过逻辑分析仪+DSView上位机进行跟踪,分析通信数据,注意到通信异常,如下红色箭头所指:
逻辑分析仪+DSView上位机进行跟踪

逻辑分析仪+DSView上位机进行跟踪

进一步分析确认(根本原因):


在设定地址的包之后(条件1),接着下一个获取设备描述符的请求包(setup)来了之后(条件2),芯片会把Tx状态设置为Valid(而不是预期的NAK),导致在随后的IN包来了之后马上发出DATA1[],即还未来得及填充有效数据。所以导致后续枚举失败。
解决方案:

进入USB中断处理函数PCD_EP_ISR_Handler()里面,把USB端点0的Tx状态设置为NAK即可,即添加上以下这句就可以了:PCD_SET_EP_TX_STATUS(USB, 0, USB_EP_TX_NAK);  
解决方案


添加之后,可以正常枚举(如下)和进行USB通信功能。

解决方案

如需要了解更多ST意法半导体MCU产品,请联系核心代理商,颖特新科技,或者扫码联系我们!

ST意法半导体代理联系方式

在之前的介绍中,我们也为大家介绍了航顺芯片HK32F103xC/D/E-DAC的应用及注意事项,也是目前我们主推的非常成熟的解决方案!

编辑:zzy  最后修改时间:2022-06-23

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4