主从配置沟通协议、提高兼容性的方法以及电子设备与流程

文档序号:15686183发布日期:2018-10-16 21:05阅读:165来源:国知局

本发明涉及电子通讯技术领域,尤其涉及一种主从配置沟通协议、提高兼容性的方法以及电子设备。



背景技术:

配置,是指电子产品的组成硬件。例如,电脑的配置主要有cpu、主板、内存、硬盘、显卡、声卡、网卡、机箱、电源、散热器、显示器、光驱、键盘、鼠标、音响等外部设备,相关的配置越高,则代表此电脑的综合性能越强悍。不同的配置之间要实现信息交换,就需要有相应的沟通协议。

专利cn106598887描述了一种根据gpio(通用输入/输出,generalpurposeinputoutput,简称为gpio)引脚信息兼容不同硬件的方法,该技术方案虽然可以区分各个硬件配置,但是却会造成严重的gpio资源浪费。例如,如果内存有abc三个产商,硬盘有abcde五个产商,按照该专利提供的沟通协议,内存和硬盘无法共用gpio引脚,且内存至少要用2个gpio引脚,硬盘至少要用3个gpio引脚,对于一些gpio引脚较少的处理器而言,可能会出现gpio引脚的数量严重不足的情况。



技术实现要素:

本发明的一个目的在于:提供一种主从配置沟通协议,可以使主配置通过一个gpio引脚就获取到与之相连的一种或多种从配置的参数信息。

本发明的另一个目的在于:提供一种提高兼容性的方法,可以使主配置兼容多种需要不同的初始化代码的从配置。

本发明的又一个目的在于提供一种电子设备,其主配置可以兼容多种需要不同的初始化代码的从配置。

为达此目的,本发明采用以下技术方案:

一方面,提供一种主从配置沟通协议,包括:

使主配置的一个gpio引脚与至少一种从配置电连接;

主配置通过所述gpio引脚向所述从配置发送模拟地址;

所述从配置接收所述模拟地址,并将所述模拟地址与所述从配置的本身地址比较:若所述模拟地址与所述本身地址相匹配,则所述从配置将自身的参数信息发送至所述主配置。

优选地,在所述主配置通过所述gpio引脚向所述从配置发送模拟地址之前,还包括:

主配置把信号线从初始的高电平拉低(r+y)个时钟周期作为预发送标志;

或者,

主配置把信号线从初始的低电平升高(r+y)个时钟周期作为预发送标志;

其中,r和y均为正整数。

优选地,所述r的数值与所述从配置(3)的种数n相关,关系如下:

r=l(log2n)+1;

其中,l(log2n)表示大于或等于log2n的最小整数;

所述y的数值与各种从配置的产商个数的最大值x相关,关系如下:

y=l(log2x)+1;

其中,l(log2x)表示大于或等于log2x的最小整数。

优选地,所述模拟地址的数据位为(r-1)个bit。

优选地,所述从配置将自身的参数信息发送至所述主配置之前,还包括:

所述从配置向所述主配置发送r个bit的0或1作为预反馈标志。

优选地,所述主配置把信号线从初始的高电平拉低(r+y)个时钟周期作为预发送标志之前,还包括:所述主配置将所述gpio引脚设置成输出态并输出高电平;

所述主配置把信号线从初始的低电平升高(r+y)个时钟周期作为预发送标志之前,还包括:所述主配置将所述gpio引脚设置成输出态并输出低电平。

优选地,所述参数信息为产商编号。

优选地,所述产商编号的数据位为v个bit,所述v的值与该种从配置的产商数量s相关,关系如下:v=l(log2s);其中,l(log2s)表示大于或等于log2s的最小整数。

另一方面,提供一种提高兼容性的方法,包括:

在软件中预设多套初始化代码,每套所述初始化代码对应至少一个厂商的一种从配置;

通过权利要求上述任一种主从配置沟通协议获取每一种从配置的参数信息;

根据所述参数信息在所述软件中调用相应的初始化代码。

又一方面,提供一种电子设备,包括:

主配置,所述主配置至少具备一个gpio引脚;

至少一种从配置,所述从配置均与同一个所述gpio引脚电连接;

所述主配置通过上述的提高兼容性的方法调用与所述从配置相应的初始化代码。

