低压差分信号LVDS(Low Voltage DifferenTIal Signal)是由ANSI/TIA/EIA-644-1995定义的用于高速数据传输的物理层接口标准。通常是LVDS电路设计使用各种专用芯片,如美国国家半导体公司的DS92LV16等。我们用FPGA芯片自行设计BLVDS内核及扩展部分。相比之下,使用FPGA可大幅减少芯片数量,降低成本,提高系统可靠性,同时具有更大的灵活性和向后兼容性。由于目前尚无实用的16位VLVDS收发器芯片问世,本设计也填补了专用芯片(ASIC)的空白。
我们选了Xilinx公司的XCV50E。此芯片属于Virtex-E系列,具有如下特性: *0.18nm 6层金属工艺,具有5.8万个系统门;
*使用1.8V核心电压,低功耗设计;
*130MHz同部时钟;
*64KB的同步块同存(BlockRAM),可实现真正的双口 *** 作;
*支持包括LVDS、BLVDS在内的20种高性能接口标准;
*8个全数字的延迟锁定环DLL(Delay Locked Loops),具有时钟移相和乘除功能;
*支持IEEE 1149.1边界扫描标准,具有基于SRAM的在系统配置功能。
我们使用Xilinx FoudaTIon F3.1i软件开发XCV50E芯片。设计流程为:首先用编写VHDL语言程序、绘制原理图或设计状态机的方法生成网络表,功能仿真正确后,经过翻译、映射、放置和布线、时序优化及配置过程,生成比特流文件。然后,进行时序仿真,仿真通过后下载到PROM中。(我们用了Xilinx公司的XC18V01。)
1 结构及工作过程
1.1 系统结构和FPGA结构
本通信系统由背板和若干通信子卡组成。背板并更有8个插槽,并布有BLVDS总线和其它控制、地址总线。通信子卡由EP7211芯片(负责数据处理)、XCV50E及DRAM、PROM等外围芯片和元件组成,系统结构如图1所示。
设计完成后的XCV50E由控制部分、发送FIFO、帧编码器、串化器、解串器、帧解码器、数据检出器、接收FIFO、时钟倍频器及输入输出单元等部分组成,结构如图2所示。
1.2 工作过程
在发送子卡中,EP7211将待发
数据整理成多个长255字,字宽16位的数据帧,发至FPGA内的发送FIFO中。该FPGA得到总线控制权后,即发送同步帧(由同步字与填充字组成),待被寻址的接收子卡实现与自己的同步后,再发送数据帧。各帧数据经串化器转化为两对差分信号,并从中获得同步信息并实现同步,继而检出有效数据,写入接收FIFO,同时以快中断(FIQ)通知EP7211。
2 软件设计
2.1 EP7211程序设计
通信子卡内的EP7211为系统级芯片,用来预处理和接收数据。EP7211的内核为ARM7TDMI,使用32位精简指令。发送数据的流程如图3所示。接收较简单,只需在快中断(FIQ)服务程序中写入接收FIFO的读取代码即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)