I2C从地址生成装置及芯片的制作方法

文档序号:16790002发布日期:2019-02-01 19:35阅读:332来源:国知局
I2C从地址生成装置及芯片的制作方法

本实用新型实施例涉及电气技术领域,尤其涉及一种I2C从地址生成装置及芯片。



背景技术:

输入缓冲器作为集成电路中不可缺少的基本模块,广泛用于音频功率放大器、转换器、射频、传感器和电源管理芯片中。如图1所示,现有技术中的I2C地址选择输入缓冲器,当输入电平高于阈值电压时,输出逻辑电平由低变为高;当输入电平低于阈值电压时,输出逻辑电平由高变为低;该输入缓冲器只能输出两种不同逻辑状态。

但随着集成电路复杂度增加,需要的输入管脚数目急剧增加,但随着工艺制程和封装的进一步优化,使得芯片面积降低,对于WLCSP等封装来说,其提供的总管脚数目反而在减少,使得生产出的芯片的管脚数量不足,输入管脚数目不足。

比如音频功放芯片需要设置多种不同的I2C寄存器地址,以实现多声道的应用场景。而由于管脚资源非常紧张,存在无法分配多个管脚作为输入管脚的问题,造成现有的音频功放芯片不能满足使用需求。



技术实现要素:

有鉴于此,本实用新型实施例所解决的技术问题之一在于提供一种I2C从地址生成装置及芯片,用以克服现有技术中芯片的输入管脚数量不足的问题。

本实用新型实施例提供一种I2C从地址生成装置,其包括输入端、时钟端、数据端、上升沿移位寄存器、下降沿移位寄存器和动态地址生成单元,输入端选择性地与时钟端、数据端、接地端或电源端连接;上升沿移位寄存器根据时钟端输入的时钟信号对输入端输入的数据进行移位寄存处理并输出至第一寄存数据;下降沿移位寄存器根据时钟端输入的时钟信号对输入端输入的数据进行移位寄存处理并输出至第二寄存数据;动态地址生成单元根据第一寄存数据和第二寄存数据确定输入端的连接对象,并根据连接对象对应的模式译码生成从地址。

可选地,动态地址生成单元中预设有与各模式译码对应的预存数据,各预存数据均与一个连接对象对应。

可选地,预存数据包括第一数据和/或第二数据。

可选地,动态地址生成单元根据第一寄存数据确定匹配的第一数据,和/或,根据第二寄存数据确定匹配的第二数据,以根据匹配的第一数据和/或匹配的第二数据确定对应的连接对象。

可选地,上升沿移位寄存器具有第一时钟端,上升沿移位寄存器通过第一时钟端与时钟端连接,并接入时钟信号;下降沿移位寄存器具有第二时钟端,下降沿移位寄存器通过第二时钟端与时钟端连接,且时钟端和第二时钟端之间设置有反相器,使第二时钟端输入时钟信号的反相信号。

可选地,I2C从地址生成装置还包括bit计数器,bit计数器与时钟端连接,并对从时钟端获取的时钟信号的高电平进行计数。

可选地,I2C从地址生成装置还包括控制器,控制器与bit计数器连接,并在bit计数器的计数值到达预定值时,控制动态地址生成单元根据第一寄存数据和第二寄存数据确定输入端的连接对象。

可选地,I2C从地址生成装置还包括选择器,选择器的控制端通过第一放大器接地或接电源,选择器的第一输入端通过第二放大器与输入端连接,选择器的第二输入端与动态地址生成单元连接,当控制端为高电平时,选择器根据输入端的输入值输出状态码;当控制端为低电平时,选择器根据动态地址生成单元的输出译码输出状态码。

可选地,I2C从地址生成装置根据状态码和预设的补充码生成从地址。

根据本实用新型的另一方面,提供一种芯片,芯片包括上述的I2C从地址生成装置。

