账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
以FPGA嵌入式处理器打造刀锋管理控制器
 

【作者: Andy Norton,Jeff Mullins,Dick Mincher】2009年12月01日 星期二

浏览人次:【4665】

用FPGA打造刀锋伺服管理控制器


随着电信及企业网路的不断融合,网路架构变得更加简化。刀锋平台透过乙太网实现网路汇聚,从1G/10G扩充至40G/100G。刀锋管理控制器则透过标准智慧平台管理界面(IPMI)来满足不断变化的需求。



藉由整合FPGA的PowerPC与标准及客制化周边核心,打造出一款灵活的刀锋管理控制器,创新各种​​嵌入式系统配置,推动网路汇聚进军主流市场。此FPGA设计充分运用包括系统重新组态、嵌入式处理器、IP核心以及刀锋常见用于机架管理服务的嵌入式Linux韧体。



藉由FPGA设计平台核心,可以快速将UART、I2C汇流排、记忆体界面、乙太网路MAC​​/PHY组合,以及负责电压与温度变化的系统监视器加以实例化,并能够创造客制化核心。



深层资料包处理架构


新世代内容处理平台是一种高度可编程、模组化的高速硬体系统,可处理各种网路应用和多种同步功能,如图一所示。机架整合了深层封包处理器刀锋、应用服务处理器刀锋、冗余机架管理模组,以及一系列可采用不同网路界面及组态的界面模组。




《图一 新世代深层封包检测处理系统支援将服务控制、安全性及传输功能转换成整合式服务和功能》




机架与刀锋管理


机架与刀锋管理受控于冗余机架管理模组;该模组使用智慧型机架管理汇流排(ICMB),可扩展IPMI智慧平台管理功能,从而满足高安全性的需求。与智慧型机架管理汇流排连接的每个刀锋或模组(电源供应器模组除外),包含一个IPMI管理控制器与机架管理模组,共同监控环境与状态。



我们的管理控制器系列产品是根据共通需求所设计的,包含机架管理控制器(CMC)、处理器刀锋上的处理器管理控制器(PMC)以及界面模组上的界面管理控制器(IMC ),如图二所示。




《图二 安全可靠的ICMB机架管理系统》




网路连接功能


机架具有丰富的网路连接功能。在控制层,每个刀锋对应4条Gigabit乙太网路链路。在资料层,透过XAU I(4×3.125Gbps),每个刀锋可对应16个高速通道,提供4条10GB乙太网路链路。随着未来频宽不断扩展,每个通道可达到10GBASE-KR(每个通道10.3125Gbps)。



刀锋管理服务


机架管理解决方案采用分层结构,基本上,IMC和PMC是以与相对应的模组与刀锋上的标准IPMI机板管理控制器(BMC)相同的方式运作。针对每个刀锋,控制器使用IPMI指令监控电压和温度,提供一个电源控制界面,进行刀锋网路界面配置以及生产资料的传输沟通。



机架管理控制器架构


作为机架管理中心,CMC与IMC和PMC共用IPMI BMC机板层级的功能,以及其他更高阶的机架管理功能。双冗余CMC以作业中/待机容量运作,可实现自动化系统正常监控与故障复原。此种机架管理功能使CMC能够为所有刀锋和模组发现、盘存并提供电源许可。为防止对现有电源的过度使用,在作业状态中的CMC可管理整个机架的电力需求,使IMC和PMC仅在拥有剩余电量时供电。风扇架和电源供应器模组使用一个机架I2C汇流排,在作业状态中的CMC可确保整个机架得到充足电源供给与冷却功能。



一旦检测到机架内有新刀锋,CMC将使用发现通讯协定来寻找并确认每个刀锋的位置。发现通讯协定通过交换IPMI资讯,可以检索出刀锋或模组的序列号码、机种型号以及功能清单。如果能够准确无误地找到刀锋与可供应的电源,发现通讯协定将随后发出一个电源许可指令。 CMC对来自每个IMC或PMC的事件进行监控,以检测是否存在警告或紧急情况,并收集和记录在事件日志中。



主视窗管理和指令列介面


机架管理系统的主用户界面是通过一个在应用处理器刀锋上运作的视窗管理或指令列界面(WMI或CLI),以提供丰富的用户功能组。应用处理器刀锋通常占一个机架插槽,或者通过控制层网路连接与机架管理控制器进行远端通讯。 CMC可自动对机架进行健康与环境监控并通过前面板LED显示监控结果,而特定目的应用的用户则从处理器刀锋进行控制。该刀锋将与包括CMC的所有刀锋和模组进行询问作业,以向用户提供环境与运作状态资讯。CMC包含RS485 IPMI代理服务,可将控制层上的应用处理器刀锋指令经RS485 IPMI路径传送到目标刀锋。



