I2C总线上的通信的制作方法

文档序号:31497054发布日期:2022-09-14 07:32阅读:79来源:国知局
I2C总线上的通信的制作方法
i2c总线上的通信
1.相关申请的交叉引用
2.本技术要求于2021年2月26日提交的法国专利申请no.2101921的权益,该申请在此通过引入作并入本文。
技术领域
3.本公开一般涉及电子设备、系统和方法。更具体地,本公开涉及用于通过i2c总线进行通信的设备和方法。


背景技术:

4.计算机总线是在多个电子设备之间,例如在同一电子系统的多个组件之间进行数据传输的设备。总线通常包括适于传输不同类型的信号(例如,地址信号,数据信号,时钟信号等)的一条或多条线。每条数据总线由限定了在设备之间交换逻辑数据的方式的通信协议来实现。
5.在不同的现有总线和通信协议中,i2c(集成电路间)技术是当今在工业中非常广泛地用于不同设备之间的通信的通信技术。适合于i2c技术的总线是使用两条传输线的双向串行总线,更准确地说,是数据传输线和时钟信号传输线。
6.希望能够至少部分地改进使用适于i2c通信的总线的已知通信技术。


技术实现要素:

7.需要更可靠的通信技术。
8.需要使用适于i2c通信的总线的更可靠的通信技术。
9.需要使主机设备能够容易地将地址分配给从机设备的i2c总线通信技术。
10.实施例克服了使用适于i2c通信的总线的已知通信技术的全部或部分缺点。
11.一个实施例提供了一种归属的方法,该方法在通过i2c总线的通信上由第二设备将第一地址归属于第一设备,其中第二设备通过i2c总线发送第一地址,并且如果第二设备没有接收到确认数据,则第一设备记录第一地址。
12.根据实施例,如果第二设备接收到确认数据,则第一设备不记录第一地址。
13.根据一个实施例,第一设备将第一地址记录在非易失性寄存器中。
14.根据一个实施例,第一地址没有被分配给可以与第二设备通信的设备。
15.根据一个实施例,第一设备处于其期望被分配地址的归属模式,并且当其记录第一地址时离开该归属模式。
16.根据实施例,第一设备包括指示其是否处于归属模式的第一状态变量。
17.根据一个实施例,第一设备包括指示其是否已经记录了地址的第二状态变量。
18.根据一个实施例,第一地址包括设备类型标识符和设备号。
19.根据实施例,第一设备是i2c总线之上的通信的从机设备。
20.根据一个实施例,第一设备是存储器。
21.根据一个实施例,第一设备是eeprom类型的非易失性存储器。
22.根据实施例,第二设备是i2c总线通信的主机设备。
23.根据一个实施例,第二设备是处理器。
24.实施例提供了一种配置包括所描述的归属方法的第三设备的方法。
25.实施例提供了一种适于实现所描述的归属方法的设备。
26.需要更可靠的通信技术。
27.需要使用适于i2c通信的总线的更可靠的通信技术。
28.需要使主机设备能够容易地将地址分配给从机设备的i2c总线通信技术。
29.实施例克服了使用适于i2c通信的总线的已知通信技术的全部或部分缺点。
30.一个实施例提供了一种归属的方法,该方法在通过i2c总线的通信上由第二设备将第一地址归属于第一设备,其中第二设备通过i2c总线发送第一地址,并且如果第二设备没有接收到确认数据,则第一设备记录第一地址。
31.根据实施例,如果第二设备接收到确认数据,则第一设备不记录第一地址。
32.根据一个实施例,第一设备将第一地址记录在非易失性寄存器中。
33.根据一个实施例,第一地址没有被分配给可以与第二设备通信的设备。
34.根据一个实施例,第一设备处于其期望被分配地址的归属模式,并且当其记录第一地址时离开该归属模式。
35.根据实施例,第一设备包括指示其是否处于归属模式的第一状态变量。
36.根据一个实施例,第一设备包括指示其是否已经记录了地址的第二状态变量。
37.根据一个实施例,第一地址包括设备类型标识符和设备号。
38.根据实施例,第一设备是i2c总线之上的通信的从机设备。
39.根据一个实施例,第一设备是存储器。
40.根据一个实施例,第一设备是eeprom类型的非易失性存储器。
41.根据实施例,第二设备是i2c总线通信的主机设备。
42.根据一个实施例,第二设备是处理器。
43.实施例提供了一种配置包括所描述的归属方法的第三设备的方法。
44.实施例提供了一种适于实现所描述的归属方法的设备。
附图说明
45.前述以及其他特征和优点将通过图示的方式在以下具体实施方式中被详细描述,并且并不被限制于所参考的附图,其中:
46.图1以块的形式示意性地示出了i2c总线上的通信;
47.图2以块的形式示意性地示出了电子设备的地址;
48.图3示意性地示出了两个视图(a)和(b),说明了电子设备的变型;
49.图4以模块的形式示意性地示出了i2c总线上通信的实现方式;
50.图5以块的形式示意性地示出了通过i2c总线通信将地址分配给设备的方法的实现模式;
51.图6以模块的形式示意性地示出了另一个i2c总线通信;以及
52.图7以块的形式示意性地示出了配置设备的方法的实现模式。
具体实施方式
53.在各个附图中,相同的特征由相同的附图标记表示。特别地,在各个实施例中共同的结构和/或功能特征可以具有相同的附图标记并且可以设置相同的结构,尺寸和材料特性。
54.为了清楚起见,仅示出和详细描述了对理解本文所述的实施例有用的步骤和元件。特别地,能够由主机设备发送到从机设备的所有不同的控制信号没有详尽地详细描述。
55.除非另有说明,当提及连接在一起的两个元件时,这表示除了导体之外没有任何中间元件的直接连接,并且当提及连接在一起的两个元件时,这表示这两个元件可以被连接或者它们可以经由一个或多个其它元件被耦合。
56.在以下公开中,除非另有说明,当提及绝对位置限定词时,例如术语“前”,“后”,“顶”,“底”,“左”,“右”等,或提及相对位置限定词时,例如术语“上”,“下”,“上”,“下”等,或提及取向限定词时,例如“水平”,“垂直”等,是指图中所示的取向。
57.除非另有说明,表述“约”,“大约”,“基本上”和“以

