[STM32F3] USB2.0 的 D + 上拉电阻是否是必需

[复制链接]
81|2
地瓜patch 发表于 2026-8-29 17:50 | 显示全部楼层 |阅读模式
用 STM32F303VET6 实现 DFU 固件升级,或者 CDC/HID USB 设备。对照 ST‑LINK 的 USB 接口原理图,请教D + 线上的 1.5kΩ 上拉电阻是否必须?
如果必须要有,那是否需要做软件可控开关,能够打开或关闭这个上拉?
ST‑LINK 的原理图是用一个 GPIO 来控制这个上拉电阻。那我需要在中间件软件的哪个位置写代码来实现这个上拉电阻的开关控制?

当我用 STM32CubeMX 开启 USB 外设的时候,软件只会配置 USB 差分 D+、D‑引脚,并不会额外分配一个 GPIO 用于控制上拉电阻。但另一方面,芯片数据手册又建议加上这个上拉电阻,因为这是 USB2.0 规范的硬性要求。

既然上拉电阻是必须的,为什么没有介绍硬件以及软件上该如何实现这个上拉控制?

香水城 发表于 2026-8-31 12:39 | 显示全部楼层
本帖最后由 香水城 于 2026-8-31 12:41 编辑

对于STM32F103 STM32F303那些早期芯片,USB模块不像后期推出的STM32系列的USB模块,DP端的上拉已经内置,只需操作寄存器即可。

回到你的STM32F303,使用其USB模块做DEVICE时,DP端的确需要额外加1.5K上拉电阻



323666a950540b5e06.png
usbdp.png
 楼主| 地瓜patch 发表于 2026-8-31 20:50 | 显示全部楼层
香水城 发表于 2026-8-31 12:39
对于STM32F103 STM32F303那些早期芯片,USB模块不像后期推出的STM32系列的USB模块,DP端的上拉已经内置,只 ...

got it,tks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

3039

主题

18148

帖子

31

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