0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA和USB3.0通信-USB3.0 PHY简介

OpenFPGA 来源:OpenFPGA 作者: 碎碎思 2021-11-09 09:36 次阅读

可以和FPGA搭配使用的USB3.0 PHY芯片

通过之前的介绍,我们大致了解到USB3.0整个协议异常复杂,就连物理层都需要SerDes(FPGA实现的情况)才可以,所以目前使用USB3.0时,搭档FPGA的最优解就是外置USB3.0 PHY片。

USB3.0 PHY简介

首先我们需要了解PHY具体完成哪些工作以及我利用FPGA能 实现哪些工作才能实现USB通信

要实现USB通信大致需要两部分:Controller和PHY两部分,Controller大多为数字逻辑实现(逻辑控制主要分为:MAC、CSR以及FIFO,MAC部分主要按照USB协议进行数据的打包和分解,并按照PIPE(USB3.0)或者UTMI(2.0)的总线的数据格式发送给PHY(2.0或者3.0);

CSR部分主要进行寄存器的控制(软件对寄存器进行操作主要是操作CSR寄存器;FIFO部分主要是实现高速和低俗转换。));PHY通常为模拟逻辑实现(实现并转串的功能,把UTMI或者PIPE口的并行数据转换成串行数据,再通过差分数据线输出到芯片外部)。大致的通信方式如下图所示:

90fc9842-3fbf-11ec-9195-dac502259ad0.png

PHY部分负责最底层的信号转换,作用类似于网口的PHY,这里如果大家需要了解具体的工作可以查看usb specification,因为和本文关系不大,所以不过多介绍了。

Controller部分主要实现USB的协议和控制。也是目前普通FPGA可以实现的,整个作用类似网络中的MAC层。

PS:目前高级一点的FPGA(带SerDes),可以在不借助外部PHY的情况实现USB(主要原因还是USB大量地借鉴了第二代PCIe协议,所以基本实现和PCIe差不多),但是相对外置PHY成本过高,需要使用IP等原因市场上还是很少这么做的。

在上图中还看到UTMI和PIPE,这是PHY和controller通信的接口,USB2.0PHY主要使用ULPI和UTMI,USB3.0主要使用PIPE,对于ULPI和UTMI的区别如下:

916a4220-3fbf-11ec-9195-dac502259ad0.png

UTMI LEVEL0 通信连接示意图

91ea758a-3fbf-11ec-9195-dac502259ad0.png

升级的UTMI+接口

9264482e-3fbf-11ec-9195-dac502259ad0.png

ULPI(UTMI+ Low Pin Interface) 通信连接示意图

以上三种接口都是和USB2.0 PHY通信的接口(如果还不理解的话,这三种接口类似网口中媒体接口-MII、RGMII、GMII等)。区别大概为USB PHY的位置:如果芯片的usb phy封装在芯片内,采用UTMI+的接口。不封装到芯片内的采用ULPI接口,这样可以降低pin的数量。

举例如下:我用FPGA实现USB2.0通信,我使用逻辑实现cntroller+外挂USB PHY的方式,那么我的接口基本使用ULPI接口(降低pin的数量);

92d8c6ae-3fbf-11ec-9195-dac502259ad0.png

USB3316 芯片逻辑框图 (来源:芯片数据手册)

我觉得逻辑部分有点复杂,我想把逻辑部分放到外部PHY里,我只需要控制FIFO或者一些低速接口即可实现整个USB通信,这种芯片内部带了cntroller+USB PHY,如下图所示:

9343cd00-3fbf-11ec-9195-dac502259ad0.png

FTDI600/601Q 芯片逻辑框图 (来源:芯片数据手册)

上图中可以看到FPGA和controller通信方式为FIFO或者SPI等接口,SPI主要时用在2.0/1.1时代,典型代表(MAX3421E)。而FIFO则是目前3.0时代比较常用的方式。

