一种基于fpga的误码测试系统的制作方法

文档序号:7619125阅读:269来源:国知局
专利名称:一种基于fpga的误码测试系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种基于FPGA的误码测试系统。

背景技术
在信息高速发展的今天,通信无疑已经成为人们生活中不可缺少的部分。尤其是 数字通信,它以抗干扰能力强,高质量的远距离传输,以及便于与计算机连接,易于加密等 优点已经成为现代信息传输的重要手段,而且随着大规模集成电路的广泛应用,使得数字 通信得到了突飞猛进的发展。其传输的可靠性则显得尤为重要。与此同时,由于集成电路 的发展,FPGA也得到了飞速发展,应用范围越来越广,但由于整体成本还是比较高,FPGA主 要应用于航天航空,仪器制造,通信等高端领域。由于集成电路工艺的进步和提高,60nm, 40nm,甚至28nm工艺已经成熟的运用在FPGA制造上。而要把信源从发送端传输到接收端, 比如远距离传输中,可能是位于地球的另外一端,或者卫星信号,实现可靠传输,传输中的 误码率即成了衡量数字通信系统的重要指标。所谓误码率是指在传输过程中发生误码的概 率,实际工程中的计算方法是取一段足够长的传输时间,求这段时间内接收码元中误码的 个数与接收的总码元个数之比。误码率的大小由通路的系统特性和信道质量决定,要定量 了解系统的运行质量,就需要对其误码率进行测量。现有技术中常见序列同步方法有滑动 相关法,序列相关法和SAW器件捕捉法等。但是这些方法都存在实现结构复杂,同步时间 长等缺点。

发明内容
本发明的目的就在于提供一种基于FPGA的误码测试方法,该方法能灵活、快速的 对数字通信过程中的误码进行测试。为了实现上述目的,本发明采用的技术方案是这样的一种基于FPGA的误码测试 系统,所述系统包括包括码元序列同步模块、误码计数器、用户码产生模块和PRBS模块;其中码元序列同步模块用于实现接收码元与本地码元的同步;其中误码计数器用 于统计某个时间段的码元错误数;用户码产生模块用于产生用于自定义码;PRBS模块产生 PRBS码元。根据本发明的实施例,该系统还包括误码插入模块,用于发送端向数据中插入误码。根据本发明的实施例,FPGA和上位计算机之间的通行通过MCU通信。根据本发明的实施例,所述PRBS模块包括两个PRBS码生成器,其中一个用于产生 发射的码流,另外一个PRBS码生成器用于产生与接收到得码流比较的PRBS码源序列。根据本发明的实施例,所述PRBS码生成器采用64路并行,相位逐位差1个相位的 并行的PRBS序列,生成相位固定的64路的PRBS码。根据本发明的实施例,所述PRBS码生成器产生PRBS序列符合PRBS发生方程式。
根据本发明的实施例,所述PRBS码生成器产生的是m序列,m从3到31。
根据本发明的实施例,所述用户码产生模块用于产生用户定义码,用户自定义数 据最大长度为512bit,最小长度为4bit。根据本发明的实施例,在接收到测试数据以后,通过码元序列同步模块来实现接 收码元与本地码元的同步。根据本发明的实施例,所述码元序列同步模块同步PRBS序列过程包括同步捕获状态机发出PRBS序列装载脉冲,把接收到的PRBS码元序列做为种子装 载到本地的PRBS码生成器中;本地的PRBS码并行电路就会产生与接收到得PRBS码镜像的码元,镜像码元和接 收码元在相位上会相差若干个时钟,把收端码元采用延时电路,使得接收的PRBS和本地的 新产生PRBS码元时钟上同步。根据本发明的实施例,所述码元序列同步模块同步PRBS序列过程通过延时实现 延时后的接收的PRBS码和本地产生的PRBS码送到比较器中取异或,然后发出开始统计误 码个数脉冲,延时一定时间后,及等待数个接收时钟之后,此时及接收到总码元数等于时钟 数乘上并行的路数,同时读取统计的误码个数,如果误码率大于设定的最大的误码或者是 门值,则重新发出同步装载脉冲,直到误码率小于给定的门值为止。根据本发明的实施例,所述误码计数器包括一路信号对时钟计数,一路信号对误 码一个时钟下的误码总数计数,误码计算分为总码元计算和误码数计算,误码率等于累加 的误码数/(时钟*并行路数)。作为本发明的优选,所述误码插入模块在发送端的64路并行数据中最末一位固 定与1异或。作为本发明的优选,MCU和FPGA之间的连接方式通过虚拟并口 EPP、RS串口或IIC 模式。作为本发明的优选,所述PRBS码时钟为在155MHz 185MHz。根据本发明的实施例可以理解,所述误码测试系统包括环回功能启动PRBS码电 路后,会同时产生并行的64路得PRBS码,经过发送电路,转换成16的并行数据流发送到外 部的高速的^rDes并串转换芯片,经过krDes转换成一路高速的数据信号连续地发送;发 送到外部的数据,经过外部电路或者光路,转换成高速的电信号环回,环回信号作为测试数 据。与现有技术相比,本发明的优点在于1、本发明运用FPGA内部可以运行的时钟、乘法器单元、集成了串行收发器,以及 灵活的可配置I/O 口,兼容广泛的电路接口标准,数量大的IO引脚,内部丰富的逻辑单元, 大容量的存储单元,使得在FPGA内部可以进行复杂的逻辑运算和高速的串行通信和方面 的外部连接,以前需要多块集成电路完成的工作,都能集中在一个FPGA内部完成。这样提 高了设计的灵活性,项目设计的修改可以不需要重先去设计电路板,布线,花费很多周期。2、本发明的误码测试方法运用FPGA的集成和灵活性,提升了对传统电路、仪器、 通信协议设计的理念,能运用在生产线和研发中作为误码测试的仪器的主控芯片。