本发明的有益效果:本发明实施例提供的主从配置沟通协议、提高兼容性的方法以及电子设备,可以使主配置通过一个gpio引脚就获取到与之相连的一种或多种从配置的参数信息。不管多少个从配置,每个从配置有多少个产商,均可通过同一个gpio引脚进行识别,进而实现使用同一版软件兼容多种硬件配置,不仅大大节约了gpio引脚资源,还可以降低对软件版本的管控成本和管控风险。

附图说明

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

图1为本发明实施例一提供的主配置与从配置的连接示意图;

图2为本发明实施例一提供的主配置的流程图;

图3为本发明实施例一提供的从配置的流程图;

图4为本发明实施例四提供的主配置接收预反馈标志前的数据示意图;

图5为本发明实施例四提供的从配置接收预发送标志后的数据示意图。

图中:

1、主配置;

2、gpio引脚;

3、从配置。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

本发明的描述中,需要说明的是,术语“前”、“后”、“左”、“右”、“顶”、“底”等指示的方位或位置关系为基于图1所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

实施例一

如图1~图3所示,本实施例提供一种主从配置沟通协议,包括以下步骤:

s10:使主配置1的一个gpio引脚2与至少一种从配置3电连接。

具体地,于本实施例中,主配置1为具备至少一个gpio引脚2的处理器,从配置3的数量为三种,分别为内存、硬盘和显卡。其中,内存可能由a产商或者b产商提供;硬盘可能由c产商、d产商或者e产商提供;显卡可能由f产商或者g产商提供。如图1所示,内存、硬盘和显卡等从配置3均通过导线等与处理器的一个gpio引脚2连接。于本实施例中,处理器可以为普通单片机、arm(advancedriscmachines,简称arm)处理器、dsp(数字信号处理,digitalsignalprocessing,缩写为dsp)处理器或者intelcpu等处理器。

s20:主配置1将gpio引脚2设置成输出态并输出高电平。

具体地,初始状态,信号线初始化会被升高,处理器将用来通讯的gpio引脚2设置成输出态并使该gpio引脚2输出高电平。

s30:主配置1把信号线从初始的高电平拉低(r+y)个时钟周期作为预发送标志,优选地,r和y均为正整数。

具体地,检测开始,处理器将高电平信号降低(r+y)个时钟周期,内存等从配置3接收到电平信号的变化信息,进入准备状态,做好接收模拟地址的准备。优选地,主配置1把信号线从初始的高电平拉低(r+y)个时钟周期可以表现为处理器通过gpio引脚2向从配置3发送(r+y)个bit的二进制数值0。

于本实施例中,为了避免误响应,可以使r为与从配置3的种数n相关的正整数,进一步地,可以限定r与n的关系如下:

r=l(log2n)+1

其中,l(log2n)表示大于或等于log2n的最小整数,比如l(2)=2,l(2.1)=3。

于本实施例中,从配置3为内存、硬盘和显卡,所以n为3,r=l(log23)+1=3。

于本实施例中,y的数值与各种从配置的产商个数的最大值x相关,关系如下:

y=l(log2x)+1;

其中:

x为各种从配置2中产商个数的最大值,假如有内存有2个产商,硬盘有3个产商,显卡有2个产商,则x=3;

l(log2x)表示大于或等于log2x的最小整数。

s40:主配置1通过gpio引脚2向从配置3发送模拟地址。

具体地,处理器向内存、硬盘和显卡发送模拟地址。模拟地址可以预先输入到处理器中。例如,针对本实施例中的电子产品,程序员根据过往经验知道该处理器一般据需要与内存、硬盘和显卡连接,所以已经提前在处理器中植入了内存、硬盘和显卡的模拟地址。又如,如果针对手机,程序员根据过往经验知道手机的处理器一般需要与闪存、屏幕和摄像头连接,所以可以提前在处理器中植入闪存、屏幕和摄像头的模拟地址。

优选地,可以使模拟地址的数据位也与从配置3的种数相关,为(r-1)个bit。

s50:从配置3接收模拟地址,并将模拟地址与从配置3的本身地址比较:

