TW201902142A - 混合vgpio狀態交換中的輸入/輸出方向解碼 - Google Patents

混合vgpio狀態交換中的輸入/輸出方向解碼 Download PDF

Info

Publication number
TW201902142A
TW201902142A TW107112543A TW107112543A TW201902142A TW 201902142 A TW201902142 A TW 201902142A TW 107112543 A TW107112543 A TW 107112543A TW 107112543 A TW107112543 A TW 107112543A TW 201902142 A TW201902142 A TW 201902142A
Authority
TW
Taiwan
Prior art keywords
vgpio
register
state
bits
gpio
Prior art date
Application number
TW107112543A
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 TW201902142A publication Critical patent/TW201902142A/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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/105Program control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • 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/0016Inter-integrated circuit (I2C)
    • 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)
  • Information Transfer Systems (AREA)

Abstract

用於在串列通訊鏈路上傳遞虛擬化通用輸入/輸出(GPIO)信號的系統、方法和裝置。一種在耦合到通訊鏈路的傳送方設備處執行的方法包括:在第一暫存器中維護複數個虛擬通用輸入/輸出(VGPIO)位元,該複數個VGPIO位元包括表示一或多個輸出GPIO引腳的狀態的一或多個位元以及表示第一設備的輸入GPIO引腳的狀態的至少一個位元;接收被定向至第一暫存器的第一VGPIO狀態資訊;基於第二暫存器的相應位的值來將第一VGPIO狀態資訊的第一組位元寫入到第一暫存器或避免將第一VGPIO狀態資訊的第一組位元寫入到第一暫存器。第二組位元可被定向至表示輸出GPIO引腳的狀態的一或多個位元。

Description