由以上技术方案可见,本实用新型实施例的I2C从地址生成装置的输入端通过选择性地与时钟端、数据端、接地端和电源端中的一个连接,从而使一个输入端可以实现四种不同的连接方式,从而使输入端能够具有四种数据输入。上升沿移位寄存器和下降沿移位寄存器用于根据时钟信号对输入端输入的数据进行移位寄存,并输出至第一寄存数据和第二寄存数据。由于输入端可以与不同的连接对象连接,进而可以有不同的输入数据,所以利用升沿移位寄存器和下降沿移位寄存器对输入的数据进行移位寄存处理后可以输出不同的第一寄存数据和第二寄存数据。动态地址生成单元用于根据第一寄存数据和第二寄存数据确定输入端的连接对象,进而根据确定的不同的连接对象对应的模式译码生成从地址,以此实现利用一个输入端生成四种不同的从地址的目的,解决了现有的芯片输入引脚不足的问题。

附图说明

为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为本实用新型实施例的I2C从地址生成装置的结构示意图;

图2为本实用新型实施例的I2C从地址生成装置的输入端接地时的时序图;

图3为本实用新型实施例的I2C从地址生成装置的输入端接时钟端时的时序图;

图4为本实用新型实施例的I2C从地址生成装置的输入端数据端时的时序图;

图5为本实用新型实施例的I2C从地址生成装置的输入端接电源时的时序图。

附图标记说明:

10、上升沿移位寄存器;20、下降沿移位寄存器;30、动态地址生成单元;40、bit计数器;50、第一放大器;60、第二放大器;70、选择器;80、数据移位寄存器。

具体实施方式

当然,实施本实用新型实施例的任一技术方案必不一定需要同时达到以上的所有优点。

为了使本领域的人员更好地理解本实用新型实施例中的技术方案,下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本实用新型实施例一部分实施例,而不是全部的实施例。基于本实用新型实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本实用新型实施例保护的范围。

下面结合本实用新型实施例附图进一步说明本实用新型实施例具体实现。

如图1-5所示,根据本实用新型的实施例,I2C从地址生成装置包括输入端(图1中AD_PIN)、时钟端(图1中Sclk)、数据端(图1中SDA)、上升沿移位寄存器10、下降沿移位寄存器20和动态地址生成单元30,输入端选择性地与时钟端、数据端、接地端或电源端连接;上升沿移位寄存器10根据时钟端输入的时钟信号对输入端输入的数据进行移位寄存处理并输出至第一寄存数据;下降沿移位寄存器20根据时钟端输入的时钟信号对输入端输入的数据进行移位寄存处理并输出至第二寄存数据;动态地址生成单元30根据第一寄存数据和第二寄存数据确定输入端的连接对象,并根据连接对象对应的模式译码生成从地址。

该I2C(Inter-Integrated Circuit)从地址生成装置的输入端通过选择性地与时钟端、数据端、接地端和电源端中的一个连接,从而使一个输入端可以实现四种不同的连接方式,从而使输入端能够具有四种数据输入。上升沿移位寄存器10和下降沿移位寄存器20用于根据时钟信号对输入端输入的数据进行移位寄存,并输出至第一寄存数据和第二寄存数据。由于输入端可以与不同的连接对象连接,进而可以有不同的输入数据,所以利用升沿移位寄存器10和下降沿移位寄存器20对输入的数据进行移位寄存处理后可以输出不同的第一寄存数据和第二寄存数据。动态地址生成单元30用于根据第一寄存数据和第二寄存数据确定输入端的连接对象,进而根据确定的不同的连接对象对应的模式译码生成从地址,以此实现利用一个输入端生成四种不同的从地址的目的,解决了现有的芯片输入引脚不足的问题。

在本实施例中,动态地址生成单元30中预设有与各模式译码对应的预存数据,各预存数据均与一个连接对象对应。预存数据为与不同的连接对象对应的数据。根据连接对象的不同,预存数据中可以包括第一数据和/或第二数据。

例如,当连接对象为地时,输入端接地,预存数据中包括的第一数据可以是上升沿移位寄存器10对输入的数据为接地时的数据进行移位寄存处理后的数据。第二数据可以是下降沿移位寄存器20对输入的数据为接地时的数据进行移位寄存处理后的数据。具体如:第一数据为“6’h00”、第二数据为“6’h00”。

当连接对象为时钟端时,输入端接时钟端,预存数据中包括的第一数据可以是上升沿移位寄存器10对输入的数据为时钟信号时的数据进行移位寄存处理后的数据。第二数据可以是下降沿移位寄存器20对输入的数据为时钟信号时的数据进行移位寄存处理后的数据。具体如:第一数据为“6’h00”、第二数据为“6’h3f”。

