TW201722120A - 用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機 - Google Patents

用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機 Download PDF

Info

Publication number
TW201722120A
TW201722120A TW105137212A TW105137212A TW201722120A TW 201722120 A TW201722120 A TW 201722120A TW 105137212 A TW105137212 A TW 105137212A TW 105137212 A TW105137212 A TW 105137212A TW 201722120 A TW201722120 A TW 201722120A
Authority
TW
Taiwan
Prior art keywords
communication link
data packet
command code
protocol
packet
Prior art date
Application number
TW105137212A
Other languages
English (en)
Inventor
拉朗吉 米雪勒
拉杜 皮提戈艾倫
李察多明尼克 維特佛德
Original Assignee
高通公司
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 高通公司 filed Critical 高通公司
Publication of TW201722120A publication Critical patent/TW201722120A/zh

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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (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

用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機
本案大體而言係關於串列通訊和輸入/輸出引腳配置,並且更特定言之係關於最佳化針對串列訊息傳遞和輸入/輸出引腳配置的最優潛時來配置的有限狀態機。
行動通訊設備可包括各種各樣的元件,包括電路板、積體電路(IC)設備及/或片上系統(SoC)設備。各元件可包括經由串列匯流排進行通訊的處理設備、使用者介面元件、儲存和其他周邊元件。業內已知的通用序列介面包括積體電路間(I2C或I²C)串列匯流排及其衍生物和替換物,其包括由行動行業處理器介面(MIPI)聯盟定義的介面,諸如I3C和射頻前端(RFFE)介面。
在一個實例中,I2C串列匯流排是意欲用於將低速周邊設備連接至處理器的串列單端電腦匯流排。一些介面提供多主控匯流排,其中兩個或兩個以上設備可用作在串列匯流排上傳送的不同訊息的匯流排主控。在另一實例中,RFFE介面定義了用於控制各種射頻(RF)前端設備(包括功率放大器(PA)、低雜訊放大器(LNAs)、天線調諧器、濾波器、感測器、功率管理設備、開關等)的通訊介面。該等設備可共處於單個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協定,或射頻前端協定。
在一些態樣中,該等指令可使處理電路:基於最大潛時要求以及與通訊鏈路相關聯的複數種操作模式的一或多個屬性來決定將在傳送該資料封包時使用的該通訊鏈路的操作模式;及配置該命令碼標頭以向實體層電路指示將用於傳送該資料封包的操作模式。
在某些態樣中,該通訊鏈路包括無線通訊鏈路,並且該等指令可使處理電路:基於最大潛時要求以及可供在無線通訊鏈路上使用的複數種協定的一或多個屬性來決定將用於傳送該資料封包的協定,並且配置命令碼標頭以指示將用於傳送該資料封包的協定。該複數種協定可包括藍芽協定、與無線區域網路相關聯的協定,或與蜂巢無線網路相關聯的協定。
以下結合附圖闡述的詳細描述意欲作為各種配置的描述,而無意表示可實踐本文所述的概念的僅有配置。本詳細描述包括特定細節以提供對各種概念的透徹理解。然而,對於熟習該項技術者將顯而易見的是,沒有該等特定細節亦可實踐該等概念。在一些實例中,以方塊圖形式圖示眾所周知的結構和元件以避免湮沒此類概念。
現在將參照各種裝置和方法提供本發明的若干態樣。該等裝置和方法將在以下詳細描述中進行描述並在附圖中由各種方塊、模組、元件、電路、步驟、過程、演算法等(統稱為「元素」)來圖示。該等元素可使用電子硬體、電腦軟體或其任何組合來實施。此類元素是實施成硬體還是軟體取決於特定應用和加諸於整體系統上的設計約束。概覽
包括多個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)到16 Mbps之間的資料率的操作模式,其中一或多個可任選的高資料率(HDR)操作模式提供更高效能。I2C協定可遵循提供範圍可在100千位元每秒(kbps)到3.2 Mbps之間的資料率的實際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介面)。在其他實例中,主機SoC 402可包括可配置介面,其可被用於使用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之間攜帶控制或命令信號。該等附加導線可被稱為邊頻帶通用輸入/輸出(邊頻帶GPIO 520、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)。PHY 608可使用該配置資訊來選擇用於傳送相關聯封包的協定及/或通訊模式。PHY 608隨後可產生合適的訊號傳遞以傳送該封包。
周邊設備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 7 32n-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-D5 904控制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聯盟定義的某些共用命令碼(CCCs)。
可使用由封包傳輸潛時估計器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的實例包括:微處理器、微控制器、數位訊號處理器(DSPs)、SoC、ASIC、現場可程式閘陣列(FPGAs)、可程式邏輯設備(PLDs)、狀態機、定序器、閘控邏輯、個別的硬體電路,以及其他配置成執行本案中通篇描述的各種功能性的合適硬體。該一或多個處理器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可被配置成基於最大潛時要求以及與通訊鏈路相關聯的複數種操作模式的一或多個屬性來決定將在傳送該資料封包時使用的通訊鏈路的操作模式,並配置第一命令碼標頭以向PHY 608指示將用於傳送該資料封包的操作模式。
在另一實例中,該通訊鏈路包括例如可經由天線124或1322來存取的無線通訊鏈路。有限狀態機610或1000可被配置成基於最大潛時要求以及可供在無線通訊鏈路上使用的複數種協定的一或多個屬性來決定將用於傳送該資料封包的協定,並配置第一命令碼標頭以指示將用於傳送該資料封包的協定。該複數種協定可包括藍芽協定、與無線區域網路相關聯的協定,或與蜂巢無線網路相關聯的協定。
在一些實例中,該資料封包包括與至少一個周邊設備412、504、506、508或624中的GPIO引腳的配置參數相對應的虛擬GPIO信號。該等配置參數可包括轉換速率參數或驅動強度參數。
應理解,所揭示的過程中各步驟的特定次序或層次是示例性辦法的說明。應理解,基於設計偏好,可以重新編排該等過程中各步驟的具體次序或層次。此外,一些步驟可被組合或被略去。所附方法請求項以示例次序呈現各種步驟的要素,且並不意謂被限定於所提供的特定次序或層次。
提供先前描述是為了使本領域任何技藝人士均能夠實踐本文中所述的各種態樣。對該等態樣的各種改動將容易為本領域技藝人士所明白,並且在本文中所定義的普適原理可被應用於其他態樣。因此,請求項並非意欲被限定於本文中所示出的態樣,而是應被授予與語言上的請求項相一致的全部範圍,其中對要素的單數形式的引述除非特別聲明,否則並非意欲意謂「有且僅有一個」,而是「一或多個」。除非特別另外聲明,否則術語「一些」代表一或多個。本案通篇描述的各種態樣的要素為本領域一般技藝人士當前或今後所知的所有結構上和功能上的等效方案經由引述被明確併入於本文,且意欲被請求項所涵蓋。此外,本文中所揭示的任何內容皆並非意欲貢獻給公眾,無論此種揭示內容是否在申請專利範圍中被顯式地敘述。沒有任何請求項元素應被解釋為手段功能,除非該元素是使用用語「用於……的構件」來明確敘述的。
100‧‧‧裝置
102‧‧‧處理電路
104‧‧‧電路或設備
106‧‧‧電路或設備
108‧‧‧電路或設備
110‧‧‧數據機
112‧‧‧處理器
114‧‧‧板載記憶體
116‧‧‧匯流排介面電路
118a‧‧‧匯流排
118b‧‧‧匯流排
120‧‧‧匯流排
122‧‧‧處理器可讀儲存
124‧‧‧天線
126‧‧‧顯示器
128‧‧‧開關或按鈕
130‧‧‧開關或按鈕
132‧‧‧積體或外部按鍵板
200‧‧‧裝置
202‧‧‧設備
204‧‧‧控制功能
206‧‧‧配置暫存器
208‧‧‧時鐘產生電路
210‧‧‧收發機
210a‧‧‧接收器
210b‧‧‧共用電路
210c‧‧‧發射器
212‧‧‧控制邏輯
214a‧‧‧線驅動器/接收器
214b‧‧‧線驅動器/接收器
216‧‧‧第二導線
218‧‧‧第一導線
220‧‧‧設備
222a‧‧‧設備
222n‧‧‧設備
224‧‧‧儲存
228‧‧‧信號
230‧‧‧串列匯流排
300‧‧‧方塊圖
302‧‧‧設備
304‧‧‧數據機
306‧‧‧基頻處理器
308‧‧‧RFFE匯流排/通訊鏈路
310‧‧‧RFFE介面
312‧‧‧RF積體電路(RFIC)
313‧‧‧開關
314‧‧‧RF調諧器
315‧‧‧功率放大器(PA)
316‧‧‧低雜訊放大器(LNA)
317‧‧‧功率管理模組
320‧‧‧通訊鏈路
400‧‧‧裝置
402‧‧‧主機SoC
404‧‧‧I3C介面
406‧‧‧VGI FSM
410‧‧‧多線串列匯流排
412‧‧‧周邊設備
414‧‧‧I3C介面
416‧‧‧VGI FSM
418‧‧‧資料導線
420‧‧‧時鐘導線
500‧‧‧裝置
502‧‧‧應用處理器
504‧‧‧周邊設備
506‧‧‧周邊設備
508‧‧‧周邊設備
510‧‧‧通訊鏈路
512‧‧‧通訊鏈路
514‧‧‧通訊鏈路
520‧‧‧邊頻帶GPIO
522‧‧‧邊頻帶GPIO
524‧‧‧邊頻帶GPIO
600‧‧‧裝置
602‧‧‧應用處理器
604‧‧‧CPU
606‧‧‧通訊通道
608‧‧‧實體層電路(PHY)
610‧‧‧有限狀態機
612‧‧‧監視電路
614‧‧‧監視電路
616‧‧‧協定和模式資訊
618‧‧‧估計電路
620‧‧‧封包化器
622‧‧‧通訊鏈路
624‧‧‧周邊設備
626‧‧‧VGI FSM
628‧‧‧PHY
700‧‧‧VGI廣播訊框
702‧‧‧開始位元
704‧‧‧標頭
706‧‧‧VGI廣播共用命令碼
708‧‧‧VGPIO資料有效負荷
710‧‧‧停止位元或同步位元
7120‧‧‧第一虛擬GPIO信號
712n-1‧‧‧第n虛擬GPIO信號
720‧‧‧VGI廣播訊框
722‧‧‧開始位元
724‧‧‧標頭
726‧‧‧VGI廣播共用命令碼
728‧‧‧VGPIO資料有效負荷
730‧‧‧停止位元或同步位元
7320‧‧‧遮罩位元
732n-1‧‧‧遮罩位元
7340‧‧‧I/O信號值
734n-1‧‧‧I/O信號值
800‧‧‧VGI定向訊框
802‧‧‧開始位元
804‧‧‧標頭
806‧‧‧VGI定向共用命令碼
808a‧‧‧同步欄位
808b‧‧‧同步欄位
810a‧‧‧位址欄位
810b‧‧‧第二位址欄位
812a‧‧‧定向VGPIO資料有效負荷
812b‧‧‧附加定向有效負荷
814‧‧‧停止位元或同步位元
816‧‧‧值
818‧‧‧值
820‧‧‧VGI定向訊框
822‧‧‧開始位元
824‧‧‧標頭
826‧‧‧VGI定向共用命令碼
828‧‧‧同步欄位
830‧‧‧位址欄位
832‧‧‧定向有效負荷
834‧‧‧停止位元或同步位元
836‧‧‧遮罩位元
838‧‧‧I/O信號值
900‧‧‧配置暫存器
902‧‧‧位元D0-D2
904‧‧‧位元D3-D5
906‧‧‧位元D6
908‧‧‧位元D7
920‧‧‧配置暫存器
922‧‧‧位元D0
924‧‧‧位元D1-D2
926‧‧‧位元D3-D4
928‧‧‧位元D5-D6
930‧‧‧位元D7
1000‧‧‧有限狀態機
1002‧‧‧硬體事件
1004‧‧‧配置參數
1006‧‧‧經掩蔽資料
1008‧‧‧配置參數暫存器位址
1010‧‧‧封包傳輸潛時估計器
1012‧‧‧命令碼選擇器模組
1014‧‧‧封包化器區塊
1016‧‧‧索引
1018‧‧‧命令碼
1020‧‧‧有效負荷
1022‧‧‧封包
1024‧‧‧輸入源
1100‧‧‧裝置
1102‧‧‧處理電路
1104‧‧‧處理器
1106‧‧‧儲存
1108‧‧‧匯流排介面
1110‧‧‧匯流排
1112a‧‧‧收發機
1112b‧‧‧收發機
1114‧‧‧執行時映射
1116‧‧‧軟體模組
1118‧‧‧使用者介面
1120‧‧‧分時程式
1122‧‧‧內部設備及/或邏輯電路
1200‧‧‧流程圖
1202‧‧‧步驟
1204‧‧‧步驟
1206‧‧‧步驟
1208‧‧‧步驟
1300‧‧‧裝置
1302‧‧‧處理電路
1304‧‧‧模組
1306‧‧‧模組
1308‧‧‧模組
1312‧‧‧多線匯流排
1314‧‧‧實體層電路
1316‧‧‧處理器
1318‧‧‧處理器可讀儲存媒體
1320‧‧‧匯流排
1322‧‧‧天線
圖1圖示了在各IC設備之間採用資料連結的裝置,該資料連結根據複數個可用標準之一來選擇性地操作。
圖2圖示了在IC設備之間採用資料連結的裝置的系統架構。
圖3圖示了採用RFFE匯流排來耦合各種射頻前端設備的設備。
圖4圖示了根據本文所揭示的某些態樣採用I3C匯流排來耦合各種前端設備的設備。
圖5圖示了包括可根據本文所揭示的某些態樣來適配的應用處理器和多個周邊設備的裝置。
圖6圖示了根據本文所揭示的某些態樣的已被適配成支援虛擬GPIO的裝置。
圖7圖示了根據本文所揭示的某些態樣的VGI廣播訊框的實例。
圖8圖示了根據本文所揭示的某些態樣的VGI定向訊框的實例。
圖9圖示了根據本文所揭示的某些態樣的可與實體引腳相關聯的配置暫存器。
圖10圖示了根據本文所揭示的某些態樣的可支援裝置中的虛擬GPIO的有限狀態機的某些態樣。
圖11圖示了採用可根據本文所揭示的某些態樣適配的處理電路的裝置的一個實例。
圖12是圖示根據本文所揭示的某些態樣被適配成使從動設備獲得多個動態位址的應用處理器的某些操作的流程圖。
圖13圖示了根據本文所揭示的某些態樣被適配成對多個動態位址作出回應的裝置的硬體實施的第一實例。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
(請換頁單獨記載) 無
1000‧‧‧有限狀態機
1002‧‧‧硬體事件
1004‧‧‧配置參數
1006‧‧‧經掩蔽資料
1008‧‧‧配置參數暫存器位址
1010‧‧‧封包傳輸潛時估計器
1012‧‧‧命令碼選擇器模組
1014‧‧‧封包化器區塊
1016‧‧‧索引
1018‧‧‧命令碼
1020‧‧‧有效負荷
1022‧‧‧封包
1024‧‧‧輸入源

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所述之儲存媒體,其中該通訊鏈路包括一無線通訊鏈路,並且該儲存媒體進一步包括使該處理電路執行以下操作的指令: 基於該最大潛時要求以及可供在該無線通訊鏈路上使用的複數種協定的一或多個屬性來決定將用於傳送該資料封包的一協定;及 配置該命令碼標頭以指示將用於傳送該資料封包的該協定, 其中該複數種協定包括一藍芽協定、與一無線區域網路相關聯的一協定,或與一蜂巢無線網路相關聯的一協定。
TW105137212A 2015-12-10 2016-11-15 用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機 TW201722120A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562265599P 2015-12-10 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

