TW202125277A - C-phy半速率線狀態編碼器和解碼器 - Google Patents

C-phy半速率線狀態編碼器和解碼器 Download PDF

Info

Publication number
TW202125277A
TW202125277A TW109135731A TW109135731A TW202125277A TW 202125277 A TW202125277 A TW 202125277A TW 109135731 A TW109135731 A TW 109135731A TW 109135731 A TW109135731 A TW 109135731A TW 202125277 A TW202125277 A TW 202125277A
Authority
TW
Taiwan
Prior art keywords
symbol
state
signaling
signaling state
signal
Prior art date
Application number
TW109135731A
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 TW202125277A publication Critical patent/TW202125277A/zh

Links

Images

Classifications

    • 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/493Transmitting 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 by transition coding, i.e. the time-position or direction of a transition being encoded before transmission
    • 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
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0272Arrangements for coupling to multiple lines, e.g. for differential transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/028Arrangements specific to the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • 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/4917Transmitting 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 using multilevel codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

方法、裝置和系統提供了在通信鏈路上的改進的吞吐量。一種裝置具有:多個線路驅動器;第一線狀態編碼器,其被配置為:當3線鏈路處於第一信令狀態時接收符號序列中的第一符號,以及基於第一符號和第一信令狀態來定義用於3線鏈路的第二信令狀態;第二線狀態編碼器,其被配置為:接收符號序列中的第二符號,以及基於第二符號和第二信令狀態來定義用於3線鏈路的第三信令狀態。在符號序列中,第一符號緊接在第二符號之前。3線鏈路在連續的傳輸間隔中從第一信令狀態轉換到第二信令狀態,以及從第二信令狀態轉換到第三信令狀態。

Description

C-PHY半速率線狀態編碼器和解碼器
相關申請的交叉引用
本申請要求於2020年10月14日向美國專利局遞交的序號No.17/070,219的非臨時專利申請以及於2019年10月29日向美國專利局遞交的序號No.62/927,524的臨時專利申請的優先權和權益。
概括地說,本公開內容涉及高速資料通信介面,以及更具體地,本公開內容涉及改進在多線多相資料通信鏈路上的資料吞吐量。
諸如行動電話的移動設備的製造商可以從包括不同製造商的各種來源獲得移動設備的組件。例如,行動電話中的應用處理器可以是從第一製造商獲得的,而成像設備或相機可以是從第二製造商獲得的,以及顯示器可以是從第三製造商獲得的。應用處理器、成像設備、顯示控制器或其它類型的設備可以使用基於標準的或專有的實體介面來互連。在一個示例中,成像設備可以使用由行動產業處理器介面(MIPI)聯盟定義的相機串行介面(CSI)來連接。在另一示例中,顯示器可以包括符合由行動產業處理器介面(MIPI)聯盟規定的顯示器串行介面(DSI)標準的介面。
由MIPI聯盟定義的多相3線(C-PHY)介面使用三件套(trio)的導體來在設備之間發送資訊。在C-PHY介面上的符號的傳輸期間,三條線中的每條線可以處於三個信令狀態中的一者。時鐘資訊被編碼在C-PHY介面上發送的符號序列中,以及接收機根據連續符號之間的轉換來生成時鐘信號。C-PHY介面的最大速度以及時鐘和資料恢復(CDR)電路恢復時鐘資訊的能力可能受到與在通信鏈路的不同線上發送的信號的轉換相關的最大時間變化的限制,這可能限制每秒發送的符號數量。由移動設備提供的服務和性能的持續增加已經導致對在多相多線介面上的增加的資料吞吐量的持續需求。
本文公開的某些實施例提供了通過改進的編碼技術和協議在多線和/或多相通信鏈路上實現改進的通信的系統、方法和裝置。在一些實施例中,通過增加在通信鏈路上使用的符號時鐘速率來改進資料吞吐量。可以將通信鏈路部署在諸如具有多個積體電路(IC)器件的移動終端的裝置中。
在本公開內容的各個方面中,一種資料通信裝置具有:多個線路驅動器,其被配置為將所述裝置耦合到3線鏈路;第一線狀態編碼器,其被配置為:當所述3線鏈路處於第一信令狀態時接收符號序列中的第一符號,以及基於所述第一符號和所述第一信令狀態來定義用於所述3線鏈路的第二信令狀態;第二線狀態編碼器,其被配置為:接收所述符號序列中的第二符號,以及基於所述第二符號和所述第二信令狀態來定義用於所述3線鏈路的第三信令狀態。在所述符號序列中,所述第一符號緊接在所述第二符號之前。所述3線鏈路在連續的符號傳輸間隔中從所述第一信令狀態轉換到所述第二信令狀態,以及從所述第二信令狀態轉換到所述第三信令狀態。當所述3線鏈路從所述第二信令狀態轉換到所述第三信令狀態時,所述3線鏈路中的至少一條線的信令狀態進行改變。
在一個方面中,所述第一線狀態編碼器和所述第二線狀態編碼器中的每一者以每兩個符號傳輸間隔來定義用於所述3線鏈路的信令狀態。
在某些方面中,所述裝置包括時鐘生成電路,其被配置為提供半速率符號時鐘信號,所述半速率符號時鐘信號具有作為每個符號傳輸間隔的持續時間的兩倍的時段。所述裝置可以具有:驅動器控制電路,其被配置為控制所述多個線路驅動器;以及多工器,其在所述第二信令狀態與所述第三信令狀態之間進行選擇以向所述驅動器控制電路提供線狀態資訊。所述多工器可以基於所述半速率符號時鐘信號的相位來在所述第二信令狀態與所述第三信令狀態之間進行選擇。所述裝置可以具有:第一多個正反器,其是通過所述半速率符號時鐘信號的逆進行時鐘控制的,以及被配置為捕獲表示所述第二信令狀態的第一控制信號;第二多個正反器,其是通過所述半速率符號時鐘信號進行時鐘控制的,以及被配置為捕獲表示所述第三信令狀態的第二控制信號。所述多工器還可以被配置為提供所述第一控制信號或所述第二控制信號作為所述線狀態資訊。
在一個方面中,所述裝置具有一個或多個映射器,其被配置為將至少16位元的資料映射到所述符號序列中的至少7個符號。所述3線鏈路可以是根據C-PHY協議來操作的。
在一個方面中,所述裝置具有均衡器電路,其被配置為:接收所述第二信令狀態和所述第三信令狀態的延遲版本,以及當基於所述第二信令狀態與所述第三信令狀態之間的差異來發起對所述第三信令狀態的傳輸時,配置所述多個線路驅動器。
在本公開內容的各個方面中,一種資料通信方法包括:配置多個線路驅動器以將裝置耦合到3線鏈路;當所述3線鏈路處於第一信令狀態時,在第一線狀態編碼器處接收符號序列中的第一符號;基於所述第一符號和所述第一信令狀態來定義用於所述3線鏈路的第二信令狀態;在第二線狀態編碼器處接收所述符號序列中的第二符號;以及基於所述第二符號和所述第二信令狀態來定義用於所述3線鏈路的第三信令狀態。在所述符號序列中,所述第一符號緊接在所述第二符號之前。所述3線鏈路在連續的符號傳輸間隔中從所述第一信令狀態轉換到所述第二信令狀態以及從所述第二信令狀態轉換到所述第三信令狀態。當所述3線鏈路從所述第二信令狀態轉換到所述第三信令狀態時,所述3線鏈路中的至少一條線的信令狀態進行改變。
在本公開內容的各個方面中,一種處理器可讀存儲媒體,包括用於進行以下操作的代碼:配置多個線路驅動器,以將裝置耦合到3線鏈路;當所述3線鏈路處於第一信令狀態時,在第一線狀態編碼器處接收符號序列中的第一符號;基於所述第一符號和所述第一信令狀態來定義用於所述3線鏈路的第二信令狀態;在第二線狀態編碼器處接收所述符號序列中的第二符號;以及基於所述第二符號和所述第二信令狀態來定義用於所述3線鏈路的第三信令狀態。在所述符號序列中,所述第一符號緊接在所述第二符號之前。所述3線鏈路在連續的符號傳輸間隔中從所述第一信令狀態轉換到所述第二信令狀態以及從所述第二信令狀態轉換到所述第三信令狀態。當所述3線鏈路從所述第二信令狀態轉換到所述第三信令狀態時,所述3線鏈路中的至少一條線的信令狀態進行改變。
在本公開內容的各個方面中,一種資料通信裝置具有:多個接收機,其被配置為提供表示3線鏈路中的每對線之間的信令狀態的差異的差分信號;第一線狀態解碼器,其被配置為基於符號時鐘的第一半週期中的差分信號的狀態與所述符號時鐘的第二半週期中的差分信號的狀態之間的差異來提供第一符號,在所述符號時鐘中所述第二半週期緊接在所述第一半週期之前;第二線狀態解碼器,其被配置為基於所述符號時鐘的所述第二半週期中的差分信號的狀態與所述符號時鐘的第三半週期中的差分信號的狀態之間的差異來提供第二符號,在所述符號時鐘中所述第三半週期緊接在所述第二半週期之前;以及解映射器,其被配置為根據包括所述第一符號和所述第二符號的符號序列對資料進行解碼。在所述符號序列中所述第一符號緊接在所述第二符號之前。
在一些方面中,至少一個差分信號的信令狀態在半速率符號時鐘的半週期之間的每個轉換處改變。所述裝置可以包括時鐘恢復電路,其被配置為根據所述差分信號來推導所述符號時鐘。
在某些方面中,所述裝置包括多個差分信號處理器。每個差分信號處理器耦合到相關聯的差分信號。每個差分信號處理器可以被配置為:提供表示所述符號時鐘的所述第一半週期中的對應的差分信號的狀態的第一信號、表示所述符號時鐘的所述第二半週期中的對應的差分信號的狀態的第二信號、以及表示所述符號時鐘的所述第三半週期中的對應的差分信號的狀態的第三信號。
在一個方面中,所述解映射器還被配置為:根據七個符號的多個序列中的每個序列對16位元字進行解碼;或者根據由所述第一線狀態解碼器和所述第二線狀態解碼器併發地生成的七個符號的每對序列對32位元字進行解碼。所述3線鏈路可以是根據C-PHY協議來操作的。
在本公開內容的各個方面中,一種資料通信方法,包括:提供表示3線鏈路中的每對線之間的信令狀態的差異的差分信號;基於符號時鐘的第一半週期中的差分信號的狀態與所述符號時鐘的第二半週期中的差分信號的狀態之間的差異來提供第一符號,在所述符號時鐘中所述第二半週期緊接在所述第一半週期之前;基於所述符號時鐘的所述第二半週期中的差分信號的狀態與所述符號時鐘的第三半週期中的差分信號的狀態之間的差異來提供第二符號,在所述符號時鐘中所述第三半週期緊接在所述第二半週期之前;以及根據包括所述第一符號和所述第二符號的符號序列對資料進行解碼。在所述符號序列中,所述第一符號可以緊接在所述第二符號之前。
在本公開內容的各個方面中,包括用於進行以下操作的代碼:提供表示3線鏈路中的每對線之間的信令狀態的差異的差分信號;基於符號時鐘的第一半週期中的差分信號的狀態與所述符號時鐘的第二半週期中的差分信號的狀態之間的差異來提供第一符號,在所述符號時鐘中所述第二半週期緊接在所述第一半週期之前;基於所述符號時鐘的所述第二半週期中的差分信號的狀態與所述符號時鐘的第三半週期中的差分信號的狀態之間的差異來提供第二符號,在所述符號時鐘中所述第三半週期緊接在所述第二半週期之前;以及根據包括所述第一符號和所述第二符號的符號序列對資料進行解碼。在所述符號序列中,所述第一符號可以緊接在所述第二符號之前。
下文結合附圖闡述的具體實施方式旨在作為對各種配置的描述,而不是旨在表示可以在其中實踐本文所描述的概念的唯一配置。為了提供對各種概念的全面的理解,具體實施方式包括特定細節。然而,對於本領域技術人員來說將顯而易見的是,可以在不使用這些特定細節的情況下實踐這些概念。在一些實例中,以方塊圖形式示出公知的結構和組件,以避免對這樣的概念造成模糊。
如本申請中所使用的,術語“組件”、“模組”、“系統”等旨在包括計算機相關實體,諸如但不限於硬體、韌體、硬體和軟體的組合、軟體或者執行中的軟體。例如,組件可以是但不限於是:在處理器上運行的進程、處理器、對象、可執行文件、執行的線程、程序和/或計算機。通過說明的方式,在計算設備運行上的應用和計算設備兩者可以是組件。一個或多個組件可以位於進程和/或執行的線程內,以及組件可以定位於一個計算機上和/或分佈在兩個或更多個計算機之間。此外,這些組件可以從具有存儲在其上的各種資料結構的各種處理器可讀媒體來執行。組件可以例如根據具有一個或多個資料封包的信號(諸如來自通過信號的方式與本地系統、分布式系統中的另一組件進行交互、和/或跨越諸如互聯網的網絡與其它系統進行交互的一個組件的資料),通過本地和/或遠程進程的方式進行通信。
此外,術語“或”旨在意指包含性的“或”而不是排它性的“或”。就是說,除非另有規定或根據上下文清楚可知,否則短語“X採用A或B”旨在意指自然的包含性的排列中的任何排列。就是說,以下實例中的任何實例滿足短語“X採用A或B”:X採用A;X採用B;或者X採用A和B兩者。另外,除非另有規定或者根據上下文清楚可知要針對於單數形式,否則在本申請以及所附的申請專利範圍中所使用的冠詞“一(a)”和“一個(an)”通常應當被解釋為意指“一個或多個”。
概述
本發明的某些方面可以適用於改進由MIPI聯盟規定的C-PHY介面,其經常被部署為連接作為諸如電話、移動計算設備、電器、汽車電子產品、航空電子系統等的移動裝置的子組件的電子設備。移動裝置的示例包括行動電話、智能電話、會話發起協議(SIP)電話、膝上型計算機、筆記本、上網本、智能本、個人數位助理(PDA)、衛星無線電單元、全球定位系統(GPS)設備、多媒體設備、視頻設備、數位音頻播放器(例如,MP3播放器)、相機、遊戲控制台、可穿戴計算設備(例如,智能手錶、健康或健身跟蹤器等)、電器、傳感器、自動售貨機或任何其它類似功能的設備。
本文公開的某些方面使得設備能夠在3線通信鏈路上以較高的資料速率(與可能使用傳統C-PHY符號速率相比)進行通信。在本公開內容的各個方面中,一種資料通信裝置具有:多個線路驅動器,其被配置為將該裝置耦合到3線鏈路;以及資料編碼器,其被配置為在由多個線路驅動器在3線鏈路上連續發送的兩個符號之間的每個轉換中對至少4位元的二進制資料進行編碼,使得每對連續發送的符號包括兩個不同的符號。每個符號定義在相關聯的符號傳輸間隔期間3線鏈路的信令狀態,使得3線鏈路的每條線在相關聯的符號傳輸間隔期間處於與3線鏈路的其它線不同的信令狀態。資料可以是使用三相和脈衝幅度調製的組合來編碼的。該裝置可包括線狀態編碼器,其被配置為從資料編碼器接收符號序列,以及向多個線路驅動器提供控制信號。控制信號使得多個線路驅動器中的每一者在針對符號序列中的每個符號提供的符號傳輸間隔期間,將3線鏈路的一條線驅動到通過每個符號定義的信令狀態。
C-PHY介面是高速串行介面,其可以在帶寬受限的通道上提供高吞吐量。C-PHY介面可以被部署為將應用處理器連接到外圍設備(包括顯示器和相機)。C-PHY介面將資料編碼成符號,這些符號是在一組三條線(這可以被稱為三件套或三件套的線)上以三相信號來發送的。三相信號是在三件套中的每條線上以不同的相位來發送的。每個三線三件套在通信鏈路上提供通道。符號間隔可以被定義為其中單個符號控制三件套的信令狀態的時間間隔。在每個符號間隔中,一條線是未被驅動的或者被驅動到中間電壓狀態,而三條線中的其餘兩條線被差分驅動,使得兩條差分驅動的線中的一條線呈現第一電壓電平,並且另一差分驅動的線呈現不同於第一電壓電平的第二電壓電平。未被驅動的線可以浮動和/或被端接,使得其呈現處於或接近中間電壓電平的第三電壓電平,該中間電壓電平可以是在第一和第二電壓電平之間的中間電平的電壓電平。在一個示例中,驅動電壓電平可以是+V和–V,其中第三電壓是0伏特。在另一示例中,驅動電壓電平可以是+V和0伏特,其中未驅動電壓是+V/2。不同的符號是在每個連續發送的符號對中發送的,以及不同的線對可以是在不同的符號間隔中差分地驅動的。
圖1描繪了可以採用C-PHY 3相協議來實現一個或多個通信鏈路的裝置100的示例。裝置100可以包括SoC處理電路102,其具有多個電路或設備104、106和/或108,其可以在一個或多個ASIC或在SoC中實現。在一個示例中,裝置100可以是通信設備,以及處理電路102可以包括在ASIC 104中提供的處理設備、一個或多個外圍設備106以及使得該裝置能夠通過天線124與無線存取網絡、核心存取網絡、互聯網和/或另一網絡進行通信的收發機108。
ASIC 104可以具有一個或多個處理器112、一個或多個數據機110、板載記憶體114、匯流排介面電路116和/或其它邏輯電路或功能。處理電路102可以由可以提供應用編程介面(API)層的操作系統來控制,API層使得一個或多個處理器112能夠執行駐留在板載記憶體114或在處理電路102上提供的其它處理器可讀存儲裝置122中的軟體模組。軟體模組可以包括被存儲在板載記憶體114或處理器可讀存儲裝置122中的指令和資料。ASIC 104可以存取其板載記憶體114、處理器可讀存儲裝置122和/或在處理電路102外部的存儲裝置。板載記憶體114、處理器可讀存儲裝置122可以包括唯讀記憶體(ROM)或隨機存取記憶體(RAM)、電可擦除可編程ROM(EEPROM)、閃存卡、或能夠在處理系統和計算平臺中使用的任何記憶體設備。處理電路102可以包括、實現或存取本地資料庫或其它參數存儲裝置,其能夠維護用於對裝置100和/或處理電路102進行配置和操作的操作參數和其它資訊資訊。本地資料庫可以使用以下各項來實現:寄存器、資料庫模組、閃存、磁媒體、EEPROM、軟盤或硬碟等。處理電路102還可以可操作地耦合到外部設備,諸如天線124、顯示器126、操作員控制裝置(諸如開關或按鈕128、130和/或積體或外部小鍵盤132以及其它組件)。用戶介面模組可以被配置為通過專用通信鏈路或通過一個或多個串行資料互連來與顯示器126、外部小鍵盤132等一起操作。
處理電路102可以提供使得某些設備104、106和/或108能夠進行通信的一個或多個匯流排118a、118b、120。在一個示例中,ASIC 104可以包括匯流排介面電路116,其包括電路、計數器、定時器、控制邏輯和其它可配置電路或模組的組合。在一個示例中,匯流排介面電路116可以被配置為根據通信規範或協議來操作。處理電路102可以包括或控制用於配置和管理裝置100的操作的功率管理功能。
圖2示出了裝置200的某些方面,裝置200包括多個IC器件202和230,它們可以通過通信鏈路220來交換資料和控制資訊。通信鏈路220可以用於連接一對IC器件202和230,其位於彼此非常接近的位置或者在實體上位於裝置200的不同部分中。在一個示例中,可以在承載IC器件202和230的芯片載體、襯底或電路板上提供通信鏈路220。在另一示例中,第一IC器件202可以位於翻蓋手機的小鍵盤部分中,而第二IC器件230可以位於翻蓋手機的顯示器部分中。在另一示例中,通信鏈路220的一部分可以包括電纜或光學連接。
通信鏈路220可以包括多個通道222、224和226。一個或多個通道226可以是雙向的,以及可以以半雙工和/或全雙工模式進行操作。一個或多個通道222和224可以是單向的。通信鏈路220可以是非對稱的,其在一個方向上提供較高的帶寬。在本文描述的一個示例中,第一通道222可以被稱為前向通道222,而第二通道224可以被稱為反向通道224。第一IC器件202可以被指定為主機系統或發射機,而第二IC器件230可以被指定為客戶端系統或接收機,即使IC器件202和230兩者被配置為在通道222上進行發送和接收。在一個示例中,當從第一IC器件202向第二IC器件230傳送資料時,前向通道222可以以較高的資料速率來操作,而當從第二IC器件230向第一IC器件202傳送資料時,反向通道224可以以較低的資料速率來操作。
IC器件202和230均可以包括處理器206、236或其它處理和/或計算電路或設備。在一個示例中,第一IC器件202可以執行裝置200的核心功能,其包括通過無線收發機204和天線214建立和維護無線通信,而第二IC器件230可以支持管理或操作顯示控制器232的用戶界面,以及可以使用相機控制器234來控制相機或視頻輸入設備的操作。由IC器件202和230中的一者或多者支持的其它特徵可以包括鍵盤、語音識別組件和其它輸入或輸出設備。顯示控制器232可以包括支持諸如液晶顯示器(LCD)面板、觸摸屏顯示器、指示器等的顯示器的電路和軟體驅動器。存儲媒體208和238可以包括暫時性和/或非暫時性存儲設備,其適於維護由相應的處理器206和236、和/或IC器件202和230的其它組件使用的指令和資料。每個處理器206、236和其對應的存儲媒體208和238以及其它模組和電路之間的通信可以通過一個或多個內部匯流排212和242和/或通信鏈路220的通道222、224和/或226來促進。
反向通道224可以與前向通道222相同的方式進行操作,以及前向通道222和反向通道224可能能夠以相當的速度或以不同的速度進行發送,其中速度可以被表示為資料傳輸速率、符號傳輸速率和/或時鐘速率。前向和反向資料速率可以基本上是相同的或者可以相差若干數量級,這取決於應用。在一些應用中,單個雙向通道226可以支持第一IC器件202與第二IC器件230之間的通信。前向通道222和/或反向通道224可以可被配置為在雙向模式下進行操作,例如當前向通道222和反向通道224共享相同的實體連接並且以半雙工方式操作時。在一個示例中,通信鏈路220可以被操作為根據行業或其它標準來在第一IC器件202與第二IC器件230之間傳送控制、命令和其它資訊。
圖2的通信鏈路220可以根據用於C-PHY的MIPI聯盟規範來實現,以及可以提供包括多條信號線(表示為M條線)的有線匯流排。M條線可以被配置為在高速數位介面(諸如移動顯示數位介面(MDDI))中攜帶N相編碼資料。M條線可以促進在通道222、224和226中的一個或多個通道上的N相極性編碼。實體層驅動器210和240可以被配置或適配為生成N相極性編碼資料以在通信鏈路220上傳輸。對N相極性編碼的使用提供高速資料傳輸,以及可以消耗其它介面的一半或更少的功率,這是因為在N相極性編碼資料鏈路中較少的驅動器是活動的。
實體層驅動器210和240在被配置用於N相極性編碼時通常可以在通信鏈路220上的按每個轉換來編碼多個位元。在一個示例中,3相編碼和極性編碼的組合可以用於支持不具有幀緩衝器的寬視頻圖形陣列(WVGA)每秒80幀LCD驅動器IC,從而以810 Mbps來遞送像素資料以用於顯示器刷新。
圖3是示出可以用於實現在圖2中所描繪的通信鏈路220的某些方面的3線3相極性編碼器的圖300。選擇3線3相編碼的示例僅是為了簡化本發明的某些方面的描述。針對3線3相編碼器公開的原理和技術可以應用於M線N相極性編碼器的其它配置。
在3線3相極性編碼方案中針對3條線中的每條線定義的信令狀態可以包括正驅動狀態、負驅動狀態以及中間狀態或未驅動狀態。可以通過在信號線318a、318b和/或318c中的兩條信號線之間提供電壓差,和/或通過驅動電流通過信號線318a、318b和/或318c中的串聯連接的兩條信號線使得電流在兩條信號線318a、318b和/或318c中在不同的方向上流動,從而獲得正驅動狀態和負驅動狀態。可以將第三狀態提供為通過將信號線318a、318b或318c的驅動器的輸出置於高阻抗模式來實現的未驅動狀態。通常,不存在明顯的電流通過未被驅動的信號線318a、318b或318c。替代地或另外,第三狀態可以是通過以下方式來在信號線318a、318b或318c上獲得的中間狀態:被動地或主動地使得一條信號線318a、318b或318c達到基本上處於在被驅動的信號線318a、318b和/或318c上提供的正電壓電平與負電壓電平之間的中間的電壓電平。針對3線3相極性編碼方案定義的信令狀態可以是使用三個電壓或電流狀態(+1、-1和0)來表示的3線。
3線3相極性編碼器可以採用線路驅動器308來控制信號線318a、318b和318c的信令狀態。線路驅動器308可以被實現為單元級電流模式或電壓模式驅動器。在一些實現方式中,每個線路驅動器308可以接收信號316a、316b和316c的集合,其確定對應的信號線318a、318b和318c的輸出狀態。在一個示例中,信號316a、316b和316c的集合中的每個集合可以包括兩個或更多個信號,其包括上拉信號(PU信號)和下拉信號(PD信號),其在為高時啟動上拉和下拉電路,這兩個電路分別將信號線318a、318b和318c朝向更高電平或更低電平的電壓的驅動。在該示例中,當PU信號和PD信號兩者為低時,信號線318a、318b和318c可以終止於中間電平電壓。
對於3線3相極性編碼方案中的每個發送符號間隔,至少一條信號線318a、318b或318c處於中間/未驅動(0)電壓或電流狀態,而正驅動(+1電壓或電流狀態)信號線318a、318b或318c的數量等於負驅動(-1電壓或電流狀態)信號線318a、318b或318c的數量,使得流動到接收機的電流之和始終為零。對於每個符號,至少一條信號線318a、318b或318c的信令狀態根據在先前傳輸間隔中發送的線狀態進行改變。
在操作時,映射器302可以接收16位元資料310以及將其映射到7個符號312。在C-PHY示例中,7個符號中的每個符號定義信號線318a、318b和318c在一個符號間隔內的狀態。可以使用並行到串行轉換器304來將7個符號312串行化,並行到串行轉換器304針對每條信號線318a、318b和318c提供符號314的定時序列。符號314的序列通常是使用傳輸時鐘來定時的。3線3相編碼器306一次一個符號地,接收由映射器產生的7個符號314的序列,以及計算每條信號線318a、318b和318c在每個符號間隔內的狀態。3線3相編碼器306基於當前輸入符號314和信號線318a、318b和318c的先前狀態來選擇信號線318a、318b和318c的狀態。
使用3線3相編碼允許要在多個符號中編碼的多個位元,其中每符號的位元不是整數。在C-PHY通信鏈路的示例中,存在可以被同時地驅動的2條線的3個可用組合、以及在被驅動的線對上的2個可能的極性組合,從而產生6個可能的狀態。由於每個轉換從當前狀態發生,因此在每個轉換時6個狀態中的5個狀態是可用的。在每個轉換時需要改變至少一條線的狀態。在5個狀態的情況下,每符號可以編碼log2 (5)
Figure 02_image001
2.32位元。相應地,映射器可以接受16位元的字以及將其轉換為7個符號,這是因為每符號攜帶2.32位元的7個符號可以編碼16.24位元。換句話說,編碼五個狀態的七個符號的組合具有57 (78,125)個排列。相應的,可以使用7個符號來編碼16位元的216 (65,536)個排列。
圖4包括用於使用三相調製資料編碼方案來編碼的信號的時序圖400的示例,其是基於循環狀態圖450的。可以以信令狀態的序列(其中,例如,線或連接器處於通過循環狀態圖450定義的三個相位狀態S 1S 2S 3 中的一個相位狀態下)來對資訊進行編碼。每個狀態可以通過120°相移與其它狀態分開。在一個示例中,可以以線或連接器上的相位狀態的旋轉方向對資料進行編碼。信號中的相位狀態可以在順時針方向452和452’或逆時針方向454和454’上旋轉。例如,在順時針方向452和452’上,相位狀態可以按照包括從S 1S 2 的轉換、從S 2S 3 的轉換以及從S 3S 1 的轉換中的一項或多項的序列前進。在逆時針方向454和454’上,相位狀態可以按照包括從S 1S 3 的轉換、從S 3S 2 的轉換以及從S 2S 1 的轉換中的一項或多項的序列前進。三條信號線318a、318b和318c攜帶相同信號的不同版本,其中各版本可以相對於彼此相移120°。每個信令狀態可以被表示為線或連接器上的不同電壓電平、和/或電流通過線或連接器的方向。在3線系統中的信令狀態的序列中的每個序列期間,每條信號線318a、318b和3180c處於與其它線不同的信令狀態。當在3相編碼系統中使用多於3條信號線318a、318b和318c時,在每個信令間隔處,兩條或更多條信號線318a、318b和/或318c可以處於相同的信令狀態,但是在每個信令間隔中,每個狀態存在於至少一條信號線318a、318b和/或318c上。
可以在每個相位轉換410處以旋轉方向來對資訊進行編碼,以及3相信號可以針對每個信令狀態改變方向。旋轉方向可以是通過考慮哪些信號線318a、318b和/或318c在相位轉換之前和之後處於“0”狀態來確定的,這是因為未被驅動的信號線318a、318b和/或318c在旋轉的三相信號中的每個信號狀態下改變,而不考慮旋轉方向。
編碼方案還可以以主動驅動的兩條信號線318a、318b和/或318c的極性408來對資訊進行編碼。在3線實現方式中的任何時間處,信號線318a、318b、318c中的恰好兩條信號線是利用相反方向的電流和/或利用電壓差來驅動的。在一個實現方式中,可以使用兩位元值412來對資料進行編碼,其中一個位元在是在相位轉換410的方向上編碼的,以及第二位元是以針對當前狀態的極性408來編碼的。
時序圖400示出了使用相位旋轉方向和極性兩者的資料編碼。曲線402、404和406涉及在三條信號線318a、318b和318c上攜帶的分別用於多個相位狀態的信號。最初,相位轉換410是按照順時針方向的,以及最高有效位被設置為二進制“1”,直到相位轉換410的旋轉在時間414處切換到如通過最高有效位的二進制“0”所表示的逆時針方向。最低有效位反映信號在每個狀態下的極性408。
根據本文公開的某些方面,可以在3線3相編碼系統中以旋轉或相位變化來對資料的一個位元進行編碼,以及可以以兩條驅動線的極性來對額外位元進行編碼。通過允許從當前狀態到任何可能的狀態的轉換,可以在3線3相編碼系統的每個轉換中編碼額外資訊。給定3個旋轉相位和針對每個相位的兩個極性的情況下,在3線3相編碼系統中6個狀態是可用的。相應的,從任何當前狀態可獲得5個狀態,以及可以存在每符號(轉換)編碼的log2 (5)
Figure 02_image001
2.32位元,這允許映射器302接受16位元的字以及將其編碼為7個符號。
圖5是示出3線3相通信解碼器500的某些方面的圖。差分接收機502a、502b、502c和線狀態解碼器504被配置為提供三條傳輸線(例如,在圖3中示出的信號線318a、318b和318c)相對於彼此的狀態的數位表示,以及檢測三條傳輸線的狀態與在先前的符號週期中發送的狀態相比的變化。串行到並行轉換器506對七個連續狀態進行組裝,以獲得要由解映射器508處理的7個符號516的集合。解映射器508產生16位元的資料518,其可以被緩衝在先進先出(FIFO)寄存器510中以提供輸出資料520。
線狀態解碼器504可以從在信號線318a、318b和318c上接收的經相位編碼的信號中提取符號514的序列。如本文所公開的,符號514被編碼為相位旋轉和極性的組合。線狀態解碼器可以包括CDR電路524,其提取可以用於從信號線318a、318b和318c可靠地捕獲線狀態的時鐘526。在每個符號邊界處在信號線318a、318b和318c中的至少一條信號線上發生轉換,以及CDR電路524可以被配置為基於轉換或多個轉換的發生來生成時鐘526。可以延遲時鐘的邊沿以允許用於全部信號線318a、318b和318c已經穩定的時間,以及由此確保捕獲當前線狀態以用於解碼目的。
圖6是示出三條線的可能的信令狀態602、604、606、612、614、616的狀態圖600,其中示出了從每個狀態的可能轉換。在3線3相通信鏈路的示例中,6個狀態和30個狀態轉換是可用的。狀態圖600中的可能的信令狀態602、604、606、612、614和616包括在圖4的循環狀態圖450中所示的狀態以及在其上展開。如狀態元素628的示例所示,狀態圖600中的每個信令狀態602、604、606、612、614和616定義了分別被標記為A、B和C的信號線318a、318b、318c的電壓信令狀態。例如,在信令狀態602(+x)中,線A = +1,線B = -1以及線C = 0,從而產生差分接收機502a的輸出(A-B) = +2、差分接收機502b的輸出(B-C) = -1、以及差分接收機502c的輸出(C-A) = +1。由接收機中的相位變化檢測電路作出的轉換決策是基於由差分接收機502a、502b、502c產生的5個可能的電平的,其包括-2、-1、0、+1和+2電壓狀態。
狀態圖600中的轉換可以通過翻轉、旋轉、極性符號(例如,FRP符號626)來表示,該極性符號具有集合中的三位元二進制值{000, 001, 010, 011, 100}中的一者。FRP符號626的旋轉位元622指示與到下一狀態的轉換相關聯的相位旋轉的方向。當到下一狀態的轉換涉及極性變化時,FRP符號626的極性位元624被設置為二進制1。當FRP符號626的翻轉位元620被設置為二進制1時,旋轉和極性值可以被忽略和/或歸零。翻轉表示僅涉及極性變化的狀態轉換。相應的,當發生翻轉時,3相信號的相位被認為不進行旋轉,以及當發生翻轉時,極性位元是冗餘的。FRP符號626對應於針對每個轉換的線狀態變化。狀態圖600可以被分為包括正極性信令狀態602、604、606的內圓608和包含負極性信令狀態612、614、616的外圓618。
圖7示出了可以在某些C-PHY介面中使用的線狀態編碼700的示例。符號編碼器702接收FRP符號708(其可以具有在圖6中示出的FRP符號626的格式)的流。映射器302(參見圖3)可以根據要在C-PHY匯流排上傳送的資料來生成FRP符號708的流。符號編碼器702基於緊接在前面的發送符號716,來提供用於FRP符號708的流中的每個FRP符號的當前發送符號714。緊接在前面的發送符號716由正反器或寄存器706維護,正反器或寄存器706被配置為基於由符號時鐘信號710提供的時序來捕獲當前發送符號714。符號時鐘信號710還提供用於預驅動和控制電路704的時序,預驅動和控制電路704控制耦合到C-PHY匯流排的線路驅動器的操作。在一些情況下,預驅動和控制電路704可以在符號時鐘信號710的週期的持續時間內捕獲並且保存當前發送符號714。在一些情況下,預驅動和控制電路704可以提供信號集合712,其控制線路驅動器電路的上拉和下拉部分。表720示出了產生用於針對C-PHY匯流排定義的每個線狀態722的電壓電平724的信號集合712的狀態。
圖8示出了可以在某些C-PHY介面中使用的線狀態解碼800的示例。比較器集合802監測C-PHY匯流排的信令狀態822,以及產生差分信號,差分信號由第一正反器或寄存器804基於由符號時鐘信號820提供的時序而捕獲作為當前線狀態826。時鐘恢復電路812監測C-PHY匯流排的信令狀態822,以及產生可以通過閘控邏輯816而選通以產生符號時鐘信號820的接收時鐘信號828。閘控邏輯816可以從時鐘窗口邏輯814接收使能信號830,以及當穩定信號818指示接收時鐘信號828有效時,閘控邏輯816提供符號時鐘信號820。第二正反器或寄存器806通過基於由符號時鐘信號820提供的時序來捕獲當前線狀態826,從而提供先前線狀態824。
符號解碼器808產生FRP符號810(其可以具有在圖6中示出的FRP符號626的格式)的流。FRP符號810的流可以被提供給解映射器508(參見圖5),解映射器508根據FRP符號810的流對資料進行解碼。符號解碼器808基於先前線狀態824與當前線狀態826之間的差異,來產生在FRP符號810的流中的每個FRP符號。
應用和傳感器的不斷增加的複雜性和性能已經產生了對資料速率和吞吐量的對應增加的需求。例如,可以預期多個成像設備和一成像設備的增加的分辨率產生要在應用處理器與其它設備之間的C-PHY匯流排上傳送的不斷增加的圖像資料量。對更高幀速率和在裝置中提供多個成像設備的需求還使要被發送的圖像資料量成倍增加,以及可能減少可用於發送圖像資料的時間。顯示系統正在被併發地提供有增加的分辨率,以及可能需要顯示系統處置增加的幀速率。使用傳統的C-PHY介面可能難以滿足對吞吐量的增加的需求。
C-PHY資料路徑以全速率時鐘進行操作,由此資料是分別在發射機的符號時鐘信號或接收機的符號時鐘信號的單個類型的邊沿上發送和採樣的。基於在實現方式中採用的電路設計,符號時鐘信號中的用於時序的邊沿類型可以是上升沿或下降沿。資料吞吐量是通過C-PHY介面的符號速率來確定的,其中,符號速率可以被表示為在C-PHY匯流排上的每秒發送的符號數量。根據傳統C-PHY規範: 符號速率=符號時鐘頻率。 資料吞吐量可以被度量為在C-PHY匯流排上發送的每秒位元數量。在一個示例中,可以在連續發送的符號之間的轉換中編碼近似2.32位元,使得 資料吞吐量=2.32*(符號時鐘頻率)。
通過增加符號時鐘頻率,可以獲得增加的資料吞吐量。用於增加符號時鐘頻率的能力受到C-PHY發射機和接收機中的電路的性能的限制。在許多實現方式中,針對邏輯閘定義的開關時間可以限制最大符號時鐘頻率,和/或可以限制以符號時鐘頻率操作的電路中的閘級別的數量。在一個示例中,通過接收機的邏輯電路的傳播時間的差異可以限制可以在其中可靠地採樣符號的時間間隔。在另一示例中,對高速全速率符號時鐘信號的生成和分發可能難以實現並且可能使積體電路設計複雜化。
根據本公開內容的某些方面實現的C-PHY介面可以在不增加符號時鐘速率的情況下增加用於C-PHY介面的資料吞吐量。在一個方面中,C-PHY資料路徑中的時序可以由半速率符號時鐘信號來控制。當使用半速率符號時鐘信號時,可以在符號時鐘信號的上升沿和下降沿兩者上發送符號,從而放寬在較高的符號速率下對符號時鐘信號的頻率要求。根據本公開內容的某些方面對半速率符號時鐘信號的使用提供: 符號速率=2*(符號時鐘頻率)。 資料吞吐量被度量為在C-PHY匯流排上發送的每秒位元數量。當在連續發送的符號之間的轉換中編碼2.32位元時: 資料吞吐量=4.64*(符號時鐘頻率)。 在一個示例中,可以在根據本公開內容的某些方面來實現的C-PHY介面中使用5 GHz符號時鐘信號,來獲得在傳統C-PHY介面中使用10 GHz符號時鐘信號而獲得的資料吞吐量。
本公開內容的某些方面涉及可以使用半速率符號時鐘信號來操作的C-PHY發射機和接收機的結構和配置。在各個示例中,C-PHY發射機和接收機被配置用於雙路徑架構,每個路徑對符號序列中的交替符號進行編碼或解碼。出於本描述的目的,被配置用於與半速率符號時鐘一起使用的發射機或接收機中的路徑被指定為奇數路徑和偶數路徑。在一個示例中,發射機或接收機中的奇數路徑處置在序列中的作為發送的第一、第三、第五符號等的符號,以及發射機或接收機中的偶數路徑處置在序列中的作為發送的第二、第四、第六符號等的符號。在操作時,路徑在結構上是對稱的,以及符號或路徑可以被任意地指定為奇數和偶數。根據一個方面,利用雙路徑架構來實現的C-PHY發射機包括向對應的奇數路徑和偶數路徑提供奇數符號和偶數符號的映射器。根據一個方面,利用雙路徑架構來實現的C-PHY接收機包括從對應的奇數路徑和偶數路徑接收奇數符號和偶數符號,並且將奇數符號和偶數符號進行交織以提供用於解碼的符號序列的解映射器。
圖9根據本公開內容的各方面示出了可以在被配置有雙路徑架構的C-PHY發射機中實現的映射電路900、930的示例。第一映射電路900包括兩個映射器902、904,每個映射器902、904向發射機中的路徑中的一者進行饋送,其中,發射機是利用偶數符號路徑和奇數符號路徑來實現的。每個偶數符號定義之後緊跟著通過奇數符號定義的信令狀態的信令狀態,以及每個奇數符號定義之後緊跟著通過偶數符號定義的信令狀態的信令狀態。
第一映射電路900可以接收作為兩個16位元字或單個32位元字的輸入資料912。第一映射電路900將32位元字分成兩個16位元字。相應的映射器902、904可以將每個16位元字映射到7個FRP符號的序列中。可以使用相應的串行器906、908來將7個FRP符號的序列的每個21位元表示進行串行化以獲得FRP符號的定時序列。串行器906、908在半速率符號時鐘信號910的每個時鐘週期提供一個符號,半速率符號時鐘信號910具有等於期望符號傳輸速率的一半的頻率。在所示的示例中,兩個映射器902、904向對應的串行器906、908提供七個3位元FRP符號的序列。
映射器902、904的時序是通過字時鐘信號916來控制的,字時鐘信號916是由將半速率符號時鐘信號910除以7的電路914來提供的。串行器906、908的輸入時序是通過字時鐘信號916來控制的,以及串行器906、908的輸出時序是通過半速率符號時鐘信號910來控制的。
在一個示例中,第一映射電路900向偶數符號路徑918提供對16位元字進行編碼的FRP符號,該16位元字與被編碼在提供給奇數符號路徑920的FRP符號中的16位元字不同。例如,FRP符號N被提供給偶數符號路徑918,以及符號N+1被提供給奇數符號路徑920,其中,符號N+1在傳輸中跟隨符號N。從兩個映射器902、904獲得的序列可以繼而被提供給偶數符號路徑918和奇數符號路徑920,從而有效地將7個FRP符號的兩個序列組合成14符號序列。
在另一示例中,兩個映射器902、904中的每一者可以被配置為偶數映射器902和奇數映射器904,兩個映射器902、904被配置為接收相同的32位元字。在該示例中,偶數映射器902提供在表示32位元字的14符號序列中的偶數符號,而奇數映射器904提供在表示32位元字的14符號序列中的奇數符號。由映射器902、904產生的符號可以被串行化以及被提供給對應的符號路徑918、920。在這個示例中,在串行匯流排上的信令與傳統C-PHY發射機一致。
第二映射電路930使用單個映射器934以及被配置為以16位元字接收資料。單個映射器934被配置為將每個16位元字編碼在7個FRP符號的序列中。可以使用解多工器936將7個FRP符號的序列加載到7到2移位寄存器938中,解多工器936向耦合到對應的偶數符號路徑918和奇數符號路徑920的移位寄存器提供偶數符號和奇數符號。解多工器936是以一半的輸入資料時鐘速率、使用通過除法器940的操作而根據符號時鐘信號910推導的時鐘信號942進行時鐘控制的。
圖10示出了發射機1000的第一示例,發射機1000被配置為使用半速率符號時鐘信號910來將輸入資料1020編碼在控制C-PHY三件套1024的信令狀態的符號中。發射機1000是利用偶數符號路徑和奇數符號路徑來實現的,其中,每個偶數符號定義之後緊跟著通過奇數符號定義的信令狀態的信令狀態,以及每個奇數符號定義之後緊跟著通過偶數符號定義的信令狀態的信令狀態。在一些實現方式中,所得到的符號序列符合C-PHY協議。圖11示出了用於發射機1000的時序1100。
輸入資料1020可以由映射電路1002接收為兩個16位元字或單個32位元字。映射電路1002可以例如對應於在圖9中示出的映射電路900、930中的一者。由映射電路1002提供的FRP符號序列中的每個符號被正反器1004和1014中的一者捕獲,正反器1004和1014維護要被編碼以進行傳輸的下一FRP符號1030、1032。對於半速率符號時鐘信號910的每個週期,在偶數符號路徑中的正反器1004向第一線狀態編碼器1006提供輸入,以及在奇數符號路徑中的正反器1014向第二線狀態編碼器1016提供輸入。
第一線狀態編碼器1006提供下一偶數3位元線狀態符號1034作為其輸出,以定義C-PHY三件套1024的每條線的信令狀態。下一偶數3位元線狀態符號1034是基於偶數3位元符號1030與在奇數符號路徑上生成的當前奇數3位元線狀態符號1040之間的差異來生成的。通過半速率符號時鐘信號910的逆進行時鐘控制的正反器1008通過捕獲下一偶數3位元線狀態符號1034(當其是通過正反器1008進行時鐘控制的以便被發送時)來提供當前偶數3位元線狀態符號1038。
第二線狀態編碼器1016提供下一奇數3位元線狀態符號1036作為其輸出,以定義C-PHY三件套1024的每條線的信令狀態。下一奇數3位元線狀態符號1036是基於奇數3位元符號1032與在偶符號路徑上生成的當前偶數3位元線狀態符號1038之間的差異來生成的。通過半速率符號時鐘信號910進行時鐘控制的正反器1018通過捕獲下一奇數3位元線狀態符號1036(當其是通過正反器1018進行時鐘控制的以便被發送時)來提供當前奇數3位元線狀態符號1040。
多工器1010從當前偶數3位元線狀態符號1038和當前奇數3位元線狀態符號1040中選擇其輸出1042。多工器1010的輸出1042被提供給預驅動和控制電路1012,預驅動和控制電路1012控制耦合到C-PHY三件套1024的線路驅動器集合1022。多工器1010是通過半速率符號時鐘信號910來控制的,使得偶數符號和奇數符號控制1002在半速率符號時鐘信號910的不同相位(半週期)下的狀態。
圖12示出了發射機1200的第二示例,發射機1200被配置為使用半速率符號時鐘信號910來將輸入資料1220編碼在控制C-PHY三件套1242的信令狀態的符號中。發射機1200以與圖10的發射機1000類似的方式進行操作,其中添加了支持均衡的流水線電路1226、1236。
發射機1200是利用偶數符號路徑和奇數符號路徑來實現的,其中,每個偶數符號定義之後緊跟著通過奇數符號定義的信令狀態的信令狀態,以及每個奇數符號定義之後緊跟著通過偶數符號定義的信令狀態的信令狀態。所得到的符號序列符合C-PHY協議。
輸入資料1220可以由映射電路1202接收為兩個16位元字或單個32位元字。映射電路1202可以例如對應於在圖9中示出的映射電路900、930中的一者。由映射電路1202提供的FRP符號序列中的每個符號被正反器1204和1214中的一者捕獲,正反器1204和1214中的一者維護下一FRP符號以用於處理。對於半速率符號時鐘信號910的每個週期,在偶數符號路徑中的正反器1204向第一線狀態編碼器1206提供輸入,以及在奇數符號路徑中的正反器1214向第二線狀態編碼器1216提供輸入。
第一線狀態編碼器1206提供下一偶數3位元線狀態符號作為其輸出以定義C-PHY三件套1242的每條線的信令狀態。下一偶數3位元線狀態符號是基於下一偶數FRP符號與在奇數符號路徑上生成的當前奇數3位元線狀態符號1246之間的差異來生成的。通過半速率符號時鐘信號910的逆進行時鐘控制的正反器1208通過捕獲由第一線狀態編碼器1206提供的下一偶數3位元線狀態符號(當其是通過正反器1208進行時鐘控制的以便被發送時),來提供當前偶數3位元線狀態符號1244。
第二線狀態編碼器1216提供下一奇數3位元線狀態符號作為其輸出,以定義C-PHY三件套1242的每條線的信令狀態。下一奇數3位元線狀態符號是基於下一奇數FRP符號與在偶數符號路徑上生成的當前偶數3位元線狀態符號1244之間的差異來生成的。通過半速率符號時鐘信號910進行時鐘控制的正反器1218通過捕獲由第二線狀態編碼器1216提供的下一奇數3位元線狀態符號(當其是通過正反器1218進行時鐘控制的以便被發送時),來提供當前奇數3位元線狀態符號1246。
在所示的示例中,當前偶數3位元線狀態符號1244和當前奇數3位元線狀態符號1246被提供給相應的偶數和奇數預驅動和控制電路1222、1232,預驅動和控制電路1222、1232產生被配置為控制耦合到C-PHY三件套1242的線路驅動器集合1210的一個或多個驅動器控制信號1224、1234。驅動器控制信號1224、1234被提供給相應的流水線電路1226、1236,其提供足以使得均衡電路1228、1238能夠確定針對驅動器控制信號1224、1234的均衡配置的延遲。在所示的示例中,流水線電路1226、1236包括兩個或更多個正反器,其將驅動器控制信號1224、1234延遲達對應的兩個或更多個時鐘週期。在用於偶數符號路徑的流水線電路1226中的正反器是通過半速率符號時鐘信號910的逆進行時鐘控制的,以及在用於奇數符號路徑的流水線電路1236中的正反器是通過半速率符號時鐘信號910進行時鐘控制的,以維持在偶數符號路徑與奇數符號路徑之間建立的時序關係。所延遲的驅動器控制信號由相應的流水線電路1226、1236提供給均衡器電路1228、1238,均衡器電路1228、1238可以對所延遲的驅動器控制信號中的某些信號應用時序調整,針對所延遲的驅動器控制信號中的某些信號生成驅動器幅度控制信號,或者提供時序和幅度調整的某種組合。均衡器電路1228、1238向多工器1240提供所延遲的驅動器控制信號和/或時序和幅度調整控制信號。
多工器1240在均衡器電路1228、1238的輸出之間進行選擇以提供其輸出。多工器1240的輸出被提供給耦合到C-PHY三件套1242的線路驅動器集合1210。多工器1240是通過半速率符號時鐘信號910來控制的,使得偶數符號和奇數符號控制C-PHY三件套1242在半速率符號時鐘信號910的不同相位(半週期)下的狀態。
被配置為對根據由半速率符號時鐘信號提供的時序來發送的符號序列進行解碼的接收機可以被配置有分別的偶數符號路徑和奇數符號路徑。差分信號處理器可以用於將差分信號解多工以獲得當前線狀態和先前線狀態。
圖13根據本公開內容的某些方面示出了可以在被配置用於半速率符號時鐘操作的接收機中使用的差分信號處理器1300、1330和1360的一個示例。
AB差分信號處理器1300從比較器或線路接收機電路接收AB差分信號1302。AB差分信號1302可以是從諸如在圖8中示出的比較器集合802的比較器集合中的一個比較器接收的。比較器提供差分信號集合{AB, BC, CA},其表示C-PHY匯流排中的三件套的線(被稱為線A、B和C)的信令狀態的差異。在一些實施例中,AB差分信號1302是多位元信號和/或可以是在兩個或更多個連接器或線上發送的。圖15是包括AB差分信號1302的快照的時序圖1500,其覆蓋了針對接收符號間隔{N, N+1, … N+8}的信令狀態。AB差分信號處理器1300包括第一正反器1304,第一正反器1304是通過半速率符號時鐘信號1324進行時鐘控制的以及被配置為捕獲偶數AB狀態1320,其包括用於符號集合{N-1, N+1, N+3, N+5和N+7}中的每個符號的AB狀態。
AB差分信號處理器1300包括第二正反器1306,第二正反器1306是通過半速率符號時鐘信號1324的逆進行時鐘控制的,以及被配置為捕獲奇數AB狀態1322,其包括用於符號集合{N, N+2, N+4和N+6}中的每個符號的狀態。AB差分信號處理器1300還包括第三正反器1308和第四正反器1310,它們是通過半速率符號時鐘信號1324進行時鐘控制的以及提供對齊的當前偶數AB狀態1314和當前奇數AB狀態1316。AB差分信號處理器1300還包括第五正反器1312,第五正反器1312是通過半速率符號時鐘信號1324進行時鐘控制的以及捕獲當前奇數AB狀態1316,以提供與對應的當前偶數AB狀態1314和當前奇數AB狀態1316在時間上對齊的先前奇AB狀態1318。
BC差分信號處理器1330從比較器或線路接收機電路接收BC差分信號1332。BC差分信號1332可以是從諸如在圖8中示出的比較器集合802的比較器集合中的一個比較器接收的。在一些實現方式中,BC差分信號1332是多位元信號和/或可以是在兩個或更多個連接器或線上發送的。BC差分信號處理器1330包括第一正反器1334,第一正反器1334是通過半速率符號時鐘信號1324進行時鐘控制的,以及被配置為捕獲偶數BC狀態1350,其包括用於符號集合{N-1, N+1, N+3, N+5和N+7}中的每個符號的BC狀態。
BC差分信號處理器1330包括第二正反器1336,第二正反器1336是通過半速率符號時鐘信號1324的逆進行時鐘控制的,以及被配置為捕獲奇數BC狀態1352,其包括用於符號集合{N,N+2,N+4和N+6}中的每個符號的狀態。BC差分信號處理器1330還包括第三正反器1338和第四正反器1340,它們是通過半速率符號時鐘信號1324進行時鐘控制的以及提供對齊的當前偶數BC狀態1344和當前奇數BC狀態1346。BC差分信號處理器1330還包括第五正反器1342,第五正反器1342是通過半速率符號時鐘信號1324進行時鐘控制的以及捕獲當前奇數BC狀態1346以提供與對應的當前偶數BC狀態1344和當前奇數BC狀態1346在時間上對齊的先前奇數BC狀態1348。
CA差分信號處理器1360從比較器或線路接收機器電路接收CA差分信號1362。CA差分信號1362可以是從諸如在圖8中示出的比較器集合802的比較器集合中的一個比較器接收的。在一些實現方式中,CA差分信號1362是多位元信號和/或可以是在兩個或更多個連接器或線上發送的。CA差分信號處理器1360包括第一正反器1364,第一正反器1364是通過半速率符號時鐘信號1324進行時鐘控制的,以及被配置為捕獲偶數CA狀態1380,其包括用於符號集合{N-1, N+1, N+3, N+5和N+7}中的每個符號的CA狀態。
CA差分信號處理器1360包括第二正反器1366,第二正反器1366是通過半速率符號時鐘信號1324的逆進行時鐘控制的,以及被配置為捕獲奇數CA狀態1382,其包括用於符號集合{N, N+2, N+4和N+6}中的每個符號的狀態。CA差分信號處理器1360還包括第三正反器1368和第四正反器1370,它們是通過半速率符號時鐘信號1324進行時鐘控制的以及提供對齊的當前偶數CA狀態1374和當前奇數CA狀態1376。CA差分信號處理器1360還包括第五正反器1372,第五正反器1372是通過半速率符號時鐘信號1324進行時鐘控制的以及捕獲當前奇數CA狀態1376以提供與對應的當前偶數CA狀態1374和當前奇數CA狀態1376在時間上對齊的先前奇數CA狀態1378。
圖14示出了接收機電路1400,其被配置為使用半速率符號時鐘信號1324來根據C-PHY匯流排的信令狀態對資料1450進行解碼。接收機電路1400是利用偶數符號路徑和奇數符號路徑來實現的,其中,每個符號對應於被編碼在連續的信令狀態之間的轉換中的資料。每個偶數符號表示之後緊跟著通過奇數符號表示的第二信令狀態的第一信令狀態,以及每個奇數符號表示之後緊跟著通過偶數符號表示的第四信令狀態的第三信令狀態。符號序列符合C-PHY協議。圖15示出了與接收機電路1400相關聯的時序。
接收機電路1400可以包括或者可以耦合到比較器(諸如在圖8中示出的比較器集合802)。比較器提供差分信號集合{AB, BC, CA},其表示C-PHY匯流排中的三件套的線(被稱為線A、B和C)的信令狀態的差異。提供三個差分信號處理器1402、1404、1406,以從在C-PHY匯流排上的符號傳輸間隔序列中的信令狀態中提取資訊。符號傳輸間隔是通過符號傳輸速率定義的。差分信號集合還被提供給生成半速率符號時鐘信號1324的時鐘恢復電路1430。半速率符號時鐘信號1324的每個時段定義兩個符號傳輸間隔。
AB差分信號處理器1402向一對線狀態解碼器提供當前偶數AB狀態、當前奇數AB狀態和先前奇數AB狀態。BC差分信號處理器1404向一對線狀態解碼器提供當前偶數BC狀態、當前奇數BC狀態和先前奇數BC狀態。CA差分信號處理器1406向一對線狀態解碼器提供當前偶數CA狀態、當前奇數CA狀態和先前奇數CA狀態。
偶數線狀態解碼器1408通過確定在用於AB、BC和CA差分信號的當前奇數狀態1412與用於AB、BC和CA差分信號的當前偶數狀態1414之間的差異來提供3位元偶數FRP符號1436。用於AB、BC和CA差分信號的當前偶數狀態1414發生在用於AB、BC和CA的當前奇數狀態1412之前。奇數線狀態解碼器1410通過確定在用於AB、BC和CA差分信號的當前偶數狀態1414與用於AB、BC和CA差分信號的先前奇數狀態1416之間的差異,來提供3位元奇數FRP符號1438。用於AB、BC和CA差分信號的先前奇數狀態1416發生在用於AB、BC和CA的當前偶數狀態1414之前。
偶數FRP符號1436和奇數FRP符號1438被分別保存在對應的寄存器或正反器1418和1420中,以向1到7串行到並行轉換器1422、1424提供偶數FRP輸入1440和奇數FRP輸入1442。寄存器或正反器1418和1420、以及串行到並行轉換器1422、1424的輸入是通過半速率符號時鐘信號1324進行時鐘控制的。串行到並行轉換器1422、1424基於由將半速率符號時鐘信號1324除以7的電路1428提供的資料時鐘信號1434提供的時序,來將符號序列的21位元表示作為偶數和奇數輸入1444提供給解映射器1426。解映射器1426對偶數和奇數輸入1444進行交織和解碼以獲得經解碼的資料1450,其可以是以16位元或32位元字輸出的。串行到並行轉換器1422、1424和解映射器1426可以基於由資料時鐘信號1434提供的時序進行操作。
圖16根據本公開內容的各方面示出了可以在被配置有雙路徑架構的C-PHY接收機中實現的解映射電路1600、1630的示例。第一解映射電路1600包括兩個解映射器1606、1608。第一解串行器1602或者串行到並行轉換器向第一解映射器1606提供從偶數符號路徑1612接收的七個3位元符號的每個序列的21位元表示。第二解串行器1604向第二解映射器1608提供從奇數符號路徑1614接收的七個3位元符號的每個序列的21位元表示。從偶數符號路徑1612和奇數符號路徑1614接收的符號可以被配置為FRP符號。解映射器1606、1608可以被配置為根據C-PHY編碼來將7符號序列轉換為資料。在一些實現方式中,解映射器1606、1608中的每一者可以通過使用七個符號的序列的21位元表示來對查找表進行索引,從而對七個符號的序列進行解碼。在一個示例中,第一解映射電路1600可以將輸出資料1620提供為兩個16位元字。在另一示例中,第一解映射電路1600可以將輸出資料1620提供為兩個16位元字或者單個32位元字。
解串行器1602、1604在半速率符號時鐘信號1610的每時鐘週期接收一個符號,半速率符號時鐘信號1610具有等於期望符號傳輸速率的一半的頻率。在所示的示例中,兩個解映射器1606、1608中的每一者從對應的解串行器1602、1604接收七個3位元FRP符號的集合。解映射器1606、1608的操作和解串行器1602、1604的輸出的時序是通過由將半速率符號時鐘信號1610除以7的電路1616提供的字時鐘信號1618來控制的。在所示的示例中,FRP符號N是從偶數符號路徑1612接收的,以及符號N+1是從奇數符號路徑1614接收的,其中,符號N+1是在符號N之後從C-PHY匯流排接收的。
在一些實現方式中,兩個解映射器1606、1608中的每一者可以被配置為偶數解映射器1606和奇數解映射器1608,兩個解映射器1606、1608被配置為輸出相同32位元字的部分。在一些實現方式中,在串行匯流排上的信令與傳統C-PHY發射機一致。
第二解映射電路1630使用單個解映射器1642,以及被配置為對從偶符號路徑1652和奇數符號路徑1654接收的符號進行交織。在一個示例中,7個FRP符號的序列是由正反器集合1636、1638從解串行器1632、1634捕獲的,其中,正反器集合1636、1638和解串行器1632、1634的輸出是通過字時鐘信號1656來控制的,字時鐘信號1656可以是從將半速率符號時鐘信號1610除以7的除法器1646獲得的。在一個示例中,解串行器1632、1634被配置為將多達7個接收的符號組裝成由相應的正反器集合1636、1638捕獲的符號序列。第一正反器集合1636從偶數符號路徑1652捕獲7符號序列,以及第二正反器集合1638從奇數符號路徑1654捕獲7符號序列。多工器1640根據由半字時鐘信號1658提供的選擇信號來饋送解映射器1642,字時鐘信號1658可以是從將半速率符號時鐘信號1610除以3.5的除法器1648獲得的。對於半速率符號時鐘信號1610的每個週期,解映射器1642在第二解映射電路1630的輸出1650處產生兩個16位元資料字。在一個示例中,第一16位元資料字是根據通過偶數符號路徑1652處理的7符號序列來解碼的,以及第二16位元資料字是根據通過奇數符號路徑1654處理的7符號序列來解碼的。
處理電路和方法的示例
圖17是示出用於採用處理電路1702的裝置的硬體實現方式的示例的概念圖1700,處理電路1702可以被配置為執行本文公開的一個或多個功能。根據本公開內容的各個方面,可以使用處理電路1702來實現如本文中公開的元素、或元素的任何部分、或元素的任何組合。處理電路1702可以包括支持本文公開的各種編碼方案的某些設備、電路和/或邏輯。在一個示例中,處理電路1702可以包括促進將資料編碼為符號的電路和模組的某種組合、以及適配於在串行匯流排的線上斷言三個或更多個電壓電平的線路驅動器。在另一示例中,處理電路1702可以包括促進使用3相編碼器、映射器、驅動器和/或均衡器來將資料編碼為符號的電路和模組的某種組合。處理電路1702可以包括狀態機或管理如本文所公開的編碼和/或解碼過程的另一類型的處理設備。
處理電路1702可以包括由硬體和軟體模組的某種組合控制的一個或多個處理器1704。處理器1704的示例包括微處理器、微控制器、數位信號處理器(DSP)、現場可編程閘陣列(FPGA)、可編程邏輯器件(PLD)、狀態機、定序器、閘控邏輯、離散硬體電路和被配置為執行遍及本公開內容描述的各種功能的其它合適的硬體。一個或多個處理器1704可以包括專用處理器,其執行特定功能,以及可以由軟體模組1716中的一個軟體模組進行配置、擴增或者控制。一個或多個處理器1704可以通過在初始化期間加載的軟體模組1716的組合來進行配置,以及進一步通過在操作期間加載或者卸載一個或多個軟體模組1716來進行配置。
在所示的示例中,處理電路1702可以利用匯流排架構(通常通過匯流排1710表示)來實現。取決於處理電路1702的特定應用和總體設計約束,匯流排1710可以包括任何數量的互連匯流排和橋接器。匯流排1710將各種電路鏈接在一起,這些電路包括一個或多個處理器1704以及處理器可讀存儲媒體1706。處理器可讀存儲媒體1706可以包括記憶體設備以及大容量存儲設備,以及在本文中可以被稱為計算機可讀媒體和/或處理器可讀媒體。匯流排1710還可以鏈接各種其它電路,諸如時序源、定時器、外圍設備、穩壓器和功率管理電路。匯流排介面1708可以提供匯流排1710與一個或多個收發機1712之間的介面。可以提供收發機1712以用於處理電路支持的每個聯網技術。在一些實例中,多個聯網技術可以共享收發機1712中找到的電路或者處理模組中的一些或者全部。每個收發機1712提供用於在傳輸媒體上與各種其它裝置進行通信的方式。取決於裝置的性質,還可以提供用戶介面1718(例如,小鍵盤、顯示器、揚聲器、麥克風、操縱杆),以及用戶介面1718可以直接地或者通過匯流排介面1708通信地耦合到匯流排1710。
處理器1704可以負責管理匯流排1710以及負責通用處理,其可以包括對在可以包括處理器可讀存儲媒體1706的處理器可讀媒體中存儲的軟體的執行。在這方面,包括處理器1704的處理電路1702可以用於實現本文公開的方法、功能和技術中的任何一者。處理器可讀存儲媒體1706可以用於存儲由處理器1704在執行軟體時操縱的資料,以及軟體可以被配置為實現本文公開的方法中的任何一種方法。
處理電路1702中的一個或多個處理器1704可以執行軟體。無論被稱為軟體、韌體、中間件、微代碼、硬體描述語言還是其它名稱,軟體都應當被廣泛地解釋為意指指令、指令集、代碼、代碼段、程序代碼、程序、子程序、軟體模組、應用、軟體應用、軟體包、例程、子例程、對象、可執行文件、執行的線程、過程、函數、算法等。軟體可以以計算機可讀形式駐留在處理器可讀存儲媒體1706中,或者駐留在另一外部處理器可讀媒體中。處理器可讀存儲媒體1706可以包括非暫時性處理器可讀媒體。舉例而言,非暫時性處理器可讀媒體包括磁存儲設備(例如,硬碟、軟盤、磁條)、光碟(例如,壓縮光碟(CD)或數位多功能光碟(DVD))、智能卡、閃存設備(例如,“閃存驅動”、卡、棒或鍵驅動)、隨機存取記憶體(RAM)、ROM、PROM、可擦除PROM(EPROM)、EEPROM、寄存器、可移動盤和用於存儲可以由計算機存取和讀取的軟體和/或指令的任何其它合適的媒體。舉例而言,處理器可讀存儲媒體1706還可以包括載波、傳輸線以及用於發送可以由計算機存取和讀取的軟體和/或指令的任何其它合適的媒體。處理器可讀存儲媒體1706可以駐留在處理電路1702中、在處理器1704中、處理電路1702之外或者跨越包括處理電路1702的多個實體來分佈。處理器可讀存儲媒體1706可以體現在計算機程序產品中。舉例而言,計算機程序產品可以包括封裝材料中的處理器可讀媒體。本領域技術人員將認識到如何根據特定應用和施加在整個系統上的總體設計約束來最佳地實現遍及本公開內容給出的所述功能。
處理器可讀存儲媒體1706可以維護以可加載代碼段、模組、應用、程序等維護和/或組織的軟體,其在本文中可以被稱為軟體模組1716。軟體模組1716中的每個軟體模組可以包括如下的指令和資料:所述指令和資料在被安裝或者加載到處理電路1702上並且由一個或多個處理器1704執行時對於控制一個或多個處理器1704的操作的運行時映像1714起作用。在被執行時,某些指令可以使得處理電路1702執行根據本文描述的某些方法、算法和過程的功能。
軟體模組1716中的一些軟體模組可以在處理電路1702的初始化期間加載,以及這些軟體模組1716可以將處理電路1702配置為使得能夠執行本文公開的各種功能。例如,一些軟體模組1716可以配置處理器1704的內部設備和/或邏輯電路1722,以及可以管理對外部設備(諸如收發機1712、匯流排介面1708、用戶介面1718、定時器、數學協處理器等)的存取。軟體模組1716可以包括控制程序和/或操作系統,其與中斷處理程序以及設備驅動器進行交互,以及控制對由處理電路1702提供的各種資源的存取。這些資源可以包括記憶體、處理時間、對收發機1712、用戶介面1718的存取等。
處理電路1702中的一個或多個處理器1704可以是多功能的,其中軟體模組1716中的一些軟體模組被加載以及被配置為執行不同的功能或者相同功能的不同實例。一個或多個處理器1704可以另外適配於管理響應於來自例如用戶介面1718、收發機1712和設備驅動器的輸入而發起的後台任務。為了支持對多個功能的執行,一個或多個處理器1704可以被配置為提供多任務環境,其中,根據需要或者期望,多個功能中的每個功能被實現為由一個或多個處理器1704服務的任務集。在一個示例中,多任務環境可以使用分時程序1720來實現,分時程序1720在不同的任務之間傳遞對處理器1704的控制,其中,每個任務在任何未解決的操作完成時和/或響應於諸如中斷的輸入,將對一個或多個處理器1704的控制返回給分時程序1720。當任務具有對一個或多個處理器1704的控制時,處理電路有效地專用於與進行控制的任務相關聯的功能所針對的目的。分時程序1720可以包括操作系統、在循環的基礎上傳遞控制的主循環、根據功能的優先化來分配對一個或多個處理器1704的控制的函數、和/或通過向處理函數提供對一個或多個處理器1704的控制來對外部事件進行響應的中斷驅動主循環。
圖18是可以在耦合到多線通信鏈路的發射機處執行的資料通信方法的流程圖1800。在一個示例中,通信鏈路可以具有三條線,以及可以將資料編碼在三條線中的每一條上的以不同相位發送的信號的相位狀態和幅度中。該方法可以至少部分地在分別在圖10和12中示出的發射機1000或1200處執行。
在框1802處,發射機1000或1200可以配置多個線路驅動器,以將該裝置耦合到3線鏈路。在框1804處,當3線鏈路處於第一信令狀態時,發射機1000或1200可以在第一線狀態編碼器處接收符號序列中的第一符號。在框1806處,發射機1000或1200可以基於第一符號和第一信令狀態來定義用於3線鏈路的第二信令狀態。在框1808處,發射機1000或1200可以在第二線狀態編碼器處接收符號序列中的第二符號。在框1810處,發射機1000或1200可以基於第二符號和第二信令狀態來定義用於3線鏈路的第三信令狀態。在符號序列中,第一符號可以緊接在第二符號之前。3線鏈路在連續的符號傳輸間隔中從第一信令狀態轉換到第二信令狀態,以及從第二信令狀態轉換到第三信令狀態。當3線鏈路從第二信令狀態轉換到第三信令狀態時,3線鏈路中的至少一條線的信令狀態進行改變。
在一個示例中,第一線狀態編碼器和第二線狀態編碼器中的每一者以每兩個符號傳輸間隔來定義用於3線鏈路的信令狀態。
在某些示例中,可以提供半速率符號時鐘信號,其具有作為每個符號傳輸間隔的持續時間兩倍的時段。發射機1000或1200可以在第二信令狀態與第三信令狀態之間進行選擇,以向控制多個線路驅動器的驅動器控制電路提供線狀態資訊。選擇可以是基於半速率符號時鐘信號的相位的。發射機1000或1200可以對使用半速率符號時鐘信號的逆進行時鐘控制的第一正反器進行時鐘控制。第一正反器可以被配置為捕獲表示第二信令狀態的第一控制信號。發射機1000或1200可以使用半速率符號時鐘信號來對第二正反器進行時鐘控制。第二正反器可以被配置為捕獲表示第三信令狀態的第二控制信號。發射機1000或1200可以提供第一控制信號或第二控制信號作為線狀態資訊。發射機1000或1200可以將至少16位元的資料映射到符號序列中的至少7個符號。3線鏈路可以是根據C-PHY協議來操作的。
在一些實現方式中,當基於第二信令狀態與第三信令狀態之間的差異來發起對第三信令狀態的傳輸時,發射機1000或1200可以配置多個線路驅動器。
圖19是示出用於採用處理電路1902的裝置1900的硬體實現方式的示例的圖。處理電路1902通常具有處理器1916,其可以是微處理器、微控制器、數位信號處理器、定序器或狀態機。處理電路1902可以利用匯流排架構(通常通過匯流排1910表示)來實現。取決於處理電路1902的特定應用和總體設計約束,匯流排1910可以包括任何數量的互連匯流排和橋接器。匯流排1910將各種電路鏈接在一起,所述電路包括一個或多個處理器和/或硬體模組,其通過以下各項來表示:處理器1916、模組或電路1904、1906和1908、被配置為驅動3線鏈路1920的各條線的線路驅動器1912、以及處理器可讀存儲媒體1918。匯流排1910還可以鏈接各種其它電路,諸如時序源、外圍設備、穩壓器和功率管理電路,這些電路都是本領域公知的,以及因此,將不進行任何進一步的描述。
處理器1916負責通用處理,其包括對在處理器可讀存儲媒體1918上存儲的軟體的執行。軟體在被處理器1916執行時使得處理電路1902執行上文針對任何特定裝置所描述的各種功能。處理器可讀存儲媒體1918可以包括暫時性和/或非暫時性媒體,其可以用於存儲由處理器1916在執行軟體時所操縱的資料,其包括符號表和用於存取符號表的中間索引。處理電路1902還包括模組1904、1906和1908中的至少一個模組。模組1904、1906和1908可以被實現為在處理器1916中運行的、駐留/存儲在處理器可讀存儲媒體1918中的軟體模組、耦合到處理器1916的一個或多個硬體模組、或其某種組合。模組1904、1906和/或1908可以包括微控制器指令、狀態機配置參數或其某種組合。
在一種配置中,裝置1900可以被配置用於在多線介面上進行資料通信。裝置1900可以包括符號映射模組和/或電路1908,其被配置為使用3相編碼來將資料編碼在奇數符號和偶數符號中。裝置1900可以包括符號複用模組和/或電路1906,其被配置為對奇數符號和偶數符號進行合併或交織以獲得符號序列。裝置1900可以包括線狀態編碼模組和/或電路1904,其被配置為使用符號序列以使得線路驅動器1912在對應的符號傳輸間隔期間配置3線鏈路1920的信令狀態。在一個示例中,線路驅動器1912在每條線上提供7個或更多個信令狀態,以及每條線被驅動到與3線鏈路1920中的其它線不同的信令狀態。
在一個示例中,裝置1900具有一對線狀態編碼器,以及線路驅動器1912被配置為將該裝置耦合到3線鏈路1920。第一線狀態編碼器被配置為:當3線鏈路1920處於第一信令狀態時接收符號序列中的第一符號,以及基於第一符號和第一信令狀態來定義用於3線鏈路的第二信令狀態。第二線狀態編碼器被配置為:接收符號序列中的第二符號,以及基於第二符號和第二信令狀態來定義用於3線鏈路的第三信令狀態。在符號序列中,第一個符號緊接在第二符號之前。3線鏈路1920在連續的符號傳輸間隔中從第一信令狀態轉換到第二信令狀態,以及從第二信令狀態轉換到第三信令狀態。當3線鏈路1920從第二信令狀態轉換到第三信令狀態時,3線鏈路1920中的至少一條線的信令狀態進行改變。在一個示例中,每個線狀態編碼器以每兩個符號傳輸間隔來定義用於3線鏈路1920的信令狀態。
在一些實現方式中,裝置1900具有時鐘生成電路,其被配置為提供具有作為每個符號傳輸間隔的持續時間的兩倍的時段的半速率符號時鐘信號。該裝置可以具有:驅動器控制電路,其被配置為控制線路驅動器1912;以及多工器,其在第二信令狀態與第三信令狀態之間進行選擇以向驅動器控制電路提供線狀態資訊。多工器可以基於半速率符號時鐘信號的相位來在第二信令狀態與第三信令狀態之間進行選擇。裝置1900還可以包括:第一正反器,其是通過半速率符號時鐘信號的逆進行時鐘控制的以及被配置為捕獲表示第二信令狀態的第一控制信號;以及第二正反器,其是通過半速率符號時鐘信號進行時鐘控制的以及被配置為捕獲表示第三信令狀態的第二控制信號。多工器還可以被配置為提供第一控制信號或第二控制信號作為線狀態資訊。
在一些實現方式中,裝置1900具有一個或多個映射器,其被配置為將至少16位元的資料映射到符號序列中的至少7個符號。3線鏈路1620可以是根據C-PHY協議來操作的。
在一些實現方式中,裝置1900具有均衡器電路,其被配置為:接收第二信令狀態和第三信令狀態的延遲版本,以及當基於第二信令狀態與第三信令狀態之間的差異來發起對第三信令狀態的傳輸時,配置多個線路驅動器。
處理器可讀存儲媒體1918可以存儲與在圖18中示出的方法相關的指令和其它資訊。例如,處理器可讀存儲媒體1918可以包括使得處理電路1902進行以下操作的指令:配置線路驅動器1912,以將該裝置耦合到3線鏈路1920;當3線鏈路1920處於第一信令狀態時,在第一線狀態編碼器處接收符號序列中的第一符號;基於第一符號和第一信令狀態來定義用於3線鏈路1920的第二信令狀態;在第二線狀態編碼器處接收符號序列中的第二符號;以及基於第二符號和第二信令狀態來定義用於3線鏈路的第三信令狀態。在符號序列中,第一符號緊接在第二符號之前。3線鏈路1920在連續的符號傳輸間隔中從第一信令狀態轉換到第二信令狀態,以及從第二信令狀態轉換到第三信令狀態。當3線鏈路1920從第二信令狀態轉換到第三信令狀態時,3線鏈路1920中的至少一條線的信令狀態可以進行改變。
在一些情況下,第一線狀態編碼器和第二線狀態編碼器中的每一者以每兩個符號傳輸間隔來定義用於3線鏈路1920的信令狀態。
在一些實現方式中,處理器可讀存儲媒體1918包括使得處理電路1902進行以下操作的指令:提供具有作為每個符號傳輸間隔的持續時間的兩倍的時段的半速率符號時鐘信號。處理器可讀存儲媒體1918可以包括使得處理電路1902進行以下操作的指令:在第二信令狀態與第三信令狀態之間進行選擇,以向控制多個線路驅動器的驅動器控制電路提供線狀態資訊。選擇可以是基於半速率符號時鐘信號的相位的。處理器可讀存儲媒體1918可以包括使得處理電路1902進行以下操作的指令:對使用半速率符號時鐘信號的逆進行時鐘控制的第一正反器進行時鐘控制,其中,第一正反器被配置為捕獲表示第二信令狀態的第一控制信號。處理器可讀存儲媒體1918可以包括使得處理電路1902進行以下操作的指令:使用半速率符號時鐘信號來對第二正反器進行時鐘控制,其中,第二正反器被配置為捕獲表示第三信令狀態的第二控制信號;以及提供第一控制信號或第二控制信號作為線狀態資訊。
處理器可讀存儲媒體1918可以包括使得處理電路1902進行以下操作的指令:將至少16位元的資料映射到符號序列中的至少7個符號。3線鏈路1920可以是根據C-PHY協議來操作的。處理器可讀存儲媒體1918可以包括使得處理電路1902進行以下操作的指令:在基於第二信令狀態與第三信令狀態之間的差異來發起對第三信令狀態的傳輸時,配置多個線路驅動器。
圖20是可以在耦合到多線通信鏈路的接收機處執行的資料通信方法的流程圖2000。在一個示例中,可以將資料編碼在3線鏈路1920中的三條線中的每一條上以不同相位發送的信號的相位狀態和幅度中。該方法可以至少部分地在圖14中所示的接收機電路1400處執行。
在框2002處,接收機電路1400可以提供表示3線鏈路1920中的每對線之間的信令狀態的差異的差分信號。在框2004處,接收機電路1400可以基於符號時鐘的第一半週期中的差分信號的狀態與符號時鐘的第二半週期中的差分信號的狀態之間的差異來提供第一符號,在符號時鐘中第二半週期緊接在第一半週期之前。在框2006處,接收機電路1400可以基於符號時鐘的第二半週期中的差分信號的狀態與符號時鐘的第三半週期中的差分信號的狀態之間的差異來提供第二符號,在符號時鐘中第三半週期緊接在第二半週期之前。在框2008處,接收機電路1400可以根據包括第一符號和第二符號的符號序列對資料進行解碼。在符號序列中,第一符號緊接在第二符號之前。
在各個示例中,至少一個差分信號的信令狀態在半速率符號時鐘的半週期之間的每個轉換處改變。該方法可以包括根據差分信號來推導符號時鐘。3線鏈路1920是根據C-PHY協議來操作的。該方法可以包括:針對每個差分信號,提供表示符號時鐘的第一半週期中的對應的差分信號的狀態的第一信號、表示符號時鐘的第二半週期中的對應的差分信號的狀態的第二信號、以及表示符號時鐘的第三半週期中的對應的差分信號的狀態的第三信號。該方法可以包括:根據七個符號的多個序列中的每個序列對16位元字進行解碼,或者根據由第一線狀態解碼器和第二線狀態解碼器併發地生成的七個符號的每對序列對32位元字進行解碼。
圖21是示出用於採用處理電路2102的裝置2100的硬體實現方式的示例的圖。處理電路2102通常具有處理器2116,其可以是微處理器、微控制器、數位信號處理器、定序器或狀態機。處理電路2102可以利用匯流排架構(通常通過匯流排2110表示)來實現。取決於處理電路2102的特定應用和總體設計約束,匯流排2110可以包括任何數量的互連匯流排和橋接器。匯流排2110將各種電路鏈接在一起,所述電路包括一個或多個處理器和/或硬體模組,其通過以下各項來表示:處理器2116、模組或電路2104、2106和2108、被配置為驅動3線鏈路2120的各條線的接收機2112、以及處理器可讀存儲媒體2118。匯流排2110還可以鏈接各種其它電路,諸如時序源、外圍設備、穩壓器和功率管理電路,所述電路是本領域公知的,以及因此,將不進行任何進一步的描述。
處理器2116負責通用處理,其包括對在處理器可讀存儲媒體2118上存儲的軟體的執行。軟體在被處理器2116執行時使得處理電路2102執行上文針對任何特定裝置所描述的各種功能。處理器可讀存儲媒體2118還可以包括暫時性和/或非暫時性媒體,其可以用於存儲由處理器2116在執行軟體時所操縱的資料,其包括符號表和用於存取符號表的中間索引。處理電路2102還包括模組2104、2106和2108中的至少一個模組。模組2104、2106和2108可以被實現為在處理器2116中運行的、駐留/存儲在處理器可讀存儲媒體2118中的軟體模組、耦合到處理器2116的一個或多個硬體模組、或其某種組合。模組2104、2106和/或2108可以包括微控制器指令、狀態機配置參數或其某種組合。
在一種配置中,裝置2100可以被配置用於在3線鏈路2120上進行資料通信。3線鏈路可以是根據C-PHY協議來操作的。裝置2100可以包括差分信號處理模組和/或電路2104,其被配置為確定3線鏈路2120中的各對線之間的信令狀態的差異。在一個示例中,接收機2112確定在每條線上的7個或更多個信令狀態之間的差異。裝置2100可以包括線狀態解碼模組和/或電路2106,其被配置為產生表示在每個符號傳輸間隔中的差分信號的奇數符號和偶數符號。裝置2100可以包括符號解映射模組和/或電路2108,其被配置為根據奇數符號和偶數符號對資料進行解碼。
在一個示例中,接收機2112被配置為提供表示3線鏈路2120中的每對線之間的信令狀態的差異的差分信號,以及裝置2100具有:第一線狀態解碼器,其被配置為基於符號時鐘的第一半週期中的差分信號的狀態與符號時鐘的第二半週期中的差分信號的狀態之間的差異來提供第一符號,在符號時鐘中第二半週期緊接在第一半週期之前;以及第二線狀態解碼器,其被配置為基於符號時鐘的第二半週期中的差分信號的狀態與符號時鐘的第三半週期中的差分信號的狀態之間的差異來提供第二符號,在符號時鐘中第三半週期緊接在第二半週期之前。裝置2100可以具有解映射器,其被配置為根據包括第一符號和第二符號的符號序列對資料進行解碼。在符號序列中,第一符號緊接在第二符號之前。
在一些實現方式中,至少一個差分信號的信令狀態在半速率符號時鐘的半週期之間的每個轉換處改變。時鐘恢復電路可以被配置為根據差分信號來推導符號時鐘。
在一個示例中,裝置2100具有多個差分信號處理器,每個差分信號處理器耦合到相關聯的差分信號,以及被配置為提供表示符號時鐘的第一半週期中的對應的差分信號的狀態的第一信號、表示符號時鐘的第二半週期中的對應的差分信號的狀態的第二信號、以及表示符號時鐘的第三半週期中的對應的差分信號的狀態的第三信號。
在一個示例中,解映射器還被配置為根據七個符號的多個序列中的每個序列對16位元字進行解碼,或者根據由第一線狀態解碼器和第二線狀態解碼器併發地生成的七個符號的每對序列對32位元字進行解碼。
處理器可讀存儲媒體2118可以存儲與在圖20中所示的方法相關的指令和其它資訊。例如,處理器可讀存儲媒體2118可以包括使得處理電路2102進行以下操作的指令:提供表示3線鏈路2120中的每對線之間的信令狀態的差異的差分信號;基於符號時鐘的第一半週期中的差分信號的狀態與符號時鐘的第二半週期中的差分信號的狀態之間的差異來提供第一符號,在符號時鐘中第二半週期緊接在第一半週期之前;基於符號時鐘的第二半週期中的差分信號的狀態與符號時鐘的第三半週期中的差分信號的狀態之間的差異來提供第二符號,在符號時鐘中第三半週期緊接在第二半週期之前;以及根據包括第一符號和第二符號的符號序列對資料進行解碼。在符號序列中,第一符號緊接在第二符號之前。
在一些示例中,至少一個差分信號的信令狀態在半速率符號時鐘的半週期之間的每個轉換處改變。存儲媒體2118可以包括使得處理電路2102進行以下操作的指令:根據差分信號來推導符號時鐘。3線鏈路2120可以是根據C-PHY協議來操作的。
存儲媒體2118可以包括使得處理電路2102進行以下操作的指令:針對每個差分信號提供表示符號時鐘的第一半週期中的對應的差分信號的狀態的第一信號、表示符號時鐘的第二半週期中的對應的差分信號的狀態的第二信號、以及表示符號時鐘的第三半週期中的對應的差分信號的狀態的第三信號。
存儲媒體2118可以包括使得處理電路2102進行以下操作的指令:根據七個符號的多個序列中的每個序列對16位元字進行解碼,或根據由第一線狀態解碼器和第二線狀態解碼器併發地生成的七個符號的每對序列對32位元字進行解碼。
應理解的是,所公開的過程中的步驟的特定次序或層次是對示例性方法的說明。要理解的是,基於設計偏好,可以重新排列這些過程中的步驟的特定次序或層次。此外,可以組合或省略一些步驟。所附的方法申請專利範圍以樣本次序給出了各個步驟的元素,以及不意指受限於所給出的特定次序或者層次。
提供先前的描述以使得本領域任何技術人員能夠實踐本文描述的各個方面。對於本領域技術人員而言,對這些方面的各種修改將是顯而易見的,以及可以將本文定義的通用原理應用於其它方面。因此,申請專利範圍不旨在受限於本文示出的各方面,而是要符合與申請專利範圍表達相一致的全部範圍,其中除非特別如此說明,否則對單數元素的引用不旨在意指“一個和僅一個”,而是指代“一個或多個”。除非另外特別說明,否則術語“一些”指代一個或多個。遍及本公開內容描述的、對於本領域技術人員來說是已知的或者稍後將知的各個方面的元素的全部結構和功能等效物通過引用方式被明確地併入本文,以及旨在由申請專利範圍所涵蓋。此外,本文中沒有任何公開內容旨在奉獻給公眾,不管這樣的公開內容是否被明確地記載在申請專利範圍中。沒有任何申請專利範圍元素將被解釋為功能單元模組,除非該元素是使用短語“用於……的單元”來明確地記載的。
100:裝置 102:處理電路 108:RF收發機 110:數據機 112:處理器 114:記憶體 116:介面 122:存儲裝置 124:天線 106:外圍設備 128:按鈕 126:顯示器 130:按鈕 132:鍵盤 120:匯流排 204:無線收發機 206:處理器 208:存儲媒體 210:實體層驅動器 240:實體層驅動器 232:顯示控制器 234:相機控制器 236:處理器 238:存儲媒體 214:天線 202:IC 器件 212:匯流排 220:通信鏈路 222:通道 224:通道 226:通道 230:IC 器件 242:匯流排 310:位元資料 302:16到7映射器 306:線狀態編碼器 312:符號 314:符號 304:轉換器 316a:信號 316b:信號 316c:信號 318a:信號線 318b:信號線 318c:信號線 308:線路驅動器 400:時序圖 410:相位轉換 408:狀態的極性 412:編碼值 402:曲線 404:曲線 406:曲線 450:循環狀態圖 414:時間 452:順時針方向 454:逆時針方向 452’:順時針方向 454’:逆時針方向 500:解碼器 504:線狀態解碼器 502a:差分接收機 502b:差分接收機 502c:差分接收機 514:符號 506:轉換器 516:符號 508:解映射器 518:資料 510:寄存器 520:資料 526:時鐘 524:CDR電路 600:狀態圖 620:翻轉位元 622:旋轉位元 624:極性位元602:信令狀態 604:信令狀態 606:信令狀態 608:內圓 612:信令狀態 614:信令狀態 616:信令狀態 618:外圓 628:元素 700:線狀態編碼 702:符號編碼器 704:預驅動和控制電路 706:寄存器、正反器 708:符號 710:符號時鐘信號 712:信號集合 714:符號 716:符號 720:表 722:線狀態 724:電壓電平 800:線狀態解碼 802:比較器集合 804:寄存器 806:寄存器、正反器 808:符號解碼器 810:FRP符號 812:時鐘恢復電路 814:時鐘窗口邏輯 816:閘控邏輯 818:穩定信號 820:符號時鐘信號 822:信令狀態 824:先前線狀態 826:當前線狀態 828:時鐘信號 830:使能信號 900:映射電路 902:映射器 904:映射器 906:串行器 908:串行器 910:串行器 912:資料 914:電路 916:時鐘信號 918:符號路徑 920:符號路徑 930:映射電路 934:映射器 936:解多工器 938:寄存器 940:除法器 942:時鐘信號 1000:發射機 1002:符號控制 1004:正反器 1006:線狀態編碼器 1008:正反器 1010:多工器 1012:預驅動和控制電路 1014:正反器 1016:線狀態編碼器 1018:正反器 1020:資料 1022:線路驅動器集合 1024:C-PHY三件套 1030:符號 1032:符號 1034:符號 1036:符號 1038:符號 1040:符號 1100:時序 1200:發射機 1202:映射電路 1204:正反器 1206:線狀態編碼器 1208:正反器 1210:線路驅動器集合 1214:正反器 1216:線狀態編碼器 1218:正反器 1220:資料 1222:預驅動和控制電路 1224:驅動器控制信號 1226:流水線電路 1228:均衡器電路 1232:預驅動和控制電路 1234:驅動器控制信號 1236:流水線電路 1238:均衡器電路 1240:多工器 1242:C-PHY三件套 1300:處理器 1302:信號 1304:正反器 1306:正反器 1308:正反器 1310:正反器 1312:正反器 1314:狀態 1316:狀態 1318:狀態 1400:接收機電路 1402:處理器 1404:處理器 1406:處理器 1408:解碼器 1410:解碼器 1412:狀態 1414:狀態 1416:狀態 1418:正反器 1420:正反器 1422:轉換器 1424:轉換器 1426:解映射器 1428:電路 1430:電路 1434:信號 1436:符號 1438:符號 1440:輸入 1442:輸入 1444:輸入 1450:資料 1500:時序圖 1600:解映射電路 1602:操作和解串行器 1604:操作和解串行器 1606:解映射器 1608:解映射器 1610:時鐘信號 1612:符號路徑 1614:符號路徑 1616:電路 1618:時鐘信號 1620:3線鏈路 1630:解映射電路 1632:解串行器 1634:解串行器 1636:正反器集合 1638:正反器集合 1640:多工器 1642:解映射器 1646:除法器 1648:除法器 1650:輸出 1652:符號路徑 1654:符號路徑 1658:時鐘信號 1700:概念圖 1702:處理電路 1704:處理器 1706:存儲裝置、處理器可讀存儲媒體 1708:匯流排介面 1710:匯流排 1712:收發機 1714:映像 1716:軟體模組 1800:流程圖 1802:步驟 1804:步驟 1806:步驟 1808:步驟 1810:步驟 1900:裝置 1902:處理電路 1904:模組或電路 1906:模組或電路 1908:模組或電路 1910:匯流排 1912:線路驅動器 1916:處理器 1918:處理器可讀存儲媒體 1920:3線鏈路 2000:流程圖 2002:步驟 2004:步驟 2006:步驟 2008:步驟 2100:裝置 2102:處理電路 2104:模組和/或電路 2106:模組和/或電路 2108:模組和/或電路 2110:匯流排 2112:接收機 2116:處理器 2118:存儲媒體 2120:3線鏈路
圖1描繪了在IC器件之間採用資料鏈路的裝置,該資料鏈路根據多個可用標準或協議(其可以包括C-PHY協議)中的一者來選擇性地操作。
圖2示出了用於在IC器件之間採用資料鏈路的裝置的系統架構,該資料鏈路根據多個可用標準中的一者來選擇性地操作。
圖3示出了C-PHY 3相發射機。
圖4示出了C-PHY 3相編碼介面中的信令。
圖5示出了C-PHY 3相接收機。
圖6是示出在C-PHY 3相編碼介面中的潛在狀態轉換的狀態圖。
圖7示出了在C-PHY 3相發射機中進行編碼的一個示例。
圖8示出了在C-PHY 3相接收機中進行解碼的一個示例。
圖9根據本公開內容的各方面示出了利用雙路徑架構來實現的映射電路的示例。
圖10根據本文公開的某些方面示出了被配置為使用半速率符號時鐘信號來對用於C-PHY介面的輸入資料進行編碼的發射機的第一示例。
圖11示出了用於在圖10中示出的發射機的時序的示例。
圖12根據本文公開的某些方面示出了被配置為使用半速率符號時鐘信號來對用於C-PHY介面的輸入資料進行編碼的發射機的第二示例。
圖13根據本公開內容的某些方面示出了可以在被配置用於半速率符號時鐘操作的接收機中使用的差分信號處理器。
圖14根據本文公開的某些方面示出了被配置為使用半速率符號時鐘信號來根據C-PHY匯流排的信令狀態對資料進行解碼的接收機電路。
圖15示出了與在圖14中示出的接收機相關聯的時序。
圖16根據本公開內容的各方面示出了利用雙路徑架構來實現的解映射電路的示例。
圖17示出了採用可以根據本文公開的某些方面來適配的處理電路的裝置的示例。
圖18是根據本文公開的某些方面的在發射機處執行的方法的流程圖。
圖19是根據本文公開的某些方面示出用於接收裝置的硬體實現方式的示例的圖。
圖20是根據本文公開的某些方面的在接收機處執行的方法的流程圖。
圖21是根據本文公開的某些方面示出用於接收裝置的硬體實現方式的示例的圖。
900:映射電路
902:映射器
904:映射器
906:串行器
908:串行器
910:串行器
912:資料
914:電路
916:時鐘信號
918:符號路徑
920:符號路徑
930:映射電路
934:映射器
936:解多工器
938:寄存器
940:除法器
942:時鐘信號