当连接对象为数据端时,输入端接数据端,预存数据中可以仅包括第一数据或第二数据,当然,也可以都包括。以包括第一数据为例,第一数据可以是当输入的数据为数据端的数据时,上升沿移位寄存器10对其进行移位寄存处理后的数据。具体如:第一数据为“6’h1b”。

当连接对象为电源时,输入端接电源,预存数据中的第一数据可以是当输入的数据为接电源的数据时,上升沿移位寄存器10对其进行移位寄存处理后的数据。第二数据可以是当输入的数据为接电源的数据时,下降沿移位寄存器20对其进行移位寄存处理后的数据。具体如:第一数据为“6’h3f”、第二数据为“6’h3f”。

针对不同的连接对象可以设置不同的模式译码。例如,连接对象为地时对应的模式译码可以是“00”;连接对象为时钟端时对应的模式译码可以是“01”;连接对象为数据端时对应的模式译码可以是“10”;连接对象为电源时对应的模式译码可以是“11”。

当然,在其他实施例中,连接对象对应的模式译码可以是其他译码。如,连接对象为地时对应的模式译码可以是“11”。

动态地址生成单元30确定输入端的连接对象时,动态地址生成单元30可以根据第一寄存数据确定预存数据中与之匹配的第一数据。和/或,根据第二寄存数据确定与之匹配的第二数据,以根据匹配的第一数据和/或匹配的第二数据确定对应的连接对象。

例如,如图2所示,当输入端接地时,输入端的输入数据如图2中AD_IN=GND所示。每个时钟信号的上升沿,上升沿移位寄存器10都会对从输入端AD获得的数据进行一次移位,在进行match的时钟tic,上升沿移位寄存器10输出的第一寄存数据为“6’h00”。每个时钟信号的下降沿,下降沿移位寄存器20都会对从输入端AD获得的数据进行一次移位,在进行match的时钟tic,下降沿移位寄存器20输出的第二寄存数据为“6’h00”。动态地址生成单元30获得该第一寄存数据和第二寄存数据后,将其与预设的各个预存数据比较,并确定与之匹配的预存数据,进而确定对应的模式译码。

需要说明的是,本实施例的时钟tic是指时钟信号的一个周期,即图2中所示的,时钟信号一个高电平和一个低电平为一个时钟周期。

在本实施例中,上升沿移位寄存器10包括多个D触发器。当然,在其他实施例中,上升沿移位寄存器10可以通过其他结构实现。

如图1所示,上升沿移位寄存器10具有第一时钟端,用于通过该第一时钟端与I2C从地址生成装置的时钟端(Sclk)连接,并接入时钟信号,以根据该时钟信号,在时钟信号的上升沿通过D触发器对输入的数据进行移位。上升沿移位寄存器10的第一个D触发器的D端用于与输入端连接,以获取输入的数据。该上升沿移位寄存器10的后一D触发器对前一D触发器输出的数据进行移位寄存处理。

同样地,下降沿移位寄存器20也可以包括多个D触发器。当然,在其他实施例中,下降沿移位寄存器20可以通过其他结构实现。

下降沿移位寄存器20具有第二时钟端,下降沿移位寄存器20通过第二时钟端与时钟端连接,以获得时钟信号,并根据该时钟信号,在时钟信号的下降沿通过D触发器对输入的数据进行移位。下降沿移位寄存器20的第一个D触发器的D端用于与输入端连接,以获取输入的数据。该下降沿移位寄存器20的后一D触发器对前一D触发器输出的数据进行移位寄存处理。

在本实施例中,时钟端和第二时钟端之间设置有反相器,使第二时钟端输入时钟信号的反相信号,这样使的下降沿移位寄存器20和上升沿移位寄存器10的结构可以相同,但两者可以实现上升沿移位寄存器10在时钟信号的上升沿对输入的数据进行移位寄存处理,同时,由于下降沿移位寄存器20获取的是时钟信号的反相信号,故而实现了其在时钟信号的下降沿对输入的数据进行移位寄存处理。

