在FPGA中实现源同步LVDS接收正确字对齐

合集下载

基于FPGA的LVDS接口应用

基于FPGA的LVDS接口应用

基于FPGA的LVDS接口应用陈莹;高双成【摘要】介绍了LVDS技术的原理,对LVDS接口在高速数据传输系统中的应用做了简要的分析,着重介绍了基于FPGA的LVDS_TX模块的应用,并通过其在DAC系统中的应用实验进一步说明了LVDS接口的优点。

%This paper introduces the technology of LVDS and analyzes the LVDS interface in the application of high speed data transmission system. The paper puts emphasis on the LVDS-TX module based on FPGA. Finally, the experiment of the LVDS _TX module in the application of DAC system further shows the advantages of LVDS interface.【期刊名称】《电子科技》【年(卷),期】2012(025)001【总页数】5页(P8-12)【关键词】LVDS;FPGA;高速数据传输;PLL;AD9735【作者】陈莹;高双成【作者单位】西安电子科技大学电子工程学院,陕西西安710071;西安电子科技大学电子工程学院,陕西西安710071【正文语种】中文【中图分类】TN919.3介绍了基于FPGA的LVDS模块的应用,实现了将数据通过FPGA(Altera StratixII EP2S90)的LVDS发送模块的传输,以640 Mbit·s-1数据率送至 DAC 电路[1]。

1 LVDS技术简介LVDS,即 Low-Voltage Differential Signaling低压差分信号,是由美国国家半导体公司于1994年提出的一种信号传输模式,在满足高数据传输率的同时降低了功耗,运用LVDS技术可使数据速率从几百Mbit·s-1到2 Gbit·s-1。

位同步的FPGA实现

位同步的FPGA实现

摘要同步是通信系统中很重要的一个过程,它可以使通信系统更稳定、更可靠、更准确,它是数字通信系统有顺序进行的技术支撑。

同步分为位同步、帧同步和载波同步,我们对数字通信信号的同步除了载波同步和帧同步之外,还要进行位同步。

位同步也就是保证接收端准确有效抽样判决数字基带信号序列的基础,一般位同步信号从解调后的基带信号中提取出来,同时也可以从已调频带信号当中直接提取位同步信号,一般可以进行一元中央位置采样的决定,最好是在接收元素结束时间采样的决定。

位同步有插入导频法(一种外同步法)和直接法(一种自同步法),本文运用了数字锁相法提取位同步电路的方案,以大规模可编程逻辑器件FPGA为主控制器,以VHDL硬件描述语言为主要语言对其进行在线编程,在QuartusⅡ软件工具中进行仿真和调试,以达到功耗低、成本低、效率高的技术要求。

关键词:位同步;数字锁相电路;FPGA;VHDL;QuartusⅡABSTRACTSynchronization is a very important process in communication system, it can make the system more stable, more reliable, more accurate, it is the digital communication system has the technical support of the order. Synchronization is divided into bit synchronization, frame synchronization and carrier synchronization, we on the digital communication signal in addition to frame and carrier synchronization and bit synchronization. Bit synchronization is the basis to ensure the correct and effective decision receiver sampling digital baseband signal sequence,general synchronization signal is extracted from the baseband demodulated signals, but also can directly extract bit synchronization signal from the frequency band signal has, in general can be a central position sampling decisions, preferably in the receiving elements in the end time sampling decision. Bit synchronization is the pilot insertion method (a kind of external synchronization method) and direct method (a self synchronizing method), this paper uses digital PLL method of bit synchronization circuit extraction, with the large-scale programmable logic device FPGA as the main controller, using the VHDL hardware description language is the main language of the online programming, simulation and debugging in QuartusⅡsoftware tools, to meet the requirements of low power consumption, low cost, high efficiency technologyKeywords: Bit synchronization (symbol extraction process); digital phase locked loop circuit (bit synchronization circuit); FPGA; VHDL; QuartusⅡ目录摘要 (I)ABSTRACT (II)第1章绪论 (1)第2章同步技术 (3)2.1 同步技术 (3)2.2 同步的分类 (3)2.3 位同步 (3)2.3.1 位同步方法 (4)2.3.2 位同步系统性能指标 (5)第3章基于FPGA设计流程的介绍 (7)3.1 FPGA器件概述 (7)3.2 FPGA设计操作流程 (7)第4章微分型位同步的FPGA实现 (11)4.1 微分型位同步原理 (11)4.2 微分鉴相模块的VHDL实现 (12)4.3 双相时钟信号的VHDL实现 (16)4.4 单稳触发器的VHDL实现 (17)4.5 控制及分频模块的VHDL实现 (19)第5章系统仿真与结果分析 (21)5.1 顶层模块的VHDL实现 (21)5.2 系统的整体仿真与结果分析 (24)结论 (25)参考文献 (26)致谢 (27)第1章绪论在数字通信系统中,要准确的恢复信号,接收端和发送端就必须保持严格同步。

