点击上方蓝字关注我们
本文设计的基于FPGA和USB的高速数据传输、记录系统不但具有体积小、功耗低、成本低、使用灵活方便、硬件电路简单、可在线更新等特点;而且还充分利用了微机的资源,因而易开发且扩展性好。雷达数据形成分机具有数据量大、传输速率高、帧格式固定等特点。目前用于雷达数据传输的一般有PCI总线和网卡,其中32位的PCI接口数据传输速率最大可以达到133Mbit/s,而目前广泛采用的以太网卡的最大传输速率达到100Mbit/s,虽然这两者的传输速度完全可以满足要求,但是它们存在安装繁琐,受计算机插槽数量和地址、中断资源限制等弱点.USB(Universal Serial Bus)是一种通用串行总线,具有即插即用、可热插拔,使用方便、成本低的特点,其USB1.0能提供12Mbps的全速速率或1.5Mbps的低速速率,而USB2.0 则可以支持480Mbps的高速传输速率。因此,在高速数据传输、记录及显示系统中,考虑到需要方便灵活地与计算机通信,可采用USB通讯方式来对雷达数据形成分机进行检测。2 设计方案
整个系统主要由低电压差分信号(LVDS)接口电路、基于FPGA的高速数据缓存、判断数据错误模块、USB传输模块和计算机组成,其系统结构框图如图1所示。当低电压差分信号接口电路把接收的雷达数据形成分机数据送入FPGA缓存后,该信息便可通过USB接口进行传输、记录并在计算机上显示。该系统由低电压差分信号驱动芯片DS90LV31(发送器)、 DS90LV32(接收器)、控制芯片XC2V500、USB控制芯片C8051F320、总线驱动器芯片74HC244组成。
3 系统功能及硬件实现
本系统主要由低电压差分信号传输接口、FPGA功能模块和USB传输模块三部分构成。
3.1 低电压差分信号传输接口
低电压差分信号LVDS(Low Voltage Differential Signal)标准是一种用于高速数据传输的物理层接口标准。由于电压信号摆幅较低,而且可提供电流模式驱动输出,因此LVDS 技术只产生极低的噪音,而且功耗也极低,甚至不论频率高低,功耗几乎不变;此外,由于LVDS是以差分方式传送数据,因此不易受共模噪音影响。由于具有超高速(1.4Gb/s)串行传输、低功耗及低电磁辐射的特性,低电压差分信号传输是在铜介质上实现千兆位级高速通信的优先方案,可用于服务器、可堆垒集线器、无线基站、ATM交换机及高分辨率显示等,也可用于通信系统的设计。美国国家半导体公司的DS90LV31和DS90LV32是高性能的CMOS低功耗、低电压差分信号驱动器,采用3.3V供电,可支持大于400Mbps的数据率,满足ANSI/TIA/EIA-644标准。其中DS90LV31可实现四路低电压TTL信号转低电压差分信号,而DS90LV32则可实现四路低电压差分信号转低电压TTL信号。
3.2 FPGA功能模块
本设计采用Xilinx公司的FPGA Field Pro-grammable gate array,现场可编程门阵列 芯片XC2V500来实现高速数据缓存.XC2V500属于Vir-tex-II系列,是一种高密度、高性能的FPGA.XC2V500可通过JTAG接口实现在线编程;它采用0.15m和0.12m混合工艺设计;内核电压为1.5V,低功耗;可支持多种接口标准;内部时钟频率可达420MHz;采用专门的在系统可编程PROM芯片18V04进行配置。
FPGA的主要功能是高速数据缓存及判断传输数据帧头错误、帧长度错误,具体说明如下:
(1)高速数据缓存
雷达数据形成分机以10MHz的频率,每秒发送2000~3000帧、每帧6400字节的数据,将如此高速、大量的数据进行准确无误的缓存是本系统的技术难点之一。本方案将数据形成分机送过来的数据先放在FPGA的异步FIFO?First In First Out 存储器里,FIFO存储器同时要有与数据形成分机及USB的接口,且两接口操作互不干涉,以提高数据吞吐率。根据FIFO存储器的Full和Empty标志可判断存储器全满或空.FIFO存储器的特点是:不需要地址寻址,可简化控制信号;数据写入和读出不依赖于数据速率,可以慢写快读、也可快写满读;进行数据宽度和存储深度的扩展不会增加额外的时间延迟,因此满足了上述要求。
数据形成分机发送的数据包括16 Bit并行数据信号Data、数据有效标志信号Flag、时钟信号Clk及复位信号Reset.图2为数据形成分机与FPGA数据传输接口时序图。其中Reset为清零信号,除T1时间外均保持低电平;Flag信号高电平持续时间为320μs;Clk为10MHz的读时钟.FPGA接收到数据形成分机发来的数据有效标志信号Flag后,将首先确定数据帧头,然后以10MHz的时钟频率Clk读16 Bit并行数据信号Data并存储在FIFO存储器中,以等待USB控制芯片取走。
(2)判断帧数据错误
数据形成分机发送过来的每帧数据的帧头、帧长度是固定的.FPGA对接收的每一帧数据都需要判断帧头及帧长度是否错误。每出现一次错误,FP-GA会对其进行一次累加,对应产生一个脉冲,然后将其用74HC244驱动后分别接LED显示灯,就可以二进制方式显示错误次数。
3.3 USB传输模块
通过USB传输模块可把存在FIFO存储器里的数据传送给计算机并记录下来,本设计采用Cygnal公司的C8051F系列USB控制芯片C8051F320.C8051F320是将微控制器和USB控制器集成在一起的芯片,完全符合USB1.1规范,最大传输速度可达12Mbps.C0801F320的运行指令采用流水线结构,机器周期由标准8051的12个系统时钟周期降为一个系统时钟周期,处理能力大大提高。它还内嵌JTAG调试电路,可在系统编程和调试等.FPGA与C8051F320之间的具体连接控制框图如图3所示。
当PC机向C8051F320发出接收数据的命令后,C8051F320便可给FPGA发控制信号,以使FPGA在下一帧数据开始时打开FIFO写使能;数据形成分机通过写操作不断将数据存入FIFO存储器。当FIFO存储器中的数据达到一帧时,Full标志有效,向C8051F320请求中断,并将写使能关闭,读使能打开;C8051F320响应中断后将以CLK时钟频率读FI-FO存储器中的数据DATA;每读完一帧,FIFO存储器的读使能关闭,写使能打开,同时接收下一帧数据,直到PC机发停止命令或接收完要求的帧数。
4 软件设计
C8051F320中的8051内核不但与MCS-51指令完全兼容,而且Cygnal公司的工具包还为其提供了基于Windows的USB总线驱动程序和功能驱动程序,这样,用户就可以从烦琐的驱动程序开发中解脱出来,从而大大减少开发时间、风险和成本。
本系统软件设计由两部分组成:动态链接库和应用程序。动态链接库负责与内核的USB功能驱动程序通信并接收应用程序的各种操作请求,而应用程序则负责对传输数据进行记录、显示并实时显示数据传输的状态。
动态链接库的工作原理如下:当它收到应用程序的数据传输请求后,会创建两个线程:数据传输线程和记录、显示线程。其中数据传输线程负责将数据写到应用程序要提交的内存;而记录、显示线程则负责给应用程序发送记录和显示消息。当应用程序接收到此消息后,便从它提交的内存中读取数据并存盘和显示。
用户态应用程序的主要功能是开启或关闭USB设备、检测USB设备、设置数据传输帧数、通过USB接口传输、记录并显示数据、实时显示数据传输的状态包括帧数、字节数等,其应用程序主流程图如图4所示。
本设计的应用软件基于Windows系统,并采用VC作为软件开发环境,这样可以利用现有的软件资源来缩短软件开发周期,同时可提供一个友好、美观清晰、操作简单的图形使用界面。访问USB接口时,调用Windows API函数能及时方便地与系统的USB控制芯片进行通信,并且可以将传输来的数据保存并显示在计算机上。
5 结束语
本文设计的基于FPGA和USB的高速数据传输、记录系统不但具有体积小、功耗低、成本低、使用灵活方便、硬件电路简单、可在线更新等特点;而且还充分利用了微机的资源,因而易开发且扩展性好。目前,本系统已投入实际应用之中,基本能达到高速数据传输、记录及显示的要求,具有较高的实用价值。
有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询! 基于千兆网的FPGA多通道数据采集系统设计 任意分频的verilog语言实现
扫码加微信邀请您加入FPGA学习交流群
欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!
点个在看你最好看
原文标题:如何使用FPGA器件和USB通讯实现高速数据传输显示系统的设计
文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FPGA
+关注
关注
1626文章
21665浏览量
601793
原文标题:如何使用FPGA器件和USB通讯实现高速数据传输显示系统的设计
文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
CAN总线数据传输速率设置
CAN(Controller Area Network)总线是一种串行通信协议,主要用于汽车和工业控制系统中,以实现电子控制单元(ECU)之间的通信。CAN总线的数据传输速率,也称为波特率,是衡量
是德万用表USB 接口数据传输
)接口是一种通用、高速、方便的接口标准,它使得不同设备之间的数据传输变得简单、快捷和高效。在本文中,我们将重点介绍是德万用表的USB接口数据传输特性和应用。 是德万用表的
网络数据传输速率的单位是什么
网络数据传输速率的单位是 bps(bit per second) ,即比特每秒,也可以表示为b/s或bit/s。它表示的是每秒钟传输的二进制数的位数。比特(bit)是计算机中数据量的单位,也是信息论
高速数据传输线缆组件 恶劣环境中的可靠选择
无法确保高品质的数据传输,因此需要 ODU高速数据传输线缆组件 的加入。 ODU高速数据传输线缆组件 ODU可以提供基于标准
边OTG边充电芯片如何实现充电与数据传输并行?
边OTG边充电芯片实现充电与数据传输并行的功能,主要依赖于其内部的设计和与USB Type-C接口标准的结合。
使用slavefifosync2bit与FPGA进行数据传输时,服务间隔是多少?
您好,请问使用slavefifosync2bit与FPGA进行数据传输时,服务间隔是多少?
发表于 07-03 06:21
光传送网(OTN)助力实现超高速、高带宽数据传输
光传送网(OTN)是一种基于光纤通信技术的网络架构,用于实现光信号的传输和交换。它采用光传输技术将数据以光信号的形式传送,提供高容量、低延迟和可靠的
发表于 03-01 11:21
•5640次阅读
DTU的多种协议,解锁数据传输的无限可能
DTU,即数据传输单元,是一种在物联网(IoT)网络中常用的设备,主要用于在传感器和智能设备之间进行数据传输。DTU使用多种协议来实现这一目标,这些协议不仅提高了数据传输的效率,还增强
CW32L052单片机支持DMA实现高速数据传输
CW32L052支持DMA(Direct Memory Access),即直接内存访问,无需CPU干预,实现高速数据传输。
多业务光端机:实现高速数据传输的关键技术解析
随着信息技术的迅猛发展,网络传输速度的需求日益提高。在这样的背景下,多业务光端机作为一种高速数据传输的关键设备,逐渐受到了业界的广泛关注。本文将对多业务光端机的关键技术进行深入解析,以揭示其实
万兆单模光模块SFP-XG-LX:高速长距离数据传输利器
万兆单模光模块SFP-XG-LX是一种采用单模光纤作为传输介质的高速网络模块,支持万兆以太网标准,适用于长距离的数据传输。其特点包括高速传输
评论