CN102104375A - 基于fpga的lvds接口电路和数据传输方法 - Google Patents
基于fpga的lvds接口电路和数据传输方法 Download PDFInfo
- Publication number
- CN102104375A CN102104375A CN2009102008740A CN200910200874A CN102104375A CN 102104375 A CN102104375 A CN 102104375A CN 2009102008740 A CN2009102008740 A CN 2009102008740A CN 200910200874 A CN200910200874 A CN 200910200874A CN 102104375 A CN102104375 A CN 102104375A
- Authority
- CN
- China
- Prior art keywords
- data
- parallel data
- clock
- clock bit
- interface circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供了一种基于FPGA的低电压差分信号传输接口电路,包括:字节组合器,用于将输入的多路低速并行数据转换成一路高速并行数据作为输出;时钟比特添加器,向所述一路高速并行数据添加时钟比特;低电压差分信号传输接口,将添加时钟比特之后的并行数据转换为串行数据进行发送;以及锁相环,用于向低电压差分信号传输接口提供时钟信号。本发明还提供了一种低电压差分信号传输方法。本发明能够高效和稳定地接收高速数据,并减小训练时间和简化时钟的设计方案。
Description
技术领域
本发明涉及数字电路领域,具体涉及一种基于FPGA的LVDS接口电路和数据传输方法。
背景技术
LVDS(低电压差分信号传输)是一种串并/并串转换接口,用于芯片之间的数据传输。在发送端,多路并行的数据合并成一路被发送,而在接收端,将一路数据转换成多路接收。在现有技术中,由于高速串行数据流、被发送数据的偏斜以及链路所增加的偏斜,接收机很难建立正确的接收字边界并对数据进行重新排列。
通常的方法是,LVDS接口电路必须在数据流中插入公共字,并按照8B/10B进行编码。8B/10B也叫做8字节/10字节或8B10B。具体地,8B/10B编码是将一组连续的8比特数据分解成两组数据,一组3比特,一组5比特,经过编码后分别成为一组4比特的代码和一组6比特的代码,从而组成一组10比特的数据发送出去。相反,解码是将1组10比特的输入数据经过变换得到8个数据比特。数据值可以统一的表示为DX.Y或KX.Y,其中D表示为数据代码,K表示为特殊的命令代码,X表示输入的原始数据的低5位EDCBA,Y表示输入的原始数据的高3位HGF。
8B/10B编码的特性之一是保证DC平衡。采用8B/10B编码方式,可使得发送的“0”、“1”数量保持基本一致,连续的“1”或“0”不超过5比特,即每5个连续的“1”或“0”后必须插入一比特的“0”或“1”,从而保证信号DC平衡,就是说,在链路超时的情况下不致发生DC失调。通过8B/10B编码,可以保证传输的数据串在接收端能够被正确复原。除此之外,利用一些特殊的代码(例如在PCI-Express总线中为K码),可以帮助接收端进行还原工作,并且可以在早期发现数据位的传输错误,抑制错误继续发生。
接收机检查公共字,控制专用数据重排列电路,以获取重新排列的数据。在8B/10B方案中,数据传输的效率小于80%。
此外,公共字之间的间隔会影响接收机的效率和训练时间。如果间隔较短,接收机能够在特定时间内检查更多的公共字,并快速完成训练过程。但是,数据流中的公共字过多会使效率变低。如果间隔较长,则效率会较高,但训练时间又会较长。
图1是示出了现有技术中的一种LVDS接口电路的框图,用于将并行数据转变为串行数据。如图1所示,LVDS接口电路10包括DPRAM 110、公共字插入器120、字节组合器130、8B/10B编码器140、第一PLL 150、第二PLL 160和LVDS-TX接口170。图2是示出了图1中的LVDS接口电路的信号时序图,其描述了LVDS接口电路10中各处信号的时序。下面结合附图1来描述传统的LVDS接口电路。
假设需要传输的数据是频率为30.72MHz的16比特数据,如图1所示,ifft_dataout[15:0]是频率为30.72MHz的15比特数据,write_en是写使能信号,write clk是写时钟信号,DPRAM是双口RAM,用于数据的缓存。在传统方案中,由于需要在数据中插入特殊的字符,也就是K字,并且K字的插入是有规律性的,可以控制读DPRAM的使能信号read en,这样得到了从DPRAM读取的数据q_out[15:0],由于要保证DPRAM读写在一定时间内读取的数据是一样的,并且由于需要插入K字(或者是读使能的特性),假设插入K字的间隔是M,这样读写时钟的关系是:read clk=(M+1)/M*write clk,其中add_k是指示加入K字的位置,这样得到了频率为30.72MHZ的ant_i_data[15:0]数据。通过字节组合器130,得到频率为61.44MHz的8比特数据ant_i_data_t[7:0]。commen_en指示K字的位置,以便8B/10B完成数据的编码,得到10比特数据ant_i_data_tt[9:0]。最后,通过LVDS-TX接口170发送。
在这里,通过以下两组示例参数来对比传输效率和训练时间。
第一组参数:公共字之间的间隔为60且线路速率为633.6Mbps。
此时,由于假设插入K字的间隔是60,也就是每59个数据插入一个K字(和数据位宽没有关系),这样通道效率(用于传输有效数据量)是59/60;由于插入K字后的数据需要8B/10B编码,所以会消耗20%的信道资源,那么用于传输有效数据的效率是80%,也就是0.8;这样考虑到K字、8B/10B编码,总的效率是1x0.8x(59/60)≈80%。
上述过程是将8比特的数据插入K字,然后进行8B/10B编码得到10比特的数据,最后经过并串转换,以高速的串行数据发送。假设插入K字间隔是60,这样在8B/10B编码后,并行的10比特数据,每隔59个数据会有一个10比特的K字,在并串转换后,在10比特×60=600比特的串行数据中,必然含有一个K字,由于串行数据是633.6Mbps,所以每隔10x60x(1/633.6Mbps)的时间必定含有一个K字,由于在接收端,当在10x60x(1/633.6Mbps)的时间间隔内,如果没有检测到K字,需要平移一次采样窗口。又因为并行的数据是10比特,所以采样窗口最多平移10次,在接收端必定可以采样到K字,完成该过程。因此,需要消耗的训练时间最大是:10x10x60x(1/633.6Mbps)=9.4ns。
第二组参数:公共字之间的间隔为10且线路速率为633.6Mbps。
此时,按照上文所述的计算过程可以得出,传输效率为1x0.8x(9/10)≈72%。相应地,训练时间为10x10x10x(1/633.6Mbps)=1.57ns。
从以上分析可以看出,难以在效率和训练时间之间保持平衡。
现有技术中存在的另一个问题是,时钟的设计方案十分复杂。参见图1,由于发送至LVDS-TX接口170的数据是10比特,所以训练时间小于10个公共字间隔。此外,该方案中采用了两个锁相环(PLL)电路。
发明内容
本发明的目的是提供一种基于FPGA的LVDS接口电路数据传输方法,该电路和方法能够高效和稳定地接收高速数据,并减小训练时间和简化时钟的设计方案。
本发明的一个方面提供了一种基于FPGA的低电压差分信号传输接口电路,包括:字节组合器,用于将输入的多路低速并行数据转换成一路高速并行数据作为输出;时钟比特添加器,向所述一路高速并行数据添加时钟比特;低电压差分信号传输接口,将添加时钟比特之后的并行数据转换为串行数据进行发送;以及锁相环,用于向低电压差分信号传输接口提供时钟信号。
优选地,时钟比特添加器将时钟比特添加到所述一路高速并行数据中的每个字节之前或之后。优选地,所述时钟比特是“10”或“01”。
本发明的另一个方面提供了一种低电压差分信号传输方法,包括:将输入的多路低速并行数据转换成一路高速并行数据;向所述一路高速并行数据添加时钟比特;以及将添加时钟比特之后的并行数据转换为串行数据进行发送。
优选地,将时钟比特添加到所述一路高速并行数据中的每个字节之前或之后。优选地,所述时钟比特是“10”或“01”。
本发明的LVDS接口电路节省了FPGA管脚的数目,使PCB设计得以简化。另外,在保持高传输速率的同时减小了训练时间。
附图说明
通过下文结合附图的详细描述,本发明的上述和其他特征将会变得更加明显,其中:
图1是示出了现有技术中的一种LVDS接口电路的框图;
图2是示出了图1中的LVDS接口电路的信号时序图;
图3是示出了根据本发明一个实施例的基于FPGA的LVDS接口电路的框图;
图4是示出了图3中的LVDS接口电路的信号时序图。
图5是示出了根据本发明一个实施例的LVDS数据传输方法的流程图。
具体实施方式
下面,通过结合附图对本发明的具体实施例的描述,本发明的原理和实现将会变得明显。应当注意的是,本发明不应局限于下文所述的具体实施例。
图3是示出了根据本发明一个实施例的基于FPGA的LVDS接口电路的框图,用于将并行数据转变为串行数据。如图3所示,LVDS接口电路30包括字节组合器310、时钟比特添加器320、LVDS-TX接口330和PLL340。字节组合器310将多路低速的并行数据转换成一路高速的并行数据,以便后续的处理。为了进行说明,以两路并行数据作为示例。如图3所示,字节组合器将频率为30.72MHz的两路8比特数据合并为一路频率为61.44MHz的8比特数据。时钟比特添加器320在频率为61.44MHz的8比特数据的最高位前添加时钟比特“10”,从而将8比特数据转换为10比特数据。LVDS-TX接口330将10比特的并行数据转换为串行数据发送。PLL 340提供了三个时钟信号C0-C2。较高频率的(614.4MHz)时钟信号C0完成对高速串行数据的处理,较低频率的(61.44MHz)时钟信号C2完成对低速并行数据的处理。时钟信号C1的占空比是10%,在并串转换过程中用作使能信号。
图4是示出了图3中的LVDS接口电路的信号时序图,其描述了LVDS接口电路30中各处信号的时序。其中,假定需要发送的数据是频率为30.72MHz的16比特数据,clk30d72是发送数据的参考时钟,datain[15:0]是需要传输的16比特数据;clk61d44是LVDS接口的工作时钟,是61.44MHz,data bc[7:0]是字节组合器得到的61.44MHz的数据,clock bits就是两个时钟比特,data ca[9:0]是加入时钟比特之后的10比特数据。
图5是示出了根据本发明一个实施例的LVDS数据传输方法的流程图。方法500从步骤501处开始。在步骤503,将多路低速的并行数据转换成一路高速的并行数,即对并行数据流进行字节组合。在步骤505,按照上文所述的方式添加时钟比特“10”。在步骤507,通过LVDS接口发送数据添加有时钟比特的串行数据。最后,方法在步骤509处结束。
如上所述,在本发明的基于FPGA的LVDS接口电路中,数据流中不使用公共字,并且不采用8B/10B编码。相反,本发明在数据流中插入两个时钟比特“10”,用于接收机中的数据恢复。具体说来,在每个时钟周期,LVDS接口电路30中的时钟比特添加器320将少于8比特的并行用户数据与这两个时钟比特相组合,形成10比特的数据流,并通过LVDS-TX接口330发送该数据流。例如,当输入信号为8比特、速率为61.44MHz时,时钟比特添加器320将8比特输入信号和2比特的时钟信号相组合,形成每周期10比特、速率为61.44MHz的数据流。
时钟比特(以关联的两个比特“10”为例)的具体实现是将8比特的数据在最高位的左边加“1”,在最低位的右端加“0”,从而组成一个10比特的并行数据,以代替8B/10B的功能。
在接收端,根据时钟比特的规律性,每10个比特必定含有一组“10”。该时钟比特具有两个功能:其一,防止在数据中出现连续的较长的“0”或“1”;其二,在接收端根据时钟比特完成对动态相位的调整。
具体地,接收机可以周期性地检测该时钟比特。如果接收机没有检测到该时钟比特,则接收机会控制数据重排列单元,直到其检测到给定时间上的时钟比特为止。然后,信道训练结束,数据得以重新排列。
此外,根据上面的分析可知,本发明也可以使用时钟比特“01”来实现。该时钟比特可以添加到每个字节之前或之后。
根据上文的分析可知,上述情况下的效率为1x0.8=80%,并且训练时间为10x10x(1/614.4Mbps)=0.16ns。因此,在数据传输效率保持在80%的同时,本发明的训练时间很短。可见,本发明在保持较高效率的同时,使训练时间极大地缩短。另外,本发明的基于FPGA的LVDS接口电路中仅采用了一个PLL电路,使得时钟的设计方案得以简化。
尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (8)
1.一种基于FPGA的低电压差分信号传输接口电路,包括:
字节组合器,用于将输入的多路低速并行数据转换成一路高速并行数据作为输出;
时钟比特添加器,向所述一路高速并行数据添加时钟比特;
低电压差分信号传输接口,将添加时钟比特之后的并行数据转换为串行数据进行发送;以及
锁相环,用于向低电压差分信号传输接口提供时钟信号。
2.如权利要求1所述的低电压差分信号传输接口电路,其中,时钟比特添加器将时钟比特添加到所述一路高速并行数据中的每个字节之前。
3.如权利要求1所述的低电压差分信号传输接口电路,其中,时钟比特添加器将时钟比特添加到所述一路高速并行数据中的每个字节之后。
4.如权利要求2或3所述的低电压差分信号传输接口电路,其中,所述时钟比特是“10”或“01”。
5.一种低电压差分信号传输方法,包括:
将输入的多路低速并行数据转换成一路高速并行数据;
向所述一路高速并行数据添加时钟比特;以及
将添加时钟比特之后的并行数据转换为串行数据进行发送。
6.如权利要求5所述的方法,其中,向所述一路高速并行数据添加时钟比特的步骤包括:将时钟比特添加到所述一路高速并行数据中的每个字节之前。
7.如权利要求5所述的方法,其中,向所述一路高速并行数据添加时钟比特的步骤包括:将时钟比特添加到所述一路高速并行数据中的每个字节之后。
8.如权利要求6或7所述的低电压差分信号传输接口电路,其中,所述时钟比特是“10”或“01”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102008740A CN102104375A (zh) | 2009-12-21 | 2009-12-21 | 基于fpga的lvds接口电路和数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102008740A CN102104375A (zh) | 2009-12-21 | 2009-12-21 | 基于fpga的lvds接口电路和数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102104375A true CN102104375A (zh) | 2011-06-22 |
Family
ID=44156942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102008740A Pending CN102104375A (zh) | 2009-12-21 | 2009-12-21 | 基于fpga的lvds接口电路和数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102104375A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103078849B (zh) * | 2012-12-27 | 2015-09-30 | 中国航空工业集团公司第六三一研究所 | 多路串行接口协议切换转发方法 |
TWI509260B (zh) * | 2012-04-27 | 2015-11-21 | Nvidia Corp | 低電壓差分信號測試的系統和方法 |
CN105490767A (zh) * | 2015-11-16 | 2016-04-13 | 中国电子科技集团公司第十研究所 | 并行间断数据流转换为串行连续数据流输出的方法 |
CN107301841A (zh) * | 2017-08-18 | 2017-10-27 | 深圳市华星光电半导体显示技术有限公司 | 一种oled显示面板及其驱动方法 |
US10504439B2 (en) | 2017-08-18 | 2019-12-10 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | OLED display panel and driving method using differential data for voltage compensation |
CN112230879A (zh) * | 2020-10-23 | 2021-01-15 | 成都航天通信设备有限责任公司 | 一种基于fpga字节和比特数据处理发送方法 |
CN113346978A (zh) * | 2021-05-24 | 2021-09-03 | 北京计算机技术及应用研究所 | 一种异步串行lvds高速稳定传输系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946088A (zh) * | 2006-10-16 | 2007-04-11 | 华为技术有限公司 | 收发装置、收发系统及收发信息的方法 |
WO2008137055A1 (en) * | 2007-05-03 | 2008-11-13 | James Boomer | Method and circuit for interleaving, serializing and deserializing camera and keypad data |
-
2009
- 2009-12-21 CN CN2009102008740A patent/CN102104375A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1946088A (zh) * | 2006-10-16 | 2007-04-11 | 华为技术有限公司 | 收发装置、收发系统及收发信息的方法 |
WO2008137055A1 (en) * | 2007-05-03 | 2008-11-13 | James Boomer | Method and circuit for interleaving, serializing and deserializing camera and keypad data |
Non-Patent Citations (1)
Title |
---|
李优杏等: "基于FPGA的SERDES接口设计与实现", 《中国通讯学会第五届学术年会论文集》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI509260B (zh) * | 2012-04-27 | 2015-11-21 | Nvidia Corp | 低電壓差分信號測試的系統和方法 |
CN103078849B (zh) * | 2012-12-27 | 2015-09-30 | 中国航空工业集团公司第六三一研究所 | 多路串行接口协议切换转发方法 |
CN105490767A (zh) * | 2015-11-16 | 2016-04-13 | 中国电子科技集团公司第十研究所 | 并行间断数据流转换为串行连续数据流输出的方法 |
CN105490767B (zh) * | 2015-11-16 | 2017-09-26 | 中国电子科技集团公司第十研究所 | 并行间断数据流转换为串行连续数据流输出的方法 |
CN107301841A (zh) * | 2017-08-18 | 2017-10-27 | 深圳市华星光电半导体显示技术有限公司 | 一种oled显示面板及其驱动方法 |
WO2019033579A1 (zh) * | 2017-08-18 | 2019-02-21 | 深圳市华星光电半导体显示技术有限公司 | 一种 oled 显示面板及其驱动方法 |
CN107301841B (zh) * | 2017-08-18 | 2019-05-24 | 深圳市华星光电半导体显示技术有限公司 | 一种oled显示面板及其驱动方法 |
US10504439B2 (en) | 2017-08-18 | 2019-12-10 | Shenzhen China Star Optoelectronics Semiconductor Display Technology Co., Ltd. | OLED display panel and driving method using differential data for voltage compensation |
CN112230879A (zh) * | 2020-10-23 | 2021-01-15 | 成都航天通信设备有限责任公司 | 一种基于fpga字节和比特数据处理发送方法 |
CN112230879B (zh) * | 2020-10-23 | 2022-05-17 | 成都航天通信设备有限责任公司 | 一种基于fpga字节和比特数据处理发送方法 |
CN113346978A (zh) * | 2021-05-24 | 2021-09-03 | 北京计算机技术及应用研究所 | 一种异步串行lvds高速稳定传输系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102104375A (zh) | 基于fpga的lvds接口电路和数据传输方法 | |
CN110008166B (zh) | 带内嵌时钟的正交差分向量信令码 | |
CN103141066B (zh) | 发送电路、接收电路、发送方法、接收方法、通信系统及其通信方法 | |
KR101800157B1 (ko) | 데이터 심볼 트랜지션 기반 클록킹에 의한 멀티-와이어 싱글 엔드 푸시-풀 링크 | |
US7995696B1 (en) | System and method for deskewing data transmitted through data lanes | |
EP1456957B1 (en) | Hybrid parallel/serial bus interface | |
CN102340316A (zh) | 基于fpga的微型空间过采样直流平衡串行解串器 | |
CN101692218A (zh) | 一种数据高速传输方法 | |
CN102710240B (zh) | 信号处理装置、方法、serdes和处理器 | |
CN103346977B (zh) | 一种数据资源的动态分配方法 | |
JP2004520778A (ja) | スキュー耐性のないデータグループを有するパラレルデータ通信 | |
CN102523436A (zh) | 发送终端、接收终端、多路视频光纤传输系统及传输方法 | |
CN105786741B (zh) | 一种soc高速低功耗总线及转换方法 | |
CN103401656A (zh) | 星载相控阵接收天线数据传输系统 | |
CN103490841A (zh) | 一种e1多路复用系统中基于分布式帧头的时钟恢复方法 | |
CN112543025B (zh) | 基于矩阵化的高速串行ad采样及数据处理系统及方法 | |
CN101459815B (zh) | 视频光端机数据传输方法和视频接收机解码方法 | |
CN103078667A (zh) | 一种基于超五类线的lvds高速数据传输方法 | |
TW201427349A (zh) | 同步序列資料傳輸方法與電路裝置 | |
CN112286853B (zh) | 一种支持多协议的fpga系统及数据处理方法 | |
CN1859052B (zh) | 一种异步时钟域信号处理方法及系统 | |
CN113726693B (zh) | 一种fpga片间低速并行异步通信方法及通信系统 | |
KR102520096B1 (ko) | 인코딩된 멀티-레인 n-팩토리얼 및 다른 멀티-와이어 통신 시스템들 | |
CN102916910B (zh) | 一种基于异步体制的同步复分接方法 | |
CN203618004U (zh) | 传输速率可按需调节的远距离有线数据传输装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110622 |