TW202219781A - 跨介面批處理操作 - Google Patents
跨介面批處理操作 Download PDFInfo
- Publication number
- TW202219781A TW202219781A TW110128088A TW110128088A TW202219781A TW 202219781 A TW202219781 A TW 202219781A TW 110128088 A TW110128088 A TW 110128088A TW 110128088 A TW110128088 A TW 110128088A TW 202219781 A TW202219781 A TW 202219781A
- Authority
- TW
- Taiwan
- Prior art keywords
- gpio
- messages
- sequence
- vgi
- control
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3808—Network interface controller
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)
Abstract
用於在串列通訊鏈路上通訊虛擬化通用輸入/輸出(GPIO)訊號和控制訊息的系統、方法和裝置。裝置包括串列匯流排和控制器,控制器被配置成:在批處理中表示實體通用輸入/輸出(GPIO)的一系列訊號傳遞狀態,批處理包括虛擬GPIO訊息和控制訊息的序列;產生包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;在通訊鏈路上發送第一標頭;及在通訊鏈路上發送批處理。
Description
本專利申請案主張於2020年10月01日在美國專利商標局提交的待決非臨時申請案第17/061357號的優先權和權益。
本案整體上係關於串列通訊和輸入/輸出針腳配置,並且更具體地,涉及可以在接收器處執行的成批的虛擬通用輸入/輸出狀態和事件的傳輸。
行動通訊設備可以包括各種部件,包括電路板、積體電路(IC)設備及/或片上系統(SoC)設備。部件可以包括處理設備、使用者介面部件、儲存裝置以及經由共享資料通訊匯流排進行通訊的其他周邊部件,該共享的資料通訊匯流排可以包括多點串列匯流排或並行匯流排。業界已知的通用序列介面包括積體電路間(I2C或I
2C)序列介面及其衍生方案和備選方案。
行動行業處理器介面(MIPI)聯盟為改善的積體電路間(I3C)序列介面、射頻前端(RFFE)介面、系統功率管理介面(SPMI)和其他介面定義標準。例如,這些介面可以被用於連接處理器、感測器和其他周邊裝置。在一些介面中,多個匯流排主機被耦合到串列匯流排,以便兩個或兩個以上設備可以用作匯流排主機,該匯流排主機用於在串列匯流排上發送不同類型的訊息。
RFFE標準定義通訊介面,該通訊介面可以被用於控制各種射頻(RF)前端設備,包括功率放大器(PA)、低噪聲放大器(LNA)、天線調諧器、濾波器、感測器、功率管理設備、開關等。這些設備可以被並置在單個IC設備中,或者可以被設置在多個IC設備中。在行動通訊設備中,多個天線和無線電收發器可以支援多個同時RF鏈路。SPMI標準定義硬體介面,該硬體介面可以被實現在基頻或應用處理器與周邊部件之間。在一些情況下,SPMI協定被實現為支援在設備內的功率管理操作。
在一些系統中,訊號在行動通訊設備中的不同部件設備之間的實體輸入/輸出(I/O)連接上發送。這些連接消耗了行動通訊設備內寶貴的通用輸入/輸出(GPIO)針腳,並且期望利用在現有串列資料鏈路上發送的資訊中攜帶的訊號來代替實體互連。然而,串列資料鏈路與延時相關聯,這些延時可能阻止實體命令和控制訊號向虛擬訊號的轉換,特別是在定義固定傳輸期限的行動通訊設備支援的實時嵌入式系統應用中。
隨著行動通訊設備繼續包括更高水平的功能,需要改進的串列通訊技術來支援混合虛擬GPIO狀態資訊在周邊設備和應用處理器之間的傳輸。
本案的某些態樣涉及系統、裝置、方法和技術,其可以在不同設備之間提供最佳化的低延時通訊,使得實體GPIO狀態和訊號可以作為虛擬GPIO狀態和訊號而被攜帶。提供了一或多個虛擬GPIO有限狀態機(VGI FSM),其可以整合來自多個來源的多種類型的異構GPIO狀態資訊,並且可以在資料通訊匯流排上將狀態資訊分發到一或多個設備。在一態樣,異構GPIO狀態資訊包括對應於輸入和輸出GPIO針腳的信息。
在本案的各個態樣,一種在資料通訊設備處執行的方法包括:在包括虛擬GPIO訊息的序列的批處理中表示實體GPIO的一系列訊號傳遞狀態;產生包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;在通訊鏈路上發送第一標頭;及在通訊鏈路上發送該批處理。
在本案的各個態樣,一種資料通訊裝置具有:收發器電路,被配置成經由通訊鏈路將該裝置耦合到遠端設備;及控制器,被配置成:在批處理中表示實體GPIO的一系列訊號傳遞狀態,批處理包括虛擬GPIO訊息的序列;產生包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;在通訊鏈路上發送第一標頭;及在通訊鏈路上發送該批處理。
在本案的各個態樣,一種在資料通訊設備處執行的方法包括:接收包括虛擬通用輸入/輸出(GPIO)訊息的序列的批處理,虛擬通用輸入/輸出(GPIO)訊息表示實體GPIO的一系列訊號傳遞狀態;接收包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;及使用定時資訊,從虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。
在本案的各個態樣,資料通訊裝置具有收發器電路,該收發器電路被配置成:接收包括虛擬GPIO訊息的序列的批處理,該虛擬GPIO訊息表示實體GPIO的一系列訊號傳遞狀態;接收包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;及使用定時資訊,從虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。
下文結合附圖闡述的詳細描述意欲作為對各種配置的描述,而不意欲表示可以實踐本文描述的概念的唯一配置。為了提供對各種概念的透徹理解,詳細描述包括特定細節。然而,對於本發明所屬領域中具有通常知識者而言明顯的是,可以在沒有這些具體細節的情況下實踐這些概念。在一些情況下,以方塊圖形式圖示公知的結構和部件,以避免使這些概念模糊。
現在將參考各種裝置和方法來呈現本發明的幾個態樣。這些裝置和方法將在下文的詳細描述中進行描述,並且在附圖中經由各種方塊、模組、部件、電路、步驟、程序、演算法等(統稱為「元件」)進行說明。可以使用電子硬體、電腦軟體或其任意組合來實現這些元件。將這些元件實現為硬體還是軟體取決於特定的應用和施加在整個系統上的設計約束。
概述
包括多個SoC和其他IC設備的設備通常採用共享的通訊介面,該共享的通訊介面可以包括串列匯流排或其他資料通訊鏈路,以將處理器與數據機以及其他周邊設備連接。可以根據所定義的多個標準或協定來操作串列匯流排或其他資料通訊鏈路。在一個實例中,可以根據I2C、I3C、SPMI及/或RFFE協定來操作串列匯流排。根據本文揭示的某些態樣,GPIO針腳、跡線、連接器或終端的訊號傳遞狀態可以在經由資料通訊鏈路在VGI訊息中發送的虛擬GPIO狀態資訊的一或多個位元中表示。虛擬GPIO狀態資訊可以在各種通訊鏈路上發送,包括具有有線和無線通訊鏈路的鏈路。例如,虛擬GPIO狀態資訊可以被群組或以其他方式格式化,以用於在包括藍芽、無線LAN、蜂巢網路等的無線網路上傳輸。本文描述涉及有線通訊鏈路的實例,以促進對某些態樣的理解。這些態樣可以同樣適用於其中GPIO狀態資訊的傳輸包括在無線網路上傳輸的實施方式。
本文揭示的某些態樣提供了適於使設備能夠在虛擬GPIO狀態資訊中表示軟體事件和軟體發起的事件的方法、電路和系統,該虛擬GPIO狀態資訊可以經由串列通訊鏈路在具有定時資訊的VGI訊息的批處理中發送。可以根據定時資訊執行批處理以監控、控制和操作位於遠端設備中的周邊設備。可以使用有線或無線通訊技術來實現與遠端設備的通訊。
採用串列資料鏈路的裝置的實例
根據某些態樣,串列資料鏈路可以被用於互連作為裝置的子部件的電子設備,諸如蜂巢式電話、智能電話、通信期發起協定(SIP)電話、膝上型電腦、筆記本電腦、上網筆記本電腦、智能筆記本電腦、個人數位助理(PDA)、衛星廣播、全球定位系統(GPS)設備、智慧家居設備、智慧照明、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、攝像頭、遊戲機、娛樂設備、車輛部件、可穿戴計算設備(例如,智能手錶、健康或健身追蹤器、眼鏡等)、器具、感測器、安全裝置、自動售貨機、智慧儀表、無人駕駛飛機、多功能直升機或任何其他類似的功能設備。
圖1圖示了可以採用資料通訊匯流排的裝置100的實例。裝置100可以包括SoC處理電路102,SoC處理電路102具有多個電路或設備104、106及/或108,該等電路或設備可以被實現在一或多個ASIC中或被實現在SoC中。在一個實例中,裝置100可以是通訊設備,並且處理電路1 02可以包括:處理設備,處理設備被設置在ASIC 104中;一或多個周邊設備106;及收發器108,收發器108使得裝置能夠經由天線124與無線電存取網路、核心存取網路、網際網路及/或另一個網路通訊。
ASIC 104可以具有一或多個處理器112、一或多個數據機110、板載記憶體114、匯流排介面電路116及/或其他邏輯電路或功能。處理電路102可以由操作系統控制,操作系統可以提供應用程式設計介面(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可以提供一或多個匯流排118a、118b、120,匯流排使得某些設備104、106及/或108能夠通訊。在一個實例中,ASIC 104可以包括匯流排介面電路116,該匯流排介面電路116包括電路、計數器、計時器、控制邏輯和其他可配置電路或模組的組合。在一個實例中,匯流排介面電路116可以被配置成根據標準定義的通訊規範或協定進行操作。處理電路102可以包括或控制功率管理功能,該功率管理功能配置和管理裝置100的操作。
圖2圖示了裝置200的某些態樣,裝置200包括被耦合到串列匯流排220的多個設備202和222
0-222
N。設備202和222
0-222
N可以在一或多個半導體IC設備(諸如,應用處理器、SoC或ASIC)中被實現。在各種實施方式中,設備202和222
0-222
N可以包括、支援或被操作為數據機、訊號處理設備、顯示驅動器、攝像頭、使用者介面、感測器、感測器控制器、媒體播放機、收發器、RFFE設備及/或其他這種部件或設備。在一些實例中,從設備222
0-222
N中的一或多個從設備可以被用於控制、管理或監控感測器設備。由匯流排主設備202控制設備202與222
0-222
N之間在串列匯流排220之上的通訊。某些類型的匯流排可以支援多個匯流排主設備202。
在一個實例中,主設備202可以包括介面控制器204,介面控制器204管理對串列匯流排的存取,配置用於從設備222
0-222
N的動態位址及/或導致要在串列匯流排220的時鐘線218上發送時鐘訊號228。主設備202可以包括配置暫存器206或其他儲存裝置224,以及被配置成處理協定及/或更高級別功能的其他控制邏輯212。控制邏輯212可以包括處理電路或設備,諸如狀態機、定序器、訊號處理器或通用處理器。主設備202包括收發器210以及線驅動器/接收器214a和214b。收發器210可以包括接收器、發射器和公共電路,其中公共電路可以包括定時、邏輯和儲存電路及/或設備。在一個實例中,發射器基於在由時鐘產生電路208提供的時鐘訊號228中的定時來編碼和發送資料。亦可以由控制邏輯212和其他功能、電路或模組使用其他定時時鐘226。
至少一個設備222
0-222
N可以被配置成操作為在串列匯流排220上的從設備,並且可以包括支援顯示器的電路和模組、影像感測器及/或電路和模組,電路和模組控制並且與一或多個量測環境條件的感測器通訊。在一個實例中,被配置成作為從設備操作的從設備222
0可以提供控制功能、模組或電路232,該控制功能、模組或電路232包括電路和模組以支援顯示器、影像感測器及/或電路和模組,電路和模組控制並且與一或多個量測環境條件的感測器通訊。從設備222
0可以包括配置暫存器234或其他儲存裝置236、控制邏輯242、收發器240和線驅動器/接收器244a和244b。控制邏輯242可以包括處理電路或設備,諸如狀態機、定序器、訊號處理器或通用處理器。收發器240可以包括接收器、發射器和公共電路,其中公共電路可以包括定時、邏輯和儲存電路及/或設備。在一個實例中,發射器基於由時鐘產生及/或恢復電路246提供的在時鐘訊號248中的定時來編碼和發送資料。時鐘訊號228可以從來自時鐘線218接收的訊號導出。可以由控制邏輯242和其他功能、電路或模組使用其他定時時鐘238。
可以根據I2C協定、I3C協定、RFFE協定、SPMI協定或另一個協定來操作串列匯流排220。至少一個設備202、222
0-222
N可以被配置成選擇性地用作在串列匯流排220上的主設備或從設備任一者。兩個或兩個以上設備202、222
0-222
N可以被配置成作為在串列匯流排220上的主設備操作。
在一些實施方式中,可以根據I3C協定操作串列匯流排220。使用I3C協定通訊的設備可以與使用I2C協定通訊的設備共存在相同的串列匯流排220上。I3C協定可以支援不同的通訊模式,包括與I2C協定相容的單資料率(SDR)模式。高資料率(HDR)模式可以提供在6百萬位元每秒(Mbps)與16Mbps之間的資料傳輸速率,並且一些HDR模式可以提供更高的資料傳輸速率。I2C協定可以符合事實上的I2C標準,提供的資料率範圍在100千位每秒(kbps)與3.2Mbps之間。除了資料格式和匯流排控制態樣之外,I2C和I3C協定亦可以定義在兩線串列匯流排220上發送的訊號的電氣和定時態樣。在一些態樣,I2C和I3C協定可以定義影響與串列匯流排220相關聯的某些訊號位準的直流(DC)特性,及/或影響在串列匯流排220上發送的訊號的某些定時態樣的交流(AC)特性。在一些實例基於在串列匯流排220的時鐘線218上發送的時鐘訊號中提供的定時資訊,在串列匯流排220的資料線216上發送資料。在一些情況下,資料可以被編碼在訊號傳遞狀態中,或被編碼在資料線216和時鐘線218兩者的訊號傳遞狀態的轉換中。
圖3圖示了包括多個RFFE匯流排328、330、332的裝置300的某些態樣,多個RFFE匯流排328、330、332被配置成耦合到各個RF前端設備316、318、320、322、324、326。數據機302包括RFFE介面308,RFFE介面308將數據機302耦合到第一RFFE匯流排328。數據機302可以經由一或多個通訊鏈路310、334與基頻處理器306和射頻IC(RFIC 304)通訊。所圖示的裝置300可以被實施在行動通訊設備、行動電話、行動計算系統、行動電話、筆記本電腦、平板計算設備、媒體播放機、戲設備、可穿戴計算及/或通訊設備、電器等中。
在各種實例中,裝置300可以利用一或多個基頻處理器306、數據機302、RFIC 304、多個通訊鏈路310、334、多個RFFE匯流排328、330、332及/或其他類型的匯流排來被實現。裝置300可以包括其他處理器、電路或模組,並且可以被配置用於各種操作及/或不同的功能。在圖3圖示的實例中,數據機302經由其RFFE介面308和第一RFFE匯流排328耦合到RF調諧器316。RFIC 304可以包括一或多個RFFE介面312、314、控制器、狀態機及/或處理器,它們可以配置和控制RF前端的某些態樣。RFIC 304可以經由其第一RFFE介面312和第二RFFE匯流排330與PA 318和功率追蹤模組320通訊。RFIC 304可以與開關322和一或多個LNA 324、326通訊。
匯流排延時可以影響串列匯流排處理高優先級、實時或其他受時間限制的訊息的能力。低延時訊息或要求低匯流排延時的訊息可以與感測器狀態、設備產生的實時事件和虛擬化GPIO有關。在一個實例中,匯流排延時可以被量測為在訊息變得可用於傳輸與訊息的遞送(或者在一些情況下,訊息的傳輸的開始)之間經過的時間。可以採用匯流排延時的其他度量。匯流排延時通常包括:當發送更高優先級訊息時產生的延遲;中斷處理;終止在串列匯流排上正在進行的資料報所需的時間;導致匯流排在發送模式與接收模式之間轉換的命令的發送時間;由協定指定的匯流排仲裁或命令傳輸。
在某些實例中,延時敏感訊息可以包括共存訊息。在多系統平臺中發送共存訊息,以防止或減少相互影響的某些設備類型的實例,包括例如開關322、LNA 324、326、PA 318和其他類型的設備,這些設備以可以產生設備間干擾,或者可能經由高功率電磁干擾對一或多個主動設備造成損壞的方式,來同時操作。可能相互干擾的設備可以交換共存管理(CxM)訊息,以允許每個設備用訊號通知可能導致干擾或衝突的即將發生的行動。CxM訊息可以用於管理共享部件(包括開關322、LNA 324、326、PA 318及/或天線)的操作。
多點介面(諸如,RFFE、SPMI、I3C等)可以減少用於在多個設備之間通訊的實體I/O針腳的數目。支援在多點串列匯流排上通訊的協定定義用於發送命令、控制和資料有效負載的資料報結構。用於不同協定的資料報結構定義公共特徵,包括用於選擇要接收或發送資料的設備的尋址、時鐘產生和管理、中斷處理以及設備優先級。在本案中,採用RFFE協定的實例來說明本文揭示的某些態樣。但是,本文揭示的概念適用於其他串列匯流排協定和標準。
訊號傳遞虛擬GPIO配置資訊
圖4圖示了包括應用處理器402和多個周邊設備404、406、408的裝置400。在該實例中,每個周邊設備404、406、408在相應的通訊鏈路410、412、414上與應用處理器402通訊,該通訊鏈路410、412、414可以獨立操作及/或根據相互不同的協定操作。應用處理器402和每個周邊設備404、406、408之間的通訊可以涉及在應用處理器402和周邊設備404、406、408之間運載控制或命令訊號的額外線路。這些額外線路可以被稱為邊頻帶通用目的輸入/輸出(邊頻帶GPIO 420、422、424),並且在一些情況下邊頻帶GPIO 420、422、424所需的連接的數目可以超過用於對應通訊鏈路410、412、414的連接的數目及/或積體電路設備上可用於外部連接的實體GPIO針腳的數目。
術語GPIO針腳或GPIO端子在本文中可以用於指可以用於互連電路或設備的通用針腳、連接器、墊或端子。可以為特定應用定制GPIO針腳和GPIO連接。例如,根據應用需要,GPIO針腳可以可程式為用作輸出針腳、輸入針腳或雙向針腳。在一個實例中,應用處理器402可以分配及/或配置多個GPIO針腳,以與諸如數據機的周邊設備404、406、408進行交握訊號傳遞或處理器間通訊(IPC)。當使用交握訊號傳遞時,邊頻帶訊號傳遞可以是對稱的,其中訊號傳遞由應用處理器402和周邊設備404、406、408發送和接收。隨著設備複雜性的增加,用於IPC目的的GPIO針腳數量的增加可能顯著增加製造成本並且限制其他系統級周邊設備介面的GPIO可用性。
根據本案的某些態樣,GPIO(包括與通訊鏈路相關聯的GPIO)的狀態可以經由擷取和數位表示GPIO的訊號傳遞狀態來被虛擬化。虛擬化GPIO可以在資料通訊鏈路上被組合、序列化和發送。在一個實例中,虛擬化GPIO可以在I3C匯流排、RFFE匯流排、SPMI匯流排或其他匯流排上以封包的形式發送,使用命令和控制協定來指示封包內容及/或目的地。虛擬化GPIO的接收器可以對從資料通訊鏈路接收的傳輸進行解序列化,並且可以根據虛擬化GPIO向處理電路提供訊息、事件或驅動實體GPIO。
圖5圖示了根據本文揭示的某些態樣的已經被適配為提供虛擬GPIO介面(VGI)的裝置500。VGI使複數個GPIO針腳522的狀態能夠以虛擬GPIO狀態資訊的位元來表示,虛擬GPIO狀態資訊的位元可以在通訊鏈路上被序列化和發送。本文揭示的VGI訊息傳遞技術可以減少用於將應用處理器502與一或多個周邊設備504、506、508連接的實體針腳和連接的數目。在一些實例中,應用處理器502被實施在SoC或其他積體電路中,而周邊設備504、506、508可以與應用處理器502共同定位及/或被實施在一或多個其他SoC或積體電路設備中。在一個實例中,積體電路可以包括共享在積體電路中提供的RF收發器的多個數據機。周邊設備504、506、508可以在公共共享匯流排上或在單獨的、不同的通訊鏈路510、512、514上與應用處理器502通訊。
在所圖示的裝置500中,通訊鏈路510、512、514可以對應於圖4中圖示的通訊鏈路410、412、414,其中實體GPIO針腳522(例如,邊頻帶GPIO 420、422、424)被虛擬化在VGI訊息中,該VGI訊息由有限狀態機(FSM 518)編碼成封包,以用於在串列匯流排520上傳輸。處理電路528的多個實體GPIO針腳522的訊號傳遞狀態可以使用一或多個二進位位來擷取和數位表示。負責在串列匯流排520上發送封包的實體層電路和模組(PHY 516)可以組合和優先化封包的應用訊息526和封包的VGI訊息524,以用於在串列匯流排520上傳輸。在一些實施方式中,FSM 518可以組合和優先化封包的應用訊息526和封包的VGI訊息524。
圖6圖示了系統600的配置,其使得能夠在具有資料線618和時鐘線620的串列匯流排610上在各種設備之間交換VGI訊息。系統600包括主機SoC 602和多個周邊設備612。應當理解,本文揭示的某些概念同樣適用於根據其他協定(諸如I2C、I3C、RFFE和SPMI協定)操作的通訊鏈路。主機SoC 602可以包括VGI有限狀態機(VGI FSM 606)和匯流排介面604。匯流排介面604根據匯流排協定與周邊設備612中的對應匯流排介面614協調,以提供主機SoC 602和周邊設備612之間的通訊鏈路。每個周邊設備612包括VGI FSM 616。在一些實例中,主機SoC 602可以包括可配置介面,該可配置介面可以用於使用I2C、I3C、RFFE及/或另一個適當協定的一些組合來通訊。
圖7圖示了系統700,其中VGI訊息被群組成一或多個VGI封包724並且在封包串流710中被發送,封包流710包括訊息722、726、728、730、732,其攜帶與由主機SoC 602支援的一或多個應用相關聯的訊息。VGI封包724和封包串流710中的訊息722、726、728、730、732中的一或多個訊息可以在串列匯流排610上並且在主機SoC 602和至少一個周邊設備612之間交換。
主機SoC 602中的有限狀態機702可以包括封包化器704,封包化器704被配置成產生經由實體層介面PHY 708發送的VGI封包724。在一些實例中,有限狀態機702可以使VGI封包724優先於訊息722、726、728、730、732中的一或多個訊息,該一或多個訊息包括要在串列匯流排610上發送的應用資訊或控制資訊。有限狀態機702可以將VGI封包724插入到訊息722、726、728、730、732的串流中,以用於在串列匯流排610上傳輸。有限狀態機702可以經由PHY 708接收VGI封包724和訊息722、726、728、730、732中的一或多個訊息。有限狀態機702可以將接收的訊息722、726、728、730及/或732傳遞到主機SoC 602中的其他功能及/或電路。有限狀態機702可以包括對接收的VGI封包724中的虛擬化GPIO狀態資訊進行解碼的解封包化器706,並且可以根據GPIO狀態資訊來驅動實體訊號及/或實體GPIO針腳。
周邊設備612中的有限狀態機712可以包括封包化器714,封包化器714被配置成產生要由PHY 718發送的VGI封包724。在一些實例中,有限狀態機712可以針對在串列匯流排610上的傳輸使VGI封包724優先化。有限狀態機712可以將VGI封包724插入到訊息722、726、728、730、732的串流中。有限狀態機712可以經由PHY 718接收VGI封包724和訊息722、726、728、730、732中的一或多個訊息。有限狀態機712可以將接收的訊息722、726、728、730、732傳遞到周邊設備612中的其他功能及/或電路。有限狀態機712可以包括對接收的VGI封包724中的虛擬化GPIO狀態資訊進行解碼的解封包化器716,並且可以根據GPIO狀態資訊來驅動實體訊號及/或實體GPIO針腳。
VGI封包724的交換使得主機SoC 602中的實體GPIO針腳能夠追蹤和複製周邊設備612中的對應實體GPIO針腳的訊號傳遞狀態,並且使得周邊設備612中的實體GPIO針腳能夠追蹤和複製主機SoC 602中的對應實體GPIO針腳的訊號傳遞狀態。
圖8圖示了根據本文揭示的某些態樣的被適配為支援VGI訊息在應用處理器802和周邊設備824之間的交換的裝置800。實體GPIO的訊號傳遞狀態、實體GPIO的訊號傳遞狀態的改變及/或經由實體GPIO發送的訊號可以以虛擬GPIO資訊(可以在VGI訊息中提供)的位元來表示,在通訊鏈路822上被序列化和發送。在一個實例中,以虛擬GPIO資訊的位元表示的實體GPIO的訊號傳遞狀態可以對應於在實體GPIO針腳處觀察或預期的電壓位準。在一些實施方式中,經由針腳、跡線、連接器線等發送的訊號(GPIO訊號)可以被表示為在VGI訊息中發送的虛擬狀態資訊的時間序列。例如,GPIO針腳的虛擬狀態資訊可以由二進位位元表示,其中位元值‘0’表示‘0’位準或邏輯狀態,位元值‘1’表示‘1’位準或邏輯狀態。在一些實施方式中,經由針腳、跡線、連接器線等發送的訊號(GPIO訊號)可以作為虛擬狀態改變的序列進行通訊並且在VGI訊息中被發送。在一個實例中,狀態改變可以由二進位位元表示,其中位元值‘0’表示狀態從‘0’位準到‘1’位準的正轉換或改變,並且位元值‘1’表示狀態從‘1’位準到‘0’位準的負轉換或改變。在另一個實例中,狀態改變可以由二進位位元表示,其中位元值‘0’表示位準或邏輯狀態沒有改變,並且位元值‘1’表示位準或邏輯狀態的改變。可以根據需要來實現其他實例和值的分配,並且用於表示GPIO狀態或狀態的改變的位元的數目可以隨應用變化。
在一些情況下,VGI訊息在實體GPIO狀態的改變出現之後被發送。在一個實例中,VGI訊息可以被編碼在封包中,該封包經由使用串列匯流排實現的通訊鏈路822被發送。當使用串列匯流排實現通訊鏈路822時,接收周邊設備824可以對接收的封包進行解序列化並且可以從接收的封包提取VGI訊息,並且在一些情況下提取應用訊息或控制訊息。周邊設備824中的VGI FSM 826可以將VGI訊息轉換為實體GPIO狀態、狀態的改變及/或可以在內部GPIO介面處呈現的訊號。
在另一個實例中,通訊鏈路822可以由支援無線通訊的射頻收發器提供,例如使用藍芽協定、無線區域網路(WLAN)協定、蜂巢廣域網路及/或另一無線通訊協定。當通訊鏈路822包括無線連接時,應用訊息、控制訊息及/或VGI訊息可以被編碼成可以在通訊鏈路822上發送的封包、訊框、子訊框或其他結構,並且接收周邊設備824可以提取、解序列化和以其他方式處理接收的訊號傳遞以獲得應用訊息、控制訊息或VGI訊息。在接收到應用訊息、控制訊息或VGI訊息時,VGI FSM 826或接收設備的另一部件可以中斷其主機處理器,來指示應用訊息、控制訊息、GPIO狀態或GPIO狀態的改變的接收。
在通訊鏈路822被提供為串列匯流排的實例中,應用訊息、控制訊息或VGI訊息可以在根據I2C、I3C、RFFE、SPMI協定等配置的封包中被發送。在所示實例中,VGI訊息可以被交換,以適應應用處理器802和周邊設備824之間的I/O橋接。應用處理器802可以被實現為ASIC、SoC或多個設備的某種組合。應用處理器802包括處理器(中央處理單元或CPU 804),其產生與一或多個通訊通道806相關聯的訊息和GPIO。在通訊通道806上發送的應用訊息、控制訊息及/或VGI訊息可以由VGI FSM 826中的相應監控電路812、814監控。在一些實例中,GPIO監控電路812或其他電路可以被適配為產生表示實體GPIO訊號的狀態的VGI訊息。在一些實例中,GPIO監控電路812或其他電路可以被適配為:回應於實體GPIO訊號的狀態的改變,而產生應用訊息、控制訊息或VGI訊息。
估計電路818可以被配置成估計針對GPIO訊號和應用訊息或控制訊息的延時資訊,並且可以為通訊鏈路822選擇協定及/或通訊模式,該協定及/或通訊模式最佳化編碼和發送應用訊息、控制訊息或VGI訊息的延時。估計電路818可以維持協定和模式資訊816,其表徵在選擇協定及/或通訊模式時要考慮的通訊鏈路822的某些態樣。估計電路818亦可以被配置成:選擇用於編碼和發送應用訊息、控制訊息或VGI訊息的分群組類型。估計電路818可以提供由封包化器820用來對應用訊息、控制訊息或VGI訊息進行編碼的配置資訊。在一個實例中,配置資訊被提供為可以被封裝在封包中的命令,使得可以在接收器處決定封包的類型。亦可以向實體層電路(PHY 808)提供可以是命令的配置資訊。PHY 808可以使用配置資訊來選擇用於發送相關聯封包的協定及/或通訊模式。隨後,PHY 808可以產生適當的訊號傳遞以發送封包。
周邊設備824可以包括VGI FSM 826,其可以被配置成處理從通訊鏈路822接收的資料封包。在周邊設備824處的VGI FSM 826可以提取訊息,並且可以將VGI訊息中的位元的位置映射到周邊設備824中的實體GPIO針腳。在某些實施例中,通訊鏈路822是雙向的,並且應用處理器802和周邊設備824皆可以作為發射器和接收器兩者進行操作。
應用訊息、控制訊息及/或VGI訊息可以被封裝到在通訊鏈路822上發送的封包中,通訊鏈路822例如可以是多線串列匯流排或多線並行匯流排。應用處理器802中的PHY 808和周邊設備824中的對應PHY 828可以被配置成建立和操作通訊鏈路822。PHY 808和PHY 828可以耦合到或包括無線收發器108(參見圖1),無線收發器108支援無線通訊。在一些實例中,PHY 808和PHY 828可以被配置成分別在應用處理器802和周邊設備824處提供兩線介面,其中兩線介面與I2C、I3C、RFFE、SPMI或其他協定相容。
如本文所揭示的,VGI隧道可以使用被配置成用於操作通訊鏈路822的現有或可用協定來被實現,並且無需實體GPIO針腳的完整補充。在沒有應用處理器802及/或周邊設備824中的處理器的幹預的情況下,VGI FSM 810、826可以處理GPIO訊號傳遞。VGI隧道的使用可以減少與通訊鏈路822相關聯的針腳數、功耗和延時。
在接收設備處,VGI訊息被轉換成實體GPIO訊號。可以使用VGI訊息來配置實體GPIO針腳的某些特性。例如,可以使用VGI訊息,來配置實體GPIO針腳的轉換速率、極性、驅動強度和其他相關參數和屬性。用於配置實體GPIO針腳的配置參數可以被儲存在與對應GPIO針腳相關聯的配置暫存器中。這些配置參數可以使用專有或一般協定(諸如I2C、I3C或RFFE)進行尋址。在一個實例中,配置參數可以被維持在I3C可尋址暫存器中。本文揭示的某些態樣涉及減少與配置參數和對應位址(例如,用於儲存配置參數的暫存器的位址)的傳輸相關聯的延時。
被適配為在I2C、I3C、RFFE或SPMI串列匯流排上以封包及/或作為事務序列來通訊VGI訊息的通訊介面,在本文中可以被稱為VGI訊息傳遞介面或VGMI。VGI訊息在事務、封包或訊框中的存在可以使用特殊命令代碼來用訊號通知,以將該訊框標識為VGI訊框。在一些實施方式中,串列資料串流可以以類似於通用異步接收器/發射器(UART)訊號傳遞和訊息傳遞協定的形式被發送,在本文中可以被稱為UART_VGI操作模式。
圖9圖示了VGI廣播訊框900、920的實例。在第一實例中,根據I2C或I3C協定,VGI廣播訊框900以起始位元902(S)開始,跟隨有標頭904。可以使用VGI廣播公共命令代碼906來標識VGI廣播訊框。VGI資料有效負載908包括數目(n)個VGI訊息912
0-912
n-1,範圍從第一VGI訊息912
0到第nVGI訊息912
n-1。VGI FSM可以包括映射表,該映射表將VGI資料有效負載908中的VGI訊息的位元位置映射到實體GPIO針腳。VGI資料有效負載908中的訊號傳遞的虛擬性質對於發射和接收設備中的處理器可以是透明的。
在第二實例中,可以由主機設備發送經掩碼的VGI廣播訊框920,以寫入一或多個GPIO針腳的狀態,而不干擾其他GPIO針腳的狀態。在該實例中,針對一或多個設備的I/O訊號被掩蔽,而目標設備中的I/O訊號未被掩蔽。經掩碼的VGI廣播訊框920以起始位元922開始,跟隨有標頭924。經掩碼的VGI廣播訊框920可以使用掩碼VGI廣播公共命令代碼926來被標識。VGI資料有效負載928可以包括I/O訊號值934
0-934
n-1和對應的掩碼位元932
0-932
n-1,範圍從第一I/O訊號(IO
0)的第一掩碼位元M
0932
0到第n I/O訊號IO
n-1的第n掩碼位元M
n-1932
n-1。
停止位元或同步位元(Sr/P 910、930)終止VGI廣播訊框900、920。同步位元可以被發送,來指示要發送額外VGI有效負載。在一個實例中,同步位元可以是I2C介面中的重複START位元。
圖10圖示了定向VGI訊框1000、1020的實例。在第一實例中,定向VGI訊框1000可以尋址到單個周邊設備,或者在一些情況下,尋址到一組周邊設備。根據I2C或I3C協定,定向VGI訊框1000中的第一定向VGI訊框以起始位元1002(S)開始,跟隨有標頭1004。定向VGI訊框1000可以使用VGI定向公共命令代碼1006來被標識。定向公共命令代碼1006可以跟隨有同步欄位1008a(Sr)和位址欄位1010a,位址欄位1010a包括從設備標識符以選擇所尋址的設備。跟隨著位址欄位1010a的定向VGI資料有效負載1012a包括值1016,值1016用於與所尋址的設備有關的I/O訊號的集合。定向VGI訊框1000可以包括用於額外設備的額外定向VGI資料有效負載1012b。例如,第一定向VGI資料有效負載1012a可以跟隨有同步欄位1008b和第二位址欄位1010b。在該實例中,第二定向VGI資料有效負載1012b包括值1018,值1018用於與第二尋址的設備有關的I/O訊號的集合。定向VGI訊框1000的使用可以允許用於VGI廣播訊框900、920中攜帶的I/O訊號的子集或部分的值的傳輸。
在第二實例中,可以由主機設備發送經掩碼的定向VGI訊框1020,以寫入一或多個GPIO針腳的狀態,而不干擾單個周邊設備中的其他GPIO針腳的狀態並且不影響其他周邊設備。在一些實例中,一或多個設備中的I/O訊號可以被掩蔽,而一或多個目標設備中的選中I/O訊號未被掩蔽。經掩碼的定向VGI訊框1020以起始位元1022開始,跟隨有標頭1024。經掩碼的定向VGI訊框1020可以使用掩碼VGI定向命令代碼1026來被標識。掩碼VGI定向命令代碼1026可以跟隨有同步欄位1028(Sr)和位址欄位1030,位址欄位1030包括從設備標識符以選擇所尋址的設備。隨後的定向有效負載1032包括用於與尋址的設備有關的I/O訊號的集合的VGI值。例如,定向有效負載1032中的VGI值可以包括I/O訊號值1038和對應的掩碼位元1036。
停止位元或同步位元(Sr/P 1014、1034)終止定向VGI訊框1000、1020。同步位元可以被發送,以指示要發送額外VGI有效負載。在一個實例中,同步位元可以是I2C介面中的重複START位元。
在接收設備(例如,應用處理器502或周邊設備504、506、508)處,接收的VGI訊息被擴展為呈現在GPIO針腳上的實體GPIO訊號狀態。如本文使用的術語「針腳」可以指實體結構,諸如墊、針腳或其他互連元件,其用於將IC耦合到電路板、襯底等上提供的導線、跡線、通孔或其他合適的實體連接器。每個GPIO針腳可以與一或多個配置暫存器相關聯,配置暫存器儲存用於GPIO針腳的配置參數。圖11圖示了可以與實體針腳相關聯的配置暫存器1100和1120的實例。每個配置暫存器1100、1120被實現為一個字節(8位元)的暫存器,其中不同的位元或位元組定義可以經由配置控制的特性或其他特徵。在第一實例中,位元D0-D2 1102控制用於GPIO針腳的驅動強度,位元D3-D5 1104控制用於GPIO針腳的轉換速率,位元D6 1106使能中斷,並且位元D7 1108決定中斷是邊沿觸發還是由電壓位準觸發。在第二實例中,位元D0 1122選擇GPIO針腳是接收反相訊號還是接收非反相訊號,位元D1-D2 1124定義輸入針腳或輸出針腳的類型,位元D3-D4 1126定義未驅動針腳的某些特性,位元D5-D6 1128定義用於訊號傳遞狀態的電壓位準,並且位元D7 1130控制用於GPIO針腳的二進位值(亦即,GPIO針腳是攜帶二進位1還是二進位0)。
異構VGI
在採用VGI訊息在設備之間交換GPIO狀態資訊的介面中,第一設備中的實體GPIO針腳可以追蹤和複製第二設備中的對應實體GPIO針腳的訊號傳遞狀態,反之亦然。可以在串列匯流排或攜帶其他訊息的其他通訊鏈路上交換VGI訊息,其他訊息包括應用訊息或控制訊息,應用訊息或控制訊息被發送到設備、周邊設備及/或應用或在它們之間發送。應用訊息可以包括由感測器產生的有效負載資料,或包括與由處理電路執行的應用有關或由應用產生的狀態資訊。其他訊息可以包括管理和控制訊息,包括由應用、設備驅動器和其他軟體產生的事件。事件可以包括軟體中斷、陷阱、標誌或訊號量的狀態改變以及其他程序間訊息。可以在高優先級應用封包中發送管理和控制訊息,並且VGI有限狀態機可以被配置成:在攜帶VGI訊息、高優先級應用訊息、管理和控制訊息的封包之間進行仲裁。
根據本文揭示的某些態樣,軟體事件可以由被適配為產生表示實體GPIO狀態資訊的VGI封包的有限狀態機來處理。可以以與表示實體GPIO相同的方式來表示軟體事件和某些管理和控制訊息。在一個實例中,當實體GPIO表示與硬體事件相關聯的訊號傳遞狀態時,可以以與表示實體GPIO相同的方式來表示軟體事件。在一些實施方式中,軟體事件可以被轉換成實體訊號,該實體訊號可以由VGI有限狀態機處理,而VGI有限狀態機有很少調整或沒有調整。在一些實施方式中,軟體事件可以被轉換為被配置成處理虛擬化GPIO的暫存器中的位元設置(參見圖11的配置暫存器1100和1120)。
圖12圖示了根據本文揭示的某些態樣的被適配為將硬體和軟體事件表示為虛擬GPIO的裝置1200。硬體事件可以由實體GPIO的狀態改變產生,而軟體事件可以由應用或操作系統產生,並且以訊息、記憶體值或暫存器值,或者作為對由操作系統或應用監控的函數的調用來進行通訊。
在所示的裝置1200中,應用處理器1202包括中央處理單元(CPU 1204)、有限狀態機1206和PHY 1208。PHY 1208可以處理在串列匯流排1250上運載VGI訊息的封包的傳輸。VGI訊息由有限狀態機1206提供給PHY 1208。有限狀態機1206可以被適配為包括硬體事件處理器1210和軟體事件處理器1214。GPIO處理器1210可以監控作為硬體事件的源的實體GPIO 1212。實體GPIO 1212可以如本文揭示的一般被虛擬化。在一些情況下,GPIO處理器1210可以在VGI訊息中包括明確地將所包括的狀態資訊標識為與實體GPIO相關的資訊。
軟體事件處理器1214可以直接從一或多個軟體事件源1216接收軟體事件訊息。在一些情況下,軟體事件處理器1214可以接收或監控包括其他類型訊息的封包流。軟體事件處理器1214可以基於應用的直接通知或經由監控應用處理器1202的某些操作,來標識軟體事件。在一個實例中,產生事件的應用對由軟體事件處理器1214監控的暫存器進行寫入。軟體事件處理器1214可以提供和監控表示軟體事件的實體訊號1218,並且可以在實體訊號1218和軟體事件源1216之間進行轉換。有限狀態機1206可以產生要被發送到周邊設備1222的VGI訊息。在一些實施方式中,軟體處理器1214可以將軟體事件編碼在被提供給有限狀態機1206的VGI訊息1220中。軟體處理器1214可以在VGI訊息1220中包括標識VGI訊息1220中的軟體事件的資訊。
有限狀態機1206亦可以經由PHY 1208從周邊設備1222接收VGI訊息。周邊設備1222可以包括中央處理單元(CPU 1224)、有限狀態機1226和PHY 1228。PHY 1228可以處理在串列匯流排1250上運載VGI訊息的封包的傳輸。VGI訊息由有限狀態機1226提供給PHY 1228。有限狀態機1226可以被適配為包括硬體事件處理器1230和軟體事件處理器1234。GPIO處理器1230可以監控作為硬體事件的源的實體GPIO 1232。實體GPIO 1232可以如本文所揭示的一般被虛擬化。在一些情況下,GPIO處理器1230可以在VGI訊息中包括明確地將所包括的狀態資訊標識為與實體GPIO相關的資訊。
軟體事件處理器1234可以直接從一或多個軟體事件源1236接收軟體事件訊息。在一些情況下,軟體事件處理器1234可以接收或監控包括其他類型訊息的封包串流。軟體事件處理器1234可以基於應用的直接通知及/或經由監控周邊設備1222的某些操作,來標識軟體事件。在一個實例中,產生事件的應用對由軟體事件處理器1234監控的暫存器進行寫入。軟體處理器1234可以提供和監控表示軟體事件的實體訊號1238,並且可以在實體訊號1238和軟體事件源1236之間進行轉換。有限狀態機1226可以產生要由有限狀態機1226發送的VGI訊息。在一些實施方式中,軟體處理器1234可以將軟體事件編碼在提供給有限狀態機1226的VGI訊息1240中。軟體處理器1234可以在VGI訊息1240中包括標識VGI訊息1240中的軟體事件的資訊。
在一個實例中,有限狀態機1206、1226可以基於VGI訊息中提供的標識資訊,來區分與軟體事件相關的VGI訊息和與實體GPIO相關的VGI訊息。在另一個實例中,有限狀態機1206、1226可以將VGI訊息引導到在VGI訊息中標識的處理器1210、1214、1230或1234。在後一個實例中,有限狀態機1206、1226和對應的處理器1210、1214、1230、1234之間的介面可以被抽象,使得有限狀態機1206、1226不需要知道處理器1210、1214、1230、1234的功能類型。在任一個實例中,VGI介面可以被配置成支援第一設備上的實體GPIO和第二設備上的軟體事件之間的轉換,反之亦然。
圖13包括圖12中的裝置1200的簡化表示1300和交叉映射1340,交叉映射1340表示根據本文揭示的某些態樣改編的VGI介面中的訊息流。第一設備中的FSM 1302包括管理實體GPIO 1322的狀態的通訊的第一處理器1304,並且包括管理軟體事件1324的通訊的第二處理器1306。第二設備中的FSM 1312包括管理實體GPIO 1326的狀態的通訊的第三處理器1314,並且包括管理軟體事件1328的通訊的第四處理器1316。VGI訊息經由PHY 1308、1318在串列匯流排1310上被發送。
表1圖示實體GPIO和軟體事件之間的VGI傳輸的排列,並且圖13包括對應的交叉映射1340。
表格1
交叉映射1340可以適用於圖12中圖示的裝置1200,其中VGI訊息可以表示由硬體電路產生及/或監控的實體GPIO的狀態,並且可以表示由軟體產生及/或消耗的事件,並且應用處理器和周邊設備可以是這兩種類型的VGI訊息的源及/或目的地。
目的地 | |||
實體GPIO | 軟體事件 | ||
源 | 實體GPIO | 全硬體VGI | 硬體到軟體VGI |
軟體事件 | 軟體到硬體VGI | 全軟體VGI |
與實體GPIO 1322相關的某些VGI訊息可以源自第一設備並且終止於第二設備。在一個實例中,可以在第一設備中修改實體GPIO針腳的狀態,並且可以從第一設備向第二設備發送VGI訊息,以便更新第二設備中的對應實體GPIO針腳的狀態。在另一個實例中,可以在第一設備中修改實體GPIO針腳的狀態,並且可以從第一設備向第二設備發送VGI訊息以便在第二設備中建立軟體事件。
與實體GPIO 1322相關的某些VGI訊息可以源自第二設備並且終止於第一設備。在一個實例中,可以在第二設備中修改實體GPIO針腳的狀態,並且可以從第二設備向第一設備發送VGI訊息,以便更新第一設備中的對應實體GPIO針腳的狀態。在另一個實例中,可以在第二設備中修改實體GPIO針腳的狀態,並且可以從第二設備向第一設備發送VGI訊息,以便在第一設備中建立軟體事件。
與軟體事件1324相關的某些VGI訊息可以源自第一設備並且終止於第二設備。在一個實例中,第一設備中軟體事件的出現可以使得從第一設備向第二設備發送VGI訊息,以便更新第二設備中的實體GPIO針腳的狀態。在另一個實例中,第一設備中軟體事件的出現可以使得從第一設備向第二設備發送VGI訊息,以便在第二設備中建立對應的軟體事件。
與實體GPIO 1322相關的某些VGI訊息可以源自第二設備並且終止於第一設備。在一個實例中,第二設備中軟體事件的出現可以使得從第二設備向第一設備發送VGI訊息,以便更新第一設備中的實體GPIO針腳的狀態。在另一個實例中,第二設備中軟體事件的出現可以使得從第二設備向第一設備發送VGI訊息,以便在第一設備中建立對應的軟體事件。
在一個實例中,應用處理器1342可以包括管理及/或監控周邊設備1346中的數據機1348的CPU 1344。數據機可以產生經由實體GPIO 1326發送的訊號。CPU 1344可以根據本文揭示的某些態樣被配置,以接收數據機產生的訊號作為軟體事件1324。CPU 1344可以進一步根據本文揭示的態樣被配置,以產生與數據機1348的操作相關的軟體事件1324,其中軟體事件1324被轉換到耦合到數據機1348的實體GPIO 1326。CPU 1344和數據機1348之間的通訊由對角線1350圖示。
在一個實例中,包括與諸如硬體計時器的硬體產生的訊號相關的狀態資訊的VGI訊息可以被引導到實體GPIO,該實體GPIO耦合到對由硬體計時器產生的訊號進行回應的電路。在另一個實例中,包括與某些硬體產生的事件相關的狀態資訊的VGI訊息,可以在接收VGI有限狀態機中被轉換為軟體事件。在後一個實例中,應用處理器可以支援有限數目的硬體中斷,並且將來自一些設備的硬體中斷轉換為可以由應用處理器更方便服務的軟體中斷可能有用。在另一個實例中,包括與某些軟體產生的事件相關的狀態資訊的VGI訊息,可以在接收VGI有限狀態機中被轉換為硬體GPIO狀態。在後一個實例中,應用處理器可以產生軟體事件,該軟體事件在周邊設備處被轉換為硬體中斷。在另一個實例中,包括與某些軟體產生的事件相關的狀態資訊的VGI訊息可以在接收VGI有限狀態機中作為軟體事件被處理。
圖14圖示了異構VGI的擴展實現的交叉映射1400。在許多應用中,在實體GPIO上發送的一或多個訊號由韌體及/或軟體建立及/或控制。例如,應用可以將二進位值寫入暫存器,該暫存器在一或多個GPIO針腳上輸出該值。根據本文揭示的某些態樣,可以使用有限狀態機1206、1226來建立和擷取某些GPIO針腳的狀態。在一些情況下,產生經由實體GPIO傳輸的訊號的模組可以被適配,以建立VGI訊息,VGI訊息將該訊號表示為與訊號的訊號傳遞狀態改變相對應的事件的序列。直接產生VGI訊息代替實體訊號的技術在本文中可以被稱為源自軟體的VGI。
表2圖示對應於交叉映射1400的VGI傳輸的排列。
表2
交叉映射1400可以適用於圖12中圖示的裝置1200,其中VGI訊息可以表示由硬體電路產生及/或監控的實體GPIO 1402、1408的狀態、由軟體產生及/或監控的GPIO 1404、1410,以及由軟體產生及/或消耗的軟體事件1406、1412。應用處理器和周邊設備可以是這兩種類型的VGI訊息的源及/或目的地。在該實例中,從任何源產生的VGI訊息可以被引導到實體GPIO 1402、1408、被軟體監控的GPIO 1404、1410,或者被引導到建立軟體事件1406、1412的處理器。在一些實施方式中,命令和控制訊息可以是實體GPIO 1402、1408、由軟體或軟體事件1406、1412產生及/或監控的GPIO 1404、1410的表達。在一些實施方式中,命令和控制訊息可以在實體GPIO 1402、1408、由軟體或軟體事件1406、1412產生及/或監控的GPIO 1404、1410中表達。
目的地 | ||||
硬體GPIO | 經由軟體的硬體GPIO | 軟體事件 | ||
源 | 硬體GPIO | X | X | X |
經由軟體的硬體GPIO | X | X | X | |
軟體事件 | X | X | X |
表3圖示一個實例,其中在交叉映射1400中提供了少於所有VGI傳輸排列的VGI傳輸。
表3
在表3中,不支援將與硬體產生的GPIO狀態或軟體事件相關的VGI訊息交換到由軟體監控的硬體GPIO。
目的地 | ||||
硬體GPIO | 經由軟體的硬體GPIO | 軟體事件 | ||
源 | 硬體GPIO | X | X | |
經由軟體的硬體GPIO | X | X | X | |
軟體事件 | X | X |
當源自軟體的實體GPIO與源自硬體的GPIO和軟體事件被區分時,表2和對應的交叉開關映射1400提供多達9個交換選項。可以使用定義代碼(VGI_ID),在VGI訊息中標識VGI訊息的源和目的地的特性。圖14中圖示的表1420中的代碼提供了定義VGI_ID值的編碼方案的一個實例,VGI_ID值可以用於根據交叉映射1400來管理VGI訊息。VGI_ID值以四個位元表示,並且對源和目的地之間的映射進行編碼。針對I3C的MIPI聯盟標準提供了針對VGI訊息傳遞分配的專用通用命令代碼(CCC)。當接收器偵測到VGI CCC時,它會辨識出包括虛擬化GPIO的對應封包。在習知系統中,假設虛擬化GPIO表示硬體產生的GPIO針腳訊號傳遞狀態。
通訊技術的改進(包括第四代(4G)、第五代(5G)和下一代無線電存取技術的部署)導致互連設備的數目和類型增加,該些互連設備必須由應用、系統或網路提供服務、監控或控制。使用標準定義的串列和無線網路來攜帶異構VGI訊息可以降低支援應用、系統或網路所需的基礎設施的複雜性。可以在串列匯流排或攜帶其他流量的無線通訊鏈路上交換VGI訊息,其他流量包括在設備及/或應用之間發送的應用訊息。隨著應用對輸送量和回應能力的要求不斷增加,以及隨著經由網路連接的感測器、監控器、控制器和其他設備的數目增加,由於匯流排延時增加,網路支援實時、決定性應用的能力可能被嚴重影響。在習知系統中,包括事件或狀態資訊的VGI訊息在它們變得可用後被儘早發送。由於降級的延時和其他延遲,增加的網路流量可能阻止時間關鍵的VGI訊息的及時遞送。
根據本案的某些態樣,可以經由將多個命令或命令的序列收集、積累、聚集或組裝成「批處理」來定義、傳輸和發起頻繁、重複及/或時間關鍵的行動,可以與定時資訊一起在通訊鏈路上發送該「批處理」,該定時資訊可以用於控制由批處理配置的行動的啟動。
在一態樣,批處理可以用於監控或控制有限功能設備,諸如RFFE設備、感測器、換能器、物聯網路(IOT)設備等。某些設備可以使用小步驟的序列進行控制,包括例如步進電機,該步進電機在操作期間需要許多GPIO狀態改變和細細微性控制序列。這些步驟序列通常回應於刺激、命令或配置行動而重複。在一個實例中,無人機可以包括多個步進電機,這些步進電機可以由配置基本操作模式的主要步驟序列控制,並且可以由回應於刺激而啟動的一或多個次級步驟序列控制,刺激諸如是由感測器提供的指示配平丟失、高度改變等的訊號。在一些情況下,主要步驟序列和次級步驟序列主要因步驟的執行速率而不同。在一些情況下,步進電機和其他設備可以被重複的控制序列來監控和控制,在標準定義的通訊鏈路上以成批的異構VGI訊息發送這些控制序列,該標準定義的通訊鏈路可以運載其他習知流量。
根據本案的一些態樣提供的控制模式可以改進效率、減少網路介面電路中的功耗和通訊管理負擔、減少網路壅塞並且減輕輸送量和延時要求。在一個實例中,要在設備處重複執行的行動或一系列行動可以被配置成跨介面傳輸的命令或一批命令,其中一或多個刺激可以致動、激發或啟動對命令的一系列回應。這一系列回應可以包括啟動、暫停或終止行動或一系列行動。刺激可以由應用、另一個設備提供或者可以由採取行動或一系列行動的設備產生。
在一個實例中,根據本案的一些態樣提供的協定和技術可以用於配置用於控制無人機的一或多個行動。一或多個行動可以針對無人機中的步進電機。在一個實施方式中,根據本案的一些態樣提供的協定和技術可以用於將一或多個行動打包成批處理,該批處理作為單個命令操作來控制RFFE。一或多個行動可以協調RFFE或RFFE內或耦合到RFFE的部件的配置的改變。在不同的實例中,當RFFE被配置成用於波束成形時,一或多個行動可以改變天線陣列的相位設置。
圖15圖示了根據本文揭示的某些態樣的被配置成實現設備的異步控制模式的系統1500的實例。配置、命令和控制訊息可以打包在批處理中,並且被提供給一或多個設備以啟動根據規定或配置的等時線採取的行動。在一個實例中,由系統實現對習知協定的擴展,使得VGI訊息的批處理或集合從主機設備1502被發送到接收設備1504,以根據規定或配置的等時線執行。VGI訊息可以包括GPIO狀態資訊,硬體產生、軟體產生的事件,定時資訊或其他控制資訊。
在系統1500中,主機設備1502經由通訊鏈路1506通訊地耦合到接收設備1504。通訊鏈路1506可以使用無線和有線鏈路或段的某種組合來被實現,並且通訊鏈路1506可以是雙向或單向的。在一些情況下,通訊鏈路1506包括點對點鏈路。在一些情況下,通訊鏈路1506使用多點串列匯流排來被實現。在一些情況下,經由廣播無線通訊鏈路來提供通訊鏈路1506。主機設備1502可以被配置成發送VGI訊息和控制訊息,VGI訊息和控制訊息用於對接收設備1504進行異步控制或管理。主機設備1502可以被配置成從接收設備1504接收VGI訊息和控制訊息,並且用於在主機設備1502處進行異步控制或管理。在一些實施方式中,對等設備可以交換用於異步控制或管理的VGI訊息和控制訊息。在一些實施方式中,主機設備1502可以被配置成:廣播用於對多個接收設備1504進行異步控制或管理的VGI訊息和控制訊息。
圖15中的定時圖1520圖示了由第一設備對第二設備實行的異步控制。在一個實例中,定時圖1520對應於由主機設備1502對接收設備1504實行的異步控制的實例。在第一時間點1522處,第一設備可以準備訊息的批處理,包括GPIO狀態資訊、控制訊息、命令及/或配置資訊。訊息的批處理可以包括由一或多個應用產生的訊息,並且可以涉及不同的功能、事件或實體GPIO狀態。訊息的批處理可以包括表徵第一設備從實體GPIO狀態擷取的或從應用產生的事件導出的GPIO狀態的資訊。可以在一或多個資料報、封包或事務中發送訊息的批處理。在一個實例中,訊息可以定義要對一或多個實體GPIO針腳、墊、端子或互連設置的狀態。在另一個實例中,訊息可以包括配置或控制命令。
在第二時間點1524處,第一設備向第二設備發送訊息的批處理。該訊息的批處理可以在通訊鏈路1506上從第一設備發送到第二設備。在一些實施方式中,第一設備和第二設備之間的通訊鏈路1506可以使用根據RFFE、SPMI、I3C或其他這種協定操作的串列匯流排來被實現。在一些實施方式中,通訊鏈路1506包括無線部分。
在第三時間點1526處,第二設備可以基於該訊息的批處理的內容來採取一或多個行動。在採取第一行動之後,第二設備可以在額外時間點1528、1530處重複地執行某些行動。回應於該訊息的批處理而執行的活動的定時可以由定義定時配置的等時線決定,該定時配置在第二時間點1524處的該訊息的批處理的傳輸之前被提供,或與該訊息的批處理一起被提供。可以經由一或多個控制訊息來提供定時配置。在一些實施方式中,可以在接收到該訊息的批處理之後或者在第二設備已經採取某些行動之後修改定時配置。例如,在行動的序列被配置之後,可以發送所接收的控制訊息以修改定時配置。該訊息的批處理可以作為可以由第二設備解釋或執行的巨集指令或指令集操作。
定時配置可以標識要被週期性地執行或在指定時間執行的訊息的批處理中的一或多個指令。定時配置可以標識訊息的批處理中要被重複定義次數或配置次數的一或多個指令。定時配置可以標識要被執行的一或多個指令或指令序列的開始時間。定時配置可以使用由發送設備、接收設備、主設備或另一設備或系統提供的同步事件來被實現。在一些實施方式中,該訊息的批處理可以包括執行參數,執行參數可以配置在第二設備處執行的行動的某些態樣。
在一些實例中,實體GPIO線狀態、配置、命令和控制訊息及/或偵測的硬體事件或軟體產生的事件可以由多個源產生,並且在異構VGI訊息中被發送到一或多個端點。在一些實例中,實體GPIO線狀態、配置及/或偵測的硬體事件可以由多個源產生,並且在異構VGI訊息中被發送到一或多個端點,並且可以與命令和控制訊息(包括與軟體產生的事件相關的VGI訊息)穿插或交錯。源到端點的映射可以根據應用需要進行配置,並且可以提供一對一、一對多、多對一和多對多(矩陣)交換。在批處理操作模式中,與等時線相關聯的命令的序列和異構VGI訊息可以被組合,並且跨通訊鏈路被發送。等時線可以為一或多個線、針腳、墊等定義實體GPIO狀態的時間序列,以及定義實體GPIO狀態的轉換或改變。等時線亦可以定義事件或事件訊號傳遞的時間序列,包括改變等時線內事件訊號傳遞的狀態,其中事件或事件訊號傳遞可以具有多個源或多個端點。等時線亦可以定義控制訊息的時間序列,其中控制訊息可以具有多個源或多個端點。
實體GPIO狀態、實體GPIO狀態的改變、事件或事件訊號傳遞、事件訊號傳遞和控制訊息的狀態的改變的這些時間序列可以在它們在發射器中成批之後的某個時間被發送。實體GPIO狀態、實體GPIO狀態的改變、事件或事件訊號傳遞、事件訊號傳遞和控制訊息的狀態的改變的時間序列可以使用各種通訊方法或技術來被發送,並且可以尋址到一或多個位址或廣播到多個接收器。
在一個態樣,定義一種設備控制介面,其可以用於管理、監控和控制多個遠端設備。遠端設備可以接收和執行批處理和等時線,其中批處理包括實體GPIO狀態、實體GPIO狀態的改變、事件或事件訊號傳遞、事件訊號傳遞和控制訊息的狀態的改變的時間序列的某種組合。遠端設備可以根據由等時線、應用或在設備製造或初始化期間定義的執行參數來接收和執行批處理。
圖16包括定時圖1600、1610、1620,其圖示了根據本案的某些態樣的批處理擷取、批處理傳輸和批處理執行。第一定時圖1600圖示了將連接一般系統中的兩個設備的4個GPIO線、針腳、墊或互連的訊號傳遞狀態。例如,可以表示圖4的邊頻帶GPIO 420、422或424的訊號傳遞狀態。在圖16中圖示的實例中,設備之間的實體互連被省略,並且訊號傳遞狀態在成批的VGI訊息中被傳輸。在可以對應於要在接收設備處重複的循環的持續時間1602上擷取實體GPIO狀態的時間序列。所擷取的GPIO狀態可以表示GPIO線、針腳、墊或互連在針對該批處理定義的單位時間間隔(在本文中可以被稱為狀態間隔)期間的訊號傳遞狀態。在各種實例中,VGI訊息的批處理可以表示或定義實體GPIO的取樣狀態、實體GPIO在狀態間隔期間的狀態(該狀態間隔作為在VGI訊息中表示的GPIO線、針腳、墊或互連之一上提供的時鐘訊號1604的半週期被量測)、實體GPIO在內部時鐘訊號的每個循環期間的狀態。某些VGI訊息可以表示實體GPIO的訊號傳遞狀態的轉換。所擷取的VGI訊息的批處理可以被縮放以進行傳輸或執行。
第二定時圖1610圖示了使用壓縮的第二時基來最佳化所擷取的VGI訊息的批處理的傳輸時間。在一個實例中,所擷取的VGI訊息的批處理可以使用第一時基被實時擷取,並且可以使用第二壓縮時基,使用於控制VGI訊息的批處理的擷取的時鐘訊號1604符合用於控制串列匯流排上的傳輸的時鐘訊號。在該實例中,用於控制串列匯流排上的傳輸的時鐘訊號具有比用於控制VGI訊息的批處理的擷取的時鐘訊號1604更高的頻率。在其他實例中,擴展的時基可以用於使用於控制VGI訊息的批處理的擷取的時鐘訊號1604符合用於控制串列匯流排上的傳輸的時鐘訊號。在該實例中,用於控制串列匯流排上的傳輸的時鐘訊號具有比用於控制VGI訊息的批處理的擷取的時鐘訊號1604低的頻率。
第三定時圖1620圖示了當使用延長或擴展的第三時基來控制所擷取的VGI訊息的批處理的執行時,所擷取的GPIO狀態的一部分。在一些情況下,第一時基使VGI訊息的批處理能夠比相對於接收設備實時更快地被擷取,並且第三時基用於控制批處理的執行的定時,以便產生在接收設備中的實體GPIO處的狀態的實時時間系列。在其他情況下,當使用取樣時鐘擷取批處理,並且使用頻率低於接收設備中的控制批處理的執行的時鐘訊號的傳輸時鐘進行發送時,第三時基使批處理能夠比第一或第二時基更快地被執行。批處理可以被重複一次或多次,或者針對由執行參數定義的持續時間重複。在一些情況下,批處理的一些部分可以被重複一次或多次或針對由執行參數定義的持續時間重複,而批處理的其他部分可以被執行一次。
本文揭示的設備控制介面使得時基能夠根據需要被縮放、循環和偏移。縮放可以用於控制批處理的執行的定時,例如,如關於圖16所描述的。批處理可以週期性地執行。在一些情況下,批處理的執行可以在批處理的每次完成執行之後立即重新開始。在其他情況下,批處理的執行可以以配置的速率或根據由執行參數定義的速率來啟動,其中例如,在啟動下一次執行之前,執行可能已經完成了一段時間。在其他情況下,批處理的執行可以根據由批處理配置或由執行參數定義的排程來啟動。
圖17圖示了根據本案的某些態樣配置的設備控制介面1700的操作。所圖示的設備控制介面1700利用通訊鏈路1720來被實現,通訊鏈路1720提供主機設備1702和遠端設備1722之間的通訊鏈路。在一個實例中,主機設備1702被配置成作為匯流排主設備操作,並且遠端設備1722被配置成作為從設備操作。設備控制介面1700可以被配置成使主機設備1702和遠端設備1722能夠交換訊息1718,訊息1718包括應用訊息、控制訊息和VGI訊息的組合。主機設備1702和遠端設備1722可以被配置成組合和發送異構VGI訊息、命令和控制訊息的批處理,其中等時線被配置成控制相關聯的批處理的執行。主機設備1702和遠端設備1722亦可以被配置成接收異構VGI訊息和命令和控制訊息的批處理,並且根據所接收的等時線執行所接收的批處理。
在所示的設備控制介面1700中,主機設備1702可以耦合到一或多個周邊設備,該一或多個周邊設備驅動實體GPIO線、針腳或墊的訊號傳遞狀態1710或對實體GPIO線、針腳或墊的訊號傳遞狀態1710進行回應。在一些實例中,主機設備1702中的處理電路1704可以產生命令和控制訊息、事件及/或虛擬狀態資訊1712,它們被配置成控制遠端設備1722處的實體GPIO線、針腳或墊的訊號傳遞狀態。所圖示的主機設備1702包括有限狀態機(FSM 1706),其被配置成接收在主機設備1702處擷取的實體GPIO線、針腳或墊的訊號傳遞狀態1710以及接收由處理電路1704產生的命令和控制訊息、事件及/或虛擬狀態資訊1712。FSM 1706可以被配置成產生表示實體GPIO狀態的VGI訊息,以及產生包括由處理電路1704產生的虛擬狀態資訊1712的VGI訊息。FSM 1706亦可以被配置成:將VGI訊息與對應的等時線組合以獲得批處理1716,批處理1716可以根據用於控制通訊鏈路1720上的傳輸的匯流排協定,經由通訊鏈路1720上的匯流排介面實體電路(PHY 1708)被發送到遠端設備1722。PHY 1708可以被配置成:在通訊鏈路1720上將具有主機產生的批處理的應用相關訊息1714發送到遠端設備1722。可以從處理電路1704接收所發送的應用相關訊息1714。
PHY 1708可以向FSM 1706提供從遠端設備1722接收的批處理1716。FSM 1706可以被配置成:根據與批處理1716相關聯的等時線,來解包及/或執行所接收的批處理1716。在一個實例中,FSM 1706可以被配置成:從批處理提取和解碼VGI訊息,以驅動某些實體GPIO線、針腳或墊的訊號傳遞狀態1710或向處理電路1704提供解碼的命令、事件及/或虛擬狀態資訊1712。PHY 1708可以被配置成:從通訊鏈路1720接收應用相關訊息1714,並且將應用相關訊息1714提供給處理電路1704。
在所示的設備控制介面1700中,遠端設備1722可以耦合到一或多個周邊設備,一或多個周邊設備驅動實體GPIO線、針腳或墊的訊號傳遞狀態1730或對實體GPIO線、針腳或墊的訊號傳遞狀態1730進行回應。在一些實例中,遠端設備1722中的處理電路1724可以產生命令和控制訊息、事件及/或虛擬狀態資訊1732,它們被配置成控制主機設備1702處的實體GPIO線、針腳或墊的訊號傳遞狀態。所圖示的遠端設備1722包括有限狀態機(FSM 1726),其被配置成:接收在遠端設備1722處擷取的實體GPIO線、針腳或墊的訊號傳遞狀態1730,以及接收由處理電路1724產生的命令和控制訊息、事件及/或虛擬狀態資訊1732。FSM 1726可以被配置成:產生表示實體GPIO狀態的VGI訊息,以及產生包括由處理電路1724產生的虛擬狀態資訊1732的VGI訊息。FSM 1726可以被進一步配置成:將VGI訊息與對應的等時線組合以獲得批處理1736,批處理1736可以根據用於控制通訊鏈路1720上的傳輸的匯流排協定,經由通訊鏈路1720上的匯流排介面實體電路(PHY 1728)被發送到主機設備1702。PHY 1728可以被配置成:在通訊鏈路1720上將具有遠端產生的批處理的應用相關訊息1734發送到主機設備1702。可以從處理電路1724接收所發送的應用相關訊息1734。
PHY 1728可以向FSM 1726提供從主機設備1702接收的批處理1736。FSM 1726可以被配置成:根據與批處理1736相關聯的等時線,來解包或執行所接收的批處理1736。在一個實例中,FSM 1726可以被配置成:從批處理提取和解碼VGI訊息,以驅動某些實體GPIO線、針腳或墊的訊號傳遞狀態1730或向處理電路1724提供解碼的命令、事件及/或虛擬狀態資訊1732。PHY 1728可以被配置成:從通訊鏈路1720接收應用相關訊息1734並且將應用相關訊息1734提供給處理電路1724。
根據本案的某些態樣,接收批處理的設備可以根據等時線並且以類似於巨集的方式「執行批處理」。巨集可以被定義為命令和指令的序列和系列,其作為組被提供,該組作為單個命令被執行。宏可以用於自動啟動或執行行動或功能的系列。在一些實施方式中,批處理可以包括以下項的一或多個時間序列:實體GPIO狀態、實體GPIO狀態的改變、事件或事件訊號傳遞、事件訊號傳遞和控制訊息的狀態的改變,其中每個時間序列可以被獨立執行,或以由等時線定義的序列被執行。
根據本案的某些態樣,第一設備可以使用批處理來控制第二設備、支援程序間通訊(IPC)及/或支援設備之間的同步。在一個實例中,批處理可以包括一或多個實體GPIO線、針腳或墊的狀態的序列,包括等時線內的狀態的改變。在另一個實例中,批處理可以包括一或多個類型的事件的序列,包括等時線內的事件狀態的改變。在另一個實例中,批處理可以包括從一或多個源接收或被引導到一或多個目的地的一或多個類型的控制訊息的序列。
在所圖示的設備控制介面1700中,使用合併的VGI訊息的批處理可以使主機設備1702能夠基於利用該批處理標識的執行等時線,來控制耦合到遠端設備1722的周邊設備。批處理和等時線可以取代在實體邊頻帶GPIO上發送的命令和控制訊號。批處理和等時線的使用使主機設備1702能夠使用第一時基來產生控制訊號傳遞,允許主機設備1702根據第二時基來發送批處理,並且使在遠端設備1722處的周邊設備能夠根據到第三時基來操作。時基可以針對用於擷取批處理的時鐘訊號和用於對批處理的執行進行計時的時鐘訊號定義不同的頻率。時基可以在起點和執行點處為批處理定義不同的執行時間。時基可以定義執行批處理的開始時間,或者可以定義批處理的不同部分的不同開始時間。等時線可以定義批處理的執行的重複模式,包括一次性執行(不重複)、連續重複(其中在完成先前執行後立即重新啟動後續執行)、週期性執行(其中以定義的速率啟動批處理的執行)和計劃執行(其中每個執行具有定義的開始時間)。等時線可以定義要被執行的執行的次數。等時線可以定義執行將被終止的時間或結束時間,在該結束時間之後,將不再執行批處理執行的另外重複。
在某些態樣,等時線可以獨立於它們相關聯的批處理被發送。在一些情況下,可以在等時線相關聯的批處理之前提供等時線。在一些情況下,等時線可以經由帶外通訊被提供。在一些情況下,可以由主機設備1702或由遠端設備1722,基於操作條件的改變、應用請求的接收或回應於與一或多個周邊設備相關聯的控制機制,來更新等時線。用於執行批處理的時基可以定義用於斷言或修改GPIO的訊號傳遞狀態的單位間隔。在一個實例中,可以根據每微秒提供一個轉換狀態的時基來控制設備(亦即,狀態間隔=1 µs)。
接收器可以檢查所接收的訊息的保真度,並且可以在偵測到錯誤時請求重新傳輸。在一些情況下,當正確接收到訊息時,接收器可以經由發送ACK來確認傳輸。在一些情況下,當成功完成由批處理指定的一或多個行動時,接收器可以經由發送ACK來確認傳輸。FSM 1706、1726可以被配置成:打包、解包在一或多個訊息中發送的批處理,這些訊息已經針對設備控制介面1700被適配、配置或定義。FSM 1706、1726可以被操作,使得本端和遠端周邊設備兩者可以被透明地控制。
根據某些態樣,可以使用設備控制介面1700來簡化或最佳化系統設計。在一個實例中,當主機設備1702可以使用僅硬體控制介面時,可以簡化或省略遠端設備中的周邊控制器和處理器,由此經由FSM 1726的操作來控制遠端周邊設備。主機設備1702控制遠端周邊設備的能力可以減少某些設備(諸如,感測器和其他IoT設備)的針腳數和複雜性。
根據某些態樣,具有對應等時線的多個批處理可以被建立,並且被提供給遠端設備以使能遠端設備或遠端周邊設備的功能的快速重新配置或改變。在一些情況下,可以為單個批處理提供多個等時線,以適應操作條件的改變或實施不同的操作模式。多個等時線可以定義不同的狀態間隔、延遲、時基、開始時間、週期或執行計劃。可以基於當前或指定的操作條件來選擇批處理及/或等時線。
根據某些態樣,設備控制介面1700可以使用任何類型的通訊鏈路1720進行操作,包括有線和無線鏈路。在許多應用中,經由使用具有關聯等時線的批處理,主機控制和設備執行可以在時間上解耦。此種解耦使設備控制介面1700能夠容忍與通訊鏈路相關聯的延遲和延時。在一些實施方式中,PHY 1708、1728可以在一或多個封包、資料報或事務中發送批處理1716、1736,而不影響遠端周邊設備的操作的連續性,在習知系統中將經歷該影響。在另一個實例中,主機設備1702可以在執行計劃開始之前以足夠的時間餘量發送批處理和對應的等時線,以便可以適應顯著的傳輸延遲。在另一個實例中,PHY 1708、1728可以在封包化期間拆分批處理,而無需在相同資料報或封包中發送完整的個體VGI訊息。由這些態樣和其他態樣提供的靈活性允許採用大範圍的有線和無線通訊鏈路,以將主機設備1702與遠端設備1722連接。
根據本案的某些態樣定義的一些步驟可以根據指定的執行參數(諸如,定義或配置的延遲、時基以及遠端周邊設備處的操作狀態和條件),來調節在遠端設備1722中的批處理的執行。一次發送批處理並且多次執行批處理的能力可以減少主機到設備的通訊管理負擔。經由提供不同的等時線來修改操作的能力亦可以減少主機到設備的通訊管理負擔。在一些情況下,遠端設備1722可以被配置有多個等時線,從而使能遠端設備1722或遠端周邊設備的快速重新配置。通訊管理負擔的減少降低了網路或匯流排利用率,並且可以提供增加的網路或匯流排容量,同時減少在主機設備1702和遠端設備1722處的功耗。
根據某些態樣,設備控制介面1700可以使遠端設備1722能夠自主操作。自主操作可以使遠端設備1722能夠對自身進行重新配置或重設,而無需PHY 1728的啟動或無需與主機設備1702建立的連接的可用性。例如,PHY 1728可以用於連接到無線網路,並且在接收具有對應等時線的一或多個批處理之後,可以閒置或置於省電休眠狀態。
根據某些態樣,設備控制介面1700可以實現通用高級批處理協定及/或語言,其允許獨立於網路或通訊鏈路架構來控制本端和遠端設備。獨立於網路或通訊鏈路架構可以允許系統的無瑕疵重新配置,並且可以促進周邊設備和遠端設備跨系統的快速重新部署。設備控制介面1700的某些態樣與多個網路或通訊鏈路架構相容。設備控制介面1700可以以一或多個模式操作,包括半雙工、全雙工、單向、多點、廣播或多播模式。
根據某些態樣,可以先驗地或在攜帶批處理的相同訊息中傳輸等時線。在一個實例中,等時線可以在寫入或定義基準切換速率的配置訊息中定義時基。基準切換速率定義狀態可以改變的速率。在一個實例中,配置訊息可以定義1 MHz的基準切換速率,使得每個狀態或事件可以每微秒改變。在另一個實例中,配置訊息可以使遠端設備使用從接收的訊息的資料率導出的切換速率。在一些情況下,在接收設備中使用自由執行時鐘來實現切換速率。在一些情況下,使用從串列匯流排或從無線電收發器接收的時鐘訊號,在接收設備中實現切換速率。可以使用帶內或帶外訊號傳遞或訊息傳遞來配置切換速率及/或用於實現切換速率的方法。可以靜態或動態配置切換速率。
根據某些態樣,可以在相對於共享基準時間點的特定的時間偏移之後執行每個批處理項。基準時間點可以經由通訊鏈路指示或者可以由遠端設備1722決定或任意設置。
圖17亦包括與在設備控制介面1700中交換的批處理和等時線相關聯的訊息流1738和1748的圖示。前向訊息流1738僅圖示從主機設備1702發送到遠端設備1722的批處理和等時線。反向訊息流程1748僅圖示從遠端設備1722發送到主機設備1702的批處理和等時線。根據本文揭示的某些態樣,在傳輸中協定標頭1740、1744、1750可以在批處理1742、1746、1752之前,協定標頭1740、1744、1750向接收器指示一或多個跟隨封包、資料報或封包或資料報的欄位的性質。在一些情況下,可以在沒有跟隨批處理的情況下發送協定標頭1754。協定標頭1740、1744、1750、1754可以包括標識跟隨批處理、指示批處理是否跟隨並且定義一或多個批處理1742、1746、1752的執行模式的欄位。例如,協定標頭1740、1744、1750可以標識和定義後續批處理1742、1746、1752中的有效負載的功能。協定標頭1740、1744、1750亦可以標識在執行1742、1746、1752時要使用的等時線。協定標頭1740、1744、1750亦可以定義指示應如何執行批處理的參數。非伴隨協定標頭1754可以標識先前批處理1736中的有效負載,並且可以修改先前批處理1736的執行參數。例如,非伴隨協定標頭1754可以指示先前批處理1736應當以兩倍的時基頻率執行(亦即,狀態間隔要減半)。
處理電路和方法的實例
圖18是圖示採用有限狀態機810來最佳化虛擬GPIO延時的裝置1800的硬體實現的實例的圖。在一些實例中,裝置1800可以配置有限狀態機810的操作。在一些實例中,裝置1800可以執行本文揭示的一或多個功能。根據本案的各個態樣,可以使用處理電路1802實現如本文揭示的元件,或元件的任何部分,或元件的任何組合。處理電路1802可以包括由硬體和軟體模組的一些組合控制的一或多個處理器1804。處理器1804的實例包括微處理器、微控制器、DSP、GPU、SoC、ASIC、現場可程式閘陣列(FPGA)、可程式邏輯設備(PLD)、狀態機、定序器、閘控邏輯、離散硬體電路以及被配置成執行貫穿本案描述的各種功能的其他合適的硬體。一或多個處理器1804可以包括專用處理器,該專用處理器執行特定的功能並且可以由軟體模組1816中的一個軟體模組配置、擴充或控制。可以經由在初始化期間加載的軟體模組1816的組合來配置一或多個處理器1804,並且由在操作期間加載或卸載一或多個軟體模組1816進一步配置。
在所示的實例中,可以利用通常由匯流排1810表示的匯流排架構來實現處理電路1802。取決於處理電路1802的特定應用和整體設計約束,匯流排1810可以包括任何數目的互連匯流排和橋接器。匯流排1810將包括一或多個處理器1804的各種電路與儲存裝置1806鏈接在一起。儲存裝置1806可以包括記憶體設備和大容量儲存設備,並且在本文中可以被稱為電腦可讀取媒體及/或處理器可讀取媒體。匯流排1810亦可以鏈接各種其他電路,諸如定時源、計時器、周邊設備、電壓調節器以及功率管理電路。匯流排介面1808可以提供在匯流排1810與一或多個收發器1812a、1812b之間的介面。收發器1812a、1812b可以被提供給由處理電路支援的每個聯網技術。在一些實例中,多個聯網技術可以共享在收發器1812a、1812b中找到的一些或全部電路系統或處理模組。每個收發器1812a、1812b提供一種用於與在傳輸媒體之上的各種其他裝置通訊的裝置。在一個實例中,收發器1812a可以被用於將裝置1800耦合到多線匯流排。在另一個實例中,收發器1812b可以被用於將裝置1800連接到無線網路。根據裝置1800的性質,亦可以提供使用者介面1818(例如,小鍵盤、顯示器、揚聲器、麥克風、操縱桿),並且使用者介面1818可以被直接地通訊地耦合到匯流排1810或經由匯流排介面1808通訊地耦合到匯流排1810。
處理器1804可以負責管理匯流排1810並且用於通用處理,該通用處理可以包括儲存在電腦可讀取媒體中的軟體的執行,電腦可讀取媒體可以包括儲存裝置1806。在這態樣,包括處理器1804的處理電路1802可以被用於實現本文揭示的任何方法、功能和技術。儲存裝置1806可以被用於儲存在執行軟體時由處理器1804操縱的資料,並且該軟體可以被配置成實現本文揭示的方法中的任何一種方法。
在處理電路1802中的一或多個處理器1804可以執行軟體。軟體應該被廣義地解釋為指:指令、指令集合、代碼、代碼區段、程式碼、程式、副程式、軟體模組、應用、軟體應用、軟體包、常式、子常式、物件、可執行檔、執行線程、程序、功能、演算法等,無論是被稱為軟體、韌體、中介軟體、微碼、硬體描述語言還是其他形式。軟體可以以電腦可讀形式常駐在儲存裝置1806中或常駐在外部電腦可讀取媒體中。外部電腦可讀取媒體及/或儲存裝置1806可以包括非暫時性電腦可讀取媒體。例如,非暫時性電腦可讀取媒體包括磁性儲存設備(例如,硬碟、軟碟、磁條)、光碟(例如,光碟(CD)或數位通用碟(DVD))、智慧卡、閃存設備(例如,「閃存驅動器」、卡、棒或鍵式磁碟動器)、RAM、ROM、可程式只讀記憶體(PROM)、包括EEPROM的可抹除寫PROM(EPROM)、暫存器、可移動磁碟以及用於發送可以由電腦存取和讀取的軟體及/或指令的任何其他合適的媒體。例如,電腦可讀取媒體及/或儲存裝置1806亦可以包括載波、傳輸線以及用於發送可以由電腦存取和讀取的軟體及/或指令的任何其他合適的媒體。電腦可讀取媒體及/或儲存裝置1806可以常駐在處理電路1802中、在處理器1804中、在處理電路1802的外部,或者被分佈在包括處理電路1802的多個實體中。電腦可讀取媒體及/或儲存裝置1806可以體現在電腦程式產品中。例如,電腦程式產品可以包括在包裝材料中的電腦可讀取媒體。本發明所屬領域中具有通常知識者將認識到,取決於特定應用和施加於整個系統的整體設計約束,如何最佳地實現貫穿本案呈現的所述功能。
儲存裝置1806可以維持在可加載的代碼區段、模組、應用、程式等中維護及/或組織的軟體,該軟體在本文中可以被稱為軟體模組1816。軟體模組1816之每一者軟體模組可以包括指令和資料,當這些指令和資料被安裝或加載到處理電路1802上並且由一或多個處理器1804執行時,有助於控制一或多個處理器1804的操作的執行時影像1814。當被執行時,某些指令可以導致處理電路1802執行根據本文描述的某些方法、演算法和程序的功能。
軟體模組1816中的一些軟體模組可以在處理電路1802的初始化期間被加載,並且這些軟體模組1816可以配置處理電路1802以使能本文揭示的各種功能的執行。例如,一些軟體模組1816可以配置處理器1804的內部設備及/或邏輯電路1822,並且可以管理對外部設備(諸如,收發器1812a、1812b、匯流排介面1808、使用者介面1818、計時器、數學協處理器等)的存取。軟體模組1816可以包括與中斷處理器和設備驅動器互動的控制程式及/或操作系統,並且控制對由處理電路1802提供的各種資源的存取。資源可以包括記憶體、處理時間、對收發器1812a、1812b的存取、使用者介面1818等。
處理電路1802的一或多個處理器1804可以是多功能的,由此軟體模組1816中的一些軟體模組被加載並且被配置成執行不同的功能或相同功能的不同實例。例如,一或多個處理器1804可以附加地適於管理回應於來自使用者介面1818、收發器1812a、1812b以及設備驅動器的輸入而發起的後台任務。為了支援多種功能的執行,一或多個處理器1804可以被配置成提供多任務環境,從而根據需要或期望,將複數個功能之每一者功能實現為由一或多個處理器1804服務的任務的集合。在一個實例中,可以使用分時共享程式1820來實現多任務環境,該分時共享程式1820在不同的任務之間傳遞處理器1804的控制,由此,每個任務在完成任何未完成的操作之後及/或回應於輸入(諸如,中斷)將一或多個處理器1804的控制返回給分時共享程式1820。當任務具有一或多個處理器1804的控制時,處理電路被有效地專用於由與控制任務相關聯的功能所解決的目的。分時共用程式1820可以包括:操作系統,基於循環轉移控制的主循環,根據功能的優先級分配一或多個處理器1804的控制的功能,及/或經由將一或多個處理器1804的控制提供給處理功能來回應外部事件的中斷驅動主循環。
圖19是可以在耦合到通訊鏈路的設備處執行的方法的流程圖1900。執行該方法所涉及的某些電路可以由有限狀態機配置。補充地或備選地,有限狀態機可以執行該方法的某些部分。
在方塊1902處,設備可以在包括虛擬GPIO訊息和控制訊息的序列的批處理中表示實體GPIO的一系列訊號傳遞狀態。在方塊1904處,設備可以產生包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時。在方塊1906處,設備可以在通訊鏈路上發送第一標頭。在方塊1908處,設備可以在通訊鏈路上發送該批處理。
在一些實例中,設備可以從處理電路接收事件,並且在虛擬GPIO訊息和控制訊息的序列中包括的虛擬GPIO訊息之一中表示該事件。設備可以使用控制訊號傳遞狀態的擷取速率的第一時基,從實體GPIO擷取一系列訊號傳遞狀態。定時資訊可以定義用於從虛擬GPIO訊息和控制訊息的序列提取GPIO訊號傳遞狀態的第二時基,第二時基不同於第一時基。在一些情況下,可以從處理電路接收GPIO的一系列訊號傳遞狀態中的至少一些訊號傳遞狀態。
在各種實施方式中,定時資訊定義狀態間隔,狀態間隔與由在虛擬GPIO訊息和控制訊息的序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的持續時間相對應。定時資訊可以定義在從虛擬GPIO訊息和控制訊息的序列提取GPIO訊號傳遞狀態之前要觀察的延遲。定時資訊可以定義用於從虛擬GPIO訊息和控制訊息的序列重複提取GPIO訊號傳遞狀態的重複速率。
在一些實例中,設備可以產生第二標頭,該第二標頭修改在第一標頭中提供的定時資訊,並且可以在發送批處理之後在通訊鏈路上發送第二標頭。在一些實施方式中,實體GPIO的一系列訊號傳遞狀態被配置成:控制可經由通訊鏈路存取的遠端設備中的周邊設備。通訊鏈路可以包括串列匯流排或無線網路。
圖20是可以在耦合到通訊鏈路的設備處執行的方法的流程圖2000。執行該方法所涉及的某些電路可以由有限狀態機配置。補充地或備選地,有限狀態機可以執行該方法的某些部分。
在方塊2002處,設備可以接收包括控制訊息和虛擬GPIO訊息的序列的批處理,該虛擬GPIO訊息表示實體GPIO的一系列訊號傳遞狀態。在方塊2004處,設備可以接收包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時。在方塊2006處,設備可以使用定時資訊,從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。
在各種實例中,控制訊息和虛擬GPIO訊息的序列中的至少一個訊息表示指向處理電路的事件。定時資訊可以定義用於從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態的時基。
在一些實施方式中,定時資訊定義狀態間隔,狀態間隔與由在控制訊息和虛擬GPIO訊息的序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的持續時間相對應;定義在從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態之前要觀察的延遲,或者定義用於從控制訊息和虛擬GPIO訊息的序列重複提取GPIO訊號傳遞狀態的重複速率。
在一些實例中,設備可以接收包括修改的定時資訊的第二標頭,並且使用修改的定時資訊從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。設備可以使用實體GPIO的一系列訊號傳遞狀態的重複來控制周邊設備。通訊鏈路可以包括串列匯流排或無線網路。
圖21是圖示用於採用處理電路2102的裝置2100的硬體實施方式的簡化實例的圖。根據本文揭示的某些態樣,裝置可以實現橋接電路。處理電路通常具有控制器或處理器2116,該控制器或處理器2116可以包括一或多個微處理器、微控制器、數位訊號處理器、定序器及/或狀態機。可以利用匯流排架構實現處理電路2102,該匯流排架構通常由匯流排2120表示。匯流排2120可以包括取決於處理電路2102的特定應用和整體設計約束的任何數目的互連匯流排和橋接器。匯流排2120將各種電路鏈接在一起,這些電路包括由控制器或處理器2116、模組或電路2104、2106和2108以及處理器可讀儲存裝置2118表示的一或多個處理器及/或硬體模組。一或多個實體層電路及/或模組2114可以被提供為經由天線2122(例如到無線網路)等支援在使用多線匯流排2112實現的通訊鏈路上的通訊。匯流排2120亦可以鏈接各種其他電路,諸如定時源、周邊設備、電壓調節器以及功率管理電路,這在本發明所屬領域中是眾所周知的,因此將不再贅述。
處理器2116負責一般處理,包括儲存在處理器可讀儲存2118上的軟體、代碼及/或指令的執行。處理器可讀儲存2118可以包括非暫態儲存媒體。當由處理器2116執行時,該軟體導致處理電路2102執行上文針對任何特定裝置描述的各種功能。當執行軟體時,處理器可讀儲存媒體可以被用於儲存由處理器2116操縱的資料。處理電路2102進一步包括模組2104、2106和2108中的至少一個模組。模組2104、2106和2108可以是在處理器2116中執行的常駐/儲存在處理器可讀儲存裝置2118中的軟體模組、耦合到處理器2116的一或多個硬體模組或其一些組合。模組2104、2106和2108可以包括微控制器指令、狀態機配置參數或其一些組合。
在一種配置中,裝置2100包括:模組及/或電路2108,被配置成配置及/或管理等時線,等時線包括用於取樣或產生GPIO狀態的時基;模組及/或電路2106,被配置成處理GPIO狀態,包括取樣和驅動GPIO狀態。裝置2100可以包括模組及/或電路2104,其被配置成管理包括VGI訊息的封包和資料報,VGI訊息包括與實體GPIO、軟體事件、軟體啟動的硬體、軟體監控的硬體GPIO等有關的VGI訊息。
在一個實例中,裝置2100包括:收發器電路,被配置成經由通訊鏈路將裝置2100耦合到遠端設備,以及控制器、處理器或FSM,被配置成:在批處理中表示實體GPIO的一系列訊號傳遞狀態,批處理包括控制訊息和虛擬GPIO訊息的序列;產生包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時,在通訊鏈路上發送第一標頭,以及在通訊鏈路上發送批處理。
控制器、處理器或FSM亦可以被配置成:從處理電路接收該系列訊號傳遞狀態的第一部分,並且使用控制訊號傳遞狀態的擷取速率的第一時基,從實體GPIO擷取該系列訊號傳遞狀態的第二部分。定時資訊可以定義用於從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態的第二時基。第二時基可以不同於第一時基。定時資訊可以定義狀態間隔,狀態間隔與由在控制訊息和虛擬GPIO訊息的序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的持續時間相對應,可以定義在從虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態之前要觀察的延遲,或者可以定義用於從控制訊息和虛擬GPIO訊息的序列重複提取GPIO訊號傳遞狀態的重複速率。實體GPIO的一系列訊號傳遞狀態可以被配置成:控制經由通訊鏈路可存取的遠端設備中的周邊設備。
在另一個實例中,裝置2100包括:收發器電路,被配置成:經由通訊鏈路將裝置2100耦合到遠端設備;及控制器、處理器或FSM,被配置成:接收包括虛擬GPIO訊息的序列的批處理,該虛擬GPIO訊息表示實體GPIO的一系列訊號傳遞狀態;接收包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時,以及使用定時資訊從虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。
定時資訊可以定義用於從虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態的時基。定時資訊可以定義狀態間隔,狀態間隔與由在控制訊息和虛擬GPIO訊息的序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的持續時間相對應,可以定義在從虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態之前要觀察的延遲,或可以定義用於從控制訊息和虛擬GPIO訊息的序列重複提取GPIO訊號傳遞狀態的重複速率。控制器、處理器或FSM亦可以被配置成:使用實體GPIO的一系列訊號傳遞狀態的重複來控制周邊設備。
處理器可讀儲存裝置2118可以包括可由處理器2116、FSM的控制器執行的代碼。在第一實例中,處理器可讀儲存裝置2118包括用於以下操作的代碼:在包括控制訊息和虛擬GPIO訊息的序列的批處理中表示實體GPIO的一系列訊號傳遞狀態;產生包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;在通訊鏈路上發送第一標頭;及在通訊鏈路上發送批處理。
處理器可讀儲存裝置2118可以包括用於以下操作的代碼:從處理電路接收事件,以及在控制訊息和虛擬GPIO訊息的序列中包括的訊息之一中表示事件。處理器可讀儲存裝置2118可以包括用於以下操作的代碼:使用控制訊號傳遞狀態的擷取速率的第一時基,從實體GPIO擷取一系列訊號傳遞狀態。定時資訊可以定義用於從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態的第二時基,第二時基不同於第一時基。
處理器可讀儲存裝置2118可以包括用於從處理電路接收GPIO的一系列訊號傳遞狀態的代碼。定時資訊可以定義狀態間隔,狀態間隔與由在控制訊息和虛擬GPIO訊息的序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的持續時間相對應。定時資訊可以定義在從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態之前要觀察的延遲,及/或可以定義用於從控制訊息和虛擬GPIO訊息的序列重複提取GPIO訊號傳遞狀態的重複速率。
處理器可讀儲存裝置2118可以包括用於以下操作的代碼:產生第二標頭,第二標頭修改在第一標頭中提供的定時資訊,以及在發送批處理之後在通訊鏈路上發送第二標頭。實體GPIO的一系列訊號傳遞狀態可以被配置成:控制經由通訊鏈路可存取的遠端設備中的周邊設備。通訊鏈路可以包括串列匯流排及/或無線網路。
在一些實例中,處理器可讀儲存裝置2118可以包括用於以下操作的代碼:接收包括控制訊息和虛擬GPIO訊息的序列的批處理,虛擬GPIO訊息表示實體GPIO的一系列訊號傳遞狀態;接收包括定時資訊的第一標頭,定時資訊被配置成控制批處理的執行的定時;及使用定時資訊,從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。
在一些實例中,控制訊息和虛擬GPIO訊息的序列中的至少一個虛擬GPIO訊息表示指向處理電路的事件。定時資訊定義用於從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態的時基;定義狀態間隔,狀態間隔與由在控制訊息和虛擬GPIO訊息的序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的持續時間相對應;定義在從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態之前要觀察的延遲;及/或定義從控制訊息和虛擬GPIO訊息的序列重複提取GPIO訊號傳遞狀態的重複速率。
在一些實例中,處理器可讀儲存裝置2118包括用於以下操作的代碼:接收包括修改的定時資訊的第二標頭,以及使用修改的定時資訊從控制訊息和虛擬GPIO訊息的序列提取GPIO訊號傳遞狀態。處理器可讀儲存裝置2118可以包括用於使用實體GPIO的一系列訊號傳遞狀態的重複來控制周邊設備的代碼。通訊鏈路可以包括串列匯流排及/或無線網路。
應當理解,所揭示的程序中的步驟的特定順序或層次是示例性方法的說明。基於設計偏好,應當理解,可以重新排列程序中的步驟的特定順序或層次。此外,可以組合或省略一些步驟。所附方法請求項以實例順序呈現了各個步驟的元素,並且不意味著被限制於所呈現的特定順序或層次。
提供先前的描述以使本發明所屬領域中任何具有通常知識者能夠實踐本文描述的各個態樣。對這些態樣的各種修改對於本發明所屬領域中具有通常知識者而言將是明顯的,並且本文中限定的一般原理可以被施加到其他態樣。因此,請求項不意欲被限制於本文所示的態樣,而是應被賦予與語言請求項一致的完整範疇,其中除非特別聲明,否則以單數形式提及部件並不意欲表示「一個且只有一個」而是「一或多個」。除非另有明確說明,否則術語「一些」是指一或多個。本發明所屬領域中具有通常知識者已知或以後將知道的,貫穿本案所描述的各個態樣的部件的所有結構和功能均等物均經由引用被明確地併入本文,並且意欲由請求項覆蓋。而且,無論在請求項中是否明確敘述了本文揭示的內容,皆不意欲將其揭示給公眾。除非使用短語「用於…的手段」明確地敘述該元素,否則任何請求項元素皆不應被解釋為手段加功能。
100:裝置
102:SoC處理電路
104:電路或設備
106:電路或設備
108:電路或設備
110:數據機
112:處理器
114:板載記憶體
116:匯流排介面電路
118a:匯流排
118b:匯流排
120:匯流排
122:處理器可讀儲存裝置
124:天線
126:顯示器
128:開關
130:按鈕
132:外部鍵盤
200:裝置
202:設備
204:介面控制器
206:配置暫存器
208:時鐘產生電路
210:收發器
212:控制邏輯
214:線驅動器/接收器
216:資料線
218:時鐘線
220:串列匯流排
222 0:設備
222 1:設備
222 2:設備
222 N:設備
224:儲存裝置
226:定時時鐘
228:時鐘訊號
232:模組或電路
234:配置暫存器
236:儲存裝置
238:定時時鐘
240:收發器
242:控制邏輯
244a:線驅動器/接收器
244b:線驅動器/接收器
246:時鐘產生及/或恢復電路
248:時鐘訊號
300:裝置
302:數據機
304:RFIC
306:基頻處理器
308:RFFE介面
310:通訊鏈路
312:第一RFFE介面
314:通訊鏈路
316:RF調諧器
318:PA
320:功率追蹤模組
322:開關
324:LNA
326:LNA
328:RFFE匯流排
330:RFFE匯流排
332:RFFE匯流排
334:通訊鏈路
400:裝置
402:應用處理器
404:周邊設備
406:周邊設備
408:周邊設備
410:通訊鏈路
412:通訊鏈路
414:通訊鏈路
420:邊頻帶GPIO
422:邊頻帶GPIO
424:邊頻帶GPIO
500:裝置
502:應用處理器
504:周邊設備
506:周邊設備
508:周邊設備
510:通訊鏈路
512:通訊鏈路
514:通訊鏈路
516:PHY
518:FSM
520:串列匯流排
522:實體GPIO針腳
524:VGI訊息
526:應用訊息
528:處理電路
600:系統
602:主機SoC
604:匯流排介面
606:VGI有限狀態機
610:串列匯流排
612:周邊設備
614:匯流排介面
616:VGI FSM
618:資料線
620:時鐘線
700:系統
702:有限狀態機
704:封包化器
706:解封包化器
708:匯流排介面實體電路
710:封包串流
712:有限狀態機
714:封包化器
716:解封包化器
718:PHY
722:訊息
724:VGI封包
726:訊息
728:訊息
730:訊息
732:訊息
800:裝置
802:應用處理器
804:中央處理單元或CPU
806:通訊通道
808:實體層電路
810:VGI FSM
812:GPIO監控電路
814:監控電路
816:協定和模式資訊
818:估計電路
820:封包化器
822:通訊鏈路
824:周邊設備
826:VGI FSM
828:對應PHY
900:VGI廣播訊框
902:起始位元
904:標頭
906:VGI廣播公共命令代碼
908:VGI資料有效負載
910:停止位元或同步位元
912 0:VGI訊息
912 n-1:VGI訊息
920:VGI廣播訊框
922:VGI廣播訊框
924:標頭
926:掩碼VGI廣播公共命令代碼
928:VGI資料有效負載
930:停止位元或同步位元
932
0:第一掩碼位元
932
n-1:第一掩碼位元
934
0:I/O訊號值
934
n-1:I/O訊號值
1000:定向VGI訊框
1002:起始位元
1004:標頭
1006:定向公共命令代碼
1008a:同步欄位
1008b:同步欄位
1010a:位址欄位
1010b:第二位址欄位
1012a:定向VGI資料有效負載
1012b:第二定向VGI資料有效負載
1014:停止位元或同步位元
1016:值
1018:值
1020:定向VGI訊框
1022:起始位元
1024:標頭
1026:掩碼VGI定向命令代碼
1028:同步欄位
1030:位址欄位
1032:定向有效負載
1034:停止位元或同步位元
1036:掩碼位元
1038:I/O訊號值
1100:配置暫存器
1102:位元D0-D2
1104:位元D3-D5
1106:位元D6
1108:位元D7
1120:配置暫存器
1122:位元D0
1124:位元D1-D2
1126:位元D3-D4
1128:位元D5-D6
1130:位元D7
1200:裝置
1202:應用處理器
1204:中央處理單元
1206:有限狀態機
1208:PHY
1210:GPIO處理器
1212:硬體事件處理器
1214:軟體事件處理器
1216:軟體事件源
1218:實體訊號
1220:VGI訊息
1222:周邊設備
1224:中央處理單元
1226:有限狀態機
1228:PHY
1230:GPIO處理器
1232:實體GPIO
1234:軟體事件處理器
1236:軟體事件源
1238:實體訊號
1240:標識VGI訊息
1250:串列匯流排
1300:簡化表示
1302:第一設備中的FSM
1304:第一處理器
1306:第二處理器
1308:PHY
1310:串列匯流排
1312:FSM
1314:第三處理器
1316:第四處理器
1318:PHY
1322:管理實體GPIO
1324:管理軟體事件
1326:實體GPIO
1328:管理軟體事件
1340:交叉映射
1342:應用處理器
1344:CPU
1346:周邊設備
1348:數據機
1350:對角線
1400:交叉映射
1402:實體GPIO
1404:GPIO
1406:軟體或軟體事件
1408:實體GPIO
1410:GPIO
1412:軟體或軟體事件
1420:表
1500:系統
1502:主機設備
1504:接收設備
1506:通訊鏈路
1520:定時圖
1522:第一時間點
1524:第二時間點
1526:第三時間點
1528:時間點
1530:時間點
1600:定時圖
1602:持續時間
1604:時鐘訊號
1610:定時圖
1620:定時圖
1700:設備控制介面
1702:主機設備
1704:處理電路
1706:FSM
1708:PHY
1710:訊號傳遞狀態
1712:虛擬狀態資訊
1714:應用相關訊息
1716:批處理
1718:訊息
1720:通訊鏈路
1722:遠端設備
1724:處理電路
1726:FSM
1728:匯流排介面實體電路
1730:訊號傳遞狀態
1732:虛擬狀態資訊
1734:應用相關訊息
1736:批處理
1738:訊息流
1740:協定標頭
1742:批處理
1744:協定標頭
1746:批處理
1748:訊息流
1750:協定標頭
1752:批處理
1754:協定標頭
1800:裝置
1802:處理電路
1804:處理器
1806:儲存裝置
1808:匯流排介面
1810:匯流排
1812a:收發器
1812b:收發器
1814:執行時影像
1816:軟體模組
1818:使用者介面
1820:分時共享程式
1822:內部設備及/或邏輯電路
1900:流程圖
1902:方塊
1904:方塊
1906:方塊
1908:方塊
2000:流程圖
2002:方塊
2004:方塊
2006:方塊
2100:裝置
2102:處理電路
2104:模組或電路
2106:模組或電路
2108:模組或電路
2112:多線匯流排
2114:實體層電路及/或模組
2116:處理器
2118:處理器可讀儲存
2120:匯流排
2122:天線
D0:位元
D1:位元
D2:位元
D3:位元
D4:位元
D5:位元
D6:位元
D7:位元
圖1圖示了採用在IC設備之間的資料鏈路的裝置,該裝置根據複數個可用標準中的一個標準被選擇性地操作。
圖2圖示了用於採用在IC設備之間的資料鏈路的裝置的系統架構。
圖3圖示了使用多個RFFE匯流排來耦合各種射頻前端設備的系統。
圖4圖示了包括應用處理器和多個周邊設備的裝置,其可以根據本文揭示的某些態樣被適配。
圖5圖示了根據本文揭示的某些態樣的已經被適配為支援虛擬GPIO(VGI)的裝置的第一實例。
圖6圖示了根據本文揭示的某些態樣的採用I3C匯流排來耦合各種前端設備的設備。
圖7圖示了根據本文揭示的某些態樣的在封包串流中發送VGI的系統。
圖8圖示了根據本文揭示的某些態樣的已經被適配為支援虛擬GPIO的裝置的第二實例。
圖9圖示了根據本文揭示的某些態樣的VGI廣播訊框的實例。
圖10圖示了根據本文揭示的某些態樣的定向VGI訊框的實例。
圖11圖示了根據本文揭示的某些態樣的可以與實體針腳相關聯的配置暫存器。
圖12圖示了根據本文揭示的某些態樣的被適配為將硬體和軟體事件表示為VGI的裝置。
圖13圖示了圖12中圖示的裝置中的訊息流的某些態樣。
圖14圖示了根據本文揭示的某些態樣的異構VGI的交叉映射的實例。
圖15圖示了根據本文揭示的某些態樣的被配置成實現對設備的異步控制模式的系統的實例。
圖16圖示了根據本案的某些態樣的批處理擷取、批處理傳輸和批處理執行。
圖17圖示了根據本案的某些態樣配置的設備控制介面的操作。
圖18圖示了採用可以根據本文揭示的某些態樣進行適配的處理電路的裝置的一個實例。
圖19是圖示根據本文揭示的某些態樣適配的應用處理器的某些操作的第一流程圖。
圖20是圖示根據本文揭示的某些態樣適配的應用處理器的某些操作的第二流程圖。
圖21圖示了用於根據本文揭示的某些態樣適配的裝置的硬體實施方式的實例。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
1700:設備控制介面
1702:主機設備
1704:處理電路
1706:FSM
1708:PHY
1710:訊號傳遞狀態
1712:虛擬狀態資訊
1714:應用相關訊息
1716:批處理
1718:訊息
1720:通訊鏈路
1722:遠端設備
1724:處理電路
1726:FSM
1728:匯流排介面實體電路
1730:訊號傳遞狀態
1732:虛擬狀態資訊
1734:應用相關訊息
1736:批處理
1738:訊息流
1740:協定標頭
1742:批處理
1744:協定標頭
1746:批處理
1748:訊息流
1750:協定標頭
1752:批處理
1754:協定標頭
Claims (30)
- 一種用於資料通訊的方法,包括以下步驟: 在一批處理中表示實體通用輸入/輸出(GPIO)的一系列訊號傳遞狀態,該批處理包括虛擬GPIO訊息和控制訊息的一序列; 產生包括定時資訊的一第一標頭,該定時資訊被配置成控制該批處理的執行的定時; 在一通訊鏈路上發送該第一標頭;及 在該通訊鏈路上發送該批處理。
- 根據請求項1之方法,亦包括以下步驟: 從一處理電路接收一事件;及 在虛擬GPIO訊息和控制訊息的該序列中包括的一訊息中表示該事件。
- 根據請求項1之方法,亦包括以下步驟: 使用一第一時基,來擷取該實體GPIO的該一系列訊號傳遞狀態,該第一時基控制訊號傳遞狀態的擷取速率。
- 根據請求項3之方法,其中該定時資訊定義用於從虛擬GPIO訊息和控制訊息的該序列提取GPIO訊號傳遞狀態的一第二時基,該第二時基不同於該第一時基。
- 根據請求項1之方法,亦包括以下步驟: 從一處理電路接收該實體GPIO的該一系列訊號傳遞狀態。
- 根據請求項1之方法,其中該定時資訊定義一狀態間隔,該狀態間隔與由被包括在虛擬GPIO訊息和控制訊息的該序列之每一者虛擬GPIO訊息來表示的GPIO訊號傳遞狀態的一持續時間相對應。
- 根據請求項1之方法,其中該定時資訊定義在從虛擬GPIO訊息和控制訊息的該序列提取GPIO訊號傳遞狀態之前要被觀察到的一延遲。
- 根據請求項1之方法,其中該定時資訊定義用於從虛擬GPIO訊息和控制訊息的該序列重複提取GPIO訊號傳遞狀態的一重複速率。
- 根據請求項1之方法,亦包括以下步驟: 產生一第二標頭,該第二標頭修改在該第一標頭中提供的該定時資訊;及 在發送該批處理之後,在該通訊鏈路上傳送發送該第二標頭。
- 根據請求項1之方法,其中該實體GPIO的該一系列訊號傳遞狀態被配置成:控制可經由該通訊鏈路存取的一遠端設備中的一周邊設備。
- 根據請求項1之方法,其中該通訊鏈路包括一串列匯流排。
- 根據請求項1之方法,其中該通訊鏈路包括一無線網路。
- 一種用於資料通訊的裝置,包括: 一收發器電路,被配置成:經由一通訊鏈路將該裝置耦合到一遠端設備;及 一控制器,被配置成: 在一批處理中表示實體通用輸入/輸出(GPIO)的一系列訊號傳遞狀態,該批處理包括虛擬GPIO訊息和控制訊息的一序列; 產生包括定時資訊的一第一標頭,該定時資訊被配置成控制該批處理的執行的定時; 在該通訊鏈路上發送該第一標頭;及 在該通訊鏈路上發送該批處理。
- 根據請求項13之裝置,其中該控制器亦被配置成: 從一處理電路接收該實體GPIO的該一系列訊號傳遞狀態的一第一部分;及 使用控制訊號傳遞狀態的擷取速率的一第一時基,來擷取該實體GPIO的該一系列訊號傳遞狀態的一第二部分, 其中該定時資訊定義用於從虛擬GPIO訊息和控制訊息的該序列提取GPIO訊號傳遞狀態的一第二時基,該第二時基不同於該第一時基。
- 根據請求項13之裝置,其中該定時資訊定義一狀態間隔,該狀態間隔與由被包括在虛擬GPIO訊息和控制訊息的該序列之每一者虛擬GPIO訊息來表示的GPIO訊號傳遞狀態的一持續時間相對應;定義在從虛擬GPIO訊息和控制訊息的該序列提取GPIO訊號傳遞狀態之前要被觀察到的一延遲;或者定義從虛擬GPIO訊息和控制訊息的該序列重複提取GPIO訊號傳遞狀態的一重複速率。
- 根據請求項13之裝置,其中該實體GPIO的該一系列訊號傳遞狀態被配置成:控制可經由該通訊鏈路存取的該遠端設備中的一周邊設備。
- 一種用於資料通訊的方法,包括以下步驟: 接收包括控制訊息和虛擬通用輸入/輸出(GPIO)訊息的一序列的一批處理,該虛擬通用輸入/輸出(GPIO)訊息表示實體GPIO的一系列訊號傳遞狀態; 接收包括定時資訊的一第一標頭,該定時資訊被配置成控制該批處理的執行的定時;及 使用該定時資訊,從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態。
- 根據請求項17之方法,其中控制訊息和虛擬GPIO訊息的該序列中的至少一個訊息表示指向一處理電路的一事件。
- 根據請求項17之方法,其中該定時資訊定義用於從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態的一時基。
- 根據請求項17之方法,其中該定時資訊定義一狀態間隔,該狀態間隔與由被包括在控制訊息和虛擬GPIO訊息的該序列之每一者虛擬GPIO訊息來表示的GPIO訊號傳遞狀態的一持續時間相對應。
- 根據請求項17之方法,其中該定時資訊定義在從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態之前要被觀察到的一延遲。
- 根據請求項17之方法,其中該定時資訊定義用於從控制訊息和虛擬GPIO訊息的該序列重複提取GPIO訊號傳遞狀態的一重複速率。
- 根據請求項17之方法,亦包括以下步驟: 接收包括修改的定時資訊的一第二標頭;及 使用該修改的定時資訊,從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態。
- 根據請求項17之方法,亦包括以下步驟: 使用該實體GPIO的該一系列訊號傳遞狀態的重複,來控制一周邊設備。
- 根據請求項17之方法,其中從串列匯流排接收該批處理。
- 根據請求項17之方法,其中從無線網路接收該批處理。
- 一種用於資料通訊的裝置,包括: 一收發器電路,被配置成:經由通訊鏈路將該裝置耦合到一遠端設備;及 一控制器,被配置成: 接收包括控制訊息和虛擬通用輸入/輸出(GPIO)訊息的一序列的一批處理,該通用輸入/輸出(GPIO)訊息表示實體GPIO的一系列訊號傳遞狀態; 接收包括定時資訊的一第一標頭,該定時資訊被配置成控制該批處理的執行的定時;及 使用該定時資訊,從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態。
- 根據請求項27之資料通訊裝置,其中該定時資訊定義用於從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態的一時基。
- 根據請求項27之資料通訊裝置,其中該定時資訊定義一狀態間隔,該狀態間隔與由在控制訊息和虛擬GPIO訊息的該序列中包括的每個虛擬GPIO訊息表示的GPIO訊號傳遞狀態的一持續時間相對應;定義在從控制訊息和虛擬GPIO訊息的該序列提取GPIO訊號傳遞狀態之前要觀察的一延遲;或定義從控制訊息和虛擬GPIO訊息的該序列重複提取GPIO訊號傳遞狀態的一重複速率。
- 根據請求項27之資料通訊裝置,其中該控制器亦被配置成: 使用該實體GPIO的該一系列訊號傳遞狀態的重複,來控制一周邊設備。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/061,357 | 2020-10-01 | ||
US17/061,357 US11513991B2 (en) | 2020-10-01 | 2020-10-01 | Batch operation across an interface |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202219781A true TW202219781A (zh) | 2022-05-16 |
Family
ID=77448091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110128088A TW202219781A (zh) | 2020-10-01 | 2021-07-30 | 跨介面批處理操作 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11513991B2 (zh) |
EP (1) | EP4204978A1 (zh) |
CN (1) | CN116075815A (zh) |
TW (1) | TW202219781A (zh) |
WO (1) | WO2022072052A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11880314B1 (en) * | 2018-07-27 | 2024-01-23 | Dialog Semiconductor B.V. | Microcontroller for driving an external device |
US11675008B2 (en) * | 2020-02-28 | 2023-06-13 | Western Digital Technologies, Inc. | Embedded PHY (EPHY) IP core for FPGA |
US20220165318A1 (en) * | 2020-11-20 | 2022-05-26 | Texas Instruments Incorporated | Automatic serial bus equalization trim |
TWI797554B (zh) * | 2021-02-05 | 2023-04-01 | 新唐科技股份有限公司 | 系統單晶片及控制方法 |
US11914725B2 (en) * | 2021-05-28 | 2024-02-27 | Dell Products L.P. | Operating system agnostic and secure bi-directional data handling |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8364638B2 (en) * | 2005-09-15 | 2013-01-29 | Ca, Inc. | Automated filer technique for use in virtualized appliances and applications |
US8555265B2 (en) * | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
US9619427B2 (en) * | 2014-04-21 | 2017-04-11 | Qualcomm Incorporated | Hybrid virtual GPIO |
TWI576694B (zh) | 2014-12-02 | 2017-04-01 | 英業達股份有限公司 | 硬碟運行狀態檢測系統 |
JP2018504714A (ja) * | 2015-02-04 | 2018-02-15 | クアルコム,インコーポレイテッド | 電圧モードおよび電流モードデバイスエニュマレーション |
US9971666B2 (en) * | 2015-03-06 | 2018-05-15 | Qualcomm Incorporated | Technique of link state detection and wakeup in power state oblivious interface |
US9563398B2 (en) * | 2015-03-06 | 2017-02-07 | Qualcomm Incorporated | Impedance-based flow control for a two-wire interface system with variable frame length |
US10241953B2 (en) * | 2015-08-07 | 2019-03-26 | Qualcomm Incorporated | Dynamic data-link selection over common physical interface |
US10140242B2 (en) * | 2015-09-10 | 2018-11-27 | Qualcomm Incorporated | General purpose input/output (GPIO) signal bridging with I3C bus interfaces and virtualization in a multi-node network |
US10872049B2 (en) * | 2016-01-29 | 2020-12-22 | Analog Devices, Inc. | GPIO-to-GPIO communication on a multi-node daisy-chained network |
CN106375077A (zh) | 2016-08-29 | 2017-02-01 | 宁波三星医疗电气股份有限公司 | Si4463芯片采用gpio模式实现数据传输的方法 |
JP2019530939A (ja) * | 2016-09-05 | 2019-10-24 | テンティー・ホールディングス・ピーティーワイ・リミテッド | ソフトウェア定義デバイスインタフェースシステムおよび方法 |
US10521392B2 (en) * | 2017-05-10 | 2019-12-31 | Qualcomm Incorporated | Slave master-write/read datagram payload extension |
US20180359117A1 (en) * | 2017-06-12 | 2018-12-13 | Qualcomm Incorporated | Virtual channel instantiation over vgi/vgmi |
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 |
-
2020
- 2020-10-01 US US17/061,357 patent/US11513991B2/en active Active
-
2021
- 2021-07-30 EP EP21758916.7A patent/EP4204978A1/en not_active Withdrawn
- 2021-07-30 WO PCT/US2021/044017 patent/WO2022072052A1/en unknown
- 2021-07-30 TW TW110128088A patent/TW202219781A/zh unknown
- 2021-07-30 CN CN202180063079.0A patent/CN116075815A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022072052A1 (en) | 2022-04-07 |
US11513991B2 (en) | 2022-11-29 |
CN116075815A (zh) | 2023-05-05 |
US20220107912A1 (en) | 2022-04-07 |
EP4204978A1 (en) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202219781A (zh) | 跨介面批處理操作 | |
US10515044B2 (en) | Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus | |
US20180357199A1 (en) | Slave-to-slave communication in i3c bus topology | |
WO2017099949A1 (en) | Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces | |
US10642778B2 (en) | Slave master-write/read datagram payload extension | |
US10467154B2 (en) | Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial 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 | |
US20180329837A1 (en) | Input/output direction decoding in mixed vgpio state exchange | |
TW202014904A (zh) | I3c上的低等待時間虛擬通用輸入/輸出 | |
US10579549B2 (en) | Staggered transmissions on a multi-drop half-duplex bus | |
US10733121B2 (en) | Latency optimized I3C virtual GPIO with configurable operating mode and device skip | |
US10592441B2 (en) | Bus communication enhancement based on identification capture during bus arbitration | |
US11119790B2 (en) | Low latency clock-based control via serial bus | |
US11520729B2 (en) | I2C bus architecture using shared clock and dedicated data lines | |
TW201903619A (zh) | 用於虛擬通用目的輸入/輸出介面之頻帶中硬體重置 | |
US11243902B2 (en) | Intra-module serial communication interface for radio frequency devices | |
US20200233829A1 (en) | Multi-lane system power management interface | |
TW202125270A (zh) | 基於序列執行來控制射頻前端觸發的應用時間 | |
TW202213116A (zh) | 符合即時控制的射頻共存管理匯流排 |