基于RapidIO协议的光纤通信系统设计与实现❋

2013-06-27 05:50:10刘光祖张强仲雅莉
电讯技术 2013年7期
关键词:收发器时序校验

刘光祖❋❋,张强,仲雅莉

(南京理工大学电子工程与光电技术学院,南京210014)

基于RapidIO协议的光纤通信系统设计与实现❋

刘光祖❋❋,张强,仲雅莉

(南京理工大学电子工程与光电技术学院,南京210014)

为了满足嵌入式系统对高速数据传输的需求,提出了一种基于RapidIO协议的光纤通信系统解决方案。利用光模块实现光、电信号的转换,高速收发器实现物理层协议,现场可编程门阵列芯片实现逻辑层协议。测试结果表明,所提方案成本低,性能可靠,数据吞吐率达到1.25 Gb/s。该方案已成功应用于电子不停车收费系统中。

光纤通信;高速收发器;嵌入式系统;电子不停车收费

1 引言

近年来,随着嵌入式多核处理器的涌现以及处理器主频的迅速提高,嵌入式系统的数据吞吐率越来越高,对宽带数据传输的需求也越来越迫切。由于光纤通信具有通信容量大、传输距离远、抗干扰能力强等优点,使其从多种通信方式中脱颖而出,成为宽带数据通信系统的首选。光纤通信可以采用多种协议来实现,如RapidIO、PCIE(Peripheral Component

Interconnect Express)和以太网。RapidIO最大的优势在于其专门应用于嵌入式系统,与以太网复杂的多层协议相比,其协议更为简单,占用的系统资源更少;与PCIE相比,RapidIO支持多种类型的拓扑结构,灵活性更强。正因为这些独有的优势,使得RapidIO协议在嵌入式系统中的应用越来越广泛。

本文提出了一种基于RapidIO协议的点对点光纤通信系统,系统包括SFP(Small Form-factor Pluggables)模块、高速收发器和现场可编程门阵列(Field Programmable Gate Array,FPGA)3部分。SFP模块实现光、电信号的转换,高速收发器实现RapidIO物理层协议,参考RapidIO的请求-响应机制,在FPGA中实现了逻辑层协议。本方案的优点是能最大限度地降低FPGA资源的使用,且数据传输稳定可靠。

2 RapidIO技术

RapidIO技术是具有可扩展性的、基于包交换的新型互连技术,它是专门应用于无线应用框架、边缘网络、科学、军用和工业市场的高性能网络结构。如图1所示[1],RapidIO协议分为3层,即逻辑层、传输层和物理层。逻辑层定义了一系列的I/O逻辑操作。传输层就是系统级的寻址,这个传输规范独立于任何RapidIO物理层或逻辑层规范,在使用器件ID作为系统级寻址方案的基础上,RapidIO几乎可以支持任何系统拓扑结构[2-3]。串行物理层包括物理编码子层(Physical Coding Sublayer,PCS)和物理媒介附属子层(Physical Media Attachment,PMA),进行对包的分析和定界。

图1RapidIO协议层次结构Fig.1 The hierarchy structure of RapidIO protocol

3 系统实现

3.1 系统整体架构与硬件设计

系统的整体架构如图2所示,上层协议由FPGA逻辑实现,RapidIO物理层主要由可配置的高速收发器实现,高速收发器串行输出和输入分别为一对差分信号,通过交流耦合与SFP光模块相连,SFP光模块为收发一体模块,完成电信号和光信号的相互转换。

图2 系统整体架构Fig.2 Architecture of the entire system

FPGA选择Altera公司的Cyclone IV GX系列,提供更低的功耗和更低的成本,由于GX系列内部集成收发器,简化了PCB设计,缩小了PCB面积。电路板布局简图如图3所示,5 V电源输入产生1.2 V、2.5 V和3.3 V 3个输出电压,其中1.2 V供给FPGA的核电压和收发器,2.5 V供给收发器,3.3 V供给FPGA的I/O电压和SFP光模块。光模块对电源要求较高,电源上的杂波将影响激光驱动器的输出波形,导致眼图变差,甚至不能正常通信,而且光模块的接收端是小信号处理电路,很容易受到外界的干扰,洁净的电源有助于提高接收灵敏度。所以,必须合理地设计电源滤波电路。在光模块的电源接入端放置一个至少10μF的电容,滤除低频噪声;在电源与地之间放置一个0.01~0.1μF的电容,滤除高频噪声。时钟和配置调试部分中,50 MHz有源晶振为FPGA提供用户时钟,时钟芯片产生的156.25 MHz差分时钟用于收发器的工作时钟,配置则采用JTAG+AS的配置方式,调试电路是RS232串口调试。另外,图中512 Mb容量的SDRAM提供数据存储,接插件提供与上位机的交互操作。

