手上有一块2410的板子, LCD是YL-LCD35. 写一个驱动分析,为自己做一个技术笔记,供以后参考.

2410具有片内LCD控制器, 写好一个lcd的驱动,最重要的就是做好内部寄存器的配置. 2410支持STN和TFT两种LCD, 最高支持24bpp显示.

上面这幅图是2410 datasheet上截取下来的. 它是2410LCD驱动器的内部框图.

REGBANK是寄存器组. 需要开发人员手动配置的寄存器都在这里面.下面会有详细说明

LCDDMA 是LCD驱动器的专用DMA. 有了DMA就可以和外设直接交换数据,不占用CPU.

TIEMGEN 和LPC3600用来产生和时序有关的控制信号.

VIDPRCS类似于一种介于LCDDMA和外设间数据缓冲区.

从这上图也可以看出, 2410的驱动器主要做两件事: 一是产生必要的时序控制信号. 二产生视频数据信号.而这件事都是通过配置REGBANK里的寄存器完成的.

做过LCD驱动开发的人都清楚, 时序对像LCD这种慢显示器件是最重要的. 我在这里主要讲一下时序方面的配置, 其它比如数据信号,地址指针等比较简单, 看一下datasheet很容易明白. 这里不做叙述.

关于时序, 下面几个信号要介绍一下:

VCLK 是像素时钟信号,可以把它当做LCD的时钟信号.

VSYNC是帧同步信号.也就是说VSYNC每发一脉冲就有一个新的视频信号开始传送.

HSYNC是行同步信号.

VDEN数据发送使能信号.

LEND 行结束信号.

对上面几个信号有了初步的认识之后, 就可以看下面的两幅图了. 第一幅图是TFT液晶的一个典型的时序图, 第二幅图是YL-LCD35这款LCD的时序图

图1

图2

对比两幅图, DOTCLK相当于VCLK, 图2的第二行标有”1 Horizonital Period”的相当于图1的HSYNC。 同理可得到其它信号的对应关系. 在图1中, VBPD,VFPD, VSPW信号是回扫时间,这是为了兼容以前的CRT显示器而保留的(HSYNC类似). 配置好这些信号也就等于配置好VSYNC了.  VCLK是由HCKL和LCDCON1寄存器决定的. 具体公式如下:

VCLK = HCLK / [(CLKVAL+1) ´ 2]

示例代码如下:

#define VBPD_320240     (4)     //垂直同步信号的后肩#define VFPD_320240     (4)     //垂直同步信号的前肩#define VSPW_320240     (4)     //垂直同步信号的脉宽#define HBPD_320240     (13)    //水平同步信号的后肩#define HFPD_320240     (4)     //水平同步信号的前肩#define HSPW_320240     (18)    //水平同步信号的脉宽rLCDCON1 = (CLKVAL_TFT_320240<<8) | (0<<7) | (3<<5) | (12<<1) | 0;rLCDCON2 = (VBPD_320240<<24) | (LINEVAL_TFT_320240<<14) | (VFPD_320240<<6)| (VSPW_320240);rLCDCON3 = (HBPD_320240<<19) | (HOZVAL_TFT_320240<<8) | (HFPD_320240);rLCDCON4 = (13<<8) | (HSPW_320240);rLCDCON5 = (1<<11) | (1<<10) | (1<<9) | (1<<8) | (0<<7) | (0<<6)| (1<<3)  |(BSWP<<1) | (HWSWP);

