CN117648279A - 用于多协议通信接口的高效引脚共享集成电路(ic)器件 - Google Patents
用于多协议通信接口的高效引脚共享集成电路(ic)器件 Download PDFInfo
- Publication number
- CN117648279A CN117648279A CN202311118143.8A CN202311118143A CN117648279A CN 117648279 A CN117648279 A CN 117648279A CN 202311118143 A CN202311118143 A CN 202311118143A CN 117648279 A CN117648279 A CN 117648279A
- Authority
- CN
- China
- Prior art keywords
- circuit
- spi
- signal
- line
- interface
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 88
- 238000001514 detection method Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000002093 peripheral effect Effects 0.000 claims abstract description 14
- 230000008878 coupling Effects 0.000 claims abstract description 5
- 238000010168 coupling process Methods 0.000 claims abstract description 5
- 238000005859 coupling reaction Methods 0.000 claims abstract description 5
- 230000015654 memory Effects 0.000 claims description 33
- 230000007704 transition Effects 0.000 claims description 26
- 238000003708 edge detection Methods 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000000630 rising effect Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 101150031507 porB gene Proteins 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本公开涉及用于多协议通信接口的高效引脚共享集成电路(IC)器件。提供了与通信接口相关的系统和方法。一种用于集成电路(IC)设备之间的通信的接口电路布置,接口电路布置包括:串行外围接口(SPI)电路,具有SPI时钟端口、SPI数据端口和SPI芯片选择(CS)端口;具有I2C时钟端口和I2C数据端口的内部集成电路(I2C)电路,其中所述I2C时钟端口和所述SPI时钟端口电耦合到第一连接端口,并且其中所述12C数据端口和所述SPI数据端口电耦合到第二连接端口;模式检测电路,用于检测第三连接端口处的信号模式,所述第三连接端口电耦合到所述SPI CS端口;和选择电路,用于响应于所述模式检测电路的输出而选择性地将所述SPI电路或所述I2C电路耦合到数据路径。
Description
相关申请的交叉引用
本申请要求2022年9月2日提交的题为“用于多协议通信接口的具有高效引脚共享的集成电路(IC)器件”的国际申请No.PCT/CN2022/116784的权益,并出于所有目的全部内容通过引用结合于此。
技术领域
本公开一般涉及电子器件,并且更具体地涉及用于多协议通信接口的具有高效引脚共享的集成电路(IC)器件。
背景技术
串行外围接口(SPI)和集成电路间接口(I2C)广泛用于集成电路(IC)设备或组件之间的通信,例如微控制器和外围设备(如传感器、模数转换器(ADC)、数模转换器(DAC)、存储器、光器件等)之间的通信,基于全双工主从式串行通信接口。来自SPI主设备或SPI从设备的数据在SPI主设备提供的时钟信号的上升沿或下降沿上同步。SPI主设备和SPI从设备都可以同时传输数据,例如,使用包括时钟线、芯片选择(CS)线、主输入、从输出(MISO)数据线和主输出、从输入(MOSI)数据线的4线SPI。另一方面,I2C是使用时钟线和双向数据线这两条线的基于半双工主从的串行通信接口。类似于SPI,I2C主设备可以提供时钟信号,并且可以基于时钟信号的上升沿或下降沿在I2C主装置和I2C从装置之间传送数据。一些设备可以包括多协议通信接口(例如,包括SPI和I2C接口),以提供与各种设备通信的灵活性。
附图说明
为了提供对本公开及其特征和优点的更完整理解,结合附图参考以下描述,其中相同的附图标记表示相同的部分,其中:
图1是根据本公开的各种实施例的实现高效串行外围接口(SPI)/集成电路间(I2C)引脚共享方案的示例性集成电路(IC)设备的示意图;
图2是根据本公开的各种实施例的用于SPI/I2C方式检测和选择的示例性方法的流程图;
图3是示出根据本公开的各种实施例的SPI/I2C方式检测中的示例性操作的时序图;
图4是示出根据本公开的各种实施例的SPI/I2C方式检测中的示例性操作的时序图;
图5是根据本公开的各种实施例的实现高效SPI/I2C引脚共享方案的IC器件中的示例性接口电路的一部分的示意图;
图6是根据本公开的各种实施例的示例性SPI/I2C方式检测电路的示意图;
图7是根据本公开的各种实施例的用于操作实现高效SPI/I2C引脚共享方案的IC器件的示例性方法的流程图;和
图8是示例性电气设备的框图,其可以包括本文公开的具有SPI/I2C引脚共享的任何SPI/I2C接口电路。
具体实施方式
综述
本公开的系统、方法和装置每个都具有若干创新实施例,其中没有一个单独负责本文公开的所有期望属性。本说明书中描述的主题的一个或多个实现方式的细节在以下描述和附图中阐述。
如上所述,一些集成电路(IC)设备可以包括多协议串行通信接口(例如,包括串行外围接口(SPI)和内部集成电路(I2C)接口),以提供用于与各种设备通信的灵活性。例如,从设备(或外围设备)可以包括SPI和I2C接口,并且主设备(或控制器)可以选择使用SPI或I2C接口与从设备通信。在某些示例中,SPI可以是4线接口,并且I2C可以是如上所述的2线接口。因为在任何给定时间只有一个接口,SPI或I2C接口,可以被激活,所以SPI和I2C接口可以共享一些信号引脚(或连接),以最小化从设备处的引脚或连接的数量。例如,I2C接口可以利用SPI数据连接进行I2C数据通信,而不是分别为SPI分配4个引脚(或连接)和为I2C接口分配2个引脚(或者连接)。换句话说,SPI和I2C接口之间的时钟和数据引脚(或连接)的共享可以允许引脚数量减少(例如,从6个引脚减少到4个引脚)。如本文所使用的,SPI/I2C接口可以指实现SPI通信协议和I2C通信协议两者的接口,其中SPI或I2C通信协定中的一个可以在任何给定时间使用。
支持SPI/I2C接口中的SPI接口和I2C接口之间的选择的一种方法是包括用于选择的附加的专用引脚或连接。也就是说,可选择的SPI/I2C接口可以包括五个连接或引脚。然而,随着IC器件的管芯尺寸的减小,引脚连接的可用面积可受到限制。因此,可能希望进一步减少具有可选SPI或I2C接口的SPI/I2C接口的引脚数量。
本公开描述了用于在SPI/I2C接口中的SPI和I2C接口之间有效地共享引脚或连接而不使用用于在SPI和I2C接口之间进行选择的附加的专用选择引脚或连接的机制。在本公开的一个方面中,IC器件可以包括用于与一个或多个其他设备通信的接口电路。在一些示例中,IC器件可以是从设备,并且一个或多个其他设备可以是主设备。接口电路可以包括SPI电路、I2C电路和四个连接端口(例如,用于连接到一个或多个其他设备的引脚或端子)。SPI电路可以具有SPI时钟端口、SPI数据端口和SPI CS端口。I2C电路可以具有I2C时钟端口和I2C数据端口。I2C时钟端口和SPI时钟端口可以电耦合到IC器件的第一连接端口(例如,引脚或端子)。换句话说,I2C时钟端口和SPI时钟端口可以共享用于时钟信号通信的相同(或公共)第一连接端口。此外,I2C数据端口和SPI数据端口可以电耦合到IC器件的与第一连接端口分离的第二连接端口(例如,引脚或端子)。换句话说,I2C数字端口和SPI数字端口可以共享用于数据信号通信的相同(或公共)第二连接口。接口电路可以进一步包括模式检测电路,用于检测IC器件的第三连接端口(例如引脚或端子)处的信号模式。第三连接端口可以电耦合到SPI CS端口。接口电路可以进一步包括选择电路,以响应于模式检测电路的输出而选择性地将SPI电路或I2C电路耦合到(IC器件的)数据路径。也就是说,模式检测电路可以基于由另一设备发送的CS信号来自动检测是使用I2C通信协议还是SPI通信协议与另一设备通信。换句话说,模式检测电路和SPI CS端口可以共享用于SPI CS选择或模式切换指示的相同(或公共)第三连接。此外,模式检测电路也可以被称为SPI/I2C方式检测电路或简单地称为方式检测电路。
在一些方面中,模式检测电路可以响应于成功检测到信号模式而进一步输出选择SPI电路的指示。可替换地,模式检测电路可以响应于未能检测到信号模式而进一步输出选择I2C电路的指示。在一些方面中,作为信号模式检测的一部分,模式检测电路可以确定在第三连接端口(由SPI CS端口共享)处接收的信号中从逻辑高电压电平到逻辑低电压电平的转变数量(例如,对应于负边缘)是否满足负电压转变的阈值数量。换句话说,从I2C模式和SPI模式的切换可以基于SPI CS信号中的负边缘。在一些方面中,用于检测所述信号模式的负电压转变的阈值数量是预定值(例如,大于1)。在一些方面中,用于检测信号模式的负电压转变的阈值数量基于存储在IC器件的寄存器存储器处的值。在一些方面中,IC器件可在上电复位时使用I2C接口操作(默认情况下),且在上电重置后可经由I2C电路接收存储在寄存器存储器处的值(用于负电压转变的阈值数量)。
在一些方面,SPI电路可以包括两个数据端口,主输出,从输入(MOSI)端口和主输入,从输出(MISO)端口,并且与I2C数据端口共享第二连接端口的SPI数据端口可以对应于MISO端口。例如,MISO端口可以电耦合到IC器件的第四连接端口。在一些方面中,当接口电路在I2C模式下操作时,第四连接端口(例如,MOSI引脚)可以被使用或重新配置(或重用)为通用输入/输出(GPIO)引脚。附加地或可替换地,当接口电路在I2C模式下操作时,第三连接端口(例如,CS引脚)可以被使用或重新配置为I2C地址引脚。
本文描述的系统、方案和机制有利地消除了在支持可选SPI或I2C接口通信协议的IC器件中使用专用引脚来在SPI和I2C接口之间进行选择。因此,所公开的实施例可以提供引脚数量的减少,并且因此可以有益于具有小管芯尺寸和有限可用引脚的IC器件。在上电时将IC器件默认为I2C模式并且利用基于负边缘的CS信号模式作为从I2C模式切换到SPI模式的指示可以最小化或避免错误模式切换检测。允许另一个器件(例如,控制器)在该器件处配置或编程寄存器以设置用于CS信号模式检测的阈值负电压转变计数可以提供灵活性。将SPI CS和/或SPI MOSI引脚或连接分别重新用作GPIO和/或I2C地址可以进一步提供引脚计数节省。虽然引脚共享机制是在具有SPI和I2C的多协议通信接口的上下文中讨论的,但是所公开的机制可以应用于任何其他合适的多协议通讯接口。此外,本文所讨论的SPI/I2C引脚共享或模式选择机制可应用于任何合适的IC装置,包括但不限于传感器、音频装置、ADC、DAC、存储器装置、射频(RF)装置、RF收发器、光学装置、光学收发器、光学调制器、激光控制器和/或光学控制器。
图1是根据本公开的各种实施例的实现高效SPI/I2C引脚共享方案的示例性IC器件100的示意图。IC器件100可以是用于与微控制器(MCU)104或任何合适的控制器或主设备通信的从设备,例如,经由IC器件100和MCU 104所设置的电路板上的串行数据总线(例如,SPI总线或I2C总线)。如图1所示,IC器件100可以包括接口电路110和四个连接端口(如112、114、116和118所示),它们可以被称为端子或引脚。接口电路110可以包括SPI/I2C方式检测电路120、SPI电路130(其可以简单地称为SPI)、I2C电路140(其可以简化地称为I2C接口)、选择电路150和寄存器存储器160。为了简单起见,图1仅示出了用于与MCU 104接口的突出元件,并且IC器件100可以包括其他电路元件和/或模块。
如图1中进一步所示,SPI电路130可以包括CS端口132、SPI数据端口134、SPI时钟端口136和另一SPI数据端口138。SPI数据端口134可以称为MOSI端口,SPI数据端口138可以称为MISO端口,SPI时钟端口136可以称为串行时钟(SCLK)端口。SPI电路130可以根据SPI通信协议执行通信。例如,CS端口132可以由MCU 104用来选择SPI电路130用于通信。SPI时钟端口136可以由MCU 104用来向SPI电路130提供用于通信的时钟信号135。SPI数据端口134可以用于从MCU 104向IC器件100传送数据(例如,一次一位)。例如,IC器件100可以根据时钟信号135的上升沿或下降沿对信号线106上的数据信号133进行采样。SPI数据端口138可以用于从IC器件100向MCU 104传送数据(例如,一次一位)。例如,IC器件100可以根据时钟信号135的上升沿或下降沿在信号线108上发送数据信号137。
如图1中进一步所示,I2C电路140可包括I2C时钟端口142和I2C数据端口144,其可分别被称为串行时钟(SCL)端口和串行数据(SDA)端口144。I2C电路140可以根据I2C通信协议来执行通信。例如,I2C时钟端口142可以由MCU 104用来向IC器件100提供时钟信号135。I2C数据端口144可用于将数据(例如,数据信号137)从MCU 104传送到IC装置100或从IC装置100传送到MCU 104。也就是说,信号线108可以在I2C模式下是双向的,其中MCU 104或IC器件100中的一个可以在任何给定时间以发送模式操作。
为了减少用于与MCU 104接口的IC引脚(或连接端口)的数量,SPI电路130和I2C电路140可以共享一些引脚。例如,I2C数据端口144和SPI数据端口138可以经由信号线108电耦合到连接端口118。也就是说,I2C数据端口144和SPI数据端口138可以共享用于数据通信的连接端口118,其中SPI/I2C方式检测电路120的数据线和I2C电路140的数据线可以耦合到连接端口118。以类似的方式,I2C时钟端口142和SPI时钟端口136可以经由信号线107电耦合到连接端口116。也就是说,I2C时钟端口142和SPI时钟端口136可以共享用于时钟信号通信的连接端口116,其中SPI电路130的时钟线和I2C电路140的时钟线可以耦合到连接端口116。此外,如将更详细地讨论的,连接端口112可以经由信号线105电耦合到CS端口132和SPI/I2C方式检测电路120的输入,以避免必须添加用于在SPI电路130和I2C电路140之间进行选择的专用引脚。在一些情况下,信号线105可以被称为CS线。
SPI/I2C方式检测电路120可以执行方式检测,或者更具体地,信号方式检测,以基于在信号线105上接收的信号131来确定是选择SPI电路130还是I2C电路140用于与MCU 104通信。响应于信号方式检测,SPI/I2C方式检测电路120可以生成输出122(例如,选择信号)并将选择信号122提供给选择电路150。在一些情况下,SPI/I2C方式检测电路120可以被称为方式检测电路。如图1所示,选择电路150可以包括耦合到SPI电路130的输出的第一输入、耦合到I2C电路140的输出的第二输入、耦合至SPI/I2C方式检测电路120的输出的选择输入、以及耦合到数据路径109的输出,用于从IC器件的寄存器存储器160读取和/或向其写入。选择电路150(例如,多路复用器)可以响应于SPI/I2C方式检测电路120的输出(例如,选择信号122)而选择性地将SPI电路130或I2C电路140耦合到数据路径109。在一些示例中,数据路径109可以携带多个信号,例如,写入使能信号、读取使能信号,写入数据信号、读取数据信号、写入地址信号和读取地址信号。读取地址信号可以携带要从中读取数据(例如,8位、16位、32位等)的存储器(或寄存器)的地址,读取数据信号可以携带从存储器读取的数据,并且读取使能信号可以控制读取传输(例如,当读取使能信号为逻辑高时,数据在读取数据线上)。类似地,写入地址信号可以携带要向其写入数据(例如,8位、16位、32位等)的存储器(或寄存器)的地址,写入数据信号可以携带用于向存储器写入的数据,并且写入使能信号可以控制何时要读取数据(例如当写入允许信号为逻辑高时,数据可以存在于数据线上)。
在一些方面中,SPI/I2C方式检测电路120可以针对信号模式监视CS线105。例如,MCU 104可以通过发送包括一个或多个负边缘序列的信号模式(或者从逻辑高切换到逻辑低)来触发从I2C到SPI的模式切换。因此,作为信号方式检测的一部分,SPI/I2C方式检测电路120可以接收信号131(由SPI CS端口132共享),并且可以确定信号131中从逻辑高电压电平到逻辑低电压电平的转变数量(例如,下降沿或负边缘)是否满足负电压转变的阈值数量。换句话说,I2C模式和SPI模式之间的切换可以基于CS信号131中的负边缘。在一个示例中,如果SPI/I2C方式检测电路120成功地检测到信号模式,则SPI/I2C方式检测电路120可以输出用于选择SPI电路的指示(例如,选择信号122,其也可以被称为SEL SPI信号)。然而,如果SPI/I2C方式检测电路120未能检测到信号模式,则SPI/I2C方式检测电路120可以输出选择I2C电路140的指示。在一个示例中,SPI/I2C方式检测电路120可以输出逻辑1以指示对SPI电路130的选择,并且输出逻辑0以指示对I2C电路140的选择,或者反之亦然。在一些情况下,用于将通信模式从I2C切换到SPI的CS信号模式可以被称为伪CS模式,因为该信号模式可能对芯片选择或串行数据通信没有贡献。
在一些方面中,当接口电路110利用I2C电路140与MCU 104通信时,耦合到SPI电路130的MISO端口134的连接端口114可以被重新配置为作为GPIO引脚操作。也就是说,连接端口114可以被重新用于(或重新使用)其他信号通信。附加地或可替换地,当接口电路110利用I2C电路140与MCU 104通信时,连接端口112(耦合到SPI电路130的CS端口132)可以被重新配置为作为I2C地址引脚操作。例如,板或系统可以包括与MCU 104通信的两个IC器件100,其中两个IC器件100中的I2C电路140可以具有相同的I2C地址(例如,7位地址或10位地址)。通过将连接端口112重新用作地址引脚,MCU 104可以通过将逻辑高发送到各个IC器件100的连接端口112来选择IC器件100中的一个,或者通过将逻辑低发送到各个IC100的连接端112来选择IC100中的另一个。换句话说,连接端口112可以被重新使用以表示I2C地址中的一个比特。例如,分配给IC器件100的7位I2C地址可以与(从连接端口112接收的)附加位组合,以提供用于与MCU 104通信的8位I2C寻址。
虽然图1中所示的IC器件100示出了I2C电路140共享用于数据通信的连接端口118(耦合到SPI电路130的MOSI端口138),但是在一些示例中,I2C电路130可以共享用于数据通讯的连接端口114(耦合到SPI电路130的MISO端口134)。
图2-6是关于图1讨论的,以提供由SPI/I2C方式检测电路120执行的信号模式检测和SPI/I2C选择过程的更详细视图。
图2是根据本公开的各种实施例的用于SPI/I2C方式检测和选择的示例性方法200的流程图。方法200可以由接口电路110或任何合适的信号方式检测电路来实现。尽管可以参考本文公开的SPI/I2C方式检测电路120的特定实施例来说明方法200的操作,但是可以使用任何合适的硬件组件和/或软件组件来执行方法200。在图2中,每个操作以特定顺序示出一次,但是操作可以根据需要并行执行、重新排序和/或重复。
在202,接口电路110可以使用I2C电路140在I2C模式下操作用于通信。例如,接口电路110可以在通电之后默认地在I2C模式下操作。
在204处,接口电路110可以执行CS去毛刺。如上所述,接口电路110可以针对信号模式监视CS线105上的CS信号131,以确定是选择SPI电路130还是I2C电路140进行通信。为了避免CS线105上的毛刺导致错误检测,接口电路110可以利用信号去毛刺电路(例如,图5中所示的去毛刺电路510)来在信号模式检测之前去除CS线上的信号毛刺。
如上所述,信号模式检测可以基于对CS线105上的CS信号131中的负边缘的数量进行计数。因此,在208,SPI/I2C方式检测电路120可以将计数器初始化为例如值0,以开始检测。
在210,SPI/I2C方式检测电路120可以确定是否检测到CS信号131中的CS负边缘(例如,从逻辑高到逻辑低的负电压转变)。如果SPI/I2C方式检测电路120未能检测到CS信号131中的CS负边缘,则SPI/I2C方式检测电路120可以继续监视CS边缘沿并且继续输出选择I2C电路140用于通信的指示。然而,如果SPI/I2C方式检测电路120成功地检测到CS信号131中的CS负边缘,则SPI/I2C方式检测电路120可以前进到212。
在检测到CS负边缘之后,SPI/I2C方式检测电路120可以监测CS正沿(例如,从逻辑低到逻辑高的正电压转变)。例如,在212,SPI/I2C方式检测电路120可以启动定时器。定时器可以用于使CS正边缘检测超时。
在214,SPI/I2C方式检测电路120可以确定在CS信号131中是否检测到CS正边缘。如果SPI/I2C方式检测电路120未能检测到CS信号131中的CS正边缘,则SPI/I2C方式检测电路120可以前进到224。
在224,SPI/I2C方式检测电路120可以确定定时器是否已经到期。如果定时器已经到期,则SPI/I2C方式检测电路120可以返回212并重新启动定时器。然而,如果定时器尚未到期,则SPI/I2C方式检测电路120可以继续监视CS正边缘,并继续输出选择I2C电路140进行通信的指示。
返回到214,如果SPI/I2C方式检测电路120成功地检测到CS信号131中的CS正边缘,则SPI/I2C方式检测电路120可以前进到216以停止定时器。
在218,在成功地检测到CS信号131中的CS负边缘之后是CS正边缘之后,SPI/I2C方式检测电路120可以递增计数器。
在220,SPI/I2C方式检测电路120可以确定递增的计数器是否满足阈值(例如,等于阈值)。如果计数器未能满足阈值,则SPI/I2C方式检测电路120可以返回210并继续监视CS信号131的CS负边缘。然而,如果计数器满足阈值,则SPI/I2C方式检测电路120可以前进到222。
在222,SPI/I2C方式检测电路120可以使接口电路120在SPI模式下操作。例如,SPI/I2C方式检测电路120可以生成包括选择SPI电路130用于通信的指示的选择信号122,使得选择电路150可以将SPI电路130的输出耦合到数据路径109。
在一些方面中,在220处使用的阈值可以是预定值(例如,1、2、3、4、5或更大)。例如,如果用于指示从I2C模式切换到SPI模式的信号模式可以包括5个负电压转变,则阈值可以被设置为固定值5。在其他方面中,在220处使用的阈值可以基于存储在寄存器存储器160处的值。例如,用于从I2C模式切换到SPI模式的信号模式可以是可配置的。作为示例,MCU104可以在上电时使用I2C电路140来配置具有期望阈值的寄存器,以用于从I2C模式切换到SPI模式。
图3是示出根据本公开的各个实施例的SPI/I2C方式检测中的示例性操作的时序图。如图3所示,CS线105上的CS信号131可以从逻辑高转变为逻辑低(由具有向下箭头的下降沿或信号沿301所示),并且随后从逻辑低转变为逻辑高(由具有向上箭头的上升沿或信号边沿303所示)。由图2的方法200的SPI/I2C方式检测电路120在210处执行的CS负边缘检测可以是对负边缘301的监测。由图2的方法200的SPI/I2C方式检测电路120在214处执行的CS正边缘检测可以是对正边缘303的监测。
如图3中进一步所示,定时器302可以用于对CS负边缘301和CS正边缘303之间经过的时钟周期的数量进行计数。定时器302可以基于IC器件100的内部时钟(例如振荡器)。定时器302可以对应于在图2的方法200的212、216和224处讨论的定时器。在图3所示的示例中,对于每个内部时钟周期,定时器可以递增1,并且从检测到CS负边缘301的时间(由SPI/I2C方式检测电路120)到检测到CS正边缘303的时间(通过SPI/I2C方式检测电路120)可能经过N1个时钟周期。在一个示例中,用于确定是否检测到用于模式切换的信号模式的阈值可以基于CS信号131可以保持在逻辑低的最大持续时间来设置。最大持续时间可以被转换为用于设置阈值的多个时钟周期(内部时钟周期)。使用定时器302在超时时重新开始负边缘检测可以有利地避免CS负边缘的错误检测。
图4是示出根据本公开的各个实施例的SPI/I2C方式检测中的示例性操作的时序图。如图4所示,CS线105上的CS信号131可以例如通过MCU 104在逻辑高和逻辑低之间切换,以指示从I2C模式到SPI模式的模式切换。类似于图3,CS负边缘由具有向下箭头的信号边缘示出,CS正边缘由具有向上箭头的信号边缘示出。
如图4中进一步所示,计数器402可用于对从逻辑高到逻辑低的CS负边缘(或负电压转变)的数量进行计数。计数器402可以对应于在图2的方法200的208、218和220处讨论的计数器。例如,计数器402对于每个检测到的CS负边缘递增1。在图4所示的示例中,阈值计数可以被设置为N2。因此,当计数器达到N2时(例如,在时间T1),SPI/I2C方式检测电路120可以生成SEL SPI信号122的逻辑1。如接口通信模式404所示,SPI/I2C方式检测电路120可以在通电时在时间T0以I2C模式406(例如,使用I2C电路140)进行通信,并且在时间T1切换到以SPI模式408(例如,利用SPI电路130)进行通信。使用具有多个负边缘的信号模式来指示从I2C到SPI的模式切换可以有利地避免错误的模式切换检测。
虽然图4中未示出,但图3的定时器302可用于限制CS信号131在负沿之后可保持在逻辑低的持续时间,如上文参考图2-3所讨论的。
图5是根据本公开的各种实施例的IC器件100中的接口电路110的一部分的示意图。图5可以提供用于接口电路110的示例性实施方式。为了简单起见,图5可以仅示出与SPI/I2C方式检测相关的元件。如图5所示,接口电路110可以包括去毛刺电路510、SPI/I2C方式检测电路120以及D触发器(DFF)520、522和524。
去毛刺电路510可以耦合到连接端口112以接收CS信号131(来自诸如MCU 104的主设备)并去除CS信号131上的毛刺。去毛刺电路510可以包括适合于去除信号毛刺的任何电路元件,例如延迟块、逻辑门、置位-复位(SR)锁存器等。
DFF 520和522可以一起操作用于负边缘检测和正边缘检测。如图所示,DFF 520和522都可以通过由PORB表示的反相上电复位信号来复位。DFF 520的由D表示的数据输入端口可以耦合到去毛刺电路510的输出,以在毛刺去除之后接收CS信号131。DFF 520的由C表示的时钟端口可以耦合到时钟信号504(例如,由IC器件100的内部时钟或振荡器产生)。DFF520的由Q表示的输出端口可以耦合到DFF 522的数据端口(D),并且被提供作为SPI/I2C方式检测电路120的输入。DFF 522的时钟端口(C)可以耦合到相同的时钟信号504,并且DFF522中的输出端口(Q)可以被提供为SPI/I2C方式检测电路120的另一输入。也就是说,DFF520可以将CS信号131的版本(例如,信号502)提供给SPI/I2C方式检测电路120,并且DFF522可以将与信号502的延迟版本相对应的信号504提供给SPI/I2C模式探测电路120。在一些示例中,使用彼此延迟的相同信号的两个版本可以有利地改进信号边缘检测。SPI/I2C方式检测电路120可以基于如上参考图2-4所述执行的信号检测来生成输出信号506。DFF 524可以由反相时钟信号504复位,并且可以根据时钟信号504对输出信号506进行时钟,以例如向选择电路150提供选择信号122(由SEL SPI信号表示)。
图6是根据本公开的各种实施例的示例性SPI/I2C方式检测电路120的示意图。图6可以提供SPI/I2C方式检测电路120的示例性实施方式。如图6所示,SPI/I2C方式检测电路120可以包括边缘检测逻辑602、定时器逻辑604和计数器逻辑606。通常,边缘检测逻辑602、定时器逻辑604和计数器逻辑606可以包括逻辑门、触发器、SR锁存器、延迟缓冲器等。
在一个方面中,边缘检测逻辑602可以检测CS线105上的CS信号131中的下降沿或负边缘以及上升沿或正边缘,如以上参考图2-5所讨论的。例如,边缘检测逻辑602可以检测图3和图4中所示的下降边缘(例如,下降边缘301)和/或上升边缘(例如上升边缘303)。定时器逻辑604可以实现如上参考图2-3所述的定时器(例如,定时器302)。例如,定时器逻辑604可用于在负边缘检测之后的持续时间内未能检测到正边缘转变时,使边缘检测逻辑602在CS线105上重复检测CS信号131中的负边缘。计数器逻辑606可以实现如上参考图2和图4所述的计数器(例如,计数器402)。例如,计数器逻辑606可以在成功检测到CS线105上的CS信号131中的负边缘之后的正沿时递增计数器。
图7是根据本公开的各种实施例的用于操作实现高效SPI/I2C引脚共享方案的IC器件的示例性方法700的流程图。例如,方法700可以由诸如图1的IC器件100之类的IC器件来实现。IC器件可以具有SPI电路(例如SPI电路130)、I2C电路(例如I2C电路140)、耦合到SPI电路的CS线的第一端子(例如连接端口112)、耦合至SPI电路的数据线和I2C电路的数据线上的第二端子(例如连接端口118),以及耦合到SPI电路的时钟线和I2C的时钟线的第三端子(例如连接端口116)。尽管可以参考本文公开的IC器件100的特定实施例来说明方法700的操作,但是可以使用任何合适的硬件组件和/或软件组件来执行方法700。在图7中,每个操作以特定顺序示出一次,但是操作可以根据需要并行执行、重新排序和/或重复。
在702,IC器件可以针对信号模式来监视CS线。在一些方面中,作为监视CS线路的一部分,IC器件可以对在CS线路上接收的信号中的负边缘的数量进行计数。在一些方面中,作为计数的一部分,IC器件可以响应于在CS线上接收的信号中检测到负边缘之后的正沿而增加计数器。
在704,IC器件可以基于监视来选择SPI电路或I2C电路用于通信。在一些方面中,作为选择SPI电路或I2C电路的一部分,IC器件可以将在CS线上接收的信号中的负边缘的数量与负边缘的阈值数量进行比较,并且基于该比较来执行选择。在一些方面中,所述选择可包括响应于在CS线上接收的信号中的负边缘的数目满足负边缘的阈值数目而选择用于通信的SPI电路。在一些方面中,所述选择可包括响应于在CS线上接收的信号中的负边缘的数目未能满足负边缘的阈值数目而选择用于通信的I2C电路。在一些方面中,在选择SPI电路或I2C电路时用于比较的负边缘的阈值数目可以是预定的(例如,固定值)。在其他方面中,在选择SPI电路或I2C电路时用于比较的负边缘的阈值数目是基于寄存器读取(例如,从IC器件的配置寄存器读取)。在另一方面中,使用来自另一设备的I2C电路来读取用于在选择中进行比较的负边缘的阈值数目,并将其存储在寄存器中。
在706处,IC器件可以使用SPI电路或I2C电路中的所选择的一个与另一IC器件(例如,MCU 104)通信SPI电路的数据线或耦合到第二端子的I2C电路的数据线上的相应一个上的数据。
图8是示例性电气设备2400的框图,其可以包括本文公开的具有SPI/I2C引脚共享的接口电路110中的任何接口电路,或者可以包括执行本文公开的方法200和700中的任何方法的一个或多个组件。例如,设备2400的设备或组件中的至少一些可以包括如上参考图1和图5-6所述的接口电路110。在图8中示出了包括在设备2400中的多个组件,但是这些组件中的任何一个或多个可以被省略或复制,以适合应用。在一些实施例中,包括在电气设备2400中的部件中的一些或全部可以附接到一个或多个主板。在一些实施例中,这些部件中的一些或全部可以制造在单个芯片上系统(SoC)管芯上。
此外,在各种实施例中,设备2400可以不包括图8中所示的一个或多个组件,但是设备2400可以包括用于耦合到一个或多个组件的接口电路。例如,设备2400可以不包括显示设备2406,但是可以包括显示设备接口电路(例如,连接器和驱动器电路),显示设备2406可以耦合到该显示设备接口线路。在另一组示例中,设备2400可以不包括音频输入设备2418或音频输出设备2408,而是可以包括音频输入或输出设备接口电路(例如,连接器和支持电路),音频输入设备2408或音频输出设备2408可以耦合到该接口电路。
设备2400可以包括处理设备2402(例如,一个或多个处理设备)。如本文所使用的,术语“处理设备”或“处理器”可以指处理来自寄存器和/或存储器的电子数据以将该电子数据转换为可以存储在寄存器和/或者存储器中的其他电子数据的任何设备或设备的一部分。处理设备2402可以包括一个或多个数字信号处理器(DSP)、专用集成电路(ASIC)、中央处理单元(CPU)、图形处理单元(GPU)、密码处理器(在硬件内执行密码算法的专用处理器)、服务器处理器或任何其他合适的处理设备。
在一些实施例中,电气设备2400可以包括存储器2404,存储器2404本身可以包括一个或多个存储器设备,例如易失性存储器(例如,动态随机存取存储器(DRAM))、非易失性存储器(例如,只读存储器(ROM))、闪存、固态存储器和/或硬盘驱动器。在一些实施例中,存储器2404可以包括与处理设备2402共享管芯的存储器。该存储器2404可以用作高速缓冲存储器,并且可以包括嵌入式动态随机存取存储器(eDRAM)或自旋转移力矩磁性随机存取存储器。
在一些实施例中,电气设备2400可以包括通信设备2412(例如,一个或多个通信设备)。例如,通信设备2412可以被配置为管理无线通信,用于向电气设备2400传输数据和从电气设备2400传送数据。术语“无线”及其衍生物可用于描述电路、设备、系统、方法、技术、通信信道等,这些电路、设备和系统可通过非固体介质使用调制电磁辐射进行数据通信。该术语并不意味着相关联的设备不包含任何导线,尽管在一些实施例中它们可能不包含。
通信设备2412可以实现多个无线标准或协议中的任何一个,包括但不限于电气和电子工程师协会(IEEE)标准,包括Wi-Fi(IEEE 802.11家族)、IEEE 802.16标准(例如,IEEE802.16-2005修正案)、长期演进(LTE)项目以及任何修正、更新、和/或修订(例如,高级LTE项目、超移动宽带(UMB)项目(也称为“3GPP2”)等。IEEE 802.16兼容宽带无线接入(BWA)网络通常被称为WiMAX网络,缩写词代表微波接入的全球互操作性,其是通过IEEE 802.16标准的一致性和互操作性测试的产品的认证标志。一个或多个通信芯片2412可以根据全球移动通信系统(GSM)、通用分组无线电服务(GPRS)、通用移动电信系统(UMTS)、高速分组接入(HSPA)、演进型HSPA(E-HSPA)或LTE网络来操作。一个或多个通信芯片2412可以根据用于GSM演进的增强型数据(EDGE)、GSM EDGE无线电接入网络(GERAN)、通用陆地无线电接入网(UTRAN)或演进型UTRAN(E-UTRAN。一个或多个通信芯片2412可以根据码分多址(CDMA)、时分多址(TDMA)、数字增强无绳电信(DECT)、演进数据优化(EV-DO)及其衍生物,以及被指定为3G、4G、5G及以上的任何其它无线协议来操作。在其他实施例中,通信设备2412可以根据其他无线协议进行操作。设备2400可以包括天线2422以促进无线通信和/或接收其他无线通信(例如AM或FM无线电传输)。
在一些实施例中,通信设备2412可以使用协议来管理有线通信。有线通信可以包括电的、光的或任何其他合适的通信协议。可以由通信设备2412启用的有线通信协议的示例包括以太网、控制器局域网(CAN)、I2C、面向媒体的系统传输(MOST)或任何其他合适的有线通信通信协议。
如上所述,通信设备2412可以包括多个通信设备。例如,第一通信设备2412可以专用于诸如Wi-Fi或蓝牙之类的较短距离无线通信,而第二通信设备2411可以专用于例如全球定位系统(GPS)、EDGE、GPRS、CDMA、WiMAX、LTE、EV-DO或其他之类的较长距离无线通信。在一些实施例中,第一通信设备2412可以专用于无线通信,而第二通信设备2411可以专用于有线通信。
设备2400可以包括电池/电源电路2414。电池/电源电路2414可以包括一个或多个能量存储设备(例如,电池或电容器)和/或用于将设备2400的组件耦合到与设备2400分离的能量源(例如,AC线路电力、由汽车电池提供的电压等)的电路。
设备2400可以包括显示设备2406(或者如上所述的相应接口电路)。显示设备2406可以包括任何视觉指示器,例如平视显示器、计算机监视器、投影仪、触摸屏显示器、液晶显示器(LCD)、发光二极管显示器或平板显示器。
设备2400可以包括音频输出设备2408。音频输出设备2408可以包括生成可听指示器的任何设备,例如扬声器、耳机或耳塞。
设备2400可以包括音频输入设备2418(或者如上所述的相应接口电路)。音频输入设备2418可以包括生成表示声音的信号的任何设备,例如麦克风、麦克风阵列或数字乐器(例如,具有乐器数字接口MIDI输出的乐器)。
设备2400可以包括GPS设备2416(或者如上所述的相应接口电路)。GPS设备2416可以与基于卫星的系统通信,并且可以接收设备2400的位置,如本领域中已知的。
设备2400可以包括另一个输出设备2410(或相应的接口电路,如上所述)。其他输出设备2410的示例可以包括音频编解码器、视频编解码器、打印机、用于向其他设备提供信息的有线或无线发射机、或者附加存储设备。另外,本文所讨论的IC器件100可以被包括在另一个输出器件2410中。
设备2400可以包括另一个输入设备2420(或相应的接口电路,如上所述)。其他输入设备2420的示例可以包括加速度计、陀螺仪、图像捕获设备、键盘、光标控制设备,例如鼠标、触笔、触摸板、条形码读取器、快速响应(QR)码读取器或射频识别(RFID)读取器。上面参考设备2400描述的显示器、输入、输出、通信或存储器设备中的任何合适的设备可以用作图1的IC器件100。可替换地或附加地,上面参考设备2400描述的显示、输入、输出、通信或存储器设备中的任何合适的设备可以包括在控制器或节点(例如,主MCU 104或从IC器件100)中。
设备2400可以具有任何期望的形状因子,例如手持或移动电气设备(例如,蜂窝电话、智能电话、移动互联网设备、音乐播放器、平板电脑、膝上型电脑、上网本电脑、超级本电脑、个人数字助理(PDA)、超移动个人电脑等)、台式电气设备、,服务器设备或其他联网计算组件、打印机、扫描仪、监视器、机顶盒、娱乐控制单元、车辆控制单元、数码相机、数字录像机或可穿戴电气设备。在一些实施例中,电气设备2400可以是处理数据的任何其他电子设备。
以下段落提供了本文公开的实施例的各种示例。
示例1包括一种用于集成电路(IC)设备之间的通信的接口电路布置,接口电路布置包括:串行外围接口(SPI)电路,具有SPI时钟端口、SPI数据端口和SPI芯片选择(CS)端口;具有I2C时钟端口和I2C数据端口的内部集成电路(I2C)电路,其中所述I2C时钟端口和所述SPI时钟端口电耦合到第一连接端口,并且其中所述12C数据端口和所述SPI数据端口电耦合到第二连接端口;模式检测电路,用于检测第三连接端口处的信号模式,所述第三连接端口电耦合到所述SPI CS端口;和选择电路,用于响应于所述模式检测电路的输出而选择性地将所述SPI电路或所述I2C电路耦合到数据路径。
在示例2中,示例1的接口电路布置可以可选地包括:其中所述模式检测电路还响应于成功检测到所述信号模式而输出选择所述SPI电路的指示。
在示例3中,示例1-2中任一个的接口电路布置可以可选地包括:其中所述模式检测电路还响应于未能检测到所述信号模式而输出选择所述I2C电路的指示。
在示例4中,示例1-3中任一个的接口电路布置可以可选地包括:其中所述模式检测电路通过确定在所述第三连接端口处接收的信号中从逻辑高电压电平到逻辑低电压电平的转变数量是否满足负电压转变的阈值数量来检测所述信号模式。
在示例5中,示例1-4中任一个的接口电路布置可以可选地包括:其中用于检测所述信号模式的负电压转变的阈值数量是预定值。
在示例6中,示例1-4中任一个的接口电路布置可以可选地包括:其中用于检测所述信号模式的负电压转变的阈值数量是基于存储在寄存器存储器处的值。
在示例7中,示例6的接口电路布置可以可选地包括:其中所述I2C电路经由所述I2C数据端口接收所述负电压转变的阈值数量所基于的值,并且其中所接收的值被存储在所述寄存器存储器中。
在示例8中,示例1-7中任一个的接口电路布置可以可选地包括:其中接口电路布置在上电复位时选择I2C电路用于通信。
示例9包括集成电路(IC)器件,包括寄存器存储器;耦合到所述寄存器存储器的接口电路,所述接口电路包括串行外围接口(SPI);以及内部集成电路(I2C)接口;第一端子,耦合到所述SPI的芯片选择(CS)线;第二端子,耦合到所述SPI的第一数据线;第三端子,耦合到SPI的时钟线和I2C接口的时钟线;第四端子,耦合到SPI的第二数据线和I2C接口的数据线;耦合到第一端子的方式检测电路,其中方式检测电路监视器用于SPI的CS线上的一个或多个负边缘;和选择电路,用于基于所述方式检测电路的输出选择性地将所述SPI或所述I2C接口耦合到所述寄存器存储器。
在示例10中,示例9的IC器件可以可选地包括:其中方式检测电路进一步基于所述监测对所述SPI的CS线上的信号中的负边缘的数量进行计数;和基于CS线上的信号上的负边缘的数量与阈值的比较来生成用于选择SPI或I2C接口的选择信号。
在示例11中,示例9-10中任一实例的IC器件可任选地包括:其中所述方式检测电路通过以下方式产生所述选择信号基于CS线上的信号中的负边缘的数量不满足阈值,生成用于选择I2C接口的第一选择信号;和基于所述CS线上的信号中的负边缘的数量满足所述阈值,生成用于选择所述SPI的第二选择信号。
在示例12中,示例9-11中任一实例的IC器件可任选地包括:其中方式检测电路包括:边缘检测逻辑,用于检测CS线上的信号中的负边缘和正边缘;和计数器逻辑,用于在成功检测到CS线上的信号中的负边缘之后的正边缘时递增计数器。
在示例13中,示例9-12中任一实例的IC器件可任选地包括:其中方式检测电路还包括:定时器逻辑,用于在负边缘检测之后的持续时间内未能检测到正边缘转变时,重复检测CS线上的信号中的负边缘。
在示例14中,示例9-13中任一实例的IC器件可任选地包括:其中耦合到I2C接口的数据线所耦合到的第四端子的SPI的第二数据线对应于SPI的主输入、从输出(MISO)线。
在示例15中,示例9-14中任一实例的IC器件可任选地包括:其中耦合到第二端子的SPI的第一数据线对应于SPI的主输出、从输入(MOSI)线;和当所述I2C接口激活时,所述第二端子作为通用输入/输出(GPIO)端子操作。
在示例16中,示例9-15中任一实例的IC器件可任选地包括:其中当所述I2C接口激活时,耦合到所述SPI的CS线的第一端子作为I2C地址端子操作。
示例17包括一种由集成电路(IC)器件执行的方法,所述集成电路器件具有串行外围接口(SPI)电路、内部集成电路(I2C)电路、耦合到所述SPI电路的芯片选择(CS)线的第一端子、耦合到SPI电路的数据线和I2C电路的数据线上的第二端子、以及耦合到SPI电路的时钟线和I2C的时钟线的第三端子,该方法包括:监测CS线路的信号模式;基于所述监测来选择用于通信的所述SPI电路或所述I2C电路;和使用所述SPI电路或所述I2C电路中的所述选定一者与另一IC器件通信在耦合到所述第二端子的SPI电路的数据线或I2C电路的数据线上的相应一者上的数据。
在示例18中,示例17的方法可任选地包括:其中监测CS线路的信号模式包括:对在CS线上接收的信号中的负边缘的数量进行计数;和所述选择基于在CS线上接收的信号中的负边缘的数量与负边缘的阈值数量的比较。
在示例19中,示例17-18中任一个的方法可以可选地包括:其中选择包括响应于在CS线上接收的信号中的负边缘的数量满足负边缘的阈值数量来选择用于通信的SPI电路。
在示例20中,示例17-19中任一个的方法可任选地包括:其中所述选择包括响应于在CS线上接收的信号中的负边缘的数量未能满足负边缘的阈值数量而选择用于通信的I2C电路。
在示例21中,示例17-20中任一个的方法可任选地包括:其中在选择所述SPI电路或所述I2C电路中用于所述比较的负边缘的阈值数量是预定的。
在示例22中,示例17-20中任一个的方法可任选地包括:其中在选择所述SPI电路或所述I2C电路中用于所述比较的负边缘的阈值数量是基于寄存器读取的。
在示例23中,示例22的方法可任选地包括:其中使用所述I2C电路接收用于在选择所述SPI电路或所述I2C电路中进行比较的负边缘的阈值数量的值。
在示例24中,示例17-23中任一者的方法可任选地包括:其中对在CS线上接收的信号中的负边沿的数目进行计数包括响应于检测到在CS线上所接收的信号的负边沿之后的正边沿而递增计数器。
变体和实现
尽管以上参考如图1-7所示的示例性实施方式描述了本公开的实施方式,但是本领域技术人员将意识到,以上描述的各种教导可应用于多种其他实施方式。
在某些情况下,本文讨论的特征可适用于汽车系统、安全关键工业应用、医疗系统、科学仪器、无线和有线通信、无线电、雷达、工业过程控制、音频和视频设备、电流传感、仪器(可以是高精度的)和其他基于数字处理的系统。
在以上实施例的讨论中,系统的组件,例如逻辑和接口电路,和/或其他组件可以容易地被替换、替换或以其他方式修改,以适应特定的电路需求。此外,应该注意的是,使用互补的电子设备、硬件、软件等,为在各种通信系统中实现与具有有效引脚共享的通信接口电路相关的本公开的教导提供了同样可行的选择。
用于实现如本文所提出的具有有效引脚共享的接口电路的各种系统的部分可以包括执行本文所描述的功能的电子电路。在一些情况下,系统的一个或多个部分可以由处理器提供,该处理器专门配置用于执行本文所述的功能。例如,处理器可以包括一个或多个专用组件,或者可以包括被配置为执行本文所述功能的可编程逻辑门。电路可以在模拟域、数字域或混合信号域中操作。在一些情况下,处理器可以被配置为通过执行存储在非暂时性计算机可读存储介质上的一个或多个指令来执行本文所述的功能。
在一个示例实施例中,可以在相关联的电子设备的板上实现本图的任意数量的电路。该板可以是通用电路板,该通用电路板可以容纳电子设备的内部电子系统的各种组件,并且进一步提供用于其他外围设备的连接器。更具体地,板可以提供电连接,通过该电连接,系统的其他组件可以电通信。任何合适的处理器(包括DSP、微处理器、支持芯片组等)、计算机可读非瞬态存储元件等都可以基于特定的配置需求、处理需求、计算机设计等适当地耦合到板上,外围设备可以通过电缆作为插卡连接到板上,或者集成到板本身中。在各种实施例中,本文描述的功能可以以仿真形式实现为在一个或多个可配置(例如,可编程)元件内运行的软件或固件,所述一个或多个可配置元件布置在支持这些功能的结构中。提供仿真的软件或固件可以在包括允许处理器执行这些功能的指令的非暂时性计算机可读存储介质上提供。
在另一示例实施例中,本图的电路可以被实现为独立模块(例如,具有被配置为执行特定应用或功能的相关组件和电路的设备),或者被实现为插入到电子设备的特定应用硬件中的插件模块。注意,本公开的特定实施例可以部分地或全部地容易地包括在片上系统(SoC)封装中。SoC表示将计算机或其他电子系统的组件集成到单个芯片中的IC。它可能包含数字、模拟、混合信号,通常还有RF功能:所有这些功能都可以在单个芯片基板上提供。其他实施例可以包括多芯片模块(MCM),其中多个单独的IC位于单个电子封装内并且被配置为通过电子封装彼此紧密交互。
还必须注意的是,这里概述的所有规格、尺寸和关系(例如,图1和5-6中所示的接口电路的部件数量)仅出于示例和教学的目的而提供。在不脱离本公开的精神或所附权利要求的范围的情况下,这样的信息可以有相当大的变化。应当理解,该系统可以以任何合适的方式进行合并。根据类似的设计替代方案,本图中所示的电路、组件、模块和元件中的任何一个都可以组合成各种可能的配置,所有这些都清楚地在本说明书的广泛范围内。在前面的描述中,已经参考特定的处理器和/或组件布置描述了示例实施例。在不脱离所附权利要求的范围的情况下,可以对这样的实施例进行各种修改和改变。因此,说明书和附图应被视为说明性的,而不是限制性的。
注意,在本文提供的众多示例中,可以根据两个、三个、四个或更多个电组件来描述相互作用。然而,这样做只是为了清楚和举例。应当理解,该系统可以以任何合适的方式进行合并。根据类似的设计备选方案,图中所示的任何组件、模块和元件都可以组合成各种可能的配置,所有这些都在本规范的广泛范围内。在某些情况下,通过仅参考有限数量的电气元件来描述给定流集合的一个或多个功能可能更容易。应当理解,图及其教导的电路是容易扩展的,并且可以容纳大量的部件以及更复杂/复杂的布置和配置。因此,所提供的示例不应限制电路的范围或抑制电路的广泛教导,因为电路可能应用于无数其他架构。
请注意,在本说明书中,对包括在“一个实施例”、“示例实施例”,“一个具体实施例”和“另一实施例”中的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用,等等旨在意味着任何这样的特征被包括在本公开的一个或多个实施例中,但可以或不一定被组合在相同的实施例中。此外,如本文所用,包括在权利要求书中,在项目列表(例如,以短语“至少一个”或“一个或多个”开头的项目列表)中使用的“或”表示包容性列表,使得例如,[A、B或C中的至少一个]的列表表示A或B或C或AB或AC或BC或ABC(即A和B和C)。
使用本领域技术人员常用的术语来描述说明性实施例的各个方面,以将其工作的实质传达给本领域其他技术人员。例如,术语“连接的”是指在没有任何中间设备/组件的情况下连接的事物之间的直接电连接,而术语“耦合”是指连接的事物之间的直接电连接,或通过一个或多个无源或有源中间设备/组件的间接连接。在另一个例子中,术语“电路”是指一个或多个无源和/或有源部件,它们被布置为彼此协作以提供期望的功能。此外,如本文所用,术语“基本上”、“近似地”、“大约地”等可用于基于本文所述或本领域已知的特定值的上下文,通常指在目标值的+/-20%内,例如在目标值+/-10%内。
本领域技术人员可以确定许多其他的改变、替换、变化、改动和修改,并且本公开包括落入示例和所附权利要求的范围内的所有这样的改变、替代、变化、改动和修改。注意,上述装置的所有可选特征也可以相对于本文所述的方法或过程来实现,并且示例中的细节可以在一个或多个实施例中的任何地方使用。
Claims (20)
1.一种用于集成电路(IC)设备之间的通信的接口电路布置,所述接口电路布置包括:
串行外围接口(SPI)电路,具有SPI时钟端口、SPI数据端口和SPI芯片选择(CS)端口;
具有I2C时钟端口和I2C数据端口的内部集成电路(I2C)电路,其中所述I2C时钟端口和所述SPI时钟端口电耦合到第一连接端口,并且其中所述12C数据端口和所述SPI数据端口电耦合到第二连接端口;
模式检测电路,用于检测第三连接端口处的信号模式,所述第三连接端口电耦合到所述SPI CS端口;和
选择电路,用于响应于所述模式检测电路的输出而选择性地将所述SPI电路或所述I2C电路耦合到数据路径。
2.根据权利要求1所述的接口电路布置,其中所述模式检测电路还响应于成功检测到所述信号模式而输出选择所述SPI电路的指示。
3.根据权利要求1所述的接口电路布置,其中所述模式检测电路还响应于未能检测到所述信号模式而输出选择所述I2C电路的指示。
4.根据权利要求1所述的接口电路布置,其中所述模式检测电路通过确定在所述第三连接端口处接收的信号中从逻辑高电压电平到逻辑低电压电平的转变数量是否满足负电压转变的阈值数量来检测所述信号模式。
5.根据权利要求4所述的接口电路布置,其中用于检测所述信号模式的负电压转变的阈值数量是预定值。
6.根据权利要求5所述的接口电路布置,其中用于检测所述信号模式的负电压转变的阈值数量是基于存储在寄存器存储器处的值。
7.根据权利要求6所述的接口电路布置,其中所述I2C电路经由所述I2C数据端口接收所述负电压转变的阈值数量所基于的值,并且其中所接收的值被存储在所述寄存器存储器中。
8.一种集成电路(IC)器件,包括:
寄存器存储器;
耦合到所述寄存器存储器的接口电路,所述接口电路包括:
串行外围接口(SPI);和
内部集成电路(I2C)接口;
第一端子,耦合到所述SPI的芯片选择(CS)线;
第二端子,耦合到所述SPI的第一数据线;
第三端子,耦合到SPI的时钟线和I2C接口的时钟线;
第四端子,耦合到SPI的第二数据线和I2C接口的数据线;
耦合到所述第一端子的方式检测电路,其中所述方式检测电路监测所述SPI的CS线上的一个或多个负边缘;和
选择电路,用于基于所述方式检测电路的输出选择性地将所述SPI或所述I2C接口耦合到所述寄存器存储器。
9.根据权利要求8所述的IC器件,其中所述方式检测电路进一步:
基于所述监测对所述SPI的CS线上的信号中的负边缘的数量进行计数;和
基于CS线上的信号上的负边缘的数量与阈值的比较来生成用于选择SPI或I2C接口的选择信号。
10.根据权利要求9所述的IC器件,其中所述方式检测电路通过以下方式产生所述选择信号:
基于CS线上的信号中的负边缘的数量不满足阈值,生成用于选择I2C接口的第一选择信号;和
基于所述CS线上的信号中的负边缘的数量满足所述阈值,生成用于选择所述SPI的第二选择信号。
11.根据权利要求9所述的IC器件,其中所述方式检测电路包括:
边缘检测逻辑,用于检测CS线上的信号中的负边缘和正边缘;和
计数器逻辑,用于在成功检测到CS线上的信号中的负边缘之后的正边缘时递增计数器。
12.根据权利要求11所述的IC器件,其中所述方式检测电路还包括:
定时器逻辑,用于在负边缘检测之后的持续时间内未能检测到正边缘转变时,重复检测CS线上的信号中的负边缘。
13.根据权利要求9所述的IC器件,其中耦合到I2C接口的数据线所耦合到的第四端子的SPI的第二数据线对应于SPI的主输入、从输出(MISO)线。
14.根据权利要求9所述的IC器件,其中:
耦合到第二端子的SPI的第一数据线对应于SPI的主输出、从输入(MOSI)线;和
当所述I2C接口激活时,所述第二端子作为通用输入/输出(GPIO)端子操作。
15.根据权利要求9所述的IC器件,其中当所述I2C接口激活时,耦合到所述SPI的CS线的第一端子作为I2C地址端子操作。
16.一种由集成电路(IC)器件执行的方法,所述集成电路器件具有串行外围接口(SPI)电路、内部集成电路(I2C)电路、耦合到所述SPI电路的芯片选择(CS)线的第一端子、耦合到SPI电路的数据线和I2C电路的数据线上的第二端子、以及耦合到SPI电路的时钟线和I2C的时钟线的第三端子,该方法包括:
监测CS线路的信号模式;
基于所述监测来选择用于通信的所述SPI电路或所述I2C电路;和
使用所述SPI电路或所述I2C电路中的所述选定一者与另一IC器件通信在耦合到所述第二端子的SPI电路的数据线或I2C电路的数据线上的相应一者上的数据。
17.根据权利要求16所述的方法,其中:
针对所述信号模式监视所述CS线包括:
对在CS线上接收的信号中的负边缘的数量进行计数;和
所述选择基于在CS线上接收的信号中的负边缘的数量与负边缘的阈值数量的比较。
18.根据权利要求17所述的方法,其中在选择所述SPI电路或所述I2C电路中用于所述比较的负边缘的阈值数量是预定的。
19.根据权利要求17所述的方法,其中在选择所述SPI电路或所述I2C电路中用于所述比较的负边缘的阈值数量是基于寄存器读取的。
20.根据权利要求17所述的方法,进一步包括:
使用所述I2C电路接收用于在选择所述SPI电路或所述I2C电路中进行比较的负边缘的阈值数量的值。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2022/116784 | 2022-09-02 | ||
CN2022116784 | 2022-09-02 | ||
US17/961,977 US20240078209A1 (en) | 2022-09-02 | 2022-10-07 | Integrated circuit (ic) devices with efficient pin-sharing for multiprotocol communication interface |
US17/961,977 | 2022-10-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648279A true CN117648279A (zh) | 2024-03-05 |
Family
ID=90046628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311118143.8A Pending CN117648279A (zh) | 2022-09-02 | 2023-09-01 | 用于多协议通信接口的高效引脚共享集成电路(ic)器件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648279A (zh) |
-
2023
- 2023-09-01 CN CN202311118143.8A patent/CN117648279A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106487372B (zh) | 包括单线接口的装置和具有该装置的数据处理系统 | |
US9405718B2 (en) | Leveraging an enumeration and/or configuration mechanism of one interconnect protocol for a different interconnect protocol | |
US10140242B2 (en) | General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network | |
US9652020B2 (en) | Systems and methods for providing power savings and interference mitigation on physical transmission media | |
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
US20160077995A1 (en) | Variable frame length virtual gpio with a modified uart interface | |
US20120331194A1 (en) | Interface extender for portable electronic devices | |
US11334134B2 (en) | Integrated circuit | |
US10572437B2 (en) | Adaptive read technique for multi-drop bus | |
KR102101840B1 (ko) | 범용 직렬 인터페이스 및 이를 포함하는 반도체 장치 | |
US11321267B2 (en) | Safe peripheral device communications | |
US10127172B2 (en) | Single SDIO interface with multiple SDIO units | |
US20240078209A1 (en) | Integrated circuit (ic) devices with efficient pin-sharing for multiprotocol communication interface | |
US10977206B2 (en) | Data communication device and method for data communication | |
US8897705B2 (en) | Data transmitting system and data transmitting method | |
WO2024073267A1 (en) | Inter-integrated circuit (i2c) device with internal bus stuck recovery | |
EP3709129B1 (en) | Chip reset via communication interface terminals | |
US10511397B2 (en) | Virtual general purpose input/output (GPIO) (VGI) over a time division multiplex (TDM) bus | |
US9311261B2 (en) | Universal serial interface and semiconductor device including the same | |
CN117648279A (zh) | 用于多协议通信接口的高效引脚共享集成电路(ic)器件 | |
CN212229628U (zh) | 从机设备 | |
CN102902647B (zh) | 设置在i2c从机印刷电路板的asic芯片和印刷电路板 | |
CN113868158B (zh) | 一种片上系统及数据比较方法、装置、设备、计算机介质 | |
WO2024076866A1 (en) | Clock doubler with correction for output clock cycle and clock duty cycle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |