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

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

3天内不再提示

如何使用FPGA器件和USB通讯实现高速数据传输显示系统的设计

FPGA设计论坛 来源:未知 2023-09-20 10:00 次阅读

点击上方蓝字关注我们

c3a551c8-5758-11ee-939d-92fbcf53809c.png本文设计的基于FPGAUSB的高速数据传输、记录系统不但具有体积小、功耗低、成本低、使用灵活方便、硬件电路简单、可在线更新等特点;而且还充分利用了微机的资源,因而易开发且扩展性好。雷达数据形成分机具有数据量大、传输速率高、帧格式固定等特点。目前用于雷达数据传输的一般有PCI总线和网卡,其中32位的PCI接口数据传输速率最大可以达到133Mbit/s,而目前广泛采用的以太网卡的最大传输速率达到100Mbit/s,虽然这两者的传输速度完全可以满足要求,但是它们存在安装繁琐,受计算机插槽数量和地址、中断资源限制等弱点.USB(Universal Serial Bus)是一种通用串行总线,具有即插即用、可热插拔,使用方便、成本低的特点,其USB1.0能提供12Mbps的全速速率或1.5Mbps的低速速率,而USB2.0 则可以支持480Mbps的高速传输速率。因此,在高速数据传输、记录及显示系统中,考虑到需要方便灵活地与计算机通信,可采用USB通讯方式来对雷达数据形成分机进行检测
c3ac2ba6-5758-11ee-939d-92fbcf53809c.jpg
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进行配置。
c3b4dab2-5758-11ee-939d-92fbcf53809c.jpg
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所示。
c3c77366-5758-11ee-939d-92fbcf53809c.jpg
当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所示。
c3d00a44-5758-11ee-939d-92fbcf53809c.jpg
本设计的应用软件基于Windows系统,并采用VC作为软件开发环境,这样可以利用现有的软件资源来缩短软件开发周期,同时可提供一个友好、美观清晰、操作简单的图形使用界面。访问USB接口时,调用Windows API函数能及时方便地与系统的USB控制芯片进行通信,并且可以将传输来的数据保存并显示在计算机上。
5 结束语
本文设计的基于FPGA和USB的高速数据传输、记录系统不但具有体积小、功耗低、成本低、使用灵活方便、硬件电路简单、可在线更新等特点;而且还充分利用了微机的资源,因而易开发且扩展性好。目前,本系统已投入实际应用之中,
基本能达到高速数据传输、记录及显示的要求,具有较高的实用价值。c3d72dba-5758-11ee-939d-92fbcf53809c.png

有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询! 基于千兆网的FPGA多通道数据采集系统设计 任意分频的verilog语言实现

c3e5f5e8-5758-11ee-939d-92fbcf53809c.jpg

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

c3ed1d46-5758-11ee-939d-92fbcf53809c.jpgc3fc7ffc-5758-11ee-939d-92fbcf53809c.png

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

点个在看你最好看

c41b2d3a-5758-11ee-939d-92fbcf53809c.png


原文标题:如何使用FPGA器件和USB通讯实现高速数据传输显示系统的设计

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


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

    关注

    1602

    文章

    21325

    浏览量

    593216

原文标题:如何使用FPGA器件和USB通讯实现高速数据传输显示系统的设计

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

