TW201904237A - 組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期 - Google Patents

組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期 Download PDF

Info

Publication number
TW201904237A
TW201904237A TW107119027A TW107119027A TW201904237A TW 201904237 A TW201904237 A TW 201904237A TW 107119027 A TW107119027 A TW 107119027A TW 107119027 A TW107119027 A TW 107119027A TW 201904237 A TW201904237 A TW 201904237A
Authority
TW
Taiwan
Prior art keywords
delay value
slave device
data
bus
slave
Prior art date
Application number
TW107119027A
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 TW201904237A publication Critical patent/TW201904237A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/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/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

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

本發明描述用於最佳化一主裝置驅動之串列匯流排中之匯流排周轉的系統、方法及設備。一種在耦接至一串列匯流排之一主裝置處執行的方法包括:運用界定匯流排周轉等待時段之各別延遲值組態耦接至該串列匯流排之從屬裝置;傳輸針對於一第一從屬裝置之一第一讀取命令;在於發送該第一讀取命令之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態的一延遲值界定;傳輸針對於一第二從屬裝置之一第二讀取命令;及在於發送該第二讀取命令之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。

Description

組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期
本發明大體上係關於串列通信及輸入/輸出接腳組態,且更明確而言係關於最佳化經組態用於串列訊息傳遞及輸入/輸出接腳組態之最佳化潛時的有限狀態機。
行動通信裝置可包括多種組件,包括電路板、積體電路(IC)裝置及/或系統單晶片(SoC)裝置。該等組件可包括處理裝置、使用者介面組件、儲存器及經由共用資料通信匯流排通信的其他周邊組件,該等匯流排可包括串列匯流排或並列匯流排。行業中已知之通用串列介面包括積體電路間(I2C或I²C)串列匯流排及其衍生物及替代例,包括由行動行業處理器介面(MIPI)聯盟界定的介面,諸如I3C介面、系統功率管理介面(SPMI)介面及射頻前端(RFFE)介面。
在一個實例中,I2C串列匯流排為意欲用於連接低速周邊裝置至處理器的串列單端電腦匯流排。一些介面提供多主裝置匯流排,其中兩個或大於兩個裝置可充當用於在串列匯流排上傳輸的不同訊息之匯流排主裝置。在另一實例中,RFFE介面界定用於控制各種射頻(RF)前端裝置的通信介面,前端裝置包括功率放大器(PA)、低雜訊放大器(LNA)、天線調諧器、濾波器、感測器、功率管理裝置、交換器等。此等裝置可同置於單一IC裝置中或經提供於多個IC裝置中。在行動通信裝置中,多個天線及無線電收發器可支援多個並行RF鏈路。
在許多情況下應用處理器與多個周邊裝置之間經由共同匯流排之通信係由最慢的周邊裝置所限制。在一個實例中,與耦接至同一串列匯流排之舊版I2C裝置相比,I3C裝置可具有較快介面及/或處理能力。隨著行動通信裝置繼續包括較大層級功能性,需要改良之串列通信技術以最佳化周邊裝置與應用處理器之間的通信。
本發明之特定態樣係關於可提供主裝置驅動之串列匯流排中之最佳化匯流排周轉的系統、設備、方法及技術。
在本發明之各種態樣中,一種在耦接至一串列匯流排之一主裝置處執行的方法包括:運用各別延遲值組態耦接至該串列匯流排之複數個從屬裝置,該等延遲值界定經由該串列匯流排傳輸之方向的變化之間的等待時段;傳輸針對於一第一從屬裝置之一第一讀取命令;回應於該第一讀取命令在於發送該第一讀取命令之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態的一延遲值界定;傳輸針對於一第二從屬裝置之一第二讀取命令;及回應於該第一讀取命令在於發送該第二讀取命令之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。
在一些態樣中,該方法包括傳輸第一資料至一第三從屬裝置中之一暫存器,初始化一第一延遲值,重複一測試程序直至自該第三從屬裝置正確地讀取該第一資料為止。該測試程序可包括傳輸該第一延遲值至該第三從屬裝置,傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令,及當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值。該第三從屬裝置可經組態以使用該第一延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段。該第一延遲值可用於當該串列匯流排操作在與該第三從屬裝置通信之一第一模式中時界定經由該串列匯流排之傳輸的方向之變化。
在一些態樣中,該方法包括傳輸第二資料至一第三從屬裝置中之一暫存器,初始化一第二延遲值,重複一測試程序直至自該第三從屬裝置正確地讀取該第二資料為止。該測試程序可包括傳輸該第二延遲值至該第三從屬裝置,傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令,及當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值。該第三從屬裝置可經組態以使用該第二延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段。該第二延遲值可用於當該串列匯流排操作在與該第三從屬裝置通信之一第一模式中時界定經由該串列匯流排之傳輸的方向之變化。當一時脈信號之頻率改變時,該串列匯流排可操作在該第二模式中。該串列匯流排之操作模式的變化之發生可藉由識別影響該第三從屬裝置之製程、電壓及溫度(PVT)特性之一變動來判定。
在一或多個態樣中,該第一延遲值儲存於延遲值之表中,該表包括由製程、電壓及/或溫度索引的延遲值。該第一延遲值可儲存於延遲值之表中,該表包括由頻率索引的延遲值。該第一延遲值可儲存於延遲值之表中,該表包括由從屬裝置索引的延遲值。
根據本發明之各種態樣,一種處理器可讀儲存媒體具有一或多個指令,該等指令在由一處理電路之至少一個處理器或狀態機執行時,促使該處理電路執行以下操作:運用各別延遲值組態耦接至一串列匯流排之複數個從屬裝置,該等延遲值界定經由該串列匯流排傳輸之方向的變化之間的等待時段;傳輸針對於一第一從屬裝置之一第一讀取命令;回應於該第一讀取命令在於發送該第一讀取命令之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態的一延遲值界定;傳輸針對於一第二從屬裝置之一第二讀取命令;及回應於該第二讀取命令在於發送該第二讀取命令之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。
在某些態樣中,該等指令促使該處理電路執行以下操作:傳輸第一資料至一第三從屬裝置中之一暫存器;初始化一第一延遲值;重複以下操作直至自該第三從屬裝置正確地讀取該第一資料為止:傳輸該第一延遲值至該第三從屬裝置;傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令;當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值;當該串列匯流排操作在與該第三從屬裝置通信之一第一模式中時使用該第一延遲值以界定與經由該串列匯流排之傳輸的方向之變化相關聯的一第三等待時段。該第三從屬裝置可經組態以使用該第一延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段。
在某些態樣中,該等指令促使該處理電路執行以下操作:判定該串列匯流排之操作模式之變化的發生;傳輸第二資料至該第三從屬裝置中之一暫存器;初始化一第二延遲值;及重複地傳輸該第二延遲值至該第三從屬裝置以待由該第三從屬裝置使用來界定經由該串列匯流排之傳輸的方向之變化之間的等待時段,直至自該第三從屬裝置正確地讀取該第二資料為止。該第三讀取命令可在該串列匯流排上傳輸且當該第二資料並未自該第三從屬裝置正確地讀取時可增加該第二延遲值。當該串列匯流排操作在與該第三從屬裝置通信之一第二模式中時,該第二延遲值可用於界定與經由該串列匯流排之傳輸之方向的變化相關聯的一第四等待時段。當一時脈信號之頻率改變時或當影響該第三從屬裝置之製程、電壓及溫度(PVT)特性之變動經識別時,該串列匯流排可操作在該第二模式中。
在本發明之各種態樣中,一種設備包括:用於運用各別延遲值組態耦接至一串列匯流排之複數個從屬裝置的構件,該等延遲值界定經由該串列匯流排傳輸之方向的變化之間的等待時段;用於在該串列匯流排上傳輸命令的構件,該用於傳輸命令的構件經組態以傳輸針對於一第一從屬裝置之一第一讀取命令;及用於自該串列匯流排接收資料的構件,該用於接收資料的構件經組態以回應於該第一讀取命令在於發送該第一讀取命令之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態的一延遲值界定。該用於傳輸命令的構件可經組態以傳輸針對於一第二從屬裝置之一第二讀取命令。該用於接收資料的構件可經組態以回應於該第二讀取命令在於該第二讀取命令已發送之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。
在一個態樣中,該用於判定延遲值的構件經組態以當該串列匯流排操作在與一第三從屬裝置通信之一第一模式中時判定可操作以界定與經由該串列匯流排之傳輸之方向的變化相關聯之一第三等待時段的一第一延遲值。該用於判定延遲值的構件可經組態以:傳輸第一資料至該第三從屬裝置中之一暫存器;初始化一第一延遲值;及重複地傳輸該第一延遲值至該第三從屬裝置以待由該第三從屬裝置使用以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段,傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令,並當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值,直至自該第三從屬裝置正確地讀取該第一資料為止。
在一個態樣中,該用於判定延遲值的構件經組態以當該串列匯流排操作在與一第三從屬裝置通信之一第二模式中時藉由以下操作判定一第二延遲值,該第二延遲值可操作以界定與經由該串列匯流排之傳輸之方向的變化相關聯之一第三等待時段:判定該串列匯流排之操作模式之變化的發生;傳輸第二資料至該第三從屬裝置中之一暫存器;初始化一第二延遲值;及重複地傳輸該第二延遲值至該第三從屬裝置以用以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段,在該串列匯流排上傳輸該第三讀取命令,及當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值,直至自該第三從屬裝置正確地讀取該第二資料為止。
在本發明之各種態樣中,一種匯流排主裝置具有將該匯流排主裝置耦接至一多點匯流排之一匯流排介面、經組態有維持針對耦接至該多點匯流排之複數個從屬裝置中之每一者的一或多個匯流排周轉延遲值之一查找表的一儲存裝置,及一控制器。該控制器可經調適以運用在該儲存裝置中維持的各別一或多個匯流排周轉延遲值組態該複數個從屬裝置中之每一者,其中該等匯流排周轉延遲值界定經由該多點匯流排之傳輸的方向之變化之間的一等待時段。該控制器可經調適以:傳輸針對於一第一從屬裝置之一第一讀取命令;在於發送該第一讀取命令之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態的一第一周轉延遲值界定;傳輸針對於一第二從屬裝置之一第二讀取命令;及回應於該第二讀取命令在於發送該第二讀取命令之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一第二周轉延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。
在某些態樣中,該控制器經組態以傳輸第一資料至一第三從屬裝置中之一暫存器,初始化一第一延遲值。該控制器可經組態以重複地傳輸該第一延遲值至該第三從屬裝置以待由該第三從屬裝置使用以界定經由該多點匯流排之傳輸的方向之變化之間的等待時段,傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令,及當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值,直至自該第三從屬裝置正確地讀取該第一資料為止。
在某些態樣中,該控制器經組態以判定該多點匯流排之操作模式的變化之發生,傳輸第二資料至該第三從屬裝置中之一暫存器,並初始化一第二延遲值。該控制器可傳輸該第二延遲值至該第三從屬裝置以用以界定經由該多點匯流排之傳輸的方向之變化之間的等待時段,在該多點匯流排上傳輸該第三讀取命令,及當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值,直至自該第三從屬裝置正確地讀取該第二資料為止。
相關申請案之交互參考
本申請案主張2017年6月9日在美國專利及商標局申請的臨時申請案第62/517,713號及2018年5月31日在美國專利及商標局申請的非臨時申請案第15/994,754號之優先權及權益。
下文結合附圖闡述之詳細描述意欲作為對各種組態之描述,且並不意欲表示可實踐本文中所描述之概念的僅有組態。出於提供對各種概念之透徹理解之目的,實施方式包括具體細節。然而,對於熟習此項技術者而言,以下情形將為顯而易見的:可在無此等具體細節之情況下實踐此等概念。在一些情況下,熟知結構及組件係以方塊圖形式展示以便避免混淆此等概念。
現將參考各種設備及方法來呈現本發明之若干態樣。將藉由各種區塊、模組、組件、電路、步驟、處理程序、演算法等(統稱為「元件」)在以下實施方式中描述及在附圖中說明此等設備及方法。此等元件可使用電子硬體、電腦軟體或其任何組合來予以實施。是否將此等元件實施為硬體或軟體取決於特定應用及強加於整個系統上之設計約束。概述
包括多個SoC之裝置及其他IC裝置常常採用可包括串列匯流排或其他資料通信鏈路的共用通信介面以將處理器與數據機及其他周邊裝置連接。串列匯流排或其他資料通信鏈路可根據所界定之多個通信標準或協定而操作。在一個實例中,串列匯流排可根據I2C、I3C、SPMI及/或RFFE協定操作。
根據本文所揭示之某些態樣,可在主裝置驅動之串列匯流排中最佳化匯流排周轉。匯流排周轉發生在第一裝置停止驅動多點匯流排之一或多個導線時,以使得第二裝置(其常常為自第一裝置接收資料之裝置)開始驅動藉由第一裝置釋放之該一或多個導線。在匯流排周轉期間,兩個裝置改變線介面電路之操作模式。先前傳輸之第一裝置的線驅動器置於高阻抗或汲極開路模式中,且該第一裝置可啟用及/或組態其介面之接收器電路以啟用自多點匯流排接收資料及/或時脈信號。先前接收之第二裝置的線驅動器置於允許第二裝置在多點匯流排上傳輸資料及/或時脈信號的作用中模式中,且該第一裝置可停用及/或組態其介面之接收器電路以停用自多點匯流排接收資料及/或時脈信號。
一些介面使用推挽驅動器以在多點匯流排之導線上傳輸且在另一裝置開始在彼等導線上傳輸之前必需或需要推挽驅動器停用或自該等導線斷開。匯流排周轉時段可由控管經由多點匯流排之通信的協定來界定。當匯流排周轉時段開始時,一直傳輸之裝置可停用其線驅動器及/或促使其線驅動器進入高阻抗模式。一直接收之裝置可啟用其線驅動器,以使得其準備在匯流排周轉時段結束時開始傳輸。通常,多點匯流排之一或多個導線在匯流排周轉時段之某一部分中未被驅動。匯流排周轉時段之持續時間通常經界定為足以允許具有最慢匯流排周轉特性之裝置例如自傳輸器轉變至接收器或自接收器轉變至傳輸器的最小持續時間。多點匯流排之輸貫量及匯流排潛時可受耦接至多點匯流排或可耦接至多點匯流排之具有最慢匯流排周轉特性的裝置限制。高效能裝置可受經界定最小匯流排周轉時段妨礙。
根據本文所揭示之某些態樣,最小匯流排周轉時段可經組態用於耦接至多點匯流排之每一裝置,以使得主裝置或其他傳輸器可基於參與多點匯流排上之異動的裝置之識別碼判定最小匯流排周轉時段。在一些實施中,最小匯流排周轉時段之表可經維持用於每一裝置以識別針對不同PVT條件之最小匯流排周轉時段。
在一個實例中,耦接至多點匯流排之主裝置可運用界定匯流排周轉等待時段之一或多個各別延遲值組態耦接至多點匯流排之從屬裝置。延遲值可經界定用於在不同操作條件(包括不同PVT條件)下的特定裝置。主裝置可藉由使用一系列逐漸增加之匯流排周轉時段寫入及緊接著詢問一或多個從屬裝置中之暫存器直至在匯流排周轉之後成功地讀取暫存器為止而判定或得知延遲值。在一個實例中,主裝置可寫入一值至從屬裝置中之暫存器。主裝置可開始一重複週期,該重複週期包括傳輸針對於從屬裝置中之暫存器的讀取命令及在於發送讀取命令之後起始的匯流排周轉時段之後接收資料。當暫存器內容自從屬裝置正確地讀取時終止週期。當暫存器內容自從屬裝置不正確地讀取時,主裝置可增加匯流排周轉時段並執行另一讀取週期。多點可為根據I2C、I3C、SPMI及/或RFFE協定或界定匯流排周轉程序之其他協定操作的串列匯流排。採用串列資料鏈路的設備之實例
根據某些態樣,周轉等待時段可經界定用於耦接至串列匯流排之個別裝置。串列匯流排可用於互連電子裝置,該等電子裝置為一設備之子組件,該設備諸如:蜂巢式電話、智慧型電話、會話起始協定(SIP)電話、膝上型電腦、筆記型電腦、迷你筆記型電腦、智能筆電、個人數位助理(PDA)、衛星無線電收音機、全球定位系統(GPS)裝置、智慧型家庭裝置、智慧型照明、多媒體裝置、視訊裝置、數位音訊播放器(例如,MP3播放器)、相機、遊戲控制台、娛樂裝置、汽車組件、可穿戴計算裝置(例如,智慧型手錶、健康或健身追蹤器、眼鏡等)、電器、感測器、保全裝置、自動販賣機、智慧型儀錶、無人駕駛飛機、多旋翼飛行器或任何其他類似功能裝置。
圖1說明可採用資料通信匯流排之設備100之實例。設備100可包括SoC、具有多個電路或裝置104、106及/或108之處理電路102,其可實施於一或多個ASIC中或SoC中。在一個實例中,設備100可為通信裝置且處理電路102可包括在ASIC 104、一或多個周邊裝置106及收發器108中提供的處理裝置,該收發器允許設備經由天線124與無線電存取網路、核心存取網路、網際網路及/或另一網路通信。
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中之每一者可包括、支援或操作為數據機、信號處理裝置、顯示驅動器、相機、使用者介面、感測器、感測器控制器、媒體播放器、收發器及/或其他此等組件或裝置。經由串列匯流排230之裝置202、220及222a至222n之間的通信係藉由匯流排主裝置220控制。特定類型匯流排可支援多個匯流排主裝置220。
設備200可包括當根據I2C、I3C或其他協定操作串列匯流排230時通信的多個裝置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說明包括在晶片組或裝置302中提供的多個RFFE匯流排3241 至324N 之系統300。多個RFFE匯流排3241 至324N 可將前端裝置312、314、316、318、320、322之各種組合耦接至數據機304。數據機304可包括一或多個RFFE介面3081 至308N ,其中之每一者將數據機304耦接至對應RFFE匯流排3241 至324N 。數據機304可經由獨立、專用及/或共用通信鏈路310與基頻處理器306通信。所說明裝置302可體現於行動通信裝置、行動電話、行動計算系統、行動電話、筆記本電腦、平板計算裝置、媒體播放器、遊戲裝置、可穿戴計算及/或通信裝置、電器或其類似者中之一或多者中。在各種實例中,裝置302可運用多於一個基頻處理器306、數據機304及/或除了通信鏈路310、3241 至324N 之外的其他類型之匯流排來實施。裝置302可包括其他處理器、電路、控制器、狀態機、模組且可經組態用於各種操作及/或不同功能性。
在圖3中所說明之實例中,一個RFFE匯流排324N 耦接至RF積體電路(RFIC 312)及RF調諧器314。RFIC 312可包括一或多個控制器、狀態機及/或處理器,其組態及控制RF前端之特定態樣。另一RFFE匯流排3242 可將數據機304耦接至交換器316及LNA 318。 LNA 318可為射頻放大器,其經提供為雜訊放大器(LNA)以隨後增加RF信號之信號強度以改良接收器敏感度及/或補償可歸因於天線與接收器之間之信號路徑的損失。另一RFFE匯流排3241 可將數據機304耦接至功率放大器(PA 320)及功率追蹤模組322。其他類型之裝置可藉由RFFE匯流排3241 至324N 中之一或多者耦接,且裝置312、314、316、318、320、322至RFFE匯流排3241 至324N 的其他指派及分配可根據應用需要而組態。
系統300可包括可以可產生裝置間干擾,或可潛在地促使損害一或多個裝置的方式同時操作的特定裝置類型之多個個例(例如交換器316、LNA 318、PA 320及其他類型之裝置)。可彼此干擾的裝置可交換共存管理(CxM)訊息以允許每一裝置發信可導致干擾或衝突之即將發生的動作。CxM訊息可用於管理包括交換器316、LNA 318、PA 320及/或天線的共用組件之操作。 CxM訊息通常為意欲用於以最小潛時傳輸之高優先權實時訊息。
圖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經串列化及傳輸。
VGI FSM 406、416可經組態以將實體GPIO狀態轉換成可經由多線串列匯流排410在虛擬GPIO訊息中傳輸的GPIO狀態之數位表示。訊息可經產生以供根據例如I3C協定來傳輸。 VGI FSM 406、416可經進一步組態以將自多線串列匯流排410接收之虛擬GPIO訊息轉換成實體GPIO狀態。虛擬GPIO訊息可藉由經由多線串列匯流排410交換狀態資訊及/或狀態變化資訊而消除或減少對裝置402、412之間的特定實體互連之需求。虛擬GPIO訊息通常為意欲用於以最小潛時傳輸之高優先權實時訊息。
在其他實例中,主機SoC 402可包括其他類型之介面,包括I2C、SPMI及/或RFFE介面。在其他實例中,主機SoC 402可包括可用以使用I2C、I3C、SPMI、RFFE及/或另一合適之協定通信的可組態介面。在一些實例中,多線串列匯流排410 (諸如I2C或I3C匯流排)可經由資料線418傳輸資料信號並經由時脈線420傳輸時脈信號。
MIPI聯盟SPMI指定可在基頻或應用處理器與周邊組件之間實施以支援功率管理操作的硬體介面。在一個實例中,根據SPMI協定操作的二線串列介面可用於連接SoC處理器系統之整合式功率控制器與功率管理積體電路(PMIC)電壓調節系統。該介面可用以準確地監視並控制給定工作負荷或應用所需要的處理器效能位準並基於效能位準實時動態地控制各種供應電壓。串列介面可在根據SPMI協定組態為提供用於裝置之高速低潛時連接的共用匯流排時經最佳化用於實時控制功率管理及其他裝置,其中資料傳輸可根據經指派給不同訊務類別之優先權來管理。
圖5說明包括通信鏈路(包括SPMI鏈路)之系統500的實例。系統500可包括可充當各種通信鏈路上之主機裝置的應用處理器502、多個周邊裝置5041 至504N ,及一或多個PMIC 506、508。在所說明系統500中,至少一第一周邊裝置5041 可包括數據機。應用處理器502及第一周邊裝置5041 可使用使用SPMI主裝置514、518實施之功率管理介面耦接至各別PMIC 506、508。SPMI主裝置514、518與在PMIC 506、508中提供之對應SPMI從屬裝置516、520通信。SPMI提供對PMIC 506、508之實時控制。應用處理器502可使用不同類型通信鏈路510、512耦接至周邊裝置5041 至504N 中之每一者。舉例而言,通信鏈路510、512可根據諸如RFFE、SPMI、I3C協定之協定操作。 SPMI介面可能能夠傳達意欲用於以最小潛時進行傳輸的高優先權實時訊息。主裝置驅動之串列匯流排中之匯流排周轉
行動通信裝置及與行動通信裝置相關或連接至行動通信裝置之其他裝置愈來愈提供較大能力、效能及功能性。在許多情況下,行動通信裝置併有使用一或多個共用通信鏈路連接的多個IC裝置。通常,共用通信鏈路係以使具最小能力之裝置與具更大能力之裝置交互操作的方式來操作。在一個實例中,可以減少可在較高時脈頻率下操作之從屬裝置與主裝置之間的輸貫量為代價基於最慢從屬裝置的能力而選擇控制資料轉移速率之時脈信號之頻率。在另一實例中,高效能裝置可受基於較慢裝置之需要界定的最小匯流排周轉時段所限制。
圖6說明包括主裝置驅動之串列匯流排604的系統600。主裝置驅動之串列匯流排架構包括基於RFFE及SPMI協定之匯流排架構,其中匯流排操作可藉由主裝置602起始及控制。時序圖620係關於暫存器讀取操作。主裝置602可發佈讀取命令622至直接地或間接地識別待讀取之一或多個暫存器之位址的從屬裝置610、612、614、616、618。從屬裝置610、612、614、616、618經由串列匯流排604傳輸資料串流628至主裝置602,其中資料串流628包括該一或多個暫存器之內容。藉由主裝置602起始之暫存器讀取操作涉及匯流排周轉,藉此經由串列匯流排604之傳輸自主裝置至從屬裝置方向606轉變至從屬裝置至主裝置方向608。從屬裝置610、612、614、616、618可並不能夠在讀取命令622完成後的某一時間間隔624內在串列匯流排604之資料線上發動資料串流628。從屬裝置610、612、614、616、618可組態有判定從屬裝置610、612、614、616、618何時回應於讀取命令622的匯流排周轉等待時段626。主裝置602可在匯流排周轉等待時段626期間在判定從屬裝置610、612、614、616、618尚未回應之前針對活動性監視串列匯流排604。當從屬裝置610、612、614、616、618傳輸時且在匯流排周轉等待時段626期間,主裝置602繼續驅動串列匯流排604之時脈線。
習知地,匯流排周轉等待時段626經設定成針對耦接至串列匯流排604之所有從屬裝置610、612、614、616、618的固定數目之時脈週期。匯流排周轉等待時段626可能對於一些從屬裝置610、612、614、616、618太短,且可能比其他從屬裝置610、612、614、616、618所需要的長。因此,匯流排周轉等待時段626之持續時間通常經選擇以損害與較好效能從屬裝置610、612、614、616、618相關聯之匯流排輸貫量為代價支援所有從屬裝置610、612、614、616、618。
圖7說明匯流排周轉時序700之實例。主裝置可將匯流排周轉時段710之值設定為串列匯流排604之SCL線706上傳輸的時脈信號之3個週期。時脈信號控制串列匯流排上之傳輸。在習知系統中,主裝置可針對所有從屬裝置610、612、614、616、618將匯流排周轉時段710之值固定在3個時脈週期。匯流排周轉時段710之選擇反映所需要之最大匯流排周轉等待時段(例如圖6中之最慢從屬裝置618所需要的時段)。當匯流排周轉時段710設定成3個時脈週期時,一些從屬裝置610、612、614、616次最佳地操作。若匯流排周轉時段710設定成1個時脈週期,則某些從屬裝置610、612、616最佳地操作,而其他從屬裝置614、618可失效。
在由圖7說明之實例中,將主裝置602耦接至SDA線之線驅動器的輸出端702在第一時間段708(在此期間傳輸讀取命令622)中係在作用中。在匯流排周轉時段710之開始718處,主裝置SDA線驅動器之輸出端702停用且可進入高阻抗模式716。保持器電路之上拉電阻器可用以將SDA線拉至較佳狀態,或SDA線可浮動至中間靜止位準。在匯流排周轉時段710之結束720處,從屬裝置SDA線驅動器之輸出端704啟用,使得從屬裝置SDA線驅動器退出高阻抗模式714且開始在資料傳輸時段712期間在SDA線上驅動資料信號。
根據本文所揭示之某些態樣,主裝置602可經調適以針對耦接至串列匯流排604之每一作用中從屬裝置610、612、614、616、618設定個別化匯流排周轉時段710。當每一從屬裝置610、612、614、616、618經組態有緊密匹配其周轉能力之匯流排周轉時段710時系統效能可經最佳化。可跨越PVT之可能變體及對於一或多個操作頻率範圍,針對耦接至串列匯流排604之每一作用中從屬裝置610、612、614、616、618唯一地且最佳地設定匯流排周轉等待時段626。
圖8說明根據本文所揭示之特定態樣的已經調適以組態周轉等待週期的系統800。主裝置802可經由串列匯流排804耦接至多個從屬裝置810、812、814、816、818。主裝置802可最初在每一從屬裝置810、812、814、816、818中之暫存器位置820、822、824、826、828中寫入所選值。主裝置802接著可開始用於每一從屬裝置810、812、814、816、818之周轉等待週期組態程序。
主裝置802最初可組態最小匯流排周轉等待時段。在一個實例中,主裝置802可試圖自來自第一從屬裝置810之暫存器位置820讀取所選值。若所選值自暫存器位置820成功地讀取,則主裝置802可儲存最小匯流排周轉等待時段值以供在與第一從屬裝置810之所有後續讀取操作中使用。若所選值並未自暫存器位置820成功地讀取,則主裝置802可逐漸地增加匯流排周轉等待時段值並再嘗試讀取操作。匯流排周轉等待時段值可遞增直至處理程序繼續,直至所選值可成功地反覆地自第一從屬裝置810中之暫存器位置820讀取為止。主裝置802可儲存致能成功讀取的周轉等待時段值以供在與第一從屬裝置810之所有後續讀取操作中使用。主裝置802可判定從屬裝置810、812、814、816、818中之每一者的周轉等待時段值。此等值可儲存在主裝置802中之查找表806中。
在某些實例中,一或多個從屬裝置810、812、814、816、818可在不同匯流排頻率下操作,且可判定針對不同操作頻率之不同周轉等待時段值。主裝置802可單獨地建立針對所有操作頻率之周轉等待時段值且可在查找表806中維持此等值以供後續使用。
在某些實例中,一或多個從屬裝置810、812、814、816、818可在不同匯流排電壓下操作,且可針對不同操作電壓判定不同周轉等待時段值。主裝置802可單獨地建立針對所有操作電壓之周轉等待時段值且可在查找表806中維持此等值以供後續使用。
主裝置802可跨越PVT之可能變體及針對所有操作頻率建立及/或維持查找表806。主裝置802可使用查找表806以啟用動態周轉等待時段組態。主裝置802可判定當前操作條件及/或特性且自主裝置802選擇適當動態周轉等待時段。每一從屬裝置810、812、814、816、818經由寫入操作接收其各別適當周轉等待時段。在一個實例中,主裝置802可在使得串列匯流排804在不同模式(諸如較高頻率)中操作之前寫入新的周轉等待時段至一或多個從屬裝置810、812、814、816、818。
在一些情況下,主裝置802之查找表806可在製造期間組態,其中查找表806係運用自產品測試獲得之值填入。查找表806可在系統初始化期間及/或在正常操作期間藉由主裝置802組態或重組態。在一個實例中,主裝置802可在與從屬裝置810、812、814、816、818通信時在偵測到多個及/或重複之誤差之後重組態查找表806。周轉等待時段之動態組態
圖9說明可經執行以運用用於一或多個從屬裝置810、812、814、816、818之周轉等待時段值動態地組態查找表806的程序900之實例。程序900可經執行以填充主裝置802中之查找表806。在一些情況下,查找表806可最初包括非經驗周轉等待時段值,及/或可經初始化至最小周轉等待時段值。在其他情況下,查找表806可最初包括在製造期間組態的周轉等待時段值,及/或在程序900之先前執行期間組態的一或多個周轉等待時段值。
在區塊902處,主裝置802可選擇從屬裝置810、812、814、816、818中之第一者用於組態。在一個實例中,主裝置802可按藉由耦接至串列匯流排804的從屬裝置810、812、814、816、818之位址決定的次序組態裝置。主裝置802可能已決定耦接至串列匯流排804之作用中從屬裝置810、812、814、816、818之位址。在一些情況下,主裝置802可預先組態有耦接至串列匯流排804的作用中從屬裝置810、812、814、816、818之位址。
在區塊904處,主裝置802可組態最小周轉等待時段值之所選擇從屬裝置810、812、814、816、818。主裝置802可在所選擇從屬裝置810、812、814、816、818之暫存器中儲存測試值。主裝置802可發佈讀取命令以自所選擇從屬裝置810、812、814、816、818之暫存器讀取該測試值。若測試值經成功地讀取,則主裝置802可持續預先組態之次數來重複測試。
在區塊906處,主裝置802可判定測試值是否已被成功地讀取足夠次數以判定所選擇從屬裝置810、812、814、816、818經最佳組態用於當前操作條件(例如PVT、頻率等)。若所選擇從屬裝置810、812、814、816、818經判定被最佳組態,則程序在區塊910處繼續。若所選擇從屬裝置810、812、814、816、818未經判定被最佳組態,則程序在區塊908處繼續。
在區塊908處,主裝置802可運用下一周轉等待時段值組態所選擇從屬裝置810、812、814、816、818。下一周轉等待時段值可逐漸地大於最小周轉等待時段值。
在區塊910處,主裝置802可儲存所選擇從屬裝置810、812、814、816、818經判定經最佳組態所在的當前周轉等待時段值。主裝置802可將當前周轉等待時段值儲存在查找表806中。當前周轉等待時段值可儲存在查找表806中可由PVT、頻率等索引的一位置處。
在區塊912處,主裝置802可判定是否所有從屬裝置810、812、814、816、818已經組態。若所有從屬裝置810、812、814、816、818尚未經組態,則程序在區塊914處繼續。若所有從屬裝置810、812、814、816、818已經組態,則程序可終止。
在區塊914處,主裝置802可選擇另一從屬裝置810、812、814、816、818用於組態。程序接著在區塊904處恢復。
程序900可重複用於不同PVT及/或頻率條件。在一些情況下,在914處,在下一從屬裝置810、812、814、816、818組態之前,每一從屬裝置810、812、814、816、818經組態用於多個PVT及/或頻率條件。
圖10說明可經執行以為了最佳化周轉等待時段值動態地組態一或多個從屬裝置810、812、814、816、818的處理程序1000之實例。處理程序1000可在引起例如串列匯流排804之操作模式變化之前被執行。處理程序1000可例如在偵測到PVT、匯流排操作頻率及/或串列匯流排804之操作模式發生變化之後執行。主裝置802可維持包括周轉等待時段值的查找表806。
在區塊1002處,主裝置802可將最佳化周轉等待時段值寫入至一或多個從屬裝置810、812、814、816、818。在一個實例中,主裝置802可按藉由耦接至串列匯流排804的從屬裝置810、812、814、816、818之位址判定的次序組態裝置。
在區塊1004處,主裝置802可促使串列匯流排804之操作模式的變化。處理電路及方法之實例
圖11為說明用於設備1100之硬體實施的實例之圖解。在一些實例中,設備1100可執行本文所揭示之一或多個功能。根據本發明之各種態樣,元件,或元件之任何部分,或如本文所揭示之元件的任何組合可使用處理電路1102來實施。處理電路1102可包括藉由硬體與軟體模組之某一組合控制的一或多個處理器1104。處理器1104之實例包括微處理器、微控制器、數位信號處理器(DSP)、SoC、ASIC、場可程式化閘陣列(FPGA)、可程式化邏輯裝置(PLD)、狀態機、定序器、閘控邏輯、離散硬體電路及經組態以執行貫穿本發明所描述之各種功能性的其他合適之硬體。一或多個處理器1104可包括執行特定功能並可藉由軟體模組1116中的一者而組態、擴充或控制之專用處理器。一或多個處理器1104可經由在初始化期間加載的軟體模組1116之組合而組態,並另外藉由在操作期間加載或卸載一或多個軟體模組1116而組態。
在說明之實例中,處理電路1102可實施有匯流排架構(總體上由匯流排1110表示)。匯流排1110可取決於處理電路1102之特定應用及整體設計約束而包括任何數目之互連匯流排及橋接器。匯流排1110將包括一或多個處理器1104及儲存器1106之各種電路鏈結在一起。儲存器1106可包括記憶體裝置及大容量儲存裝置,且可在本文中稱為電腦可讀媒體及/或處理器可讀媒體。匯流排1110亦可鏈結各種其他電路,諸如時序源、定時器、周邊裝置、電壓調節器及功率管理電路。匯流排介面1108可提供一在匯流排1110與一或多個收發器1112a、1112b之間的介面。收發器1112a、1112b可經提供用於藉由處理電路支援之每一網路連接技術。在一些情況下,多個網路連接技術可共用在收發器1112a、1112b中發現的電路或處理模組之一些或全部。每一收發器1112a、1112b提供一用於經由傳輸媒體與各種其他設備通信的構件。在一個實例中,收發器1112a可用於將設備1100耦接至多線匯流排。在另一實例中,收發器1112b可用於連接設備1100至無線電存取網路。取決於設備1100之性質,使用者介面1118(例如小鍵盤、顯示器、揚聲器、麥克風、操縱桿)亦可經提供,且可以通信方式直接或經由匯流排介面1108耦接至匯流排1110。
處理器1104可負責管理匯流排1110並負責可包括儲存在可包括儲存器1106之電腦可讀媒體中的軟體之執行的一般處理。就此而言,包括處理器1104之處理電路1102可用於實施本文所揭示之方法、功能及技術中的任一者。儲存器1106可用於儲存在執行軟體時藉由處理器1104操縱的資料,且軟體可經組態以實施本文所揭示之方法中的任一者。
處理電路1102中之一或多個處理器1104可執行軟體。軟體應廣泛地解釋為意謂指令、指令集、代碼、代碼段、程序代碼、程序、子程序、軟體模組、應用程式、軟體應用程式、套裝軟體、常式、次常式、目標、可執行代碼、執行線緒、程序、功能、演算法等,無論是被稱作軟體、韌體、中間軟體、微碼、硬體描述語言還是其他者。軟體可以電腦可讀形式駐留在儲存器1106或外部電腦可讀媒體中。外部電腦可讀媒體及/或儲存器1106可包括非暫時性電腦可讀媒體。藉助於實例,非暫時性電腦可讀媒體包括磁性儲存裝置(例如硬碟、軟碟、磁條)、光碟(例如緊密光碟(CD)或數位多功能光碟(DVD))、智慧型卡、快閃記憶體裝置(例如「隨身碟」、卡、棒或保密磁碟)、RAM、ROM、可程式化唯讀記憶體(PROM)、可抹除PROM(EPROM)(包括EEPROM)、暫存器、可卸除式磁碟,及用於儲存可由電腦存取及讀取之軟體及/或指令的任何其他合適之媒體。藉助於實例,電腦可讀媒體及/或儲存器1106亦可包括載波、傳輸線,及用於傳輸可由電腦存取及讀取之軟體及/或指令的任何其他合適之媒體。電腦可讀媒體及/或儲存器1106可駐留在處理電路1102中,處理器1104中,處理電路1102外部,或在包括處理電路1102之多個實體上分佈。電腦可讀媒體及/或儲存器1106可體現在電腦程式產品中。藉助於實例,電腦程式產品可將電腦可讀媒體包括於封裝材料中。熟習此項技術者將認識到取決於特定應用及強加於整個系統上的整體設計約束而最佳地實施呈現在整個本發明中之所描述功能性的方式。
儲存器1106可維持在可載入碼段、模組、應用程式、程式等(其可在本文中稱為軟體模組1116)中維持及/或組織的軟體。軟體模組1116中之每一者可包括指令及資料,其當安裝或加載於處理電路1102上並藉由一或多個處理器1104執行時促成一控制一或多個處理器1104之操作的執行時影像1114。當經執行時,某些指令可引起處理電路1102根據本文中所描述的某些方法、演算法及處理程序執行功能。
一些軟體模組1116可在處理電路1102之初始化期間加載,且此等軟體模組1116可組態處理電路1102以啟用本文所揭示之各種功能的執行。舉例而言,一些軟體模組1116可組態內部裝置及/或處理器1104之邏輯電路1122,並可管理對諸如收發器1112a、1112b、匯流排介面1108、使用者介面1118、定時器、數學共處理器等之外部器件的存取。軟體模組1116可包括一控制程式及/或一作業系統,其與中斷處理常式及裝置驅動器相互作用,並控制對由處理電路1102提供之各種資源的存取。資源可包括記憶體、處理時間、對收發器1112a、1112b、使用者介面1118等的存取。
處理電路1102之一或多個處理器1104可為多功能性,藉此一些軟體模組1116經加載並經組態以執行不同功能或相同功能之不同個例。一或多個處理器1104可另外經調適以管理回應於來自例如使用者介面1118、收發器1112a、1112b及裝置驅動器之輸入而起始的後台任務。為支援多個功能之執行,一或多個處理器1104可經組態以提供多任務環境,藉此複數個功能中的每一者經實施為根據需要或所要藉由一或多個處理器1104伺服的一組任務。在一個實例中,可使用傳遞不同任務之間的處理器1104之控制的時間共用程式1120實施多任務環境,藉此每一任務在完成任何未完成操作後及/或回應於諸如中斷之輸入而將一或多個處理器1104之控制返回至時間共用程式1120。當任務具有一或多個處理器1104之控制時,處理電路有效地特定用於藉由與控制任務相關聯的功能解決的目的。時間共用程式1120可包括作業系統、在循環基礎上傳送控制之主要迴路、根據功能之優先排序分配一或多個處理器1104之控制的功能,及/或藉由提供一或多個處理器1104之控制至處置功能而對外部事件作出回應的中斷驅動主要迴路。
用於最佳化虛擬GPIO潛時之方法可包括剖析各種輸入源的動作,該等源包括待傳輸之GPIO信號狀態、參數及/或訊息的源。輸入源可包括硬體事件、組態資料、掩蔽參數及暫存器位址。封包特定潛時估計器可用以基於剖析之參數估計用於對應封包類型之潛時。待用於傳輸之封包類型可基於針對可用封包類型計算或判定的最小潛時而選擇。所選擇封包類型可使用命令碼來識別,該命令碼可與待傳輸之有效負載一起經提供至封包化器。命令碼亦可反映待用以傳輸有效負載之協定。在一些實施中,用以傳輸有效負載之實體鏈路可根據不同協定或一或多個協定之不同變體而操作。待用於傳輸有效負載的協定可基於與各種可用協定或協定之變體相關聯的潛時而選擇。
圖12為可在耦接至串列匯流排之主裝置處執行的方法之流程圖1200。
在區塊1202處,主裝置可運用各別延遲值組態耦接至串列匯流排之複數個從屬裝置,該等延遲值界定經由串列匯流排之傳輸的方向之變化之間的等待時段。
在區塊1204處,主裝置可傳輸針對於第一從屬裝置之第一讀取命令。
在區塊1206處,主裝置可回應於該第一讀取命令在於發送第一讀取命令之後起始的第一等待時段之後接收資料。該第一等待時段可由在第一從屬裝置中組態的延遲值界定。
在區塊1208處,主裝置可傳輸針對於第二從屬裝置之第二讀取命令。
在區塊1210處,主裝置可回應於第一讀取命令在於發送第二讀取命令之後起始的第二等待時段之後接收資料。該第二等待時段可由在第二從屬裝置中組態的延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。
在各種實例中,該方法可包括傳輸第一資料至一第三從屬裝置中之一暫存器,初始化一第一延遲值,重複一測試程序直至自該第三從屬裝置正確地讀取該第一資料為止。該測試程序可包括傳輸該第一延遲值至該第三從屬裝置,傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令,及當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值。該第三從屬裝置可經組態以使用該第一延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段。該第一延遲值可用於當該串列匯流排操作在與該第三從屬裝置通信之一第一模式中時界定經由該串列匯流排之傳輸的方向之變化。
在一些實例中,該方法包括判定串列匯流排之操作模式的變化之發生,傳輸第二資料至第三從屬裝置中之暫存器,初始化第二延遲值,及重複一測試程序直至第二資料自第三從屬裝置正確地讀取為止。該測試程序可包括傳輸第二延遲值至第三從屬裝置,在該串列匯流排上傳輸第三讀取命令,及當第二資料並未自第三從屬裝置正確地讀取時增加第二延遲值。該第三從屬裝置可經組態以使用該第二延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段。該第二延遲值可用於當該串列匯流排操作在與該第三從屬裝置通信之一第二模式中時界定經由該串列匯流排之傳輸的方向之變化。
在某些實例中,當時脈信號之頻率改變時,串列匯流排操作在第二模式中。串列匯流排之操作模式的變化之發生可藉由識別影響第三從屬裝置之PVT特性的變動來判定。
在各種實例中,該第一延遲值可儲存於延遲值之表中,該表包括由製程、電壓及/或溫度索引的延遲值。該第一延遲值可儲存於延遲值之表中,該表包括由頻率索引的延遲值。該第一延遲值可儲存於延遲值之表中,該表包括由從屬裝置索引的延遲值。
圖13為說明採用處理電路1302之設備1300的硬件實施之簡化實例的圖解。處理電路通常具有可包括一或多個微處理器、微控制器、數位信號處理器、定序器及/或狀態機的控制器或處理器1316。處理電路1302可實施有匯流排架構(總體上由匯流排1320表示)。匯流排1320可取決於處理電路1302之特定應用及整體設計約束而包括任何數目個互連匯流排及橋接器。匯流排1320將包括一或多個處理器及/或硬體模組之各種電路鏈結在一起,各種電路由控制器或處理器1316、模組或電路1304、1306及1308及處理器可讀儲存媒體1318表示。一或多個實體層電路及/或模組1314可經提供以支援經由使用多線匯流排1312實施的通信鏈路、經由天線1322(至例如無線電存取網路)等之通信。匯流排1320亦可鏈結此項技術中已熟知且因此將並不更進一步描述之各種其他電路,諸如時序源、周邊裝置、電壓調節器及功率管理電路。
處理器1316負責一般處理,包括儲存於處理器可讀儲存媒體1318上的軟體、程式碼及/或指令之執行。處理器可讀儲存媒體可包括非暫時性儲存媒體。軟體在由處理器1316執行時使處理電路1302執行上文針對任何特定設備描述的各種功能。處理器可讀儲存媒體可用於儲存當執行軟件時藉由處理器1316操控的資料。處理電路1302進一步包括模組1304、1306及1308中之至少一者。模組1304、1306及1308可為在處理器1316中執行的駐留/儲存在處理器可讀儲存媒體1318中的軟體模組,耦接至處理器1316之一或多個硬體模組,或其某一組合。模組1304、1306及1308可包括微控制器指令、狀態機組態參數或其某一組合。
在一個組態中,設備1300包括經調適以組態一或多個從屬裝置中之周轉延遲值的模組及/或電路1308、經調適以基於操作條件及/或所需操作模式選擇用於一或多個從屬裝置之周轉延遲值的模組及/或電路1306,經調適以判定或計算用於一或多個從屬裝置之周轉延遲值的模組及/或電路1304。
舉例而言,設備1300可包括:用於運用各別延遲值組態耦接至該串列匯流排之複數個從屬裝置的構件,該等延遲值界定經由該串列匯流排傳輸之方向的變化之間的等待時段;用於傳輸針對於一第一從屬裝置之一第一讀取命令的構件;用於回應於該第一讀取命令在於發送該第一讀取命令之後起始的一第一等待時段之後接收資料的構件,該第一等待時段係由在該第一從屬裝置中組態的一延遲值界定;用於傳輸針對於一第二從屬裝置之一第二讀取命令的構件;及用於回應於該第一讀取命令在於發送該第二讀取命令之後起始的一第二等待時段之後接收資料的構件,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定。該第一等待時段及該第二等待時段可具有不同持續時間。
應理解,所揭示處理程序中之步驟的特定次序或層次為例示性方法之說明。基於設計偏好,應理解,可重新配置處理程序中之步驟的特定次序或層次。另外,可組合或省略一些步驟。隨附方法請求項以樣本次序呈現各種步驟之元件,且並不意謂受限於所呈現之特定次序或層次。
提供先前描述以使任何熟習此項技術者能夠實踐本文中所描述之各種態樣。對此等態樣之各種修改對於熟習此項技術者而言將為顯而易見的,且本文中定義之一般原理可應用於其他態樣。因此,申請專利範圍不意欲限於本文中所展示的態樣,而是將被賦予與語言申請專利範圍一致的完整範圍,其中以單數形式參考一元件不意欲意謂「一個且僅有一個」,除非明確地如此陳述,而是表示「一或多個」。除非另外特定地陳述,否則術語「一些」指代一或多個。一般熟習此項技術者已知或稍後將知曉的貫穿本發明所描述之各種態樣的元件之所有結構及功能等效物以引用的方式明確地併入本文中,且意欲由申請專利範圍涵蓋。此外,本文中所揭示之任何內容均不意欲專用於公眾,無論申請專利範圍中是否明確敍述此揭示內容。沒有申請專利範圍元件將被解釋為手段加功能,除非元件係使用片語「用於……之構件」來明確地敍述。
100‧‧‧設備
102‧‧‧處理電路
104‧‧‧電路/裝置/ASIC
106‧‧‧電路/裝置/周邊裝置
108‧‧‧電路/裝置/收發器
110‧‧‧數據機
112‧‧‧處理器
114‧‧‧機載記憶體
116‧‧‧匯流排介面電路
118a‧‧‧匯流排
118b‧‧‧匯流排
120‧‧‧匯流排
122‧‧‧處理器可讀儲存器
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‧‧‧基頻處理器
3081‧‧‧RFFE介面
3082‧‧‧RFFE介面
308N‧‧‧RFFE介面
310‧‧‧通信鏈路
312‧‧‧前端裝置/RF積體電路(RFIC)
314‧‧‧前端裝置/RF調諧器
316‧‧‧前端裝置/交換器
318‧‧‧前端裝置/低雜訊放大器(LNA)
320‧‧‧前端裝置/功率放大器(PA)
322‧‧‧前端裝置/功率追蹤模組
3241‧‧‧RFFE匯流排
3242‧‧‧RFFE匯流排
324N‧‧‧RFFE匯流排
400‧‧‧設備
402‧‧‧主機系統單晶片(SoC)
404‧‧‧I3C介面
406‧‧‧虛擬通用(GPIO)有限狀態機/VGI FSM
410‧‧‧多線串列匯流排
412‧‧‧周邊裝置
414‧‧‧I3C介面
416‧‧‧VGI FSM
418‧‧‧資料線
420‧‧‧時脈線
500‧‧‧系統
502‧‧‧應用處理器
5041‧‧‧周邊裝置
5042‧‧‧周邊裝置
5043‧‧‧周邊裝置
504N‧‧‧周邊裝置
506‧‧‧主機功率管理積體電路(PMIC)
508‧‧‧數據機功率管理積體電路(PMIC)
510‧‧‧通信鏈路
512‧‧‧通信鏈路
514‧‧‧SPMI主裝置
516‧‧‧SPMI從屬裝置
518‧‧‧SPMI主裝置
520‧‧‧SPMI從屬裝置
600‧‧‧系統
602‧‧‧主裝置
604‧‧‧主裝置驅動之串列匯流排
606‧‧‧主裝置至從屬裝置方向
608‧‧‧從屬裝置至主裝置方向
610‧‧‧從屬裝置
612‧‧‧從屬裝置
614‧‧‧從屬裝置
616‧‧‧從屬裝置
618‧‧‧從屬裝置
620‧‧‧時序圖
622‧‧‧讀取命令
624‧‧‧時間間隔
626‧‧‧匯流排周轉等待時段
628‧‧‧資料串流
700‧‧‧匯流排周轉時序
702‧‧‧主裝置SDA線驅動器之輸出端
704‧‧‧從屬裝置SDA線驅動器之輸出端
706‧‧‧SCL線
708‧‧‧第一時間段
710‧‧‧匯流排周轉時段
712‧‧‧資料傳輸時段
714‧‧‧高阻抗模式
716‧‧‧高阻抗模式
718‧‧‧匯流排周轉時段之開始
720‧‧‧匯流排周轉時段之結束
800‧‧‧系統
802‧‧‧主裝置
804‧‧‧串列匯流排
806‧‧‧查找表
810‧‧‧從屬裝置
812‧‧‧從屬裝置
814‧‧‧從屬裝置
816‧‧‧從屬裝置
818‧‧‧從屬裝置
820‧‧‧暫存器位置
822‧‧‧暫存器位置
824‧‧‧暫存器位置
826‧‧‧暫存器位置
828‧‧‧暫存器位置
900‧‧‧程序
902‧‧‧區塊
904‧‧‧區塊
906‧‧‧區塊
908‧‧‧區塊
910‧‧‧區塊
912‧‧‧區塊
914‧‧‧區塊
1000‧‧‧處理程序
1002‧‧‧區塊
1004‧‧‧區塊
1100‧‧‧設備
1102‧‧‧處理電路
1104‧‧‧處理器
1106‧‧‧儲存器
1108‧‧‧匯流排介面
1110‧‧‧匯流排
1112a‧‧‧收發器
1112b‧‧‧收發器
1114‧‧‧執行時影像
1116‧‧‧軟體模組
1118‧‧‧使用者介面
1120‧‧‧時間共用程式
1122‧‧‧邏輯電路
1200‧‧‧流程圖
1202‧‧‧區塊
1204‧‧‧區塊
1206‧‧‧區塊
1208‧‧‧區塊
1210‧‧‧區塊
1300‧‧‧設備
1302‧‧‧處理電路
1304‧‧‧判定或計算用於一或多個從屬裝置之周轉延遲值的模組及/或電路
1306‧‧‧基於操作條件及/或所需操作模式選擇用於一或多個從屬裝置之周轉延遲值的模組及/或電路
1308‧‧‧組態一或多個從屬裝置中之周轉延遲值的模組及/或電路
1312‧‧‧多線匯流排
1314‧‧‧實體層電路及/或模組
1316‧‧‧處理器
1318‧‧‧處理器可讀儲存媒體
1320‧‧‧匯流排
1322‧‧‧天線
圖1說明根據複數個可用標準中之一者選擇性地操作採用一在IC裝置之間的資料鏈路之設備。
圖2說明用於採用在IC裝置之間的資料鏈路之設備的系統架構。
圖3說明採用RFFE匯流排以耦接各種射頻前端裝置之裝置。
圖4說明根據本文所揭示之特定態樣的採用I3C匯流排以耦接各種前端裝置的裝置。
圖5說明可根據本文所揭示之某些態樣調適的通信鏈路之實例。
圖6說明包括可根據本文所揭示之某些態樣調適的主裝置驅動之串列匯流排的系統。
圖7說明可根據本文所揭示之某些態樣調適的匯流排周轉時序之實例。
圖8說明根據本文所揭示之特定態樣的已經調適以組態周轉等待週期的系統。
圖9說明根據本文所揭示之特定態樣的可經執行以動態地判定周轉等待時段值的程序之實例。
圖10為說明根據本文所揭示之特定態樣的可經執行以運用最佳化周轉等待時段值動態地組態從屬裝置的處理程序之實例的第一流程圖。
圖11為說明採用可根據本文所揭示之特定態樣調適的處理電路之設備之實例的圖解。
圖12為說明本文所揭示之特定態樣的第三流程圖。
圖13說明根據本文所揭示之特定態樣調適的設備之硬體實施之實例。

