一种实现串口重定向的底层逻辑实现方法及装置与流程

文档序号:15455053发布日期:2018-09-15 00:53阅读:833来源:国知局

本发明涉及服务器底层逻辑的实现技术领域,具体地说是一种实现串口重定向的底层逻辑实现方法及装置。



背景技术:

在服务器领域内,对大量服务器的有效管理一直是管理人员不可避免的问题,而ipmi协议和sol的出现为服务器系统管理人员提供了一种方便有效的管理方式。sol是一种基于ipmi命令的板上串口控制器传输的重定向功能的实现方式。可以通过lan实现远程操作服务器系统。传统的sol的硬件逻辑实现需要带有lpc接口的bmc芯片,该芯片中还应该具有标准串口控制器,另外还需要一个以太网控制器。服务器操作系统的数据信息通过lpc接口传给bmc中的串口控制器,然后经过网络控制器发送出去。

目前能够实现上述功能的有台湾的科技公司aspeed公司的服务器管理芯片,具有自主产权,并且是以asic芯片的形式存在。在自主设计的过程中,对以太网协议进行设计的难度非常大,而且消耗的物力人力较大,开发时间较长,并且asic芯片开发周期较长,开发成本较高,并且升级换代速度较慢。



技术实现要素:

本发明实施例中提供了一种实现串口重定向的底层逻辑实现方法及装置,以解决现有技术中的研发周期长,开发成本高的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方面提供了一种实现串口重定向的底层逻辑实现方法,该方法基于ipmi协议,包括以下方法:

通过远端sol终端进行输入输出至bmc基板管理控制器;

bmc基板管理控制器将sol终端发送过来的命令或数据发送给服务器操作系统;

bmc基板管理控制器将服务器操作系统的信息传送给sol终端。

结合第一方面,在第一方面第一种可能的实现方式中,所述的bmc基板管理控制器与服务器操作系统通信通过lpc模块实现,具体为通过lpc模块的lpc协议。

结合第一方面,在第一方面第二种可能的实现方式中,所述lpc协议实现的方法包括:

在第一个时钟周期检测lframe信号,若被拉高,则表示数据传输开始;

在第二个时钟周期读取lad上的数据,此时的数据表示操作类型,如果操作类型为memory类型,则继续下一步;否则是其他类型操作,继续检测lframe信号;

在第三个时钟周期至第六个时钟周期内继续读取lad上的数据;

在第七个时钟周期和第八个时钟周期读取的lad上的数据,此时的数据表示是读操作或写操作,如果是读操作,则lpc模块根据地址信息,将数据驱动到lad上;如果是写操作,则继续读取lad上的数据;

在第九个时钟周期至第十二个时钟周期内读取lad上的数据,如果是写操作,lpc模块读取lad上的数据,如果是读操作,lpc模块将数据驱动到lad上。

结合第一方面,在第一方面第三种可能的实现方式中,bmc基板管理控制器将服务器操作系统的信息传送给sol终端通过uart串口模块,将lpc信息在远端sol终端进行显示。

结合第一方面,在第一方面第四种可能的实现方式中,uart串口模块将lpc信息在远端sol终端进行显示通过arm模块和emac以太网模块,具体包括:

uart串口模块的一组寄存器通过avalon接口挂载到arm模块下;

uart串口模块的另一组寄存器通过avalon接口与lpc模块相连,接收来自lpc模块的读写操作。

结合第一方面,在第一方面第五种可能的实现方式中,所述接收来自lpc模块的读写操作通过将lpc协议转换为avalon协议实现,具体包括以下方法:

提取lpc协议中的地址和数据;具体包括根据lpc协议中数据传输格式,提取出地址和数据,存入寄存器中;

驱动avalon协议接口;具体包括在一个时钟周期内,将写有效信号置为有效,并且将数据和地址分别驱动到写数据信号和写地址信号上。

结合第一方面,在第一方面第六种可能的实现方式中,实现在远端sol终端进行显示的前提是uart模块中保存的两套寄存器含义一致,且均符合uart工业标准。

结合第一方面,在第一方面第七种可能的实现方式中,还需将uart串口模块进行ip设置,使得该ip可以被识别,具体包括以下方法:

将代码文件封装成ip组件,并添加到ip库中;

调用该组件,并与arm模块进行接线。

本发明第二方面提供了一种实现串口重定向的底层逻辑实现装置,利用所述的方法,该装置基于ipmi协议,具体包括服务器操作系统;和,

远端sol终端,用于显示服务器操作系统的信息;和,

bmc基板管理控制器,用于连接服务器操作系统与远端sol终端,实现服务器操作系统与远端sol终端的通信。