混合VGPIO狀態交換中的輸入/輸出方向解碼
本專利申請案主張於2017年5月10日在美國專利商標局提交的臨時專利申請序號:62/504,438、以及於2018年4月11日在美國專利商標局提交的非臨時申請序號:15/950,955的優先權和權益,這兩件申請案的全部內容經由援引納入於此。
本案一般係關於串列通訊和輸入/輸出引腳配置,尤其係關於在包含輸入和輸出狀態資訊兩者的位元組中傳送的虛擬通用輸入/輸出資料的傳輸。
行動通訊設備可包括各種各樣的組件,包括電路板、積體電路(IC)設備及/或片上系統(SoC)設備。各組件可包括處理設備、使用者介面組件、儲存和經由共用資料通訊匯流排(其可包括串列匯流排或平行匯流排)進行通訊的其他周邊組件。業內已知的通用序列介面包括積體電路間(I2C或I²C)串列匯流排及其衍生物和替換物,其包括由移動行業處理器介面(MIPI)聯盟定義的介面和協定,諸如I3C、系統功率管理介面(SPMI)和射頻前端(RFFE)介面和協定。
在一個實例中,I2C串列匯流排是意欲用於將低速周邊設備連接至處理器的串列單端電腦匯流排。一些介面提供多主控匯流排,其中兩個或更多個設備可以用作在串列匯流排上傳送的不同訊息的匯流排主控方。在另一實例中,RFFE介面定義了用於控制各種射頻(RF)前端設備(包括功率放大器(PA)、低雜訊放大器(LNA)、天線調諧器、濾波器、感測器、功率管理設備、開關等)的通訊介面。這些設備可共處於單個IC設備中或者設在多個IC設備中。在行動通訊設備中,多個天線和無線電收發機可支援多個併發RF鏈路。
在許多例子中,採用數個命令和控制信號來連接行動通訊設備中的不同組件設備。這些連接消耗行動通訊設備內寶貴的通用輸入/輸出(GPIO)引腳,並且虛擬化實體互連以獲取在現有串列資料連結上傳送的資料表示將會是合乎需要的。然而,一般串列資料連結與可能不滿足實體命令和控制信號的定時要求的等待時間相關聯,尤其是在行動通訊設備所支援的定義嚴格傳輸時限的即時嵌入式系統應用中。
隨著行動通訊設備持續包括更高級的功能性,需要改進的串列通訊技術來支援周邊設備與應用處理器之間的混合虛擬GPIO狀態資訊的傳輸。
本案的某些態樣涉及可提供不同設備之間的經最佳化低等待時間通訊以使得GPIO引腳可作為虛擬信號被攜帶的系統、裝置、方法和技術。提供了虛擬GPIO有限狀態機(VGI FSM),其可合併來自多個源的GPIO狀態資訊並將該狀態資訊經由資料通訊匯流排分發到一或多個設備。在一個態樣,合併的GPIO狀態資訊包括對應於輸入和輸出GPIO引腳的資訊。
在本案的各態樣,一種在傳送方設備處執行的方法包括在第一暫存器中維護複數個虛擬通用輸入/輸出(VGPIO)位元,每一個VGPIO位元表示第一設備中的實體通用輸入/輸出(GPIO)引腳的狀態。複數個VGPIO位元可包括表示第一設備的輸出GPIO引腳的狀態的一或多個位元以及表示第一設備的輸入GPIO引腳的狀態的至少一個位元。該方法可進一步包括從串列匯流排接收第一VGPIO狀態資訊,第一VGPIO狀態資訊被定向至第一暫存器;當第二暫存器的相應位元用第一邏輯狀態配置時將第一VGPIO狀態資訊的第一組位元寫入到第一暫存器;及當第二暫存器的相應位元用第二邏輯狀態配置時避免將第一VGPIO狀態資訊的第二組位元寫入到第一暫存器。第二組位元可被定向至表示輸出GPIO引腳的狀態的一或多個位元。在某些實例中,該串列匯流排可根據I3C、SPMI或RFFE協定來操作。
在某些態樣,該方法包括用第一遮罩值來配置第二暫存器,第一遮罩值對應於其狀態由第一暫存器表示的輸入GPIO引腳和輸出GPIO引腳的配置。第二暫存器可以在第一設備的初始化期間配置。
在一些態樣,第一VGPIO狀態資訊是從第二設備接收到的。第二設備可包括用複數個遮罩位元配置的第三暫存器。每一遮罩位元可對應於第二設備的GPIO引腳。第三暫存器可以用遮罩值來配置,該遮罩值可操作用於防止第二VGPIO狀態資訊位元被寫入到第二設備的維護第二設備的輸出GPIO引腳的狀態的VGPIO暫存器。該方法可包括將第二VGPIO狀態資訊從第一設備經由串列匯流排傳送到第二設備。第二VGPIO狀態資訊可包括第一暫存器的內容。第三暫存器可以用作為用於配置第二暫存器的值的邏輯逆的值來配置。
在本案的各態樣,一種裝置包括被適配成維護複數個VGPIO位元的第一暫存器,每一VGPIO位元表示實體GPIO引腳的狀態。複數個VGPIO位元可包括表示該裝置的輸出GPIO引腳的狀態的一或多個位元以及表示該裝置的輸入GPIO引腳的狀態的至少一個位元。該裝置可包括用複數個遮罩位元配置的第二暫存器,每一遮罩位對應於該複數個VGPIO位之一;被配置成從串列匯流排接收VGPIO狀態資訊的匯流排介面,該VGPIO狀態資訊被定向至第一暫存器;及遮罩電路,其被適配成防止將被定向至表示輸出GPIO引腳的狀態的一或多個位元的VGPIO狀態資訊位元寫入到第一暫存器。串列匯流排可根據I3C、SPMI或RFFE協定來操作。
在一態樣,被配置成具有第一邏輯狀態的第二暫存器的每一位元使得能夠將VGPIO狀態資訊的相應位元寫入到第一暫存器,並且被配置成具有第二邏輯狀態的第二暫存器的每一位元防止將VGPIO狀態資訊的相應位元寫入到第一暫存器。第二暫存器可以在該裝置的初始化期間配置。
在一些態樣,VGPIO狀態資訊是從耦合到串列匯流排的積體電路(IC)設備接收到的。VGPIO狀態資訊可表示IC設備的輸出GPIO引腳的狀態。IC設備可包括用複數個遮罩位元配置的第三暫存器,每一遮罩位元對應於該IC設備的輸出GPIO引腳之一或者該IC設備的輸入GPIO引腳。第三暫存器的位元設置可操作用於防止該裝置傳送的VGPIO位元修改表示該IC設備的輸出GPIO引腳的狀態的VGPIO狀態資訊位元。第三暫存器可以用作為用於配置第二暫存器的值的邏輯逆的值來配置。
在各態樣,該裝置包括串列匯流排以及耦合到該串列匯流排的兩個IC設備,每一個IC設備包括被適配成維護第一複數個VGPIO位元的第一暫存器,每一位元表示該IC設備中的實體GPIO端子的狀態。第一複數個VGPIO位元可包括表示IC設備中的輸出GPIO端子的一或多個位元以及表示第一IC設備中的GPIO端子的至少一個位元。每一個IC設備可包括:用複數個遮罩位元配置的第二暫存器,每一遮罩位對應於第一複數個VGPIO位元之一;被配置成從串列匯流排接收被定向至第一暫存器的VGPIO狀態資訊的匯流排介面,VGPIO狀態資訊包括第二複數個VGPIO位元,第二複數個VGPIO位元包括表示不同的IC設備中的輸出GPIO端子的一或多個位元;及遮罩電路,其被適配成防止表示積體電路設備中的輸出GPIO端子的一或多個位元被第二複數個VGPIO位元蓋寫。
在一個態樣,兩個IC設備被配置成在經由串列匯流排傳送的VGPIO狀態資訊中傳送其各自的第一暫存器的內容。兩個IC設備的第二暫存器用作為彼此的邏輯逆的兩個不同值來配置。第一IC設備中的輸出GPIO端子對應於第二IC設備中的輸入GPIO端子。第一IC設備中的輸入GPIO端子對應於第二IC設備中的輸出GPIO端子。
在本案的各個態樣,揭示一種處理器可讀儲存媒體。該儲存媒體可以是非瞬態儲存媒體並且可儲存代碼,該代碼在由一或多個處理器執行時使該一或多個處理器在第一暫存器中儲存及/或維護複數個VGPIO位元,每一VGPIO位元表示第一設備中的實體GPIO引腳的狀態。複數個VGPIO位元可包括表示第一設備的輸出GPIO引腳的狀態的一或多個位元以及表示第一設備的輸入GPIO引腳的狀態的至少一個位元。該代碼可包括用於以下操作的代碼:從串列匯流排接收第一VGPIO狀態資訊,第一VGPIO狀態資訊被定向至第一暫存器;當第二暫存器的相應位元用第一邏輯狀態配置時將第一VGPIO狀態資訊的第一組位元寫入到第一暫存器;及當第二暫存器的相應位元用第二邏輯狀態配置時避免將第一VGPIO狀態資訊的第二組位元寫入到第一暫存器。第二組位元可被定向至表示輸出GPIO引腳的狀態的一或多個位元。
在一些態樣,指令使該一或多個處理器用對應於其狀態由第一暫存器表示的輸入GPIO引腳和輸出GPIO引腳的配置的第一遮罩值來配置第二暫存器。第二暫存器可以在第一設備的初始化期間配置。
在某些態樣,第一VGPIO狀態資訊是從第二設備接收到的。第二設備包括用多個遮罩位元配置的第三暫存器,每一遮罩位元對應於第二設備的GPIO引腳。第三暫存器可以用遮罩值來配置,該遮罩值可操作用於防止第二VGPIO狀態資訊位元被寫入到第二設備的維護第二設備的輸出GPIO引腳的狀態的VGPIO暫存器。
在某些態樣,第二VGPIO狀態資訊包括第一暫存器的內容。第三暫存器可以用作為用於配置第二暫存器的值的邏輯逆的值來配置。
在某些態樣,指令使該一或多個處理器接收被定向至表示輸入GPIO引腳的狀態的至少一個位元的輸入VGPIO狀態資訊,以及根據輸入VGPIO狀態資訊來驅動輸入GPIO引腳。
以下結合附圖闡述的詳細描述意欲作為各種配置的描述,而無意表示可實踐本文所描述的概念的僅有配置。本詳細描述包括具體細節以提供對各種概念的透徹理解。然而,對於本發明所屬領域中具有通常知識者將顯而易見的是,沒有這些具體細節亦可實踐這些概念。在一些例子中,以方塊圖形式示出眾所周知的結構和組件以避免湮沒此類概念。
現在將參照各種裝置和方法提供本發明的若干態樣。這些裝置和方法將在以下詳細描述中進行描述並在附圖中由各種方塊、模組、組件、電路、步驟、程序、演算法等(統稱為「元素」)來圖示。這些元素可使用電子硬體、電腦軟體、或其任何組合來實現。此類元素是實現成硬體還是軟體取決於具體應用和加諸於整體系統上的設計約束。 概覽
包括多SoC的設備和其他IC設備通常採用可包括串列匯流排或其他資料通訊鏈路的共享通訊介面以將處理器與數據機和其他周邊設備相連接。串列匯流排或其他資料通訊鏈路可根據一或多個標準或協定來***作。在一個實例中,串列匯流排可根據I2C、I3C、SPMI及/或RFFE協定來***作。根據本文所揭示的某些態樣,GPIO引腳、跡線、連接器或端子的訊號傳遞狀態可被虛擬化成可在資料通訊鏈路上傳送的GPIO狀態資訊。
虛擬化的GPIO狀態資訊可以在各種類型的通訊鏈路上傳送,包括包含有線鏈路、無線鏈路及/或有線和無線鏈路的組合的通訊鏈路。在一個實例中,虛擬化GPIO狀態資訊可被群組化或以其他方式被格式化以在無線網路(包括藍芽、無線LAN、蜂巢網路等)上進行傳輸。本文描述了涉及有線通訊鏈路的實例以促成對某些態樣的理解。這些態樣不變地適用於其中虛擬化的GPIO狀態資訊的傳輸包括射頻(RF)網路上的傳輸的實現。
可使用數種不同的協定方案來在通訊鏈路上傳遞資訊。現有協定具有定義好且不可改變的結構,因為它們的結構不能被改變以基於使用情形中的變動及/或與其他協定、設備和應用的共存來最佳化傳輸等待時間。即時嵌入式系統要求必須滿足某些最終期限。在某些即時應用中,滿足傳輸最後期限可能是至關重要的。在一個實例中,當共用匯流排支援不同協定時在所有使用情形下確保最優等待時間可能是困難或不可能的。在一些實例中,I2C、I3C、SPMI或RFFE串列通訊匯流排可被用於隧穿具有不同等待時間要求、不同資料傳輸量及/或不同傳輸排程的不同協定。在另一實例中,可供傳送到多個設備的高等待時間、虛擬化的GPIO資料可包括被寫入到一個設備並從另一設備讀取的虛擬化的GPIO資料,這需要一般系統中的多次傳輸。源設備的每一次傳輸都可增加匯流排等待時間。
本文揭示的某些態樣提供了被適配成使設備能夠合併關於輸入和輸出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的某些態樣。串列匯流排230可以根據諸如I2C、I3C、SPMI及/或RFFE協定等協定來操作。設備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上傳送時鐘信號。一些I3C協定使得資料能被編碼在第一導線218和第二導線216的訊號傳遞狀態、或組合訊號傳遞狀態轉變中。
圖3圖示了可以在晶片組、一或多個SoC及/或其他設備配置中實現的系統300中的根據RFFE協定操作的匯流排的實例。系統300採用多個RFFE匯流排330、332、334,其可支援各種RF前端設備318、320、322、324、326、328之間以及與這些RF前端設備的通訊。在該系統300中,數據機302包括RFFE介面306,其可將數據機302耦合至第一RFFE匯流排330。數據機302可以經由一或多個通訊鏈路308、312來與基頻處理器304和RFIC 310通訊。系統300可被實施在以下一者或多者中:行動通訊設備、行動電話、行動計算系統、行動電話、筆記型電腦、平板計算設備、媒體播放機、遊戲裝置、無人機、可穿戴計算及/或通訊設備、電器等。
在各個實例中,系統300可包括一或多個基頻處理器304、數據機302、RFIC 312、多個通訊鏈路308、310、多個RFFE匯流排330、332、334、及/或其他類型的匯流排。設備302可包括其他類型的處理器、電路、模組及/或匯流排。系統300可被配置成用於各種操作及/或不同功能性。在圖3中所圖示的系統300中,數據機302經由其RFFE介面306和第一RFFE匯流排330耦合至RF調諧器318。RFIC 312可包括一或多個RFFE介面314、316、控制器、狀態機、及/或配置和控制RF前端的某些態樣的處理器。RFIC 312可經由其第一RFFE介面314和第二RFFE匯流排332來與PA 320和功率追蹤模組322通訊。RFIC 312可經由其第二RFFE介面316和第二RFFE匯流排334來與開關324和一或多個LNA 326、328通訊。
MIPI聯盟系統功率管理介面(SPMI)指定可以在基頻或應用處理器與周邊組件之間實現以支援包括與功率管理操作有關的資料通訊在內的各種資料通訊功能的硬體介面。圖4圖示了系統400的實例,該系統400包括資料通訊鏈路410、412,其中資料通訊鏈路410、412中的每一者被配置為根據SPMI協定操作的雙線串列匯流排。在一個實例中,第一資料通訊鏈路410可用於將應用處理器402的整合功率控制器與第一功率管理積體電路(PMIC 406)中的電壓調節系統相連,而第二資料通訊鏈路412可用於將數據機4041 的整合功率控制器與第二PMIC 408中的電壓調節系統相連。資料通訊鏈路410、412可用於準確地監視和控制給定工作負載或應用所需的處理器效能水平並且即時地基於效能水平來動態地控制各供電電壓。資料通訊鏈路410、412可用於在應用處理器402與第一PMIC 406之間及/或在數據機4041 與第二PMIC 408之間攜帶其他類型的資料。SPMI資料通訊鏈路可被實現為用於連接各種不同的設備以及攜帶其他類型的資料的多點分支串列鏈路。一些SPMI資料通訊鏈路可被最佳化以用於即時功率管理功能。一些SPMI資料通訊鏈路可被用作共享匯流排,其為設備提供高速、低等待時間的連接,其中資料傳輸可根據被指派到不同話務類的優先順序來進行管理。
在圖4所述圖示的系統400中,應用處理器402可用作各資料通訊鏈路410、412、422及/或424上的主機設備,這些資料通訊鏈路將應用處理器402與多個周邊設備4041 -404N 耦合。應用處理器402可以使用不同類型的資料通訊協定來耦合到周邊設備4041 -404N 中的每一者。資料通訊鏈路422、424可根據諸如RFFE、SPMI、I3C協定等協定來操作。在一些實現中,資料通訊鏈路422及/或424中的至少一者可包括根據能提供應用處理器402與某些周邊設備4041 -404N 之間的低等待時間通訊的SPMI協定來操作的串列匯流排。在一些實例中,應用處理器402和數據機4041 可以使用功率管理介面來耦合到相應的PMIC 406、408,該功率管理介面使用SPMI主控方414、418來實現。SPMI主控方414、418與PMIC 406、408中提供的相應SPMI從動方416、420通訊以促成對PMIC 406、408的即時控制。
匯流排等待時間可影響串列匯流排處置高優先順序、即時及/或其他受時間約束的訊息的能力。低等待時間訊息或者要求低匯流排等待時間的訊息可涉及或攜帶感測器狀態、設備產生的即時事件和虛擬化的通用輸入/輸出(GPIO)。在一個實例中,匯流排等待時間可被量測為在訊息變得可供傳送與訊息遞送或者在一些情形中是開始傳送訊息之間逝去的時間。可採用對匯流排等待時間的其他量測。匯流排等待時間通常包括在傳送更高優先順序的訊息時招致的延遲、中斷處理、終止串列匯流排上的程序中的事務所需的時間、傳送導致匯流排在傳送模式和接收模式之間周轉的命令的時間、協定指定的匯流排仲裁及/或命令傳輸。
虛擬GPIO訊息是低等待時間訊息的一個實例。行動通訊設備以及與行動通訊設備相關或相連接的其他設備日益增加地提供更強的能力、效能和功能性。在許多實例中,行動通訊設備納入了使用各種通訊鏈路來連接的多個IC設備。 在串列匯流排上傳送虛擬GPIO狀態
圖5圖示了使用多線串列匯流排510來耦合各種設備(包括主機SoC 502和數個周邊設備512)的裝置500的實例。將領會,本文揭示的某些概念等同地適用於根據包括I2C、I3C、RFFE和SPMI協定在內的各種協定來操作的通訊鏈路。主機SoC 502可包括虛擬GPIO有限狀態機(VGI FSM 506)和匯流排介面504,其中匯流排介面504與周邊設備512中的相應匯流排介面514協調以提供主機SoC 502與周邊設備512之間的通訊鏈路。每個周邊設備512包括VGI FSM 516。主機SoC 502與周邊設備512之間的通訊可根據I2C、I3C、RFFE及/或SPMI協定來在多線串列匯流排510上序列化並傳送。在一些實例中,多線串列匯流排510可作為I3C匯流排來操作及/或可根據由時鐘信號在時鐘線520上提供的定時資訊來在資料線518上傳送的資料信號中編碼資料。在一些實例中,多線串列匯流排510可以在符號中編碼資料,這些符號用在連貫符號之間出現的訊號傳遞狀態之間的轉變中編碼的定時/時鐘資訊來控制資料線518和時鐘線520的訊號傳遞狀態。
在串列鏈路上傳送的虛擬GPIO狀態可涉及實體GPIO引腳、連接器、跡線、導線等的事件及/或控制信號。虛擬GPIO狀態可以在串列匯流排上傳送,包括當虛擬GPIO狀態表示被配置成與其中在串列匯流排上傳送虛擬GPIO狀態的實體通訊鏈路聯用的實體GPIO引腳和信號的事件或狀態時。行動通訊設備以及與行動通訊設備相關或相連接的其他設備日益增加地提供更強的能力、效能和功能性。在許多實例中,行動通訊設備納入了被配置成使用各種通訊鏈路來連接的多個IC設備。
圖6圖示了包括應用處理器602和多個周邊設備604、606、608的一般裝置600。在該實例中,每個周邊設備604、606、608在根據相互不同的協定來操作的相應通訊鏈路610、612、614上與應用處理器602通訊。應用處理器602與每個周邊設備604、606、608之間的通訊可涉及額外導線,這些附加導線在應用處理器602與周邊設備604、606、608之間攜帶控制或命令信號。這些額外導線在本文可被稱為邊頻帶通用輸入/輸出(邊頻帶GPIO 620、622、624),並且在一些實例中,邊頻帶GPIO 620、622、624所需的連接數目可超過用於通訊鏈路610、612、614的連接數目。
術語「GPIO引腳」或「GPIO端子」在本文可用於指代可用於將電路及/或設備互連的實體通用引腳、連接器、導線、跡線、焊盤及/或端子。在一些情形中,GPIO引腳以及GPIO引腳之間的連接可經由設計來定義或者可被定制或轉用於特定應用或設備配置。例如,GPIO引腳可以是可程式設計的以根據應用需求而用作輸出引腳、輸入引腳或雙向引腳。在一個實例中,應用處理器602可指派及/或配置數個GPIO引腳以傳導與周邊設備604、606、608(諸如數據機)的交握訊號傳遞或處理器間通訊(IPC)。當使用交握訊號傳遞時,邊頻帶訊號傳遞可以是對稱的,其中訊號傳遞由應用處理器602和周邊設備604、606、608傳送和接收。隨著設備複雜度增加,用於IPC通訊的增加的GPIO引腳數目會顯著地提高製造成本並且限制GPIO對其他系統級周邊介面的可用性。
根據某些態樣,實體GPIO(包括與通訊鏈路相關聯的GPIO引腳)的狀態可被捕捉、虛擬化、序列化、並經由資料通訊鏈路傳送。在一個實例中,捕捉到的實體GPIO狀態可以在串列匯流排上在封包中傳送,封包由可指示封包內容(包括有效載荷類型)及/或目的地的命令代碼及/或控制資訊來標識。
圖7圖示了根據本文所揭示的某些態樣的適配成支援虛擬GPIO(VGI)的裝置700。VGI電路和技術可減少用於將應用處理器702與可以是數個(N個)周邊設備之一的周邊設備724相連的實體引腳和連接的數目。複數個實體GPIO信號的訊號傳遞狀態可被虛擬化為可以在通訊鏈路722上傳送的虛擬GPIO狀態。在一個實例中,虛擬GPIO狀態可被編碼在經由包括多線串列匯流排的通訊鏈路722傳送的封包中。接收方周邊設備724可解序列化接收到的封包並從經解序列化封包中提取訊息和虛擬GPIO狀態。周邊設備724中的VGI FSM 726可將虛擬GPIO狀態轉換成可在內部、實體GPIO介面處呈現的實體GPIO引腳或事件的當前狀態。
在另一實例中,通訊鏈路722可由射頻收發機來提供,該射頻收發機支援使用例如藍芽協定、無線區域網路(WLAN)協定、蜂巢廣域網、及/或另一無線通訊協定的無線通訊。當通訊鏈路722包括無線連接時,訊息和虛擬GPIO狀態可被編碼在可在通訊鏈路722上傳送的封包、訊框、子訊框、或其他結構中,並且接收方周邊設備724可提取、解序列化並以其他方式處理所接收到的訊號傳遞以獲得訊息和虛擬GPIO狀態。在接收到訊息及/或虛擬GPIO狀態之際,接收方設備的VGI FSM 726或另一組件可中斷其主機處理器以指示接收到訊息及/或實體GPIO狀態的任何改變
在其中通訊鏈路722作為串列匯流排來提供的實例中,訊息及/或虛擬GPIO信號可在針對I2C、I3C、RFFE、SPMI或另一標準化序列介面所配置的封包中傳送。在所圖示的實例中,採用VGI技術來容適應用處理器702與周邊設備724之間的I/O橋接。應用處理器702可被實現為ASIC、SoC或某種設備組合。應用處理器702包括產生與一或多個通訊通道706相關聯的訊息和GPIO的處理器(中央處理單元或CPU 704)。由通訊通道706產生的GPIO引腳的訊號傳遞狀態、事件和訊息可由VGI FSM 726中的相應GPIO監視電路712、714來監視。在一些實例中,GPIO監視電路712可被適配成產生表示實體GPIO引腳的狀態及/或實體GPIO引腳的狀態變化的虛擬GPIO狀態。在一些實例中,其他電路被提供以產生表示實體GPIO引腳的訊號傳遞狀態、實體GPIO引腳的訊號傳遞狀態變化及/或被應用處理器702偵測到及/或在應用處理器702內產生的事件的虛擬GPIO狀態。
估計電路718可被配置成估計關於傳遞GPIO狀態的等待時間資訊及/或其他資訊。估計電路718可以選擇最佳化編碼和傳送虛擬化的GPIO狀態及/或其他資訊的等待時間的用於通訊鏈路722的通訊協定及/或通訊模式。估計電路718可維護表徵通訊鏈路722的某些態樣的協定和模式資訊716以供在選擇協定及/或通訊模式時考慮。估計電路718可被進一步配置成選擇用於編碼和傳送虛擬化的GPIO狀態及/或其他資訊的分群組類型。估計電路718可提供由封包化器720用來編碼虛擬化的GPIO狀態及/或其他資訊的配置資訊。在一個實例中,該配置資訊作為可被封裝在封包中的命令來提供,以使得能在接收器處決定分群組類型。該配置資訊(其可以是命令)亦可被提供給實體層電路(PHY 708)。PHY 708可使用該配置資訊來選擇用於傳送相關聯封包的協定及/或通訊模式。PHY 708隨後可產生合適的訊號傳遞以傳送該封包。
周邊設備724可包括VGI FSM 726,其可被配置成處理從通訊鏈路722接收到的資料封包。周邊設備724處的VGI FSM 726可提取訊息並且可將虛擬GPIO狀態資訊中的位元位置映射到周邊設備724中的實體GPIO引腳上。在某些實施例中,通訊鏈路722是雙向的,並且應用處理器702和周邊設備724兩者可作為發射器和接收器兩者來操作。
應用處理器702中的PHY 708和周邊設備724中的相應PHY 728可被配置成建立和操作通訊鏈路722。PHY 708和728可耦合至或包括支援射頻(RF)通訊的RF收發機108(參見圖1)。在一些實例中,PHY 708和728可分別支援應用處理器702和周邊設備724處的雙線介面(諸如I2C、I3C、RFFE、SPMI或SMBus介面),並且虛擬GPIO和訊息可被封裝成在通訊鏈路722(其可以是例如多線串列匯流排或多線平行匯流排)上傳送的封包。
如本文所描述的VGI隧穿可使用配置成用於操作通訊鏈路722的現有或可用協定且在沒有整套實體GPIO引腳的情況下來實現。VGI FSM 710、726可在沒有應用處理器702及/或周邊設備724中的處理器的幹預的情況下處置VGI訊號傳遞。使用VGI可以減少與通訊鏈路722相關聯的引腳計數、功耗、以及等待時間。
在接收方設備處,虛擬GPIO狀態被轉換成實體GPIO狀態。可使用虛擬GPIO狀態來配置實體GPIO引腳的某些特性。例如,可使用虛擬GPIO狀態來配置實體GPIO引腳的轉換速率、極性、驅動強度、以及其他相關參數和屬性。用於配置實體GPIO引腳的配置參數可被儲存在與相應GPIO引腳相關聯的配置暫存器中。這些配置參數可使用專用或一般協定(I2C、I3C或RFFE)來定址。在一個實例中,配置參數可被維持在I3C可定址暫存器中。本文所揭示的某些態樣涉及減少與傳送配置參數和對應位址(例如,用於儲存配置參數的暫存器的位址)相關聯的等待時間。
VGI介面或VGI訊息收發介面(VGMI)使得能夠傳送訊息和虛擬GPIO狀態資訊,藉此可以單獨地或者與串列資料串流相結合地在通訊鏈路722上發送虛擬GPIO狀態、控制訊息及/或其他資訊。在一個實例中,串列資料串流可在封包中及/或作為事務序列在I2C、I3C、SPMI或RFFE匯流排上傳送。可使用特殊命令碼來發訊號傳遞通知在I2C/I3C訊框中存在虛擬GPIO資料以將該訊框標識為VGPIO訊框。VGPIO訊框可根據I2C、I3C、SPMI、RFFE或其他協定作為廣播訊框或定址訊框來傳送。在一些實現中,串列資料串流可按照與一或多個通用非同步接收器/發射器(UART)訊號傳遞和訊息收發協定相似的形式以可被稱為UART_VGI的操作模式來傳送。
圖8圖示了VGI廣播訊框800、820的實例。在第一實例中,VGI廣播訊框800始於起始位元802(S)、繼以根據I2C或I3C協定的標頭804。VGI廣播訊框可使用VGI廣播共用命令碼806來標識。VGPIO資料有效載荷808包括數個(n 個)虛擬GPIO信號812 0 -812 n-1 ,其範圍從第一虛擬GPIO信號8120到第n 虛擬GPIO信號812 n-1 並且表示相應實體GPIO引腳的訊號傳遞狀態。VGI FSM可包括映射表,該映射表將對應於VGPIO資料有效載荷808中的虛擬GPIO信號812 0 -812 n-1 的位元位置映射到實體GPIO引腳。VGPIO資料有效載荷808中的訊號傳遞的虛擬本質對於傳送方和接收方設備中的處理器而言可以是透明的。
在第二實例中,可由主機設備傳送經遮罩VGI廣播訊框820以改變一或多個GPIO引腳的狀態而不擾亂其他GPIO引腳的狀態。在該實例中,一或多個設備的I/O信號被遮罩,而目標設備中的I/O信號不被遮罩。經遮罩VGI廣播訊框820始於起始位元822、繼以標頭824。經遮罩VGI廣播訊框820可使用經遮罩VGI廣播共用命令碼826來標識。VGPIO資料有效載荷828可包括I/O信號值834 0 -834 n-1 以及對應的遮罩位元832 0 -832 n-1 ,其範圍從用於第一I/O信號(IO0)的第一遮罩位元M0 8320 到用於第n 個I/O信號IO n-1 的第n 遮罩位M元 n-1 832 n-1
停止位元或同步位元(Sr/P 810、830)終止VGI廣播訊框800、820。同步位元可被傳送以指示額外的VGPIO有效載荷將被傳送。在一個實例中,同步位元可以是I2C介面中的重複起始位元。
圖9圖示了VGI定向訊框900、920的實例。在第一實例中,VGI定向訊框900可被定址到單個周邊設備,或者在一些實例中定址到周邊設備群。VGI定向訊框900中的第一訊框始於起始位元902(S)、繼之以根據I2C或I3C協定的標頭904。VGI定向訊框900可使用VGI定向共用命令碼906來標識。定向共用命令碼906之後可跟隨有同步欄位908a(Sr)和位址欄位910a,該位址欄位910a包括用於選擇被定址設備的從動方識別符。跟隨在位址欄位910a之後的定向VGPIO資料有效載荷912a包括屬於被定址設備的I/O信號集合的值916。VGI定向訊框900可包括針對額外設備的額外定向有效載荷912b。例如,第一定向VGPIO資料有效載荷912a之後可跟隨有同步欄位908b和第二位址欄位910b。在該實例中,第二定向VGPIO有效載荷912b包括屬於第二被定址設備的I/O信號集合的值918。使用VGI定向訊框900可准許傳送在VGPIO廣播訊框800、820中攜帶的I/O信號的子集或部分的值。
在第二實例中,主機設備可傳送經遮罩VGI定向訊框920以改變單個周邊設備中的一或多個GPIO引腳的狀態而不擾亂該單個周邊設備中的其他GPIO引腳的狀態並且不影響其他周邊設備。在一些實例中,一或多個設備中的I/O信號可被遮罩,而一或多個目標設備中的所選I/O信號不被遮罩。經遮罩VGI定向訊框920始於起始位元922、繼之以標頭924。經遮罩VGI定向訊框920可使用經遮罩VGI定向共用命令碼926來標識。經遮罩VGI定向命令碼926之後可跟隨有同步欄位928(Sr)和位址欄位930,該位址欄位930包括用於選擇被定址設備的從動方識別符。後面跟隨的定向有效載荷932包括屬於被定址設備的I/O信號集合的VGPIO值。例如,定向資料有效載荷932中的VGPIO值可包括I/O信號值938和對應的遮罩位元936。
停止位元或同步位元(Sr/P 914、934)終止VGI定向訊框900、920。同步位元可被傳送以指示額外的VGPIO有效載荷將被傳送。在一個實例中,同步位元可以是I2C介面中的重複起始位元。
在接收方設備(例如,應用處理器602及/或周邊設備604、606、608)處,所接收到的虛擬GPIO信號被擴展成在GPIO引腳上呈現的實體GPIO訊號傳遞狀態。如本文所使用的術語「引腳」可以指代用於將IC耦合至在電路板、基板或類似物上提供的導線、跡線、穿透通孔、或其他合適的實體連接器的實體結構(諸如焊盤、引腳或其他互連組件)。每個GPIO引腳可與儲存用於該GPIO引腳的配置參數的一或多個配置暫存器相關聯。圖10圖示了可與實體引腳相關聯的配置暫存器1000和1020。每個配置暫存器1000、1020被實現為一位元組(8位元)暫存器,其中不同的位元或位元組定義可經由配置來控制的特性或其他特徵。在第一實例中,位元D0-D2 1002控制GPIO引腳的驅動強度,位元D3-D5 1004控制GPIO引腳的轉換速率,位元D6 1006啟用中斷,並且位元D7 1008決定中斷是邊沿觸發的還是由電壓位準觸發的。在第二實例中,位元D0 1022選擇GPIO引腳接收反相還是非反相信號,位元D1-D2 1024定義輸入或輸出引腳的類型,位元D3-D4 1026定義未驅動引腳的某些特性,位元D5-D6 1028定義訊號傳遞狀態的電壓位準,並且位元D7 1030控制GPIO引腳的二進位值(亦即,GPIO引腳攜帶二進位1還是0)。 混合GPIO狀態交換
在採用VGPIO來交換GPIO狀態資訊的習知介面中,傳送方設備可發送只表示輸出實體GPIO引腳的狀態的VGPIO狀態值。接收方設備能無歧義地接收到VGPIO狀態值。根據本案的某些態樣,可以在將混合VGPIO狀態資訊作為可包括輸入和輸出VGPIO位元兩者的值的1位元組值或多位元組值來傳遞時支援VGI整合。混合VGPIO狀態資訊可以在根據I2C、I3C、SPMI或RFFE協定操作的通訊匯流排上傳遞。VGPIO狀態資訊可被混合以降低硬體架構的複雜性。
圖11圖示了可被適配成支援混合VGPIO狀態資訊的交換的系統1100。在該系統中,1位元組VGPIO狀態暫存器1106、1116維護包括輸入VGPIO位元和輸出VGPIO位元的值的狀態資訊。例如,第一設備1102維護對應於GPIO引腳集合1104的VGPIO狀態暫存器1106。VGPIO狀態暫存器1106包括表示輸出引腳1104a和輸入引腳1104b的資訊。第二設備1112經由匯流排1110來與第一設備1102交換VGPIO資訊,並且第二設備1112維護對應於GPIO引腳集合1114的VGPIO狀態暫存器1116。VGPIO狀態暫存器1116包括表示輸入引腳1114a和輸出引腳1114b的資訊。第一設備1102的輸出引腳1104a的狀態資訊由第二設備1112作為輸入引腳1114a的狀態資訊來接收。第一設備1102的輸入引腳1104b的狀態資訊意欲維護由第二設備1112傳送的表示第二設備1112中的輸出引腳1114b的狀態的狀態資訊。經由第一設備的匯流排介面1108傳送的VGPIO狀態暫存器1106的某些值可導致第二設備1112的匯流排介面1118蓋寫VGPIO狀態暫存器1116中的表示GPIO引腳集合1114中的包括例如輸出引腳1114b的輸出引腳的輸出狀態資訊。包含輸入和輸出VGPIO位元兩者的VGPIO資訊位元組在第二設備1112處的到達可破壞由第二設備1112維護的VGPIO狀態暫存器1116中的輸出VGPIO位元。
當第一設備1102被准許傳送可改變第二設備1112的VGPIO狀態暫存器1116中的相應位置的混合VGPIO位元時,混合VGPIO位元可以在第一設備1102的VGPIO狀態暫存器1106中的(先前作為輸入接收到的)相應位元是不同的情況下破壞第二設備1112的VGPIO狀態暫存器1116中的輸出位置的值。
在一些實現中,第一設備1102可以向VGPIO狀態暫存器1106傳送遮罩位元組以使得第二設備1112能夠阻塞與第二設備1112中的VGPIO狀態暫存器1116的輸出VGPIO位有關的位元。遮罩位元組的傳輸增加傳輸等待時間並且對於某些應用可能是不合乎需要或不恰當的。
根據本案的某些態樣,在用混合位元組傳遞VGPIO狀態資訊的設備中提供可配置遮罩能力。蓋寫防止技術可使用某一暫存器配置來採用,該暫存器配置在接收方設備處自動解碼與VGPIO位元相關聯的方向並且在接收方設備處避免輸出VGPIO狀態破壞。
圖12圖示了根據本文揭示的某些態樣的被適配成在接收方設備處避免輸出VGPIO狀態破壞的系統1200。圖12圖示了第一設備1202和第二設備1212中的接收路徑。亦即,VGPIO狀態暫存器1206、1216與匯流排介面1208和1218之間的路徑對於VGPIO狀態資訊的傳輸可以是不同的。在所圖示的實例中,1位元組VGPIO狀態暫存器1206、1216維護包括輸入VGPIO位元和輸出VGPIO位元的值的狀態資訊。例如,第一設備1202維護對應於GPIO引腳集合1204的VGPIO狀態暫存器1206。VGPIO狀態暫存器1206包括表示輸出引腳和輸入引腳的資訊。第二設備1212經由匯流排1210來與第一設備1202交換VGPIO資訊,並且第二設備1212維護對應於GPIO引腳集合1214的VGPIO狀態暫存器1216。VGPIO狀態暫存器1216包括表示輸入引腳和輸出引腳的資訊。第一設備1202的輸出引腳的狀態資訊由第二設備1212作為對應的輸入引腳的狀態資訊來接收。
包含輸入和輸出VGPIO位元兩者的VGPIO資訊位元組在第一設備1202處的到達使用遮罩暫存器1220來自動遮罩以防止對由第一設備1202維護的VGPIO狀態暫存器1206中的輸出VGPIO位元的破壞。包含輸入和輸出VGPIO位元兩者的VGPIO資訊位元組在第二設備1212處的到達使用遮罩暫存器1222來自動遮罩以防止對由第二設備1212維護的VGPIO狀態暫存器1216中的輸出VGPIO位元的破壞。
遮罩暫存器1220、1222可操作用於防止從相應介面1208、1218接收到的各個位元被載入到相應VGPIO狀態暫存器1206、1216的相應位元。在所圖示的實例中,遮罩暫存器1220、1222中的位元值‘0’阻止將到達位元載入到相應的VGPIO狀態暫存器1206、1216中。在另一實例中,遮罩暫存器1220、1222中的位元值‘1’可阻止將到達位元載入到相應的VGPIO狀態暫存器1206、1216中。遮罩暫存器1220、1222提供本端輸出蓋防寫。遮罩暫存器1220、1222可根據系統輸入/輸出設計來靜態地配置。靜態配置可以在製造期間或者在系統初始化時執行。在一些例子中,遮罩暫存器1220、1222可被動態地配置。當匯流排1210被配置成用於點對點通訊時,第一設備1202中的遮罩暫存器1220可以用作為用於配置第二設備1212中的遮罩暫存器1222的值的邏輯逆的值來配置。
到達匯流排介面1208、1218並且被定向至相應的VGPIO狀態暫存器1206、1216的VGPIO資訊可基於相應遮罩暫存器1220、1222的位元設置來遮罩。遮罩邏輯可控制遮罩程序。在一個實例中,遮罩暫存器1220、1222的位元可用於在逐個的基礎上對導致VGPIO狀態暫存器1206、1216捕捉到經由匯流排介面1208、1218接收到的位元的信號進行選通。在另一實例中,遮罩暫存器1220、1222的位元可用於控制多工器,以使該多工器在位元被遮罩時選擇將VGPIO狀態暫存器1206、1216的當前位元值寫入到VGPIO狀態暫存器1206、1216,並且在位元未被遮罩時選擇將接收到的位元值寫入到VGPIO狀態暫存器1206、1216。 處理電路和方法的實例
圖13是圖示裝置1300的硬體實現的實例的示圖。在一些實例中,裝置1300可配置和操作有限狀態機(參見圖7的VGI FSM 710、726)以最佳化虛擬GPIO等待時間。裝置1300可執行本文揭示的一或多個功能。根據本案的各種態樣,可使用處理電路1302來實現本文所揭示的元素、或元素的任何部分、或者元素的任何組合。處理電路1302可包括由硬體和軟體模組的某種組合來控制的一或多個處理器1304。處理器1304的實例包括:微處理器、微控制器、數位訊號處理器(DSP)、SoC、ASIC、現場可程式設計閘陣列(FPGA)、可程式設計邏輯裝置(PLD)、狀態機、定序器、閘控邏輯、個別的硬體電路、以及其他配置成執行本案中通篇描述的各種功能性的合適硬體。該一或多個處理器1304可包括執行特定功能並且可由軟體模組1316之一來配置、擴增或控制的專用處理器。該一或多個處理器1304可經由在初始化期間載入的軟體模組1316的組合來配置,並且經由在操作期間載入或卸載一或多個軟體模組1316來進一步配置。
在所圖示的實例中,處理電路1302可以用由匯流排1310一般化地表示的匯流排架構來實現。取決於處理電路1302的具體應用和整體設計約束,匯流排1310可包括任何數目的互連匯流排和橋接器。匯流排1310將各種電路連結在一起,包括一或多個處理器1304、以及儲存1306。儲存1306可包括記憶體設備和大型存放區設備,並且在本文中可被稱為電腦可讀取媒體及/或處理器可讀取媒體。匯流排1310亦可連結各種其他電路,諸如定時源、計時器、周邊設備、穩壓器、和功率管理電路。匯流排介面1308可提供匯流排1310與一或多個收發機1312a、1312b之間的介面。可針對處理電路所支援的每種聯網技術提供收發機1312a、1312b。在一些例子中,多種聯網技術可共享收發機1312a、1312b中找到的電路系統或處理模組中的一些或全部。每個收發機1312a、1312b提供用於經由傳輸媒體與各種其他裝置通訊的手段。在一個實例中,收發機1312a可被用於將裝置1300耦合至多線匯流排。在另一實例中,收發機1312b可被用於將裝置1300連接至無線網路。取決於裝置1300的本質,亦可提供使用者介面1318(例如,按鍵板、顯示器、揚聲器、話筒、操縱桿),並且該使用者介面1318可直接或經由匯流排介面1308通訊地耦合至匯流排1310。
處理器1304可負責管理匯流排1310和一般處理,包括執行儲存在電腦可讀取媒體(其可包括儲存1306)中的軟體。在這一態樣,處理電路1302(包括處理器1304)可被用於實現本文所揭示的方法、功能和技術中的任何一種。儲存1306可被用於儲存由處理器1304在執行軟體時操縱的資料,並且該軟體可被配置成實現本文所揭示的方法中的任何一種。
處理電路1302中的一或多個處理器1304可執行軟體。軟體應當被寬泛地解釋成意為指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體模組、應用、軟體應用、套裝軟體、常式、子常式、物件、可執行件、執行的執行緒、規程、函數、演算法等,無論其是用軟體、韌體、中介軟體、微代碼、硬體描述語言、還是其他術語來述及皆是如此。軟體可按電腦可讀形式常駐在記憶體1306中或常駐在外部電腦可讀取媒體中。外部電腦可讀取媒體及/或記憶體1306可包括非瞬態電腦可讀取媒體。作為實例,非瞬態電腦可讀取媒體包括:磁存放裝置(例如,硬碟、軟碟、磁條)、光碟(例如,壓縮光碟(CD)或數位多功能光碟(DVD))、智慧卡、快閃記憶體設備(例如,「快閃記憶體驅動器」、卡、棒、或鍵式磁碟)、RAM、ROM、可程式設計唯讀記憶體(PROM)、可抹除PROM(EPROM)(包括EEPROM)、暫存器、可移除磁碟、以及任何其他用於儲存可由電腦存取和讀取的軟體及/或指令的合適媒體。作為實例,電腦可讀取媒體及/或記憶體1306亦可包括載波、傳輸線、以及用於傳送可由電腦存取和讀取的軟體及/或指令的任何其他合適媒體。電腦可讀取媒體及/或儲存1306可常駐在處理電路1302中、處理器1304中、在處理電路1302外部、或跨包括該處理電路1302在內的多個實體分佈。電腦可讀取媒體及/或儲存1306可實施在電腦程式產品中。作為實例,電腦程式產品可包括封裝材料中的電腦可讀取媒體。本發明所屬領域中具有通常知識者將認識到如何取決於具體應用和加諸於整體系統上的整體設計約束來最佳地實現本案中通篇提供的所描述的功能性。
儲存1306可維持以可載入程式碼片段、模組、應用、程式等來維持及/或組織的軟體,其在本文中可被稱為軟體模組1316。軟體模組1316中的每一者可包括在安裝或載入到處理電路1302上並由一或多個處理器1304執行時有助於運行時映射1314的指令和資料,該運行時映射1314控制一或多個處理器1304的操作。在被執行時,某些指令可使得處理電路1302執行根據本文中所描述的某些方法、演算法和程序的功能。
軟體模組1316中的一些可在處理電路1302初始化期間被載入,並且這些軟體模組1316可配置處理電路1302以實現本文所揭示的各種功能的執行。例如,一些軟體模組1316可配置處理器1304的內部設備及/或邏輯電路1322,並且可管理對外部設備(諸如收發機1312a、1312b、匯流排介面1308、使用者介面1318、計時器、數學輔助處理器等)的存取。軟體模組1316可包括控制程式及/或作業系統,其與中斷處理常式和裝置驅動程式互動並且控制對由處理電路1302提供的各種資源的存取。這些資源可包括記憶體、處理時間、對收發機1312a、1312b的存取、使用者介面1318等。
處理電路1302的一或多個處理器1304可以是多功能的,由此軟體模組1316中的一些被載入和配置成執行不同功能或相同功能的不同實例。該一或多個處理器1304可額外地被適配成管理回應於來自例如使用者介面1318、收發機1312a、1312b和裝置驅動程式的輸入而發起的幕後工作。為了支援多個功能的執行,該一或多個處理器1304可被配置成提供多工環境,藉此複數個功能之每一者功能依須求或按期望實現為由該一或多個處理器1304服務的任務集。在一個實例中,多工環境可使用分時程式1320來實現,該分時程式1320在不同任務之間傳遞對處理器1304的控制權,由此每個任務在完成任何未決操作之際及/或回應於輸入(諸如中斷)而將對一或多個處理器1304的控制權返回給分時程式1320。當任務具有對一或多個處理器1304的控制權時,處理電路有效地專用於由與控制方任務關聯的功能所針對的目的。分時程式1320可包括作業系統、在循環基礎上轉移控制權的主循環、根據各功能的優先順序化來分配對一或多個處理器1304的控制權的功能、及/或經由將對一或多個處理器1304的控制權提供給處置功能來對外部事件作出回應的中斷驅動式主循環。
用於最佳化虛擬GPIO等待時間的方法可包括解析各種輸入源(包括GPIO信號狀態、參數、及/或要傳送的訊息的源)的動作。輸入源可包括硬體事件、配置資料、遮罩參數、和暫存器位址。可採用因封包而異的等待時間估計器以基於經解析的參數來估計相應分群組類型的等待時間。可基於針對可用分群組類型所計算或決定的最小等待時間來選擇將用於傳輸的分群組類型。可使用命令碼來標識所選擇的分群組類型,該命令碼可連同要傳送的有效載荷一起被提供給封包化器。命令碼亦可反映將用於傳送有效載荷的協定。在一些實現中,用於傳送有效載荷的實體鏈路可根據不同協定或一或多個協定的不同變型來操作。可基於與各種可用協定或協定變型相關聯的等待時間來選擇用於傳送有效載荷的協定。
圖14是可在耦合到串列匯流排的設備處執行的方法的流程圖1400。執行該方法所涉及的一些電路可由有限狀態機來配置。補充地或替換地,有限狀態機可執行該方法的某些部分。
如由方塊1402表示的,該設備可以在第一暫存器中維護複數個VGPIO位元。每一VGPIO位元可表示第一設備中的實體GPIO端子引腳的狀態。該複數個VGPIO位元可包括表示第一設備的輸出GPIO引腳的狀態的一或多個位元。複數個VGPIO位元可包括表示第一設備的輸入GPIO引腳的狀態的至少一個位元。
如由方塊1404表示的,該設備可以從串列匯流排接收第一VGPIO狀態資訊。第一VGPIO狀態資訊可被定向至第一暫存器。
如由方塊1406表示的,該設備可以在第二暫存器的相應位元用第一邏輯狀態配置時將第一VGPIO狀態資訊的第一組位元寫入到第一暫存器。
如由方塊1408表示的,該設備可以在第二暫存器的相應位元用第二邏輯狀態配置時避免將第一VGPIO狀態資訊的第二組位元寫入到第一暫存器。第二組位可被定向至表示輸出GPIO引腳的狀態的一或多個位。
在一些實例中,該設備可以用對應於其狀態由第一暫存器表示的輸入GPIO引腳和輸出GPIO引腳的配置的第一遮罩值來配置第二暫存器。第二暫存器可以在第一設備的初始化期間配置。
在各實例中,第一VGPIO狀態資訊是從第二設備接收到的。第二設備可包括用多個遮罩位元配置的第三暫存器,每一遮罩位元對應於第二設備的GPIO引腳。第三暫存器可以用遮罩值來配置,該遮罩值可操作用於防止第二VGPIO狀態資訊位元被寫入到第二設備的維護第二設備的輸出GPIO引腳的狀態的VGPIO暫存器。該設備可以將第二VGPIO狀態資訊從第一設備經由串列匯流排傳送到第二設備。第二VGPIO狀態資訊可包括第一暫存器的內容的至少一部分。第三暫存器可以用作為用於配置第二暫存器的值的邏輯逆的值來配置。串列匯流排可根據I3C、SPMI或RFFE協定來操作。
根據本文揭示的一些態樣,該設備可包括有限狀態機,其被適配成管理VGPIO狀態資訊的產生及/或支援或管理實體GPIO狀態與VGPIO狀態資訊之間的轉換。例如,有限狀態機可偵測到實體GPIO狀態變化,這些變化可以在一或多個GPIO引腳處量測到或觀察到。有限狀態機可回應於偵測到實體GPIO狀態變化而發起虛擬GPIO狀態的傳輸。在一些實例中,有限狀態機可被配置成週期性地發起當前實體GPIO狀態的傳輸。在一個實例中,實體GPIO狀態可由經由在GPIO引腳上捕捉到二進位狀態來獲取的一或多個位值來表示。在另一實例中,實體GPIO狀態可由儲存在可驅動實體GPIO狀態的暫存器或其他邏輯中的一或多個位元值來表示。在至少一些實例中,可能未給後一暫存器的位元指派實體GPIO引腳。在另一實例中,可以在未在設備中提供實體GPIO引腳的情況下在類比實體GPIO的一或多個位元中表示軟體事件。
有限狀態機及/或相關聯的邏輯和電路可操作用於將實體狀態資訊表徵為虛擬狀態資訊。有限狀態機可以在串列匯流排上傳送虛擬狀態資訊。
在一些實例中,有限狀態機可接收被定向至表示輸入GPIO引腳的狀態的至少一個位元的輸入VGPIO狀態資訊。有限狀態機及/或相關聯的邏輯和電路可操作用於根據輸入VGPIO狀態資訊來實體地驅動輸入GPIO引腳。
圖15是圖示採用處理電路1502的裝置1500的硬體實現的簡化實例的示圖。該裝置可實現根據本文所揭示的某些態樣的橋接電路。處理電路通常具有控制器或處理器1516,其可包括一或多個微處理器、微控制器、數位訊號處理器、定序器及/或狀態機。處理電路1502可以用由匯流排1520一般化地表示的匯流排架構來實現。取決於處理電路1502的具體應用和整體設計約束,匯流排1520可包括任何數目的互連匯流排和橋接器。匯流排1520將包括一或多個處理器及/或硬體模組(由控制器或處理器1516、模組或電路1504、1506和1508以及處理器可讀儲存媒體1518表示)的各種電路連結在一起。可提供一或多個實體層電路及/或模組1514以支援在使用多線匯流排1512實現的通訊鏈路上、經由天線1522(例如至無線網路)等的通訊。匯流排1520亦可連結各種其他電路,諸如定時源、周邊設備、穩壓器和功率管理電路,這些電路在本發明所屬領域中是眾所周知的,且因此將不再進一步描述。
處理器1516負責一般性處理,包括執行儲存在處理器可讀儲存媒體1518上的軟體、代碼及/或指令。該處理器可讀儲存媒體可包括非瞬態儲存媒體。該軟體在由處理器1516執行時使處理電路1502執行上文針對任何特定裝置描述的各種功能。處理器可讀儲存媒體亦可被用於儲存由處理器1516在執行軟體時操縱的資料。處理電路1502進一步包括模組1504、1506和1508中的至少一個模組。模組1504、1506和1508可以是在處理器1516中執行的軟體模組、常駐/儲存在處理器可讀儲存媒體1518中的軟體模組、耦合至處理器1516的一或多個硬體模組、或其某種組合。模組1504、1506和1508可包括微控制器指令、狀態機配置參數、或其某種組合。
在一種配置中,裝置1500包括被配置成操作複數個暫存器的模組及/或電路1506、1508。第一暫存器可被適配成維護複數個VGPIO位元,每一VGPIO位元表示實體通用輸入/輸出(GPIO)引腳的狀態。複數個VGPIO位元可包括表示該裝置的輸出GPIO引腳的狀態的一或多個位元以及表示該裝置的輸入GPIO引腳的狀態的至少一個位元。第二暫存器可以用複數個遮罩位元來配置,每一遮罩位元對應於複數個VGPIO位元之一。裝置1500可包括被配置成從可以是串列匯流排的多線匯流排1512接收VGPIO狀態資訊的模組及/或電路1504、1514。在某些實例中,該串列匯流排根據I3C、SPMI或RFFE協定來操作。VGPIO狀態資訊可被定向至第一暫存器。模組及/或電路1508可包括遮罩電路,其被適配成防止被定向至表示輸出GPIO引腳的狀態的一或多個位元的VGPIO狀態資訊位元被寫入到第一暫存器。
在一個實例中,被配置成具有第一邏輯狀態(亦即,1或0)的第二暫存器的每一位元使得能夠將VGPIO狀態資訊的相應位元寫入到第一暫存器。被配置成具有第二邏輯狀態(亦即,0或1)的第二暫存器的每一位元防止將VGPIO狀態資訊的相應位元寫入到第一暫存器。在一些實例中,第二暫存器在該裝置的初始化期間配置。
在各實例中,VGPIO狀態資訊是從耦合到串列匯流排的積體電路設備接收到的。VGPIO狀態資訊可表示積體電路設備的輸出GPIO引腳的狀態。積體電路設備可具有用複數個遮罩位元配置的第三暫存器,每一遮罩位元對應於該積體電路設備的輸出GPIO引腳之一或者該積體電路設備的輸入GPIO引腳。第三暫存器的位元設置可操作用於防止該裝置傳送的VGPIO位元修改表示該積體電路設備的輸出GPIO引腳的狀態的VGPIO狀態資訊位元。第三暫存器可以用作為用於配置第二暫存器的值的邏輯逆的值來配置。
在另一配置中,裝置1500包括兩個或更多個IC設備以及可以是串列匯流排的多線1512。裝置1500可包括複數個暫存器。模組及/或電路1506、1508可被配置成在第一暫存器中維護第一複數個VGPIO位元,每一位元表示該IC設備中的實體GPIO端子的狀態。第一複數個VGPIO位元可包括表示IC設備中的輸出GPIO端子的一或多個位元以及表示第一IC設備中的GPIO端子的至少一個位元。模組及/或電路1506、1508可被配置成用複數個遮罩位元來配置第二暫存器,每一遮罩位對應於第一複數個VGPIO位元之一。
裝置1500可以在每一IC設備中包括被配置成從多線匯流排1512接收被定向至第一暫存器的VGPIO狀態資訊的匯流排介面1514。VGPIO狀態資訊可包括具有表示不同IC設備中的輸出GPIO端子的一或多個位元的第二複數個VGPIO位元。
裝置1500可以在每一IC設備中包括被適配成防止表示該IC設備中的輸出GPIO端子的一或多個位元被第二複數個VGPIO位元蓋寫的遮罩電路。
在一個實例中,兩個IC設備被配置成在經由串列匯流排傳送的VGPIO狀態資訊中傳送其各自的第一暫存器的內容。
在一個實例中,兩個IC設備的第二暫存器用作為彼此的邏輯逆的兩個不同值來配置。
在某些實例中,第一IC設備中的輸出GPIO端子對應於第二IC設備中的輸入GPIO端子。第一IC設備中的輸入GPIO端子可對應於第二IC設備中的輸出GPIO端子。
裝置1500可包括有限狀態機以作為對處理器1516的補充或者用作處理器1516。有限狀態機可被適配成管理VGPIO狀態資訊的產生及/或支援或管理實體GPIO狀態與VGPIO狀態資訊之間的轉換。例如,有限狀態機可偵測到實體GPIO狀態變化,這些變化可以在一或多個GPIO引腳處量測到或觀察到。有限狀態機可回應於偵測到實體GPIO狀態變化而發起虛擬GPIO狀態的傳輸。在一些情形中,有限狀態機可被配置成週期性地發起當前實體GPIO狀態的傳輸。在一個實例中,實體GPIO狀態可由經由捕捉到GPIO引腳上的二進位狀態來獲取的一或多個位元值來表示。在另一實例中,實體GPIO狀態可由儲存在可驅動實體GPIO狀態的暫存器或其他邏輯中的一或多個位元值來表示。在至少一些實例中,實體GPIO引腳可能未被指派用於後一暫存器的位元。在另一實例中,可以在未在設備中提供實體GPIO引腳的情況下在類比實體GPIO的一或多個位元中表示軟體事件。
有限狀態機及/或相關聯的邏輯和電路可操作用於將實體狀態資訊表徵為虛擬狀態資訊。有限狀態機可以在串列匯流排上傳送虛擬狀態資訊。
在一些實例中,有限狀態機可接收被定向至表示輸入GPIO引腳的狀態的至少一個位元的輸入VGPIO狀態資訊。有限狀態機及/或相關聯的邏輯和電路可操作用於根據輸入VGPIO狀態資訊來實體地驅動輸入GPIO引腳。
應理解,所揭示的程序中各步驟的具體次序或層次是示例性辦法的圖示。應理解,基於設計偏好,可以重新編排這些程序中各步驟的具體次序或層次。此外,一些步驟可被組合或被略去。所附方法請求項以示例次序呈現各種步驟的要素,且並不意味著被限定於所提供的具體次序或層次。
提供先前描述是為了使本發明所屬領域中具有通常知識者均能夠實踐本文中所描述的各種態樣。對這些態樣的各種修改將容易為本發明所屬領域中具有通常知識者所明白,並且在本文中所定義的普適原理可被應用於其他態樣。因此,請求項並非意欲被限定於本文中所示的態樣,而是應被授予與語言上的請求項相一致的全部範疇,其中對要素的單數形式的引述除非特別聲明,否則並非意欲表示「有且僅有一個」,而是「一或多個」。除非特別另外聲明,否則術語「一些」指的是「一或多個」。本案通篇描述的各個態樣的要素為本發明所屬領域中具有通常知識者當前或今後所知的所有結構上和功能上的等效方案經由引述被明確納入於此,且意欲被請求項所涵蓋。此外,本文中所揭示的任何內容皆並非意欲貢獻給公眾,無論這樣的揭示是否在申請專利範圍中被顯式地敘述。沒有任何請求項元素應被解釋為手段功能,除非該元素是使用短語「用於……的裝置」來明確敘述的。
100‧‧‧裝置
102‧‧‧處理電路
104‧‧‧ASIC
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‧‧‧RFFE介面
308‧‧‧通訊鏈路
310‧‧‧RFIC
312‧‧‧通訊鏈路
314‧‧‧RFFE介面
316‧‧‧RFFE介面
318‧‧‧RF前端設備
320‧‧‧RF前端設備
322‧‧‧RF前端設備
324‧‧‧RF前端設備
326‧‧‧RF前端設備
328‧‧‧RF前端設備
330‧‧‧RFFE匯流排
332‧‧‧RFFE匯流排
334‧‧‧RFFE匯流排
400‧‧‧系統
402‧‧‧應用處理器
4041‧‧‧數據機
4042‧‧‧數據機
4043‧‧‧數據機
404N‧‧‧數據機
406‧‧‧第一PMIC
408‧‧‧第二PMIC
410‧‧‧資料通訊鏈路
412‧‧‧資料通訊鏈路
414‧‧‧SPMI主控方
416‧‧‧SPMI從動方
418‧‧‧SPMI主控方
420‧‧‧SPMI從動方
422‧‧‧資料通訊鏈路
424‧‧‧資料通訊鏈路
500‧‧‧裝置
502‧‧‧主機SoC
504‧‧‧匯流排介面
506‧‧‧VGI FSM
510‧‧‧多線串列匯流排
512‧‧‧周邊設備
514‧‧‧匯流排介面
516‧‧‧VGI
FSM
518‧‧‧資料線
520‧‧‧時鐘線
600‧‧‧一般裝置
602‧‧‧應用處理器
604‧‧‧周邊設備
606‧‧‧周邊設備
608‧‧‧周邊設備
610‧‧‧通訊鏈路
612‧‧‧通訊鏈路
614‧‧‧通訊鏈路
620‧‧‧邊頻帶GPIO
622‧‧‧邊頻帶GPIO
624‧‧‧邊頻帶GPIO
700‧‧‧裝置
702‧‧‧應用處理器
704‧‧‧中央處理單元或CPU
706‧‧‧通訊通道
708‧‧‧實體層電路(PHY)
710‧‧‧VGI FSM
712‧‧‧GPIO監視電路
714‧‧‧GPIO監視電路
716‧‧‧協定和模式資訊
718‧‧‧估計電路
720‧‧‧封包化器
722‧‧‧通訊鏈路
724‧‧‧周邊設備
726‧‧‧VGI FSM
800‧‧‧VGI廣播訊框
802‧‧‧起始位元
804‧‧‧標頭
806‧‧‧VGI廣播共用命令碼
808‧‧‧VGPIO資料有效載荷
810‧‧‧Sr/P
8120‧‧‧虛擬GPIO信號
812n-1‧‧‧虛擬GPIO信號
820‧‧‧VGI廣播訊框
822‧‧‧起始位元
824‧‧‧標頭
826‧‧‧VGI廣播共用命令碼
828‧‧‧VGPIO資料有效載荷
830‧‧‧Sr/P
8320‧‧‧遮罩位元
832n-1‧‧‧遮罩位元
8340‧‧‧I/O信號值
834n-1‧‧‧I/O信號值
900‧‧‧VGI定向訊框
902‧‧‧起始位元
904‧‧‧標頭
906‧‧‧VGI定向共用命令碼
908a‧‧‧同步欄位
908b‧‧‧同步欄位
910a‧‧‧位址欄位
910b‧‧‧位址欄位
912a‧‧‧有效載荷
912b‧‧‧有效載荷
914‧‧‧Sr/P
916‧‧‧值
918‧‧‧值
920‧‧‧VGI定向訊框
922‧‧‧起始位元
924‧‧‧標頭
926‧‧‧VGI定向命令碼
928‧‧‧同步欄位
930‧‧‧位址欄位
932‧‧‧有效載荷
934‧‧‧Sr/P
936‧‧‧遮罩位元
938‧‧‧I/O信號值
1000‧‧‧配置暫存器
1002‧‧‧位元
1004‧‧‧位元
1006‧‧‧位元
1008‧‧‧位元
1020‧‧‧配置暫存器
1022‧‧‧位元
1024‧‧‧位元
1026‧‧‧位元
1028‧‧‧位元
1030‧‧‧位元
1100‧‧‧系統
1102‧‧‧第一設備
1104‧‧‧GPIO引腳集合
1104a‧‧‧輸出引腳
1104b‧‧‧輸出引腳
1106‧‧‧VGPIO狀態暫存器
1108‧‧‧匯流排介面
1112‧‧‧第二設備
1114‧‧‧GPIO引腳集合
1114a‧‧‧輸出引腳
1114b‧‧‧輸出引腳
1116‧‧‧VGPIO狀態暫存器
1118‧‧‧匯流排介面
1200‧‧‧系統
1202‧‧‧第一設備
1204‧‧‧GPIO引腳集合
1206‧‧‧VGPIO狀態暫存器
1208‧‧‧相應介面
1210‧‧‧匯流排
1212‧‧‧第二設備
1214‧‧‧GPIO引腳集合
1216‧‧‧VGPIO狀態暫存器
1218‧‧‧相應介面
1220‧‧‧遮罩暫存器
1222‧‧‧遮罩暫存器
1300‧‧‧裝置
1302‧‧‧處理電路
1304‧‧‧處理器
1306‧‧‧儲存
1308‧‧‧匯流排介面
1310‧‧‧匯流排
1312a‧‧‧收發機
1312b‧‧‧收發機
1314‧‧‧運行時映射
1316‧‧‧軟體模組
1318‧‧‧使用者介面
1320‧‧‧分時程式
1322‧‧‧內部設備及/或邏輯電路
1400‧‧‧流程圖
1402‧‧‧方塊
1404‧‧‧方塊
1406‧‧‧方塊
1408‧‧‧方塊
1500‧‧‧裝置
1502‧‧‧處理電路
1504‧‧‧模組或電路
1506‧‧‧模組或電路
1508‧‧‧模組或電路
1512‧‧‧多線匯流排
1514‧‧‧模組或電路
1516‧‧‧處理器
1518‧‧‧處理器可讀儲存媒體
1520‧‧‧匯流排
1522‧‧‧天線
圖1圖示了在各IC設備之間採用資料連結的裝置,該資料連結根據複數個可用標準之一來被選擇性地操作。
圖2圖示了採用IC設備之間的資料連結的裝置的系統架構。
圖3圖示了採用RFFE匯流排來耦合各種射頻前端設備的設備。
圖4圖示了根據本文所揭示的某些態樣採用SPMI匯流排來耦合各種設備的設備。
圖5圖示了根據本文所揭示的某些態樣採用I3C匯流排來耦合各種前端設備的設備。
圖6圖示了包括可根據本文所揭示的某些態樣來適配的應用處理器和多個周邊設備的裝置。
圖7圖示了根據本文所揭示的某些態樣的已被適配成支援虛擬GPIO的裝置。
圖8圖示了根據本文所揭示的某些態樣的VGI廣播訊框的實例。
圖9圖示了根據本文所揭示的某些態樣的VGI定向訊框的實例。
圖10圖示了根據本文所揭示的某些態樣的可與實體引腳相關聯的配置暫存器。
圖11圖示了設備之間的混合VGPIO狀態資訊的傳輸。
圖12圖示了根據本文揭示的某些態樣被適配成當在設備之間傳送混合VGPIO狀態資訊時避免接收方設備處的輸出VGPIO狀態破壞的系統。
圖13圖示了採用可根據本文所揭示的某些態樣適配的處理電路的裝置的一個實例。
圖14是圖示根據本文所揭示的某些態樣適配的應用處理器的某些操作的第一流程圖。
圖15圖示了根據本文所揭示的某些態樣適配的裝置的硬體實現的第一實例。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無