FPGA的LVDS介绍和xilinx原语的使用方法中文说明

FPGA的LVDS介绍和xilinx原语的使用方法中文说明

FPGA的LVDS介绍和xilinx原语的使用方法中文说明低压差分传送技术是基于低压差分信号(Low Volt-agc Differential signalin g)的传送技术,从一个电路板系统内的高速信号传送到不同电路系统之间的快速数据传送都可以应用低压差分传送技术来实现,其应用正变得越来越重要。

低压差分信号相对于单端的传送具有较高的噪声抑制功能,其较低的电压摆幅允许差分对线具有较高的数据传输速率,消耗较小的功率以及产生更低的电磁辐射。

LVDS:Low Voltage Differential Signaling,低电压差分信号。

LVDS传输支持速率一般在155Mbps(大约为77MHZ)以上。

LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。

差分信号抗噪特性从差分信号传输线路上可以看出,若是理想状况,线路没有干扰时,在发送侧,可以形象理解为:IN= IN+ —IN-在接收侧,可以理解为:IN+ —IN- =OUT所以:OUT = IN在实际线路传输中,线路存在干扰,并且同时出现在差分线对上,在发送侧,仍然是:IN = IN+ —IN-线路传输干扰同时存在于差分对上,假设干扰为q,则接收则:(IN+ + q) —(IN- + q) = IN+ —IN- = OUT 所以:OUT = IN噪声被抑止掉。

上述可以形象理解差分方式抑止噪声的能力。

From: 美国国家半导体的《LVDS用户手册》P9FPGA中的差分管脚为了适用于高速通讯的场合,现在的FPGA都提供了数目众多的LVDS接口。

