您的位置 首页 IC

根据USB3.0协议的PC与FPGA通讯体系的规划

摘要 针对USB2.0在高速数据采集系统中带宽局限问题,设计了一款基于USB3.0总线的高速数据采集接口系统。通过对USB3.0的接口硬件系统、设备固件以及SLAVE FIFO与FPGA接口读写操

摘要 针对USB2.0在高速数据收集体系中带宽限制问题,规划了一款根据USB3.0总线的高速数据收集接口体系。经过对USB3.0的接口硬件体系、设备固件以及SLAVE FIFO与FPGA接口读写操作的规划,并经过试验测验,USB3.0硬件传输速度可达260 MByte·s-1,接连数据收集传输速率可达100 MByte·s-1且数据保持安稳。

跟着USB3.0解决方案的呈现,其在保存USB固有优势的基础上大幅进步了数据传输的带宽,适用于高速数据收集范畴。本文针对根据USB的高速数据收集体系进行研讨,规划了一款根据CYUSB3014芯片的USB3.0高速数据收集接口体系,该体系根据USB3.0协议来完结PC机与FPGA的数据传输。本文介绍了USB3.0固件的规划办法,GPIF II接口特性以及SIAVE FIFO与FPGA的读写操作规划。

1 USB3.0体系结构的规划

如图1所示,USB3.0体系的主芯片架构为Cypress公司FX3系列CYUSB3014 USB3.0操控芯片、FPGA芯片EP3CA0F484、DDR2芯片MT47H64M16HR。

根据USB3.0协议的PC与FPGA通讯体系的规划

CYUSB3014 USB专用操控芯片是新一代USB外设操控器,具有高度集成的灵敏特性,可协助开发人员为任何体系增加USB3.0功用。其具有作业频率可达200 MHz的32 bit的ARM9内核,使得FX3能够使用在对数据处理要求较高的当地。芯片内部集成了一个512 KByte SRAM,用于存储代码、装备参数,一起用作芯片内部DMA通道的缓冲区。并集成了可编程的100 MHz的GPIF II接口能衔接多种类型外部器材,支撑最大32个可编程物理端点。

2 FX3固件的规划

固件是用以完结驱动程序无法完结的USB芯片及其外围芯片的初始化及操控作业的代码。FX3固件的首要功用包括:初始化参数的装备、辅佐完结设备的从头枚举机制、对中止的处理、数据的接纳与发送以及对外围的操控。FX3的固件规划只需调用相应的库函数,而不需求规划者过火重视底层硬件设置,大幅下降了固件的开发难度。EZ—USB FX3的固件规划首要包括对GPIF II接口、DMA通道及回调函数的规划。本文首要对GPIF II接口以及DMA通道加以介绍。

2.1 GPIF II接口

GPIF II接口是FX3与外部设备衔接的重要组成部分,使用该接口能够完结与任何外部设备的高速并行数据传输。它具有一个供给多达256个可编程状况的彻底可编程的状况机,可完结与任何处理器、AS%&&&&&%、DSP或FPGA等的设备的无缝衔接。GPIF II接口可在100 MHz的作业频率下完结32 bit数据的并行传输,最高有用数据的传输速率可达400 MByte ·s-1。该接口可装备为主机形式或从机形式,且数据总线可在8 bit、16 bit及32 bit之间灵敏挑选。

规划将GPIF II接口装备为32位同步SLAVEFIFO形式,外部处理器可像对一般FIFO相同对FX3FIFO进行读写。由PCLK信号作为接口状况机的作业时钟,接口上的地址信号A0:A1表明要拜访的线程,FPGA经过检测4个标志信号FLAGA~D来检测缓冲FIFO是空或许满。装备为SLAVE FIFO形式的GPIF II与外部设备的信号衔接如图2所示。

根据USB3.0协议的PC与FPGA通讯体系的规划

2.2 DMA通道

FX3内部经过DMA通道将不同外围接口衔接起来,以完结不同接口之间的数据传输。DMA通道是一种软件结构,该结构封装了套接字、缓冲区和描述符3种硬件元素。套接字是存在于外部接口中的硬件模块,一个外部接口能够包括多个套接字,在固件体系中套接字处于DMA通道的两头,一个套接字用于输入数据,另一个则用于输出数据。数据经过套接字流入或流出已建立好的DMA数据通道。缓冲区是操控器体系内存中的数据缓冲区,相当于DMA数据通道中的中转站,流入套接字的数据首要被存放到缓冲区中,然后才干被输出数据的套接字从缓冲区中读出。描述符作为一种数据结构可将与数据流相关的套接字和缓冲区相关起来。图3为一个方向为P2U的DMA数据通道,此数据通道由8个尺度为16×1 024的缓存及一个PIB套接字和一个UIB套接字组成。

根据USB3.0协议的PC与FPGA通讯体系的规划

FX3供给了多种DMA通道形式,可分为两种:一种是主动DMA通道;另一种是手动DMA通道。主动DMA通道在通道建立起来并开端运转后,固件就不再干涉数据流的传输,数据将接连不断地流过主动数据通道,因不需固件干涉,所以这种通道形式能供给最大的数据功率;而手动DMA通道在数据活动过程中需求CPU干涉,这样就可监督或修正数据流,但有可能会下降数据的传输功率。所以规划选用主动DMA方法完结USB接口与GPIF II接口的数据传输。

3 FPGA中完结读写程序规划

本文经过FPGA选用状况机形式操控同步SLAVEFIFO接口的读写操作来完结拜访FX34个线程的功用。

(1)SLAVE FIFO读操作。

IDLE:设定SLAVE FIFO的地址A0:A1;

STATE 0~3:状况自加,使FIFO地址安稳且SLCS被激活;

STATE 4:SLOE被激活,驱动数据总线;

STATE 5:SLRD和外部写信号被激活。且FIFO指针在PCLK的上升沿更新,这会发动重新寻址方位到数据总线之间的数据传输。

(2)SLAVE FIFO写操作。

IDLE—STATE 4:与读操作相同,只是在STATE 5激活sLwR信号以及外部读信号。当sLwR被激活时,数据写至FlF0和PcLK的上升沿,FIF0指针递加。

4 USB3.0收集卡实测

规划的LISB3.O样板出来后需求从多方面临其进行实践测验以验证其正确性。下面从两方面测验板卡规划的正确性。

(1)USB3.0固件枚举测验。USB3.0固件能否正常作业的一个重要标志是当USB3.0操控器衔接到主机上时,设备能否正常运转。规划选用Cypress主机测验软件USB Control Center对FX3固件枚举功用进行测验。经测验,测验软件成功接纳了由固件发的各种描述符。图4为USB3.0的枚举成功后在测验软件上的正确显现。

根据USB3.0协议的PC与FPGA通讯体系的规划

(2)USB3.0数据传输测验。规划经过EP1 OUT端点来操控EP2 IN和EP2 OUT两个端点数据的承受和发送。当经过EP1 OUT发送的最终32位数的低4位为4’h1时,FPGA承受来自EP2 OUT端点的数据;当经过EP1 OUT发送的最终32位数的低4位为4’hF时,FPGA向EP2 IN端点发送测验数据,如图5所示。图6为逻辑分析仪实时监测的PC向FPCA发送的数据显现。

根据USB3.0协议的PC与FPGA通讯体系的规划
根据USB3.0协议的PC与FPGA通讯体系的规划

5 结束语

本文介绍了USB3.0操控器的固件及FPGA读写操作的首要作业机制,并经过试验验证了所规划USB3.0板卡的安稳性及正确性。对USB3.0固件机制的深入研讨是进步规划质量的条件,因而有必要对该固件作进一步研讨以进步规划的功率与正确性。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/296248.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部