基于MicroTCA系统的AMC以太网交换板设计与实现
来源: 计算机与现代化   发布时间: 2016-03-16 10:51   1773 次浏览   大小:  16px  14px  12px
以高级夹层卡—AMC(Advanced Mezzanine Card)以太网交换板的实际设计为例,详细介绍基于MicroTCA系统的AMC板的实现技术。AMC以太网交换板按功能可划分为以太网数据交换和管理控制模块(Module Management Controller, MMC)两部分。本文从芯片选型、逻辑功能、互连总线、管理接口等方面对这两部分的功能实现进行了描述,尤其是对MMC管理功能模块的软硬件实现技术进行着重说明,为MicroTcA系统中其它类型的AMC板的开发提供参考。

吴金哲,纪静,屈涛,中电科第15研究所


关键词:MicroTCA系统;AMC高级夹层卡;以太网交换;MMC管理功能模块

0 引 言

随着网络技术的迅猛发展,支持千兆网络接入已成为计算机系统I/O接口的发展趋势。针对专用计算机在高带宽、模块化、可扩展及可管理性方面的需求,国际计算机组织不断推出新的体系结构技术,并对现有技术进行持续优化。MicroTCA标准是国际PICMG组织在ATCA基础上推出的简化标准,它具有先进的架构,支持sRapidIO、PCI-Express以及Ethernet等高速总线的背板互连。MicroTCA体系结构以更小的结构形式、更轻的重量、更小的功耗,提供更高的性能。


由于MicroTCA标准是06年推出的标准,目前国内的相关厂商大都是面向电信领域的应用,在ATCA系统的基础上进行板级研制,而针对MicroTCA系统板卡进行开发的相关工作较少,基本上都是采取购买国外成熟产品的方式。因此基于MicroTCA系统进行AMC板卡的研制工作具有较高的现实意义。本文在MicroTCA体系结构的基础上,着重介绍AMC以太网交换板,尤其是其内部的MMC管理模块的设计与实现,为MicroTCA系统下其它类型AMC板的设计提供技术借鉴。


1 MicroTCA系统概述

1.1 系统构成


1个典型的MicroTCA系统包括:12个AMC板、1个(或2个用于冗余)MCH(MicroTCA Carrier Hub)板、互连背板以及电源、散热等模块,如图1所示。



图1 MicroTCA系统构成框图

MicroTCA载板(MicroTCA Carrier)的概念是MicroTCA规范的基础,所有MicroTCA机箱的构成要素构成载板,包括MCH板、互连结构、背板、电源模块等。


MicroTCA Carrier Hub(即MCH)集系统管理和模块互连功能于一身,是MicroTCA系统的主要组成部分,能够同时进行12个AMC板之间的互连和管理。MCH的首要要素为MicroTCA载板管理控制器(MicroTCA Carrier Management Controller,MCMC)。MCMC具备载板功能,它作为MicroTCA载板的中心权威节点对AMC板进行监测和控制。载板管理功能包括通过IPMB-L链路实现与每一个AMC板的连接,还包括AMC板插入检测,使能以及地理地址信号分配等功能。


互连结构为MicroTCA系统中的AMC板提供连接通路。MicroTCA互连遵循所有AMC标准中定义的总线形式,包括PCI-E(AMC.1)、Ethemet(AMC.2)、Storage Interface(AMC.3)和RapidIO(AMC.4)。这些高速总线通过MCH板上的Switch Fabric实现数据交换功能。


1.2 AMC板


AMC是新一代扩展卡的规范,支持热插拔、高速互连以及丰富的处理器构架,主要面向通信和嵌入式领域,具有低成本和模块化的特点。AMC板是MicroTCA系统的重要组成部分,符合ATCA规范的AMC板都可不经任何修改插入MicroTCA系统中。通过对AMC板的使用能够很容易地实现系统扩展、模块化设计,从而方便地实现各种系统功能。AMC板的类型包括CPU、DSP、网络处理器(NPU)、存储模块以及各种各样的I/O扩展板。


MicroTCA系统中的每个AMC板都包含一个模块管理控制器(Module Management Controller,MMC),该MMC控制器支持IPMI最小指令集。MCH中的MCMC管理控制器通过IPMB-L总线,采用“星型”拓扑结构,对每一个AMC板上的MMC模块进行管理。MMC控制器模块的设计是本文介绍的重点,将在后文中详细阐述。


2 AMC以太网交换板设计

AMC以太网交换板采用单宽-全高的机械尺寸,适用于PCI-E总线结构的MicroTCA系统中,实现多路以太网接口的数据交换功能。该板按逻辑功能可分为以太网数据交换及MMC管理两部分,如图2所示。



图2 AMC以太网交换板功能框图

