TW201832089A - 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術 - Google Patents

多點分支串列匯流排上的多埠多邊頻帶gpio合併技術 Download PDF

Info

Publication number
TW201832089A
TW201832089A TW107100754A TW107100754A TW201832089A TW 201832089 A TW201832089 A TW 201832089A TW 107100754 A TW107100754 A TW 107100754A TW 107100754 A TW107100754 A TW 107100754A TW 201832089 A TW201832089 A TW 201832089A
Authority
TW
Taiwan
Prior art keywords
vgi
gpio
word
devices
bit
Prior art date
Application number
TW107100754A
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 TW201832089A publication Critical patent/TW201832089A/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/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7817Specially adapted for signal processing, e.g. Harvard architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

用於在串列通訊鏈路上傳達虛擬化通用輸入/輸出信號的系統、方法和裝置。一種在耦合到通訊鏈路的傳送方設備處執行的方法,包括:將來自複數個源的通用輸入/輸出(GPIO)狀態配置成虛擬通用輸入/輸出字、基於GPIO狀態到耦合到串列匯流排的一或多個設備的映射來標識第一GPIO字的一或多個目的地、並將第一GPIO字傳送到每個目的地。

Description

多點分支串列匯流排上的多埠多邊頻帶GPIO合併技術
本專利申請案主張於2017年2月10日在美國專利商標局提交的臨時專利申請案第62/457,729號,以及2018年1月8日在美國專利商標局提交的非臨時申請案第15/864,871號的優先權和權益。
本案一般係關於串列通訊和輸入/輸出引腳配置,並且尤其係關於最佳化針對最優串列訊息接發等待時間和輸入/輸出引腳配置來配置的有限狀態機。
行動通訊設備可包括各種各樣的組件,包括電路板、積體電路(IC)設備及/或片上系統(SoC)設備。各組件可包括處理設備、使用者介面組件、儲存和經由共享資料通訊匯流排(其可包括串列匯流排或平行匯流排)進行通訊的其他周邊組件。業內已知的通用序列介面包括積體電路間(I2C或I²C)串列匯流排及其衍生物和替換物,其包括由行動行業處理器介面(MIPI)聯盟定義的介面,諸如I3C和射頻前端(RFFE)介面。
在一個實例中,I2C串列匯流排是意欲用於將低速周邊設備連接至處理器的串列單端電腦匯流排。一些介面提供多主控匯流排,其中兩個或更多個設備可以用作在串列匯流排上傳送的不同訊息的匯流排主控方。在另一實例中,RFFE介面定義了用於控制各種射頻(RF)前端設備(包括功率放大器(PA)、低雜訊放大器(LNA)、天線調諧器、濾波器、感測器、功率管理設備、開關等)的通訊介面。這些設備可共處於單個IC設備中或者設在多個IC設備中。在行動通訊設備中,多個天線和無線電收發機可支援多個併發RF鏈路。
在許多實例中,採用數個命令和控制信號來連接行動通訊設備中的不同組件設備。這些連接消耗行動通訊設備內寶貴的通用輸入/輸出(GPIO)引腳,並且用在現有串列資料連結上傳送的資訊中攜帶的信號來代替實體互連將是合乎期望的。然而,串列資料連結與可阻止將實體命令和控制信號轉換成虛擬信號的等待時間相關聯,尤其是在行動通訊設備所支援的定義嚴格傳輸時限的即時嵌入式系統應用中。
隨著行動通訊設備持續包括更高級的功能性,需要改進的串列通訊技術來支援周邊設備與應用處理器之間的低等待時間傳輸。
本案的某些態樣涉及可提供不同設備之間的經最佳化低等待時間通訊以使得GPIO信號可作為虛擬信號被攜帶的系統、裝置、方法和技術。提供了虛擬GPIO有限狀態機(VGI FSM),其可合併來自多個源的GPIO狀態資訊並將該狀態資訊經由資料通訊匯流排分發到一或多個設備。
在本案的各種態樣,一種在傳送方設備處執行的方法包括:將來自複數個源的GPIO狀態配置成虛擬GPIO(VGI)字,基於GPIO狀態到耦合至共享通訊鏈路的一或多個設備的映射來標識該VGI字的一或多個目的地,並將該VGI字經由共享通訊鏈路傳送到每個目的地。
在一個態樣,該映射將VGI字的每一個位元與包括與每個位元的源中的GPIO相對應的GPIO引腳的一或多個設備相關聯。VGI字的每個接收方設備根據遮罩表來對該VGI字進行遮罩,其中該遮罩表標識該VGI字中影響每個接收方設備中的GPIO引腳的GPIO狀態資訊。該複數個源包括與兩個或更多個通訊鏈路相關聯的GPIO。該複數個源包括與兩個或更多個設備相關聯的GPIO。
在某些態樣,VGI字根據系統功率管理介面(SPMI)協定在資料封包中被傳送。VGI字可以在資料封包中經由中繼裝置的第一SPMI介面來被傳送到第一目的地。該中繼裝置經由中繼裝置的第二SPMI介面來將該資料封包中繼到第一目的地。
在一個態樣,VGI字根據射頻前端(RFFE)協定在資料封包中被傳送。
在各種態樣,一種裝置具有配置成將該裝置耦合到串列匯流排的匯流排介面、以及虛擬通用輸入/輸出有限狀態機,該虛擬通用輸入/輸出有限狀態機被配置成來自複數個源的GPIO狀態映射成VGI字、基於GPIO狀態到耦合到共享通訊鏈路的一或多個設備的映射來標識VGI字的一或多個目的地、並經由匯流排介面將該VGI字傳送到至少一個目的地。
在本案的各種態樣,一種在接收方設備處執行的方法包括從共享通訊鏈路接收VGI字、對該VGI字進行遮罩來獲得排除至少一個位元的一組VGI位元、將該組VGI位元映射到對應的一組實體GPIO引腳、並使得該組實體GPIO引腳的每一個引腳具有由該組VGI位元中的對應VGI位元定義的訊號傳遞狀態。VGI字可被複數個設備接收。該複數個設備的每一個設備中的至少一個實體GPIO引腳的訊號傳遞狀態可由VGI字中的對應位元來定義。
在一個態樣,對VGI字的至少一個位元進行遮罩包括根據遮罩表來對VGI字進行遮罩,其中該遮罩表標識該VGI字中影響接收方設備中的一或多個實體GPIO引腳的狀態資訊。由VGI字定義的狀態資訊可包括與兩個或更多個通訊鏈路相關聯的狀態資訊。共享通訊鏈路可根據SPMI協定或射頻前端(RFFE)協定來被操作。
在本案的各種態樣,一種裝置具有配置成接收來自串列匯流排的虛擬通用輸入/輸出(VGI)字的匯流排介面、配置成從該VGI字提取一或多個VGI位元的遮罩電路、以及虛擬通用輸入/輸出有限狀態機,該虛擬通用輸入/輸出有限狀態機被配置成將該一或多個VGI位元映射到對應的一組實體GPIO引腳,並致使該組實體GPIO引腳中的每一個實體GPIO引腳具有由該一或多個VGI位元中對應的VGI位元定義的訊號傳遞狀態。該遮罩電路可被配置成根據遮罩表來對VGI字進行遮罩,其中該遮罩表標識VGI字中影響接收方設備中的一或多個實體GPIO引腳的狀態資訊。
以下結合附圖闡述的詳細描述意欲作為各種配置的描述,而無意表示可實踐本文所描述的概念的僅有配置。本詳細描述包括具體細節以提供對各種概念的透徹理解。然而,對於本發明所屬領域中具有通常知識者將顯而易見的是,沒有這些具體細節亦可實踐這些概念。在一些實例中,以方塊圖形式示出眾所周知的結構和組件以避免湮沒此類概念。
現在將參照各種裝置和方法提供本發明的若干態樣。這些裝置和方法將在以下詳細描述中進行描述並在附圖中由各種方塊、模組、組件、電路、步驟、程序、演算法等(統稱為「元素」)來圖示。這些元素可使用電子硬體、電腦軟體、或其任何組合來實現。此類元素是實現成硬體還是軟體取決於具體應用和加諸於整體系統上的設計約束。 概覽
包括多SoC的設備和其他IC設備通常採用可包括串列匯流排或其他資料通訊鏈路的共享通訊介面以將處理器與數據機和其他周邊設備相連接。串列匯流排或其他資料通訊鏈路可根據所定義的多個標準或協定來被操作。在一個實例中,串列匯流排可根據I2C、I3C、及/或RFFE協定來被操作。根據本文所揭示的某些態樣,GPIO引腳和信號可被虛擬化成可在資料通訊鏈路上傳送的GPIO狀態資訊。虛擬化GPIO狀態資訊可在各種通訊鏈路上被傳送,包括含有線通訊鏈路和RF通訊鏈路的鏈路。例如,虛擬化GPIO狀態資訊可被群組化或以其他方式被格式化以供在RF網路(包括藍芽、WLAN、蜂巢網路等)上進行傳輸。本文描述了涉及有線通訊鏈路的實例以促成對某些態樣的理解。這些態樣不變地適用於其中GPIO狀態資訊的傳輸包括RF網路上的傳輸的實現。
可使用數種不同的協定方案來在通訊鏈路上傳達訊息接發和資料。現有協定具有定義好且不可改變的結構,因為它們的結構不能被改變以基於使用情形中的變動及/或與其他協定、設備和應用的共存來最佳化傳輸等待時間。即時嵌入式系統要求必須滿足某些最終期限。在某些即時應用中,滿足傳輸最終期限是最為重要的。當共用匯流排支援不同協定時,一般難以或不可能在所有使用情形下都保證最優等待時間。在一些實例中,I2C、I3C或RFFE SPMI串列通訊匯流排可被用於隧穿具有不同等待時間要求、不同資料傳輸量及/或不同傳輸排程的不同協定。
本文所揭示的某些態樣提供了適配成使得設備能夠合併用於連接該設備並將其連接到一或多個其他設備的多個介面的GPIO狀態資訊的方法、電路和系統。經合併的GPIO狀態資訊可被定址到指定設備或與其他設備上的介面、及/或設備及/或介面群。 採用串列資料連結的裝置的實例
根據某些態樣,串列資料連結可被用於互連作為裝置的子組件的電子設備,該裝置諸如是蜂巢式電話、智慧型電話、對話啟動協定(SIP)電話、膝上型設備、筆記本、小筆電、智慧型電腦、個人數位助理(PDA)、衛星無線電、全球定位系統(GPS)設備、智慧家用設備、智慧照明、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、相機、遊戲控制台、娛樂設備、車載組件、可穿戴計算設備(例如,智慧手錶、健康或健身追蹤器、眼鏡等)、電器、感測器、安全設備、自動售貨機、智慧電錶、無人機、多旋翼直升機、或任何其他類似的功能設備。
圖1圖示了可採用資料通訊匯流排的裝置100的實例。裝置100可包括SoC、具有可在一或多個ASIC中或在SoC中實現的多個電路或設備104、106及/或108的處理電路102。在一個實例中,裝置100可以是通訊設備,並且處理電路102可包括在ASIC 104中提供的處理設備,一或多個周邊設備106,以及使該裝置能夠經由天線124與無線電存取網路、核心存取網路、網際網路及/或另一網路通訊的收發機108。
ASIC 104可具有一或多個處理器112、一或多個數據機110、板載記憶體114、匯流排介面電路116及/或其他邏輯電路或功能。處理電路102可以由可提供應用程式設計介面(API)層的作業系統來控制,該API層使得一或多個處理器112能夠執行常駐在板載記憶體114或在處理電路102上提供的其他處理器可讀儲存122中的軟體模組。軟體模組可包括儲存在板載記憶體114或處理器可讀儲存122中的指令和資料。ASIC 104可以存取其板載記憶體114、處理器可讀儲存122、及/或在處理電路102外部的儲存。板載記憶體114、處理器可讀儲存122可包括唯讀記憶體(ROM)或隨機存取記憶體(RAM)、電子可抹除可程式設計ROM(EEPROM)、快閃記憶卡、或可以在處理系統和計算平臺中使用的任何記憶體設備。處理電路102可包括、實現或能夠存取本端資料庫或其他參數儲存,該本端資料庫或其他參數儲存可維護用於配置和操作裝置100及/或處理電路102的工作參數和其他資訊。本端資料庫可使用暫存器、資料庫模組、快閃記憶體、磁性媒體、EEPROM、軟碟或硬碟等來實現。處理電路102亦可以可操作地耦合至外部設備,諸如天線124、顯示器126、操作者控制項(諸如開關或按鈕128、130及/或集成或外部按鍵板132)、以及其他組件。使用者介面模組可被配置成經由專用通訊鏈路或經由一或多個串列資料互連與顯示器126、按鍵板132等一起操作。
處理電路102可以提供使得某些設備104、106及/或108能夠進行通訊的一或多條匯流排118a、118b、120。在一個實例中,ASIC 104可包括匯流排介面電路116,其包括電路、計數器、計時器、控制邏輯、和其他可配置電路或模組的組合。在一個實例中,匯流排介面電路116可被配置成根據通訊規範或協定來操作。處理電路102可包括或控制配置並管理裝置100的操作的功率管理功能。
圖2圖示了包括連接至串列匯流排230的多個設備202、220和222a-222n的裝置200的某些態樣。設備202、220和222a-222n可包括一或多個半導體IC設備,諸如應用處理器、SoC或ASIC。設備202、220和222a-222n中的每一者可包括、支援或作為數據機、信號處理設備、顯示器驅動器、相機、使用者介面、感測器、感測器控制器、媒體播放機、收發機、及/或其他此類組件或設備來操作。設備202、220和222a-222n之間在串列匯流排230上的通訊由匯流排主控方220來控制。某些類型的匯流排可支援多個匯流排主控方220。
裝置200可包括在串列匯流排230根據I2C、I3C或其他協定來被操作時進行通訊的多個設備202、220和222a-222n。至少一個設備202、222a-222n可被配置成作為串列匯流排230上的從動設備來操作。在一個實例中,從動設備202可被適配成提供控制功能204。在一些實例中,控制功能204可包括支援顯示器、圖像感測器的電路和模組、及/或控制量測環境狀況的一或多個感測器並與之通訊的電路和模組。從動設備202可包括配置暫存器206或其他儲存224、控制邏輯212、收發機210和線驅動器/接收器214a和214b。控制邏輯212可包括處理電路,諸如狀態機、定序器、信號處理器或通用處理器。收發機210可包括接收器210a、發射器210c和共用電路210b(包括定時、邏輯和儲存電路及/或設備)。在一個實例中,發射器210c基於由時鐘產生電路208所提供的一或多個信號228中的定時來編碼和傳送資料。
設備202、220及/或222a-222n中的兩個或更多個設備可根據本文所揭示的某些態樣和特徵被適配成支援共用匯流排上的複數種不同的通訊協定,這些通訊協定可包括I2C及/或I3C協定。在一些例子中,使用I2C協定來通訊的設備可與使用I3C協定來通訊的設備共存於相同的2線介面上。在一個實例中,I3C協定可支援提供6兆位元每秒(Mbps)與16 Mbps之間的資料率的操作模式,其中有一或多個可任選的高資料率(HDR)操作模式提供更高效能。I2C協定可遵循提供範圍可在100千位元每秒(kbps)與3.2 Mbps之間的資料率的實際I2C標準。除了資料格式和匯流排控制態樣,I2C和I3C協定亦可定義在2線串列匯流排230上傳送的信號的電氣和定時態樣。在一些態樣,I2C和I3C協定可定義影響與串列匯流排230相關聯的某些信號位準的直流(DC)特性,及/或影響在串列匯流排230上傳送的信號的某些定時態樣的交流(AC)特性。在一些實例中,2線串列匯流排230在第一導線218上傳送資料並在第二導線216上傳送時鐘信號。在一些例子中,資料可被編碼在第一導線218和第二導線216的訊號傳遞狀態、或訊號傳遞狀態轉變中。
圖3是圖示採用RFFE匯流排308來耦合各種前端設備312-317的設備302的實例的方塊圖300。數據機304可包括RFFE介面310,其將數據機304耦合至RFFE匯流排308。數據機304可與基頻處理器306通訊。所圖示的設備302可以實施在以下一者或多者中:行動通訊設備、行動電話、行動計算系統、行動電話、筆記型電腦、平板計算設備、媒體播放機、遊戲裝置、可穿戴計算及/或通訊設備、電器等。在各種實例中,設備302可實現成具有一或多個基頻處理器306、數據機304、多個通訊鏈路308、320、以及各種其他匯流排、設備、及/或不同功能性。在圖3中圖示的實例中,RFFE匯流排308可耦合至RF積體電路(RFIC)312,其可包括配置並控制RF前端的某些態樣的一或多個控制器及/或處理器。RFFE匯流排308可將RFIC 312耦合至開關313、RF調諧器314、功率放大器(PA)315、低雜訊放大器(LNA)316、以及功率管理模組317。
圖4圖示了使用I3C匯流排來耦合各種設備(包括主機SoC 402和數個周邊設備412)的裝置400的實例。主機SoC 402可包括虛擬GPIO有限狀態機(VGI FSM 406)和I3C介面404,其中I3C介面404與周邊設備412中的相應I3C介面414協調以提供主機SoC 402與周邊設備412之間的通訊鏈路。每個周邊設備412包括VGI FSM 416。在所圖示的實例中,SoC 402與周邊設備412之間的通訊可根據I3C協定被序列化並在多線串列匯流排410上傳送。在其他實例中,主機SoC 402可包括其他類型的介面(包括I2C及/或RFFE介面)。在其他實例中,主機SoC 402可包括可配置介面,其可被用於使用I2C、I3C、RFFE及/或另一合適的協定來通訊。在一些實例中,多線串列匯流排410(諸如I2C或I3C匯流排)可在資料導線418上傳送資料信號並在時鐘導線420上傳送時鐘信號。 發訊號傳遞通知虛擬GPIO配置資訊
行動通訊設備以及與行動通訊設備相關或相連接的其他設備日益增加地提供更強的能力、效能和功能性。在許多例子中,行動通訊設備納入了使用各種通訊鏈路來連接的多個IC設備。圖5圖示了包括應用處理器502和多個周邊設備504、506、508的裝置500。在該實例中,每個周邊設備504、506、508在根據相互不同的協定來操作的相應通訊鏈路510、512、514上與應用處理器502通訊。應用處理器502與每個周邊設備504、506、508之間的通訊可涉及額外導線,這些額外導線在應用處理器502與周邊設備504、506、508之間攜帶控制或命令信號。這些額外導線可被稱為邊頻帶通用輸入/輸出(邊頻帶GPIO 520、522、524),並且在一些實例中,邊頻帶GPIO 520、522、524所需的連接數目可超過用於通訊鏈路510、512、514的連接數目。
GPIO提供了可針對特定應用來定制的通用引腳/連接。例如,GPIO引腳可以是可程式設計的以根據應用需要而用作輸出、輸入引腳或雙向引腳。在一個實例中,應用處理器502可指派及/或配置數個GPIO引腳以傳導與周邊設備504、506、508(諸如數據機)的交握訊號傳遞或處理器間通訊(IPC)。當使用交握訊號傳遞時,邊頻帶訊號傳遞可以是對稱的,其中訊號傳遞由應用處理器502和周邊設備504、506、508傳送和接收。隨著設備複雜度增加,用於IPC通訊的增加的GPIO引腳數目會顯著地提高製造成本並且限制GPIO對其他系統級周邊介面的可用性。
根據某些態樣,GPIO(包括與通訊鏈路相關聯的GPIO)的狀態可被捕捉、序列化、並經由資料通訊鏈路傳送。在一個實例中,所捕捉到的GPIO可以以封包的形式使用用於指示封包內容及/或目的地的共用命令碼經由I3C匯流排來傳送。
圖6圖示了根據本文所揭示的某些態樣的適配成支援虛擬GPIO(VGI或VGMI)的裝置600。VGI電路和技術可減少用於將應用處理器602與周邊設備624連接的實體引腳和連接的數目。VGI使得複數個GPIO信號能被序列化成可在通訊鏈路622上傳送的虛擬GPIO信號。在一個實例中,虛擬GPIO信號可被編碼在經由包括多線匯流排(包括串列匯流排)的通訊鏈路622傳送的封包中。在作為串列匯流排來提供通訊鏈路622時,接收方周邊設備624可解串所接收到的封包並且可提取訊息和虛擬GPIO信號。周邊設備624中的VGI FSM 626可將虛擬GPIO信號轉換成可在內部GPIO介面處呈現的實體GPIO信號。
在另一實例中,通訊鏈路622可由射頻收發機來提供,該射頻收發機支援使用例如藍芽協定、RF區域網路(WLAN)協定、蜂巢廣域網、及/或另一RF通訊協定的RF通訊。當通訊鏈路622包括RF連接時,訊息和虛擬GPIO信號可被編碼在可在通訊鏈路622上傳送的封包、訊框、子訊框、或其他結構中,並且接收方周邊設備624可提取、解串聯-並聯以其他方式處理所接收到的訊號傳遞以獲得訊息和虛擬GPIO信號。在接收到訊息及/或虛擬GPIO信號之際,接收方設備的VGI FSM 626或另一組件可中斷其主機處理器以指示接收到訊息及/或GPIO信號的任何改變
在其中作為串列匯流排來提供通訊鏈路622的實例中,訊息及/或虛擬GPIO信號可在針對I2C、I3C、RFFE或另一標準化序列介面所配置的封包中傳送。在所圖示的實例中,採用VGI技術來容適應用處理器602與周邊設備624之間的I/O橋接。應用處理器602可被實現為ASIC、SoC或某種設備組合。應用處理器602包括產生與一或多個通訊通道606相關聯的訊息和GPIO的處理器(中央處理單元或CPU 604)。由通訊通道606產生的GPIO信號和訊息可由VGI FSM 626中的相應監視電路612、614來監視。在一些實例中,GPIO監視電路612可被適配成產生代表實體GPIO信號的狀態及/或實體GPIO信號的狀態變化的虛擬GPIO信號。在一些實例中,提供其他電路以產生代表實體GPIO信號的狀態及/或實體GPIO信號的狀態變化的虛擬GPIO信號。
估計電路618可被配置成估計GPIO信號和訊息的等待時間資訊,並且可為通訊鏈路622選擇最佳化用於編碼和傳送GPIO信號和訊息的等待時間的協定及/或通訊模式。估計電路618可維護表徵通訊鏈路622的某些態樣的協定和模式資訊616以供在選擇協定及/或通訊模式時考慮。估計電路618可被進一步配置成選擇用於編碼和傳送GPIO信號和訊息的分群組類型。估計電路618可提供由封包化器620用於編碼GPIO信號和訊息的配置資訊。在一個實例中,該配置資訊作為可被封裝在封包中的命令來提供,以使得能在接收器處決定分群組類型。該配置資訊(其可以是命令)亦可被提供給實體層電路(PHY 608)。PHY 608可使用該配置資訊來選擇用於傳送相關聯封包的協定及/或通訊模式。PHY 608隨後可產生合適的訊號傳遞以傳送該封包。
周邊設備624可包括VGI FSM 626,其可被配置成處理從通訊鏈路622接收到的資料封包。周邊設備624處的VGI FSM 626可提取訊息並且可將虛擬GPIO信號中的位元位置映射到周邊設備624中的實體GPIO引腳上。在某些實施例中,通訊鏈路622是雙向的,並且應用處理器602和周邊設備624兩者可作為發射器和接收器兩者來操作。
應用處理器602中的PHY 608和周邊設備624中的相應PHY 628可被配置成建立和操作通訊鏈路622。PHY 608和628可被耦合至或包括支援RF通訊的RF收發機108(參見圖1)。在一些實例中,PHY 608和628可分別支援應用處理器602和周邊設備624處的雙線介面(諸如I2C、I3C、RFFE或SMBus介面),並且虛擬GPIO和訊息可被封裝成在通訊鏈路622(其可以是例如多線串列匯流排或多線平行匯流排)上傳送的封包。
如本文所描述的VGI隧穿可使用配置成用於操作通訊鏈路622的現有或可用協定且在沒有整套實體GPIO引腳的情況下來實現。VGI FSM 610、626可在沒有應用處理器602及/或周邊設備624中的處理器的幹預的情況下處置GPIO訊號傳遞。使用VGI可以減少與通訊鏈路622相關聯的引腳計數、功耗、以及等待時間。
在接收方設備處,虛擬GPIO信號被轉換成實體GPIO信號。可使用虛擬GPIO信號來配置實體GPIO引腳的某些特性。例如,可使用虛擬GPIO信號來配置實體GPIO引腳的轉換速率、極性、驅動強度、以及其他相關參數和屬性。用於配置實體GPIO引腳的配置參數可被儲存在與相應GPIO引腳相關聯的配置暫存器中。這些配置參數可使用專用或一般協定(I2C、I3C或RFFE)來定址。在一個實例中,配置參數可被維持在I3C可定址暫存器中。本文所揭示的某些態樣涉及減少與傳送配置參數和對應位址(例如,用於儲存配置參數的暫存器的位址)相關聯的等待時間。
VGI介面使得能傳送訊息和虛擬GPIO,由此虛擬GPIO、訊息、或這兩者可在通訊鏈路622上的串列資料串流中發送。在一個實例中,串列資料串流可在封包中及/或作為事務序列在I2C、I3C或RFFE匯流排上傳送。可使用特殊命令碼來發訊號傳遞通知在I2C/I3C訊框中存在虛擬GPIO資料以將該訊框標識為VGPIO訊框。VGPIO訊框可根據I2C或I3C協定作為廣播訊框或定址訊框來傳送。在一些實現中,串列資料串流可按照與通用非同步接收器/發射器(UART)訊號傳遞協定相似的形式以所謂VGI_UART的操作模式來傳送。
圖7圖示了VGI廣播訊框700、720的實例。在第一實例中,廣播訊框700始於開始位元702(S)、繼以根據I2C或I3C協定的標頭704。VGI廣播訊框可使用VGI廣播共用命令碼706來標識。VGPIO資料有效載荷708包括數個(n 個)虛擬GPIO信號7120 -712 n -1 ,其範圍從第一虛擬GPIO信號7120到第n 虛擬GPIO信號712 n -1 。VGI FSM可包括映射表,該映射表將VGPIO資料有效載荷708中的虛擬GPIO信號的位元位置映射到一般GPIO引腳。VGPIO資料有效載荷708中的訊號傳遞的虛擬本質對於傳送方和接收方設備中的處理器而言可以是透明的。
在第二實例中,可由主機設備傳送經遮罩VGI廣播訊框720以改變一或多個GPIO引腳的狀態而不擾亂其他GPIO引腳的狀態。在該實例中,一或多個設備的I/O信號被遮罩,而目標設備中的I/O信號不被遮罩。經遮罩VGI廣播訊框720始於開始位元722、繼以標頭724。經遮罩VGI廣播訊框720可使用經遮罩VGI廣播共用命令碼726來標識。VGPIO資料有效載荷728可包括I/O信號值7340 -734 n -1 以及對應的遮罩位元7320 -732 n -1 ,其範圍從用於第一I/O信號(IO0 )的第一遮罩位元M0 7320 到用於第n 個I/O信號IO n -1 的第n 遮罩位元M n -1 732 n -1
停止位元或同步位元(Sr/P 710、730)終止廣播訊框700、720。同步位元可被傳送以指示額外的VGPIO有效載荷將被傳送。在一個實例中,同步位元可以是I2C介面中的重複的開始位元。
圖8圖示了VGI定向訊框800、820的實例。在第一實例中,VGI定向訊框800可被定址到單個周邊設備,或者在一些實例中定址到周邊設備群。VGI定向訊框800中的第一訊框始於開始位元802(S)、繼之以根據I2C或I3C協定的標頭804。VGI定向訊框800可使用VGI定向共用命令碼806來標識。定向共用命令碼806之後可跟隨有同步欄位808a(Sr)和位址欄位810a,該位址欄位810a包括用於選擇被定址設備的從動方識別符。跟隨在位址欄位810a之後的定向VGPIO資料有效載荷812a包括屬於被定址設備的I/O信號集合的值816。VGI定向訊框800可包括針對附加設備的附加定向有效載荷812b。例如,第一定向VGPIO資料有效載荷812a之後可跟隨有同步欄位808b和第二位址欄位810b。在該實例中,第二定向VGPIO有效載荷812b包括屬於第二被定址設備的I/O信號集合的值818。使用VGI定向訊框800可准許傳送在廣播VGPIO訊框700、720中攜帶的I/O信號的子集或部分的值。
在第二實例中,主機設備可傳送經遮罩VGI定向訊框820以改變單個周邊設備中的一或多個GPIO引腳的狀態而不擾亂該單個周邊設備中的其他GPIO引腳的狀態並且不影響其他周邊設備。在一些實例中,一或多個設備中的I/O信號可被遮罩,而一或多個目標設備中的所選I/O信號不被遮罩。經遮罩VGI定向訊框820始於開始位元822、繼之以標頭824。經遮罩VGI定向訊框820可使用經遮罩VGI定向共用命令碼826來標識。經遮罩VGI定向命令碼826之後可跟隨有同步欄位828(Sr)和位址欄位830,該位址欄位830包括用於選擇被定址設備的從動方識別符。後面跟隨的定向有效載荷832包括屬於被定址設備的I/O信號集合的VGPIO值。例如,定向資料有效載荷832中的VGPIO值可包括I/O信號值838和對應的遮罩位元836。
停止位元或同步位元(Sr/P 814、834)終止VGI定向訊框800、820。同步位元可被傳送以指示額外的VGPIO有效載荷將被傳送。在一個實例中,同步位元可以是I2C介面中的重複開始位元。
在接收方設備(例如,應用處理器502及/或周邊設備504、506、508)處,所接收到的虛擬GPIO信號被擴展成在GPIO引腳上呈現的實體GPIO信號狀態。如本文所使用的術語「引腳」可以代表用於將IC耦合至在電路板、基板或類似物上提供的導線、跡線、穿透通孔、或其他合適的實體連接器的實體結構(諸如焊盤、引腳或其他互連組件)。每個GPIO引腳可與儲存用於該GPIO引腳的配置參數的一或多個配置暫存器相關聯。圖9圖示了可與實體引腳相關聯的配置暫存器900和920。每個配置暫存器900、920被實現為一位元組(8位元)暫存器,其中不同的位元或位元群定義可經由配置來控制的特性或其他特徵。在第一實例中,位元D0-D2 902控制GPIO引腳的驅動強度,位元D3-D5 904控制GPIO引腳的轉換速率,位元D6 906啟用中斷,並且位元D7 908決定中斷是邊沿觸發的還是由電壓位準觸發的。在第二實例中,位元D0 922選擇GPIO引腳接收反相還是非反相信號,位元D1-D2 924定義輸入或輸出引腳的類型,位元D3-D4 926定義未驅動引腳的某些特性,位元D5-D6 928定義訊號傳遞狀態的電壓位準,並且位元D7 930控制GPIO引腳的二進位值(亦即,GPIO引腳攜帶二進位1還是0)。 為多個設備或通訊鏈路合併GPIO
圖10圖示了包括採用邊頻帶GPIO並且不可輕易被序列化並在單條串列鏈路中傳送的一或多個通訊鏈路的系統1000的實例。在某些實例中,對經由單個並行資料通訊鏈路傳送邊頻帶GPIO而言可能存在障礙。為便於描述,串列資料連結的實例可被採用,儘管本文描述的概念可被應用於並行資料通訊鏈路。系統1000可包括應用處理器1002(其可以用作各種通訊鏈路上的主機設備)、多個周邊設備10041 -1004 N ,以及一或多個功率管理積體電路(PMIC1006、1008)。在圖示的系統1000中,至少第一周邊設備10041 可包括數據機。應用處理器1002和第一周邊設備10041 可使用提供重置和其他信號的組合的GPIO、以及系統功率管理介面(SPMI 1018、1020)來被耦合到相應的PMIC 1006、1008。SPMI 1018、1020作為由MIPI聯盟所定義的針對包括PMIC 1006、1008的設備的即時控制來最佳化的序列介面來操作。SPMI 1018、1020可被配置為共享匯流排,其為設備提供高速、低等待時間的連接,其中資料傳輸可根據被指派到不同話務類的優先順序來進行管理。
應用處理器1002可使用多個通訊鏈路1012、1014以及GPIO 1016來被耦合到周邊設備10041 -1004 N 中的每一個周邊設備。例如,應用處理器1002可使用高速匯流排1012、低速匯流排1014以及輸入及/或輸出GPIO 1016來被耦合到第一周邊設備10041 。如本文揭示的,GPIO信號可被虛擬化並經由某些序列介面(諸如I3C介面)來被傳遞。 GPIO信號的傳遞是使用在I3C介面中可用的、而在其他類型的介面中可能不可用的共用命令代碼協定來促成的。相應地,可能使得GPIO的虛擬化在特定高速通訊鏈路被用於耦合應用處理器1002和周邊設備10041 -1004 N 時困難或不切實際。
根據本文揭示的某些態樣,可為多個通訊鏈路和設備合併GPIO。圖11圖示了系統1100的實例,該系統1100虛擬化併合並與多個設備相關聯的GPIO狀態的通訊及/或使用單端串列通訊鏈路的通訊鏈路。在所圖示的實例中,根據SPMI協定操作的多點分支串列匯流排1110可被用於攜帶多個設備(包括例如應用處理器1102和多個周邊設備 11041 -1104 N )的GPIO狀態資訊。與每個高速串列鏈路1118、1120、1122、1124相關聯的邊頻帶GPIO以及將應用處理器1102耦合到一或多個周邊設備11041 -1104 N 的其他GPIO可作為VGI經由串列匯流排1110來被傳送。在一個實例中,應用處理器1102可包括SPMI 主控方1112而每個周邊設備11041 -1104 N 可包括可被專用於VGI交換的SPMI 11141 -1114 N 從動方。在另一實例中,除了VGI以外,串列匯流排1110亦可被用於傳遞與VGI無關的資料和命令。
系統1100可包括可在各種通訊鏈路(包括串列匯流排1110)上用作主機設備的應用處理器1102。一或多個功率管理積體電路(PMIC 1106、1108)可被包括在系統1100中。在圖示的系統1100中,至少第一周邊設備11041 可包括數據機。
虛擬化GPIO可導致減少數量的輸入/輸出引腳,減少IC封裝大小,並減少印刷電路板路由複雜度。該串列匯流排1110可以根據SPMI協定來操作。在某些實例中,其他協定可被用於以高速和以低等待時間來傳遞VGI。在一個實例中,RFFE匯流排可被用於傳達VGI。如本文所揭示的,GPIO信號可被虛擬化並經由串列匯流排1110來傳遞。GPIO信號的傳遞可在無需修改串列匯流排1110上所使用的協定的情況下被完成。在某些實例中,GPIO合併可使用狀態機來實現以控制GPIO的虛擬化。在許多實例中,不需要通訊協定的修改。例如,控制GPIO狀態傳輸並不需要對協定定義的命令及/或通用命令代碼的添加、修改及/或刪除。
根據某些態樣,多個GPIO埠可被虛擬化以使得經由串列匯流排1110傳送的GPIO狀態資訊可與多個GPIO埠的合併狀態相關。在一個實例中,可支援針對每個埠的多個GPIO。狀態機可被配置成自動標識何時應當傳送GPIO狀態資訊,以及該GPIO狀態資訊應當被定址到哪個設備1102、11041 -1104 N 。在某些實例中,與一個輸出GPIO相關的狀態資訊可被(例如)應用處理器1102傳送及/或路由,以修改兩個或更多個周邊設備11041 -1104 N 的輸入GPIO。
在某些實例中,狀態機可被適配以實現自動位元級遮罩以使得軟體複雜性和管理負擔以及傳送等待時間最小化。在某些實例中,第二級GPIO交叉多工器/解多工器方案可被採用以使得能夠路由到所有可能的路由目的地以及路由目的地組合。GPIO狀態資訊可被傳送到作為目標的周邊設備11041 -1104 N 或周邊設備群11041 -1104 N 。可配置優先順序方案可被實現以在GPIO狀態傳送和訊息接發傳送之間進行選擇。 GPIO狀態合併的實例
圖12是圖示GPIO狀態發射器的操作的流程圖1200。流程圖1200與合併及傳送對應於一組GPIO的GPIO狀態資訊的主機設備的實例相關。該組GPIO可包括主機或周邊GPIO 1202,其可被合併在SPMI_VGI GPIO 1206中。在某些實例中,這些GPIO 1202被包括在主機或周邊設備維護的統一GPIO映射中。使用從統一GPIO映射推導的GPIO 1202允許軟體透明性。換言之,使用這些GPIO 1202的底層軟體基於這些GPIO 1202的使用不需要為產生SPMI_VGI GPIO 1206作任何改變。
具有8個GPIO 1202的群可被合併以用於產生SPMI_VGI GPIO 1206。要在SPMI_VGI GPIO 1206上被合併的每群8個GPIO 1202可使用1到8解多工器1204來被配置。解多工器1204允許系統或周邊GPIO到SPMI_VGI GPIO 1206的映射。GPIO到SPMI_VGI GPIO 1206的所有可能的映射被解多工器1204允許。在一個實例中,1:1映射可被用於主機/周邊GPIO到SPIM GPIO映射。每個解多工器1204可使用4個控制位元來被控制,其中3個位元(例如,位元[D2:D0])配置解多工器1204而第四個位元(例如,位元D4)可被用於啟用或禁用解多工器1204。解多工器1204產生的SPMI_VGI GPIO 1206表示在SPMI_VGI中傳送的GPIO狀態。
在某些實例中,軟GPIO可被採用,其中SPMI_VGI GPIO 1206的配置(Q0到Q7)可被程式地設置。在這類實現中,不需要主機/周邊GPIO 1202以及解多工器1204塊。虛1214線圖示了在SPMI_VGI GPIO 1206的配置被程式地設置時可能的劃分。
傳送暫存器1208可被用於在先前狀態改變被傳達之時儲存GPIO狀態改變。傳送暫存器1208可被實現或配置以作為FIFO操作。在所圖示的實例中,FIFO具有至少三個儲存位置的深度。傳送暫存器1208可被配置成容適先前狀態改變資訊處於傳送階段可能發生的任何GPIO狀態改變。
從動方關聯映射1212可被提供。從動方關聯映射1212可由從動方識別符(SID 1216)來索引或排序。從動方關聯映射1212建立每個可用或可能的從動方與輸出GPIO位元1218的關聯。在一個實例中,從動方可包括具有在範圍SID=0x0到SID=0xF中的識別符的16個從動設備。可以有不止一個從動方與給定的GPIO位元1218相關聯,使得連接到多個周邊設備的單個輸出GPIO位元1218的配置等效性可由系統設計依須求提供。在該實例中,每個位元位置可具有值「1」或「0」,其中「1」指示SID 1216和輸出GPIO位元1218之間的關聯,而「0」指示SID 1216和輸出GPIO位元1218之間的無關聯。在一個實例中,最多16個從動方可在匯流排上被支援,並且對於每群8個輸出GPIO位元1218,從動方關聯映射1212需要16位元元組的暫存器空間。在其他實例中,匯流排可支援不止16個從動設備,並且從動方關聯映射1212可被置備足以映射期望或可能的從動設備的數量的暫存器空間。
在其中主機被配置成支援16個從動設備並提供用於配置輸出GPIO位元1218的最多達16個位元組的實例中,主機側上的從動方關聯映射1212需要16*16 = 256個位元組。然而,每個從動設備需要支援僅8個輸出GPIO位元,並且因此從動方側上的從動方關聯映射僅使用16位元組。
傳送邏輯單元1210可被提供以根據標準SPMI協定來發送GPIO狀態資訊。傳送邏輯單元1210可包括特定模組及/或電路,該特定模組及/或電路包括GPIO狀態改變比較器1220、目的地從動方識別符模組1222、以及從動方服務標章模組1224。
GPIO狀態改變比較器1220執行最後傳送的GPIO狀態與當前在傳送緩衝器中準備好傳送的GPIO狀態之間位元級比較。一或多個位元位置處的改變用作GPIO狀態傳送的觸發。
目的地從動方識別符模組1222存取從動方關聯映射1212以決定哪些GPIO位元已經改變,並標識哪個或哪些從動方是該GPIO狀態的傳送的目的地。
從動方服務標章模組1224可作為從動方服務追蹤器來操作。當從動方已經被目的地從動方識別符模組1222所標識時,對應的標誌被標記為活躍。標誌在所有從動方已經得到服務時被清除。
圖13是圖示GPIO狀態接收器的操作的流程圖1300。流程圖1300與接收對應於一組GPIO的GPIO狀態資訊的從動設備的實例相關。該組GPIO可包括主機或周邊GPIO 1302。接收緩衝器1308可被提供以接收從SPMI匯流排接收到的資料有效載荷。接收緩衝器1308可被組織為可處理16位元組空間以容適從SPMI匯流排接收的最大據數有效載荷的FIFO。接收緩衝器1308的深度可用是三個位置,儘管深度可根據實現要求和選擇來被選取。
從動方關聯映射1312可被維持在從動方處以處理輸入GPIO。從動方關聯映射1312可定義要被應用於特定從動方和該從動方的特定埠的傳入GPIO的輸入GPIO遮罩。例如,傳送方設備可被配置成支援最大數目為16個輸出GPIO埠,而從動方可被要求具有對應數量(16)的關聯映射。每個關聯映射與埠之一相關,其可在枚舉的埠:#0到埠: #F中。在該實例中為了容適所有埠,而同時維持與SPMI匯流排上所有可能的設備的關聯,每個設備需要16*16 = 256個1位元組位置來儲存I/P遮罩。
接收邏輯單元1310可被提供以根據標準SPMI協定來接收GPIO狀態資訊。接收邏輯單元1310可包括特定模組及/或電路,該特定模組及/或電路包括SID和GPIO埠解碼器1320、輸入遮罩和位元產生器1322、以及輸入埠寫入器1324。
SID和GPIO埠解碼器1320可解碼傳送方設備的SID和GPI埠號,其被包含在有效載荷的第一位元組中。SID可被映射到四個位元(例如,[D7:D4]),並且GPIO埠號可被映射到另四個位元(例如,[D3:D0])。有效載荷的下一個位元組包括GPIO狀態。基於SID和GPI埠號,接收方設備可選擇相關聯的輸入遮罩來被應用於接收到的GPIO狀態位元組。
輸入遮罩和位元產生器1322可被用於將遮罩應用於有效載荷。在一個實例中,設為「1」的輸入遮罩位元暗示對應的GPIO位元要被使用,設為「0」的輸入遮罩位元暗示對應的GPIO位元要被忽視。
輸入埠寫入器1324將GPIO狀態寫入SPMI_VGI GPIO埠1306。SPMI_VGI GPIO埠1306維持接收到的GPIO。解多工器1304被提供以使得能夠實現針對所接收到的GPIO的路由靈活性。
在系統啟動時,從動方關聯映射1212、1312和遮罩表可由主機處理器配置。在某些實例中,優先順序方案可以是動態可配置的。一旦GPIO狀態改變發生,傳送就可被發起。接收周邊設備如在先前設置的遮罩中所啟用的那樣回應於GPIO。在某些實現中,從動方關聯映射1212、1312和遮罩表可被動態地重新配置。 最小等待時間橋接
再次參見圖11,某些系統可包括設備1102、11041 ,設備1102、11041包括多個資料通訊介面。在所圖示的實例中,資料通訊介面可包括被耦合到不同串列鏈路的序列介面11141 /1116, 1112/1126。在本文中揭示的概念可被應用於其中資料通訊介面可包括被耦合到不同並行資料連結的資料通訊介面的實例。許多的多點分支串列匯流排體系架構允許多個周邊設備到單個匯流排的連接,儘管在某些應用中此類連接不被允許及/或不可行。例如,單個匯流排的使用可被預期有不可預測的等待時間所阻礙,即使在等待時間問題的可能性可能很低時亦是如此。在某些實現中,結果可能導致給定設備上的串列模組、塊或電路的多個實例,並可引入通訊不連續性。存在要有從主機到所有其他設備的通訊的主要需求,包括在通訊不連續性的範疇中。橋接間隙和不連續處的傳統方法可導致不可允許的等待時間。
在圖11所圖示的實例中,數據機11041 具有兩個SPMI塊11141 、1116。在將數據機11041 耦合到PMIC 1108的SPMI塊1116不被允許在其他周邊設備之間被共享時實現這兩個SPMI塊11141 、1116,以確保數據機11041 和數據機PMIC 1108之間的最小等待時間通訊。應用處理器1102可能需要控制數據機PMIC 1108,或可能需要接收來自數據機PMIC 1108的感興趣的資訊。沒有直接連接的情況下,可經由牽連數據機11041 上的處理器來建立橋接鏈路,這可引入不期望的等待時間。
本文揭示的某些態樣涉及最小等待時間橋接的置備,其符合對於期望的系統操作而言可能存在的時間約束。圖14圖示了根據本文所揭示的某些態樣的最小等待時間串列匯流排橋接的第一實例1400。在此實例1400中,共享暫存器空間1430被提供,藉此被標記為第一SPMI塊14141 的輸出的暫存器被第二SPM塊1416視為輸入,並且被標記為第二SPMI塊1416的輸出的暫存器被第一PM塊14141 視為輸入。在此實例中,第一SPMI塊14141 和第二SPMI塊1416通常共同位於包括數據機14041 的IC內。
寫入數據機PMIC 1408的應用處理器1402由共享暫存器空間1430促成,共享暫存器空間1430用作數據機14041 內的SPMI塊14141 、1416的兩個實例之間的橋。當應用處理器1402寫入第一SPMI塊14141 的輸出位置時,內容被立刻反映到第二SPMI塊1416的讀暫存器。共享暫存器邏輯觸發第二SPMI塊1416的傳送邏輯以把將預配置暫存器位置為目標的訊息發送到數據機PMIC 1408。
應用處理器1402可將讀取請求發送到以數據機PMIC 1408中感興趣的暫存器為目標的第一SPMI塊14141 。讀取請求由橋接邏輯感測並轉換成從第二SPMI塊1416到數據機PMIC 1408的二次讀取請求。從數據機PMIC 1408接收到的內容被讀取並被載入到所指派的共用暫存器空間1430。第一SPMI塊14141 可接著將共用暫存器空間1430的合適內容傳送到應用處理器1402。
應用處理器1402可回應於數據機PMIC 1408所作的基於中斷的寫入。數據機PMIC 1408使用SPMI中斷機制來寫入共享暫存器空間1430。對共享暫存器空間1430的寫入觸發從第一SPMI塊 14141到應用處理器1402的SPMI塊1412的中斷。接著,應用處理器1402的SPMI塊1412從共享暫存器空間1430取回該內容作為插斷服務常式的一部分。
圖15圖示了根據本文所揭示的某些態樣的最小等待時間串列匯流排橋接的第二實例。在此實例中,全雙工高速串列鏈路1530被部署在第一SPMI塊15141 和第二SPMI塊1516之間。每個SPMI塊15141 和1516具有並行到串列及串列到並行移位暫存器,以促成高速串列鏈路1530上的通訊而無需處理器幹預。在此實例中,第一SPMI塊15141 和第二SPMI塊1516通常不位於同處。在使用(例如,在晶粒上的)全雙工串列鏈路之時移位暫存器系架構的使用要求最小數量的信號跡線並解決了晶粒上路由多條線路的問題。
應用處理器1502對數據機PMIC 1508的寫入由高速串列鏈路1530促成,高速串列鏈路1530用作數據機15141 內的SPMI塊15041 、1516的兩個實例之間的橋。當應用處理器1502寫入到第一SPMI塊15141 的輸出位置時,內容經由高速串列連結1530被自動傳送到第二SPMI塊1516。串列移位暫存器邏輯觸發第二SPMI塊1516的傳送邏輯以把將預配置暫存器位置作為目標的訊息發送到數據機PMIC 1508。
應用處理器1502可將以數據機PMIC 1508中感興趣的暫存器為目標的讀取請求發送到第一SPMI塊15141 。讀取請求由橋接邏輯感測並轉換成從第二SPMI塊1516到數據機PMIC 1508的二次讀取請求。從數據機PMIC 1508接收的內容被讀取並經由高速串列鏈路1530被自動傳送到第一SPMI塊15141 。第一SPMI塊15141可接著將高速串列鏈路1530的合適內容傳送到應用處理器1502。
應用處理器1502可回應於數據機PMIC 1508所作的基於中斷的寫入。數據機PMIC 1508使用SPMI中斷機制來致使插斷要求經由高速串列鏈路1530被傳送到第一SPMI塊15141。插斷要求抵達第一SPMI塊15141處觸發了從第一SPMI塊15141到應用處理器1502的SPMI塊1512的中斷。接著,應用處理器1502的SPMI塊1512經由高速串列鏈路1530接收資料作為插斷服務常式的一部分。 處理電路和方法的實例
圖16是圖示採用有限狀態機610來最佳化虛擬GPIO等待時間的裝置1600的硬體實現的實例的示圖。在一些實例中,裝置1600可配置有限狀態機610的操作。在一些實例中,裝置1600可以執行本文所揭示的一或多個功能。根據本案的各種態樣,可使用處理電路1602來實現本文所揭示的元素、或元素的任何部分、或者元素的任何組合。處理電路1602可包括由硬體和軟體模組的某種組合來控制的一或多個處理器1604。處理器1604的實例包括:微處理器、微控制器、數位訊號處理器(DSP)、SoC、ASIC、現場可程式設計閘陣列(FPGA)、可程式設計邏輯裝置(PLD)、狀態機、定序器、閘控邏輯、個別的硬體電路、以及其他配置成執行本案中通篇描述的各種功能性的合適硬體。該一或多個處理器1604可包括執行特定功能並且可由軟體模組1616中的一者來配置、擴增或控制的專用處理器。該一或多個處理器1604可經由在初始化期間載入的軟體模組1616的組合來配置,並且經由在操作期間載入或卸載一或多個軟體模組1616來進一步配置。
在所圖示的實例中,處理電路1602可以用由匯流排1610一般化地表示的匯流排架構來實現。取決於處理電路1602的具體應用和整體設計約束,匯流排1610可包括任何數目的互連匯流排和橋接器。匯流排1610將各種電路連結在一起,包括一或多個處理器1604、以及儲存1606。儲存1606可包括記憶體設備和大型存放區設備,並且在本文可被稱為電腦可讀取媒體及/或處理器可讀取媒體。匯流排1610亦可連結各種其他電路,諸如定時源、計時器、周邊設備、穩壓器、和功率管理電路。匯流排介面1608可提供匯流排1610與一或多個收發機1612a、1612b之間的介面。可針對處理電路所支援的每種聯網技術提供收發機1612a、1612b。在一些例子中,多種聯網技術可共享收發機1612a、1612b中所見的電路系統或處理模組中的一些或全部。每個收發機1612a、1612b提供用於經由傳輸媒體與各種其他裝置通訊的手段。在一個實例中,收發機1612a可被用於將裝置1600耦合至多線匯流排。在另一實例中,收發機1612b可被用於將裝置1600連接至RF網路。取決於裝置1600的本質,亦可提供使用者介面1618(例如,按鍵板、顯示器、揚聲器、話筒、操縱桿),並且該使用者介面1610可直接或經由匯流排介面1608通訊地耦合至匯流排1610。
處理器1604可負責管理匯流排1610和一般處理,包括執行儲存在電腦可讀取媒體(其可包括儲存1606)中的軟體。在這一態樣,處理電路1602(包括處理器1604)可被用於實現本文所揭示的方法、功能和技術中的任何一種。儲存1606可被用於儲存由處理器1604在執行軟體時操縱的資料,並且該軟體可被配置成實現本文所揭示的方法中的任何一種。
處理電路1602中的一或多個處理器1604可執行軟體。軟體應當被寬泛地解釋成意為指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體模組、應用、軟體應用、套裝軟體、常式、子常式、物件、可執行件、執行的執行緒、規程、函數、演算法等,無論其是用軟體、韌體、中介軟體、微代碼、硬體描述語言、還是其他術語來述及皆是如此。軟體可按電腦可讀形式常駐在儲存1606中或常駐在外部電腦可讀取媒體中。外部電腦可讀取媒體及/或儲存1606可包括非瞬態電腦可讀取媒體。作為實例,非瞬態電腦可讀取媒體包括:磁存放裝置(例如,硬碟、軟碟、磁條)、光碟(例如,壓縮光碟(CD)或數位多功能光碟(DVD))、智慧卡、快閃記憶體設備(例如,「快閃記憶體驅動器」、卡、棒、或鍵式磁碟)、RAM、ROM、可程式設計唯讀記憶體(PROM)、可抹除PROM(EPROM)(包括EEPROM)、暫存器、可移除磁碟、以及任何其他用於儲存可由電腦存取和讀取的軟體及/或指令的合適媒體。作為實例,電腦可讀取媒體及/或儲存1606亦可包括載波、傳輸線、以及用於傳送可由電腦存取和讀取的軟體及/或指令的任何其他合適媒體。電腦可讀取媒體及/或儲存1606可常駐在處理電路1602中、處理器1604中、在處理電路1602外部、或跨包括該處理電路1602在內的多個實體分佈。電腦可讀取媒體及/或儲存1606可實施在電腦程式產品中。作為實例,電腦程式產品可包括封裝材料中的電腦可讀取媒體。本發明所屬領域中具有通常知識者將認識到如何取決於具體應用和加諸於整體系統上的整體設計約束來最佳地實現貫穿本案提供的所描述的功能性。
儲存1606可維持以可載入程式碼片段、模組、應用、程式等來維持及/或組織的軟體,其在本文中可被稱為軟體模組1616。軟體模組1616中的每一者可包括在安裝或載入到處理電路1602上並由一或多個處理器1604執行時有助於運行時映射1614的指令和資料,該運行時映射1614控制一或多個處理器1604的操作。在被執行時,某些指令可使得處理電路1602執行根據本文所描述的某些方法、演算法和程序的功能。
軟體模組1616中的一些可在處理電路1602初始化期間被載入,並且這些軟體模組1616可配置處理電路1602以實現本文所揭示的各種功能的執行。例如,一些軟體模組1616可配置處理器1604的內部設備及/或邏輯電路1622,並且可管理對外部設備(諸如,收發機1612a、1612b、匯流排介面1608、使用者介面1618、計時器、數學輔助處理器等)的存取。軟體模組1616可包括控制程式及/或作業系統,其與中斷處理常式和裝置驅動程式互動並且控制對由處理電路1602提供的各種資源的存取。這些資源可包括記憶體、處理時間、對收發機1612a、1612b的存取、使用者介面1618等。
處理電路1602的一或多個處理器1604可以是多功能的,由此軟體模組1616中的一些被載入和配置成執行不同功能或相同功能的不同實例。該一或多個處理器1604可附加地被適配成管理回應於來自例如使用者介面1618、收發機1612a、1612b和裝置驅動程式的輸入而發起的幕後工作。為了支援多個功能的執行,該一或多個處理器1604可被配置成提供多工環境,由此複數個功能之每一者功能依須求或按期望實現為由該一或多個處理器1604服務的任務集。在一個實例中,多工環境可使用分時程式1620來實現,該分時程式1620在不同任務之間傳遞對處理器1604的控制權,由此每個任務在完成任何未決操作之際及/或回應於輸入(諸如中斷)而將對一或多個處理器1604的控制權返回給分時程式1620。當任務具有對一或多個處理器1604的控制權時,處理電路有效地專用於由與控制方任務相關聯的功能所針對的目的。分時程式1620可包括作業系統、在循環基礎上轉移控制權的主迴路、根據各功能的優先順序化來分配對一或多個處理器1604的控制權的功能、及/或經由將對一或多個處理器1604的控制權提供給處置功能來對外部事件作出回應的中斷驅動式主迴路。
用於最佳化虛擬GPIO等待時間的方法可包括解析各種輸入源(包括GPIO信號狀態、參數、及/或要傳送的訊息的源)的動作。輸入源可包括硬體事件、配置資料、遮罩參數、和暫存器位址。可採用因封包而異的等待時間估計器以基於經解析的參數來估計相應分群組類型的等待時間。可基於針對可用分群組類型所計算或決定的最小等待時間來選擇將用於傳輸的分群組類型。可使用命令碼來標識所選擇的分群組類型,該命令碼可連同要傳送的有效載荷一起被提供給封包化器。命令碼還可反映將用於傳送有效載荷的協定。在一些實現中,用於傳送有效載荷的實體鏈路可根據不同協定或一或多個協定的不同變型來操作。可基於與各種可用協定或協定變型相關聯的等待時間來選擇用於傳送有效載荷的協定。
圖17是可在傳送方設備處執行的方法的流程圖1700。該方法的各部分可由傳送方設備中的有限狀態機來執行。
在方塊1702,有限狀態機可將來自複數個源的GPIO狀態配置到VGI字中。該複數個源可包括與兩個或更多個通訊鏈路相關聯的GPIO。該複數個源可包括與兩個或更多個設備相關聯的GPIO。
在方塊1704,有限狀態機可基於GPIO狀態到耦合到共享通訊鏈路的一或多個設備的映射來標識VGI字的一或多個目的地。該映射可將VGI字的每一個位元與包括與每個位元的源中的GPIO相對應的GPIO引腳的一或多個設備相關聯。
在方塊1706,有限狀態機可將VGI字經由該共享通訊鏈路傳送到每個目的地。
在一個實例中,VGI字的每個接收方設備根據遮罩表來遮罩VGI字,其中該遮罩表標識VGI字中影響每個接收方設備中的GPIO引腳的GPIO狀態資訊。
在一個實例中,VGI字可根據SPMI協定在資料封包中被傳送。VGI字可以在資料封包中經由中繼裝置的第一SPMI介面來被傳送到第一目的地。該中繼裝置可經由中繼裝置的第二SPMI介面來將該資料封包中繼到第一目的地。
在一個實例中,VGI字根據RFFE協定或其他標準定義協定在資料封包中被傳送。
在一個實例中,從該複數個源接收的複數個位元之每一者位元代表設備中一個引腳的GPIO狀態,並且該複數個位元可使用多工器來被配置以形成VGI字。
一或多個額外VGI字可在傳送該VGI字時被緩衝。
圖18是圖示採用處理電路1802的裝置1800的硬體實現的簡化實例的示圖。該裝置可實現根據本文所揭示的某些態樣的橋接電路。處理電路通常具有控制器或處理器1816,其可包括一或多個微處理器、微控制器、數位訊號處理器、定序器及/或狀態機。處理電路1802可以用由匯流排1820一般化地表示的匯流排架構來實現。取決於處理電路1802的具體應用和整體設計約束,匯流排1820可包括任何數目的互連匯流排和橋接器。匯流排1820將包括一或多個處理器及/或硬體模組(由控制器或處理器1816、模組或電路1804、1806和1808以及處理器可讀儲存媒體1818表示)的各種電路連結在一起。可提供一或多個實體層電路及/或模組1814以支援在使用多線匯流排1812實現的通訊鏈路上、經由天線1822(例如至RF網路)等的通訊。匯流排1820亦可連結各種其他電路(諸如定時源、周邊設備、穩壓器和功率管理電路),這些電路在本領域中是眾所周知的,並且因此將不再進一步描述。
處理器1816負責一般性處理,包括執行儲存在處理器可讀儲存媒體1818上的軟體、代碼及/或指令。該處理器可讀儲存媒體可包括非瞬態儲存媒體。該軟體在由處理器1816執行時使處理電路1802執行上文針對任何特定裝置描述的各種功能。處理器可讀儲存媒體亦可被用於儲存由處理器1816在執行軟體時操縱的資料。處理電路1802進一步包括模組1804、1806和1808中的至少一個模組。模組1804、1806和1808可以是在處理器1816中執行的軟體模組、常駐/儲存在處理器可讀儲存媒體1818中的軟體模組、耦合至處理器1816的一或多個硬體模組、或其某種組合。模組1804、1806和1808可包括微控制器指令、狀態機配置參數、或其某種組合。
在一個配置中,裝置1800包括適配成配置包含GPIO狀態資訊的VGI字的模組及/或電路1808、配置成決定VGI字的一或多個目的地的模組及/或電路1806、和配置成傳送包括該VGI字的封包的模組及/或電路1804。
在一個實例中,裝置1800具有配置用於將裝置耦合到串列匯流排和VGI-FSM的匯流排介面。VGI-FSM可被配置成將來自複數個源的GPIO狀態映射到VGI字中,基於GPIO狀態到耦合到共享通訊鏈路的一或多個設備的映射來為VGI字標識一或多個目的地,以及經由匯流排介面將該VGI字傳送到至少一個目的地。該複數個源包括與兩個或更多個通訊鏈路相關聯的GPIO。該複數個源可包括與兩個或更多個設備相關聯的GPIO。匯流排介面可被配置成根據SPMI協定經由串列匯流排在資料封包中傳送該VGI字。匯流排介面可被配置成根據RFFE協定經由串列匯流排在資料封包中傳送該VGI字。
該裝置可具有被配置成將VGI字的每一個位元與包括與每個位元的源中的GPIO相對應的GPIO引腳的一或多個設備相關聯的映射器。該映射器可包括被配置成經由配置表示設備中實體引腳的GPIO狀態的複數個位元來形成該VGI字的多工器。
圖19是可在接收方設備處執行的方法的流程圖1900。該方法的各部分可由傳送方設備中的有限狀態機來執行。
在方塊1902,有限狀態機可接收來自共享通訊鏈路的VGI字。該VGI字可由複數個設備接收,其中該複數個設備之每一者設備中的至少一個實體GPIO引腳的訊號傳遞狀態由該VGI字中的對應位元來定義。在一個實例中,由該VGI字定義的狀態資訊包括與兩個或更多個通訊鏈路相關聯的狀態資訊。
在方塊1904,有限狀態機可對VGI字進行遮罩來獲得排除至少一個位元的一組VGI位元。VGI字可根據標識VGI字中的影響接收方設備中一或多個實體GPIO引腳的狀態資訊的遮罩表來被遮罩。
在方塊1904,有限狀態機可將該組VGI位元映射到對應的一組實體GPIO引腳。
在方塊1904,有限狀態機可致使該組實體GPIO引腳之每一者引腳具有由該組VGI位元中的對應VGI位元定義的訊號傳遞狀態。
共享通訊連結可根據SPMI協定或RFFE協定來被操作。
圖20是圖示採用處理電路2002的裝置2000的硬體實現的簡化實例的示圖。該裝置可實現根據本文所揭示的某些態樣的橋接電路。處理電路通常具有控制器或處理器2016,其可包括一或多個微處理器、微控制器、數位訊號處理器、定序器及/或狀態機。處理電路2002可以用由匯流排2020一般化地表示的匯流排架構來實現。取決於處理電路2002的具體應用和整體設計約束,匯流排2020可包括任何數目的互連匯流排和橋接器。匯流排2020將包括一或多個處理器及/或硬體模組(由控制器或處理器2016、模組或電路2004、2006和2008以及處理器可讀儲存媒體2018表示)的各種電路連結在一起。可提供一或多個實體層電路及/或模組2014以支援在使用多線匯流排2012實現的通訊鏈路上、經由天線2022(例如至RF網路)等的通訊。匯流排2020亦可連結各種其他電路(諸如定時源、周邊設備、穩壓器和功率管理電路),這些電路在本發明所屬領域中是眾所周知的,並且因此將不再進一步描述。
處理器2016負責一般性處理,包括執行儲存在處理器可讀儲存媒體2018上的軟體、代碼及/或指令。該處理器可讀儲存媒體可包括非瞬態儲存媒體。該軟體在由處理器2016執行時使處理電路2002執行上文針對任何特定裝置描述的各種功能。處理器可讀儲存媒體亦可被用於儲存由處理器2016在執行軟體時操縱的資料。處理電路2002進一步包括模組2004、2006和2008中的至少一個模組。模組2004、2006和2008可以是在處理器2016中執行的軟體模組、常駐/儲存在處理器可讀儲存媒體2018中的軟體模組、耦合至處理器2016的一或多個硬體模組、或其某種組合。模組2004、2006和2008可包括微控制器指令、狀態機配置參數、或其某種組合。
在一個配置中,裝置2000包括適配成對包含GPIO狀態資訊的VGI字進行遮罩的模組及/或電路2008、配置成決定VGI字的位元的一或多個目的地的模組及/或電路2006、以及配置成接收包括該VGI字的封包的模組及/或電路2004。
在一個實例中,裝置2000具有配置成接收來自串列匯流排、遮罩電路、和VGI-FSM的VGI字的匯流排介面。該遮罩電路可被配置成從該VGI字中提取一或多個VGI位元。該遮罩電路可被配置成根據標識VGI字中的影響接收方設備中一或多個實體GPIO引腳的狀態資訊的遮罩表來對該VGI字進行遮罩。由該VGI字定義的狀態資訊包括與兩個或多個通訊鏈路相關聯的狀態資訊。
VGI-FSM可被配置成將該一或多個VGI位元映射到對應的一組實體GPIO引腳,並致使該組實體GPIO引腳中的每一個實體GPIO引腳具有由該一或多個VGI位元中對應的VGI位元定義的訊號傳遞狀態。該VGI字可由複數個設備接收,其中該複數個設備之每一者設備中的至少一個實體GPIO引腳的訊號傳遞狀態由該VGI字中的對應位元來定義。
串列匯流排可根據標準遵循的或標準相容的協定來被操作,其中協定可包括SPMI協定或RFFE協定。
應理解,所揭示的程序中各步驟的具體次序或層次是示例性辦法的圖示。應理解,基於設計偏好,可以重新編排這些程序中各步驟的具體次序或層次。此外,一些步驟可被組合或被略去。所附方法請求項以實例次序呈現各種步驟的要素,且並不意味著被限定於所提供的具體次序或層次。
提供先前描述是為了使本發明所屬領域中具有通常知識者均能夠實踐本文中所述的各個態樣。對這些態樣的各種修改將容易為本發明所屬領域中具有通常知識者所明白,並且在本文中所定義的普適原理可被應用於其他態樣。因此,請求項並非意欲被限定於本文中所示的態樣,而是應被授予與語言上的請求項相一致的全部範疇,其中對要素的單數形式的引述除非特別聲明,否則並非意欲表示「有且僅有一個」,而是「一或多個」。除非特別另外聲明,否則術語「一些」指的是一或多個。本案通篇描述的各個態樣的要素為本發明所屬領域中具有通常知識者當前或今後所知的所有結構上和功能上的等效方案經由引述被明確納入於此,且意欲被請求項所涵蓋。此外,本文中所揭示的任何內容皆並非意欲貢獻給公眾,無論此類揭示是否在申請專利範圍中被顯式地敘述。沒有任何請求項元素應被解釋為手段功能,除非該元素是使用短語用於「……的裝置來明確敘述的。」
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‧‧‧基頻處理器
308‧‧‧通訊鏈路
310‧‧‧RFFE介面
312‧‧‧RF積體電路(RFIC)
313‧‧‧開關
314‧‧‧RF調諧器
315‧‧‧功率放大器(PA)
316‧‧‧低雜訊放大器(LNA)
317‧‧‧功率管理模組
320‧‧‧通訊鏈路
400‧‧‧裝置
402‧‧‧主機SoC
404‧‧‧I3C介面
406‧‧‧VGI FSM
408‧‧‧周邊設備
410‧‧‧多線串列匯流排
412‧‧‧周邊設備
414‧‧‧I3C介面
420‧‧‧時鐘導線
500‧‧‧裝置
502‧‧‧應用處理器
504‧‧‧周邊設備
506‧‧‧周邊設備
508‧‧‧周邊設備
510‧‧‧通訊鏈路
512‧‧‧通訊鏈路
514‧‧‧通訊鏈路
520‧‧‧邊頻帶GPIO
522‧‧‧邊頻帶GPIO
524‧‧‧邊頻帶GPIO
600‧‧‧裝置
602‧‧‧應用處理器
604‧‧‧CPU
606‧‧‧通訊通道
608‧‧‧PHY
610‧‧‧VGI FSM
612‧‧‧監視電路
614‧‧‧監視電路
620‧‧‧封包化器
622‧‧‧通訊鏈路
624‧‧‧周邊設備
626‧‧‧VGI FSM
628‧‧‧PHY
700‧‧‧VGI廣播訊框
702‧‧‧開始位元
704‧‧‧標頭
706‧‧‧VGI廣播共用命令碼
708‧‧‧VGPIO資料有效載荷
710‧‧‧Sr/P
712‧‧‧虛擬GPIO信號
720‧‧‧VGI廣播訊框
722‧‧‧開始位元
724‧‧‧標頭
726‧‧‧VGI廣播共用命令碼
728‧‧‧VGPIO資料有效載荷
730‧‧‧Sr/P
732‧‧‧遮罩位元
734‧‧‧I/O信號值
800‧‧‧VGI定向訊框
802‧‧‧開始位元
804‧‧‧標頭
806‧‧‧VGI定向共用命令碼
808‧‧‧同步欄位
820‧‧‧VGI定向訊框
822‧‧‧開始位元
824‧‧‧標頭
826‧‧‧VGI定向共用命令碼
828‧‧‧同步欄位
830‧‧‧位址欄位
900‧‧‧配置暫存器
902‧‧‧位元
9041‧‧‧位元
9042‧‧‧位元
9043‧‧‧位元
904N‧‧‧位元
906‧‧‧位元
908‧‧‧位元
920‧‧‧配置暫存器
922‧‧‧位元
1000‧‧‧系統
1002‧‧‧應用處理器
1004‧‧‧周邊設備
1006‧‧‧功率管理積體電路
1008‧‧‧功率管理積體電路
1012‧‧‧通訊鏈路
1014‧‧‧通訊鏈路
1016‧‧‧GPIO
1018‧‧‧SPMI
1020‧‧‧SPMI
1100‧‧‧系統
1102‧‧‧應用處理器
11041‧‧‧周邊設備
11042‧‧‧周邊設備
11043‧‧‧周邊設備
1104N‧‧‧周邊設備
1106‧‧‧PMIC
1108‧‧‧PMIC
1110‧‧‧串列匯流排
1112‧‧‧序列介面
11141‧‧‧序列介面
11142‧‧‧序列介面
11143‧‧‧序列介面
1114N‧‧‧序列介面
1116‧‧‧序列介面
1118‧‧‧高速串列鏈路
1120‧‧‧高速串列鏈路
1122‧‧‧高速串列鏈路
1124‧‧‧高速串列鏈路
1126‧‧‧序列介面
1200‧‧‧流程圖
1202‧‧‧主機或周邊GPIO
1204‧‧‧解多工器
1206‧‧‧SPMI_VGI GPIO
1208‧‧‧傳送暫存器
1210‧‧‧傳送邏輯單元
1212‧‧‧從動方關聯映射
1214‧‧‧虛線
1216‧‧‧SID
1218‧‧‧輸出GPIO位元
1220‧‧‧GPIO狀態改變比較器
1222‧‧‧目的地從動方識別符模組
1224‧‧‧從動方服務標章模組
1300‧‧‧流程圖
1302‧‧‧主機或周邊GPIO
1304‧‧‧解多工器
1306‧‧‧SPMI_VGI GPIO埠
1308‧‧‧接收緩衝器
1310‧‧‧接收邏輯單元
1312‧‧‧從動方關聯映射
1320‧‧‧SID和GPIO埠解碼器
1322‧‧‧輸入遮罩和位元產生器
1324‧‧‧輸入埠寫入器
1400‧‧‧實例
1402‧‧‧應用處理器
14041‧‧‧數據機
14042‧‧‧數據機
14043‧‧‧數據機
1404N‧‧‧數據機
1408‧‧‧寫入數據機PMIC
1412‧‧‧SPMI塊
1414‧‧‧SPMI塊
14141‧‧‧第一SPMI塊
1416‧‧‧第二SPMI塊
1430‧‧‧共享暫存器空間
1502‧‧‧應用處理器
15041‧‧‧ SPMI塊
1508‧‧‧數據機PMIC
1512‧‧‧SPMI塊
1514‧‧‧數據機
15141‧‧‧SPMI塊
1516‧‧‧第二SPMI塊
1600‧‧‧裝置
1602‧‧‧處理電路
1604‧‧‧處理器
1606‧‧‧儲存
1608‧‧‧匯流排介面
1610‧‧‧匯流排
1612a‧‧‧收發機
1612b‧‧‧收發機
1614‧‧‧運行時映射
1616‧‧‧軟體模組
1618‧‧‧使用者介面
1620‧‧‧分時程式
1622‧‧‧內部設備及/或邏輯電路
1700‧‧‧流程圖
1702‧‧‧方塊
1704‧‧‧方塊
1706‧‧‧方塊
1800‧‧‧裝置
1802‧‧‧處理電路
1804‧‧‧模組或電路
1806‧‧‧模組或電路
1808‧‧‧模組或電路
1812‧‧‧多線匯流排
1814‧‧‧實體層電路及/或模組
1816‧‧‧處理器
1818‧‧‧處理器可讀儲存媒體
1820‧‧‧匯流排
1822‧‧‧天線
1900‧‧‧流程圖
1902‧‧‧方塊
1904‧‧‧方塊
1906‧‧‧方塊
1908‧‧‧方塊
2000‧‧‧裝置
2002‧‧‧處理電路
2004‧‧‧模組或電路
2006‧‧‧模組或電路
2008‧‧‧模組或電路
2012‧‧‧多線匯流排
2014‧‧‧實體層模組/電路
2016‧‧‧處理器
2018‧‧‧處理器
2022‧‧‧天線
圖1圖示了在各IC設備之間採用資料連結的裝置,該資料連結根據複數個可用標準之一來被選擇性地操作。
圖2圖示了採用IC設備之間的資料連結的裝置的系統架構。
圖3圖示了採用RFFE匯流排來耦合各種射頻前端設備的一種設備。
圖4圖示了根據本文所揭示的某些態樣採用I3C匯流排來耦合各種前端設備的一種設備。
圖5圖示了包括可根據本文所揭示的某些態樣來適配的應用處理器和多個周邊設備的裝置。
圖6圖示了根據本文所揭示的某些態樣的已被適配成支援虛擬GPIO的裝置。
圖7圖示了根據本文所揭示的某些態樣的VGI廣播訊框的實例。
圖8圖示了根據本文所揭示的某些態樣的VGI定向訊框的實例。
圖9圖示了根據本文所揭示的某些態樣的可與實體引腳相關聯的配置暫存器。
圖10圖示了包括採用邊頻帶GPIO的一或多個通訊鏈路的系統的實例。
圖11圖示了系統的實例,該系統根據本文所揭示的某些態樣虛擬化併合並與多個設備相關聯的GPIO狀態的通訊及/或使用單個串列通訊鏈路的諸通訊鏈路。
圖12是圖示根據本文所揭示的某些態樣適配的GPIO狀態發射器的操作的流程圖。
圖13是圖示根據本文所揭示的某些態樣適配的GPIO狀態接收器的操作的流程圖。
圖14圖示了根據本文所揭示的某些態樣的最小等待時間串列匯流排橋接的第一實例。
圖15圖示了根據本文所揭示的某些態樣的最小等待時間串列匯流排橋接的第二實例。
圖16圖示了採用可根據本文所揭示的某些態樣適配的處理電路的裝置的一個實例。
圖17是圖示根據本文所揭示的某些態樣適配的應用處理器的某些操作的第一流程圖。
圖18圖示了根據本文所揭示的某些態樣適配的裝置的硬體實現的第一實例。
圖19是圖示根據本文所揭示的某些態樣適配的應用處理器的某些操作的第二流程圖。
圖20圖示了根據本文所揭示的某些態樣適配的裝置的硬體實現的第二實例。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無

