论文部分内容阅读
摘要:本文论述了一种电信级设备1+1保护倒换方案,该方案基于FPGA状态机实现的I2C主机和从机程序,可以比CPU控制方案显著减少保护倒换的时间。
关键词:FPGA;VHDL;I2C;主机;从机;电信设备1+1保护;50ms
随着电信技术的发展,通信设备安全性要求越来越高,硬件1+1保护是电信机房设备的必备功能。目前国内各电信运营商对于电信设备1+1保护倒换的时间要求是少于50ms。
本文详细介绍了提出的保护方案的整体架构以及实现方法,并通过实验数据的形式证明了该方案的可行性。
本文主要内容有:
保护倒换的研究背景,以及目前常用的设计方案介绍;对本文提出的设计方案进行系统性介绍,突出上联卡和下联线卡的不同功能需求;对I2C总线进行介绍,对用FPGA状态机实现的I2C的主机程序和从机程序分别进行介绍;最后对整机实现方案进行具体介绍,以及给出I2C总线的FPGA调试结果;最后对该方案进行总结,对不足之处以及进一步优化的办法进行了说明。
本文设计实现的方案具有实时性好,可实现性高的优点,能够显著提高电信级设备1+1保护倒换时间。
第一章 应用背景
1.1研究背景
随着中国经济的不断高速发展,人们对于网络的安全性要求不断提高,各电信运营商对于通信设备的安全性也就要求越来越严格。从最开始的PDH,到SDH,再到如今的PTN以及OTN、SDN、NFV技术,网络设备保护功能越来越完善。系统级双卡1+1保护是对硬件失效最有效的防护,因此各大运营商对这类保护有着非常严格的要求。比如,2017年中国移动小型化PTN设备集采测试方案中就明确要求必须具有双卡1+1保护功能,且要求业务倒换时间和返回时间均小于50ms[1]。
1.2研究现状和趋势
目前电信接入设备供应商大多采用套片的形式实现保护倒换功能,比如中兴的SDH和OTN业务主芯片,此类ASIC芯片内置了保护倒换功能,设备供应商可以利用此类芯片实现需要的1+1保护功能,但是此类芯片受限于芯片供应商,比如价格昂贵以及供货周期较长甚至无法保证供货等。
对于有实力的IT公司,利用FPGA芯片实现需要的功能是大势所趋,此前多数公司是利用CPU(比如ARM或者PowerPC)来处理1+1保护倒换,鉴于CPU的分步运行机制以及中断优先级控制等问题,利用CPU处理保护倒换是无法保证保护倒换的成功率的。
传输设备供应商基本都是自己研发套片实现方案,接入侧除利用现有的芯片厂商自带的保护倒换实现外,大多采用上文提到的CPU实现方案。
第二章 整机系统介绍
2.1 整机系统
设备模型如下:设备需要提供10G上联PTN/IP RAN业务,同时要提供百兆千兆以太网接口下联业务。上联业务要求具有双卡保护切换功能。
在此上联卡名称定义为MCU卡,该卡除提供上联功能以及保护倒换功能外,最主要的是实现PTN/IP RAN业务。
下联业务卡定义为线卡,该卡主要功能是提供百兆千兆以太网接口,通过背板给MCU卡,实现汇聚上联功能。
另外MCU卡和线卡之间是通过背板进行通信的。
2.2 上联卡
上联卡即MCU卡,作为整机的核心业务卡,与PTN/IP RAN相关的业务全部在此卡上实现。功能框图见图2-2。
2.3 业务卡
业务卡又称线卡,主要是提供下联接口,6个槽位分别插入不同的线卡可以实现不同的功能,这种热插拔的形态能够非常灵活的满足客户需求。
因为MCU提供核心交换功能,业务卡只提供接口,为了确保1+1保护功能的实现,需要业务卡同时具有去往MCU1和MCU2的硬件连线。但是一般业务线卡内只会提供一路接口,如果需要分别去往两路MCU,则必须增加切换开关。这也就意味着业务线卡也必须跟随MCU切换而切换自身的接口。
第三章 程序模块介绍
3.1 I2C总线简介
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线[2]。
I2C總线硬件上由两根线实现,其中一根是SCL时钟线,另外一根SDA是数据线,两根线的实现方案可以最简化硬件设计,为本就非常珍贵的背板节省资源。
3.2 主机程序
有限状态机设计技术是实用数字系统设计中的重要组成部分,也是实现高效率高可靠逻辑控制的重要途径[3]。I2C的主从机程序非常适合用状态机的形式实现。
从设备整机系统可以看出,MCU卡作为整个系统的核心卡,主要的处理单元均在该卡上,因此本保护切换程序的主机也在MCU卡上实现,而业务线卡则实现从机程序。
FPGA通过控制时钟周期的方式来实现I2C主机程序,用FPGA来实现I2C的好处是时钟可调,可以根据需要调整时钟频率,常规使用100kHz频率。(标准I2C最高频率为400kHz)。
FPGA程序举例如下图3-2:
3.3 从机程序
业务线卡需要跟随MCU卡的切换而进行切换,因此,线卡只作为接收端即可,收到信息后通过FPGA输出引脚直接控制背板切换开关进行切换。从机程序状态机如下图3-3:
4.1实现方案
程序设计完成后需要实际上板测试。因为涉及到两张MCU,而MCU之间需要首先确定自己的主备关系,在上电初始化时,必须双卡默认为备卡,均不能向背板总线发送数据,然后根据槽位号和前面板接口的状态来确定各自的主备关系,比如MCU1卡槽位地址为1,如果此时其前面板光口业务正常,则该卡作为主卡,然后向背板总线发送数据,告知备卡和业务线卡自己的状态,如果该卡前面板光口出现问题,则告知MCU2卡自己不能作为主卡了,得到应答后关闭背板总线。
在确立MCU卡主备关系后主卡作为I2C总线的主机开始自己的任务。
4.2 调试结果
完成上述方案规划后,开始实际上板测试,通过Quartus自带的软件signaltap抓取的波形图可以明确看到主机发送和从机接收到的值是对应的。
同时,因为采用了FPGA来实现切换,而不是用CPU,在信号发生变化(比如主卡光口无连接了)时,FPGA会第一时间通知备卡和业务线卡,因此切换时间是毫秒级,完全能够满足行业标准规定的50ms的等级。
第五章 总结
实验证明将用FPGA实现的I2C程序引入电信级设备1+1保护倒换方案可以极大的缩小保护倒换的时间,提高设备的硬件保护倒换级别。该程序还可以同步传递板卡基本信息,板卡状态等属性,减少CPU的工作量。
目前的FPGA程序并没有添加校验,也就是说如果传输过程中出现错误字节程序无法检测出。CRC是一种多用于同步通信方式中的差错检出方式[4],可以在程序结束位之前增加CRC校验码,如果校验一致则保存数据,如果校验出错则丢弃数据帧同时主机重发或者从机不应答主机信号要求主机重发,如此可以保证接收信号的正确率。
参考文献:
[1]2017年中国移动小型化接入PTN设备集采测试方案[S].中国移动通信集团公司,2014.8:第69页
[2]何立民.I2C总线应用系统设计[M],中国航空航天出版社.第一版. 1995-02-01.
[3]潘松 黄继业.EDA技术实用教程[M].科学出版社.第三版.2006年9月.
[4]常晓明,潘卫华,王建东. CRC校验及其软件实现[J].电子技术应用,1995(6):14-14
作者简介:
硬件工程师,山东大学硕士,长期从事电信设备研发工作,熟悉SDH,PTN,IPRAN,SDN,NFV技术,对以太网技术有较深入了解。能够熟练应用CPU,FPGA等主流芯片。
关键词:FPGA;VHDL;I2C;主机;从机;电信设备1+1保护;50ms
随着电信技术的发展,通信设备安全性要求越来越高,硬件1+1保护是电信机房设备的必备功能。目前国内各电信运营商对于电信设备1+1保护倒换的时间要求是少于50ms。
本文详细介绍了提出的保护方案的整体架构以及实现方法,并通过实验数据的形式证明了该方案的可行性。
本文主要内容有:
保护倒换的研究背景,以及目前常用的设计方案介绍;对本文提出的设计方案进行系统性介绍,突出上联卡和下联线卡的不同功能需求;对I2C总线进行介绍,对用FPGA状态机实现的I2C的主机程序和从机程序分别进行介绍;最后对整机实现方案进行具体介绍,以及给出I2C总线的FPGA调试结果;最后对该方案进行总结,对不足之处以及进一步优化的办法进行了说明。
本文设计实现的方案具有实时性好,可实现性高的优点,能够显著提高电信级设备1+1保护倒换时间。
第一章 应用背景
1.1研究背景
随着中国经济的不断高速发展,人们对于网络的安全性要求不断提高,各电信运营商对于通信设备的安全性也就要求越来越严格。从最开始的PDH,到SDH,再到如今的PTN以及OTN、SDN、NFV技术,网络设备保护功能越来越完善。系统级双卡1+1保护是对硬件失效最有效的防护,因此各大运营商对这类保护有着非常严格的要求。比如,2017年中国移动小型化PTN设备集采测试方案中就明确要求必须具有双卡1+1保护功能,且要求业务倒换时间和返回时间均小于50ms[1]。
1.2研究现状和趋势
目前电信接入设备供应商大多采用套片的形式实现保护倒换功能,比如中兴的SDH和OTN业务主芯片,此类ASIC芯片内置了保护倒换功能,设备供应商可以利用此类芯片实现需要的1+1保护功能,但是此类芯片受限于芯片供应商,比如价格昂贵以及供货周期较长甚至无法保证供货等。
对于有实力的IT公司,利用FPGA芯片实现需要的功能是大势所趋,此前多数公司是利用CPU(比如ARM或者PowerPC)来处理1+1保护倒换,鉴于CPU的分步运行机制以及中断优先级控制等问题,利用CPU处理保护倒换是无法保证保护倒换的成功率的。
传输设备供应商基本都是自己研发套片实现方案,接入侧除利用现有的芯片厂商自带的保护倒换实现外,大多采用上文提到的CPU实现方案。
第二章 整机系统介绍
2.1 整机系统
设备模型如下:设备需要提供10G上联PTN/IP RAN业务,同时要提供百兆千兆以太网接口下联业务。上联业务要求具有双卡保护切换功能。
在此上联卡名称定义为MCU卡,该卡除提供上联功能以及保护倒换功能外,最主要的是实现PTN/IP RAN业务。
下联业务卡定义为线卡,该卡主要功能是提供百兆千兆以太网接口,通过背板给MCU卡,实现汇聚上联功能。
另外MCU卡和线卡之间是通过背板进行通信的。
2.2 上联卡
上联卡即MCU卡,作为整机的核心业务卡,与PTN/IP RAN相关的业务全部在此卡上实现。功能框图见图2-2。
2.3 业务卡
业务卡又称线卡,主要是提供下联接口,6个槽位分别插入不同的线卡可以实现不同的功能,这种热插拔的形态能够非常灵活的满足客户需求。
因为MCU提供核心交换功能,业务卡只提供接口,为了确保1+1保护功能的实现,需要业务卡同时具有去往MCU1和MCU2的硬件连线。但是一般业务线卡内只会提供一路接口,如果需要分别去往两路MCU,则必须增加切换开关。这也就意味着业务线卡也必须跟随MCU切换而切换自身的接口。
第三章 程序模块介绍
3.1 I2C总线简介
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线[2]。
I2C總线硬件上由两根线实现,其中一根是SCL时钟线,另外一根SDA是数据线,两根线的实现方案可以最简化硬件设计,为本就非常珍贵的背板节省资源。
3.2 主机程序
有限状态机设计技术是实用数字系统设计中的重要组成部分,也是实现高效率高可靠逻辑控制的重要途径[3]。I2C的主从机程序非常适合用状态机的形式实现。
从设备整机系统可以看出,MCU卡作为整个系统的核心卡,主要的处理单元均在该卡上,因此本保护切换程序的主机也在MCU卡上实现,而业务线卡则实现从机程序。
FPGA通过控制时钟周期的方式来实现I2C主机程序,用FPGA来实现I2C的好处是时钟可调,可以根据需要调整时钟频率,常规使用100kHz频率。(标准I2C最高频率为400kHz)。
FPGA程序举例如下图3-2:
3.3 从机程序
业务线卡需要跟随MCU卡的切换而进行切换,因此,线卡只作为接收端即可,收到信息后通过FPGA输出引脚直接控制背板切换开关进行切换。从机程序状态机如下图3-3:
4.1实现方案
程序设计完成后需要实际上板测试。因为涉及到两张MCU,而MCU之间需要首先确定自己的主备关系,在上电初始化时,必须双卡默认为备卡,均不能向背板总线发送数据,然后根据槽位号和前面板接口的状态来确定各自的主备关系,比如MCU1卡槽位地址为1,如果此时其前面板光口业务正常,则该卡作为主卡,然后向背板总线发送数据,告知备卡和业务线卡自己的状态,如果该卡前面板光口出现问题,则告知MCU2卡自己不能作为主卡了,得到应答后关闭背板总线。
在确立MCU卡主备关系后主卡作为I2C总线的主机开始自己的任务。
4.2 调试结果
完成上述方案规划后,开始实际上板测试,通过Quartus自带的软件signaltap抓取的波形图可以明确看到主机发送和从机接收到的值是对应的。
同时,因为采用了FPGA来实现切换,而不是用CPU,在信号发生变化(比如主卡光口无连接了)时,FPGA会第一时间通知备卡和业务线卡,因此切换时间是毫秒级,完全能够满足行业标准规定的50ms的等级。
第五章 总结
实验证明将用FPGA实现的I2C程序引入电信级设备1+1保护倒换方案可以极大的缩小保护倒换的时间,提高设备的硬件保护倒换级别。该程序还可以同步传递板卡基本信息,板卡状态等属性,减少CPU的工作量。
目前的FPGA程序并没有添加校验,也就是说如果传输过程中出现错误字节程序无法检测出。CRC是一种多用于同步通信方式中的差错检出方式[4],可以在程序结束位之前增加CRC校验码,如果校验一致则保存数据,如果校验出错则丢弃数据帧同时主机重发或者从机不应答主机信号要求主机重发,如此可以保证接收信号的正确率。
参考文献:
[1]2017年中国移动小型化接入PTN设备集采测试方案[S].中国移动通信集团公司,2014.8:第69页
[2]何立民.I2C总线应用系统设计[M],中国航空航天出版社.第一版. 1995-02-01.
[3]潘松 黄继业.EDA技术实用教程[M].科学出版社.第三版.2006年9月.
[4]常晓明,潘卫华,王建东. CRC校验及其软件实现[J].电子技术应用,1995(6):14-14
作者简介:
硬件工程师,山东大学硕士,长期从事电信设备研发工作,熟悉SDH,PTN,IPRAN,SDN,NFV技术,对以太网技术有较深入了解。能够熟练应用CPU,FPGA等主流芯片。