TW201937378A - 用於i3c匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞 - Google Patents

用於i3c匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞 Download PDF

Info

Publication number
TW201937378A
TW201937378A TW108103245A TW108103245A TW201937378A TW 201937378 A TW201937378 A TW 201937378A TW 108103245 A TW108103245 A TW 108103245A TW 108103245 A TW108103245 A TW 108103245A TW 201937378 A TW201937378 A TW 201937378A
Authority
TW
Taiwan
Prior art keywords
pulse
transmitted
acknowledgement
line
serial bus
Prior art date
Application number
TW108103245A
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 TW201937378A publication Critical patent/TW201937378A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/40156Bus networks involving priority mechanisms by using dedicated slots associated with a priority level
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation
    • 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)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Information Transfer Systems (AREA)

Abstract

描述了使得設備能夠指示要在半雙工串列匯流排上傳達的優先級資料的可用性而無需等待正在進行的傳輸完成的系統、方法和裝置。資料包內關鍵信號傳遞被容適,而不破壞舊版相容性。一種在耦合至串列匯流排的傳輸方設備處實現的方法包括以下步驟:根據由主設備在串列設備的第二線上傳輸的時鐘信號來在該串列匯流排的第一線上向接收方設備傳輸資料位元組,在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝,以及處理由該第一脈衝指示的警報。

Description