2.1 以太网数据交换功能设计


AMC以太网交换板选用Intel 82576芯片进行PCI-E转以太网接口的电路设计。Intel 82576芯片是一款集成度高,功耗小的GbE以太网控制器。它支持PCI-E 2.0 x4/x2/x1总线接口,且其内部集成了2组MAC端口和PHY端口,可直接与MDI接口相连,支持10/100/1000Mbit/s自适应及全速全双工收发数据。来自MCH板的PCI-E高速数据总线信号经背板传送到Intel 82576中,在芯片内部进行码型转换、速率调整等处理,转换为千兆以太网数据帧格式,通过PHY端口的MDI接口传输出去。基于82576芯片设计的PCI-E转以太网接口电路原理框图如图3所示。



图3 PCI-E转以太网接口电路原理框图

PCI-E总线信号经过Intel 82576芯片转变为MDI接口的千兆以太网信号后,需要一个千兆以太网交换芯片实现2层以太网交换功能,以支持系统扩展多个网络接口。AMC以太网交换板选用Vitesse公司的VSC7424芯片进行以太网交换接口电路的设计。


VSC7424是一款10端口的2层吉比特以太网交换芯片。其内部集成了8个PHY端口及1个嵌入式的416MHz的CPU,支持10/100/1000Mbit/s自适应及全速全双工收发数据。该芯片还支持2路SGMII接口,可配置为SerDes接口使用。基于VSC7424芯片设计的以太网数据交换接口电路原理框图如图4所示。



图4 以太网数据交换接口电路原理框图

VSC7424接收到82576转换的MDI接口的千兆以太网信号以后,在其芯片内部进行2层交换,扩展出6路MDI接口的以太网数据,连接到板前面板带变压器的RJ45接口上,实现千兆以太网接口扩展功能。该芯片的两路SerDes信号通过背板连接至系统MCH板的基板上,作为管理通路使用。


2.2 MMC管理功能设计


MicroTCA系统AMC板最显著的特征就是其MMC管理功能。AMC板通过其板载的MMC管理模块,将本板的FRU Data、电压状态及关键器件温度等信息通过在背板传输的IPMB-L总线上报给系统载板的MCH板,MCH板根据所接收到的信息控制AMC板的上电、电压、温度控制以及热插拔等状态。MMC管理功能模块实现框图如图5所示。



图5 MMC管理功能模块实现框图

2.2.1 硬件设计


1.核心处理芯片选型。


MMC管理功能模块采用恩智浦公司的32bitARM926EJ内核微处理器LPC3250芯片为主CPU,外扩64MB的SDRAM和128MB的NandFlash存储器实现。LPC3250是具有向量浮点运算协处理器的ARM9微处理器,其工作主频208MHz,最高可达266MHz。LPC3250提供了丰富的外设资源,包括7个UART控制器、1个百兆网口、2个I2C总线接口等。


LPC3250内部集成存储控制器,可支持SDRAM、DDR SDRAM和静态存储设备,存储控制器提供系统总线和外部存储设备的接口。LPC3250提供2个SDRAM片选信号DYCS0和DYCS1,2个片选信号都可寻址512M 大小的存储空间。在本设计中,LPC3250通过DYCS0信号使用2片16_bit位宽的RAM芯片,组成32_bit位宽的SDRAM内存系统。可用内存大小为64MB,即从低地址0x8000 0000到高地址0x83FF FFFF。


LPC3250内部集成2个NAND Flash控制器:1个多级NAND Flash设备和1个单机NAND Flash设备。2个NAND Flash使用相同的引脚和外部NAND Flash设备相连,所以同时只能有1个接口处于激活状态。在本设计中,NAND Flash选用1个128MB的单芯片组成,接口连接在LPC3250 NAND总线上,可用于Linux系统、FRU Data及SDR数据的存储。


LPC3250支持两路I2C接口,I2C1和I2C2。在本设计中,将I2C1用作与MCH板通信的IPMB-L管理接口,实现MCH板对AMC以太网交换板的管理功能。另一路I2C2接口用于接数字温度传感器。根据板散热需要,将传感器放置在发热量大,对温度较为敏感的器件附近,从而实现对温度进行实时监控的功能。


2.MMC管理模块接口设计。


AMC以太网交换板和MCH板之间的管理接口包括GA[2..0]、SCL_L、SDA_L、ENABLE#、PS1#和PS0#,这些信号的逻辑电平要确保和MP管理电源(+3.3V)一致。GA[2..0]和ENABLE#通过LPC3250的GPIO引脚实现,SCL_L、SDA_L通过LPC3250的I2C1总线实现,如图5所示。


(1)GA[2..0]。


