目录
一、LCD液晶显示屏
(一)显示屏详解示意图
二、硬件准备
(一)屏规格书
(二)驱动主板
(三)屏线
(二)屏规格书(DV490FHM-NV4)----(软件配置部分)
(1):开关机时序
(3):屏的Timeing参数(配屏重要参数)
三、软件准备
(一)定义一个新枚举类型的屏参
(二)添加/导入新屏的参数(规格书)
(1):参考结构体类型定义
(三)软件选择新的屏型号
(四)make编译/升级点屏
一、LCD液晶显示屏
(一)显示屏详解示意图
参考博客:显示屏原理

| Hor.Sync:一个行同步信号,代表一行像素。 |
| Ver.Sync:一个场同步信号,代表一帧画面。 |
| VW:VerticalSync Width(垂直同步信号宽度) |
| 有效像素:正常看到的显示画面,也叫有效数据。 |
| Hact:Horizontal Active(屏分辨率的宽:1920) |
| Vact:Vertical Active(屏分辨率的高:1080) |
| VBP:Vertical Back Porch(垂直后肩:垂直同步信号开始到第一行有效水平信号开始之间的无效行数) |
| VFP:Vertical Front Porch(垂直后肩:最后一行有效水平信号后结束,到下一帧垂直同步信号开始之间的无效行数) |
| VBlank:VW+ VBP+ VFP(垂直消隐)每次画完一帧有效图像之后,都要重新回到屏幕左上角准备画下一帧有效画面的第一行,这之间有一部分无效的行数叫做垂直消隐。 |
| HW:HorizontalSync Width(水平同步信号宽度) |
| HBP:Horizontal Back Porch(水平后肩:从水平同步信号开始,到一行有效像素开始之间的无效数据个数) |
| HFP:Horizontal Front Porch(水平前肩:从一行有效数据结束,到下一行水平同步信号开始之间的无效数据个数) |
| HBlank:HW+ HBP+ HFP(水平消隐)每一行的开始都是从左到右画像素,每画完一行有效像素,画下一行前要先回到左边并做好画下一行像素的准备,这之间有一部分无效的像素就是水平消隐。 |
| Htotal = Hact + HBlank(行信号的全数据) |
| Vtotal = Vact + VBlank(场信号的全行数) |
二、硬件准备
(一)屏规格书

从规格书所得:这是一款12V、1920x1080分辨率,8bit、两路LVDS、PWM调光方式的屏;
(二)驱动主板
点屏电压12V
(三)屏线
双8bit屏线
(二)屏规格书(DV490FHM-NV4)----(软件配置部分)
(1):开关机时序


结论:这部分的时序图,需要掌握看屏的开屏时序T2、T3、T7时间,以及关屏时序T8、T4时间。至于T1时刻则需要更改硬件,软件代码上是不可控的,T5时间基本是忽咧不看。
(3):屏的Timeing参数(配屏重要参数)

参数说明:
HTotal:一行总数据
VTotal:一帧画面总行数
HBlank:行信号的无效行数(无效数据)
VBlank:场信号的无效列数(无效数据)
H(Display Perriod / Active):屏宽分辨率(有效数据)----屏LVDS确定是2路通道,则该宽分辨率x2
V(Display Perriod / Active):屏高分辨率(有效数据)
DCLK:像素时钟
DCLK =Htotal×Vtotal×VFreq×Q
HTotal=屏宽分辨率(Display Perriod / Active)+行的无效数据(HBlank)
VTotal=屏高分辨率(Display Perriod / Active)+场的无效数据(VBlank)
三、软件准备
(一)定义一个新枚举类型的屏参
路径:devicepanelincludepanel.h
路径:devicepanelpanel.c
(二)添加/导入新屏的参数(规格书)
(1):参考结构体类型定义