结合第二方面,在第二方面第一种可能的实现方式中,所述bmc基板管理控制器包括lpc模块,用于与服务器操作系统进行通信,解析ipmi命令和数据,并发送至uart串口模块;和,

uart串口模块,实现串口通信功能,包括两组含义相同的寄存器;和,

arm模块,通过uart串口模块的一组寄存器接收uart串口模块的信息,控制在远程sol终端中的命令输入;和,

avalon模块,与lpc模块和uart串口模块相连,lpc模块通过avalon模块控制uart串口模块的另一组寄存器,实现数据的读写操作;和,

emac以太网模块,实现以太网通信。

本发明第二方面的所述装置能够实现第一方面及第一方面的各实现方式中的方法,并取得相同的效果。

由以上技术方案可见,本发明使用了成熟的以太网模块,通过自主研发lpc模块和uart串口通信模块,具有较强的灵活性、可移植性,并且大大缩短了开发的时间和成本,并且能够达到重定向功能的底层逻辑要求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种实现串口重定向的底层逻辑实现方法流程示意图;

图2为本发明实施例lpc协议实现的方法流程示意图;

图3为本发明实施例将lpc协议转换为avalon协议实现方法流程示意图;

图4为本发明实施例所应用的一种实现串口重定向的底层逻辑实现装置示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

如图1所示,一种实现串口重定向的底层逻辑实现方法,基于ipmi协议,包括以下方法:

s1、通过远端sol终端进行输入输出至bmc基板管理控制器;

s2、bmc基板管理控制器将sol终端发送过来的命令或数据发送给服务器操作系统;

s3、bmc基板管理控制器将服务器操作系统的信息传送给sol终端。

bmc基板管理控制器与服务器操作系统通信通过lpc模块实现,具体为通过lpc模块的lpc协议。

如图2所示,lpc协议实现的方法包括:

s201、在第一个时钟周期检测lframe信号,若被拉高,则表示数据传输开始;

s202、在第二个时钟周期读取lad上的数据,此时的数据表示操作类型,如果操作类型为memory类型,则继续下一步;否则是其他类型操作,继续检测lframe信号;

s203、在第三个时钟周期至第六个时钟周期内继续读取lad上的数据;

s204、在第七个时钟周期和第八个时钟周期读取的lad上的数据,此时的数据表示是读操作或写操作,如果是读操作,则lpc模块根据地址信息,将数据驱动到lad上;如果是写操作,则继续读取lad上的数据;

s205、在第九个时钟周期至第十二个时钟周期内读取lad上的数据,如果是写操作,lpc模块读取lad上的数据,如果是读操作,lpc模块将数据驱动到lad上。

bmc基板管理控制器将服务器操作系统的信息传送给sol终端通过uart串口模块,将lpc信息在远端sol终端进行显示。

uart串口模块将lpc信息在远端sol终端进行显示通过arm模块和emac以太网模块,具体包括:

uart串口模块的一组寄存器通过avalon接口挂载到arm模块下;

uart串口模块的另一组寄存器通过avalon接口与lpc模块相连,接收来自lpc模块的读写操作。

如图3所示,接收来自lpc模块的读写操作通过将lpc协议转换为avalon协议实现,具体包括以下方法:

s211、提取lpc协议中的地址和数据;具体包括根据lpc协议中数据传输格式,提取出地址和数据,存入寄存器中;

s212、驱动avalon协议接口;具体包括在一个时钟周期内,将写有效信号置为有效,并且将数据和地址分别驱动到写数据信号和写地址信号上。

实现在远端sol终端进行显示的前提是uart模块中保存的两套寄存器含义一致,且均符合uart工业标准。

还需将uart串口模块进行ip设置,使得该ip可以被识别,具体包括以下方法:将代码文件封装成ip组件,并添加到ip库中;

调用该组件,并与arm模块进行接线。

如图4所示,一种实现串口重定向的底层逻辑实现装置,基于ipmi协议,具体包括服务器操作系统;和,远端sol终端,用于显示服务器操作系统的信息;和,bmc基板管理控制器,用于连接服务器操作系统与远端sol终端,实现服务器操作系统与远端sol终端的通信。

bmc基板管理控制器包括lpc模块,用于与服务器操作系统进行通信,解析ipmi命令和数据,并发送至uart串口模块;和,uart串口模块,实现串口通信功能,包括两组含义相同的寄存器;和,arm模块,通过uart串口模块的一组寄存器接收uart串口模块的信息,控制在远程sol终端中的命令输入;和,avalon模块,与lpc模块和uart串口模块相连,lpc模块通过avalon模块控制uart串口模块的另一组寄存器,实现数据的读写操作;和,emac以太网模块,实现以太网通信。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1