CN106155964B - 使用串行数据传输总线的系统中的地址解码方法与系统 - Google Patents
使用串行数据传输总线的系统中的地址解码方法与系统 Download PDFInfo
- Publication number
- CN106155964B CN106155964B CN201510149912.XA CN201510149912A CN106155964B CN 106155964 B CN106155964 B CN 106155964B CN 201510149912 A CN201510149912 A CN 201510149912A CN 106155964 B CN106155964 B CN 106155964B
- Authority
- CN
- China
- Prior art keywords
- equipment
- initiation command
- address
- address decoder
- enabled
- 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.)
- Active
Links
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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)
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Bus Control (AREA)
Abstract
披露了一种方法与系统的实施方式。披露了一种在使用串行数据传输总线的数据通信系统中进行地址解码的方法。该方法涉及,检测串行数据传输总线上来自数据通信系统的主设备的开始命令;以及响应于检测所述开始命令,不使能数据通信系统的从设备的地址解码器。
Description
技术领域
本发明涉及一种地址解码方法与系统,特别涉及一种在使用串行数据传输总线的数据通信系统中进行地址解码的方法与系统。
背景技术
广泛应用于有效地进行IC间控制的双向两线式总线称为IC间总线或I2C(也作I2C)总线。I2C总线在例如2012年10月9日的“I2C总线规格书与用户指南”(I2C-busspecification and user manual)第5版中详细描述。根据I2C规格书,集成电路(IC)由两个总线或“线”连接,一根串行数据(SDA)线和一根串行时钟(SCL)线。SDA线和SCL线均为双向线,通过电流源或上拉电阻连接到例如VDD的正电压电源。在I2C框架中,数据在SDA线上以8位字节进行传输,每个字节之后都跟有一个响应(Acknowledge,ACK)位或不响应(NotAcknowledge,NACK)位;时钟信息在SCL线上进行传输。
降低与I2C总线相关联的功率耗损,可以提高I2C兼容设备的电源效率。例如,对于由电池供电的设备,如便携式消费装置(比如相机或移动电话),降低I2C总线通信的功率耗损可以延长该电池供电设备的整体工作时间。
发明内容
披露了一种方法与系统的实施方式。披露了一种在使用串行数据传输总线的数据通信系统中进行地址解码的方法。该方法涉及,检测串行数据传输总线上来自数据通信系统的主设备的开始命令;以及响应于检测所述开始命令,不使能数据通信系统的从设备的地址解码器。
在一种实施方式中,一种在使用串行数据传输总线的数据通信系统中进行地址解码的方法涉及:检测串行数据传输总线上来自数据通信系统的主设备的开始命令;以及响应于检测所述开始命令,不使能数据通信系统的从设备的地址解码器。
在一种实施方式中,一种在包括主I2C设备和至少一个从I2C设备的I2C系统中进行地址解码的方法,其中主I2C设备和至少一个从I2C设备由I2C总线连接,I2C总线包括SDA线和SCL线,该方法涉及:在I2C系统的从I2C设备处,检测I2C总线上来自主I2C设备的I2C开始命令;以及响应于检测所述I2C开始命令,不使能从I2C设备的地址解码器。
在一种实施方式中,一种与I2C总线连接的I2C设备,其中I2C总线包括SDA线与SCL线,该I2C设备包括地址解码器,配置成为I2C设备解码地址;地址解码器控制器,配置成:检测I2C总线上来自主I2C设备的I2C开始命令;以及响应于I2C开始命令的检测,不使能地址解码器。
本发明的其他方面将由下详细描述结合通过本发明原理示例而展示的附图加以阐明。
附图说明
图1是根据本发明一种实施方式的数据通信系统的方框图。
图2所示的是图1中的与I2C通信协议兼容的数据通信系统的信号时序图。
图3所示的是图1中的数据通信系统的通信设备的一种实施方式。
图4所示的是图3中的通信设备的有效START命令的信号时序图。
图5所示的是图3中的通信设备的一种有误的START命令的信号时序图。
图6所示的是图3中的通信设备的信号时序图,其中显示了该通信设备的地址解码器控制器的运行。
图7所示的是图3中的通信设备的信号时序图,其中显示了该通信设备的地址解码器控制器的另一运行。
图8所示的是图3中的通信设备的信号时序图,其中显示了该通信设备的地址解码器控制器的另一运行。
图9所示的是图3中的通信设备的地址解码器控制器的一种实施方式。
图10显示了图3中的通信设备的地址解码器在具有/没有地址解码控制的情况下的功耗趋势。
图11所示的是根据本发明一种实施方式的在使用串行数据传输总线的数据通信系统中进行地址解码的方法的流程图。
图12是根据本发明一种实施方式的在包括主I2C设备和至少一个从I2C设备的I2C系统中进行地址解码的方法的流程图。主I2C设备和至少一个从I2C设备由I2C总线连接,I2C总线包括SDA线和SCL线。
在本描述中,相似的标号能够用于标识相似的元件。
具体实施方式
应当理解的是,本发明各实施方式中所提及的并在后附的图形中展示的各元件可以在更广范围内以不同的设置方式进行布置和设计。从而,以下关于各实施方式所描述的以及附图中所表示的本发明的细节,仅表示各实施方式的代表,但并不表示对本发明范围的限制。同时,本发明实施方式的各部分在附图中有所展示,但除非特别说明,附图并不绘制为限制比例。
本发明可以呈现为其他特定的形式,而并不脱离本发明的实质精神或基本特征。以下所述的各实施方式在任何情况下都应当仅理解为示例性地而非限制性地。因此,本发明的范围应当由后述的权利要求书而不是本实施方式说明来标示。任何在权早要求的意述和等同范围内的变化,都应当认为是包含于本发明的权利要求之内。
在本说明书中,对于特征、优点或相似表述的指代,并不意味着由本发明可以实现的特征和优点是在或应当在本发明的任何单独的实施方式中。相反,对于特征和优点的指代性语言应当理解为表明至少一个本发明的实施方式中包括了通过某一实施方式所描述了的特定的特征、优点或特性。因此,本说明书中对于特征、优点或类似语言的描述可能但不必然地指向相同的实施方式。
进一步地,所描述的本发明的各特征、优点和特点在一个或多个实施方式中可以以任意合适的方式进行组合。所属技术领域的技术人员可以意识到,通过以下描述,本发明可以实现为不具备某个特定实施方式中的一个或多个特定的特征或优点。在其他例子中,也可以意识到其具有未被各实施方式所描述的其他特征或优点。
在本说明书中,对于“一种实施方式”、“一个实施方式”或相似语言的指代,意为与所示的实施方式相关联描述的特定特征、结构或特性包括在本发明的至少一个实施方式中。因此,本说明书中的“在一个实施方式中”、“在一种实施方式中”及类似语言的描述可能但不必然地指向相同的实施方式。
图1是根据本发明一种实施方式的数据通信系统100的方框图。在部分实施方式中,该数据通信系统为I2C兼容的通信系统,可以用于IC电路,例如基带处理器和微控制器,之间的通信。在一种实施方式中,数据通信系统可以是电子设备,例如计算机设备,如个人计算机(PC)、膝上型计算机、平板电脑、或智能手机。在图1所示的数据通信系统中,用于数据通信的SDA线120、以及在数据通信中用于控制和同步的SCL线110布置为I2C总线125。每个连接到I2C总线的设备都可通过地址被识别,并且既可运行为发送器也可运行为接收器,或二者均可。数据传输在数据通信系统中使用主从式通信协议进行。主设备是发起数据传输的设备,其生成时钟信号以允许该传输,而接收的任何设备都视为该传输的从设备。数据传输可以由主设备发起,以将数据传送到从设备(以下指为写),或者自从设备处请求数据(以下指为读)。例如,输出设备,如显示屏,通常不能够发起数据传送,从而配置为仅作为从设备运行。另一方面,微处理器通常配置为根据情况需求运行为主设备或从设备。
在图1所示的数据通信系统中,主设备130与至少一个从设备140连接到I2C总线125上。主设备使用数据连接132和时钟连接134来分别电连接到SDA线120与SCL线110,从而电连接到I2C总线。从设备使用数据连接142和时钟连接144来分别电连接到SDA线和SCL线,从而电连接到I2C总线。在一种实施方式中,主设备和至少一个从设备连接到位于电子设备中的同一个印刷电路板(PCB,图未示)。
在部分实施方式中,数据通信系统100实行从设备地址的动态更改和解码。在一种实施方式中,主设备130使用当前设备地址来寻址从设备140,并与从设备执行I2C互动。从设备检测START条件,并随后例如利用地址解码器102来解码其地址。主设备更改从设备的地址,并将从设备的新地址信息存储在存储器中以备将来之用。
图2所示的是图1中的与I2C通信协议兼容的数据通信系统的信号时序图200。在图2所示的时序图中,从设备地址被基于I2C SCL线210和I2C SDA线220上的输入而解码。START条件(在I2C协议中定义)在START线250上示出。
在静默状态下,SCL线210和SDA线220均为逻辑高状态(以下指为HIGH,或逻辑状态1)。通过在SDA线上转置为逻辑低状态(以下指为LOW,或逻辑状态0)并且SCL线为HIGH,这可以作为START命令/条件,主设备发起数据传送。其后,主设备触发SCL线来控制数据传送的同步,当SCL线为LOW时,在SDA线上发生数据值的变化。在部分实施方式中,在START命令/条件之后,主设备发送一个地址,后面有一个读/不写指示器,其指示数据传送的方向。在传送了地址和读/不写指示器之后,主设备释放SDA线,允许其抬升到逻辑高电平。如果从设备解码并识别出其地址,该从设备通过将总线拉为LOW来传送一个响应信号(ACK)。当主设备释放SDA线时,若没有低信号,则表示不响应(NAK)。如果通过在SDA上的低电平,地址得到了响应,则主设备传送数据。如果数据传送的方向是“读”,则从设备为发送设备。如果该方向为“写”,则主设备为发送设备。发送设备释放SDA线的控制,接收设备通过在SDA线上置一个逻辑低值来响应收到数据。如果数据被响应,发送设备发送其他数据。该过程将持续到数据完全被传达,或持续到某发送的数据没有被响应。主设备随后可以再置一个START信号,并重复以上的过程;或者可以置一个STOP命令/信号,以结束该数据传送会话。为结束数据传送,主设备在SDA线上置一个低到高的变换,其中SCL时钟为高,这个作为STOP条件。在那之后,任何设备都可以通过在SDA线上置一个高到低的转变来作为主设备假定对于I2C总线的控制。
在START命令/条件时,SCL线210为HIGH,而SDA线220形成由HIGH至LOW的转变。从设备的从地址可以通过例如从地址解码器,基于SCL线、SDA线和START线250的输入,来进行解码。比如,如果从设备的地址引脚连接到SCL线、SDA线及START线中的一个,该地址引脚将在相应的线由HIGH转变为LOW时由HIGH转变到LOW。从设备解码器电路检测地址引脚上的这种转变,并将该信息存储在寄存器中,以备将来之用。
为检测从设备的地址引脚上的转变而不需要任何外部的时钟,使用延时元件来产生地址引脚的延迟版本。例如,在图2所示的时序图中,SCL线210、SDA线220和START命令信号/线250上的信号被利用延时元件进行延时,以提供延迟的SCL 230、延迟的SDA 240、以及延迟的START 260。SDA线220上的第一个HIGH至LOW的转变(在时序图中以“B”表示),被用来锁存从设备的地址引脚的延迟版本的值。这在SDA被转变之前设定了地址引脚的值。如果该值为LOW,则确定地址引脚连接到地(GND)。SCL线上的第一个HIGH至LOW的转变(在时序图中以“A”表示),也被用来锁存从设备的地址引脚的延迟版本的值。这在SCL线转变之前设定了地址引脚的值。如果该值为LOW,则确定地址引脚连接到GND或者SDA。延迟的START线260的上升沿(在时序图中以“C”表示),被用来锁存SDA线上的下降沿转变之后的地址引脚的值,以检测地址引脚是否随SDA线而改变。延迟的START线260的下降沿(在时序图中以“D”表示),被用来锁存地址引脚到SCL和SDA的连接的检测。例如,如果地址引脚值在B时为LOW,则确定地址引脚被连接到GND。如果地址引脚在B时维持为HIGH,在C时为LOW,则确定地址引脚被连接到SDA。如果地址引脚在C时维持为HIGH,在D时为LOW,则确定地址引脚被连接到SCL。如果地址引脚在A时以及在D时维持为HIGH,则确定地址引脚被连接到VDD。根据四个信号SCL、SDA、VDD、GND的组合,以及所使用的地址引脚的数量,从设备的地址在每个START条件中被解码,并被存储以用作参考。
图3示出了图1中的从设备140的一种实施方式。在图3中所示的实施方式中,从设备340包括从地址解码器302以及从地址解码器控制器304,从地址解码器控制器304包括解码器使能/不使能设备306,其可以用来使能或不使能该从地址解码器。解码器使能/不使能设备可以检测I2C总线125上出现的总线信号,并生成解码器使能/不使能信号“DEC_EN”,以使能或不使能从地址解码器,从而降低从地址解码器的功耗。在一些实施方式中,解码器使能/不使能设备在从地址被解码之后不使能从地址解码器电路。例如,解码器使能/不使能设备在从地址解码时间段内保持从地址解码器是活动的,而就在从地址解码时间段过后,便不使能该从地址解码器。相比于从地址解码器持续运行的数据通信系统,该从地址解码器控制器可以显著地减小地址解码器电路的功耗,并且随之降低数据通信系统中通信设备的功耗。比如,由于从地址解码器在长时间内都不被使能,而仅在地址解码的短时间内被使能,该从地址解码器控制器可以使从地址解码器的功耗下降到微不足道的数量。
图4所示的是图3中的从设备340的有效START命令的信号时序图400。在图4所示的信号时序图中,展示了SCL线410、SDA线420、START命令信号“START”450、以及延迟的START命令信号“START_D”460,其中START命令信号“START”指示从设备340开始与相应的主设备之间的数据传输。该START命令信号“START”由逻辑低转变为逻辑高,延迟的START命令信号“START_D”由逻辑低转变为逻辑高,而此时START命令信号“START”还处于逻辑高。对于从地址解码器,地址解码时间持续等于I2C标准指定的START命令维持时间加上I2CSTART命令延迟时间。地址解码持续时间可以表示为:
TDEC=THDSTA+TDLY, (1)
其中TDEC表示地址解码时间,THDSTA表示START命令维持时间,TDLY表示START命令延迟的时间,该延迟的时间是START命令的下降沿与延迟的START命令“START_D”的下降沿之间的时间。如果START命令维持时间THDSTA大于START命令延迟的时间TDLY,则如图4所示,确定START命令为有效的START命令。在I2C规格书中,START命令维持时间THDSTA具有一个最小值,该最小值大于START命令延迟的时间TDLY的最大值。如果START命令维持时间THDSTA大于START命令延迟的时间TDLY,则确定该START命令符合I2C的规格书。在一种实施方式中,START命令延迟的时间TDLY的典型值为60ns,而START命令延迟的时间的最大值可以设为80ns。在延迟的START命令(START_D)被重置(例如由逻辑高(1)转变为逻辑低(0))之后,I2C地址解码完成。从相同的主设备而来的重复的START命令将不会导致从地址的重复解码。
图5所示的是图3中的从设备340的一种有误的START命令的信号时序图500。由于START命令维持时间THDSTA小于或等于START命令延迟的时间TDLY,该START命令被确定为有误的START命令。在I2C规格书中,START命令维持时间THDSTA具有一个最小值,该最小值大于START命令延迟的时间TDLY的最大值。如果START命令维持时间THDSTA小于START命令延迟的时间TDLY,则确定该START命令不符合I2C规格书。例如,START命令维持时间THDSTA对于较高的频率模式可以具有最小值260ns,而对于较低的频率模式可以具有大于260ns的最小值,而START命令延迟的时间TDLY可以具有最大值80ns。如果START命令维持时间THDSTA小于80ns,则确定该START命令不符合I2C规格书。
图6所示的是图3中的从设备340的信号时序图600,其中展示了从地址解码器控制器304的运行。在图6所示的信号时序图中,复位信号“ResetN”640、START命令信号“START”650、以及延迟的START命令信号“START_D”660被输入到从地址解码器控制器,从而解码器使能/不使能信号“DEC_EN”670被由从地址解码器控制器输出,以使能或不使能从地址解码器302。复位信号ResetN可以用来设置或复位解码器使能/不使能信号DEC_EN。如图6所示,在复位信号ResetN的下降沿之后,解码器使能/不使能信号DEC_EN被置为逻辑高,从地址解码器被从地址解码器控制器使能。后续地,START命令信号START由逻辑低转变为逻辑高,延迟的START命令信号START_D由逻辑低转变为逻辑高,而START命令信号START还在逻辑高,从而确定一个有效的START命令。对于从地址的解码是由从地址解码器在地址解码时间段TDEC内完成的,地址解码时间段TDEC是START命令信号START的上升沿与延迟的START命令信号START_D的下降沿之间的时间。在延迟的START命令信号START_D的下降沿之后,解码器使能/不使能信号DEC_EN转变为逻辑低,从地址解码器被从地址解码器控制器不使能。
图7所示的是图3中的从设备340的信号时序图700,其中展示了从地址解码器控制器304的另一运行。在图7所示的信号时序图中,START命令信号“START”750、延迟的START命令信号“START_D”760、STOP命令信号“STOP”780被输入到从地址解码器控制器,其中STOP命令信号“STOP”780指示从设备结束与相应的主设备的数据传输。解码器使能/不使能信号“DEC_EN”770被由从地址解码器控制器输出,以使能或不使能从地址解码器302。STOP命令信号STOP可以用来结束从设备340与相应的主设备之间的数据传输。如图7所示,START命令信号START由逻辑低转变为逻辑高,延迟的START命令信号START_D由逻辑低转变为逻辑高,而START命令信号START还在逻辑高,因此确定一个有效的START命令。对于从地址的解码是由从地址解码器在地址解码时间段TDEC内完成的,地址解码时间段TDEC是START命令信号START的上升沿与延迟的START命令信号START_D的下降沿之间的时间。在延迟的START命令信号START_D的下降沿之后,解码器使能/不使能信号DEC_EN转变为逻辑低,从地址解码器被从地址解码器控制器不使能。在STOP命令信号STOP的下降沿之后,解码器使能/不使能信号DEC_EN被置为逻辑高,从地址解码器被从地址解码器控制器使能。
图8所示的是图3中的从设备340的信号时序图800,其中展示了从地址解码器控制器304的另一运行。在图8所示的信号时序图中,START命令信号“START”、延迟的START命令信号“START_D”、STOP命令信号“STOP”被输入到从地址解码器控制器,从而解码器使能/不使能信号“DEC_EN”被由从地址解码器控制器输出,以使能或不使能从地址解码器302。在STOP命令信号STOP的下降沿之后,解码器使能/不使能信号DEC_EN被置为逻辑高,从地址解码器被从地址解码器控制器使能。随后,在一个有误的开始中,START命令信号“START”由逻辑低转变为逻辑高,延迟的START命令信号“START_D”在START命令信号“START”转变回逻辑低之后由逻辑低转变为逻辑高。其后,在正常的开始中,START命令信号START由逻辑低转变为逻辑高,延迟的START命令信号START_D由逻辑低转变为逻辑高,而此时START命令信号START还处于逻辑高。对于从地址的解码是由从地址解码器在地址解码时间段TDEC内完成的,地址解码时间段TDEC是START命令信号START的上升沿与延迟的START命令信号START_D的下降沿之间的时间。在延迟的START命令信号START_D的下降沿之后,解码器使能/不使能信号DEC_EN转变为逻辑低,从地址解码器被从地址解码器控制器不使能。
图9所示的是图3中的从地址解码器控制器304的一种实施方式。在图9所示的实施方式中,从地址解码器控制器904包括四个反相器/非门950、954、958、962,三个或非门966、970、974,第一寄存器980和第二寄存器986;第一寄存器980也指示为“valid_start_reg”,第二寄存器986也指示为“dec_en_reg”。反相器950、954、958,或非门966以及寄存器980形成为START命令检测模块,反相器962、或非门970、974以及寄存器986形成为地址解码器使能/不使能模块。图9所示的从地址解码器控制器为图3中的从地址解码器控制器的一种可能的实施方式。然而,图3中所示的从地址解码器控制器并不限于图9中所示的这种实施方式。
在图9所示的信号时序图中,START命令信号“START”、复位信号“ResetN”、延迟的START命令信号“START_D”、STOP命令信号“STOP”被输入到从地址解码器控制器904,从而解码器使能/不使能信号“DEC_EN”被由从地址解码器控制器输出,以使能或不使能从地址解码器302。寄存器980基于START命令信号START、复位信号ResetN和延迟的START命令信号START_D来检测出正常/有效的START命令。如图9所示,START命令信号START由反相器950反转,被反转的START命令信号被输入到寄存器980的时钟端“Clk”。复位信号ResetN和延迟的START命令信号START_D被反相器954、958反转,被反转的复位信号和被反转的延迟的START命令信号被输入到或非门966。由或非门966所得到的信号被输入到寄存器980的复位端“ResetN”。电压信号“VDD”被输入到寄存器980的数据输入端“D”。基于输入端D、Clk、ResetN的输入,寄存器980确定START命令信号START为有效的START命令或有误的START命令。如图9所示,寄存器980生成并存储有效的开始信息“valid_start”。
寄存器986基于START命令信号START、复位信号ResetN、延迟的START命令信号START_D和STOP命令信号STOP,而生成解码器使能/不使能信号“DEC_EN”,以使能或不使能从地址解码器302,从而降低从地址解码器的功耗。如图9所示,经反转的复位信号被输入到或非门974的一个端,STOP命令信号STOP被输入到该或非门的另一个端。由或非门974所得到的信号被输入到寄存器986的置位端“Setn”,经反转的延迟的START命令信号被输入到寄存器986的时钟端“Clk”。存储在寄存器980中的有效的开始信息“valid_start”被输入到或非门970的一个端,来自反相器962的经反转的解码器使能/不使能信号DEC_EN被输入到或非门970的另一个端。来自或非门970的结果被输入到寄存器986的数据输入端“D”。基于这些输入,该寄存器生成解码器使能/不使能信号DEC_EN。
图10显示了地址解码器302在具有/没有上述的地址解码控制情况下的功耗趋势。具体地,图10显示了地址解码器电路在具有和不具有由从地址解码器控制器进行的地址解码器控制的情况下的功耗之比相对于I2C存取位数的图线1060。I2C从存取位是相应于I2C主设备写/读操作的I2C从地址位的数目。没有从地址解码器控制器,从地址解码器持续消耗能量,从地址解码器的功耗随着I2C总线存取时间和存取位数而线性增长。有了从地址解码器控制器,从地址解码器只在地址解码时间TDEC时消耗能量。由于I2C主设备对于每次I2C从存取都发送一个开始命令,当存取位数增大时,地址解码时间TDEC与总的I2C总线存取时间之比降低。如图10所示的,当I2C存取位数增大时,从地址解码器的具有和不具有地址解码器控制情况下的功耗之比下降。
图11所示的是根据本发明一种实施方式的在使用串行数据传输总线的数据通信系统中进行地址解码的方法的流程图。在模块1102,检测串行数据传输总线上来自数据通信系统的主设备的开始命令。在模块1104,响应于检测开始命令,不使能数据通信系统的从设备的地址解码器。该从设备可以与图1和图3中所示的从设备140、340相似或相同。该主设备可以与图1中所示的主设备130相似或相同。
图12是根据本发明一种实施方式的在包括主I2C设备和至少一个从I2C设备的I2C系统中进行地址解码的方法的流程图。主I2C设备和至少一个从I2C设备由I2C总线连接,I2C总线包括SDA线和SCL线。在模块1202,在I2C系统的从I2C设备处,检测I2C总线上来自主I2C设备的I2C开始命令。在模块1204,响应于检测该I2C开始命令,不使能从I2C设备的地址解码器。该从I2C设备可以与图1和图3中所示的从设备140、340相似或相同。该主I2C设备可以与图1中所示的主设备130相似或相同。
在以上描述中,提供了不同实施方式的特定的详情。然而,部分实施方式可以少于这些全部的详情而实现。在其他情况下,为简明和清楚起见,特定的方法、流程、元件、结构和/或功能以不多于可实现本发明各实施方式的细节进行描述。
尽管此处的方法的运行以特定的顺序进行显示和表述,每个方法的运行顺序可以调整,以便特定的操作可以以相反的顺序运行,或者特定的操作可以至少部分地与其他操作同时运行。在其他实施方式中,指令或不同运算的子运算可以间歇性地和/或交互地运行。
还应当说明的是,此处描述的方法中的至少部分操作可以由存储在计算机可用存储介质中的用于计算机执行的软件指令来实现。作为一种示例,计算机程序产品的实施方式包括计算机可用存储介质,用于存储计算机可读程序。
计算机可用或计算机可读存储介质可以为电子、磁、光、电磁、红外、或者半导体系统(或装置或设备)。非易失性的计算机可用和计算机可读存储介质的例子包括:半导体或固态存储器、磁带、可移动计算机碟盘、随机存取存储器(RAM)、只读存贮器(ROM)、硬磁盘、以及光盘。当前的光盘的示例包括具有只读存储的压缩盘(CD-ROM)、具有读/写的压缩盘(CD-R/W)以及数字视频光盘(DVD)。
可选地,本发明的各实施方式可以全部地由硬件实现,或者由包括硬件与软件元件的方式实现。在使用软件的实施方式中,软件可以包括但不限于固件、常驻软件、微码等。
尽管已经描述和显示了本发明的特定实施方式,本发明并不限于所描述和展示的该特定的形式或部件安排。本发明的范围由所附的权利要求书及其等同所定义。
Claims (17)
1.一种在使用串行数据传输总线的数据通信系统中进行地址解码的方法,其特征在于,所述方法包括:
检测串行数据传输总线上来自数据通信系统的主设备的开始命令,包括:检测开始命令与开始命令的延迟版本之间的重叠;
在开始命令期间以及在开始命令的延迟版本期间,使能从设备的地址解码器;以及
响应于检测重复的开始命令,不使能数据通信系统的从设备的地址解码器。
2.如权利要求1所述的方法,其特征在于:所述开始命令指示从设备开始与主设备的数据传输。
3.如权利要求1所述的方法,其特征在于,所述检测开始命令与开始命令的延迟版本之间的重叠包括:确定开始命令的延迟版本的上升沿是否位于开始命令的上升沿与开始命令的下降沿之间。
4.如权利要求3所述的方法,其特征在于,进一步包括:使从设备的地址解码器在开始命令以及开始命令与开始命令的延迟版本之间的重叠期间为从设备解码地址。
5.如权利要求3所述的方法,其特征在于,响应于检测重复的开始命令,不使能数据通信系统的从设备的地址解码器包括:在开始命令的延迟版本的下降沿之后不使能数据通信系统的从设备的地址解码器。
6.如权利要求1所述的方法,其特征在于,进一步包括:响应于来自主设备的停止命令,使能从设备的地址解码器。
7.如权利要求6所述的方法,其特征在于,响应于来自主设备的停止命令,使能从设备的地址解码器包括:在停止命令的下降沿之后,使能从设备的地址解码器。
8.如权利要求6所述的方法,其特征在于:所述停止命令指示从设备结束与主设备的数据传输。
9.一种在包括主I2C设备和至少一个从I2C设备的I2C系统中进行地址解码的方法,其中主I2C设备和至少一个从I2C设备由I2C总线连接,I2C总线包括SDA线和SCL线,其特征在于,所述方法包括:
在I2C系统的从I2C设备处,检测I2C总线上来自主I2C设备的I2C开始命令,包括:检测I2C开始命令与I2C开始命令的延迟版本之间的重叠;
在I2C开始命令期间以及在I2C开始命令的延迟版本期间,使能从I2C设备的地址解码器;以及
响应于检测重复的I2C开始命令,不使能从I2C设备的地址解码器。
10.如权利要求9所述的方法,其特征在于:所述I2C开始命令指示从I2C设备开始与主I2C设备的数据传输。
11.如权利要求9所述的方法,其特征在于,检测来自主I2C设备的I2C开始命令包括:通过确定I2C开始命令的延迟版本的上升沿是否位于I2C开始命令的上升沿与I2C开始命令的下降沿之间,来检测I2C开始命令与I2C开始命令的延迟版本之间的重叠。
12.如权利要求11所述的方法,其特征在于,进一步包括:使从I2C设备的地址解码器在I2C开始命令以及I2C开始命令与I2C开始命令的延迟版本的重叠期间为从I2C设备解码I2C地址。
13.如权利要求12所述的方法,其特征在于,响应于检测重复的I2C开始命令,不使能从I2C设备的地址解码器包括:在I2C开始命令的延迟版本的下降沿之后,不使能从I2C设备的地址解码器。
14.如权利要求9所述的方法,其特征在于,进一步包括:通过在I2C停止命令的下降沿之后使能从I2C设备的地址解码器,来响应于来自主I2C设备的I2C停止命令而使能从I2C设备的地址解码器。
15.如权利要求14所述的方法,其特征在于:所述I2C停止命令指示从I2C设备结束与主I2C设备的数据传输。
16.一种与I2C总线连接的I2C设备,I2C总线包括SDA线与SCL线,其特征在于,I2C设备包括:
地址解码器,配置成为I2C设备解码地址;
地址解码器控制器,配置成:
检测I2C总线上来自主I2C设备的I2C开始命令;
检测I2C开始命令与I2C开始命令的延迟版本之间的重叠,以使地址解码器在I2C开始命令以及I2C开始命令与I2C开始命令的延迟版本的重叠期间为I2C设备解码I2C地址;以及
响应于重复的I2C开始命令的检测,不使能地址解码器。
17.如权利要求16所述的I2C设备,其特征在于:I2C开始命令指示I2C设备开始与主I2C设备的数据传输;其中地址解码器控制器进一步配置为检测I2C开始命令与I2C开始命令的延迟版本之间的重叠,以使地址解码器在I2C开始命令的延迟版本的下降沿之后不使能地址解码器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510149912.XA CN106155964B (zh) | 2015-03-31 | 2015-03-31 | 使用串行数据传输总线的系统中的地址解码方法与系统 |
US15/079,133 US10013380B2 (en) | 2015-03-31 | 2016-03-24 | Method and system for address decoding in a data communications system using a serial data transfer bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510149912.XA CN106155964B (zh) | 2015-03-31 | 2015-03-31 | 使用串行数据传输总线的系统中的地址解码方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155964A CN106155964A (zh) | 2016-11-23 |
CN106155964B true CN106155964B (zh) | 2019-05-21 |
Family
ID=57017562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510149912.XA Active CN106155964B (zh) | 2015-03-31 | 2015-03-31 | 使用串行数据传输总线的系统中的地址解码方法与系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10013380B2 (zh) |
CN (1) | CN106155964B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635616B2 (en) * | 2015-10-28 | 2020-04-28 | Skyworks Solutions, Inc. | Configuring devices in a module |
CN106713521B (zh) * | 2016-11-30 | 2019-12-10 | 武汉光迅科技股份有限公司 | 一种基于广播方式来查找i2c设备地址的方法 |
CN112562307B (zh) * | 2020-12-07 | 2022-04-12 | 深圳创维-Rgb电子有限公司 | Iic信号传输系统、iic信号传输方法及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213535A (zh) * | 2005-04-29 | 2008-07-02 | 皇家飞利浦电子股份有限公司 | 动态i2c从装置地址译码器 |
CN102262607A (zh) * | 2011-05-04 | 2011-11-30 | 山东超越数控电子有限公司 | 一种在pc中利用i2c总线采集温度信息的方法 |
CN103426465A (zh) * | 2013-08-26 | 2013-12-04 | 郑君 | 存储器比较刷新电路模块 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8230151B2 (en) | 2005-04-11 | 2012-07-24 | Linear Technology Corporation | Configurable data port for I2C or single-wire broadcast interface |
US8433970B2 (en) * | 2010-03-31 | 2013-04-30 | Silicon Laboratories Inc. | Techniques to control power consumption in an iterative decoder by control of node configurations |
FR2969451B1 (fr) | 2010-12-17 | 2013-01-11 | St Microelectronics Rousset | Procede et dispositif de communication entre un maitre et plusieurs esclaves suivant un protocole de communication serie, en particulier du type a drain ouvert |
US9710422B2 (en) * | 2014-12-15 | 2017-07-18 | Intel Corporation | Low cost low overhead serial interface for power management and other ICs |
-
2015
- 2015-03-31 CN CN201510149912.XA patent/CN106155964B/zh active Active
-
2016
- 2016-03-24 US US15/079,133 patent/US10013380B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101213535A (zh) * | 2005-04-29 | 2008-07-02 | 皇家飞利浦电子股份有限公司 | 动态i2c从装置地址译码器 |
CN102262607A (zh) * | 2011-05-04 | 2011-11-30 | 山东超越数控电子有限公司 | 一种在pc中利用i2c总线采集温度信息的方法 |
CN103426465A (zh) * | 2013-08-26 | 2013-12-04 | 郑君 | 存储器比较刷新电路模块 |
Also Published As
Publication number | Publication date |
---|---|
US20160292113A1 (en) | 2016-10-06 |
US10013380B2 (en) | 2018-07-03 |
CN106155964A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7856520B2 (en) | Control bus for connection of electronic devices | |
TWI755401B (zh) | 積體電路裝置及電子裝置 | |
US8055808B2 (en) | Semiconductor memory device and control method for semiconductor memory device | |
JP4896450B2 (ja) | 記憶装置 | |
US8769160B2 (en) | Multi-interface memory card and method of operation | |
US9569386B2 (en) | Method and system for single-line inter-integrated circuit (I2C) bus | |
US8923088B2 (en) | Solid state storage device with sleep control circuit | |
JP5226669B2 (ja) | 高効率フラッシュメモリデータ転送 | |
JP6878300B2 (ja) | マルチモード変調を用いる向上した仮想gpio | |
US10892001B2 (en) | Protocol for refresh between a memory controller and a memory device | |
CN104517646B (zh) | 基于快闪存储器的存储设备和操作方法 | |
US20150263703A1 (en) | Semiconductor devices and semiconductor systems for conducting a training operation | |
JP2008539499A (ja) | ダイナミックi2cスレーブデバイスアドレスデコーダ | |
CN106155964B (zh) | 使用串行数据传输总线的系统中的地址解码方法与系统 | |
US9696750B2 (en) | Semiconductor devices and semiconductor systems including the same | |
CN1937075B (zh) | 数据传送操作完成检测电路和包含其的半导体存储器件 | |
US7454644B2 (en) | Integrated circuit with low current consumption having a one wire communication interface | |
CN115079806B (zh) | 一种边缘服务器定时休眠控制方法、装置、设备和介质 | |
CN101414209B (zh) | 存储卡供电装置以及存储卡存取装置 | |
CN209297758U (zh) | 一种存储装置 | |
US20140365806A1 (en) | Peripheral apparatus and control method thereof | |
WO2021134653A1 (zh) | 电力载波信号识别电路、方法和集成电路芯片 | |
TW202105186A (zh) | 記憶體介面電路、記憶體儲存裝置及訊號產生方法 | |
CN210836074U (zh) | 一种基于门电路实现emmc单通道扩容的电路 | |
US7649471B2 (en) | Logic circuit and method for controlling display lights of hard disk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |