文章目录

  • lcd 控制器的模式配置
  • rgb 接口 时序
  • dma 配置
  • lcd 调试要点

lcd 控制器的模式配置

  1. 接口配置
    soc lcd controller 一般都支持多种的 Lcd 接口, 如 dumb LCD panel (rgb ) , smart LCD panel , mipi ,lvds , 等等 ,rgb 接口对应的就是 dumbpanel 模式,
  2. rgb 接口还需要配置数据线个数 ,如 24 ,18 16 ,8 等 ,
  3. linux framebuffer 的单点数据格式, 以及rgb 的顺序。

rgb 接口 时序

lcd 的时序是lcd 能否正常显示的关键 ,由 hsync vsysnc de pclk 来控制lcd的 刷新频率和时序,需要配置的时序如下
hbp ,hfp vfp,vbp hspw ,vspw,hactive,vactive;
pclk :一个pclk 传送一个像素的数据
所以
一行的freq : pclk_freq/ (hbp+hfp+hspw+hactive)

frame_rate = pclk_freq /((hbp+hfp+hspw+hactive)*(vfp+vbp+vspw+vactive)

VSPW:帧同步信号的脉宽,单位为1行(Line)的时间。即行同步信号的个数

VFPD: 帧同步信号的前肩,单位为1行(Line)的时间。如上

VBPD: 帧同步信号的后肩,单位为1行(Line)的时间。如上

LINEVAL :帧显示尺寸-1,即屏行宽-1,对于800*480分配率的LCD屏,那么LINEVAL=480-1=479,请记住,是屏行宽,也就是LCD屏显示一帧数据所需要的行的数目。
HBPD:行同步信号的后肩,单位为1pCLK的时间。

HFPD:行同步信号的前肩,单位为1pCLK的时间。

HSPW:行同步信号的脉宽,单位为1pCLK的时间。
hactive,vactive 分别为为行有效像素,和一帧的有效行个数。即屏的分辨率的宽

有些控制器还可以配置 vsync 同步信号的脉宽上下沿的建立时序(以clk 周期为单位)

dma 配置

lcd控制器会根据上面说的帧率(也就是刷新率)从某个地址搬运一帧数据刷到lcd 的rgb输出信号上,因此至少需要配置数据起始地址和大小。有些控制器可以采用Pingpongbuffer,那就需要配置两个地址。

lcd 调试要点

  1. lcd 白屏的几种可能 ,
    1.初始化未成功(对于有些需要通过spi 初始化的lcd 来说);2 .lcd rgb 时序问题也有可能造成白屏问题。

  2. rgb时序需要和屏的初始化参数一致,lcd 时序盲目照搬参考的时序不可取,因为不同平台clk 时钟频率一般无法做到一模一样。最好可以写一个动态遍历不同时序(参考lcd 规格书上的时序有限范围)的测试程序,来找到适配的时序。

  3. 时钟频率要设对, 太快,LCD反应不过来,显示不了,太慢也不合适,这个范围可以根据你的刷新率需求和lcd 的规格书(一般会有一个最少响应周期)来确定

rgb 接口lcd 驱动调试相关推荐

  1. LCD驱动调试中部分常见问题的分析及解决办法

    点击打开链接http://www.52rd.com/Blog/Detail_RD.Blog_DamonKabo_30355.html 点击打开链接 http://blog.csdn.net/color ...

  2. LCD驱动调试以及Framebuffer

    内容提要: 1. android display相关的名词 2. 调试LCD驱动需要注意的步骤 3. 关于帧缓冲区及I/O内存 ------------------------------------ ...

  3. LCD驱动调试分享——基于Qualcomm MSM8996平台Android7.1

    LCD 分为LK 和kernel 两部分移植 首先要准备以下东西:屏IC 规格书,初始化代码,硬件原理图  屏IC 规格书->获得时序等数据 初始化代码 ->获得初始化屏幕ic的命令,用于 ...

  4. MCUXpresso开发RT1060(1)——使用RGB接口LCD

    一.开发环境 1.TencentOS物联网开发套件,MCU为RT1060 2.IDE:MCUXpresso v11.4.1 3.屏幕为微雪4.3寸IPS屏幕,RGB888接口 二.使用MCUXpres ...

  5. linux图形界面抖动,Linux下RGB接口LCD显示屏移植杂点抖动问题解决

    处理器:IMX6Q 操作系统:Linux 3.14.28 LCD接口:RGB24bit+SPI 显示屏型号:TM043YDHG30-40 问题描述: SPI设置完参数给显示屏后,屏幕可以显示图片.亮度 ...

  6. Linux下RGB接口LCD显示屏移植杂点抖动问题

    处理器:IMX6Q 操作系统:Linux 3.14.28 LCD接口:RGB24bit+SPI 显示屏型号:TM043YDHG30-40 问题描述: SPI设置完参数给显示屏后,屏幕可以显示图片.亮度 ...

  7. linux lcd驱动调试 echo dev/fb0,LCD驱动程序 - osc_msmij2gf的个人空间 - OSCHINA - 中文开源技术交流社区...

    LCD驱动程序 假设 app: open("/dev/fb0", ...) 主设备号: 29, 次设备号: 0 kernel: fb_open int fbidx = iminor ...

  8. JZ linux lcd驱动调试

    1.配置使用的屏文件,对应引脚 2.修改屏参数 struct lcdc_data lcdc_data = {.name = "gl0700",.refresh = 60,.xres ...

  9. 高通-LCD驱动框架简述

    LCD驱动框架简述 目录 一 LCD硬件结构框架 二 不同的硬件结构LCD的驱动框架简述 三 RGB接口LCD驱动简述(以户外手机(Android5.1)为例) 3.1 硬件线路框架 3.2 软件驱动 ...

最新文章

  1. 我的Android进阶之旅------Java字符串格式化方法String.format()格式化float型时小数点变成逗号问题...
  2. 使用electron-vue搭建桌面应用程序项目
  3. Java的知识点5——扩展赋值运算符、 关系运算符、 逻辑运算符、字符串连接符、 条件运算符
  4. c++ Linux中查找查找文件夹中的所有文件
  5. Android SQL删除表、清空表
  6. 动态规划:最长上升子序列(二分算法 nlogn)
  7. SDP的fmtp部分
  8. 计算机基础知识及键盘熟悉实验报告,微型计算机组成和键盘操作 实验报告
  9. Linux局域网多人聊天软件
  10. 重庆理工大学c语言实验答案,重庆理工大学C语言实验答案.doc
  11. paraview打开黑屏_ParaView使用指南---ParaView-1.4-使用指南.pdf
  12. qtoolbutton设置图标大小及文字位置
  13. Python地理做图——学习笔记
  14. node.js解析word文档
  15. Greenplum 优化 - 分布式键,重建索引,序列
  16. 数字2DPSK频带传输系统的设计(文内附完整代码)
  17. 小x与三角形 c语言 1秒,[2019年第一水] 小x与神牛
  18. rtp server
  19. Linux C编程之十六 网络编程基础-socket
  20. 如何搭建企业邮箱服务器

热门文章

  1. 如何将一个应用添加开机启动项
  2. 上海市居住证积分提交材料
  3. 如何把小程序游戏运行到自有app中?
  4. TableauBDP,哪个才是最适合中国用户的数据可视化分析工具?
  5. mac硬盘故障升级系统_硬件升级:如何安装新硬盘,第2页,故障排除
  6. python爬取公众号文章如何获取发布时间
  7. 《Web全栈工程师的自我修养》读后感
  8. 关于美团、饿了么外卖优惠券公众号的设计思路
  9. enovia使用富文本小结
  10. ios 视频处理详解一(视频导出)