结构体成员详解:
| #define PanelName "屏的名字" //定义Panel的名字 |
| #define PanelDither 0 //屏的bit数设置 |
| #define PanelDualPort 0xff //通道设置(0:单口,0xff:双口) (一般查看规格书可以确定是否2路LVDS,Dual channel LVDS确定是2路通道) |
| #define PanelSwapPort 0 //AB双口切换 (如果此屏为单口,则这个值一定要置0, 双口就无所谓) |
| #define PanelSwapOddML 0 //高低位odd极性切换 #define PanelSwapEvenML 0 //高低位even极性切换 (参数不对,会出现蒙了一层沙的画面) |
| #define PanelSwapOddRB 0 //红蓝odd极性切换 #define PanelSwapEvenRB 0 //红蓝even极性切换 (参数不对,会出现红色和蓝色颜色相反的画面) |
| #define LVDS_TIMode 0xff //代表2种数据格式(0:JEIDA标准,0xff:VESA标准) (规格书没有标识,一般三星屏配JEIDA标准,其他厂家屏配VESA标准 ,设置不对会花屏) |
| //LVDS的正负信号(即P/N信号)交换 |
| #define PANEL_SWAP_PN 0 (根据硬件来配置,一般配置不对点不亮屏) |
| //屏的时钟和极性,仅在TTL接口信号使用 |
| #define PanelDClkDelay 8 |
| #define PanelInvDE 0 |
| #define PanelInvDClk 0 |
| #define PanelInvHSync 0 |
| #define PanelInvVSync 0 |
| //屏相关电流选择 |
| // driving current setting:0==>4mA, 1==>6mA, 2==>8mA ,3==>12mA |
| #define PanelDCLKCurrent 1 // Dclk current |
| #define PanelDECurrent 1 // DE signal current |
| #define PanelOddDataCurrent 1 // Odd data current |
| #define PanelEvenDataCurrent 1 // Even data current |
| //开机时序 |
| #define PanelOnTiming0 10 // time between |
| #define PanelOnTiming1 30 //time between panel & data while turn on power |
| #define PanelOnTiming2 250 //time between data & back light while turn on power |
| //关机时序 |
| #define PanelOffTiming1 300 //time between back light & data while turn off power |
| #define PanelOffTiming2 40 //time between data & panel while turn off power |
| #define PanelOffTiming0 1100 // time between |
| #define PanelHSyncWidth 40 //行同步信号的宽 |
| #define PanelHSyncBackPorch 40 //行同步信号的后肩 |
| #define PanelVSyncWidth 6 //场同步信号的宽 |
| #define PanelVSyncBackPorch 21 //场同步信号的后肩 |
| #define PanelHStart (PanelHSyncWidth + PanelHSyncBackPorch) //行有效信号的开始 |
| #define PanelVStart (PanelVSyncWidth + PanelVSyncBackPorch) //场有效信号的开始 |
| #define PanelWidth 1920 //分辨率宽,(960x2=1920) |
| #define PanelHeight 1080 //分辨率高 |
| #define PanelHTotal 2100 //一行总数据,(1050x2=2100) |
| #define PanelVTotal 1130 //一帧总行数 |
| #define PanelMaxHTotal 3356 //HTotal最大值,(1678x2=3356) |
| #define PanelMinHTotal 2000 //HTotal最小值,(1000x2=2000) |
| #define PanelMaxVTotal 1836 //VTotal最大值 |
| #define PanelMinVTotal 1094 //VTotal最小值 |
| #define PanelDCLK 142 //时钟,(71.2x2=142) |
| #define PanelMaxDCLK 180 //时钟最大值,(90x2=180) |
| #define PanelMinDCLK 108 //时钟最小值,(53.7x2=108) |
参数说明:上述所提及屏规格书的参数一一导入①-⑤相应的位置;
(三)软件选择新的屏型号

(四)make编译/升级点屏
最后
以上就是多情睫毛膏最近收集整理的关于第二课:Mstar-Non-OS方案(二)——驱动LVDS显示屏 一、LCD液晶显示屏二、硬件准备 三、软件准备的全部内容,更多相关第二课内容请搜索靠谱客的其他文章。
发表评论 取消回复