CN108370338A - 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 - Google Patents

用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 Download PDF

Info

Publication number
CN108370338A
CN108370338A CN201680071695.XA CN201680071695A CN108370338A CN 108370338 A CN108370338 A CN 108370338A CN 201680071695 A CN201680071695 A CN 201680071695A CN 108370338 A CN108370338 A CN 108370338A
Authority
CN
China
Prior art keywords
packet
communication link
agreement
transmitting
command code
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
CN201680071695.XA
Other languages
English (en)
Inventor
L·J·米什拉
R·皮提果-艾伦
R·D·韦斯特费尔特
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 CN108370338A publication Critical patent/CN108370338A/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling 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
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

用于在串行通信链路上传达虚拟化通用输入/输出(GPIO)信号的系统、方法和装置。一种在耦合至通信链路的传送方设备处执行的方法包括:将虚拟GPIO信号或消息编码成数据分组,确定用于在通信链路上传送该数据分组的最大等待时间要求,提供指示将用于在通信链路上传送该数据分组的分组类型的命令码报头,以及在通信链路上在被选择成满足最大等待时间要求的分组中传送该命令码报头和该数据分组。可基于最大等待时间要求以及可供在通信链路上使用的协议的一个或多个属性来确定用于传送该数据分组的协议。在一个示例中,该通信链路包括串行总线并且可用协议包括I2C、I3C、和/或RFFE协议。

Description