Claims (30)

  1. 一種裝置,包括: 被適配成維護複數個虛擬通用輸入/輸出(VGPIO)位的一第一暫存器,每一VGPIO位元表示一實體通用輸入/輸出(GPIO)引腳的狀態,其中該複數個VGPIO位元包括表示該裝置的輸出GPIO引腳的狀態的一或多個位元以及表示該裝置的一輸入GPIO引腳的狀態的至少一個位元; 用複數個遮罩位元配置的一第二暫存器,每一遮罩位元對應於該複數個VGPIO位元之一; 被配置成提取從一串列匯流排接收到的VGPIO狀態資訊封包的一匯流排介面,該VGPIO狀態資訊被定向至該第一暫存器;及 一遮罩電路,其被適配成防止被定向至表示該輸出GPIO引腳的狀態的該一或多個位元的該VGPIO狀態資訊的位元被寫入到該第一暫存器。
  2. 如請求項1之裝置,其中被配置成具有一第一邏輯狀態的該第二暫存器的每一位元使得能夠將該VGPIO狀態資訊的一相應位元寫入到該第一暫存器,並且被配置成具有一第二邏輯狀態的該第二暫存器的每一位元防止將該VGPIO狀態資訊的一相應位元寫入到該第一暫存器。
  3. 如請求項1之裝置,其中該VGPIO狀態資訊是從耦合到該串列匯流排的一積體電路設備接收到的,並且其中該VGPIO狀態資訊表示該積體電路設備的輸出GPIO引腳的狀態。
  4. 如請求項3之裝置,其中該積體電路設備包括: 用複數個遮罩位元配置的一第三暫存器,每一遮罩位元對應於該積體電路設備的該等輸出GPIO引腳之一或者該積體電路設備的一輸入GPIO引腳, 其中該第三暫存器的位元設置操作用於防止該裝置傳送的VGPIO位元修改表示該積體電路設備的該輸出GPIO引腳的狀態的VGPIO狀態資訊位元。
  5. 如請求項4之裝置,其中該第三暫存器用作為用於配置該第二暫存器的一值的一邏輯逆的一值來配置。
  6. 如請求項1之裝置,其中該第二暫存器在該裝置的初始化期間配置。
  7. 如請求項1之裝置,其中該串列匯流排根據一I3C、系統功率管理介面(SPMI)或射頻前端(RFFE)協定來操作。
  8. 如請求項1之裝置,進一步包括一有限狀態機,其被適配成: 偵測至少一個輸出GPIO引腳的實體狀態資訊; 將該實體狀態資訊表徵為虛擬狀態資訊;及 使得在該串列匯流排上傳送該虛擬狀態資訊。
  9. 如請求項1之裝置,進一步包括一有限狀態機,其被適配成: 接收被定向至表示該輸入GPIO引腳的狀態的該至少一個位元的輸入VGPIO狀態資訊;及 根據該輸入VGPIO狀態資訊來驅動該輸入GPIO引腳。
  10. 一種方法,包括以下步驟: 在一第一暫存器中維護複數個虛擬通用輸入/輸出(VGPIO)位,每一VGPIO位元表示一第一設備中的一實體通用輸入/輸出(GPIO)引腳的狀態,其中該複數個VGPIO位元包括表示該第一設備的輸出GPIO引腳的狀態的一或多個位元以及表示該第一設備的一輸入GPIO引腳的狀態的至少一個位元; 從一串列匯流排接收一第一VGPIO狀態資訊,該第一VGPIO狀態資訊被定向至該第一暫存器; 當一第二暫存器的相應位元用一第一邏輯狀態配置時將該第一VGPIO狀態資訊的一第一組位元寫入到該第一暫存器;及 當該第二暫存器的相應位元用一第二邏輯狀態配置時避免將該第一VGPIO狀態資訊的一第二組位元寫入到該第一暫存器,其中該第二組位被定向至表示輸出GPIO引腳的狀態的該一或多個位元。
  11. 如請求項10之方法,進一步包括以下步驟: 用對應於其狀態由該第一暫存器表示的輸入GPIO引腳和輸出GPIO引腳的一配置的一第一遮罩值來配置該第二暫存器。
  12. 如請求項11之方法,其中該第二暫存器在該第一設備的初始化期間配置。
  13. 如請求項10之方法,其中該第一VGPIO狀態資訊是從一第二設備接收到的,並且其中該第二設備包括用複數個遮罩位元配置的一第三暫存器,每一遮罩位元對應於該第二設備的一GPIO引腳,並且其中該第三暫存器用一遮罩值來配置,該遮罩值能操作用於防止一第二VGPIO狀態資訊位元被寫入到該第二設備的維護該第二設備的輸出GPIO引腳的狀態的一VGPIO暫存器。
  14. 如請求項13之方法,進一步包括以下步驟: 將該第二VGPIO狀態資訊從該第一設備經由該串列匯流排傳送到該第二設備。
  15. 如請求項13之方法,其中該第二VGPIO狀態資訊包括該第一暫存器的內容。
  16. 如請求項13之方法,其中該第三暫存器用作為用於配置該第二暫存器的一值的一邏輯逆的一值來配置。
  17. 如請求項10之方法,其中該串列匯流排根據一I3C、系統功率管理介面(SPMI)或射頻前端(RFFE)協定來操作。
  18. 如請求項10之方法,進一步包括以下步驟: 將一有限狀態機配置成 偵測至少一個輸出GPIO引腳的實體狀態資訊,以及 將該實體狀態資訊表徵為虛擬狀態資訊;及 在該串列匯流排上傳送該虛擬狀態資訊。
  19. 如請求項10之方法,進一步包括以下步驟: 接收被定向至表示該輸入GPIO引腳的狀態的該至少一個位元的輸入VGPIO狀態資訊;及 根據該輸入VGPIO狀態資訊來驅動該輸入GPIO引腳。
  20. 一種裝置,包括: 一串列匯流排;及 耦合到該串列匯流排的兩個積體電路設備,每一個積體電路設備包括: 被適配成維護第一複數個虛擬通用輸入/輸出(VGPIO)位的一第一暫存器,每一位元表示該積體電路設備中的一實體通用輸入/輸出(GPIO)端子的狀態,其中該第一複數個VGPIO位元包括表示該積體電路設備中的輸出GPIO端子的一或多個位元以及表示該第一積體電路設備中的一GPIO端子的狀態的至少一個位元; 用複數個遮罩位元配置的一第二暫存器,每一遮罩位元對應於該第一複數個VGPIO位元之一; 被配置成從該串列匯流排接收被定向至該第一暫存器的VGPIO狀態資訊的一匯流排介面,該VGPIO狀態資訊包括第二複數個VGPIO位元,該第二複數個VGPIO位元包括表示一不同的積體電路設備中的輸出GPIO端子的一或多個位元;及 一遮罩電路,其被適配成防止表示該積體電路設備中的該等輸出GPIO端子的該一或多個位元被該第二複數個VGPIO位元蓋寫。
  21. 如請求項20之裝置,其中該兩個積體電路設備被配置成在經由該串列匯流排傳送的該VGPIO狀態資訊中傳送其各自的第一暫存器的內容。
  22. 如請求項20之裝置,其中該兩個積體電路設備的該第二暫存器用作為彼此的邏輯逆的兩個不同值來配置。
  23. 如請求項20之裝置,其中一第一積體電路設備中的該等輸出GPIO端子對應於一第二積體電路設備中的該等輸入GPIO端子。
  24. 如請求項23之裝置,其中該第一積體電路設備中的該等輸入GPIO端子對應於該第二積體電路設備中的該等輸出GPIO端子。
  25. 如請求項20之裝置,其中每一個積體電路設備包括一有限狀態機,其被適配成: 偵測至少一個輸出GPIO引腳的實體狀態資訊; 將該實體狀態資訊表徵為一虛擬狀態資訊;及 使得在該串列匯流排上傳送該虛擬狀態資訊。
  26. 如請求項20之裝置,其中每一個積體電路設備包括一有限狀態機,其被適配成: 決定已經接收到被定向至表示該輸入GPIO端子的狀態的該至少一個位元的輸入VGPIO狀態資訊;及 使得該輸入GPIO引腳根據該輸入VGPIO狀態資訊來驅動。
  27. 一種包括指令的儲存媒體,該等指令在由一或多個處理器執行時使該一或多個處理器: 在一第一暫存器中儲存複數個虛擬通用輸入/輸出(VGPIO)位,每一VGPIO位元表示一第一設備中的一實體通用輸入/輸出(GPIO)引腳的狀態,其中該複數個VGPIO位元包括表示該第一設備的輸出GPIO引腳的狀態的一或多個位元以及表示該第一設備的一輸入GPIO引腳的狀態的至少一個位元; 從一串列匯流排接收第一VGPIO狀態資訊,該第一VGPIO狀態資訊被定向至該第一暫存器; 當一第二暫存器的相應位元用一第一邏輯狀態配置時將該第一VGPIO狀態資訊的一第一組位元寫入到該第一暫存器;及 當該第二暫存器的相應位元用一第二邏輯狀態配置時避免將該第一VGPIO狀態資訊的一第二組位元寫入到該第一暫存器,其中該第二組位被定向至表示輸出GPIO引腳的狀態的該一或多個位元。
  28. 如請求項27之儲存媒體,其中該等指令使該一或多個處理器: 用對應於其狀態由該第一暫存器表示的輸入GPIO引腳和輸出GPIO引腳的一配置的一第一遮罩值來配置該第二暫存器,其中該第二暫存器在該第一設備的初始化期間配置。
  29. 如請求項27之儲存媒體,其中該第一VGPIO狀態資訊是從一第二設備接收到的,並且其中該第二設備包括用複數個遮罩位元配置的一第三暫存器,每一遮罩位元對應於該第二設備的一GPIO引腳,並且其中該第三暫存器用一遮罩值來配置,該遮罩值能操作用於防止第二VGPIO狀態資訊位元被寫入到該第二設備的維護該第二設備的輸出GPIO引腳的狀態的一VGPIO暫存器。
  30. 如請求項27之儲存媒體,其中該等指令使該一或多個處理器: 接收被定向至表示該輸入GPIO引腳的狀態的該至少一個位元的輸入VGPIO狀態資訊;及 根據該輸入VGPIO狀態資訊來驅動該輸入GPIO引腳。