用於I3C匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞
本專利申請案主張於2018年1月29日提出申請的題為「IN-DATAGRAM CRITICAL-SIGNALING USING PULSE-COUNT-MODULATION FOR I3C BUS(用於I3C匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞)」的非臨時申請案第15/882,494的優先權,該申請案已被轉讓給本案受讓人並由此經由援引明確納入於此。
本案大體而言係關於處理電路與周邊設備之間的介面,尤其係關於擴展在串列匯流排上的傳輸期間傳達警報的能力。
行動通訊設備可包括各種各樣的元件,包括電路板、積體電路(IC)設備及/或晶片上系統(SoC)設備。各元件可包括經由串列匯流排進行通訊的處理電路、使用者介面元件、儲存和其他周邊元件。串列匯流排可根據標準化或專用協定來操作。
在一個實例中,積體電路間串列匯流排(亦可被稱為I2C匯流排或I2 C匯流排)是意欲用於將低速周邊設備連接至處理器的串列單端電腦匯流排。在一些實例中,串列匯流排可採用多主控協定,其中一或多個設備能用作在串列匯流排上傳輸的不同訊息的主動方和從動方。資料可被序列化並在兩條雙向導線上被傳輸,該兩條雙向導線可攜帶資料信號(其可被攜帶在串列資料線(SDA)上)和時鐘信號(其可被攜帶在串列時鐘線(SCL)上)。
在另一實例中,在I3C匯流排上使用的協定從I2C協定衍生出某些實現態樣。I3C匯流排由行動行業處理器介面聯盟(MIPI)定義。I2C的原始實現在標準模式操作中支援最高達100千位元每秒(100 kbps)的資料信號傳遞速率,其中較新近的標準在快速模式操作中支援400 kbps的速度,並且在快速模式+操作中支援1兆位元每秒(Mbps)的速度。
多分支匯流排(諸如I2C匯流排、I3C匯流排等)以半雙工模式操作,並且通常不會高效地處置具有高優先級資料供傳輸的設備存取匯流排的緊急請求。隨著應用已經變得越來越複雜,對串列匯流排上的輸送量的需求在升級,並且存在對使得進行中的事務能夠被中斷的改良匯流排管理技術的持續增長的需求。
本案的某些態樣係關於使得能夠在串列匯流排上在第一方向上發送對匯流排仲裁的警報及/或請求同時在該串列匯流排上在第二方向上傳輸資料包的系統、裝置、方法和技術。
在本案的某些態樣,一種在耦合至串列匯流排的傳輸方設備處實現的方法包括以下步驟:根據由主設備在串列設備的第二線上傳輸的時鐘信號來在該串列匯流排的第一線上向接收方設備傳輸資料位元組,在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝,以及處理由該第一脈衝指示的警報。
在本案的各個態樣,可操作用於在串列匯流排上傳輸資料的裝置具有匯流排介面以及控制器,該匯流排介面被配置成將該裝置耦合至串列匯流排。該控制器可被配置成:根據由主設備在串列設備的第二線上傳輸的時鐘信號來在該串列匯流排的第一線上向接收方設備傳輸資料位元組,在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝,以及處理由該第一脈衝指示的警報。
在本案的各種態樣,一種裝置包括:用於根據由傳輸方設備或由時鐘源設備在串列設備的第二線上傳輸的時鐘信號來在串列匯流排的第一線上向接收方設備傳輸資料位元組的構件,用於在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝的構件,以及用於處理由該第一脈衝指示的警報的構件。
在本案的各個態樣,一種電腦可讀取媒體儲存電腦可執行代碼。該代碼可使電腦:根據由傳輸方設備或由時鐘源設備在串列設備的第二線上傳輸的時鐘信號來在串列匯流排的第一線上向接收方設備傳輸資料位元組,在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝,以及處理由該第一脈衝指示的警報。
以下結合附圖闡述的詳細描述意欲作為各種配置的描述,而無意表示可實踐本文所描述的概念的僅有配置。本詳細描述包括具體細節以提供對各種概念的透徹理解。然而,對於熟習此項技術者將顯而易見的是,沒有該等具體細節亦可實踐該等概念。在一些例子中,以方塊圖形式圖示眾所周知的結構和元件以便避免湮沒此類概念。
現在將參照各種裝置和方法提供本發明的若干態樣。該等裝置和方法將在以下詳細描述中進行描述並在附圖中由各種方塊、模組、元件、電路、步驟、過程、演算法等(統稱為「元素」)來圖示。該等元素可使用電子硬體、電腦軟體,或其任何組合來實現。此類元素是實現成硬體還是軟體取決於具體應用和加諸於整體系統上的設計約束。
概覽
行動通訊設備通常包括相互通訊的元件,其包括電路板、積體電路(IC)設備及/或晶片上系統(SoC)設備。包括多個SoC的裝置和其他IC設備常常採用串列匯流排來將應用處理器或其他主機設備與數據機和其他周邊設備連接在一起。串列匯流排可根據標準組織定義的規範和協定來操作。串列匯流排可根據標準或協定(諸如I2C協定、I3C協定,以及定義信號與傳輸之間的時序關係的其他串列匯流排協定)來操作。
有資料要在半雙工串列匯流排上傳達的設備必須等待正在進行的傳輸完成,隨後存取該串列匯流排,而無論要被傳達的資料的優先級如何。串列匯流排可根據I2C及/或I3C協定來操作。I2C和I3C匯流排拓撲為接收方設備提供有限的資料包內關鍵信號傳遞選項。複雜的用例需要目前無法在資料包內得到支援的附加信號傳遞方案。為了避免該問題,某些習知系統級實現可以附加等待時間、功率和複雜度為代價來採用附加協定。存在容適附加關鍵信號傳遞而不破壞舊版相容性的需求。
本文中所揭示的某些態樣係關於提供可被用在I3C匯流排上以提供可被用來改良鏈路效能的警報機會的機制的系統、裝置、方法和技術。本文中所揭示的系統、裝置和方法實現並支援對需要立即關注的高優先級事件的指示,包括來自匯流排上不是正在進行的通訊事務的參與者的設備的對優先級關注的指示。
使用串列資料連結的裝置的實例
根據某些態樣,串列資料連結可被用於互連作為裝置(諸如蜂巢式電話、智慧型電話、通信期啟動協定(SIP)電話、膝上型設備、筆記本、小筆電、智慧型電腦、個人數位助理(PDA)、衛星無線電設備、全球定位系統(GPS)設備、智慧家用設備、智慧照明設備、多媒體設備、視訊設備、數位音訊播放機(例如,MP3播放機)、相機、遊戲控制台、娛樂設備、車載元件、可穿戴計算設備(例如,智慧手錶、健康或健身追蹤器、眼鏡等)、電器、感測器、安全設備、自動售貨機、智慧型儀器表、無人機、多旋翼飛行器,或任何其他類似的功能設備)的子元件的電子設備。
圖1圖示了可採用資料通訊匯流排的裝置100的實例。裝置100可包括SoC、具有可在一或多個ASIC中或在SoC中實現的多個電路或設備104、106,及/或108的處理電路102。在一個實例中,裝置100可以是通訊設備,並且處理電路102可包括在ASIC 104中提供的處理設備、一或多個周邊設備106,以及收發機108,收發機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圖示了其中設備204、206、208、210、212、214和216使用串列匯流排202來連接的配置的通訊鏈路200。在一個實例中,設備204、206、208、210、212、214和216可被調適或配置成根據I3C協定來在串列匯流排202上通訊。在一些例子中,設備204、206、208、210、212、214和216中一者或多者可以替換地或附加地使用其他協定(包括例如I2C協定)來進行通訊。
串列匯流排202上的通訊可由主設備204來控制。在一種操作模式中,主設備204可被配置成提供控制資料信號的時序的時鐘信號。在另一操作模式中,設備204、206、208、210、212、214和216中的兩個或更多個設備可被配置成交換在符號中編碼的資料,其中時序資訊被嵌入在符號傳輸中。
圖3圖示了包括連接至串列匯流排330的多個設備302、320和322a-322n的裝置300的某些態樣。串列匯流排330可包括第一導線316,第一導線316在某些操作模式下攜帶時鐘信號,而第二導線318攜帶資料信號。在其他操作模式中,資料可被編碼在多位元符號中,其中符號的每個位元控制導線316、318之一的信號傳遞狀態。設備302、320和322a-322n可包括一或多個半導體IC設備,諸如應用處理器、SoC或ASIC。設備302、320和322a-322n中的每一者可包括、支援或用作數據機、信號處理設備、顯示器驅動器、相機、使用者介面、感測器、感測器控制器、媒體播放機、收發機,及/或其他此類元件或設備。設備302、320和322a-322n之間在串列匯流排330上的通訊由匯流排主控方320來控制。某些類型的匯流排可支援多個匯流排主控方320。
裝置300可包括在串列匯流排330根據I2C、I3C或其他協定操作時進行通訊的多個設備302、320和322a-322n。至少一個設備302、322a-322n可被配置成作為串列匯流排330上的從設備來操作。在一個實例中,從設備302可被調適成提供感測器控制功能304。感測器控制功能304可包括支援圖像感測器的電路和模組,及/或控制量測環境狀況的一或多個感測器並與之通訊的電路和模組。從設備302可包括配置暫存器306或其他儲存324、控制邏輯312、收發機310和線驅動器/接收器314a和314b。控制邏輯312可包括處理電路,諸如狀態機、定序器、信號處理器或通用處理器。收發機310可包括接收器310a、傳輸器310c和共用電路310b,包括時序、邏輯和儲存電路及/或設備。在一個實例中,傳輸器310c基於時鐘產生電路308所提供的時序來編碼並傳輸資料。
設備302、320及/或322a-322n中的兩個或更多個設備可根據本文中所揭示的某些態樣和特徵被調適成支援共用匯流排上的複數種不同的通訊協定,該等通訊協定可包括SMBus協定、SPI協定、I2C協定及/或I3C協定。在一些實例中,使用一個協定(例如I2C協定)通訊的設備可與使用第二協定(例如I3C協定)通訊的設備在同一串列匯流排上共存。在一個實例中,I3C協定可支援提供6兆位元每秒(Mbps)與16 Mbps之間的資料速率的操作模式,其中有一或多個可任選的提供較高效能的高資料速率(HDR)操作模式。I2C協定可遵循提供範圍可在100千位元每秒(kbps)與3.2 Mbps之間的資料速率的實際I2C標準。除了資料格式和匯流排控制態樣,I2C和I3C協定亦可定義在3導線串列匯流排330上傳輸的信號的電氣和時序態樣。在一些態樣,I2C和I3C協定可定義影響與串列匯流排330相關聯的某些信號位準的直流(DC)特性,及/或影響在串列匯流排330上傳輸的信號的某些時序態樣的交流(AC)特性。
串列匯流排上的信號傳遞的各實例
資料傳輸(包括控制信號傳遞、命令和有效負荷傳輸)的各實例是作為實例來提供的。為了方便起見,所圖示的各實例係關於I2C和I3C通訊。然而,本文中所揭示的某些概念適用於其他匯流排配置和協定,包括RFFE和SPMI配置。
圖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規範」)定義了SCL導線404上的脈衝412的高時段的最小歷時410(t )。I2C規範亦定義了脈衝412發生前的設立時間406(tSU )的最小歷時,以及脈衝412終止後的保持時間408(t保持 )的最小歷時。SDA導線402的信號傳遞狀態預期在設立時間406和保持時間408期間是穩定的。設立時間406定義了在SDA導線402上的信號傳遞狀態之間的轉變416之後、直至SCL導線404上的脈衝412的上升沿抵達為止的最大時間段。保持時間408定義了在SCL導線404上的脈衝412的下降沿之後、直至SDA導線402上的信號傳遞狀態之間的下一轉變418為止的最小時間段。I2C規範亦定義了SCL導線404的低時段(t )的最小歷時414。SDA導線402上的資料通常是穩定的及/或可在SCL導線404在脈衝412的前沿之後處於高邏輯狀態時的歷時410(t )內被擷取。
圖4的第二時序圖420圖示了在習知I2C匯流排上的資料傳輸之間SDA導線402和SCL導線404上的信號傳遞狀態。I2C協定提供了8位元資料(位元組)和7位元位址的傳輸。接收器可經由將SDA導線402驅動為低邏輯狀態達一個時鐘週期來認可傳輸。低信號傳遞狀態表示指示成功接收的認可(ACK),而高信號傳遞狀態表示指示接收失敗或接收錯誤的否定認可(NACK)。
開始狀況422被定義為准許當前匯流排主控方發信號通知資料將被傳輸。開始狀況422在SDA導線402從高轉變為低而同時SCL導線404為高時發生。I2C匯流排主控方最初傳輸開始狀況422(其亦可被稱為開始位元),其後跟隨該I2C匯流排主控方希望與其交換資料的I2C從設備的7位元位址。在該位址之後跟隨指示要進行讀操作還是寫操作的單個位元。被定址的I2C從設備(若可用)用ACK位元來回應。若沒有I2C從設備作出回應,則I2C匯流排主控方可將SDA導線402的高邏輯狀態解讀為NACK。主設備和從設備隨後可在訊框中交換資訊位元組,其中該等位元組被序列化,以使得首先傳輸最高有效位元(MSB)。當I2C主設備傳輸停止狀況424時,位元組傳輸完成。停止狀況424在SDA導線402從低轉變為高而同時SCL導線404為高時發生。I2C規範要求SDA導線402的所有轉變在SCL導線404為低時發生,並且例外可被當作開始狀況422或停止狀況424。
圖5包括圖示與I2C匯流排上的資料傳輸相關聯的時序的示圖500和520。如第一示圖500中所圖示的,閒置時段514可發生在停止狀況508與連貫開始狀況510之間。該閒置時段514可被延長,並且可能在習知I2C匯流排在停止狀況508與連貫開始狀況510之間保持閒置時導致資料輸送量減少。在操作中,繁忙時段512在I2C匯流排主控方傳輸第一開始狀況506繼之以資料時開始。繁忙時段512在I2C匯流排主控方傳輸停止狀況508時結束並且閒置時段514跟著發生。閒置時段514在第二開始狀況510被傳輸時結束。
第二時序圖520圖示了可藉以減少閒置時段514的發生數目的方法。在所圖示的實例中,資料在第一繁忙時段532結束之前可用於傳輸。I2C匯流排主設備可傳輸重複的開始狀況528(Sr)而非停止狀況。重複的開始狀況528終止先前的資料傳輸並且同時指示下一資料傳輸的開始。SDA導線522上與重複的開始狀況528相對應的狀態轉變等同於SDA導線522上關於發生在閒置時段530之後的開始狀況526的狀態轉變。對於開始狀況526和重複的開始狀況528兩者,SDA導線522從高轉變為低而同時SCL導線524為高。當在資料傳輸之間使用重複的開始狀況528時,第二繁忙時段534緊跟在第一繁忙時段532之後。
圖6是圖示與根據I2C協定向從設備發送的命令字相關聯的時序的實例的示圖600。在該實例中,主設備以開始狀況606啟動事務,由此SDA導線602被從高驅動為低而同時SCL導線保持為高。主設備隨後在SCL導線604上傳輸時鐘信號。從設備的7位元位址610隨後在SDA導線602上被傳輸。7位元位址610之後是寫/讀命令位元612,其在為低時指示「寫」並且在為高時指示「讀」。從設備可在下一時鐘區間614中經由將SDA導線602驅動為低來以認可(ACK)進行回應。若從設備未回應,則SDA導線602被拉高並且主設備將缺乏回應當作NACK。主設備可經由將SDA導線602從低驅動為高而同時SCL導線604為高來用停止狀況608終止事務。該事務可被用來決定耦合至I2C匯流排的具有所傳輸位址的從設備是否處於活躍狀態。
圖7包括圖示在串列匯流排在I3C規範所定義的單倍資料速率(SDR)操作模式中操作時該串列匯流排上的信號傳遞的時序圖700。在串列匯流排的第一導線(資料導線702)上傳輸的資料可使用在串列匯流排的第二導線(時鐘導線704)上傳輸的時鐘信號來擷取。在資料傳輸期間,當時鐘導線704處於高電壓位準時,預期資料導線702的信號傳遞狀態712在脈衝714的歷時內保持恆定。當時鐘導線704處於高電壓位準時資料導線702上的轉變指示開始狀況706、停止狀況708或重複的開始710。
在I3C串列匯流排上,開始狀況706被定義為准許當前匯流排主控方發信號傳遞通知要被傳輸資料。開始狀況706在資料導線702從高轉變為低時而同時時鐘導線704為高時發生。匯流排主控方可使用停止狀況708來發信號傳遞通知傳輸的完成及/或終止。停止狀況708在資料導線702從低轉變為高時而同時時鐘導線704為高時被指示。重複的開始710可由希望在完成第一傳輸之後啟動第二傳輸的匯流排主控方來傳輸。重複的開始710被傳輸以代替停止狀況708和緊隨其後的開始狀況706,並且具有停止狀況708和緊隨其後的開始狀況706的意義。重複的開始710在資料導線702從高轉變為低時而同時時鐘導線704為高時發生。
匯流排主控方可在傳輸從動方的位址、命令及/或資料之前傳輸啟動符722,啟動符722可以是開始狀況706或重複的開始710。圖7圖示了匯流排主控方進行的命令碼傳輸720。啟動符722之後可跟隨著傳輸的是指示將跟隨有命令碼726的預定義命令724。例如,命令碼726可導致串列匯流排轉變至期望操作模式。在一些實例中,資料728可被傳輸。命令碼傳輸720之後可跟隨結束字元730,結束字元730可以是停止狀況708或重複的開始710。
在串列匯流排的資料線上傳輸的 PCM
本文中所揭示的某些態樣係關於使用脈衝計數調制(PCM)來在耦合多個設備的多點串列匯流排上提供多用途信號傳遞方案。在一個實例中,可在時鐘線(SCLK)處於低(「0」)信號傳遞狀態時在資料線(SDATA)上發射一或多個脈衝。在另一實例中,可在SCLK處於高(「1」)信號傳遞狀態時發射一或複數個脈衝。
根據本文中所揭示的某些態樣,關鍵信號傳遞可由接收器或耦合至串列匯流排的任何其他設備來傳輸,同時維持完全舊版相容性。警報可使用在被提供用於傳輸ACK/NACK的匯流排循環期間在SDATA上發射的脈衝來傳輸。警報可提供結束活躍資料包並用作以最小等待時間發出及/或服務的優先級警報的謙和方式。尋求對匯流排的立即或高優先級存取的斷言設備(包括接收器)可在資料訊框中斷言NACK。當資料線在資料訊框的ACK/NACK時槽中被驅動為低時NACK被斷言。斷言設備隨後可在資料線上傳輸脈衝以發信號通知關鍵資訊。在一個實例中,脈衝數目指示斷言的用途(ACK、NACK、流程控制斷言、關鍵中斷等)。附加資訊可使用脈衝計數、脈寬調制(PWM)、脈衝振幅調制(PAM)等的某種組合來進行編碼。
圖8圖示了在寫命令期間的串列匯流排上的8位元資料有效負荷810、822的傳輸800、820。資料是根據在SCLOCK上傳輸的時鐘信號來在SDATA 802上傳輸的。在該實例中,主設備以開始狀況806、826來啟動事務,由此SDATA 802被從高驅動為低而同時SCLOCK 804保持為高。主設備隨後在SCLOCK 804上傳輸時鐘信號。隨後在SDATA 802上傳輸八位元資料有效負荷810、822。在第一傳輸800中,從設備在下一時鐘區間(其可被稱為ACK/NACK時槽812)中經由將SDATA 802驅動為低來以認可(ACK)回應資料有效負荷810。在第二傳輸820中,從設備在ACK/NACK時槽824中不對資料有效負荷822進行認可。SDATA 802被拉高並且主設備將缺乏回應當作NACK。主設備可經由將SDATA 802從低驅動為高而同時SCLOCK 804為高來以停止狀況808終止該事務。
在I2C和I3C協定中,每個資料位元組的末尾處的ACK/NACK時槽812、824是被准許用於接收器的唯一傳輸。ACK/NACK時槽812、824為接收器提供使主設備中止、暫停或取消事務的機會。沒有其他關鍵信號傳遞在該時槽期間被准許。可能有益地被傳輸的其他感興趣的關鍵信號包括對高優先級事件需要立即關注的指示,及/或來自匯流排上當前不是正在進行通訊的一方的設備的對優先級關注的指示。
根據本文中所揭示的某些態樣,PCM信號傳遞可在ACK/NACK時槽812、824期間被傳輸。可在ACK/NACK時槽812、824期間實現時鐘脈衝伸展以提供具有可程式設計時間長度(絕對或相對)的警報時槽,在其內尋求來自匯流排主控方的關注的設備可翻轉資料線以發射PCM信號。不同類型的訊息接發可以所傳輸脈衝的數目進行編碼。
可在ACK/NACK時槽824期間伸展時鐘線上的脈衝以實現可程式設計時間長度(絕對或相對),從而提供足夠的時間來傳輸具有所定義的最大脈衝寬度的議定最大數目脈衝。在ACK/NACK時槽812、824期間傳輸的資料線上的脈衝可具有所定義的最小脈衝寬度。在一些實例中,尋求來自匯流排主控方的關注的設備翻轉資料線以發射經脈衝計數調制的信號,其中脈衝計數的數目對不同類型的訊息接發進行編碼。
在一些實例中,延遲和優先級方案可被定義成使得當前活躍的接收器總是得到在ACK/NACK時槽中發射訊息接發的第一優先級。簡單協定可在經伸展的時鐘脈衝時段期間被自動啟用,以實現設備和警報類型標識。
延遲和優先級方案可被實現成使得在正在進行的通訊事務期間為當前活躍的接收器指派使用PCM信號傳遞來發射訊息接發的第一優先級。簡單優先級協定可在時鐘脈衝伸展時段期間被自動啟用,以准許足以實現設備和警報類型標識的時間。使用PCM信號傳遞、時鐘伸展,及/或優先級協定的某種組合可提供結束活躍資料包、從而以儘可能少的等待時間來服務優先級警報的謙和辦法。
圖9圖示了在寫命令期間的串列匯流排上的8位元資料有效負荷906、922的傳輸900、920,其中PCM可被用來將資訊編碼在ACK/NACK時槽908、924期間的SDATA 902上。資料是根據在SCLOCK上傳輸的時鐘信號來在SDATA 902上傳輸的。主設備可在SCLOCK 904上傳輸時鐘信號,以在SDATA 902上傳輸八位元資料有效負荷906、922。從設備可在ACK/NACK時槽908、924中傳輸經PCM編碼的高優先級資訊。
在第一傳輸900中,可在ACK/NACK時槽908中傳輸有限數目的PCM脈衝910。在第二傳輸920中,在ACK/NACK時槽908期間傳輸的時鐘脈衝可被伸展足以實現期望數目的PCM脈衝926的量。接收器可發射數個脈衝(0至N個脈衝)以指示不同的事件狀況。表1說明了根據本文中所揭示的某些態樣的可被採用的PCM編碼的一個實例。
1
主設備(時鐘供應器),及/或傳輸方設備可維持指示接收方設備被配置成發送PCM脈衝910的配置資訊。在該時段期間,時鐘供應設備對接收到的數個脈衝進行計數,並知曉所發送的警報的性質。
在某些實現中,在當前活躍的從動方未在所指派的優先級時間訊窗內啟動警報時,不是當前事務的各方的適當配置的從動方可傳輸PCM脈衝910、926。
由時鐘循環的階段區分的 PCM 警報
根據本案的某些態樣,可在ACK/NACK時槽期間傳輸的時鐘信號的兩個階段期間在SDATA上發射PCM脈衝。在其中發射PCM脈衝的時鐘循環的階段可指示該脈衝的源。
圖10圖示了其中當前活躍的接收器可在SCLOCK 1004上傳輸的時鐘信號的第一階段1000期間在SDATA 1002上傳輸PCM脈衝,並且非參與方設備可在該時鐘信號的第二階段1020期間在SDATA 1002上傳輸PCM脈衝的一個實例。在所圖示的實例中,時鐘信號在第一階段1000中為高而在第二階段1020中為低。當前活躍的接收器可以是在事務期間被定址的設備。當前活躍的接收器可發射指示ACK、NACK或其他關鍵資訊的多個脈衝。
在SCLOCK的當前階段1000、1020期間,SDATA 1002可由在SDATA 1002上啟動PCM脈衝的任何設備主動地驅動為低。當前活躍的接收器可以第一階段1000中的PCM脈衝(參見例如表1)對資訊進行編碼。在所圖示的實例中,提供了8個PCM脈衝時槽1006。在一個實例中,非參與方設備可在所指派的脈衝時槽1022處發信號通知請求或中斷。脈衝時槽1022可基於非參與方設備的相對優先級來指派。
在一些實例中,第一階段1000可單單被用來指示被定址設備的ACK/NACK,而第二階段1020可被所有設備使用以經由發射該等設備的位址來指示警報。仲裁是自動的,並且是基於位址優先級的。在一個實例中,最低位址值設備獲勝。當在第二階段1020期間來自多個設備的多脈衝***被准許時,輸送量可能被影響。例如,可在每個ACK/NACK時槽中發射脈衝。
在一些實現中,緩解程序可被實現以確保繁忙狀況下的輸送量。圖11圖示了包括此類緩解的通訊事務1100、1120的各實例。在通訊事務1100的第一實例中,非參與方設備僅能在被傳輸方設備授權之後才發射脈衝1112。授權可經由傳輸方設備在第一位元組1106的ACK/NACK時槽期間傳輸授權脈衝1108來指示。在已經傳輸了授權脈衝1108之後,非參與方(未被定址的)設備可在跟隨的第二位元組1110的ACK/NACK時槽中發射脈衝1112。在該實例中,傳輸方設備在ACK傳輸期間提供授權脈衝1108。在通訊事務1120的第二實例中,傳輸方設備在NACK傳輸期間提供授權脈衝1122。當傳輸NACK時,授權脈衝1122由負轉變啟動。
在某些實現中,匯流排上的非參與方設備被配置成在ACK/NACK時槽期間忽略多個脈衝,並且PCM脈衝不與開始狀況、停止狀況,或其他唯一性信號傳遞混淆。
組合 PCM/PAM 以及 PCM/PWM 編碼的實例
在某些實現中,附加資訊可使用PCM與PWM及/或PAM的某種組合來編碼。在PCM中,資訊以所傳輸脈衝的數目進行編碼,並且附加資訊可以一或多個脈衝的振幅及/或寬度進行編碼。圖12包括其中附加資訊可被PAM編碼在PCM脈衝上的第一實例1200。在第一實例1200中,可能的4個PCM脈衝1206中的兩個脈衝1208、1210在SCLOCK 1204處於高狀態時在SDATA 1202上被傳輸。兩個脈衝1208、1210的振幅由附加資料的一或多個位元來定義。例如,可定義針對脈衝的兩個電壓位準1212、1214,其中非零位元值選擇第一電壓位準1212,並且零位元值選擇第二電壓位準1214。可採用針對脈衝1208、1210的任何數目的電壓位準,假定接收器能夠可靠地定義位準的差異。當四個電壓位準可用時,資料的兩個位元可被編碼在每個脈衝1208、1210中。在第一實例1200中,至少一個脈衝可用於攜帶經PAM編碼的附加資料。
圖12亦包括其中附加資訊可被PWM編碼在PCM脈衝上的第二實例1220。在第二實例1220中,可能的4個PCM脈衝1222中的兩個脈衝1224、1226在SCLOCK 1204處於高狀態時在SDATA 1202上被傳輸。兩個脈衝1224、1226的寬度由附加資料的一或多個位元來定義。例如,可針對PCM脈衝定義兩個寬度,以使得資料的單個附加位元可被用來選擇每個PCM脈衝1224、1226的寬度。可採用針對脈衝1224、1226的任何數目的寬度,假定接收器能夠可靠地定義脈衝寬度的差異。當四個脈衝寬度可用時,資料的兩個位元可被編碼在每個脈衝1224、1226中。在第二實例1220中,至少一個脈衝可用於攜帶經PWM編碼的附加資料。
PCM 編碼的信號傳遞實現實例
如本文中所揭示的,本文中所揭示的PCM編碼方案可被調適成改良或增強信號傳遞的某些態樣及/或支援能力較弱的設備。時鐘脈衝可以是經伸展的ACK/NACK時槽以提供可程式設計時間長度(絕對或相對),在其內尋求來自匯流排主控方的關注的設備翻轉資料線以發射PCM信號,其中脈衝計數的數目對不同類型的訊息接發進行編碼。提供了延遲和優先級方案,以使得在正在進行的通訊期間當前活躍的接收器始終獲得發射訊息接發的第一優先級。簡單協定可在時鐘脈衝伸展時段期間被自動啟用,以准許設備和警報類型標識。在一些實現中,用於終止活躍資料包的溫和方法以最小化等待時間提供優先級警報。
在一些實現中,可能期望將PCM信號傳遞限於在SDATA上傳輸的資料訊框的某些部分。例如,限制能夠提供PCM信號傳遞的時間可避免與停止/開始信號傳遞約定的衝突。參照圖13,耦合至串列匯流排的設備根據在SCLOCK 1304上傳輸的時鐘信號來在SDATA 1302上傳輸資料。在I3C SDR協定的實例中,資料的有效位元1306、1308、1310可在時鐘信號處於高信號傳遞狀態1318、1320、1322時被取樣。在時鐘信號處於高信號傳遞狀態1318、1320、1322時,一些設備可能預期SDATA 1302是穩定的。根據本文中所揭示的某些態樣,PCM信號傳遞可被限於SCLOCK 1304處於低信號傳遞狀態的時段(階段1312、1316)。I3C協定構想了在該等稍後階段1312、1316期間的SDATA 1302的轉變。
在一個實例中,當SCLOCK 1304處於高信號傳遞狀態1318時,可預期ACK/NACK位元1324在第一時段(B階段1314)期間是穩定的,並且PCM脈衝可被抑制。當SCLOCK 1304為低時,PCM脈衝可在第二時段(A階段1312)及/或在第三時段(C階段1316)中被傳輸。在一個實例中,暫存器級配置可決定由設備進行的多脈衝發射僅在與ACK/NACK位元1324相關聯的時鐘之前和之後的A階段1312和C階段1316期間被允許。
圖14圖示了可被用來支援期望數目的PCM脈衝的傳輸的時鐘伸展的各實例。在該實例中,由設備進行的多脈衝PCM發射在與ACK/NACK位元1422相關聯的時鐘脈衝1406之前的A階段1412期間以及在與ACK/NACK位元1422相關聯的時鐘脈衝1406之後的C階段1416期間被准許。A階段1412和C階段1416可以是可程式設計伸展的,以支援期望數目的時鐘脈衝的發射,及/或期望的PCM脈衝寬度。添加到A階段1412的伸展歷時1408以及添加到C階段1416的伸展歷時1410可使用定義恆定伸展歷時1408、1410的暫存器設置來配置。在一些實例中,一或多個伸展歷時1408、1410可以是可變的,並基於所傳輸脈衝的數目。在一些實例中,可變的伸展歷時1408、1410可經由為所傳輸的每個PCM脈衝添加伸展時間來獲得。在一個實例中,伸展時間可在已經傳輸了所配置數目的PCM脈衝之後被添加,其中進一步的PCM脈衝可在伸展A階段1312或C階段1316之後被傳輸。
在一些實現中,A階段1412被保留用於由當前被定址的設備發射的PCM脈衝,而C階段1416可被保留用於由未被定址的設備(亦即,作為當前事務中的非參與者的設備)發射的PCM脈衝。在一些實現中,當SDATA 1402在C階段1416中初始地被從高驅動為低時,未被定址的設備的警報指示可使用PCM脈衝來提供。在某些實現中,設備標識程序不在C階段1416中被執行。在C階段1416中發信號通知警報之後進行的設備標識可在完成當前資料包的傳輸之後被執行。
圖15-圖17圖示了與ACK/NACK信號傳遞區間相關聯地傳輸的PCM警報信號傳遞的某些實例。圖15係關於I3C匯流排的實例,其中一或多個非參與方設備被調適成使用SDATA 1502上傳輸的資料包中與ACK 1506、1526相關聯地傳輸的PCM脈衝來發信號通知關鍵事件、警報或請求。在第一實例1500中,PCM脈衝不被傳輸。ACK 1506在接收方設備將SDATA 1502驅動為低達歷時1508時被傳輸,歷時1508包括在期間擷取ACK 1506的資料有效時段1512。在將SDATA 1502驅動為低之後,接收方設備可經由例如使其耦合至SDATA 1502的線驅動器進入高阻抗狀態來釋放SDATA 1502。SDATA 1502由保持器電路或下拉電阻器保持為低達足以准許作為事務中的非參與者的設備在SDATA 1502上驅動一或多個脈衝的時間段1510。在一個實例中,所傳輸脈衝的數目對資訊進行編碼。在另一實例中,傳輸單個脈衝以終止當前事務及/或啟動匯流排仲裁過程。
在第二實例1520中,傳輸單個PCM脈衝1534。ACK 1526在接收方設備將SDATA 1502驅動為低達歷時1528時被傳輸,歷時1528包括在其間擷取ACK 1526的資料有效時段1532。在將SDATA 1502驅動為低之後,接收方設備可經由例如使其耦合至SDATA 1502的線驅動器進入高阻抗狀態來釋放SDATA 1502。SDATA 1502由保持器電路或下拉電阻器保持為低達足以准許作為事務中的非參與者的設備在SDATA 1502上驅動一或多個PCM脈衝1534的時間段1530。時鐘伸展可被啟用以提供足夠的時間段1530。在該實例中,傳輸單個PCM脈衝1534以終止當前事務及/或啟動匯流排仲裁過程。在另一實例中,PCM脈衝1534可以是可被用來對資料進行PCM編碼的數個可能脈衝之一。
圖16係關於I3C匯流排的實例,其中一或多個非參與方設備被調適成使用SDATA 1602上傳輸的資料包中與NACK 1606、1626相關聯地傳輸的PCM脈衝來發信號通知關鍵事件、警報或請求。在第一實例1600中,PCM脈衝不被傳輸。NACK 1606在接收方設備將SDATA 1602驅動為高達歷時1608時被傳輸,歷時1608包括在期間擷取NACK 1606的資料有效時段1612。在資料有效時段1612的終止之後,接收方設備將SDATA 1602驅動為低。在將SDATA 1602驅動為低之後,接收方設備可經由例如使其耦合至SDATA 1602的線驅動器進入高阻抗狀態來釋放SDATA 1602。SDATA 1602由保持器電路或下拉電阻器保持為低達足以准許作為事務中的非參與者的設備在SDATA 1602上驅動一或多個脈衝的時間段1610。在一個實例中,所傳輸脈衝的數目對資訊進行編碼。在另一實例中,傳輸單個脈衝以終止當前事務及/或啟動匯流排仲裁過程。
在第二實例1620中,傳輸單個PCM脈衝1634。NACK 1626在接收方設備將SDATA 1602驅動為高達歷時1628時被傳輸,歷時1628包括在其間擷取NACK 1626的資料有效時段1632。在資料有效時段1612的終止之後,接收方設備將SDATA 1602驅動為低。在將SDATA 1602驅動為低之後,接收方設備可經由例如使其耦合至SDATA 1602的線驅動器進入高阻抗狀態來釋放SDATA 1602。SDATA 1602由保持器電路或下拉電阻器保持為低達足以准許作為事務中的非參與者的設備在SDATA 1602上驅動一或多個PCM脈衝1534的時間段1630。時鐘伸展可被啟用以提供足夠的時間段1630。在該實例中,傳輸單個PCM脈衝1634以終止當前事務及/或啟動匯流排仲裁過程。在另一實例中,PCM脈衝1634可以是可被用來對資料進行PCM編碼的數個可能脈衝之一。
圖17係關於I3C匯流排的實例,其中接收方設備和一或多個非參與方設備被調適成使用SDATA 1702上傳輸的資料包中與ACK 1706、1726相關聯地傳輸的PCM脈衝來發信號通知關鍵事件、警報或請求。在第一實例1700中,由接收方設備傳輸一或多個脈衝1708,並且不由非參與方設備傳輸PCM脈衝。一或多個脈衝1708在由接收方設備經由將SDATA 1702驅動為低達歷時1710(包括資料有效時段1712)來傳輸ACK 1706之前由該接收方設備來傳輸。時鐘伸展可被用來容適一或多個脈衝1708的傳輸。ACK 1706在資料有效時段1712期間由傳輸方設備擷取。在資料有效時段1712的終止之後,接收方設備可經由例如使其耦合至SDATA 1702的線驅動器進入高阻抗狀態來釋放SDATA 1702。SDATA 1702由保持器電路或下拉電阻器保持為低達足以准許作為事務中的非參與者的設備在SDATA 1702上驅動一或多個脈衝的時間段1714。在一個實例中,所傳輸脈衝的數目對資訊進行編碼。在另一實例中,傳輸單個脈衝以終止當前事務及/或啟動匯流排仲裁過程。
在第二實例1720中,由接收方設備傳輸一或多個脈衝1728,並且由非參與方設備傳輸單個PCM脈衝1736。一或多個脈衝1728在由接收方設備經由將SDATA 1702驅動為低達歷時1730(包括資料有效時段1732)來傳輸ACK 1726之前由該接收方設備來傳輸。時鐘伸展可被用來容適一或多個脈衝1728的傳輸。ACK 1726在資料有效時段1732期間由傳輸方設備擷取。在資料有效時段1732的終止之後,接收方設備可經由例如使其耦合至SDATA 1702的線驅動器進入高阻抗狀態來釋放SDATA 1702。SDATA 1702由保持器電路或下拉電阻器保持為低達足以准許作為事務中的非參與者的設備在SDATA 1702上驅動一或多個PCM脈衝1736的時間段1734。時鐘伸展可被啟用以提供足夠的時間段1734。在該實例中,傳輸單個PCM脈衝1736以終止當前事務及/或啟動匯流排仲裁過程。在另一實例中,PCM脈衝1736可以是可被用來對資料進行PCM編碼的數個可能脈衝之一。
圖18是圖示在傳輸方設備1802與接收方設備1804之間執行的事務1800的信號傳遞圖,其中接收方設備1804和非參與設備1806可被調適、配置或實現成使用資料包內的PCM脈衝來傳輸關鍵事件、警報或請求。事務1800包括兩個資料包,被標記為訊框-1 1810和訊框-2 1820。沒有關鍵信號傳遞在訊框-1 1810中傳輸。傳輸方設備1802發送有效負荷資料(1812),其可包括一或多個位元組或字。接收方設備1804可傳輸(1814)對有效負荷資料傳輸的認可或否定認可。
在所圖示的實例中,關鍵信號傳遞由接收方設備1804和非參與設備1806在訊框-2 1820中傳輸。傳輸方設備1802發送有效負荷資料(1822),其可包括一或多個位元組或字。在對有效負荷資料傳輸的認可或否定認可之前,接收方設備1804可在SDATA上傳輸(1824)一或多個脈衝。依須求或按期望地,時鐘伸展可由耦合至匯流排的時鐘產生設備來啟用,以延遲用來對認可或否定認可進行取樣的時鐘脈衝。接收方設備1804隨後可傳輸(1826)對有效負荷資料傳輸的認可或否定認可。當用來對認可或否定認可進行取樣的時鐘脈衝的傳輸已經完成時,非參與設備1806可發信號通知關鍵事件、警報或請求。非參與設備1806可傳輸一或多個脈衝(1828)。時鐘產生設備可在偵測到由非參與設備1806傳輸的脈衝之後啟用時鐘伸展。
傳輸方設備1802可處理(1830)由接收方設備1804或非參與設備1806在資料包內傳輸的帶內信號傳遞,以決定被編碼在偵測到的PCM脈衝中的關鍵事件、警報或請求的性質。傳輸方設備1802可終止當前事務(1832)。在一個實例中,傳輸方設備1802可以是匯流排主設備,並且可回應於關鍵事件、警報或請求而啟動匯流排仲裁過程。
圖19包括圖示在帶內信號傳遞可在資料包內被傳輸時由傳輸方設備執行的某些操作的第一流程圖1900。在方塊1902,該傳輸方設備可傳輸有效負荷資料,其可包括一或多個位元組或字。在方塊1904,該傳輸方設備可經由例如使線驅動器進入高阻抗模式來釋放SDATA。該傳輸方設備可在線驅動器進入高阻抗模式之前將SDATA驅動為低。
在方塊1906,該傳輸方設備可在該線驅動器進入高阻抗模式之後決定是否已經在SDATA上接收到一或多個脈衝。例如,該決定可在SCLOCK上接收到脈衝時作出。在方塊1908,該傳輸方設備可在決定已經接收到該一或多個脈衝之後解碼或以其他方式處理該一或多個脈衝。
在方塊1910,在SCLOCK上傳輸時鐘脈衝。該時鐘脈衝可由傳輸方設備、接收方設備,或另一時鐘產生設備(諸如匯流排主設備)來傳輸。在方塊1912,該傳輸方設備可使用該時鐘脈衝來接收由接收方設備傳輸的ACK/NACK。在該時鐘脈衝已經被終止之後,該傳輸方設備可在SDATA上監聽由該接收方設備傳輸的脈衝。在方塊1906,該傳輸方設備可決定是否已經在SDATA上接收到一或多個脈衝。當已經接收到該一或多個脈衝時,則在方塊1916,該傳輸方設備可解碼或以其他方式處理由該接收方設備傳輸的該一或多個脈衝。
圖19包括圖示如本文中所揭示的與解碼在資料包內傳輸的帶內關鍵信號傳遞相關的某些態樣的第二流程圖1920。流程圖1920係關於用於對在SDATA上傳輸的脈衝進行接收和計數的程序。在方塊1922,傳輸方設備可初始化脈衝計數器。在一個實例中,脈衝計數器在傳輸方設備已經傳輸了有效負荷資料並且進入了高阻抗模式之後被初始化。在另一實例中,脈衝計數器可在傳輸方設備已經接收到ACK/NACK之後被初始化。
在方塊1924,該傳輸方設備可決定是否已經從SDATA接收到脈衝。若沒有接收到脈衝,並且在方塊1926,該傳輸方設備決定脈衝的機會已經期滿,則可終止該程序。在方塊1924,該傳輸方設備可繼續監聽脈衝。當隨後在方塊1924接收到脈衝時,在方塊1928,該傳輸方設備可遞增該脈衝計數器。
在方塊1930,該傳輸方設備可決定是否需要或期望時鐘伸展。例如,時鐘伸展可能在收到脈衝的數目超過可被裝在時鐘信號的半循環內的脈衝的閾值數目時被需要。若需要時鐘伸展,並且若該傳輸方設備供應該時鐘信號,則在方塊1932,該傳輸方設備可啟用時鐘伸展電路。例如,時鐘伸展電路可延遲下一時鐘脈衝。
在方塊1934,該傳輸方設備可決定是否已經從SDATA接收到所配置的最大數目脈衝。在一些實例中,非參與設備可被限於傳輸單個脈衝。在其他實例中,該接收方設備可傳輸至多達基於將以PCM脈衝進行編碼的資訊所定義的數個脈衝。
處理電路和方法的各實例
圖20是圖示採用可被配置成執行本文所揭示的一或多個功能的處理電路2002的裝置2000的硬體實現的實例的示圖。根據本案的各種態樣,如本文中所揭示的元素,或元素的任何部分,或者元素的任何組合可使用處理電路2002來實現。處理電路2002可包括一或多個處理器2004,其由硬體和軟體模組的某種組合來控制。處理器2004的實例包括微處理器、微控制器、數位信號處理器(DSP)、SoC、ASIC、現場可程式設計閘陣列(FPGA)、可程式設計邏輯設備(PLD)、狀態機、定序器、閘控邏輯、個別的硬體電路,以及其他配置成執行本案中通篇描述的各種功能性的合適硬體。一或多個處理器2004可包括執行特定功能並且可由軟體模組2016之一來配置、增強或控制的專用處理器。一或多個處理器2004可經由在初始化期間載入的軟體模組2016的組合來配置,並且經由在操作期間載入或卸載一或多個軟體模組2016來進一步配置。在各種實例中,處理電路2002可以使用狀態機、定序器、信號處理器及/或通用處理器,或此類設備和電路的組合來實現。
在所圖示的實例中,處理電路2002可以用由匯流排2010一般化地表示的匯流排架構來實現。取決於處理電路2002的具體應用和整體設計約束,匯流排2010可包括任何數目的互連匯流排和橋接器。匯流排2010將各種電路連結在一起,包括一或多個處理器2004和儲存2006。儲存2006可包括記憶體設備和大型儲存區設備,並且在本文中可被稱為電腦可讀取媒體及/或處理器可讀取媒體。匯流排2010亦可連結各種其他電路,諸如定時源、計時器、周邊設備、穩壓器和功率管理電路。匯流排介面2008可提供匯流排2010與一或多個收發機2012之間的介面。可針對處理電路所支援的每種聯網技術來提供收發機2012。在一些例子中,多種聯網技術可共享收發機2012中找到的電路系統或處理模組中的一些或全部。每個收發機2012提供用於經由傳輸媒體與各種其他裝置通訊的手段。取決於裝置2000的本質,亦可提供使用者介面2018(例如,按鍵板、顯示器、揚聲器、話筒、操縱桿),並且該使用者介面2018可直接或經由匯流排介面2008通訊地耦合至匯流排2010。
處理器2004可負責管理匯流排2010和一般處理,包括對儲存在電腦可讀取媒體(其可包括儲存2006)中的軟體的執行。在該態樣,處理電路2002(包括處理器2004)可被用來實現本文中所揭示的方法、功能和技術中的任一種。儲存2006可被用於儲存處理器2004在執行軟體時操縱的資料,並且該軟體可被配置成實現本文中所揭示的方法中的任一種。
處理電路2002中的一或多個處理器2004可執行軟體。軟體應當被寬泛地解釋成意為指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體模組、應用程式、軟體應用程式、套裝軟體、常式、子常式、物件、可執行件、執行的執行緒、程序、函數、演算法等,無論其是用軟體、韌體、中間軟體、微代碼、硬體描述語言還是其他術語來述及皆是如此。軟體可按電腦可讀取形式常駐在儲存2006中或常駐在外部電腦可讀取媒體中。外部電腦可讀取媒體及/或儲存2006可包括非暫時性電腦可讀取媒體。作為實例,非暫時性電腦可讀取媒體包括磁儲存設備(例如,硬碟、軟碟、磁條)、光碟(例如,壓縮光碟(CD)或數位多功能光碟(DVD))、智慧卡、快閃記憶體設備(例如,「快閃記憶體驅動器」、卡、棒,或鍵式驅動)、RAM、ROM、可程式設計唯讀記憶體(PROM)、可抹除PROM(EPROM)(包括EEPROM)、暫存器、可移除磁碟,以及任何其他用於儲存可由電腦存取和讀取的軟體及/或指令的合適媒體。作為實例,電腦可讀取媒體及/或儲存2006亦可包括載波、傳輸線,以及可由電腦存取和讀取的用於傳輸軟體及/或指令的任何其他合適媒體。電腦可讀取媒體及/或儲存2006可常駐在處理電路2002中、處理器2004中、在處理電路2002外部,或跨包括該處理電路2002在內的多個實體分佈。電腦可讀取媒體及/或儲存2006可實施在電腦程式產品中。作為實例,電腦程式產品可包括封裝材料中的電腦可讀取媒體。熟習此項技術者將認識到如何取決於具體應用和加諸於整體系統上的整體設計約束來最佳地實現本案通篇提供的所描述的功能性。
儲存2006可維護以可載入程式碼片段、模組、應用程式、程式等來維護及/或組織的軟體,其在本文中可被稱為軟體模組2016。每個軟體模組2016可包括在安裝或載入到處理電路2002上並由一或多個處理器2004執行時對運行時間映射2014做出貢獻的指令和資料,該運行時間映射2014控制一或多個處理器2004的操作。在被執行時,某些指令可使得處理電路2002執行根據本文中所描述的某些方法、演算法和過程的功能。
一些軟體模組2016可在處理電路2002的初始化期間被載入,並且該等軟體模組2016可配置處理電路2002以使得能夠執行本文中所揭示的各種功能。例如,一些軟體模組2016可配置處理器2004的內部設備及/或邏輯電路2022,並且可管理對外部設備(諸如收發機2012、匯流排介面2008、使用者介面2018、計時器、數學輔助處理器等)的存取。軟體模組2016可包括控制程式及/或作業系統,其與中斷處理常式和設備驅動程式互動並且控制對由處理電路2002提供的各種資源的存取。該等資源可包括記憶體、處理時間、對收發機2012的存取、使用者介面2018等等。
處理電路2002的一或多個處理器2004可以是多功能的,由此一些軟體模組2016被載入和配置成執行不同功能或相同功能的不同例子。一或多個處理器2004可以被附加地調適成管理回應於來自例如使用者介面2018、收發機2012和設備驅動程式的輸入而啟動的幕後工作。為了支援多個功能的執行,一或多個處理器2004可被配置成提供多工環境,由此複數個功能之每一者功能依須求或按期望實現為由一或多個處理器2004服務的任務集。在一個實例中,多工環境可使用分時程式2020來實現,分時程式2020在不同任務之間傳遞對處理器2004的控制,由此每個任務在完成任何未決操作之後及/或回應於輸入(諸如中斷)而將對一或多個處理器2004的控制返回給分時程式2020。當任務具有對一或多個處理器2004的控制時,處理電路有效地專用於由與控制方任務相關聯的功能所針對的目的。分時程式2020可包括作業系統、在循環基礎上轉移控制權的主迴路、根據各功能的優先級化來分配對一或多個處理器2004的控制的功能,及/或經由將對一或多個處理器2004的控制提供給處置功能來回應外部事件的中斷驅動式主迴路。
圖21包括圖示可在耦合至串列匯流排的傳輸方設備處執行的過程的第一流程圖2100。
在方塊2102,該傳輸方設備可根據由傳輸方設備或由時鐘源設備在串列設備的第二線上傳輸的時鐘信號來在串列匯流排的第一線上向接收方設備傳輸資料位元組。在一個實例中,該時鐘源設備可以是耦合至串列匯流排的匯流排主設備。在另一實例中,該時鐘源設備可以是耦合至串列匯流排的從設備。在另一實例中,該時鐘源設備可以是傳輸方設備和接收方設備之間的事務中的參與者。
在方塊2104,該傳輸方設備可在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝;及
在方塊2106,該傳輸方設備可處理由該第一脈衝指示的警報。
在一些實例中,該第一脈衝由接收方設備傳輸。該第一脈衝可在第二線處於高信號傳遞狀態時被傳輸。該第一脈衝可在複數個脈衝時槽之一中被偵測到。該傳輸方設備可根據複數個脈衝時槽之每一者脈衝時槽中存在或不存在脈衝來解碼資訊。
在某些實例中,該第一脈衝可由第三設備傳輸。該第三設備可以是傳輸方設備與接收方設備之間的事務中的非參與方。該第一脈衝可被配置成避免與同接收方設備相關聯的認可或否定認可衝突。該第一脈衝可在第二線處於低信號傳遞狀態時被傳輸。該傳輸方設備可基於其中傳輸第一脈衝的脈衝時槽來標識第三設備。該脈衝時槽可以是時鐘信號中被指定用於第二設備的認可或否定認可的循環中的複數個脈衝時槽之一。
在一個實例中,該傳輸方設備可伸展時鐘信號中被指定用於第二設備的認可或否定認可的循環。
在一個實例中,該傳輸方設備可在串列匯流排上傳輸的前一位元組中傳輸第二脈衝。該第二脈衝可被傳輸以實現第一脈衝的傳輸。
圖22是圖示採用處理電路2202的裝置2200的硬體實現的簡化實例的示圖。處理電路通常具有控制器或處理器2216,其可包括一或多個微處理器、微控制器、數位信號處理器、定序器及/或狀態機。處理電路2202可以用由匯流排2220一般化地表示的匯流排架構來實現。取決於處理電路2202的具體應用和整體設計約束,匯流排2220可包括任何數目的互連匯流排和橋接器。匯流排2220將包括一或多個處理器及/或硬體模組(由控制器或處理器2216、模組或電路2204、2206和2208,以及電腦可讀取儲存媒體2218表示)的各種電路連結在一起。該裝置可使用實體層電路(諸如線驅動器電路2214)來耦合至多導線通訊鏈路。線驅動器電路2214可操作多導線串列匯流排2212以支援根據I3C協定的通訊。匯流排2220亦可連結各種其他電路,諸如定時源、周邊設備、穩壓器和功率管理電路,該等電路在本領域中是眾所周知的,且因此將不再進一步描述。
處理器2216負責一般性處理,包括執行儲存在電腦可讀取儲存媒體2218上的軟體、代碼及/或指令。該電腦可讀取儲存媒體可包括非暫時性儲存媒體。該軟體在由處理器2216執行時使得處理電路2202執行上文針對任何特定裝置描述的各種功能。電腦可讀取儲存媒體可被用於儲存由處理器2216在執行軟體時操縱的資料。處理電路2202進一步包括模組2204、2206和2208中的至少一個模組。模組2204、2206和2208可以是在處理器2216中執行的軟體模組、常駐/儲存在電腦可讀取儲存媒體2218中、是耦合至處理器2216的一或多個硬體模組,或是其某種組合。模組2204、2206和2208可包括微控制器指令、狀態機配置參數,或其某種組合。
在一種配置中,裝置2200包括時鐘信號管理模組及/或電路2204和線驅動器電路2214,線驅動器電路2214包括耦合至多導線串列匯流排的第一導線的第一線驅動器以及耦合至多導線串列匯流排2212的第二導線的第二線驅動器。裝置2200可包括配置成偵測另一設備在串列匯流排的時鐘信號上傳輸的脈衝寬度的模組及/或電路2208,以及配置成在爭用對串列匯流排的存取的各設備之間進行仲裁的模組及/或電路2206。
在一個實例中,裝置2200具有配置成將該裝置耦合至串列匯流排的匯流排介面。裝置2200可包括控制器,其被配置成根據由主設備在串列設備的第二線上傳輸的時鐘信號來在串列匯流排的第一線上向接收方設備傳輸資料位元組,在該時鐘信號中被指定用於第二設備的認可或否定認可的循環期間偵測該串列匯流排的第一線上的第一脈衝,以及處理由該第一脈衝指示的警報。
應理解,所揭示的過程中的步驟的特定順序或層次是示例性方法的說明。應理解,基於設計偏好,可以重新編排該等過程中各步驟的具體順序或層次。此外,一些步驟可被組合或被略去。所附方法請求項以取樣順序呈現各種步驟的元素,且並不意味著被限定於所提供的具體順序或層次。
提供之前的描述是為了使任何熟習此項技術者均能夠實踐本文中所描述的各種態樣。對該等態樣的各種修改將容易為熟習此項技術者所明白,並且在本文中所定義的普適原理可被應用於其他態樣。由此,請求項並非意欲被限定於本文中所示的態樣,而是應被授予與語言上的請求項相一致的全部範疇,其中對元素的單數形式的引述除非特別聲明,否則並非意欲表示「有且僅有一個」,而是「一或多個」。除非特別另外聲明,否則術語「一些」指的是一或多個。本案通篇描述的各個態樣的元素為一般技術者當前或今後所知的所有結構上和功能上的等效方案經由引述被明確納入於此,且意欲被請求項所涵蓋。此外,本文中所揭示的任何內容皆並非意欲貢獻給公眾,無論此種揭示是否在申請專利範圍中被顯式地敘述。沒有任何請求項元素應被解釋為手段功能,除非該元素是使用短語「用於……的構件」來明確敘述的。
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‧‧‧設備
212‧‧‧設備
214‧‧‧設備
216‧‧‧設備
300‧‧‧裝置
302‧‧‧設備
304‧‧‧感測器控制功能
306‧‧‧配置暫存器
308‧‧‧時鐘產生電路
310‧‧‧收發機
310a‧‧‧接收器
310b‧‧‧共用電路
310c‧‧‧傳輸器
312‧‧‧控制邏輯
314a‧‧‧線驅動器/接收器
314b‧‧‧線驅動器/接收器
316‧‧‧第一導線
318‧‧‧第二導線
320‧‧‧設備
322a‧‧‧設備
322n‧‧‧設備
324‧‧‧儲存
330‧‧‧串列匯流排
400‧‧‧時序圖
402‧‧‧SDA導線
404‧‧‧SCL導線
406‧‧‧設立時間
408‧‧‧保持時間
410‧‧‧最小歷時
412‧‧‧脈衝
414‧‧‧最小歷時
416‧‧‧轉變
418‧‧‧下一轉變
420‧‧‧第二時序圖
422‧‧‧開始狀況
424‧‧‧停止狀況
500‧‧‧示圖
506‧‧‧第一開始狀況
508‧‧‧停止狀況
510‧‧‧連貫開始狀況
512‧‧‧繁忙時段
514‧‧‧閒置時段
520‧‧‧示圖
522‧‧‧SDA導線
524‧‧‧SCL導線
526‧‧‧開始狀況
528‧‧‧重複的開始狀況
530‧‧‧閒置時段
532‧‧‧第一繁忙時段
534‧‧‧第二繁忙時段
600‧‧‧示圖
602‧‧‧SDA導線
604‧‧‧SCL導線
606‧‧‧開始狀況
608‧‧‧停止狀況
610‧‧‧7位元位址
612‧‧‧寫/讀命令位元
614‧‧‧下一時鐘區間
700‧‧‧時序圖
702‧‧‧資料導線
704‧‧‧時鐘導線
706‧‧‧開始狀況
708‧‧‧停止狀況
710‧‧‧重複的開始
712‧‧‧信號傳遞狀態
714‧‧‧脈衝
720‧‧‧命令碼傳輸
722‧‧‧啟動符
724‧‧‧預定義命令
726‧‧‧命令碼
728‧‧‧資料
730‧‧‧結束字元
800‧‧‧傳輸
802‧‧‧SDATA
804‧‧‧SCLOCK
806‧‧‧開始狀況
808‧‧‧停止狀況
810‧‧‧資料有效負荷
812‧‧‧ACK/NACK時槽
820‧‧‧傳輸
822‧‧‧資料有效負荷
824‧‧‧ACK/NACK時槽
826‧‧‧開始狀況
900‧‧‧傳輸
902‧‧‧SDATA
904‧‧‧SCLOCK
906‧‧‧資料有效負荷
908‧‧‧ACK/NACK時槽
910‧‧‧PCM脈衝
920‧‧‧傳輸
922‧‧‧資料有效負荷
924‧‧‧ACK/NACK時槽
926‧‧‧PCM脈衝
1000‧‧‧第一階段
1002‧‧‧SDATA
1004‧‧‧SCLOCK
1006‧‧‧PCM脈衝時槽
1020‧‧‧第二階段
1022‧‧‧脈衝時槽
1100‧‧‧通訊事務
1106‧‧‧第一位元組
1108‧‧‧授權脈衝
1110‧‧‧第二位元組
1112‧‧‧脈衝
1120‧‧‧通訊事務
1122‧‧‧授權脈衝
1200‧‧‧第一實例
1202‧‧‧SDATA
1204‧‧‧SCLOCK
1206‧‧‧PCM脈衝
1208‧‧‧脈衝
1210‧‧‧脈衝
1212‧‧‧電壓位準
1214‧‧‧電壓位準
1220‧‧‧第二實例
1222‧‧‧PCM脈衝
1224‧‧‧脈衝
1226‧‧‧脈衝
1302‧‧‧SDATA
1304‧‧‧SCLOCK
1306‧‧‧資料的有效位元
1308‧‧‧資料的有效位元
1310‧‧‧資料的有效位元
1312‧‧‧A階段
1314‧‧‧B階段
1316‧‧‧C階段
1318‧‧‧高信號傳遞狀態
1320‧‧‧高信號傳遞狀態
1322‧‧‧高信號傳遞狀態
1324‧‧‧ACK/NACK位元
1402‧‧‧SDATA
1406‧‧‧時鐘脈衝
1408‧‧‧伸展歷時
1410‧‧‧伸展歷時
1412‧‧‧A階段
1416‧‧‧C階段
1422‧‧‧ACK/NACK位元
1500‧‧‧第一實例
1502‧‧‧SDATA
1506‧‧‧ACK
1508‧‧‧歷時
1510‧‧‧時間段
1512‧‧‧資料有效時段
1520‧‧‧第二實例
1526‧‧‧ACK
1528‧‧‧歷時
1530‧‧‧時間段
1532‧‧‧資料有效時段
1534‧‧‧PCM脈衝
1600‧‧‧第一實例
1602‧‧‧SDATA
1606‧‧‧NACK
1608‧‧‧歷時
1610‧‧‧時間段
1612‧‧‧資料有效時段
1620‧‧‧第二實例
1626‧‧‧NACK
1628‧‧‧歷時
1630‧‧‧時間段
1632‧‧‧資料有效時段
1634‧‧‧PCM脈衝
1700‧‧‧第一實例
1702‧‧‧SDATA
1706‧‧‧ACK
1708‧‧‧脈衝
1710‧‧‧歷時
1712‧‧‧資料有效時段
1714‧‧‧時間段
1720‧‧‧第二實例
1726‧‧‧ACK
1728‧‧‧脈衝
1730‧‧‧歷時
1732‧‧‧資料有效時段
1734‧‧‧時間段
1736‧‧‧PCM脈衝
1800‧‧‧事務
1802‧‧‧傳輸方設備
1804‧‧‧接收方設備
1806‧‧‧非參與設備
1810‧‧‧訊框-1
1812‧‧‧步驟
1814‧‧‧步驟
1820‧‧‧訊框-2
1822‧‧‧步驟
1824‧‧‧步驟
1826‧‧‧步驟
1828‧‧‧步驟
1830‧‧‧步驟
1832‧‧‧步驟
1900‧‧‧第一流程圖
1902‧‧‧方塊
1904‧‧‧方塊
1906‧‧‧方塊
1908‧‧‧方塊
1910‧‧‧方塊
1912‧‧‧方塊
1914‧‧‧方塊
1916‧‧‧方塊
1920‧‧‧第二流程圖
1922‧‧‧方塊
1924‧‧‧方塊
1926‧‧‧方塊
1928‧‧‧方塊
1930‧‧‧方塊
1932‧‧‧方塊
1934‧‧‧方塊
2000‧‧‧裝置
2002‧‧‧處理電路
2004‧‧‧處理器
2006‧‧‧儲存
2008‧‧‧匯流排介面
2010‧‧‧匯流排
2012‧‧‧收發機
2014‧‧‧運行時間映射
2016‧‧‧軟體模組
2018‧‧‧使用者介面
2020‧‧‧分時程式
2022‧‧‧邏輯電路
2100‧‧‧第一流程圖
2102‧‧‧方塊
2104‧‧‧方塊
2106‧‧‧方塊
2200‧‧‧裝置
2202‧‧‧處理電路
2204‧‧‧模組或電路
2206‧‧‧模組或電路
2208‧‧‧模組或電路
2212‧‧‧多導線串列匯流排
2214‧‧‧線驅動器電路
2216‧‧‧控制器或處理器
2218‧‧‧電腦可讀取儲存媒體
2220‧‧‧匯流排
圖1圖示了在各IC設備之間採用根據複數個可用標準之一來選擇性地操作的資料連結的裝置。
圖2圖示了其中複數個設備使用串列匯流排來連接的通訊介面。
圖3圖示了包括連接至串列匯流排的多個設備的裝置的某些態樣。
圖4圖示了習知I2C匯流排上SDA導線與SCL導線之間的時序關係的某些態樣。
圖5是圖示與在I2C匯流排上傳輸的多個訊框相關聯的時序的時序圖。
圖6圖示了與根據I2C協定向從設備發送的命令字有關的時序。
圖7包括圖示在串列匯流排在I3C規範所定義的單倍資料速率(SDR)操作模式中操作時該串列匯流排上的信號傳遞的時序圖。
圖8圖示了在寫命令期間的串列匯流排上的傳輸。
圖9圖示了根據本文中所揭示的某些態樣的串列匯流排上的第一傳輸實例,其中資訊被編碼在ACK/NACK時槽中在資料線上傳輸的脈衝中。
圖10圖示了根據本文中所揭示的某些態樣的串列匯流排上的第一傳輸實例,其中資訊被編碼在時鐘信號的不同階段期間在資料線上傳輸的脈衝中。
圖11圖示了根據本文中所揭示的某些態樣的具有輸送量最佳化的串列匯流排上的第一傳輸實例。
圖12圖示了根據本文中所揭示的某些態樣的可將附加資訊編碼在ACK/NACK時槽中在資料線上傳輸的脈衝上的技術。
圖13圖示了耦合至串列匯流排的各設備之間的信號傳遞。
圖14圖示了根據本文中所揭示的某些態樣的可被用來支援期望數目的PCM脈衝的傳輸的時鐘伸展的各實例。
圖15圖示了其中非參與方設備根據本文中所揭示的某些態樣來調適成使用與ACK相關聯地傳輸的脈衝計數調制脈衝來發信號通知關鍵事件、警報或請求的實例。
圖16圖示了其中非參與方設備根據本文中所揭示的某些態樣來調適成使用與NACK相關聯地傳輸的脈衝計數調制脈衝來發信號通知關鍵事件、警報或請求的實例。
圖17圖示了其中接收方設備和非參與方設備可根據本文中所揭示的某些態樣來調適成使用與NACK/ACK相關聯地傳輸的脈衝計數調制脈衝來發信號通知關鍵事件、警報或請求的實例。
圖18是圖示接收方設備和非參與設備可根據本文中所揭示的某些態樣來調適成使用資料包內的脈衝計數調制脈衝來傳輸關鍵事件、警報或請求的信號傳遞圖。
圖19圖示了根據本文中所揭示的某些態樣的在帶內信號傳遞可在資料包內傳輸時由傳輸方設備執行的某些操作。
圖20是圖示採用可根據本文中所揭示的某些態樣來調適的處理電路的裝置的實例的方塊圖。
圖21是圖示根據本文中所揭示的某些態樣的可在耦合至串列匯流排的發送方設備處執行的過程的流程圖。
圖22圖示了根據本文中所揭示的某些態樣的用於調適成進行回應以支援串列匯流排的多線操作的傳輸方裝置的硬體實現。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記)
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記)

