你好!欢迎来到 !
语言
当前位置: 首页>> HK32/航顺>> 航顺芯片HK32F103xC/D/E USB枚举情况分析(二)

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

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

有客户在快速替换使用过程中,遇到过使用HAL库的USB枚举失败的情况:VID/PID值等设备描述符内容不正确。使用bus hound捕获USB包,观察设备描述符内容,如下红色箭头所指IN包数据部分,大多数时候是不对的,即不是预期值,偶发是对的。
HAL库
通过分析客户代码,且使用逻辑分析仪+DSview跟踪USB通信数据,发现是在枚举过程中,第三次获取设备描述符的时候出错,如下:
代码
进一步分析发现并确认(根本原因):

USB设备在收到STALL之后的下一条SETUP的情况下,硬件会设置Tx状态为Valid,这导致接下来IN包来了之后,USB直接就把还未准备好的数据发送给主机,即发送的数据不是预设值/乱码,例如一部分为本次要发送的数据,另外一部分为上一次的数据。

解决方案:

屏蔽掉软件设置STALL的代码,例如在HAL库的HID类,屏蔽下图处。

HAL库

如需要了解更多航顺MCU产品,请联系航顺核心代理商,颖特新科技,或者扫码联系我们!

航顺代理联系方式

在之前的介绍中,我们也为大家介绍了采用航顺芯片HK32F030R8开发的离线串行Flash烧录器,也是目前我们主推的非常成熟的解决方案!


编辑:zzy 最后修改时间:2022-07-05

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

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

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map