CN111078604A - 一种i2c总线设备读写的方法及装置 - Google Patents
一种i2c总线设备读写的方法及装置 Download PDFInfo
- Publication number
- CN111078604A CN111078604A CN201911116934.0A CN201911116934A CN111078604A CN 111078604 A CN111078604 A CN 111078604A CN 201911116934 A CN201911116934 A CN 201911116934A CN 111078604 A CN111078604 A CN 111078604A
- Authority
- CN
- China
- Prior art keywords
- bus
- read
- write command
- bit
- extended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及了一种I2C总线设备读写的方法及装置,其中该方法包括:基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值;基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上;响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备;接收设备接收并执行读写命令。本发明在不借助其它工具的情况下,仅基于标准的IPMI命令进行了扩展,实现了采用IPMI命令对总线ID大于7的I2C总线设备进行读写,简单易操作,方便用户使用以及测试人员测试。
Description
技术领域
本发明涉及服务器总线技术领域。本发明进一步涉及一种I2C总线设备读写的方法及装置。
背景技术
基板管理控制器(Baseboard Management Controller,简称BMC)是服务器特有的管理控制器。BMC的主要功能之一是自动监控服务器运行状态,主要包括各硬件的健康状态。BMC监测各硬件的健康状态,获取各硬件的信息,有助于运维人员及时了解服务器的运行状况,保证服务器正常运行。
BMC与其它组件的通信通常要通过I2C总线来进行。I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。SCL数据总线的上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平(SDL=1;SCL=1)。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。
系统中的所有外围器件都具有一个7位的从器件专用地址码,其中高4位为器件类型,由生产厂家制定,低3位为器件引脚定义地址,由使用者定义。主控器件通过地址码建立多机通信的机制,因此I2C总线省去了外围器件的片选线,这样无论总线上挂接多少个器件,其系统仍然为简约的二线结构。终端挂载在总线上,有主端和从端之分,主端必须是带有CPU的逻辑模块,在同一总线上同一时刻使能有一个主端,可以有多个从端,从端的数量受地址空间和总线的最大电容400pF的限制。二者都可以传输数据,但是从设备不能发起传输,且传输是受到主设备控制的。
在IPMI规范中定义了标准IPMI命令,可以方便地实现对I2C总线设备的读写。但由于规范中数据结构的限制,该命令无法对ID大于7的总线进行设备的读写,为了对这些I2C总线进行设备的读写,需要额外使用I2C test等工具。
因此,需要提出一种不用借助其它工具即可对扩展的I2C总线进行设备的读写的方法,方便用户使用以及测试人员测试。
发明内容
一方面,本发明基于上述目的提出了一种I2C总线设备读写的方法,其中该方法包括以下步骤:
基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;
设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值;
基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上;
响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备;
接收设备接收并执行读写命令。
根据本发明的种I2C总线设备读写的方法的实施例,其中基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范进一步包括:基于IPMI标准中的I2C总线读写命令的标准规范将用于指示总线类型的字节1第[0]位复用为用于与字节1第[3:1]位共同表示总线ID,以建立扩展规范。
根据本发明的种I2C总线设备读写的方法的实施例,其中基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上进一步包括:
总线ID为0至7,按照标准规范生成接收设备的读写命令;
总线ID为7至15,按照扩展规范生成接收设备的读写命令。
根据本发明的种I2C总线设备读写的方法的实施例,其中设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值进一步包括:
总线ID为0至7,为扩展标志位赋值为0;
总线ID为7至15,为扩展标志位赋值为1。
根据本发明的种I2C总线设备读写的方法的实施例,其中响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备进一步包括:
响应于扩展标志位的值为0,选择按照标准规范解析读写命令,以得到三位二进制ID,从而根据三位二进制ID确定读写命令对应的接收设备所在的总线;
响应于扩展标志位的值为1,选择按照扩展规范解析读写命令,以得到四位二进制ID,从而根据四位二进制ID确定读写命令对应的接收设备所在的总线。
另一方面,本发明还提出了一种I2C总线设备读写的装置,其中该装置包括:
至少一个处理器;和
存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行以下步骤:
基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值;基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上;
响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备;
接收设备接收并执行读写命令。
根据本发明的种I2C总线设备读写的装置的实施例,其中基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范进一步包括:基于IPMI标准中的I2C总线读写命令的标准规范将用于指示总线类型的字节1第[0]位复用为用于与字节1第[3:1]位共同表示总线ID,以建立扩展规范。
根据本发明的种I2C总线设备读写的装置的实施例,其中基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上进一步包括:
总线ID为0至7,按照标准规范生成接收设备的读写命令;
总线ID为7至15,按照扩展规范生成接收设备的读写命令。
根据本发明的种I2C总线设备读写的装置的实施例,其中设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值进一步包括:
总线ID为0至7,为扩展标志位赋值为0;
总线ID为7至15,为扩展标志位赋值为1。
根据本发明的种I2C总线设备读写的装置的实施例,其中响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备进一步包括:
响应于扩展标志位的值为0,选择按照标准规范解析读写命令,以得到三位二进制ID,从而根据三位二进制ID确定读写命令对应的接收设备所在的总线;
响应于扩展标志位的值为1,选择按照扩展规范解析读写命令,以得到四位二进制ID,从而根据四位二进制ID确定读写命令对应的接收设备所在的总线。
采用上述技术方案,本发明至少具有如下有益效果:在不借助其它工具的情况下,仅基于标准的IPMI命令,不增加新的命令,只是对原标准命令进行了扩展,实现了采用IPMI命令对总线ID大于7的I2C总线设备进行读写,简单易操作,方便用户使用以及测试人员测试。
本发明提供了实施例的各方面,不应当用于限制本发明的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。
下面参考附图更详细地解释和描述了本发明的实施例,但它们不应理解为对于本发明的限制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。
图1示出了根据本发明的I2C总线设备读写的方法的实施例的示意性框图。
具体实施方式
虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。
图1示出了根据本发明的I2C总线设备读写的方法的实施例的示意性框图。在如图所示的实施例中,该方法至少包括以下步骤:
S1:基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;
S2:设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值;
S3:基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上;
S4:响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备;
S5:接收设备接收并执行读写命令。
为了实现本发明的目的,从而能够方便快捷的对I2C总线设备进行读写,尤其是对总线ID大于7的设备进行读写,本发明的实施例提出了不再借助其它工具而是通过对标准的IPMI命令的标准规范进行扩展,以扩展规范生成读写命令的构思。因此,首先步骤S1基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范。将标准的IPMI命令的标准规范中的在特定情况下不会对读写的正常进行造成影响的位进行复用,将其增加入表示总线ID的位中共同用于记录总线ID,从而实现IPMI的读写命令能够支持对总线ID大于7的设备的读写。
在此基础上,为了在实际的总线工作过程中区分标准规范的命令和扩展规范的命令,步骤S2设置了扩展标志位g_i2csupport,并且根据接收设备的总线ID的大小为扩展标志位g_i2csupport赋值,以作为标准规范的命令和扩展规范的命令的标志,告知I2C总线应该按照哪一种规范处理接下来的读写命令。
设置好扩展标志位g_i2csupport以后,步骤S3基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上。也就是说,根据总线ID的值,从标准规范或扩展规范中选择相应的一种,并按照该规范生成该接收设备要执行的读写命令,并将该读写命令发送到I2C总线上。当监测到I2C总线上有读写命令的时候,步骤S4检查扩展标志位g_i2csupport,并根据扩展标志位g_i2csupport的值选择按照标准规范或扩展规范解析该监测到的读写命令,以确定该读写命令的接收设备。最后步骤S5由相应的接收设备接收并执行该读写命令。至此,实现了仅利用IPMI读写命令就可以对ID大于7的总线上的设备的读写。
下文将说明本发明的进一步实施例,需要注意的是,其中提到的步骤的编号在没有特殊说明的情况下,仅用于便捷明确地指示该步骤,并不限定所述步骤的顺序。
在本发明的种I2C总线设备读写的方法的一些实施例中,步骤S1基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范进一步包括:
基于IPMI标准中的I2C总线读写命令的标准规范将用于指示总线类型的字节1第[0]位复用为用于与字节1第[3:1]位共同表示总线ID,以建立扩展规范。
下面,具体说明IPMI标准中的I2C总线读写命令的标准规范和根据本发明的实施例基于标准规范所建立的扩展规范。首先,标准规范如下表1所示。
表1
在I2C总线的实际应用过程中,总线类型0为公共,1为私密,且通常为1,用三位二进制数表示总线ID,实现对I2C总线设备的命令传达并执行读写。由于三位二进制数表示的最大二进制数为7,因此该标准规范的读写命令只能实现对ID在7以内的I2C总线设备的读写。
下表2示出了根据本发明所建立的扩展规范。其中,标准规范中用于指示总线类型的字节1第[0]位被复用为用于与字节1第[3:1]位共同表示总线ID,即四位二进制数表示总线ID。此时,I2C总线默认总线类型为1私密。
表2
在本发明的种I2C总线设备读写的方法的若干实施例中,步骤S3基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上进一步包括:
3a)总线ID为0至7,按照标准规范生成接收设备的读写命令;
3b)总线ID为7至15,按照扩展规范生成接收设备的读写命令。
也就是说,基于IPMI的读写命令的数据结构的限制,当3a)接收设备的总线ID为0至7时,仍旧按照标准规范生成接收设备的读写命令。而当3b)接收设备的总线ID为7至15,标准规范的IPMI的读写命令已经能够无法支持相应的读写命令,因此按照扩展规范生成接收设备的读写命令。
在本发明的种I2C总线设备读写的方法的一些实施例,步骤S2设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值进一步包括:
2a)总线ID为0至7,为扩展标志位赋值为0;
2b)总线ID为7至15,为扩展标志位赋值为1。
具体地说,当2a)接收设备的总线ID为0至7时,为扩展标志位g_i2csupport赋值为0,告知I2C总线应该按照标准规范处理接下来的读写命令。而当2b)接收设备的总线ID为7至15时,为扩展标志位g_i2csupport赋值为1,告知I2C总线应该按照扩展规范处理接下来的读写命令。例如,自定义一个IPMI命令SetMoreI2CSupport,用户可以通过该命令改写扩展标志位g_i2csupport。此外,需要注意的是,若监测不到扩展标志位g_i2csupport,则默认按照标准规范处理接下来的读写命令。
在本发明的种I2C总线设备读写的方法的若干实施例,步骤S4响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备进一步包括:
4a)响应于扩展标志位的值为0,选择按照标准规范解析读写命令,以得到三位二进制ID,从而根据三位二进制ID确定读写命令对应的接收设备所在的总线;
4b)响应于扩展标志位的值为1,选择按照扩展规范解析读写命令,以得到四位二进制ID,从而根据四位二进制ID确定读写命令对应的接收设备所在的总线。
在I2C总线的实际应用过程中,当监测到I2C总线上有读写命令的时候,步骤S4检查扩展标志位g_i2csupport。如果检查到扩展标志位g_i2csupport的值为0,那么选择按照标准规范解析读写命令,提取字节1第[3:1]位以得到三位二进制ID,从而根据三位二进制ID确定读写命令的接收设备所在的总线。如果检查到扩展标志位的值为1,那么选择按照扩展规范解析读写命令,提取字节1第[3:0]位以得到四位二进制ID,从而根据四位二进制ID确定读写命令的接收设备所在的总线。
另一方面,本发明还提出了一种I2C总线设备读写的装置,其中该装置包括:至少一个处理器;和存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行以下步骤:
S1:基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;
S2:设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值;
S3:基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上;
S4:响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备;
S5:接收设备接收并执行读写命令。
在本发明的种I2C总线设备读写的装置的一些实施例中,步骤S1基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范进一步包括:基于IPMI标准中的I2C总线读写命令的标准规范将用于指示总线类型的字节1第[0]位复用为用于与字节1第[3:1]位共同表示总线ID,以建立扩展规范。
在本发明的种I2C总线设备读写的装置的若干实施例中,步骤S3基于总线ID按照标准规范或扩展规范生成接收设备的读写命令,并将读写命令发送到I2C总线上进一步包括:
3a)总线ID为0至7,按照标准规范生成接收设备的读写命令;
3b)总线ID为7至15,按照扩展规范生成接收设备的读写命令。
在本发明的种I2C总线设备读写的装置的一些实施例,步骤S2设置扩展标志位,并根据接收设备的总线ID为扩展标志位赋值进一步包括:
2a)总线ID为0至7,为扩展标志位赋值为0;
2b)总线ID为7至15,为扩展标志位赋值为1。
在本发明的种I2C总线设备读写的装置的若干实施例,步骤S4响应于监测到I2C总线上有读写命令,检查扩展标志位,并根据扩展标志位的值选择按照标准规范或扩展规范解析读写命令以确定读写命令对应的接收设备进一步包括:
4a)响应于扩展标志位的值为0,选择按照标准规范解析读写命令,以得到三位二进制ID,从而根据三位二进制ID确定读写命令对应的接收设备所在的总线;
4b)响应于扩展标志位的值为1,选择按照扩展规范解析读写命令,以得到四位二进制ID,从而根据四位二进制ID确定读写命令对应的接收设备所在的总线。
本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
采用上述技术方案,本发明至少具有如下有益效果:在不借助其它工具的情况下,仅基于标准的IPMI命令,不增加新的命令,只是对原标准命令进行了扩展,实现了采用IPMI命令对总线ID大于7的I2C总线设备进行读写,简单易操作,方便用户使用以及测试人员测试。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。
在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。
上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。
Claims (10)
1.一种I2C总线设备读写的方法,其特征在于,所述方法包括以下步骤:
基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;
设置扩展标志位,并根据接收设备的总线ID为所述扩展标志位赋值;
基于所述总线ID按照所述标准规范或所述扩展规范生成所述接收设备的读写命令,并将所述读写命令发送到I2C总线上;
响应于监测到所述I2C总线上有读写命令,检查所述扩展标志位,并根据所述扩展标志位的值选择所述标准规范或所述扩展规范解析所述读写命令以确定所述读写命令对应的所述接收设备;
所述接收设备接收并执行所述读写命令。
2.根据权利要求1所述的方法,其特征在于,所述基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范进一步包括:
基于IPMI标准中的I2C总线读写命令的标准规范将用于指示总线类型的字节1第[0]位复用为用于与字节1第[3:1]位共同表示总线ID,以建立所述扩展规范。
3.根据权利要求1所述的方法,其特征在于,所述基于所述总线ID按照所述标准规范或所述扩展规范生成所述接收设备的读写命令,并将所述读写命令发送到I2C总线上进一步包括:
所述总线ID为0至7,按照所述标准规范生成所述接收设备的读写命令;
所述总线ID为7至15,按照所述扩展规范生成所述接收设备的读写命令。
4.根据权利要求1所述的方法,其特征在于,所述设置扩展标志位,并根据接收设备的总线ID为所述扩展标志位赋值进一步包括:
所述总线ID为0至7,为所述扩展标志位赋值为0;
所述总线ID为7至15,为所述扩展标志位赋值为1。
5.根据权利要求4所述的方法,其特征在于,所述响应于监测到所述I2C总线上有读写命令,检查所述扩展标志位,并根据所述扩展标志位的值选择所述标准规范或所述扩展规范解析所述读写命令以确定所述读写命令对应的接收设备进一步包括:
响应于所述扩展标志位的值为0,选择按照标准规范解析所述读写命令,以得到三位二进制ID,从而根据所述三位二进制ID确定所述读写命令对应的接收设备所在的总线;
响应于所述扩展标志位的值为1,选择按照扩展规范解析所述读写命令,以得到四位二进制ID,从而根据所述四位二进制ID确定所述读写命令对应的接收设备所在的总线。
6.一种I2C总线设备读写的装置,其特征在于,所述装置包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序指令,所述程序指令在被处理器运行时执行以下步骤:
基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范;
设置扩展标志位,并根据接收设备的总线ID为所述扩展标志位赋值;
基于所述总线ID按照所述标准规范或所述扩展规范生成所述接收设备的读写命令,并将所述读写命令发送到I2C总线上;
响应于监测到所述I2C总线上有读写命令,检查所述扩展标志位,并根据所述扩展标志位的值选择所述标准规范或所述扩展规范解析所述读写命令以确定所述读写命令对应的所述接收设备;
所述接收设备接收并执行所述读写命令。
7.根据权利要求6所述的装置,其特征在于,所述基于复用I2C总线读写命令的标准规范中特定的位建立扩展规范进一步包括:
基于IPMI标准中的I2C总线读写命令的标准规范将用于指示总线类型的字节1第[0]位复用为用于与字节1第[3:1]位共同表示总线ID,以建立所述扩展规范。
8.根据权利要求6所述的装置,其特征在于,所述基于所述总线ID按照所述标准规范或所述扩展规范生成所述接收设备的读写命令,并将所述读写命令发送到I2C总线上进一步包括:
所述总线ID为0至7,按照所述标准规范生成所述接收设备的读写命令;
所述总线ID为7至15,按照所述扩展规范生成所述接收设备的读写命令。
9.根据权利要求6所述的装置,其特征在于,所述设置扩展标志位,并根据接收设备的总线ID为所述扩展标志位赋值进一步包括:
所述总线ID为0至7,为所述扩展标志位赋值为0;
所述总线ID为7至15,为所述扩展标志位赋值为1。
10.根据权利要求9所述的装置,其特征在于,所述响应于监测到所述I2C总线上有读写命令,检查所述扩展标志位,并根据所述扩展标志位的值选择所述标准规范或所述扩展规范解析所述读写命令以确定所述读写命令对应的接收设备进一步包括:
响应于所述扩展标志位的值为0,选择按照标准规范解析所述读写命令,以得到三位二进制ID,从而根据所述三位二进制ID确定所述读写命令对应的接收设备所在的总线;
响应于所述扩展标志位的值为1,选择按照扩展规范解析所述读写命令,以得到四位二进制ID,从而根据所述四位二进制ID确定所述读写命令对应的接收设备所在的总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911116934.0A CN111078604B (zh) | 2019-11-15 | 2019-11-15 | 一种i2c总线设备读写的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911116934.0A CN111078604B (zh) | 2019-11-15 | 2019-11-15 | 一种i2c总线设备读写的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078604A true CN111078604A (zh) | 2020-04-28 |
CN111078604B CN111078604B (zh) | 2022-06-03 |
Family
ID=70311137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911116934.0A Active CN111078604B (zh) | 2019-11-15 | 2019-11-15 | 一种i2c总线设备读写的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078604B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626885A (zh) * | 2021-06-25 | 2021-11-09 | 苏州浪潮智能科技有限公司 | Mcu多源写操作控制方法、系统、终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996275A (zh) * | 2006-11-09 | 2007-07-11 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
CN101630299A (zh) * | 2009-05-27 | 2010-01-20 | 东南大学 | 一种i2c串行总线信号的分析与触发方法 |
CN102722461A (zh) * | 2012-05-07 | 2012-10-10 | 加弘科技咨询(上海)有限公司 | 存储管理系统的数据通信系统及通信方法 |
CN103577356A (zh) * | 2013-11-06 | 2014-02-12 | 杭州华三通信技术有限公司 | 实现iic接口地址扩展的设备及方法 |
EP3123348A1 (en) * | 2014-03-24 | 2017-02-01 | INESC TEC - Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciencia | Control module for multiple mixed-signal resources management |
-
2019
- 2019-11-15 CN CN201911116934.0A patent/CN111078604B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996275A (zh) * | 2006-11-09 | 2007-07-11 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
CN101630299A (zh) * | 2009-05-27 | 2010-01-20 | 东南大学 | 一种i2c串行总线信号的分析与触发方法 |
CN102722461A (zh) * | 2012-05-07 | 2012-10-10 | 加弘科技咨询(上海)有限公司 | 存储管理系统的数据通信系统及通信方法 |
CN103577356A (zh) * | 2013-11-06 | 2014-02-12 | 杭州华三通信技术有限公司 | 实现iic接口地址扩展的设备及方法 |
EP3123348A1 (en) * | 2014-03-24 | 2017-02-01 | INESC TEC - Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciencia | Control module for multiple mixed-signal resources management |
Non-Patent Citations (2)
Title |
---|
罗伟东: "《IIC/I2C从地址之7位,8位和10位详解》", 《HTTP://WWW.TOOMOSS.COM/NEWS/12-CN.HTML》 * |
罗伟东: "《IIC/I2C从地址之7位,8位和10位详解》", 《HTTP://WWW.TOOMOSS.COM/NEWS/12-CN.HTML》, 6 March 2019 (2019-03-06) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626885A (zh) * | 2021-06-25 | 2021-11-09 | 苏州浪潮智能科技有限公司 | Mcu多源写操作控制方法、系统、终端及存储介质 |
CN113626885B (zh) * | 2021-06-25 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Mcu多源写操作控制方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111078604B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113688087B (zh) | 一种pcie设备枚举方法、系统、存储介质及设备 | |
US8909822B2 (en) | Output device, log collecting method for output device, and storage medium | |
CN115314416B (zh) | 网卡状态自动检测方法、装置、电子设备及存储介质 | |
CN108647131B (zh) | 运行日志的输出系统 | |
CN111078604B (zh) | 一种i2c总线设备读写的方法及装置 | |
US20100036990A1 (en) | Network device | |
US11645220B2 (en) | Method and apparatus for multi-bus device fused access | |
US10754748B2 (en) | System and method for constructing extensible event log with javascript object notation (JSON) encoded payload data | |
CN117687944A (zh) | 一种拓扑生成方法、扩展板卡及服务器 | |
US20120054391A1 (en) | Apparatus and method for testing smnp cards | |
CN116226008A (zh) | 端口地址配置器、配置方法及终端 | |
CN113900718B (zh) | 一种bmc与bios资产信息的解耦方法、系统及装置 | |
CN113468028B (zh) | 用于计算设备的设备管理方法、计算设备、装置和介质 | |
CN105354107A (zh) | NOR Flash的数据传输方法及系统 | |
CN115599727A (zh) | 一种pcie设备带宽分配方法及相关装置 | |
CN115509978A (zh) | 一种外插设备物理位置确定方法、装置、设备及存储介质 | |
CN114116544B (zh) | 插槽信息的获取方法、装置、设备及存储介质 | |
CN115098342A (zh) | 系统日志收集方法、系统、终端及存储介质 | |
CN103366830A (zh) | 存储卡的测试装置 | |
CN114546899A (zh) | Usb设备连接方法、系统及计算机可读存储介质 | |
JP4291368B2 (ja) | メモリバスチェック手順 | |
CN104216850A (zh) | 接口传输设备 | |
US20160204982A1 (en) | System and method of supporting more than 256 sensors by intelligent platform management interface (ipmi) based server management controller | |
CN212229628U (zh) | 从机设备 | |
US20190179721A1 (en) | Utilizing non-volatile phase change memory in offline status and error debugging methodologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |