CN105474193A - 用于将来自外围设备的irq线的数量最小化到一条导线的方法 - Google Patents

用于将来自外围设备的irq线的数量最小化到一条导线的方法 Download PDF

Info

Publication number
CN105474193A
CN105474193A CN201480046538.4A CN201480046538A CN105474193A CN 105474193 A CN105474193 A CN 105474193A CN 201480046538 A CN201480046538 A CN 201480046538A CN 105474193 A CN105474193 A CN 105474193A
Authority
CN
China
Prior art keywords
equipment
irq
bus
group
signal
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
Application number
CN201480046538.4A
Other languages
English (en)
Inventor
S·森戈库
R·D·韦斯特费尔特
G·A·威利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105474193A publication Critical patent/CN105474193A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/001In-Line Device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/002Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

提供了耦合到共享的单线中断请求(IRQ)总线和控制数据总线的主设备。主设备将耦合到共享的单线IRQ总线的从设备编组成一个或多个群,其中每一群与不同IRQ信号相关联。主设备随后监视IRQ总线以查明IRQ信号何时被至少一个从设备断言。主设备随后标识IRQ信号所关联的群。所标识的群中的从设备随后被主设备扫描或查询,以查明哪一个从设备断言了IRQ总线上的IRQ信号。每一群使用可区分的IRQ信号以允许主设备查明要查询或扫描哪一群。

Description