量级”表示在10%以内,优选在5%以内。
58.本公开中提到的信号是包括分别对应于逻辑数据“1”(一)和“0”(零)的高状态和低状态的模拟信号。除非另外提及,否则高状态表示例如等于电源电压的高电压电平。除非另外提及,否则低状态表示低电压电平,例如等于参考电压,例如接地。
59.图1以块的形式示意性地示出了i2c(集成电路间)总线上的通信。
60.图1示出了由两条传输线scl和sda形成的i2c总线101。传输线scl适合于传输能够对总线的数据传输进行速率控制的时钟信号。时钟信号是在高电平与低电平之间周期性变化的模拟信号。传输线sda适于传输在高电平与低电平之间变化的表示数据和控制信号的模拟信号。
61.传输线scl和sda实际上是具有由使用总线101的电子设备控制的电压电平的导体。在空闲状态中,即,当线scl和sda不传输信号时,线scl和sda例如通过图1中未示出的上拉电阻器保持在高电压电平。
62.图1还示出了使用总线101一起通信的电子设备。图1更精确地示出了i2c总线通信的主电子设备102(主机)或主机设备102,以及i2c总线通信的两个从电子设备103(从机1)和104(从机2)或从机设备103和104。
63.在i2c总线上的通信中,诸如主机设备102的主机设备是已经发起i2c总线通信的设备,这给予它专用于其主机设备状态的任务。在这些不同的任务之中,所述主机设备特别地适于:
64.-施加通过i2c总线的线scl传输的时钟信号的时钟频率;
65.-通过施加关于图4所述的开始条件和停止条件来启动和停止i2c总线通信;以及
66.-通过使用sda线发送和/或接收控制信号和/或数据。
67.从机设备103和104是没有发起i2c总线通信的电子设备。从机设备103和104适于通过使用sda线与主机设备102通信来发送和/或接收控制信号和/或数据。每个从机设备103、104响应于地址,这将结合图2进行描述。
68.根据一个示例,主机设备102可以是电子系统的处理器或微处理器,而从机设备103和104可以是该电子系统的其它组件,例如存储器,数据获取设备,通信设备等。关于图3
描述了从机设备的示例。
69.图1示出了一种i2c总线通信,包括主机设备102和多个(这里是两个)从机设备103和104。显然,i2c通信可以适于主机设备与单个从机设备,或多于两个从机设备的通信,或进一步适于多个主机设备彼此或与一个或多个从机设备的通信。下文描述的实施例适用于主机设备与一个或多个从机设备之间的i2c总线通信。
70.图2以块的形式示意性地示出了关于图1描述的从机设备103和104的类型的从机设备的地址。
71.为了启动与从机设备的i2c总线通信,主机设备通过i2c总线的数据传输线发送它希望发起通信的从机设备的地址。存在多个从机设备地址格式。能够使用的地址格式如下。
72.从机设备的地址add由7位b0到b6组成。地址被分成两个部分,每个部分表示特定信息。
73.四个最高有效位b0至b3表示使得能够标识从机设备的性质的设备类型标识符dti。实际上,可能使用i2c总线通信的每种类型的电子设备由在四个位上编码的标识符来表示。根据一个示例,eeprom型(电可擦除可编程只读存储器)非易失性存储器由标识符“1010”表示。
74.三个最低有效位b4到b6表示设备的编号ci(ci,芯片标识符)。编号ci使得能够区分在同一电子系统中使用的相同性质的多个电子设备。根据一个示例,如果从机设备是其类型中唯一的一个从机设备,则其编号ci为“000”。
75.根据一个示例,如果电子系统包括eeprom型非易失性存储器,则这两个存储器的地址可以是:“1010000”和“1010001”。
76.此外,从机设备可以使用多个地址来实现i2c总线通信。根据一个示例,第一地址或主地址可以用于发送第一类型的控制信号,而第二地址或次级地址可以用于第二控制信号类型。例如,主地址可以例如遵守关于图2描述的地址add的形成规则,而次级地址也可以遵守这些规则,或者可以遵守其它形成规则。根据更精确的示例,如果设备是存储器,则主地址可以允许接收读和写控制信号,而次级地址可以使得能够接收存储器配置控制信号。
77.图3包括两个视图(a)和(b),示意性地示出了能够作为i2c总线通信中的从机设备的电子设备。
78.视图(a)是eeprom型非易失性存储器200的简化顶视图。存储器200由矩形封装201保护,在俯视图中,矩形封装201具有八个连接端子202,在视图(a)中,连接端子202从矩形封装201突出并且具有附图标记1至8。连接端子202在封装201的平行侧上布置成四个一组。
79.非易失性存储器200适于i2c总线通信,并且这是使用八个连接端子202的示例。参考连接端子4接收低电平参考信号vss,例如接地。参考连接端子8接收高电平参考信号vcc,例如电源电压。端子1至3传送存储器200的编号ci的三位。为此,如果端子指示“0”(零)则每个端子1到3耦合到端子4(vss),或者如果端子指示“1”(一)则耦合到端子8(vcc)。端子5耦合到,优选地连接到i2c总线的传输线sda。端子6耦合,优选地连接到i2c总线的传输线scl。端子7例如可以接收信号wc-(写控制),该信号wc使得能够配置存储在存储器200中的数据的保护或不保护。
80.视图(b)是另一eeprom型非易失性存储器250的简化顶视图。存储器250由封装251保护,该封装251在俯视图中是矩形的,或者甚至是正方形的,具有从封装251突出的四个连
接端子252,用附图标记1至4表示。连接端子布置在封装251的四个拐角处。
81.非易失性存储器250适合于i2c总线通信,并且这是使用四个连接端子252的示例。端子1耦合到,优选地连接到i2c总线的传输线sda。参考连接端子2接收低电平参考信号vss,例如接地。端子3耦合,优选地连接到i2c总线的传输线scl。参考连接端子4接收高电平参考信号vcc,例如电源电压。
82.在存储器200的情况下,可用于i2c总线通信的存储器的地址的一部分能够在存储器200的封装的连接端子202上直接访问,另一部分存储在存储器200的特定寄存器中。更具体地,图2中描述的电路的地址的位b4、b5、b6由端子e2、e1、e0的电压电平限定。而在存储器250的情况下,存储器地址被存储在存储器250的特定寄存器中。
83.图4是示出关于图1描述的设备102的类型的主机设备m与关于图1描述的设备103和104的类型的从机设备s之间的i2c总线通信的常规示例的框图。设备m和s通过关于图1描述的总线101类型的i2c总线耦合,i2c总线包括数据传输线sda和时钟信号传输线scl。
84.在设备m与s之间的i2c通信开始之前,由线路scl和sda发送的信号不被使用并且被保持在高电平。
85.根据一个示例,结合图4描述的i2c通信是基于包括八个数据位的控制信号的通信。此外,由从设备s所使用的地址格式是结合图2所描述的。
86.在初始步骤301(开始),设备m与s之间的i2c通信开始。为此,主机设备m传输开始条件。i2c通信开始条件例如由线路sda传输的信号的下降沿限定,而线路scl上的信号处于高电平。
87.由主机设备m施加的开始条件具有通知从机设备s开始i2c通信的功能。这种中断导致通知从机设备s:i2c总线通信开始。换句话说,中断导致“唤醒”或“警告”从机设备s。
88.一旦通过了开始条件,主机设备m经由线scl发送时钟信号。因此,在开始条件之后,线scl上的信号具有第一下降沿并且切换到低电平。
89.在步骤302(从机地址),主机设备m发送第一控制信号。该第一控制信号包括它希望与之通信的从机设备的地址,在这种情况下,这里是从机设备s的地址。为了读取该控制信号,从机设备s在信号scl的每个上升沿读取信号sda的数据。
90.作为示例,该第一控制信号包括从机设备s的地址的七个位和指示下一控制信号的性质的位。该最后一位例如可以指示下一个控制信号或响应的通信方向。根据一个示例,如果最后一位表示“0”(零),则通信发生在从主机设备到从机设备的方向上,而如果最后一位表示“1”(一),则通信发生在从从机设备到主机设备的方向上。换句话说,如果最后一位表示“0”,则主机设备处于传输位置而从机设备处于接收位置,而如果最后一位表示“1”(一),则主机设备处于接收位置而从机设备处于传输位置。
91.在步骤303(确认?)如果在步骤302处由主机设备m发送的地址对应于从机设备s的地址或地址之一,则设备s向主机设备m发送确认数据(输出y)。下一步骤是步骤304(cmd)。如果主机设备m没有接收到确认数据(输出n),则通信停止,下一步骤是步骤305(停止)。主机设备m可以从另一个从机设备(图4中未示出的情况)接收确认数据,在这种情况下,通信开始于该另一个从机设备,并且从机设备s不跟随该通信。由设备s发送的确认数据例如是对信号sda的低状态的设置。
92.在步骤304,设备m和s准备通信。主机设备m和从机设备s交换控制信号和/或数据。
一旦控制信号和/或数据交换结束,下一步骤是步骤305。应当注意,在基于8位控制信号的i2c总线通信上,具有接收位置的设备在接收到每组8个数据位之后向具有传输位置的设备发送确认数据。如果具有接收位置的设备在期望的时间不发送确认数据,则具有传输位置的设备认为具有接收位置的设备不再被警告与之通信。主机设备m以结合步骤305描述的方式停止通信。
93.在步骤305,没有接收到确认数据的主机设备m发送使得能够停止通信的停止条件。例如,当scl信号处于高电平时,通过sda信号的上升沿来限定i2c通信停止条件。设备m与s之间的i2c通信随后结束。
94.图5以框的形式示意性地示出了在i2c总线通信上由主机设备m1(主机)实现的将地址add1归属于从机设备s1(从机)的方法的实现模式。
95.主机设备m1与从机设备s1通过关于图1描述的i2c总线101类型的i2c总线(图5中未示出)耦合,i2c总线101包括关于图1描述的传输线sda类型的数据线和关于图1描述的传输线scl类型的时钟线。主机设备m1可以通过i2c总线耦合到图5中未示出的其它从机设备。
96.地址add1是没有被从机设备使用的空闲地址,主机设备m1可以与其进行i2c总线通信。地址add1旨在被分配给从机设备s1。根据一个例子,地址add1是7位二进制字。
97.在步骤401(归属模式),从机设备s1已经进入操作模式,在该操作模式中它期望被分配地址,该操作模式称为归属模式。根据一个示例,从机设备s1可以包括指示其处于归属模式的数据位,例如状态变量。
98.根据一个示例,从机设备s1可以在其制造结束时直接处于该模式。根据另一示例,主机设备m1可能先前已经向从机设备s1发送了控制信号,要求它进入该归属模式。
99.在步骤402(开始),类似于结合图5描述的步骤301,主机设备m1传输开始条件,以开始i2c总线通信。
100.在步骤403(空闲从机地址),紧接着步骤402,主机设备m1通过总线i2c的数据线发送第一控制信号。该第一控制信号包括地址add1,该地址没有被分配给主机设备m1可以经由i2c与之通信的从机设备。根据一个示例,如果第一控制信号是八位二进制字,并且地址add1是七位二进制字,则控制信号的最后一位指示下一控制信号的性质。根据一个实施例,最后一位表示默认值,例如“0”(零)。
101.在步骤403之后的步骤404(未确认),主机设备m1不接收确认数据。由于此时地址add1没有被分配给可能与主机设备m1通信的设备,所以主机设备m1没有接收到确认数据是正常的。
102.在步骤405(存储地址),从机设备s1跟随在i2c总线的数据线上发生的控制信号交换,从机设备s1理解由主机设备m1发送的地址add1是空闲地址。实际上,如果地址add1不是空闲的,则响应于地址add1的从机设备将在步骤404发送确认数据。从机设备s1然后将地址add1存储在例如易失性寄存器中。从机设备s1可以将地址add1视为其地址之一,例如,作为次级地址,并且当主机设备m1将通过请求与地址add1相关联的设备来开始未来的通信时响应于主机设备m1。结合图6和图7描述了由从机设备s1实现的用于记录地址add1的步骤的示例。
103.从机设备s1可以以不同的方式使用地址add1。根据一个实施例,从机设备s1可以将其主地址修改为地址add1。根据实施例的另一示例,从机设备s1可以将地址add1记录为
次级地址,或者使用地址add1来修改其次级地址中的一个次级地址。根据实施例的另一示例,从机设备s1可以使用地址add1作为临时次级地址,即,使用地址add1作为次级地址,但是用于有限数目的i2c总线通信。通过使用地址add1作为临时次级地址或动态次级地址,从机设备s1可以例如将其次级地址中的一个次级地址修改为地址add1之外的另一个地址。找到地址add1的其它用途将在本领域技术人员的能力范围内。
104.在步骤406(停止),没有接收到确认数据的主机设备m1通过在数据线sda上发送停止条件来结束通信。该步骤类似于结合图4描述的步骤305。
105.图6和图7示出了关于图5描述的归属方法的实现中由从机设备实现的步骤的实际示例。更具体地,图6以块的形式示意性地示出了在主机设备m2(主机)与从机设备s2(从机)之间的i2c总线通信。图7是更具体地示出由从机设备s2实现的步骤的框图。
106.在图6中,主机设备m2和从机设备s2通过i2c总线451耦合,i2c总线451是结合图1描述的i2c总线101的类型,其包括数据线sda2和时钟线scl2,数据线sda2是结合图1描述的传输线sda的类型,时钟线scl2是结合图1描述的传输线scl的类型。
107.主机设备m2是结合图5描述的设备m1类型的电子设备。根据一个示例,主机设备m2是电子系统的处理器或微处理器。主机设备m2适于实现结合图5描述的地址归属方法。
108.从机设备s2是结合图5描述的设备s1类型的电子设备。根据示例,从机设备s2是电子系统的存储器,例如易失性存储器或非易失性存储器。从机设备s2适于实现结合图5描述的地址归属方法。
109.此外,从机设备s2响应多个地址452(地址)。根据一个示例,从机设备s2响应主地址addp,并且进一步响应次级地址adds。主机设备m2使用主地址addp向从机设备s2发送常规控制信号。根据一个示例,如果从机设备s2是存储器,则主机设备m2使用主地址addp向从机设备s2发送读取控制信号和写入控制信号。次级地址adds由主机设备m2用来向从机设备s2发送更具体的控制信号,例如配置控制信号。根据一个实施例,地址adds和addp被存储在从机设备s2的非易失性寄存器中。
110.根据一个实施例,从机设备s2是具有一个或多个可配置地址的设备。作为示例,从机设备s2的次级地址adds可以在设备s2的制造结束时被配置。地址adds例如在从机设备s2的制造结束时被设置为默认值。配置步骤在从机设备s2的使用开始处是必要的,以限定其次级地址adds。随着次级地址adds可以用于向从机设备s2发送配置控制信号,该配置步骤越发重要。实际上,如果在制造时通过默认值来限定次级地址adds,则没有保证主机设备m2可以发起i2c总线通信的另一从机设备尚未使用该地址。这个配置步骤可以由主机设备m2通过使用关于图5描述的地址归属方法来实现。
111.根据一个实施例,地址addp和adds是关于图2描述的地址add的类型。因此,地址addp、adds分别由设备类型的标识符dtip、dtis和设备号cip、cis形成。根据一个示例,地址addp和adds是7位二进制字,标识符dtip和dtis是4位二进制字,编号cip和cis是3位二进制字。
112.对于在此描述的实际示例,认为从机设备将主地址与其次级地址区分为它们具有不同的标识符,但具有相同的编号。换句话说,根据一个实施例,地址addp和adds具有不同的dtip和dtis标识符,以及相同的编号cip和cis。设计由从机设备s2实现的一组步骤是在本领域技术人员的能力范围内的,其中从机设备s2区分其主地址和其次级地址,因为它们
具有不同的编号。设计由从机设备s2实现的一组步骤也在本领域技术人员的能力范围内,其中从机设备不考虑其主地址和次级地址的组成来区分它们。
113.从机设备s2还包括寄存器453(寄存器),其可以适于在i2c总线通信的实现期间存储数据。更具体地,从机设备s2包括易失性存储寄存器rv,或易失性寄存器rv,以及非易失性存储寄存器rnv,或非易失性寄存器rnv。
114.从机设备s2还包括在实现i2c总线通信期间使用的状态变量454(状态)。更具体地说,从机设备s2包括:
115.-指示从机设备s2的配置是否已经发生的状态变量perso;
116.-指示从机设备s2是否存储临时地址的状态变量fsai;以及
117.-状态变量fsad,指示从机设备是否处于归属模式。
118.根据一个实施例,当配置还没有发生时,状态变量perso表示“0”(零)。当从机设备s2不存储地址时,状态变量fsa1表示“0”(零)。状态变量fsad的值取决于状态变量perso和fsai的值。当状态变量perso和fsai都表示“0”(零)时,状态变量fsad表示指示归属模式被激活的“1”(一)。一旦两个变量perso或fsai中的一个表示“1”(一),归属模式就被去激活,并且状态变量fsad表示“0”(零)。换句话说,状态变量fsad对应于将逻辑or功能应用于变量perso和fsai的结果的逆。
119.图7示出了在通过主机设备m2实现归属地址addt的方法期间由从机设备s2实现的一组步骤的实际示例。如前所述,下文描述的步骤组是步骤的实际示例,但是将提供由从机设备s2实现的其他步骤组。参照图6描述从机设备s2和主机设备m2。
120.地址addt是从机设备s2的地址addp和adds的类型,即关于图2描述的地址add的类型。因此,地址addt被分解成设备类型标识符dtit和设备号cit。根据一个例子,地址addt是7位二进制字,标识符dtit是4位二进制字,编号cit是3位二进制字。
121.更具体地,地址addt是从机设备s2的次级地址adds的类型,并且具有与次级地址adds相同的标识符。由此,根据一个实施例,地址addt的标识符dtit相同于次级地址adds的标识符dtis,并且不同于主地址addp的标识符dtip。
122.在步骤501(开始),通过接收由主机设备m2在总线i2c的数据线sda2上执行的开始条件,从机设备s2被通知通信的开始。从机设备s2因此被安排来接收和读取通过数据线sda2发送的数据。
123.在步骤502(verif),继步骤501之后,从机设备s2验证其状态。更具体地,从机设备s2验证指示其配置是否已被执行的其状态变量perso,以及指示从机设备s2是否存储临时地址的其状态变量fsai。
124.此外,在步骤502,继步骤501之后,从机设备s2可以读取存储在非易失性寄存器中的其次级地址adds的默认值。根据变型,其次级地址的值可以对应于刚刚配置的值。
125.在步骤503(addt),主机设备m2通过数据线sda2发送包括地址addt的控制信号。从机设备s2读取地址addt并且将其分解为其标识符dtit和其编号cit。
126.在步骤505(dtit=dtip),接着步骤503,从机设备s2验证标识符dtit的值。更具体地,从机设备将标识符dtit与其主地址addp的标识符dtip进行比较。如果标识符dtit与dtip相等(输出“是”),则下一步骤是步骤506(标准命令)。否则(输出“否”),下一步骤是步骤507(其它命令)。
127.在步骤506,从机设备s2期望接收常规控制信号,因为所接收的标识符dtit与其主地址addp的标识符dtip相同。
128.在步骤508(ref=cis=cip),在步骤506之后,从机设备s2将其主地址addp的编号cip限定为参考编号ref。
129.在步骤509(cit=ref),接着步骤508,从机设备s2验证所接收的地址addt的编号cit是否等于参考编号ref。如果它们相等(输出“是”),则下一步骤是步骤510(接收命令)。否则(输出“否”),下一步骤是步骤511(退出)。
130.在步骤510,与地址509连续,从机设备s2已经确定所接收的地址addt与其主地址addp相同,这是因为标识符dtit和编号cit等于主地址addp的标识符dtip和编号cip。因此,从机设备s2读取由主机设备m2发送的控制信号的最后位,该位指示从机设备是否在通信的剩余部分中发送还是接收。
131.在步骤512(确认命令),接着步骤510,从机设备s2通过数据线sda2发送确认数据,并且执行从主机设备m2接收的命令。设备m2与s2之间的通信可以像常规的i2c总线通信那样继续,即,例如像结合图4描述的通信那样。步骤512进一步包括由从机设备s2接收和执行命令。
132.在步骤511,继步骤509之后,从机设备确定所接收的地址addt不同于其主地址addp。由主机设备m2启动的i2c总线通信与从机设备s2无关。因此,从机设备s2不发送确认数据,并且停止监测数据线sda2。
133.在步骤507,与步骤505连续,从机设备已经确定标识符dtit不同于其主地址addp的标识符dtip。从机设备因此可能期望接收特定控制信号。
134.在步骤513(dtit=dtis),接着步骤507,从机设备s2验证所接收的地址addt的标识符dtit是否与其次级地址addt的标识符dtis相同。如果标识符dtit和dtis不同(输出“否”),则下一步骤是步骤514(退出)。否则(输出“是”),下一步骤是步骤515(fsad)。
135.在步骤514,接着步骤513,从机设备s2已经确定所接收的地址addt的标识符dtit不同于其次级地址adds的标识符dtis。步骤514与步骤511相同。换言之,从机设备s2不发送确认数据,并且停止监测数据线sda2。
136.在步骤515,接着步骤513,从机设备s2查询它的状态变量fsad以知道它处于哪个模式。如果状态变量fsad例如通过表示“0”(零)(输出0)来指示从机设备s2不处于归属模式,则下一步骤是步骤516(perso)。如果状态变量fsad例如通过表示“1”(一)(输出1)来指示从机设备s2处于归属模式,则下一步骤是步骤517(接收命令)。
137.在步骤516,接着步骤515,从机设备s2查询其状态变量perso以知道配置是否已经发生。如果状态变量perso例如通过表示“1”(一)(输出1)来指示配置已经发生,则下一步骤是步骤508(ref=cis=cip)。如果状态变量perso指示还没有发生配置,例如通过表示“0”(零),(输出0),则下一步骤是步骤519(ref=civ)。
138.在步骤519,接着步骤516,从机设备s2限定存储在从机设备s2的易失性寄存器rv中的编号civ,如参考编号ref。下一步骤是步骤509。编号civ在下文进一步详细描述。
139.在步骤517,继步骤515之后,从机设备s2已经确定它处于归属模式。从机设备s2接收由主机设备m2发送的控制信号中地址addt之后的控制信号。
140.在步骤520(未确认),接着步骤517,从机设备s2不向主机设备m2发送确认数据。实
际上,地址addt没有被分配给它,因此它不必发送确认数据。
141.在步骤521(总线确认),接着步骤520,从机设备s2保持注意在包括地址addt的控制信号之后在数据线sda2上是否出现确认数据。如果接收到确认数据(输出“是”),则下一步骤是步骤522(addt非空闲)。如果没有接收到确认数据(输出“否”),则下一步骤是步骤523(addt空闲fsai=1)。
142.在步骤522,在步骤521之后,从机设备已经响应地址addt,因此该地址addt不是空闲的。
143.在步骤525(退出),在步骤522之后,从机设备s2已经确定所接收的地址addt是主机设备m2可以与之通信的另一从机设备的地址。步骤525与步骤511和514相同。换言之,从机设备s2不发送确认数据,并且停止监测数据线sda2。
144.在步骤523,与步骤521连续,没有从机设备响应地址addt,因此从机设备s2可以将地址addt存储到易失性寄存器rv中,并且例如使用地址addt作为临时地址。更具体地,从机设备s2在其易失性寄存器rv中存储编号cit。编号civ在这里则等于编号cit。更一般地,易失性寄存器rv能够存储空闲临时地址的编号civ。因此,如果在步骤519之后的步骤509,编号cit等于参考,即,等于编号civ,则从机设备响应空闲临时地址。下一步骤是步骤524。
145.此外,在步骤523,从机设备s2通过修改其状态变量fsai来指示其已经接收到空闲地址addt。根据一个示例,状态变量表示值“1”(一)。
146.在步骤524(停止),接着步骤523,从机设备s2停止参与通信,例如,通过停止响应和发送确认数据。
147.这里描述的归属方法的实现模式的优点在于,它不需要主机设备中的硬件改变。它与常规的i2c总线通信方法兼容。
148.此外,该实现方式的另一优点在于,它能够将空闲地址分配给从机设备,而无需预先知道空闲地址。更具体地,该实现方式使得能够将空闲地址分配给从机设备,该从机设备具有可能与另一从机设备的地址冲突的次级地址,并且这是在从机设备安装在包括主机设备的系统中之后。
149.归属方法的实现模式的另一个优点是它能够修改从机设备的次级地址。这是有利的,这是因为从机设备的次级地址可以是例如从机设备配置地址。
150.已经描述了各种实施例和变型。本领域技术人员将理解,这些各种实施例和变型的某些特征可以组合,并且本领域技术人员将想到其它变型。
151.最后,基于以上给出的功能指示,所描述的实施例和变型的实际实现方式在本领域技术人员的能力范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1