一种基于硬件仲裁的边带管理电路及方法转让专利

申请号 : CN202010612890.7

文献号 : CN111800226B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄剑雄王剑峰史阳春李海松岳红菊高利军王斌杨博

申请人 : 西安微电子技术研究所

摘要 :

本发明公开了一种基于硬件仲裁的边带管理电路及方法,边带管理电路中接收帧处理单元、简化介质独立接口、硬件仲裁单元、寄存器和发送帧处理单元均与主控制单元连接,系统总线接口、接收帧处理单元和发送帧处理单元均与通道仲裁单元连接,接收帧处理单元、发送帧处理单元和硬件仲裁单元均与简化介质独立接口连接。本发明基于硬件仲裁的边带管理电路在硬件上仅需增加两个外部引脚,通过环路上的设备之间直接进行仲裁操作码收发进行硬件仲裁控制,整个仲裁过程无需BMC与电路之间进行命令响应交互,减少了仲裁的等待时间;采用令牌传递的策略进行发送器的选定,仅持有令牌者可以进行数据发送,确保了发送权的传递,避免了发送冲突,提升了处理的效率。

权利要求 :

1.一种基于硬件仲裁的边带管理电路,其特征在于,包括主控制单元、硬件仲裁单元、通道仲裁单元、接收帧处理单元、发送帧处理单元、简化介质独立接口、寄存器和系统总线接口;接收帧处理单元、简化介质独立接口、硬件仲裁单元、寄存器和发送帧处理单元均与主控制单元连接,系统总线接口、接收帧处理单元和发送帧处理单元均与通道仲裁单元连接,接收帧处理单元、发送帧处理单元和硬件仲裁单元均与简化介质独立接口连接;

其中:

主控制单元用于进行边带管理电路的控制,包括简化介质独立接口的配置,硬件仲裁单元的启动控制,电路状态迁移控制,启动或关闭硬件仲裁单元,生成响应码与原因码,并进行数据帧收发使能控制;

硬件仲裁单元基于硬件仲裁引脚,用于进行硬件仲裁控制、操作码编解码、令牌处理及超时处理,并将仲裁结果送至主控制单元;

通道仲裁单元用于基于各通道的状态,完成发送与接收数据帧的通道选择;

接收帧处理单元用于对来自于BMC的接收帧进行类型判决,并对BMC送至的命令帧进行数据帧解析、校验,并将提取到的命令帧头信息告知主控制单元,对于接收到的非命令帧pass through进行帧长和循环冗余校验CRC,丢弃非法pass through帧,将通过目的地址和源地址匹配的数据帧送至通道仲裁单元;

发送帧处理单元用于根据主控制单元生成的响应码与原因码,进行发送帧组帧,对来自于通道仲裁单元的pass through帧,依据BMC的命令所配置的过滤规则,进行pass through帧过滤,并在边带管理电路的状态发生迁移时,产生异步事件帧,并按照待发送数据帧的优先级将发送帧依次送至简化介质独立接口;

简化介质独立接口用于实现边带管理电路与BMC之间的信息交互,包含数据帧的发送与接收存储功能;

寄存器用于存储配置信息以及命令的配置参数;

系统总线接口用于与控制器的数据交互;

基于硬件仲裁引脚,通过以太网系统环路上电路之间的仲裁操作码交互实现,包括如下步骤:

S1、以太网系统环路上电复位完成后,以太网系统环路上所有边带管理电路中的硬件仲裁单元发送空闲码;

S2、在仲裁过程启动后,以太网系统环路上所有边带管理电路的硬件仲裁单元开始发送包含边带管理电路ID号的清除命令到以太网系统环路上其他的边带管理电路;

S3、以太网系统环路中的本地边带管理电路在接收清除命令过程中,本地边带管理电路将转发ID号比自身ID号小的清除命令;对于ID号比自身ID大的清除命令,将替换为自身ID号后进行转发;当所接收到的清除操作码中的ID号与自身ID号相等时,该本地边带管理电路被确定为仲裁主设备;

S4、在仲裁主设备持有令牌时,仲裁主设备可以进行数据发送,在发送完毕后,释放令牌。

