CN110825572A - I2c设备地址的探测方法、装置、系统及电子设备 - Google Patents
I2c设备地址的探测方法、装置、系统及电子设备 Download PDFInfo
- Publication number
- CN110825572A CN110825572A CN201911038226.XA CN201911038226A CN110825572A CN 110825572 A CN110825572 A CN 110825572A CN 201911038226 A CN201911038226 A CN 201911038226A CN 110825572 A CN110825572 A CN 110825572A
- Authority
- CN
- China
- Prior art keywords
- address
- set address
- bus
- detecting
- computer
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000003860 storage Methods 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 239000000126 substance Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种I2C设备地址的探测方法、装置、电子设备及计算机可读存储介质。该方法包括:在一I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;收到I2C设备的应答信号时停止写入所述设定地址;以及记录当前写入的设定地址为该I2C设备的I2C地址。本发明可以简单、快速且准确地自动探测并识别I2C设备的地址。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种I2C设备地址的探测方法及装置。
背景技术
在电子产品研发过程中,我们经常要用到许多传感器(压力,温度,加速度等等),并将多个传感器,在硬件上通过相同的I2C总线连接到中央处理器(CPU)上,由于每个传感器都有一个不同的I2C地址,CPU就是通过这个地址来区分各个不同的I2C设备,达到通讯的目的。
在目前的研发中,均为通过事先查看各个I2C设备的用户手册,并找到厂家规定的I2C设备地址,再将这个地址手动写到程序代码中来实现。
但目前此方法存在以下问题:
1、在实际使用过程中,由于I2C设备众多,有的设备地址是厂家出厂时固定的,还有的设备地址是通过芯片外部引脚来选择的,外部引脚是否接地,或者接地时,印刷电路板(PCB)可能存在虚焊,则会误导软件工程师获取错误的设备地址。
2、根据厂家的不同,有些I2C设备的说明书中提供的I2C地址,可以直接被程序代码使用。而有些I2C设备的说明书中提供的I2C地址,还需要手动将这个地址做一定的逻辑换算,才能最终提供给程序代码使用。这种情况下,软件工程师经常会忘记将I2C地址再做一次手动换算,而直接提供给程序使用,或者记得做手动换算,但手动换算的时候,容易因计算错误而得出错误的I2C地址,最终导致通讯失败。
因以上两个原因导致通讯失败时,很多时候工程人员会认为是软件有bug,逐行检查I2C通讯代码后也找不到问题所在。然后去查硬件布局(layout),发现硬件线路也没有问题。从而需要浪费很多时间来查找失败原因,不但延缓了项目开发进度,而且非常影响软件工程师的工作效率和情绪。
发明内容
本发明的目的在于提供一种I2C设备探测方法、装置、系统、电子设备及计算机可读存储介质,以实现I2C地址自动识别,提高I2C设备的探测效率。
根据本发明的第一方面,提供了一种I2C设备地址的探测方法,包括:
a)在一I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;
b)收到I2C设备的应答信号时停止写入所述设定地址;以及
c)记录当前写入的设定地址为该I2C设备的I2C地址。
其中,I2C设备在比对写入I2C总线的设定地址Address与其I2C地址匹配后发出所述应答信号。
优选地,所述设定地址位于0-255之间。
优选地,所述探测方法还包括:
循环上述步骤a)到c),直至依次探测出I2C总线上所有I2C设备地址。
根据本发明的第二方面,提供了一种I2C设备地址的探测装置,包括:
写入模块,所述写入模块在一I2C设备上电后按照设定地址Address=Address+2依次写入I2C总线,并在收到I2C设备的应答信号时停止写入所述设定地址;以及
记录模块,所述记录模块用于记录当前写入的设定地址为该I2C设备的I2C地址。
其中,I2C设备在比对写入I2C总线的设定地址Address与其I2C地址匹配后发出所述应答信号。
优选地,所述设定地址位于0-255之间。
根据本发明的第三方面,提供了一种I2C设备地址的探测系统,包括:
中央处理单元和I2C设备;其中,
所述中央处理单元,在I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;在收到所述I2C设备的应答信号时停止写入所述设定地址;以及记录当前写入的设定地址为所述I2C设备的I2C地址;
所述I2C设备,接收写入I2C总线的设定地址,并与其I2C地址进行比对;以及在比对匹配后产生所述应答信号。
优选地,所述设定地址位于0-255之间。
根据本发明的第四方面,提供了一种电子设备,此电子设备包括:
根据本发明第二方面所述的I2C设备地址的探测装置;或者,
处理器和存储器,存储器用于存储可执行的指令,所述指令用于控制处理器执行根据本发明第一方面所述的I2C设备地址的探测方法。
根据本发明的第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面所述的I2C设备地址的探测方法。
根据本发明的实施例,能够简单、快速且准确地自动探测并识别I2C设备的地址,同时确认设备的工作状态,避免人为失误,以及PCB焊接瑕疵带来的通讯失败问题。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为可用于实现本发明实施例的电子设备的硬件配置结构方框图。
图2为本发明实施例的I2C设备地址的探测方法步骤流程图。
图3为本发明实施例的I2C串行通讯原理图。
图4为本发明实施例的I2C设备地址的探测方法具体操作流程图。
图5为本发明实施例的I2C设备地址的探测装置的结构方框图。
图6为本发明实施例的I2C设备地址的探测系统的结构方框图。
图7为本发明实施例的电子设备的结构方框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出可以实现本发明的实施例的电子设备1000的硬件配置的框图。
电子设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。
如图1所示,电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的电子设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,电子设备1000的所述存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的I2C设备地址的探测方法。本领域技术人员应当理解,尽管在图1中对电子设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如电子设备1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
在本发明一个实施例中,提供了一种I2C设备地址的探测方法。
请参考图2,该图为本发明实施例的I2C设备地址的探测方法步骤流程图,I2C设备地址的探测方法可以是由电子设备实施,该电子设备例如可以是如图1所示的电子设备1000。
如图2所示,本发明实施例的I2C设备地址的探测方法包括以下步骤:
步骤102,在一I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;
步骤104,收到I2C设备的应答信号时停止写入所述设定地址;以及
步骤106,记录当前写入的设定地址为该I2C设备的I2C地址。
下面,将结合图3-4,对本发明I2C设备地址的探测方法展开详细说明,其中图3为本发明实施例的I2C串行通讯原理图,图4为本发明实施例的I2C设备地址的探测方法具体操作流程图。
参考图3,其中图中①-⑨的各英文指令释义分别说明如下:
①Start:起始命令;
②Slave Address:I2C地址;
③RW:写命令;
④ACKS:设备应答信号;
⑤Control byte:控制字节;Register address:寄存器地址;
⑥ACKS:设备应答信号;
⑦RW:读命令;
⑧Date byte:数据字节;Register data-address:读取控制寄存器地址;
⑨STOP:停止命令。
如图3所示,未处理单元(MCU)在发起I2C通讯之前,先发送一个起始命令(Start),紧接着发送一个I2C地址(Slave Address)和写指令(RW),此时I2C总线上的所有设备都能同时接收到这个地址数据,然后每个设备都会将收到的这个地址数据(Slave Address),与自己的地址进行对比,如果是匹配的,这个设备就会将数据线拉到低电平,产生设备应答信号(ACKS),对中央处理单元(CPU)进行回应。其余不匹配的设备却不会做任何反应,看起来就像不存在一样。
如此,CPU就可以探测到设备,并确定设备I2C地址,然后对设备进行相应的读写操作(Control Byte),读写完成后,CPU最后发出停止命令信号(STOP),即可断开与I2C设备的连接。
根据上图4可知,设备的I2C地址只用一个字节的高7位来表示,最后一位是读写命令位,也就是说I2C地址值一定在0-255之间,且只能为偶数。
因此,在一个实施例中,本发明I2C设备地址的探测方法具体实现步骤如图5所示:
首先,初始化I2C初始地址Address=0(步骤202),即设定地址Address。
因I2C设备的I2C地址位于0-255之间,所以本发明探测方法会从地Address=0开始进行依次扫描。
之后,发起I2C通讯起始命令Start,开始CPU和I2C总线上的设备之间的通讯,这里上电的设备与CPU通讯时才有可能存在应答,探测也是针对上电的I2C设备进行。
CPU向I2C总线写入设备地址数据Address,探测I2C设备(步骤206)。
如上文所述,CPU向I2C总线写入设备地址数据Address后,I2C总线上的所有设备都能同时收到该地址数据,并与各自的I2C地址进行比对,比对匹配时会发出应答信号ACK。
因此在步骤208中,可以延时预定的时间,等待并获取地址匹配的I2C设备发出应答信号ACK。在一个实施例中,延时时间可以是20us。
同时,在步骤210中,发起I2C命令Stop,停止通讯。并判断AC电平是否被拉低(步骤212),即探测此时是否存在与步骤206写入的地址数据匹配的I2C设备。
若判断ACK电平被拉低,则表示设备工作正常,此时记录并存储此时写入的地址值Address,即该当前写入的设定地址Address为I2C总线上发出ACK应答信息的I2C设备的正确I2C地址(步骤214),
若判断ACK电平未被拉低,即表示当前不存在与步骤206写入的设定地址匹配的I2C设备,则前进至步骤218,将设定的I2C地址值自动加2,即Address=Address+2。
这里,设定地址加2是因为I2C设备的I2C地址只能位于在0-255之间,且只能为偶数。因此,如此可以更快速准确地进行I2C地址探测。当然,设置Address=Address+1也是可行的,只是时间效率相比较低。
在设定地址Address=Address+2之后,再重复步骤202至步骤214,直至步骤216中,设定地址Address值>=254。超出则没有重复上述探测步骤的必要,因为12C设备的地址最大也只能是小于或等于254。
根据本发明实施例的I2C设备地址的探测方法,在无需知道I2C地址的情况下,可以在I2C设备产品上电时,利用CPU按顺序自动扫描所有I2C地址(0-255之间,最多只有128个地址)。并在某个时候收到应答信号(ACKS)时,立即停止扫描,记录下此时发送的当前设定地址Address,这也就是其中某个设备的I2C地址。
通过依次循环扫描,即可找出I2C总线上所有的设备的地址,并依次记录下来,也就完成了所有I2C设备的探测,同时也可以确定设备是否处于正常工作状态。这样,可以将I2C总线上的所有I2C设备的地址探测快速且准确地获取到。
根据本发明的I2C设备地址的探测方法,能够快速、准确地探测并识别I2C设备的地址,同时确认设备的工作状态,避免人为失误,以及PCB焊接瑕疵带来的通讯失败问题,从而将程序员从繁琐的问题上抽离出来,提升了工作效率,推进项目快速前进。
本发明的I2C设备地址的探测方法可以通过软件代码进行自动探测,计算并存储I2C设备地址,同时确定设备是否正常工作。从而完全无需关注设备的I2C地址,避免了因获取错误设备地址,或手动换算地址出错而导致的通讯失败。此探测方法可以由纯软件代码完成,可移植到各种不同的硬件开发平台,不增加任何硬件成本,节省了研发时间,提高了研发效率。
在本发明另一个实施例中,还提供了一种I2C设备地址的探测装置2000,具体参考图5,图5为本发明实施例的I2C设备地址的探测装置的结构方框图。
I2C设备地址的探测装置2000包括:
写入模块2200以及记录模块2400。写入模块2200在一I2C设备上电后按照设定地址Address=Address+2依次写入I2C总线,并在收到I2C设备的应答信号时停止写入所述设定地址。
记录模块2400用于记录当前写入的设定地址为该I2C设备的I2C地址。
在一个示例中,I2C设备在比对写入I2C总线的设定地址Address与其I2C地址匹配后发出所述应答信号。
在一个示例中,所述设定地址位于0-255之间。
根据本发明的另一个实施例,还提供了一种I2C设备地址的探测系统,如图6所示,图6为本发明实施例的I2C设备地址的探测系统的结构方框图。
I2C设备地址的探测系统3000包括:
中央处理单元3200和I2C设备3400;其中,
中央处理单元3200,在I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;在收到所述I2C设备的应答信号时停止写入所述设定地址;以及记录当前写入的设定地址为所述I2C设备的I2C地址。
I2C设备3400,接收写入I2C总线的设定地址,并与其I2C地址进行比对;以及在比对匹配后产生所述应答信号。
在一个示例中,所述设定地址位于0-255之间。
在本发明的再一个实施例中,提供了一种电子设备,该电子设备4000可以是图1所示的电子设备1000,图7为本发明实施例的电子设备的结构方框图。
一方面,该电子设备,4000可以包括前述的I2C设备地址的探测装置,用于实施本发明任意实施例的I2C设备地址的探测方法。
另一方面,如图7所示,电子设备4000可以包括存储器4200和处理器4400,存储器4200用于存储可执行的指令;该指令用于控制处理器4400执行前述的I2C设备地址的探测方法。
在本实施例中,电子设备4000可以是手机、平板电脑、掌上电脑、台式机、笔记本电脑、工作站、游戏机等任意具有存储器4200以及处理器4400的电子产品。
最后,在本发明的又一个实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例所述的I2C设备地址的探测方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (11)
1.一种I2C设备地址的探测方法,其特征在于,包括:
a)在一I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;
b)收到I2C设备的应答信号时停止写入所述设定地址;以及
c)记录当前写入的设定地址为该I2C设备的I2C地址。
2.根据权利要求1所述的方法,其中,I2C设备在比对写入I2C总线的设定地址Address与其I2C地址匹配后发出所述应答信号。
3.根据权利要求1所述的方法,其中,所述设定地址位于0-255之间。
4.根据权利要求1所述的方法,其中,还包括:
循环上述步骤a)到c),直至依次探测出I2C总线上所有I2C设备地址。
5.一种I2C设备地址的探测装置,其特征在于,包括:
写入模块,所述写入模块在一I2C设备上电后按照设定地址Address=Address+2依次写入I2C总线,并在收到I2C设备的应答信号时停止写入所述设定地址;以及
记录模块,所述记录模块用于记录当前写入的设定地址为该I2C设备的I2C地址。
6.根据权利要求5所述的装置,其中,I2C设备在比对写入I2C总线的设定地址Address与其I2C地址匹配后发出所述应答信号。
7.根据权利要求5所述的装置,其中,所述设定地址位于0-255之间。
8.一种I2C设备地址的探测系统,其特征在于,包括:
中央处理单元和I2C设备;其中,
所述中央处理单元,在I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;在收到所述I2C设备的应答信号时停止写入所述设定地址;以及记录当前写入的设定地址为所述I2C设备的I2C地址;
所述I2C设备,接收写入I2C总线的设定地址,并与其I2C地址进行比对;以及在比对匹配后产生所述应答信号。
9.根据权利要求8所述的系统,其中,所述设定地址位于0-255之间。
10.一种电子设备,其特征在于,包括:
根据权利要求5至7中任一权利要求所述的I2C设备地址的探测装置;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1至4中任一权利要求所述的I2C设备地址的探测方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至4中任一权利要求所述的I2C设备地址的探测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038226.XA CN110825572A (zh) | 2019-10-29 | 2019-10-29 | I2c设备地址的探测方法、装置、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038226.XA CN110825572A (zh) | 2019-10-29 | 2019-10-29 | I2c设备地址的探测方法、装置、系统及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825572A true CN110825572A (zh) | 2020-02-21 |
Family
ID=69551127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911038226.XA Pending CN110825572A (zh) | 2019-10-29 | 2019-10-29 | I2c设备地址的探测方法、装置、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825572A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463662A (zh) * | 2020-12-16 | 2021-03-09 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172363A (ja) * | 2005-12-22 | 2007-07-05 | Fujitsu Ltd | I2cバスのデータ伝送装置、及びその方法、並びにi2cバスのデータ伝送プログラム |
CN1996275A (zh) * | 2006-11-09 | 2007-07-11 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
CN105183685A (zh) * | 2015-06-24 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种基于i2c通信协议的获取从机地址的方法及i2c通信系统 |
CN105786734A (zh) * | 2016-02-25 | 2016-07-20 | 广州视源电子科技股份有限公司 | 数据传输的方法、扩展装置、外围设备及系统 |
-
2019
- 2019-10-29 CN CN201911038226.XA patent/CN110825572A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172363A (ja) * | 2005-12-22 | 2007-07-05 | Fujitsu Ltd | I2cバスのデータ伝送装置、及びその方法、並びにi2cバスのデータ伝送プログラム |
CN1996275A (zh) * | 2006-11-09 | 2007-07-11 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
CN105183685A (zh) * | 2015-06-24 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种基于i2c通信协议的获取从机地址的方法及i2c通信系统 |
CN105786734A (zh) * | 2016-02-25 | 2016-07-20 | 广州视源电子科技股份有限公司 | 数据传输的方法、扩展装置、外围设备及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463662A (zh) * | 2020-12-16 | 2021-03-09 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
CN112463662B (zh) * | 2020-12-16 | 2024-04-05 | 福州创实讯联信息技术有限公司 | 一种用户态控制i2c设备的方法与终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI510913B (zh) | 測試裝置及其測試方法 | |
US20060136794A1 (en) | Computer peripheral connecting interface system configuration debugging method and system | |
US20130268744A1 (en) | Method for detecting hardware | |
CN108874441B (zh) | 一种板卡配置方法、装置、服务器和存储介质 | |
CN102236591B (zh) | 接收自存储网络环境的scsi目标的scsi错误响应的定制系统和方法 | |
US20140164845A1 (en) | Host computer and method for testing sas expanders | |
CN113672306B (zh) | 服务器组件自检异常恢复方法、装置、系统及介质 | |
CN110825572A (zh) | I2c设备地址的探测方法、装置、系统及电子设备 | |
US9934117B2 (en) | Apparatus and method for fault detection to ensure device independence on a bus | |
CN111694684A (zh) | 存储设备的异常构造方法、装置、电子设备及存储介质 | |
CN106815088A (zh) | 服务器及其侦错方法 | |
US20210042204A1 (en) | Testing apparatus, testing system, and non-transitory tangible machine-readable medium thereof for testing touch mobile devices | |
US8516311B2 (en) | System and method for testing peripheral component interconnect express switch | |
CN115033441A (zh) | PCIe设备故障检测方法、装置、设备和存储介质 | |
CN107436776B (zh) | 烧录系统及烧录方法 | |
CN113160875A (zh) | 芯片测试系统和测试方法 | |
CN109918239B (zh) | 电脑设备、诊断方法以及非暂时性电脑可读储存媒体 | |
CN110020565B (zh) | 探头信息读取故障提示方法、装置、服务器和存储介质 | |
US11984182B2 (en) | Repair system and repair method for semiconductor structure, storage medium and electronic device | |
TWI547859B (zh) | 移除外接設備的方法、電腦系統及非暫態電腦可讀媒介 | |
US20230290424A1 (en) | Repair system and repair method for semiconductor structure, storage medium and electronic device | |
US20190179721A1 (en) | Utilizing non-volatile phase change memory in offline status and error debugging methodologies | |
JP6911082B2 (ja) | 状況情報併記型実使用ベースのモバイル端末のスクリプト生成方法 | |
CN111641419B (zh) | 终端的射频功率放大器的版本识别方法、控制方法及系统 | |
CN116820946B (zh) | 一种对目标软件兼容性进行自动化测试的方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200221 |
|
RJ01 | Rejection of invention patent application after publication |