一种I2C地址分配方法、电子设备及计算机可读存储介质组成比例

技术编号:27603666 阅读:14 留言:0更新日期:2021-03-10 10:26
本发明专利技术提供了一种I2C地址分配方法、电子设备及计算机可读存储介质,属于计算机的技术领域,解决了现有I2C0链路外接卡上的I2C器件地址可能存在与主板I2C器件地址发生冲突。包括OSES获取外接卡上连接的I2C器件的I2C地址;CPLD将预存储的I2C地址与获取到的I2C地址进行比较;CPLD将预存储的I2C地址中的剩余I2C地址分配给主板上连接的I2C器件。本发明专利技术通过利用将OSES和I2C链路上的I2C地址传输给CPLD,并在CPLD内增加一个逻辑算法,用于比对地址、赋值、配置GPIO,GPIO连接至主板I2C器件的地址引脚,避免了外接卡上的I2C器件地址和主板上的I2C器件地址发生冲突,避免在研发阶段出现地址冲突而再次改版,减小了研发成本。减小了研发成本。减小了研发成本。

【技术实现步骤摘要】
一种I2C地址分配方法、电子设备及计算机可读存储介质


[0001]本专利技术涉及计算机
,尤其是涉及一种I2C地址分配方法、电子设备及计算机可读存储介质。

技术介绍

[0002]I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。主机访问从器件I2C上所有的外围器件都需要I2C地址。
[0003]对于服务器和其他电子设备,I2C总线是最常用的一种总线。I2C上所有的外围器件都需要唯一的地址,由器件地址和引脚地址两部分构成,共7位。器件地址是I2C器件固有的地址编码,器件出厂是就已经给定,不可更改。引脚地址由I2C总线外围器件的地址引脚(A2,A1,A0)决定,根据其在电路中接电源正极,接地或者悬空的不同,形成不同的地址代码。
[0004]一般情况下,I2C0链路上的器件是由主板上的I2C器件和外接卡上的I2C器件组成。
[0005]在服务器电路设计中,主板上的I2C器件经常采用的是将地址分配好,直接将I2C器件的地址引脚(A2,A1,A0)固定上下拉。此时,如果需要外接其余的卡,例如HBA卡(主机总线适配器,Host Bus Adapter)、MEZZ卡等,外接卡上面的I2C器件地址是不固定的,存在不同功能和型号的卡上地址不一的情况。这就存在了一种情况,I2C0链路外接卡上的I2C器件地址可能存在与主板I2C器件地址发生冲突,使得通信出现错误。

技术实现思路

