MIPI Dsi的使用相比于CSI多了一些寄存器控制,生成的example直接仿真是可以的,但是修改了参数,一些参数也要做相应的调整。这里我们来做个简单的总结 。
(1)修改配置参数
视频格式如下,可能根据实际的需要进行修改。
parameter MAX_HRES = 16'd1920; parameter MAX_VRES = 12'd4; parameter HSP = 10'd2; parameter HBP = 10'd2; parameter HFP = 10'd246; parameter VSP = 6'd5; parameter VBP = 6'd8; parameter VFP = 6'd32;
修改了参数要在Tianium-mipi-utility文件中验证确保文件没有错误提示。
另外要把Tianium-mipi-utility文件中input fields中的信息替换dsi_tb.mem中的相应信息。这是IP需要的视频格式信息。
另外还在注意在IP中修改所支持的Maximum Horizontal Resolution信息,确认我们测试的行长度小于等于该值。
(2)注意修改相应的时钟
在下面,i_pclk是单像素的时钟。o_pclk对应MIPI接口的像素时钟。
i_sys_clk是MIPI AXI接口的配置时钟。i_mipi_tx_pclk是MIPI发送8位HS数据的并行时钟。
在使用中可能根据设置参数修改i_pclk,o_pclk和i_mipi_tx_pclk;一般不用修改i_sys_clk。
//video生成时钟是125M initial begin i_pclk <= 1'b1; forever #4.00 i_pclk <= ~i_pclk; end //转换成MIPI接口的pixel clock是62.5M initial begin o_pclk <= 1'b1; forever #8.00 o_pclk <= ~o_pclk; end //MIPI配置接口时钟是50M initial begin i_sys_clk <= 1'b1; forever #10 i_sys_clk <= ~i_sys_clk; end //MIPI时是100M initial begin mipi_clk <= 1'b1; forever #5 mipi_clk <= ~mipi_clk; end //数据速率是1000M initial begin i_mipi_tx_pclk <= 1'b1; forever #4 i_mipi_tx_pclk <= ~i_mipi_tx_pclk; end
(3)所设置的参数即要Tianium-mipi-utility在评估通过,还要满足公式
PIX_CLK_MHZ < (DATARATE_MPBS * NUM_DATA_LANE) / PACK_BIT,
这里的PIX_CLK_MHZ就是指Tianium-mipi-utility中的像素时钟,也是单像素时钟。
DATARATE_MPBS是指MIPI的数据速率,并非video的带宽。
NUM_DATA_LANE是指传输所用的lane数
PACK_BIT如下,详细信息请参考MIPI DSI ds。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !