美章网 资料文库 FPGA主备倒换的电路设计范文

FPGA主备倒换的电路设计范文

本站小编为你精心准备了FPGA主备倒换的电路设计参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

FPGA主备倒换的电路设计

《电视技术杂志》2014年第十一期

1fpga逻辑控制方案

1.1模块说明

1.1.1I/O模块主控卡上的FPGA芯片的I/O信号通过LBC总线传送到CPU;系统初始化完成后,CPU会通过LBC扫描FP-GA上的所有I/O信息;另外,实时监控某些I/O的电平状态,然后发中断给CPU,CPU接到中断后会启动ISP,扫描被监控的I/O上的电平。涉及到主备倒换的I/O信号有主控卡的槽位ID信号、主备之间的心跳信号、主备之间的在位信号、主备之间的复位信号、主备之间的工作状态信号。

1.1.2复位模块主控卡的复位模块是在FPGA中完成的。上电时,通过MAX706输入给FPGA的复位信号,首先给CPU卡复位;当CPU初始化完成后,再通过LBC总线向FPGA写复位寄存器,完成复位过程。

1.1.3看门狗模块主控卡的看门狗模块是完成对CPU模块的监控,如果CPU模块“死机”,看门狗会执行主备倒换到备主控上,同时复位自己本主控系统。实现过程如下:1)上电后,FPGA初始化所有寄存器的值,FPGA的喂狗信号开始输出周期性的脉冲。2)如果检测包含初始化信息的寄存器为0,则FPGA输出给MAX706的看门狗信号由FPGA的喂狗信号提供;如果检测为1,则看门狗信号由CPU的喂狗信号提供。3)如果看门狗失效,则会产生主复位信号PORE-SET。

1.2编码原则两块主控卡之间的3根线可以组成8种状态编码。通过对这些编码赋予特殊的定义,当对方的FPGA监听和读取到主备互传的这些编码,上报给CPU,从而来实现主备状态快速传递。信号定义和编码规则如表1所示。主/备控在位(Line1):主控卡的在位状态。1表示主控卡在位;0表示主控卡不在位。主/备主控主备(Line2):主控卡的运行状态,用来指示本主控卡是否为主主控。1表示本卡为主主控卡;0表示本卡为备主控卡。主/备主控好坏标志(Line3):周期性的心跳信号。1表示运行正常;0表示为初始化未完毕或者运行非正常。

1.3主备倒换原理和实现

1.3.1设备启动过程中的主备倒换1)上电启动时,若FPGA检测到本主控处在6号槽位,而7号槽位没有主控卡时,则6号槽位主控按照正常初始化过程进行启动,当CPU完成初始化时,该主控就自动升级为主主控。2)若FPGA检测到本主控处在7号槽位,而6号槽位没有主控卡时,则7号槽位的主控仍然按照正常初始化过程进行启动,整个启动过程同上。3)若6号槽位的主控正常启动,完成初始化并获得主主控状态。与此同时,7号槽位的主控上电时,检测到备主控在位且处在7号槽位。这时,FPGA就需要控制本主控的启动时间,通过控制整个系统的复位状态,将本主控的启动时间延时10s。当10s延时到达后,7号槽位的主控通过主备之间的3根线判断6号槽位的主控已经升级到主主控状态时,7号槽位的主控就自动降为备主控。并一直处于监听主主控状态,当监听到主主控状态编码为复位状态(100),主备倒换请求状态(101),拔出(故障)状态(000)时,7号槽位主控就自动升级为主主控状态。上电启动过程中状态关系如图2所示,逻辑框图如图3所示。逻辑代码结构如下:

1.3.2设备运行过程中的主备倒换1)主动倒换:当后台主动发出指令要求系统主备倒换时,主主控进入主备倒换请求状态,当备主控监控到该请求时,升级为主主控状态,同时主主控自动降级为备主控状态。2)自动倒换:当主主控出现故障或者拔出时,备主控检测到主主控处于该状态(000)时,备主控自动升级为主主控。3)复位倒换:当主主控被复位时,主主控输出复位状态编码(100),当备主控检测到此状态编码后,自动升级为主主控状态。被复位后的主控按照备主控方式启动,并处于备主控监听状态(011)。

2实验验证

验证方法:根据测试用例对OLT进行主控卡1+1冗余保护测试。正常数据业务收发时,执行主备倒换,观察数据业务是否正常。环境搭建拓扑如图4所示。

2.1常温环境测试测试过程:1)通过网管配置数据业务,测试仪通过ONU/OLT发送上下行数据,观察在OLT上联口和ONU的UNI口接收的流量,数据业务正常。2)串口连接至主控制卡,show当前主控主备状态。3)后台执行主备倒换。4)测试停止,观察数据业务丢包是否严重。流量测试如图5所示。5)计算倒换时间计算方法:倒换时间可以通过主备倒换过程中丢包数量和发送速率的比值来确定丢包时间。发送速率如图图5常温环境下Smartbit流量测试结果(截图)6所示。式中:RateRx为接收端速率,Tsw为倒换时间。

2.2高低温环境测试将OLT设备置于高低温测试箱,对主控进行主备倒换测试。目的是在高低温环境下,测试主控执行主备倒换的稳定性。测试条件:1)高低温冲击实验高温40℃±5℃,持续4h;低温0℃±5℃,持续4h;2)高低温交变湿热实验相对湿度为50%~60%。测试过程:重复2.1节测试实验。测试结果如图7所示。

2.3热插拔测试对两块主控卡交替插拔50次,通过串口打印信息,观察主控卡都能自动完成主备倒换过程,并无出现数据流完全中断。通过测试主备的倒换时间约为20ms,远远少于传统方案(勉强临近电信50ms[4])的标准。同时通过高低温环境测试和热插拔测试,并未发现不良情形,进一步保证了设备的稳定性。此结果说明了该方案实现了主备的无缝式倒换。

3小结

本文从硬件逻辑设计的角度提出了基于FPGA实现的详细框架、过程和编码,将主控启动过程中状态信息采用编码的思想,对传统的主备倒换方案进行了优化设计和实验验证,较好地改善了主控启动时间慢,主备倒换误操作和主备倒换时间长的缺陷。该设计方案通过了设备量产和广电及电信运营商的开局测试,达到了广电和电信测试标准。

作者:谭宇姚亚峰陈登霍兴华单位:中国地质大学机械与电子信息学院