作者: Jeson Zhang,文章來(lái)源:Comtech FPGA微信公眾號(hào)
1. MIPI出現(xiàn)的背景
在移動(dòng)設(shè)備對(duì)于音視頻傳輸更小集成,更高速率的需求下,傳統(tǒng)的并口傳輸受到越來(lái)越多挑戰(zhàn),并口傳輸提速一個(gè)是提高隨路輸出時(shí)鐘,另一個(gè)是增加數(shù)據(jù)位寬,前者使得EMC設(shè)計(jì)困難且復(fù)雜,后者不符合移動(dòng)設(shè)備小型化,集成化趨勢(shì)。
MIPI聯(lián)盟組建目的是把手機(jī)內(nèi)部的接口如攝像頭、顯示屏接口、射頻/基帶接口等標(biāo)準(zhǔn)化,從而減少手機(jī)設(shè)計(jì)的復(fù)雜程度和增加設(shè)計(jì)靈活性。
在此情景需求下,MIPI聯(lián)盟順勢(shì)推出Mobile Industry Processor Interface(移動(dòng)行業(yè)處理器接口),縮寫即是MIPI,這是MIPI聯(lián)盟發(fā)起的為移動(dòng)應(yīng)用處理器制定的開放標(biāo)準(zhǔn)和一個(gè)接口規(guī)范。MIPI聯(lián)盟下面有不同的工作組(WorkGroup),分別定義了一系列的內(nèi)部接口標(biāo)準(zhǔn),比如攝像頭接口CSI(Camera Serial Interface)、顯示接口DSI(Display Serial Interface)、射頻接口DigRF、麥克風(fēng)/喇叭接口SLIMbus等。
可以看出MIPI并不是一個(gè)單一的接口或協(xié)議,而是包含了一套協(xié)議和標(biāo)準(zhǔn),以滿足各種子系統(tǒng)獨(dú)特的要求,而MIPI CSI-2 (Camera) and MIPI DSI (Display)則是目前業(yè)界使用最廣的兩個(gè)MIPI接口標(biāo)準(zhǔn),而這也是和視頻傳輸相關(guān)的標(biāo)準(zhǔn),所以后面我們會(huì)就針對(duì)這兩個(gè)標(biāo)準(zhǔn)做進(jìn)一步的介紹。
2. MIPI DPHY和MIPI CSI/DSI簡(jiǎn)介
CSI/DSI是MIPI對(duì)于Camera/Display指定的協(xié)議層標(biāo)準(zhǔn)、協(xié)議層管理通道的分布和合并、包的基本協(xié)議,它們需要運(yùn)行在一個(gè)物理層(PHY Layer)上。
PHY Layer主要定義幾個(gè)事情:
A 芯片到芯片之間,芯片和外部電路之間的傳輸媒介;
B 時(shí)鐘和數(shù)據(jù)在時(shí)序上的相互關(guān)系;
C 信號(hào)的電氣特性、參數(shù)等;
D 傳輸媒介的特性和電氣參數(shù)以及時(shí)鐘和數(shù)據(jù)的時(shí)序關(guān)系;
E 規(guī)范了數(shù)據(jù)傳輸?shù)拈_始和傳輸?shù)慕Y(jié)束;
CSI-2和DSI共享一個(gè)名為D-PHY的通用物理層接口,這樣設(shè)計(jì)是為了提高速率、降低功耗和EMI。
在PHY Layer,其實(shí)除了D PHY還有M PHY和 C PHY。
他們推出時(shí)間點(diǎn)和面向連接應(yīng)用場(chǎng)景各不相同,MIPI CPHY在MIPI DPHY的基礎(chǔ)上成倍增加了帶寬,減少了線對(duì)數(shù)量,在高速大靶面?zhèn)鞲衅骱透叻指咚⑿乱苿?dòng)設(shè)備OLED應(yīng)用上越來(lái)越普及,而MIPI MPHY類似PCIE,是基于serdes的,用在興起的存儲(chǔ),高速攝像頭較多,感興趣可以在MIPI官網(wǎng)進(jìn)一步了解(https://www.mipi.org)。
3. AMD Xilinx MIPI DPHY實(shí)現(xiàn)
MIPI DPHY定義了兩種模式:High Speed(HS)和Low Power(LP),兩種模式使用不同的傳輸電平和傳輸機(jī)制。
A MIPI DPHY的是源同步系統(tǒng),由發(fā)送端輸出時(shí)鐘;
B MIPI DPHY分為低速(LP)和全速(HS)兩種傳輸狀態(tài),其中低速模式下不強(qiáng)制要求輸出時(shí)鐘且電平標(biāo)準(zhǔn)不一樣;
C MIPI DPHY在LP狀態(tài)下輸出電平是LVCMOS 1.2V,在HS狀態(tài)輸出電平為SLVS;
MIPI DPHY屬于源同步系統(tǒng),轉(zhuǎn)換為L(zhǎng)VDS電平后就是一個(gè)通用的ISERDES邏輯,主要是時(shí)鐘方案有兩種考慮:
第一種:使用PLL、MMCM或DLL,此種方案對(duì)PLL的鎖定時(shí)間有較高的要求,通常要求us級(jí)才能保證在時(shí)鐘不連續(xù)模式下正常鎖定,當(dāng)然具有專用DPHY邏輯的器件有專門的PLL電路實(shí)現(xiàn)。這種方案的好處是不易受時(shí)鐘毛刺的影響,接收較為穩(wěn)定。
第二種:在源同步時(shí)鐘基礎(chǔ)上使用專門的時(shí)鐘buffer分頻(如Xilinx 7系列的BUFR),這種方案可適應(yīng)任意速率,不需要預(yù)先設(shè)定速率來(lái)配置鎖相環(huán)電路,缺點(diǎn)是易受時(shí)鐘毛刺影響,出錯(cuò)率稍高。
HS模式下,為差分信號(hào)傳輸,信號(hào)電平在100mV~300mV(200mV的壓擺);LP模式下,為單端信號(hào)傳輸,信號(hào)電平在0~1.2V(1.2V壓擺)。HS模式下,信號(hào)傳輸速度可達(dá)80Mbps~1.5Gbps(v1.1),采用源同步的傳輸方式,由主機(jī)(Master)設(shè)備向從機(jī)(Slave)設(shè)備提供DDR時(shí)鐘。LP模式下,信號(hào)傳輸速度為10Mbps,此時(shí)傳輸通道的差分線(HS模式下的)是兩根獨(dú)立的信號(hào)線。無(wú)論是HS模式還是LP模式,都采用LSB fisrt,MSB last的傳輸方式。對(duì)于兩種模式為什么定義兩種不同的傳輸機(jī)制,有興趣的同學(xué)可以一起討論下。由于MIPI接口電平比較特殊,DPHY 在LP模式下為1.2V的LVCMOS電平,在HS模式下為SLVS-400電平,結(jié)合成本和速率,Xilinx提供了三種方案實(shí)現(xiàn)。
3.1 800Mbps以下的電阻網(wǎng)絡(luò)方案(低速率,低成本,低集成性)
可以參考Xilinx官方文檔xapp894,要求800M Hz以下,走線300mm以內(nèi)。
建議做板級(jí)SI simulation,原理圖設(shè)計(jì)可以參考官方的SP701開發(fā)板。
3.2 1.5GMbps以下的電平轉(zhuǎn)換芯片方案(中速率,中成本,中集成性)
MIPI DPHY 因?yàn)槭且玫絊elect IO的Iserdes,因此受IO時(shí)鐘速率的影響,可以布線到IO的最高時(shí)鐘在7系列器件里面是BUFIO,可以達(dá)到800MHz,DPHY是DDR傳輸數(shù)據(jù)的,那么就意味著在7系列FPGA上接MIPI進(jìn)來(lái)最大的Lane速率只能到1600Mbps。
使用專門ASSP進(jìn)行轉(zhuǎn)換主要針對(duì)單Lane速率在800Mbps以上的情況,目的是為了確保信號(hào)完整性,確保在高速率下的眼圖質(zhì)量。國(guó)外有一家公司專門做這種MIPI DPHY轉(zhuǎn)LVDS的ASSP芯片(MC20001),實(shí)現(xiàn)方案如下圖所示。其實(shí)MC20001/20002是可以支持到2.5G的接口電平轉(zhuǎn)換,此時(shí)限制在1.5Gbps主要原因是受到FPGA LVDS IO速率限制。
3.3 80-2500/3200Mbps采用帶支持MIPI_DPHY_DCI IO standard的通用FPGA(高速率,高成本,高集成性)
目前了解到的可以直接支持MIPI_DPHY_DCI(digital control impedance)電平標(biāo)準(zhǔn)的FPGA僅有Xilinx的UltraScale+系列的直接支持(HP BANK Only),IO結(jié)構(gòu)如下圖。
A 7-nm and 16-nm devices have built-in support for DPHY physical layer;
B No need of external bridges or resistor networks;
C DPHY IO switch between low-power mode ( 0- 1.2V single ended) and High-speed mode ( 0.1 - 0.3V differential) on the same pin;
目前在16nm器件最高支持2500Mbps DPHY,7nm Versal上支持3200Mbps DPHY,無(wú)需外部電阻網(wǎng)絡(luò)和電平轉(zhuǎn)換芯片,在內(nèi)部HPIO bank集成。
在16nm和7nm DPHY IP上,LP mode和HS mode使用相同IO傳輸,而在28nm,受限于接口電平等因素,DPHY IP在LP mode和HS mode使用的是分離的引腳。
4. CSI/DSI 協(xié)議層實(shí)現(xiàn)在AMD Xilinx FPGA
MIPI CSI RX, CSI TX 和DSI TX 從Vivado 2020.1開始,不再需要License,屬于Free IP,包含了PHY層和協(xié)議層,另外也單獨(dú)提供DPHY IP,客戶可定義自己的協(xié)議層,合作伙伴也提供第三方IP,帶來(lái)更多的應(yīng)用場(chǎng)景定制性,比如Northwest,Mixel之類。
CSI2/DSI結(jié)構(gòu)類似于以太網(wǎng)的分層結(jié)構(gòu),以CSI結(jié)構(gòu)為例:
PHY layer為物理層,通過控制時(shí)鐘以及數(shù)據(jù)通道信號(hào)的電平值,實(shí)現(xiàn)低速模式(low power,或者說(shuō)低功耗模式)與高速模式(high speed)的切換。
lane management layer負(fù)責(zé)檢測(cè)各通道(lane)低速模式到高速模式的跳變,并檢測(cè)高速數(shù)據(jù)的同步頭(HS ...00011101...序列),進(jìn)一步將各通道的同步頭對(duì)齊到字節(jié),最終各通道的同步頭實(shí)現(xiàn)對(duì)齊。
low level protocol layer,按照csi2協(xié)議,解析出幀起始(Frame Start,F(xiàn)S)短包、視頻數(shù)據(jù)長(zhǎng)包、以及幀結(jié)束(Frame End,F(xiàn)E)短包,輸出圖像數(shù)據(jù)、幀有效、數(shù)據(jù)有效。
byte to pixel unpack format層負(fù)責(zé)將基于字節(jié)的數(shù)據(jù),按照協(xié)議,還原成各顏色空間/格式的像素?cái)?shù)據(jù),比如rgb565,raw10等格式。
MIPI典型應(yīng)用
MIPI典型應(yīng)用是在ISP領(lǐng)域,CMOS senor輸出視頻流,給FPGA PHY層,串并轉(zhuǎn)換后給協(xié)議層處理。
處理后的圖像數(shù)據(jù)會(huì)在FPGA裸機(jī)里使用custom ISP,比如濾波,平滑,壓縮,檢測(cè)之類,在壓縮時(shí)多用到的H.264/265已在ZU的EV系列支持,檢測(cè)時(shí)除了傳統(tǒng)的CV算法,也會(huì)加入客戶定義的機(jī)器學(xué)習(xí)的一些算法,這個(gè)在DPU+Vitis AI里進(jìn)行了支持。
下圖是幾種典型的應(yīng)用場(chǎng)景,參考設(shè)計(jì)提供在Xilinx Wiki。
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/174719104/Zynq+Ult...
EP4SE230F29I4
EP4SE230F29C4
EP4SE230F29I3
EP4SE230F29C2N
EP4SE230F29C4N
EP4SE230F29I4N
XC3S4000-4FG676C
XC3S4000-4FG676I
XC3S4000-5FG676I
XC3S4000-5FG676C
XC3S4000-4FGG676I
XC3S4000-5FGG676I
EP4SGX180FF35I4
EP4SGX180FF35C3
EP4SGX180KF40I4N
EP4SGX230KF40I3N
XQ6VLX240T-2RF1759I
XC7A200T-2FBG676I
XC7A200T-3FF1156E
XC7A200T-1FF1156I