2.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,主控制单元具体的工作过程包括:控制电路的工作状态,配置简化介质独立接口,根据仲裁结果,进行数据帧收发使能控制,并依据配置信息、命令错误指示信号,产生命令帧响应所需要的响应码与原因码,并送至数据帧发送控制单元,在命令帧响应发送完成时,接收响应帧发送完成标志信息;当接收到命令错信号时,产生异常命令响应码与原因码,并送至数据帧发送控制单元。

3.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,硬件仲裁单元包括硬件仲裁控制模块以及与硬件仲裁控制模块连接的操作码编解码器、令牌处理模块和超时管理模块;

硬件仲裁控制模块用于根据硬件仲裁的使能状态、接收到的仲裁操作码,通过有限状态机对仲裁的工作状态进行管理;

操作码编解码器用于对接收到的操作码进行解码,并负责产生满足要求的操作码;

令牌处理模块用于依据是否接收到令牌操作码,给出持有令牌或释放令牌的标志信号,送至硬件仲裁控制模块;

超时管理模块,用于记录未接收令牌的时间,如果超过未持有令牌的时长上限则产生令牌超时标识信号,告知硬件仲裁控制模块。

4.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,通道仲裁单元在发送数据帧时,发送通道优先级随着通道标号的增大,依次降低,对于接收到的pass through帧,仍在接收数据通道上传递,通道标号不变。

5.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,接收帧处理单元具体的工作过程包括:从简化独立介质接口接收数据帧,根据以太网帧头中的类型字段进行数据帧判决,当以太网帧类型为16进制88F8时,接收到的BMC数据帧为命令帧,则进行命令参数的提取,否则为pass through帧,进行格式检查和过滤;进行数据帧格式检查时,当发现接收数据帧的帧长错、CRC错误、命令参数配置错误或校验和错误时,将根据接收帧是否为命令帧,产生命令错指示信号或丢弃非法pass through帧,并告知主控制单元;根据以太网的帧类型,分别对接收到的pass through帧、命令帧进行数量统计;根据BMC对于边带管理电路状态的配置及过滤参数配置情况,根据pass through帧的帧头信息对pass through帧进行过滤,并送至通道仲裁单元。

6.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,数据帧发送控制单元具体的工作过程包括:依据主控制单元的原因码与响应码,进行响应帧组帧;对通道仲裁单元送至的pass throug帧,依据帧头信息及由BMC通过命令配置的发送数据帧规则,进行发送pass through帧过滤;在边带管理电路的工作状态发生改变时,产生异步事件帧;将来自于通道仲裁单元的pass through帧,组帧后的命令响应帧及异步事件帧,按照命令响应帧、异步事件帧和pass through帧优先级依次降低的顺序,依次送至简化介质独立接口,在发送完成时,将响应完成标志信号送至主控制单元;在多通道同时使能的情况下,按照发送优先级从高到低的顺序,高优先级的通道首先发送整帧数据,次优先级的通道随后发送整帧数据,并依次进行发送数据帧轮询。

7.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,系统总线接口遵循高级外围总线协议或高级高性能总线协议。

8.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,简化介质独立接口上设置有输入信号arb_i管脚和输出信号arb_o管脚,用于进行硬件仲裁操作码的收发;采用数据帧发送及接收先入先出单元FIFO对发送和接收数据进行存储,设置接收和发送阈值,分别控制接收FIFO的占用量避免上溢以及发送FIFO的占用量避免下溢,实现边带管理电路与BMC之间数据帧的可靠收发;所有数据通道共享同一个简化介质独立接口。

9.根据权利要求1所述的一种基于硬件仲裁的边带管理电路,其特征在于,寄存器存储电路的配置信息、通道链路状态、“链路设置”和“获取链路状态”命令的参数。

说明书 :

一种基于硬件仲裁的边带管理电路及方法

技术领域

[0001] 本发明涉及网络控制器边带接口(Network Controller Sideband Interface,NC‑SI)技术领域,尤其是涉及以太网控制器与基板管理控制器(Baseboard Management Controller,BMC)之间的边带通信,具体涉及一种基于硬件仲裁的边带管理电路及方法。

背景技术

