TW201926908A - 用於高速序列資料通訊系統的編碼和解碼架構及其相關方法、實體層電路、發射器與接收器及其中的通訊系統 - Google Patents
用於高速序列資料通訊系統的編碼和解碼架構及其相關方法、實體層電路、發射器與接收器及其中的通訊系統 Download PDFInfo
- Publication number
- TW201926908A TW201926908A TW107141765A TW107141765A TW201926908A TW 201926908 A TW201926908 A TW 201926908A TW 107141765 A TW107141765 A TW 107141765A TW 107141765 A TW107141765 A TW 107141765A TW 201926908 A TW201926908 A TW 201926908A
- Authority
- TW
- Taiwan
- Prior art keywords
- wire
- symbols
- symbol
- states
- layer circuit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3769—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using symbol combining, e.g. Chase combining of symbols received twice or more
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Dc Digital Transmission (AREA)
Abstract
本發明提供用於高速序列資料通訊系統,如MIPI C-PHY中之實體層的編碼與解碼架構。本發明的實施例包含分別適用於傳送器與接收器之實體層電路中的編碼鏈與解碼鏈。其中,傳送器之實體層電路包含:一編碼鏈與一並列至序列轉換器。該編碼鏈具有複數個串接的編碼單元,並且用於接收複數個第一符元,以及將每一個第一符元轉換為一個對應的導線狀態,從而產生複數個導線狀態。該並列至序列轉換器耦接於該編碼鏈,用於接收該複數個導線狀態,並且序列化該複數個導線狀態,以提供一導線狀態序列。
Description
本發明通常關於高速資料通訊,尤指用於高速序列資料通訊系統的編碼和解碼架構及其相關方法、實體層電路、發射器與接收器及通訊系統。
如智慧型手機之類的行動裝置,內部包含各種不同用途的元件,例如應用處理器(application processor)、顯示器、CMOS圖像感測器等。這些元件需要透過實體介面進行互連,例如,應用處理器可以透過一個介面,向顯示器提供幀資料,以呈現視覺內容。或者,CMOS圖像感測器可以透過一個介面,向應用處理器提供感測到的圖像數據,以輸出照片或視頻。
由行動產業處理器界面(Mobile Industry Processor Interface, MIPI)聯盟所制定的MIPI規範被廣泛應用在上述的行動裝置的元件間的訊號通訊和數據傳輸。MIPI C-PHY是MIPI規範之一,它是全新開發與定義來滿足高速傳輸的需求,為特定類型的資料,如圖幀資料或圖像資料,提供高吞吐量。MIPI C-PHY採用3相符元(3-phase symbol)編碼,並在3線通道(3-wire lane)或三重線(trio)上傳輸資料符元。其中,每個三重線都包含了一個嵌入的時脈訊號。這些訊號有三個電壓準位,且不使用標準NRZ(non-return-to-zero line code)格式的訊號傳輸方式,以及為單端傳輸。因此,在任何給定的時間點,沒有訊號處於相同的電壓水平。MIPI C-PHY能有效地實現高速訊號通訊,並且可以基於至少2.5Gbps的位元率提供高吞吐量。
若要滿足如此高的資料速率,硬體元件的延遲必需非常短,以避免時序衝突(timing violation)。而另一方面來說,通常為了優化能耗表現,行動裝置的供應電壓會盡可能地低。如此一來,硬體元件中的低供應電壓與其內部巨大的邏輯閘數量(gate count),將使得複雜的串列通信系統(如,MIPI C-PHY通訊系統)中的硬體元件(如,組合邏輯電路)的延遲(如,邏輯閘延遲)難以被縮短。因此,如果硬件元件的整體邏輯閘延遲不能跟上傳輸的單位間隔(unit interval)的時序要求,則可能會發生時序衝突。
有鑑於上述問題,本發明目的之一在於提供一種編/解碼架構,以避免高速序列資料通訊系統(例如,MIPI C-PHY)中可能發生的時序衝突。在本發明的編/解碼架構之中,編碼電路與解碼電路係分別以多個串接的編碼單元與解碼單元來實現。再者,在本發明中,編碼電路與序列轉換器(serializer)的先後順序與習知編碼架構中的順序相反,而解碼電路與解序列轉換器(deserializer)的先後順序亦與習知解碼架構中的順序相反。
本發明之一實施例提供一種用於一傳送器中的一實體層電路。該實體層電路包含:一編碼鏈以及一並列至序列轉換器。該編碼鏈包含複數個串接的編碼單元,用以接收複數個第一符元,且將每一個第一符元對應的符元值轉換成一個對應的導線狀態,從而產生複數個導線狀態。該並列至序列轉換器耦接於該編碼鏈,用以接收該複數個導線狀態,並序列化該複數個導線狀態,以提供一導線狀態序列。
本發明之一實施例提供一種用於一傳送器中之一實體層電路的方法。該方法包含:接收複數個第一符元並且將該複數個第一符元中每一者的符元值轉換成一個對應的導線狀態,從而產生複數個導線狀態;並且接收該複數個導線狀態以及序列化該複數個導線狀態,以提供一導線狀態序列。
本發明之一實施例提供一種用於一接收器中的一實體層電路,該實體層電路包含:一序列至並列轉換器以及一解碼鏈。該序列至並列轉換器耦接於一多導線通訊連線,用於接收透過該多導線通訊連線所傳送之一導線狀態序列。該序列至並列轉換器用於解序列化該導線狀態序列,以提供複數個導線狀態。該解碼鏈具有複數個串接的解碼單元,用以接收該複數個導線狀態,並將該複數個導線狀態中的每一者轉換成一個對應的符元值,從而產生複數個第一符元。
本發明之一實施例提供用於一接收器中之一實體層電路中的一種方法。該方法包含:接收一導線狀態序列,並解序列化該導線狀態序列,從而提供複數個導線狀態;以及接收該複數個導線狀態,並將該複數個導線狀態中的每一者轉換成一個符元對應的一符元值,從而產生複數個第一符元。
本發明之一實施例提供一種基於一多導線通訊連線的通訊系統。該通訊系統包含:一傳送器與一接收器。該傳送器包含:一控制器、一第一實體層電路與一第一介面電路。該控制器用於提供一字組資料。該第一實體層電路耦接於該控制器,用於根據該字組資料產生一導線狀態序列。該第一實體層電路包含一編碼鏈,該編碼鏈用於將複數個符元轉換為複數個導線狀態,其中該複數個符元並非為序列。該第一介面電路耦接於該第一實體層電路與該多導線通訊連線,用於根據由該第一實體層電路所產生之一導線狀態序列,控制該多導線通訊連線的複數條導線上的訊號準位。該接收器包含:一第二介面電路、一第二實體層電路與一控制器。該第二介面電路耦接於該多導線通訊連線,用於從該多導線通訊連線的該複數條導線上,擷取該導線狀態序列。該第二實體層電路耦接於該第二介面電路,用以根據該導線狀態序列,還原該字組資料。該第二實體層電路包含一解碼鏈,該解碼鏈用於將複數個導線狀態轉換為複數個符元,其中該複數個導線狀態係由該導線狀態序列解序列化而來。該控制器耦接於該第二實體層電路,用於接收與處理該字組資料。
在以下內文中,描述了許多具體細節以提供閱讀者對本發明實施例的透徹理解。然而,本領域的技術人士將能理解,如何在缺少一個或多個具體細節的情況下,或者利用其他方法或元件或材料等來實現本發明。在其他情況下,眾所皆知的結構、材料或操作不會被示出或詳細描述,從而避免模糊本發明的核心概念。
說明書中提到的「一實施例」意味著該實施例所描述的特定特徵、結構或特性可能被包含於本發明的至少一個實施例中。因此,本說明書中各處出現的「在一實施例中」不一定意味著同一個實施例。此外,前述的特定特徵、結構或特性可以以任何合適的形式在一個或多個實施例中結合。
第1圖繪示本發明實施例之通訊系統的概觀。通訊系統10包含傳送器30與接收器40,其中傳送器30透過一多導線通訊連線(multi-wire communication link) 20,與接收器40進行通訊。多導線通訊連線20可能包含三條導線A、B與C,這三條導線形成傳送器30與接收器40之間的一個通道。本發明的通訊系統10可適用於於MIPI C-PHY規範。在MIPI C-PHY的組態中,導線A、B與C上的訊號傳輸包含六種導線狀態(wire state),分別稱為:+x、-x、 +y、-y、+z與–z。
第2圖繪示一狀態圖,該圖示出六種導線狀態:+x、-x、+y、-y、+z與–z,以及從當前導線狀態到次一導線狀態之間五種可能的轉態。透過多導線通訊連線200傳送之符元的符元值,相應地由單位間隔內的導線狀態的改變所對應定義。一般來說,在 MIPI C-PHY組態中,連續的七個符元被用來傳送16位元的資訊。
第3A圖示出了根據本發明實施例的編碼架構所實現的一傳送器。傳送器30包含控制器301與實體層電路300。控制器 301可以由以下方式實現,或者是包含在一硬體中:通用處理器(general purpose processor),數字信號處理器(digital signal processor),專用集成電路(application specific integrated circuit),現場可編程門陣列(field programmable gate array)或其他可編程邏輯裝置或其任何組合。並且,控制器 301可被編程來執行或者實現本文中所提到的功能。控制器301可操作於提供字組資料。在一較佳實施例中,控制器301能提供M位元的字組資料。
實體層電路300包含一M位元至L符元映射器303、一L符元編碼鏈304、一Lx3並列至序列(P2S)轉換器305以及一介面電路 306。M位元至L符元映射器303可操作於從控制器301接收M位元字組資料,並且將M位元字組資料映射為L個符元,其中“M”可能為整數,並為16的倍數,而“L”亦可為整數,並為7的倍數。舉例來說,映射器303可操作於接收16位元的字組,並根據MIPI C-PHY規範定義的映射函數,將16位元的字組映射成7個符元。又或者是,M位元至L符元映射器303可能將32位元的字組映射為14個符元、將48位元的字組映射為21個符元、將64位元的字組映射為28個符元等,以此類推。
此外,在一個較佳實施例中,每個符元包含3位元符元值。每個符元包含一翻轉(flip)位元、一旋轉(rotate)位元以及一極性(polarity)位元,其中,每一個符元值 Si可表示為 [Flip[i], Rotation[i], Polarity[i]]。
L符元編碼鏈304可操作於將M位元至L符元映射器303所輸出的L個符元進行編碼,其將每一個符元值Si轉換成一種導線狀態Wi(例如:+x、-x、+y、-y、+z以及–z等,MIPI C-PHY規範中所定義的狀態)。導線狀態Wi亦包含3位元的資訊[AB, BC, CA],以分別指明導線A、B與C上所對應的訊號狀態。L符元編碼鏈304根據第3B圖所示的編碼架構(即,MIPI C-PHY規範定義的編碼原則)對符元進行編碼。
第3C圖繪示本發明實施例之L符元編碼鏈304之詳細實施方式。如圖所示,L符元編碼鏈304包含複數個編碼單元304_1~304_L。基於第3B圖所示的編碼架構,每一個編碼單元 304_1~304_L可操作於根據一符元的符元值Si以及由編碼單元304_1~304_L中前一者所輸出的一先前導線狀態W(i-1),對該符元值 Si進行編碼,從而得到一當前導線狀態W(i)。
例如,編碼單元 304_2可操作於根據M位元至L符元映射器所輸出的符元中的第二個符元的符元值S1以及前一個編碼單元304_1所產生的先前導線狀態 W0進行編碼,從而得到當前導線狀態W1、編碼單元304_3可操作於根據M位元至L符元映射器所輸出的符元中的第三個符元的符元值S2以及前一個編碼單元304_2所產生的先前導線狀態 W1進行編碼,從而得到當前導線狀態W2。請注意,對第一編碼單元 304_1來說,其根據M位元至L符元映射器303所輸出的符元中的第一個符元的符元值S0以及一導線狀態先前pW(L-1)進行編碼,從而得到當前導線狀態W0。其中,導線狀態pW(L-1)係由最後一個編碼單元304_L,在針對控制器301先前提供之一字組資料進行編碼時,所輸出的導線狀態。再者,分別由編碼單元304_1-304_L所產生的導線狀態W0~W(L-1),會被進一步輸出給Lx3 P2S轉換器305。
在一個較佳實施例中,M位元至L符元映射器303與L符元編碼鏈304之間可能存在一個正反器(未示出),以及L符元編碼鏈304與P2S轉換器305之間可能存在另一個正反器(未示出),這些正反器可根據對應於字組資料之傳輸期間的一個字組時脈訊號wordclk,進行時序對齊。在一個較佳實施例中,字組時脈訊號wordclk可能為MIPI C-PHY規範中定義的高速傳輸字組時脈(High-Speed Transmit Word Clock, TxWordClkHS),其目的在於在高速傳輸時脈域(high-speed transmit clock domain)中,同步實體層協議介面(PHY-Protocol Interface, PPI)訊號。然而,此非本發明之限制。
此外,實體層電路300的實際電路可能分為至少兩個部分,一個為實體編碼子層(physical coding sublayer, PCS)部分以及另一個為實體媒體附加(physical medium attachment, PMA)部分。在本實施例中,編碼鏈可能設置於PCS部分中,而P2S轉換器則可能設置於PMA部分中。
Lx3 P2S轉換器305可操作於將L符元編碼鏈304所產生的L個導線狀態W0~W(L-1)進行序列化,從而根據字組時脈訊號 wordclk,輸出一個3位元的導線狀態序列WS。介面電路306可用於根據3位元的導線狀態序列,以及對應於一個符元之傳輸期間的一符元時脈訊號symclk,驅動/控制導線A、B與C上的訊號準位。在一個較佳的實施例中,符元時脈訊號symclk可能為MIPI C-PHY規範中定義的通道高速傳輸符元時脈(Lane High-Speed Transmit Symbol Clock “TxSymbolClkHS”),其主要提供時序,而此時序可用於通道間的高速符元資料傳輸。
實體層電路300還包含一時脈產生器308(其可採用鎖相迴路來實現)。時脈產生器308可操作於產生字組時脈訊號wordclk以及符元時脈訊號symclk。這兩個時脈訊號分別對應於一個字組與一個符元的傳輸期間。在“M”為16而“L”為7的情形中,字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/7,因為此時1個字組被映射為7個符元。在“M”為32而“L”為14的情形中,字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/14,因為此時1個字組被映射為14個符元。
由於並列至序列轉換操作的緣故,在實體層電路300中的元件之間,具備不同寬度的資料匯流排被用於進行資料傳輸。在控制器301與M位元至L符元映射器303之間,資料匯流排的寬度為M位元寬。在M位元至L符元映射器303與L符元編碼鏈304之間,資料匯流排的寬度為Lx3位元寬,在L符元編碼鏈304與Lx3 P2S轉換器305之間,資料匯流排的寬度Lx3位元寬,而在Lx3 P2S轉換器305與介面電路306之間,資料匯流排的寬度為3位元寬。
在本發明的不同實施例中,一個N符元編碼鏈可能被對用於M位元至L符元映射器303輸出的符元進行編碼。而在一個編碼操作的週期中,N符元編碼鏈所編碼的符元數目,可能少於或多於M位元至L符元映射器303輸出的L個符元。在這個實施例中,實體層電路300必須做出某些修改,請參考第3D圖來了解更進一步的細節。
如第3D圖所示,實體層電路300’包含M位元至L符元映射器303,先進先出(first-in first-out, FIFO)緩衝器309、N符元編碼鏈304’、Nx3 P2S轉換器 305’與介面電路306。如前所述,M位元至L符元映射器303可操作於從控制器301處接收M位元字組資料,並且將M位元字組資料映射為L個符元。由於在一個編碼操作週期中,N符元編碼鏈304’所編碼的符元數目,可能少於或多於M位元至L符元映射器303輸出的L個符元,所以需要緩衝器來解決兩者之間的非同步操作。因此,FIFO緩衝器309用以根據字組時脈訊號wordclk,儲存M位元至L符元映射器303輸出的每L個符元。在每一個解碼操作週期中,N符元編碼鏈304’根據一除頻時脈訊號Fclk,自FIFO緩衝器309中擷取N個符元,其中除頻時脈訊號Fclk的頻率為符元時脈訊號symclk的頻率的1/N。
N符元編碼鏈304’的操作與原理相似於L符元編碼鏈304,兩者均可操作於對M位元至L符元映射器303所輸出的符元進行解碼,以及根據MIPI C-PHY所定義,將每一個符元值Si轉換成導線狀態Wi。N符元編碼鏈304’與L符元編碼鏈304之間的差異在於其中包含的編碼單元數量。如第3C圖所示,L符元編碼鏈304利用L個編碼單元 304_1~304_L,循序地將L個符元編碼成L個導線狀態。相較之下,N符元編碼鏈304’ 利用N個編碼單元304_1~304_N,循序地將N個符元編碼成N個導線狀態。相似地,在FIFO緩衝器309與N符元編碼鏈304’之間,可能存在一個正反器;而在N符元編碼鏈304’與Nx3 P2S轉換器 305’之間,可能存在另一個正反器。這兩個正反器可用於根據除頻時脈訊號Fclk,進行訊號的時序對齊。然而,這並非本發明之限制。
Nx3 P2S 轉換器 305’可操作於序列化由N符元編碼鏈304’產生的N個導線狀態W0~W(N-1),以輸出一個3位元的導線狀態序列WS,其中Nx3 P2S轉換器305’依據除頻時脈訊號Fclk,將N個導線狀態W0~W(N-1)序列化。介面電路306用於依據導線狀態序列WS以及對應於一個符元之傳輸期間的符元時脈訊號symclk,驅動/控制導線A、B與C上的訊號準位。
實體層電路300’更包含一時脈產生器308’。時脈產生器308’可操作於產生對應於一個字組之傳輸期間的字組時脈訊號wordclk,以及對應於一個符元的傳輸期間的符元時脈訊號symclk。另外時脈產生器308’也用來產生除頻時脈訊號Fclk。在一實施例中,時脈產生器308’可以使用鎖相迴路來實現。除頻時脈訊號Fclk的頻率為符元時脈訊號symclk的頻率的1/N,而字組時脈訊號wordclk的頻率則與 “M”以及“L”的具體數值有關。在“M”為16而“L”為7的情形中,字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/7。在“M”為32而“L”為14的情形中,字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/14。
由於並列至序列轉換以及非同步操作的緣故,在實體層電路300’的元件之間,具備不同寬度的資料匯流排被用於進行資料傳輸。在控制器301與M位元至L符元映射器303之間,資料匯流排的寬度為M位元寬。在M位元至L符元映射器303與緩衝器309之間,資料匯流排的寬度為Lx3位元寬。在緩衝器309與N符元編碼鏈304’之間,資料匯流排的寬度為Nx3位元寬。在N符元編碼鏈304’與Nx3 P2S轉換器305’之間,資料匯流排的寬度為Nx3位元寬。在Nx3 P2S轉換器 305’與介面電路306之間,資料匯流排的寬度為3位元寬。
再者,實體層電路300與300’的操作可以歸納為以下步驟:
接收複數個第一符元,並將複數個第一符元中每一者的符元值轉換為對應的一個導線狀態,從而產生複數個導線狀態;以及
接收該複數個導線狀態,並序列化該複數個導線狀態以提供一導線狀態序列。
請注意,上述的接收複數個第一符元以及將每一個符元的符元值轉換為對應的導線狀態的步驟可能需要透過由複數個編碼單元所組成的編碼鏈,如編碼鏈304或304’來實現。另外,為了敘述的簡潔,基於實體層電路300與300’之操作的細節與子步驟在此省略。
第4A圖示出了根據本發明實施例的解碼結構實現的一接收器。該實施例中的接收器40可以用於與上述實施例的傳送器30通訊。接收器40包含控制器401與實體層電路400。實體層電路400可操作於接收導線A、B、C上的訊號,其對應於控制器301所提供的一字組資料。基於實體層電路400內部元件所運行的一連串操作,該字組資料的重現版本將被提供控制器401。控制器401可操作於處理字組資料。控制器401可能由以下方式實現,或者是包含在一硬體中:通用處理器,數字信號處理器,專用集成電路,現場可編程門陣列或其他可編程邏輯裝置或其任何組合。
實體層電路400包含介面電路406、Lx3序列至並列(S2P)轉換器405、L符元解碼鏈404以及L符元至M位元解映射器403。根據對應於一個符元之傳輸期間的一符元時脈訊號symclk,介面電路406可從導線A、B與C上擷取出一個3位元的導線狀態序列WS。在一個較佳實施例中,實體層電路400中的符元時脈訊號symclk可能為高速接收符元時脈(High-Speed Receive symbol Clock “RxSymbolClkHS”)。然而,此非本發明之限制。
Lx3 S2P轉換器405可操作於解序列化3位元的導線狀態序列WS,以根據符元時脈訊號symclk,輸出L個導線狀態W0~W(L-1)。L符元解碼鏈404可操作於解碼L個導線狀態W0~W(L-1),其可將每一個導線狀態Wi轉換為一個符元值Si。如上所述,導線狀態 Wi可能為MIPI C-PHY規範所定義的六種導線狀態:+x、-x、+y、-y、+z與–z中之一,並由3位元資訊[AB, BC, CA]所表示。每一個符元包含翻轉(flip)、旋轉(rotate)以及極性(polarity)位元,每一個符元值Si可由 [Flip[i], Rotation[i], Polarity[i]]來表示。L符元解碼鏈404依據如第4B圖所示的解碼架構(此為MIPI C-PHY規範所定義之解碼原則),解碼導線狀態。
第4C圖繪示本發明之一實施例的L符元解碼鏈404的詳細實施架構。如圖所示,L符元解碼鏈404包含L個編碼單元404_1~404_L。根據如第4B圖所示的解碼原則,每一個解碼單元404_1~404_L可操作於根據間隔N(interval N)內所接收到的當前導線狀態Wi以及間隔(N-1)(interval (N-1))內所接收到的先前導線狀態W(i-1),解碼導線狀態Wi,以得到符元值Si。舉例來說,解碼單元404_2可操作於根據Lx3 S2P轉換器405所輸出之導線狀態中的一當前導線狀態W1(亦即,間隔N所接收到的導線狀態)以及一先前導線狀態W0(亦即,間隔(N-1)所接收到的導線狀態),進行解碼;解碼單元404_3可操作於根據Lx3 S2P轉換器405所輸出之導線狀態中的一當前導線狀態W2(亦即,間隔(N+1)所接收到的導線狀態)以及一先前導線狀態W1(亦即,間隔N所接收到的導線狀態),進行解碼。請注意,對第一解碼單元 404_1來說,其係根據Lx3 S2P轉換器405所輸出之導線狀態中的當前導線狀態W0以及先前導線狀態pW(L-1)。其中,導線狀態pW(L-1)為實體層電路400針對先前所接收之一字組資料進行解碼操作的期間,所接收到的導線狀態。再者,由解碼單元404_1-404_L所分別產生的符元值S0~S(L-1),將被輸出至L符元至M位元解映射器403。
在一個較佳實施例中,一個正反器(未示出)可能耦接於Lx3 S2P 轉換器405與L符元解碼鏈404之間,以及另一個正反器(未示出)可能耦接於L符元解碼鏈404與L符元至M位元解映射器403之間,用以根據對應於一個字組之傳輸期間的一字組時脈訊號wordclk,進行訊號的時序對齊。在一個較佳實施例中,實體層電路400中的字組時脈訊號wordclk可能為一高速接收字組時脈(High-Speed Receive Word Clock “RxWordClkHS”)。然而,這並非本發明的限制。
L符元至M位元解映射器403可操作於從L符元解碼鏈404接收L個符元的符元值S0~S(L-1),並且將L個符元的符元值S0~S(L-1)解映射,得到一個M位元的字組資料。舉例來說,L符元至M位元解映射器403可操作於,從L符元解碼鏈404接收7個符元的符元值S0~S6,並且解映射接收到的7個符元的符元值S0~S6,以根據MIPI C-PHY定義的解映射函數,得到一個16位元的字組。或者是,L符元至M位元解映射器403可能將14個符元解映射為一個32位元字組、將21個符元解映射為一個48位元字組、將28個符元解映射為一個64位元字組等。在解映射之後,由L符元至M位元解映射器403所輸出的字組資料,將被傳送至控制器401。
實體層電路400另包含一時脈還原(clock recovery)裝置408。時脈還原裝置408可操作於產生,產生對應於一個字組之傳輸期間的字組時脈訊號wordclk以及產生對應於一個符元之傳輸期間的符元時脈訊號symclk。在一實施例中,時脈還原裝置408包含時脈還原電路410以及除頻器412。時脈還原電路410用於基於時脈還技巧,還原嵌入在導線A、B與C上之訊號中的符元時脈訊號symclk。除頻器412接收符元時脈訊號symclk以及對符元時脈訊號symclk進行除頻,產生字元時脈訊號wordclk。字組時脈訊號wordclk的頻率取決於“M”與“L”的具體數值。在“M”為16而“L”為7的情形中,由於每7個符元被解映射為一個字元,所以字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/7。在“M”為32而“L”為14的情形中,由於每14個符元被解映射為一個字元,所以字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/14。
由於序列至並列轉換操作的緣故,在實體層電路400中的元件之間,具備不同寬度的資料匯流排被用於進行資料傳輸。在介面電路406與Lx3 S2P轉換器405之間,資料匯流排為3位元寬。在Lx3 S2P轉換器405與L符元解碼鏈404之間,資料匯流排為Lx3位元寬。在L符元解碼鏈404與L符元至M位元解映射器403之間,資料匯流排為Lx3位元寬。在L符元至M位元解映射器403與控制器401之間,資料匯流排為M位元寬。
在本發明的不同實施例中,一個N符元解碼鏈可能被對用於L符元至M位元解映射器403輸出的符元進行編碼。而在一個解碼操作的週期中,N符元解碼鏈所解碼的符元數目,可能少於或多於L符元至M位元解映射器403輸出的M個位元。在這個實施例中,實體層電路400必須做出某些修改,請參考第4D圖來了解更進一步的細節。
如第4D圖所示,實體層電路400’包含介面電路406、Nx3 S2P轉換器405’、N符元解碼鏈404’、FIFO緩衝器409以及L符元至M位元解映射器403。根據符元時脈訊號symclk,介面電路406用以從導線A、B與C上,擷取3位元的導線狀態序列WS。Nx3 S2P轉換器405可操作於解序列化3位元的導線狀態序列WS,以在一個解碼周期內,輸出N個導線狀態 W0~W(N-1)給N符元解碼鏈404’。並且,Nx3 S2P轉換器 405’根據符元時脈訊號symclk,解序列化3位元的導線狀態序列WS。
N符元解碼鏈404’的操作與原理相似於L符元解碼鏈404,兩者皆可操作於對S2P轉換器所405輸出的導線狀態進行解碼,並如MIPI C-PHY規範所定義的原則,將每一個導線狀態Wi轉換成至一符元值Si。N符元解碼鏈404’與L符元解碼鏈404之間的差異為其中所包含的解碼單元的數量。如第4C圖所示,L符元解碼鏈404利用L個解碼單元404_1~404_L以循序地將L個導線狀態解碼為L個符元。相較之下,N符元解碼鏈404’則利用N個解碼單元404_1~404_N以循序地將N個導線狀態解碼為N個符元。
相似地,一個正反器可能耦接於FIFO緩衝器409與N符元解碼鏈404’之間,以及另一個正反器可能耦接於N符元解碼鏈404’and the Nx3 S2P轉換器 405’之間,用以根據一除頻時脈訊號Fclk進行訊號間的時序對齊,其中,除頻時脈訊號Fclk的頻率為符元時脈訊號symclk的頻率的1/N。然而,這並非本發明的限制。
由於在一個解映射操作周期內,N符元解碼鏈404’可輸出的符元數量,相較於L符元至M位元解映射器403所需的L個符元可能更多或更少。因此,需要一個緩衝器來解決兩者之間的非同步操作。因此,在一個解碼操作周期中,FIFO緩衝器409根據除頻時脈訊號Fclk,緩存由N符元解碼鏈404’所輸出的每N個符元。在一個解映射周期中,L符元至M位元解映射器403根據字組時脈訊號wordclk,從FIFO緩衝器409中擷取L個符元。
實體層電路400’還包含一時脈還原裝置408’。時脈還原裝置408’可操作於產生對應於一個字組之傳輸期間的字組時脈訊號wordclk,以及產生對應於一個符元之傳輸期間的符元時脈訊號symclk。再者,時脈還原裝置408’亦可產生除頻時脈訊號Fclk。在一實施例中,時脈還原裝置408’包含時脈還原電路410’與除頻器412’。時脈還原電路410’ 基於時脈還原技巧,從導線A、B與C上的訊號中,還原出符元時脈訊號symclk。除頻器412’接收符元時脈訊號symclk,並且對符元時脈訊號symclk進行除頻,以產生字組時脈訊號wordclk以及除頻時脈訊號Fclk。除頻訊號Fclk的頻率為符元時脈訊號symclk的頻率的1/N,而字組時脈訊號wordclk的頻率則與取決於“M”以及“L”的具體數值。在“M”為16而“L”為7的情形中,字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/7。在“M”為32而“L”為14的情形中,字組時脈訊號wordclk的頻率為符元時脈訊號symclk的頻率的1/14。
由於序列至並列轉換以及非同步操作的緣故,在實體層電路400’中的元件之間,具備不同寬度的資料匯流排被用於進行資料傳輸。在介面電路406與Nx3 S2P轉換器405’之間,資料匯流排為3位元寬。在Nx3 S2P轉換器405’與N符元解碼鏈404’之間,資料匯流排為Nx3位元寬。在N符元解碼鏈404’與緩衝器409之間,資料匯流排為Nx3位元寬。在緩衝器409與L符元至M位元解映射器403之間,資料匯流排為Lx3位元寬。在L符元至M位元解映射器403與控制器401之間,資料匯流排為M位元寬。
此外,實體層電路400與400’的操作可以扼要地歸納為以下步驟:
接收一導線狀態序列,並且解序列化該導線狀態序列以提供複數個導線狀態;以及
接收該複數個導線狀態,並且將該複數個導線狀態中每一者轉換成一個對應符元的符元值,從而產生複數個第一符元。
請注意,上述的接收複數個導線狀態與將每一個導線狀態轉換為對應的符元值的步驟可能需要透過由複數個解碼單元所組成的解碼鏈,如解碼鏈404或404’來實現。另外,為了敘述的簡潔,基於實體層電路400 and 400’之操作的細節與子步驟在此省略。
本發明編碼架構與習知編碼架構的差異在於,並列至序列轉換器與編碼電路的順序。在習知編碼架構中,並列至序列轉換器的順序在編碼電路之前,而在本發明編碼架構中,編碼電路(亦即,編碼鏈304或304’)的順序在並列至序列轉換器之前。而兩者的另一個差異在於,本發明的編碼電路(亦即,編碼鏈係由複數個串接的編碼單元所構成。由於這些差異,本發明的編碼電路得以在一個字組區間(也就是多個連續符元的傳輸期間)內完成多個連續符元的編碼操作,相較之下,習知的編碼電路則需要在一個符元區間(也就是一個符元的傳輸期間)內對一個符元完成編碼操作。相較於習知架構來說,本發明提高了更多的寬容邊際以避免時序衝突。換言之,假設一個通訊系統的位元率為2.5Gbps,則符元時脈必須達到400ps50%佔空比,這意味著在最糟的情況下,習知的編碼操作必須在200ps內完成,也就是,習知編碼電路中的邏輯閘延遲不得超過200ps。相較之下,就本發明來說,由於前一個時脈與後一個時脈的時脈偏移之間有互補關係,這使得N個連續符元的編碼操作只需要在 ((N-1)*400+200)ps內完成即可。換句話說,單一編碼單元僅需要在((N-1)*400+200)/N ps內完成編碼操作,而這個時間長度要求遠寬鬆於200ps。因此,本發明的架構減輕了對於編碼單元之邏輯閘延遲的要求。請注意,上述的說明雖然是針對編碼架構,但也同樣適用於解碼架構。總結來說,本發明提供的編/解碼架構減輕了對於硬體元件之延遲的要求,從而避免在高速序列傳輸系統中可能發生的時序衝突。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10‧‧‧通訊系統
20‧‧‧多導線通訊連線
30‧‧‧傳送器
40‧‧‧接收器
300、300’、400、400’‧‧‧實體層電路
301、401‧‧‧控制器
303‧‧‧映射器
304_1~304_N、304_1~304_L‧‧‧編碼單元
304、304’‧‧‧編碼鏈
305、305’‧‧‧並列至序列轉換器
306、406‧‧‧介面電路
308、308’‧‧‧時脈產生器
309、409‧‧‧緩衝器
403‧‧‧解映射器
404、404’‧‧‧解碼鏈
404_1~404_N、404_1~404_L‧‧‧解碼單元
405、405’‧‧‧序列至並列轉換器
408、408’‧‧‧時脈恢復裝置
410、410’‧‧‧時脈恢復電路
412、412’‧‧‧除頻器
第1圖繪示本發明實施例之一通訊系統的概觀。 第2圖繪示在MIPI C-PHY介面中關於導線狀態與其中的可能轉態的狀態圖。 第3A圖~第3D圖繪示本發明實施例之編碼架構的運作原理。 第4A圖~第4D圖繪示本發明實施例之解碼架構的運作原理。
Claims (11)
- 一種用於一傳送器中的實體層電路,包含: 一編碼鏈,具有複數個串接的編碼單元,用於接收複數個第一符元,並將該複數個第一符元中每一者的符元值轉換為一個對應的導線狀態,從而產生複數個導線狀態;以及 一並列至序列轉換器,耦接於該編碼鏈,用於接收該複數個導線狀態,並序列化該複數個導線狀態,以提供一導線狀態序列。
- 如請求項1所述的實體層電路,其中該複數個編碼單元中的至少一者,係用於根據該符元值以及由串接的編碼單元中之前一者所產生的一先前導線狀態,轉換該符元值,從而得到一當前導線狀態。
- 如請求項1所述的實體層電路,另包含: 一映射器,耦接於該編碼鏈,用於在一操作周期中,接收一字組資料並映射該字組資料,以產生至少該複數個第一符元;以及 一緩衝器,耦接於該映射器,用於至少緩存由該映射器所產生該複數個第一符元。
- 如請求項3所述的實體層電路,其中該映射器用於在一操作周期中,映射該字組資料以產生複數個第二符元,其中該複數個第二符元包含該複數個第一符元,或者該複數個第一符元包含該複數個第二符元。
- 一種用於一傳送器中之一實體層電路的方法,包含: 接收複數個第一符元以及將該複數個第一符元中的每一者的符元值轉換為一對應的導線狀態,從而產生複數個導線狀態;以及 接收該複數個導線狀態以及序列化該複數個導線狀態,以產生一導線狀態序列。
- 一種用於一接收器中的實體層電路,包含: 一序列至並列轉換器,用於接收一導線狀態序列,並且解序列化該導線狀態序列以提供複數個導線狀態;以及 一解碼鏈,具有複數個串接的解碼單元,用於接收該複數個導線狀態,並將該複數個導線狀態中的每一者,轉換為一個符元的對應符元值,從而產生複數個第一符元。
- 如請求項6所述的實體層電路,其中該複數個解碼單元中的至少一者,係用於根據於間隔(N)所接收之該導線狀態以及於間隔(N-1)所接收之一先前導線狀態,轉換該導線狀態。
- 如請求項6所述的實體層電路,更包含: 一解映射器,耦接於該解碼鏈,用於接收該複數個第一符元,並在一操作周期中解映射至少該複數個第一符元,以產生一字組資料;以及 一緩衝器,耦接於該解碼鏈,用以緩存由該解碼鏈產生的該複數個第一符元。
- 如請求項8所述的實體層電路,其中該解映射器用於透過在一操作周期中解映射複數個第二符元而產生該字組資料,其中該複數個第二符元包含該複數個第一符元,或者該複數個第一符元包含該複數個第二符元。
- 一種用於一接收器中之一實體層電路的方法,包含: 接收一導線狀態序列以及解序列化該導線狀態序列來提供複數個導線狀態;以及 接收該複數個導線狀態以及將該複數個導線狀態中每一者轉換為一個符元的對應符元值,從而產生複數個第一符元。
- 一種基於一多導線(multi-wire)通訊連線的通訊系統,包含: 一傳送器,包含: 一控制器,用於提供一字組資料; 一第一實體層電路,耦接於該控制器,用於根據該字組資料產生一導線狀態序列,包含: 一編碼鏈,用於將複數個符元轉換為複數個導線狀態,其中該複數個符元並非為序列; 一第一介面電路,耦接於該第一實體層電路與該多導線通訊連線,用於根據由該第一實體層電路所產生之一導線狀態序列,控制該多導線通訊連線的複數條導線上的訊號準位; 一接收器,包含: 一第二介面電路,耦接於該多導線通訊連線,用於從該多導線通訊連線的該複數條導線上,擷取該導線狀態序列; 一第二實體層電路,耦接於該第二介面電路,用以根據該導線狀態序列,還原該字組資料,包含: 一解碼鏈,用於將複數個導線狀態轉換為複數個符元,其中該複數個導線狀態係由該導線狀態序列解序列化而來; 一控制器,耦接於該第二實體層電路,用於接收與處理該字組資料。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762590352P | 2017-11-23 | 2017-11-23 | |
US62/590,352 | 2017-11-23 | ||
US15/956,709 US20190158127A1 (en) | 2017-11-23 | 2018-04-18 | Encoding and decoding architecture for high-speed data communication system and related physical layer circuit, transmitter and receiver and communication system thereof |
US15/956,709 | 2018-04-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201926908A true TW201926908A (zh) | 2019-07-01 |
TWI698092B TWI698092B (zh) | 2020-07-01 |
Family
ID=66534053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107141765A TWI698092B (zh) | 2017-11-23 | 2018-11-23 | 用於高速序列資料通訊系統的編碼和解碼架構及其相關方法、實體層電路、發射器與接收器及其中的通訊系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190158127A1 (zh) |
CN (1) | CN109831192B (zh) |
TW (1) | TWI698092B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190266119A1 (en) * | 2018-02-26 | 2019-08-29 | Qualcomm Incorporated | Efficient fast link turnaround procedure |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU541189B2 (en) * | 1980-02-11 | 1984-12-20 | Data General Corporation | Data processing system |
WO2006095313A1 (en) * | 2005-03-11 | 2006-09-14 | Koninklijke Philips Electronics N.V. | Method for remotely controlling a display apparatus based thereon and a portable device comprising such an apparatus |
DE102006011059A1 (de) * | 2006-03-08 | 2007-09-13 | Robert Bosch Gmbh | Verfahren und System zum Übertragen von in einem Signal codierten Daten |
US9711041B2 (en) * | 2012-03-16 | 2017-07-18 | Qualcomm Incorporated | N-phase polarity data transfer |
TWI433471B (zh) * | 2010-09-24 | 2014-04-01 | Sunplus Technology Co Ltd | (n,k)方塊碼之軟輸入軟輸出解碼裝置 |
EP2779504A1 (en) * | 2013-03-12 | 2014-09-17 | ST-Ericsson SA | Adapted bit loading for OFDM system using modulus and phase of estimated transfer function of the communication channel |
US9118457B2 (en) * | 2013-03-15 | 2015-08-25 | Qualcomm Incorporated | Multi-wire single-ended push-pull link with data symbol transition based clocking |
US9369237B2 (en) * | 2013-08-08 | 2016-06-14 | Qualcomm Incorporated | Run-length detection and correction |
US10027504B2 (en) * | 2015-10-23 | 2018-07-17 | Qualcomm Incorporated | Protocol-assisted advanced low-power mode |
KR102031598B1 (ko) * | 2016-08-05 | 2019-11-08 | 선전 구딕스 테크놀로지 컴퍼니, 리미티드 | 신호 송신 방법 및 장치 |
US20180350412A1 (en) * | 2017-06-06 | 2018-12-06 | Sandisk Technologies Llc | Systems and methods for adaptive parallel-serial conversion operations |
-
2018
- 2018-04-18 US US15/956,709 patent/US20190158127A1/en not_active Abandoned
- 2018-11-23 CN CN201811408632.6A patent/CN109831192B/zh active Active
- 2018-11-23 TW TW107141765A patent/TWI698092B/zh active
Also Published As
Publication number | Publication date |
---|---|
CN109831192A (zh) | 2019-05-31 |
US20190158127A1 (en) | 2019-05-23 |
CN109831192B (zh) | 2023-08-29 |
TWI698092B (zh) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9337997B2 (en) | Transcoding method for multi-wire signaling that embeds clock information in transition of signal state | |
US7843216B2 (en) | Techniques for optimizing design of a hard intellectual property block for data transmission | |
JP3341845B2 (ja) | デジタルビデオ伝送のためのブロックコーディング | |
EP1388975B1 (en) | System and method for data transition control in a multirate communication system | |
US10103830B2 (en) | Latency-optimized physical coding sublayer | |
KR20180073578A (ko) | Mipi csi-2 c-phy 에 대한 의사-무작위 2진 시퀀스 시드들을 교번시키기 | |
EP0813153A2 (en) | Serial-to-parallel converter in a data communication system | |
KR101688377B1 (ko) | 다중 와이어 데이터 신호들에 대한 클록 복원 회로 | |
US8572300B2 (en) | Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks | |
JP2004520778A (ja) | スキュー耐性のないデータグループを有するパラレルデータ通信 | |
JPH07245564A (ja) | 通信データ・ストリームの変換方法及びシステム | |
JP3297100B2 (ja) | ハンドシェーク信号符号化方法及びコンピュータネットワーク | |
KR20180065119A (ko) | 데이터 통신을 위한 수신기 | |
TWI698092B (zh) | 用於高速序列資料通訊系統的編碼和解碼架構及其相關方法、實體層電路、發射器與接收器及其中的通訊系統 | |
TW201822015A (zh) | 利用晶片內串聯器/解串聯器的控制器-實體層連接 | |
JP2001024712A (ja) | 並列システムをデータ・ストローブ型の送受信器とインタフェース接続するための伝送システム、送信器、受信器、及びインタフェース装置 | |
US11012087B2 (en) | Encoding and decoding architecture for high speed data communication system and related physical layer circuit, transmitter and receiver and communication system thereof | |
US11663157B1 (en) | Joint electron devices engineering council (JESD)204-to-peripheral component interconnect express (PCIe) interface | |
WO2023104210A1 (zh) | 数据传输芯片及电子设备 | |
EP1768298B1 (en) | Apparatus and method for inserting synchronization headers into serial data communication streams | |
Stojčev et al. | On-and Off-chip Signaling and Synchronization Methods in Electrical Interconnects | |
JP2000332741A (ja) | 通信装置 |