Claims (30)

  1. 一種在耦合至一串列匯流排的一傳輸方設備處實現的方法,該方法包括以下步驟: 根據由該傳輸方設備或由一時鐘源設備在該串列設備的一第二線上傳輸的一時鐘信號來在該串列匯流排的一第一線上向一接收方設備傳輸一資料位元組;在該時鐘信號中被指定用於該接收方設備的一認可或否定認可的一循環期間偵測該串列匯流排的該第一線上的一第一脈衝;及處理由該第一脈衝指示的一警報。
  2. 如請求項1之方法,其中該第一脈衝是在由該接收方設備傳輸該認可或否定認可之前由該接收方設備來傳輸的。
  3. 如請求項2之方法,其中該第一脈衝是在該第二線處於一高信號傳遞狀態時被傳輸的。
  4. 如請求項2之方法,其中該第一脈衝是在複數個脈衝時槽之一中被偵測到的,該方法進一步包括以下步驟: 根據該複數個脈衝時槽中的每一個脈衝時槽中存在或不存在脈衝來解碼資訊。
  5. 如請求項1之方法,其中該第一脈衝是由作為該傳輸方設備與該接收方設備之間的一事務中的一非參與者的一第三設備來傳輸的,並且其中該第一脈衝被配置成避免與同該接收方設備相關聯的一認可或一否定認可的衝突。
  6. 如請求項5之方法,其中該第一脈衝是在由該接收方設備傳輸該認可或否定認可之後並且在該第二線處於一低信號傳遞狀態時被傳輸的。
  7. 如請求項5之方法,進一步包括以下步驟: 基於在其中傳輸該第一脈衝的一脈衝時槽來標識該第三設備,其中該脈衝時槽是該時鐘信號中被指定用於該接收方設備的一認可或否定認可的該循環中的複數個脈衝時槽之一。
  8. 如請求項1之方法,進一步包括以下步驟: 伸展該時鐘信號中被指定用於該接收方設備的一認可或否定認可的該循環。
  9. 如請求項1之方法,進一步包括以下步驟: 在該串列匯流排上傳輸的前一位元組中傳輸一第二脈衝,其中該第二脈衝被傳輸以實現該第一脈衝的傳輸。
  10. 一種可操作用於在一串列匯流排上傳輸資料的裝置,包括: 一匯流排介面,其被配置成將該裝置耦合至一串列匯流排;及一控制器,其被配置成:根據由一時鐘源設備在該串列匯流排的一第二線上傳輸的一時鐘信號來在該串列匯流排的一第一線上向一接收方設備傳輸一資料位元組;在該時鐘信號中被指定用於該接收方設備的一認可或否定認可的一循環期間偵測該串列匯流排的該第一線上的一第一脈衝;及處理由該第一脈衝指示的一警報。
  11. 如請求項10之裝置,其中該第一脈衝是在由該接收方設備傳輸該認可或否定認可之前由該接收方設備來傳輸的。
  12. 如請求項11之裝置,其中該第一脈衝是在該第二線處於一高信號傳遞狀態時被傳輸的。
  13. 如請求項11之裝置,其中該第一脈衝是在複數個脈衝時槽之一中被偵測到的,並且其中該控制器被配置成: 根據該複數個脈衝時槽中的每一個脈衝時槽中存在或不存在脈衝來解碼資訊。
  14. 如請求項10之裝置,其中該第一脈衝是由作為該傳輸方設備與該接收方設備之間的一事務中的一非參與者的一第三設備來傳輸的,並且其中該第一脈衝被配置成避免與同該接收方設備相關聯的一認可或一否定認可的衝突。
  15. 如請求項14之裝置,其中該第一脈衝是在由該接收方設備傳輸該認可或否定認可之後並且在該第二線處於一低信號傳遞狀態時被傳輸的。
  16. 如請求項14之裝置,其中該控制器被配置成: 基於在其中傳輸該第一脈衝的一脈衝時槽來標識該第三設備,其中該脈衝時槽是該時鐘信號中被指定用於該接收方設備的一認可或否定認可的該循環中的複數個脈衝時槽之一。
  17. 如請求項10之裝置,其中該控制器被配置成: 伸展該時鐘信號中被指定用於該接收方設備的一認可或否定認可的該循環。
  18. 如請求項10之裝置,其中該控制器被配置成: 在該串列匯流排上傳輸的前一位元組中傳輸一第二脈衝,其中該第二脈衝被傳輸以實現該第一脈衝的傳輸。
  19. 一種裝置,包括: 用於根據由一時鐘源設備在一串列匯流排的一第二線上傳輸的一時鐘信號來在該串列匯流排的一第一線上向一接收方設備傳輸一資料位元組的構件;用於在該時鐘信號中被指定用於該接收方設備的一認可或否定認可的一循環期間偵測該串列匯流排的該第一線上的一第一脈衝的構件;及用於處理由該第一脈衝指示的一警報的構件。
  20. 如請求項19之裝置,其中該第一脈衝是在由該接收方設備傳輸該認可或否定認可之前由該接收方設備來傳輸的。
  21. 如請求項20之裝置,其中該第一脈衝是在該第二線處於一高信號傳遞狀態時被傳輸的。
  22. 如請求項20之裝置,其中該第一脈衝是在複數個脈衝時槽之一中被偵測到的,該裝置進一步包括: 用於根據該複數個脈衝時槽中的每一個脈衝時槽中存在或不存在脈衝來解碼資訊的構件。
  23. 如請求項19之裝置,其中該第一脈衝是由作為該傳輸方設備與該接收方設備之間的一事務中的一非參與者的一第三設備來傳輸的,並且其中該第一脈衝被配置成避免與同該接收方設備相關聯的一認可或一否定認可的衝突。
  24. 如請求項23之裝置,其中該第一脈衝是在由該接收方設備傳輸該認可或否定認可之後並且在該第二線處於一低信號傳遞狀態時被傳輸的。
  25. 如請求項23之裝置,進一步包括: 基於在其中傳輸該第一脈衝的一脈衝時槽來標識該第三設備,其中該脈衝時槽是該時鐘信號中被指定用於該接收方設備的一認可或否定認可的該循環中的複數個脈衝時槽之一。
  26. 如請求項19之裝置,進一步包括: 伸展該時鐘信號中被指定用於該接收方設備的一認可或否定認可的該循環。
  27. 如請求項19之裝置,進一步包括: 在該串列匯流排上傳輸的前一位元組中傳輸一第二脈衝,其中該第二脈衝被傳輸以實現該第一脈衝的傳輸。
  28. 一種儲存電腦可執行代碼的電腦可讀取媒體,包括用於使一電腦執行以下操作的代碼: 根據由一時鐘源設備在一串列匯流排的一第二線上傳輸的一時鐘信號來在該串列匯流排的一第一線上向一接收方設備傳輸一資料位元組;在該時鐘信號中被指定用於該接收方設備的一認可或否定認可的一循環期間偵測該串列匯流排的該第一線上的一第一脈衝;及處理由該第一脈衝指示的一警報。
  29. 如請求項28之電腦可讀取媒體,其中該第一脈衝是在該第二線處於一高信號傳遞狀態時由該接收方設備傳輸的。
  30. 如請求項28之電腦可讀取媒體,其中該第一脈衝是由作為該傳輸方設備與該接收方設備之間的一事務中的一非參與者的一第三設備來傳輸的,並且其中該第一脈衝被配置成避免與同該接收方設備相關聯的一認可或一否定認可的衝突。