[0002] 以太网能够满足通信系统间网络通信的安全性需求,具有高性能,易拓展,并支持同轴电缆、双绞线、光纤等多种连接方式的特点,在军事、商业、工业控制等领域得到广泛应用。
[0003] 以太网控制器是以太网的核心器件之一,其基于IEEE802.3协议为以太网信息系统处理和传输数据帧,是信息系统性能的重要决定因素之一。以太网控制器支持两个网口之间的数据传输,还可以基于NC‑SI接口,接收BMC的指令,实现BMC对于以太网控制器的管理。NC‑SI协议的主要目的是基于IEEE802.3协议实施BMC对于以太网控制器的管理功能和数据包的pass through功能性服务。基于NC‑SI接口,引入发送仲裁机制,可以支持以太网网络中存在多个以太网控制器,由通过仲裁并被选中的一个以太网控制器进行数据包的发送。以太网控制权的仲裁过程可以基于BMC发送的命令进行,也可以通过硬件仲裁引脚进行。依据BMC的命令进行仲裁的方式,需要以太网控制器根据BMC发出的仲裁命令序列,通过边带管理控制器给出相应的命令响应序列,在多次信息交互之后完成仲裁过程。该过程BMC需要等待所有发送命令的响应,在响应接收完成之后,才能够进行后续命令的发送,选中满足要求的以太网控制器的过程需要较长的等待时间,信息交互效率较低。

发明内容

