最近陸續(xù)有客戶在評估易靈思的Ti180。Ti180的MIPI 2.5G是硬核。今天做一個簡單的移植來試驗下MIPI DSI 驅屏。 因為有客戶需要,所以也把程序移植到了公司的demo板上。 框圖如下:
================================
MIPI 2.5G DPHY簡介
===============================
Ti180有4組MIPI 2.5G DPHY,每組是4組數(shù)據(jù)和一個時鐘。
支持MIPI DPHY 1.2版本協(xié)議
支持ULPS.
支持連續(xù)與非連續(xù)時鐘模式。
支持反向傳輸。
================================
MIPI CSI
===============================
CSI的復位 上電之后先釋放reset_n和reset_byte_HS_n,然后就開始了初始化時間,初始化的時間保守為500us,然后sensor端就可以發(fā)送數(shù)據(jù)了。但是在發(fā)送數(shù)據(jù)之前reset_pixel_n要提前有效數(shù)據(jù)的兩個時鐘周期之前釋放。 但實際上電之后,只有復位才能接收,
always@(posedgeclk_pixel ornegedgereset_pixel_n)
begin
if( ! reset_pixel_n )
data_en <=?1'b0;
elseif(&RxStopState)
data_en <=?1'b1;
end
.RxDataHS0 (data_en ?RxDataHS[0]:1'b0),
.RxDataHS1 (data_en ?RxDataHS[1]:1'b0),
.RxDataHS2 (data_en ?RxDataHS[2]:1'b0),
.RxDataHS3 (data_en ?RxDataHS[3]:1'b0),
pixel_clk的頻率是有限制的,
PIX_CLK_MHZ >= (DATARATE_MBPS * NUM_DATA_LANE) / PACK_BIT, ? DATARATE_MBPS:MIPI的數(shù)據(jù)速率; ? NUM_DATA_LANE :MIPI的lane數(shù); ? PACK_BIT:就是Table 12中的Pixel Data Bits per Pixel Clock.
===============================
MIPI TX 參考時鐘來源?
==============================
MIPI TX的參考有GPIO,PLL輸出和core三個來源。
(1)如果是GPIO 輸入,請參考pinout設計文件里有一欄Hard Block PLL REFCLK.就是指如果硬件如果參考時鐘從外部供給時指定的管腳。這是在硬件設計時需要注意的,需要提前規(guī)劃好時鐘的來源。
(2)如果把時鐘參考設置為PLL又應該怎么使用,明顯IP核上并沒有給出任何設置PLL參考源的選項。PLL的參考只能是固定的。當我們選擇PLL的時候,下圖的Resource會指定需要用那個PLL,如下圖的PLL_TL1,這時我們就必須要使用PLL_TL1,但是選擇的是PLL_TL1的輸出的那個時鐘呢?在下圖的Instance后面還是空白的。
于是我們新建一個PLL_TL1,并把所有的輸出時鐘都打開。
當我們再次查看DPHY的參考時,發(fā)現(xiàn)Instance已經(jīng)不再為空,因為是指定了pll_inst__CLKOUT3.說明用的是PLL_TL1的clk_out3,所以在設計時也要注意對該時鐘的規(guī)劃。
(3)如果時鐘選擇Core呢?這時時鐘可以手動輸入想選擇的時鐘,無論是從GCLK輸入的還是PLL輸出的。
另外需要提醒要注意時鐘頻率的選擇哦。
=================================
如果要修改速率DPHY部分應該做什么呢?
================================
(1)修改PHY Bandwidth參數(shù)。
(2)在Timing中也可以確認
(2)修改clk_byte_HS ,該時鐘要求為phy_clk_byte_HS的兩倍。
================================
時鐘方案
================================
該demo中MIPI DSI TX的IP部分時鐘主要如下,
(1)在DPHY中會生成一個phy_clk_byte_HS給DSI TX IP。
(2)同時還會通過PLL輸出一個clk_byte_HS 給DSI TX IP,該時鐘要求是phy_clk_HS的兩倍,demo上這兩個時鐘并不同源。
(3)另外PLL還提供了MIPI TX IP需要的pixel_clk和axi_clk。
================================
復位處理:
================================
(1)DSI TXIP是有initial時間的,所以要等待initial時間過后再配置寄存器才能發(fā)送出去。
(2)video輸出復位要在寄存器配置完成之后才能釋放。
(3) MIPI CSI IP同樣有inital時間,所以要等待initial時間過后才能接收數(shù)據(jù)
================================
寄存器配置:
================================
Ti180的寄存器配置與Ti60一樣,易靈思提供了一個DSI porch cal.xlsx表,輸入想要配置的timing生成IP核的配置參數(shù);
另外,屏的配置要根據(jù)屏廠提供的相關資料來使用,這是因為寄存器的命令會有很大差異。具體怎么使用晚些時間再更新。
================================
移植說明:
================================
該demo是MIPI DPHY 4lane 1G輸出。內(nèi)部產(chǎn)生了一個彩條。
(1)MIPI屏速率是1Gbps 4 lane.
(2)分辨率是1920x1080
(3) demo來自易靈思提供的DSI TX demo。
(4)目前demo板沒有預留MIPI的GPIO參考,為了方便就直接通過Core時鐘來驅動(PLL輸入還是要指定位置的),實際這個時鐘也是從PLL輸出的。
(5)屏使用的是易靈demo板中提供的手機屏。
(3)目前MIPI DSI TX IP里面有兩個參數(shù),clk_byte_HS和phy_clk_byte_HS,而且文檔明確說明clk_byte_HS是phy_clk_byte_HS的2倍。如果在DPHY中把數(shù)據(jù)總線位寬修改成16位,還必須是2倍關系嗎?
.clk_byte_HS (dphy_byte_clk ),.clk_pixel (i_sysclk),.phy_clk_byte_HS (mipi_dphy_tx_pclk),
=================================
注意:
(1)如果使用易靈思原廠提供的demo板評估,要連接R171,這個是LCD屏的復位信號 。
(2)屏的參數(shù)與IP的參數(shù)目前共用。
更新說明
-v2:
(1)增加了屏復位和寄存器配置說明。
(2)使用聚吉鑫科技的1080p60的LCD屏
審核編輯 黃宇
-
MIPI
+關注
關注
11文章
312瀏覽量
48721 -
demo板
+關注
關注
1文章
33瀏覽量
40856 -
DSI
+關注
關注
0文章
52瀏覽量
42382
發(fā)布評論請先 登錄
相關推薦
評論