全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

MIPI dsi TX移植注意事项-update4

时间:2023-05-23 09:51

人气:

作者:admin

标签: DSI  FIFO存储  寄存器  MIPI 

导读:MIPI Dsi的使用相比于CSI多了一些寄存器控制,生成的example直接仿真是可以的,但是修改了参数,一些参数也要做相应的调整。...

MIPI Dsi的使用相比于CSI多了一些寄存器控制,生成的example直接仿真是可以的,但是修改了参数,一些参数也要做相应的调整。这里我们来做个简单总结 。

(1)BANK电压要配置成1.2V

(2)输出要接相应bank的REF_RES管脚。

(3)IP设置关键信号说明

名称 参数 说明
MIPI Parallel Clock frequency 50~187.5 指clk_byte_HS的时钟频率。
IP core frequency 100 指mipi_clk的时钟频率,指定100MHz
Pack Type 48 Enable,Disable 使能表示打开48位的数据类型,比如RGB888,
Packe Type64 Enable,Disable 使能表示打开64位的数据类型,比如RGB565.
如果要全部支持可以同时打开Pack Type48和Packe Type 64
MaximumHorizontalResolution 行像素的最大个数。一定要注意hactive的长度,如果设置不正确可能无画面或者画面偏移。
FIFOPixelDepthSize 最大4096 FIFO的data width是64-bit, MIPIIP里面会缓存2~3行才发出去.所以注意这个值要大于一行的一行数据的2倍或者3倍。
videoTransmission Packet Sequences Non-burst mode
with SyncPulses,
Burst mode,
Non-burst mode
with Sync Events
•Non-Burst Mode with Sync Pulses – 让外设可以精确的重构原始的视频时序,包括同步脉冲宽度。 •Non-Burst Mode with Sync Events –与上述类似,但精确重建同步脉冲宽度不是必需的。 •Burst mode – RGB像素包在时间上有压缩,留出更多的时间用于LP模式,或者用于复用别的传输。

(4)修改配置参数

视频格式如下,可能根据实际的需要进行修改。

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文件中验证,确保文件没有错误提示。

9b2e22e6-f8db-11ed-90ce-dac502259ad0.png

另外要把Tianium-mipi-utility文件中input fields中的信息替换Panel_1080p_reg.mem中的相应信息。这是IP需要的视频格式信息。

9b497c3a-f8db-11ed-90ce-dac502259ad0.png

(5)注意修改相应的时钟

在下面,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

(6)所设置的参数既要在Tianium-mipi-utility在评估通过,还要满足公式

PIX_CLK_MHZ < (DATARATE_MPBS * NUM_DATA_LANE) / PACK_BIT

1)这里的PIX_CLK_MHZ就是指MIPI IP接口的pixel_clk

2)DATARATE_MPBS是指MIPI的数据速率,并非video的带宽。

3)NUM_DATA_LANE是指传输所用的lane数

4) PACK_BIT如下,详细信息请参考MIPI DSI ds。

9b660cba-f8db-11ed-90ce-dac502259ad0.png

(7)复位处理

9b98a7ce-f8db-11ed-90ce-dac502259ad0.png

复位timing

9bb8e0f2-f8db-11ed-90ce-dac502259ad0.png

关于DSI_TX复位处理:

1)reset_n,reset_byte_HS_n和axi_reset_n先释放;

2)等待panel_config的o_confdone拉高,也就是panel_config配置完成

3)通过confdone拉高来释放video_stream的复位

4)confdone可以用于reset_pixel_n,也可以通过video_stream的输出的vs信号,在vs为blank时释放复位。

parameterFRAME_NUM = 5
reg vs_r;
reg     [10:0]  r_vs_cnt;
wire neg_vs;
always@(negedge sys_rst_n or posedge i_sysclk_div_2)
begin
if(!sys_rst_n)
        vs_r    <= 1'b0;
    else 
        vs_r    <= vs;
end 
assign neg_vs = {vs_r,vs} == 2'b10;
always@(negedge sys_rst_n or posedge i_sysclk_div_2)
begin
    if( !sys_rst_n )
        r_vs_cnt    <= 16'b0;
    else if (neg_vs && r_vs_cnt <= FRAME_NUM )
        r_vs_cnt    <= r_vs_cnt + 1'b1;
end 
always@(negedge sys_rst_n or posedge i_sysclk_div_2)
begin
    if (!sys_rst_n)
        reset_pixel_n    <= 1'b0;
    else if (neg_vs && r_vs_cnt == FRAME_NUM-1  ) //  
        reset_pixel_n    <= 1'b1;
end     

(8) MIPI IP接口的timing时序要求如下:

9bcb5b7e-f8db-11ed-90ce-dac502259ad0.png

(9)video接口数据类型格式

视频格式的顺序请参考AN015。

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

example

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

时钟方案

9c34aa98-f8db-11ed-90ce-dac502259ad0.png

复位方案

9c52dd6a-f8db-11ed-90ce-dac502259ad0.png




审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信