基于I2C协议访问多个从设备、接收数据的方法、计算装置制造方法及图纸

技术编号:39002498 阅读:17 留言:0更新日期:2023-10-07 10:34
本发明专利技术提供一种基于I2C协议访问多个从设备、接收数据的方法、计算装置。所述方法包括:主设备通过I2C总线发送广播地址;主设备通过I2C总线广播寄存器基地址;主设备通过I2C总线依次广播多个数据包;多个从设备中的每个通过I2C总线接收所述数据包,每检测到一个数据包都会更新自身计数器的计数值,每个从设备根据自己对应的设备编号、I2C总线上的从设备的总个数N以及每个数据包对应的计数值确定当前数据包是否是发送给自己的数据包,将发送给自己的数据包从寄存器基地址开始通过地址自加的方式依次写入该从设备的寄存器中。这样可以在一个I2C的完整通信周期内实现可对多个从设备的寄存器连续写入。的寄存器连续写入。的寄存器连续写入。

【技术实现步骤摘要】
基于I2C协议访问多个从设备、接收数据的方法、计算装置


[0001]本专利技术涉及数字IC(Integrated circuit)设计领域,尤其涉及一种基于I2C协议访问多个从设备、基于I2C(Inter

Integrated Circuit)协议接收数据的方法、计算装置以及计算机可读介质。

技术介绍

[0002]图1是基于I2C协议的通讯系统的结构框图。如图1所示的,在所述通信系统中的I2C总线上连接有一个主设备110和多个从设备120。图1中示意性的显示了四个从设备,实际上还可以有其他数目个从设备。每个从设备上电会默认有一个广播地址,在I2C广播前需要配置寄存器告知总线上的从设备的总个数total_number、每个从设备的设备编号device_number。
[0003]图2示出了现有技术中主设备基于I2C协议访问多个从设备的方法,以4个从设备,每个从设备连续写入4个数据包为例。如图2所示的,所述主设备向4个从设备写入数据需要发送4次启动条件(start)、从设备地址(device0Adress+W表示写入从设备0,device1 Adress+W表示写入从设备1,device2Adress+W表示写入从设备2,device3 Adress+W表示写入从设备3)、寄存器基地址(Base Reg Address)、4个连续的数据包(依次为write data0,write data1,write data2,write data3)和结束条件(Stop)。
[0004]也就是说,对N个从设备进行寄存器配置至少需要N个完整的I2C通信周期,在一个完整的通信周期内不能完成,这无疑会增加协议的时间开销,其中N为大于等于2的自然数。
[0005]因此,亟需提出一种新的技术方案来解决上述问题。

技术实现思路