[0004] 本发明目的在于针对以太网边带管理电路与BMC之间的信息交互效率问题,提供一种基于硬件仲裁的边带管理电路及方法,本发明是一种基于高效硬件仲裁编码器实现硬件仲裁的边带管理电路,能够进一步提高以太网控制器与BMC之间的信息交互效率。
[0005] 本发明采用以下技术方案:
[0006] 一种基于硬件仲裁的边带管理电路,包括主控制单元、硬件仲裁单元、通道仲裁单元、接收帧处理单元、发送帧处理单元、简化介质独立接口、寄存器和系统总线接口。接收帧处理单元、简化介质独立接口、硬件仲裁单元、寄存器和发送帧处理单元均与主控制单元连接,系统总线接口、接收帧处理单元和发送帧处理单元均与通道仲裁单元连接,接收帧处理单元、发送帧处理单元和硬件仲裁单元均与简化介质独立接口连接;其中,主控制单元用于进行边带管理电路的控制,包括简化介质独立接口的配置,硬件仲裁单元的启动控制,电路状态迁移控制,启动或关闭硬件仲裁,生成响应码与原因码,并进行数据帧收发使能控制;硬件仲裁单元基于硬件仲裁引脚,用于进行硬件仲裁控制、操作码编解码、令牌处理及超时处理,并将仲裁结果送至主控制单元;通道仲裁单元用于基于各通道的状态,完成发送与接收数据帧的通道选择;接收帧处理单元用于对来自于BMC的接收帧进行类型判决,并对BMC送至的命令帧进行数据帧解析、校验,并将提取到的命令帧头信息告知主控制单元,对于接收到的非命令帧passthrough进行帧长和循环冗余校验CRC,丢弃非法pass through帧,将通过目的地址和源地址匹配的数据帧送至通道仲裁单元;发送帧处理单元用于根据主控制单元生成的响应码与原因码,进行发送帧组帧,对来自于通道仲裁单元的pass through帧,依据BMC的命令所配置的过滤规则,进行pass through帧过滤,并在边带管理电路的状态发生迁移时,产生异步事件帧,并按照待发送数据帧的优先级将发送帧依次送至简化介质独立接口;简化介质独立接口用于实现边带管理电路与BMC之间的信息交互,包含数据帧的发送与接收存储功能;寄存器用于存储配置信息以及命令的配置参数;系统总线接口为边带管理电路与控制器的数据交互接口。
[0007] 优选的,主控制单元具体的工作过程包括:控制电路的工作状态,配置简化介质独立接口,根据仲裁结果,进行数据帧收发使能控制,并依据配置信息、命令错误指示信号,产生命令帧响应所需要的响应码与原因码,送至数据帧发送控制单元,在命令帧响应发送完成时,接收响应帧发送完成标志信息;当接收到命令错信号时,产生异常命令响应码与原因码,送至数据帧发送控制单元。
[0008] 优选的,硬件仲裁单元包括硬件仲裁控制模块、操作码编解码器、令牌处理模块和超时管理模块,操作码编解码器、令牌处理模块和超时管理模块均与硬件仲裁控制模块连接;硬件仲裁控制模块用于根据硬件仲裁的使能状态、接收到的仲裁操作码,通过有限状态机对仲裁的工作状态进行管理;操作码编解码器用于对接收到的操作码进行解码,并负责产生满足要求的操作码;令牌处理模块用于依据是否接收到令牌操作码,给出持有令牌或释放令牌的标志信号,送至硬件仲裁控制模块;超时管理模块,用于利用计数器记录未接收令牌的时间,如果超过未持有令牌的时长上限则产生令牌超时标识信号,告知硬件仲裁控制模块。
[0009] 优选的,通道仲裁单元最多可支持32个数据通道,对于发送数据帧,发送通道优先级随着通道标号的增大,依次降低,如通道0的发送优先级最高,通道31的发送优先级最低;对于接收到的pass through帧,仍在接收数据通道上传递,通道标号不变。
[0010] 优选的,接收帧处理单元具体的工作过程包括:从简化独立介质接口接收数据帧,根据以太网帧头中的类型字段进行数据帧判决,当以太网帧类型为16进制“88F8”时,接收到的BMC数据帧为命令帧,则进行命令参数的提取,否则为pass through帧,进行格式检查和过滤;进行数据帧格式检查时,当发现接收数据帧的帧长错、CRC错误、命令参数配置错误或校验和错误时,将根据接收帧是否为命令帧,产生命令错指示信号或丢弃非法pass through帧,并告知主控制单元;根据以太网的帧类型,分别对接收到的pass through帧、命令帧进行数量统计;根据BMC对于边带管理电路状态的配置及过滤参数配置情况,根据pass through帧的帧头信息对pass through帧进行过滤,并送至通道仲裁单元。
[0011] 优选的,数据帧发送控制单元具体的工作过程包括:依据主控制单元的原因码与响应码,进行响应帧组帧;对通道仲裁单元送至的pass throug帧,依据帧头信息及由BMC通过命令配置的发送数据帧规则,进行发送pass through帧过滤;在边带管理电路的工作状态发生改变时,产生异步事件帧;将来自于通道仲裁单元的pass through帧,组帧后的命令响应帧及异步事件帧,按照命令响应帧、异步事件帧和pass through帧优先级依次降低的顺序,依次送至简化介质独立接口,在发送完成时,将响应完成标志信号送至主控制单元;在多通道同时使能的情况下,按照发送优先级从高到低的顺序,高优先级的通道首先发送整帧数据,次优先级的通道随后发送整帧数据,并依次进行发送数据帧轮询。
[0012] 优选的,系统总线接口为数据通道与外部设备的交互接口,遵循高级外围总线(APB)协议或高级高性能总线(AHB)协议。
[0013] 优选的,简化介质独立接口基于《RMII TM规范‑1998》进行了改进设计,增加了输入信号arb_i管脚和输出信号arb_o管脚,用于进行硬件仲裁操作码的收发;采用数据帧发送及接收先入先出单元FIFO对发送和接收数据进行存储,设置接收和发送阈值,分别控制接收FIFO的占用量避免上溢以及发送FIFO的占用量避免下溢,实现边带管理电路与BMC之间数据帧的可靠收发;所有数据通道如0~N(N≤31)共享同一个简化介质独立接口。
[0014] 优选的,寄存器存储电路的配置信息、通道链路状态、“链路设置”和“获取链路状态”命令的参数。
[0015] 本发明的硬件仲裁的方法,基于硬件仲裁引脚,通过以太网系统环路上电路之间的仲裁操作码交互实现,具体包括如下步骤:
[0016] S1、以太网系统环路上电复位完成后,以太网系统环路上所有边带管理电路中的硬件仲裁单元发送空闲码;
[0017] S2、在仲裁过程启动后,以太网系统环路上所有边带管理电路中的硬件仲裁单元开始发送包含边带管理电路ID号的清除命令到以太网系统环路上其他的边带管理电路;
[0018] S3、以太网系统环路中的本地边带管理电路在接收清除命令过程中,本地边带管理电路将转发ID号比自身ID号小的清除命令;对于ID号比自身ID大的清除命令,将替换为自身ID号后进行转发;当所接收到的清除操作码中的ID号与自身ID号相等时,该本地边带管理电路被确定为仲裁主设备;
[0019] S4、在仲裁主设备持有令牌时,在仲裁主设备可以进行数据发送,在发送完毕后,释放令牌。
[0020] 本发明具有如下有益效果:
[0021] 本发明基于硬件仲裁的边带管理电路在硬件上仅需增加两个外部引脚(即硬件仲裁引脚),通过环路上的设备之间直接进行仲裁操作码收发进行硬件仲裁控制,整个仲裁过程无需BMC与电路之间进行命令响应交互,减少了仲裁的等待时间;采用令牌传递的策略进行发送器的选定,仅持有令牌者可以进行数据发送,确保了发送权的传递,避免了发送冲突,提升了边带管理电路数据处理的效率;同时,所述边带管理电路实现了错误帧检测与处理、高效的数据收发存储策略,进一步提升了边带管理电路数据帧处理的可靠性。
[0022] 本发明硬件仲裁的方法,利用边带管理电路和网络中被传递的令牌,让以太网系统环路中多个以太网控制器通过仲裁编码进行判决,实现令牌轮询,仅持有令牌的以太网控制器,具有数据包发送的权利。相比于命令仲裁,本发明的硬件仲裁方法无需进行以太网控制器与BMC之间的信息交互,具有更高的网络控制器选通效率。

