OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续)

admin2024-07-10  3

目录

1 背景

2 USB3320在FPGA上的应用


1 背景

最近使用FPGA驱动USB PHY实现高速USB功能,为了方便,购买了一块微雪的USB3300子板,发现怎么都枚举不了,使用逻辑分析仪抓取波形,和STM32F407+USB3300波形进行对比,发现STP拉高是作为激活PHY CLKOUT的电平触发信号,目前STP也正常拉高了,就是不能输出时钟。

OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续),第1张

突然查看手册,发现USB3300的IO电压是3.3V的,输入电压最小为2.0V,也就是说我的FPGA电压是1.8V,都没达到USB3300的IO电压阈值。这就很尴尬了,只有重新选择其他芯片。

OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续),第2张

通过网上对比资料,最终选定了如下几款型号:

  • USB3318
  • USB3320
  • CH132B

2 USB3320在FPGA上的应用

对本人来说,更加愿意支持国产芯片CH132B,但是通过很多渠道,都不能购买到散片(只能去官方申请样品),网上只能买到CH132H,显然是不满足的。

接下来就是对比USB3318和USB3320这两款芯片了,感觉这两款芯片功能基本一致,通过进一步对比,发现USB3318市面上没有多少货了,最终选择了USB3320这款芯片。

接下来就是查看USB3320这款芯片的手册了,从Features可以看出,USB3320支持1.8V-3.3V的IO电压范围。

OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续),第3张

根据下图绘制原理图,这里使用的是ULPI OUTPUT CLOCK模式,从下图可以看出,如果使用1.8V的VDDIO,那么pin32需要接1.8V电压(自己则是在某宝上购买的现成的USB3320测试板)。

OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续),第4张

此处有个易错项,USB3320可通过REFSEL[2:0]引脚选择外部晶振输入频率,如果使用52M晶振,REFSEL[2:0]引脚接地即可,如果使用其他频率的晶振,则需要向REFSEL[2:0]引脚输入不同的电平,这里的电平是VDDIO电平

OTG -- 用于FPGA的ULPI接口芯片USB3320讲解(续),第5张

到这里就基本结束了,购买的板子,调试也很顺利,基本上一步到位就成功了。

如果是自己绘制板子,需要特别注意VDDIO的电压,不然轻者可能造成不能达到芯片IO电压阈值,重则导致IO引脚烧坏。

当然如果必须使用USB3300芯片和FPGA进行通信,也是可以实现的,需要在USB3300和FPGA中间增加一个双电源总线收发芯片,例如SN74LVC8T245、SN74LVC16244A等(根据实际情况选择其他型号),主要作用是进行电压的匹配,也就是把FPGA输出的1.8V电压经过电源总线收发芯片转换成3.3V电压输出到USB3300,把USB3300输出的3.3V电压经过电源总线收发芯片转换成1.8V电压输出到FPGA。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!