三中三蓝姐平码论坛|单个平码猜中多少倍
 
 
  栏目搜索
 
 
 
 

基于FPGA和USB的高速数据传输、记录及显示系统

更新日期:2006-09-16  作者:王国媚  …  来源:国外电子元器件

   摘要:提出了一种基于FPGA和USB的高速数据传输、记录及显示系统的设计方案,并对其中的低电压差分信号(LVDS)传输方式、FPGA功能模块以及USB传输模块等进行了介绍。该系统不但可以快速方便的传输、记录及显示雷达数据形成分机的数据,还具?#20449;?#26029;数据帧头错误、帧长度错误的功能。

    关键词:FPGA;USB;LVDS;数据传输

?#34180;?#27010;述

雷达数据形成分机具有数据量大、传输速率高、帧格式固定等特点。目前用于雷达数据传输的一般有PCI总线和网卡,其中32位的PCI接口数据传输速?#39318;?#22823;可?#28304;?#21040;?#20445;常常停猓椋簦螅?#32780;目前广泛采用的以太网卡的最大传输速率达到?#20445;埃埃停猓椋簦螅?#34429;然这两者的传输速度完全可以满足要求,但是它们存在安装繁琐,受计算机插槽数量和地址、中断资源限制等弱点。USB(Universal Serial Bus)是一种通用串行总线,具有即插即用、可热插拔,使用方便、成本低的特点,其USB?#20445;?#33021;提供?#20445;玻停猓穡?#30340;全速速率或?#20445;擔停猓穡?#30340;低速速率,而USB2.0 则可以支持480?#20572;猓穡?#30340;高速传输速率。因此,在高速数据传输、记录及显示系统中,考虑到需要方便灵活地与计算机通信,可采用USB通讯方式来对雷达数据形成分机进行检测。

2 设计方案

