TW201908984A - 由第三方啟動之加速改良式內部積體電路停止 - Google Patents

由第三方啟動之加速改良式內部積體電路停止 Download PDF

Info

Publication number
TW201908984A
TW201908984A TW107120802A TW107120802A TW201908984A TW 201908984 A TW201908984 A TW 201908984A TW 107120802 A TW107120802 A TW 107120802A TW 107120802 A TW107120802 A TW 107120802A TW 201908984 A TW201908984 A TW 201908984A
Authority
TW
Taiwan
Prior art keywords
transaction
slave
bus
slave device
master
Prior art date
Application number
TW107120802A
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 TW201908984A publication Critical patent/TW201908984A/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/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
    • 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
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4086Bus impedance matching, e.g. termination
    • 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)
    • 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/0038System on Chip

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)
  • Information Transfer Systems (AREA)

Abstract

本發明描述用於根據一I3C協定經由一串列匯流排而通信之系統、方法及設備,其啟用一非參與裝置以致使一I3C匯流排上之一主控器裝置傳輸終止與耦接至該I3C匯流排之一受控器裝置之一異動的一停止狀況。一種在耦接至一串列匯流排之一主控器裝置處執行之方法包括啟動該主控器裝置與一第一受控器裝置之間的一異動,當一第二受控器裝置介入該異動時在完成該異動之前終止該異動,及在終止該異動之後服務於該第二受控器裝置。該異動可包括經由該串列匯流排傳輸資料訊框。該第二受控器裝置可在其並非該異動之一方時介入。

Description