图1为本发明FPGA功能款图2为本发明的的PRBS序列发生原理图;图3为本发明的用户自定义码产生电路图;图4为本发明的的PRBS序列同步捕获方案图;图5为本发明的的PRBS序列同步状态转移图;图6为本发明的中误码统计电路;图7为本发明的误码0和误码1的统计电路。
具体实施方式
下面将结合附图和具体实施对本发明作进一步说明;参见图1所示的FPGA误码测试功能框图。包括SFI-41接收接口、码元序列同步 模块、误码计数器、用户码产生模块、PRBS模块、误码插入模块和SPF-41发射接口。其中码元序列同步模块用于实现接收码元与本地码元的同步;其中误码计数器用 于统计某个时间段的码元错误数;用户码产生模块用于产生用于自定义码;PRBS模块产生 PRBS码元;误码插入模块用于发送端向数据中插入误码。基于图1所示的FPGA的误码测试方法,高速数据在进入FPGA之前先进行串并转 换,串并转换由外部的高速收发芯片完成,FPGA和高速IC的接口为SFP-41,FPGA作为逻辑 电路内核,首先产生并行的多路数据,在数据发送出去的时候,把FPGA产生的并行数据经 过并串转换,从SFP-4. 1接口和外部IC连接。发送到外面的数据为高速的二进制数据,即 “0”,“ 1”组成的数据流,而这二进制数据正是信息在计算机中存储的方式,通信的作用就是 要完成信息的交换和共享,所以就要把这二进制数据完成发送和接收,这部分数据通信网 中的数据链路层的功能。而本发明的测试仪器并不直接发送实际的信息,采用通用的标准, 发送M序列,根据统计和计算,在M序列中的发送和接收中0和1的数量相等;或者个别根 于测试的需求发送用户自行定义的一串由0和1组成的码元序列。用M序列,或者用户定 义序列,作为误码测试中的发送和接收数据,去完成误码测试的评估。发送到外部的高速 的收发芯片。在误码测试中多路数据采用PRBS码或用户自定义码,所述用户自定于码序 列长度最长为512比特;在时钟和并行电路的控制下,通过PRBS发生器产生与接收端同相 位的PRBS码;再经过同步判断,实现码元同步;然后进行误码统计,并将误码的计算值传到 MCU 上。参见图1所示的FPGA误码测试功能框图包括发送部分SFI-4. 1发送接口、接收 部分SFP-4. 1接收接口、误码插入部分、PRBS码或者用户码产生电路、误码计数电路和码元 同步电路。上电后MCU完成外部芯片的初始化并配置速率和串并转换的通道数,然后通过 FPGA的初始化来完成速率和码型的设置。启动PRBS码电路后,在时钟的节拍下,会同时产 生并行的64路得PRBS码,经过SFP-4. 1发送电路,转换成16的并行数据流发送到外部的 高速的SerDes并串转换芯片,经过SerDes转换成一路IOG的数据信号连续地发送。发送 的时候可以在发送数据中插入1比特的误码,这部分电路在误码插入电路中完成。发送到 外部的数据,经过外部电路或者光路,转换成高速的电信号环回,环回信号可以作为测试数 据,需要说明的是,采用环回信号方式是误码测试的方法,去评估通信接收装置和发送装置 的通信指标。如果只使用发端功能,发端的IOG的电信号仅作为数据源的,可以用做评估通 信发送装置眼图的信号源。测试数据由FPGA外部的SerDes芯片完成串并转换,把IOG的高速数据信号转换成16路,FPGA通过SFP-4. 1接口收到16路的并行数据和随路时钟。16 路的数据经过SFP-4. 1接口和FPGA内部的解串器,转化成64路的并行数据,在每个接收时 钟均接收到64位的码元序列。同步电路将接收的码元序列和本地的码元序列进行同步。同 步后的接收码元序列和本地码元序列进行一对一的比特的比对,就可以得到误码计数,这 部分在误码计数器中完成。最后再由MCU把误码率传给上位机,及完成了误码测试。整个 系统的控制均是通过上位机发出命令去操作MCU,MCU接收指令通过虚拟并访问FPGA和操 作。在FPGA内部直接实现10(ihZ的电路目前是不可能的。只能采取并行实现的方法, 并行的位数越多,则要求的频率越低,但是电路越复杂。目前在FPGA内部是以64路并行地 实现m序列,并且要求工作在185MHz,这是FPGA设计和布局布线的一大难点。PRBS码由PRBS码生成器发出,所述PRBS码生成器设计了两个,其中一个用于产生 发射的码流,另外一个PRBS码生成器用于产生与接收到得码流比较的PRBS码源序列。两 个PRBS码生成器的原理一样,本案中都采用64路并行,两个PRBS码发生器所产生的码元 的相位不同,码元每滞后一个时钟称为码元相位滞后一位。码元相位取决于PRBS码生成寄 存器的初始值,这个初始值,即种子码,种子码相差一个相位,使生成的码元相差一个相位。高速误码测试中,PRBS码生成型必须采用并行电路,同时生成相位固定的64路的 PRBS码。64路PRBS发生器在每个时钟都产生一位。在一个时钟下,组成64路的PRBS码 并行数据,这64路PRBS码依次按照固定的连续的相位产生,也就是说这64路同时产生的 PRBS码的顺序,和一路PRBS码在64个时钟下产生的码元序列要一致,否则就不是完整的 PRBS码。通过这种方式,实现了并行的相位逐位差1个相位的并行的PRBS序列。PRBS的产生符合必须PRBS发生方程式,其需要产生155MHz,64路的m序列并行数 据,目前可作的m序列从3到31。在FPGA内部,先将各个m序列单独实现,每个m序列都是 彼此独立的单元,一个时钟周期都会同时产生64路得并行数据。各个m序列产生的64路 的并行数据,最后通过一个多路选择器选择需要发送的m序列。生成PRBS码必须符合如下的方程式,如下表1为典型的PRBS码产生方程式
权利要求
1.一种基于FPGA的误码测试系统,其特征在于,所述系统包括包括码元序列同步模 块、误码计数器、用户码产生模块和PRBS模块;其中码元序列同步模块用于实现接收码元与本地码元的同步;其中误码计数器用于统 计某个时间段的码元错误数;用户码产生模块用于产生用于自定义码;PRBS模块产生PRBS 码元。
2.如权利要求1所述的误码测试系统,其特征在于,该系统还包括误码插入模块,用于 发送端向数据中插入误码。
3.如权利要求2所述的误码测试系统,其特征在于,FPGA和上位计算机之间的通行通 过MCU通信。
4.如权利要求1至3之一所述的误码测试系统,其特征在于,所述PRBS模块包括两个 PRBS码生成器,其中一个用于产生发射的码流,另外一个PRBS码生成器用于产生与接收到 得码流比较的PRBS码源序列。
5.如权利要求4所述的误码测试系统,其特征在于,所述PRBS码生成器采用64路并 行,相位逐位差1个相位的并行的PRBS序列,生成相位固定的64路的PRBS码。
6.如权利要求5所述的误码测试系统,其特征在于,所述PRBS码生成器产生PRBS序列 符合PRBS发生方程式。
7.如权利要求6所述的误码测试系统,其特征在于,所述PRBS码生成器产生的是m序 列,m从3到31。
8.如权利要求1所述的误码测试系统,其特征在于,所述用户码产生模块用于产生用 户定义码,用户自定义数据最大长度为512bit,最小长度为4bit。
9.如权利要求1至8所述的误码测试系统,其特征在于,在接收到测试数据以后,通过 码元序列同步模块来实现接收码元与本地码元的同步。
10.如权利要求9所述的误码测试系统,其特征在于,所述码元序列同步模块同步PRBS 序列过程包括同步捕获状态机发出PRBS序列装载脉冲,把接收到的PRBS码元序列做为种子装载到 本地的PRBS码生成器中;本地的PRBS码并行电路就会产生与接收到得PRBS码镜像的码元,镜像码元和接收码 元在相位上会相差几个时钟,把收端码元采用延时电路,使得接收的PRBS和本地的新产生 PRBS码元时钟上同步。
11.如权利要求10所述的误码测试系统,其特征在于,所述码元序列同步模块同步 PRBS序列过程通过延时实现延时后的接收的PRBS码和本地产生的PRBS码送到比较器中 取异或,然后发出开始统计误码个数脉冲,延时一定时间后,读取统计的误码个数,如果误 码率大于设定的最大的误码或者是门值,则重新发出同步装载脉冲,直到误码率小于给定 的门值为止。
12.如权利要求9所述的误码测试系统,其特征在于,所述误码计数器包括一路信号 对时钟计数,一路信号对误码一个时钟下的误码总数计数,误码计算分为总码元计算和误 码数计算,误码率等于累加的误码数/(时钟*并行路数)。
13.如权利要求9所述的误码测试系统,其特征在于,所述误码插入模块在发送端的64 路并行数据中最末一位固定与1异或。
14.如权利要求1至12之一所述的误码测试系统,其特征在于,MCU和FPGA之间的连 接方式通过虚拟并口 EPP、RS串口或IIC模式。
15.如权利要求13所述的误码测试系统,其特征在于,所述PRBS码时钟为在155MHz 185MHz。
16.如权利要求1至13之一所述的误码测试系统,其特征在于,所述误码测试系统包括 环回功能启动PRBS码电路后,会同时产生并行的64路得PRBS码,经过发送电路,转换成 16的并行数据流发送到外部的高速的SerDes并串转换芯片,经过SerDes转换成一路高速 的数据信号连续地发送;发送到外部的数据,经过外部电路或者光路,转换成高速的电信号 环回,环回信号作为测试数据。
全文摘要
本发明公开了一种基于FPGA的误码测试系统,所述系统包括码元序列同步模块、误码计数器、用户码产生模块和PRBS模块;其中码元序列同步模块用于实现接收码元与本地码元的同步;其中误码计数器用于统计某个时间段的码元错误数;用户码产生模块用于产生用于自定义码;PRBS模块产生PRBS码元。本发明的误码测试系统运用FPGA的集成和灵活性,提升了对传统电路、仪器、通信协议设计的理念,能运用在生产线和研发中作为误码测试的仪器的主控芯片。
文档编号H04L12/26GK102143023SQ201110072260
公开日2011年8月3日 申请日期2011年3月24日 优先权日2011年3月24日
发明者向刚, 朱富 申请人:索尔思光电(成都)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1