Claims (30)

  1. 一種在一傳送方設備處執行的方法,包括以下步驟: 將來自複數個源的通用輸入/輸出(GPIO)狀態配置成一虛擬GPIO(VGI)字; 基於該GPIO狀態到耦合到一共享通訊鏈路的一或多個設備的映射來標識該VGI字的一或多個目的地;及 經由該共享通訊鏈路將該VGI字傳送到每個目的地。
  2. 如請求項1之方法,其中該映射將該VGI字的每個位元與包括與該每個位元的一源中的一GPIO相對應的一GPIO引腳的一或多個設備相關聯。
  3. 如請求項1之方法,其中該VGI字的每個接收方設備根據一遮罩表來對該VGI字進行遮罩,該遮罩表標識該VGI字中影響該每個接收方設備中的一GPIO引腳的GPIO狀態資訊。
  4. 如請求項1之方法,其中該複數個源包括與兩個或更多個通訊鏈路相關聯的GPIO。
  5. 如請求項1之方法,其中該複數個源包括與兩個或更多個設備相關聯的GPIO。
  6. 如請求項1之方法,其中傳送該VGI字包括以下步驟: 根據一系統功率管理介面(SPMI)協定在一資料封包中傳送該VGI字。
  7. 如請求項6之方法,其中傳送該VGI字包括以下步驟: 經由一中繼裝置的一第一SPMI介面將該資料封包傳送到一第一目的地,其中該中繼裝置經由該中繼裝置的一第二SPMI介面將該資料封包中繼到該第一目的地。
  8. 如請求項1之方法,其中傳送該VGI字包括以下步驟: 根據一射頻前端(RFFE)協定在一資料封包中傳送該VGI字。
  9. 如請求項1之方法,進一步包括以下步驟: 接收複數個位元,每個位元代表一設備中一個引腳的GPIO狀態;及 使用一多工器來配置該複數個位元以形成該VGI字。
  10. 如請求項1之方法,進一步包括以下步驟: 在傳送該VGI字之時緩衝一或多個額外VGI字。
  11. 如請求項1之方法,其中將該VGI字傳送到每個目的地包括以下步驟: 根據控制傳輸的一標準定義協定經由該共享通訊鏈路來將該VGI字傳送到每個目的地。
  12. 如請求項1之方法,其中該共享通訊鏈路包括一串列匯流排。
  13. 一種裝置,包括: 配置成將該裝置耦合到一串列匯流排的一匯流排介面;及 配置成進行以下操作的一虛擬通用輸入/輸出有限狀態機: 將來自複數個源的通用輸入/輸出(GPIO)狀態映射到一虛擬GPIO(VGI)字中; 基於該GPIO狀態到耦合到一共享通訊鏈路的一或多個設備的一映射來標識VGI字的一或多個目的地;及 經由該匯流排介面將該VGI字傳送到至少一個目的地。
  14. 如請求項13之裝置,其中該複數個源包括與兩個或更多個通訊鏈路相關聯的GPIO。
  15. 如請求項13之裝置,其中該複數個源包括與兩個或更多個設備相關聯的GPIO。
  16. 如請求項13之裝置,其中該匯流排介面被配置成: 根據一系統功率管理介面(SPMI)協定在一資料封包中經由該串列匯流排傳送該VGI字。
  17. 如請求項13之裝置,其中該匯流排介面被配置成: 根據一射頻前端(RFFE)協定在一資料封包中經由該串列匯流排傳送該VGI字。
  18. 如請求項13之裝置,進一步包括配置進行以下操作的一映射器: 將該VGI字的每個位元與包括與該每個位元的一源中的一GPIO相對應的一GPIO引腳的一或多個設備相關聯。
  19. 如請求項18之裝置,其中該映射器包括配置成進行以下操作的一多工器: 經由配置表示一設備中的一實體引腳的GPIO狀態的複數個位元來形成該VGI字。
  20. 一種在一接收方設備處執行的方法,包括以下步驟: 從一共享通訊鏈路接收一虛擬通用輸入/輸出(VGI)字; 對該VGI字進行遮罩來獲得排除至少一個位元的一組VGI位元; 將該組VGI位元映射到對應的一組實體通用輸入/輸出(GPIO)引腳;及 使該組實體GPIO引腳中的每一個實體GPIO引腳具有由該組VGI位元中的一對應VGI位元定義的一訊號傳遞狀態。
  21. 如請求項20之方法,其中該VGI字由複數個設備接收,其中該複數個設備之每一者設備中的至少一個實體GPIO引腳的訊號傳遞狀態由該VGI字中的一對應位元來定義。
  22. 如請求項20之方法,其中對該VGI字的至少一個位元進行遮罩包括以下步驟: 根據標識該VGI字中的影響該接收方設備中一或多個實體GPIO引腳的狀態資訊的一遮罩表來對該VGI字進行遮罩。
  23. 如請求項20之方法,其中由該VGI字定義的狀態資訊包括與兩個或多個通訊鏈路相關聯的狀態資訊。
  24. 如請求項20之方法,其中該共享通訊鏈路根據一系統功率管理介面(SPMI)協定來被操作。
  25. 如請求項20之方法,其中該共享通訊鏈路根據一射頻前端(RFFE)協定來被操作。
  26. 一種裝置,包括: 一匯流排介面,其配置成從一串列匯流排接收一虛擬通用輸入/輸出(VGI)字; 一遮罩電路,配置成從該VGI字中提取一或多個VGI位元;及 一虛擬通用輸入/輸出有限狀態機,其配置成進行以下操作: 將該一或多個VGI位元映射到對應的一組實體通用輸入/輸出(GPIO)引腳;及 使該組實體GPIO引腳中的每一個實體GPIO引腳具有由該一或多個VGI位元中的一對應VGI位元定義的一訊號傳遞狀態。
  27. 如請求項26之裝置,其中該VGI字由複數個設備接收,其中該複數個設備之每一者設備中的至少一個實體GPIO引腳的訊號傳遞狀態由該VGI字中的一對應位元來定義。
  28. 如請求項26之裝置,其中該遮罩電路被配置成: 根據標識該VGI字中的影響一接收方設備中一或多個實體GPIO引腳的狀態資訊的一遮罩表來對該VGI字進行遮罩。
  29. 如請求項26之裝置,其中由該VGI字定義的狀態資訊包括與兩個或多個通訊鏈路相關聯的狀態資訊。
  30. 如請求項26之裝置,其中該串列匯流排根據一系統功率管理介面(SPMI)協定或一射頻前端(RFFE)協定來被操作。
