基于实时操作系统的atca系统中的ipmc及其构建方法

文档序号:7685602阅读:531来源:国知局

专利名称::基于实时操作系统的atca系统中的ipmc及其构建方法
技术领域
:本发明属于电信通信
技术领域
,涉及一种ATCA系统中的IPMC(IntelligentPlatformManagementController),尤其涉及一种基于实时操作系统的ATCA系统中的IPMC;同时,本发明还涉及一种基于实时操作系统的ATCA系统中的IPMC的构建方法。
背景技术
:近年来ATCA(AdvancedTelecomComputingArchitecture,标准即先进的电信计算平台)技术在电信通信领域逐渐获得的广泛应用,特别是一些新兴的通信技术已经把ATCA列为基础的通信计算平台,如果IPTV和WiMAX等。本专利就ATCA刀片产品中的核心技术"智能平台管理控制器(IPMC)"的开发进行论述,对于ATCA刀片产品厂商开发IPMC模块可以提供依据。ATCA是由PICMG于2001年底制定的满足高吞吐量、高可靠性的新一代计算平台标准。ATCA的一个重要特点是集中的机框管理功能,其管理特性相对于传统私有架构的计算刀片和CompactPCI都有了大幅度的提升。目前ATCA在国内的研发主要集中在各种ATCA刀片的生产上,由于每块ATCA刀片都需要一个独立的IPMC管理模块,国内公司在生产ATCA刀片产品时,多采用购买国外公司的IPMC方案进行集成,不但花费巨大而且可定制性有限。本专利则介绍了一种基于实时操作系统开发IPMC的方案,可以帮助ATCA刀片厂商在短时间内开发出符合ATCA规范的IPMC模块。如图1所示,ATCA架构中的管理功能由三级组件来实现(1)系统管理(SystemManager)是整个ATCA架构中最高层的管理实体,它负责管理一个或更多机框。典型的系统管理软件基于RMCP(远程管理控制协议)协议来管理多个机框。(2)机框管理控制器(ShMC)的主要职责是提供各种机框管理和控制功能,如刀片插拔管理、上电/下电/复位控制、功率控制,传感器事件管理,风扇单元状态检测和转速控制,配电单元状态检测和系统温度、电压的检测等。同时机框管理控制器还可用看作是系统管理和现场可管理可置换单元之间的桥梁,它通过IPMC收集刀片、风扇及配电单元上的信息,并向系统管理提供管理和维护这些组件的接口。(3)每块ATCA刀片上都需要内置一个IPMC,它使用IPMB(智能平台管理总线)与机框管理控制器进行通信,并基于IPMI(智能平台管理接口)规范与机框管理控制器进行交互,负责刀片的功率控制、运行状况监测以及热插拔管理等,如图2所示。刀片上的IPMC处理模块应该包含以下功能(1)通过控制负载的上电和下电和改变负载功率,协调刀片对机框电源的使用;(2)通过控制背板的基本接口、交换接口和更新接口,确保刀片互连时协议兼容;(3)监控负载的工作状况,必要时可对其进行诊断、软复位或硬复位;(4)通过非易失存储,保存刀片的资产信息、背板接口支持的连接协议和各类传感器事件定义;(5)监控刀片上的温度、电压传感器等信息,在出现故障时向机框管理控制器或负载发送报告。IPMC的功能比较复杂,如果采用前后台方式在设计程序结构和开发时都具有不小困难。另一方面,传统的前后台方式程序结构无法保证紧急事件得到优先处理,对实时要求较高的事件处理只能放在中断中进行,总体上实时性较差。
发明内容本发明所要解决的技术问题是提供一种能够提高IPMC实时性的ATCA系统中的IPMC。另外,本发明还提供上述IPMC的构建方法。为解决上述技术问题,本发明采用如下技术方案一种基于实时操作系统的ATCA系统中的IPMC,所述系统包括硬件系统及软件系统,所述硬件系统与软件系统连接;所述硬件系统为一微控制器;所述软件系统包括实时控制系统移植模块、硬件接口函数模块、中断处理模块、中断预处理模块、事件处理模块;所述中断预处理模块分别与中断处理模块、事件处理模块连接;所述实时控制系统移植模块用以移植实时操作系统内核;所述硬件接口函数模块用以提供中断驱动及接口操作函数;所述中断处理模块用以处理微控制器的中断;所述中断预处理模块用以读取定时器标志位及接收缓冲区,通过解析标志位和缓冲区内容,生成待处理事件,并将其分门别类放入相应的待处理事件消息队列;所述事件处理模块用以从各自的消息队列中提取待处理事件参数,并通过调用合适的硬件接口函数完成相应的处理任务。作为本发明的一种优选方案,所述ATCA系统包括若干刀片,所述IPMC安装于刀片上;所述微控制器的硬件接口包括RTC接口,用以连接实时时钟模块,实现本地事件日志提供日期及时间信息;Handle接口,用以实现一个热插拔开关;LED控制接口,用以在刀片的工作面版上实现若干个状态指示灯,包括指示刀片当前的工作状态的蓝色LED、指示负载的工作状态的OOSLED、背板的连接状态LED和报警信息LED;Debug接口,用以供用户调试程序或监控IPMC工作状态时使用,输出若干定制的信息;JTAG接口,用以微控制器的在线调试及固件下载更新;HardAddr接口,用以读取刀片所在槽位的硬件地址,由此转换可以得到微控制器进行IPMB通信的所需的I2C地址;UART接口,用以实现IPMC与负载间的报文交互;Reset接口,用以实现IPMC对负载的硬复位操作;E-Keying(电子锁)接口,用以实现对负载的背板连接端口的控制;电源模块接口,用以实现对负载的供电控制,协调ShMC对刀片的用电进行管理并支持功率控制;传感器接口,用以读取温度和电压传感器的读值;OSC接口,用以连接外部晶振;IPMB—A接口,用以实现一条IPMB总线,接收和发送IPMI报文;IPMB—B接口,用以实现一条IPMB总线,接收和发送IPMI报文;所述微控制器内部的EEPROM上还保存了刀片的需要监视的传感器信息和FRU信息。作为本发明的一种优选方案,所述中断处理模块包括Timer中断处理单元、I2C中断单元及UART中断单元,对应处理的中断包括Timer中断、I2C中断及UART中断。作为本发明的一种优选方案,所述Timer中断处理单元执行多个定时间隔的累加和检测,如果规定的定时间隔到设置相应的定时标志位,该标志位通过中断预处理模块解析后会激活相关的定时事件处理;12C中断单元将接受到的数据放入IPMI报文接收缓冲区中,具体的报文校验、解析和处理放在任务中进行;UART中断单元将接收到的数据分别放入UART接收缓冲区中。作为本发明的一种优选方案,所述中断预处理模块用于读取在Timer中断设置的定时间隔标志位,根据标志位的变化与否来决定是否生成LOCAL处理事件,由Timer中断设置的标志位则作为LOCAL事件的处理参数;中断预处理模块负责读取I2C和UART的接收缓冲区,并对缓冲区中接收到的报文进行校验,如果校验正确,则继续对接收到报文进行解析;根据报文解析得到信息更新传感器读值、生成IPMI处理事件或PAYLOAD处理事件;8中断预处理模块还负责通过调用OSMemGet()函数申请内存,将待处理事件的处理参数放入申请的内存中,并以消息队列的方式通知各个事件处理任务;LocalQ消息处理队列主要用于传递定时器事件,12cQ消息队列用于传递ShMC发送来的各类IPMI报文请求,PayloadQ消息队列用于传递负载发送的请求。作为本发明的一种优选方案,所述事件处理模块包括LOCAL事件处理单元、IPMI事件处理单元和PAYLOAD事件处理单元。作为本发明的一种优选方案,所述LOCAL事件处理单元、IPMI事件处理单元和PAYLOAD事件处理单元分别用于各自消息队列中事件的处理;所述事件处理模块事件处理任务的优先级高于中断预处理任务,LOCAL事件处理单元、IPMI事件处理单元和PAYLOAD事件处理单元的优先级依次递减;事件处理任务通过OSQPend()函数来等待队列消息,一但接收到新的消息即被激活;而后从消息指针指向的内存中取得事件处理参数,进行相关事务处理,并通过OSMemPut()函数归还传递事件参数时使用的内存。作为本发明的一种优选方案,所述LOCAL事件处理单元主要处理需要周期执行的任务,把Handle状态监测、负载00S状态检测及更新、LED显示状态更新、IPMB工作状态检测、传感器报警检测;该类事件的处理依据是ATCA和IPMI规范;当Handle状态变化时需要依据刀片的热插拔策略设置位来决定是否发送热插拔请求给ShMC,当IPM^出现故障和传感器越限时需发生报警请求给ShMC。作为本发明的一种优选方案,所述IPMI事件处理单元主要用于处理ATCA规范中规定的IPMI命令,包括E-Keying命令、电源管理命令、热插拔命令、FRU控制命令、传感器命令、事件日志命令、LED命令、IPMB命令、FRU及SDR存储命令、IPMC复位命令、看门狗命令;IPMI事件处理队列从事件参数中提取命令ID,而后根据报文内容参照ATCA和IPMI规范进行命令处理,并构建回应帧,最后依据公平原则选择一条IPMB总线,发送回应帧给ShMC。作为本发明的一种优选方案,所述PAYLOAD事件处理单元用于处理IPMC与负载间的交互,包括负载工作状态更新,负载读取传感器值或刀片逻辑地址等。PAYLOAD事件处理任务从事件参数中提取请求ID,根据负载请求的内容构建回应帧,而后通过UART回复给负载。上述IPMC的构建方法,包括如下步骤步骤A、所述中断处理模块处理微控制器的中断;步骤B、所述中断预处理模块读取定时器标志位及接收缓冲区,通过解析标志位和缓冲区内容,生成待处理事件,并将其分门别类放入相应的待处理事件消息队列;步骤C、所述事件处理模块从各自的消息队列中提取待处理事件参数,并通过调用合适的硬件接口函数完成相应的处理任务。本发明的有益效果在于本发明在微控制器的事件处理中引入了嵌入式实时操作系统,它不但可以简化IPMC的设计和开发,而且也提高了IPMC的实时性。同时,ATCA规范考虑到电信运营商不断增长的需求,采用了全新的设计。特别是这一新规范有助于满足电信设备运营商日益苛刻的要求,包括高可用性、可管理性和互操作性等。而IPMC是保障ATCA刀片产品具有高可用性、可管理性和互操作性的根本,本专利提出的IPMC开发方案可以帮助专有架构的电信刀片厂商快速进入ATCA刀片的生产领域,可以帮他们降低开发成本,并縮短开发周期。图1为现有技术中ATCA系统管理的组成示意图。图2为现有技术中IPMC功能逻辑框图。图3为本发明微控制器的硬件逻辑图。图4为本发明软件系统组成示意图。图5为本发明事件处理流程图。具体实施例方式下面结合附图详细说明本发明的优选实施例。请参阅图4,本发明揭示了一种基于实时操作系统的ATCA系统中的IPMC,该ATCA系统包括若干刀片,所述IPMC安装于刀片上。所述系统包括硬件系统及软件系统;所述硬件系统为一微控制器;所述软件系统包括IPMC硬件接口模块21、实时控制系统移植模块22、硬件接口函数模块23、中断处理模块24、中断预处理模块25、事件处理模块26。所述中断预处理模块25分别与中断处理模块24、事件处理模块26连接;所述硬件系统通过IPMC硬件接口模块21与软件系统连接。首先介绍微控制器,请参阅图3,所述微控制器的硬件接口包括RTC接口,用以连接实时时钟模块,实现本地事件日志提供日期及时间信息;Handle接口,用以实现一个热插拔开关;LED控制接口,用以在刀片的工作面版上实现若干个状态指示灯,包括指示刀片当前的工作状态的蓝色LED、指示负载的工作状态的OOSLED、背板的连接状态LED和报警信息LED;Debug接口,用以供用户调试程序或监控IPMC工作状态时使用,输出若干定制的信息;JTAG接口,用以微控制器的在线调试及固件下载更新;HardAddr接口,用以读取刀片所在槽位的硬件地址,由此转换可以得到微控制器进行IPMB通信的所需的I2C地址;UART接口,用以实现IPMC与负载间的报文交互;Reset接口,用以实现IPMC对负载的硬复位操作;E-Keying接口,用以实现对负载的背板连接端口的控制;电源模块接口,甩以实现对负载的供电控制,协调ShMC对刀片的用电进行管理并支持功率控制;传感器接口,用以读取温度和电压传感器的读值;OSC接口,用以连接外部晶振;IPMB一A接口,用以实现一条IPMB总线,接收和发送IPMI报文;IPMB—B接口,用以实现一条IPMB总线,接收和发送IPMI报文;所述微控制器内部的EEPROM上还保存了刀片的需要监视的传感器信息(电压、温度等)和FRU(现场可置换单元)信息(资产状况、端口类型等)。IPMC的软件系统中需要实现一个状态机,其通过判断Handle开关是否闭合来决定是否使刀片进入工作模式。当单板插入时ATCA刀片的前面板的蓝色LED指示灯点亮,当合上Handle开关时蓝色指示灯闪烁。由IPMC向ShMC上报传感器信息和FRU信息,并进行功率协商。刀片进入工作状态后,蓝色LED指示灯熄灭。当Handle打开时,IPMC向ShMC上报离线请求,蓝色LED指示灯闪烁,机箱管理板通知刀片离线,IPMC给单板下电,并点亮蓝色LED指示灯。当蓝色LED指示灯常亮时,就可以安全的拔出刀片。请参阅图4,结合图4介绍本发明IPMC中的软件系统。本发明的软件系统包括IPMC硬件接口模块21、实时控制系统移植模块22、硬件接口函数模块23、中断处理模块24、中断预处理模块25、事件处理模块26。以下分别叙述。IPMC硬件接口模块21为硬件提供驱动,用于实现硬件系统与软件系统的连接。所述实时控制系统移植模块22用于移植实时操作系统内核。所述硬件接口函数模块23用于接收中断数据,提供中断驱动及接口操作函数;硬件接口函数模块23提供12C驱动、UART驱动、EERPOM驱动、A/D和D/A驱动、handle、LED、Debug、HardAddr、Reset、E-Keying和电源模块等接口的操作函数。所述中断处理模块24用以处理微控制器的中断,包括Timer中断处理单元241、I2C中断单元242及UART中断单元243,对应处理的中断包括Tiraer中断、I2C中断及UART中断,如表1所示。中断名称处理项目功能描述Timer中断TimerChk如果规定的定时间隔到则设置相应的标志位I2C中断固IRev接收IPMB收到的IPMI报文UART中断PayloadRev接收负载发送的请求报文表l德f控制器上的关键中断为了减小中断处理延迟,将中断处理例程尽可能简单化。所述Timer中断处理单元241执行多个定时间隔的累加和检测,如果规定的定时间隔到设置相应的定时标志位,该标志位通过中断预处理模块解析后会激活相关的定时事件处理。I2C中断单元242将接受到的数据放入IPMI报文接收缓冲区中,具体的报文校验、解析和处理放在任务中进行。MRT中断单元243将接收到的数据分别放入UART接收缓冲区中。所述中断预处理模块25用以读取定时器标志位及接收缓冲区,通过解析标志位和缓冲区内容,生成待处理事件,并将其分门别类放入相应的待处理事件消息队列。所述中断预处理模块25用于读取在Timer中断设置的定时间隔标志位,根据标志位的变化与否来决定是否生成LOCAL处理事件,由Timer中断设置的标志位则作为LOCAL事件的处理参数;中断预处理模块负责读取I2C和UART的接收缓冲区,并对缓冲区中接收到的报文进行校验,如果校验正确,则继续对接收到报文进行解析;根据报文解析得到信息更新传感器读值、生成IPMI处理事件或PAYLOAD处理事件;中断预处理模块25还负责通过调用OSM柳Get()函数申请内存,将待处理事件的处理参数放入申请的内存中,并以消息队列的方式通知各个事件处理任务;LocalQ消息处理队列主要用于传递定时器事件,12cQ消息队列用于传递ShMC发送来的各类IPMI报文请求,PayloadQ消息队列用于传递负载发送的请求。所述事件处理模块26用以从各自的消息队列中提取待处理事件参数,并通过调用合适的硬件接口函数完成相应的处理任务。所述事件处理模块26包括LOCAL事件处理单元261、IPMI事件处理单元262和PAYLOAD事件处理单元263,如表2所示。<table>tableseeoriginaldocumentpage13</column></row><table>所述LOCAL事件处理单元261、IPMI事件处理单元262和PAYLOAD事件处理单元263分别用于各自消息队列中事件的处理。所述事件处理模块26事件处理任务的优先级高于中断预处理任务。由于LOCAL事件多涉及人机交互及设备安全,所以优先处理,IPMI事件处理任务的优先级则次之,PAYLOAD事件对实时性无要求,所以优先级设为最低;因此,LOCAL事件处理单元261、IPMI事件处理单元262和PAYLOAD事件处理单元263的优先级依次递减。事件处理任务通过OSQPend()函数来等待队列消息,一但接收到新的消息即被激活;而后从消息指针指向的内存中取得事件处理参数,进行相关事务处理,并通过OSMemPut()函数归还传递事件参数时使用的内存。所述LOCAL事件处理单元261主要处理需要周期执行的任务,如把Handle状态监测、负载00S状态检测及更新、LED显示状态更新、IPMB工作状态检测、传感器报警检测等。该类事件的处理依据是ATCA和IPMI规范。有的事件处理完毕后需要发送请求报文给ShMC,如Handle状态变化时需要依据刀片的热插拔策略设置位来决定是否发送热插拔请求给ShMC,当IPMB出现故障和传感器越限时也要发生报警请求给ShMC。所述IPMI事件处理单元262主要用于处理ATCA规范中规定的IPMI命令,包括E-Keying命令、电源管理命令、热插拔命令、FRU控制命令、传感器命令、事件日志命令、LED命令、IPMB命令、FRU及SDR存储命令、IPMC复位命令、看门狗命令和其他IPMI和ATCA扩展命令。IPMI事件处理队列从事件参数中提取命令ID,然后根据报文'内容参照ATCA和IPMI规范进行命令处理,并构建回应帧,最后依据公平原则选择一条IPMB总线,发送回应帧给ShMC。所述PAYLOAD事件处理单元263用于处理IPMC与负载间的交互,如负载工作状态更新,负载读取传感器值或刀片逻辑地址等。PAYLOAD事件处理任务从事件参数中提取请求ID,根据负载请求的内容构建回应帧,然后通过UART回复给负载。请参阅图5,图5介绍了利用上述IPMC的构建方法,中断处理模块负责接收数据,中断预处理模块负责解析这些数据并生产事件处理参数,然后交给LOCAL、IPMI和PAYL0AD这三个事件处理单元来完成具体的事件处理。具体包括如下步骤步骤A所述中断处理模块处理微控制器的中断。其中,所述中断处理模块处理的中断包括Timer中断、I2C中断及UART中断;Timer中断执行多个定时间隔的累加和检测,若规定的定时间隔到设置相应的定时标志位,该标志位通过中断预处理模块解析后会激活相关的定时事件处理;12C中断中,12C中断单元将接受到的数据放入IPMI报文接收缓冲区中,具体的报文校验、解析和处理放在任务中进行;UART中断中,UART中断单元将接收到的数据分别放入UART接收缓冲区中。步骤B所述中断预处理模块读取定时器标志位及接收缓冲区,通过解析标志位和缓冲区内容,生成待处理事件,并将其分门别类放入相应的待处理事件消息队列。其中,所述中断预处理过程中,所述中断预处理模块读取在Timer中断设置的定时间隔标志位,根据标志位的变化与否来决定是否生成LOCAL处理事件,由Timer中断设置的标志位则作为LOCAL事件的处理参数;中断预处理模块负责读取I2C和UART的接收缓冲区,并对缓冲区中接收到的报文进行校验,如果校验正确,则继续对接收到报文进行解析;根据报文解析得到信息更新传感器读值、生成IPMI处理事件或PAYL0AD处理事件;中断预处理模块通过调用0SMemGet()函数申请内存,将待处理事件的处理参数放入申请的内存中,并以消息队列的方式通知各个事件处理任务;LocalQ消息处理队列主要用于传递定时器事件,12cQ消息队列用于传递ShMC发送来的各类IPMI报文请求,PayloadQ消息队列用于传递负载发送的请求。步骤C所述事件处理模块从各自的消息队列中提取待处理事件参数,并通过调用合适的硬件接口函数完成相应的处理任务。其中,所述事件处理包括LOCAL事件处理、IPMI事件处理和PAYL0AD事件处理;所述事件处理任务的优先级高于中断预处理任务,LOCAL事件处理任务、IPMI事件处理任务和PAYLOAD事件处理任务的优先级依次递减;事件处理任务通过OSQPend()函数来等待队列消息,一但接收到新的消息即被激活;而后从消息指针指向的内存中取得事件处理参数,进行相关事务处1理,并通过OSMemPut()函数归还传递事件参数时使用的内存。所述LOCAL事件处理主要处理需要周期执行的任务,把Handle状态监测、负载OOS状态检测及更新、LED显示状态更新、IPMB工作状态检测、传感器报警检测;该类事件的处理依据是ATCA和IPMI规范;当Handle状态变化时需要依据刀片的热插拔策略设置位来决定是否发送热插拔请求给ShMC,当IPMB出现故障和传感器越限时需发生报警请求给ShMC;所述IPMI事件处理主要用于处理ATCA规范中规定的IPMI命令,包括E-Keying命令、电源管理命令、热插拔命令、FRU控制命令、传感器命令、事件日志命令、LED命令、IPMB命令、FRU及SDR存储命令、IPMC复位命令、看门狗命令;IPMI事件处理队列从事件参数中提取命令ID,而后根据报文内容参照ATCA和IPMI规范进行命令处理,并构建回应帧,最后依据公平原则选择一条IPMB总线,发送回应帧给ShMC。所述PAYLOAD事件处理用于处理IPMC与负载间的交互,包括负载工作状态更新,负载读取传感器值或刀片逻辑地址等。PAYLOAD事件处理任务从事件参数中提取请求ID,根据负载请求的内容构建回应帧,而后通过UART回复给负载。综上,本发明在微控制器的事件处理中引入了嵌入式实时操作系统,它不但可以简化IPMC的设计和开发,而且也提高了IPMC的实时性。同时,ATCA规范考虑到电信运营商不断增长的需求,采用了全新的设计。特别是这一新规范有助于满足电信设备运营商日益苛刻的要求,包括高可用性、可管理性和互操作性等。而IPMC是保障ATCA刀片产品具有高可用性、可管理性和互操作性的根本,本专利提出的IPMC开发方案可以帮助专有架构的电信刀片厂商快速进入ATCA刀片的生产领域,可以帮他们降低开发成本,并縮短开发周期。以上实施例仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。权利要求1、一种基于实时操作系统的ATCA系统中的IPMC,其特征在于所述系统包括硬件系统及软件系统,所述硬件系统与软件系统连接;所述硬件系统为一微控制器;所述软件系统包括实时控制系统移植模块、硬件接口函数模块、中断处理模块、中断预处理模块、事件处理模块;所述中断预处理模块分别与中断处理模块、事件处理模块连接;所述实时控制系统移植模块用以移植实时操作系统内核;所述硬件接口函数模块用以提供中断驱动及接口操作函数;所述中断处理模块用以处理微控制器的中断;所述中断预处理模块用以读取定时器标志位及接收缓冲区,通过解析标志位和缓冲区内容,生成待处理事件,并将其分门别类放入相应的待处理事件消息队列;所述事件处理模块用以从各自的消息队列中提取待处理事件参数,并通过调用合适的硬件接口函数完成相应的处理任务。2、根据权利要求1所述的ATCA系统中的IPMC,其特征在于所述ATCA系统包括若干刀片,所述IPMC安装于刀片上;所述微控制器的硬件接口包括RTC接口,用以连接实时时钟模块,实现本地事件日志提供日期及时间信息;Handle接口,用以实现一个热插拔开关;LED控制接口,用以在刀片的工作面版上实现若干个状态指示灯,包括指示刀片当前的工作状态的蓝色LED、指示负载的工作状态的00SLED、背板的连接状态LED和报警信息LED;Debug接口,用以供用户调试程序或监控IPMC工作状态时使用,输出若干定制的信息;JTAG接口,用以微控制器的在线调试及固件下载更新;HardAddr接口,用以读取刀片所在槽位的硬件地址,由此转换可以得到微控制器进行IPMB通信的所需的I2C地址;UART接口,用以实现IPMC与负载间的报文交互;Reset接口,用以实现IPMC对负载的硬复位操作;E-Keying接口,用以实现对负载的背板连接端口的控制;电源模块接口,用以实现对负载的供电控制,协调ShMC对刀片的用电进行管理并支持功率控制;传感器接口,用以读取温度和电压传感器的读值;0SC接口,用以连接外部晶振;IPMB—A接口,用以实现一条IPMB总线,接收和发送IPMI报文;IPMB—B接口,用以实现一条IPMB总线,接收和发送IPMI报文;所述微控制器内部或外部扩展的EEPROM上还保存了刀片的需要监视的传感器信息和FRU信息。3、根据权利要求1所述的ATCA系统中的IPMC,其特征在于所述中断处理模块包括Timer中断处理单元、I2C中断单元及UART中断单元,对应处理的中断包括Tiraer中断、I2C中断及UART中断。4、根据权利要求3所述的ATCA系统中的IPMC,其特征在于所述Timer中断处理单元执行多个定时间隔的累加和检测,如果规定的定时间隔到设置相应的定时标志位,该标志位通过中断预处理模块解析后会激活相关的定时事件处理;I2C中断单元将接受到的数据放入IPMI报文接收缓冲区中,具体的报文校验、解析和处理放在任务中进行;UART中断单元将接收到的数据分别放入UART接收缓冲区中。5、根据权利要求1所述的ATCA系统中的IPMC,其特征在于所述中断预处理模块用于读取在Timer中断设置的定时间隔标志位,根据标志位的变化与否来决定是否生成LOCAL处理事件,由Timer中断设置的标志位则作为LOCAL事件的处理参数;中断预处理模块负责读取I2C和UART的接收缓冲区,并对缓冲区中接收到的报文进行校验,如果校验正确,则继续对接收到报文进行解析;根据报文解析得到信息更新传感器读值、生成IPMI处理事件或PAYL0AD处理事件;中断预处理模块还负责通过调用0SMemGet()函数申请内存,将待处理事件的处理参数放入申请的内存中,并以消息队列的方式通知各个事件处理任务;LocalQ消息处理队列主要用于传递定时器事件,I2cQ消息队列用于传递ShMC发送来的各类IPMI报文请求,PayloadQ消息队列用于传递负载发送的请求。6、根据权利要求1所述的ATCA系统中的IPMC,其特征在于所述事件处理模块包括LOCAL事件处理单元、IPMI事件处理单元和PAYL0AD事件处理单元。7、根据权利要求6所述的ATCA系统中的IPMC,其特征在于所述LOCAL事件处理单元、IPMI事件处理单元和PAYL0AD事件处理单元分别用于各自消息队列中事件的处理;所述事件处理模块事件处理任务的优先级高于中断预处理任务,LOCAL事件处理单元、IPMI事件处理单元和PAYL0AD事件处理单元的优先级依次递减;事件处理任务通过0SQPend()函数来等待队列消息,一但接收到新的消息即被激活;而后从消息指针指向的内存中取得事件处理参数,进行相关事务处理,并通过OSMemPut()函数归还传递事件参数时使用的内存。8、根据权利要求6或7所述的ATCA系统中的IPMC,其特征在于所述LOCAL事件处理单元主要处理需要周期执行的任务,把Handle状态监测、负载00S状态检测及更新、LED显示状态更新、IPMB工作状态检测、传感器报警检测;该类事件的处理依据是ATCA和IPMI规范;当Handle状态变化时需要依据刀片的热插拔策略设置位来决定是否发送热插拔请求给ShMC,当IPMB出现故障和传感器越限时需发生报警请求给ShMC。9、根据权利要求6或7所述的ATCA系统中的IPMC,其特征在于所述IPMI事件处理单元主要用于处理ATCA规范中规定的IPMI命令,包括E-Keying命令、电源管理命令、'热插拔命令、FRU控制命令、传感器命令、事件日志命令、LED命令、IPMB命令、FRU及SDR存储命令、IPMC复位命令、看门狗命令;IPMI事件处理队列从事件参数中提取命令ID,而后根据报文内容参照ATCA和IPMI规范进行命令处理,并构建回应帧,最后依据公平原则选择一条IPMB总线,发送回应帧给ShMC。10、根据权利要求6或7所述的ATCA系统中的IPMC,其特征在于所述PAYLOAD事件处理单元用于处理IPMC与负载间的交互,包括负载工作状态更新,负载读取传感器值或刀片逻辑地址等。PAYL0AD事件处理任务从事件参数中提取请求ID,根据负载请求的内容构建回应帧,而后通过UART回复给负载。11、权利要求1至10任意一项所述IPMC的构建方法,其特征在于所述方法包括如下步骤步骤A、所述中断处理模块处理微控制器的中断;步骤B、所述中断预处理模块读取定时器标志位及接收缓冲区,通过解析标志位和缓冲区内容,生成待处理事件,并将其分门别类放入相应的待处理事件消息队列;步骤C、所述事件处理模块从各自的消息队列中提取待处理事件参数,并通过调用合适的硬件接口函数完成相应的处理任务。12、根据权利要求11所述的ATCA系统中的IPMC的构建方法,其特征在于所述步骤A中,所述中断处理模块处理的中断包括Timer中断、I2C中断及UART中断;Timer中断执行多个定时间隔的累加和检测,若规定的定时间隔到设置相应的定时标志位,该标志位通过中断预处理模块解析后会激活相关的定时事件处理;12C中断中,12C中断单元将接受到的数据放入IPMI报文接收缓冲区中,具体的报文校验、解析和处理放在任务中进行;UART中断中,UART中断单元将接收到的数据分别放入UART接收缓冲区中。13、根据权利要求11所述的ATCA系统中的IPMC的构建方法,其特征在于步骤B中,所述中断预处理过程中,所述中断预处理模块读取在Timer中断设置的定时间隔标志位,根据标志位的变化与否来决定是否生成LOCAL处理事件,由Timer中断设置的标志位则作为LOCAL事件的处理参数;中断预处理模块负责读取I2C和UART的接收缓冲区,并对缓冲区中接收到的报文进行校验,如果校验正确,则继续对接收到报文进行解析;根据报文解析得到信息更新传感器读值、生成IPMI处理事件或PAYLOAD处理事件;中断预处理模块通过调用OSMemGet()函数申请内存,将待处理事件的处理参数放入申请的内存中,并以消息队列的方式通知各个事件处理任务;LocalQ消息处理队列主要用于传递定时器事件,I2cQ消息队列用于传递ShMC发送来的各类IPMI报文请求,PayloadQ消息队列用于传递负载发送的请求。14、根据权利要求11所述的ATCA系统中的IPMC的构建方法,其特征在于步骤C中,所述事件处理包括LOCAL事件处理、IPMI事件处理和PAYLOAD事件处理;所述事件处理任务的优先级高于中断预处理任务,LOCAL事件处理任务、IPMI事件处理任务和PAYLOAD事件处理任务的优先级依次递减;事件处理任务通过OSQPend()函数来等待队列消息,一但接收到新的消息即被激活;而后从消息指针指向的内存中取得事件处理参数,进行相关事务处理,并通过OSMemPut()函数归还传递事件参数时使用的内存;所述LOCAL事件处理主要处理需要周期执行的任务,把Handle状态监测、负载00S状态检测及更新、LED显示状态更新、IPMB工作状态检测、传感器报警检测;该类事件的处理依据是ATCA和IPMI规范;当Handle状态变化时需要依据刀片的热插拔策略设置位来决定是否发送热插拔请求给ShMC,当IPMB出现故障和传感器越限时需发生报警请求给ShMC;所述IPMI事件处理主要用于处理ATCA规范中规定的IPMI命令,包括E-Keying命令、电源管理命令、热插拔命令、FRU控制命令、传感器命令、事件日志命令、LED命令、IPMB命令、FRU及SDR存储命令、IPMC复位命令、看门狗命令;IPMI事件处理队列从事件参数中提取命令ID,而后根据报文内容参照ATCA和IPMI规范进行命令处理,并构建回应帧,最后依据公平原则选择一条IPMB总线,发送回应帧给ShMC;所述PAYLOAD事件处理用于处理IPMC与负载间的交互,包括负载工作状态更新,负载读取传感器值或刀片逻辑地址等。PAYLOAD事件处理任务从事件参数中提取请求ID,根据负载请求的内容构建回应帧,而后通过UART回复给负载。全文摘要本发明揭示了一种基于实时操作系统的ATCA系统中的智能平台管理控制器(IPMC),所述系统包括硬件系统及软件系统,硬件系统与软件系统连接;硬件系统为一微控制器;软件系统包括实时控制系统移植模块、硬件接口函数模块、中断处理模块、中断预处理模块、事件处理模块;中断预处理模块分别与中断处理模块、事件处理模块连接。本发明在微控制器的事件处理中引入了嵌入式实时操作系统,它不但可以简化IPMC的设计和开发,而且也提高了IPMC的实时性。同时,本发明提出的IPMC开发方案可以帮助专有架构的电信刀片厂商快速进入ATCA刀片的生产领域,可以帮他们降低开发成本,并缩短开发周期。文档编号H04L12/24GK101593128SQ20081003805公开日2009年12月2日申请日期2008年5月26日优先权日2008年5月26日发明者张奇智申请人:上海未来宽带技术及应用工程研究中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1