提高CMC与刀锋的连接安全性


每个CMC与每个刀锋都有5个独立的点对点RS485来连接。与汇流排拓扑不同,即便某个刀锋出现故障也不会让CMC与其他刀锋之间的通讯中断,因此这种架构不仅提高了防止窃听的安全性、将频宽争用降至最低,同时亦提高可靠性。我们的冗余建置方案要求待机的CMC持续监控作业中的CMC的运作状态。一旦检测到故障,待机的CMC透过其独立放射状的RS485链路连结取代作业中的CMC,以保持机架正常运行。 (待续)



管理控制器硬体架构


控制器具有通用硬体功能,包括FPGA多重启动与应变功能、处理器、SDRAM与NOR快闪记忆体配置、中断控制器、序列控制台UART、ICMB RS485客制化核心、Gigabit乙太网路链路、系统监控感测器以及本机I2C汇流排。



在控制器设计上,可使用一个微处理器硬体规格档来共用硬体平台,这个档定义了嵌入式处理器核心实例化、连接和参数化等。微型开机载入(mini boot loader)程式位于内部模块随机存取记忆体(BRAM)中,其可将U-Boot载入程式从快闪记忆体复制到DDR记忆体,然后跳至U-Boot进入点。



运用FPGA的多重启动配置,系统无需管理位元流载入的处理器,便可实现真正的系统内FPGA升级。外部快闪记忆体可支援位于RS针脚所确定位址的「黄金」和「升级」位元档。我们的目标是设计一款可组态的高可用性系统,实现该目标的必要条件是FPGA能在升级镜像出现故障的情况下,利用黄金镜像回覆并重新进行组态。



经组态后,处理器核心可在400MHz速度下运作,交错型系统与MPLB汇流排可于133MHz速度下运作,TEMAC则在125 MHz速度下运作,而DDR2则266 MHz速度下运作。硬体系统包含CMC、IMC和PMC所需的全部功能(如图三所示)。快闪记忆体具有足够的存储空间,可容纳包括CMC、IMC和 PMC组态等的多种应用程式。



客制化IP核心


在软体发展工作启动后,我们随后开发了客制化IP核心,以满足各种需求。虽然现成的处理器核心能满足功能性需求,但简单处理器核心的多个实例(如GPIO)可能会导致处理器本机汇流排(PLB)超量载入与较高的晶片利用率。不用建制多种不同IP界面,借助CIP精灵,可开发整合至XPS中的单一超级GPIO模组。透过让多个GPIO暂存器共用单一IP界面,将大量内外部战存器汇整到单一客制化处理器核心中,其中包括修改、擦除以及内外部GPIO暂存器等。



我们也可使用CIP精灵来开发我们的特定目的客制化IP。该精灵不仅建置了必要的档(如 MPD、PAO、HDL范本)与目录结构,而且还有助选择IP界面服务与用户逻辑界面,并可产生模拟所需的汇流排功能模组。



《图三 CMC(上)、IMC(中)和 PMC(下)的通用硬体架构》


IPMI讯息传送


图四显示的是机架管理控制器及其相应的系统界面。这里使用客制化ICMB协同处理器核心,向处理器管理及界面管理刀锋控制器发送IPMI讯息。 GPIO用于​​监控前面板、背板、冗余、联锁装置以及内部暂存器,而TEMAC则用于控制层乙太网交换器管理。 I2C则用于读取本机模组EEPROM,并对机架风扇和电源进行远端监控。 UART负责前面板用户连接、除错控制台,以及处理器刀锋上的CPU的代理UART。



智慧型机架管理汇流排的即时通讯协定要求成为我们需要解决的问题,因为嵌入式Linux作业系统本身不能保证中断时延。在解决方案中,采用包含PicoBlaze 8位元定序器的客制化ICMB处理器核心,作为ICMB资料链结与实体层协同处理器,可减轻处理器的负载。如图五所示,这种常常被人们忽视的资源,可与BRAM指令库、暂存器、通讯FIFO、UART以及计时器配合使用。



这里可以状态机形式编写PicoBlaze代码,用以监控传输FIFO与控制暂存器,建置碰撞避免及倒退机制演算法,并管理五个UART。




《图四 CMC系统介面》





《图五 定制ICMB PicoBlaze处理器核心》