[0006]本专利技术的目的之一在于提供一种基于I2C协议访问多个从设备、基于I2C(Inter

Integrated Circuit)协议接收数据的方法、计算装置以及计算机可读介质,其可以在一个I2C的完整通信周期内实现可对多个从设备的寄存器连续写入。
[0007]根据本专利技术的一个方面,本专利技术提供一种基于I2C协议访问多个从设备的方法,其包括:主设备通过I2C总线发送广播地址;主设备通过I2C总线广播寄存器基地址;主设备通过I2C总线依次广播多个数据包;多个从设备中的每个通过I2C总线接收所述数据包,每检测到一个数据包都会更新自身计数器的计数值,每个从设备根据自己对应的设备编号、I2C总线上的从设备的总个数N以及每个数据包对应的计数值确定当前数据包是否是发送给自己的数据包,将发送给自己的数据包从寄存器基地址开始通过地址自加的方式依次写入该从设备的寄存器中。
[0008]在一个进一步的实施例中,在主设备通过I2C总线发送广播地址后,其还包括:接收多个从设备在接收到所述广播地址后回复的确认收到信号;在主设备通过I2C总线广播寄存器基地址后,其还包括:接收所述从设备在接收到所述寄存器基地址后响应的确认收到信号。
[0009]在一个进一步的实施例中,每N个数据包为一个发送周期,发送周期的个数取决于每次想要发送给每个从设备的数据包个数。
[0010]在一个进一步的实施例中,所述计数器的计数值从初始值开始计数。
[0011]在一个进一步的实施例中,在主设备通过I2C总线发送广播地址前,其还包括:所述主设备通过I2C总线发送启动条件;在主设备通过I2C总线依次广播多个数据包后,其还包括:所述主设备通过I2C总线发送停止条件。
[0012]根据本专利技术的另一个方面,本专利技术提供一种基于I2C协议接收数据的方法,其包括:通过I2C总线接收来自主设备的广播地址;通过I2C总线接收来自主设备的寄存器基地址;通过I2C总线依次接收来自主设备的多个数据包;每检测到一个数据包都会更新自身计数器的计数值,从设备根据自己对应的设备编号、I2C总线上的从设备的总个数N以及每个数据包对应的计数值确定当前数据包是否是发送给自己的数据包,将发送给自己的数据包从寄存器基地址开始通过地址自加的方式依次写入该从设备的寄存器中。
[0013]在一个进一步的实施例中,在通过I2C总线接收来自主设备的广播地址后,其还包括:响应确认收到信号;在通过I2C总线接收来自主设备的寄存器基地址后,其还包括:响应确认收到信号。
[0014]在一个进一步的实施例中,所述计数器的计数值从初始值开始计数,在通过I2C总线接收来自主设备的广播地址前,其还包括:通过I2C总线接收启动条件;在通过I2C总线依次接收来自主设备的多个数据包后,其还包括:通过I2C总线接收停止条件。
[0015]根据本专利技术的再一个方面,本专利技术提供一种计算装置,其包括处理器和存储器,所述存储器中存储有程序指令,该程序指令由处理器执行以实现上文所述的基于I2C协议访问多个从设备的方法或上文所述的基于I2C协议接收数据的方法。
[0016]根据本专利技术的另一个方面,本专利技术提供一种计算机可读介质,其内存储有程序指令,该程序指令被执行以实现上文所述的基于I2C协议访问多个从设备的方法或上文所述的基于I2C协议接收数据的方法。
[0017]与现有技术相比,本专利技术中通过在从设备中增加识别机制,使得所述从设备能够辨别哪些数据包是发给自己的,哪些数据包不是发给自己的,这样所述主设备就可以在一个I2C的完整通信周期内实现可对多个从设备的寄存器连续写入,从而减少通讯时间,节省操作步骤。
【附图说明】
[0018]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0019]图1是基于I2C协议的通讯系统的结构框图;
[0020]图2示出了现有技术中主设备基于I2C协议访问多个从设备的方法的示例图,在此实例中,有四个从设备,每个从设备写入4个数据包;
[0021]图3示出了本专利技术中主设备基于I2C协议访问多个从设备的方法的示例图,在此实例中,有四个从设备,每个从设备写入4个数据包;
[0022]图4示出了本专利技术中主设备基于I2C协议访问多个从设备的方法的示例时序图,在此实例中,有2个从设备,每个从设备写入3个数据包;
[0023]图5为本专利技术中主设备基于I2C协议访问多个从设备的方法的流程示意图;
[0024]图6为本专利技术中从设备基于I2C协议接收数据的方法的流程示意图。
【具体实施方式】
[0025]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0026]此处所称的“一个实施例”或“实施例”是指可包含于本专利技术至少一个实现方式中的特定特征、结构或特性。在本说明书中不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于I2C协议访问多个从设备的方法,其特征在于,其包括:主设备通过I2C总线发送广播地址;主设备通过I2C总线广播寄存器基地址;主设备通过I2C总线依次广播多个数据包;多个从设备中的每个通过I2C总线接收所述数据包,每检测到一个数据包都会更新自身计数器的计数值,每个从设备根据自己对应的设备编号、I2C总线上的从设备的总个数N以及每个数据包对应的计数值确定当前数据包是否是发送给自己的数据包,将发送给自己的数据包从寄存器基地址开始通过地址自加的方式依次写入该从设备的寄存器中。2.根据权利要求1所述的基于I2C协议访问多个从设备的方法,其特征在于,在主设备通过I2C总线发送广播地址后,其还包括:接收多个从设备在接收到所述广播地址后回复的确认收到信号;在主设备通过I2C总线广播寄存器基地址后,其还包括:接收所述从设备在接收到所述寄存器基地址后响应的确认收到信号。3.根据权利要求1所述的基于I2C协议访问多个从设备的方法,其特征在于,每N个数据包为一个发送周期,一个发送周期内的N个数据包分别是发给N个从设备的,发送周期的个数取决于每次想要发送给每个从设备的数据包个数。4.根据权利要求1所述的基于I2C协议访问多个从设备的方法,其特征在于,所述计数器的计数值从初始值开始计数,主设备通过配置寄存器告知每个从设备所述广播地址、当前总线上的从设备的总个数N、以及其设备编号。5.根据权利要求1所述的基于I2C协议访问多个从设备的方法,其特征在于,在主设备通过I2C总线发送广播地址前,其还包括:所述主设备通过I2C总线发送启动条件;在主设备通过I2C总线依次广播多个数据包后,其还包括:所述主设备通过I2C总线发送停止条件。6.一种基于I2C协议接收数据的方法,其特征在于,其包括:通过...

【专利技术属性】
技术研发人员:李兆升李京闫国普
申请(专利权)人:美新半导体无锡有限公司
类型:发明
国别省市:

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

1