Alden 发表于 2022-3-28 17:15

APM32F407内置USB PHY的OTG HS使用

本帖最后由 Gfan 于 2023-11-16 18:08 编辑

#申请原创# #技术资源# USB模块介绍
F407的USB符合USB2.0协议,拥有全速模块和高速模块,对于模块的介绍如下:
全速模式(兼容ST):符合USB2.0协议,符合OTG标准(既能作主机也能作从机)。作主机时,支持全速(12Mbps)和低速(1.5Mbps);作从机仅支持全速。
高速模块1(兼容ST):符合USB2.0协议,符合OTG标准。作主机时,支持高速(480Mbps)、全速和低速;作从机仅支持高速和全速。高速模块2(APM新增):使用上与高速模块1无太大区别,与高速模块1共用一套寄存器,此外还有独有的配置寄存器,初始化过程会稍有不同,无需外部PHY。
高速模块硬件差异
高速模块1:使用ULPI接口,以使用USB3300作为外部PHY的典型应用为例,需要用到PA3、PA5、PB0、PB1、PB5、PB10、PB11、PB12、PB13、PH4、PI11、PC0等引脚
高速模块2(新增):APM32F407新增接口,只需用到PB12、PB14、PB15引脚,接线方面与全速接口相比,将220Ω电阻替换为0Ω电阻,并且不需要上下拉。


软件配置
使用APM32F407的SDK在USB例程中可以直接选择HS2的工程目标,就会改变宏定义对高速模块2进行配置,无需额外修改,如图。



若想使用ST标准库使用APM32407的USB高速模块2,也是可以增加HS2的寄存器配置进行使用的,具体配置如下。
1、配置PHY宏:在ST标准库中,将“USE_ULPI_PHY”宏更换为“USE_EMBEDDED_PHY”。2、配置GPIO处增加HS2的寄存器配置:主要目的是开启HS2模块,启动内置的高速PHY。使用从机USB时,在配置完成后清除“软断开”位:在配置HS2寄存器后,该位会置1以断开USB的连接,所以在配置完成之后,清空该位可以使得USB能够正常连接。

配置完成后就能正常使用了。

Fanexs168 发表于 2022-3-28 21:44

点赞干货

内政奇才 发表于 2022-3-29 15:00

这个还是可以的

zjh20070904 发表于 2022-3-29 17:52

能否提供具体的应用案例代码?

LYHYYDS 发表于 2022-4-26 15:03

我想问一下有没有用STM32F系列单片机芯片驱动TUSB1210、USB3320、CH132这类ULPI接口芯片的代码?现在在学习相关知识想看看代码了解得更快一些,谢谢

lzmm 发表于 2022-4-27 19:54

USB PHY的OTG学习一下。   

tifmill 发表于 2022-4-27 20:04

APM32F407的芯片这么多吗

robincotton 发表于 2022-4-27 20:17

可以读取U盘的速度是多少?

mollylawrence 发表于 2022-4-27 20:38

APM32兼容stm32吗

pmp 发表于 2022-4-27 21:06

这个芯片是怎么对标的呢?

mituzu 发表于 2022-4-27 21:35

高速PHY?

kai迪皮 发表于 2022-5-27 14:15

干货慢慢,感谢分享

AloneKaven 发表于 2022-11-4 21:46

APM32F407的芯片这么多吗

MZJ123 发表于 2023-11-16 15:31

照着这个配置,能找到驱动,通讯的时候会异常卡住,方便给个联系方式指导下吗,万分感谢

Alden 发表于 2023-11-16 18:22

MZJ123 发表于 2023-11-16 15:31
照着这个配置,能找到驱动,通讯的时候会异常卡住,方便给个联系方式指导下吗,万分感谢 ...

可以尝试用极海SDK的程序先跑通,并且高速USB对线的要求也高,用杜邦线或者布线不好也会有问题。

daichaodai 发表于 2023-11-16 20:15

很实用的经验分享
页: [1]
查看完整版本: APM32F407内置USB PHY的OTG HS使用