基于ATCA机架的FRU调试和测试装置
技术领域
本发明属于先进电信计算体系结构技术领域,特别涉及一种现场置换单元(FieldReplaceable Units,FRU)的调试和测试装置。
背景技术
目前,业内领先的电信设备制造商和运营商正在支持一个全新的、开放系统的体系结构,先进电信计算体系结构(Advanced Telecom Computing Architecture,简称AdvancedTCA,ATCA)。ATCA发布了用于下一代电信设备的板卡、底板以及软件规范:PICMG 3.0规范。它是由一个核心规范一PICMG3.0和一系列辅助规范组成。ATCA家族中的核心规范定义了ATCA系列规范中的机构、电源、散热、互联、系统管理部分;辅助规范内容则定义了在核心规范中互联的传输方式。
ATCA主要是一个硬件规范,其平台结构如图1所示。图中机框管理控制器(ShMC)负责完成对ACTA系统中的现场置换单元如单板、电源、风扇、温度传感器的管理。IPMC即智能平台管理控制器,物理空间上主要位于ATCA机架上的每个FRU上面,目前ATCA机架上的每个FRU上都有一个IPMC控制器,这些IPMC控制器通过两条双冗余的智能平台管理总线(Intelligent Platform Management Bus,IPMB)和ShMC进行通信,从而来实现IPMC对FRU的各种管理。平台散热系统(Fan Tray)负责系统散热。交换板(Hub)负责平台数据交换与交换控制。业务板(Node)则负责平台的系统控制、应用业务承载和软件支持等。
按照PICMG3.0规定,IPMB基于I2C总线协议(Inter-Integrated Circuit,简称I2C,该协议最早是Philips公司提出来的,I2C协议采用两根线把所有的设备互连起来,这两根线分别是数据线SDA和时钟线SCL。按照I2C V2.1标准规定,I2C的总线最大驱动能力为400PF,传输速率最高可达3.4Mbps,采用7位地址寻址模式,最多能实现128个设备互连。),ATCA机架上的每个FRU上的IPMC都必须配备有I2C接口,IPMC设备作为I2C总线上的设备有自己的I2C设备地址,作为从设备时能接受I2C总线上属于自己(地址)的数据报文或广播地址,并通过分析能对其进行回应;作为主设备时当然也能往总线上给其他设备传输报文。
IPMC和ShMC之间的IPMB总线结构一般分为总线型(Bused)和星型(Radial)两种。对于总线型ATCA机架,任何时候IPMB总线上传输的数据报文,总线上所有的IPMC都能收到,但最多只会有一个设备被寻址到,并作出回应。因为I2C V2.1协议规定,I2C总线上的设备的地址必须是唯一的,所以任何时候总线上最多只会有一个设备会被寻址到。
对于电信运营商来说,如果在运行现场,ATCA机架上FRU运行和测试过程中出现故障,因为此时机架上有多个FRU在同时运行,故障原因就存在很多可能,也不清楚具体是哪个FRU出现故障,因此如果不借助专用的测量设备(比如示波器等)或专用调试工具(比如仿真器)就很难排除这些故障。
对基于ATCA架构的电信设备制造商而言,在ATCA机架上调试或测试FRU和IPMC时,也存在同样的问题。因为机架上有多个FRU在同时运行,此时整个系统资源,包括电源、管理/数据总线带宽等都是被共享的,如果分析调试过程中的一些问题,不考虑全局资源,比如直流电源功率(IPMC需要同ShMC协商申请)、IPMB总线(所有IPMC和ShMC共用)等的利用情况,也会使IPMC或FRU的调试和测试变得非常困难。
目前很多大的设备制造商,比如Intel、PigeonPoint等公司推出了很多ATCA架构下的管理控制器方面的产品,比如PigeonPoint公司的AdvancedTCA IPM Controller和ATCAManagement Exerciser Board、AdvancedMC Module Management Controller、CompactPCI IPMController等管理控制器。但在基于ATCA机架的FRU调试和测试的问题上还未有好的解决方案和产品。
发明内容
针对上述问题,本发明提供一种基于ATCA机架的FRU调试和测试装置,通过对部分或全部的FRU与ShMC在IPMB上的数据通信过程进行监视,以方便现场运行测试FRU或调试测试IPMC。
为达上述目的,本发明采用如下技术方案:
一种基于ATCA机架的FRU调试和测试装置,包括主数字处理器、从数字处理器和上位机,所述主数字处理器和从数字处理器均包括一个开始位监测电路、一个结束位监测电路和一个用于同时对SCL的上延和下降延进行计数的计数器,
所述从数字处理器用于采集IPMB1上的数据,并将其发送至主数字处理器,
所述主数字处理器用于接受现场调试命令,接收从数字处理器传输的IPMB1上的数据,通过其I/O口采集硬件地址信息,并通过其USI口采集IPMB0上的数据,再将其采集的IPMB0上的数据及从数字处理器传送的IPMB1发送至上位PC机,
所述上位机用于向主数字处理器发送所述调试命令,并接受和解析主数字处理器发送的所述IPMB0上的和IPMB1上的数据。
作为本发明的一种改进,所述主数字处理器和从数字处理器分别设有SPI口(SerialPerpherial Interface,串行外设接口),所述主、从数字处理器通过SPI口进行通信。
其中,所述主数字处理器设有UART口(The Universal Asynchronous serial Receiverand Transmitter),通过所述UART口与上位机通信。
作为本发明的又一改进,还包括一Zonel连接头(Zonel定义了IPMC的地址信号,IPMB总线的时钟和数据信号,定义了双路48V直流电源信号等)和一电源转换模块,所述主数字处理器与从数字处理器与Zonel连接头相连接,所述Zonel连接头用于从机架背板取电并获取IPMB总线数据线和时钟线以及槽位地址信息,所述电源转换模块用于转换所述Zonel连接头从机架背板取得的电压,并分别为主数字处理器和从数字处理器供电。
作为本发明的再一改进,还包括两个与所述主数字处理器相连接的LED指示灯,分别用于指示IPMB0和IPMB1总线是否处于使用状态。
作为本发明的再一改进,还包括两个I2C缓冲器,所述主、从数字处理器设有USI接口,所述采集的IPMB0和IPMB1上的数据经过I2C缓冲器后,通过USI接口分别传输至主、从数字处理器。
作为本发明的再一改进,还包括一与主数字处理器复位引脚相连接的复位按钮。
作为本发明的再一改进,所述从数字处理器的复位引脚与主数字处理器相连接。即从数字处理器的复位由主数字处理器来完成。
本发明使得现场运行测试FRU或调试测试IPMC变得非常直观和方便,可在上位机的人机界面完成IPMB总线数据的接受和解析,并根据用户内容解释整个数据报内容。使测试和研发人员能够方便、高效地完成对IPMC或FRU的测试和调试。
附图说明
图1为现有ATCA平台结构示意图;
图2为本发明基于ATCA机架的FRU调试和测试装置实施例示意图;
图3为I2C协议下的总线上一活动的典型时序图。
图4为本发明实施例基于ATCA机架的FRU调试和测试装置中主、从数字处理器SPI通信接口示意图。
具体实施方式
如图2所示,一种基于ATCA机架的FRU调试和测试装置,包括主数字处理器、从数字处理器、上位机、Zonel(Zonel定义了IPMC的地址信号,IPMB总线的时钟和数据信号,定义了双路48V直流电源信号等)连接头、和一电源转换模块、两个LED指示灯,其中,所述主数字处理器和从数字处理器均包括一个开始(Start)位监测电路、一个结束(Stop)位监测电路和一个用于同时对SCL的上延和下降延进行计数的计数器;所述主数字处理器与从数字处理器与Zonel连接头相连接;所述Zonel连接头用于从机架背板取电,并获取IPMB总线数据线和时钟线以及槽位地址信息等,所述电源转换模块用于转换所述Zonel连接头从机架背板取得的电压,并分别为主数字处理器和从数字处理器供电(本实施例中为将直流-48V转换为直流3.3V,功率为10W)。图2中,管脚EARLY_A和-48V A的区别是针的长短不一样,EARLY_A针较-48V_A针长一些,所以在FRU插入ATCA机架背板时,EARLY_A要先上电,可以通过EARLY_A预取电。所述两个LED指示灯与所述主数字处理器相连接的,用于分别指示IPMB0和IPMB1总线是否处于使用状态。
所述从数字处理器用于采集IPMB1上的数据,并将其发送至主数字处理器,
所述主数字处理器用于接受现场调试命令,接收从数字处理器传输的IPMB1上的数据,通过其I/O口采集硬件地址信息,并通过其USI口采集IPMB0上的数据,再将其采集的IPMB0上的数据及从数字处理器传送的IPMB1发送至上位PC机,
所述上位机用于向主数字处理器发送所述调试命令,并接受和解析主数字处理器发送的所述IPMB0上的和IPMB1上的数据。
其中,所述主、从数字处理器可采用Atmel公司的带有USI接口(通用串行接口)的低功耗8位RISC Atmega169系列芯片。上位机可以是一带有RS232接口的PC机或笔记本电脑。IPMB总线检测通过RISC Atmega169的USI接口完成,该USI接口作为IPMB上的从设备;但USI接口的寻址是完全采用软件控制的,可以监控总线上的所有数据帧,而不影响总线上其他的I2C设备的正常通信。
其中,所述主数字处理器设有UART口,通过所述UART该口与上位机通信。
其中,所述主数字处理器和从数字处理器还分别设有SPI口,所述从主数字处理器将采集到的IPMB1上的数据通过SPI口发送至所述主数字处理器,所述主数字处理器接受并处理该数据后,将其发送至上位机。所述主数字处理器和从数字处理器的SPI口的连接方式如图4所示。主数字处理器和从数字处理器之间的通信是全双工通信,图4中,SCK是时钟线,主要由主设备产生(需要传输时,由内部固件程序运行产生时钟信号);MOSI(Master Out and SlaveIn)线是主机输出数据到从机的数据线;MISO(Master In and Slave Out)线是从机输出数据到主机的数据线;SS(Slave Select)是从机选择信号,主要用于一主多从方式下的通信。另外还有两条线分别接到主从处理器的外部中断INT0管脚上,主要是用作通信中的握手信号(比如从处理器的传输请求和主处理器的传输通知),另外为了提高通信效益,主从处理器接受完成后都要中断发送方,以表示接受完成,以便发送方可以继续发下一个数,这都是通过这两根线完成的。
此外,为了保证在ATCA机架上对我们的这个装置进行热插拔时,不会对IPMB总线上的其他I2C设备通信产生太大的影响,进一步地,还包括的两个I2C缓冲器,所述主、从数字处理器设有USI接口,所述两个I2C缓冲器分别设于IPMB和主、从数字处理器的USI口之间,所述采集的IPMB0和IPMB1上的数据经过I2C缓冲器后,通过USI接口分别传输至主、从数字处理器。其中,I2C缓冲器可以采用Linear公司的LTC4300-1,主要起加速I2C总线上的信号跳变延的上升时间作用,达到I2C标准中要求的400pF的最大驱动能力(PICMG3.0规范中将这个值加大到900pF),I2C总线总共是两根线,一根是数据线(SDA),一根是时钟线(SCL),分别连接到数字处理器的USI的数据线和时钟线上。
其中,还包括一与主数字处理器复位引脚相连接的复位按钮,所述从数字处理器的复位引脚与主数字处理器相连接。即从数字处理器的复位由主数字处理器来完成。
上述基于ATCA机架的FRU调试和测试装置工作过程如下:
1、IPMB总线数据读取
上位机配置和控制主、从数字处理器的USI口,使其成为TWI(Two Wire Interface,两线接口)模式,并模拟成I2C总线从设备,分别读取IPMB0和IPMB1总线上的所有数据,并把接受到的数据按顺序放入环形队列中。
根据I2C协议,总线上的任何活动都是以一个Start起始信号开始,以Stop信号结束。中间是数据帧,并且第一个9bit数据是7bit的地址、1bit的读写方向位和1bit的ack/nack信号,接下来的根据具体应用不同,发送的数据帧的长度也不尽相同。其典型时序图如图3所示。
数字处理器的USI口有丰富的硬件资源,比如有一个起始位Start位监测电路、一个Stop位监测电路和一个能对SCL的上延和下降延同时进行计数并有溢出中断功能的4Bit计数器。那么我们可以配置数字处理器的USI口,通过软件协助来实现我们所需要的兼容Philips的I2C接口的两线接口,即一根时钟线SCL和一根数据线SDA。我们通过监测Start位中断、Stop位中断、计数器溢出中断。来对总线上的数据进行监测,以此来读取IPMB0/IPMB1总线上的所有数据,并通过UART串口传给上位PC机。
2、从数字处理器数据上传
从数字处理器通过SPI口将其读取的IPMB1数据发送给主数字处理器。
主设备和从设备的SPI接口图采用如下方式连接,采用半双工实时通信方式。
SPI硬件上本身是支持全双工通信的,而且收和发的时钟是同步的,即启动一次传输可以完成主设备数据移入从设备,同时可以完成从设备的数据移入主设备。但这里使用的是半双工,即同一时刻,只能有一个方面的数据传输。这里传输的数据单位是按照字节进行的传输,传输的数据按报文进行组织。
3、主/从数字处理器数据上传
主数字处理器监视一条IPMB0,从数字处理器监视IPMB1,从设备监视到IPMB1的数据后,通过SPI口传给主设备,然后由主设备直接发到串口。如果主设备监视到IPMB0的数据后,直接发到串口。根据PICMG规定,这两条总线上不可能同时有数据。
4、解析IPMB报文
目前报文解析是上位机根据IPMI协议解析的。上位机的人机界面,可采用微软(Micrsoft)公司的Visaual C++6.0编制完成,整个程序资源主要由两个线程和一个中断服务程序组成,一个是工作界面线程,另一个是显示IPMB数据线程。以完成对上位机从IPMB总线监测控制器的串口上所读取的IPMB报文的解析和存储。
通过IPMB总线监测控制器对Bused IPMB上的报文的收集和上位机对报文的解析,用户可以清楚的看到总线上的所有活动情况,包括所有IPMC同ShMC的整个协商过程,以及各种异常现场,当然,也可以有针对性地对特定地址的FRU进行监控。这样,调试过程中的FRU上电和断电过程都可以监控;上电完成后,FRU运行状态也可以监控,还可以结合ShMC的C1I进行调试,从而使得FRU的调试变得即简单、方便又很经济,而且能够快捷准确的定位问题。