TW108103245A 2018-01-29 2019-01-29 用於i3c匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞 TW201937378A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/882,494 US10693674B2 (en) 2018-01-29 2018-01-29 In-datagram critical-signaling using pulse-count-modulation for I3C bus
US15/882,494 2018-01-29

Publications (1)

Publication Number Publication Date
TW201937378A true TW201937378A (zh) 2019-09-16

Family

ID=65441066

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108103245A TW201937378A (zh) 2018-01-29 2019-01-29 用於i3c匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞

Country Status (3)

Country Link
US (1) US10693674B2 (zh)
TW (1) TW201937378A (zh)
WO (1) WO2019148111A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11356314B2 (en) * 2020-10-21 2022-06-07 Qualcomm Incorporated Pulse amplitude modulation (PAM) encoding for a communication bus

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058793A1 (de) * 2000-11-27 2002-06-13 Thomson Brandt Gmbh Datenbus
US7089338B1 (en) 2002-07-17 2006-08-08 Cypress Semiconductor Corp. Method and apparatus for interrupt signaling in a communication network
US20070240011A1 (en) 2006-04-05 2007-10-11 Texas Instruments Incorporated FIFO memory data pipelining system and method for increasing I²C bus speed
CN102037454A (zh) 2008-05-21 2011-04-27 惠普开发有限公司 具有位置检测的多站串行总线和方法
US9519603B2 (en) 2013-09-09 2016-12-13 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US9690725B2 (en) 2014-01-14 2017-06-27 Qualcomm Incorporated Camera control interface extension with in-band interrupt
US9734121B2 (en) * 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus
US10108511B2 (en) * 2015-06-15 2018-10-23 Qualcomm Incorporated Test for 50 nanosecond spike filter
US9727506B2 (en) 2015-10-01 2017-08-08 Sony Corporation Communication system, communication system control method, and program
CN106598891B (zh) * 2015-10-15 2021-04-30 恩智浦美国有限公司 集成电路间i2c总线***中的从设备报警信号

