基于fpga的总线型lvds通信系统设计

基于fpga的总线型lvds通信系统设计

ID:12529237

大小:59.00 KB

页数:5页

时间:2018-07-17

基于fpga的总线型lvds通信系统设计_第1页
基于fpga的总线型lvds通信系统设计_第2页
基于fpga的总线型lvds通信系统设计_第3页
基于fpga的总线型lvds通信系统设计_第4页
基于fpga的总线型lvds通信系统设计_第5页
资源描述:

《基于fpga的总线型lvds通信系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于FPGA的总线型LVDS通信系统设计摘要:总线型低压差分信号(BLVDS)是一种性能优良的物理层接口标准。本文介绍一种基于总线型LVDS的通信系统方案,以及利用FPGA芯片实现系统核心模块的设计方法。该方案可广泛使用在高速通信领域,具有较高的应用价值。关键词:BLVDSFPGA;串化;解串;高速通信   低压差分信号LVDS(LowVoltageDifferentialSignal)是由ANSI/TIA/EIA-644-1995定义的用于高速数据传输的物理层接口标准。它具有超高速(1.4Gb/S)、低功耗及低电磁辐射的特性,是在铜介质上实现千兆

2、位级高速通信的优选方案;可用于服务器、可堆垒集线器、无线基站、ATM交换机及高分辨率显示等等,也可用于通用通信系统的设计。BLVDS(BusLVDS)是LVDS技术在多点通信领域的扩展,要求附加总线仲裁设计、更大的驱动电流(10mA)和更好的阻抗匹配设计。   通常的LVDS电路设计使用各种专用芯片,如美国国家半导体公司的DS92LV16等。我们用FPGA芯片自行设计BLVDS内核及扩展部分。相比之下,使用FPGA可大幅减少芯片数量,降低成本,提高系统可靠性,同时具有更大的灵活性和向后兼容性。由于目前尚无实用的16位BLVDS收发器芯片问世,本设计

3、也填补了专用芯片(ASIC)的空白。    我们最终选定Xilinx公司的XCV50E。此芯片属于Virtex.E系列,具有如下特性:◇0.18nm6层金属工艺,具有5.8万个系统门;◇使用1.8V核心电压,低功耗设计;◇130MHz内部时钟;◇64KB的同步块内存(BlockRAM),可实现真正的双口操作;◇支持包括LVDS、BLVDS在内的20种高性能接口标准;◇8个全数字的延迟锁定环DLL(DelayLockedLoops),具有时钟移相和乘除功能;◇支持IEEE1149.1边界扫描标准,具有基于SRAM的在系统配置功能。   我们使用Xil

4、inxFoudationF3.li软件开发XCV50E芯片。设计流程为:首先用编写VHDL语言程序、绘制原理图或设计状态机的方法生成网络表,功能仿真正确后,经过翻译、映射、放置和布线、时序优化及配置过程,生成比特流文件。然后,进行时序仿真,仿真通过后下载到PROM中。(我们用了Xilinx公司的XC18V01。)1结构及工作过程1.1系统结构和FPGA结构   本通信系统由背板和若干通信子卡组成。背板并列有8个插槽,并布有BLVDS总线和其它控制、地址总线。通信子卡由EP7211芯片(负责数据处理)、XCV50E及DRAM、PROM等外围芯片和元件

5、组成,系统结构如图1所示。   设计完成后的XCV50E由控制部分、发送FIFO、帧编码器、串化器、解串器、帧解码器、数据检出器、接收FIFO、时钟倍频器及输入输出单元等部分组成,结构如图2所示。 1.2 工作过程   在发送子卡中,EP7211将待发数据整理成多个长255字,字宽16位的数据帧,发至FPGA内的发送FIFO中。该FPGA得到总线控制权后,即发送同步帧(由同步字与填充字组成),待被寻址的接收子卡实现与自己的同步后,再发送数据帧。各帧数据经串化器转化为两对差分信号,并同与之同步的差分时钟信号一起送至背板BLVDS总线上。在接收端,接收

6、子卡将差分信号解串成16位并行信号,并从中获得同步信息并实现同步,继而检出有效数据,写入接收FIFO,同时以快中断(FIQ)通知EP7211。2软件设计2.1 EP7211程序设计   通信子卡内的EP7211为系统级芯片,用来预处理和接收数据。EP7211的内核为ARM7TDMI,使用32位精简指令。发送数据的流程如图3所示。接收较简单,只需在快中断(FIQ)服务程序中写入接收FIFO的读取代码即可。 2.2FPGA设计   FPGA的设计中,发送及接收FIFO的设计用了双口块内存(BlockRAM),时钟倍频器用了延迟锁定环(DLL)。帧解码器

7、由30位并行数据产生器、同步字检测阵列和接收状态机组成。以下重点介绍帧编码器和串化器的设计。(1)帧编码器的VHDL语言设计   帧编码器包括一个长为256的计数器和一个四状态的单热点状态机,用以产生同步帧和数据帧。部分代码如下:PROCESS(RESET,CLK)//产生长256的计数器IFRESET='1'THENCOUNT<=0;ELSIFCLK’EVENTANDCLK='1'THENCOUNT<=(COUNT+1)MOD256;ENDPROCESS;TC<='1'WHENCOUNT=255ELSE'0';TYPESTATE_TYPEIS(I

8、DLE,PACK1,PACK2,TRANS-MIT);SIGANLSREG:STATE_TYPE;PROCESS(CLK,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。