解析MIPI C-PHY(一)
DPHY是源同步系統(tǒng)(有同步時(shí)鐘通道clock lane),為了提高帶寬,CPHY沒有同步時(shí)鐘clock lane,時(shí)鐘是嵌入到數(shù)據(jù)中的,當(dāng)然也涉及到數(shù)據(jù)編解碼。DPHY是1個(gè)時(shí)鐘lane,1/2/4對(duì)數(shù)據(jù)lane,接收端根據(jù)時(shí)鐘邊沿采樣數(shù)據(jù),比如尋找0xb8的同步頭。而MIPI CPHY不帶時(shí)鐘lane,必先恢復(fù)時(shí)鐘,然后用恢復(fù)時(shí)鐘采樣數(shù)據(jù)(尋找0xb8的同步頭),然后進(jìn)行數(shù)據(jù)解碼。
CPHY的symbol
相比DPHY,CPHY沒有時(shí)鐘線;CPHY三線為一lane,三線彼此差分,CPHY最多3lane(即9線)比D-PHY要少一根線。每一根線有三種電平:3/4V,2/4V 和 1/4V,這三個(gè)線的電平彼此不同,因此可以有6種排列組合,記為:+x, -x, +y, -y, +z, -z。
請(qǐng)思考一下,為什么沒有000、111這兩種狀態(tài)?后面解答。
我們對(duì)這三個(gè)線的電壓,兩兩做差,就可得到下面的眼圖。三根線的電壓差所形成的形狀如同“眼睛”,稱之為眼圖。每一個(gè)Wire status狀態(tài)切換是一個(gè)symbol,每一個(gè)symbol代表了3bit 數(shù)據(jù),注意,是Wire status的切換才是數(shù)據(jù),而非Wire status本身代表數(shù)據(jù),讀者可以思考下為什么。
C-PHY如何表示傳輸數(shù)據(jù)
C-PHY是如何表達(dá)并傳輸數(shù)據(jù)的?就是靠6個(gè)狀態(tài)的切換表示數(shù)據(jù)的,注意,是Wire status的切換才是數(shù)據(jù),而非Wire status本身代表數(shù)據(jù),如下圖:每一次的狀態(tài)切換,代表了3bit的數(shù)據(jù)。
Wire status切換歸總為表格:
假設(shè)當(dāng)前狀態(tài)是+x. 即:
假設(shè)要傳輸?shù)臄?shù)據(jù)000 010 011那么狀態(tài)的變化是:+x => +z => +x => -y
檢測(cè)symbol狀態(tài)變化的電路如下圖:
CPHY的數(shù)據(jù)編碼
對(duì)于D-PHY而言,以Byte為單位進(jìn)行數(shù)據(jù)傳輸。一個(gè)UI是1 bit。
對(duì)于C-PHY而言,以16bit為單位進(jìn)行數(shù)據(jù)傳輸,一個(gè)UI 是16/7 bit。
也就是說,CPHY是16 bit 的有效數(shù)據(jù)要分配成7 個(gè)symbols,每個(gè)symbols 3bit共計(jì)21bit,那么16bit怎么編碼成21bit呢?如下圖:
詳細(xì)圖如下:
Flip[6:0]的編碼邏輯如下:
CPHY的帶寬
對(duì)于D-PHY而言,以Byte為單位進(jìn)行數(shù)據(jù)傳輸。一個(gè)UI是1 bit。
對(duì)于C-PHY而言,以16bit為單位進(jìn)行數(shù)據(jù)傳輸,一個(gè)UI 是16/7 bit。
16/7 是怎么計(jì)算的?見下圖:16bit數(shù)據(jù)映射成21bit,也就是7個(gè)symbol,每個(gè)symbol有3個(gè)bit。
為什么16bit有效數(shù)據(jù)要分配成7個(gè)symbols?
16bit數(shù)據(jù),有2^16=65536個(gè)值,7個(gè)symbol(1個(gè)symbol代表5種狀態(tài))有5^7=78125個(gè)值。所以并不是所有symbol狀態(tài)都被用完。
若分配為6個(gè)symbol,5^6=15625,小于2^16,無法完備表達(dá)16bit數(shù)據(jù)的值。
CPHY的1個(gè)lane最大帶寬是2.5G symbols/s,即每一lane 最大傳輸速率是 2.5G UI/s,每一個(gè)UI是16/7=2.28bit,CPHY最多有3個(gè)lane。因此CPHY最大帶寬為2.5G*16/7bit * 3 = 17.14G bit/s。在同樣是2.5G的速率下,C-PHY可以達(dá)到17.1G,而D-PHY只有10G。
CPHY通信時(shí)序
上圖與下圖區(qū)別就是:Programmable Sequence
Escape Mode
非常經(jīng)典的設(shè)計(jì)思路,A、C異或得到時(shí)鐘,時(shí)鐘上升沿采集A得到命令,Escape Mode可以發(fā)送命令、發(fā)送數(shù)據(jù)(低功耗)。
我們來看,Escape Mode包含了哪些命令:
Trigger-Reset Command in Escape Mode
Low-Power Data Transmission