用于将来自外围设备的IRQ线的数量最小化到一条导线的方法
相关申请的交叉引用
本专利申请要求2013年8月24日提交的题为“MethodToMinimizeTheNumberOfIRQLinesFromPeripheralsToOneWire(用于将来自外围设备的IRQ线的数量最小化到一条导线的方法)”的临时申请No.61/869,673以及2014年8月18日提交的题为“MethodToMinimizeTheNumberOfIRQLinesFromPeripheralsToOneWire(用于将来自外围设备的IRQ线的数量最小化到一条导线的方法)”的非临时申请No.14/462,363的优先权,它们被转让给本申请的受让人并且因此通过援引明确纳入于此。
技术领域
本公开涉及通过为所有从设备使用单个共享中断请求线来降低对每一个从设备的分开的中断请求线的需求。
背景
集成电路间串行总线(也可被称为I2C总线或I2C总线)是旨在用于将低速外围设备连接至处理器的串行单端计算机总线。I2C总线是多主控总线,其中每个设备可以针对I2C总线上传送的不同消息充当主设备和从设备。I2C总线可以仅使用两个双向开漏(open-drain)连接器(包括串行数据线(SDA)和串行时钟线(SCL))来传送数据。这些连接器通常包括由上拉电阻器终接的信号导线。
管控I2C总线操作的协议定义了基本类型的消息,其中每种消息始于START(开始)并结束于STOP(停止)。I2C总线使用7位寻址并且定义两种类型的节点。主节点是生成时钟并发起与从节点的通信的节点。从节点是接收时钟并在被主节点寻址时进行响应的节点。I2C总线是多主控总线,这意味着可存在任何数目的主节点。另外,主角色和从角色可以在消息之间(即,在STOP被发送之后)改变。
传统I2C系统为每一个从设备使用分开的中断请求(IRQ)线,这由于大量引脚而增加了主设备成本。这些IRQ线允许从设备请求主设备的关注和/或向主设备指示它希望何时通过数据总线进行通信。
因此,需要一种方式来降低从多个从设备进入主设备的IRQ线的数量。
概述
以下给出本公开的一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是本公开的所有构想到的特征的详尽综览,并且既非旨在标识出本公开的所有方面的关键性或决定性要素亦非试图界定本公开的任何或所有方面的范围。其唯一目的是以简化形式给出本公开的一个或多个方面的一些概念作为稍后给出的更详细描述之序言。
在各方面,一种在主设备上操作的方法,包括:将耦合到共享的单线IRQ总线的一个或多个从设备编组成一个或多个群;监视IRQ总线以查明IRQ信号何时被从设备中的一者断言;标识IRQ信号与其相关联的群;以及扫描所标识的群的从设备以查明断言了IRQ总线上的IRQ信号的断言方从设备。每一群可以与不同IRQ信号相关联。每一群包括至少一个从设备。
在一方面,扫描从设备包括扫描断言方从设备的IRQ状态寄存器。可向断言方从设备准予访问以通过控制数据总线传送数据。
在一方面,与每一群相关联的IRQ信号具有与关联于其他群的IRQ信号不同的脉宽。
在一方面,IRQ总线异步地操作。IRQ总线可专用于从从设备到主设备的单向信号传输。控制数据总线可以支持从设备与主设备之间的双向信令。
在各方面,一种主设备包括:到一个或多个从设备耦合到的单线IRQ总线的第一接口;到一个或多个从设备也耦合到的控制数据总线的第二接口;以及耦合到第一接口和第二接口的处理电路。该处理电路可被适配或配置成:将一个或多个从设备编组成一个或多个群,其中每一群与不同IRQ信号相关联。该处理电路可被适配成或配置成监视IRQ总线以查明IRQ信号何时被至少一个从设备断言。该处理电路可被适配成或配置成标识IRQ信号与其相关联的群。该处理电路可被适配成或配置成扫描所标识的群的从设备以标识断言了IRQ总线上的IRQ信号的断言方从设备。
在各方面,一种计算机可读存储介质包括用于以下操作的代码:将耦合到共享的单线IRQ总线的一个或多个从设备编组成一个或多个群;监视IRQ总线以查明IRQ信号何时被从设备中的一者断言;标识IRQ信号与其相关联的群;以及扫描所标识的群的从设备以查明断言了IRQ总线上的IRQ信号的断言方从设备。每一群可以与不同IRQ信号相关联。每一群包括至少一个从设备。
在各方面,一种在从设备上操作的方法,包括:获得来自主设备的群指派;监视IRQ总线以查明IRQ信号是否被另一从设备断言;以及在没有其他IRQ信号被断言在IRQ总线上时,在IRQ总线上断言第一IRQ信号。群指派可标识来自多个群中的一个群。每一群可以与不同IRQ信号相关联。每一群包括至少一个从设备。
在一方面,该方法包括:将第一IRQ信号从IRQ总线解除断言;监视IRQ总线以查明另一设备是否正在IRQ总线上断言第二IRQ信号。如果第二IRQ信号正被断言,则在第二IRQ信号被解除断言之后和/或在IRQ总线变得空闲之后,第一IRQ信号可被重新断言。
在一方面,该方法包括:经由控制数据总线从主设备接收状态寄存器查询;以及用从设备在IRQ总线上断言了IRQ信号的状态指示进行响应。
在一方面,IRQ总线作为异步总线来操作。IRQ总线可专用于从从设备到主设备的单向信号传输。控制数据总线可以是兼容相机控制接口的总线。控制数据总线可以是部署在从设备与主设备之间的双向总线。
在各方面,一种从设备包括:到主设备耦合到的单线IRQ总线的第一接口;到主设备也耦合到的控制数据总线的第二接口;以及耦合到第一接口和第二接口的处理电路。该处理电路可被适配或配置成:获得来自主设备的群指派;监视IRQ总线以查明IRQ信号是否被另一从设备断言;以及在没有其他IRQ信号被断言在IRQ总线上时,在IRQ总线上断言第一IRQ信号。群指派可标识来自多个群中的一个群。每一群可以与不同IRQ信号相关联。
在各方面,一种计算机可读存储介质包括用于以下操作的代码:获得来自主设备的群指派;监视IRQ总线以查明IRQ信号是否被另一从设备断言;以及在没有其他IRQ信号被断言在IRQ总线上时,在IRQ总线上断言第一IRQ信号。群指派可标识来自多个群中的一个群。每一群可以与不同IRQ信号相关联。每一群包括至少一个从设备。
附图简述
在结合附图理解下面阐述的详细描述时,各种特征、本质和优点会变得明显,在附图中,相像的附图标记贯穿始终作相应标识。
图1描绘了在各集成电路设备之间采用数据链路的装置,该数据链路根据多个可用标准之一来选择性地操作。
图2是解说具有基带处理器和图像传感器并且实现图像数据总线和控制数据总线的设备的框图。
图3是解说根据本文公开的一些方面的采用IC设备之间的数据链路的装置的简化系统架构的示图。
图4是解说根据本文公开的一些方面的单导线IRQ总线可如何由多个从设备和一个或多个主设备共享的框图。
图5解说根据本文公开的一些方面的可被指派或与不同群相关联的不同IRQ信号的示例。
图6解说根据本文公开的一些方面的由主设备监视IRQ信号并标识IRQ断言方从设备。
图7解说根据本文公开的一些方面的可避免共享的单线IRQ总线上的各IRQ的同时断言的第一技术。
图8解说根据本文公开的一些方面的可处置共享的单线IRQ总线上的各IRQ的同时断言的第二技术。
图9解说与最短IRQ信号长度相关联的定时。
图10是解说采用可根据本文所公开的某些方面来适配的处理电路的装置的示例的框图。
图11是根据本文公开的一些方面的用于在共享IRQ总线上断言IRQ的方法的第一示例的流程图。
图12是根据本文公开的一些方面的用于处置共享IRQ总线上的IRQ的方法的第一示例的流程图。
图13是根据本文公开的一些方面的用于扫描一群从设备以标识断言了共享IRQ总线上的IRQ的设备的方法的流程图。
图14是根据本文公开的一些方面的用于处置共享IRQ总线上的IRQ的方法的第二示例的流程图。
图15是解说适配成处置共享IRQ总线上的IRQ的装置的硬件实现的示例的示图。
图16是根据本文公开的一些方面的用于在共享IRQ总线上断言IRQ的方法的第二示例的流程图。
图17是解说适配成在共享IRQ总线上断言IRQ的装置的硬件实现的示例的示图。
详细描述
在以下描述中,给出了具体细节以提供对诸实施例的透彻理解。然而,本领域普通技术人员将理解,没有这些具体细节也可实践这些实施例。例如,电路可能用框图示出以免使这些实施例混淆在不必要的细节中。在其他实例中,公知的电路、结构和技术可能不被详细示出以免使这些实施例不明朗。
本文公开的一些实施例提供了可以改善使用串行总线的通信接口的性能的系统、方法和装置,该串行总线支持常规的I2C总线操作和使用公共I2C总线的增强型通信接口两者。在一个示例中,相机控制接口(CCI)可以基于I2C总线且可使用配置为连接主设备和一个或多个从设备的总线的双导线、双向、半双工、串行接口来部署。CCI操作可兼容I2C总线操作。根据一些方面,提供了使支持连接到I2C或CCI总线的多个外围设备所需的IRQ线的数量最小化的系统、装置和方法。在一些实例中,单IRQ线可处置来自连接到I2C或CCI总线的所有外围设备的中断请求。在本文公开的一个示例中,CCI扩展(CCIe)设备可以使用I2C总线来部署以提供可按比使用I2C或CCI操作模式所获得的数据率显著更大的数据率操作的双导线、双向、半双工、串行接口。在这后一示例中,单IRQ线可处置来自连接到该总线的I2C、CCI、或CCIe外围设备的中断请求。
总览
如本申请中所使用的,术语“组件”、“模块”、“系统”及类似术语旨在包括计算机相关实体,诸如但并不限于硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序和/或计算机。作为解说,在计算设备上运行的应用和该计算设备两者皆可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,且组件可以本地化在一台计算机上和/或分布在两台或更多台计算机之间。另外,这些组件能从其上存储着各种数据结构的各种计算机可读介质来执行。这些组件可藉由本地和/或远程进程来通信,诸如根据具有一个或多个数据分组的信号来通信,这样的数据分组诸如是来自藉由该信号与本地系统、分布式系统中另一组件交互的、和/或跨诸如因特网之类的网络与其他系统交互的一个组件的数据。
此外,术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X采用A或B”旨在表示任何自然的可兼排列。即,短语“X采用A或B”得到以下任何实例的满足:X采用A;X采用B;或X采用A和B两者。另外,本申请和所附权利要求书中所使用的冠词“一”和“某”一般应当被解释成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。
本发明的某些方面可适用于被部署在电子设备之间的通信链路,这些电子设备可包括装置(诸如电话、移动计算设备、电器、汽车电子设备、航空电子系统等)的子组件。图1描绘了可采用集成电路(IC)设备之间的通信链路的装置。在一个示例中,装置100可包括无线通信设备,该无线通信设备通过RF收发机与无线电接入网(RAN)、核心接入网、因特网和/或另一网络通信。装置100可包括可操作地耦合到处理电路102的通信收发机106。处理电路102可具有一个或多个IC设备,诸如专用IC(ASIC)108。ASIC108可包括一个或多个处理设备、逻辑电路等等。处理电路102可包括和/或耦合到处理器可读存储(诸如存储器112),该处理器可读存储112可维护可由处理电路102执行的指令和数据。处理电路102可由操作系统以及应用编程接口(API)110层中的一者或多者来控制,该API110层支持并允许执行驻留在存储介质(诸如无线设备的存储器设备112)中的软件模块。存储器设备112可包括只读存储器(ROM)或随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、闪存卡、或可以在处理系统和计算平台中使用的任何存储器设备。处理电路102可包括或访问本地数据库114,该本地数据库114可维护用于配置和操作该装置100的工作参数和其它信息。本地数据库114可使用数据库模块、闪存、磁介质、EEPROM、光学介质、磁带、软盘或硬盘等中的一者或多者来实现。处理电路也可以可操作地耦合至外部设备,诸如天线122、显示器124、操作者控件(诸如按钮128和/或按键板126)、以及其他组件。
解说用于减少IRQ线的方法的第一示例
图2是解说具有基带处理器204和图像传感器206的设备202的简化示例的框图200。图像数据总线216和多模控制数据总线208可以在设备202中实现。示图200仅作为示例解说了相机设备202,并且各种其他设备和/或不同功能性可以实现、操作、和/或使用控制数据总线208来通信。在所描绘的示例中,可以在图像数据总线216(诸如由MIPI定义的“DPHY”高速差分链路)上从图像传感器206向基带处理器204发送图像数据。在一个示例中,控制数据总线208可以具有能配置用于I2C总线模式中的操作的两条导线。相应地,控制数据总线208可以包括SCL和SDA导线。SCL可携带时钟信号,该时钟信号可被用于根据I2C协议来同步在控制数据总线208上的数据传输。数据线SDA和时钟线SCL可以耦合至I2C总线(控制数据总线208)上的多个设备212、214和218。在该示例中,可以经由控制数据总线208在基带处理器204与图像传感器206以及其他外围设备218之间交换控制数据。根据I2C协议,SCL导线上的时钟速度对于正常I2C操作可高达100KHz,对于I2C快速模式可高达400KHz,并且对于I2C快速模式+(Fm+)可高达1MHz。在用于相机应用时,I2C总线上的这些操作模式可被称为CCI模式。
在一些实例中,两个或更多个从设备214或218a可通过在相应的IRQ线220或222上断言预定义的逻辑电平来请求基带处理器204的关注。
解说适配成用于CCIe操作的设备的某些方面的示例
图3是解说可以采用通信总线(诸如CCIe总线330)的装置300的某些方面的示意性框图。装置300可以实施在无线移动设备、移动电话、移动计算系统、无线电话、笔记本计算机、平板计算设备、媒体播放器、游戏设备等中的一者或多者中。装置300可以包括使用CCIe总线330来通信的多个设备302、320和/或322a-322n。CCIe总线330可以为配置成用于CCIe总线330所支持的增强型特征的设备扩展常规CCI总线的能力。例如,CCIe总线330可以支持比CCI总线330高的比特率。根据本文公开的某些方面,CCIe总线330的一些版本可以被配置或适配成支持16.7Mbps或更大的比特率,并且CCIe总线的一些版本可以被配置或适配成支持每秒至少23兆比特的数据率。
在图3中解说的示例中,成像设备302被配置成作为CCIe总线330上的从设备来操作。成像设备302可被适配成提供例如管理图像传感器的传感器控制功能304。另外,成像设备302可包括配置寄存器306和/或其他存储设备324、处理电路和/或控制逻辑312、收发机310和线驱动器/接收器314a和314b。处理电路和/或控制逻辑312可包括处理器,诸如状态机、定序器、信号处理器或通用处理器。收发机310可包括接收机310a、发射机310c和某些共用电路310b,包括定时、逻辑和存储电路和/或设备。在一些实例中,收发机310可包括编码器和解码器、时钟和数据恢复电路和类似物。
发射时钟(TXCLK)信号328可被提供给发射机310c,其中TXCLK信号328可被用来确定用于CCIe通信模式的数据传输速率。当SDA导线318和SCL导线316两者被用于编码所传送的数据时,TXCLK信号328可被嵌入在CCIe总线330上传送的码元序列内。在一个示例中,TXCLK信号328可以使用转变时钟转码来嵌入,由此要在物理链路330上传送的数据被转码,以使得在CCIe总线330上传送的每一对连贯码元之间出现至少一根导线316和/或318的状态改变。
在本文公开的一个示例中,CCIe设备302、320和/或322a-322n可耦合到具有单导线的IRQ总线326。CCIe设备302、320和/或322a-322n可使用控制数据总线330的双导线316、318来通信。例如,双导线控制数据总线330可以支持可提供比I2C或CCI操作模式所支持的数据率显著更大的数据率的CCIe双向、半双工通信模式。CCIe设备302、320和/或322a-322n可以在控制数据总线330的SCL线316和SDA线318两者上传送数据,其中时钟信息嵌入在双导线控制数据总线330上传送的码元序列中。某些CCIe设备320可被配置为总线主设备,而某些设备302和/或322a-322n可被配置为从设备。CCIe设备302、320和/或322a-322n可以兼容耦合到控制数据总线330的I2C和/或CCI设备或者与其共存,以使得CCIe设备302、320和/或322a-322n可以使用CCIe协议和信令规范来与一个或多个其他CCIe设备302、320和/或322a-322n通信,甚至在I2C设备正在监视控制数据总线330时亦是如此。本文公开的一个示例提供了能够在CCIe和I2C/CCI设备两者均部署在同一总线上时用单个主设备320来处置耦合到总线的多个从设备302和/或322a-322n的接口。在后一示例中,两个或更多个CCIe设备302、320和/或322a-322n可以使用CCIe协议来通信,并且与I2C或CCI设备的任何通信事务根据I2C总线协议来进行。
解说公共IRQ总线的使用的示例
图4是解说其中一个或多个从设备410、412、414、418、418可通过在公共或共享的单线IRQ总线422上断言预定义的逻辑电平来请求总线主设备404的关注的示例的框图400。单线IRQ总线420可由多个从设备410、412、414、416、418共享,它们可包括I2C、CCI和/或CCIe设备。在所描绘的示例中,从设备410、412、414、416、418中的每一者可被适配成支持CCIe通信模式,且总线主设备404被适配成充当I2C、CCI和CCIe操作模式中的总线主设备。
根据一个方面,共享的单线IRQ总线422耦合到从设备410、412、414、416、418和主设备404。上拉电阻420可耦合到IRQ总线422的导线以在从设备410、412、414、416、418中没有一个断言中断请求时限定IRQ总线422的信令状态。在一个示例中,从设备410、412、414、416、418可以将IRQ总线422驱动成低,以中断或请求主设备404的中断。即,每一从设备410、412、414、416和418可通过驱动IRQ信号来独立地断言中断请求,以请求来自主设备404的关注。
公共、共享的单导线IRQ总线422可通过将从设备410、412、414、416、418中的每一者配置成提供对已断言中断请求的一个或多个从设备410、412、414、416和/或418的身份的指示来由多个从设备410、412、414、416、418共享。在一些实例中,从设备410、412、414、416、418中的两者或更多者可能竞争主设备404的关注,且对这些竞争的从设备410、412、414、416和/或418的身份的指示可被用来确定要准予对来自主设备404的关注的哪一个请求。在一个示例中,每一个从设备410、412、414、416、418可被配置成通过驱动IRQ总线422达具有与驱动IRQ总线422的设备410、412、414、416或418的身份相对应的长度的时间段来断言中断请求。在一些实例中,用来驱动IRQ总线422的脉冲的长度可以标识从设备410、412、414、416、418的包括竞争来自主设备404的关注的从设备410、412、414、416、418的群406、408。每一个从设备410、412、414、416或418可被配置成生成具有针对从设备410、412、414、416或418所属于的群406、408所定义和/或指派的宽度的脉冲。例如,第一群406中的从设备410和412可被配置成生成共享单导线IRQ总线422上的具有与第二群408中的从设备414和416所生成的脉冲的历时不同的历时的脉冲。每一群406和408包括至少一个从设备。
IRQ总线422的断言的历时可以确定请求方从设备410、412、414、416或418是否被准予主设备404的关注。在一个示例中,区分优先次序方案可以将较长脉宽指派给较高优先级从设备410、412、414、416、418且将较短脉宽指派给较低优先级从设备410、412、414、416、418。在操作中,第一从设备410、412、414、416或418可以通过在IRQ总线422上提供脉冲来断言中断请求。第二、较高优先级从设备410、412、414、416或418可以通过在IRQ总线422上提供具有比第一从设备410、412、414、416或418所提供的脉冲的宽度更长的宽度的脉冲来断言中断请求。在IRQ总线422已被断言时,主设备404可以使用IRQ总线422的断言的历时来标识包括断言方从设备410、412、414、416的最高优先级群406或408和/或断言IRQ总线422的最高优先级从设备410、412、414、416或418。主设备随后可使用控制数据总线402上的信令来扫描一个或多个从设备410、412、414、416、418上的被指派了在IRQ总线422上观察到的脉宽的IRQ状态寄存器。
在一些实例中,在第一从设备410、412、414、416或418所提供的脉冲的终止之后IRQ总线422继续被活跃地驱动时,第一从设备410、412、414、416或418可让步于第二从设备410、412、414、416或418,从而指示至少第二、较高优先级从设备410、412、414、416或418也正在通过用更长脉宽驱动IRQ总线422来请求主设备404的关注。在这样的情形下,第一从设备410、412、414、416或418可返回空闲或睡眠模式,直至竞争控制数据总线402的下一机会出现。
在一些实例中,单导线IRQ总线422可由从设备410、412、414、416、418和一个或多个主设备404共享。在该示例中,从设备410、412、414、416、418可在逻辑上编组在一起。例如,第一群406可包括第一多个从设备410和412,且第二群408可包括第二多个从设备414和416。这样的编组可以例如是预配置的、动态地定义的和/或由主设备404在初始化时通过枚举来定义。群406、408的使用可以准许主设备404更快速地标识通过驱动IRQ总线422来断言中断请求的一个或多个从设备410、412、414、416和/或418。
在一些实例中,单线IRQ总线可以异步地操作,而无需主设备404或另一设备的管理。在异步操作中,从设备410、412、414、416或418可在任何时间单方驱动IRQ总线422。在一些实例中,从设备410、412、414、416、418可以在断言中断请求之前确认IRQ总线422是空闲的(即,没有被另一设备驱动)。
在一些实例中,单线IRQ总线422可专用于从从设备410、412、414、416、418到主设备404的单向信号传输。即,IRQ总线422可被保留用于中断请求信令且其他类型的信号在IRQ总线422上不被支持。
从设备410、412、414、416的群406、408可被配置成使用不同的IRQ信号。在一个示例中,第一群406可以使用具有第一时段的第一信号,第二群408可以使用具有第二时段的第二信号,以此类推。在一些实例中,未与另一从设备编组在一起的从设备418可被当作一个设备的群来对待,且可被指派使用具有第三时段的第三信号。IRQ信号的时段可被定义为IRQ总线420被断言方从设备410、412、414、416或418所驱动(例如,拉低)的时长。其他形式的信号区分可被使用。例如,不同IRQ信号电压电平可被指派给从设备410、412、414、416的不同群406、408或未被指派到一个群或以其他方式被当作群的唯一成员来对待的从设备418。
在一些实例中,群406、408可以定义从设备410、412、414、416、418的逻辑群,以使得每一群406、408可包括至少一个从设备410、412、414、416、418。群406、408可包括多个从设备410、412、414、416、418。指派给每一群406、408的从设备410、412、414、416、418的数量可以基于诸如查询并标识群406、408中的每一个潜在的断言方从设备410、412、414、416、418的历时等因素来确定。例如,在主设备404查询耦合到IRQ总线422的所有从设备410、412、414、416、418时,可造成不可接受的长延迟。
标识断言方从设备410、412、414、416、418的时间可通过使用不同的IRQ信号来标识其中从设备410、412、414、416、418已断言IRQ的群406、408并随后查询所标识的群406、408中的每一成员从设备410、412、414、416、418来显著地减少。主设备404可以检测IRQ总线422的断言的发生,且主设备404可以确定断言的历时。基于所确定的IRQ断言的历时,主设备404可以标识与主设备404观察到的长度的历时相对应的群406、408。主设备404随后可查询群406、408中的每一个从设备410、412、414、416、418以标识哪一个从设备触发或断言了IRQ信号。在一个示例中,主设备404可以确定IRQ断言源自第一群406。主设备404可以通过控制数据总线402向第一从设备410或412传送请求或命令。主设备404可以例如传送寄存器状态请求。作为响应,第一从设备410或412可以向主设备404传送状态信息。如果状态信息指示第一从设备410或412不是IRQ请求的源,则主设备404可以通过控制数据总线402向第一群406中的第二从设备412或410传送寄存器状态请求。这一过程可针对第一群406中的所有从设备410、412重复,直至标识出断言了IRQ信号的从设备410、412。
图5是解说分别由不同群406、408、514所使用的IRQ信号502、504、506的定时的示例的时序图500。不同IRQ信号定时可被指派或关联于每一不同群406、408、514,和/或每一群406、408或514的成员从设备410、412、414、416、418的IRQ信号定时可以基于或导出自所指派或关联于对应群406、408、514的IRQ信号定时。每一群406、408、514可包括成员从设备410、412、414、416、418中的单独一个从设备或成员从设备410、412、414、416、418中的多个从设备。第一群406可以使用具有第一脉宽508的IRQ信号502,第二群408可以使用具有第二脉宽510的IRQ信号504,且第n群506可被配置成使用具有第三脉宽512的第三IRQ信号506。
图6解说从总线主设备404的观点来看的共享IRQ总线422的操作。该示例可适用于根据I2C、CCI和/或CCIe协议操作的控制数据总线402上的操作的定时612。总线主设备404可以监视IRQ总线422上的信号的定时602以确定中断请求是否已被断言。总线主设备404可以基于IRQ总线422上的脉冲608、610的历时604、606来标识断言中断请求的从设备。
在该示例中,从设备的群406、408可被配置成驱动IRQ总线422达预定义时段604、606。因此,总线主设备404可监视IRQ总线422以发现脉冲608、610,且可测量或计时任何检测到的脉冲608、610的历时604、606。在一个示例中,总线主设备404可包括在脉冲608、610的开始处检测到转变620、622之际发起的定时器或计数器。在脉冲608、610终止后的定时器或计数器值随后可与关联于每一群406、408的预定义历时进行比较。
在该示例中,在第一时段614期间、在接收到第一脉冲608之前,数据控制总线402可以是空闲的。在第一IRQ信号被断言在共享单线IRQ总线422上时,总线主设备404检测到IRQ总线已被拉低,并且确定脉冲的时段、宽度、或历时604。例如,总线主设备404可以在第一脉冲608终止之际确定第一脉冲608的历时604与来自设备的第一群406的成员的中断请求相一致。总线主设备404可以发起对设备的第一群406的成员的扫描616以确定它们的IRQ状态并标识第一群406中的哪一个或多个成员断言了IRQ请求608。在一个示例中,总线主设备404可以在控制数据总线402上向第一群406的每一成员传送导致每一请求的接收方用IRQ状态进行响应的命令和/或请求。总线主设备404可以与第一群406中的所标识出的中断方成员交换数据、控制以及其他信息。
第二中断请求脉冲610可以在第一中断请求脉冲608之后的某一点被接收。第二中断请求脉冲610可具有与从设备的第二群408相对应的历时606。在接收到第二中断请求脉冲610时,总线主设备404可检测、确定或计算脉宽、时段或历时606。总线主设备404随后可以发起对设备的第二群409的成员的扫描618以确定它们的IRQ状态并标识第二群408中的哪一个或多个成员断言了与第二脉冲610相对应的IRQ请求。
图7是解说根据本文公开的一些方面的用于避免同时的、重叠的、和/或冲突的中断请求的发生的方法的时序图。在一些实例中,避免可导致冲突或竞争的中断请求的重叠的IRQ脉冲的发生可能是合乎需要的。冲突的中断请求可通过将从设备配置成在断言中断请求之前监视IRQ总线422来避免。如果另一设备已经在共享的单线IRQ总线422上断言了中断请求708,则中断请求712可被推迟714。
在所描绘的示例中,第一脉冲704被来自设备的第一群406的从设备断言在IRQ总线422上。第二从设备可能希望在第一脉冲708的历时704期间断言中断请求。根据一个方面,第二从设备可延迟该中断请求在IRQ总线422上的断言。在时刻718,第二从设备可决定发起中断请求。在检查IRQ总线422时,第二从设备可确定脉冲708已被另一从设备断言在IRQ总线422上。相应地,第二设备可发起拖延或延迟时段712以允许IRQ总线422返回空闲状态。拖延时段712可具有预定义历时、包括最小退避时段和/或随机延迟的历时、或在IRQ总线422返回空闲状态之后的预定义时间终止的时段。第二从设备可被排除断言中断请求达最小时段710,在该最小时段期间IRQ总线422将是自由或空闲的。IRQ总线空闲时段710可以从IRQ总线422上的第一脉冲708终止且例如IRQ总线422返回逻辑高状态的时间点720来测量。下一中断请求716可以在最小总线空闲时间710期满之后被断言。在最小总线空闲时间710期满时,第二从设备可以通过在IRQ总线422上提供脉冲716来断言中断请求。在该示例中,第二从设备是从设备的第二群408的成员,且第二脉冲716的历时706可以不同于第一脉冲708的历时704。
图8是解说在I2C、CCI和/或CCIe接口支持同时的IRQ信号时可被采用的方案的操作的时序图800。同时的IRQ信号可能导致个体从设备之间和/或使用共享的单个IRQ总线422的不同群406、408中的从设备之间的竞争和/或冲突。IRQ总线422上的信号的定时在第一时序图802中示出,而第一和第二群406、408中的从设备的贡献分别在第二和第三时序图812、822中示出。在第二群408中的第二从设备断言第二IRQ脉冲824的同时或并发地,第一IRQ脉冲814由第一群406中的第一从设备断言。第二IRQ脉冲824可具有比第一脉冲806的历时更长的历时804。在第一脉冲814终止之后,第一从设备可因为IRQ总线422上第二脉冲824的一部分808的存在而认识到更高优先级设备已断言了中断请求。第一从设备可通过在第一脉冲814终止之后监视IRQ总线422来将IRQ总线422的这一状况808识别为有效冲撞、竞争或冲突。第一设备随后可确定第二从设备具有更高优先级且可推迟更新的请求,直至在第二脉冲824终止之后开始的IRQ总线空闲时段818之后。总线主设备404可检测第二脉冲824的历时并且处理设备的第二群408以标识和服务中断请求的源。总线主设备404可不知晓第一脉冲814。
第一从设备可通过在IRQ总线空闲时段818期满之后在IRQ总线422上提供第三脉冲826来重新发出其中断请求。
图9是解说与IRQ脉冲相关的定时容差的时序图900,其中该容差可以确定最小IRQ脉宽。在一些实例中,管控I2C、CCI和/或CCIe接口上的信令的协议可以定义低历时(tLOW)的最小值906以准许I2C、CCI和/或CCIe主设备404进行检测,但出于本描述的目的,可以假定该低时段可以不服从指定的最小值。时序图900解说了单个脉冲902。
在该示例时序图900中,用于检测“高”信令状态的最小阈值电压是开关电路电源电压(“VDD”)电平的70%且用于检测“低”信令状态的最大阈值电压是VDD电平的30%取决于接收机输入电平,接收机可以确定位于VDD电平的30%和70%之间的IRQ总线422的电压电平的高或低信令状态。最大下降-上升时间(TFRmax)904可被定义。TFRmax904的历时可以确定指派给从设备以用于断言中断请求的低时段(TLOW)910的历时。TLOW910的值可被选择以使主设备404能够区分来自不同从设备群的IRQ信号。从主设备404的观点来看,在以下情况下可在IRQ总线422上观察到低状况:
TRFmax<TLOW
为了区分从设备的各群406、408,不同的TLOW单位可被指派为群406、408的IRQ脉宽。在一个示例中,第一群406可被指派TLOW的IRQ脉宽,而第二群408可被指派2xTLOW的IRQ脉宽。在该示例中,总线主设备404观察到的低时段可如下计算:
第一群406:TLOW-TFR<tLOW<TLOW+TFR
第二群406:2TLOW-TFR<tLOW<2TLOW+TFR.
注意,在第一从设备将IRQ信号断言为低之后,第二从设备可能没有检测到IRQ信号为低达将TFRmax延伸到tLOWmin的时段,tLOWmin的历时必然至少为TFRmax。因此,TLOW>3TFRmax,且tLOWmin>2TFRmax。因此,tLOW906的最小值可如下计算:
涉及公共IRQ总线的装置、系统和方法的示例
图10是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路1002的装置的硬件实现的简化示例的概念图1000。根据本公开的各种方面,可使用处理电路1002来实现本文所公开的用于使用公共IRQ总线来管理或发起中断的元件、或元件的任何部分、或元件的任何组合。处理电路1002可包括一个或多个处理器1004,其由硬件和软件模块的某种组合来控制。处理器1004的示例包括:微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器1004可包括执行特定功能并且可由软件模块1016之一来配置、增强或控制的专用处理器。例如,该处理电路可被配置为适配成处置对数据的编码和解码以供在一个或多个无线网络上传输的通信处理器或另一类型的处理器。一个或多个处理器1004可通过在初始化期间加载的一个或多个软件模块1016的组合来配置,且可通过在操作期间加载或卸载软件模块1016中的一者或多者来进一步配置。
在所解说的示例中,处理电路1002可使用由总线1010一般化地表示的总线架构来实现。取决于处理电路1002的具体应用和整体设计约束,总线1010可包括任何数目的互连总线和桥接器。总线1010将各种电路链接在一起,包括一个或多个处理器1004、和存储1006。存储1006可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质。总线1010还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口1008可提供总线1010与一个或多个收发机或线接口电路1012之间的接口。线接口电路1012可包括被用于通过可包括多导线串行总线的传输介质来与各种其他装置通信的差分线驱动器和接收机、CDR、编码器和解码器。取决于该装置的本质,也可提供用户接口1018(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口可直接或通过总线接口1008通信地耦合至总线1010。
处理器1004可负责管理总线1010和/或一般处理,包括对存储在计算机可读介质(其可包括存储1006)中的软件的执行。在这一方面,处理电路1002(包括处理器1004)可被用来实现本文所公开的方法、功能和技术中的任一种。存储1006可被用于存储处理器1004在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路1002中的一个或多个处理器1004可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储1006中或驻留在外部计算机可读介质中。计算机可读介质和/或存储1006可以是非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存存储器设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储1006还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储1006可驻留在处理电路1002中、处理器1004中、在处理电路1002外部、或跨包括该处理电路1002在内的多个实体分布。计算机可读介质和/或存储1006可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
存储1006可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块1016。软件模块1016中的每一个可包括在安装或加载到处理电路1002上并被一个或多个处理器1004执行时有助于运行时映像1014的指令和数据,运行时映像1014控制一个或多个处理器1004的操作。在被执行时,某些指令可使得处理电路1002执行根据本文所描述的某些方法、算法和过程的功能。
软件模块1016中的一些可在处理电路1002初始化期间被加载,并且这些软件模块1016可配置处理电路1002以实现本文所公开的各种功能的执行。例如,一些软件模块1016可配置处理器1004的内部设备和/或逻辑电路1022,并且可管理对外部设备(诸如,线接口电路1012、总线接口1008、用户接口1018、定时器、数学协处理器等)的访问。软件模块1016可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路1002提供的各种资源的访问。这些资源可包括存储器、处理时间、对线接口1012的访问、用户接口1018等。
处理电路1004的一个或多个处理器1002可以是多功能的,由此软件模块1016中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器1004可附加地被适配成管理响应于来自例如用户接口1018、线接口电路1012和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器1004可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器1004服务的任务集。在一个示例中,多任务环境可使用分时程序1020来实现,分时程序1020在不同任务之间传递对处理器1004的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器1004的控制权返回给分时程序1020。当任务具有对一个或多个处理器1004的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序1020可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器1004的控制权的功能、和/或通过将对一个或多个处理器1004的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图11是解说根据本文公开的一些方面的用于在共享IRQ总线上断言IRQ的方法的第一示例的流程图1100。该方法可以由例如从设备来实现。从设备可以确定在控制数据总线上进行通信的需求,且可发起该方法以通过共享的IRQ总线来向主设备传达中断请求。在框1102,从设备可以查明另一设备是否在共享的IRQ总线上发信号。例如,在另一设备正在发信号通知IRQ时,IRQ总线可以处于逻辑低状态。如果IRQ总线为低(IRQN=0),则从设备可在框1114等待,直至IRQ总线变高。在从设备在框1102确定IRQ总线处于表示逻辑高的信令状态时,从设备可以在框1104通过将IRQ总线驱动为低来断言它的IRQ信号。在框1106,从设备随后可等待预定义IRQ信号时段。IRQ信号时段可具有标识从设备和/或从设备的群的历时。在一个示例中,IRQ信号时段可以按最小低时间(TLOW)的单位来定义。在预定义IRQ信号时段已流逝之后,在框1108,从设备可以将其IRQ信号解除断言。在一些实例中,在框1110,从设备可在另一预定义时段(TFRmax)之后监视IRQ总线。从设备可以在框1112监视IRQ总线以查明IRQ总线是否保持在表示逻辑低的信令状态中(即,IRQN=0)。如果IRQ总线的信令状态保持在逻辑低,则另一从设备可能已断言了它的IRQ信号且该从设备可重复该过程以在框1102处开始重新发出其IRQ信号。如果IRQ总线的信令状态已返回逻辑高信令状态,则该过程结束且从设备可预期来自总线主设备的命令或请求。
图12是解说根据本文公开的一些方面的用于处置共享IRQ总线上的IRQ的方法的第一示例的流程图1200。该方法可以由例如主设备来实现。主设备可以查明包括已在共享的单线IRQ总线上断言了IRQ信号的从设备的设备群的身份。在框1202,主设备可以查明IRQ信号是否已在共享的单线IRQ总线上被断言。IRQ信号可以通过例如将共享的单线IRQ总线驱动为低而被断言。在共享的单线IRQ总线已被断言时,在框1204,主设备可以复位计数器。在框1206,主设备随后可递增计数器,同时在框1208检查IRQ总线是否仍然被断言。这一计数器准许主设备查明IRQ信号的长度/时段(例如,脉宽)。一旦IRQ总线被解除断言,主设备就可在框1210基于IRQ信号长度/时段来选择从设备所属于的群。主设备可继续监视共享的单线IRQ总线以发现进一步的中断请求。主设备可另外在框1212发起对该群中的从设备的扫描和/或查询(诸如例如在图13中所示),以标识断言方从设备。群IRQ扫描1212可以独立地执行,以使得主设备可在执行群IRQ扫描1212的同时继续监视共享的单线IRQ总线以发现进一步的中断请求。在一些实例中,主设备可使用其他特性(包括例如电压电平)来区分IRQ信号。
图13是解说用于在共享的单线IRQ总线上断言IRQ信号之后执行群IRQ扫描以标识从设备的方法的示例的流程图1300。该方法可以执行图12中解说的框1212中所标识的功能。群IRQ扫描可包括在框1302、1304、1306、1308查询群中的每一个从设备以检测其相应的状态寄存器。对查询的响应可以使主设备能够查明群中的哪一个从设备断言了IRQ信号。一旦被标识,主设备就可向断言方从设备准予对控制数据总线的使用。
图14是解说根据本文公开的一些方面的用于处置共享IRQ总线上的IRQ的方法的第二示例的流程图1400。该方法可涉及对通过可由多个从设备共享的单线IRQ总线传达的中断请求的处理。单线IRQ总线可异步地操作。单线IRQ总线可专用于从从设备到主设备的单向信号传输。该方法可由适配成充当I2C、CCI或CCIe总线上的主设备的设备的处理电路来执行。
在框1402,主设备可以将耦合到共享的单线IRQ总线的从设备编组成一个或多个群。每一群可以与不同IRQ信号相关联。与每一群相关联的IRQ信号可具有与关联于其他群的其他IRQ信号不同的脉宽。
在框1404,主设备可以监视IRQ总线以查明IRQ信号何时被从设备中的一者或多者断言。
在框1406,主设备可以标识IRQ信号与其相关联的群。
在框1408,主设备可以扫描所标识的群中的从设备以确定或查明在IRQ总线上断言了IRQ信号的断言方从设备。扫描所标识的从设备群中的从设备可包括扫描从设备的IRQ状态寄存器。在断言方从设备的IRQ状态寄存器已被扫描之后,断言方从设备可接收来自主设备的进一步关注。在一个示例中,主设备可以向断言方从设备准予访问以在控制数据总线上传送数据。
在一个方面,主设备可以支持到单线IRQ总线的第一接口和到一个或多个从设备也耦合到的控制数据总线的第二接口。控制数据总线可以支持从设备与主设备之间的双向信令。多个群中的至少一者可包括至少两个从设备。
图15是解说采用处理电路1502的装置1500的硬件实现的示例的概念图。在该示例中,处理电路1502可被实现成具有由总线1516一般化地表示的总线架构。取决于处理电路1502的具体应用和整体设计约束,总线1516可包括任何数目的互连总线和桥接器。总线1516将包括一个或多个处理器(由处理器1512一般化地表示)和计算机可读介质(由处理器可读存储介质1514一般化地表示)的各种电路链接在一起。一个或多个定时器可连接到总线和/或可以是可直接访问的或实施在处理器1512中。总线1516还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。线接口电路1512可包括将处理电路1502耦合到控制数据总线的差分驱动器和接收机和/或将处理电路耦合至IRQ总线的电路。取决于该装置的性质,用户接口可被提供以支持诸如小键盘、显示器、扬声器、话筒、操纵杆等设备。
处理器1512负责管理总线1516和一般处理,包括对存储在处理器可读存储介质1514上的软件的执行。该软件在由处理器1512执行时使处理电路1502执行上文针对任何特定装置描述的各种功能。处理器可读存储介质1514还可被用于存储由处理器1512在执行软件时操纵的数据。处理器可读存储介质1514还可被用于存储与一个或多个远程管理的设备以及装置1500本身相关的系统信息(例如,简档)。
在一种配置中,处理电路1502可以执行适配成作为I2C、CCI和/或CCIe总线上的总线主设备来通信的设备的一个或多个功能。处理电路1502可通过接口电路1518中的第一者连接到一个或多个从设备耦合到的单线IRQ总线1522,并通过接口端口1518中的第二者连接到一个或多个从设备也耦合到的控制数据总线1520。处理电路1502可包括配置成将从设备编组成一个或多个群的模块或电路1510,配置成监视IRQ总线以查明IRQ信号何时被至少一个从设备断言的模块或电路1504,配置成标识IRQ信号与其相关联的群的模块或电路1506,配置成扫描所标识的群中的从设备以查明断言了IRQ总线上的IRQ信号的断言方从设备的模块或电路1508。每一群可以与不同IRQ信号相关联。在一个示例中,IRQ信号可以通过IRQ信号上的脉冲的历时来区分。
图16是解说根据本文公开的一些方面的用于在共享IRQ总线上断言IRQ的方法的第二示例的流程图1600。根据本文公开的一些方面,该方法可涉及或促成通过由多个从设备共享的单线IRQ总线来请求中断。单线IRQ总线可异步地操作。单线IRQ总线可专用于从从设备到主设备的单向信号传输。该方法可由适配成充当I2C、CCI或CCIe总线上的从设备的设备的处理电路来执行。
在框1602,从设备可获得来自主设备的群指派。群指派可标识来自多个群中的一个群。每一群可以与不同IRQ信号相关联。每一群包括至少一个从设备。
在框1604,从设备可以监视IRQ总线以查明IRQ信号何时被其他从设备中的一者断言。
在框1606,当没有其他IRQ信号被断言在IRQ总线上时,从设备可在IRQ总线上断言IRQ信号。
在一方面,从设备可以将IRQ信号从IRQ总线解除断言,并监视IRQ总线以查明是否另一设备正在IRQ总线上断言信号。如果该另一设备正在断言信号,则从设备可以在IRQ总线变得空闲之后重新断言IRQ信号。
在一方面,从设备可以经由控制数据总线从主设备接收状态寄存器查询,并用从设备在IRQ总线上断言了IRQ信号的状态指示来作出响应。
在一方面,从设备可耦合到控制数据总线。控制数据总线可兼容I2C、CCI和/或CCIe协议和/或信令。控制数据总线可以按从设备与主设备之间的双向方式来操作。
图17是解说采用适配成在共享IRQ总线上断言IRQ的处理电路1702的装置1700的硬件实现的示例的概念图。在该示例中,处理电路1702可被实现成具有由总线1716一般化地表示的总线架构。取决于处理电路1702的具体应用和整体设计约束,总线1716可包括任何数目的互连总线和桥接器。总线1716将包括一个或多个处理器(由处理器1712一般化地表示)和计算机可读介质(由处理器可读存储介质1714一般化地表示)的各种电路链接在一起。一个或多个定时器可连接到总线和/或可以是可直接访问的或实施在处理器1712中。总线1716还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。线接口电路1712可包括将处理电路1702耦合到控制数据总线的差分驱动器和接收机和/或将处理电路耦合至IRQ总线的电路。取决于该装置的性质,用户接口可被提供以支持诸如小键盘、显示器、扬声器、话筒、操纵杆等的设备。
处理器1712负责管理总线1716和一般处理,包括对存储在处理器可读存储介质1714上的软件的执行。该软件在由处理器1712执行时使处理电路1702执行上文针对任何特定装置描述的各种功能。处理器可读存储介质1714还可被用于存储由处理器1712在执行软件时操纵的数据。处理器可读存储介质1714还可被用于存储与一个或多个远程管理的设备以及装置1700本身相关的系统信息(例如,简档)。
在一种配置中,处理电路1702可以执行适配成作为I2C、CCI和/或CCIe总线1720上的总线从设备来通信的设备的一个或多个功能。处理电路1702可通过接口电路1718中的第一者连接到总线主设备和一个或多个从设备耦合到的单线IRQ总线1722,并通过接口端口1718中的第二者连接到总线主设备和一个或多个从设备也耦合到的控制数据总线1720。处理电路1702可包括配置成获得来自主设备的群指派的模块或电路1704,配置成监视IRQ总线以查明IRQ信号何时被其他从设备之一断言的模块或电路1706,配置成当没有其他IRQ信号被断言在IRQ总线上时在IRQ总线上断言IRQ信号的模块或电路1708。群指派可标识来自多个群中的一个群。每一群可以与不同IRQ信号相关联。
应该理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应该理解,可以重新编排这些方法中各步骤的具体次序或阶层。所附方法权利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶层,除非在本文中有特别叙述。
提供之前的描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的各方面,而是应被授予与权利要求的语言相一致的全部范围,其中对要素的单数形式的引述并非旨在表示“有且仅有一个”——除非特别如此声明,而是旨在表示“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:a;b;c;a和b;a和c;b和c;以及a、b和c。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。权利要求的任何要素都不应当在35U.S.C.§112第六款的规定下来解释,除非该要素是使用措辞“用于……的装置”来明确叙述的或者在方法权利要求情形中该要素是使用措辞“用于……的步骤”来叙述的。

Claims (30)

1.一种主设备,包括:
到一个或多个从设备耦合到的单线中断请求(IRQ)总线的第一接口;
到所述一个或多个从设备也耦合到的控制数据总线的第二接口;以及
耦合到所述第一接口和所述第二接口的处理电路,所述处理电路被适配成:
将所述一个或多个从设备编组成一个或多个群,其中每一群与不同IRQ信号相关联;
监视所述IRQ总线以查明IRQ信号何时被至少一个从设备断言;
标识所述IRQ信号与其相关联的群;以及
扫描所标识的群中的从设备以查明在所述IRQ总线上断言了所述IRQ信号的断言方从设备。
2.如权利要求1所述的设备,其特征在于,所述处理电路还被适配成:
向所述断言方从设备准予访问以通过所述控制数据总线来传送数据。
3.如权利要求1所述的设备,其特征在于,与每一群相关联的IRQ信号具有与关联于其他群的IRQ信号不同的脉宽。
4.如权利要求1所述的设备,其特征在于,所述单线IRQ总线是异步总线。
5.如权利要求1所述的设备,其特征在于,所述单线IRQ总线专用于从所述从设备到所述主设备的单向信号传输。
6.如权利要求1所述的设备,其特征在于,所述控制数据总线包括集成电路间(I2C)串行总线、相机控制接口(CCI)串行总线、或CCI扩展(CCIe)串行总线。
7.如权利要求1所述的设备,其特征在于,所述控制数据总线支持所述从设备与所述主设备之间的双向信令。
8.一种在主设备上操作的方法,包括:
将耦合到共享的单线中断请求(IRQ)总线的从设备编组成一个或多个群,其中每一群与不同IRQ信号相关联;
监视所述IRQ总线以查明IRQ信号何时被所述从设备中的一者或多者断言;
标识所述IRQ信号与其相关联的群;以及
扫描所标识的群中的至少一个从设备以查明在所述IRQ总线上断言了所述IRQ信号的断言方从设备。
9.如权利要求8所述的方法,其特征在于,扫描所述至少一个从设备包括:
扫描所述断言方从设备的IRQ状态寄存器。
10.如权利要求8所述的方法,其特征在于,进一步包括:
向所述断言方从设备准予访问以通过控制数据总线来传送数据。
11.如权利要求10所述的方法,其特征在于,所述控制数据总线支持所述从设备与所述主设备之间的双向信令。
12.如权利要求8所述的方法,其特征在于,与每一群相关联的IRQ信号具有与关联于其他群的其他IRQ信号不同的脉宽。
13.如权利要求8所述的方法,其特征在于,所述IRQ总线异步地操作。
14.如权利要求8所述的方法,其特征在于,所述IRQ总线专用于从所述从设备到所述主设备的单向信号传输。
15.如权利要求8所述的方法,其特征在于,所述一个或多个群中的每一个群包括至少一个从设备。
16.一种从设备,包括:
到主设备耦合到的单线中断请求(IRQ)总线的第一接口;
到所述主设备也耦合到的控制数据总线的第二接口;以及
耦合到所述第一接口和所述第二接口的处理电路,所述处理电路被适配成:
获得来自主设备的群指派,其中所述群指派标识来自多个群中的一个群,每一群与不同IRQ信号相关联;
监视所述IRQ总线以查明IRQ信号是否被另一从设备断言;以及
在所述IRQ总线上没有其他IRQ信号被断言时,在所述IRQ总线上断言第一IRQ信号。
17.如权利要求16所述的从设备,其特征在于,所述IRQ总线专用于从一个或多个从设备到所述主设备的单向信号传输。
18.如权利要求16所述的从设备,其特征在于,所述控制数据支持一个或多个从设备与所述主设备之间的双向通信。
19.如权利要求16所述的从设备,其特征在于,所述控制数据总线包括集成电路间(I2C)串行总线、相机控制接口(CCI)串行总线、或CCI扩展(CCIe)串行总线。
20.如权利要求16所述的从设备,其特征在于,所述多个群中的每一个群包括至少一个从设备。
21.如权利要求16所述的从设备,其特征在于,所述处理电路还被适配成:
将所述第一IRQ信号从所述IRQ总线解除断言;
监视所述IRQ总线以确定第二IRQ信号是否被另一从设备断言在所述IRQ总线上;以及
如果所述第二IRQ信号被断言在所述IRQ总线上则重新断言所述第一IRQ信号,其中所述第一IRQ信号在所述IRQ总线变得空闲之后被重新断言。
22.如权利要求16所述的从设备,其特征在于,所述处理电路还被适配成:
经由所述控制数据总线从所述主设备接收状态寄存器查询;以及
用所述从设备在所述IRQ总线上断言了所述第一IRQ信号的状态指示进行响应。
23.一种在从设备上操作的方法,包括:
获得来自主设备的群指派,其中所述群指派标识来自多个群中的一个群,每一群与不同中断请求(IRQ)信号相关联;
监视单线IRQ总线以查明IRQ信号是否被其他从设备之一断言;以及
在所述IRQ总线上没有其他IRQ信号被断言时,在所述IRQ总线上断言第一IRQ信号。
24.如权利要求23所述的方法,其特征在于,所述IRQ总线是异步总线。
25.如权利要求23所述的方法,其特征在于,所述IRQ总线专用于从从设备到所述主设备的单向信号传输。
26.如权利要求23所述的方法,其特征在于,所述多个群中的每一个群包括至少一个从设备。
27.如权利要求23所述的方法,其特征在于,进一步包括:
将所述第一IRQ信号从所述IRQ总线解除断言;
监视所述IRQ总线以查明另一设备是否正在所述IRQ总线上断言第二IRQ信号;以及
如果所述另一设备正在断言所述第二IRQ信号则重新断言所述第一IRQ信号,其中所述第一IRQ信号是在所述第二IRQ信号被解除断言之后被重新断言的。
28.如权利要求23所述的方法,其特征在于,进一步包括:
经由控制数据总线从所述主设备接收状态寄存器查询;以及
用所述从设备在所述IRQ总线上断言了所述第一IRQ信号的状态指示进行响应。
29.如权利要求28所述的方法,其特征在于,控制数据总线是兼容CCIe的总线。
30.如权利要求28所述的方法,其特征在于,控制数据总线是所述从设备与所述主设备之间的双向总线。
CN201480046538.4A 2013-08-24 2014-08-19 用于将来自外围设备的irq线的数量最小化到一条导线的方法 Pending CN105474193A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361869673P 2013-08-24 2013-08-24
US61/869,673 2013-08-24
US14/462,363 US9921981B2 (en) 2013-08-24 2014-08-18 Method to minimize the number of IRQ lines from peripherals to one wire
US14/462,363 2014-08-18
PCT/US2014/051758 WO2015031115A1 (en) 2013-08-24 2014-08-19 Method to minimize the number of irq lines from peripherals to one wire

Publications (1)

Publication Number Publication Date
CN105474193A true CN105474193A (zh) 2016-04-06

Family

ID=52481419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480046538.4A Pending CN105474193A (zh) 2013-08-24 2014-08-19 用于将来自外围设备的irq线的数量最小化到一条导线的方法

Country Status (9)

Country Link
US (1) US9921981B2 (zh)
EP (1) EP3036647B1 (zh)
JP (1) JP2016532967A (zh)
KR (1) KR20160047484A (zh)
CN (1) CN105474193A (zh)
CA (1) CA2918503A1 (zh)
ES (1) ES2647147T3 (zh)
HU (1) HUE033685T2 (zh)
WO (1) WO2015031115A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112639753A (zh) * 2018-08-30 2021-04-09 高通股份有限公司 聚合带内中断

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519603B2 (en) * 2013-09-09 2016-12-13 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
DE102014014379B3 (de) * 2014-10-02 2015-08-20 Micronas Gmbh Verfahren für eine deterministische Auswahl eines Sensors aus einer Vielzahl von Sensoren
US20180107987A1 (en) * 2016-10-14 2018-04-19 Microsoft Technology Licensing, Llc Meeting service with meeting time and location optimization
KR20180124340A (ko) * 2017-05-11 2018-11-21 엘에스산전 주식회사 프로그래머블 논리 제어 장치
JP6939240B2 (ja) 2017-08-17 2021-09-22 富士フイルムビジネスイノベーション株式会社 情報処理装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144295A (en) * 1989-09-14 1992-09-01 Matsushita Electric Works, Ltd. Interruption processing system in time division multiplex transmission system
US5530875A (en) * 1993-04-29 1996-06-25 Fujitsu Limited Grouping of interrupt sources for efficiency on the fly
WO1998055936A1 (en) * 1997-06-06 1998-12-10 Timeplex, Inc. Method and apparatus for tdm interrupt transmissions between multiple devices and a processor
US20020116563A1 (en) * 2000-12-12 2002-08-22 Lever Paul D. Apparatus and method to reduce interrupt latency in shared interrupt systems
US20040098523A1 (en) * 2002-08-22 2004-05-20 International Business Machines Corp. Disk drive arrangement, enclosure, adapter and method
CN1551004A (zh) * 2000-05-29 2004-12-01 ������������ʽ���� 中断信号生成装置和中断信号的生成方法
US7089338B1 (en) * 2002-07-17 2006-08-08 Cypress Semiconductor Corp. Method and apparatus for interrupt signaling in a communication network
CN102047235A (zh) * 2008-04-01 2011-05-04 京瓷公司 用于通信总线的双向单导线中断线路

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6046748B2 (ja) * 1977-02-21 1985-10-17 株式会社日立製作所 コンピユ−タの割込処理方式
US4332011A (en) * 1980-03-17 1982-05-25 Cambridge Telecommunications, Inc. Data processing arrangement including multiple groups of I/O devices with priority between groups and within each group
JPS58198994A (ja) * 1982-05-15 1983-11-19 Matsushita Electric Works Ltd 時分割多重遠隔制御システムの割込処理方式
JPH07117935B2 (ja) * 1985-01-31 1995-12-18 株式会社東芝 割込み検出方式
US5555420A (en) 1990-12-21 1996-09-10 Intel Corporation Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
US5321818A (en) 1992-05-12 1994-06-14 Hughes Aircraft Company System for arbitrating for access on VME bus structures
JPH07302203A (ja) * 1994-05-10 1995-11-14 Matsushita Electric Ind Co Ltd 割込制御装置
US5943500A (en) * 1996-07-19 1999-08-24 Compaq Computer Corporation Long latency interrupt handling and input/output write posting
JPH11232210A (ja) * 1998-02-16 1999-08-27 Fuji Xerox Co Ltd 情報処理装置
US6065073A (en) * 1998-08-17 2000-05-16 Jato Technologies, Inc. Auto-polling unit for interrupt generation in a network interface device
US6263395B1 (en) * 1999-01-06 2001-07-17 Compaq Computer Corp. System and method for serial interrupt scanning
JP2000231539A (ja) * 1999-02-12 2000-08-22 Ricoh Co Ltd データ転送システムおよびデータ転送方法
US6704823B1 (en) * 2000-07-20 2004-03-09 International Business Machines Corporation Method and apparatus for dynamic allocation of interrupt lines through interrupt sharing
US7200700B2 (en) 2005-05-19 2007-04-03 Inventec Corporation Shared-IRQ user defined interrupt signal handling method and system
DE102008059204B9 (de) 2008-11-27 2011-05-05 Infineon Technologies Ag Verfahren zum Suchen eines Slave-Knotens in einem Kommunikationsnetz, Master-Knoten und Slave-Knoten für ein Kommunikationsnetz
US8489786B2 (en) * 2009-11-09 2013-07-16 Stmicroelectronics International N.V. Acknowledgement management technique for supported command set of SMBUS/PMBUS slave applications
US8775707B2 (en) 2010-12-02 2014-07-08 Blackberry Limited Single wire bus system
US8725916B2 (en) * 2012-01-07 2014-05-13 Microsoft Corporation Host side implementation for HID I2C data bus
US20150095537A1 (en) * 2013-10-02 2015-04-02 Qualcomm Incorporated Camera control interface sleep and wake up signaling
US9519603B2 (en) * 2013-09-09 2016-12-13 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US9690725B2 (en) * 2014-01-14 2017-06-27 Qualcomm Incorporated Camera control interface extension with in-band interrupt
US10353837B2 (en) * 2013-09-09 2019-07-16 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US9892077B2 (en) * 2013-10-07 2018-02-13 Qualcomm Incorporated Camera control interface slave device to slave device communication
CN105612507A (zh) * 2013-10-08 2016-05-25 高通股份有限公司 I2c从动设备与相机控制接口扩展设备在共享控制数据总线上的共存
US9684624B2 (en) * 2014-01-14 2017-06-20 Qualcomm Incorporated Receive clock calibration for a serial bus
US9904637B2 (en) * 2014-11-26 2018-02-27 Qualcomm Incorporated In-band interrupt time stamp

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144295A (en) * 1989-09-14 1992-09-01 Matsushita Electric Works, Ltd. Interruption processing system in time division multiplex transmission system
US5530875A (en) * 1993-04-29 1996-06-25 Fujitsu Limited Grouping of interrupt sources for efficiency on the fly
WO1998055936A1 (en) * 1997-06-06 1998-12-10 Timeplex, Inc. Method and apparatus for tdm interrupt transmissions between multiple devices and a processor
CN1551004A (zh) * 2000-05-29 2004-12-01 ������������ʽ���� 中断信号生成装置和中断信号的生成方法
US20020116563A1 (en) * 2000-12-12 2002-08-22 Lever Paul D. Apparatus and method to reduce interrupt latency in shared interrupt systems
US7089338B1 (en) * 2002-07-17 2006-08-08 Cypress Semiconductor Corp. Method and apparatus for interrupt signaling in a communication network
US20040098523A1 (en) * 2002-08-22 2004-05-20 International Business Machines Corp. Disk drive arrangement, enclosure, adapter and method
CN102047235A (zh) * 2008-04-01 2011-05-04 京瓷公司 用于通信总线的双向单导线中断线路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112639753A (zh) * 2018-08-30 2021-04-09 高通股份有限公司 聚合带内中断

Also Published As

Publication number Publication date
ES2647147T3 (es) 2017-12-19
HUE033685T2 (en) 2017-12-28
EP3036647B1 (en) 2017-09-20
CA2918503A1 (en) 2015-03-05
US9921981B2 (en) 2018-03-20
EP3036647A1 (en) 2016-06-29
JP2016532967A (ja) 2016-10-20
KR20160047484A (ko) 2016-05-02
US20150058507A1 (en) 2015-02-26
WO2015031115A1 (en) 2015-03-05

Similar Documents

Publication Publication Date Title
US10289582B2 (en) Enhanced serial peripheral interface
CN105474193A (zh) 用于将来自外围设备的irq线的数量最小化到一条导线的方法
JP6974686B2 (ja) Usb電力搬送ソーシングデバイスのための省電力モード
CN105283862B (zh) 用于数据通信的方法和装置
US10339093B2 (en) USB interface using repeaters with guest protocol support
CN105683936B (zh) 具有多个从设备标识符的相机控制从设备
CN106415518A (zh) 具有带内中断的相机控制接口扩展
US20170083468A1 (en) Identifying multiple identical devices on a shared bus
CN107209743A (zh) 串行总线的接收时钟校准
KR20160147842A (ko) 센서 글로벌 버스
TWI822849B (zh) 混合模式射頻前端介面
JP2017520053A (ja) マルチプロトコルデバイスによって共有される動的調整可能なマルチラインバス
US7774511B2 (en) Addressing multiple devices on a shared bus
CN106063198A (zh) 总线系统的用户站和改善总线系统中的发送质量的方法
CN103460201A (zh) 串行接口
WO2016126874A1 (en) Voltage mode and current mode device enumeration
TW201923606A (zh) 針對多執行環境之i3c頻帶內中斷
TWI516942B (zh) 分配位址至互連上之裝置
WO2017117396A1 (en) Modular communication framework
CN104133792A (zh) 精简串行总线通信方法及系统
US10789193B2 (en) Device connected to other device by single wire and method of operating system including the devices
EP2802179B1 (en) Concurrent activation and data exchange with multiple NFC-A devices
CN105763519A (zh) 一种一致性控制方法,装置及系统
CN116304234A (zh) 数据的匹配方法、处理方法、装置、电子设备和存储介质
KR101065801B1 (ko) 직렬통신 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20190903