GA[2..0]用于分配每个AMC板的IPMB-L地址。每一个GA引脚可以有3种不同的电平:G(GND,接地),P(上拉到MP管理电源)或U(悬空)。MCH板根据给每个AMC板分配的地址把GA引脚连接到相应电平。AMC以太网交换板应能识别GA[2..0]的3种状态。GA[2..0]分别通过1个电阻和MMC模块的1个输出引脚P1(引脚P1通过LPC3250的GPIO引脚实现)相连,就可以实现GA管脚状态的确定。MMC首先在P1输出低电平,读取GA[2..0]的值,接着MMC再在Pl输出高电平,读取GA[2..0]的值,若2次读取的值不一样的GA引脚,其状态判定为U,2次读取的值同为高的GA引脚状态判定为P,2次读取的值同为低的GA引脚状态则判定为G。


(2)PS0#和PS1#。


PS0#和PS1#用于检测AMC以太网交换板是否在机箱内存在。PS0#和PS1#是连接器上最后匹配连接的引脚。这2个引脚用于消除在模块插入过程中产生的抖动,确保所有的AMC连接器引脚已经匹配连接。在MCH板上PS0#连接到GND,PS1#上拉到MP管理电源。AMC以太网交换板通过一个二极管把PS1#和PS0#相连,提供一个从PS1#到PS0#的低电压驱动。MCH板通过检测PS1#信号是否有效判断AMC以太网交换板是否存在。


(3)ENABLE#。


ENABLE#是从MCH板输人到AMC以太网交换板的低有效信号,在AMC以太网交换板上上拉到MP管理电源。该信号经过非门反转后用来产生MMC的RESET#信号。RESET#信号的无效状态(即高电平状态)用于指示MMC模块此时AMC以太网交换板已经完全插入,所有输人到模块的信号处于有效状态。在ENABLE#信号无效的情况下,不允许MMC读取GA[2..0]和IPMB-L。


(4)IPMB-L。


IPMB-L由时钟(SCL_L)和数据(SDA_L)2个信号组成。这2个信号在ENABLE#有效后方才有效。AMC以太网交换板接收到的IPMB-L信号与系统中其它AMC板的IPMB-L信号是独立的,AMC以太网交换板的IPMB-L信号通过LPC3250的I2C总线实现。


(5)热插拔Handle。


AMC以太网交换板前面板提供一个热插拔Handle,用于板拔出、板在机箱中锁定和执行热插拔操作。热插拔Handle与AMC以太网交换板上的微动开关相连,控制微动开关的打开和闭合状态,ARMLPC3250通过GPIO引脚接收微动开关的状态,提交给MMC管理软件。


(6)LED。


AMC以太网交换板提供3个MMC模块管理指示灯和2个电源指示灯。模块管理指示灯分别是:Out-of-Service LED、Health LED和BLUE LED,它们通过MMC模块的GPIO引脚进行控制。电源指示灯分别是:MP管理电源指示灯(3.3V)和负载PWR电源指示灯(12V)。


2.2.2 软件设计


AMC以太网交换板的平台管理通过MMC上运行的IPMI智能管理软件实现,管理功能包括:

(1)设备管理:FRU、SDR等信息的访问;

(2)流程控制:上下电、热拔插、温度控制等;

(3)告警管理:温度、电流、电压等。


1.设备管理。


AMC以太网交换板包含1个FRU(Field Replaceable Unit)信息贮存设备,用于存储板的功能、性能、上电要求等信息。FRU设备ID由3个IPMI命令进行标识,通过扫描MCH板上的IPMC设备SDR存储器来识别AMC以太网交换板的FRU设备ID,从而实现对板的FRU信息进行读写操作。


SDR(Sensor Data Record)是一种用于描述传感器,管理控制器或FRU信息设备特性的数据记录结构。当MicroTCA系统中的MP管理电源有效时,MCH板上的IPMC控制器将AMC以太网交换板上位于MMC内部的SDR数据记录信息加入到MCH板的SDR存储器中。MCH上的IPMC控制器通过IPMB-L总线对AMC以太网交换板MMC管理模块上的传感器进行数据读取等操作。


AMC以太网交换板的FRU信息与SDR信息存储在一个与LPC3250相连的NAND Flash中。


2. 流程控制。