如Spartan-3E系列FPGA提供了下列差分标准:LVDSBus LVDSmini-LVDSRSDSDifferential HSTL (1.8V, Types I and III)Differential SSTL (2.5V and 1.8V, Type I)2.5V LVPECL inputs所拥有的差分I/O管脚数目如下From:Spartan-3E FPGA Family:Complete Data Sheet p5I/O管脚的命名方式:From:Spartan-3E FPGA Family:Complete Data Sheet p164From:Spartan-3E FPGA Family:Complete Data Sheet p18 Spartan-3E系列FPGA器件差分I/O接口输入工作的特性参数:From:Spartan-3E FPGA Family:Complete Data Sheet p126 Spartan-3E系列FPGA器件差分I/O接口输出工作的特性参数:From:Spartan-3E FPGA Family:Complete Data Sheet p127Xilinx公司差分原语的使用(原语,其英文名字为Primitive,是Xilinx针对其器件特征开发的一系列常用模块的名字,用户可以将其看成Xilinx公司为用户提供的库函数,类似于C+ +中的“cout”等关键字,是芯片中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等,相当于软件中的机器语言。

fpga_lvds小结

fpga_lvds小结

注:由于个人能力有限,文档中可能存在不当之处,望大家注意,并及时指正(只做参考文档)。

Fpga_lvds小结一.FPGA中lvds信号使用时需要注意的部分事项1.CI和CII,没有Altera所谓的“true lvds buffer”。

无论TX还是RX方向,都需要接匹配的电阻网络。

TX方向,3个电阻;RX方向,一个100欧电阻;2.CIII,在芯片的right bank,left bank上,也就是1,2,5,6bank,设计了“dedicated output buffer”。

这样,输出就不需要做任何电阻网络匹配的工作了。

至于上下两边,3,4,7,8bank上,没有“dedicated output buffer”,如果要做输出使用,仍然需要像CI和CII上面一样,配上3个电阻的网络。

Altera将这种方式名为“emulated lvds output...”对于LVDS输入,无论哪个bank,都需要100欧姆电阻。

以上两点时pcb需要注意的事项;3.CIII分配管脚时,左右bank的LVDS差分信号在IO分配时选择IO标准为LVDS;上下bank的LVDS差分信号在IO分配时选择IO标准为LVDS_E_3R,LVDS_E_3R是Atlera 对于带3个电阻的LVDS输出的一种叫法。

对于时序要求不是太高的lvds信号可以直接与fpga中相应的输入输出lvds管脚相连接即可;对于互为差分信号的一对信号来说,使用时,我们只需要处理其中一条信号即可。

不同型号的器件lvds使用也不是完全相同的,fpga中lvds信号使用时需要参考具体的器件手册。

二.FPGA中针对LVDS信号处理的IP核简介对于高速的lvds信号,若不使用专用的IP核的话,可能无法满足数据,时钟之间的时序要求。

对于高速的lvds我们可以直接调用专用的ip完成数据之间的传输。

Manager管理器提供了针对LVDS信号处理的IP核,包括LVDS发送核(altlvds_tx)与LVDS接收核(altlvds_rx)。

高速LVDS信号接收及基于FPGA的串并转换的设计

高速LVDS信号接收及基于FPGA的串并转换的设计

高速LVDS信号接收及基于FPGA的串并转换的设计作者:蒋红阳来源:《电子技术与软件工程》2016年第23期摘要主要介绍高速LVDS差分信号转单端信号接收模块的设计,通过TI 公司的SN65LVDS386芯片,接收差分信号并转换为单端信号,并基于FPGA实现串行数据转换为并行数据。

【关键词】LVDS信号接收 FPGA 串并转换1 引言随着信息技术的发展,数据量越来越大。

低压差分信号传输技术(Low Voltage Differential Signaling,LVDS)是一种满足当今高速数据传输应用的新型技术,它使得信号能在差分PCB线对或平衡电缆上以几百兆bps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。

在后端需要CMOS数字信号或者其他单端信号时,需要将差分信号转换为单端信号,LVDS差分信号接收模块的设计非常重要,信号质量的接收直接影响整个系统的稳定性,因此需要设计可靠的信号接收电路将LVDS差分信号转换为单端信号。

FPGA(Field-Programmable Gate Array),即现场可编程阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

以VHDL等硬件描述语言所完成的电路设计,可以经过综合和布局,快速的烧写至FPGA上进行测试,是现代IC设计验证的技术主流。

系统设计师可以根据需要通过可编程的连接把FPGA内部的逻辑块连接起来,一个出厂后的成品FPGA逻辑块和连接可以按照设计者的意图而改变,所以FPGA可以完成所需要的逻辑功能。

在本文中通过FPGA编程,可以实现高速信号的串并转换。

2 工作原理2.1 LVDS接口简介LVDS接口又称RS-644总线接口,是20世纪90年代出现的一种数据传输和接口技术。

LVDS即低电压差分信号,该技术的核心是采用较低的电压摆幅高速差动传输数据,可实现点对点或一点对多点的连接,具有低功耗、低误码率、低串扰和低辐射等特点,在对信号完整性、低抖动及共模特性要求较高的系统中得到了广泛应用。

基于FPGA的多通道校准算法同步实现

基于FPGA的多通道校准算法同步实现

基于FPGA的多通道校准算法同步实现数字信号处理模块是接收机系统的核心部分,系统要求数字信号处理模块能实时处理变换后的数字信号,并用软件的办法来实现大量的功能,这些功能包括:多通道校准、编解码、调制解调、滤波、同步、盲均衡、检测、数据加密、传输加密纠错、跳扩频及解扩和解跳、通信环境评估、信道挑选等,而单个根本无法完成这些功能。

目前可用的一些高速DSP 的性能最快的也不超过5GIPS ,与实际需求相差巨大。

这种处理资源的匮乏,被称之为DSP 瓶颈[1],因此我们在本系统中主要采纳的芯片实现后端数字信号处理。

时钟同步FPGA硬件设计中,时钟是囫囵设计最重要、最特别的信号,异步信号输入总是无法满足数据的建立保持时光,所以需要把全部异步输入都先举行同步化。

时钟同步的重要性如下:●系统内大部分器件的动作都是在时钟的跳变沿上举行,这就要求时钟信号时延差要十分小,否则就可能造成时序规律状态出错;●时钟信号通常是系统中频率最高的信号;●时钟信号通常是负载最重的信号,所以要合理分配负载。

出于这样的考虑在FPGA这类可编程器件内部普通都设有数量不等的特地用于系统时钟驱动的全局时钟网络。

对于一个设计项目来说,全局时钟(或同步时钟)是最容易和最可预测的时钟。

只要可能就应尽量在设计项目中采纳全局时钟。

FPGA都具有特地的全局时钟引脚,它挺直连到器件中的每一个寄存器。

这种全局时钟提供器件中最短的时钟到输出的延时。

但在许多应用中会浮现两个或两个以上非同源时钟,系统设计将濒临复杂的时光问题,数据的建立和保持时光很难得到保证。

对于需要多时钟的时序,最好将全部非同源时钟同步化,即选用一个频率是它们的时钟频率公倍数的高频主时钟。

各个功能模块要用法统一的复位电路。

在用法带时钟的触发器、计数器等有复位端的库器件时,普通应第1页共4页。

一种基于FPGA的LVDS数据接收方法

一种基于FPGA的LVDS数据接收方法

1150 引言数据的传输是电子系统与外界设备进行信息交换及数据融合的基础,LVDS采用高速差分信号通讯,电压摆幅较低,可以应用于长距离通信也可用于板内通信,是当今高速数据传输的主流解决方案[1]。

ADS5263是德州仪器(TI )推出的四信道16位模数转换器(ADC)。

该芯片采样频率高达100MSPS,数据输出采用LVDS电平形式。

本文介绍了一种基于FPGA的LVDS电平数据接收方法,在工程中验证了该方法是稳定可行的。

1 硬件平台说明FPGA与ADS5263的互联中需要注意的是,ADS5263芯片的输出信号DCO、FCO和数据信号(OUT0P/N~OUT7P/N)均连到FPGA的局部管脚(GC),并做等长处理。

1.1 LVDS数据格式ADS5263有两种工作模式:单差分对输出模式和两差分对输出模式[2]。

本文就两差分对输出模式(即双线模式)做介绍。

图1表示ADS5263输出数据的时序。

1.2 FPGA简介FPGA为XILINX公司的Virtex4系列芯片XC4VLX25-11SF363,该芯片具有25K个门逻辑单元、1260Kb的RAM、48个DSP48E Slices。

该芯片可靠性高、功耗低及环境适应性等方面都满足设计要求。

收稿日期:2019-06-13作者简介:王政(1985—),男,河北保定人,硕士研究生,工程师,研究方向:数字信号处理;张宾(1985—),男,河北保定人,硕士研究生,工程师,研 究方向:有序用电。

一种基于FPGA 的LVDS 数据接收方法王政1 张宾2(1.中国电子科技集团公司第54研究所,河北石家庄 050081;2.国网河北省电力有限公司保定供电分公司,河北保定 071000)摘要:LVDS传输方式越来越多的用于高速信息传输中,基于FPGA的LVDS数据接收的应用越来越广泛。

本文介绍了一种接收ADS5263芯片输出的LVDS数据的方法,以及在实现过程中需要注意的重点。

高速LVDS接口的FPGA设计与实现

高速LVDS接口的FPGA设计与实现

高速LVDS接口的FPGA设计与实现作者:刘华锋来源:《科技视界》2018年第09期【摘要】常规高速LVDS接口协议中,预置的同步序列会占用报文容量,且需在收端手工调整时钟数据对齐关系,降低了开发效率及平台间的兼容性。

本文给出了一种基于8B/10B 编码的,具有自动对齐功能的高速LVDS接口,并在Xilinx Virtex-7 FPGA平台上进行了接口测试,结果表明该接口可在600Mbps下稳定、可靠地传输数据。

【关键词】高速LVDS接口;8B/10B;FPGA中图分类号: TP274.1 文献标识码: A 文章编号: 2095-2457(2018)09-0099-002DOI:10.19694/ki.issn2095-2457.2018.09.046Design and Implementation of High Speed LVDS Interface Based on FPGALIU Hua-feng(The 20th Research Institute,CETC,Xi’an, Shaanxi, China)【Abstract】In the conventional high speed LVDS interface protocol, the preset synchronization sequence will occupy the message capacity, and it is necessary to align the clock and the data manually at the receiving end, which will reduce the development efficiency and the compatibility between the platforms. In this paper, a high speed LVDS interface based on 8B/10B coding is presented, with which alignment can be accomplished automatically. The interface test on the Xilinx Virtex-7 FPGA platform shows that the interface can transmit data steadily and reliably under 600Mbps.【Key words】High speed LVDS interface;8B/10B;FPGA0 引言随着信息技术的进步,各行各业所产生的数据量越来越大,对数据传输速率的要求也越来越高。

基于FPGA的LVDS传输链路的可靠性设计

基于FPGA的LVDS传输链路的可靠性设计

基于FPGA的LVDS传输链路的可靠性设计张波;李杰;张海鹏;胡陈君【摘要】在遥测系统中,LVDS接口有着传输速度高的优点,想保证数据传输的高效性与稳定性,必须确保LVDS传输链路的可靠性.在此次设计中,通过在硬件电路中增加阻抗匹配和均衡加重技术来提高电路的可靠性.在逻辑设计中,通过采用bit9和bit8标志位来区分有、无效数据与3路数字信号的方法来消除失锁现象,从而提高数据传输的稳定性.经验证,系统实现了以300 Mbit/s的速率在30 m屏蔽电缆中传输数据,误码率为零,提高了LVDS传输链路的可靠性与稳定性.【期刊名称】《电子器件》【年(卷),期】2018(041)005【总页数】5页(P1237-1241)【关键词】FPGA;LVDS;阻抗匹配;可靠性;高速传输【作者】张波;李杰;张海鹏;胡陈君【作者单位】仪器科学与动态测试教育部重点实验室,太原030051;苏州中盛纳米科技有限公司,江苏苏州215000;仪器科学与动态测试教育部重点实验室,太原030051;仪器科学与动态测试教育部重点实验室,太原030051;苏州中盛纳米科技有限公司,江苏苏州215000【正文语种】中文【中图分类】TP274在高速回传数据模式下,将记录器中的数据经过采编器,通过50 m的电缆回传至上位机,并由上位机分析处理这些数据[1]。

由于是长距离传输,且要求传输数据的正确性,避免传输过程出现丢数误码现象。

所以必须在电路设计和逻辑设计中提高系统的可靠性。

1 硬件电路设计1.1 LVDS传输的异常现象在数据传输过程中,传输质量随传输电缆长度的增加而逐渐下降。

本设计中,使用30 m长的电缆进行LVDS信号传输时,如图1所示,LVDS信号误码率较高,抖动较严重,甚至接近于关闭的状态。

图1 传输电缆50 m时LVDS接收端波形图1.2 LVDS传输链路噪声分析在LVDS传输链路中,噪声主要是信号传输过程中自身所产生的,包括信号在传输电缆中的反射引起的噪声,信号线之间的串扰和码元之间的干扰等。

在FPGA中实现源同步LVDS接收正确字对齐

在FPGA中实现源同步LVDS接收正确字对齐

在FPGA中实现源同步LVDS接收正确字对齐时间:2009-08-03 19:03:02 来源:电子系统设计作者:韦俊伟Altera公司在串行数据传输中,数据接收端需要一些特定的信息来恢复出正确的字边界,以确定串行码流中哪些比特属于原始并行数据里的同一时钟节拍里的数据,这一处理过程称为字对齐(Word Aligner)。

一些标准的协议会定义特殊的码型(常见的码型如8B/10B编码中的K28.5)用于字对齐处理。

另一些带源同步时钟的LVDS接口,通常会利用低频的源同步时钟来携带字对齐信息,用于接收端的正确恢复。

FPGA对上述两种方案都可以进行正确处理。

那么,如何FPGA中利用低频源同步时钟实现低压差分信号(LVDS)接收字对齐呢?在串行数据传输中,数据接收端需要一些特定的信息来恢复出正确的字边界,以确定串行码流中哪些比特属于原始并行数据里的同一时钟节拍里的数据,这一处理过程称为字对齐(Word Aligner)。

一些标准的协议会定义特殊的码型(常见的码型如8B/10B编码中的K28.5)用于字对齐处理。

另一些带源同步时钟的LVDS接口,通常会利用低频的源同步时钟来携带字对齐信息,用于接收端的正确恢复。

FPGA对上述两种方案都可以进行正确处理。

对于标准协议,FPGA通常都会有知识产权(IP)模块提供。

本文主要讨论在FPGA中利用低频源同步时钟实现低压差分信号(LVDS)接收字对齐的设计方法及步骤。

LVDS已经成为业界高速传输最普遍应用的差分标准。

LVDS的优势包括:由于采用差分信号带来的对共模噪声的免疫能力,进而提高了抗噪声能力;功率消耗较小,噪声较小等。

由于LVDS有比较好的抗躁声特性,它可以采用低至几百毫伏的信号摆幅,进而可以支持更高的数据速率。

LVDS串行器/解串器(SERDES)可以完成多位宽度的并行信号到LVDS串行信号的转换以及反方向操作,如图1所示。

有些器件提供图1中的随路时钟,但有些器件可能并不提供,这时LVDS解串器还必须具有时钟恢复(CDR)功能。

FPGA的LVDS介绍和xilinx原语的使用方法中文说明

FPGA的LVDS介绍和xilinx原语的使用方法中文说明

FPGA的LVDS介绍和xilinx原语的使⽤⽅法中⽂说明FPGA的LVDS介绍和xilinx原语的使⽤⽅法中⽂说明低压差分传送技术是基于低压差分信号(Low Volt-agc Differential signalin g)的传送技术,从⼀个电路板系统内的⾼速信号传送到不同电路系统之间的快速数据传送都可以应⽤低压差分传送技术来实现,其应⽤正变得越来越重要。

低压差分信号相对于单端的传送具有较⾼的噪声抑制功能,其较低的电压摆幅允许差分对线具有较⾼的数据传输速率,消耗较⼩的功率以及产⽣更低的电磁辐射。

LVDS:Low Voltage Differential Signaling,低电压差分信号。

LVDS传输⽀持速率⼀般在155Mbps(⼤约为77MHZ)以上。

LVDS是⼀种低摆幅的差分信号技术,它使得信号能在差分PCB线对或平衡电缆上以⼏百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。

差分信号抗噪特性从差分信号传输线路上可以看出,若是理想状况,线路没有⼲扰时,在发送侧,可以形象理解为:IN= IN+ —IN-在接收侧,可以理解为:IN+ —IN- =OUT所以:OUT = IN在实际线路传输中,线路存在⼲扰,并且同时出现在差分线对上,在发送侧,仍然是:IN = IN+ —IN-线路传输⼲扰同时存在于差分对上,假设⼲扰为q,则接收则:(IN+ + q) —(IN- + q) = IN+ —IN- = OUT 所以:OUT = IN噪声被抑⽌掉。

上述可以形象理解差分⽅式抑⽌噪声的能⼒。

From: 美国国家半导体的《LVDS⽤户⼿册》P9FPGA中的差分管脚为了适⽤于⾼速通讯的场合,现在的FPGA都提供了数⽬众多的LVDS接⼝。

如Spartan-3E系列FPGA提供了下列差分标准:LVDSBus LVDSmini-LVDSRSDSDifferential HSTL (1.8V, Types I and III)Differential SSTL (2.5V and 1.8V, Type I)2.5V LVPECL inputs所拥有的差分I/O管脚数⽬如下From:Spartan-3E FPGA Family:Complete Data Sheet p5I/O管脚的命名⽅式:From:Spartan-3E FPGA Family:Complete Data Sheet p164From:Spartan-3E FPGA Family:Complete Data Sheet p18 Spartan-3E系列FPGA器件差分I/O接⼝输⼊⼯作的特性参数:From:Spartan-3E FPGA Family:Complete Data Sheet p126 Spartan-3E系列FPGA器件差分I/O接⼝输出⼯作的特性参数:From:Spartan-3E FPGA Family:Complete Data Sheet p127Xilinx公司差分原语的使⽤(原语,其英⽂名字为Primitive,是Xilinx针对其器件特征开发的⼀系列常⽤模块的名字,⽤户可以将其看成Xilinx公司为⽤户提供的库函数,类似于C+ +中的“cout”等关键字,是芯⽚中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等,相当于软件中的机器语⾔。

基于FPGA的参数化多路数据对齐器设计

基于FPGA的参数化多路数据对齐器设计

基于FPGA的参数化多路数据对齐器设计李坤;刘和周【摘要】在现场可编程门阵列器件(FPGA)的高速实时信号处理系统中,多路数据对齐器是常用的电路设计。

介绍了一种运用硬件描述语言参数化方式设计的多通道数据对齐方法,首先缓存各路数据,然后依据数据特征检测同步标志信号并寄存地址,对齐后同步读出。

将多路对齐逻辑隔离开来,通过设置不同的同步标志检测电路可以适应多种应用,结构简单、可扩展性强;最大限度减少数据丢失,保证数据连续性;同时解决了跨时钟域的问题。

列举了对齐器的两种应用,并通过仿真验证和器件编程在线校验。

%Multi﹣channel data aligner is a common digital circuit in the high﹣speed and real﹣time signal processing systems with field programmable gate array(FPGA)architecture.This paper introduces a method of multi﹣channel data auto﹣alignment based parameterization method on VHDL language.Multi﹣channel data is cached separately and then the synchronous sign﹣flags are detected and the addresses are registered.At last,all data are read out synchronously.Separating from the multi﹣channel alignment logics and setting dif﹣ferent synchronous flags detection circuits,the method can adapt different application.It has simple structure and good scalability.It performs processing with minimal data loss to achieve continuous data stream.Also the problem of asynchronous clock is resolved.Two circuit designs using this method are introduced,and simulation and programming are made for validation.【期刊名称】《雷达科学与技术》【年(卷),期】2016(014)003【总页数】4页(P297-300)【关键词】现场可编程门阵列;参数化设计;多通道;数据对齐【作者】李坤;刘和周【作者单位】中国电子科技集团公司第三十八研究所,安徽合肥 230088;中国电子科技集团公司第三十八研究所,安徽合肥 230088【正文语种】中文【中图分类】TN911.7;TP3310 引言在高速实时信号处理系统中,经常出现多路数字信号的传输。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在FPGA中实现源同步LVDS接收正确字对齐时间:2009-08-03 19:03:02 来源:电子系统设计作者:韦俊伟Altera公司在串行数据传输中,数据接收端需要一些特定的信息来恢复出正确的字边界,以确定串行码流中哪些比特属于原始并行数据里的同一时钟节拍里的数据,这一处理过程称为字对齐(Word Aligner)。

一些标准的协议会定义特殊的码型(常见的码型如8B/10B编码中的K28.5)用于字对齐处理。

另一些带源同步时钟的LVDS接口,通常会利用低频的源同步时钟来携带字对齐信息,用于接收端的正确恢复。

FPGA对上述两种方案都可以进行正确处理。

那么,如何FPGA中利用低频源同步时钟实现低压差分信号(LVDS)接收字对齐呢?在串行数据传输中,数据接收端需要一些特定的信息来恢复出正确的字边界,以确定串行码流中哪些比特属于原始并行数据里的同一时钟节拍里的数据,这一处理过程称为字对齐(Word Aligner)。

一些标准的协议会定义特殊的码型(常见的码型如8B/10B编码中的K28.5)用于字对齐处理。

另一些带源同步时钟的LVDS接口,通常会利用低频的源同步时钟来携带字对齐信息,用于接收端的正确恢复。

FPGA对上述两种方案都可以进行正确处理。

对于标准协议,FPGA通常都会有知识产权(IP)模块提供。

本文主要讨论在FPGA中利用低频源同步时钟实现低压差分信号(LVDS)接收字对齐的设计方法及步骤。

LVDS已经成为业界高速传输最普遍应用的差分标准。

LVDS的优势包括:由于采用差分信号带来的对共模噪声的免疫能力,进而提高了抗噪声能力;功率消耗较小,噪声较小等。

由于LVDS有比较好的抗躁声特性,它可以采用低至几百毫伏的信号摆幅,进而可以支持更高的数据速率。

LVDS串行器/解串器(SERDES)可以完成多位宽度的并行信号到LVDS串行信号的转换以及反方向操作,如图1所示。

有些器件提供图1中的随路时钟,但有些器件可能并不提供,这时LVDS解串器还必须具有时钟恢复(CDR)功能。

市面上有各种规格的LVDS SERDES器件,此外FPGA或其它一些器件也都能集成LVDS SERDES模块。

图1:LVDS串行器/解串器的功能示意图。

为确保正确的数据传送,通过LVDS接收器后必须能恢复字顺序,即输入到LVDS串行器的最高比特能够正确地出现在解串器恢复输出数据的最高比特位置上,至少是需要预先知道出现在哪个比特位置上后再进行调整。

图2和图3分别给出了4位宽度下字顺序得到保留和没有得到保留的例子。

对于图3的情况,需要采用一种方法找把字顺序调整过来。

图2:字顺序得到保留。

图3:字顺序没有得到保留。

字顺序的调整通常采用寻找训练码来进行。

一些标准的协议通常会定义特殊的码型来进行字对齐处理,比如8B/10B编码中K28.5码型的主要功能就是字对齐处理。

发送端在有效数据中插入K28.5码型,接收端在收到的数据中寻K28.5码型,找到之后以这个码型为参考得到正确的并行数据输出。

此外,诸如SDH协议就利用帧头位置的A1A2字节来进行字对齐处理。

另外一些相对低速的LVDS接口也利用低频的源同步时钟来携带字对齐信息,以便在接收端实现正确的数据恢复。

这里的低频源同步时钟也如图1中的随路时钟,LVDS数据和随路时钟之间的倍数关系通常等于LVDS串行化时的倍数因子。

比如,德州仪器(TI)的SN65LVDS95 LVDS发送器,不仅可完成21:3的LVDS串行化发送,还将21位的并行数据和时钟串行化成3路LVDS数据输出和1路时钟输出。

串行化因子的值等于7,所以输出时钟的频率是LVDS数据速率的七分之一。

通过这个随路时钟,配套的解串器SN65LVDS96就能够正确恢复并行数据。

与这类单独的LVDS SERDES器件相比,FPGA集成LVDS模块能提供更高的集成度,并简化硬件设计、节省PCB面积,从而降低应用成本。

高端FPGA还在I/O单元里固化了LVDS串行器/解串器,支持非常高的速率,比如Altera公司的Stratix III系列。

Stratix III FPGA系列是Altera公司基于TSMC 65nm工艺的高端FPGA,是业界高密度高性能可编程逻辑器件中,功耗最低的产品系列。

Stratix III 器件可以同时提供最多276对LVDS串行化发送模块和276对LVDS解串行化接收模块,每路LVDS最高可以支持1.6Gbps。

此外,它还独家提供可编程的输出摆幅和预加重功能,以支持长距离背板传送,如图4所示。

图4:Stratix III 支持可编程的输出摆幅(Vs(p-p))和预加重(Vpp(p-p))。

图5显示了Stratix III的LVDS接收器中固化在I/O单元里的模块。

源同步的低频时钟rx_inclk通过PLL倍频移相后得到DIFFI/OCLK,对输入数据rx_in进行采样,采样后的数据可以进行最高因子为10的解串行化。

图5:Stratix III I/O固化的LVDS接收器。

由于FPGA具有非常高的灵活性,比如支持不同LVDS输入数据和输入时钟之间的倍频关系,以及不同的解串行化因子,所以Stratix III LVDS硬核模块的输出字顺序通常是不确定的,每次上电或者复位后字顺序都有可能发生变化,使用时需要根据特殊码型进行字对齐处理。

当输入到FPGA的数据和时钟之间的倍数关系等于解串器的解串行化因子时,FPGA与单独的LVDS 解串器一样,有确定的字顺序输出,可以在没有训练码型的情况下继续正常应用。

图6是解串行化因子为7时的时序图。

假设随路时钟的上升沿对应数据的最高比特,在FPGA内部,PLL会从随路时钟产生一个进行过相位调整的7倍频率采样时钟。

此时钟对输入数据进行采样后送入解串器,通过控制解串器的装载时钟相位,得到确定的并行数据输出字顺序。

装载时钟的相位相对随路时钟相位的固定差异是通过接收PLL的相位控制来实现的,因此必须在输入时钟稳定后再释放PLL的复位控制,或者等输入时钟稳定后再复位PLL一次,否则输出的字顺序在每次上电时都可能不固定。

图6:LVDS接收及解串行化时序图。

在具体应用时,还需通过仿真来确定具体应用下的字输出顺序,然后在逻辑设计里面进行调整,使最终的并行输出符合满足需求。

下面以与TI的SN65LVDS95 LVDS发送器对接为例来介绍具体的设计方法和步骤。

当把Stratix III的LVDS与别的LVDS器件对接时,也可以此为参考。

图7:LVDS95输出时序。

点击查看大图在图7,LVDS95输出的时钟和数据是对齐到输出时钟的上升沿上的,数据的最高比特(MSB)出现在时钟上升沿之在后的第三个比特。

这里的目的是使Stratix III 的LVDS接收器输出正确的字顺序,也即图7中的D6出现在并行输出数据的最高比特上。

图8:综合设置页面。

假设并行侧的时钟频率是60MHz,这样串行LVDS的速率是480Mbps。

为方便描述,这里只针对1路LVDS数据进行设计。

首先根据LVDS95的时序进行Stratix III中的LVDS模块(ALTLVDS)的调用。

图9:频率和锁相环设置页面。

在图8的综合设置页面中,我们没有选上“Implement Serializer/Deserializer circuitry in logic cells",这样就用到了LVDS SERDES硬核。

同样也没有选上“Enable Dynamic Phase Alignment mode”选项,这表示不使用DPA功能。

图10:接收器设置页面。

在图9中,根据LVDS95的输出时序,在“W hat is the phase alignment of 'rx_in' with respect to the rising edge of 'rx_inclock'? ”里选择了0度。

在图10的设置中,通常情况下需要选上“Register outputs”选项。

但因为后续设计逻辑包含了这些寄存器,所以这里选择该选项。

此外,在这里没有使能“rx_channel_data_align”端口来进行字重新对齐。

接下来需要通过仿真找出串行因子等于7的情况下,LVDS硬核的字顺序情况。

图11给出了顶层设计例子,图12是在MODELSIM里的仿真结果。

图11:顶层模块的设计。

从图11的仿真波形可以看到,LVDS时钟上升沿之后的第一个数据将在并行侧的rx_out_tmp[6:0]中的rx_out_tmp[2]出现。

结合LVDS95的特性,LVDS95输出的MSB(D6)将在rx_out_tmp[0]出现,于是需要将此输出滑动一位,得到正确的字顺序。

图12:仿真波形。

在图13中,首先将数据进行一拍延时,得到rx_out_tmp_dly[6:0],然后将rx_out_tmp_dly[0]放置在输出数据的最高位,rx_out_tmp[6:1]顺序放置在其他位上,得到数据向右滑动一位的效果。

如果需要滑动多位,调整上述的放置位置就可以了。

对上述调整逻辑,我们可以进一步通过仿真来验证。

在此我们输入了一个计数器数据进行确认。

图14给出了仿真的部分输出结果,图中,左边两根竖条标出了LVDS输入的“000001”数据,右边的两个竖条标出了rx_out的正确输出。

这证明了我们的调整是正确的。

图13:字顺序的调整逻辑。

图14:内容为计数器的仿真输出波形。

本文小结在利用Stratix III做LVDS接收时,我们可以将解串行化因子设置成等于输入的LVDS数据和时钟之间的倍数关系,这样就可以得到确定的字输出顺序,从而可以不依赖训练码实现正确LVDS接收的字对齐。

此方法不仅适合于FPGA与单独的LVDS发送器进行对接,也可用于FPGA与FPGA之间的数据传送,使用时FPGA的LVDS发送端送出低频的源同步时钟即可。

相关文档
最新文档