图3 硬件电路板结构图Fig.3 Diagram of hardware circuit board

3.2 光模块与高速收发器接口设计

本系统采用的光模块接口电平标准为PECL或LVPECL,Cyclone IV GX高速收发器输出支持1.5 V PCML电平标准,输入支持1.4 V PCML、1.5 V PCML、2.5 V PCML、LVDS和LVPECL电平标准。由于交流耦合可以减少光模块与其他芯片之间偏置电位上的牵连,耦合方式使用交流耦合。光模块输出提供LVPECL电平标准,而收发器输入支持LVPECL电平的交流耦合。如图4所示,光模块输入端差分信号摆幅VOD支持200~1 100 mV,而收发器输出端VOD可配置为从400 mV到1 200 mV 6个等级,默认配置为800 mV即可。

图4 差分信号波形Fig.4 Waveform of differential signal

3.3 高速收发器

如图2所示,Cyclone IV GX高速收发器由PCS和PMA构成。发送通道PMA负责将并行信号串化为比特流,接收PMA在把串行数据转换为并行数据之前要先进行时钟数据恢复,从而产生接收并行数据所需的时钟信号。发送通道PCS首先要经过一个FIFO补偿FPGA内核和发送通道PCS之间的相位差,这是因为收发器所需的时钟要求较高,外部输入的参考时钟会经过收发器专用的锁相环电路产生收发器所需的各个时钟(低速的并行数据时钟和高速的串行数据时钟),经过相位补偿FIFO,就能保证收发器内并行数据和串行数据保持高度同步。PCS内的8b/10b编码器是RapidIO协议所规定的部分,它将8 b的数据编码为10 b的数据,一方面平衡了位流中0与1的个数即直流平衡,另一方面,编码后的10 b可分为数据字和控制字。接收通道PCS就是利用控制字K28.5(RapidIO协议所规定)进行字节同步,然后8b/10b解码后同样经过相位补偿FIFO进入FPGA。在Quartus II软件中调用ALTGX IP核,可以配置收发器各种参数,本方案输入参考时钟为50 MHz,位宽为8,输出串行数据率为1.25 Gb/s。

3.4 FPGA逻辑功能

由于是点对点的通信,RapidIO的传输层和逻辑层占用过多的资源,本方案在参考RapidIO协议的基础上,自定义了基于发送和响应的上层协议,在保证可靠性的前提下占用最少的资源,将更多的资源留作其他的信号处理功能。如图5所示,上层协议可以分为3个模块。

图5 上层协议结构Fig.5 Structure of the upper layer protocol

3.4.1 收发器复位时序

为了保证收发器正常稳定地工作,除了良好的电源和时钟外还需要对其进行合理的复位操作。收发器一共有4个复位信号,pll-areset信号用于复位收发器内部锁相环电路,tx-digitalreset信号用于复位发送PCS内部的数字逻辑电路,rx-digitalreset用于复位接收PCS内部的数字逻辑电路,rx-analogreset信号用于复位接收通道的时钟恢复电路。收发器复位时序如图6所示,首先同时拉高4个复位信号,pll-areset拉高至少1μs,pll-locked变高时立即拉低tx-digitalreset,busy变低后至少两个并行时钟拉低rx-analogreset,rx-freqlocked变高后至少4μs拉低rx-digitalreset,至此结束复位时序。

图6 收发器复位时序Fig.6 Reset timing of transceiver

3.4.2 发送模块设计

图5所示,发送模块包括发送时序控制、循环冗余校验(Cyclical Redundancy Check,CRC)校验值产生和发送缓冲区3个部分。

发送帧格式如图7所示。同步字、帧头和帧类型字段各占用一个字节,其中同步字为上文提到的K28.5,即0xBC,帧头为0xFB(参考RapidIO协议),帧类型包括控制帧、控制响应帧、数据帧、数据响应帧4种,对应的值分别为0x02、0x07、0x01、0x06,控制响应帧和数据响应帧都属于响应帧,也可分为数据帧、控制帧和响应帧3种;数据长度字段占用2个字节,其值为数据长度字段和数据字段的总字节长度;CRC字段占用2个字节,其值为数据长度和数据的CRC-16校验值;帧尾字段占用一个字节,为0xFD(参考RapidIO协议)。控制帧和响应帧没有数据长度字段、数据字段以及CRC字段。

图7 发送帧格式Fig.7 Format of send frame