基于s3c2410的YL-LCD35液晶驱动的分析相关推荐

  1. 基于s3c2440的12864液晶驱动

    基于s3c2440的12864液晶驱动 12864是12864点阵液晶模块的点阵数简称,业界约定俗成的简称. 一.液晶显示模块概述 12864A-1 汉字图形点阵液晶显示模块,可显示汉字及图形,内置 ...

  2. 基于S3C2410的触摸屏驱动程序设计

    基于S3C2410的触摸屏驱动程序设计   作者:沈阳农业大学 关键词:  ADS7843  S3C2410  触摸屏  嵌入式Linux  消费电子  触摸屏  消费电子 摘要: 本文介绍了基于三星 ...

  3. 基于AX7020的petalinux生成并驱动液晶屏(071)

    基于AX7020的petalinux生成并驱动触摸屏(071) 环境 Ubuntu14.04.触摸屏AN071 vivado 2015.4.petalinux 2015.4.黑金 zynq 开发板 A ...

  4. 【连载】【FPGA黑金开发板】Verilog HDL那些事儿--12864(ST7565P)液晶驱动(十三)...

    声明:本文为原创作品,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 4.2 ...

  5. 【连载】【FPGA黑金开发板】Verilog HDL那些事儿--12864(ST7565P)液晶驱动(十三)

    声明:本文转载于http://www.cnblogs.com/kingst,版权归akuei2及黑金动力社区(http://www.heijin.org)共同所有. 4.2 实验十二:12864(ST ...

  6. linux内核usb驱动框架,基于S3C2440平台的linux2.6.22内核版本的USB驱动框架分析

    基于S3C2440平台的linux2.6.22内核版本的USB驱动框架分析 发布时间:2014-07-18 16:47:31来源:红联作者:linux08071151 driver/usb/host/ ...

  7. UT2416 wince 6.0 调试LCD35 触摸驱动参考

    UT2416 wince6.0 调试LCD35 触摸屏驱动参考 硬件平台:UT2416BV02  [友坚恒天ARM开发平台] 软件平台:wince6.0           [友坚恒天wince6.0 ...

  8. 【连载】【黑金动力社区原创力作】《液晶驱动与GUI 基础教程》 --序言(一)

    声明:本文为原创作品,版权归黑金动力社区(http://www.heijin.org)所有,如需转载,请注明出处http://www.cnblogs.com/kingst/ 大家好,我是XiaomaG ...

  9. linux设备驱动程序jd,Linux设备驱动程序学习(基于2440的GPIO字符设备驱动)

    基于2440的GPIO字符设备驱动及应用程序是针对2440型号的底板的驱动及测试应用程序,详细情况请见底板的PCB图. S3C2440提供130 路复用的IO口线,分为如下端口进行管理: - Port ...

最新文章

  1. AngularJS转换请求内容
  2. 浙江大学计算机考研大纲,2018年浙江大学研究生入学考试《计算机学科专业基础》(878)考试大纲...
  3. SpringCloud服务消费者第一次调用出现超时问题的解决方案
  4. 多线程编程(9)Barrier
  5. python需要变量命名规则_和孩子一起学习python之变量命名规则
  6. URL、Session、Cookies、Server.Transfer、Application和跨页面传送。
  7. xjc java_xjc命令转换成java类乱码
  8. 在CentOS上搭建PHP服务器环境(可用)
  9. ckeditor复制html样式丢失,Ckeditor选择html无法正常使用铬浏览器
  10. xib中的label加边框
  11. Jsf + Spring + Hibernate项目中引用的包
  12. Ubuntu系统---C++之Eclipse IDE 编译器安装
  13. [CodeForces 372A] Counting Kangaroos is Fun
  14. python爬虫入门案例,持续更新
  15. HTTP Live Streaming直播
  16. 阿里云 搭建flink 后 web界面可以访问 但是没有task manager节点存活
  17. 程序员必学的职场人际关系22原则
  18. Asp.Net Core3.1-集成Hangfire
  19. 商品期货基本面研究纲要
  20. leetcode 1567 替换所有问号

热门文章

  1. pytorch实现lstm分类模型
  2. CAD图纸如何免费导出成Word文档?
  3. Java考试案例-列出101至200之间的质数
  4. C/C++函数传递二维数组
  5. 【计算机网络自顶向下方法】往返时间评估(EstimatedRTT和DevRTT)和超时间隔(TimeoutInterval )
  6. IIS Rewrite 下载与配置
  7. 高中计算机会考操作题素材,2021高中信息技术 操作题 (练习二) 精品
  8. 电商平台-搜索模块的设计与架构
  9. 软考(软件设计师)考点总结 -- 超详细整理
  10. 60深度解密六十:利用互联网精准找到企业负责人的联系方式