Claims (30)

  1. 一種資料通信裝置,包括: 多個線路驅動器,其被配置為:將所述資料通信裝置耦合到3線鏈路; 第一線狀態編碼器,其被配置為:當所述3線鏈路處於第一信令狀態時接收符號序列中的第一符號,以及基於所述第一符號和所述第一信令狀態來定義用於所述3線鏈路的第二信令狀態;以及 第二線狀態編碼器,其被配置為:接收所述符號序列中的第二符號,以及基於所述第二符號和所述第二信令狀態來定義用於所述3線鏈路的第三信令狀態,其中,在所述符號序列中,所述第一符號緊接在所述第二符號之前, 其中,所述3線鏈路在連續的符號傳輸間隔中從所述第一信令狀態轉換到所述第二信令狀態,以及從所述第二信令狀態轉換到所述第三信令狀態,並且其中,當所述3線鏈路從所述第二信令狀態轉換到所述第三信令狀態時,所述3線鏈路中的至少一條線的信令狀態進行改變。
  2. 根據請求項1所述的資料通信裝置,其中,所述第一線狀態編碼器和所述第二線狀態編碼器中的每一者以每兩個符號傳輸間隔來定義用於所述3線鏈路的信令狀態。
  3. 根據請求項1所述的資料通信裝置,還包括: 時鐘生成電路,其被配置為提供半速率符號時鐘信號,所述半速率符號時鐘信號具有作為每個符號傳輸間隔的持續時間的兩倍的時段。
  4. 根據請求項3所述的資料通信裝置,還包括: 驅動器控制電路,其被配置為控制所述多個線路驅動器;以及 多工器,其在所述第二信令狀態與所述第三信令狀態之間進行選擇以向所述驅動器控制電路提供線狀態資訊。
  5. 根據請求項4所述的資料通信裝置,其中,所述多工器基於所述半速率符號時鐘信號的相位來在所述第二信令狀態與所述第三信令狀態之間進行選擇。
  6. 根據請求項4所述的資料通信裝置,還包括: 第一多個正反器,其是通過所述半速率符號時鐘信號的逆進行時鐘控制的,以及被配置為捕獲表示所述第二信令狀態的第一控制信號;以及 第二多個正反器,其是通過所述半速率符號時鐘信號進行時鐘控制的,以及被配置為捕獲表示所述第三信令狀態的第二控制信號, 其中,所述多工器還被配置為提供所述第一控制信號或所述第二控制信號作為所述線狀態資訊。
  7. 根據請求項1所述的資料通信裝置,還包括: 一個或多個映射器,其被配置為將至少16位元的資料映射到所述符號序列中的至少7個符號, 其中,所述3線鏈路是根據C-PHY協議來操作的。
  8. 根據請求項1所述的資料通信裝置,還包括: 均衡器電路,其被配置為:接收所述第二信令狀態和所述第三信令狀態的延遲版本,以及當基於所述第二信令狀態與所述第三信令狀態之間的差異來發起對所述第三信令狀態的傳輸時,配置所述多個線路驅動器。
  9. 一種資料通信方法,包括: 將多個線路驅動器配置為耦合到3線鏈路; 當所述3線鏈路處於第一信令狀態時,在第一線狀態編碼器處接收符號序列中的第一符號; 基於所述第一符號和所述第一信令狀態來定義用於所述3線鏈路的第二信令狀態; 在第二線狀態編碼器處接收所述符號序列中的第二符號;以及 基於所述第二符號和所述第二信令狀態來定義用於所述3線鏈路的第三信令狀態,其中,在所述符號序列中,所述第一符號緊接在所述第二符號之前, 其中,所述3線鏈路在連續的符號傳輸間隔中從所述第一信令狀態轉換到所述第二信令狀態以及從所述第二信令狀態轉換到所述第三信令狀態,並且 其中,當所述3線鏈路從所述第二信令狀態轉換到所述第三信令狀態時,所述3線鏈路中的至少一條線的信令狀態進行改變。
  10. 根據請求項9所述的資料通信方法,其中,所述第一線狀態編碼器和所述第二線狀態編碼器中的每一者以每兩個符號傳輸間隔來定義用於所述3線鏈路的信令狀態。
  11. 根據請求項9所述的資料通信方法,還包括: 提供半速率符號時鐘信號,所述半速率符號時鐘信號具有作為每個符號傳輸間隔的持續時間的兩倍的時段
  12. 根據請求項11所述的資料通信方法,還包括: 在所述第二信令狀態與所述第三信令狀態之間進行選擇,以向控制所述多個線路驅動器的驅動器控制電路提供線狀態資訊,其中,選擇是基於所述半速率符號時鐘信號的相位的。
  13. 根據請求項12所述的資料通信方法,還包括: 使用所述半速率符號時鐘信號的逆來對第一多個正反器進行時鐘控制,其中,所述第一多個正反器被配置為捕獲表示所述第二信令狀態的第一控制信號; 使用所述半速率符號時鐘信號來對第二多個正反器進行時鐘控制,其中,所述第二多個正反器被配置為捕獲表示所述第三信令狀態的第二控制信號;以及 提供所述第一控制信號或所述第二控制信號作為所述線狀態資訊。
  14. 根據請求項9所述的資料通信方法,還包括: 將至少16位元的資料映射到所述符號序列中的至少7個符號,其中,所述3線鏈路是根據C-PHY協議來操作的。
  15. 根據請求項9所述的資料通信方法,還包括: 當基於所述第二信令狀態與所述第三信令狀態之間的差異來發起對所述第三信令狀態的傳輸時,配置所述多個線路驅動器。
  16. 一種處理器可讀存儲媒體,包括用於進行以下操作的代碼: 將多個線路驅動器配置為耦合到3線鏈路; 當所述3線鏈路處於第一信令狀態時,在第一線狀態編碼器處接收符號序列中的第一符號; 基於所述第一符號和所述第一信令狀態來定義用於所述3線鏈路的第二信令狀態; 在第二線狀態編碼器處接收所述符號序列中的第二符號;以及 基於所述第二符號和所述第二信令狀態來定義用於所述3線鏈路的第三信令狀態,其中,在所述符號序列中,所述第一符號緊接在所述第二符號之前, 其中,所述3線鏈路在連續的符號傳輸間隔中從所述第一信令狀態轉換到所述第二信令狀態以及從所述第二信令狀態轉換到所述第三信令狀態,並且 其中,當所述3線鏈路從所述第二信令狀態轉換到所述第三信令狀態時,所述3線鏈路中的至少一條線的信令狀態進行改變。
  17. 一種資料通信裝置,包括: 多個接收機,其被配置為:提供表示3線鏈路中的每對線之間的信令狀態的差異的差分信號; 第一線狀態解碼器,其被配置為:基於符號時鐘的第一半週期中的所述差分信號的狀態與所述符號時鐘的第二半週期中的所述差分信號的狀態之間的差異來提供第一符號,在所述符號時鐘中所述第二半週期緊接在所述第一半週期之前; 第二線狀態解碼器,其被配置為:基於所述符號時鐘的所述第二半週期中的所述差分信號的所述狀態與所述符號時鐘的第三半週期中的所述差分信號的狀態之間的差異來提供第二符號,在所述符號時鐘中所述第三半週期緊接在所述第二半週期之前;以及 解映射器,其被配置為:根據包括所述第一符號和所述第二符號的符號序列對資料進行解碼,其中,在所述符號序列中所述第一符號緊接在所述第二符號之前。
  18. 根據請求項17所述的資料通信裝置,其中,至少一個差分信號的信令狀態在所述符號時鐘的半週期之間的每個轉換處改變。
  19. 根據請求項17所述的資料通信裝置,還包括: 時鐘恢復電路,其被配置為根據所述差分信號來推導所述符號時鐘。
  20. 根據請求項17所述的資料通信裝置,還包括: 多個差分信號處理器,每個差分信號處理器耦合到相關聯的差分信號,以及被配置為:提供表示所述符號時鐘的所述第一半週期中的對應的差分信號的所述狀態的第一信號、表示所述符號時鐘的所述第二半週期中的對應的差分信號的所述狀態的第二信號、以及表示所述符號時鐘的所述第三半週期中的對應的差分信號的所述狀態的第三信號。
  21. 根據請求項17所述的資料通信裝置,其中,所述解映射器還被配置為: 根據七個符號的多個序列中的每個序列對16位元字進行解碼。
  22. 根據請求項17所述的資料通信裝置,其中,所述解映射器還被配置為: 根據由所述第一線狀態解碼器和所述第二線狀態解碼器併發地生成的七個符號的每對序列對32位元字進行解碼。
  23. 根據請求項17所述的資料通信裝置,其中,所述3線鏈路是根據C-PHY協議來操作的。
  24. 一種資料通信方法,包括: 提供表示3線鏈路中的每對線之間的信令狀態的差異的差分信號; 基於符號時鐘的第一半週期中的所述差分信號的狀態與所述符號時鐘的第二半週期中的所述差分信號的狀態之間的差異來提供第一符號,在所述符號時鐘中所述第二半週期緊接在所述第一半週期之前; 基於所述符號時鐘的所述第二半週期中的所述差分信號的所述狀態與所述符號時鐘的第三半週期中的所述差分信號的狀態之間的差異來提供第二符號,在所述符號時鐘中所述第三半週期緊接在所述第二半週期之前;以及 根據包括所述第一符號和所述第二符號的符號序列對資料進行解碼,其中,在所述符號序列中所述第一符號緊接在所述第二符號之前。
  25. 根據請求項24所述的資料通信方法,其中,至少一個差分信號的信令狀態在所述符號時鐘的半週期之間的每個轉換處改變。
  26. 根據請求項24所述的資料通信方法,還包括: 根據所述差分信號來推導所述符號時鐘,其中,所述3線鏈路是根據C-PHY協議來操作的。
  27. 根據請求項24所述的資料通信方法,還包括: 針對每個差分信號,提供表示所述符號時鐘的所述第一半週期中的對應的差分信號的所述狀態的第一信號、表示所述符號時鐘的所述第二半週期中的對應的差分信號的所述狀態的第二信號、以及表示所述符號時鐘的所述第三半週期中的對應的差分信號的所述狀態的第三信號。
  28. 根據請求項24所述的資料通信方法,還包括: 根據七個符號的多個序列中的每個序列對16位元字進行解碼。
  29. 根據請求項24所述的資料通信方法,還包括: 根據由第一線狀態解碼器和第二線狀態解碼器併發地生成的七個符號的每對序列對32位元字進行解碼。
  30. 一種處理器可讀存儲媒體,包括用於進行以下操作的代碼: 提供表示3線鏈路中的每對線之間的信令狀態的差異的差分信號; 基於符號時鐘的第一半週期中的所述差分信號的狀態與所述符號時鐘的第二半週期中的所述差分信號的狀態之間的差異來提供第一符號,在所述符號時鐘中所述第二半週期緊接在所述第一半週期之前; 基於所述符號時鐘的所述第二半週期中的所述差分信號的所述狀態與所述符號時鐘的第三半週期中的所述差分信號的狀態之間的差異來提供第二符號,在所述符號時鐘中所述第三半週期緊接在所述第二半週期之前;以及 根據包括所述第一符號和所述第二符號的符號序列對資料進行解碼,其中,在所述符號序列中所述第一符號緊接在所述第二符號之前。
