STM32F103和GD32F303的USB差别

[复制链接]
2068|16
 楼主| ufo1cn 发表于 2023-5-5 13:13 | 显示全部楼层 |阅读模式
https://github.com/Arksine/STM32_HID_Bootloader
STM的HID Bootloader在GD32F303上跑,上位机无法枚举.如果在STM32F103上跑就正常.除了MCU不同,其他晶振什么的外围都一样.

请问有人知道它们在USB功能上的差别,或者是什么其他原因?

alxd 发表于 2023-5-24 10:51 | 显示全部楼层
可能是由于USB功能的差别造成的
B1lanche 发表于 2023-5-24 11:57 | 显示全部楼层
STM32F103具有USB OTG功能,可以通过OTG连接U盘、移动硬盘等外部存储设备,从而实现数据传输和刷写。而GD32F303没有此功能,因此上位机无法枚举
Allison8859 发表于 2023-5-24 13:08 | 显示全部楼层
估计是硬件原因吧,比如那个上拉1.5K电阻
Charlene沙 发表于 2023-5-24 14:10 | 显示全部楼层
这个你仿真跟踪一下看看,看程序在哪儿出的问题
 楼主| ufo1cn 发表于 2023-5-24 14:54 | 显示全部楼层
B1lanche 发表于 2023-5-24 11:57
STM32F103具有USB OTG功能,可以通过OTG连接U盘、移动硬盘等外部存储设备,从而实现数据传输和刷写。而GD32 ...

都是USBD做USB HID设备.
 楼主| ufo1cn 发表于 2023-5-24 14:57 | 显示全部楼层
本帖最后由 ufo1cn 于 2023-5-24 15:04 编辑
Allison8859 发表于 2023-5-24 13:08
估计是硬件原因吧,比如那个上拉1.5K电阻

硬件本身没问题, 如果用GD32的USB例程增加控制USB DP上拉的代码后能正常枚举,但例程用的是库,编译出来大了. 此代码也加入了上拉DP的定义Pin.但用ST32F103跑起来就没问题,GD32F303就收不到上位机发来的获取设备描述符的SETUP包.用逻辑分析仪也发现上位机没有发送获取设备描述符的SETUP包.
 楼主| ufo1cn 发表于 2023-5-24 14:59 | 显示全部楼层
Charlene沙 发表于 2023-5-24 14:10
这个你仿真跟踪一下看看,看程序在哪儿出的问题

硬件上把SWCLK控制了USB DP上拉,所以无法仿真,在代码中加入LED闪烁,发现,接收不到上位机发送的获取设备描述符的SETUP包.只能收到USB Reset. 通过逻辑分析仪发现上位机也没有发送获取设备描述符的SETUP包.
Emily999 发表于 2023-5-24 15:19 | 显示全部楼层
你对比一下这俩硬件是否一样啊?
Belle1257 发表于 2023-5-24 16:25 | 显示全部楼层
USB估计没啥区别吧,都是48MHz时钟啥的
 楼主| ufo1cn 发表于 2023-5-24 16:33 | 显示全部楼层
Belle1257 发表于 2023-5-24 16:25
USB估计没啥区别吧,都是48MHz时钟啥的

仅仅只是MCU不一样,外围晶振什么都一样.程序也一样, ST32F103正常,GD32F303上跑,主机就只向GD32发送USB Reset的命令,没有发送获取设备描述符的SETUP包.
Carina卡 发表于 2023-5-25 07:05 | 显示全部楼层
有可能是USB的寄存器不一样,你执行的时候就出错了
Annie556 发表于 2023-5-25 08:12 | 显示全部楼层
建议你用官方提供的USB部分例程,用这个移植比较合适合理
Betty996 发表于 2023-5-25 10:21 | 显示全部楼层
你是程序一点没做修改?
Alina艾 发表于 2023-5-25 13:30 | 显示全部楼层
你看看主频之类的,枚举失败基本就是时钟问题
 楼主| ufo1cn 发表于 2023-5-29 09:18 | 显示全部楼层
Annie556 发表于 2023-5-25 08:12
建议你用官方提供的USB部分例程,用这个移植比较合适合理

官方的都包装了几层,编译出来比较大.这个bootloader只要2K比较小.
 楼主| ufo1cn 发表于 2023-5-29 09:21 | 显示全部楼层
Alina艾 发表于 2023-5-25 13:30
你看看主频之类的,枚举失败基本就是时钟问题

时钟是应该没问题的,都用的12M晶振,已经修改了设定主频部分的倍频为6,烧到STM32F103上没有问题.现在的问题是没发现主机给GD32F303发送获取描述符的STEUP包
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部