通过以上分析,其实目前常用的USB3.0 PHY也可以大致分为两种:带controller和不带controller,这两种PHY市场上倾向于带controller的芯片,主要原因是简单、方便、性价比高,这里在多说一句,目前市场上为了方便开发,USB3.0芯片内部会放置一个单片机,主要还是方便扩展接口,以方便芯片不单单只在USB3.0通信方面应用。下面一节我们就简单介绍一下市场上常见的USB3.0 PHY片。

市场上常见的PHY

90fc9842-3fbf-11ec-9195-dac502259ad0.png

上图中可以将PHY分为两种,下面会标注是第一种还是第二种,两种的区别在上一节中已经进行区分了,这里就不再赘述了。

公司 型号 功能 APP接口 物理层接口 CPU 第几种PHY
TI/ NI TUSB1310A 纯PHY / PIPE 3 第二种
Cypress CYUSB3014 OTG控制器(2.0)+PHY Slave控制器+PHY GPIF II 内部PIPE ARM926EJ-S 第一种
FTDI FT600/FT601 FIFO interface bridge / FIFO 第一种
南京沁恒 CH569/565 USB3.0 主机Host/设备Device模式、OTG功能,支持USB3.0 HUB HSPI / RISC-V 第一种

1、TUSB1310A

https://www.ti.com.cn/document-viewer/cn/TUSB1310A/datasheet

948ca61e-3fbf-11ec-9195-dac502259ad0.png

TUSB1310A 框图

2、CYUSB3014

中文版数据手册:

https://www.cypress.com/file/133711/download

95608da8-3fbf-11ec-9195-dac502259ad0.png

CYUSB3014 框图

3、FT600/FT601

https://ftdichip.com/products/ft600q-b/

https://ftdichip.com/wp-content/uploads/2020/07/DS_FT600Q-FT601Q-IC-Datasheet.pdf

969f26fc-3fbf-11ec-9195-dac502259ad0.png

FT600/FT601 框图

4、CH569/5

http://www.wch.cn/products/CH569.html

http://www.wch.cn/downloads/CH569DS1_PDF.html

9740f1c6-3fbf-11ec-9195-dac502259ad0.png

南京沁恒 CH569/565 框图

PS:RISC-V内核,120MHz系统主频,支持单周期乘法和硬件除法、可编程中断控制器、低功耗两级流水线。

总结