发送程序流程图如图8所示,当发送模块检测到“发送有效”信号的上升沿时,启动发送流程。发送模块首先判断帧类型,根据帧类型来选取不同的组帧的方式。对于数据帧来说,发送缓冲区的前两个字节存放了待发送数据的长度,发送模块根据这个长度信息完成数据帧的组帧。组帧的同时,产生CRC校验值,并利用延时模块配合发送的时序,使得数据字段与CRC校验值字段准确拼接。对于控制和响应帧来说,由于没有实际数据,只需简单地组帧即可完成发送流程。发送完成后会通知总控制模块并返回空闲状态,此时发送模块的所有相关寄存器清零,等待下一次的“发送有效”信号。

图8 发送程序流程图Fig.8 Flowchart of send program

3.4.3 接收模块设计

如图5所示,接收模块包括接收时序控制、CRC校验和接收缓冲区3个部分。

接收程序的流程图如图9所示,在接收使能的情况下,只要检测到帧头0xFB便开始接收数据。对于数据帧,首先计算帧长度,根据接收数据长度并将数据写入接收缓冲区,同时开始CRC校验,若CRC校验正确,则完成接收,若CRC校验错误,则通知总控制模块,返回空闲状态。对于控制帧和响应帧,无需其他处理即可完成接收。接收完成后接收模块会发送响应的信号通知总控制模块,此时接收模块清零相关寄存器的值并返回空闲状态。提供与外部模块接口的模块。细分下来,主要有如下几大功能。

图9 接收程序流程图Fig.9 Flowchart of receive program

(1)外部发送信号响应

除了对发送缓冲区写数据,总控制模块负责所有对外的输入接口,外部所有的发送需求全部通过总控制模块“翻译”给发送模块。

(2)对外输出信号发送

除了从接收缓冲区读数据,总控制模块负责所有对外输出接口,如发送是否完成、是否接收到远端的响应和是否超时等信息。

(3)超时重传

总控制模块内有超时计数器,一个数据帧发送时开始计数,正确接收到这个帧对应的响应帧时停止计数并清零,否则产生超时信号并重传这个帧。

(4)控制接收使能

接收模块接收数据时必须保证之前接收到接收缓冲区的数据已经被上位模块读取完毕,否则会导致错误。因此,总控制模块控制接收使能,在上位模块读取接收缓冲区数据时停止接收模块接收数据,读取完成后继续使能接收模块,即是起到了保护接收缓冲区的作用。

(5)优先级控制

总控制模块不可避免的会同时收到多个发送需求,可能是外部需求也可能是内部需求,总控制模块必须一个不落的响应它们并解决冲突,所以总控制模块需要给每一种发送需求定义优先级。在这里,总控制模块并不是立刻响应外部或者内部的发送需求,而是把它们放入发送等待区,只有在发送模块空闲时才去发送等待区响应优先级最高的发送需求。

本方案的逻辑层协议规定,发送方必须接收到接收方正确接收数据帧的响应,即完成一次成功通信的握手才能发送下一帧数据,这样的通信方式在满足数据传输速率的要求下,是最为简单稳定的。

4 测试结果

3.4.4 总控制模块设计

总控制模块是控制发送和接收模块合理工作并

由于是点对点通信,本方案自定义了上层逻辑以节省FPGA的逻辑资源,综合结果显示,在EP4CGX110中,带有三层协议的RapidIO的IP核占用8%的逻辑资源,而本方案占用逻辑资源仅为4%。

图10和图11为SignalTap软件在时钟频率125 MHz抓取的数据。图10所示为一个完整的发送过程,“txvalid”信号上升沿指示开始发送数据,发送数据按图7所示的帧结构组帧,同时和CRC数据时序相配合。图11所示为在接收到数据帧并且CRC校验正确后(“crcvalid”变高时“crcbad”为低)会发送一个对应的响应帧。

图10 发送时序图Fig.10 Diagram of send timing

图11 接收时序图Fig.11 Diagram of receive timing

为测试光纤通信系统的性能,两块光通信板通过200 m的光纤连接,两边同时循环发送1 kB的数据,超时时间设置为0x11FF(为正常通信最长时间的3倍),测试时间为24 h。结果显示两边超时均没有发生,说明此系统有较强的可靠性。

光纤通信系统实物如图12所示,通过接插件架在上位机板上与之连接,光纤通信协议是对上位机不可见的,上位机只需通过简单的接口即可读写光纤收发的数据。

图12 光纤通信系统照片Fig.12 Picture of the optical fiber communication system

5 结束语