附图说明

[0023] 图1本发明基于硬件仲裁的边带管理电路的应用示意图;
[0024] 图2本发明基于硬件仲裁的边带管理电路的实现框图;
[0025] 图3本发明主控制单元的状态迁移图;
[0026] 图4本发明硬件仲裁单元实现框图;
[0027] 图5本发明数据帧发送状态迁移图;
[0028] 图6本发明硬件仲裁操作码接收判决流程。

具体实施方式

[0029] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0030] 本发明提出一种基于硬件仲裁的边带管理电路及方法,适于处理BMC与以太网控制器之间的边带数据交互业务;基于硬件仲裁实现环路上发送权的判决,无需BMC与电路之间进行命令响应交互,缩短了多个设备仲裁的等待时间;采用令牌轮询的方式进行发送权传递,既能避免链路上设备长期占用网络,还能减少竞争,避免了网络堵塞,提升了边带管理电路数据处理的效率;所述边带管理电路实现了错误帧检测与处理、高效的数据收发存储策略,进一步提升了边带管理电路数据帧处理的可靠性。
[0031] 本发明利用主控制单元进行边带管理电路的控制,包括硬件仲裁的启动控制、数据收发使能控制、简化介质独立接口配置、电路状态迁移控制、命令处理以及原因码与响应码产生;利用硬件仲裁单元,采用仲裁控制模块对硬件仲裁状态机进行调度,采用操作码编解码器对硬件仲裁引脚接收到的操作码进行解码,并进行待发送操作码的编码,采用令牌处理模块依据数据帧发送的需求及仲裁结果,执行持有或转发令牌的操作,并采用超时管理模块记录未接收令牌的时间,当计时超过指定时限时,告知仲裁控制模块;利用发送帧处理单元,实现发送帧优先级确认、发送pass through解析、格式检查与过滤、响应帧及异步事件帧组帧,并按照优先级将待发送数据帧送至简化介质独立接口;利用接收帧处理单元,对接收数据帧进行解析,提取命令参数,并进行pass through帧规则检查与过滤,将有效的、通过过滤匹配的pass through帧送至通道仲裁单元;利用通道仲裁单元,依据数据帧收发及通道的优先级,进行收发数据帧通道选择;利用寄存器存储配置信息及相关的命令配置参数;利用系统总线接口,实现以太网控制器与边带管理电路之间的数据交互。
[0032] 如图2所示,本发明基于硬件仲裁的边带管理电路包括主控制单元、硬件仲裁单元、通道仲裁单元、接收帧处理单元、发送帧处理单元、简化介质独立接口、寄存器和系统总线接口;接收帧处理单元、简化介质独立接口、硬件仲裁单元、寄存器和发送帧处理单元均与主控制单元连接,系统总线接口、接收帧处理单元和发送帧处理单元均与通道仲裁单元连接,接收帧处理单元、发送帧处理单元和硬件仲裁单元均与简化介质独立接口连接。
[0033] 其中,主控制单元,用于根据当前电路的工作状态以及仲裁结果,进行电路工作模式调度与数据帧收发使能控制,并依据命令参数、接收帧处理单元送至的命令错误指示信号,产生响应码与原因码,并送至数据帧发送控制单元,并在响应帧发送完毕后,接收响应完成标志信号;特别的,当接收到命令错信号时,产生非法命令标志信号;对简化介质独立接口进行初始化配置。
[0034] 如图4所示,硬件仲裁单元包括硬件仲裁控制模块以及与硬件仲裁控制模块连接的操作码编解码器、令牌处理模块和超时管理模块,硬件仲裁控制模块根据硬件仲裁的使能状态、接收到的操作码,通过有限状态机对仲裁的工作状态进行调度;操作码编解码器,对硬件仲裁引脚收到的操作码进行解码,将码字结果告知主控制单元,并进行操作码编码;令牌处理模块依据数据帧发送的需求及仲裁结果是否判定为主设备为前提,当接收到令牌时,主设备在有数据发送需求时持有令牌,否则转发令牌;超时管理模块,记录有数据帧待发送的边带管理电路未持有令牌的时间,如果设备未持有令牌的时间超过上限则产生超时标志,告知硬件仲裁控制模块,重启仲裁过程。
[0035] 通道仲裁单元用于进行pass through数据帧传输通道的选择,发送数据帧,最多可能来自32个数据通道,依次标记为0~31号,且通道的优先级随通道标号增大而降低,对于所有使能发送的通道,通道标号最小的具有最高发送优先级,标号第二小的具有第二优先级,依此类推;接收到的pass through帧仍在当前接收pass through帧的通道传输,通道标号不变。
[0036] 接收帧处理单元从简化介质独立接口接收数据帧,根据以太网帧头中的类型字段进行数据帧判决,对于以太网帧类型为16进制88F8的BMC命令帧,提取命令参数,并进行校验和、帧长及循环冗余校验CRC,在命令帧出现错误时,产生命令错指示信号送至主控制单元;对以太网帧类型不等于16进制88F8的pass through帧,进行帧长和CRC校验,错误帧将被丢弃,格式正确的pass through帧将进行目的地址及源地址过滤,而通过过滤的pass through帧被送至通道仲裁单元。
[0037] 数据帧发送控制单元,依据通道仲裁的优先级,具有最高优先级的通道首先发送一个完整数据帧,而次优先级的通道随后发送数据帧,并按通道优先级进行发送轮询;对通道仲裁单元送至的待发送pass through帧进行解析,根据帧头中的目的地址、源地址、VLAN标识进行接收数据帧格式过滤,并进行pass through帧的帧长检查及CRC校验,丢弃非法pass through帧;根据原因码与响应码进行BMC命令响应帧的组帧,并在边带管理电路出现工作状态迁移时,产生异步事件帧;待发送数据帧按照响应帧、异步事件帧和pass through帧优先级从高到低的顺序进行排序,并送至简化介质独立接口,并将响应完成标志信号送至主控制单元。
[0038] 系统总线接口为数据通道与外部设备的交互接口,遵循高级外围总线(APB)或高级高性能总线(AHB)等协议。
[0039] 简化介质独立接口通过RMII接口接收BMC发送的命令帧和pass through帧,或是将响应帧、异步事件帧或pass through帧送至BMC,其中,RMII单元在《RMII TM规范‑1998》的基础上进行了改进,增加了输入信号arb_i和输出信号arb_o管脚,用于进行硬件仲裁操作码的收发;采用数据帧发送及接收先入先出单元FIFO对发送和接收数据进行存储,设置接收和发送阈值,分别控制接收FIFO的占用量,避免上溢以及发送FIFO的占用量,避免下溢,以实现边带管理电路与BMC之间数据帧的可靠收发;所有数据通道0~N(N≤31)共享同一个简化介质独立接口。
[0040] 寄存器用于实现硬件仲裁边带管理电路与主机之间的信息交互,其涉及的信息包括主机配置信息、通道的链路状态、链路设置和获取链路状态命令的相关参数。
[0041] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述实施例中的方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域的普通技术人员,在没有做出创造性劳动前提下所获得的有其他实施例,都属于本发明保护的范围。
[0042] 本发明的一种应用实例如图1所示,硬件仲裁边带管理电路是BMC与以太网控制器之间的接口,能够进行网络数据与BMC之间的数据处理,可以通过主机进行访问,可以支持网络中存在4个以太网控制器设备,各设备之间通过硬件仲裁引脚进行互联。
[0043] 参见图2,基于硬件仲裁的边带管理电路实现,包括主控制单元、硬件仲裁单元、通道仲裁单元、接收帧处理单元、发送帧处理单元、简化介质独立接口、寄存器和系统总线接口。
[0044] 其中,主控制单元对简化介质独立接口进行初始化配置,控制电路的工作状态,启动硬件仲裁,并根据硬件仲裁的结果,进行数据帧收发使能控制,如图3所示。上电后,边带管理接口电路进入初始化态,在初始化完成后,进入“控制器未被选中”态;通过硬件仲裁后,当电路在接收到BMC发送的任何命令,电路状态都将迁移至“控制器选中”态,可以进行数据帧正常操作。上述状态迁移过程中,基于硬件仲裁的边带管理电路在上电初始化完成后,就可以进行BMC命令的接收与处理;而在上电初始化、通道初始化过程中不能进行pass through帧的处理,此时收到的pass through帧将被丢弃。在“控制器选中态”,主控制单元根据接收帧处理单元提供的命令帧参数,产生响应发送所需要的响应码与原因码,送至数据帧发送控制单元,并在命令响应帧发送完成时,接收响应帧发送完成标志信息,响应产生符合《DMTF‑网络控制器边带接口规范‑2013》中所描述的全部响应帧;此外,当接收到接收帧处理单元送至的接收帧错误指示信号后,主控制单元产生异常命令响应码与原因码,送至数据帧发送处理单元;当完成所有数据帧发送后,产生释放令牌标志送至仲裁控制单元,回到未选中态。
[0045] 硬件仲裁单元的实现结构如图4所示,包括操作码编解码器、硬件仲裁控制模块、令牌处理模块和超时管理模块;操作码编解码器,对于接收到的操作码,按照《DMTF‑网络控制器边带接口规范‑2013》中规定的编码格式(如表1所示)对收到的操作码进行解码,识别操作码的类型(如图5所示),并告知硬件仲裁控制模块,而对于待发送的操作码,按照表1中的格式进行编码串行化,送至硬件仲裁arb_o管脚;硬件仲裁控制模块根据硬件仲裁的使能状态、接收到的操作码字,通过有限状态机对仲裁的工作状态进行管理;令牌处理模块依据是否接收到令牌码以及是否有数据待发送,给出持有令牌或释放令牌的标志信号,送至主控制单元;超时管理模块,通过计数器记录有待发送数据的边带管理接口电路未接收到令牌的时间,如果超过未持有令牌的时长上限,则产生令牌超时标识信号,告诉主控制单元,重启硬件仲裁过程。
[0046] 表1
[0047]操作码 格式(二进制)
空闲 110000
令牌 110100
清除 11010100xxxxxx00
发送关断 110001000000
发送启动 1100010100uuuuuu00
[0048] 具体的,硬件仲裁的方法,基于硬件仲裁引脚arb_i和arb_o,通过环路上电路之间的仲裁操作码交互实现,具体如下:
[0049] S1、以太网系统环路上电复位完成后,以太网系统环路边带管理电路中的硬件仲裁单元发送如表1的空闲码;
[0050] S2、在仲裁过程启动后,以太网系统环路上所有边带管理电路的硬件仲裁单元开始发送包含边带管理电路ID号的清除命令;
[0051] S3、以太网系统环路中的本地边带管理电路在接收清除命令过程中,本地边带管理电路将转发ID号比自身ID号小的清除命令;对于ID号比自身ID号大的清除命令,将替换为自身ID号后进行转发;当所接收到的清除ID号与自身ID号相等时,该本地边带管理电路被确定为仲裁主设备;
[0052] S4、在仲裁主设备持有令牌(即接收到操作码“110100”)时,仲裁主设备可以进行数据发送,在发送完毕后,释放令牌。
[0053] 接收帧处理单元,解析来自于简化介质独立接口的BMC数据帧,根据以太网帧类型进行数据帧判决,当以太网帧类型为16进制88F8时,接收到的BMC数据帧为命令帧,将进行命令参数、校验和以及CRC检测,并将有效命令参数送至主控制单元;如果接收到以太网帧类型不等于16进制88F8,则接收到了pass through帧,将进行帧长和CRC校验,非法pass through帧将被丢弃,否则将根据目的地址和源地址进行pass through帧过滤,滤除不匹配的pass through帧,而通过过滤的pass through帧将被送至通道仲裁单元,并进行接收数据帧数量统计。
[0054] 数据帧发送控制单元,依据通道仲裁单元的优先级,具有最高优先级的通道首先发送一个完整数据帧,而次优先级的通道随后发送数据帧,并按通道优先级进行发送轮询;对来自于通道仲裁单元的pass through帧进行解析,提取目的地址、以太网帧类型、VLAN标志以及广播帧的UDP字段信息,按照BMC通过命令进行配置的过滤参数对pass through帧进行过滤;根据主控制单元提供的原因码与响应码,进行响应帧的组帧,并在边带管理电路出现工作状态迁移时,产生异步事件帧;按照响应帧、异步事件帧和pass through帧从高到低的发送优先级顺序,进行发送排序,并送至简化介质独立接口;数据帧发送控制单元仅在持有令牌时进行数据帧发送,发送完数据后,产生完成标志送至主控制单元,进入等待状态,释放令牌。基于硬件仲裁的数据帧发送控制单元状态迁移如图6所示。
[0055] 简化介质独立接口在《RMII TM规范‑1998》的基础上进行了改进,增加了输入信号arb_i和输出信号arb_o管脚,用于进行硬件仲裁操作码的收发;接收BMC发送的命令帧和passthrough帧,或是将响应帧、异步事件帧或pass through帧送至BMC;采用数据帧发送及接收先入先出FIFO对发送和接收数据进行存储,设置接收和发送阈值,分别控制接收FIFO的占用量,避免上溢以及发送FIFO的占用量,避免下溢,实现边带管理电路与BMC之间数据帧的可靠收发;所有数据通道0~N(N≤31)共享同一个简化介质独立接口。
[0056] 寄存器实现所述电路的配置信息以及BMC对于所述电路配置参数的存储,相关寄存器列表如表2所示,访问地址为基地址+表2中的偏移地址。
[0057] 系统总线接口为数据通道与外部设备的交互接口,遵循高级外围总线(APB)或高级高性能总线(AHB)等协议。
[0058] 表2
[0059] 起始地址 名称 位宽(位) 读写类型 备注0x000 使能寄存器 32 R/W 偏移首地址与通道ID无关
0x004 控制器ID寄存器 32 R/W 偏移首地址与通道ID无关
0x008 硬件仲裁使能寄存器 32 R/W 偏移首地址与通道ID相关
0x00C 链路设置寄存器 32 R 偏移首地址与通道ID相关
0x010 链路状态寄存器 32 R/W 偏移首地址与通道ID相关
0x014 异步事件状态寄存器 32 R/W 偏移首地址与通道ID相关
0x018 命令处理标志寄存器 32 R/W 偏移首地址与通道ID相关
[0060] 注:对于偏移首地址与通道ID相关的寄存器,偏移首地址的高5位表示通道ID。表中相关寄存器的偏移首地址0x00C~0x014指向通道0;对于通道1和通道2,链路设置、链路状态、异步事件状态和命令处理标志寄存器的偏移首地址分别为0x08C、0x090、0x094、0x098以及0x10C、0x110、0x114、0x118,其余与通道ID相关寄存器的偏移首地址依此类推。
[0061] 由上述可以看出,本发明的基于硬件仲裁的边带管理电路的实现方法,其适于处理BMC与以太网中的多个以太网控制器之间的边带数据交互业务。本发明提出了一种高效的硬件仲裁编解码器实现方法及范例,利用NC‑SI接口上的两个硬件仲裁引脚,环路上设备依据仲裁操作码的收发,进行仲裁判决,减少了仲裁过程中BMC与电路之间的命令响应交互,缩短了BMC硬件仲裁的等待时间;环路上的设备通过令牌轮询的方式进行发送权传递,既能避免设备长期占用网络的情况,还能减少由于发送等待而造成的网络堵塞,提升了边带管理电路数据处理的效率;实现了错误帧检测与处理、高效的数据收发存储策略,进一步提升了边带管理电路数据帧处理的可靠性。
[0062] 本发明很好的解决了基于命令的仲裁方式的问题,即BMC与边带管理接口电路之间需要进行片选、撤销片选命令交互,在边带接口电路正在进行网口数据处理而处于忙状态时,BMC则需要等待边带管理接口电路的命令响应才能进行仲裁判决,仲裁等待时间较长;其次,在命令仲裁过程中,如果网络上的所有电路均响应BMC的片选命令时,BMC需要内部制定二次仲裁的规则,指定一个响应有效的设备,解决网络上的以太网控制器之间的竞争问题。
[0063] 以上发明内容仅为本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案上所做的任何改动,均落入本发明权利要求书的保护范围之内。