打印
[FPGA]

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

[复制链接]
750|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
作者:Hello,Panda
一、       案例需求
使用LIFCL-40 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-bppRGB数据;
(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 PeripheralCommand和Color ModeOff Command短包命令打开设备并进入正常显示模式。
MIPI DSI数据发送模式选择为Burst Mode,如下图3所示。一帧发送一个VSS(帧起始)短帧,其他行发送HSS(行)起始短包,显示数据区域(VACT)行发送实际的RGB-24bpp打包的像素长包数据,其他区域VSA、VBP、VFP区域发送Blanking数据。
图3 Burst模式时序图
整个工程的代码结构见下图4所示:
图4 工程代码结构
四、       显示效果
如下图所示,将显示器的软排线连接到板子的J7连接器,将bit文件烧入flash,重新上电显示效果见下图5:
图5 显示效果图


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:Hello,Panda

29

主题

63

帖子

5

粉丝