本文实现的光纤通信系统已应用于电子不停车收费系统(Electronic Toll Collection,ETC)中,也可应用于其他要求大带宽、高可靠性、远距离数据传输的系统中,具有一定的普适性。本方案的优点是实现成本低,性能可靠,数据吞吐率达到1.25 Gb/s。如今的雷达与通信系统中,信号处理的数据量越来越大,所需的FPGA资源越来越多,本系统在保证数据传输稳定快速的同时,还能最大限度地降低FPGA的资源占用,为信号处理留出更多的资源。

今后的研究重点是组建基于RapidIO协议的光纤互连网络,通过交换设备实现一个星型的互连系统。在本文的基础上,还要加入传输层协议[4]和更加复杂的逻辑层协议。

[1]史为民,施春辉,柴小丽,等.基于FPGA的RapidIO-FC转接桥设计[J].计算机工程,2010,36(19):291-293. SHI Wei-min,SHI Chun-hui,CHAI Xiao-li,et al.Design of RapidIO-FC Switching Bridge Based on FPGA[J].Computer Engineering,2010,36(19):291-293.(in Chinese)

[2]施春辉,柴小丽,宋慰军,等.基于SoPC的前端RapidIO接口设计[J].计算机工程,2011,37(20):239-245. SHI Chun-hui,CHAI Xiao-li,SONG Wei-jun,et al.Design of Front RapidIO Interface Based on SoPC[J].Computer Engineering,2011,37(20):239-245.(in Chinese)

[3]Fuller S.RapidIO:嵌入式互联系统[M].王勇,林粤伟,吴冰冰,等,译.北京:电子工业出版社,2006. Fuller S.RapidIO:The Embedded System Interconnect[M]. Translated by WANG Yong,LIN Yue-wei,WU Bing-bing,et al.Beijing:Publishing House of Electronic Industry,2006.(in Chinese)

[4]ZHANG Yong,WANG Yong,ZHANG Ping.Research on physical layer traffic management schemes in serial RapidIO interconnect[J].Journal of China Universities of Posts and Telecommunication,2011(01):64-69.

LIU Guang-zu was born in Jinan,Shandong Province,in 1978.He is now a lecturer and currently working toward the Ph.D.degree.His research interests include communication signal processing and software defined radio.

Email:hilda2004@163.com

张强(1988—),男,江苏无锡人,2010年于南京理工大学获学士学位,现为南京理工大学硕士研究生,主要研究方向为通信与信息系统;

ZHANG Qiang was born in Wuxi,Jiangsu Province,in 1988. He received the B.S.degree from Nanjing University of Science and Technology in 2010.He is now a graduate student.His research interests include communication and information system.

仲雅莉(1987—),女,江苏徐州人,2010年于南京理工大学获学士学位,现为南京理工大学硕士研究生,主要研究方向为通信与信息系统。

ZHONG Ya-li was born in Xuzhou,Jiangsu Province,in 1987.She received the B.S.degree from Nanjing University of Science and Technology in 2010.She is now a graduate student.Her research interests include communication and information system.

Design and Implementation of a Fiber-optic Communication System Based on RapidIO Protocol

LIU Guang-zu,ZHANG Qiang,ZHONG Ya-li
(School of Electronic Engineering and Optoelectronic Technology,Nanjing University of Science and Technology,Nanjing 210014,China)

In order to meet the demands of high-speed data transmission in embedded systems,a fiber optic communication system solution is proposed based on RapidIO protocol.The conversion of the optical to electrical signals is executed by optical modules.The high-speed transceiver is employed to realize the physical layer protocol and Field-Programmable Gate Array(FPGA)is adopted to acheive the logic layer protocol.The test results demonstrate that the program is cost-effective and reliable.With the data throughput of 1.25 Gb/s,the proposed scheme has been successfully applied in an electronic toll collection(ETC)system.

fiber-optic communication;high-speed transceiver;embedded system;ETC

date:2012-11-09;Revised date:2013-03-14

❋❋通讯作者:hilda2004@163.comCorresponding author:hilda2004@163.com

TN929.11

A

1001-893X(2013)07-0840-05

刘光祖(1978—),男,山东济南人,讲师,博士研究生,主要研究方向为通信信号处理、软件无线电;

10.3969/j.issn.1001-893x.2013.07.003

2012-11-09;

2013-03-14

猜你喜欢
收发器时序校验
时序坐标
清管球收发器设计细节分析及应用
基于Sentinel-2时序NDVI的麦冬识别研究
炉温均匀性校验在铸锻企业的应用
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
一种毫米波放大器时序直流电源的设计
电子制作(2016年15期)2017-01-15 13:39:08
大型电动机高阻抗差动保护稳定校验研究
电测与仪表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校验方法
锅炉安全阀在线校验不确定度评定
DPBUS时序及其设定方法
河南科技(2014年15期)2014-02-27 14:12:36