一种基于FPGA的光纤数字同步接口系统的制作方法

文档序号:11147199阅读:694来源:国知局
一种基于FPGA的光纤数字同步接口系统的制造方法与工艺

本发明属于电力系统继电保护领域,具体涉及一种基于FPGA的光纤数字同步接口系统。



背景技术:

随着光纤数字通信技术的日益发展及其在电力系统中的逐步应用,光纤纵联差动保护以其原理简单、性能可靠等优点在输电线路中逐步得到广泛的应用,电力系统光纤的普及,使得光纤纵联差动保护用得也越来越多,光纤差动保护要求光纤传输的数据必须准确、高效、实时,因此光纤数字同步接口的设计非常关键。传统的保护同步接口电路设计是采用许多相关的芯片堆砌电路,例如SCC+分离元件、SCC+CPLD+PLL或者SCC+FPGA,这样不但降低了通信的可靠性,而且也难以灵活满足保护系统的要求。



技术实现要素:

本发明要解决的技术问题在于提供一种基于FPGA的光纤数字同步接口系统,该系统针对同步接口电路的不足,设计出符合要求的光纤数字同步接口系统,从而实现两侧装置的光纤通信,完成继电保护纵联差动保护。

为了解决上述技术问题,本发明通过以下方式来实现:

一种基于FPGA的光纤数字同步接口系统,包括至少两个继电保护装置以及其相互连接的光纤,所述继电保护装置包括微处理器、FPGA控制器和用于光电信号转化的光收发模块,所述FPGA控制器包括HDLC(高级数据链路控制)帧协议收发器和采用CMI码的物理层光纤通讯线路,所述HDLC帧协议收发器由发送控制模块和接收控制模块组成,微处理器通过总线方式与FPGA控制器中的HDLC通讯连接,HDLC与CMI连通进而与光收发模块相连。

进一步的,所述发送控制模块包括发送控制接口模块、发送同步模块、CRC校验生成模块、发送FIFO缓存模块、插零和并串转换模块以及插标志位模块,所述发送控制接口模块一端与微处理器总线接口连接,另一端分别与送同步模块、CRC校验生成模块和发送FIFO缓存模块相连后,再与插零和并串转换模块连接,所述插零和并串转换模块后连接有插标志位模块,串行好的HDLC帧通过帧发送器到采用CMI码的物理层进行CMI编码。

进一步的,所述接收控制模块包括接收控制接口模块、接收同步模块、CRC校验验证模块、接收FIFO缓存模块、删零和串并转换模块以及去标志位模块,采用CMI码的物理层进行CMI解码后的数据传输给去标志位模块,所述去标志位模块与删零和串并转换模块相连,删零和串并转换模块分别接收同步模块、CRC校验验证模块和接收FIFO缓存模块相连后,再与接收控制接口模块连接,接收控制接口模块最后与微处理器总线接口相连。

优选的,所述CMI编码电路包括0信号编码电路、1信号编码电路、时序控制模块和编码控制输出模块,NRZ码输入到CMI编码电路后,分为0信号编码电路和1信号编码电路,0信号编码电路和1信号编码电路分别与时序控制模块相连并由其控制,0信号编码电路、1信号编码电路和时序控制模块都与编码控制输出模块相连,并经过编码控制输出模块后输出CMI码。

优选的,所述CMI解码电路包括同步时钟提取电路、误码检测电路、码流控制电路和解码判决电路,所述同步时钟提取电路分别与误码检测电路、码流控制电路和解码判决电路相连,误码检测电路和解码判决电路分别与码流控制电路相连并由其控制,高精度时钟和CMI码输入到同步时钟提取电路后,经过误码检测电路、码流控制电路和解码判决电路后,从误码检测电路输出误码标志以及从解码判决电路输出NRZ码。

与现有技术相比,本发明具有的有益效果:

(1)硬件成本低,节省印制板空间

该接口系统省去了传统采用SCC芯片来实现HDLC协议功能,本发明采用FPGA实现HDLC协议和CMI编码解码,硬件简洁,减小电磁兼容的影响。

(2)通信可靠性高

该系统采用串行通信技术、对接收的信号自动提取时钟、不易产生误码,并且物理层、数据链路层、应用层均具有校验功能。

(3)通信实时性好

该系统采用纯FPGA实现光纤数字同步接口,相比堆砌电路,减少了通信电路上的延时,在光纤纵联差动保护中采样同步算法的精度上具有重要意义。

(4)使用灵活、维护方便

