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

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

3天内不再提示

怎样通过FPGA软件去读取USB2.0模块的数据

FPGA设计论坛 来源:未知 2023-10-08 10:05 次阅读

首先来说一下USB这个大家都知道的东西吧:
USB通用串行总线,是应用在计算机领域的接口技术。USB接口具有传输速度快,可以广泛地应用在各类的高速数据传输当中,相比于大家熟悉的串口数据传输要快出不知道多少倍了。
我们最常见的当属USB2.0和USB3.0,这两个之间可以通用,但是也有区别:
1.USB3.0的速率是5Gbps,而USB2.0的速率是480Mbps。
2.从USB外观上来看,USB2.0通常是白色或黑色,而USB3.0则改为蓝色接口。
3.从USB插口引脚上来看,USB2.0采用4针脚设计,而USB3.0则采取9针脚设计,相比而言USB3.0功能更强大。
总结来说就是USB2.0很通用,因为很多电脑上可能没有USB3.0的接口,但是一定有USB2.0的接口,而且USB2.0的传输速度也能满足一般条件下的高速数据传输。
1.先附上所设计的实物图(想要电路pcb文件咨询博主),然后针对实物图一点点展开:
所选用的芯片Cypress 公司的EZ-USB FX2 是世界上第一款集成USB2.0 的微处理器,它集成了USB2.0 收发器、SIE(串行接口引擎)、增强的8051 微控制器和可编程的外围接口。FX2 这种独创性结构可使数据传输率达到480MBit/s。在FX2中,智能SIE 可以硬件处理许多USB1.1 和USB2.0 协议,从而减少了开发时间
和确保了USB 的兼容性。该器件具有如下特性:
(1)内嵌480MBit/s 的收发器,锁相环PLL,串行接口引擎SIE集成了整个USB 2.0 协议的物理层。
(2)内嵌可工作在48MHz 的增强型8051,该8051 控制器具有以下特征:
具有256Byte寄存器空间,两个串口,三个定时器,两个数据指
针。
四个机器周期(工作在48MHz 下时为83.3ns)即组成一个指令周
期。
特殊功能寄存器(包括I/O 口控制寄存器)可高速访问。
应用USB 向量中断,具有极短的ISR 响应时间。
只用作USB 事务管理,控制,不参与数据传输,较好地解决了
USB 高速模式的带宽问题。
(3) “软配置”——USB 固件可由USB 总线下载,片上不需集成ROM
(4) 拥有四个FIFO 接口,可工作在内部或外部时钟下。端点和FIFO 接口
的应用使外部逻辑和USB 总线可高速连接。
(5) 一种单片USB 2.0 外设解决方案,不需要外部的协议物理层,FX2 把所有的功能集成在一个芯片上。
然后下面这幅图片是FX2 控制器的内部结构图(参照了小梅哥的图片,在此安利一波小梅哥的FPGA,真的很好)。

对于FX2 来说,可以通过两个不同的模式将 FX2 连接至 FPGA。这两个模式分别为通用可编程接口( GPIF)模式和从设备 FIFO 模式。
(1)GPIF 模式:在该模式下, FX2 作为外部系统的主设备使用,它所生成的所有控制信号用于对外部系统进行读和写操作。当外部系统不能作为 FX2 的主设备(例如,图像传感器与 FX2 相连接的 USB 摄像机应用)时,通常优先使用 GPIF 模式。在这种情况下,接口实现的复杂操作将由 FX2 执行。
(2)从设备 FIFO 模式(通常所用的模式,注重了解):在该模式下,连接至 FX2 的外部系统能够生成读和写控制信号,因此,它能作为FX2 的主设备使用。在基于FPGA 的应用中,FX2 一般被配置为从设备 FIFO 模式。下图为FX2 使用从设备FIFO 接口与外部FPGA 连接时的系统框图。

简单地说,在从设备FIFO模式下,FX2 中的8051 固件只是配置Slave FIFO 相关的寄存器。配置完成之后FPGA就可以按照Slave FIFO 的时序与主机进行通讯,通讯过程中不需要8051 固件。就相当于FPGA控制一个外设(比如就像控制一个串口一样简单)
通讯原理搞明白之后就是根据引脚设计电路,原理图如下图所示:

2.下面就介绍如何具体控制USB2.0模块了:
Cypress 提供了一个基本的开发工具包,供用户开发USB 应用,名为ySuiteUSB3.4,网上关于USB2.0开发的资料也有很多,包括安装 FX2 的开发软件以及安装USB2.0模块的驱动程序,并且很重要的是在使用FPGA 控制USB2.0模块之前要对 USB2.0 芯片烧写固件(不同的应用模式下,所烧写的固件是不一样的)。想要资料可以咨询博主。
在配置完成之后可以通过官方网站提供的例程和上位机软件,使用FX2 芯片上的8051 完成数据在OUT 和 IN 端点间的搬运工作,在整个数据传输的过程中不需要有外部的设备(FPGA和STM32等控制器),通过USB2.0模块内部就可以完成数据的传输。但是实际工程中往往是将下位机采集到的数据通过USB2.0模块传输到上位机中,所以只通过USB2.0模块自身的数据回环实验是没有多大意义的,所以接下来就介绍如何通过FPGA来控制数据的传输。
测试USB2.0模块辅助了AD模块(点击这里),将AD模块采集回来的数据通过FPGA送到USB2.0模块上,然后USB2.0模块将数据传输到电脑上,完成数据的高速采集,如下图所示是程序的RTL视图,从RTL视图可以直观地看到USB2.0模块的使用方法:

