MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

MIPI2.5G DPHY TX demo移植 -v2

近陆续有客户在评估易灵思的Ti180。Ti180的MIPI 2.5G是硬核。今天做一个简单的移植来试验下MIPI DSI 驱屏。

================================

MIPI 2.5G DPHY简介

===============================

Ti180有4组MIPI 2.5G DPHY,每组是4组数据和一个时钟。

支持MIPI DPHY 1.2版本协议

支持ULPS.

支持连续与非连续时钟模式。

支持反向传输。

===============================

MIPI TX 参考时钟来源?

==============================

MIPI TX的参考有GPIO,PLL输出和core三个来源。

图片[1]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

(1)如果是GPIO 输入,请参考pinout设计文件里有一栏Hard Block PLL REFCLK.就是指如果硬件如果参考时钟从外部供给时指定的管脚。这是在硬件设计时需要注意的,需要提前规划好时钟的来源。

图片[2]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

(2)如果把时钟参考设置为PLL又应该怎么使用,明显IP核上并没有给出任何设置PLL参考源的选项。PLL的参考只能是固定的。当我们选择PLL的时候,下图的Resource会指定需要用那个PLL,如下图的PLL_TL1,这时我们就必须要使用PLL_TL1,但是选择的是PLL_TL1的输出的那个时钟呢?在下图的Instance后面还是空白的。

图片[3]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

于是我们新建一个PLL_TL1,并把所有的输出时钟都打开。

图片[4]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

当我们再次查看DPHY的参考时,发现Instance已经不再为空,因为是指定了pll_inst__CLKOUT3.说明用的是PLL_TL1的clk_out3,所以在设计时也要注意对该时钟的规划。

图片[5]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

(3)如果时钟选择Core呢?这时时钟可以手动输入想选择的时钟,无论是从GCLK输入的还是PLL输出的。

图片[6]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

另外需要提醒要注意时钟频率的选择哦。

=================================

如果要修改速率DPHY部分应该做什么呢?

================================

(1)修改PHY Bandwidth参数。

图片[7]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

(2)在Timing中也可以确认

图片[8]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

(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。

图片[9]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

================================

复位处理:

================================

(1)DSI TX IP是有initial时间的,所以要等待initial时间过后再配置寄存器才能发送出去。

(2)video输出复位要在寄存器配置完成之后才能释放。

================================

寄存器配置:

================================

Ti180的寄存器配置与Ti60一样,易灵思提供了一个DSI porch cal.xlsx表,输入想要配置的timing生成IP核的配置参数;

另外,屏的配置要根据屏厂提供的相关资料来使用,这是因为寄存器的命令会有很大差异。具体怎么使用晚些时间再更新。

================================

移植说明:

================================

该demo是MIPI DPHY 4lane 1G输出。内部产生了一个彩条。

(1)MIPI屏速率是1Gbps 4 lane.

(2)分辨率是1920×1080

(3) demo来自易灵思提供的DSI TX demo。

(4)目前demo板没有预留MIPI的GPIO参考,为了方便就直接通过Core时钟来驱动(PLL输入还是要指定位置的),实际这个时钟也是从PLL输出的。

(5)屏使用的是易灵demo板中提供的手机屏。

图片[10]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

(3)目前MIPI DSI TX IP里面有两个参数,clk_byte_HS和phy_clk_byte_HS,而且文档明确说明clk_byte_HS是phy_clk_byte_HS的2倍。如果在DPHY中把数据总线位宽修改成16位,还必须是2倍关系吗?

图片[11]-MIPI2.5G DPHY TX demo移植 -v2-易灵思(Elitestek)社区-FPGA CPLD-ChipDebug

.clk_byte_HS (dphy_byte_clk ),
.clk_pixel          (i_sysclk),
.phy_clk_byte_HS    (mipi_dphy_tx_pclk),

=================================

注意:

(1)如果使用易灵思原厂提供的demo板评估,要连接R171,这个是LCD屏的复位信号 。

(2)屏的参数与IP的参数目前共用。

 

更新说明

-v2:

(1)增加了屏复位和寄存器配置说明。

(2)使用聚1080p60LCD 

 

请登录后发表评论

    没有回复内容