Lattice CrossLink-Nx LIFCL-40应用连载8:MIPI DSI接口驱动LCD显示器

作者:Hello,Panda

一、案例需求

使用LIFCL-40-7MG121I FPGA的MIPI DSI硬核接口驱动7寸LCD显示器:

(1)显示器:7寸,1024*600横屏,60Hz;

(2)MIPI物理层:4-Lane,600Mbps/lane(最大可支持3840*2160分辨率30Hz,1920*1200分辨率120Hz,最大支持2.5Gbps/lane速率);

(3)DSI:支持突发模式,24-bpp RGB数据;

(4)代码:全手写,不使用Lattice官方IP核。

二、硬件电路

采用LIFCL-40基础视觉开发平台,由FPGA产生本地测试图像,接口电路见下图1所示。

图1 MIPI DSI LCD驱动接口

如上图所示,MIPI DSI数据通道为4-lane MIPI D-PHY,LCD_RST_3V3为LCD复位信号,低电平复位;LCD_PWM_3V3为背光驱动信号,10~20KHz PWM信号。

三、软件设计

软件使用Radiant3.2开发,软件的整体结构如下图2所示。

 图2 驱动LCD软件结构

(1)片上晶振产生50MHz时钟给MIPI D-PHY物理层内部的PLL产生300MHz的源同步时钟和75MHz的字节时钟;

(2)核心板外部50MHz产生65MHz视频时钟,用于产生1024*600 60Hz的视频时序和产生测试数据;

(3)产生的数据经FIFO后给u_dsi_nocil_4lane_inst模块发送到MIPI物理层模块u_mipi_dsi_phy_inst进行串行化发出;

(4)DSI模块u_dsi_nocil_4lane_inst用于产生符合MIPI D-PHY物理层规范的长短包发送时序。

 在开机后,延时200ms以上等待LCD显示屏初始化完毕后再发送Turn On Peripheral Command和Color Mode Off Command短包命令打开设备并进入正常显示模式。

MIPI DSI数据发送模式选择为Burst Mode,如下图3所示。一帧发送一个VSS(帧起始)短帧,其他行发送HSS(行)起始短包,显示数据区域(VACT)行发送实际的RGB-24bpp打包的像素长包数据,其他区域VSA、VBP、VFP区域发送Blanking数据。

 图3 Burst模式时序图

整个工程的代码结构见下图4所示:

 图4 工程代码结构

五、显示效果

如下图所示,将显示器的软排线连接到板子的J7连接器,将bit文件烧入flash,重新上电显示效果见下图5:

图5 显示效果图

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Hello_Panda_

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值