Publications (1)

Publication Number Publication Date
TW201722120A true TW201722120A (zh) 2017-06-16

Family

ID=57421967

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105137212A TW201722120A (zh) 2015-12-10 2016-11-15 用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機

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)

Families Citing this family (27)

* 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 삼성전자주식회사 반도체 집적 회로 및 그것의 동작 방법
CN109857485B (zh) * 2019-01-28 2021-06-15 山东华芯半导体有限公司 一种可编程gpio装置及基于该装置的时序实现方法
US11385982B2 (en) * 2019-05-02 2022-07-12 Apple Inc. General purpose input/output with hysteresis
CN110489815B (zh) * 2019-07-26 2020-09-29 广东高云半导体科技股份有限公司 基于i3c总线通信的验证方法及验证系统
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 苏州聚元微电子股份有限公司 适用于多种无线协议的链路层数据控制方法

Family Cites Families (5)

* 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
US8972640B2 (en) * 2012-06-27 2015-03-03 Intel Corporation Controlling a physical link of a first protocol using an extended capability structure of a second protocol
US9927959B2 (en) * 2012-10-05 2018-03-27 Tactual Labs Co. Hybrid systems and methods for low-latency user input processing and feedback
US9129072B2 (en) * 2012-10-15 2015-09-08 Qualcomm Incorporated Virtual GPIO
US9619427B2 (en) * 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO

Also Published As

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

Similar Documents

Publication Publication Date Title
TW201722120A (zh) 用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機
US10642778B2 (en) Slave master-write/read datagram payload extension
US10482055B2 (en) Hardware event priority sensitive programmable transmit wait-window for virtual GPIO finite state machine
US10467154B2 (en) Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US20180357199A1 (en) Slave-to-slave communication in i3c bus topology
TW201902142A (zh) 混合vgpio狀態交換中的輸入/輸出方向解碼
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
US20190227971A1 (en) Architecture for consolidating multiple sources of low-bandwidth data over a serial bus
TW201923605A (zh) 多分支匯流排中之裝置,事件及訊息參數相關性
US10496562B1 (en) Low latency virtual general purpose input/output over I3C
TW201903616A (zh) 虛擬通用目的輸入/輸出介面/虛擬通用目的輸入/輸出及訊息介面上之虛擬通道實例
CN116075815A (zh) 跨接口的批操作
US10733121B2 (en) Latency optimized I3C virtual GPIO with configurable operating mode and device skip
US10684981B2 (en) Fast termination of multilane single data rate transactions
US10592441B2 (en) Bus communication enhancement based on identification capture during bus arbitration
US20190171588A1 (en) Multi-point virtual general-purpose input/output (mp-vgi) for low latency event messaging
US20180357067A1 (en) In-band hardware reset for virtual general purpose input/output interface