可选地,I2C从地址生成装置还包括bit计数器40,bit计数器40与时钟端连接,并对从时钟端获取的时钟信号的高电平进行计数,以输出该计数值(图1中所示bitcnt[3:0])。当bit计数器40的计数值为终止值之后,bit计数器的计数值清除,从初始值开始重新计数。初始值可以是0或1等,根据需要设定。例如,初始值为0时,当时钟信号的第一个高电平到来时,bit计数器40的计数值为1,第二个高电平到来时,bit计数器40的计数值再加1,以此类推,直至bit计数器40的计数值到达终止值之后,对其计数值进行清除,并从初始值开始重新计数。

在本实施例中,I2C从地址生成装置还包括控制器,控制器与bit计数器40连接,并在bit计数器40的计数值到达预定值时,控制动态地址生成单元30根据第一寄存数据和第二寄存数据确定输入端的连接对象。

例如,如图2所示,当bit计数器40的计数值等于7时,控制器控制动态地址生成单元30根据上升沿移位寄存器10输出的第一寄存数据和下降沿移位寄存器20输出的第二寄存数据确定输入端目前的连接对象,并输出对应的模式译码。

在本实施例中,为了提升鲁棒性,I2C从地址生成装置还包括选择器,选择器的控制端通过第一放大器50接地或接电源,选择器的第一输入端通过第二放大器60与输入端连接,选择器的第二输入端与动态地址生成单元30连接,当控制端为高电平时,选择器根据输入端的输入值输出状态码;当控制端为低电平时,选择器根据动态地址生成单元30的输出译码输出状态码。

例如,在使用过程中,若存在使用场合下动态地址不稳定的情况,为了适应这种情况,通过选择器70、第一放大器50和第二放大器60形成旁路,以此实现2个稳定动态地址的输出。

当使用环境不稳定时,可以通过使第一放大器50接电源,选择器70工作在控制端为高电平的状态,选择器70的输出根据输入端的数据进行输出。例如,输入端的数据通过第二放大器60放大后输入到选择器70中,选择器70根据该输入端的数据进行输出。

当使用环境的动态地址较为稳定时,选择器70工作在控制端为低电平的状态,选择器70的输出根据动态地址生成单元30输出的模式译码进行输出。

可选地,I2C从地址生成装置根据状态码和预设的补充码生成从地址。

可选地,在本实施例中,I2C从地址生成装置还包括数据移位寄存器80,数据移位寄存器80用于与数据端连接,并对从数据端获取的数据进行移位寄存处理,生成移位数据(shi[6:0])。

当生成的从地址与数据移位寄存器80输出的数据一致,则从地址指向的从机(slave)进行响应,反之则不响应。

下面对输入端连接不同的连接对象的各个输出信号进行说明:

如图2所示,当输入端接地时,输入端输入的数据波形如图2中AD_IN=GND所示。时钟信号如图2中SCL所示。输入的数据信号如图2中SDA所示。Bit计数器40的计数值如图2中bitcnt[3:0]所示。第一寄存数据如图2中shi_pos[5:0]。第二寄存数据如图2中shi_neg[5:0]所示。

当第一放大器50接地时,选择器70的控制端为低电平,选择器70的输出的输出状态码dev_addr_in[1:0]与动态地址生成单元30输出的模式译码dev_addr2[1:0]相同,此时模式译码dev_addr2[1:0]为“00”,输出状态码dev_addr_in[1:0]也为“00”。输出状态码与预设的补充码形成从地址dev_addr[6:0],在本实施例中,补充码为5’b01101,生成的从地址dev_addr[6:0]为7’b0001101,转换为16进制为0x34。

如图3所示,当输入端接地时钟端时,输入端输入的数据波形如图3中AD_IN=SCL所示。时钟信号如图3中SCL所示。输入的数据信号如图3中SDA所示。Bit计数器40的计数值如图3中bitcnt[3:0]所示。第一寄存数据如图3中shi_pos[5:0]。第二寄存数据如图3中shi_neg[5:0]所示。

当第一放大器50接地时,选择器70的控制端为低电平,选择器70的输出的输出状态码dev_addr_in[1:0]与动态地址生成单元30输出的模式译码dev_addr2[1:0]相同,此时模式译码dev_addr2[1:0]为“01”,输出状态码dev_addr_in[1:0]也为“01”。输出状态码与预设的补充码形成从地址dev_addr[6:0],在本实施例中,补充码为5’b01101,生成的从地址dev_addr[6:0]为7’b0101101,转换为16进制为0x35。