由第三方啟動之加速改良式內部積體電路停止
本發明大體上係關於處理器與周邊裝置之間的介面,且更特定而言,係關於改良經調適以准許裝置之間的通信的串列匯流排之控制。
諸如行動通信裝置之某些裝置包括各種組件,包括電路板、積體電路(IC)裝置及/或系統單晶片(SoC)裝置。該等組件可包括處理電路、使用者介面組件、儲存體及經由串列匯流排而通信之其他周邊組件。串列匯流排可根據標準化或專屬協定而操作。
在一個實例中,內部積體電路串列匯流排(其亦可被稱作I2C匯流排或I²C匯流排)為意欲用於將低速周邊設備連接至處理器之串列單端電腦匯流排。在一些實例中,串列匯流排可使用多主控器協定,其中一或多個裝置可用作用於在串列匯流排上傳輸之不同訊息之主控器及受控器。資料可被序列化且經由兩個雙向連線而傳輸,該兩個雙向連線可攜載可在串列資料線(SDA)上攜載之資料信號,及可在串列時脈線(SCL)上攜載之時脈信號。
在另一實例中,I3C匯流排上使用之協定自I2C協定得到某些實施態樣。I3C匯流排係由行動工業處理器介面聯盟(Mobile Industry Processor Interface Alliance;MIPI)定義。I2C之原始實施方案在標準模式操作中支援高達100千位元/秒(100 kbps)之資料傳信速率,其中較新近的標準在快速模式操作中支援400 kbps之速度且在快速模式加操作中支援1百萬位元/秒(Mbps)之速度。I3C實施方案中使用之某些協定可使用較高傳輸器時脈速率、藉由在兩個或多於兩個連線之傳信狀態下編碼資料及/或經由其他編碼技術來增加串列匯流排上之可用頻寬。I3C協定之某些態樣係得自I2C協定之對應態樣,且I2C及I3C協定可共存於同一串列匯流排上。
不斷地需求串列匯流排之效能增加,且一直需要提供I3C協定及其類似者中使用之協定之改良式傳信及最佳化。
本發明之某些態樣係關於最佳化可在多種通信模式下操作之串列匯流排上之輸送量的系統、設備、方法及技術。在一個實例中,揭示了非參與裝置使I3C匯流排上之主控器裝置傳輸終止與耦接至I3C匯流排之受控器裝置之異動的停止狀況的技術。
在本發明之各種態樣中,一種在耦接至一串列匯流排之一主控器裝置處執行之方法包括啟動該主控器裝置與一第一受控器裝置之間的一異動,當一第二受控器裝置介入該異動時在完成該異動之前終止該異動,及在終止該異動之後服務於該第二受控器裝置。該異動可包括經由該串列匯流排傳輸資料訊框。該第二受控器裝置可在其並非該異動之一方時介入。
在一個態樣中,該第二受控器裝置藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。該頻帶內傳信可包括當該主控器裝置及該第一受控器裝置之介面電路在該異動之資料訊框之間處於一高阻抗操作模式或一開路集極(open-collector)操作模式時驅動該串列匯流排之一或多個連線。在完成該異動之前終止該異動可包括在該串列匯流排上傳輸一停止狀況。在完成該異動之前終止該異動可包括在該串列匯流排上傳輸一重複開始狀況、然後傳輸一停止狀況。在完成該異動之前終止該異動可包括繼續該頻帶內傳信以在該串列匯流排上提供一重複開始狀況,及在該串列匯流排上傳輸一停止狀況。
在某些態樣,該主控器裝置可進行以下操作:在該串列匯流排上傳輸一廣播命令,該廣播命令經組態以致使一或多個受控器裝置爭用對該串列匯流排之存取;及當該第二受控器裝置被識別為具有正爭用對該串列匯流排之存取之該一或多個受控器裝置之最高優先權時服務於該第二受控器裝置。該一或多個受控器裝置可使用頻帶內中斷來爭用對該串列匯流排之存取。可當該第二受控器裝置被識別為相比於待由該主控器裝置執行之一或多個未決異動具有較高優先權時服務於該第二受控器裝置。該第二受控器裝置可與該第二受控器裝置對該異動之一介入同時地請求終止該異動。該第一裝置可為同時地爭用對該串列匯流排之存取之複數個受控器裝置中之一者。該主控器裝置可判定該第二受控器裝置是否被啟用以介入該異動,且可當該第二受控器裝置被啟用以介入該異動時服務於該第二受控器裝置。該主控器裝置可識別相比於該第二受控器裝置上之資料具有較高優先權資料之一第三受控器裝置,判定該第二受控器裝置未被啟用以介入該異動,且當該第二受控器裝置被啟用以介入該異動時服務於該第二受控器裝置。
在一個態樣中,可將一組態命令傳輸至該第二受控器裝置。該組態命令可經組態以啟用該第二受控器裝置以作為一局外者(outsider)而介入該串列匯流排上進行之一異動。
在各種態樣中,一種設備可經調適以在耦接至一串列匯流排時作為一主控器裝置而操作。該設備可包括一匯流排介面電路及一處理裝置。該處理裝置可經調適以啟動該主控器裝置與一第一受控器裝置之間的一異動,當一第二受控器裝置介入該異動時在完成該異動之前終止該異動,及在終止該異動之後服務於該第二受控器裝置。該異動可包括經由該串列匯流排傳輸資料訊框。該第二受控器裝置可能並非該異動之一方。
在某些態樣中,該第二受控器裝置經組態以藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。該頻帶內傳信可包括當該主控器裝置及該第一受控器裝置之介面電路在該異動之資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時驅動該串列匯流排之一或多個連線。
在一些態樣中,該設備經調適以在該串列匯流排上傳輸一廣播命令。該廣播命令可經組態以致使一或多個受控器裝置爭用對該串列匯流排之存取。該設備經調適以當該第二受控器裝置被識別為具有正爭用對該串列匯流排之存取之該一或多個受控器裝置之最高優先權時服務於該第二受控器裝置。一或多個受控器裝置可使用頻帶內中斷來爭用對該串列匯流排之存取。可當該第二受控器裝置被識別為相比於待由該主控器裝置執行之一或多個未決異動具有較高優先權時服務於該第二受控器裝置。
在一個態樣中,該設備經調適以將一組態命令傳輸至該第二受控器裝置。該組態命令可經組態以啟用該第二受控器裝置以作為一局外者而介入該串列匯流排上進行之一異動。
在各種態樣中,一種設備包括用於啟動該主控器裝置與一第一受控器裝置之間的一異動的構件、用於當一第二受控器裝置介入該異動時在完成該異動之前終止該異動的構件,及用於在終止該異動之後服務於該第二受控器裝置的構件。該異動可包括經由該串列匯流排傳輸資料訊框。該第二受控器裝置原本可為該異動中之一非參與者。該第二受控器裝置可藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。該頻帶內傳信可包括當該主控器裝置及該第一受控器裝置之介面電路在該異動之資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時驅動該串列匯流排之一或多個連線。
在一個態樣中,該用於服務於該第二受控器裝置的構件可經調適以在該串列匯流排上傳輸一廣播命令。該廣播命令可經組態以致使一或多個受控器裝置爭用對該串列匯流排之存取。該用於服務於該第二受控器裝置的構件可經調適以當該第二受控器裝置被識別為具有正爭用對該串列匯流排之存取之該一或多個受控器裝置之最高優先權時服務於該第二受控器裝置。該一或多個受控器裝置使用頻帶內中斷來爭用對該串列匯流排之存取。可當該第二受控器裝置被識別為相比於待由該主控器裝置執行之一或多個未決異動具有較高優先權時服務於該第二受控器裝置。
在各種態樣中,一種處理器可讀儲存媒體包括程式碼、指令及/或資料。該程式碼在由一或多個處理器執行時可致使該一或多個處理器啟動該主控器裝置與一第一受控器裝置之間的一異動,當一第二受控器裝置介入該異動時在完成該異動之前終止該異動,及在終止該異動之後服務於該第二受控器裝置。該異動可包括經由該串列匯流排傳輸資料訊框。該第二受控器裝置可能並非該異動之一方。
該第二受控器裝置可經組態以藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。頻帶內傳信可包括當該主控器裝置及該第一受控器裝置之介面電路在該異動之資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時驅動該串列匯流排之一或多個連線。
相關申請案之交叉參考
本申請案主張2017年7月14日在美國專利商標局申請之臨時專利申請案第62/532,530號及2018年6月14日在美國專利商標局申請之非臨時專利申請案第16/008,509號的優先權及權益。
下文結合所附圖式所闡明之實施方式意欲作為各種組態之描述,且並不意欲表示可實踐本文中所描述之概念的僅有組態。出於提供對各種概念之徹底理解的目的,實施方式包括特定細節。然而,對於熟習此項技術者而言將顯而易見,可在無此等特定細節之情況下實踐此等概念。在一些情況下,以方塊圖形式展示熟知的結構及組件以便避免混淆此等概念。
現在將參考各種設備及方法呈現本發明之若干態樣。此等設備及方法將在以下實施方式中予以描述且在隨附圖式中藉由各種區塊、模組、組件、電路、步驟、處理程序、演算法等等(統稱為「元件」)予以繪示。此等元件可使用電子硬體、電腦軟體或其任何組合予以實施。此等元件被實施為硬體抑或軟體取決於特定應用及強加於整體系統之設計約束。概觀
包括多個SoC及/或其他IC裝置之裝置常常使用串列匯流排以將處理器與數據機及其他周邊設備連接。串列匯流排可根據由標準機構定義之規格及協定而操作。在一個實例中,串列匯流排可根據I3C協定而操作,I3C協定定義信號與傳輸之間的時序關係,其使限於根據I2C協定而通信之裝置能夠與根據I3C協定而通信之裝置共存於串列匯流排上。根據本發明之各種態樣,並非異動之一方的裝置可使用頻帶內傳信而介入以致使主控器裝置傳輸停止狀況且提早終止異動。主控器裝置可執行爭用解析處理程序以判定多個裝置是否請求提早終止異動。
在一些情況下,當前主控器裝置可啟動提早終止,且可執行爭用處理程序以判定另一裝置是否已同時地介入以啟動提早終止。舉例而言,當前主控器裝置可具有包括高優先權資料之一或多個未決異動,且當前主控器可在並非處理中異動之一方之受控器裝置亦啟動提早終止的時間時或附近啟動該異動之終止。當前主控器裝置可參與其在提早終止之後啟動之爭用程序。運用串列資料鏈路之設備之實例
根據某些態樣,串列資料鏈路可用以互連為諸如以下各者之設備之子組件的電子裝置:蜂巢式電話、智慧型電話、會話啟動協定(SIP)電話、膝上型電腦、筆記型電腦、迷你筆記型電腦、智慧筆記型電腦、個人數位助理(PDA)、衛星無線電、全球定位系統(GPS)裝置、智慧型家庭裝置、智慧型照明設備、多媒體裝置、視訊裝置、數位音訊播放器(例如,MP3播放器)、攝影機、遊戲機、娛樂裝置、載具組件、可穿戴計算裝置(例如,智慧型手錶、健康或健身追蹤器、眼用佩戴品等等)、電器、感測器、安全性裝置、自動販賣機、智慧型計量器、無人機、多軸直升機,或任何其他相似運作裝置。
圖1繪示可使用資料通信匯流排之設備100之實例。設備100可包括具有多個電路或裝置104、106、108及/或110之處理電路102,多個電路或裝置104、106、108及/或110可實施於一或多個ASIC及/或一或多個SoC中。在一個實例中,設備100可為通信裝置,且處理電路102可包括ASIC 104,其包括處理器112。ASIC 104可實施或用作主機或應用程式處理器。設備100可包括一或多個周邊裝置106、一或多個數據機110,及收發器108,其使該設備能夠經由天線124而與無線電存取網路、核心存取網路、網際網路及/或另一網路通信。電路或裝置104、106、108、110之組態及位置可在應用之間變化。
電路或裝置104、106、108、110可包括子組件之組合。在一個實例中,ASIC 104可包括多於一個處理器112、板面記憶體114、匯流排介面電路116,及/或其他邏輯電路或功能。處理電路102可由作業系統控制,該作業系統可提供應用程式設計介面(API)層,其使一或多個處理器112能夠執行駐存於處理電路102上提供之板面記憶體114或其他處理器可讀儲存體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、118c、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、控制邏輯212、收發器210,及線驅動器/接收器214a及214b。控制邏輯212可包括諸如狀態機、定序器、信號處理器或一般用途處理器之處理電路。收發器210可包括接收器210a、傳輸器210c及共同電路210b,包括時序、邏輯及儲存電路及/或裝置。在一個實例中,傳輸器210c基於由時脈產生電路208提供之時序編碼及傳輸資料。
裝置202、220及/或222a至222n中之兩者或多於兩者可根據本文中所揭示之某些態樣及特徵而調適以經由共同匯流排支援複數個不同通信協定,其可包括I2C協定及/或I3C協定。在一些情況下,使用I2C協定而通信之裝置可與使用I3C協定而通信之裝置共存於同一2連線介面上。在一個實例中,I3C協定可運用提供較高效能之一或多選用高資料速率(HDR)操作模式支援提供介於6百萬位元/秒(Mbps)與16 Mbps之間的資料速率之操作模式。I2C協定可符合實際的I2C標準,其提供範圍可介於100千位元/秒(kbps)與3.2 Mbps之間的資料速率。除了匯流排控制之資料格式及態樣之外,I2C及I3C協定亦可定義用於2連線串列匯流排230上傳輸之信號的電及時序態樣。在一些態樣中,I2C及I3C協定可定義影響與串列匯流排230相關聯之某些信號位準的直流(DC)特性,及/或影響串列匯流排230上傳輸之信號之某些時序態樣的交流(AC)特性。
圖3繪示具有連接至串列匯流排302之裝置304、306、308、310、312、314及316之組態的系統300,藉以I3C裝置304、312、314及316可經調適或組態以使用I3C協定經由串列匯流排302獲得較高資料傳送速率。I3C裝置304、312、314及316可與經習知組態之I2C裝置306、308及310共存。根據期望或需要,I3C裝置304、312、314及316可替代地或另外使用習知I2C協定而通信。
當主控器裝置304在控制串列匯流排302時作為I3C匯流排主控器而操作時,串列匯流排302可以較高資料傳送速率操作。在所描繪實例中,單一主控器裝置304可在I2C模式下及在I3C模式下用作匯流排主控器,該I3C模式支援超過當串列匯流排302根據習知I2C協定而操作時達成之資料傳送速率的資料傳送速率。用於較高資料速率訊務之傳信可利用I2C協定之某些特徵,使得可經由串列匯流排302攜載較高資料速率訊務,而不會損害耦接至串列匯流排302之舊版I2C裝置306、308、310及312之功能性。I2C 匯流排中之時序
圖4包括繪示習知I2C匯流排上之SDA連線402與SCL連線404之間的關係的時序圖400及420。第一時序圖400繪示在經習知組態之I2C匯流排上傳送資料時SDA連線402與SCL連線404之間的時序關係。SCL連線404提供可用以取樣SDA連線402中之資料的一系列脈衝。該等脈衝(包括例如脈衝412)可被定義為期間SCL連線404被判定為在接收器處處於高邏輯狀態的時間。當SCL連線404在資料傳輸期間處於高邏輯狀態時,SDA連線402上之資料被要求穩定且有效;當SCL連線404處於高邏輯狀態時,SDA連線402之狀態不被准許改變。
用於習知I2C協定實施方案之規格(其可被稱作「I2C規格」)定義脈衝412在SCL連線404上之高時段的最小持續時間410 (tHIGH )。I2C規格亦定義在發生脈衝412之前的設置時間406 (tSU )及在脈衝412終止之後的保持時間408 (tHold )的最小持續時間。SDA連線402之傳信狀態被預期為在設置時間406及保持時間408期間穩定。設置時間406定義在SDA連線402上之傳信狀態之間的轉變416之後直至到達脈衝412在SCL連線404上之上升邊緣的最大時間段。保持時間408定義在脈衝412在SCL連線404上之下降邊緣之後直至SDA連線402上之傳信狀態之間的下一轉變418的最小時間段。I2C規格亦定義用於SCL連線404之低時段(tLOW )的最小持續時間414。SDA連線402上之資料通常穩定,及/或當SCL連線404在脈衝412之前邊緣之後處於高邏輯狀態時可被捕捉達持續時間410 (tHIGH )。
圖4之第二時序圖420繪示在習知I2C匯流排上之資料傳輸之間的SDA連線402及SCL連線404上之傳信狀態。I2C協定提供8位元資料(位元組)及7位元位址之傳輸。接收器可藉由將SDA連線402驅動至低邏輯狀態達一個時脈時段來應答傳輸。低傳信狀態表示指示成功接收之應答(ACK),且高傳信狀態表示指示接收失敗或接收錯誤之否定應答(NACK)。
開始狀況422被定義為准許當前匯流排主控器傳信資料將被傳輸。當SDA連線402在SCL連線404為高時自高轉變為低時發生開始狀況422。I2C匯流排主控器最初傳輸開始狀況422,其亦可被稱作開始位元,然後傳輸其希望與之交換資料的I2C受控器裝置之7位元位址。在該位址之後為指示是否將發生讀取或寫入操作之單一位元。經定址I2C受控器裝置在可用之情況下以ACK位元作出回應。若無I2C受控器裝置作出回應,則I2C匯流排主控器可將SDA連線402之高邏輯狀態解譯為NACK。接著,主控器裝置及受控器裝置可在訊框中交換資訊之位元組,其中該等位元組經序列化使得首先傳輸最高有效位元(MSB)。當I2C主控器裝置傳輸停止狀況424時完成位元組之傳輸。當SDA連線402在SCL連線404為高時自低轉變為高時發生停止狀況424。I2C規格要求當SCL連線404為低時發生SDA連線402之所有轉變,且例外可被視為開始狀況422或停止狀況424。
圖5包括繪示與I2C匯流排上之資料傳輸相關聯之時序的圖解500及520。如第一圖解500所繪示,可在停止狀況508與連續開始狀況510之間發生閒置時段514。此閒置時段514可延長,且當習知I2C匯流排在停止狀況508與連續開始狀況510之間保持閒置時可導致資料輸送量縮減。在操作中,當I2C匯流排主控器傳輸第一開始狀況506、然後傳輸資料時開始忙碌時段512。當I2C匯流排主控器傳輸停止狀況508且隨後發生閒置時段514時,忙碌時段512結束。當傳輸第二開始狀況510時,閒置時段514結束。
第二時序圖520繪示可供縮減閒置時段514之發生次數的方法。在所繪示實例中,在第一忙碌時段532結束之前,資料可用於傳輸。I2C匯流排主控器裝置可傳輸重複開始狀況528 (Sr)而非停止狀況。重複開始狀況528終止先前資料傳輸且同時地指示下一資料傳輸之開始。對應於重複開始狀況528的SDA連線522上之狀態轉變相同於針對在閒置時段530之後發生之開始狀況526的SDA連線522上之狀態轉變。對於開始狀況526及重複開始狀況528兩者,SDA連線522自高轉變為低,而SCL連線524為高。當在資料傳輸之間使用重複開始狀況528時,在第一忙碌時段532之後緊接著第二忙碌時段534。
圖6為繪示與根據I2C協定發送至受控器裝置之命令字相關聯之時序之實例的圖解600。在該實例中,主控器裝置運用開始狀況606啟動異動,藉以SDA連線602自高驅動為低,而SCL連線604保持為高。接著,主控器裝置在SCL連線604上傳輸時脈信號。接著,在SDA連線602上傳輸受控器裝置之七位元位址610。在七位元位址610之後為寫入/讀取命令位元612,其在為低時指示「寫入」且在為高時指示「讀取」。受控器裝置可藉由將SDA連線602驅動為低而在下一時脈間隔614中以應答(ACK)作出回應。若受控器裝置未作出回應,則SDA連線602被拉動為高且主控器裝置將缺少回應視為NACK。主控器裝置可藉由在SCL連線604為高時將SDA連線602自低驅動為高而運用停止狀況608終止異動。此異動可用以判定經傳輸位址耦接至I2C匯流排之受控器裝置是否處於作用中狀態。
主控器裝置在傳輸寫入/讀取命令位元612之後放棄SDA連線602之控制,使得受控器裝置可在SDA連線602上傳輸應答(ACK)位元。在一些實施方案中,使用開路汲極(open-drain)驅動器以驅動SDA連線602。當使用開路汲極驅動器時,主控器裝置及受控器裝置中之SDA驅動器可同時地在作用中。在其他實施方案中,使用推挽驅動器以驅動SDA連線602。當使用推挽驅動器時,當主控器裝置及受控器裝置兩者中之SDA驅動器同時地在作用中時,SDA連線602之傳信狀態可能不定。I3C 匯流排中之時序
圖7為繪示與根據單資料速率(SDR) I3C協定自受控器裝置讀取之資料相關聯之時序之實例的圖解700。在該實例中,主控器裝置在第一連線上提供時脈信號(SCL 704),其控制第二連線上傳輸之資料信號(SDA 702)之時序。SDA 702可為雙向的,其中資料可在第一異動中自主控器裝置傳輸至受控器裝置或在第二異動中自受控器裝置傳輸至主控器裝置。某些I3C裝置可包括可在開路汲極模式及/或推挽模式下驅動SDA 702之驅動器。在開路汲極模式下,驅動器可容忍由匯流排及主控器裝置同時地驅動SDA連線602。在推挽模式下操作之驅動器相比於在開路汲極模式下操作之驅動器可較快地在傳信狀態之間切換。根據I3C協定,串列匯流排可處於I3C裝置驅動器在推挽模式下操作且主控器裝置及受控器裝置通常不能同時地驅動SDA 702的操作狀態。
圖7包括根據I3C協定之匯流排轉回之實例。第一時刻表722繪示可在匯流排轉回期間在不同操作模式之間切換的主控器裝置線驅動器。與第一時刻表722相關聯之主控器裝置線驅動器耦接至SDA 702。在由受控器裝置傳輸資料位元組730期間,主控器裝置中之線驅動器處於高阻抗模式714且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組730之最後位元706,主控器裝置之線驅動器在作用中模式718下活躍地驅動SDA 702之前進入開路汲極模式716。
在第二時刻表724中繪示耦接至SDA 702的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式726,從而驅動資料位元組730之最後位元706,且之後由主控器裝置驅動轉變位元708 (T位元)。在用以取樣T位元708之時脈脈衝710之上升邊緣732之後,隨著主控器驅動器控制SDA 702,受控器裝置之線驅動器接著進入高阻抗模式728。
在所繪示實例中,主控器裝置傳輸轉變位元708以建立在傳輸停止狀況712之前所需要之時序狀況。在主控器驅動器進入作用中模式718之後,主控器裝置可替代地傳輸重複開始狀況以繼續自受控器裝置接收資料。
在一些應用中,I3C匯流排可用以在不同裝置之間攜載各種資料訊務。在一些情況下,主控器裝置可判定已發生需要終止當前異動之例外。例外可由資料傳輸之錯誤、由受控器裝置或主控器裝置偵測之事件造成。例外可由應用程式處理器產生。例外可與待經由I3C匯流排傳輸之優先權訊務之可用性相關。若匯流排主控器正在I3C匯流排上活躍地傳輸,則可立即傳輸開始狀況或重複開始狀況以開始傳輸與例外相關之命令。舉例而言,主控器裝置可在終止命令或資料位元組之進行中傳輸的同時傳輸開始狀況或重複開始狀況。接著,主控器裝置可發出命令以讀取或寫入高優先權資料。在發生例外之前涉及異動之受控器裝置辨識該開始狀況或重複開始狀況,且判定在當前傳輸中已發生錯誤。受控器裝置可重設其匯流排介面之狀態以準備用於下一匯流排活動。
若匯流排主控器正使用推挽驅動器自耦接至I3C匯流排之受控器裝置讀取資料,則一習知主控器裝置可在受控器裝置已完成傳輸當前位元組且進入高阻抗模式之後發出與例外相關之命令,且主控器裝置可傳輸一開始狀況或重複開始狀況。例外之發生與讀取之終止之間的延遲可影響系統回應性。當使用開路汲極連接器時,匯流排主控器可藉由傳輸一重複開始狀況來中斷讀取異動,此致使受控器裝置重設其匯流排介面。
圖8繪示根據I3C SDR協定與串列匯流排之操作相關之態樣。時序圖800繪示當串列匯流排在由I3C規格定義之一種SDR操作模式下操作時串列匯流排上之傳信。可使用串列匯流排之第二連線(SCL連線804)上傳輸之時脈信號來捕捉串列匯流排之第一連線(SDA連線802)上傳輸之資料。在資料傳輸期間,當SCL連線804處於高電壓位準時,SDA連線802之傳信狀態812被預期為在整個脈衝814之持續時間中保持恆定。當SCL連線804處於高電壓位準時SDA連線802上之轉變指示開始狀況806、停止狀況808或重複開始810。
在I3C串列匯流排上,開始狀況806被定義為准許當前匯流排主控器傳信資料將被傳輸。當SDA連線802在SCL連線804為高時自高轉變為低時發生開始狀況806。匯流排主控器可使用停止狀況808傳信傳輸之完成及/或終止。當SDA連線802在SCL連線804為高時自低轉變為高時指示停止狀況808。重複開始810可由希望在完成第一傳輸後就啟動第二傳輸之匯流排主控器傳輸。重複開始810代替地被傳輸,且具有停止狀況808之有效值,之後緊接著開始狀況806。當SDA連線802在SCL連線804為高時自高轉變為低時發生重複開始810。
匯流排主控器可在傳輸受控器之位址、命令及/或資料之前傳輸可為開始狀況806或重複開始810之啟動符號822。圖8繪示由匯流排主控器進行之命令碼傳輸820。在傳輸中,在啟動符號822之後可為指示命令碼826將跟隨之預定義命令824。命令碼826可例如致使串列匯流排轉變至所期望操作模式。在一些情況下,可傳輸資料828。在命令碼傳輸820之後可為終止符號830,其可為停止狀況808或重複開始810。
某些串列匯流排介面支援提供較高資料速率之傳信方案。在一個實例中,I3C規格定義多重高資料速率(HDR),包括高資料速率、雙資料速率(HDR-DDR)模式,其中在時脈信號之上升邊緣及下降邊緣處傳送資料。圖9為繪示在I3C HDR-DDR模式下之傳輸之實例的時序圖900,其中SDA連線904上傳輸之資料與SCL連線902上傳輸之時脈信號同步。時脈信號包括由上升邊緣916及下降邊緣界定之脈衝920。無論串列匯流排上之資料流動方向如何,主控器裝置皆在SCL連線902上傳輸時脈信號。傳輸器在時脈信號之每一邊緣916、918處輸出一個位元之資料。接收器基於時脈信號之每一邊緣916、918之時序而捕捉一個位元之資料。
圖9之時序圖900中繪示I3C HDR-DDR模式傳輸之某些其他特性。根據某些I3C規格,在HDR-DDR模式下傳送之資料係以字為單位而組織。一字通常包括16個酬載位元,被組織為兩個8位元位元組910、912,前面為兩個前置碼位元906、908且後面為兩個同位位元914,總共20個位元,其在10個時脈脈衝之邊緣上傳送。可藉由同位位元914之傳輸來保護傳輸之完整性。
在HDR-DDR模式下,實體SDA連線904由資料之發送器活躍地驅動,且接收器不能夠在SDA連線904上之信號中發送請求以停止或暫停傳輸。可能期望請求停止或暫停傳輸以實施用於串列鏈路之流量控制能力。若沒有流量控制之可用性,則接收器必須吸收所有經傳輸資料,而不管接收器處理、儲存或轉發資料之能力如何。在一些情況下,當接收器之記憶體空間已耗盡,傳送過快地遞送資料,或接收器忙於或負擔處置其他任務等等時,流量控制技術可能為有用的或期望的。
在I3C標準之一些實施方案中,I3C HDR-DDR協定可支援用於讀取程序之某些基本流量控制,其中受控器裝置正將資料傳送至匯流排主控器裝置。用於讀取程序之流量控制使主控器裝置能夠終止讀取異動。本文中所揭示之某些態樣使耦接至串列匯流排之裝置能夠提供用於I3C HDR-DDR寫入程序之流量控制,其中主控器裝置或同級受控器裝置正向受控器裝置傳輸資料。針對I3C HDR-DDR寫入程序所實施之流量控制程序使受控器裝置能夠向主控器裝置傳信請求以立即終止寫入異動。
根據本文中所揭示之某些態樣,受控器裝置可藉由操縱一或多個前置碼位元906、908來請求主控器裝置終止寫入異動。在一些情況下,主控器裝置可承擔對串列匯流排之控制且回應於終止寫入異動之請求而終止當前異動。在其他情況下,發送器可繼續資料傳送。終止或繼續異動可取決於異動類型。在一個實例中,主控器裝置可藉由傳輸HDR重新開始或結束型樣來啟動異動之終止。
圖10包括繪示根據某些I3C協定對HDR三元模式傳輸之解碼的傳信1020之實例。基於SDA連線402及SCL連線404之傳信狀態之間的每一轉變產生三元數位1022。資料表1026繪示一種將三元值指派至SDA連線402及SCL連線404之傳信狀態之轉變的方法。舉例而言,表示轉變之二進位數可使其最低有效位元在SDA連線402上觀測到傳信狀態改變時設定為「0」且在SDA連線402上觀測到無傳信狀態改變時設定為「1」。二進位數之最高有效位元可在SCL連線404上觀測到傳信狀態改變時設定為「0」且在SCL連線404上觀測到無傳信狀態改變時設定為「1」。由於必須在至少一個連線402或404上發生轉變,故二進位數未設定為「11」且所得2位元二進位數表示三元值。當已接收到所有12個符號時,可轉碼12位元二進位數中之每對數位以獲得18位元資料字1024。
圖11繪示在SDA連線1004及SCL連線902、1002上傳輸以啟動某些模式改變之傳信1100之實例。傳信1100係由I3C協定定義以用於啟動自I3C HDR通信模式之重新開始、結束及/或中斷。傳信1100包括可用以導致HDR中斷或結束之HDR結束1102。HDR結束1102以SCL連線902、1002上之下降邊緣1104開始,且以SCL連線902、1002上之上升邊緣1106結束。在SCL連線902、1002處於低傳信狀態時,在SDA連線904、1004上傳輸四個脈衝。當SCL連線902、1002上未提供脈衝時,I2C裝置忽略SDA連線904、1004。
本文中所揭示之某些態樣係關於在I3C SDR模式下操作之串列匯流排予以描述。選擇I3C SDR模式之實例係為了便於描述及說明。當串列匯流排為在I3C HDR模式下操作之串列匯流排時,本文中所揭示之某些概念同樣地適用。預期到,本文中所揭示之原理及概念可應用於其他類型之通信介面,其中異動包括可允許異動被直接參與者中斷之狀態。本文中所揭示之某些態樣准許非參與者介入異動及/或請求提早終止異動。本文中所揭示之某些態樣係關於可組態介入能力,藉以經調適以能夠介入之裝置可經靜態地或動態地組態以在某些操作狀況下介入,該等操作狀況包括例如當在非參與裝置處可得到高優先權資料或傳信時。由異動局內者啟動之加速 I3C 停止
根據本文中所揭示之某些態樣,經組態以使用根據I3C協定及規格之推挽驅動器而通信的主控器裝置可經調適以在自受控器裝置讀取時加速或強制轉回。主控器裝置及局內者受控器裝置為異動之一方,且在本文中被稱作局內者(insider)裝置。在第一態樣中,當由受控器傳輸之資料訊框或資料位元組之最後位元由高電壓位準表示時,可藉由推進重複開始狀況及/或停止狀況之傳輸來實現加速。在第二態樣中,當由受控器傳輸之資料訊框或資料位元組之最後位元未由高電壓位準表示時,可藉由推進重複開始狀況及/或停止狀況之傳輸來實現加速。在一些情況下,可使用加速轉回以在完成傳輸之前由局內者受控器裝置終止傳輸。
圖12包括繪示第一實例之時序圖1200,在第一實例中,重複開始狀況1208可由局內者裝置提早啟動。在一些情況下,重複開始狀況1208可經確證以終止受控器裝置正傳輸資料且可能已傳輸剩餘資料的異動。圖12所繪示之實例可關於在傳輸資料訊框或資料位元組1230期間偵測到例外時的情況,且此實例可被特性化為「停止與停止(stop and stop)」實例。在第一時刻表1222中繪示耦接至SDA 1202的主控器裝置中之線驅動器的操作模式。在受控器裝置傳輸資料位元組1230期間,主控器裝置中之線驅動器處於高阻抗模式1216且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組1230之最後位元1206,主控器裝置辨識SDA連線1202處於高電壓狀態。在偵測到對應於資料位元組1230之最後位元1206的高電壓狀態後,主控器驅動器就可致使主控器裝置之線驅動器進入開路汲極模式1218。在將線驅動器置於作用中驅動模式1226後,主控器裝置就可在對應於跟隨資料位元組1230之最後位元1206之轉變(或控制)位元的時脈脈衝1210期間將SDA連線1202活躍地驅動為低電壓。主控器裝置可增加對應於資料位元組1230之最後位元1206的時脈脈衝1210之持續時間以針對重複開始狀況1208提供足夠的設置時序。在下一時脈脈衝1228期間,主控器裝置可傳輸停止狀況1212以終止串列匯流排上之傳輸。
在第二時刻表1224中繪示耦接至SDA 1202的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式1232。當受控器裝置辨識資料位元組1230之最後位元1206致使SDA 1202進入高狀態時,受控器裝置可致使其驅動器進入高阻抗模式1220以准許主控器驅動器選擇控制SDA 1202。當受控器裝置進入高阻抗模式1220時,且在主控器裝置進入作用中驅動模式1226之前,可藉由終端電阻器將SDA 1202拉動為高。在一個實例中,終端電阻器為經由主控器裝置所控制之開關耦接至SDA 1202的開路汲極類(class)上拉電阻器。
在傳輸SCL 1204之下降邊緣之後或同時,主控器裝置可進入開路汲極模式1218 (運用上拉)。主控器裝置可延長SCL 1204上之電壓高狀態之持續時間以符合與開路汲極模式1218相關聯之時序要求。在藉由經延長時脈脈衝1210實現之足夠延遲之後,主控器將SDA 1202拉動為低,藉此提供重複開始狀況(重複開始狀況1208)。主控器裝置將SDA連線1202保持處於低狀態達足以符合與開路汲極模式1218相關聯之時序要求的時間段。在SCL 1204上之下一上升邊緣之後,主控器裝置將SDA 1202驅動為高,從而提供停止狀況1212。
圖13包括繪示第二實例之時序圖1300,在第二實例中,重複開始狀況1308可由局內者裝置提早啟動。在一些情況下,重複開始狀況1308可經確證以終止受控器裝置正傳輸資料且可能已傳輸剩餘資料的異動。圖13所繪示之實例可關於在傳輸資料訊框或資料位元組1330期間偵測到例外時的情況,且此實例可被特性化為「停止與執行(stop and go)」實例。在第一時刻表1322中繪示耦接至SDA 1302的主控器裝置中之線驅動器的操作模式。在受控器裝置傳輸資料位元組1330期間,主控器裝置中之線驅動器處於高阻抗模式1316且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組1330之最後位元1306,主控器裝置辨識SDA連線1302處於高電壓狀態。在偵測到對應於資料位元組1330之最後位元1306的高電壓狀態後,主控器驅動器可致使主控器裝置之線驅動器進入開路汲極模式1318。在將線驅動器置於作用中模式1312後,主控器裝置可在對應於跟隨資料位元組1330之最後位元1306之轉變(或控制)位元的時脈脈衝1310期間將SDA連線1302活躍地驅動為低電壓。主控器裝置可增加對應於資料位元組1330之最後位元1306的時脈脈衝1310之持續時間以針對重複開始狀況1308提供足夠的設置時序。在下一時脈脈衝1326時,主控器裝置可在串列匯流排上開始新異動。
在第二時刻表1324中繪示耦接至SDA 1302的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式1332。當受控器裝置辨識資料位元組1330之最後位元1306致使SDA 1302進入高狀態時,受控器裝置可致使其驅動器進入高阻抗模式1320以准許主控器驅動器選擇控制SDA 1302。當受控器裝置進入高阻抗模式1320時,且在主控器裝置進入作用中模式1312之前,可藉由終端電阻器將SDA 1302拉動為高。在一個實例中,終端電阻器係使用經由主控器裝置所控制之開關耦接至SDA 1302的開路汲極類上拉電阻器予以實施。
在一個實例中,在傳輸SCL 1304之下降邊緣之後或同時,主控器裝置進入開路汲極模式1318 (運用上拉)。主控器裝置可延長SCL 1304上之電壓高狀態之持續時間以符合與開路汲極模式1318相關聯之時序要求。在藉由經延長時脈脈衝1310實現之足夠延遲之後,主控器裝置將SDA 1302拉動為低,藉此提供重複開始狀況(重複開始狀況1308)。主控器裝置將SDA連線1302保持處於低狀態達足以符合與開路汲極模式1318相關聯之時序要求的時間段。在時脈脈衝1310之下降邊緣之後,主控器裝置可根據需要傳輸之下一資料位元驅動SDA 1302。接著,主控器裝置可在SCL 1304上提供下一時脈脈衝之上升邊緣。
當受控器裝置經組態以支援加速停止/開始時,受控器裝置在受控器裝置在SDA連線1202、1302上傳輸高電壓而終止之每一位元組之後的最後位元傳輸時段期間進入高阻抗模式。受控器裝置可支援不同通信模式,使得受控器裝置可啟用及停用針對加速停止/開始之支援。在一個實例中,受控器裝置回應於在受控器裝置處接收之命令而啟用第一通信模式,其中在第一通信模式下支援加速停止/開始。受控器裝置可回應於在受控器裝置處接收之命令而停用第一通信模式。該命令可由匯流排主控器,應用程式處理器或其他實體傳輸。
受控器裝置可針對高阻抗模式組態其線驅動器。在一個實例中,受控器裝置可閘控線驅動器之電晶體以致使線驅動器之輸出向SDA 1202、1302呈現高阻抗。應瞭解, SDA連線1202、1302之阻抗可由不處於高阻抗模式之另一裝置界定。
圖14包括繪示第三實例之時序圖1400,在第三實例中,重複開始狀況1408可由局內者裝置提早啟動。在一些情況下,重複開始狀況1408可經確證以終止受控器裝置正傳輸資料且可能已傳輸剩餘資料的異動。圖14所繪示之實例可關於在傳輸資料訊框或資料位元組1430期間偵測到例外時的情況,且此實例可被特性化為「停止與停止」實例。在第一時刻表1422中繪示耦接至SDA 1402的主控器裝置中之線驅動器的操作模式。在受控器裝置傳輸資料位元組1430期間,主控器裝置中之線驅動器處於高阻抗模式1416且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組1430之最後位元1406,主控器裝置辨識SDA連線1402處於低電壓狀態。受控器裝置根據用於匯流排之時序規格繼續驅動最後位元1406,且以便准許在接收器處取樣最後位元1406。在習知系統中,主控器裝置沒有機會驅動SDA 1402以便傳輸重複開始狀況。
根據本文中所揭示之某些態樣,主控器裝置可經調適以在資料位元組1430為在低電壓狀態下結束之第N 位元組時延長在最後位元1406之後的時脈。受控器裝置可經調適以在傳輸在低電壓狀態下結束之第N 依序傳輸位元組之最後位元1406之後釋放SDA 1402。接著,主控器裝置可傳輸重複開始狀況。N 之值可基於應用、經由串列匯流排傳送之資料類型及其他因素而選擇。N 之值可基於藉由每N 個位元組結束時增加時脈時段而引入之附加項與潛時之間的折衷而選擇,其中潛時與受控器傳輸可停止之前流逝之時間相關。N 之值可判定最壞情況潛時,且在許多實施方案中,N 大於1。
在一個實例中,N 可基於機率而選擇且可經組態為具有值4。在此實例中,可假定每一位元組之最後位元1406之電壓狀態隨機地發生,且最後位元1406處於低電壓狀態之機率為0.5,各自之最後位元1406設定為低電壓狀態位元之2個位元組之序列的發生率具有0.5 × 0.5 = 0.25之機率,各自之最後位元1406設定為低電壓狀態位元之3個位元組之序列的發生率具有0.5 × 0.5 × 0.5 = 0.125之機率,且各自之最後位元1406設定為低電壓狀態位元之4個位元組之序列的發生率具有0.5 × 0.5 × 0.5 × 0.5 = 0.0625之機率。當N = 4時可能很少使用(時間之6.25%)本文中所揭示之技術。
在偵測到最後位元致使SDA 1402處於低電壓狀態之N 個連續位元組之序列之後,主控器裝置可啟動對應於第N 位元組之最後位元1406的SCL 1404中之脈衝上之下降邊緣1434。接著,主控器裝置可在SDA 1402上啟用開路汲極類上拉。在一個實例中,開路汲極類上拉可包括經由主控器裝置所控制之開關耦接至SDA 1402的電阻器。在針對時脈至資料轉回及主控器至受控器飛行時間(例如,主控器與受控器之間的傳信延遲)所界定之時段流逝之後,受控器釋放SDA 1402且致使其驅動器進入高阻抗模式。主控器裝置致使SCL 1404上傳輸之時脈信號進入開路汲極時序模式,其中SCL 1404具有經延長低時段1436及經延長高時段1410。SDA 1402歸因於由主控器驅動器中之開路汲極類上拉結構進行之上拉而上升至高電壓位準1414,且同時受控器之輸出向匯流排呈現高阻抗。
在SCL 1404為低時,SDA 1402達到高電壓位準1414。接著,主控器將SCL 1404驅動為高。SCL 1404之經延長高時段1410藉由將SDA 1402拉動為低而為主控器提供足夠的延遲以產生重複開始狀況1408。在下一時脈脈衝1428期間,主控器可提供停止狀況1412。
在第二時刻表1424中繪示耦接至SDA 1402的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式1432。當受控器裝置辨識第N 資料位元組1430之最後位元1406致使SDA 1402進入低狀態時,受控器裝置可致使其驅動器進入高阻抗模式1420以准許主控器驅動器選擇控制SDA 1402。當受控器裝置進入高阻抗模式1420時,且在主控器裝置進入作用中驅動模式1426之前,可藉由終端電阻器將SDA 1402拉動為高。在一個實例中,終端電阻器為經由主控器裝置所控制之開關耦接至SDA 1402的開路汲極類上拉電阻器。
圖15包括繪示第四實例之時序圖1500,在第四實例中,重複開始狀況1508可由局內者裝置提早啟動。在一些情況下,重複開始狀況1508可經確證以終止受控器裝置正傳輸資料且可能已傳輸剩餘資料的異動。圖15所繪示之實例可關於在傳輸資料訊框或資料位元組1530期間偵測到例外時的情況,且此實例可被特性化為「重複開始與執行(Repeated START and Go)」實例。在第一時刻表1522中繪示耦接至SDA 1502的主控器裝置中之線驅動器的操作模式。在受控器裝置傳輸資料位元組1530期間,主控器裝置中之線驅動器處於高阻抗模式1516且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組1530之最後位元1506,主控器裝置辨識SDA連線1502處於低電壓狀態。受控器裝置根據用於匯流排之時序規格繼續驅動最後位元1506,且以便准許在接收器處取樣最後位元1506。在習知系統中,主控器裝置沒有機會驅動SDA 1502以便傳輸重複開始狀況。
根據本文中所揭示之某些態樣,主控器裝置可經調適以在資料位元組1530為在低電壓狀態下結束之第N 依序傳輸位元組時延長在最後位元1506之後的時脈。受控器裝置可經調適以在傳輸在低電壓狀態下結束之資料位元組之最後位元1506之後釋放SDA 1502。接著,主控器裝置可傳輸重複開始狀況。N 之值可基於應用、經由串列匯流排傳送之資料類型及其他因素而選擇。N 之值可基於藉由每N 個位元組結束時增加時脈時段而引入之附加項與潛時之間的折衷而選擇,其中潛時與受控器傳輸可停止之前流逝之時間相關。N 之值判定最壞情況潛時。
在偵測到最後位元致使SDA 1402處於低電壓狀態之N 個連續位元組之序列之後,主控器裝置可啟動對應於第N 位元組之最後位元1506的SCL 1504中之脈衝上之下降邊緣1534。接著,主控器可在SDA 1502上啟用開路汲極類上拉。在一個實例中,開路汲極類上拉可包括經由主控器裝置所控制之開關耦接至SDA 1502的電阻器。在針對時脈至資料轉回及主控器至受控器飛行時間(例如,主控器與受控器之間的傳信延遲)所界定之時段流逝之後,受控器釋放SDA 1502且致使其驅動器進入高阻抗模式。主控器裝置致使SCL 1504上傳輸之時脈信號進入開路汲極時序模式,其中SCL 1504具有脈衝1510,其具有經延長高時段及關聯經延長低時段1536。SDA 1502歸因於由主控器驅動器中之開路汲極類上拉結構進行之上拉而上升至高電壓位準1514,且同時受控器之輸出向匯流排呈現高阻抗。在下一時脈脈衝1526時,主控器裝置可在串列匯流排上開始新傳輸。
在第二時刻表1524中繪示耦接至SDA 1502的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式1532。當受控器裝置辨識資料位元組1530之最後位元1506致使SDA 1502進入低狀態時,受控器裝置可致使其驅動器進入高阻抗模式1520以准許主控器驅動器選擇控制SDA 1502。當受控器裝置進入高阻抗模式1520時,且在主控器裝置進入作用中驅動模式1512之前,可藉由終端電阻器將SDA 1502拉動為高。
在一個實例中,在傳輸SCL 1504之下降邊緣之後或同時,主控器裝置進入開路汲極模式1518 (運用上拉)。主控器裝置可延長SCL 1504上之電壓高狀態之持續時間以符合與開路汲極模式1518相關聯之時序要求。在藉由經延長脈衝1510實現之足夠延遲之後,主控器裝置將SDA 1502拉動為低,藉此提供重複開始狀況(重複開始狀況1508)。主控器裝置將SDA連線1502保持處於低狀態達足以符合與開路汲極模式1518相關聯之時序要求的時間段。在脈衝1510之下降邊緣之後,主控器裝置可根據需要傳輸之下一資料位元驅動SDA 1502。接著,主控器裝置可在SCL 1504上提供下一時脈脈衝之上升邊緣。
圖16包括繪示主控器裝置放棄傳輸重複開始狀況之機會的操作之第一實例的時序圖1600。此實例可關於在資料位元組之最後位元將SDA 1602置於高電壓狀態時的情況。在第一時刻表1622中繪示耦接至SDA 1602的主控器裝置中之線驅動器的操作模式。在受控器裝置傳輸資料位元組1606期間,主控器裝置中之線驅動器處於高阻抗模式1618且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組1606之最後位元1608,主控器裝置辨識SDA連線1602處於高電壓狀態。在偵測到對應於資料位元組1606之最後位元1608的高電壓狀態後,主控器驅動器就可致使主控器裝置之線驅動器進入開路汲極模式1630 (在SDA 1602上維持高電壓狀態1616)。在此實例中,主控器裝置放棄終止傳輸之機會。
在第二時刻表1624中繪示耦接至SDA 1602的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式1628且活躍地驅動1614 SDA 1602。當受控器裝置辨識資料位元組1606之最後位元1608已將SDA 1602置於高狀態時,受控器裝置可致使其驅動器進入高阻抗模式1620以准許主控器驅動器選擇控制SDA 1602。當受控器裝置進入高阻抗模式1620時,且在主控器裝置進入高阻抗模式1626之前,可藉由終端電阻器將SDA 1602拉動為高。主控器裝置放棄終止傳輸之機會,且受控器裝置可恢復執行在SDA 1602活躍地驅動資料1632。
在一個實例中,主控器裝置在啟動SCL 1604之下降邊緣1610之後或同時進入開路汲極模式(運用開路汲極類上拉)。在包括由協定指定之時脈至資料轉回時間及主控器至受控器飛行時間的延遲(例如,主控器與受控器之間的傳信延遲)之後,受控器裝置釋放SDA 1602且進入高阻抗輸出模式。歸因於開路汲極類上拉之動作,SDA 1602保持處於高電壓狀態1616。在SCL 1604進入低電壓狀態之後的短時間之後,主控器裝置停用開路汲極類上拉。受控器裝置在其時脈至資料轉回時間之後開始在推挽模式下驅動SDA 1602。受控器裝置可驅動SDA 1602,而仍啟用開路汲極類上拉。讀取異動繼續進行在推挽模式下傳輸資料1632。
圖17包括繪示主控器裝置放棄傳輸重複開始狀況之機會的操作之第二實例的時序圖1700。在第一時刻表1722中繪示耦接至SDA 1702的主控器裝置中之線驅動器的操作模式。在受控器裝置傳輸資料位元組1706期間,主控器裝置中之線驅動器處於高阻抗模式1714且未與受控器裝置之對應驅動器產生任何衝突。隨著受控器裝置正傳輸資料位元組1706之最後位元1708,主控器裝置辨識SDA連線1702處於低電壓狀態。受控器裝置根據用於匯流排之時序規格繼續驅動最後位元1708,且以便准許在接收器處取樣最後位元1708。在習知系統中,主控器裝置沒有機會驅動SDA 1702以便傳輸重複開始狀況。
受控器裝置可根據本文中所揭示之某些態樣而調適以在傳輸將SDA 1702置於低電壓狀態的第N 位元組之最後位元1708之後釋放SDA 1702。N 之值可基於應用、經由串列匯流排傳送之資料類型及其他因素而選擇。N 之值可基於藉由每N 個位元組結束時增加時脈時段而引入之附加項與潛時之間的折衷而選擇,其中潛時與受控器傳輸可停止之前流逝之時間相關。N 之值判定最壞情況潛時。
在圖17所描繪之實例中,資料位元組1706並非第N 位元組之最後位元1708將SDA 1702置於低電壓狀態的第N 依序傳輸位元組。在此實例中,受控器繼續驅動SDA 1702。主控器裝置可視情況進入開路汲極模式1712 (運用開路汲極類上拉)。在一些實例中,主控器裝置辨識資料位元組1706並非第N 位元組之最後位元1708將SDA 1702置於低電壓狀態的第N 依序傳輸位元組,且主控器裝置保持處於高阻抗模式1714。在此實例中,主控器裝置抑制傳輸重複開始狀況。
在第二時刻表1724中繪示耦接至SDA 1702的受控器裝置中之線驅動器的操作模式。受控器裝置之線驅動器最初處於作用中模式1718。當受控器裝置辨識資料位元組1706並非第N 位元組之最後位元1708將SDA 1702置於低電壓狀態的第N 依序傳輸位元組時,受控器裝置可繼續驅動SDA 1702。
在一個實例中,主控器裝置在SCL 1704上傳輸下降邊緣1726之後或同時進入開路汲極模式1712 (運用開路汲極類上拉)。主控器裝置可啟用開路汲極類上拉。在包括由協定指定之時脈至資料轉回時間及主控器至受控器飛行時間的延遲(例如,主控器與受控器之間的傳信延遲)之後,受控器裝置開始將SDA 1702驅動為高電壓狀態。受控器裝置可經設計以避免時序問題。舉例而言,受控器裝置之某些特性可經選擇以避免接近31 ns之延遲,此時受控器可錯過SCL 1704上之下一脈衝1720之上升邊緣1728。在脈衝1720之下降邊緣1730上,主控器裝置可停用開路汲極類上拉。在一些情況下,主控器裝置可在脈衝1720之下降邊緣1730之後的某一時間停用開路汲極類上拉。接著,受控器可繼續在讀取異動中傳輸資料。
圖18包括繪示主控器裝置放棄傳輸重複開始狀況之機會的操作之第三實例的時序圖1800。在第一時刻表1822中繪示耦接至SDA 1802的主控器裝置中之線驅動器的操作模式,且在第二時刻表1824中繪示耦接至SDA 1802的受控器裝置中之線性驅動器的操作模式。在受控器裝置傳輸資料位元組1806期間,主控器裝置中之線驅動器處於高阻抗模式1814且未與受控器裝置之對應驅動器產生任何衝突。受控器裝置最初處於作用中模式1826且驅動SDA 1802。隨著受控器裝置正傳輸資料位元組1806之最後位元1808,主控器裝置辨識SDA連線1802處於低電壓狀態1834。受控器裝置根據用於匯流排之時序規格繼續驅動最後位元1808,且准許在接收器處取樣最後位元1808。在習知系統中,主控器裝置沒有機會在SDA 1802上驅動重複開始狀況。
受控器裝置可根據本文中所揭示之某些態樣而調適以在傳輸將SDA 1802置於低電壓狀態的第N 位元組之最後位元1808之後釋放SDA 1802。N 之值可基於應用、經由串列匯流排傳送之資料類型及其他因素而選擇。N 之值可基於藉由每N 個位元組結束時增加時脈時段而引入之附加項與潛時之間的折衷而選擇,其中潛時與受控器傳輸可停止之前流逝之時間相關。N 之值判定最壞情況潛時且可為任何整數值。
在圖18所描繪之實例中,資料位元組1806為最後位元1808將SDA 1802置於低電壓狀態的第N 依序傳輸位元組。受控器裝置可經調適以在傳輸第N 資料位元組1806之最後位元1808之後釋放SDA 1802。在此實例中,受控器處於高阻抗模式1820且向SDA 1802呈現高阻抗,從而向主控器裝置提供傳輸重複開始狀況之機會。可藉由終端電阻將SDA 1802拉動為高。在一個實例中,主控器裝置可進入運用將SDA 1802上拉為高電壓狀態1816之開路汲極類上拉的開路汲極模式1818。主控器裝置辨識資料位元組1806為第N 位元組之最後位元1808將SDA 1802置於低電壓狀態的第N 依序傳輸位元組且判定受控器裝置是否請求重複開始。在此實例中,主控器裝置抑制傳輸重複開始狀況,且主控器裝置保持處於開路汲極模式1818,或在一些實例中保持處於高阻抗模式1814。
在所繪示實例中,主控器裝置在SCL 1804上傳輸下降邊緣1828之後或同時進入開路汲極模式1818。主控器裝置可在進入開路汲極模式1818時啟用開路汲極類上拉。SCL 1804上傳輸之時脈信號可經組態用於開路汲極時序以允許較慢轉變。舉例而言,當時脈信號經組態用於開路汲極時序時,可延長C9時脈脈衝1810之前的低時段1830。在包括由協定指定之時脈至資料轉回時間及主控器至受控器飛行時間的延遲(例如,主控器與受控器之間的傳信延遲)之後,受控器裝置釋放SDA 1802且進入高阻抗模式1820。當受控器裝置之輸出處於高阻抗模式1820時,可藉由開路汲極類上拉結構上拉SDA 1802。SDA 1802上升至高電壓位準。主控器裝置記錄SDA 1802上之高電壓狀態,同時SCL 1804在C9時脈脈衝1810期間在高電壓位準下穩定。主控器裝置因此評估受控器裝置接受讀取異動之繼續。接著,主控器裝置可隨著其開始SCL 1804上之C9時脈脈衝1810之下降邊緣而停用開路汲極類上拉。在一些情況下,在SCL 1804上已開始C9時脈脈衝1810之下降邊緣之後,主控器裝置可停用開路汲極類上拉。受控器裝置可在其由協定指定之時脈至資料轉回時間之後啟用其推挽輸出1832且開始驅動SDA 1802。可瞭解,受控器裝置可將SDA 1802驅動為低,同時啟用開路汲極類上拉。讀取異動在推挽模式下繼續。由異動局外者啟動之加速 I3C 停止
根據本文中所揭示之某些態樣,可在異動期間由並非異動之一方的裝置觸發I3C停止狀況。並非異動之一方的裝置可在本文中被稱作局外者裝置。在一個實例中,具有要傳輸之高優先權資料的局外者裝置可在耦接至I3C匯流排之兩個局內者裝置之間的異動期間強制執行一I3C停止狀況。局內者裝置通常包括主控器裝置及受控器裝置。在一個實例中,局內者裝置可經調適以在主控器裝置正自受控器裝置讀取時支援加速停止(參見圖12至圖14)。在另一實例中,主控器裝置可經調適以在主控器裝置向受控器裝置寫入時支援加速停止,使得局外者裝置可在I3C匯流排上驅動重複開始狀況。主控器裝置可經進一步調適以在由主控器裝置或局外者裝置啟動加速停止時啟動仲裁處理程序。
提早終止資料傳送可使複雜系統能夠應對緊急情形。在各種實例中,缺少記憶體資源、即將需要模式改變,或由接收器或局外者裝置啟動不同動作。當大資料傳送在進行中時,可能會出現此等事件或要求。舉例而言,接收器在異動時可能沒有足夠的可用記憶體。在另一實例中,I3C匯流排可能不可用於定義需要採取某一動作之精確時刻的攝影機應用程式。在其他實例中,當I3C匯流排涉及其他裝置之間的異動時,局外者裝置可能需要緊急存取該匯流排。局外者裝置可在緊急情形中尋求對I3C之優先權存取,諸如當偵測到過熱時,當監測異動且收集資料之裝置用完資源時,或在諸如觸控顯示應用程式之緊急低潛時應用程式中。
根據本文中所揭示之某些態樣,耦接至I3C匯流排之裝置可經調適以作為局外者而介入進行中異動。I3C匯流排可耦接一些裝置,該等裝置能夠介入其並非直接一方之異動的過程,而其他裝置可能無法進行此介入。匯流排主控器或其他裝置可維持識別裝置能力及組態之資訊,包括作為局外者裝置而介入異動之能力。在一些實施方案中,可針對個別裝置及/或針對耦接至I3C匯流排之所有裝置啟用或停用介入能力。介入能力可由應用程式組態。通常,主要匯流排主控器裝置控制介入能力之組態及/或指派,而次要匯流排主控器被迅速地通知裝置組態及/或能力。
在一些態樣中,可使用共同命令碼(CCC)來啟用及/或停用介入能力,該CCC可為廣播CCC或直接CCC。可傳輸廣播CCC以控制、組態、啟用及/或停用能夠作為局外者而介入之所有裝置。廣播CCC可包括將介入能力識別為CCC之目標的程式碼,其中資料定義能夠作為局外者而介入之所有裝置上之介入功能之狀態(例如啟用或停用)。可將直接CCC引導至特定位址,該特定位址可為由兩個或多於兩個裝置辨識之裝置位址或群組位址。直接CCC可包括將介入能力識別為CCC之目標的程式碼,其中資料定義能夠作為局外者而介入之所有裝置上之介入功能之狀態(例如啟用或停用)。
在一個實例中,能夠作為局外者而介入之裝置可藉由確證I3C頻帶內中斷(IBI)來請求當前匯流排主控器啟用其介入特徵,其中強制資料位元組(MDB)經設定為用於啟用局外者介入能力之直接CCC的值。在接收到IBI後,當前匯流排主控器就可傳輸經請求直接CCC,從而啟用局外者介入功能。在一些情況下,匯流排主控器裝置可抑制啟用介入特徵。
根據某些態樣,局外者裝置可介入如本文中所揭示之讀取異動,包括以圖12及圖14所繪示之方式,其中當局內者裝置已進入高阻抗及/或開路汲極模式時,局外者裝置驅動I3C匯流排。當一或多個經啟用局外者裝置耦接至I3C匯流排時,局外者裝置可藉由以局內者接收裝置可介入異動之方式介入流程而請求提早終止讀取異動。
當偵測到局外者裝置之介入時,當前匯流排主控器可傳輸停止狀況。舉例而言,當局內者裝置在異動之位元組之間處於高阻抗模式時,在辨識局外者裝置已驅動I3C匯流排之後,當前匯流排主控器可經調適以藉由傳輸重複開始狀況、然後傳輸停止狀況來重新確證I3C匯流排之控制。當局內者裝置請求提早終止時,當前匯流排主控器選擇在傳輸重複開始狀況之後繼續資料傳送或運用另一裝置啟動資料傳送。在一些情況下,局外者裝置可在當前匯流排主控器已請求提早終止讀取異動的同時請求提早終止讀取異動,且當前匯流排主控器可進入匯流排仲裁處理程序以判定下一異動。
在一些實施方案中,當前匯流排主控器可使用I3C廣播位址(7'h7E)立即開始新異動。當當前匯流排主控器請求提早終止時,當前匯流排主控器可評估其是否為提早終止之唯一請求者且可繼續進行提示提早終止請求之任何動作。當前匯流排主控器可判定已知且經啟用之局外者裝置正爭用I3C匯流排,且當前匯流排主控器可服務於由局外者裝置請求之IBI,或根據應用層級優先權順位繼續進行其自己的行動過程。當若干局外者正爭用I3C匯流排時,當前匯流排主控器可藉由例如傳輸開始狀況、然後傳輸I3C廣播位址來重複仲裁處理程序,直至所有爭用裝置皆被服務。當前匯流排主控器可判定未知或經停用之經啟用局外者裝置正爭用I3C匯流排,且當前匯流排主控器可在繼續仲裁處理程序之前停用來自此裝置之IBI請求。
當當前匯流排主控器尚未請求提早終止時,當前匯流排主控器可判定已知且經啟用之局外者裝置正爭用I3C匯流排,且當前匯流排主控器可服務於由局外者裝置請求之IBI,或根據應用層級優先權順位繼續進行其自己的行動過程。當若干局外者正爭用I3C匯流排時,當前匯流排主控器可藉由例如傳輸開始狀況、然後傳輸I3C廣播位址來重複仲裁處理程序,直至所有爭用裝置皆被服務。當前匯流排主控器可判定未知或經停用之經啟用局外者裝置正爭用I3C匯流排,且當前匯流排主控器可在繼續仲裁處理程序之前停用來自此裝置之IBI請求。
當當前匯流排主控器尚未請求提早終止時,當前匯流排主控器且不存在針對匯流排I3C之爭用,當前匯流排主控器可評估請求局外者裝置處於錯誤狀態或忙於另一任務。當前匯流排主控器可採取任何適當或經組態動作,其可包括傳輸停止狀況以重設介入局外者裝置中之I3C介面之狀態。
在一些情況下,當前主控器裝置可能已啟動提早終止,且可執行爭用處理程序以判定另一裝置是否已同時地介入以啟動提早終止。舉例而言,當前主控器裝置可具有包括高優先權資料之一或多個未決異動,且當前主控器可在並非處理中異動之一方之受控器裝置亦啟動提早終止時或附近啟動該異動之終止。當前主控器裝置可參與其在提早終止之後啟動之爭用程序。
根據某些態樣,局外者裝置可介入寫入異動,其中當局內者裝置已進入高阻抗及/或開路汲極模式時,局外者裝置驅動I3C匯流排。
當偵測到局外者裝置之介入時,當前匯流排主控器傳輸停止狀況。舉例而言,當前匯流排主控器可經調適以藉由傳輸重複開始狀況、然後傳輸停止狀況來重新確證I3C匯流排之控制。當前匯流排主控器可能無法判定局內者裝置、局外者裝置及/或多個裝置是否請求提早終止。當前匯流排主控器可進入匯流排仲裁處理程序以判定下一異動。
在一些實施方案中,當前匯流排主控器可使用I3C廣播位址(7'h7E)立即開始新異動。當當前匯流排主控器請求提早終止時,當前匯流排主控器可評估其是否為提早終止之唯一請求者且可繼續進行提示提早終止請求之任何動作。當前匯流排主控器可判定已知且經啟用之局外者裝置正爭用I3C匯流排,且當前匯流排主控器可服務於由局外者裝置請求之IBI,或根據應用層級優先權順位繼續進行其自己的行動過程。當若干局外者正爭用I3C匯流排時,當前匯流排主控器可藉由例如傳輸開始狀況、然後傳輸I3C廣播位址來重複仲裁處理程序,直至所有爭用裝置皆被服務。當前匯流排主控器可判定未知或經停用之經啟用局外者裝置正爭用I3C匯流排,且當前匯流排主控器可在繼續仲裁處理程序之前停用來自此裝置之IBI請求。
當當前匯流排主控器尚未請求提早終止時,當前匯流排主控器可判定已知且經啟用之局外者裝置正爭用I3C匯流排,且當前匯流排主控器可服務於由局外者裝置請求之IBI,或根據應用層級優先權順位繼續進行其自己的行動過程。當若干局外者正爭用I3C匯流排時,當前匯流排主控器可藉由例如傳輸開始狀況、然後傳輸I3C廣播位址來重複仲裁處理程序,直至所有爭用裝置皆被服務。當前匯流排主控器可判定未知或經停用之經啟用局外者裝置正爭用I3C匯流排,且當前匯流排主控器可在繼續仲裁處理程序之前停用來自此裝置之IBI請求。
當當前匯流排主控器尚未請求提早終止時,當前匯流排主控器且不存在針對匯流排I3C之爭用,當前匯流排主控器可評估請求局外者裝置處於錯誤狀態或忙於另一任務。當前匯流排主控器可採取任何適當或經組態動作,其可包括傳輸停止狀況以重設介入局外者裝置中之I3C介面之狀態。
圖19繪示可由根據本文中所揭示之某些態樣而調適的主控器裝置執行之爭用解析處理程序之實例。該處理程序可在由局內者裝置及/或一或多個局外者裝置進行之提早終止請求之後啟動。在一個實例中,當局內者裝置處於高阻抗及/或開路集極模式時,可藉由驅動I3C匯流排之一或多個連線來請求提早終止,如本文中所提供之某些實例中所揭示。在一些情況下,可藉由在I3C匯流排上傳輸重複開始狀況來請求提早終止。在一個實例中,當前主控器裝置可藉由傳輸重複開始狀況來請求提早終止。在另一實例中,當局內者裝置處於高阻抗及/或開路集極模式時,在偵測到I3C匯流排之一或多個連線已被驅動之後,當前主控器裝置可傳輸重複開始狀況。可使用用於觸發提早終止之其他技術。
在區塊1902處,當前主控器裝置可傳輸停止狀況。停止狀況可跟隨重複開始狀況,但亦可作為處置提早終止請求之部分而傳輸。停止狀況被預期為明確地終止匯流排上之任何進行中異動,且可實現耦接至I3C匯流排之裝置中之匯流排介面電路之重設。
在區塊1904中,當前主控器裝置可使用引導至I3C廣播位址(7'h7E)之廣播命令來啟動新異動。當前匯流排主控器可判定一或多個受控器裝置是否已請求提早終止。在一些情況下,當前主控器裝置可能已啟動針對提早終止之請求。當前主控器裝置可為提早終止之唯一請求者或可為嘗試啟動提早終止請求之複數個裝置中之一者。
在區塊1906處,當前主控器裝置可判定是否任何受控器裝置已對廣播命令作出回應作為爭用對I3C匯流排之存取的手段。若尚無受控器裝置作出回應,則當前主控器裝置可在區塊1908處繼續。若一或多個受控器裝置已作出回應,則當前主控器裝置可在區塊1910處繼續。
在區塊1908處,當前主控器裝置已判定尚無受控器裝置對廣播命令作出回應。廣播命令可為用以識別及服務於受控器裝置之多個廣播命令中之一者,且可在已服務於所有受控器裝置之後到達區塊1908。然後,當前主控器裝置可執行一或多個未決異動,包括當未決異動致使當前主控器裝置啟動先前異動之提早終止時。當沒有未決異動時,當前主控器裝置可傳輸停止狀況。在一些實例中,當前主控器裝置可在終止爭用循環之前執行未決異動。
在區塊1910處,當前主控器裝置已判定尚無受控器裝置對廣播命令作出回應。當前主控器裝置可選擇用於存取I3C匯流排之最高優先權爭用者,及/或可基於其他準則或系統組態選擇用以存取I3C匯流排之爭用者中之一者。當前主控器裝置可判定經選擇爭用者是否為經啟用局外者裝置。局外者裝置經調適以在經啟用時介入其他裝置之間的異動。可藉由初始組態或在主控器裝置之操作期間啟用或停用局外者裝置。可在應用程式之指導下啟用或停用局外者裝置。當前主控器裝置可維持識別受控器裝置是否已經調適或組態以作為局外者裝置而操作以及局外者裝置之啟用狀態的組態資訊。當當前主控器裝置判定經選擇爭用者並非經啟用局外者裝置時,當前主控器裝置可進行至區塊1912。當經選擇爭用者為經啟用局外者裝置時,當前主控器裝置可進行至區塊1914。
在區塊1912處,當前主控器裝置已選擇並非經啟用局外者裝置之受控器裝置以供服務。當前主控器裝置可傳輸組態命令或以其他方式防止經選擇爭用者進一步參與爭用處理程序。在一個實例中,當在爭用處理程序中使用頻帶內中斷(IBI)時,當前主控器裝置可傳輸致使經選擇爭用者停用其IBI能力之組態命令。在另一實例中,當前主控器裝置可遮罩自經選擇爭用者接收之IBI,使得在另外爭用循環中忽略經選擇爭用者。
在區塊1914處,當前主控器裝置可傳輸停止命令以終止爭用解析處理程序之當前循環。當前主控器裝置可返回至區塊1904以執行爭用解析處理程序之下一循環。
在區塊1916處,當前主控器裝置可能已將經選擇爭用者識別為經啟用局外者。當前主控器裝置可服務於經選擇爭用者,或可啟動相比於經選擇爭用者之服務具有較高優先權之未決異動。當當前主控器裝置選擇其未決異動中之一者以供服務時,經選擇爭用者在爭用解析處理程序之下一循環期間保持於爭用。
在區塊1918處,當前主控器裝置可自當前爭用循環辨識沒有另外爭用者。當沒有另外爭用者,且當前主控器裝置不具有未決異動時,可終止爭用解析處理程序。否則,當前主控器裝置可在區塊1914處繼續爭用解析處理程序。處理電路及方法之實例
圖20為繪示用於設備2000之硬體實施方案之實例的圖解,設備2000使用可經組態以執行本文中所揭示之一或多個功能之處理電路2002。根據本發明之各種態樣,如本文中所揭示之元件或元件之任何部分或元件之任何組合可使用處理電路2002予以實施。處理電路2002可包括由硬體及軟體模組之某一組合控制之一或多個處理器2004。處理器2004之實例包括微處理器、微控制器、數位信號處理器(DSP)、SoC、ASIC、場可程式化閘陣列(FPGA)、可程式化邏輯裝置(PLD)、狀態機、定序器、閘控邏輯、離散硬體電路,及經組態以執行貫穿本發明所描述之各種功能性之其他合適硬體。一或多個處理器2004可包括執行特定功能且可由軟體模組2016中之一者組態、擴增或控制之特殊化處理器。一或多個處理器2004可經由在初始化期間載入之軟體模組2016之組合而組態,且藉由在操作期間載入或卸載一或多個軟體模組2016而進一步組態。
在所繪示實例中,處理電路2002可運用整體上由匯流排2010表示之匯流排架構予以實施。取決於處理電路2002之特定應用及整體設計約束,匯流排2010可包括任何數目個互連匯流排及橋接器。匯流排2010將包括一或多個處理器2004及儲存體2006之各種電路鏈接在一起。儲存體2006可包括記憶體裝置及大容量儲存裝置,且可在本文中被稱作電腦可讀媒體及/或處理器可讀媒體。匯流排2010亦可鏈接各種其他電路,諸如時序源、計時器、周邊設備、電壓調節器及功率管理電路。匯流排介面2008可在匯流排2010與一或多個收發器2012之間提供介面。可針對由處理電路支援之每一網路連接技術提供一收發器2012。在一些情況下,多種網路連接技術可共用收發器2012中發現之電路系統或處理模組中之一些或全部。每一收發器2012提供用於經由傳輸媒體而與各種其他設備通信的構件。取決於設備2000之本質,亦可提供使用者介面2018 (例如,小鍵盤、顯示器、揚聲器、麥克風、搖桿),且其可直接或經由匯流排介面2008以通信方式耦接至匯流排2010。
處理器2004可負責管理匯流排2010及一般處理,該一般處理可包括執行儲存於可包括儲存體2006之電腦可讀媒體中之軟體。在此態樣中,包括處理器2004之處理電路2002可用以實施本文中所揭示之方法、功能及技術中之任一者。儲存體2006可用於儲存在執行軟體時由處理器2004操縱之資料,且軟體可經組態以實施本文中所揭示之方法中之任一者。
處理電路2002中之一或多個處理器2004可執行軟體。軟體應被廣泛地認作意謂指令、指令集、碼、碼段、程式碼、程式、子程式、軟體模組、應用程式、軟體應用程式、套裝軟體、常式、次常式、物件、可執行碼、執行緒、程序、函式、演算法等等,而無論被稱作軟體、韌體、中間軟體、微碼、硬體描述語言抑或其他。軟體可以電腦可讀形式駐存於儲存體2006中,或駐存於外部電腦可讀媒體中。外部電腦可讀媒體及/或儲存體2006可包括非暫時性電腦可讀媒體。作為實例,非暫時性電腦可讀媒體包括:磁性儲存裝置(例如,硬碟、軟碟、磁條);光碟(例如,緊密光碟(CD)或數位多功能光碟(DVD));智慧卡;快閃記憶體裝置(例如,「隨身碟(flash drive)」、記憶卡、記憶棒、保密磁碟);RAM;ROM;可程式化唯讀記憶體(PROM);可抹除PROM (EPROM),包括EEPROM;暫存器;可抽換磁碟;及用於儲存可由電腦存取及讀取之軟體及/或指令之任何其他合適媒體。作為實例,電腦可讀媒體及/或儲存體2006亦可包括載波、傳輸線,及用於傳輸可由電腦存取及讀取之軟體及/或指令之任何其他合適媒體。電腦可讀媒體及/或儲存體2006可駐存於處理電路2002中、駐存於處理器2004中、駐存於處理電路2002外部,或橫越包括處理電路2002之多個實體而分佈。電腦可讀媒體及/或儲存體2006可以電腦程式產品而體現。作為實例,電腦程式產品可包括封裝材料中之電腦可讀媒體。熟習此項技術者將辨識取決於特定應用及強加於整體系統上之整體設計約束而如何最佳地實施貫穿本發明所呈現之所描述功能性。
儲存體2006可維持以可在本文中稱作軟體模組2016之可載入碼段、模組、應用程式、程式等等而維持及/或組織的軟體。軟體模組2016中之每一者可包括在安裝或載入於處理電路2002上且由一或多個處理器2004執行時促成控制一或多個處理器2004之操作之執行階段影像2014的指令及資料。在執行時,某些指令可致使處理電路2002根據本文中所描述之某些方法、演算法及處理程序執行功能。
可在處理電路2002之初始化期間載入軟體模組2016中之一些,且此等軟體模組2016可組態處理電路2002以使能夠執行本文中所揭示之各種功能。舉例而言,一些軟體模組2016可組態處理器2004之內部裝置及/或邏輯電路2022,且可管理對諸如收發器2012、匯流排介面2008、使用者介面2018、計時器、數學共處理器等等之外部裝置之存取。軟體模組2016可包括與中斷處置器及裝置驅動器互動且控制對由處理電路2002提供之各種資源之存取的控制程式及/或作業系統。資源可包括記憶體、處理時間、對收發器2012之存取、使用者介面2018等等。
處理電路2002之一或多個處理器2004可為多功能的,藉以軟體模組2016中之一些經載入及組態以執行不同功能或相同功能之不同執行個體。一或多個處理器2004可另外經調適以管理回應於來自例如使用者介面2018、收發器2012及裝置驅動器之輸入而啟動之背景任務。為了支援多個功能之執行,一或多個處理器2004可經組態以提供多任務環境,藉以複數個功能中之每一者根據需要或期望而被實施為由一或多個處理器2004服務之任務集合。在一個實例中,多任務環境可使用在不同任務之間傳遞處理器2004之控制之分時程式2020予以實施,藉以每一任務在任何未完成操作完成後及/或回應於諸如中斷之輸入而就將一或多個處理器2004之控制傳回至分時程式2020。當任務控制一或多個處理器2004時,處理電路經有效地特殊化用於由與控制任務相關聯之功能處理之目的。分時程式2020可包括作業系統、在循環基礎上傳送控制之主迴路、根據功能之優先順序分配一或多個處理器2004之控制之功能,及/或藉由將一或多個處理器2004之控制提供至處置功能而對外部事件作出回應之中斷驅動主迴路。
圖21為可在耦接至串列匯流排且經組態以根據包括I3C協定之一或多個協定而通信之主控器裝置處執行之方法的流程圖2100。
在區塊2102處,主控器裝置可啟動主控器裝置與第一受控器裝置之間的異動。異動可包括經由串列匯流排傳輸資料訊框。
在區塊2104處,主控器裝置可當第二受控器裝置介入異動時在完成異動之前終止異動。第二受控器裝置可藉由在執行異動時在串列匯流排上傳輸頻帶內傳信而介入異動。頻帶內傳信可包括當主控器裝置及第一受控器裝置之介面電路在異動之資料訊框之間處於高阻抗操作模式或開路集極操作模式時驅動串列匯流排之一或多個連線。在完成異動之前終止異動可包括在串列匯流排上傳輸停止狀況。在完成異動之前終止異動可包括在串列匯流排上傳輸重複開始狀況、然後傳輸停止狀況。在完成異動之前終止異動可包括繼續頻帶內傳信以在串列匯流排上提供重複開始狀況,及在串列匯流排上傳輸停止狀況。
在區塊2106處,主控器裝置可在終止異動之後服務於第二受控器裝置。第二受控器裝置可能並非異動之一方。
該方法可包括:在串列匯流排上傳輸廣播命令,廣播命令經組態以致使一或多個受控器裝置爭用對串列匯流排之存取;及當第二受控器裝置被識別為具有正爭用對串列匯流排之存取之一或多個受控器裝置之最高優先權時服務於第二受控器裝置。一或多個受控器裝置可使用頻帶內中斷來爭用對串列匯流排之存取。可當第二受控器裝置被識別為相比於待由主控器裝置執行之一或多個未決異動具有較高優先權時服務於第二受控器裝置。在一些實例中,主控器裝置可與第二受控器裝置對異動之介入同時地請求終止異動。第一裝置可為同時地爭用對串列匯流排之存取之複數個受控器裝置中之一者。主控器裝置可判定第二受控器裝置是否被啟用以介入異動,且可當第二受控器裝置被啟用以介入異動時服務於第二受控器裝置。
主控器裝置可識別相比於第二受控器裝置上之資料具有較高優先權資料之第三受控器裝置,判定第二受控器裝置未被啟用以介入該異動,且當第二受控器裝置被啟用以介入異動時服務於第二受控器裝置。在一些實例中,主控器裝置可將一或多個組態命令傳輸至第二受控器裝置,其中組態命令經組態以啟用及/或停用第二受控器裝置作為局外者而介入串列匯流排上進行之異動之能力。
圖22為繪示用於使用處理電路2202之設備2200之硬體實施方案之簡化實例的圖解。該設備可根據本文中所揭示之某些態樣實施受控器裝置或實施於受控器裝置中。處理電路通常具有控制器或處理器2216,其可包括一或多個微處理器、微控制器、數位信號處理器、定序器及/或狀態機。處理電路2202可運用整體上由匯流排2220表示之匯流排架構予以實施。取決於處理電路2202之特定應用及整體設計約束,匯流排2220可包括任何數目個互連匯流排及橋接器。匯流排2220將包括由控制器或處理器2216、模組或電路2204、2206及2208以及處理器可讀儲存媒體2218表示之一或多個處理器及/或硬體模組之各種電路鏈接在一起。可提供一或多個實體層電路及/或模組2214以支援在使用多連線匯流排2212而實施之通信鏈路上、經由天線2222 (通往例如無線電網路)等等的通信。匯流排2220亦可鏈接此項技術中熟知且因此將不再進行描述之各種其他電路,諸如時序源2210、周邊設備、電壓調節器及功率管理電路。
處理器2216負責一般處理,包括執行儲存於處理器可讀儲存媒體2218上之軟體、程式碼及/或指令。處理器可讀儲存媒體可包括非暫時性儲存媒體。軟體在由處理器2216執行時致使處理電路2202執行上文針對任何特定設備所描述之各種功能。處理器可讀儲存媒體可用於儲存在執行軟體時由處理器2216操縱之資料。處理電路2202進一步包括模組2204、2206及2208中之至少一者。模組2204、2206及2208可為在處理器2216中執行之軟體模組、駐存/儲存於處理器可讀媒體2218中、為耦接至處理器2216之一或多個硬體組件,或其某一組合。模組2204、2206及2208可包括微控制器指令、狀態機組態參數或其某一組合。
在一種組態中,設備2200包括經組態以偵測可由局外者裝置介入異動而指示之提早終止之請求的模組及/或電路2204、經組態以經由多連線匯流排2212管理資料異動之模組及/或電路2208、2214,以及經組態以在多個裝置尋求對多連線匯流排2212之存取時管理爭用解析的模組及/或電路2206。
在一個實例中,設備2200可經調適以在耦接至串列匯流排時作為主控器裝置而操作。設備2200可包括匯流排介面電路及處理裝置。處理裝置可經調適以啟動主控器裝置與第一受控器裝置之間的異動。異動可包括經由串列匯流排傳輸資料訊框。處理裝置可經調適以當第二受控器裝置介入異動時在完成異動之前終止異動,及在終止異動之後服務於第二受控器裝置。第二受控器裝置可為並非異動之一方的裝置。
處理裝置可經調適以進行以下操作:在串列匯流排上傳輸廣播命令,廣播命令經組態以致使一或多個受控器裝置爭用對串列匯流排之存取;及當第二受控器裝置被識別為具有正爭用對串列匯流排之存取之一或多個受控器裝置之最高優先權時服務於第二受控器裝置。一或多個受控器裝置可使用頻帶內中斷來爭用對串列匯流排之存取。可當第二受控器裝置被識別為相比於待由主控器裝置執行之一或多個未決異動具有較高優先權時服務於第二受控器裝置。第二受控器裝置可與第二受控器裝置對異動之介入同時地請求終止異動。第一裝置可為同時地爭用對串列匯流排之存取之複數個受控器裝置中之一者。設備2200可判定第二受控器裝置是否被啟用以介入異動,且可當第二受控器裝置被啟用以介入異動時服務於第二受控器裝置。設備2200可識別相比於第二受控器裝置上之資料具有較高優先權資料之第三受控器裝置,判定第二受控器裝置未被啟用以介入異動,且當第二受控器裝置被啟用以介入異動時服務於第二受控器裝置。
應理解,所揭示之處理程序中之步驟之特定次序或階層為例示性途徑之說明。基於設計偏好,應理解,可重新配置處理程序中之步驟之特定次序或階層。此外,可組合或省略一些步驟。隨附方法請求項以樣本次序呈現各種步驟之要素,且並不意謂限於所呈現之特定次序或階層。
提供先前描述以使任何熟習此項技術者皆能夠實踐本文中所描述之各種態樣。對此等態樣之各種修改對於熟習此項技術者而言將容易顯而易見,且本文中所定義之一般原理可適用於其他態樣。因此,申請專利範圍並不意欲限於本文中所展示之態樣,而是應被賦予與申請專利範圍語言一致之全部範疇,其中以單數形式對元件之參考並不意欲意謂「一個且僅一個」,除非有如此明確陳述,而是意謂「一或多個」。除非另有明確陳述,否則術語「一些」係指一或多個。為一般技術者已知或稍後將知曉的貫穿本發明所描述之各種態樣之元件之所有結構及功能等效者以引用的方式明確地併入本文中且意欲由申請專利範圍囊括。此外,本文中所揭示之任何內容皆不意欲奉獻於公眾,而無論此揭示內容是否在申請專利範圍中被明確地敍述。任何請求項元件不應被認作構件加功能,除非該元件係使用片語「用於...的構件」被明確地敍述。
100‧‧‧設備
102‧‧‧處理電路
104‧‧‧電路/裝置/ASIC
106‧‧‧電路/裝置/周邊裝置
108‧‧‧電路/裝置/收發器
110‧‧‧數據機
112‧‧‧處理器
114‧‧‧板面記憶體
116‧‧‧匯流排介面電路
118a‧‧‧匯流排
118b‧‧‧匯流排
118c‧‧‧匯流排
120‧‧‧匯流排
122‧‧‧處理器可讀儲存體
124‧‧‧天線
126‧‧‧顯示器
128‧‧‧開關/按鈕
130‧‧‧開關/按鈕
132‧‧‧小鍵盤
200‧‧‧設備
202‧‧‧裝置
204‧‧‧感測器控制功能
206‧‧‧儲存體
208‧‧‧時脈產生電路
210‧‧‧收發器
210a‧‧‧接收器
210b‧‧‧共同電路
210c‧‧‧傳輸器
212‧‧‧控制邏輯
214a‧‧‧線驅動器/接收器
214b‧‧‧線驅動器/接收器
220‧‧‧裝置/匯流排主控器
222a‧‧‧裝置
222n‧‧‧裝置
230‧‧‧串列匯流排
300‧‧‧系統
302‧‧‧串列匯流排
304‧‧‧裝置/改良式內部積體電路(I3C)裝置
306‧‧‧裝置/內部積體電路(I2C)裝置
308‧‧‧裝置/內部積體電路(I2C)裝置
310‧‧‧裝置/內部積體電路(I2C)裝置
312‧‧‧裝置/改良式內部積體電路(I3C)裝置
314‧‧‧裝置/改良式內部積體電路(I3C)裝置
316‧‧‧裝置/改良式內部積體電路(I3C)裝置
400‧‧‧時序圖
402‧‧‧串列資料線(SDA)連線
404‧‧‧串列時脈線(SCL)連線
406‧‧‧設置時間
408‧‧‧保持時間
410‧‧‧最小持續時間
412‧‧‧脈衝
414‧‧‧最小持續時間
416‧‧‧轉變
418‧‧‧轉變
420‧‧‧時序圖
422‧‧‧開始狀況
424‧‧‧停止狀況
500‧‧‧第一圖解
502‧‧‧串列資料線(SDA)連線
504‧‧‧串列時脈線(SCL)連線
506‧‧‧第一開始狀況
508‧‧‧停止狀況
510‧‧‧開始狀況/第二開始狀況
512‧‧‧忙碌時段
514‧‧‧閒置時段
520‧‧‧第二時序圖
522‧‧‧串列資料線(SDA)連線
524‧‧‧串列時脈線(SCL)連線
526‧‧‧開始狀況
528‧‧‧開始狀況
530‧‧‧閒置時段
532‧‧‧第一忙碌時段
534‧‧‧第二忙碌時段
600‧‧‧圖解
602‧‧‧串列資料線(SDA)連線
604‧‧‧串列時脈線(SCL)連線
606‧‧‧開始狀況
608‧‧‧停止狀況
610‧‧‧七位元位址
612‧‧‧寫入/讀取命令位元
614‧‧‧時脈間隔
700‧‧‧圖解
702‧‧‧串列資料線(SDA)
704‧‧‧串列時脈線(SCL)
706‧‧‧最後位元
708‧‧‧轉變位元(T位元)
710‧‧‧時脈脈衝
712‧‧‧停止狀況
714‧‧‧高阻抗模式
716‧‧‧開路汲極模式
718‧‧‧作用中模式
722‧‧‧第一時刻表
724‧‧‧第二時刻表
726‧‧‧作用中模式
728‧‧‧高阻抗模式
730‧‧‧資料位元組
732‧‧‧上升邊緣
800‧‧‧時序圖
802‧‧‧串列資料線(SDA)連線
804‧‧‧串列時脈線(SCL)連線
806‧‧‧開始狀況
808‧‧‧停止狀況
810‧‧‧重複開始
812‧‧‧傳信狀態
814‧‧‧脈衝
820‧‧‧命令碼傳輸
822‧‧‧啟動符號
824‧‧‧預定義命令
826‧‧‧命令碼
828‧‧‧資料
830‧‧‧終止符號
900‧‧‧時序圖
902‧‧‧串列時脈線(SCL)連線
904‧‧‧串列資料線(SDA)連線
906‧‧‧前置碼位元
908‧‧‧前置碼位元
910‧‧‧8位元位元組
912‧‧‧8位元位元組
914‧‧‧同位位元
916‧‧‧上升邊緣/邊緣
918‧‧‧邊緣
920‧‧‧脈衝
1002‧‧‧串列時脈線(SCL)連線
1004‧‧‧串列資料線(SDA)連線
1020‧‧‧傳信
1022‧‧‧三元數位
1024‧‧‧18位元資料字
1026‧‧‧資料表
1100‧‧‧傳信
1102‧‧‧高資料速率(HDR)結束
1104‧‧‧下降邊緣
1106‧‧‧上升邊緣
1200‧‧‧時序圖
1202‧‧‧串列資料線(SDA)連線/串列資料線(SDA)
1204‧‧‧串列時脈線(SCL)
1206‧‧‧最後位元
1208‧‧‧重複開始狀況
1210‧‧‧時脈脈衝
1212‧‧‧停止狀況
1216‧‧‧高阻抗模式
1218‧‧‧開路汲極模式
1220‧‧‧高阻抗模式
1222‧‧‧第一時刻表
1224‧‧‧第二時刻表
1226‧‧‧作用中驅動模式
1228‧‧‧時脈脈衝
1230‧‧‧資料訊框/資料位元組
1232‧‧‧作用中模式
1300‧‧‧時序圖
1302‧‧‧串列資料線(SDA)
1304‧‧‧串列時脈線(SCL)
1306‧‧‧最後位元
1308‧‧‧重複開始狀況
1310‧‧‧時脈脈衝
1312‧‧‧作用中模式
1316‧‧‧高阻抗模式
1318‧‧‧開路汲極模式
1320‧‧‧高阻抗模式
1322‧‧‧第一時刻表
1324‧‧‧第二時刻表
1326‧‧‧時脈脈衝
1330‧‧‧資料位元組
1332‧‧‧作用中模式
1400‧‧‧時序圖
1402‧‧‧串列資料線(SDA)連線/串列資料線(SDA)
1404‧‧‧串列時脈線(SCL)
1406‧‧‧最後位元
1408‧‧‧重複開始狀況
1410‧‧‧經延長高時段
1412‧‧‧停止條
1414‧‧‧高電壓位準
1416‧‧‧高阻抗模式
1420‧‧‧高阻抗模式
1422‧‧‧第一時刻表
1424‧‧‧第二時刻表
1426‧‧‧作用中驅動模式
1428‧‧‧時脈脈衝
1430‧‧‧資料訊框/資料位元組/第N資料位元組
1432‧‧‧作用中模式
1434‧‧‧下降邊緣
1436‧‧‧經延長低時段
1500‧‧‧時序圖
1502‧‧‧串列資料線(SDA)
1504‧‧‧串列時脈線(SCL)
1506‧‧‧最後位元
1508‧‧‧重複開始狀況
1510‧‧‧脈衝
1512‧‧‧作用中驅動模式
1514‧‧‧高電壓位準
1516‧‧‧高阻抗模式
1518‧‧‧開路汲極模式
1520‧‧‧高阻抗模式
1522‧‧‧第一時刻表
1524‧‧‧第二時刻表
1526‧‧‧時脈脈衝
1530‧‧‧資料訊框/資料位元組
1532‧‧‧作用中模式
1534‧‧‧下降邊緣
1536‧‧‧低時段
1600‧‧‧時序圖
1602‧‧‧串列資料線(SDA)連線/串列資料線(SDA)
1604‧‧‧串列時脈線(SCL)
1606‧‧‧資料位元組
1608‧‧‧最後位元
1610‧‧‧下降邊緣
1614‧‧‧驅動
1616‧‧‧高電壓狀態
1618‧‧‧高阻抗模式
1620‧‧‧高阻抗模式
1622‧‧‧第一時刻表
1624‧‧‧第二時刻表
1626‧‧‧高阻抗模式
1628‧‧‧作用中模式
1630‧‧‧開路汲極模式
1632‧‧‧資料
1700‧‧‧時序圖
1702‧‧‧串列資料線(SDA)
1704‧‧‧串列時脈線(SCL)
1706‧‧‧資料位元組
1708‧‧‧最後位元
1712‧‧‧開路汲極模式
1714‧‧‧高阻抗模式
1718‧‧‧作用中模式
1720‧‧‧脈衝
1722‧‧‧第一時刻表
1724‧‧‧第二時刻表
1726‧‧‧下降邊緣
1728‧‧‧上升邊緣
1730‧‧‧下降邊緣
1800‧‧‧時序圖
1802‧‧‧串列資料線(SDA)
1804‧‧‧串列時脈線(SCL)
1806‧‧‧資料位元組
1808‧‧‧最後位元
1810‧‧‧時脈脈衝
1814‧‧‧高阻抗模式
1816‧‧‧高電壓狀態
1818‧‧‧開路汲極模
1820‧‧‧高阻抗模式
1822‧‧‧第一時刻表
1824‧‧‧第二時刻表
1826‧‧‧作用中模式
1828‧‧‧下降邊緣
1830‧‧‧低時段
1832‧‧‧推挽輸出
1834‧‧‧低電壓狀態
1902‧‧‧區塊
1904‧‧‧區塊
1906‧‧‧區塊
1908‧‧‧區塊
1910‧‧‧區塊
1912‧‧‧區塊
1914‧‧‧區塊
1916‧‧‧區塊
1918‧‧‧區塊
2000‧‧‧設備
2002‧‧‧處理電路
2004‧‧‧處理器
2006‧‧‧儲存體
2008‧‧‧匯流排介面
2010‧‧‧匯流排
2012‧‧‧收發器
2014‧‧‧執行階段影像
2016‧‧‧軟體模組
2018‧‧‧使用者介面
2020‧‧‧分時程式
2022‧‧‧邏輯電路
2100‧‧‧流程圖
2102‧‧‧區塊
2104‧‧‧區塊
2106‧‧‧區塊
2200‧‧‧設備
2202‧‧‧處理電路
2204‧‧‧模組/電路
2206‧‧‧模組/電路
2208‧‧‧模組/電路
2210‧‧‧時序源
2212‧‧‧多連線匯流排
2214‧‧‧實體層電路及/或模組
2216‧‧‧控制器/處理器
2218‧‧‧處理器可讀儲存媒體
2220‧‧‧匯流排
2222‧‧‧天線
圖1繪示使用IC裝置之間的資料鏈路之設備,其根據複數個可用標準中之一者而選擇性地操作。
圖2繪示用於使用IC裝置之間的資料鏈路之設備的系統架構。
圖3繪示耦接至共同串列匯流排之裝置之組態。
圖4繪示習知I2C匯流排上之SDA連線與SCL連線之間的時序關係的某些態樣。
圖5為繪示與I2C匯流排上傳輸之多個訊框相關聯之時序的時序圖。
圖6繪示與根據I3C協定發送至受控器裝置之資料字相關之時序。
圖7繪示與根據I3C協定自受控器裝置讀取之資料相關聯之時序的實例。
圖8繪示當串列匯流排在由I3C規格定義之單資料速率(SDR)操作模式下操作時串列匯流排上之傳信。
圖9繪示在I3C高資料速率(HDR)模式下之傳輸之實例,其中資料在串列匯流排上以雙資料速率(DDR)傳輸。
圖10繪示在I3C高資料速率(HDR)模式下之傳輸之實例,其中資料在串列匯流排之傳信狀態下傳輸。
圖11繪示在串列匯流排之SDA連線及SCL連線上傳輸以啟動SDR模式與HDR模式之間的某些模式改變之傳信的實例。
圖12繪示根據本文中所揭示之某些態樣的第一實例,其中匯流排主控器藉由發出重複開始狀況、然後發出停止狀況而提早結束讀取異動。
圖13繪示根據本文中所揭示之某些態樣的第二實例,其中匯流排主控器藉由發出重複開始狀況而提早結束讀取異動且繼續不同資料傳送。
圖14繪示根據本文中所揭示之某些態樣的第三實例,其中匯流排主控器藉由發出重複開始狀況、然後發出停止狀況而提早結束讀取異動。
圖15繪示根據本文中所揭示之某些態樣的第四實例,其中匯流排主控器藉由發出重複開始狀況而提早結束讀取異動且繼續不同資料傳送。
圖16繪示根據本文中所揭示之某些態樣的操作之第一實例,其中主控器裝置放棄傳輸重複開始狀況之機會。
圖17繪示根據本文中所揭示之某些態樣的操作之第二實例,其中主控器裝置放棄傳輸重複開始狀況之機會。
圖18繪示根據本文中所揭示之某些態樣的操作之第三實例,其中主控器裝置放棄傳輸重複開始狀況之機會。
圖19繪示根據本文中所揭示之某些態樣的可由主控器裝置執行之爭用解析處理程序之實例。
圖20為繪示使用可根據本文中所揭示之某些態樣而調適之處理電路的設備之實例的方塊圖。
圖21為繪示耦接至串列匯流排且根據本文中所揭示之某些態樣而組態之受控器裝置之某些操作的流程圖。
圖22繪示用於根據本文中所揭示之某些態樣而調適之設備之硬體實施方案的實例。

Claims (30)

  1. 一種在耦接至一串列匯流排之一主控器裝置處執行之方法,其包含: 啟動該主控器裝置與一第一受控器裝置之間的一異動,其中該異動包括經由該串列匯流排傳輸資料訊框; 當一第二受控器裝置介入該異動時在完成該異動之前終止該異動;及 在終止該異動之後服務於該第二受控器裝置, 其中該第二受控器裝置並非該異動之一方。
  2. 如請求項1之方法,其中該第二受控器裝置經組態以藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。
  3. 如請求項1之方法,其進一步包含: 當該串列匯流排之一或多個連線在該主控器裝置及該第一受控器裝置之介面電路於該異動之該等資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時改變狀態時,判定該第二受控器裝置已介入該異動。
  4. 如請求項3之方法,其中在完成該異動之前終止該異動包含: 將該串列匯流排之該一或多個連線驅動為處於其經改變狀態以在該串列匯流排上提供一重複開始狀況;及 在提供該重複開始狀況之後在該串列匯流排上傳輸一停止狀況。
  5. 如請求項1之方法,其中在完成該異動之前終止該異動包含: 在該串列匯流排上傳輸一停止狀況。
  6. 如請求項1之方法,其中在完成該異動之前終止該異動包含: 在該串列匯流排上傳輸一重複開始狀況、然後傳輸一停止狀況。
  7. 如請求項1之方法,其進一步包含: 在該串列匯流排上傳輸一廣播命令,該廣播命令經組態以致使一或多個受控器裝置爭用對該串列匯流排之存取;及 當該第二受控器裝置被識別為具有正爭用對該串列匯流排之存取之該一或多個受控器裝置之最高優先權時服務於該第二受控器裝置。
  8. 如請求項7之方法,其中該一或多個受控器裝置使用頻帶內中斷來爭用對該串列匯流排之存取。
  9. 如請求項7之方法,其中當該第二受控器裝置被識別為相比於待由該主控器裝置執行之一或多個未決異動具有較高優先權時服務於該第二受控器裝置。
  10. 如請求項9之方法,其進一步包含: 由該主控器裝置與該第二受控器裝置對該異動之一介入同時地請求終止該異動。
  11. 如請求項7之方法,其中該第一受控器裝置為同時地爭用對該串列匯流排之存取之複數個受控器裝置中之一者。
  12. 如請求項7之方法,其進一步包含: 判定該第二受控器裝置是否被啟用以介入該異動;及 當該第二受控器裝置被啟用以介入該異動時服務於該第二受控器裝置。
  13. 如請求項7之方法,其進一步包含: 識別相比於該第二受控器裝置上之資料具有較高優先權資料之一第三受控器裝置; 判定該第二受控器裝置未被啟用以介入該異動;及 當該第二受控器裝置被啟用以介入該異動時服務於該第二受控器裝置。
  14. 如請求項7之方法,其進一步包含: 將一組態命令傳輸至該第二受控器裝置,該組態命令經組態以啟用該第二受控器裝置以作為一局外者而介入該主控器裝置與該第一受控器裝置之間的該異動。
  15. 一種經調適以在耦接至一串列匯流排時作為一主控器裝置而操作之設備,該設備包含: 一匯流排介面電路;及 一處理器,其經組態以進行以下操作: 啟動該主控器裝置與一第一受控器裝置之間的一異動,其中該異動包括經由該串列匯流排傳輸資料訊框; 當一第二受控器裝置介入該異動時在完成該異動之前終止該異動;及 在終止該異動之後服務於該第二受控器裝置, 其中該第二受控器裝置並非該異動之一方。
  16. 如請求項15之設備,其中該第二受控器裝置經組態以藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。
  17. 如請求項15之設備,其中該處理器經進一步組態以進行以下操作: 當該串列匯流排之一或多個連線在該匯流排介面電路於該異動之該等資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時改變狀態時,判定該第二受控器裝置已介入該異動。
  18. 如請求項15之設備,其中該處理器經進一步組態以進行以下操作: 在該串列匯流排上傳輸一廣播命令,該廣播命令經組態以致使一或多個受控器裝置爭用對該串列匯流排之存取;及 當該第二受控器裝置被識別為具有正爭用對該串列匯流排之存取之該一或多個受控器裝置之最高優先權時服務於該第二受控器裝置。
  19. 如請求項18之設備,其中該一或多個受控器裝置使用頻帶內中斷來爭用對該串列匯流排之存取。
  20. 如請求項18之設備,其中當該第二受控器裝置被識別為相比於待由該主控器裝置執行之一或多個未決異動具有較高優先權時服務於該第二受控器裝置。
  21. 如請求項18之設備,其中該處理器經進一步組態以進行以下操作: 將一組態命令傳輸至該第二受控器裝置,該組態命令經組態以啟用該第二受控器裝置以作為一局外者而介入該主控器裝置與該第一受控器裝置之間的該異動。
  22. 一種設備,其包含: 用於啟動該設備與一第一受控器裝置之間的一異動的構件,其中該異動包括經由一串列匯流排傳輸資料訊框; 用於當一第二受控器裝置介入該異動時在完成該異動之前終止該異動的構件;及 用於在終止該異動之後服務於該第二受控器裝置的構件, 其中該第二受控器裝置並非該異動之一方。
  23. 如請求項22之設備,其中該第二受控器裝置經組態以藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。
  24. 如請求項22之設備,其中該用於終止該異動的構件經組態以進行以下操作: 當該串列匯流排之一或多個連線在該設備及該第一受控器裝置之介面電路於該異動之該等資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時改變狀態時,判定該第二受控器裝置已介入該異動。
  25. 如請求項22之設備,其中該用於服務於該第二受控器裝置的構件經組態以進行以下操作: 在該串列匯流排上傳輸一廣播命令,該廣播命令經組態以致使一或多個受控器裝置爭用對該串列匯流排之存取;及 當該第二受控器裝置被識別為具有正爭用對該串列匯流排之存取之該一或多個受控器裝置之最高優先權時服務於該第二受控器裝置。
  26. 如請求項25之設備,其中該一或多個受控器裝置使用頻帶內中斷來爭用對該串列匯流排之存取。
  27. 如請求項25之設備,其中當該第二受控器裝置被識別為相比於待由該設備執行之一或多個未決異動具有較高優先權時服務於該第二受控器裝置。
  28. 一種處理器可讀儲存媒體,其上儲存有程式碼,該程式碼在由一處理器執行時致使該處理器進行以下操作: 啟動一主控器裝置與一第一受控器裝置之間的一異動,其中該異動包括經由一串列匯流排傳輸資料訊框; 當一第二受控器裝置介入該異動時在完成該異動之前終止該異動;及 在終止該異動之後服務於該第二受控器裝置, 其中該第二受控器裝置並非該異動之一方。
  29. 如請求項28之儲存媒體,其中該第二受控器裝置經組態以藉由在執行該異動時在該串列匯流排上傳輸頻帶內傳信而介入該異動。
  30. 如請求項28之儲存媒體,其中該程式碼進一步致使該處理器進行以下操作: 當該串列匯流排之一或多個連線在該主控器裝置及該第一受控器裝置之介面電路於該異動之該等資料訊框之間處於一高阻抗操作模式或一開路集極操作模式時改變狀態時,判定該第二受控器裝置已介入該異動。
TW107120802A 2017-07-14 2018-06-15 由第三方啟動之加速改良式內部積體電路停止 TW201908984A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762532530P 2017-07-14 2017-07-14
US62/532,530 2017-07-14
US16/008,509 US20190018818A1 (en) 2017-07-14 2018-06-14 Accelerated i3c stop initiated by a third party
US16/008,509 2018-06-14

Publications (1)

Publication Number Publication Date
TW201908984A true TW201908984A (zh) 2019-03-01

Family

ID=65000658

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107120802A TW201908984A (zh) 2017-07-14 2018-06-15 由第三方啟動之加速改良式內部積體電路停止

Country Status (3)

Country Link
US (1) US20190018818A1 (zh)
TW (1) TW201908984A (zh)
WO (1) WO2019013926A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI829505B (zh) * 2023-01-12 2024-01-11 旺玖科技股份有限公司 具有動態位址分配的串列通訊匯流排系統及其控制方法
TWI831665B (zh) * 2023-04-10 2024-02-01 晶達光電股份有限公司 具有USB Type-C規格的顯示器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725949B2 (en) * 2018-08-28 2020-07-28 Qualcomm Incorporated Slave-to-slave direct communication
US10572439B1 (en) * 2019-06-20 2020-02-25 Qualcomm Incorporated I3C read from long latency devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170104607A1 (en) * 2015-10-13 2017-04-13 Qualcomm Incorporated Methods to avoid i2c void message in i3c

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI829505B (zh) * 2023-01-12 2024-01-11 旺玖科技股份有限公司 具有動態位址分配的串列通訊匯流排系統及其控制方法
TWI831665B (zh) * 2023-04-10 2024-02-01 晶達光電股份有限公司 具有USB Type-C規格的顯示器

Also Published As

Publication number Publication date
US20190018818A1 (en) 2019-01-17
WO2019013926A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
US11010327B2 (en) I3C point to point
TW201908984A (zh) 由第三方啟動之加速改良式內部積體電路停止
KR20180017035A (ko) 50 나노초 스파이크 필터를 위한 테스트
TW201923606A (zh) 針對多執行環境之i3c頻帶內中斷
US10140243B2 (en) Enhanced serial peripheral interface with hardware flow-control
US20190213165A1 (en) Priority scheme for fast arbitration procedures
US10678723B2 (en) Urgent in-band interrupts on an I3C bus
US20200201804A1 (en) I3c device timing adjustment to accelerate in-band interrupts
US20180181532A1 (en) Data transfer ending in phase differential modes
US10545886B2 (en) Clock line driving for single-cycle data over clock signaling and pre-emption request in a multi-drop bus
US20170371830A1 (en) Accelerated i3c master stop
US10693674B2 (en) In-datagram critical-signaling using pulse-count-modulation for I3C bus
US20190171611A1 (en) Protocol-framed clock line driving for device communication over master-originated clock line
US20180357121A1 (en) Error correction calculation upon serial bus abort
US11520729B2 (en) I2C bus architecture using shared clock and dedicated data lines
US20230350841A1 (en) Providing acknowledgements for system power management interface
US11023408B2 (en) I3C single data rate write flow control
US10572439B1 (en) I3C read from long latency devices
US11360916B2 (en) Group slave identifier time-multiplexed acknowledgment for system power management interface
US20180181533A1 (en) Ending write data transfer in i3c hdr-ddr mode