收藏 人收藏

    评论

    相关推荐

    星坤数据连接器,引领数据传输新时代

    连接器采用了先进的技术和材料,确保在高速数据传输时能够保持低延迟和高稳定性。这使得它成为现代数字化设备的理想选择,无论是在计算机、服务器还是通信系统中,都能发挥重要作用。 该连接器的数据
    的头像 发表于 03-13 15:14 134次阅读
    星坤<b class='flag-5'>数据</b>连接器,引领<b class='flag-5'>数据传输</b>新时代

    CW32L052单片机支持DMA实现高速数据传输

    CW32L052支持DMA(Direct Memory Access),即直接内存访问,无需CPU干预,实现高速数据传输
    的头像 发表于 02-27 11:36 613次阅读

    关于FX3使用4个线程进行FPGAUSB数据传输-状态机设置的问题求解

    我现在使用FX3来实现FPGA到上位机的数据传输,在使用2个线程用类似于UVC实例中的乒乓机制传输时没有问题。我看到GPIF II最多支持4个线程,所以想试一下4个线程的
    发表于 02-27 06:40

    多业务光端机:实现高速数据传输的关键技术解析

    随着信息技术的迅猛发展,网络传输速度的需求日益提高。在这样的背景下,多业务光端机作为一种高速数据传输的关键设备,逐渐受到了业界的广泛关注。本文将对多业务光端机的关键技术进行深入解析,以揭示其
    的头像 发表于 02-23 14:10 253次阅读

    如何实现MQTT协议数据传输

    如何实现MQTT协议数据传输? 随着物联网技术的不断发展,越来越多的设备和应用需要实现互联互通。而MQTT作为一种轻量级的发布/订阅消息传输协议,在物联网领域应用广泛,成为了许多设备之
    的头像 发表于 11-15 17:23 612次阅读

    AXI数据传输读写数据结构

    在 AXI 数据传输过程中,主要涉及到 •窄位宽数据传输(Narrow Transfer) •非对齐传输(Unaligned Transfer) •混合大小端传输(mix-endian
    的头像 发表于 10-31 16:17 671次阅读
    AXI<b class='flag-5'>数据传输</b>读写<b class='flag-5'>数据</b>结构

    基于GPRS的无线数据传输嵌入式系统设计

    电子发烧友网站提供《基于GPRS的无线数据传输嵌入式系统设计.pdf》资料免费下载
    发表于 10-27 10:25 0次下载
    基于GPRS的无线<b class='flag-5'>数据传输</b>嵌入式<b class='flag-5'>系统</b>设计

    基于ARM与GPRS的无线数据传输系统的设计

    电子发烧友网站提供《基于ARM与GPRS的无线数据传输系统的设计.pdf》资料免费下载
    发表于 10-27 09:15 0次下载
    基于ARM与GPRS的无线<b class='flag-5'>数据传输</b><b class='flag-5'>系统</b>的设计

    嵌入式GPRS无线数据传输系统实现及应用

    电子发烧友网站提供《嵌入式GPRS无线数据传输系统实现及应用.pdf》资料免费下载
    发表于 10-26 11:11 0次下载
    嵌入式GPRS无线<b class='flag-5'>数据传输</b><b class='flag-5'>系统</b><b class='flag-5'>实现</b>及应用

    基于W5300的以太网数据传输系统的设计与实现

    电子发烧友网站提供《基于W5300的以太网数据传输系统的设计与实现.pdf》资料免费下载
    发表于 10-24 09:45 0次下载
    基于W5300的以太网<b class='flag-5'>数据传输</b><b class='flag-5'>系统</b>的设计与<b class='flag-5'>实现</b>

    高速数据传输蓝牙双模模块方案

    高速数据传输蓝牙双模方案 高速数据传输透传模式是一种直接传输模式,数据通过蓝牙模块
    发表于 08-19 15:28 1次下载

    蓝牙打印机无线数据传输方案

    通过蓝牙BLE数传技术,加持在便携式打印机,实现无线蓝牙数据传输高速数据传输以满足快速打印标签需求, 便携式蓝牙打印机的发展彻底改变了人们打印和共享信息的方式,在各个领域和环境中开辟
    的头像 发表于 07-26 15:13 1251次阅读
    蓝牙打印机无线<b class='flag-5'>数据传输</b>方案

    高速数据传输蓝牙双模方案

    高速数据传输透传模式是一种直接传输模式,数据通过蓝牙模块传输,不需要特定命令。 主控制器通过串口将数据
    的头像 发表于 07-26 14:45 677次阅读
    <b class='flag-5'>高速</b><b class='flag-5'>数据传输</b>蓝牙双模方案

    SPI数据传输有哪些方式

    SPI 数据传输可以有两种方式:同步方式和异步方式。 同步方式:数据传输的发起者必须等待本次传输的结束,期间不能做其它事情,用代码来解释就是,调用传输的函数后,直到
    的头像 发表于 07-25 10:54 3375次阅读
    SPI<b class='flag-5'>数据传输</b>有哪些方式

    DMA进行数据传输和CPU进行数据传输的疑问

    求大佬解答,本人正在学习STM32单片机中DMA直接数据存储部分的内容 看了DMA简介后,也上手过实例代码,但是没有实际的项目经验,所以有以下疑问: DMA外设在进行数据传输的操作,是否也是需要经过
    发表于 05-25 17:18