- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
广东农工商职业技术学院
嵌入式系统设计课程
LCD显示图片
(1)确定任务
编写程序,实现在串口终端会打印菜单,然后根据选择,显示不同东西。
(2)电路原理图
要使一块 LCD 正常显示文字或图像,不仅需要 LCD 驱动器,还需要相应的 LCD 控制器。LCD 控制器的主要作用是将在系统存储器中的显示缓冲区中的 LCD 图像数据传送到外部 LCD 驱动器,并产生必要的控制信号,例如 VSYNC、HSYSNC、VCLK。S5PV210 内部集成了 LCD 控制器,它结构图如下:
主要有 VSFR,VDMA,VPRCS,VTIME和视频时钟产生器几个模块组成:
1) VSFR 由 121 个可编程寄存器组,一套 gamma LUT 寄存器组(包括 64 个寄存器),一套 i80 命令寄存器组(包括12个寄存器)和5块256*32的调色板存储器组成,主要用于lcd控制器的配置;
2) VDMA 是 LCD 专用的 DMA 传输通道,可以自动从系统总线上获取视频数据传输到 VPRCS,无需CPU 干涉;
3) VPRCS 收到数据后组成特定的格式(如 16bpp 或 24bpp),然后通过数据接口传送到外部 LCD;
4) VTIME 模块又可编程逻辑组成,负责不同的 LCD 驱动器的接口时序控制需求,VTIME 模块产生VSYNC、HSYNC、VCLK 等信号;
S5PV210 的 LCD 控制器的主要特性如下:
1) 支持 3 种接口:RGB/i80/YUV;
2) 支持可编程的 DMA;
3) 5 个 256*32 bit 调色板
4) 虚拟屏最大可达 16MB
5) 支持透明叠加(overlay)
6) 支持多种规格和分辨率的 LCD
(3)软件设计
完整代码见目录 15-lcd_picture。
1. lcd.c
第一步 初始化 LCD;
第二步 打印菜单,共8个选择,分别是清屏、画十字、画横线、画竖线,等等它们的原理都是一样的,
后面会讲解。
函数 lcd_init():
在 S5PV210中,给出了 lcd 控制器的配置步骤,见下图:
参考上述序列,在 lcd.c 里函数 lcd_init()对 lcd 控制器进行了初始化,共 9个步骤:
第一步 配置相关引脚用于 LCD 功能,相关代码如下:
//设置LCD RGB接口的24个管脚为lcd工作模式
rGPF0CON=0
rGPF1CON=0
rGPF2CON=0
rGPF3CON=0
查看原理图可知,涉及到的 GPIO 引脚为 GPF0/1/2/3:
第二步 配置 DISPLAY_CONTROL,设置数据输出路径;芯片手册上要求必须设置;
第三步 配置 VIDCONx,设置接口类型、时钟、极性和使能 LCD 控制器等;
VIDCON0:
ENVID_F=1,当前帧结束后使能 lcd 控制器;
ENVID=1,使能 lcd 控制器;
CLKSEL_F=1, 选择时钟源为 HCLK_DSYS=166MHz;
CLKDIR=1, 选择需要分频;
CLKVAL_F=14, 分频系数为 15,即 VCLK = 166M/(14+1) = 11M;
RGSPSEL=0,RGB 并行;
VIDOUT=0,使用 RGB 接口;
未设置的bit 均使用默认值。
VIDCON1:
VIDCON1 只需要设置下面两个 bit:
IHSYNC=1,极性反转
IVSYNC=1,极性反转
为什么需要反转,原因如下:
H43-Hsd043I9W1.pdf(p13) 时序图:VSYNC 和 HSYNC 都是低脉冲
S5PV210 芯片手册(p1207) 时序图:VSYNC 和 HSYNC 都是高脉冲有效,所以需要反转。
第五步 配置 VIDTCONx,设置时序和长宽等;
在讲解如何设置寄存器之前,需要先讲讲 LCD 的时序设置,见下图:
<1> 每一帧的传输过程如下:
1) VSYNC 信号有效时,信号宽度为(VSPW+1)个 HSNC 信号周期,即(VSPW+1)个无效行;
2) VSYNC 信号脉冲之后,总共还要进过(VBPD+1)个 HSYNC 信号周期,有效的行数据才出现。所以,在 VSYNC 信号有效之后,还要进过(VSPW+1+VBPD+1)个无效的行;
3) 随即发出(LINEVAL+1)行的有
您可能关注的文档
- 汽车性能与商务评价 任务7-2:选择确定汽车舒适性商务评价的内容、指标及方法 Y12_070201_ALDC_01_汽车舒适性评价指标—案例1 本田CRV与大众途观外观造型对比.doc
- 汽车性能与商务评价 任务9-2:选择确定汽车环保性商务评价的内容及方法 Y12_090202_DC_01-汽车环保星级评价法.doc
- 汽车性能与商务评价 任务9-3:汽车环保性能商务评价训练 Y12_0903_DC_10-Stop-Start系统的三种方式介绍.doc
- 汽车转向、行驶与制动系统故障诊断与修理(示范) 汽车转向、行驶与制动系统故障诊断与修理(示范) 2.2-转向手册轮胎磨损及胎压异常.doc
- 包装创新模块-包装创意设计平台 包装创新模块-包装创意设计平台 牛奶包装设计3.pptx
- 汽车转向、行驶与制动系统故障诊断与修理(示范) 汽车转向、行驶与制动系统故障诊断与修理(示范) 4.1-转向手册汽车跑偏.doc
- 汽车转向、行驶与制动系统故障诊断与修理(示范) 汽车转向、行驶与制动系统故障诊断与修理(示范) 12转向沉重-高教社.doc
- 嵌入式系统设计 嵌入式系统设计 裸机开发-C语言初始化系统时钟.docx
- 包装创新模块-包装创意设计平台 其他包装设计 马斯洛需求-月饼-2018-zw.pptx
- 包装计算机辅助设计软件应用-CorelDRAW 轮廓与填充 2018-GAL-1-木版画的绘制.pptx
文档评论(0)