你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

H743 ulpi phy 引脚配置

[复制链接]
就不减肥 提问时间:2025-12-9 12:41 / 未解决

STM32H743IIT6 外接usb3300 引脚配置

PI11 ------> USB_OTG_HS_ULPI_DIR

PC0 ------> USB_OTG_HS_ULPI_STP

PH4 ------> USB_OTG_HS_ULPI_NXT

PA3 ------> USB_OTG_HS_ULPI_D0

PA5 ------> USB_OTG_HS_ULPI_CK

PB0 ------> USB_OTG_HS_ULPI_D1

PB1 ------> USB_OTG_HS_ULPI_D2

PB10 ------> USB_OTG_HS_ULPI_D3

PB11 ------> USB_OTG_HS_ULPI_D4

PB12 ------> USB_OTG_HS_ULPI_D5

PB13 ------> USB_OTG_HS_ULPI_D6

PB5 ------> USB_OTG_HS_ULPI_D7

枚举通不过,OTG_HS_ULPI 这个配置是否有问题

赞 收藏 评论7 发布时间:2025-12-9 12:41

举报

7个回答
fafa1 回答时间:2025-12-9 14:26:30

你贴的引脚顺序基本正确,但 STM32H743 的 ULPI 总线对「Alternate-function 编号」和「IO 速度/上下拉」都有硬性要求,任何一项配错都会导致 HS-OTG 无法完成复位、握手,从而枚举失败。下面把最容易踩坑的几点一次性列出来,请逐条核对:

  1. Alternate-function 必须统一为 AF10 所有 ULPI 引脚(D0…D7、DIR、STP、NXT、CK)都要把 GPIOx_AFR 寄存器设为 AF10,而不是 AF0 或其他。CubeMX 里如果手动改过一次引脚,AF 号会被复位成 0,很多人这里翻船。

  2. IO 速度一定要配到「Very High」 48 MHz 的 ULPI 时钟对上升/下降沿要求很高,把 GPIO_OSPEEDR 设成 LOW/MEDIUM 后,数据采样窗口不够,直接表现为「设备能复位但拿不到 Device-Descriptor」。

  3. 禁止内部上下拉 USB3300 自己带 50 kΩ 左右下拉,STM32 内部再给个 40 kΩ 上拉会把电平拉到 1.5 V 区间,导致主机判断成「设备已断开」。把 GPIO_PUPDR 全部设成 NOPULL。

  4. 时钟树里 OTG_HS 必须打开并选「ULPI」 在 CubeMX “Middleware → USB_OTG” 里 Mode 选 “Host_Only / Device_Only / OTG” 都行,但下方 PHY 一定选 “External ULPI”,否则库代码不会初始化 ULPI 状态机。

  5. USB3300 的复位脚(RESETB,pin9)不能一直接地 原理图常见笔误:把 RESETB 直接拉到 GND,芯片永远处于复位态。正确做法是:

    • 10 kΩ 上拉到 3.3 V,或者
    • 由 MCU 任意一个 GPIO 控制,低电平 ≥ 10 µs 后拉高。
  6. 参考设计对电源去耦很敏感 按 USB3300 手册,VDDA1.8(pin29)必须 10 µF + 0.1 µF 到地,VDD3.3 每个引脚都要 0.1 µF;如果 1.8 V 电源走线过长,ULPI 时钟抖动会大到通讯失败

    。

  7. 确认你用的封装真的引出 OTG_HS LQFP100 的 H750 只有 OTG_FS,HS 只存在于 LQFP144/176 等封装;虽然你用的是 H743IIT6(LQFP144),但经常有人把封装看错,结果 OTG_HS 实际没引出来。

把以上 7 点全部检查一遍,90% 的「枚举不过」都能解决。如果还有问题,用示波器抓 ULPI_DIR、ULPI_CK 和 D0,看设备插入后有没有出现连续 48 MHz 突发数据,没有的话多半是时钟/复位/AF 的问题。

就不减肥 回答时间:2025-12-9 17:09:56

fafa1 发表于 2025-12-9 14:26
你贴的引脚顺序基本正确,但 STM32H743 的 ULPI 总线对「Alternate-function 编号」和「IO 速度/上下拉 ...

[md]用的是176脚的封装,逐一检查都是正常的,操作(void)USBH_LL_ResetPort(phost);,返回OK,示波器看D+ 时始终为高电平,没有变化,枚举一直返回USBH_BUSY

xmshao 回答时间:2025-12-10 11:28:38

你罗列出来的这些管脚原理上是没啥问题,我看了下跟STM32H743评估板上的管脚安排完全一样。

重点检查下外部PHY的供电、时钟、复位电路,连线除了上面这些外,DM DP VBUS等都检查下。电路你可以参考下评估板的原理图。

image.png

既然管脚安排一样,甚至可以直接使用H7系列的相关例程来测试枚举过程。

就不减肥 回答时间:2025-12-11 12:01:47

xmshao 发表于 2025-12-10 11:28
你罗列出来的这些管脚原理上是没啥问题,我看了下跟STM32H743评估板上的管脚安排完全一样。</p>
<p>重点检查 ...

[md]image.png

用的这个,DEVICE模式虚拟串口例程是可以跑起来的,Host模式就不行

xmshao 回答时间:2025-12-11 15:48:32

就不减肥 发表于 2025-12-11 12:01
![image.png](data/attachment/forum/202512/11/120022sllkdlglg0d4i2d5.png?imageMogr2/auto-orient ...

[md]会不会是ID线没处理好?

如果做HOST,ID线应该接地吧。

就不减肥 回答时间:2025-12-12 08:39:01

xmshao 发表于 2025-12-11 15:48
会不会是ID线没处理好?</p>
<p>如果做HOST,ID线应该接地吧。

[md]试过了,ID接地效果一样的

xmshao 回答时间:2025-12-12 16:55:49

就不减肥 发表于 2025-12-12 08:39
试过了,ID接地效果一样的

H743做HOST的话,如果设备不是自供电的话,要通过VBUS给设备供电。

STM32H7系列的经典库例程都是用来验证的。如果你用USBx可能稍微啰嗦点。

你单步调试吧,看看卡在识别设备的什么地方了。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版