TW107112543A 2017-05-10 2018-04-12 混合vgpio狀態交換中的輸入/輸出方向解碼 TW201902142A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762504438P 2017-05-10 2017-05-10
US62/504,438 2017-05-10
US15/950,955 US20180329837A1 (en) 2017-05-10 2018-04-11 Input/output direction decoding in mixed vgpio state exchange
US15/950,955 2018-04-11

Publications (1)

Publication Number Publication Date
TW201902142A true TW201902142A (zh) 2019-01-01

Family

ID=64097248

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107112543A TW201902142A (zh) 2017-05-10 2018-04-12 混合vgpio狀態交換中的輸入/輸出方向解碼

Country Status (3)

Country Link
US (1) US20180329837A1 (zh)
TW (1) TW201902142A (zh)
WO (1) WO2018208430A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11054878B2 (en) * 2017-08-29 2021-07-06 Texas Instruments Incorporated Synchronous power state control scheme for multi-chip integrated power management solution in embedded systems
CN109857485B (zh) * 2019-01-28 2021-06-15 山东华芯半导体有限公司 一种可编程gpio装置及基于该装置的时序实现方法
CN111562946B (zh) * 2020-05-06 2023-09-08 青岛信芯微电子科技股份有限公司 一种数据处理方法及芯片
DE102020205765A1 (de) * 2020-05-07 2021-11-11 Robert Bosch Gesellschaft mit beschränkter Haftung Systemkomponente und Verwendung einer Systemkomponente
US11593158B2 (en) 2020-06-09 2023-02-28 Kingston Digital Inc. Universal peripheral extender for communicatively connecting peripheral I/O devices and smart host devices
CN112729581B (zh) * 2020-12-28 2022-06-28 潍柴动力股份有限公司 温度检测方法及装置
CN113760809B (zh) * 2021-07-26 2023-07-18 苏州浪潮智能科技有限公司 一种gpio接口的配置方法、***、装置及可读存储介质
US20230084948A1 (en) * 2021-09-16 2023-03-16 Apple Inc. Wireless Circuitry with Efficient Antenna Tuning
EP4187395A1 (de) * 2021-11-26 2023-05-31 Göpel electronic GmbH Verfahren und einrichtung zur emulation von übertragungsprotokollen zur ansteuerung von elektronischen bausteinen an einem bussystem
JP2023140719A (ja) * 2022-03-23 2023-10-05 株式会社東芝 送信装置、受信装置、送信方法及び受信方法
CN114860635B (zh) * 2022-07-07 2022-09-23 北京智芯半导体科技有限公司 通用输入输出接口控制方法、装置、存储介质、电路板
CN117851308A (zh) * 2024-02-18 2024-04-09 荣耀终端有限公司 一种集线电路、集线电路运行方法、pcb和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7121639B2 (en) * 2002-12-02 2006-10-17 Silverbrook Research Pty Ltd Data rate equalisation to account for relatively different printhead widths
US20060294312A1 (en) * 2004-05-27 2006-12-28 Silverbrook Research Pty Ltd Generation sequences
US7328956B2 (en) * 2004-05-27 2008-02-12 Silverbrook Research Pty Ltd Printer comprising a printhead and at least two printer controllers connected to a common input of the printhead
US20070083491A1 (en) * 2004-05-27 2007-04-12 Silverbrook Research Pty Ltd Storage of key in non-volatile memory
TWI488045B (zh) * 2011-06-15 2015-06-11 Inventec Corp 內部整合電路與通用串行輸入輸出的自動偵測裝置、系統及其方法
US9129072B2 (en) * 2012-10-15 2015-09-08 Qualcomm Incorporated Virtual GPIO
US9311206B2 (en) * 2014-04-15 2016-04-12 Freescale Semiconductor, Inc. Method and apparatus for monitoring general purpose input output, GPIO, signals
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
US10331431B2 (en) * 2015-11-17 2019-06-25 Nlight, Inc. Multiple laser module programming over internal communications bus of fiber laser

Also Published As

Publication number Publication date
US20180329837A1 (en) 2018-11-15
WO2018208430A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
TW201902142A (zh) 混合vgpio狀態交換中的輸入/輸出方向解碼
US20170168966A1 (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
US10482055B2 (en) Hardware event priority sensitive programmable transmit wait-window for virtual GPIO finite state machine
US10515044B2 (en) Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus
US20180357199A1 (en) Slave-to-slave communication in i3c bus topology
US20190050366A1 (en) Device, event and message parameter association in a multi-drop 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
US10496562B1 (en) Low latency virtual general purpose input/output over I3C
US10579549B2 (en) Staggered transmissions on a multi-drop half-duplex bus
TW201926064A (zh) 用於時間臨界資料交換之多點下傳匯流排上之位元交錯雙向傳輸
CN116075815A (zh) 跨接口的批操作
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
US10684981B2 (en) Fast termination of multilane single data rate transactions