TW107100754A 2017-02-10 2018-01-09 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術 TW201832089A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762457729P 2017-02-10 2017-02-10
US62/457,729 2017-02-10
US15/864,871 US10467154B2 (en) 2017-02-10 2018-01-08 Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US15/864,871 2018-01-08

Publications (1)

Publication Number Publication Date
TW201832089A true TW201832089A (zh) 2018-09-01

Family

ID=63104651

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107100754A TW201832089A (zh) 2017-02-10 2018-01-09 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術

Country Status (3)

Country Link
US (1) US10467154B2 (zh)
TW (1) TW201832089A (zh)
WO (1) WO2018147955A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI703441B (zh) * 2019-03-26 2020-09-01 瑞昱半導體股份有限公司 引腳複用裝置以及控制引腳複用裝置的方法
US11249931B2 (en) 2019-03-20 2022-02-15 Realtek Semiconductor Corp. Pin multiplexer and method for controlling pin multiplexer

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880116B2 (en) * 2016-07-28 2020-12-29 Skyworks Solutions, Inc. Multi mode interface and detection circuit
CN108073738B (zh) * 2016-11-16 2022-02-18 鸿富锦精密电子(天津)有限公司 Gpio验证系统及方法
US10606785B2 (en) * 2018-05-04 2020-03-31 Intel Corporation Flex bus protocol negotiation and enabling sequence
CN109522256B (zh) * 2018-12-21 2022-10-21 联想(北京)有限公司 一种串口通信方法、网络设备、控制设备及存储介质
KR20200093106A (ko) 2019-01-25 2020-08-05 삼성전자주식회사 반도체 집적 회로 및 그것의 동작 방법
CN110502928B (zh) * 2019-08-28 2022-03-29 上海金卓科技有限公司 双操作系统、工作状态控制方法、装置及存储介质
CN110912840B (zh) * 2019-11-24 2021-06-29 苏州浪潮智能科技有限公司 基于交换机端口的统一接口装置及底层设备信息获取方法
US11176069B2 (en) 2020-01-03 2021-11-16 Apple Inc. System for link management between multiple communication chips
US11669484B2 (en) * 2020-03-13 2023-06-06 Sony Semiconductor Solutions Corporation Image sensor
KR20240032376A (ko) * 2022-09-02 2024-03-12 주식회사 엘엑스세미콘 반도체 장치 및 이의 통신 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100566278C (zh) 2005-04-29 2009-12-02 Nxp股份有限公司 在使用串行数据传送总线的通信系统中的从设备
KR20090059802A (ko) 2007-12-07 2009-06-11 삼성전자주식회사 레지스터 업데이트 방법 및 이를 적용한 레지스터 및컴퓨터 시스템
US8441298B1 (en) 2008-07-01 2013-05-14 Cypress Semiconductor Corporation Analog bus sharing using transmission gates
US8935453B2 (en) 2013-03-15 2015-01-13 Intel Corporation Completion combining to improve effective link bandwidth by disposing at end of two-end link a matching engine for outstanding non-posted transactions
US9619427B2 (en) * 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO
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
US20170168966A1 (en) 2015-12-10 2017-06-15 Qualcomm Incorporated Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces
US10521392B2 (en) * 2017-05-10 2019-12-31 Qualcomm Incorporated Slave master-write/read datagram payload extension
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249931B2 (en) 2019-03-20 2022-02-15 Realtek Semiconductor Corp. Pin multiplexer and method for controlling pin multiplexer
TWI703441B (zh) * 2019-03-26 2020-09-01 瑞昱半導體股份有限公司 引腳複用裝置以及控制引腳複用裝置的方法