其中关于读取USB2.0模块的数据可以直接通过FPGA软件中的Signal Tap II逻辑分析仪来进行抓取,如图所示:




有你想看的精彩



至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询!
基于FPGA的CAN总线通信节点设计
基于FPGA的图像实时处理系统设计






扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看





原文标题:怎样通过FPGA软件去读取USB2.0模块的数据

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1602

    文章

    21320

    浏览量

    593194

原文标题:怎样通过FPGA软件去读取USB2.0模块的数据

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    什么是USB3.0?usb3.0与usb2.0有什么区别 USB3.0是指“超级速度USB”,它是一种高速
    的头像 发表于 10-27 14:31 4468次阅读

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

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

    usb2.0协议规范中文版

    500mA 的电流。USB2.0 被设计成为向下兼容的模式,当有全速(USB 1.1) 或者低速(USB 1.0)设备连接到高速(USB 2.0
    发表于 10-20 17:14 2次下载

    USB2.0静电保护方案

    usb2.0 静电保护方案2页
    发表于 10-09 07:54

    EXR示波器系列小故事三,USB2.0高速信号质量一致性测试

    Hello 小伙伴们,大家好! ● EXR示波器系列小故事已来到了第三期, 那么今天咱们来简单聊一聊 USB2.0的高速信号质量一致性测试。 USB2.0接口是一种非常常见的接口,目前应用于很多
    的头像 发表于 09-27 07:40 802次阅读
    EXR示波器系列小故事三,<b class='flag-5'>USB2.0</b>高速信号质量一致性测试

    USB2.0/3.0走线长度对信号及使用有何影响呢?

    USB接口支持3种常用数据信号速率,1.5Mbps的低速速率,主要用于键盘、鼠标等。480Mbps的高速速率,用于USB2.0设备,例如U盘、光驱等。
    的头像 发表于 09-20 16:59 9407次阅读
    <b class='flag-5'>USB2.0</b>/3.0走线长度对信号及使用有何影响呢?

    请教下,USB3.0的HUB接下行接4个USB2.0设备,上行是使用USB3.0通讯还是2.0

    如题,USB3.0的HUB接下行接4个USB2.0设备,上行是使用USB3.0通讯还是2.0? 是这样,USB3.0的HUB,下行接了4个
    发表于 09-12 13:21

    新品登场!雅特力发布AT32F402与AT32F405高速USB2.0 OTG MCU

    。在USB2.0标准中,High-speed接口(简称HS)传输速率最大480 Mbps,Full-speed接口(简称FS)传输速率最大12Mbps,而USB OTG作为USB2.0标准补充接口,可被用来作Host或Devic
    的头像 发表于 09-05 13:34 530次阅读

    USB2.0USB3.0接口的PCB布局布线要求

    相关领域。 USB2.0接口具有高达480Mbps的传输速率,USB3.0的最大传输带宽高达5Gbps,USB3.0引入全双工数据传输。USB
    的头像 发表于 08-17 07:35 2122次阅读
    <b class='flag-5'>USB2.0</b>与<b class='flag-5'>USB</b>3.0接口的PCB布局布线要求

    IP_数据表(I-10):USB2.0 Transceiver for TSMC 28nm HPC+

    IP_数据表(I-10):USB2.0 Transceiver for TSMC 28nm HPC+
    发表于 07-06 20:21 0次下载
    IP_<b class='flag-5'>数据</b>表(I-10):<b class='flag-5'>USB2.0</b> Transceiver for TSMC 28nm HPC+

    IP_数据表(I-9):USB2.0 Transceiver for TSMC 40nm LP

    IP_数据表(I-9):USB2.0 Transceiver for TSMC 40nm LP
    发表于 07-06 20:12 1次下载
    IP_<b class='flag-5'>数据</b>表(I-9):<b class='flag-5'>USB2.0</b> Transceiver for TSMC 40nm LP

    IP_数据表(I-26):USB2.0 Transceiver for Samsung 28nm

    IP_数据表(I-26):USB2.0 Transceiver for Samsung 28nm
    发表于 07-05 19:45 1次下载
    IP_<b class='flag-5'>数据</b>表(I-26):<b class='flag-5'>USB2.0</b> Transceiver for Samsung 28nm

    MS2107:AVS-Video→USB2.0是一款视频和音频采集芯片

    MS2107是一款视频和音频采集芯片,内部集成USB2.0控制器和数据收发模块、视频ADC模块、音频ADC模块和音视频处理
    发表于 06-15 15:26

    超便携式USB2.0/3.0协议分析仪力科T3

    Teledyne LeCroy的Advisor T3是一款超便携式的SuperSpeed USB2.0/3.0分析仪,以性价比处于市场。
    的头像 发表于 06-01 12:17 850次阅读
    超便携式<b class='flag-5'>USB2.0</b>/3.0协议分析仪力科T3

    USB2.0单/双接口ESD静电浪涌保护方案

    Type-C发展到到如今超火的USB 4。尽管新版本的USB接口技术能够满足更高数据速率和更高功率传输水平的需求,但是USB 2.0接口技
    的头像 发表于 05-29 11:18 1168次阅读
    <b class='flag-5'>USB2.0</b>单/双接口ESD静电浪涌保护方案