基于国产关键芯片的软件定义交换模块设计
2021-03-13娄晓明宣志祥王子剑顾燕飞
娄晓明 宣志祥 王子剑 顾燕飞
摘 要:文章设计了基于国产关键芯片的软件定义交换模块,打破现有网络的刚性体系结构,实现全维软件定义的网络体系架构,从而将刚性网络变为柔性网络。构建可定义、可重组、可重构、可重建的软件定义体系结构,实现异构网络间的融合互联,提高互联效率,减小融合时性能和实时性的下降。软件定义交换模块通过软件配置或升级,实现RapidIO、以太网或FC三种网络协议单一协议、三种网络协议混合无转换和三种网络协议混合转换的数据交换。
关键词:软件定义;数据交换;国产PowerPC处理器;柔性;刚性体系结构
中图分类号:TN911.7 文献标识码:A文章编号:2096-4706(2021)15-0043-08
Abstract: The paper designs software-defined switch module based on domestic key chip, breaks the rigid architecture of the existing network, realizes the full-dimensional software-defined network architecture, thus, the rigid network is changed into a flexible network. The paper builds a software-defined architecture that is definable, reorganizable, reconfigurable, and rebuilding, realizes the fusion and interconnection between heterogeneous networks, improves the efficiency of interconnection and reduces the degradation of performance and real-time performance during fusion. The software-defined switch module realizes the data exchange of RapidIO, Ethernet or FC single protocol, three network protocols mixed without conversion and three network protocols mixed conversion through software configuration or upgrade.
Keywords: software defined; data switching; domestic PowerPC processor; flexible; rigid architecture
0 引 言
本文主要開展软件定义互连技术的研究,软件定义互连是一种面向交换互连领域的软件定义硬件技术,基于可重构和可编程技术,具有可扩展的硬件/软件架构,允许应用程序对硬件进行在线定义,以动态更改交换互连的功能、性能,实现对不同应用场景的最佳拟合适配。
基于软件定义芯片的交换模块打破现有网络的刚性体系结构的束缚,实现从物理层、数据链路层、网络层到业务层全维软件定义的网络体系,从而将刚性网络变为柔性网络,构建可定义、可重组、可重构、可重建的软件定义体系架构[1]。源于软件定义互联技术的基于软件定义芯片的交换模块可实现RapidIO[2]网络、以太网[3]、FC[4]网络的单协议和混合协议交换,构建柔性交换网络。
1 设计与实现
1.1 模块设计框架
以综合化核心处理平台为背景,结合抗恶劣车载环境的使用需求,研制可替代原有综合交换模块,可构建柔性交换网络的软件定义交换模块。在考虑精简原有设计的基础上,兼顾自主可控,关键芯片选用国产芯片,并引进软件定义互连技术,增加综合交换模块的柔性特征。模块设计应符合以下原则:满足综合化核心处理平台功能、性能指标要求及车载设备的环境使用要求;采用国产关键芯片和基础元器件,最大限度实现自主可控;采用可重构、可扩展的柔性架构,支持多种网络高速数据交换及故障诊断等综合集成能力;充分考虑抗恶劣环境车载平台的发展需求,能适应未来综合化核心处理平台的升级与扩展能力[5]。
结合具体要求,软件定义交换模块设计技术指标为:
(1)具有Rapidio交换能力,Rapidio×2≥4路,Rapidio×1≥3路,单速率5 Gbps。
(2)具有以太网交换能力,以太网交换总数≥15路,其中千兆以太网≥12路(含机外互联10 M/100 M/1 000 M自适应以太网不少于6路)。
(3)具有故障检测、保护与隔离等功能。
(4)具有以太网端口聚合功能,支持双冗余以太网通信。
(5)具有VLAN划分和VLAN管理功能。
(6)能通过机内测试维护总线上报RapidIO与以太网端口状态。
(7)模块在各种环境工作温度下功耗不大于25 W。
(8)具备RapidIO、以太网和FC单网络协议交换能力。
(9)具备RapidIO、以太网和FC混合网络协议交换能力。
(10)具有电流、电压、温度等工作状态及自我保护功能,支持12 V电源关断功能。
(11)结构尺寸:加固,模块为3 U VPX结构,符合VITA-46[6]标准。
(12)散热:支持导冷散热。
(13)支持热插拔。
模块设计框图如图1所示。
软件定义交换模块由CPU单元、交换单元和BMC健康管理单元等组成,整个交换模块对外提供4路2x RapidIO、3路1x RapidIO、9路1000BASE-X、6路1000BASE-T交换端口,1路RS485状态监控总线。CPU单元采用CSP2020处理器,负责对模块进行配置管理;BMC单元采用A2F500芯片,负责健康信息管理和上报;交换单元采用NMS3210软件定义交换芯片完成数据交换。整个模块对外提供1路RS-232串口用作CPU配置管理端口,另外提供1路RS-232串口用作BMC健康管理单元,1路JTAG端口作为健康管理单元软件更新和调试接口,1路RS485作为BMC健康状态上报端口。BMC选用Microsemi公司的A2F500系列单片机,BMC和CPU间留有RS232接口,用于两个单元间的通信,BMC获取交换端口状态等信息。4路2x RapidIO、3路1x RapidIO、9路1000BASE-X和6路1000BASE-T满足综合化核心处理平台的技术指标要求,同时4路2x RapidIO、3路1x RapidIO、9路1000BASE-X可任意重新定义为RapidIO、1000BASE-X和FC网络接口,为验证软件定义交换模块可以支持三种协议交换,默认为4路2x RapidIO、3路1x RapidIO、6路1000BASE-X和3路FC,可同时实现单协议网络交换和混合协议网络交换。
1.2 CPU单元设计
处理器选用中国电科58所国产PowerPC处理器CSP2020[7],具有双e500内核,工作在800 MHz主频,片上集成了三个千兆以太网控制器、两路UART、两路I2C、64 bitDDR3控制器(具有ECC)、增強型LocalBus,并且具备四路3.125 GHz SerDes接口可配置为PCIE、SRIO和SGMII,CSP2020架构框图如图2所示。CSP2020通过PCIE与NMS3210互连,CSP2020对NMS3210进行配置管理,对外出1路RS232和1路千兆以太网口作为配置管理接口和软件升级更新接口。
1.3 内存单元设计
CSP2020处理器内集成了64 bit DDR3内存控制器,考虑到高温散热、车载振动等恶劣环境因素,DDR3采用表贴内存颗粒,实现64 bit DDR3内存单元设计。内存容量2 GB,选用深圳国微的SM41J256M16M DDR3内存颗粒,考虑3U模块空间有限,DDR3颗粒采用正反贴,每面两颗SM41J256M16M。DDR3颗粒正反背靠背贴装,64位数据线分8组,采用点到点的走线方式,地址线和控制线采用Fly-by的拓扑走线方式,并且按照DDR3设计规范对各组线进行等长补偿,单端走线50欧姆,差分走线90欧姆。
1.4 交换单元设计
为了满足软件定义交换模块对外提供4路2x RapidIO、3路1x RapidIO、6路1000BASE-X、3路FC和6路千兆MDI交换端口等功能技术指标的要求,交换单元采用NMS3210软件芯片实现硬件电路的设计,NMS3210芯片的功能性能指标能够满足软件定义交换模块的要求。同时借鉴以往成熟的高速电路设计和PCB高速信号设计技术,并且在PCB设计过程中进行仿真,确保高速信号的品质满足设计要求,保证板内高速信号没有串扰。同时进行交换软件的设计和优化保证各项功能、性能达到技术指标要求。以下是交换芯片具备的功能性能指标:
交换芯片采用NDSC天津中心开发的自主可控国产软件定义芯片NMS3210[8],总交换容量为320 Gbps,图3为NMS3210的架构框图。
NMS3210由八个Bank(标号从0到7)组成,每一个Bank包含4路通道(lane)。采用FC 和以太网协议时,每个通道就是一个端口;采用RapidIO 协议时,端口宽度支持1x、2x和4x模式。所有端口通过一个开放的交换结构互连。
(1)支持32路高速串行SerDes通道:通道支持多种速率(1.25、2.125、2.5、3.125、4.25、5、6.25、8.5和10.3125 Gbaud)。
(2)支持四种协议:RapidIO 3.1、FC-AE-ASM、10G Base-KR、1000BASE-X。
(3)RapidIO端口支持三种端口绑定模式:1x、2x、4x。
(4)支持四种协议的单一交换:
1)支持32路FC-AE-ASM(1.2版)的单协议交换。
2)支持32路1000BASE-X单协议交换。
3)支持32路10GBASE-KR单协议交换。
4)支持32路1x\16路2x\8路4x RapidIO 3.1单协议交换。
(5)支持四种协议之间的混合协议交换。
(6)Switch Fabric采用协议无关的交换架构:
1)320 Gbps交换能力。
2)支持无阻塞单播以及多播交换。
(7)配置管理接口:为外部主控模块提供芯片的配置管理通道:
1)PCIe接口:兼容PCI Express® 2.0 Base Specification(Revision 0.9),1x模式。
2)I2C接口:支持两种操作模式:标准模式和快速模式(100 KHz/400 KHz);支持主模式和从模式;支持上电自动进入临时主机模式和配置寄存器进入命令主模式。
3)JTAG接口:符合IEEE 1149.1标准和IEEE 1149.6标准。
1.5 存储单元设计
软件定义交换模块采用实时嵌入式操作系统VxWorks,软件运行在VxWorks构成的基础层上,嵌入式软件需要的存储空间小,选用芯片Nor Flash S29GS01GP,单片128 MB。FLASH既可以存放CPU的启动代码,也可以存放系统内核和交换协议软件等。Flash挂接在处理器的Local Bus上,通过地址锁存器来实现地址锁存。在PCB布局和走线时采用菊花链形式减少信号线的分支,缩减信号的反射,走线阻抗按照50 欧姆设计。
1.6 接口设计
1.6.1 内部芯片互联通信接口
CSP2020内部集成了PCIE控制器,支持3路PCIE1.0,支持1x和2x模式,CSP2020通过1x PCIE 对NMS3210进行配置管理,并获取交换端口的状态,再通过CSP2020和A2F500间的数据通道发送给A2F500,最后通过RS485上报给外部控制台,内部芯片互联通信接口互连关系如图所示。
1.6.2 千兆以太网/RapidIO/FC接口
软件定义交换模块有两类千兆以太网接口,一类是1000BASE-X作为模块间的数据交换通道,这类接口由NMS3210直接连到VPX连接器引出;另一类是1000BASE-T为千兆以太网电口,这类接口由NMS3210经PHY转换后连到VPX连接器引出。RapidIO接口由NMS3210直接连到VPX连接器引出,FC接口由NMS3210直接连到VPX连接器引出。1000BASE-X、RapidIO可以作为模块间的数据交换通道,也可以和FC一样通过VPX连接器引出再接到光模块与其他设备互连,1000BASE-X、RapidIO、FC接口可以通过软件在以上三种协议接口间任意变换,图5为千兆以太网、RapidIO、FC接口设计。
1.7 健康管理单元设计
健康管理单元由3.3 V供电,控制器采用美高森美的A2F500,A2F500具有500 000System Gates、11 520Tiles、24个4 608 bits RAM Blocks、512 kbytes Flash、64 kbytes SRAM、内置Cortex-M3 processor、10/100Ethernet MAC、8通道DMA、2路I2C、2路SPI、2路UART、2路32 bit timer、2路12 bit ADC和2路24 bit DAC等。健康管理单元具备上电控制、复位控制、电压、电流、温度监控,具备过压、过流、过热保护机制,可获取交换端口状态,可以识别模块和机箱地址。健康管理单元存储器采用SPI Flash,对外提供1路串行RS232,同时还提供1路JTAG接口作为模块的软件升级和调试口,1路RS485健康状态上报。
A2F500通过自带的ADC实时采样监控模块内部电压,通过I2C挂接温度传感器LM73获取模块内关键芯片的实时温度状况,通过I2C挂接的电流监控芯片LTC4280实时获取当前电流状况。根据设计要求设定电压、电流和温度的上下阈值,当采集到的数据超过阈值时,根据事先预定好的策略分级进行告警、关闭部分功能单元或者切断全部功能单元供电对模块实施保护。A2F500和CSP2020间通过RS232进行数据通信,CPU将获取到的交换端口状态发送给健康管理单元,由健康管理单元上报交换端口状态给上位机。
1.8 核心电源单元设计
软件定义交换模块的电源时序由中国电科47所的LC9081控制,按照各关键芯片电源时序的要求综合考虑,精简电源控制电路设计,图6为电源时序控制电路设计。
软件定义模块的电源时序如图7所示。
根据软件定义交换模块的电流需求进行电源设计,模块内电流需求较高的是处理器的核电压VCC_1V05、内存的电压VCC_1V5、整个模块的公共电压VCC_3V3和交换芯片的核电压VDD_1V1。
图8是处理器的核电压VCC_1V05、内存的电压VCC_1V5、整个模块的公共电压VCC_3V3的电路设计,VCC_1V05_RUN、VCC_1V5_RUN、VCC_3V3_RUN由LC9081按照电源时序要求控制,电源芯片选用济半所的LYM4633IY。
如图9是交换芯片的核电压VDD_1V1的电路设计,VDD_1V1_RUN由LC9081按照电源时序要求控制,电源芯片选用济半所的LYM450AIY。
1.9 软件定义交换的设计
NMS3210是一款支持多种协议(RapidIO3.1、FC-AE-SAM、10G Base-KR和1000BASE-X)的协议转换可编程交换芯片,每个高速串行数据接口的协议可软件定义成上述四种协议中的任意一种,能够实现四种异构协议之间无阻塞、低时延、高可靠的互连互通。NMS3210支持单协议交换模式和混合协议交换模式。
软件定义交换,在硬件设备不需要变更、重组或者按照需求进行少量变更重组,仅通过对软件的配置、升级实现各端口支持的速率和协议的变更,实现按需柔性变更。
每个通道可以根据所连接端点设备的协议类型,通过软件定义的方式将通道配置为对应的协议类型,数据进入到芯片内部后,根据其目的地址判断是否需要进行协议转换:如果不需要进行协议转换则直接进入内部的无阻塞交换网络;如果需要,则完成协议转换后再进入交换网络,传送到相应的输出端口。
CPU可以通过PCIE、I2C和JTAG接口等多种方式访问和配置NMS3210。当被配置成RapidIO端口时,该端口支持RapidIO協议定义的维护包访问功能。
针对单一网络场景,NMS3210可配置成FC、SRIO或Ethernet等单一协议交换芯片,作为单一协议的数据交换模块使用。
图10为将NMS3210软件定义为FC交换芯片应用,连接到现有的FC交换网络中。
图11为将NMS3210软件定义为RapidIO交换芯片应用,连接到现有的RapidIO交换网络中。
图12为将NMS3210软件定义为Ethernet交换芯片应用,连接到现有的Ethernet交换网络中。
NMS3210上可连接多种协议的端点设备或者网络,针对异构网络场景,大体可分为两种,一种为不同协议的网络之间没有通信需求,即混合协议无转换场景,如图13所示,此时NMS3210芯片相当于替代了多片不同的交换芯片。
NMS3210用于混合协议网络且不同协议的端点设备之间需要通信时,需要NMS3210芯片实现协议转换功能和交换功能,即混合协议转换场景。图14是一个混合协议组网示意图。
1.10 结构设计
1.10.1 结构尺寸
符合VITA 46 3U VPX结构尺寸,尺寸大小为:
(1)长度:160.0 mm+0/-0.2 mm;
(2)宽度:100.0 mm+0/-0.2 mm;
(3)高度:25.4 mm+0/-0.2 mm。
1.10.2 结构组成
对传导散热模块,模块一般由印制板、模块壳体、连接器(包括模块识别导向装置)、插拔装置、锁紧装置等组成。其中要求锁紧装置安装面与主器件面反向。
2 成果验证
2.1 软件定义交换模块功能测试
对软件定义交换模块进行以下测试,验证模块指标是否符合设计要求:
(1)RapidIO端口数量、端口模式和速率检测,在综合化核心处理机中进行检测,具备RapidIO端口的计算模块通过交换模块进行数据交互,检测结果符合设计要求。
(2)以太网端口数量和速率检测,在综合化核心处理机中进行检测,具备以太网端口的计算模块通过交换模块进行数据交互,并通过综合化核心处理机对外的接口与网络测试仪互联,检测结果符合设计要求。
(3)具有故障检测、保护与隔离等功能,通过串口访问健康管理单元执行检测命令可以查看模块内部健康信息,并设定告警阈值。
(4)具有以太网端口聚合功能,支持双冗余以太网通信,用网络测试仪进行测试,符合设计要求。
(5)具有VLAN划分和VLAN管理功能,用网络测试仪进行测试,符合设计要求。
(6)能通过机内测试维护总线上报RapidIO与以太网端口状态,通过RS485可以获得RapidIO与以太网端口状态。
(7)模块在各种环境工作温度下功耗不大于25 W,实测功耗22 W。
(8)具备RapidIO、以太网和FC单网络协议交换能力,分别用两个相同协议的网络端点互连互通测试,可以正常收发数据。
(9)具备RapidIO、以太网和FC混合网络协议交换能力,用三种不同协议的网络端点互连互通测试,可以正常收发数据。
(10)具有电流、电压、温度等工作状态及自我保护功能,支持12 V电源关断功能,通过串口访问健康管理单元可查看各工作状态,并设有阈值,通过命令可以关闭12 V电源。
(11)结构尺寸:加固,模块为3U VPX结构,符合VITA-46标准,用游标卡尺测量模块尺寸符合设计要求。
(12)散热:支持导冷散热,实际设计为导冷散热,高低温工作正常。
(13)支持热插拔,带电拔出模块,然后插回机箱,模块可正常工作。
2.2 软件定义交换模块性能测试
数据交换最重要的是实时性,对实时性最直接的影响是延时,此处对传统典型交换和软件定义交换在单协议交换时的延时和进行协议转换时的延时进行比较。一是分别对传统单协议RapidIO、FC和以太网交换模块延时进行测试,二是对软件定义交换模块RapidIO、FC和以太网三种单协议交换进行延时测试,三是对三种协议两两协议转换时的延时进行测试,然后进行比较。
如表1所示,软件定义交换模块作为单一协议交换时和传统典型交换延时略有优势,在三种协议两两转换时的延时基本保持在1 μs左右,和单协议交换时的延时基本相当,说明软件定义交换模块的性能在满足与传统交换网络相同的应用的同时,对需协议转换的交换应用场景也完全可以满足应用。
2.3 软件定义交换模块效能分析
将软件定义交换模块的性能功耗比与传统交换的性能功耗比进行对比,分别对单协议交换和混合协议交换两种场景进行对比。首先对单协议交换场景进行比较,选择传统的典型交换芯片和软件定义交换芯片进行比较,32通道万兆以太网交换芯片BCM56842功耗60 W,数据交换带宽320 Gbps,性能功耗比为5.33 Gbps/W;48通道RapidIO交换芯片CPS1848功耗13.75 W,数据交换带宽240 Gbps,性能功耗比为17.46 Gbps/W;FC没有专用交换芯片,24通道FC交换选择XC7VX690T FPGA作为交换芯片,功耗20 W,速率2 G,数据交换带宽51 Gbps,性能功耗比为2.55 Gbps/W。软件定义交换芯片NMS3210工作在单以太网协议交换数据交换带宽320 Gbps模式下,功耗48 W,数据交换带宽320 Gbps,性能功耗比为6.67 Gbps/W;NMS3210工作在单RapidIO协议交换模式下,功耗24 W,数据交换带宽320 Gbps,性能功耗比为13.33 Gbps/W;NMS3210工作在单FC协议交换模式下,功耗40.8 W,数据交换带宽272 Gbps,性能功耗比为6.67 Gbps/W;从数据中可以看到NMS3210在单协议交换场景下,在以太网和FC交换模式下性能优于传统交换芯片,在RapidIO模式下弱于传统交换芯片。接下来在混合协议交换场景下进行比较,传统交换需要在交换模块上放置三种不同的交换芯片,而软件定义交换模块只需一片NMS3210就可以解决问题。以本文的软件定义交换模块具备的端口数量和种类为例,传统交换实际产生功耗39.12 W,数据带宽71.5 G,性能功耗比1.83 Gbps/W;軟件定义交换模块在与传统交换模块相同数据带宽71.5 G时,实际产生功耗10.725 W,性能功耗比6.67 Gbps/W;从数据中可以看到在混合协议交换场景软件定义交换模块效能明显优于传统交换模块。
软件定义交换模块实物如图15和16所示。
2.4 综述
软件定义交换模块不仅打破原有刚性网络的束缚,构建了柔性网络,可适应不同的应用场景,同时可确保实际应用中对功能的要求,在充分保留原有功能的基础上,缩小了体积、降低了功耗、减少了重量,从而提高了性能体积比、性能功耗比、性能重量比,提高了效能。
3 结 论
本文基于软件定义互连技术,提出一种基于国产关键芯片的软件定义交换模块设计方法。软件定义交换模块,在硬件设备不需要变更、重组或者按照需求进行少量变更重组,仅通过对软件的配置、升级即可实现各端口支持的速率和协议的变更,实现按需柔性变更。软件定义交换模块在测试环境下,实现RapidIO、以太网或FC三种网络协议单一协议数据交换、三种网络协议混合无转换数据交换、三种网络协议混合转换数据交换。软件定义交换在综合化核心处理机中完成各模块间以太网的数据交换和RapidIO的数据交换,并通过以太网实现机箱级联。软件定义交换模块已随综合化核心处理机完成环境试验验证,试验结果表明软件定义交换单芯片多协议交换方案集成度高,适合小型化综合处理机,可按需定义交换组网类型,具有良好的柔性可扩展性,抗恶劣环境能强,长时间运行稳定,适合在恶劣环境、小型化、综合化扩展性强的应用场景中推广。
下一步将提高自主可控等级、提高交换带宽和以太网协议向三层协议拓展,在高自主可控、高带宽、丰富协议、智能柔性可扩展交换方面展开深入研究。
参考文献:
[1] 吕平,刘勤让,邬江兴,等.新一代软件定义体系结构 [J].中国科学,2018,48(3):315-328.
[2] 崔维嘉,樊少杰.新一代的总线结构-RapidIO [J].通信技术,2001(4):49-50.
[3] 张诚,罗丰.基于千兆以太网的高速数据传输系统设计 [J].电子科技,2011,24(1):44-46.
[4] 田泽,徐文龍,许恒,等.FC光纤通道技术研究综述 [J].电子技术应用,2016,42(9):143-146.
[5] 余涵,宣志祥,张佩,等.基于龙芯3A的车载通用信息处理模块设计 [J]计算机工程,2019,45(增刊):93-98,101.
[6] 中国电子科技集团公司第五十八研究所.CSP2020型双核PowerPC处理器电路军品产品说明书 [Z].无锡:中国电子科技集团公司第五十八研究所,2019.
[7] 国家数字交换系统工程技术研究中心天津中心.NMS3210产品简介 [Z].天津:国家数字交换系统工程技术研究中心天津中心,2018.
[8] 万俊伟,赵辉,鲍忠贵,等.自主可控信息技术发展现状与应用分析 [J].飞行器测控学报,2015,34(4):318-324.
作者简介:娄晓明(1980—),男,汉族,黑龙江牡丹江人,工程师,本科,研究方向:嵌入式计算技术、网络交换技术、网络安全技术;宣志祥(1987—),男,汉族,江苏南通人,工程师,本科,研究方向:嵌入式计算技术;王子剑(1987—),男,汉族,河南平顶山人,高级工程师,研究生,研究方向:计算机软件技术;顾燕飞(1987—),男,汉族,江苏启东人,高级工程师,研究生,研究方向:网络交换技术。
3621500338297