该接口采用纯FPGA硬件实现,微处理器只需通过读写总线的方式就可完成光纤同步数字接口的通信。

附图说明

图1本发明系统的结构框图;

图2本发明HDLC帧协议收发器的结构框图;

图3本发明HDLC中发送控制模块示意图;

图4本发明HDLC中接收控制模块示意图;

图5本发明CMI编码电路示意图;

图6本发明CMI解码电路示意图;

图7本发明同步时钟提取电路示意图。

具体实施方式

下面结合附图和具体实施例对本发明的具体实施方式作进一步详细的说明。

如图1~2所示,一种基于FPGA的光纤数字同步接口系统,包括至少两个继电保护装置以及其相互连接的光纤,所述继电保护装置包括微处理器、FPGA控制器和用于光电信号转化的光收发模块,所述FPGA控制器包括HDLC帧协议收发器和采用CMI码的物理层光纤通讯线路,所述HDLC帧协议收发器由发送控制模块和接收控制模块组成,微处理器通过总线方式与FPGA控制器中的HDLC通讯连接,HDLC与CMI连通进而与光收发模块相连。

当串行的HDLC帧组好后,通过帧发送器经物理层CMI编码后传输至光收发模块芯片并传出;而接收到的串行HDLC帧,也是由光收发模块上传,经物理层CMI解码后至HDLC接收控制器。HDLC帧收发器各功能模块的连接是通过寄存器的配置实现的,从而组成了整体的HDLC帧收发功能。

如图3所示,HDLC中的发送控制模块包括发送控制接口模块、发送同步模块、CRC校验生成模块、发送FIFO缓存模块、插零和并串转换模块以及插标志位模块,所述发送控制接口模块一端与微处理器总线接口连接,另一端分别与送同步模块、CRC校验生成模块和发送FIFO缓存模块相连后,再与插零和并串转换模块连接,所述插零和并串转换模块后连接有插标志位模块,串行好的HDLC帧通过帧发送器到采用CMI码的物理层进行编码。

(1)发送同步模块

由于系统时钟和串行发送时钟的频率相差很大,发送同步模块负责控制系统时钟和串行发送时钟的同步。

(2)CRC校验生成模块

误码率是通信系统设计关注的指标,在传输的数据要插入一定的校验信息,根据HDLC的要求,数据发送时对当前帧的所有数据进行CRC多项式计算,把结果附加到数据后随数据一起发送,CRC校验生成模块采用CCITT标准的CRC-16算法,其多项式为x16+x12+x5+1。

(3)发送FIFO缓存模块

主时钟和发送时钟的频率相差较大,帧发送器设计了FIFO,有效协调两者的频率差带来的同步问题。

(4)插零和并串转换模块

为了保证数据链路的透明传输(即可以传输任意组合的比特率),HDLC处理器在发送端对传输数据进行“0”比特填充。因为帧头和帧尾为“01111110”,因此当帧连续传输了5个“1”比特后,插入一个“0”比特,可避免与标志位相同。

异步置位,时钟上升沿到来时利用移位寄存器,进行8比特数据的并串转换,对连续的5比特数据求与运算,5个“1”比特之后,插入一个“0”比特,此时以为寄存器暂停移位。

(5)标志位生成模块

标志位生成模块对待发送的数据进行帧头尾的添加,如果控制信号帧信号为高电平,且控制信号终止帧为低电平,表明有数据发送或者数据发送完毕,需要增加帧头和帧尾。

如图4所示,HDLC中的接收控制模块包括接收控制接口模块、接收同步模块、CRC校验验证模块、接收FIFO缓存模块、删零和串并转换模块以及去标志位模块,采用CMI码的物理层进行解码后的数据传输给去标志位模块,所述去标志位模块与删零和串并转换模块相连,删零和串并转换模块分别接收同步模块、CRC校验验证模块和接收FIFO缓存模块相连后,再与接收控制接口模块连接,接收控制接口模块最后与微处理器总线接口相连。

(1)CRC校验验证模块

采取的CRC-16与发送模块的CRC-16算法相同,把接收到的数据进行CRC-16计算,其结果与接收到的CRC-16相比较,如果相同则帧校验错误标志为低,否则帧校验错误标志为高。

(2)接收FIFO缓冲模块

接收缓冲模块与发送缓冲模块功能类似,帧发送器设计了FIFO,有效协调两者的频率差带来的同步问题,其主要不同就是数据流方向相反。

(3)删零和串并转换模块

模块中对比特流中的连续“1”比特进行计数,然后用于删零判断、检测帧结束标志和检测帧中断标志的功能。