Claims (30)

  1. 一種在一匯流排主裝置處執行的方法,其包含: 運用各別延遲值組態耦接至一串列匯流排之複數個從屬裝置,該等延遲值界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 傳輸針對於一第一從屬裝置之一第一讀取命令; 回應於該第一讀取命令在於該第一讀取命令已被發送之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態之一延遲值界定; 傳輸針對於一第二從屬裝置之一第二讀取命令;及 回應於該第二讀取命令在於該第二讀取命令已被發送之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定, 其中該第一等待時段及該第二等待時段具有不同持續時間。
  2. 如請求項1之方法,其進一步包含: 傳輸第一資料至一第三從屬裝置中之一暫存器; 初始化一第一延遲值; 重複以下操作直至該第一資料自該第三從屬裝置正確地讀取為止: 傳輸該第一延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第一延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令;及 當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值;及 當該串列匯流排操作在與該第三從屬裝置通信之一第一模式中時,使用該第一延遲值以界定與經由該串列匯流排之傳輸之方向的變化相關聯的一第三等待時段。
  3. 如請求項2之方法,其進一步包含: 判定該串列匯流排之操作模式的一變化之發生; 傳輸第二資料至該第三從屬裝置中之一暫存器; 初始化一第二延遲值; 重複以下操作直至該第二資料自該第三從屬裝置正確地讀取為止: 傳輸該第二延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第二延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 在該串列匯流排上傳輸該第三讀取命令;及 當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值;及 當該串列匯流排操作在與該第三從屬裝置通信之一第二模式中時,使用該第二延遲值以界定與經由該串列匯流排之傳輸之方向的變化相關聯的一第四等待時段。
  4. 如請求項3之方法,其中當一時脈信號之頻率改變時,該串列匯流排操作在該第二模式中。
  5. 如請求項3之方法,其中判定該串列匯流排之操作模式的該變化之該發生包含: 識別影響該第三從屬裝置的製程、電壓及溫度(PVT)特性之一變動。
  6. 如請求項2之方法,其進一步包含: 將該第一延遲值儲存在延遲值之一表中,該表包括由製程、電壓及/或溫度索引的延遲值。
  7. 如請求項2之方法,其進一步包含: 將該第一延遲值儲存在延遲值之一表中,該表包括由頻率索引的延遲值。
  8. 如請求項2之方法,其進一步包含: 將該第一延遲值儲存在延遲值之一表中,該表包括由從屬裝置索引的延遲值。
  9. 一種具有一或多個指令之處理器可讀儲存媒體,該等指令在由一處理電路之至少一個處理器或狀態機執行時促使該處理電路: 運用各別延遲值組態耦接至一串列匯流排之複數個從屬裝置,該等延遲值界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 傳輸針對於一第一從屬裝置之一第一讀取命令; 回應於該第一讀取命令在於該第一讀取命令已被發送之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態之一延遲值界定; 傳輸針對於一第二從屬裝置之一第二讀取命令;及 回應於該第二讀取命令在於該第二讀取命令已被發送之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定, 其中該第一等待時段及該第二等待時段具有不同持續時間。
  10. 如請求項9之處理器可讀儲存媒體,其中該等指令進一步促使該處理電路進行以下操作: 傳輸第一資料至一第三從屬裝置中之一暫存器; 初始化一第一延遲值; 重複地執行以下操作直至該第一資料自該第三從屬裝置正確地讀取為止: 傳輸該第一延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第一延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令;及 當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值;及 當該串列匯流排操作在與該第三從屬裝置通信之一第一模式中時,使用該第一延遲值以界定與經由該串列匯流排之傳輸之方向的變化相關聯的一第三等待時段。
  11. 如請求項10之處理器可讀儲存媒體,其中該等指令進一步促使該處理電路進行以下操作: 判定該串列匯流排之操作模式的一變化之發生; 傳輸第二資料至該第三從屬裝置中之一暫存器; 初始化一第二延遲值;及 重複地執行以下操作直至該第二資料自該第三從屬裝置正確地讀取為止: 傳輸該第二延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第二延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 在該串列匯流排上傳輸該第三讀取命令;及 當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值;及 當該串列匯流排操作在與該第三從屬裝置通信之一第二模式中時,使用該第二延遲值以界定與經由該串列匯流排之傳輸之方向的變化相關聯的一第四等待時段。
  12. 如請求項11之處理器可讀儲存媒體,其中當一時脈信號之頻率改變時,該串列匯流排操作在該第二模式中。
  13. 如請求項11之處理器可讀儲存媒體,其中該等指令進一步促使該處理電路進行以下操作: 識別影響該第三從屬裝置的製程、電壓及溫度(PVT)特性之一變動。
  14. 如請求項10之處理器可讀儲存媒體,其中該等指令進一步促使該處理電路進行以下操作: 將該第一延遲值儲存在延遲值之一表中,該表包括由製程、電壓及/或溫度索引的延遲值。
  15. 如請求項10之處理器可讀儲存媒體,其中該等指令進一步促使該處理電路進行以下操作: 將該第一延遲值儲存在延遲值之一表中,該表包括由頻率索引的延遲值。
  16. 如請求項10之處理器可讀儲存媒體,其中該等指令進一步促使該處理電路進行以下操作: 將該第一延遲值儲存在延遲值之一表中,該表包括由從屬裝置索引的延遲值。
  17. 一種設備,其包含: 用於運用各別延遲值組態耦接至一串列匯流排之複數個從屬裝置的構件,該等延遲值界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 用於在該串列匯流排上傳輸命令的構件,用於傳輸命令的該構件經組態以傳輸針對於一第一從屬裝置之一第一讀取命令;及 用於自該串列匯流排接收資料的構件,用於接收資料的該構件經組態以回應於該第一讀取命令在於該第一讀取命令已被發送之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態之一延遲值界定, 其中用於傳輸命令的該構件經組態以傳輸針對於一第二從屬裝置之一第二讀取命令, 其中用於接收資料的該構件經組態以回應於該第二讀取命令在於該第二讀取命令已被發送之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一延遲值界定,及 其中該第一等待時段及該第二等待時段具有不同持續時間。
  18. 如請求項17之設備,其進一步包含: 用於判定延遲值的該構件經組態以當該串列匯流排操作在與一第三從屬裝置通信之一第一模式中時判定可操作以界定與經由該串列匯流排之傳輸之方向的變化相關聯之一第三等待時段的一第一延遲值, 其中用於判定延遲值的該構件經組態以: 傳輸第一資料至該第三從屬裝置中之一暫存器; 初始化該第一延遲值; 重複地執行以下操作直至該第一資料自該第三從屬裝置正確地讀取為止: 傳輸該第一延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第一延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令;及 當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值。
  19. 如請求項18之設備,其中用於判定延遲值的該構件經組態以當該串列匯流排操作在與該第三從屬裝置通信之一第二模式中時判定可操作以界定與經由該串列匯流排之傳輸之方向的變化相關聯之一第四等待時段的一第二延遲值,其中用於判定延遲值的該構件經組態以: 判定該串列匯流排之操作模式的一變化之發生; 傳輸第二資料至該第三從屬裝置中之一暫存器; 初始化該第二延遲值;及 重複地執行以下操作直至該第二資料自該第三從屬裝置正確地讀取為止: 傳輸該第二延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第二延遲值以界定經由該串列匯流排之傳輸的方向之變化之間的等待時段; 在該串列匯流排上傳輸該第三讀取命令;及 當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值。
  20. 如請求項19之設備,其中當一時脈信號之頻率改變時該串列匯流排操作在該第二模式中。
  21. 如請求項19之設備,其中用於判定延遲值的該構件經組態以: 識別影響該第三從屬裝置的製程、電壓及溫度(PVT)特性之一變動。
  22. 如請求項18之設備,其進一步包含: 用於將該第一延遲值儲存在延遲值之一表中的構件,該表包括由製程、電壓及/或溫度索引的延遲值。
  23. 如請求項18之設備,其進一步包含: 用於將該第一延遲值儲存在延遲值之一表中的構件,該表包括由頻率索引的延遲值。
  24. 如請求項18之設備,其進一步包含: 用於將該第一延遲值儲存在延遲值之一表中的構件,該表包括由從屬裝置索引的延遲值。
  25. 一種匯流排主裝置,其包含: 一匯流排介面,其將該匯流排主裝置耦接至一多點匯流排; 一儲存裝置,其經組態有一查找表,該查找表維持耦接至該多點匯流排之複數個從屬裝置中之每一者的一或多個匯流排周轉延遲值;及 一控制器,其經組態以: 運用維持於該儲存裝置中之各別一或多個匯流排周轉延遲值組態該複數個從屬裝置中之每一者,其中每一周轉延遲值界定經由該多點匯流排之傳輸的方向之變化之間的一等待時段; 傳輸針對於一第一從屬裝置之一第一讀取命令; 回應於該第一讀取命令在於該第一讀取命令已被發送之後起始的一第一等待時段之後接收資料,該第一等待時段係由在該第一從屬裝置中組態之一第一周轉延遲值界定; 傳輸針對於一第二從屬裝置之一第二讀取命令;及 回應於該第二讀取命令在於該第二讀取命令已被發送之後起始的一第二等待時段之後接收資料,該第二等待時段係由在該第二從屬裝置中組態的一第二周轉延遲值界定, 其中該第一等待時段及該第二等待時段具有不同持續時間。
  26. 如請求項25之匯流排主裝置,其中該控制器經進一步組態以: 傳輸第一資料至一第三從屬裝置中之一暫存器; 初始化一第一延遲值;及 重複地執行以下操作直至該第一資料自該第三從屬裝置正確地讀取為止: 傳輸該第一延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第一延遲值以界定經由該多點匯流排之傳輸的方向之變化之間的等待時段; 傳輸經定址至該第三從屬裝置中之該暫存器的一第三讀取命令;及 當該第一資料並未自該第三從屬裝置正確地讀取時增加該第一延遲值。
  27. 如請求項26之匯流排主裝置,其中該控制器經進一步組態以: 判定該多點匯流排之操作模式的一變化之發生; 傳輸第二資料至該第三從屬裝置中之一暫存器; 初始化一第二延遲值;及 重複地執行以下操作直至該第二資料自該第三從屬裝置正確地讀取為止: 傳輸該第二延遲值至該第三從屬裝置,其中該第三從屬裝置經組態以使用該第二延遲值以界定經由該多點匯流排之傳輸的方向之變化之間的等待時段; 在該多點匯流排上傳輸該第三讀取命令;及 當該第二資料並未自該第三從屬裝置正確地讀取時增加該第二延遲值。
  28. 如請求項27之匯流排主裝置,其中操作模式之該變化對應於控制在該多點匯流排上之傳輸的一時脈信號之頻率的一變化。
  29. 如請求項27之匯流排主裝置,其中操作模式之該變化對應於影響該第三從屬裝置之製程、電壓及溫度(PVT)特性的一變動。
  30. 如請求項26之匯流排主裝置,其中該查找表中之該一或多個匯流排周轉延遲值係由電壓、溫度及/或在該多點匯流排上傳輸的一時脈信號之頻率索引。