资料封包在多个UART上同步进入。 PicoBlaze保存每个通道的个别状态资讯。资料封包和资料位元组的开始/结束提示将连同通道数写入RX FIFO中,一旦资料处于可用状态,处理器将获得中断资讯。 RX FIFO将8位元资料、5位元状态(资料封包​​开始/结束、错误提示、除错资讯)、以及3位元通道数资讯传送至处理器。处理器会对资料封包数据进行解多工,如果有效,会将资料上传至服务代理。另外,利用CIP精灵可建立一个汇流排功能模式,无需开发广泛的测试指标或全系统模拟,就能建立汇流排模拟环境,并验证周边核心的运作情况。



这里可使用PicoBlaze组合语言程式的输出对BRAM程式进行初始化,也可使用汇流排功能语言(BFL)描述PLB汇流排传输,来产生一个PicoBlaze重新设定,将数据传至TX FIFO,并写入控制暂存器以便在一个通道上传输资料。通过回送传输和接收埠的方式,可简单地对接收通道和RX FIFO的运作进行验证。



韧体架构


对处理器核心来说,有许多嵌入式作业系统可供选择,包括Linux。重新设定之后,处理器开机程序开始于小型内部BRAM中的重设向量空间。映射到该空间的微型开机载入程式(12KB),负责在NOR快闪记忆体的「升级」或「黄金」位址上寻找一个有效UBoot镜像。由于黄金镜像仅在工厂生产过程中进行编程,因此选择这种方案可避免快闪记忆体编写新UBoot程式时出现故障。处理器一旦检测到并确认适当的UBoot镜像后,便将其载入SDRAM并予以执行。随后,UBoot将载入适当的Linux映像档并最后一次通过控制指令。此时,完全可组奈的Linux核心将载入并开始特定应用处理流程。



设计过程中,我们针对开机顺序将几种选项列入考量范围。比如,微型开机载入程式无需使用BRAM,即可将NOR快闪记忆体映射到重设向量区。如此可以节省一些BRAM空间,但处理器将依赖于有效的NOR快闪记忆体部分和镜像,而该镜像在快闪记忆体故障时可能被毁坏。同样,也可透过直接载入并执行Linux作业系统,从而避免采用UBoot。虽然这种方法是更直接的开机顺序,但UBoot的特性在开发过程中对原型设计和除错极为重要。



在最初的设计阶段中,找出并选择正确的开放源代码tree是其挑战。因此,我们选择使用包含最新修改以及I2C、ENET与LLTEMAC驱动程式的UBoottree Linux开发分支,并开始研究Linux主系统目录tree及其对驱动程式的支援。



《图六 CMC韧体架构》


为了构建UBoot与Linux,一套Linux发行套件、以及可进行交叉编译、连结并建构处理器可执行程式脚本与工具的Linux机器,是有其必要的。现在有几种Windows虚拟机器可在Windows环境下执行Linux。另外一个好处是,一旦建立一个机器,便可备份或复制虚拟机器的磁片镜像,以用于其他开发机器上。



尽管Linux核心提供厚实基础,但实际上应用的全部工作负载都是由驱动成器和应用程式来处理。 I2C与LLTEMAC驱动程式可将Linux IP堆叠连结至硬体,而CloudShield ICMB驱动程式则可将客制化的PicoBlaze IP核心连结至Linux驱动程式子系统中。这里可以使用Busybox作为一种标准Linux应用,并针对CMC机架管理增加三个新的CloudShield应用,如图六所示。



设计、构建、验证与供应


快速设计、开发并提供复杂的嵌入式系统解决方案,可借助FPGA中功能强大的处理器、现成的IP以及客制化IP的快速设计与验证优势。藉由通用硬体设计方案,可开发多种嵌入式系统组态。使用Linux和整合式开发环境的好处在于,能够充分运用现有的开放源码服务、驱动程式和函式库,专注开发各种目标应用。也因此,快速修改内部FPGA嵌入式架构、轻松在系统中进行升级,以及运用最新软硬体权衡使用界线,正在改变目前的嵌入式系统设计。



(本文由美商赛灵思Xilinx所提供)



相关文章
借助自行调适加速平台 机器人快速适应环境变化
借助自行调适系统模组 加速边缘创新
借助Zynq RFSoC DFE因应5G大规模部署挑战
半导体创新成果转化 AI运算世界加速来临
CXL、CCIX和SmartNIC助力 PCIe 5加速飞奔
comments powered by Disqus
相关讨论
  相关新闻
» Nordic上市nRF Cloud设备管理服务 大幅扩展其云端服务
» 是德、新思和Ansys共同开发支援台积电N6RF+制程节点射频设计迁移流程
» 美光32Gb伺服器DRAM通过验证并出货 满足生成式AI应用要求
» Cadence结合生成式AI技术 开创多物理场模拟应用新时代
» AMD公布2024年第一季财报 成长动能来自AI加速器出货增长


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK85E2Q6LU0STACUKY
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw