1 / 30

ARM嵌入式体系结构与接口技术 第12章 LCD接口设计

ARM嵌入式体系结构与接口技术 第12章 LCD接口设计. 课程安排 :. 第1章 嵌入式系统基础知识 第2章 ARM技术概述 第3章 ARM的指令系统 第4章 ARM汇编语言程序设计 第5章 ARM Realview MDK集成开发环境 第6章 GPIO编程 第7章 ARM异常中断处理及编程 第8章 串行通信接口. 课程安排 :. 第9章 存储器接口 第10章 定时器 第11章 A/D转换器 第12章 LCD接口设计 第13章 温度监测仪开发实例. 本章课程:. 12.1 LCD控制器 12.2 接口电路与程序设计 12.3 小结

hoshi
Download Presentation

ARM嵌入式体系结构与接口技术 第12章 LCD接口设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARM嵌入式体系结构与接口技术第12章 LCD接口设计

  2. 课程安排: • 第1章 嵌入式系统基础知识 • 第2章 ARM技术概述 • 第3章 ARM的指令系统 • 第4章 ARM汇编语言程序设计 • 第5章 ARM Realview MDK集成开发环境 • 第6章 GPIO编程 • 第7章 ARM异常中断处理及编程 • 第8章 串行通信接口

  3. 课程安排: • 第9章 存储器接口 • 第10章 定时器 • 第11章 A/D转换器 • 第12章 LCD接口设计 • 第13章 温度监测仪开发实例

  4. 本章课程: • 12.1 LCD控制器 • 12.2 接口电路与程序设计 • 12.3 小结 • 12.4 思考与练习

  5. 12.1 LCD控制器 • 12.1.1 LCD控制器介绍 • 液晶屏(LCD:Liquid Crystal Display)即人们常说的液晶显示器 • 液晶显示屏按显示原理分为STN 和TFT 两种: • STN(Super Twisted Nematic,超扭曲向列)液晶屏 • 单色液晶屏及灰度液晶屏都是STN 液晶屏 • TFT(Thin Film Transistor,薄膜晶体管)彩色液晶屏 • 现在大多数笔记本电脑都使用TFT显示屏,也常用于主流台式显示器 • 液晶屏的显示要求设计专门的驱动与显示控制电路 • 驱动电路包括提供液晶屏的驱动电源和液晶分子偏置电压,以及液晶显示屏的驱动逻辑;显示控制部分可由专门的硬件电路组成,也可以采用集成电路(IC)模块

  6. 12.1 LCD控制器 • 12.1.2 S3C2410X LCD控制器介绍 • S3C2410X LCD 控制器用于传输显示数据和产生控制信号,支持屏幕水平和垂直滚动显示,数据的传送采用DMA(直接内存访问)方式 ,支持STN和TFT显示器

  7. 12.1 LCD控制器 • 12.1.2 S3C2410X LCD控制器介绍 • 1、STN LCD显示器 • 支持3种类型的扫描方式:4位单扫描,4位双扫描和8位单扫描 • 支持256色和4096色彩色STN LCD • 典型的实际屏幕大小是:640×480,320×240,160×160等 • 最大虚拟屏幕占内存大小为4M字节 • 256色模式下最大虚拟屏幕大小:4096×1024, 2048×2048, 1024×4096等

  8. 12.1 LCD控制器 • 12.1.2 S3C2410X LCD控制器介绍 • 2、TFT LCD显示控制器性能 • 支持1,2,4或8bpp彩色调色显示 • 支持16bpp和24bpp非调色真彩显示 • 在24bpp模式下,最多支持16M种颜色 • 支持多种屏幕大小 • 典型的实际屏幕大小是: 640×480, 320×240, 160×160等 • 最大虚拟屏幕占内存大小为4M字节 • 64K色模式下最大虚拟屏幕大小:2048×1024等

  9. 12.1 LCD控制器 • 12.1.2 S3C2410X LCD控制器介绍 • 3、LCD外部接口信号 • VFRAME/VSYNC/STV:LCD控制器和LCD驱动器之间的帧同步信号 • VLINE/HSYNC/CPV:LCD控制器和LCD驱动器间的同步脉冲信号 • VCLK/LCD_HCLK:此信号为LCD控制器和LCD驱动器之间的时钟信号 • VD[23:0]:LCD像素数据输出端口 • VM/VDEN/TP:对于STN屏来说,它是LCD显示的开关控制信号。对于TFT屏来说,它是数据信号的使能信号 • LEND/STH:行结束信号(通常可以不用使能这个信号) • LCD_PWREN:LCD 电源使能 • LCDVF0:SEC TFT 信号OE • LCDVF1:SEC TFT 信号REV • LCDVF2:SEC TFT 信号REVB

  10. 12.1 LCD控制器 • 12.1.3 S3C2410X LCD控制器操作 • 主要讲解16位色的TFT屏操作方法: • TIMEGEN(脉冲发生器)产生适合LCD 驱动器的各种控制信号,如VSYNC, HSYNC, VCLK, VDEN,和LEND 等信号 • VSYNC 和HSYNC 取决于HOZVAL 与LINEVAL • HOZVAL = (水平显示尺寸) -1 • LINEVAL = (垂直显示尺寸) -1 • VCLK 的速率取决于寄存器LCDCON1 中CLKVAL 的值 • VCLK(Hz) = HCLK/[(CLKVAL+1)x2] • 帧频即为VSYNC信号的频率 • 帧频与控制寄存器LCDCON1及LCDCON2/3/4 中的VSYNC、VBPD、VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL 和CLKVAL 有关联

  11. 12.1 LCD控制器 • 12.1.3 S3C2410X LCD控制器操作 • 典型的TFT液晶显示屏的扫描时序 • 帧同步(VSYNC) 用于表示一帧的起始 • 行同步(HSYNC) 用于表示一行的起始 • 时钟(VCLK)时钟信号 • 数据有效控制(VDEN) 数据有效信号 • 数据信号(VD) 表示每个像素点的数据信号,有1、2、4、8、12、16、24位等模式

  12. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • LCD控制器的相关寄存器共用16个 • 其中和TFT屏显示相关的有: • 5个LCD控制寄存器 • 2个帧缓冲开始地址寄存器 • 1个实际屏地址寄存器 • 1个零时调色板寄存器 • 中断屏蔽寄存器 • 中断源挂起寄存器 • 中断挂起寄存器

  13. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 1、LCD控制器LCDCON1(地址:0x4D000000)

  14. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 2、LCD控制器LCDCON2(地址:0x4D000004)

  15. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 3、LCD控制器LCDCON3(地址:0x4D000008)

  16. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 4、LCD控制器LCDCON4(地址:0x4D00000C)

  17. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 5、LCD控制器LCDCON5(地址:0x4D000010)

  18. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 5、LCD控制器LCDCON5(地址:0x4D000010)

  19. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 6、帧缓冲区起始地址寄存器LCDSADDR1(地址:0x4D000014)

  20. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 7、帧缓冲区起始地址寄存器LCDSADDR2(地址:0x4D000018)

  21. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • 8、帧缓冲区起始地址寄存器LCDSADDR3(地址:0x4D00001C)

  22. 12.1 LCD控制器 • 12.1.4 LCD控制器寄存器 • LCD 屏= 320*240, 16 级灰度, 单扫描 • 帧起始地址= 0x0c500000 • 偏移点数= 2048 点( 512 个半字) • 对应的寄存器应按如下方法设置: • LINEVAL = 240-1 = 0xef //显示窗口的垂直分辨率 • PAGEWIDTH = 320*4/16 = 0x50//显示窗口占用空间的半字数 • OFFSIZE = 512 = 0x200 //显示窗口可以水平偏移空间所占用的半字数 • //虚拟显示缓冲区的开始位置的[31:22],4M偏移 • LCDBANK = 0x0c500000 >> 22 = 0x31 • //显示窗口的开始地址的[21:1], 0x100000是0x0c500000的[21:0]位。 • LCDBASEU = 0x100000 >> 1 = 0x80000 • //显示窗口结束地址的[21:1] • LCDBASEL = 0x80000 + ( 0x50 + 0x200 ) * ( 0xef + 1 ) = 0xa2b00

  23. 12.2 接口电路与程序设计 • 12.2.1 S3C2410X LCD电路连接

  24. 12.2 接口电路与程序设计 • 12.2.1 S3C2410X LCD电路连接 • 上图中各个信号含义如下: • 器件J27是一个跳线选择,可以选择3.3V和5V作为液晶屏的输入电压 • nERESET:液晶复位信号,通常可以不接 • BUF_VD1~BUF_VD23:液晶数据信号,根据液晶的要求连接 • LCDVF0~LCDVF2: SEC液晶屏需要的时序信号,其它的液晶屏可以不用 • BUF_VCLK:液晶时钟信号 • BUF_VFRAME:帧同步信号 • BUF_VLINE: 行同步信号 • BUF_VM:数据使能信号 • BUF_LEND:行结束信号,通常可以不接 • TSXM、TSXP、TSYM、TSYP:触摸屏控制信号

  25. 12.2 接口电路与程序设计 • 12.2.2 程序的编写 • 编写软件程序,实现在分辨率为320*240,颜色深度为16位的LCD屏上,显示指定分辨率为320*240,颜色深度为16位色的图片 • 主要程序设计: • 相关寄存器定义 • LCD管脚初始化程序 • 初始化LCD控制器 • 画一个像素点 • 清屏 • 画一副图片 • LCD测试主程序

  26. 12.2 接口电路与程序设计 • 12.2.3 调试与运行结果 • 1.连接液晶屏 • 在开发板上连接一个320*240的16位真彩色LCD液晶屏。 • 2.打开实验例程 • (1)运行MDK开发环境,进入实验例程目录lcd_test子目录下的lcd_test.Uv2例程,编译链接工程。 • (2)根据common目录下的ReadMeCommon.txt及本工程目录下的readme.txt文件配置集成开发环境,在Option for Target对话框的Linker页中选择RuninRAM.sct分散加载文件,单击MDK的Debug菜单,选择Start/Stop Debug Session项或单击,下载程序文件到目标板的RAM中调试运行。 • (3)在Option for Target对话框的Linker页中选择RuninFlash.sct分散加载文件,单击MDK的Flash菜单,选择Download烧写调试代码到目标系统的Nor Flash中,重启目标板,目标板自动运行烧写到Nor Flash中的代码。

  27. 12.2 接口电路与程序设计 • 12.2.3 调试与运行结果 • 3.观察实验结果 • (1)在LCD上观察结果 • (2)logo图片转换为像素点的过程 • 使用Image2Lcd工具将图像logo.bmp转换为图像数据并保存到logo.c中,将logo.c加入到工程lcd_test中,重新编译运行。

  28. 12.3 小结 • 本章主要介绍了基于S3C2410X 的LCD控制器,操作TFT LCD的方法。 • 通过一个实例实现了在LCD屏上显示一幅图片。

  29. 12.4 思考与练习 • 12-1 TFT液晶显示屏外部接口信号有哪些? • 12-2 简述VFRAME、VLINE、VCLK这几个信号的作用? • 12-3 编程实现在LCD上显示一幅你自己的图片。

  30. 30

More Related