TW107119027A 2017-06-09 2018-06-01 組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期 TW201904237A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762517713P 2017-06-09 2017-06-09
US62/517,713 2017-06-09
US15/994,754 2018-05-31
US15/994,754 US10445270B2 (en) 2017-06-09 2018-05-31 Configuring optimal bus turnaround cycles for master-driven serial buses

Publications (1)

Publication Number Publication Date
TW201904237A true TW201904237A (zh) 2019-01-16

Family

ID=64564026

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107119027A TW201904237A (zh) 2017-06-09 2018-06-01 組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期

Country Status (3)

Country Link
US (1) US10445270B2 (zh)
TW (1) TW201904237A (zh)
WO (1) WO2018226531A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11114112B2 (en) 2017-09-07 2021-09-07 Google Llc Low power, high bandwidth, low latency data bus
US10579549B2 (en) * 2017-12-05 2020-03-03 Qualcomm Incorporated Staggered transmissions on a multi-drop half-duplex bus
US10528503B1 (en) * 2018-07-16 2020-01-07 Qualcomm Incorporated Real-time dynamic addressing scheme for device priority management
US10474622B1 (en) * 2018-07-16 2019-11-12 Qualcomm Incorporated Method and apparatus for latency management of data communication over serial bus
US11657010B2 (en) 2018-08-22 2023-05-23 Google Llc Dynamic timing calibration systems and methods
US11294837B2 (en) * 2018-08-22 2022-04-05 Google Llc Dynamic delay calibration of devices attached to bus systems utilizing time-multiplexed clock and data lines
DE102019201533A1 (de) 2019-02-07 2020-08-13 Robert Bosch Gmbh Systemkomponente mit konfigurierbarem Kommunikationsverhalten und Verfahren zum Betreiben einer solchen Systemkomponente
US10572438B1 (en) * 2019-03-07 2020-02-25 Qualcomm Incorporated Dynamic optimal data sampling time on a multi-drop bus
JP7493311B2 (ja) * 2019-06-19 2024-05-31 キヤノン株式会社 バスシステムおよびその制御方法
GB2587001B (en) * 2019-09-11 2023-07-19 Idex Biometrics Asa Two-wire host interface
CN115720142B (zh) * 2021-08-23 2024-06-18 富联精密电子(天津)有限公司 从设备地址识别系统、方法及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0718772A1 (en) 1994-12-14 1996-06-26 International Business Machines Corporation Method to improve bus latency and to allow burst transfers of unknown length
US6304895B1 (en) * 1997-08-22 2001-10-16 Apex Inc. Method and system for intelligently controlling a remotely located computer
US6321282B1 (en) 1999-10-19 2001-11-20 Rambus Inc. Apparatus and method for topography dependent signaling
US6643787B1 (en) 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
US6581017B2 (en) 2001-06-28 2003-06-17 Intel Corporation System and method for minimizing delay variation in double data rate strobes
US9520865B2 (en) 2014-09-04 2016-12-13 Qualcomm Incorporated Delay circuits and related systems and methods
US9990330B2 (en) * 2014-10-29 2018-06-05 Qualcomm Incorporated Simultaneous edge toggling immunity circuit for multi-mode bus
US9904637B2 (en) 2014-11-26 2018-02-27 Qualcomm Incorporated In-band interrupt time stamp
US9660656B2 (en) 2015-04-15 2017-05-23 Sandisk Technologies Llc Delay compensation
US20170116150A1 (en) 2015-10-23 2017-04-27 Qualcomm Incorporated N-phase fast bus turnaround