TW109135731A 2019-10-29 2020-10-15 C-phy半速率線狀態編碼器和解碼器 TW202125277A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962927524P 2019-10-29 2019-10-29
US62/927,524 2019-10-29
US17/070,219 US11240077B2 (en) 2019-10-29 2020-10-14 C-PHY half-rate wire state encoder and decoder
US17/070,219 2020-10-14

Publications (1)

Publication Number Publication Date
TW202125277A true TW202125277A (zh) 2021-07-01

Family

ID=75587030

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109135731A TW202125277A (zh) 2019-10-29 2020-10-15 C-phy半速率線狀態編碼器和解碼器

Country Status (8)

Country Link
US (2) US11240077B2 (zh)
EP (1) EP4052433A1 (zh)
JP (1) JP7157895B1 (zh)
KR (1) KR102432168B1 (zh)
CN (1) CN114631291B (zh)
BR (1) BR112022007351A2 (zh)
TW (1) TW202125277A (zh)
WO (1) WO2021086625A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11240077B2 (en) 2019-10-29 2022-02-01 Qualcomm Incorporated C-PHY half-rate wire state encoder and decoder
US11606230B2 (en) 2021-03-03 2023-03-14 Apple Inc. Channel equalization
US11784731B2 (en) * 2021-03-09 2023-10-10 Apple Inc. Multi-phase-level signaling to improve data bandwidth over lossy channels
US12007934B1 (en) * 2023-01-12 2024-06-11 Qualcomm Incorporated Corrupt packet detector for C-PHY receiver

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8159375B2 (en) 2007-10-01 2012-04-17 Rambus Inc. Simplified receiver for use in multi-wire communication
US10289600B2 (en) 2013-08-08 2019-05-14 Qualcomm Incorporated Reducing transmitter encoding jitter in a C-PHY interface using multiple clock phases to launch symbols
US9553635B1 (en) 2015-07-24 2017-01-24 Qualcomm Incorporated Time based equalization for a C-PHY 3-phase transmitter
US9520988B1 (en) 2015-08-04 2016-12-13 Qualcomm Incorporated Adaptation to 3-phase signal swap within a trio
US9485080B1 (en) * 2015-09-01 2016-11-01 Qualcomm Incorporated Multiphase clock data recovery circuit calibration
US10419246B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated C-PHY training pattern for adaptive equalization, adaptive edge tracking and delay calibration
BR112019007643A2 (pt) 2016-10-24 2019-07-02 Qualcomm Inc redução da instabilidade de codificação de transmissor em uma interface de c-phy usando-se várias fases do relógio para lançamento de símbolos
US10033519B2 (en) * 2016-11-10 2018-07-24 Qualcomm Incorporated C-PHY half-rate clock and data recovery adaptive edge tracking
TW201843945A (zh) * 2017-03-03 2018-12-16 日商索尼半導體解決方案公司 傳送裝置及通信系統
US10454725B1 (en) 2018-09-27 2019-10-22 Qualcomm Incorporated C-PHY receiver equalization
US11108604B2 (en) * 2019-08-19 2021-08-31 Qualcomm Incorporated Driver architecture for multiphase and amplitude encoding transmitters
US11240077B2 (en) 2019-10-29 2022-02-01 Qualcomm Incorporated C-PHY half-rate wire state encoder and decoder