当AMC以太网交换板插入或拔出MicroTCA系统时,要经过一系列的FRU状态转换,这些FRU状态通过MCH板的IPMC控制器进行跟踪和上报。以板的插入过程为例,当MCH板检测到AMC板存在(PS1#信号有效)时,将产生使能MP管理电源及IPMB-L信号等一系列控制流程。MCH上的IPMC控制器通过读取AMC以太网交换板MMC管理模块内的FRU信息,判断系统是否能够满足板的上电要求,若满足,则为板提供12V负载电源。


此外,MCH板的IPMC控制器通过IPMB-L总线信号,读取AMC以太网交换板MMC模块内的SDR数据,从而获取板上的传感器类型、数量、温度数值等信息,实现对板温度进行控制的目的。


3. 告警管理。


AMC以太网交换板中设计了专门用于监测板核心器件电压、电流及温度的监控电路。当核心器件的电压、电流或温度超过了设定的门限值时,监控电路将通过IPMB-L总线向MCH板的IPMC控制器发出告警信息,等待MCH板进行相应的处理。


3 AMC以太网交换板实现的关键技术

在实现AMC以太网交换板的过程中,有2项关键技术:高速信号完整性实现技术和MMC管理软件实现技术。高速信号完整性实现技术是硬件平台性能的重要保证,MMC管理软件实现技术则是软件功能实现的重要手段。


(1)高速信号完整性实现技术。


AMC以太网交换板同时具有PCI-E及千兆以太网等多种高速串行数据总线,并通过背板进行传输,具有速率高、传输线路长的特点,必须防止信号在线路终端发生反射,同时需减少电磁干扰以保证板功能、性能的稳定可靠,因此板信号的完整性设计至关重要。


为防止高速传输线问信号反射,发送器和接收器之间采用交流耦合方式,在传输线的两端添加交流耦合电容,为其提供直流通路。设计时,采取多层PCB设计技术,将高速信号线用电层和地层进行有效的屏蔽和隔离,减小干扰和衰减对高速信号数据完整性的影响,同时,差分信号线对严格按照阻抗匹配要求进行阻抗匹配,以此保证板的功能性能稳定实现。


(2)MMC管理软件实现技术。


MicroTCA系统中的MCH板通过IPMB-L总线对AMC以太网交换板进行信息数据采集和管理。MCH板对AMC以太网交换板的FRU、SDR信息的访问、对其上下电、热插拔等流程进行控制,以及温度、电压等告警管理都需通过MMC管理软件实现。


AMC以太网交换板MMC管理软件完全遵循IPMI v2.0协议和PICMG AMC.0 R2.0 Mezzanine Card Base Specification基本规范进行设计,采用标准的信息命令格式,将FRU、SDR等信息存储在与LPC3250相连接的Flash中,实现AMC以太网交换板上的MMC模块与系统的MCH板进行信息交互以及实现MCH板对AMC板的管理功能。


4 测试结果与分析

AMC以太网交换板设计完成后,对其丢包率、吞吐量以及延迟等性能指标,参照RFC2544以太网链路测试基准,采用网络性能分析仪SmartBits6000c进行测试。RFC2544标准要求对一系列的帧长(64~1518字节)在一定的时间内,按一定的数目进行测试。其主要测试项目有吞吐率测试,延时测试,丢包率测试等,使设备制造商和用户间可以在同一个基准下,对测试的实施和结果达成共识。测试结果如表1所示。


表1 AMC以太网交换板性能指标

设备的吞吐量是指设备所有端口同时收发数据速率能力的总和。吞吐量是反映以太网交换性能的最重要的指标之一,定义为交换机在不丢失任何一帧的情况下最大的转发速率。由表1测试结果可见,AMC以太网交换卡在不丢帧的情况下最大的转发速率达到100%,即可全速不丢包转发。


延迟是交换设备处理Ethernet包的时间,是衡量其性能的另一个重要指标,延迟越小说明交换机处理帧的速度越快。AMC以太网交换板在1518B的帧长时,延迟仅为6.466μs。


丢包率也是衡量交换设备性能指标的一个重要参数,指持续负载下交换设备丢失包的比率。丢包率= 丢弃的包数/总包数。虽然以太网协议中规定的丢失重复发送保证了丢包不影响数据的正确性,但大量的丢失也会降低网络的利用率和实用性能。


由测试结果可见,由于AMC以太网交换板严格遵循标准规范,采用成熟稳定的芯片进行设计,并突破了高速数据信号完整性等关键技术,以太网数据收发实现“零丢包率”、低延迟和100%的吞吐量,保证了AMC以太网交换板在系统中高效稳定地运行。


5 结束语

本文以AMC以太网交换板的硬件设计为基础,从芯片选型、逻辑功能、互连总线、管理接口等方面对AMC板的实现技术进行了描述,其中MMC管理模块的软硬件设计是本文介绍的重点。目前该AMC以太网交换板在MicroTCA结构的计算机系统中运行良好。该交换板从外型尺寸、连接器的选择,到MMC管理模块的接口总线的设计等,都严格遵循PICMG AMC.0 R2.0 Mezzanine Card Base Specification基本规范,对于其它类型的AMC板设计具有较高的参考价值。