整个系统主要由低电压差分信号(LV?#27169;櫻?a href='http://www.chram.tw/elec_article/4' target=_blank>接口电路、基于FPGA的高速数据缓存、判断数据错误模块、USB传输模块和计算机组成,其系统结构框图如图1所示。当低电压差分信号接口电路把接收的雷达数据形成分机数据送入FPGA缓存后,该信息便可通过USB接口进行传输、记录并在计算机上显示。该系统由低电压差分信号驱动芯片?#27169;櫻梗埃蹋鄭常保?#21457;送器)、 ?#27169;櫻梗埃蹋鄭常玻?#25509;收器)、控制芯片XC2V500、USB控制芯片C805?#20445;疲常玻啊?#24635;线驱动器芯片74HC244组成。

?#22330;?#31995;统功能及硬件实现

本系统主要由低电压差分信号传输接口、FPGA功能模块和USB传输模块三部分构成。

3.1 低电压差分信号传输接口

低电压差分信号LV?#27169;櫻ǎ蹋錚?Voltage ?#27169;椋媯媯澹潁澹睿簦椋幔?Signal)标准是一种用于高速数据传输的物理层接口标准。由于电压信号摆幅?#31995;停?#32780;且可提供电流模式驱动输出,因此LV?#27169;?技术只产生极低的噪音,而且功耗也极低,甚至不论频率高低,功耗几乎不变;此外,由于LV?#27169;?#26159;以差分方式传送数据,因此不?#36164;?#20849;模噪音影响。由于具有超高速(?#20445;矗牽猓螅?#20018;行传输、低功耗及低电磁辐射的特性,低电压差分信号传输是在铜介质上实现千兆位级高速通信的优先方案,可用于服务器、可堆垒集线器、无线基站、ATM交换机及高分辨率显示等,也可用于通信系统的设计。美国国家半导体公司的?#27169;櫻梗埃蹋鄭常?#21644;?#27169;櫻梗埃蹋鄭常?#26159;高?#38405;?#30340;C?#20572;希?#20302;功耗、低电压差分信号驱动器,采用3.3V供电,可支持大于400?#20572;猓穡?#30340;数据率,满足ANSI/TIA/EIA-644标准。其中?#27169;櫻梗埃蹋鄭常?#21487;实现四路低电压TTL信号转低电压差分信号,而?#27169;櫻梗埃蹋鄭常?#21017;可实现四路低电压差分信号转低电压TTL信号。

3.2 FPGA功能模块

设计采用Xilinx公司的FPGAField Pro-grammable gate array,现场可编程门阵列芯片XC2V500来实现高速数据缓存。XC2V500属于Vir-tex-II系列,是一种高密度、高?#38405;?#30340;FPGA。XC2V500可通过JTAG接口实现在线编程;它采用0.?#20445;擔?#21644;0.?#20445;玻?#28151;合工艺设计;内核电压为?#20445;擔鄭?#20302;功?#27169;?#21487;支持多种接口标准;内部时钟频率可达420?#20572;齲?#37319;用专门的在系统可编程PROM芯片?#20445;福鄭埃?#36827;?#20449;?#32622;。

    FPGA的主要功能是高速数据缓存及判断传输数据帧头错误、帧长度错误,具体说明如下:

(?#20445;?#39640;速数据缓存

雷达数据形成分机以?#20445;埃停齲?#30340;频率,每秒发送2000~3000帧、每帧6400字节的数据,将如此高速、大量的数据进行准确无误的缓存是本系统的技术难点之一。本方案将数据形成分机送过来的数据先放在FPGA的异步FIFOFirst In First Out存储器里,FIFO存储器同时要有与数据形成分机及USB的接口,且两接口操作互不干涉,以提高数据吞吐率。根据FIFO存储器的Full和Empty标志可判断存储器全满或空。FIFO存储器的特点是:不需要地址寻址,可简化控制信号;数据写入和读出不依赖于数据速率,可以慢写快读、也可快写满读;进行数据宽度和存储深度的扩展不会增加额外的时间延迟,因此满足了上述要求。

数据形成分机发送的数据包括?#20445;?Bit并行数据信号?#27169;幔簦帷?#25968;据?#34892;?#26631;志信号Flag、时钟信号Clk及复位信号Reset。图2为数据形成分机与FPGA数据传输接口时序图。其中Reset为清零信号,除T1时间外均保持低电平;Flag信号高电平?#20013;?#26102;间为320μs;Clk为?#20445;埃停齲?#30340;读时钟。FPGA接收到数据形成分机发来的数据?#34892;?#26631;志信号Flag后,将首?#28909;?#23450;数据帧头,然后以?#20445;埃停齲?#30340;时钟频率Clk读?#20445;?Bit并行数据信号?#27169;幔簦?#24182;存储在FIFO存储器中,以等待USB控制芯片取走。

(2)判断帧数据错误

数据形成分机发送过来的每帧数据的帧头、帧长度是固定的。FPGA对接收的每一帧数据都需要判断帧头及帧长度是否错误。每出现一?#26410;?#35823;,FP-GA会对其进行一次累加,对应产生一个脉冲,然后将其用74HC244驱动后分别接LED显示灯,就可以二进制方式显示错误次数。

3.3 USB传输模块

通过USB传输模块可把存在FIFO存储器里的数据传送给计算机并记录下来,本设计采用Cygnal公司的C805?#20445;?#31995;列USB控制芯片C805?#20445;疲常玻啊#茫福埃擔保疲常玻?#26159;将微控制器和USB控制器集成在一起的芯片,完全符合USB?#20445;?#35268;范,最大传输速度可达?#20445;玻停猓穡蟆#茫埃福埃保疲常玻?#30340;运行指令采用流水线结构,机器周期由标准8051的?#20445;?#20010;系统时钟周期降为一个系统时钟周期,处理能力大大提高。它还内嵌JTAG调试电路,可在系统编程和调试等。FPGA与C805?#20445;疲常玻?#20043;间的具体连接控制框图如图3所示。

当PC机向C805?#20445;疲常玻?#21457;出接收数据的命令后,C805?#20445;疲常玻?#20415;可给FPGA发控制信号,以使FPGA在下一帧数据开始时打开FIFO?#35789;?#33021;;数据形成分机通过写操作不断将数据存入FIFO存储器。当FIFO存储器中的数据达到一帧时,Full标志?#34892;В?#21521;C805?#20445;疲常玻?#35831;求中断,并将?#35789;?#33021;关闭,读使能打开;C805?#20445;疲常玻?#21709;应中断后将以CLK时钟频?#35782;粒疲?FO存储器中的数据?#27169;粒裕粒?#27599;读完一帧,FIFO存储器的读使能关闭,?#35789;?#33021;打开,同时接收下一帧数据,直到PC机发停止命令或接收完要求的帧数。

?#30784;?#36719;件设计

C805?#20445;疲常玻?#20013;的8051内核不但与?#20572;茫櫻擔?#25351;令完全兼容,而且Cygnal公司的工具包还为其提供了基于Windows的USB总线驱动程序和功能驱动程序,这样,用户就可?#28304;?#28902;琐的驱动程序开发中解脱出来,从而大大减少开发时间、风险和成本。

本系统软件设计由两部分组成:动态链接库和应用程序。动态链接库负责与内核的USB功能驱动程序通信并接收应用程序的各种操作请求,而应用程序则负责对传输数据进行记录、显示并实时显示数据传输的状态。

动态链接库的工作原理如下:当它收?#25509;?#29992;程序的数据传输请求后,会创建两个线程:数据传输线程和记录、显示线程。其中数据传输线程负责将数据写?#25509;?#29992;程序要提交的内存;而记录、显示线程则负责给应用程序发送记录和显示消息。当应用程序接收到此消息后,便从它提交的内存中读取数据并存盘和显示

用户态应用程序的主要功能是开启或关闭USB设备、检测USB设备、设置数据传输帧数、通过USB接口传输、记录并显示数据、实时显示数据传输的状态包括帧数、字节数等,其应用程序主流程图如图?#27492;?#31034;。

设计的应用软件基于Windows系统,并采用VC作为软件开发环境,这样可以利用现有的软件资源来缩短软件开发周期,同时可提供一个友好、美观清晰、操作简单的图形使用界面。访问USB接口时,调用Windows API函数能及时方便地与系统的USB控制芯片进行通信,并且可以将传输来的数据保存并显示在计算机上。

5 结束语

本文设计的基于FPGA和USB的高速数据传输、记录系统不但具有体积小、功耗低、成本低、使用灵活方便、硬件电路简单、可在线更新等特点;而?#19968;?#20805;分利用了微机的资源,因而易开发且扩展性好。目前,本系统已投入实际应用之中,基本能达到高速数据传输、记录及显示的要求,具有较高的实用价值。

 etyjtykjuy
 
三中三蓝姐平码论坛 快乐赛车走势图 曾道人图库玄机 赫塔菲几次法甲冠军 江苏老快3开奖结果 浙江十一选五开奖、结果 云南快乐10分前三开奖 重庆时时彩计划群号 秒速时时彩网址 五分彩计划软件 阿拉斯加垂钓登陆