如图4所示,当输入端接数据端时,输入端输入的数据波形如图4中AD_IN=SDA所示。时钟信号如图4中SCL所示。输入的数据信号如图4中SDA所示。Bit计数器40的计数值如图4中bitcnt[3:0]所示。第一寄存数据如图4中shi_pos[5:0]。第二寄存数据如图4中shi_neg[5:0]所示。

当第一放大器50接地时,选择器70的控制端为低电平,选择器70的输出的输出状态码dev_addr_in[1:0]与动态地址生成单元30输出的模式译码dev_addr2[1:0]相同,此时模式译码dev_addr2[1:0]为“10”,输出状态码dev_addr_in[1:0]也为“10”。输出状态码与预设的补充码形成从地址dev_addr[6:0],在本实施例中,补充码为5’b01101,生成的从地址dev_addr[6:0]为7’b1001101,转换为16进制为0x36。

如图5所示,当输入端接电源端时,输入端输入的数据波形如图5中AD_IN=VDD所示。时钟信号如图5中SCL所示。输入的数据信号如图5中SDA所示。Bit计数器40的计数值如图5中bitcnt[3:0]所示。第一寄存数据如图5中shi_pos[5:0]。第二寄存数据如图5中shi_neg[5:0]所示。

当第一放大器50接地时,选择器70的控制端为低电平,选择器70的输出的输出状态码dev_addr_in[1:0]与动态地址生成单元30输出的模式译码dev_addr2[1:0]相同,此时模式译码dev_addr2[1:0]为“11”,输出状态码dev_addr_in[1:0]也为“11”。输出状态码与预设的补充码形成从地址dev_addr[6:0],在本实施例中,补充码为5’b01101,生成的从地址dev_addr[6:0]为7’b1101101,转换为16进制为0x37。

需要说明的是,补充码可以根据需要确定,并不限于本实施例中例举的值。

若第一放大器50与电源连接,选择器70的控制端处于高电平,此时连接器70的输出状态码dev_addr_in[1:0]根据输入端确定,例如输入端为低电平时,输出状态码dev_addr_in[1:0]为“00”,反之,输入端为低电平时,输出状态码dev_addr_in[1:0]为“11”,这样可以保证I2C从地址生成装置在地址不稳定的情况下可以保证能够进行稳定的2稳态从地址输出,从而提升装置的鲁棒性。

根据本实用新型的另一方面,提供一种芯片,芯片包括上述的I2C从地址生成装置。

该芯片的I2C从地址生成装置可以通过一个输入端选择性地与接地端、电源端、时钟端或数据端连接,以生成四种不同的从地址,以解决输入端不足的问题。

该I2C从地址生成装置根据单个输入端接芯片外部不同的已有管脚,动态生成四种I2C的从地址,用来解决现有技术中单芯片的I2C需要四个地址时候需要两个输入管脚的问题。此外,由于使用了上升沿、下降沿的移位寄存器的移位、比较方法来产生四种地址、并且有旁路设计,确保了芯片能够在稳定的四地址或双地址模式下的工作。

通过旁路设计,增加了地址的鲁棒性,在一旦芯片工作于更恶劣环境,动态四地址的比较会有不稳的情况出现,可以更简单快速改成双地址方案,此设计可以旁路所有的移位、锁存并且比较产生四地址的逻辑结构(如上升沿移位寄存器、下降沿移位寄存器等),通过AD_PIN的接地、接电源来得到稳定的双地址(AD_PIN=0、AD_PIN=1)来供货。

由于使用了上升沿、下降沿的移位寄存器的移位、比较方法来产生四种地址、并且有旁路设计,能够确保在芯片确保在四地址方案下,改成更稳定的双地址方案,这确保了芯片能够在稳定的四地址、双地址模式下的工作。本实用新型的根据单一管脚接不同芯片的四种管脚,能可靠输出四种不同的逻辑状态,能节省管脚资源,从而节省封装和芯片面积等成本。

此外,由于使用了移位寄存器,相较于计数器其成本更低、尺寸更小。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本实用新型实施例的范围。

以上实施方式仅用于说明本实用新型实施例,而并非对本实用新型实施例的限制,有关技术领域的普通技术人员,在不脱离本实用新型实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本实用新型实施例的范畴,本实用新型实施例的专利保护范围应由权利要求限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1