Also Published As

Publication number Publication date
US10693674B2 (en) 2020-06-23
US20190238362A1 (en) 2019-08-01
WO2019148111A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
US11010327B2 (en) I3C point to point
US20180046595A1 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
TW201937378A (zh) 用於i3c匯流排的使用脈衝計數調制的資料包內關鍵信號傳遞
US10678723B2 (en) Urgent in-band interrupts on an I3C bus
TW202026900A (zh) 混合模式射頻前端介面
TW201933130A (zh) 快速仲裁程序之優先權方案
US20180260357A1 (en) I2c clock stretch over i3c bus
TW201926064A (zh) 用於時間臨界資料交換之多點下傳匯流排上之位元交錯雙向傳輸
US20200201804A1 (en) I3c device timing adjustment to accelerate in-band interrupts
US20190018818A1 (en) Accelerated i3c stop initiated by a third party
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
US20200083875A1 (en) Master read from slave over pulse-width modulated half-duplex 1-wire bus
US20170371830A1 (en) Accelerated i3c master stop
US20210173808A1 (en) Early parity error detection on an i3c bus
US20190171611A1 (en) Protocol-framed clock line driving for device communication over master-originated clock line
TW201904236A (zh) 串列匯流排中止之際的糾錯計算
US11520729B2 (en) I2C bus architecture using shared clock and dedicated data lines
US11023408B2 (en) I3C single data rate write flow control
US20230350841A1 (en) Providing acknowledgements for system power management interface
US10572439B1 (en) I3C read from long latency devices
US20210141757A1 (en) Adaptive address arbitration optimization on an i3c bus
WO2019070361A1 (en) MULTI-LINE BUS WITH DYNAMIC ADJUSTMENT SHARED BY MULTIPROTOCOL DEVICES
US20180181533A1 (en) Ending write data transfer in i3c hdr-ddr mode