1.本技术涉及服务器技术领域,特别涉及一种数据传输方法;还涉及一种数据传输装置、设备以及计算机可读存储介质。
背景技术:
2.服务器的可靠、简单易用的管理特性以及附加服务功能正在成为各大服务器制造厂商迫切需要的核心竞争力。ipmi(intelligent platform management interface,智能型平台管理接口规范)的诞生很好的解决了服务器可靠管理的问题。ipmi定义了服务器主板上的硬件设备相互之间的通信协议以及sms(system management software,系统管理软件)与服务器主板上的硬件设备之间的通信协议接口。ipmi的核心是bmc(baseboard management controller,基板管理控制器)。系统管理软件对各个被管理器件的管理,都是通过与bmc通信来实现的。其中,系统在启动时候,需要判断bmc的状态来决定是否需要上电,如此便需要系统与bmc之间进行交互应答。传统的上电方法是通过系统的硬件引脚,连接到外接cpld,进行上电,非常不方便。而且bmc引起的中断也需要硬件连线产生。通过硬件引脚连线的方式实现上电、中断比较复杂。
3.因此,如何解决上述技术缺陷已成为本领域技术人员亟待解决的技术问题。
技术实现要素:
4.本技术的目的是提供一种数据传输方法,能够在实现上电交互、中断功能的同时,避免复杂的硬件引脚连线。本技术的另一个目的是提供一种数据传输装置、设备以及计算机可读存储介质,均具有上述技术效果。
5.为解决上述技术问题,本技术提供了一种数据传输方法,包括:
6.设置lpc总线的读写类型为io读写类型;
7.在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;
8.接收所述bmc通过所述lpc总线发送的第二数据;
9.所述第一数据与所述第二数据包括索引与电平信号。
10.可选的,所述第一数据与第二数据的位宽为16比特,其中的高8位为所述索引,低8位为所述电平信号。
11.可选的,所述电平信号的高4位为所述电平信号的低4位的屏蔽。
12.可选的,还包括:
13.通过所述lpc总线向所述bmc发送地址,以及接收所述bmc通过所述lpc总线发送的地址。
14.可选的,所述地址的位宽为16比特。
15.为解决上述技术问题,本技术还提供了一种数据传输装置,包括:
16.设置模块,用于设置lpc总线的读写类型为io读写类型;
17.发送模块,用于在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;
18.接收模块,用于接收所述bmc通过所述lpc总线发送的第二数据;
19.所述第一数据与所述第二数据包括索引与电平信号。
20.可选的,所述第一数据与第二数据的位宽为16比特,其中的高8位为所述索引,低8位为所述电平信号。
21.可选的,所述电平信号的高4位为所述电平信号的低4位的屏蔽。
22.为解决上述技术问题,本技术还提供了一种数据传输设备,包括:
23.存储器,用于存储计算机程序;
24.处理器,用于执行所述计算机程序时实现如上任一项所述的数据传输方法的步骤。
25.为解决上述技术问题,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的数据传输方法的步骤。
26.本技术所提供的数据传输方法,包括:设置lpc总线的读写类型为io读写类型;在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;接收所述bmc通过所述lpc总线发送的第二数据;所述第一数据与所述第二数据包括索引与电平信号。可见,较之为了实现上电交互、中断功能而通过连接硬件管脚进行电平信号传输的传统技术方案,本技术所提供的数据传输方法,通过lpc总线,将电平信号打包进行传输,如此不需要与bmc进行复杂的硬件连线,能够便捷的完成与bmc的上电交互以及中断功能。
27.本技术所提供的数据传输装置、设备以及计算机可读存储介质均具有上述技术效果。
附图说明
28.为了更清楚地说明本技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本技术实施例所提供的一种数据传输方法的流程示意图;
30.图2为本技术实施例所提供的一种lpc总线信号列表;
31.图3为本技术实施例所提供的一种lpc总线的io读写模式的时序图;
32.图4为本技术实施例所提供的一种lad[3:1]定义列表;
[0033]
图5为本技术实施例所提供的一种主机向bmc发送信号的时序图;
[0034]
图6为本技术实施例所提供的一种bmc相主机发送信号的时序图;
[0035]
图7为本技术实施例所提供的一种数据传输装置的示意图;
[0036]
图8为本技术实施例所提供的一种数据传输设备的示意图。
具体实施方式
[0037]
本技术的核心是提供一种数据传输方法,在能够实现上电交互、中断功能的同时,避免了复杂的硬件引脚连线。本技术的另一个核心是提供一种数据传输装置、设备以及计算机可读存储介质,均具有上述技术效果。
[0038]
为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0039]
请参考图1,图1为本技术实施例所提供的一种数据传输方法的流程示意图,参考图1所示,该方法包括:
[0040]
s101:设置lpc总线的读写类型为io读写类型;
[0041]
具体的,传统技术方案中,传输电平信号实现上电交互或中断的方式是在对硬件管脚进行连接的基础上,通过硬件管脚间所连接的硬线进行传输。例如,需要传输的电平信号为1、0、1、1,传统技术方案需要将四个硬件管脚进行连接,通过第一个硬件管脚所连接的硬线传输电平信号1,通过第二个硬件管脚所连接的硬线传输电平信号0,通过第三个硬件管脚所连接的硬线传输电平信号1,通过第四个硬件管脚所连接的硬线传输电平信号1。区别于传统技术方案,本技术采用lpc总线来传输电平信号。lcp的英文全称为low pin count,是基于intel公司提出的一种总线,用于在计算机系统中替换传统的isa(industry standard architecture,工业标准体系结构)总线。lcp总线包括io读写、内存读写、dma(direct memory access,直接存储器访问)操作等功能。本实施例将lpc总线的读写类型设置为io读写类型,采用lpc总线的io读写操作来传输电平信号,无需复杂的硬件管脚连线。
[0042]
本实施例使用的接口信号如图2所示。另外,参考图3所示的lpc总线的io读写模式的时序图,一个访问周期通常按照图3所示的流程进行。lfaram#信号为低电平时,指示一个访问周期的开始,此时lad信号呈现为start。io读写模式下,lad[3:0]为0。参考图4所示的第二个clock时,lad[3:1]的定义,本实施例采用的读写类型为io读写,因此lad[3:2]为00。在tar的第一个时钟相内,lad[3:0]为4’b1111,在第二个时钟相,驱动为三态。
[0043]
s102:在所述io读写类型下,通过lpc总线向bmc发送第一数据;
[0044]
s103:接收所述bmc通过所述lpc总线发送的第二数据;
[0045]
所述第一数据与所述第二数据包括索引与电平信号。
[0046]
其中,还包括:
[0047]
通过所述lpc总线向所述bmc发送地址,以及接收所述bmc通过所述lpc总线发送的地址。
[0048]
具体的,在设置lpc总线的读写类型为io读写类型的基础上,对于主机,其可通过lpc总线向bmc发送地址与包含索引与电平信号的第一数据。地址表征传输的是电平信号。索引用于标识实现的功能类型。例如,实现的是上电功能,或者中断功能等。
[0049]
区别于传统的通过硬件管脚间所连接的硬线传输电平信号的技术方案,本实施例采用lpc总线,将电平信号以数据包的形式传输。例如,当需要传输的电平信号为1、0、1、1,采用lpc总线,将1、0、1、1以数据包形式来传输。
[0050]
需要说明的是,上述“第一”“第二”的表述仅用于区分发送数据的主体,而不作为先后顺序、大小等的限定。第一数据是指主机向bmc发送的数据,第二数据则是指bmc向主机发送的数据。
[0051]
在上述实施例的基础上,作为一种具体的实施方式,所述地址的位宽为16比特。
[0052]
具体而言,本实施例中地址的位宽为16比特。另外,地址的数值可以为0x0007。可
以明白的是,对于地址的位宽以及地址的具体数值,还可以设置为其他位宽与数值,对此本技术对此不做唯一限定,可以进行差异性设置。
[0053]
进一步,在上述实施例的基础上,作为一种具体的实施方式,所述第一数据与第二数据的位宽为16比特,其中的高8位为所述索引,低8位为所述电平信号。
[0054]
具体而言,本实施例中,第一数据与第二数据的位宽为16bit,索引与电平信号各自占8bit。
[0055]
参考图5所示的时序图,对于主机,主机在lpc总线的io读写模式下,依次发送16bit的地址,8bit的索引以及8bit的电平信号。
[0056]
参考图6所示,对于bmc,主机发起读命令,并发出16bit的地址后,bmc返回8bit的索引以及8bit的电平信号。
[0057]
进一步,在上述实施例的基础上,作为一种具体的实施方式,所述电平信号的高4位为所述电平信号的低4位的屏蔽。
[0058]
具体而言,本实施例中,电平信号分为屏蔽与真正的电平信号两个部分。电平信号的高4位为对应的低4位的mark即屏蔽。即第8位是第4位的屏蔽,第7位是第3位的屏蔽,第6位是第2位的屏蔽,第5位是第1位的屏蔽。当高4位中的某一位为1时,低4位中的对应的一位的数据有效;相反,如果高4位中的某一位为0时,低4位中的对应的一位的数据保持不变。例如,第8位为1,则对应的第4位的数据有效。第7位为0,则对应的第3位的数据保持不变。
[0059]
每个索引可以表示一组gpio(general-purpose input/output,通用型输入输出),每组4个gpio。如果定义索引的区间128至255表示gpio的区间,那么共可以包含128*4=512个gpio。
[0060]
例如,当index为128时,表示第一组gpio[3:0],电平信号为11000011。低四位的0011分别为gpio[3]至gpio[0]的数据。由于电平信号的高4bit为1100,所以gpio[3]、gpio[2]的数据是有效的,而gpio[1]和gpio[0]保持不变。也就是说,0011中的高两位是有效,而无论最低两位是什么数据,gpio[1]和gpio[0]都会保持不变,即低四位0011中的11并没有起到作用。
[0061]
进一步,在上述实施例的基础上,还包括:数据传输结束后,改变虚线标志信号的状态。
[0062]
具体而言,相较于采用硬线传输电平信号的技术方案,本技术采用lpc总线来传输电平信号。传统技术方案中,由硬线1至4传输的电平信号,在本技术方案中可以相应的定义为虚线1至4的数据。例如,对于电平信号1011,其中第4位的1,可以定位为虚线1的数据;第3位的0,可以定义为虚线2的数据;第2位的1,可以定义为虚线3的数据;第1位的1,可以定义为虚线4的数据。对于各虚线,预设有相应的虚线标志信号。每次在传输的最后,改变虚线标志信号的状态。
[0063]
如5所示,在传输的最后,bmc的一个虚线标志信号(图5中所示的vwire)由低变高。相应的,如6所示,在传输的最后,主机的虚线标志信号(图6中所示的vwire)由低变高。
[0064]
需要说明的是,图5以及图6中只标示了一个虚线标志信号,对于每个索引可以表示一组gpio,每组4个gpio的情况,主机的虚线标志信号与bmc的虚线标志信号均为4个。因此,在传输的最后,4个虚线标志信号均相应的发生改变。
[0065]
综上所述,本技术所提供的数据传输方法,包括:设置lpc总线的读写类型为io读
写;在所述读写类型下,通过lpc总线向bmc发送第一数据;接收所述bmc通过所述lpc总线发送的第二数据;所述第一数据与所述第二数据包括索引与电平信号。可见,较之为了实现上电交互、中断功能而通过连接硬件管脚进行电平信号传输的传统技术方案,本技术所提供的数据传输方法,通过lpc总线,将电平信号打包进行传输,如此不需要与bmc进行复杂的硬件连线,能够便捷的完成与bmc的上电交互以及中断功能。
[0066]
本技术还提供了一种数据传输装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图7,图7为本技术实施例所提供的一种数据传输装置的示意图,结合图7所示,该装置包括:
[0067]
设置模块10,用于设置lpc总线的读写类型为io读写;
[0068]
发送模块20,用于在所述读写类型下,通过lpc总线向bmc发送第一数据;
[0069]
接收模块30,用于接收所述bmc通过所述lpc总线发送的第二数据;
[0070]
所述第一数据与所述第二数据包括索引与电平信号。
[0071]
具体的,区别于在对硬件管脚进行连接的基础上,通过硬件管脚间所连接的硬线传输电平信号的传统技术方案,本实施例采用lpc总线的io读写操作来传输电平信号。通过设置模块10将lpc总线的读写类型设置为io读写类型。在设置模块10设置lpc总线的读写类型为io读写类型的基础上,发送模块20通过lpc总线向bmc发送包含索引与电平信号的第一数据。另外,接收模块30接收bmc发送的包含索引与电平信号的第二数据。
[0072]
其中,发送模块20还通过所述lpc总线向所述bmc发送地址,接收模块30接收所述bmc通过所述lpc总线发送的地址。地址表征传输的是电平信号。索引用于标识实现的功能类型。例如,实现的是上电功能,或者中断功能等。
[0073]
区别于传统的通过硬件管脚间所连接的硬线传输电平信号的技术方案,本实施例采用lpc总线,将电平信号以数据包的形式传输。例如,当需要传输的电平信号为1、0、1、1,采用lpc总线,将1、0、1、1以数据包形式来传输。
[0074]
需要说明的是,上述“第一”“第二”的表述仅用于区分发送数据的主体,而不作为先后顺序、大小等的限定。
[0075]
在上述实施例的基础上,作为一种具体的实施方式,所述第一数据与第二数据的位宽为16比特,其中的高8位为所述索引,低8位为所述电平信号。
[0076]
具体而言,本实施例中,第一数据与第二数据的位宽为16bit,索引与电平信号各自占8bit。在lpc总线的io读写模式下,发送模块20依次发送16bit的地址,8bit的索引以及8bit的电平信号。接收模块30依次接收bmc返回的8bit的索引以及8bit的电平信号。
[0077]
在上述实施例的基础上,作为一种具体的实施方式,所述电平信号的高4位为所述电平信号的低4位的屏蔽。
[0078]
具体而言,本实施例中,电平信号分为屏蔽与真正的电平信号两个部分。电平信号的高4位为对应的低4位的mark即屏蔽。即第8位是第4位的屏蔽,第7位是第3位的屏蔽,第6位是第2位的屏蔽,第5位是第1位的屏蔽。当高4位中的某一位为1时,低4位中的对应的一位的数据有效;相反,如果高4位中的某一位为0时,低4位中的对应的一位的数据保持不变。例如,第8位为1,则对应的第4位的数据有效。第7位为0,则对应的第3位的数据保持不变。
[0079]
每个索引可以表示一组gpio(general-purpose input/output,通用型输入输出),每组4个gpio。如果定义索引的区间128至255表示gpio的区间,那么共可以包含128*4
=512个gpio。
[0080]
例如,当index为128时,表示第一组gpio[3:0],电平信号为11000011。低四位的0011分别为gpio[3]至gpio[0]的数据。由于电平信号的高4bit为1100,所以gpio[3]、gpio[2]的数据是有效的,而gpio[1]和gpio[0]保持不变。也就是说,0011中的高两位是有效,而无论最低两位是什么数据,gpio[1]和gpio[0]都会保持不变,即低四位0011中的11并没有起到作用。
[0081]
在上述实施例的基础上,作为一种具体的实施方式,所述地址的位宽为16比特。
[0082]
具体而言,本实施例中地址的位宽为16比特。另外,地址的数值可以为0x0007。可以明白的是,地址的位宽以及地址的具体数值,还可以设置为其他位宽与数值。
[0083]
在上述实施例的基础上,作为一种具体的实施方式,还包括:
[0084]
调整模块,用于数据传输结束后,改变虚拟标志信号的状态。
[0085]
具体而言,相较于采用硬线传输电平信号的技术方案,本技术采用lpc总线来传输电平信号。传统技术方案中,由硬线1至4传输的电平信号,在本技术方案中可以相应的定义为由虚线1至4传输。例如,对于电平信号1011,其中第4位的1,可以定位为虚线1的数据;第3位的0,可以定义为虚线2的数据;第2位的1,可以定义为虚线3的数据;第1位的1,可以定义为虚线4的数据。对于各虚线,预设有相应的虚线标志信号。每次在传输的最后,由调整模块改变虚线标志信号的状态。
[0086]
如5所示,在传输的最后,bmc的一个虚线标志信号(图5中所示的vwire)由低变高。相应的,如6所示,在传输的最后,主机的虚线标志信号(图6中所示的vwire)由低变高。
[0087]
较之为了实现上电交互、中断功能而通过连接硬件管脚进行电平信号传输的传统技术方案,本技术所提供的数据传输装置,通过lpc总线,将电平信号打包进行传输,如此不需要与bmc进行复杂的硬件连线,能够便捷的完成与bmc的上电交互以及中断功能。
[0088]
本技术还提供了一种数据传输设备,参考图8所示,该设备包括存储器1和处理器2。
[0089]
存储器1,用于存储计算机程序;
[0090]
处理器2,用于执行计算机程序实现如下的步骤:
[0091]
设置lpc总线的读写类型为io读写类型;
[0092]
在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;
[0093]
接收所述bmc通过所述lpc总线发送的第二数据;
[0094]
所述第一数据与所述第二数据包括索引与电平信号。
[0095]
对于本技术所提供的设备的介绍请参照上述方法实施例,本技术在此不做赘述。
[0096]
本技术还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下的步骤:
[0097]
设置lpc总线的读写类型为io读写类型;
[0098]
在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;
[0099]
接收所述bmc通过所述lpc总线发送的第二数据;
[0100]
所述第一数据与所述第二数据包括索引与电平信号。
[0101]
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存
储程序代码的介质。
[0102]
对于本技术所提供的计算机可读存储介质的介绍请参照上述方法实施例,本技术在此不做赘述。
[0103]
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0104]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0105]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0106]
以上对本技术所提供的数据传输方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以对本技术进行若干改进和修饰,这些改进和修饰也落入本技术权利要求的保护范围。
技术特征:
1.一种数据传输方法,其特征在于,包括:设置lpc总线的读写类型为io读写类型;在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;接收所述bmc通过所述lpc总线发送的第二数据;所述第一数据与所述第二数据包括索引与电平信号。2.根据权利要求1所述的数据传输方法,其特征在于,所述第一数据与第二数据的位宽为16比特,其中的高8位为所述索引,低8位为所述电平信号。3.根据权利要求2所述的数据传输方法,其特征在于,所述电平信号的高4位为所述电平信号的低4位的屏蔽。4.根据权利要求1所述的数据传输方法,其特征在于,还包括:通过所述lpc总线向所述bmc发送地址,以及接收所述bmc通过所述lpc总线发送的地址。5.根据权利要求4所述的数据传输方法,其特征在于,所述地址的位宽为16比特。6.一种数据传输装置,其特征在于,包括:设置模块,用于设置lpc总线的读写类型为io读写类型;发送模块,用于在所述io读写类型下,通过所述lpc总线向bmc发送第一数据;接收模块,用于接收所述bmc通过所述lpc总线发送的第二数据;所述第一数据与所述第二数据包括索引与电平信号。7.根据权利要求6所述的数据传输装置,其特征在于,所述第一数据与第二数据的位宽为16比特,其中的高8位为所述索引,低8位为所述电平信号。8.根据权利要求7所述的数据传输装置,其特征在于,所述电平信号的高4位为所述电平信号的低4位的屏蔽。9.一种数据传输设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的数据传输方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据传输方法的步骤。
技术总结
本申请公开了一种数据传输方法,包括:设置LPC总线的读写类型为IO读写类型;在所述IO读写类型下,通过所述LPC总线向BMC发送第一数据;接收所述BMC通过所述LPC总线发送的第二数据;所述第一数据与所述第二数据包括索引与电平信号。该方法采用LPC总线传输电平信号,能够在实现上电交互、中断功能的同时,避免复杂的硬件引脚连线。本申请还公开了一种数据传输装置、设备以及计算机可读存储介质,均具有上述技术效果。技术效果。技术效果。
技术研发人员:王朝辉 刘同强 满宏涛
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:2021.11.26
技术公布日:2022/3/8