计数器和下一比特在不同值组合下所对应的含义如下:

①当计数器的值为6,且下一接收比特为“0”,表明检测到帧结束标志;

②当计数其的值为5,且下一接收比特为“0”,表明比特“0”应该删去;

③当计数器的值为6,且下一接收比特为“1”,表明检测到中断标志。

(4)去标志位模块

其功能主要是检测发送的帧头,确定起始边界。串行数据RX存入8位寄存器ShifReg中,进行移位操作,同时进行帧头的判别式如下:FlagDetect为not ShiftReg(0)and ShiftReg(1)and ShiftReg(2)and ShiftReg(3)and ShiftReg(4)and ShiftReg(5)and ShiftReg(6)and not ShiftReg(7)。

如果FlagDetect值为高,表明模块检测到了帧头标志。

数字光纤通信在传输信道中需要经过码型变换,使之变换为适合于传输信道传输的码型,标准数字接口的使用码型分为HDB3码和CMI码,CMI码也称信号反转码,以交替地用正电平或负电平表示“1”,用固定相位的一个周期的方波表示“0”,这种码的直流分量趋于零或等于零,很容易提取位定时信号,具有良好的检错能力。

CMI编码电路如图5所示,所述CMI编码电路包括0信号编码电路、1信号编码电路、时序控制模块和编码控制输出模块,若输入NRZ码字为“0”则CMI码直接输出“01”码型,若输入NRZ码字“1”,则利用FPGA状态机的原理设置两种状态交替出现,一种状态的编码为“00”,另一种状态的编码为“11”,完成CMI编码功能,编码后的速率增加了一倍。

CMI解码电路如图6所示,所述CMI解码电路包括同步时钟提取电路、误码检测电路、码流控制电路和解码判决电路,FPGA实现CMI解码的过程如下,CMI码流的二电平信号中二进制数“01”和“00”的第一个二进制数“0”提供了二电平信号的方向信息。CMI解码电路采用过零检测的方法检测到二电平信号的下降沿,以此来分割CMI编码的二电平信号,获取CMI码流二电平信号在发送端对同一电平信号编码出的两个码元,然后根据CMI编码规则进行解码,把CMI编码的数据二电平信号中的“01”、“11”和“00”转变成电平码“0”和“1”。

由于物理层光纤通道接收到的CMI码来自另一个装置,不是来自同一个晶振,因此不可避免会出现是时钟上升沿或下降沿到来时,接收到的CMI码刚好处于变化中,造成误码,需要利用高精度频率较高的时钟去提取接收CMI码的同步时钟,保证时钟和数据同步。

同步时钟提取电路如图7所示,同步时钟提取电路包括数字滤波、PLL、跳变沿提取电路、带清零抖动判断的N进制计数器和固定延迟,CMI码经过数字滤波进入跳变沿提取电路后,一端通过固定延迟输出CMI码,另一端通过带清零抖动判断的N进制计数器后输出同步时钟,其中具有高精度的时钟源的PLL,利用输入码元的跳变沿脉冲作为计数器的清零输入信号,计数器为N进制计数器,当输入清零信号后,计数器输出翻转。当输入码元出现连“0”或是连“1”时,一个码元的长度为2NT,由于计数器为N进制,计数器的计数值回到0时,计数器的输出仍然翻转,占空比为:NT/2NT=50%。这样就保证了一个输入码元的宽度对应了占空比为50%的时钟信号,即实现了输入码元与计数器输出时钟的同步。

为了验证解码的正确性,增加了误码检测电路,如果接收到的CMI码流中的出现误码码元“10”或接收到的两个“00”或“11”在相邻码流中出现,则判为误码。

由于微处理器的读写时钟与FPGA的FIFO读写时钟可能不一致,比如微处理器读一次,可能会读到多个重复的数据,因此需要使它们时序匹配,微处理器写一次,接收FIFO缓冲区地址只加一,只写入一个数据,FIFO缓冲区的地址只加一,只写入一个数据;同样,微处理器读一次,发送FIFO缓冲区地址只加一,只读入一个数据。

处理器与FPGA数据交互过程如下,微处理器通过写的方式定时向FPGA发送数据,接收数据时,连接微处理器的外部中断IO口会产生高电平,产生外部中断,微处理器读取FPGA中的数据。经测试,该通道工作正常,当数据帧长为28字节时,传送时间小于25us,无误码,无丢帧出现,完全满足应用要求。

以上所述仅是本发明的实施方式,再次声明,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进,这些改进也列入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1