误码剖析仪作为数字通讯体系检验、保护和毛病查询的抱负东西,广泛应用于同轴电缆、光纤、卫星及局间中继等契合CEPT(European Confence of Postal and Telecommunications AdministraTIons)数字系列通讯体系传输质量的监测。点评一个通讯体系的可靠性的方针便是检测该通讯体系在数据传输过程中误码率的巨细,本文规划的高速信号误码测验仪,用于对EPON中接纳和发送突发光信号的接纳模块的可靠性进行检测。现在误码剖析仪的作业形式已发展到如下4种:剖析仪形式、发生器形式、剖析仪/发生器形式、直通形式。本规划中的误码测验仪归于第3种类型,即该误码测验仪能够发生测验的码流,又能够进行误码测验。
误码测验仪主要由发送模块,接纳模块,显现模块,操控模块等几个模块组成,体系硬件结构框图如图1所示。其间发送、接纳模块在FPGA中完结,操控模块由单片机完结,显现模块由单片机驱动,这样使得规划的误码剖析仪具有体积轻盈,接口丰厚,简略易用,本钱低价,内核可晋级等特色。
1 依据FPGA的误码测验仪的规划
FPGA在该规划中完结了误码测验仪的中心功用,FPGA规划运用的是自顶向下模块化的规划办法。依据FPGA规划的模块包含:SY87739L频率计的操控模块、SY87700时钟提取操控模块、计数模块、伪随机序列发送模块、数据接纳模块、与单片机的通讯模块。
1.1 频率组成芯片SY87739L的操控模块
在规划中SY87739L组成的频率用于伪随机序列组成的同步时钟,因为该误码测验仪能够测验的频率有32 Mb/s、64 Mb/s、122 Mb/ s、155 Mb/s 4种。所以该芯片要依据设置的参数组成相应的频率。详细组成哪一个,由FPGA来完结对SY87739L的操控。
SY87739L(规程式通明3.3 V 10~729 MHz分数N组成器)是一个频率组成芯片。按照一参阅频率源,它能够组成10~729 MHz规模内的差分频率。此外它能够精确地为规范的传输协议组成相应的参阅频率。SY87739L组成的频率是由一个32位的串行输入的编程数据决议。PROGCS为高电平时,编程数据才会被SY87739L接纳。若用户需求改动编程数据取得一个新的频率时,应先将PROGCS设置为高电平,延时一段时间(待32 bit编程数据被SY87739L接纳)后在回落到低电平。既在PROGCS的下降沿时,SY87739L会由前一时段接纳到32 bit编程数据决议组成新的频率。详细步骤如下:1)确认编程数据的值;2)设置PROGCS为高电平;3)串行输入32 bit编程数据(由PROGDI管脚输入),一起在PROGSK端输入时钟信号;4)设置PROGCS为低电平;5)等候LOCKED跳为高电平。
依据SY87739L的作业原理,能够用硬件言语编写出SY87739L的操控代码,图2是由Verilog代码用Synplify Pro8.1归纳出的图元。
该模块操控SY87739L组成32 M频率功用仿真成果(由ModelSim SE6.1仿真)如图3所示。
测验文件中给DATA-I赋值为00000001,能够调查出prog_di串行输出的编程数据为0000_01100_01101_0100_000_10001_101_101;prog_cs在prog_di有用编程数据输出为高电平,待编程数据输出完毕后回落到低电平:PROGSK输出SY87739L的编程时钟。经剖析能够看出SY87739L操控模块能够完结料想的功用。
1.2 时钟提取芯片SY87700V的操控模块
SY87700V对FPGA接纳的数据进行时钟提取和数据康复。将康复的数据与接纳端发生的本地伪随机序列进行比照,完结误码检测,两数据流比照时以提取的时钟为同步时钟。SY87700V在提取数据前要预知提取的频率的规模,此频率规模由FPGA发送给SY87700V。SY87700V的参阅时钟是否进行分频,也要依据设置的参数由FPGA操控。此外该模块还要完结FPGA读取SY87700V的功用,以确认SY87700V是否完结时钟提取及数据康复。依据SY87700V的作业原理,能够用硬件言语Verilog编写程序在FPGA完结操控SY87700V的模块,图4是由代码归纳出的图元。
由FPGA操控SY87700V从122M数据提取时钟和康复数据的功用仿真的成果波形图(用Modelsim仿真)如下图5所示。
测验文件中给data_i赋值为000011111,能够调查出FREQUSEL1输出值1,FREQUSEL2输出值为0,FREQUSEL3输出值为1,DIVSEL1输出值为0,DIVSEL2输出值为1。CLKSEL输出高电平(这一信号能够操控SY87700V完结提取的输入数据时钟的功用)。CD也输出高电平(使SY87700V能正常的进行数据康复和时钟提取)。从图中能够看出SY87700V操控模块输出的信号能够操控SY87700V完结对122M数据的时钟提取和数据康复,完结料想的逻辑功用。
1.3 计数模块
计数模块是用来核算总的码数和误码数以及误码块数的,该计数器是一个同步复位计数器。由verilog HDL代码归纳出的图元如图6所示。
该计数模块最大的计数值达252,用Modelsim仿真软件对计数模块进行功用仿真的成果如图7所示:
在测验文件中,c_i赋值为一个脉冲流,在cnt_o输出的计数成果是正确的。能够判别出该模块的功用的正确性。
1.4 伪随机序列发送模块
伪随机序列发送模块的使命是以SY87739L组成的频率为时钟发生伪随机序列并串行输出伪随机序列。该模块能够发生三种级数的伪随机序列,生成的伪随机序列串行输出。详细组成那一级数决议于washbone模块(FPGA与单片机的通讯操控模块)输出的操控信号:P09T-en(组成9级m序列使能信号)、P15T-en(组成15级m序列使能信号)、P23T-en(组成23级m序列使能信号)。三个信号中哪个为高电平就组成相应级数的伪随机序列。由Verilog HDL代码归纳出的图元如图8所示。
功用仿真成果(组成23级伪随机序列)如图9所示。
在测验文件中赋给该模块的输入信号相应的值,使其完结组成23级伪随机序列的功用。在上图中,ser_o串行输出23级的m序列,能够判别该模块能够成功的组成m序列完结误码测验仪发送端的功用。
1.5 数据接纳模块
FPGA中的接纳模块完结的功用有:1)m序列发生,2)是误码检测。前者的逻辑功用与发送端模块相相似,其作用是发生一个与发端码形相同而且比特对齐的本地m序列;后者的作用是将收到的数据与本地m序列相比较,检测是否有误码,若有误码则输出一个误码脉冲给计数模块进行计算。该模块能够接纳三种级数的伪随机序列,由Verilog程序归纳出的图元如图10所示。
发送的测验码为周期是29-1的m序列时,数据接纳模块的仿真波形如图11所示。
在仿真文件中对该模块输入端口ser_i赋值一个码流,当赋值码流与本地伪随机序列同步的(同频同相),数据接纳模块每比对一bit码,就在sum_o端口输出一高电平,若比对时有误码,则prt_o端口输出一高电平。在上图中,PRBS_r是本地组成的伪随机序列,能够看出该模块能够完结了m序列的发生和误码的检测和计算功用。
1.6 FPGA与单片机通讯的操控模块
FPGA与单片机的通讯操控模块(washbone moudle)完结的功用有:1)操控FPGA发送数据(总码数、误码数、误码块数)到数据线上;2)操控FPGA接纳单片机发送到数据线上的操控数据。FPGA与单片机的通讯操控模块将FPGA接纳到的操控信息发生操控其他模块的信号,这些操控信号包含SY87739L频率组成的使能信号,SY87700V操控模块的使能信号,计数器复位信号,伪随机码的级数、速率、发送接纳接口的操控信号等。由源程序归纳出的图元如图12所示。
当SY87700V提取的数据频率为30.72 MHz时,SY87700V的参阅频率为3.84 MHz。图13为FPGA与单片机的通讯操控模块的功用仿真成果。该仿真是对washbone模块中操控FPGA接纳单片机操控数据这一功用的仿真。在测验文件中RAM_data FPGA与单片机的通讯数据信号赋值为0001010(操控该模块发生P09T_en、mb_OO_en、mb_OI_en为高电平的信号);exchange赋值高电平,既FPGA将数据(总码数,误码数,误码块数)存入FPGA的内部存储单元;FPGA GSn=0.WRn=1既FPGA读取数据线上的数据,并存入内部寄存器memory中。在该模块的输出管脚中:P09T _en、mb_OO_en、mb_OI_en输出为高电平,既操控伪随机发送模块组成9级m序列,发送、接纳的端口类型都为光接口类型。从下列仿真图中能够判别该模块能够完结要求的逻辑功用。
2 各模块综组成果
2.1 归纳陈述
归纳优化(SynTIlesize)是指将HDL言语、原理图等规划输入翻译成由与、或、非门,RAM,寄存器等根本逻辑单元组成的逻辑衔接(网表),并依据方针与要求(束缚条件)优化所生成的逻辑衔接,输出edf和edn等文件,供FPGA厂家的布局布线器进行完结。
在本规划中运用归纳东西Synplify Pro8.1进行归纳,该归纳东西归纳出的成果占用面积小、作业频率高,归纳速度快。现在FPGA技能中最盛行的高效归纳东西之一。FPGA中各模块经过归纳东西Synplify Pro8.1归纳。在归纳前,在时序束缚文件中将分频系数为100分频的分频器时钟束缚为10.0MHz;接纳模块中组成m序列的同步时钟CDR00TKP束缚为125.0 MHz;CDRK输入的是7.68 MHz的晶体振荡器发生的时钟,FPGA依据组成m序列的速率,判别CDRK是否进行二分频,FPGA将处理后的CDRK作为提取时钟芯片的参阅时钟。该时钟束缚为7.68 MHz;
DDS39REFCLK是时钟组成模块的参阅时钟,该时钟束缚为30MHz:DDS39TKP输入的是时钟组成芯片SY87739L的组成时钟,该时钟用于发送模块发生m序列的同步时钟,DDS39TKP束缚为95 MHz。
从归纳陈述中能够看出归纳后各个时钟的综组成果都超出了束缚的频率,满意时序的要求。此外还能够从陈述中得到FPGA中的资源运用状况:运用59个I/O原语资源,运用了0个I/O寄存器.运用了775个非I/O寄存器占FPGA总资源的50%,运用的总逻辑资源为1 253个查找表,占总资源的81%。
2.2 RTL(寄存器级)视图
RTL视图是由与、或、非门,RAM,寄存器等根本逻辑单元组成逻辑衔接图,从中能够形象的得到FPGA中各模块的衔接状况,并能判别硬件描绘言语编写出来的体系在逻辑上是否正确。图14是由Synplify归纳出的RTL视图。
剖析上图中各模块的衔接状况能够判别出由Verilog编写出的程序在各模块的逻辑衔接规划上是正确的,可将归纳后的edf文件输送给Xinlinx布局布线器完结。
3 完毕语
本文研讨的内容是一种用于高速通讯体系中的误码测验仪。该高速信号误码测验仪是依据FPGA(现场可编程门阵列)为中心规划而成,适用于断线误码检测。误码测验仪在发送端发送m序列作为测验数据,其测验速率最高可到达155Mbps。关于高速数字电路迅速发展的今日,此误码测验仪的测验速率还可进一步进步,可是一旦进步了误码测验仪的作业速率,就无法逃避高速数字电路中信号完整性,电磁搅扰等高速数字电路规划中要注意的问题。因为运用FPGA完结误码测验仪的中心功用,该体系具有能够晋级的特色。
规划中软件部分选用的是Verilog硬件言语编写程序,软件开发环境运用的是Xflinx公司的EDA集成开发东西ISE8.1,仿真东西ModelSim SE 6.1b,归纳东西SynplifyPro8.1等几款软件。硬件完结选用的是Xilinx的SPARTANHE系列中的XC2S50E渠道级FPGA为中心功用芯片。在FP GA中完结误码测验仪的发送部分、接纳部分及误码量计算模块的规划。辅以时钟组成芯片Micrel SY87739L、时钟提取芯片Micrel SY87700V及单片机(C8051F010)的操控,整个体系的体积较小,本钱也较低。