[0006]本专利技术的目的在于提供I2C地址分配方法、电子设备及计算机可读存储介质,结合OSES和CPLD,对主板上的I2C器件地址进行分配。防止同一链路的I2C地址冲突。
[0007]第一方面,本专利技术提供的一种I2C地址分配方法,应用于电子设备,所述电子设备包括主板、OSES、CPLD和外接卡,主板和外接卡均连接有若干I2C器件;
[0008]所述方法包括:
[0009]OSES获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址发送至CPLD;
[0010]CPLD将预存储的I2C地址与获取到的I2C地址进行比较,获得重复I2C地址,并从预存储的I2C地址中删除所述重复I2C地址;
[0011]CPLD将预存储的I2C地址中的剩余I2C地址分配给主板上连接的I2C器件。
[0012]进一步的,CPLD将预存储的I2C地址中的剩余I2C地址分配给主板上连接的I2C器件的步骤之后,还包括:
[0013]CPLD通过GPIO将所述剩余I2C地址赋值到主板上连接的I2C器件的I2C管脚。
[0014]进一步的,在OSES获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址
发送至CPLD的步骤之前,还包括:
[0015]CPLD通过GPIO将主板上连接的I2C器件的I2C地址设置为相同的预定值。
[0016]进一步的,OSES获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址发送至CPLD的步骤,包括:
[0017]OSES对I2C0链路进行广播寻址,获取外接卡上连接的I2C器件的I2C地址;
[0018]将获取到的I2C地址发送至CPLD。
[0019]进一步的,外接卡上连接的I2C器件包括HBA卡或MEZZ卡。
[0020]第二方面,本专利技术还提供一种电子设备,包括主板、OSES、CPLD和外接卡,主板和外接卡均连接有若干I2C器件;
[0021]OSES用于获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址发送至CPLD;
[0022]CPLD用于将预存储的I2C地址与获取到的I2C地址进行比较,获得重复I2C地址,并从预存储的I2C地址中删除所述重复I2C地址;将预存储的I2C地址中的剩余I2C地址分配给主板上连接的I2C器件。
[0023]进一步的,CPLD的GPIO输出端口连接至主板上连接的I2C器件;
[0024]CPLD还用于通过GPIO将所述剩余I2C地址赋值到主板上连接的I2C器件的I2C管脚。
[0025]进一步的,CPLD的GPIO输出端口通过反相器连接至主板上连接的I2C器件;
[0026]CPLD还用于预先通过GPIO将主板上连接的I2C器件的I2C地址设置为相同的预定值。
[0027]进一步的,外接卡上连接的I2C器件包括HBA卡或MEZZ卡。
[0028]第二方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行I2C地址分配方法。
[0029]本专利技术提供的I2C地址分配方法、电子设备及计算机可读存储介质,通过利用将OSES和I2C链路上的I2C地址传输给CPLD,并在CPLD内增加一个逻辑算法,用于比对地址、赋值、配置GPIO,GPIO连接至主板I2C器件的地址引脚,避免了外接卡上的I2C器件地址和主板上的I2C器件地址发生冲突,利用OSES和CPLD,将与外接卡上的I2C地址不同的地址配置给主板上的I2C器件,避免在研发阶段出现地址冲突而再次改版,减小了研发成本,同时很好的避免了外接卡上I2C器件的弃置不用。
[0030]相应地,本专利技术实施例提供的一种电子设备及计算机可读存储介质,也同样具有上述技术效果。
附图说明
[0031]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1为本专利技术实施例提供的I2C地址分配方法流程图;
[0033]图2为本专利技术实施例提供的电路方案图;
[0034]图3为本专利技术实施例提供的电路逻辑图。
具体实施方式
[0035]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0036]本专利技术实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0037]请参阅附图1-3,本专利技术实施例提供的一种I2C地址分配方法,应用于电子设备,所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种I2C地址分配方法,其特征在于,应用于电子设备,所述电子设备包括主板、OSES、CPLD和外接卡,主板和外接卡均连接有若干I2C器件;所述方法包括:OSES获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址发送至CPLD;CPLD将预存储的I2C地址与获取到的I2C地址进行比较,获得重复I2C地址,并从预存储的I2C地址中删除所述重复I2C地址;CPLD将预存储的I2C地址中的剩余I2C地址分配给主板上连接的I2C器件。2.根据权利要求1所述的I2C地址分配方法,其特征在于,CPLD将预存储的I2C地址中的剩余I2C地址分配给主板上连接的I2C器件的步骤之后,还包括:CPLD通过GPIO将所述剩余I2C地址赋值到主板上连接的I2C器件的I2C管脚。3.根据权利要求1所述的I2C地址分配方法,其特征在于,在OSES获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址发送至CPLD的步骤之前,还包括:CPLD通过GPIO将主板上连接的I2C器件的I2C地址设置为相同的预定值。4.根据权利要求1所述的I2C地址分配方法,其特征在于,OSES获取外接卡上连接的I2C器件的I2C地址,并将获取到的I2C地址发送至CPLD的步骤,包括:OSES对I2C0链路进行广播寻址,获取外接卡上连接的I2C器件的I2C地址;将获取到的I2C地址发送至CPLD。5.根...

【专利技术属性】
技术研发人员:王向光赵胜
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1