用于消息接发和输入/输出传递接口的最优等待时间分组化 器有限状态机
相关申请的交叉引用
本申请要求于2015年12月10日向美国专利商标局提交的临时申请No.62/265,599以及于2016年11月10日向美国专利商标局提交的非临时申请No.15/348,353的优先权及权益,以上申请的全部内容通过援引纳入于此。
技术领域
本公开一般涉及串行通信和输入/输出引脚配置,并且尤其涉及优化针对串行消息接发和输入/输出引脚配置的最优等待时间来配置的有限状态机。
背景技术
移动通信设备可包括各种各样的组件,包括电路板、集成电路(IC)设备和/或片上系统(SoC)设备。各组件可包括通过串行总线进行通信的处理设备、用户接口组件、存储和其他外围组件。业内已知的通用串行接口包括集成电路间(I2C或I2C)串行总线及其衍生物和替换物,其包括由移动行业处理器接口(MIPI)联盟定义的接口,诸如I3C和射频前端(RFFE)接口。
在一个示例中,I2C串行总线是旨在用于将低速外围设备连接至处理器的串行单端计算机总线。一些接口提供多主控总线,其中两个或更多个设备可用作在串行总线上传送的不同消息的总线主控。在另一示例中,RFFE接口定义了用于控制各种射频(RF)前端设备(包括功率放大器(PA)、低噪声放大器(LNA)、天线调谐器、滤波器、传感器、功率管理设备、开关等)的通信接口。这些设备可共处于单个IC设备中或者设在多个IC设备中。在移动通信设备中,多个天线和无线电收发机可支持多个并发RF链路。
在许多实例中,采用数个命令和控制信号来连接移动通信设备中的不同组件设备。这些连接消耗移动通信设备内宝贵的通用输入/输出(GPIO)引脚,并且用在现有串行数据链路上传送的信息中携带的信号来代替物理互连将是合乎期望的。然而,串行数据链路与可阻止将物理命令和控制信号转换成虚拟信号的等待时间相关联,尤其是在移动通信设备所支持的定义严格传输时限的实时嵌入式系统应用中。
随着移动通信设备持续包括更高级的功能性,需要改进的串行通信技术来支持外围设备与应用处理器之间的低等待时间传输。
概述
本公开的某些方面涉及可提供不同设备之间的经优化低等待时间通信以使得GPIO信号可作为虚拟信号被携带的系统、装置、方法和技术。提供了虚拟GPIO有限状态机(VGI FSM),其可优化虚拟GPIO信号以及用于GPIO引脚的相应配置参数的传输等待时间。在一些示例中,VGI FSM可确定将用于传送虚拟GPIO信号的分组类型。在一些示例中,VGI FSM可确定将用于传送虚拟GPIO信号的协议。
在本公开的各种方面,一种在传送方设备处执行的方法包括:将虚拟GPIO信号或消息编码成将在通信链路上传送的数据分组,确定用于在通信链路上传送该数据分组的最大等待时间要求,提供指示将用于在通信链路上传送该数据分组的分组类型的命令码报头,以及在该通信链路上在具有由该命令码报头所指示的类型的分组中将该命令码报头和数据分组传送给至少一个外围设备。虚拟GPIO信号可表示与物理GPIO连接器相关的状态信息。该分组类型可被选择以满足最大等待时间要求。
在某些方面,该通信链路包括串行总线,并且该方法可包括基于最大等待时间要求以及可供在串行总线上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议。该方法可包括配置命令码报头以指示将用于传送该数据分组的协议。可供在串行总线上使用的多种协议可包括I2C协议、I3C协议、或RFFE协议。
在一个方面,该方法可包括基于最大等待时间要求以及与通信链路相关联的多种操作模式的一个或多个属性来确定将在传送该数据分组时使用的该通信链路的操作模式。该方法可包括配置命令码报头以向物理层电路指示将用于传送该数据分组的操作模式。
在某些方面,该通信链路包括无线通信链路,并且该方法可包括基于最大等待时间要求以及可供在无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议。该方法可包括配置命令码报头以指示将用于传送该数据分组的协议。该多种协议可包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
在一些方面,该数据分组包括与至少一个外围设备中的GPIO引脚的配置参数相对应的虚拟GPIO信号。这些配置参数可包括转换速率参数或驱动强度参数。
在本公开的各种方面,一种装置包括:物理层电路,其被适配成将该装置耦合至通信链路;分组化器,其被配置成将消息或虚拟GPIO信号编码在将在通信链路上传送的数据分组中;以及有限状态机。该有限状态机可被配置成:确定用于在通信链路上传送该数据分组的最大等待时间要求;以及向该分组化器提供命令码,该命令码指示将用于在通信链路上传送该数据分组的分组类型。该分组类型可被选择以满足最大等待时间要求。该分组化器可被配置成将包括该数据分组和命令码的分组提供给物理层电路。该物理层电路可被配置成在通信链路上将该分组传送给至少一个外围设备。
在某些方面,该通信链路包括串行总线,并且该有限状态机可被配置成:基于最大等待时间要求以及可供在该串行总线上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议;以及配置该命令码以指示将用于传送该分组的协议。该多种协议可包括I2C协议、I3C协议、或RFFE协议。
在一个方面,该有限状态机可被配置成基于最大等待时间要求以及与该通信链路相关联的多种操作模式的一个或多个属性来确定将在传送该数据分组时使用的该通信链路的操作模式。该有限状态机可被适配成配置命令码报头以向物理层电路指示将用于传送该数据分组的操作模式。
在一些方面,该通信链路包括无线通信链路,并且该有限状态机可被配置成基于最大等待时间要求以及可供在无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议。该有限状态机可被适配成配置命令码报头以指示将用于传送该数据分组的协议。该多种协议可包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
在某些方面,该数据分组包括与至少一个外围设备中的GPIO引脚的配置参数相对应的虚拟GPIO信号。这些配置参数可包括转换速率参数和/或驱动强度参数。
在各种方面,一种装备包括:用于将虚拟GPIO信号或消息编码成将在通信链路上传送的数据分组的装置;用于确定用于在通信链路上传送该数据分组的最大等待时间要求的装置;用于提供指示将用于在通信链路上传送该数据分组的分组类型的命令码报头的装置。该分组类型可被选择以满足最大等待时间要求。该装备可包括用于在通信链路上在具有由该命令码报头所指示的类型的分组中将该命令码报头和数据分组传送给至少一个外围设备的装置。虚拟GPIO信号可表示与物理GPIO连接器相关的状态信息。
在某些方面,该通信链路包括串行总线,并且该用于确定最大等待时间要求的装置可被配置成:基于最大等待时间要求以及可供在串行总线上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议,并且配置命令码报头以指示将用于传送该数据分组的协议。可供在串行总线上使用的多种协议可包括I2C协议、I3C协议、或RFFE协议。
在一些方面,该用于确定最大等待时间要求的装置被配置成:基于最大等待时间要求以及与通信链路相关联的多种操作模式的一个或多个属性来确定将在传送该数据分组时使用的该通信链路的操作模式;以及配置该命令码报头以向物理层电路指示将用于传送该数据分组的操作模式。
在某些方面,该通信链路包括无线通信链路,并且该用于确定最大等待时间要求的装置可被配置成:基于最大等待时间要求以及可供在无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议,并且配置命令码报头以指示将用于传送该数据分组的协议。该多种协议可包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
在本公开的各种方面,公开了一种处理器可读存储介质。该存储介质可以是非瞬态存储介质并且可存储代码,该代码在由一个或多个处理器执行时使该一个或多个处理器:将虚拟GPIO信号或消息编码成将在通信链路上传送的数据分组,确定用于在通信链路上传送该数据分组的最大等待时间要求,提供指示将用于在通信链路上传送该数据分组的分组类型的命令码报头,以及在通信链路上在具有由该命令码报头所指示的类型的分组中将该命令码报头和数据分组传送给至少一个外围设备。虚拟GPIO信号可表示与物理GPIO连接器相关的状态信息。该分组类型可被选择以满足最大等待时间要求。
在某些方面,该通信链路包括串行总线,并且这些指令可使处理电路:基于最大等待时间要求以及可供在串行总线上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议,并且配置命令码报头以指示将用于传送该数据分组的协议。可供在串行总线上使用的多种协议可包括I2C协议、I3C协议、或射频前端协议。
在一些方面,这些指令可使处理电路:基于最大等待时间要求以及与通信链路相关联的多种操作模式的一个或多个属性来确定将在传送该数据分组时使用的该通信链路的操作模式;以及配置该命令码报头以向物理层电路指示将用于传送该数据分组的操作模式。
在某些方面,该通信链路包括无线通信链路,并且这些指令可使处理电路:基于最大等待时间要求以及可供在无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议,并且配置命令码报头以指示将用于传送该数据分组的协议。该多种协议可包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
附图简述
图1解说了在各IC设备之间采用数据链路的装置,该数据链路根据多个可用标准之一来选择性地操作。
图2解说了在IC设备之间采用数据链路的装置的系统架构。
图3解说了采用RFFE总线来耦合各种射频前端设备的装置。
图4解说了根据本文所公开的某些方面采用I3C总线来耦合各种前端设备的装置。
图5解说了包括可根据本文所公开的某些方面来适配的应用处理器和多个外围设备的装置。
图6解说了根据本文所公开的某些方面的已被适配成支持虚拟GPIO的装置。
图7解说了根据本文所公开的某些方面的VGI广播帧的示例。
图8解说了根据本文所公开的某些方面的VGI定向帧的示例。
图9解说了根据本文所公开的某些方面的可与物理引脚相关联的配置寄存器。
图10解说了根据本文所公开的某些方面的可支持装置中的虚拟GPIO的有限状态机的某些方面。
图11解说了采用可根据本文所公开的某些方面适配的处理电路的装置的一个示例。
图12是解说根据本文所公开的某些方面被适配成使从动设备获得多个动态地址的应用处理器的某些操作的流程图。
图13解说了根据本文所公开的某些方面被适配成对多个动态地址作出响应的装置的硬件实现的第一示例。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文所述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
现在将参照各种装置和方法给出本发明的若干方面。这些装置和方法将在以下详细描述中进行描述并在附图中由各种框、模块、组件、电路、步骤、过程、算法等(统称为“元素”)来解说。这些元素可使用电子硬件、计算机软件或其任何组合来实现。此类元素是实现成硬件还是软件取决于具体应用和加诸于整体系统上的设计约束。
概览
包括多个SoC的设备和其他IC设备常常采用串行总线来将处理器与调制解调器和其他外围设备连接。该串行总线可以根据多种协议来操作。在一个示例中,该串行总线可根据I2C、I3C、和/或RFFE协议来操作。根据本文所公开的某些方面,GPIO引脚和信号可被虚拟化成可在串行通信链路上传送的GPIO状态信息。虚拟化GPIO状态信息可在各种通信链路上传送,包括有线的链路以及包含无线通信链路的链路。例如,虚拟化GPIO状态信息可被分组化或以其他方式被格式化以在无线网络(包括蓝牙、无线LAN、蜂窝网络等)上进行传输。本文描述了涉及有线通信链路的示例以促成对某些方面的理解。这些方面总是适用于其中GPIO状态信息的传输包括无线网络上的传输的实现。
可使用数种不同的协议方案来在串行通信链路上传达消息接发和数据。现有协议具有定义好且不可变的结构,因为它们的结构不能被改变以基于使用情形中的变动和/或与其他协议、设备和应用的共存来优化传输等待时间。实时嵌入式系统要求必须满足某些最终期限。在某些实时应用中,满足传输最终期限是最为重要的。当共用总线支持不同协议时,一般难以或不可能在所有使用情形下都保证最优等待时间。在一些示例中,I2C、I3C或RFFE串行通信总线可被用于隧穿具有不同等待时间要求、不同数据传输量和/或不同传输调度的不同协议。
根据本发明的某些方面,在数据源(例如协议单元)与物理层电路之间提供的智能块可在所有使用情形下都保证最优等待时间。智能有限状态机从多个源接收有效载荷。有效载荷可根据不同协议并针对在特定类型的物理层电路上进行传输来配置。有限状态机可选择用于有效载荷的命令码,其中所选择的命令码对应于与该有效载荷相关联的源和/或物理层电路。有限状态机可按照由与每个有效载荷的源和/或有效载荷的内容相关联的优先级所确定的次序来区分用于在共享总线上传输的有效载荷的优先级。对于每个有效载荷,有限状态机生成具有命令码报头和串行化通用输入/输出(GPIO)状态数据的传输分组,该GPIO状态数据表示与对应于该有效载荷的物理层电路相关联的通信接口上的物理信令。
基于使用情形,有限状态机执行等待时间估计以确定将用于要传递的信息(数据、消息接发、GPIO状态数据)的最优协议。接收机可基于由有限状态机从预定义且双方商定的命令码池中选择的唯一性命令码来确定有效载荷中携带哪种协议。命令码可以是基于由等待时间估计块所生成的命令码索引来选择的。所选择的命令码连同有效载荷一起可随后被发送给分组化器块。等待时间估计块和分组化器块可在硬件中实现,尽管在一些示例中也可以使用硬件与软件的某种组合。
采用串行数据链路的装置的示例
根据某些方面,串行数据链路可被用于互连作为装置的子组件的电子设备,该装置诸如是蜂窝电话、智能电话、会话发起协议(SIP)电话、膝上型设备、笔记本、上网本、智能本、个人数字助理(PDA)、卫星无线电、全球定位系统(GPS)设备、智能家用设备、智能照明设备、多媒体设备、视频设备、数字音频播放器(例如,MP3播放器)、相机、游戏控制台、娱乐设备、车载组件、可穿戴计算设备(例如,智能手表、健康或健身跟踪器、眼镜等)、电器、传感器、安全设备、自动售货机、智能电表、遥控飞机、多旋翼直升机、或任何其他类似的功能设备。
图1解说了可采用数据通信总线的装置100的示例。装置100可包括SoC、具有可在一个或多个ASIC中或在SoC中实现的多个电路或设备104、106和/或108的处理电路102。在一个示例中,装置100可以是通信设备,并且处理电路102可包括在ASIC 104中提供的处理设备,一个或多个外围设备106,以及使该装置能够通过天线124与无线电接入网、核心接入网、因特网和/或另一网络通信的收发机108。
ASIC 104可具有一个或多个处理器112、一个或多个调制解调器110、板载存储器114、总线接口电路116和/或其他逻辑电路或功能。处理电路102可以由可提供应用编程接口(API)层的操作系统来控制,该API层使得一个或多个处理器112能够执行驻留在板载存储器114或在处理电路102上提供的其他处理器可读存储122中的软件模块。软件模块可包括存储在板载存储器114或处理器可读存储122中的指令和数据。ASIC 104可以访问其板载存储器114、处理器可读存储122、和/或在处理电路102外部的存储。板载存储器114、处理器可读存储122可包括只读存储器(ROM)或随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、闪存卡、或可以在处理系统和计算平台中使用的任何存储器设备。处理电路102可包括、实现或能够访问本地数据库或其他参数存储,该本地数据库或其他参数存储可维护用于配置和操作装置100和/或处理电路102的工作参数和其他信息。本地数据库可使用寄存器、数据库模块、闪存、磁介质、EEPROM、软盘或硬盘等来实现。处理电路102也可以可操作地耦合至外部设备,诸如天线124、显示器126、操作者控件(诸如开关或按钮128、130和/或集成或外部按键板132)、以及其他组件。用户接口模块可被配置成通过专用通信链路或通过一个或多个串行数据互连与显示器126、按键板132等一起操作。
处理电路102可以提供使得某些设备104、106和/或108能够进行通信的一条或多条总线118a、118b、120。在一个示例中,ASIC 104可包括总线接口电路116,其包括电路、计数器、定时器、控制逻辑、和其他可配置电路或模块的组合。在一个示例中,总线接口电路116可被配置成根据通信规范或协议来操作。处理电路102可包括或控制配置并管理装置100的操作的功率管理功能。
图2解说了包括连接至串行总线230的多个设备202、220和222a-222n的装置200的某些方面。设备202、220和222a-222n可包括一个或多个半导体IC设备,诸如应用处理器、SoC或ASIC。设备202、220和222a-222n中的每一者可包括、支持或用作调制解调器、信号处理设备、显示器驱动器、相机、用户接口、传感器、传感器控制器、媒体播放器、收发机、和/或其他此类组件或设备。设备202、220和222a-222n之间在串行总线230上的通信由总线主控设备220来控制。某些类型的总线可支持多个总线主控设备220。
装置200可包括在串行总线230根据I2C、I3C或其他协议来操作时进行通信的多个设备202、220和222a-222n。至少一个设备202、222a-222n可被配置成作为串行总线230上的从动设备来操作。在一个示例中,从动设备202可被适配成提供控制功能204。在一些示例中,控制功能204可包括支持显示器、图像传感器的电路和模块、和/或控制测量环境状况的一个或多个传感器并与之通信的电路和模块。从动设备202可包括配置寄存器206或其他存储224、控制逻辑212、收发机210和线驱动器/接收机214a和214b。控制逻辑212可包括处理电路,诸如状态机、定序器、信号处理器或通用处理器。收发机210可包括接收机210a、发射机210c和共用电路210b(包括定时、逻辑和存储电路和/或设备)。在一个示例中,发射机210c基于由时钟生成电路208所提供的一个或多个信号228中的定时来编码和传送数据。
设备202、220和/或222a-222n中的两个或更多个设备可根据本文所公开的某些方面和特征被适配成支持共用总线上的多种不同的通信协议,这些通信协议可包括I2C和/或I3C协议。在一些实例中,使用I2C协议来通信的设备可与使用I3C协议来通信的设备共存于相同的2线接口上。在一个示例中,I3C协议可支持提供6兆比特每秒(Mbps)到16Mbps之间的数据率的操作模式,其中一个或多个可任选的高数据率(HDR)操作模式提供更高性能。I2C协议可遵循提供范围可在100千比特每秒(kbps)到3.2Mbps之间的数据率的实际I2C标准。I2C和I3C协议可定义在2线串行总线230上传送的信号的电气和定时方面,加上数据格式和总线控制方面。在一些方面,I2C和I3C协议可定义影响与串行总线230相关联的某些信号电平的直流(DC)特性,和/或影响在串行总线230上传送的信号的某些定时方面的交流(AC)特性。在一些示例中,2线串行总线230在第一导线218上传送数据并在第二导线216上传送时钟信号。在一些实例中,数据可被编码在第一导线218和第二导线216的信令状态、或信令状态转变中。
图3是解说采用RFFE总线308来耦合各种前端设备312-317的设备302的示例的框图300。调制解调器304可包括RFFE接口310,其将调制解调器304耦合至RFFE总线308。调制解调器304可与基带处理器306通信。所解说的设备302可以实施在以下一者或多者中:移动通信设备、移动电话、移动计算系统、移动电话、笔记本计算机、平板计算设备、媒体播放器、游戏设备、可穿戴计算和/或通信设备、电器等。在各种示例中,设备302可实现成具有一个或多个基带处理器306、调制解调器304、多个通信链路308、320、以及各种其他总线、设备、和/或不同功能性。在图3中解说的示例中,RFFE总线308可耦合至RF集成电路(RFIC)312,其可包括配置并控制RF前端的某些方面的一个或多个控制器和/或处理器。RFFE总线308可将RFIC 312耦合至开关313、RF调谐器314、功率放大器(PA)315、低噪声放大器(LNA)316、以及功率管理模块317。
图4解说了使用I3C总线来耦合各种设备(包括主机SoC 402和数个外围设备412)的装置400的示例。主机SoC 402可包括虚拟GPIO有限状态机(VGI FSM 406)和I3C接口404,其中I3C接口404与外围设备412中的相应I3C接口414协作以提供主机SoC 402与外围设备412之间的通信链路。每个外围设备412包括VGI FSM 416。在所解说的示例中,SoC 402与外围设备412之间的通信可被串行化并根据I3C协议在多线串行总线410上传送。在其他示例中,主机SoC 402可包括其他类型的接口(包括I2C和/或RFFE接口)。在其他示例中,主机SoC402可包括可配置接口,其可被用于使用I2C、I3C、RFFE和/或另一合适的协议来通信。在一些示例中,多线串行总线410(诸如I2C或I3C总线)可在数据导线418上传送数据信号并在时钟导线420上传送时钟信号。
发信令通知虚拟GPIO配置信息
移动通信设备以及与移动通信设备相关或相连接的其他设备日益增加地提供更强的能力、性能和功能性。在许多实例中,移动通信设备纳入了使用各种通信链路来连接的多个IC设备。图5解说了包括应用处理器502和多个外围设备504、506、508的装置500。在该示例中,每个外围设备504、506、508在根据相互不同的协议来操作的相应通信链路510、512、514上与应用处理器502通信。应用处理器502与每个外围设备504、506、508之间的通信可涉及附加导线,这些附加导线在应用处理器502与外围设备504、506、508之间携带控制或命令信号。这些附加导线可被称为边带通用输入/输出(边带GPIO520、522、524),并且在一些实例中,边带GPIO 520、522、524所需的连接数目可超过用于通信链路510、512、514的连接数目。
GPIO提供了可针对特定应用来定制的通用引脚/连接。例如,GPIO引脚可以是可编程的以根据应用需要而用作输出、输入引脚或双向引脚。在一个示例中,应用处理器502可指派和/或配置数个GPIO引脚以传导与外围设备504、506、508(诸如调制解调器)的握手信令或处理器间通信(IPC)。当使用握手信令时,边带信令可以是对称的,其中信令由应用处理器502和外围设备504、506、508传送和接收。随着设备复杂度增加,用于IPC通信的增加的GPIO引脚数目会显著地提高制造成本并且限制GPIO对其他系统级外围接口的可用性。
图6解说了根据本文所公开的某些方面的适配成支持虚拟GPIO(VGI或VGMI)的装置600。VGI电路和技术可减少用于连接应用处理器602与外围设备624的物理引脚和连接的数目。VGI使得多个GPIO信号能被串行化成可在通信链路622上传送的虚拟GPIO信号。在一个示例中,虚拟GPIO信号可被编码在包括多线总线(包括串行总线)的通信链路622上传送的分组中。在作为串行总线来提供通信链路622时,接收方外围设备624可解串所接收到的分组并且可提取消息和虚拟GPIO信号。外围设备624中的VGI FSM 626可将虚拟GPIO信号转换成可在内部GPIO接口处呈现的物理GPIO信号。
在另一示例中,通信链路622可由射频收发机来提供,该射频收发机支持使用例如蓝牙协议、无线局域网(WLAN)协议、蜂窝广域网、和/或另一无线通信协议的无线通信。当通信链路622包括无线连接时,消息和虚拟GPIO信号可被编码在可在通信链路622上传送的分组、帧、子帧、或其他结构中,并且接收方外围设备624可提取、解串并以其他方式处理所接收到的信令以获得消息和虚拟GPIO信号。在接收到消息和/或虚拟GPIO信号之际,接收方设备的VGI FSM 626或另一组件可中断其主机处理器以指示接收到消息和/或GPIO信号的任何改变
在其中作为串行总线来提供通信链路622的示例中,消息和/或虚拟GPIO信号可在针对I2C、I3C、RFFE或另一标准化串行接口所配置的分组中传送。在所解说的示例中,采用VGI技术来容适应用处理器602与外围设备624之间的I/O桥接。应用处理器602可被实现为ASIC、SoC或某种设备组合。应用处理器602包括生成与一个或多个通信信道606相关联的消息和GPIO的处理器(中央处理单元或CPU 604)。由通信信道606产生的GPIO信号和消息可由VGI FSM 626中的相应监视电路612、614来监视。在一些示例中,GPIO监视电路612可被适配成产生代表物理GPIO信号的状态和/或物理GPIO信号的状态变化的虚拟GPIO信号。在一些示例中,提供其他电路以产生代表物理GPIO信号的状态和/或物理GPIO信号的状态变化的虚拟GPIO信号。
估计电路618可被配置成估计GPIO信号和消息的等待时间信息,并且可为通信链路622选择优化用于编码和传送GPIO信号和消息的等待时间的协议和/或通信模式。估计电路618可维护表征通信链路622的某些方面的协议和模式信息616以供在选择协议和/或通信模式时考虑。估计电路618可被进一步配置成选择用于编码和传送GPIO信号和消息的分组类型。估计电路618可提供由分组化器620用于编码GPIO信号和消息的配置信息。在一个示例中,该配置信息作为可被封装在分组中的命令来提供,以使得能在接收机处确定分组类型。该配置信息(其可以是命令)还可被提供给物理层电路(PHY 608)。PHY608可使用该配置信息来选择用于传送相关联分组的协议和/或通信模式。PHY608随后可生成恰适的信令以传送该分组。
外围设备624可包括VGI FSM 626,其可被配置成处理从通信链路622接收到的数据分组。外围设备624处的VGI FSM 626可提取消息并且可将虚拟GPIO信号中的比特位置映射到外围设备624中的物理GPIO引脚上。在某些实施例中,通信链路622是双向的,并且应用处理器602和外围设备624两者可作为发射机和接收机两者来操作。
应用处理器602中的PHY 608和外围设备624中的相应PHY 628可被配置成建立和操作通信链路622。PHY 608和628可耦合至或包括支持无线通信的无线收发机108(参见图1)。在一些示例中,PHY 608和628可分别支持应用处理器602和外围设备624处的双线接口(诸如I2C、I3C、RFFE或SMBus接口),并且虚拟GPIO和消息可被封装成在通信链路622(其可以是多线串行总线)上传送的分组。
根据本文所描述的某些方面的VGI隧穿可使用配置成用于操作通信链路622且没有整套物理GPIO引脚的现有或可用协议来实现。VGI FSM 610、626可在没有应用处理器602和/或外围设备624中的处理器的干预的情况下处置GPIO信令。使用VGI可以减少与通信链路622相关联的引脚数量、功耗、以及等待时间。
在接收方设备处,虚拟GPIO信号被转换成物理GPIO信号。可使用虚拟GPIO信号来配置物理GPIO引脚的某些特性。例如,可使用虚拟GPIO信号来配置物理GPIO引脚的转换速率、极性、驱动强度、以及其他相关参数和属性。用于配置物理GPIO引脚的配置参数可被存储在与相应GPIO引脚相关联的配置寄存器中。这些配置参数可使用专用或常规协议(I2C、I3C或RFFE)来定址。在一个示例中,配置参数可被维持在I3C可寻址寄存器中。本文所公开的某些方面涉及减少与传送配置参数和对应地址(例如,用于存储配置参数的寄存器的地址)相关联的等待时间。
VGI接口使得能传送消息和虚拟GPIO,由此虚拟GPIO、消息、或这两者可在有线或无线通信链路622上的串行数据流中发送。在一个示例中,串行数据流可在分组中和/或作为事务序列在I2C、I3C或RFFE总线上传送。在一些示例中,可使用特殊命令码来发信令通知在I2C和/或I3C帧中存在虚拟GPIO数据以将该帧标识为VGPIO帧。VGPIO帧可根据I2C或I3C协议作为广播帧或定址帧来传送。在一些实现中,串行数据流可按照与通用异步接收机/发射机(UART)信令协议相似的形式来传送,这可被称为VGI_UART操作模式。
图7解说了VGI广播帧700、720的某些示例。在第一示例中,广播帧700始于开始比特702(S)、继之以根据I2C或I3C协议的报头704。VGI广播帧可使用VGI广播共用命令码706来标识。VGPIO数据有效载荷708包括数个(n个)虚拟GPIO信号7120-712n-1,其范围从第一虚拟GPIO信号7120到第n虚拟GPIO信号712n-1。VGI FSM可包括映射表,该映射表将VGPIO数据有效载荷708中的虚拟GPIO信号的比特位置映射到常规GPIO引脚。VGPIO数据有效载荷708中的信令的虚拟本质对于传送方和接收方设备中的处理器而言可以是透明的。
在第二示例中,主机设备可传送经掩蔽VGI广播帧720以改变一个或多个GPIO引脚的状态而不扰乱其他GPIO引脚的状态。在该示例中,一个或多个设备的I/O信号被掩蔽,而目标设备中的I/O信号不被掩蔽。经掩蔽VGI广播帧720始于开始比特722、继之以报头724。经掩蔽VGI广播帧720可使用经掩蔽VGI广播共用命令码726来标识。VGPIO数据有效载荷728可包括I/O信号值7340-734n-1以及对应的掩码比特7320-732n-1,其范围从用于第一I/O信号(IO0)的第一掩码比特M0 7320到用于第n个I/O信号IOn-1的第n掩码比特Mn-1 732n-1
停止比特或同步比特(Sr/P 710、730)终止广播帧700、720。同步比特可被传送以指示附加的VGPIO有效载荷将被传送。在一个示例中,同步比特可以是I2C接口中的重复开始比特。
图8解说了VGI定向帧800、820的某些示例。在第一示例中,VGI定向帧800可被定址到单个外围设备,或者在一些实例中定址到外围设备群。VGI定向帧800中的第一帧始于开始比特802(S)、继之以根据I2C或I3C协议的报头804。VGI定向帧800可使用VGI定向共用命令码806来标识。定向共用命令码806之后可跟随有同步字段808a(Sr)和地址字段810a,该地址字段810a包括用于选择被寻址设备的从动设备标识符。跟随在地址字段810a之后的定向VGPIO数据有效载荷812a包括属于被寻址设备的I/O信号集合的值816。VGI定向帧800可包括针对附加设备的附加定向有效载荷812b。例如,第一定向VGPIO数据有效载荷812a之后可跟随有同步字段808b和第二地址字段810b。在该示例中,第二定向VGPIO有效载荷812b包括属于第二被寻址设备的I/O信号集合的值818。使用VGI定向帧800可准许传送在广播VGPIO帧700、720中携带的I/O信号的子集或部分的值。
在第二示例中,主机设备可传送经掩蔽VGI定向帧820以改变单个外围设备中的一个或多个GPIO引脚的状态而不扰乱该单个外围设备中的其他GPIO引脚的状态并且不影响其他外围设备。在一些示例中,一个或多个设备中的I/O信号可被掩蔽,而一个或多个目标设备中的所选I/O信号不被掩蔽。经掩蔽VGI定向帧820始于开始比特822、继之以报头824。经掩蔽VGI定向帧820可使用经掩蔽VGI定向共用命令码826来标识。经掩蔽VGI定向命令码826之后可跟随有同步字段828(Sr)和地址字段830,该地址字段830包括用于选择被寻址设备的从动设备标识符。后面跟随的定向有效载荷832包括属于被寻址设备的I/O信号集合的VGPIO值。例如,定向数据有效载荷832中的VGPIO值可包括I/O信号值838和对应的掩码比特836。
停止比特或同步比特(Sr/P 814、834)终止VGI定向帧800、820。同步比特可被传送以指示附加的VGPIO有效载荷将被传送。在一个示例中,同步比特可以是I2C接口中的重复开始比特。
在接收方设备(例如,应用处理器502和/或外围设备504、506、508)处,所接收到的虚拟GPIO信号被扩展成在GPIO引脚上呈现的物理GPIO信号状态。如本文所使用的术语“引脚”可以指代用于将IC耦合至在电路板、基板或类似物上提供的导线、迹线、穿透通孔、或其他合适的物理连接器的物理结构(诸如焊盘、引脚或其他互连元件)。每个GPIO引脚可与存储用于该GPIO引脚的配置参数的一个或多个配置寄存器相关联。图9解说了可与物理引脚相关联的配置寄存器900和920。每个配置寄存器900、920被实现为一字节(8比特)寄存器,其中不同的比特或比特群定义可通过配置来控制的特性或其他特征。在第一示例中,比特D0-D2 902控制GPIO引脚的驱动强度,比特D3-D5904控制GPIO引脚的转换速率,比特D6 906启用中断,并且比特D7 908确定中断是边沿触发的还是由电压电平触发的。在第二示例中,比特D0 922选择GPIO引脚接收反相还是非反相信号,比特D1-D2 924定义输入或输出引脚的类型,比特D3-D4 926定义未驱动引脚的某些特性,比特D5-D6 928定义信令状态的电压电平,并且比特D7 930控制GPIO引脚的二进制值(即,GPIO引脚携带二进制1还是0)。
虚拟GPIO有限状态机的示例
图10解说了可支持装置中的虚拟GPIO的有限状态机1000的某些方面。有限状态机1000可监视来自多个输入源1024的状态信息,包括硬件事件1002、配置参数1004、经掩蔽数据1006和/或配置参数寄存器地址1008。有限状态机1000可选择将用于生成要在物理链路上传送的分组的协议。有限状态机1000可实现主机SoC 402和/或一个或多个外围设备412中提供的VGI FSM 406、416,如图4中所解说的。在各种示例中,可在超低等待时间域中提供有限状态机1000,其中信令、切换、缓冲和其他延迟可被最小化。
有限状态机1000可被部署在常开域中以确保在对某些输入/输出状态感兴趣时(包括在活跃外围设备与感兴趣的输入/输出状态相关联时),配置成监视状态和状态变化的电路是可用的。在许多实现中,可能有必要在常开域中提供有限状态机1000以准许对输入/输出状态的可靠监视。
在一些实现中,有限状态机1000可部署在当有限状态机1000所监视的状态被修改时活跃的域中,其中该域也可以偶尔是不活跃的。在有限状态机1000部署在并非常开域的域中的实例中,可采用低等待时间苏醒技术和规程以使有限状态机1000在可容忍的等待时间内进入活跃状态。在一个示例中,位于常开域中的不同有限状态机可监视输入状态、输出状态和其他操作状态,以发起对支持虚拟GPIO的有限状态机1000的及时唤醒。在另一示例中,可使用处理器来发起对支持虚拟GPIO的有限状态机1000的唤醒。在另一示例中,可使用不同有限状态机和处理器的某种组合来发起对支持虚拟GPIO的有限状态机1000的唤醒。
有限状态机1000可被配置成传送若干不同类型的分组,并且有限状态机1000可选择分组类型以优化通信链路中的等待时间。在一个示例中,有限状态机1000可基于要传送的GPIO数据以及相关联的GPIO引脚配置来选择分组类型。分组传输等待时间估计器1010可监视硬件事件1002以便估计与传送从一个或多个硬件事件1002引发的GPIO状态或状态变化相关联的等待时间。分组传输等待时间估计器1010可确定是否要使用经掩蔽数据1006、GPIO配置参数1004、以及配置参数寄存器地址1008。分组传输等待时间估计器1010可产生基于配置GPIO引脚的频度的估计。在其中GPIO引脚不频繁地被配置的一个示例中,分组传输等待时间估计器1010可使用具有增加的等待时间的传统定址I2C/I3C分组来配置引脚。在另一示例中,虚拟化GPIO信号和消息接发信号可以在没有寄存器地址的情况下被传送,并且接收机处的有限状态机可基于对应的帧或分组内的比特位置来确定GPIO信号和消息的身份。在后一示例中,当GPIO引脚被频繁地重新配置时,可通过连同GPIO数据一起虚拟化配置数据来减少等待时间。分组传输等待时间估计器1010可使用针对每种分组类型配置的因分组而异的等待时间估计器来估计等待时间。可采用比较器来确定由针对不同分组类型配置的因分组而异的等待时间估计器所估计的最小等待时间。比较器的输出可确定将被选择用于传输的分组类型、和/或分组传输等待时间估计器1010所考虑的其他参数。
分组传输等待时间估计器1010可提供用于选择确定将在传输中使用的分组类型的命令码1018的信息。例如,分组传输等待时间估计器1010可向命令码选择器模块1012提供索引1016,该命令码选择器模块1012使用索引1016来从多个可能的命令码中进行选择。分组化器块1014可根据所选择的命令码1018来将有效载荷1020中的数据(例如,与硬件事件1002相关的信息)和/或配置参数1004串行化。结果所得的分组1022可被提供给物理层(PHY)以供对应的I2C/I3C接口进行传送。
GPIO状态可使用仅GPIO状态分组(诸如经掩蔽分组或未经掩蔽分组)来发送。在一个示例中,当GPIO引脚不频繁地被配置时,可选择仅GPIO状态分组类型。接收机可基于分组中传送的命令码报头来标识仅GPIO状态分组。在一些实例中,可传送合并或组合式分组。合并或组合式分组可组合GPIO状态信息以及与GPIO引脚相关联的配置数据两者。在接收机处,可实现或维护I/O映射表以将合并式分组的比特位置映射到主机I/O号、外围设备号、外围设备地址、以及外围设备I/O参数。例如,合并式分组中的第一掩码比特和对应的值可被映射到第一外围设备中的外围设备地址(例如,0x01)。对于该比特位置,对应的比特可以是所标识的GPIO引脚的GPIO状态。合并式分组中跟随在第一掩码比特之后的第二掩码比特以及对应的比特可与选择相同的所标识GPIO引脚的驱动强度相关联。合并式分组可如优化传输等待时间所要求地按各种比例包括GPIO状态和配置参数。
多协议接口中的虚拟GPIO
某些接口可在通过信令来区分的各通信模式之间切换。例如,I3C总线可在I2C兼容操作模式中操作,其中可在该总线上使用I2C协议,尤其是针对与传统I2C设备通信。I3C接口可被配置成用于具有不同属性(包括数据传递速率和功耗属性)的多种通信模式。在一个示例中,I3C总线可在第一模式中操作,其中在时钟导线420上传送时钟信号并在数据导线418上传送数据(参见图4),而在第二模式中,数据可被编码在表示时钟导线420和数据导线418在每个码元传输区间中的信令状态的码元中。
在常规系统中,不同协议的特性和属性是固定的,因为不能改变协议的结构以针对要传送的不同信息类型或信息源达成最优传输等待时间。根据本文所公开的某些方面提供的有限状态机可被适配成通过选择协议方案以及分组类型来达成最优等待时间。经适配的有限状态机可以非常适合于满足实时嵌入式系统应用中的传输最终期限,在实时嵌入式系统应用中,满足传输最终期限是最为重要的。
图10的有限状态机1000可被适配成在用于传送GPIO状态和消息的各协议之间进行选择。将要串行地传送的参数被取作输入,并且分组传输等待时间估计器1010可被配置成通过确定将用于每个信息(I/O和消息接发)传递的最优协议来优化等待时间。从预定义且双方商定的命令码池中选择的唯一性命令码可被用于向接收机告知将用于接收携带GPIO状态和消息的分组的协议。命令码可以是专用命令码,或者可由协议、标准来定义,或者可基于因应用而异的考量来定义。在一个示例中,命令码可包括由MIPI联盟定义的某些共用命令码(CCC)。
可使用由分组传输等待时间估计器1010生成的索引1016来选择命令码。所选择的命令码1018连同有效载荷1020一起被提供给分组化器块1014。分组化器块1014根据所选择的协议方案来创建分组1022以及使得物理层传送分组1022所必需的控制信息。分组化器块1014将分组1022和控制信息传递给物理层。在一个示例中,I3C物理层可支持涉及多种不同I3C协议和/或一种或多种I2C协议或配置的I3C通信模式。在另一示例中,RFFE物理层可支持不同的信令方案和/或协议。
在图10所描绘的示例中,输入源1024可被区分优先级。在一个示例中,因硬件事件1002所导致的状态变化可具有最高优先级,继之以GPIO配置参数1004,继之以经掩蔽数据1006,继之以具有指定的寄存器地址1008的交互。分组传输等待时间估计器1010可确定用于传送从输入源1024生成的每个有效载荷1020的最佳可用协议。分组传输等待时间估计器1010可将对最佳可用协议的确定基于每种协议的数据率和等待时间属性。例如,分组传输等待时间估计器1010可基于针对每种协议配置串行总线所需的时间、发起传输中的延迟、和/或传送有效载荷1020所需的时间来评估最差情形等待时间。在一些实例中,在将顺序地执行读和写事务时,线周转时间可被纳入考虑。在其他示例中,分组传输等待时间估计器1010可被配置成基于功耗、功率预算、以及由应用配置的优先级来确定协议方案。
有限状态机1000可独立于应用、和/或用于在设备之间通信的物理层来进行操作。有限状态机1000可在应用处理器502(参见图5)和/或一个或多个外围设备504、506、508处于待机或休眠模式时进行操作。在后一种情形中,有限状态机1000可在应用处理器502或外围设备504、506、508处于休眠模式而另一设备导致GPIO状态变化时维持GPIO状态的一致性。在一些示例中,有限状态机1000可由应用来配置。在一些实现中,有限状态机1000的某些功能可使用软件模块来执行,包括例如在经受系统级别的资源和/或功率使用优先级区分的实现中。
在一些实例中,有限状态机1000可通过在不同物理层之间进行选择来优化等待时间。例如,有限状态机1000可在支持两个设备之间的RFFE通信链路的第一物理层与支持两个设备之间的I2C或I3C通信链路的第二物理层之间进行选择。
根据某些方面,有限状态机1000可针对所选协议来重新格式化消息接发分组以获得优化等待时间的分组格式。有限状态机1000可通过选择最适合以最优和/或最小化等待时间实现消息接发和/或GPIO状态内容传递的分组来优化等待时间。
处理电路和方法的示例
图11是解说采用有限状态机610、1000来优化虚拟GPIO等待时间的装置1100的硬件实现的示例的示图。在一些示例中,装置1100可配置有限状态机610、1000的操作。在一些示例中,装置1100可以执行本文所公开的一个或多个功能。根据本公开的各种方面,可使用处理电路1102来实现本文所公开的元素、或元素的任何部分、或者元素的任何组合。处理电路1102可包括一个或多个处理器1104,其由硬件和软件模块的某种组合来控制。处理器1104的示例包括:微处理器、微控制器、数字信号处理器(DSP)、SoC、ASIC、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器1104可包括执行特定功能并且可由软件模块1116之一来配置、增强或控制的专用处理器。该一个或多个处理器1104可通过在初始化期间加载的软件模块1116的组合来配置,并且通过在操作期间加载或卸载一个或多个软件模块1116来进一步配置。
在所解说的示例中,处理电路1102可使用由总线1110一般化地表示的总线架构来实现。取决于处理电路1102的具体应用和整体设计约束,总线1110可包括任何数目的互连总线和桥接器。总线1110将各种电路链接在一起,包括一个或多个处理器1104、和存储1106。存储1106可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质和/或处理器可读介质。总线1110还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口1108可提供总线1110与一个或多个收发机1112a、1112b之间的接口。可针对处理电路所支持的每种联网技术提供收发机1112a、1112b。在一些实例中,多种联网技术可共享收发机1112a、1112b中找到的电路系统或处理模块中的一些或全部。每个收发机1112a、1112b提供用于通过传输介质与各种其它装置通信的手段。在一个示例中,收发机1112a可被用于将装置1100耦合至多线总线。在另一示例中,收发机1112b可被用于将装置1100连接至无线网络。取决于装置1100的本质,也可提供用户接口1118(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口1118可直接或通过总线接口1108通信地耦合至总线1110。
处理器1104可负责管理总线1110和一般处理,包括对存储在计算机可读介质(其可包括存储1106)中的软件的执行。在这一方面,处理电路1102(包括处理器1104)可被用来实现本文所公开的方法、功能和技术中的任一种。存储1106可被用于存储处理器1104在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路1102中的一个或多个处理器1104可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储1106中或驻留在外部计算机可读介质中。外部计算机可读介质和/或存储1106可包括非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、RAM、ROM、可编程只读存储器(PROM)、可擦式PROM(EPROM)(包括EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储1106还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储1106可驻留在处理电路1102中、处理器1104中、在处理电路1102外部、或跨包括该处理电路1102在内的多个实体分布。计算机可读介质和/或存储1106可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
存储1106可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块1116。软件模块1116中的每一者可包括在安装或加载到处理电路1102上并由一个或多个处理器1104执行时有助于运行时映像1114的指令和数据,运行时映像1114控制一个或多个处理器1104的操作。在被执行时,某些指令可使得处理电路1102执行根据本文所描述的某些方法、算法和过程的功能。
软件模块1116中的一些可在处理电路1102初始化期间被加载,并且这些软件模块1116可配置处理电路1102以实现本文所公开的各种功能的执行。例如,一些软件模块1116可配置处理器1104的内部设备和/或逻辑电路1122,并且可管理对外部设备(诸如,收发机1112、总线接口1108、用户接口1118、定时器、数学协处理器等)的访问。软件模块1116可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路1102提供的各种资源的访问。这些资源可包括存储器、处理时间、对收发机1112的访问、用户接口1118等。
处理电路1102的一个或多个处理器1104可以是多功能的,由此软件模块1116中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器1104可附加地被适配成管理响应于来自例如用户接口1118、收发机1112和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器1104可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器1104服务的任务集。在一个示例中,多任务环境可使用分时程序1120来实现,分时程序1120在不同任务之间传递对处理器1104的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器1104的控制权返回给分时程序1120。当任务具有对一个或多个处理器1104的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序1120可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器1104的控制权的功能、和/或通过将对一个或多个处理器1104的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
用于优化虚拟GPIO等待时间的方法可包括解析各种输入源(包括GPIO信号状态、参数、和/或要传送的消息的源)的动作。输入源可包括硬件事件、配置数据、掩码参数、和寄存器地址。可采用因分组而异的等待时间估计器以基于经解析的参数来估计相应分组类型的等待时间。可基于针对可用分组类型所计算或确定的最小等待时间来选择将用于传输的分组类型。可使用命令码来标识所选择的分组类型,该命令码可连同要传送的有效载荷一起被提供给分组化器。命令码还可反映将用于传送有效载荷的协议。在一些实现中,用于传送有效载荷的物理链路可根据不同协议或一种或多种协议的不同变型来操作。可基于与各种可用协议或协议变型相关联的等待时间来选择用于传送有效载荷的协议。
图12是可在传送方设备处执行的方法的流程图1200。该方法的各部分可由传送方设备中的有限状态机来执行。
在框1202,有限状态机可将虚拟GPIO信号或消息编码成将在通信链路上传送的数据分组。虚拟GPIO信号可表示与物理GPIO连接器相关的状态信息。
在框1204,有限状态机可确定用于在通信链路上传送该数据分组的最大等待时间要求。
在框1206,有限状态机可提供指示将用于在通信链路上传送该数据分组的分组类型的命令码报头。该分组类型可被选择以满足最大等待时间要求。
在框1208,有限状态机可在通信链路上在具有由命令码报头所指示的类型的分组中将该命令码报头和数据分组传送给至少一个外围设备。
在一些示例中,有限状态机可基于最大等待时间要求以及与串行总线相关联的多种操作模式的一个或多个属性来确定将在传送该数据分组时使用的串行总线的操作模式。有限状态机可配置命令码报头以向物理层电路指示将用于传送该数据分组的操作模式。
在一些示例中,该通信链路包括串行总线。有限状态机可基于最大等待时间要求以及可供在串行总线上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议。有限状态机可配置命令码报头以指示将用于传送该数据分组的协议。可供在串行总线上使用的多种协议可包括I2C协议、I3C协议、或RFFE协议。
在一些示例中,该通信链路包括无线通信链路。有限状态机可基于最大等待时间要求以及可供在无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议。有限状态机可配置命令码报头以指示将用于传送该数据分组的协议。该多种协议可包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
在一些示例中,该数据分组包括与至少一个外围设备中的GPIO引脚的配置参数相对应的虚拟GPIO信号。这些配置参数可包括转换速率参数或驱动强度参数。
图13是解说采用处理电路1302的装置1300的硬件实现的简化示例的示图。该装置可实现根据本文所公开的某些方面的桥接电路。处理电路通常具有控制器或处理器1316,其可包括一个或多个微处理器、微控制器、数字信号处理器、定序器和/或状态机。处理电路1302可以用由总线1320一般化地表示的总线架构来实现。取决于处理电路1302的具体应用和整体设计约束,总线1320可包括任何数目的互连总线和桥接器。总线1320将包括一个或多个处理器和/或硬件模块(由控制器或处理器1316、模块或电路1304、1306和1308以及处理器可读存储介质1318表示)的各种电路链接在一起。可提供一个或多个物理层电路和/或模块1314以支持在使用多线总线1312实现的通信链路上、通过天线1322(例如至无线网络)等的通信。总线1320还可链接各种其他电路(诸如定时源、外围设备、稳压器和功率管理电路),这些电路在本领域中是众所周知的并且因此将不再进一步描述。
处理器1316负责一般性处理,包括执行存储在处理器可读存储介质1318上的软件、代码和/或指令。该处理器可读存储介质可包括非瞬态存储介质。该软件在由处理器1316执行时使处理电路1302执行上文针对任何特定装置描述的各种功能。处理器可读存储介质还可被用于存储由处理器1316在执行软件时操纵的数据。处理电路1302进一步包括模块1304、1306和1308中的至少一个模块。模块1304、1306和1308可以是在处理器1316中运行的软件模块、驻留/存储在处理器可读存储介质1318中的软件模块、耦合至处理器1316的一个或多个硬件模块、或其某种组合。模块1304、1306和1308可包括微控制器指令、状态机配置参数、或其某种组合。
在一种配置中,装置1300包括配置成将GPIO信号串行化为仅GPIO状态信息的模块和/或电路1308、配置成确定用于在通信链路上传送该仅GPIO状态信息的最大等待时间要求的模块和/或电路1306、以及配置成向物理层电路1314提供包括该仅GPIO状态信息和命令码的分组的模块和/或电路1304。在一个示例中,命令码指示将用于在串行总线上传送该仅GPIO状态信息的分组类型。该分组类型可被选择以满足最大等待时间要求。在另一示例中,命令码指示将用于传送该仅GPIO状态信息的协议。可基于最大等待时间要求以及可供在通信链路上使用的多种协议的一个或多个属性来选择协议。
在各种示例中,装置1300包括一个或多个物理层电路和/或模块1314,其可对应于图6的PHY 608并且可被适配成将该装置耦合至通信链路;分组化器620或分组化器块1014,其被配置成将消息或虚拟GPIO信号编码到将在通信链路上传送的数据分组中;以及有限状态机610或1000,其被配置成确定用于在通信链路上传送该数据分组的最大等待时间要求,并且向分组化器提供命令码,该命令码指示将用于在通信链路上传送该数据分组的分组类型。该分组类型可被选择以满足最大等待时间要求。分组化器可被配置成将包括该数据分组和命令码的分组提供给PHY 608。PHY 608可被配置成在通信链路上将该分组传送给至少一个外围设备412、504、506、508或624。
在一个示例中,该通信链路包括配置成作为串行总线操作的多线总线1312。有限状态机610或1000可被配置成基于最大等待时间要求以及可供在串行总线上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议,并配置命令码以指示将用于传送该分组的协议。该多种协议可包括I2C协议、I3C协议、或RFFE协议。
在另一示例中,有限状态机610或1000可被配置成基于最大等待时间要求以及与通信链路相关联的多种操作模式的一个或多个属性来确定将在传送该数据分组时使用的通信链路的操作模式,并配置第一命令码报头以向PHY608指示将用于传送该数据分组的操作模式。
在另一示例中,该通信链路包括例如可通过天线124或1322来接入的无线通信链路。有限状态机610或1000可被配置成基于最大等待时间要求以及可供在无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送该数据分组的协议,并配置第一命令码报头以指示将用于传送该数据分组的协议。该多种协议可包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
在一些示例中,该数据分组包括与至少一个外围设备412、504、506、508或624中的GPIO引脚的配置参数相对应的虚拟GPIO信号。这些配置参数可包括转换速率参数或驱动强度参数。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。此外,一些步骤可被组合或被略去。所附方法权利要求以示例次序呈现各种步骤的要素,且并不意味着被限定于所给出的具体次序或层次。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。没有任何权利要求元素应被解释为装置加功能,除非该元素是使用短语“用于……的装置”来明确叙述的。

Claims (30)

1.一种在传送方设备处执行的方法,包括:
将虚拟通用输入/输出(GPIO)信号或消息编码成将在通信链路上传送的数据分组,其中所述虚拟GPIO信号表示与物理GPIO连接器相关的状态信息;
确定用于在所述通信链路上传送所述数据分组的最大等待时间要求;
提供指示将用于在所述通信链路上传送所述数据分组的分组类型的命令码报头,其中所述分组类型被选择以满足所述最大等待时间要求;以及
在所述通信链路上在具有由所述命令码报头所指示的类型的分组中将所述命令码报头和所述数据分组传送给至少一个外围设备。
2.如权利要求1所述的方法,其特征在于,所述通信链路包括串行总线,并且所述方法进一步包括:
基于所述最大等待时间要求以及可供在所述串行总线上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码报头以指示将用于传送所述数据分组的所述协议。
3.如权利要求2所述的方法,其特征在于,可供在所述串行总线上使用的所述多种协议包括I2C协议。
4.如权利要求2所述的方法,其特征在于,可供在所述串行总线上使用的所述多种协议包括I3C协议。
5.如权利要求2所述的方法,其特征在于,可供在所述串行总线上使用的所述多种协议包括射频前端(RFFE)协议。
6.如权利要求1所述的方法,其特征在于,进一步包括:
基于所述最大等待时间要求以及与所述通信链路相关联的多种操作模式的一个或多个属性来确定将在传送所述数据分组时使用的所述通信链路的操作模式;以及
配置所述命令码报头以向物理层电路指示将用于传送所述数据分组的所述操作模式。
7.如权利要求1所述的方法,其特征在于,所述通信链路包括无线通信链路,并且所述方法进一步包括:
基于所述最大等待时间要求以及可供在所述无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码报头以指示将用于传送所述数据分组的所述协议。
8.如权利要求7所述的方法,其特征在于,所述多种协议包括蓝牙协议。
9.如权利要求7所述的方法,其特征在于,所述多种协议包括与无线局域网相关联的协议。
10.如权利要求7所述的方法,其特征在于,所述多种协议包括与蜂窝无线网络相关联的协议。
11.如权利要求1所述的方法,其特征在于,所述数据分组包括与所述至少一个外围设备中的GPIO引脚的配置参数相对应的虚拟GPIO信号。
12.如权利要求11所述的方法,其特征在于,所述配置参数包括转换速率参数。
13.如权利要求11所述的方法,其特征在于,所述配置参数包括驱动强度参数。
14.一种装置,包括:
物理层电路,其被适配成将所述装置耦合至通信链路;
分组化器,其被配置成将消息或虚拟GPIO信号编码在将在所述通信链路上传送的数据分组中;以及
有限状态机,其被配置成:
确定用于在所述通信链路上传送所述数据分组的最大等待时间要求;以及
向所述分组化器提供命令码,所述命令码指示将用于在所述通信链路上传送所述数据分组的分组类型,其中所述分组类型被选择以满足所述最大等待时间要求,
其中所述分组化器被配置成将包括所述数据分组和所述命令码的分组提供给所述物理层电路,并且
其中所述物理层电路被配置成在所述通信链路上将所述分组传送给至少一个外围设备。
15.如权利要求14所述的装置,其特征在于,所述通信链路包括串行总线,并且其中所述有限状态机被配置成:
基于所述最大等待时间要求以及可供在所述串行总线上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码以指示将用于传送所述分组的所述协议。
16.如权利要求15所述的装置,其特征在于,所述多种协议包括I2C协议、I3C协议或射频前端(RFFE)协议。
17.如权利要求14所述的装置,其特征在于,所述有限状态机被配置成:
基于所述最大等待时间要求以及与所述通信链路相关联的多种操作模式的一个或多个属性来确定将在传送所述数据分组时使用的所述通信链路的操作模式;以及
配置所述命令码以向所述物理层电路指示将用于传送所述数据分组的所述操作模式。
18.如权利要求14所述的装置,其特征在于,所述通信链路包括无线通信链路,其中所述有限状态机被配置成:
基于所述最大等待时间要求以及可供在所述无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码以指示将用于传送所述数据分组的所述协议。
19.如权利要求18所述的装置,其特征在于,所述多种协议包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
20.如权利要求14所述的装置,其特征在于,所述数据分组包括与所述至少一个外围设备中的GPIO引脚的配置参数相对应的虚拟GPIO信号。
21.如权利要求20所述的装置,其特征在于,所述配置参数包括转换速率参数。
22.如权利要求20所述的装置,其特征在于,所述配置参数包括驱动强度参数。
23.一种装备,包括:
用于将虚拟通用输入/输出(GPIO)信号或消息编码成将在通信链路上传送的数据分组的装置,其中所述虚拟GPIO信号表示与物理GPIO连接器相关的状态信息;
用于确定用于在所述通信链路上传送所述数据分组的最大等待时间要求的装置;
用于提供指示将用于在所述通信链路上传送所述数据分组的分组类型的命令码报头的装置,其中所述分组类型被选择以满足所述最大等待时间要求;以及
用于在所述通信链路上在具有由所述命令码报头所指示的类型的分组中将所述命令码报头和所述数据分组传送给至少一个外围设备的装置。
24.如权利要求23所述的装备,其特征在于,所述通信链路包括串行总线,并且其中所述用于确定最大等待时间要求的装置被配置成:
基于所述最大等待时间要求以及可供在所述串行总线上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码报头以指示将用于传送所述数据分组的所述协议,
其中可供在所述串行总线上使用的所述多种协议包括I2C协议、I3C协议、或射频前端协议。
25.如权利要求23所述的装备,其特征在于,所述用于确定最大等待时间要求的装置被配置成:
基于所述最大等待时间要求以及与所述通信链路相关联的多种操作模式的一个或多个属性来确定将在传送所述数据分组时使用的所述通信链路的操作模式;以及
配置所述命令码报头以向物理层电路指示将用于传送所述数据分组的所述操作模式。
26.如权利要求23所述的装备,其特征在于,所述通信链路包括无线通信链路,并且其中所述用于确定最大等待时间要求的装置被配置成:
基于所述最大等待时间要求以及可供在所述无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码报头以指示将用于传送所述数据分组的所述协议,
其中所述多种协议包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
27.一种具有一条或多条指令的处理器可读存储介质,所述指令在由处理电路的至少一个处理器或状态机执行时使所述处理电路:
将虚拟通用输入/输出(GPIO)信号或消息编码成将在通信链路上传送的数据分组,其中所述虚拟GPIO信号表示与物理GPIO连接器相关的状态信息;
确定用于在所述通信链路上传送所述数据分组的最大等待时间要求;
提供指示将用于在所述通信链路上传送所述数据分组的分组类型的命令码报头,其中所述分组类型被选择以满足所述最大等待时间要求;以及
在所述通信链路上在具有由所述命令码报头所指示的类型的分组中将所述命令码报头和所述数据分组传送给至少一个外围设备。
28.如权利要求27所述的存储介质,其特征在于,所述通信链路包括串行总线,并且所述存储介质进一步包括使所述处理电路执行以下操作的指令:
基于所述最大等待时间要求以及可供在所述串行总线上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码报头以指示将用于传送所述数据分组的所述协议,
其中可供在所述串行总线上使用的所述多种协议包括I2C协议、I3C协议、或射频前端协议。
29.如权利要求27所述的存储介质,其特征在于,进一步包括使所述处理电路执行以下操作的指令:
基于所述最大等待时间要求以及与所述通信链路相关联的多种操作模式的一个或多个属性来确定将在传送所述数据分组时使用的所述通信链路的操作模式;以及
配置所述命令码报头以向物理层电路指示将用于传送所述数据分组的所述操作模式。
30.如权利要求27所述的存储介质,其特征在于,所述通信链路包括无线通信链路,并且所述存储介质进一步包括使所述处理电路执行以下操作的指令:
基于所述最大等待时间要求以及可供在所述无线通信链路上使用的多种协议的一个或多个属性来确定将用于传送所述数据分组的协议;以及
配置所述命令码报头以指示将用于传送所述数据分组的所述协议,
其中所述多种协议包括蓝牙协议、与无线局域网相关联的协议、或与蜂窝无线网络相关联的协议。
CN201680071695.XA 2015-12-10 2016-11-14 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机 Pending CN108370338A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562265599P 2015-12-10 2015-12-10
US62/265,599 2015-12-10
US15/348,353 US20170168966A1 (en) 2015-12-10 2016-11-10 Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces
US15/348,353 2016-11-10
PCT/US2016/061879 WO2017099949A1 (en) 2015-12-10 2016-11-14 Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces

Publications (1)

Publication Number Publication Date
CN108370338A true CN108370338A (zh) 2018-08-03

Family

ID=57421967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680071695.XA Pending CN108370338A (zh) 2015-12-10 2016-11-14 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机

Country Status (9)

Country Link
US (1) US20170168966A1 (zh)
EP (1) EP3387796A1 (zh)
JP (1) JP2019508915A (zh)
KR (1) KR20180092969A (zh)
CN (1) CN108370338A (zh)
AU (1) AU2016366999A1 (zh)
BR (1) BR112018011593A2 (zh)
TW (1) TW201722120A (zh)
WO (1) WO2017099949A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857485A (zh) * 2019-01-28 2019-06-07 山东华芯半导体有限公司 一种可编程gpio装置及基于该装置的时序实现方法
CN110489815A (zh) * 2019-07-26 2019-11-22 广东高云半导体科技股份有限公司 基于i3c总线通信的验证方法及验证系统

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467154B2 (en) 2017-02-10 2019-11-05 Qualcomm Incorporated Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US10482055B2 (en) 2017-05-10 2019-11-19 Qualcomm Incorporated Hardware event priority sensitive programmable transmit wait-window for virtual GPIO finite state machine
JP6953226B2 (ja) * 2017-08-04 2021-10-27 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
US20190050366A1 (en) * 2017-08-14 2019-02-14 Qualcomm Incorporated Device, event and message parameter association in a multi-drop bus
US10515044B2 (en) 2017-11-01 2019-12-24 Qualcomm Incorporated Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus
CN108228517B (zh) * 2017-12-01 2019-09-13 广东高云半导体科技股份有限公司 I3c电路设备、系统及通信方法
US20190171588A1 (en) * 2017-12-05 2019-06-06 Qualcomm Incorporated Multi-point virtual general-purpose input/output (mp-vgi) for low latency event messaging
US10545897B2 (en) 2018-01-24 2020-01-28 Qualcomm Incorporated System and method for deterministic transactions on a serial bus
US10511397B2 (en) * 2018-01-24 2019-12-17 Qualcomm Incorporated Virtual general purpose input/output (GPIO) (VGI) over a time division multiplex (TDM) bus
US10606785B2 (en) * 2018-05-04 2020-03-31 Intel Corporation Flex bus protocol negotiation and enabling sequence
US10733121B2 (en) 2018-05-10 2020-08-04 Qualcomm Incorporated Latency optimized I3C virtual GPIO with configurable operating mode and device skip
US10630810B2 (en) * 2018-06-14 2020-04-21 Dell Products, L.P. Communications between head-mounted devices (HMDs) in virtual, augmented, and mixed reality (xR) applications
US10983552B2 (en) * 2018-07-25 2021-04-20 Qualcomm Incorporated Low latency trigger activation mechanism using bus protocol enhancement
US10496562B1 (en) * 2018-08-13 2019-12-03 Qualcomm Incorporated Low latency virtual general purpose input/output over I3C
CN109120524B (zh) * 2018-08-23 2020-12-08 Oppo广东移动通信有限公司 链路聚合方法及相关设备
KR20200093106A (ko) 2019-01-25 2020-08-05 삼성전자주식회사 반도체 집적 회로 및 그것의 동작 방법
US11385982B2 (en) * 2019-05-02 2022-07-12 Apple Inc. General purpose input/output with hysteresis
DE102019007340A1 (de) * 2019-10-22 2021-04-22 e.solutions GmbH Technik zum Einrichten und Betreiben eines neuronalen Netzwerks
DE102020200803A1 (de) * 2020-01-23 2021-07-29 Robert Bosch Gesellschaft mit beschränkter Haftung Sende-/Empfangseinrichtung und Kommunikationssteuereinrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102020200801A1 (de) * 2020-01-23 2021-07-29 Robert Bosch Gesellschaft mit beschränkter Haftung Sende-/Empfangseinrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
US11669484B2 (en) * 2020-03-13 2023-06-06 Sony Semiconductor Solutions Corporation Image sensor
US11102565B1 (en) 2020-04-09 2021-08-24 Tap Sound System Low latency Bluetooth earbuds
US11606316B2 (en) * 2020-11-20 2023-03-14 Qualcomm Incorporated System and method for modem stabilization when waiting for AP-driven link recovery
US11758302B2 (en) 2021-09-03 2023-09-12 Sony Semiconductor Solutions Corporation Imaging device, imaging method, and electronic apparatus
CN114157728A (zh) * 2021-11-22 2022-03-08 苏州聚元微电子股份有限公司 适用于多种无线协议的链路层数据控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104322033A (zh) * 2012-06-27 2015-01-28 英特尔公司 使用第二协议的扩展功能结构来控制第一协议的物理链路
CN104737148A (zh) * 2012-10-15 2015-06-24 高通股份有限公司 虚拟gpio
CN104903832A (zh) * 2012-10-05 2015-09-09 触觉实验室股份有限公司 用于低等待时间用户输入处理和反馈的混合型系统和方法
US20150301979A1 (en) * 2014-04-21 2015-10-22 Qualcomm Incorporated Hybrid virtual gpio

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143348A1 (en) * 2004-12-29 2006-06-29 Wilson Matthew T System, method, and apparatus for extended serial peripheral interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104322033A (zh) * 2012-06-27 2015-01-28 英特尔公司 使用第二协议的扩展功能结构来控制第一协议的物理链路
CN104903832A (zh) * 2012-10-05 2015-09-09 触觉实验室股份有限公司 用于低等待时间用户输入处理和反馈的混合型系统和方法
CN104737148A (zh) * 2012-10-15 2015-06-24 高通股份有限公司 虚拟gpio
US20150301979A1 (en) * 2014-04-21 2015-10-22 Qualcomm Incorporated Hybrid virtual gpio

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857485A (zh) * 2019-01-28 2019-06-07 山东华芯半导体有限公司 一种可编程gpio装置及基于该装置的时序实现方法
CN110489815A (zh) * 2019-07-26 2019-11-22 广东高云半导体科技股份有限公司 基于i3c总线通信的验证方法及验证系统
CN110489815B (zh) * 2019-07-26 2020-09-29 广东高云半导体科技股份有限公司 基于i3c总线通信的验证方法及验证系统

Also Published As

Publication number Publication date
TW201722120A (zh) 2017-06-16
WO2017099949A1 (en) 2017-06-15
BR112018011593A2 (pt) 2018-11-21
JP2019508915A (ja) 2019-03-28
US20170168966A1 (en) 2017-06-15
KR20180092969A (ko) 2018-08-20
EP3387796A1 (en) 2018-10-17
AU2016366999A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
CN108370338A (zh) 用于消息接发和输入/输出传递接口的最优等待时间分组化器有限状态机
US10642778B2 (en) Slave master-write/read datagram payload extension
US10635630B2 (en) Flexible protocol and associated hardware for one-wire radio frequency front-end interface
US10515044B2 (en) Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus
US10572410B2 (en) Function-specific communication on a multi-drop bus for coexistence management
US20180232324A1 (en) Multi-port multi-sideband-gpio consolidation technique over a multi-drop serial bus
WO2018208915A1 (en) Hardware event priority sensitive programmable transmit wait-window for virtual gpio finite state machine
US20190227971A1 (en) Architecture for consolidating multiple sources of low-bandwidth data over a serial bus
CN105814537B (zh) 可扩展输入/输出系统和技术
CN106559738A (zh) 优先化时间敏感的应用的短距离无线分组
CN103200081B (zh) 一种面向异构网络环境的物联网网关开发平台
CN111033486A (zh) 多点总线中的设备、事件和消息参数关联
TW202219781A (zh) 跨介面批處理操作
CN108369569B (zh) 与硬件流控制的增强型串行外围接口
TW201902142A (zh) 混合vgpio狀態交換中的輸入/輸出方向解碼
US10496562B1 (en) Low latency virtual general purpose input/output over I3C
CN105320568A (zh) 用于任务组迁移的方法和支持该方法的电子设备
CN109074339A (zh) 用于线复用uart流控制的数字信令方案
US20190171588A1 (en) Multi-point virtual general-purpose input/output (mp-vgi) for low latency event messaging
US10733121B2 (en) Latency optimized I3C virtual GPIO with configurable operating mode and device skip
CN203167288U (zh) 一种面向异构网络环境的物联网网关开发平台
CN109416678A (zh) 加速型i3c主设备停止
US20180357067A1 (en) In-band hardware reset for virtual general purpose input/output interface

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180803