若模拟地址与本身地址相匹配,则从配置3向主配置1发送r个bit的0(或1)作为预反馈标志,然后从配置3将自身的产商编号等参数信息发送至主配置1;若否,则忽略从主配置1发来的模拟地址信息。

具体地,于本实施例中,如果处理器发送内存的模拟地址,内存接收到该模拟地址后与本身地址比较,相匹配,则内存改变gpio引脚2的输入/输出状态,把信号线升高并向处理器发送r个bit的0作为开始的标志(当然,也可以选择把信号线拉低并向处理器发送r个bit的1作为开始的标志),然后再向处理器发送a产商或b产商的产商编号,于是,处理器就知道内存的相关信息,以便于后续调用相关的初始化代码。如果处理器发送硬盘的模拟地址,内存接收到该模拟地址后与本身地址比较,不匹配,内存忽略该模拟地址,然后由硬盘接收该模拟地址,硬盘接收到该模拟地址后与本身地址比较,相匹配,则硬盘改变gpio引脚2的输入/输出状态,先向处理器发送r个bit的0(或1)作为开始的标志,然后再向处理器发送c产商、d产商或e产商的产商编号,于是,处理器就知道硬盘的相关信息,以便于后续调用相关的初始化代码。如此类推,显卡的地址匹配过程与上述过程相似,不再赘述。于本实施例中,从配置3返回的信息可以为产商编号,也可以为其它用于区分从配置3的信息。

优选地,可以使产商编号的数据位为v个bit,v的值与该种从配置3的产商数量s相关,关系如下:

v=l(log2s)

同样的,l(log2s)表示大于或等于log2s的最小整数。

具体地,内存可能由a产商或者b产商提供,则内存的s=2;硬盘可能由c产商、d产商或者e产商提供,则内存的s=3;显卡由f产商或者g产商提供,则显卡的s=2。

进一步地,作为主配置1的处理器对接收到的v个bit的数据进行解析便可以识别出各从配置2的产商。

s60:主配置1接收产商编号等参数信息后,将gpio引脚2设置为输出态,从配置3则将gpio引脚设置为输入态,重复执行s20~s50,直至检测完所有从配置的产商编号等参数信息为止。

具体地,通过本实施例提供的主从配置3沟通协议,主配置1仅通过一个gpio引脚2就可以获取与之相连的一种或多种从配置3的参数信息,进而可以对各种从配置3进行区分,大大的节省了gpio引脚2资源。

实施例二

本实施例也提供一种主从配置沟通协议,其步骤如下:

s10:使主配置的一个gpio引脚与至少一种从配置电连接。

s20:主配置将gpio引脚设置成输出态并输出低电平。

具体地,初始状态,信号线初始化会被拉低,处理器将用来通讯的gpio引脚设置成输出态并使该gpio引脚输出低电平。

s30:主配置把信号线从初始的低电平升高(r+y)个时钟周期作为预发送标志。

具体地,检测开始,处理器将低电平信号升高(r+y)个时钟周期,内存等从配置接收到电平信号的变化信息,进入准备状态,做好接收模拟地址的准备。优选地,主配置把信号线从初始的低电平升高(r+y)个时钟周期可以表现为处理器通过gpio引脚向从配置发送(r+y)个bit的二进制数值1。于本实施例中,r与y的定义与实施例一相同。

s40:主配置通过gpio引脚向从配置发送模拟地址。

优选地,可以使模拟地址的数据位也与从配置的种数相关,为(r-1)个bit。

s50:从配置接收模拟地址,并将模拟地址与从配置的本身地址比较:

若模拟地址与本身地址相匹配,则把信号线拉高(或拉低),接着从配置向主配置发送r个bit的0(或1)作为预反馈标志,然后从配置将自身的产商编号等参数信息发送至主配置;若否,则忽略从主配置发来的模拟地址信息。

s60:主配置接收产商编号等参数信息后,将gpio引脚设置为输出态,从配置则将gpio引脚设置为输入态,重复执行s20~s50,直至检测到所有从配置的产商编号等参数信息为止。

具体地,通过本实施例提供的主从配置沟通协议,主配置仅通过一个gpio引脚就可以获取与之相连的一种或多种从配置的参数信息,进而可以对各种从配置进行区分,大大的节省了gpio引脚资源。

实施例三

基于实施例一提供的主从配置沟通协议,本实施例提供一种提高兼容性的方法,包括:

a1:在软件中预设多套初始化代码,每套初始化代码对应至少一个厂商的一种从配置。

具体地,可以预先将包括a产商、b产商以及其它常见的内存产商的内存所需要的初始化代码集成到软件中,也将c产商、d产商和e产商等多个常见硬盘产商的硬盘所需要的初始化代码也集成到该软件中,也将f产商和g产商等多个常见显卡产商的显卡所需要的初始化代码以及其它常见从配置的常见厂家的初始化代码集成到该软件中,使该软件成为一个包含多种从配置的多种产商的初始化代码的代码库。结合实施例一,本实施例的软件至少包含a产商、b产商、c产商、d产商、e产商、f产商和g产商的初始化代码,也可以包含其它产商的初始化代码。

a2:通过实施例一提供的沟通协议,使主配置获取每种从配置的产商编号等关键的参数信息。

具体地,处理器获取到内存的a产商的产商编号或者b产商的产商编号,也获取到硬盘的c产商的产商编号、d产商的产商编号或者e产商的产商编号,还获取到显卡的f产商编号或者g产商编号。

a3:根据s20获取到的参数信息从软件中调用相应的初始化代码。

具体地,根据获取到的a产商、b产商、c产商、d产商、e产商、f产商或者g产商的产商编号,到软件中调用相应的a产商、b产商、c产商、d产商、e产商、f产商或者g产商的初始化代码。如此,便实现了通过一个软件使主配置兼容多种从配置,而且只使用了一个gpio引脚作为通讯引脚,大大节省gpio引脚资源。

实施例四

基于实施例三提供的提高兼容性的方法,本实施例提供一种电子设备,电子设备包括:

主配置,主配置至少具备一个gpio引脚;

至少一种从配置,从配置均与同一个gpio引脚电连接,且主配置通过实施例一的沟通协议获取从配置的产商编号等信息;

主配置通过实施例二提供的方法调用与从配置相应的初始化代码,进而使主配置与从配置实现兼容。

以下以一个电子设备中有两个从配置(内存和硬盘)为例,内存有三个产商(a、b、c),硬盘有两个产商(d、e),下面进行内存三个产商的识别。

(1)主配置把与从配置通讯的gpio引脚初始化为输出态,并输出高电平;主配置输出r+y=l(log2n)+1+l(log2x)+1=l(log22)+1+l(log23)+1=5个时钟周期的低电平,即输出二进制数b'00000;

(2)主配置继续送出(r-1)=1个bit的模拟地址,本实施例中预先定义内存的模拟地址为b'0,硬盘的模拟地址为b'1。则此步骤主配置送出b'0。

(3)把gpio引脚设置成输入态。其中,步骤(1)~(3)的数据示意图如图4所示。

(4)内存和硬盘接收到预发送标志b'00000时开始等待地址的传输,当收到地址b'0时,硬盘检测到与自身地址不符,丢弃数据,继续等待预发送标志b'00的到来。内存检测到地址与自身相符,则设置gpio引脚为输出引脚,并拉高信号线,接着输出预反馈标志,长度为r=2个bit,即b'00。

(5)内存共有三个产商a、b、c,则产商编号的长度v=l(log2s)=l(log23)=2,假设产商编号分别设为b'00、b'01、b'10。本实施例以产商b为例,假设现在硬件电路上接的是产商b,则内存这边返回的便是b'01。步骤(4)~(5)的数据示意图如图5所示。

(6)从配置发送完产商编号数据后,把gpio引脚设置成输入态(即初始状态)。主配置收到预反馈标志b'00后,开始处理接下来收到的数据b'01,即识别出内存所用的是产商b的模块,接着把gpio引脚设置成输出态,并拉高信号线,恢复成初始状态。

(7)然后从包含多种初始化代码的软件中调用产商b的初始化代码。同理,当硬件电路上接的是产商a和c,以同样的方法识别并执行产商a和c的初始化代码。

(8)同理,识别硬盘时,则在开始的地址处发送b'1。若硬件电路接的是产商d则收到b'0,若硬件电路接的是产商e则收到b'1,接着调用相应的初始化代码。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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