I2C设备地址的探测方法、装置、系统及电子设备制造方法及图纸

技术编号:23399758 阅读:24 留言:0更新日期:2020-02-22 12:03
本发明专利技术公开了一种I2C设备地址的探测方法、装置、电子设备及计算机可读存储介质。该方法包括:在一I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;收到I2C设备的应答信号时停止写入所述设定地址;以及记录当前写入的设定地址为该I2C设备的I2C地址。本发明专利技术可以简单、快速且准确地自动探测并识别I2C设备的地址。

I2C device address detection method, device, system and electronic equipment

【技术实现步骤摘要】
I2C设备地址的探测方法、装置、系统及电子设备
本专利技术涉及软件
,尤其涉及一种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所示的电子设备仅仅是本文档来自技高网
...

【技术保护点】
1.一种I2C设备地址的探测方法,其特征在于,包括:/na)在一I2C设备上电后按照设定地址Address=Address+2依次自动写入I2C总线;/nb)收到I2C设备的应答信号时停止写入所述设定地址;以及/nc)记录当前写入的设定地址为该I2C设备的I2C地址。/n

【技术特征摘要】
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地址匹配...

【专利技术属性】
技术研发人员:张学军王德信
申请(专利权)人:青岛歌尔智能传感器有限公司
类型:发明
国别省市:山东;37

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

1