Also Published As

Publication number Publication date
US20180357194A1 (en) 2018-12-13
US10445270B2 (en) 2019-10-15
WO2018226531A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
TW201904237A (zh) 組態用於主裝置驅動的串列滙流排之最佳滙流排周轉週期
US10482055B2 (en) Hardware event priority sensitive programmable transmit wait-window for virtual GPIO finite state machine
US20170168966A1 (en) Optimal latency packetizer finite state machine for messaging and input/output transfer interfaces
US20180357199A1 (en) Slave-to-slave communication in i3c bus topology
US10140243B2 (en) Enhanced serial peripheral interface with hardware flow-control
TW201923606A (zh) 針對多執行環境之i3c頻帶內中斷
US11256651B2 (en) Multiple master, multi-slave serial peripheral interface
US20180329837A1 (en) Input/output direction decoding in mixed vgpio state exchange
US10572438B1 (en) Dynamic optimal data sampling time on a multi-drop bus
TW201923603A (zh) 異質虛擬通用輸入/輸出
US11106620B1 (en) Mixed signal device address assignment
US20190213165A1 (en) Priority scheme for fast arbitration procedures
TW202014904A (zh) I3c上的低等待時間虛擬通用輸入/輸出
US20200201804A1 (en) I3c device timing adjustment to accelerate in-band interrupts
TW202232335A (zh) 電源管理積體電路中的次要通訊通道的周邊存取控制
CN116670617A (zh) 定时触发器同步增强
US20200042750A1 (en) Secure access for system power management interface (spmi) during boot
US20170371830A1 (en) Accelerated i3c master stop
TWI685749B (zh) 用於通信波形的短位址模式
US11520729B2 (en) I2C bus architecture using shared clock and dedicated data lines
US11023408B2 (en) I3C single data rate write flow control
US20210141757A1 (en) Adaptive address arbitration optimization on an i3c bus
TW202334836A (zh) 利用曼徹斯特編碼的單線雙向匯流排訊號傳遞