嵌入式TFT_LCD控制器设计

—237—
嵌入式TFT-LCD 控制器设计
胡健生1,罗卫兵1,钱  渊2
(1. 中国人民武装警察部队工程学院通信工程系,西安 710086;2. 空军工程大学,西安 710077)
摘  要:针对常见TFT-LCD 控制器存在体积大、显示效果差的缺点,设计一种嵌入式TFT-LCD 控制器。使用双先入先出电路实现通用的MCU 接口,基于时分复用技术解决读写显示缓存的问题,利用状态转移机制产生控制时序信号,并对各功能模块进行层次化设计。在ARM+FPGA 硬件平台上的仿真结果表明,该控制器显示效果好、响应速度快、通用性强。 关键词:TFT-LCD 控制器;先入先出电路;时分复用技术
Design of Embedded TFT-LCD Controller
HU Jian-sheng 1, LUO Wei-bing 1, QIAN Yuan 2
(1. Derpartment of Communication Engineering, Institute of Chinese People’s Armed Police Forces Engineering, Xi’an 710086;
2. Air Force Engineering University, Xi’an 710077)
【Abstract 】Aiming at common TFT-LCD controller existing the shortage of large volume and bad display effect, this paper designs an embedded TFT-LCD controller. It realizes a universal MCU interface by using double First In First Out(FIFO) circuits, solves the problem of conflict between reading and writing frame cached based on the Time Division Multiplexer(TDM) technology, produces control time sequence signal by using status shift mechanism, designs the modules of TFT-LCD controller by hierarchy. On ARM+FPGA hardware flat, simulation result shows that this controller has good display effect, fast response speed and strong universal property.
【Key words 】TFT-LCD controller; First In First Out(FIFO) circuit; Time Division Multiplexer(TDM) technology
计  算  机  工  程Computer Engineering 第36卷  第5期
Vol.36    No.5 2010年3月
March 2010
·工程应用技术与实现·文章编号:1000—3428(2010)05—0237—03
文献标识码:A
中图分类号:TP393
1  概述
LCD 具有平板化、高分辨率、无电磁辐射、小体积、低
功耗等特点,是嵌入式系统设计中首选的显示设备。目前主要有TFT-LCD 和STN-LCD 2种,而TFT-LCD 较STN-LCD 彩更绚丽、显示效果更好,因此,其应用更广泛[1]。对LCD 进行控制的方式有3种:(1)使用内置LCD 控制器的嵌入式处理器,如三星公司生产的ARM 系列处理器S3C2410[2];  (2)使用专用的LCD 控制器芯片,如,日本Epson 公司生产的S1D13706[3];(3)考虑到上述2种方式在实际应用中的局限  性[4],采用FPGA 或复杂可编程逻辑器件(Complex Program- mable Logic Device, CPLD)设计LCD 控制器[5-8]。本文设计并实现了一种嵌入式的TFT-LCD 控制器。
2  TFT-LCD 控制器
2.1  常见TFT-LCD 控制器的优缺点
目前,嵌入式LCD 控制器的设计主要有:(1)使用单片机(Micro Controller Unit, MCU)和LCD 控制器对2片显示缓存轮流操作的设计[5-6];(2)优先响应MCU 的设计[7-8]。
愉悦和痛苦
在设计(1)中,MCU 和LCD 控制器对2片显示缓存(不妨设为SRAM A 和SRAM B)轮流操作。在当前帧周期,MCU 对A 进行写操作,LCD 控制器对B 进行读操作,每经过一帧周期,进行一切切换。其优点是传送数据快、显示缓存写数据时不影响显示缓存读数据,FPGA 程序设计简单,但需要2片SRAM 来作为显示缓存,成本高、体积大。
在设计(2)中,系统采用“发送-响应”的方法,优先响应MCU 对显示缓存写操作。“发送”是由MCU 先向显示缓存发送数据,“响应”是指LCD 控制器对显示缓存进行读操作,在“发送”过程中,LCD 控制器不能对显示缓存进行读操作。
其优点是成本低、体积小,但其显示速度比设计(1)慢,且系统一旦长时间处于“发送”状态,LCD 控制器会无法“响应”而导致LCD 屏幕出现雪花现象,影响显示效果。
2.2  嵌入式TFT-LCD 控制器
针对上述2种LCD 控制器存在的缺陷,基于双先入先出(First In First Out, FIFO)电路和时分复用(Time Division Multiplexer, TDM)技术提出一种嵌入式TFT-LCD 控制器的设计。双FIFO 电路解决了MCU 和TFT-LCD 控制器之间的速率匹配问题,时分复用技术解决了MCU 和TFT-LCD 控制器读写显示缓存的冲突问题。该控制器可兼容多种处理器,支持多种分辨率和显示格式的TFT-LCD ,具有较强的通用性,且系统的成本低、体积小、“响应”速度快,综合上述2种设计的优点。
3  嵌入式TFT-LCD 控制器的设计
3.1  总体结构及工作原理
图1  TFT-LCD 控制器总体结构
作者简介:胡健生(1984-),男,硕士,主研方向:军事通信,嵌入式系统;罗卫兵,教授;钱  渊,讲师
收稿日期:2009-08-09    E-mail :
—238
—本文的TFT-LCD 控制器主要由MCU 接口模块、显示缓存接口模块、控制时序产生模块、显示数据输出模块和时钟模块5个功能单元组成。
雷死人的小学生作文
3.2  MCU 接口模块
MCU 接口模块提供数据总线、地址总线、控制信号线和状态信号线,完成系统处理器与TFT-LCD 控制器之间速率匹配。处理器与TFT-LCD 控制器之间的数据传输属于跨时钟域的范畴,其实现方式主要有总线握手协议和异步FIFO 电  路[9-10]。由于系统处理器仅对显示缓存(SRAM)进行写操作,而不需要进行读操作,因此选用异步FIFO 电路实现相对简单。
该模块主要由2个异步FIFO 电路组成,分别作为地址FIFO 和数据FIFO ,连接系统处理器的地址总线和数据总线,并提供一定数量的I/O 口作为控制和状态信号线,同时给内部显示缓存接口提供地址总线mcu_addr_out 和数据总线mcu_data_out 。其写时钟信号由系统处理器提供,读时钟信号由显示缓存接口提供。控制总线分别是复位信号rst ,片选信号ncs ,写使能信号new 。片选信号ncs 和写使能信号new 取反后再相与即得到2个FIFO 电路的写时钟信号。干栏式建筑
地址FIFO 和数据FIFO 的大小分别为19 bit×2 000和  16 bit×2 000,地址总线宽度为19位,数据总线宽度为16位,最大可支持1 MB 的寻址空间。由于使用相同的读写时钟和异步清零信号,因此2个FIFO 电路在任意时刻的状态都是相同的。当FIFO 满时,向MCU 送满标志信号mcu_fifo_full ,MCU 停止向FIFO 写数据;当FIFO 空时,向SRAM 接口送空标志信号mcu_fifo_empty ,控制器停止从FIFO 读数据,同时停止向SRAM 写数据。
3.3  显示缓存接口模块
系统使用一片SRAM 作为显示缓存,读写冲突问题通过时分复用技术解决。显示缓存接口模块主要由读写控制器、读地址产生器、地址选择器和数据选择器组成,如图2所示。
SRAM 地址总线SRAM 数据总线
邢台学院学报SRAM 控制信号线图2  显示缓存接口组成
SRAM 的时分复用示意图如图3所示,其工作原理如下: (1)以TFT-LCD 控制器主时钟main_clk 为基准时钟,    8分频(上升沿为触发条件)得到SRAM 读写操作的判定信号sram_r/w 。
(2)TFT-LCD 控制器在main_clk 的下降沿时进行判定。当sram_r/w 为低电平,且MCU 接口模块中的FIFO 非空(sram_r/w=0且mcu_fifo_empty=0)时,TFT-LCD 控制器处于写SRAM 状态。当sram_r/w 为高电平,且显示数据输出模块中的FIFO 非满(sram_r/w=1且dpu_fifo_full=0)时,TFT-LCD 控制器处于读SRAM 状态。
(3)以main_clk 周期为单位,对SRAM 的读写操作各划分为4个子状态,图3中r 0~r 3为读SRAM 操作的4个子状态,w 0~w 3为写SRAM 操作的4个子状态。TFT-LCD 控制器在读操作子状态切换中产生数据输出模块的FIFO 写时钟
信号RGB_fifo_wclk ,
在写操作子状态切换中产生MCU 接口模块中的FIFO 读时钟信号muc_fifo_wclk 。具体工作机制不在此详述。
main_clk sram_r/w dpu_fifo_full mcu_fifo_empty mcu_fifo_rclk dpu_fifo_wclk
图3  SRAM 的读写时分复用示意图
3.4  控制时序信号产生模块
TFT-LCD 时序图[2, 11]如图4所示。其中,VCLK 为像素时钟信号;HSYNC 为水平(行)同步时钟信号;VSYNC 为垂直(帧)同步时钟信号;VDEN 为数据输出使能信号,VD 为
图4  TFT-LCD 时序图
VCLK 信号由LCD 控制器主时钟main_clk 分频得到。
采用状态转移机制产生HSYNC 信号和VSYNC 信号,
如图5、图6所示。以HSYNC 的产生为例,HSYNC 分为水平同步脉冲有效、水平后回扫、水平扫描和水平前回扫4种状态,用状态标识变量hsync_status 进行标识。对应上述4种状态,设置4个计数器,对VCLK 的周期数进行计数,门限值分别为HBPD, HFPD, HSPW 和HOZVAL ,达到门限值后进行状态转移。HSYCN 和VSYNC 产生的过程中,还分别产生水平消隐信号HS 和垂直消隐信号VS ,将HS 和VS 进行与运算即可得到VDEN 。
水平同步脉冲
持续HSPW 个VCLK 周期HSYNC ≤0; HS ≤0;
水平后回扫
持续HBPD 个VCLK 周期HSYNC ≤1; HS ≤0;
持续HOZVAL 个VCLK 周期
HSYNC ≤1; HS ≤1;
水平前回扫
持续HFPD 个VCLK 周期HSYNC ≤1; HS ≤0;
图5  HSYNC 产生的状态机dds信号发生器
—239—
持续VSPW 个HSYNC 周期
持续VBPD 个HSYNC VSYNC ≤1; VS ≤0;
VSYNC ≤1; VS ≤1;
持续LINEVAL 个HSYNC 周期
持续VSFD 个HSYNC 周期VSYNC ≤1; VS ≤0;
垂直同步脉冲
垂直后回扫
垂直前回扫
图6  VSYNC 产生的状态机
3.5  显示数据输出模块
显示数据输出模块是TFT-LCD 控制器与TFT-LCD 驱动器之间的RGB 数据线接口,由一个异步FIFO 电路和一个数据格式与输出管脚匹配器组成。它主要完成2个功能:
(1)对TFT-LCD 控制器从SRAM 中读出的数据进行缓存,该功能由FIFO 电路实现。
(2)根据显示数据(RGB-565, RGB-666或RGB-888)格式,进行显示数据与输出引脚VD[23:0]的匹配。
3.6  时钟模块
染料激光
外部晶振输入的时钟,经FPGA 内部PLL 电路倍频后产生主时钟信号main_clk 。为保证显示效果,TFT-LCD 控制器读SRAM 的时钟频率应大于VCLK 。由于采用时分复用技术对SRAM 进行读写操作,系统中TFT-LCD 控制器读SRAM 需8个主时钟周期,因此main_clk 至少为VCLK 的8倍。
4  仿真验证及功能实现
4.1  仿真验证
设计语言使用Verilog HDL ,仿真环境为Quarus II 6.0。仿真分为2个部分:(1)系统处理器、TFT-LCD 控制器和SRAM 之间数据传输的过程;(2)TFT-LCD 控制时序信号的产生,结果如图7、图8所示。其中,arm_addr, arm_ncs 和arm_nwe 为系统处理器ARM 的总线信号,clk_input 为时钟输入    (20 MHz),main_clk 为控制器的主时钟,lcd_vclk, lcd_hsync, lcd_vsync 和lcd_vden 为时序控制信号,sram_addr 和sram_nwe 为显示缓存SRAM 的接口信号。
图7  数据传输过程波形
图8  控制时序信号波形
4.2  功能实现
系统实现平台采用ARM+FPGA 结构,处理器采用ARM7系列的S3C44B0X(不支持TFT-LCD),TFT-LCD 选用台湾光
联公司的UMSH-8044MD-T ,FPGA 芯片选用Altera 公司的EP1C6Q240C8,显示缓存SRAM 选用ISSI 公司的IS61LV51216。系统平台和显示效果如图9所示。测试结果表明,TFT-LCD 控制器工作正常,达到了预期的设计指标。
图9  ARM+FPGA 显示平台和显示效果
5  结束语
在分析比较常见TFT-LCD 控制器设计的基础上,基于双FIFO 电路和时分复用技术设计并实现了嵌入式TFT-LCD 控制器,它兼顾了2种常见的LCD 控制器的优点,经测试,TFT-LCD 控制器达到了预期目标,具有较好的推广使用价值。
参考文献
[1] 李维提, 郭  强. 液晶显示应用技术[M]. 北京: 电子工业出版
社, 2000.
[2] Samsung Electronics. User’s Manual S3C2410X 32-Bit RISC
Microprocessor[Z]. 2003.
[3] Epson Research and Development Inc.. S1D13706 Technical
Mannual[Z]. 2001.
[4] 王言荣. 基于FPGA 液晶控制器设计与实现[D]. 杭州: 浙江大学,
2006.
[5] 朱耀东, 经亚枝, 张焕春. 基于FPGA 的LCD&VGA 控制器设
计[J]. 电子技术应用, 2002, 28(11): 44-46.
[6] 李广军, 佟国香, 谢芩芬. 图形式LCD 控制器的VHDL 设计与
实现[J]. 半导体技术, 2001, 26(5): 46-49.
[7] 黄俊凯, 蒋存波, 叶汉民,等.      嵌入式L C D 控制器的
设计和实现[J]. 计算机工 程, 2005, 31(3): 218-220. [8] 付先成, 邹雪城,
雷镒铭
.    LCD 控制器中央控制单元
的设计[J]. 微电子学与计算 机, 2006, 23(6): 1-4. [9] 于  海, 樊晓桠. 基于FPGA
异步FIFO 的研究与实现[J].  微电子学与计算机, 2007,  24(3): 210-216.
[10] 付先成, 邹雪城, 雷镒铭.
FIFO 电路在液晶显示控制 器中的应用[J]. 华中科技  大学学报, 2006, 34(4):  8-10.
[11] URT. User’s Manual UMSH-8044MD-T[Z]. 2007.
编辑  陆燕菲

本文发布于:2024-09-22 07:06:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/15652.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:显示   控制器   缓存   信号   状态   进行   控制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议