屏幕驱动参数
在驱动中需要配置相关的参数,这些参数就是我们需要关注的,关系到屏幕驱动芯片的一些功能
需要关注内容
- 屏幕有效显示区域,也就是我们所说的屏幕分辨率
- VSYNC(垂直同步信号)VSYNC是用于同步显示其刷新的信号;当VSYNC信号跳变时,显示器就会开始显示新的一帧画面
- Vertical Total(垂直总宽度):下面所有的参数之和
- VSYNC宽(vsync-len,垂直触发信号宽,即VSPW):信号脉冲会有个宽度,需要一定的时间才能够被检测到信号,这个宽度是根据芯片手册来决定的。
- VFP(vfront-porch,垂直前肩期):一帧图片显示完成以后要过多久才会来VSYNC信号。
- VBP(vback-porch,垂直后肩期):VSYNC信号发生以后要过多久才会来图片数据。
- HSYNC(水平同步信号):HSYNC用于同步每行像素的扫描;当HSYNC信号跳变时,显示器会开始扫描下一行像素
- Horizontal Total(水平总宽度):下面所有的参数之和
- HSYNC宽(hsync-len,水平信号触发宽,即HSPW):信号脉冲会有个宽度,要不然都检查不到,这个宽度是根据芯片手册来决定的。
- HFP(hfront-porch,水平前肩期):一行像素显示完成以后要过多久才会来HSYNC信号。
- HBP(hback-porch,水平后肩期):HSYNC信号发生以后要过多久才会来下一行数据。
为什么需要这些参数
- 最主要的参数是VSYNC和HSYNC,它们控制了屏幕从什么时候换行和什么时候扫描完成一帧图片。
-
- VFP和VBP以及HFP和HBP都是辅助这两个信号的,为什么会有这几个辅助信号?因为屏幕反应需要时间,当你给他发VSYNC和HSYNC信号以后他不是马上就开始下一行或者下一帧。
- hsync-len和vsync-len这两个是来决定HSYNC和VSYNC两个信号线触发脉冲时候的宽度,这个宽度要符合屏幕芯片要求值
- hsync-active和vsync-active这两个是来决定HSYNC和VSYNC两个信号触发时候的电平状态,类似于中断配置的高电平触发还是低电平触发
这也就是为什么需要我们对这些值进行修改的原因,不同的屏幕所使用的控制芯片可能也会有所区别,所给到的值也就会有所区别
参数不对会导致什么问题?
- 如果参数不对,最严重的就是只点亮了背光但是没有数据输出(即像素点无法控制),轻一点的就是图像撕裂,闪屏等
刷新率的计算
- 刷新率 = 时钟 / ((总宽度HOrizontal Total) * (总高度 Vertical Total))
- 刷新率 = 时钟 / ((有效宽度 + HSYNC宽(HSPW) + HBP + HFP) * (有效高度 + VSYNC宽(VSPW) + VBP + VFP))
- 刷新率 = 72300000 / ((1366 + 32 + 160 + 48) * (768 + 6 + 32 + 3)) 上面示例图片计算