Also Published As

Publication number Publication date
US20210126819A1 (en) 2021-04-29
US11641294B2 (en) 2023-05-02
CN114631291B (zh) 2022-11-01
BR112022007351A2 (pt) 2022-07-05
US20220158879A1 (en) 2022-05-19
US11240077B2 (en) 2022-02-01
KR102432168B1 (ko) 2022-08-11
EP4052433A1 (en) 2022-09-07
WO2021086625A1 (en) 2021-05-06
CN114631291A (zh) 2022-06-14
KR20220051419A (ko) 2022-04-26
JP7157895B1 (ja) 2022-10-20
JP2022545754A (ja) 2022-10-28

Similar Documents

Publication Publication Date Title
TWI720008B (zh) 用於三相介面之多相位時脈資料回復
TW202125277A (zh) C-phy半速率線狀態編碼器和解碼器
US9313058B2 (en) Compact and fast N-factorial single data rate clock and data recovery circuits
US11108604B2 (en) Driver architecture for multiphase and amplitude encoding transmitters
KR101661089B1 (ko) N 계승 듀얼 데이터 레이트 클록 및 데이터 복구
EP3326340A1 (en) Time based equalization for a c-phy 3-phase transmitter
KR101688377B1 (ko) 다중 와이어 데이터 신호들에 대한 클록 복원 회로
US10587391B2 (en) Simplified C-PHY high-speed reverse mode
CN114616793A (zh) 用于高速下一代c-phy的小环路延迟时钟和数据恢复块
US11327914B1 (en) C-PHY data-triggered edge generation with intrinsic half-rate operation
TWI822732B (zh) 獨立配對的3相眼圖取樣電路
US11463233B2 (en) Unit interval jitter improvement in a C-PHY interface
KR102420905B1 (ko) 차세대 c-phy 인터페이스들을 위한 개방-루프, 초고속, 하프-레이트 클록 및 데이터 복구