Also Published As

Publication number Publication date
WO2018147955A1 (en) 2018-08-16
US10467154B2 (en) 2019-11-05
US20180232324A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
TW201832089A (zh) 多點分支串列匯流排上的多埠多邊頻帶gpio合併技術
TW201722120A (zh) 用於訊息傳遞和輸入/輸出傳遞介面的最優潛時封包化器有限狀態機
US10642778B2 (en) Slave master-write/read datagram payload extension
US11681643B2 (en) Flexible mobile device connectivity to automotive systems with USB hubs
TW201902142A (zh) 混合vgpio狀態交換中的輸入/輸出方向解碼
TW201903620A (zh) 在改良式內部積體電路匯流排拓撲中從屬對從屬之通信
US10515044B2 (en) Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus
TW201907314A (zh) 用於虛擬通用輸入/輸出有限狀態機器之硬體事件優先感測可程式化傳輸等待窗
US10572410B2 (en) Function-specific communication on a multi-drop bus for coexistence management
CN111033486A (zh) 多点总线中的设备、事件和消息参数关联
US7721038B2 (en) System on chip (SOC) system for a multimedia system enabling high-speed transfer of multimedia data and fast control of peripheral devices
TW201841530A (zh) 經由匯流排上的額外副資料線來發送資料的系統和方法
US20200364176A1 (en) Storage system, method, and apparatus for fast io on pcie devices
US9515963B2 (en) Universal network interface controller
US11797311B2 (en) Asynchronous pipeline merging using long vector arbitration
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