上面的表格也很清晰表现出各个芯片的区别,这里就不展开描述了,这里在介绍几个USB 3.0 的ReDrive(NXP , PTN36221AHX 单通道桥,PTN36241BBS单通道桥,PTN36242LBS双通道桥(数据手册:https://www.nxp.com/docs/en/data-sheet/PTN36221A.pdf))。

今天的文章就到这里,综合考虑上面的芯片,我们后续的方案使用使用广泛的CYUSB3014继续接下来的系列文章。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1624

    文章

    21530

    浏览量

    600055
  • usb
    usb
    +关注

    关注

    60

    文章

    7828

    浏览量

    263081
  • 数据手册
    +关注

    关注

    94

    文章

    6087

    浏览量

    42088

原文标题:FPGA和USB3.0通信-USB3.0 PHY介绍

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CYUSB3014是否会自动调整工作模式USB3.0还是USB2.0?

    CYUSB3014是否会自动调整工作模式USB3.0还是USB2.0?它的工作模式是否可以或怎么通过FLAG传输给FPGA?
    发表于 08-14 08:00

    USB3.0/3.1静电放电防护方案

    上众多的串行和并行接口。 USB3.0的理论速度最高可达5Gbps,相比USB2.0极大地提升了数据传输的效率和速度,且保持了与USB2.0及更早版本的向后兼容性,用户可以在USB3.0
    的头像 发表于 08-05 17:37 342次阅读
    <b class='flag-5'>USB3.0</b>/3.1静电放电防护方案

    USB2.0型号模拟转换USB3.0输出

    通过模拟信号转换,将原本输入进来的USB2.0变成USB3.0,使其插到USB3.0的HUB上不会出现2.0降速的问题
    发表于 05-14 08:47

    GL3224 QFN32 USB3.0 插入过快 superspeed 用不了.

    GL3224 QFN32 USB3.0 插入过快 superspeed 用不了. 这个GL3224芯片,插入到 USB3.0 的 接口中,插入过快,就不工作,电源 5V 到了芯片的.指示灯也不亮;慢慢插入就只有 USB2.0 的
    发表于 04-24 16:03

    usb3.0和2.0的!!!

    USB 3.0USB 2.0是USB接口的不同版本,它们之间有以下主要区别: 1. **传输速度**:USB
    的头像 发表于 04-07 00:23 532次阅读

    求一种1.3 USB3.0/TYPE-C静电保护单颗方案

    方案优点:USB3.0提供5.0Gbps的传输速度,本方案采用单颗器件防护,节约空间,
    的头像 发表于 03-19 17:29 310次阅读
    求一种1.3 <b class='flag-5'>USB3.0</b>/TYPE-C静电保护单颗方案

    基于CYUSB3014做了一块USB3.0的开发板,怎么样能让FX3被识别出USB3.0呢?

    运行,但是不能使用USB3.0功能了。请问我应该怎么样能让FX3被识别出USB3.0呢?谢谢!麻烦了。​
    发表于 02-28 08:14

    请问FX3有USB3.0 OTG HOST功能吗?

    您好,请问FX3 有USB3.0 OTG HOST功能吗? 我司需要用MCU(STM32F4)高速采集AD数据,MCU把数据传给FX3 (CYUSB3014),FX3再通过USB3.0(速度需要大于
    发表于 02-28 07:19

    电脑无法识别Fcx3 usb3.0的原因?怎么解决?

    ,后面的几个usb口都试过。但是连接手机终端时,CyU3PUsbGetSpeed ()函数可以返回CY_U3P_SUPER_SPEED。请问针对PC时,是否usb3.0配置符还需要修改?
    发表于 02-28 07:12

    使用CYUSB3014作为USB3.0数据传输,USB3.0无法识别的原因?

    我们使用CYUSB3014作为USB3.0数据传输方案,目前处于试产阶段。试产过程中偶尔出现板卡连接至PC后,USB3.0无法识别的情况。 固件使用的官方SlaveFifoSync固件。问题板卡上电
    发表于 02-23 06:12

    PCIe-6328 八口USB3.0图像采集卡:专为工业自动化和机器视觉设计

    PCIe-6328一块8口USB3.0主控卡,专为工业自动化和机器视觉相关应用设计。USB3.0或称作高速USB,是一项新兴总线技术,10倍于USB2.0的传输速度,尤其适用于高速数据
    的头像 发表于 01-22 17:05 673次阅读
    PCIe-6328 八口<b class='flag-5'>USB3.0</b>图像采集卡:专为工业自动化和机器视觉设计

    USB3.0高速接口布局指南

    电子发烧友网站提供《USB3.0高速接口布局指南.pdf》资料免费下载
    发表于 01-02 10:21 4次下载

    USB3.0如何辨别

    通信的状态变为全双工(USB3.0)的高效通信方式。 虽然说是USB3.0,但是USB3.0接口定义时是做到了
    的头像 发表于 11-07 11:01 1500次阅读
    <b class='flag-5'>USB3.0</b>如何辨别

    什么是USB3.0usb3.0usb2.0有什么区别?

    什么是USB3.0usb3.0usb2.0有什么区别 USB3.0是指“超级速度USB”,它是一种高速数据传输技术,是
    的头像 发表于 10-27 14:31 8496次阅读

    USB3.0USB2.0工业连接器究竟有哪些区别?

    CNLINKO凌科电气连接器知识分享USB3.0USB2.0工业连接器是用于USB接口设备的两款常用连接器,是数据传输非常重要的手段。相信很多人对这两种连接器的区别都有所知晓,但不一定全面。今天
    的头像 发表于 10-21 08:14 2247次阅读
    <b class='flag-5'>USB3.0</b>和<b class='flag-5'>USB</b>2.0工业连接器究竟有哪些区别?