APP下载

基于FPGA的LCD控制器设计

2013-02-23任全会黄根岭

郑州铁路职业技术学院学报 2013年1期
关键词:流程图字符时钟

任全会,黄根岭

(郑州铁路职业技术学院,河南 郑州 450052)

1 系统设计总体

1.1 总体设计框图

系统设计总体框图如图1所示,在系统上电后,FPGA将首先对系统进行初始化操作,在初始化操作中最重要的是寄存器的复位,显示开关的控制,功能设置以及对显示屏幕进行清屏。之后通过显示控制模块对LCD进行显示的控制。显示控制模块主要负责在LCD显示多行字符时进行换行操作,在用户指定数据在屏幕的指定显示位置时设置该位置所对应的RAM的值,以及在图像显示时进行的ROM地址重映射算法,和对LCD显示区对应RAM进行的写入操作。其中的数据分别来自中英文字符模块、动态数据模块以及图像数据模块。对此模块的设计,主体结构以状态机来实现[1]。

1.2 时钟模块的设计

选用的晶振频率为50MHz,但是系统需要小于13.9kHz的时钟频率,需要设计一个分频器对其进行分频。控制LCD模块和FPGA的模块需要使用同一个时钟信号。模块如图2所示。

图1 系统设计总体框图

图2 时钟模块

1.3 写入数据模块的设计

设计采用访问RAM的方式对英文字符进行调用。显示控制模块在每一个时钟信号来的时候输出一个地址,这个地址在每一个时钟信号过后都自动加1,而这个地址则作为RAM的输入地址。相应的RAM返回给显示控制模块所对应的数据。模块设计流程图如图3所示。

图3 写入数据模块设计示意图(字符)

而RAM在设计的时候采用函数的方式,函数将负责自动辨识用户输入的英文符号,并将其转换为对应数据。若想改变显示的内容只需要改变进程中每一行末尾char_to_integer函数括号中的内容即可。

2 显示控制系统设计

2.1 字符显示控制模块的设计

首先设定DDRAM值,利用计数器COUNTER,每写一个 RAM状态,COUNTER自动加1。经过转换后的COUNTER就是写入数据模块的RAM的输入地址。COUNTER的连续加1,RAM中的数据会输出到屏幕相应的位置。需要显示的一组数据就能显示在LCD显示屏上。相应的程序流程图4所示。

图4 显示控制模块设计流程图(字符)

2.2 动态数据的显示控制

动态数据的显示则是根据输入的变化,将其反应到写入数据模块的RAM中,使其反馈对应的数据。同时每进行一个写RAM状态后,便跳入设置DDRAM状态,将DDRAM值始终设为同一个,即屏幕上的同一位置,之后再次进入写RAM状态,如此循环,就可以看到数据的不断变化。由于显示的基本原理相同,但是显示的内容却有千万种,因此在程序的编写上也会有无数种方式[2]。基于这种原因,这里只用一个简单的0到15的计数器来做说明。

图5 动态数据部分设计流程图

在显示控制模块中,每过1个时钟信号,模块就会读取一次外部的数据,并把数据输入模块处理。主要工作室把外部数据分解为每一位上的十进制数据。同时输出信号到输入显示RAM,并调用返回的数据在屏幕上显示。同时,每次显示的时候,屏幕上显示的位置会自动重置,确保每次显示都能覆盖上次的显示,也就实现了动态数据的更新显示。

2.3 字符显示及图片显示整体模块

字符显示整体模块的功能包括任意中文字符及英文字符在12864-12屏幕上的任意位置的显示,同时还要显示动态数据的变动。这里的动态数据为一个0到15的计数器。字符显示整体模块的BLOCKDIAGRAM如图6所示。

初始化部分的QUARTUSII部分仿真结果如图7所示:

图6 图像显示整体示意图

图7 初始化部分仿真示结果

3 测试结果和结论

3.1 测试结果

3.1.1 中文字符的显示

在屏幕的第一行显示“郑铁学院”4个汉字。

3.1.2 英文字符的测试

在屏幕的第二、第三行显示“Helloworld!”和“Current:”,这几个英文字符和标点。

3.1.3 动态显示的测试

在屏幕的第三行的“Current:”之后根据0到15的计数器的输入变化,显示0到15的两位十进制数字。在LCD显示如图8所示:

图8 显示结果3.2 结论

在字符显示部分,字符的显示速度较快。在12.5 kHz的时钟驱动下,平均显示一次内容的时间为毫秒级别。由于在设计时充分考虑了程序的易用性,更改文本在屏幕的显示位置只需在程序对应的SETDDRAM的部分中修改需要的数据即可。而对于文本的变更,特别是英文字符,只需在输入数据RAM的模块中按顺序键入需要显示的文本即可。对于中文则需要对照中文字符表来操作[3]。

在图片显示时,需要的操作时间比较长,平均显示一副图片大约需要大于半秒,不到1秒的时间。因此如果要做动画显示,则响应时间过长,大于0.08秒。但是在单幅图片的显示上,12864-12显示的图片较为清晰,对比度较高。

[1]黄亮,杨景常.基于SOPC的TFT触摸屏显示系统设计[J].液晶与显示,2009,26(3):718 -722.

[2]赵擎天,尉广军,姚义.基于SOPC的多路并行同步数字信号采集系统设计[J].军械工程学院学报,2010,32(7):96-99.

[3]陈珍,高波,范叶敦.基于SOPC的复合信号幅频测试仪[J].电子技术应用,2010,36(11):20 -22.

猜你喜欢

流程图字符时钟
别样的“时钟”
古代的时钟
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
一种程序源代码的标准化流程图转化方法∗
有趣的时钟
时钟会开“花”
腹腔镜手术护理流程图在腹腔镜手术围术期护理中的应用