基于FPGA的LCD设计报告

合集下载

基于FPGA的LCD设计__[文档在线提供]

基于FPGA的LCD设计__[文档在线提供]

本科毕业设计(2009 届)题目基于FPGA的LCD控制器设计学院专业班级学号学生姓名指导教师完成日期年月日基于FPGA的LCD控制器设计基于FPGA的LCD控制器设计【摘要】本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。

本课题的设计采用了带ST7920驱动的12864-12液晶模块,并使用Altera公司的cycloneII系列的EP2C5T144C8来作为核心的控制器。

控制器部分采用VHDL语言编写,主体程序采用了状态机作为主要控制方式。

该控制器分为字符显示模块和图片显示模块两个主要部分。

在字符的显示功能上采用显示控制模块与字符调用RAM相结合的方式,使使用者能方便地调用液晶自带的字库来显示字符;而图片显示模块则通过特殊的处理算法解决了图像显示缓冲区X地址不断移位以及上下半屏分开的问题,通过读取图片ROM来显示图片。

最后实现使用FPGA在LCD上的任意位置显示任意的16*16像素的中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD上显示的内容。

同时要能将储存模块中的图片数据正常地显示在LCD上。

该课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD的产品的开发。

同时可以大大缩短FPGA的开发时间。

另外,由于模块的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的交互性,为行业和我们的生活带来新的变化。

【关键词】12864-12,VHDL,LCD,FPGA,状态机- 1 -基于FPGA的LCD控制器设计Design of the LCD Control Module Based on FPGA【Abstract】In this project, the main object is to design a LCD controller based on FPGA, and at the same time emphasize on the convenience for the later application and migration. In this project, I used 12864-12 LCD module with the ST7920 driver. For the controller part, I chose the Cyclone II serial FPGA, the EP2C5T144C8, which developed by the Altera Cooperation. The program of the controller is written by VHDL language, and the main body of the program used state machine as the primary control method. In this LCD controller, there are two major parts, which are the character display module and the picture display module. The character display module put the Character Calling Ram and the display control module together to enable the user to call the embedded character library easily to display the information he/she needed. For the picture display module, the module, through specific algorithm, solved the problems that the x address of the picture display buffer kept stepping forward after every 16 times and the display screen are divided into 2 section by the buffer. And this module, by reading a picture ram, displayed picture which was put earlier.In this project, I finally realized the following function. The first one is to display any 16*16 pixels Chinese character and 16*8 pixels English character on any position of the display screen. The second one is the display information will instantaneously update as the input data changes. The last function is that any given picture data can be displayed properly on the LCD screen.The research of this project will contribute to the developing process of those products which use FPGAs, especially those products also use LCD. And at the same time, it can reduce dramatically on the developing time. In addition, for the convenience of this controller, more and more FPGA based products will come out with LCD screen. This change will enhance the interaction between human and the machine, and bring innovation to the industry and our lives.【Key Words】12864-12,VHDL,LCD,FPGA,State Machine.- 2 -基于FPGA的LCD控制器设计目录第1章绪论 (5)1.1 选题的背景与意义 (5)1.2 LCD的控制,应用和市场的发展现状 (5)1.3 课题的主要研究内容和重点、难点 (7)1.3.1 本课题主要研究内容和重点 (7)1.3.2 本课题的主要难点: (7)1.4 课题研究预期目标 (7)1.4.1 课题研究预期理论目标 (7)1.4.2 课题研究预期技术目标 (8)第2章现代LCD技术 (9)2.1 现代LCD技术简介 (9)2.2 STN-LCD技术的显示原理 (10)2.3 动态STN-LCD驱动方法 (11)第3章现代FPGA技术 (14)3.1 FPGA的发展历程 (14)3.2 FPGA的基本原理 (15)3.2.1 查找表的基本原理 (15)3.2.2 基于乘积项的FPGA的逻辑实现原理 (15)3.3 FPGA的设计方法 (16)3.4 VHDL硬件描述语言 (16)3.5 Quartus II简介 (17)3.6 核心控制芯片选择 (18)3.7 FPGA的设计流程 (19)第4章总体系统设计及资源 (22)4.1 系统设计要求 (22)4.2 系统设计总体框图 (22)4.3 系统开发选用资源 (22)4.3.1 液晶模块选用 (22)4.3.2 FPGA的选择 (28)3基于FPGA的LCD控制器设计4.4 硬件设计 (30)第5章系统各部分模块的设计 (31)5.1 初始化模块设计 (31)5.1.1 LCD模块初始化原理 (31)5.1.2 时钟模块的设计 (32)5.1.3 字符显示前初始化模块的设计 (33)5.1.4 图片显示前初始化模块的设计 (36)5.2 写入数据模块的设计 (37)5.2.1 英文字符部分的数据模块 (37)5.2.2 中文字符部分的数据模块 (40)5.2.3 图片部分的数据模块 (40)5.3 显示控制模块的设计 (40)5.3.1 字符显示控制模块的设计 (40)5.3.2 动态数据的显示控制 (42)5.3.3 图像数据的显示控制 (43)5.4 字符显示及图片显示整体模块 (49)5.5 本章小结 (50)第6章模块测试与使用方法 (51)6.1 模块的使用方法 (51)6.1.1 字符显示模块的使用 (51)6.1.2 图片显示模块的使用 (52)6.2 测试内容 (53)6.2.1 字符显示部分的测试 (53)6.2.2图片显示部分的测试 (54)6.3 测试结果 (57)6.3.1 字符显示 (57)6.3.2 图片显示 (58)6.4小结 (60)结束语 (61)参考文献 (63)致谢 (62)4基于FPGA的LCD控制器设计第1章绪论1.1 选题的背景与意义液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。

基于FPGA的LCD显示控制器设计

基于FPGA的LCD显示控制器设计

现代测量与实验室管理2006年第5期 文章编号:1005-3387(2006)05-0010-12基于FPG A的LC D显示控制器设计韩建国 严 强(北京化工大学,北京 100029)摘 要:文章介绍了图形式LCD视频控制芯片的设计方案,详细分析了该控制芯片的系统设计和各模块的功能实现,讨论并分析了模拟电路部分的设计,使用VHDL硬件描述语言完成了芯片数字部分的设计工作。

LCD显示控制模块应用于示波表系统,为基于DSP、FPG A、LC D显示器协同工作的系统提供了一个较好的解决方案。

关键词:LC D;FPG A;控制器;功能模块中图分类号:T H85 文献标识码:A0 引言LC D显示控制模块作为示波表系统数据处理的一个部分,外围控制器利用LC D显示控制模块来完成包括波形、参数、用户菜单等最终结果的显示。

LC D液晶显示器具有体积小、低功耗、控制接口简单等优势,是一般便携式设备最理想的显示终端。

本文从LC D液晶显示器的工作原理,液晶显示数据缓存区的设计及LC D显示控制器的设计来介绍该模块的设计与实现。

1 LCD显示器特征及驱动原理根据显示区大小的要求,我们采用了M icr oti p sTechnol ogy I nc.公司MTG-F32240HF W NSEB-01型LCD液晶显示器。

以下简要的对LCD液晶显示器的工作原理进行介绍。

MTG-F32240X是FST NPositive类、320×240像素、图形显示方式的液晶显示器件。

它带有行列驱动电路以及EL背光电路[1]。

图1 LC D接口时序(行频脉冲和帧起始信号)该类液晶显示器的接口时序主要反映在驱动信号C L1、C DL2、FR M和数据D0-D3之间如图1、图2所示的时序配合上。

各驱动信号参考工作频率C L2为1. 28MHz;C L1为16K Hz;FR M为66Hz。

其详细的驱动时序为发出80个段移位脉冲C L2后(即扫描一行结束)发出一个行频脉冲C L1,当发出240个C L1脉冲后发出帧开始信号FR M,标志整屏显示结束。

FPGA实验报告 - lcd显示

FPGA实验报告 - lcd显示

FPGA实验报告题目:LCD显示实验系名称:信息工程系专业:电子科学与技术班级:(2)班学号:********** *名:***2011 年11 月18 日实验目的:1. 熟悉 ISE8.2开发环境,掌握工程的生成方法;2. 熟悉 SEED-XDTK_V4实验环境;3. 了解 LCD 的 HDL 实现;4. 了解 Memory模块的使用。

实验例程介绍LCD芯片介绍LCD 模块采用是 LCM122326 图形点阵模快,该模块是由 2 块 NJU6450 芯片构成,不带字库。

其工作时序图如下图所示:LCD 模块行列分配LCD 初始化如下所示例程包含文件1. main.v:程序顶层文件,实现 LCD 的初始化以及液晶显示;2. v4_dcm.xaw:DCM 的 IP 核,将外部输入时钟(50M)进行 10分频;3. CLK_DIV.v:系统运行时钟分频文件,将系统运行时间进行分频,提供 100K 的模块处理时钟;4. LCD_DISPLAY.v:LCD 初始化,以及数据显示文件;5. LCD_WRITE.v:LCD 写操作函数文件;6. v2_lcd_ziku.xco:汉字字库存储文件;7. main.ucf:FPGA 用户约束文件。

模块划分图实验准备:1.将PCtoLCD2002完美字模软件拷贝到电脑硬盘,光盘下 03. Examples of Program\02. V4_lab文件夹拷贝到 D:盘根目录下;2.通过并口下载电缆将计算机并口及 SEED-FEM025 板的 J9 连接好;3.启动计算机,打开 SEED-XDTK_V4 实验箱电源开关。

观察 SEED-FEM025 板上的+5V(D11)的电源指示灯是否均亮。

若有不亮的,请断开电源,检查电源。

实验步骤:一,打开将PCtoLCD2002完美字模软件中的PCtoLCD2002.exe;单击选项取模方式:行列式,取模走向:逆向数据后缀与行后缀改为逗号, 行前缀中DB删除,单击确定。

基于FPGA的LCD显示控制系统的毕业设计

基于FPGA的LCD显示控制系统的毕业设计

基于FPGA的LCD显示控制系统的毕业设计第一章绪论1.1选题的背景与意义液晶,是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性,又具有液体的流动性。

一般可分热致液晶和溶致液晶两类。

在显示应用领域,使用的是热致液晶,超出一定温度范围,热致液晶就不再呈现液晶态,温度低了,出现结晶现象,温度升高了,就变成液体;液晶显示器件所标注的存储温度指的就是呈现液晶态的温度范围。

液晶由于它的各向异性而具有的电光效应,尤其扭曲向列效应和超扭曲效应,所以能制成不同类型的显示器件(Liquid Crystal Display 简称LCD)。

在平板显示器件领域,目前应用较广泛的有液晶(LCD)、电致发光显示(EL)、等离子体(PDP)、发光二极管(LED)、低压荧光显示器件(VFD)等。

液晶显示器件有以下一些特点①低压微功耗,②平板型结构,③被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳),④显示信息量大(因为像素可以做得很小),⑤易于彩色化(在色谱上可以非常准确的复现),⑥无电磁辐射(对人体安全,利于信息保密),⑦长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。

之前,一般流行采用单片机来控制驱动LCD。

采用单片机控制LCD的显示在设计上相对比较简单。

可以通过KEIL等软件的编写方便地控制LCD的图形以及字符的现实。

但是由于单片机的顺序执行结构。

决定了在现实图片或者字符的同时,单片机本身无法处理其他数据或者执行其他的运算命令。

这在某种程度上大大地降低了工作的效率。

而采用FPGA来控制LCD则不存在这个问题。

但是由于FPGA不像单片机,可以直接使用控制语句来方便地控制LCD。

因此需要编写大量的代码来控制LCD。

因为这个原因,采用FPGA的设计一般都会再一次通过单片机来驱动LCD的显示。

本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方便之后模块的移植和应用。

基于FPGA的LCD驱动设计

基于FPGA的LCD驱动设计
SC , N
0 O 1 D
RL , F
O l I , D C

清显示, 光标 回位 AD = D 0时, 回原位
S B
决定是否移动以移动方 向 D 一显示 ,一光标,一光标闪烁 C B
移 动 光 标 及 整体 显示 D 一数 据位 数 ' 行数 ,一字体 L I , F 设 置 C R M 的地 址 GA 设 置 DD A 的地 址 RM
C R M D R M数据写 G A /D A
C R M/ D A G A D R M数据读




写数据
读数据
将内容写入 R M中 A
将 内容从 R AM中读 出 DDL M: t& 显示数据 R M A C A 字符发生器 RA GR M: M AC C A G:GR M地址 A D D R M地址及光标地址 D :D A
A A A A2 A1 A 5 4 3 0 A A A A A A1 A 6 5 4 3 2 O
忙标志 / 渎地址 计数器


B F
AC A 5 AC A 3 A 2 C1 A O 6 C 4 C C C
读出忙标志位饵F及 AC值 )

00 t0
00 11
毗l O
O l Ii













ห้องสมุดไป่ตู้









{∞ O
《 ) ★

基于FPGA与单片机通讯的LCD显示模块设计_毕业设计(论文)

基于FPGA与单片机通讯的LCD显示模块设计_毕业设计(论文)

基于FPGA与单片机通讯的LCD显示模块设计摘要在数字电路技术高度发展的今天,基于FPGA、单片机的产品无处不在。

液晶显示也成为现代显示器的主流产品。

LCD液晶显示已经是人机交互界面得以实现的关键手段。

本文对基于FPGA与单片机通信及单片机驱动LCD 液晶显示器系统进行了研究。

本文简要介绍了用单片机作驱动控制器的GDM12864A的基本原理,汉字的显示原理以及单片机的原理。

阐述了基于51系列单片机的LCD 液晶显示器的并行方式的接口电路设计方法。

对驱动电路的应用方法加以研究,还详细说明了其驱动程序相关部分的设计步骤并给出了相关代码。

本设计的重点是用单片机驱动控制LCD显示器,接受来自FPGA发的信号。

根据实验室的要求。

FPGA输出一些简单的数字信号,通过LCD显示相应的结果。

本设计的目的就是将LCD用到实验里。

不止做简单的几个汉字显示。

让它显示我们试验中FPGA发的信号数字。

在本课题中,FPGA只传输一些在试验中比较简单的数字信号。

所以在写驱动程序库在不需要太多的汉字库,设置一些数字,字母和一些常用的算数逻辑符号即可满足我们的要求。

通过本课题设计能解决试验箱GW48-SOPC上LCD一直不被利用的状态,让它在教学中发挥它应用的作用。

让我们在做实验时观察的结果更直观方便。

关键词:FPGA,LCD,单片机,GDM12864A,GW48-SOPCSingle-chip FPGA-based communications with the LCDdisplay module designABSTRACTIn the digital circuit technology of today's highly developed, based on the FPGA, MCU products everywhere. LCD monitors have become the mainstream of modern products. LCD liquid crystal display is a man-machine interface of the key means to achieve. In this paper, with the single-chip FPGA-based communications and single-chip LCD driver liquid crystal display systems were studied.This paper introduces the use of single-chip controller driver for GDM12864A the basic principles of the principle characters of the show, as well as the principle of single-chip microcomputer. 51 series of single-chip based on the LCD liquid crystal display mode of the parallel interface circuit design. Of the drive circuit to study the application of methods, but also a detailed description of its driver-related part of the design steps and give the relevant code.The focus of this design is a single-chip LCD display drive control, receive the signal from the FPGA made. In accordance with the requirements of the laboratory. FPGA output of some simple digital signal through the LCD shows the corresponding results. The purpose of this design is the LCD used in the experiment. Do more than simply show that the number of Chinese characters. It shows that we made the pilot signal in the digital FPGA.In this issue, FPGA transmission only in the test is relatively simple digital signal. Therefore, in writing database drivers do not need too much in hancku, set up some numbers, letters and a number of commonly used logic symbol count to meet our requirements. Issues through the design of the chamber to solve GW48-SOPC on LCD has not been utilized, and in teaching it to play its role in applications. Let us do sdddo to observe the results of experiments to facilitatemore intuitive.KEY WORDS:FPGA, LCD, single-chip, GDM12864A, GW48-SOPC目录前言 (6)第1章绪论 (8)§1.1 开发背景及意义 (8)§1.2 系统方案 (8)§1.3 系统方案流程图 (9)§1.4 系统方案论证 (9)§1.5 系统需求 (10)§1.6 开发软硬件平台 (10)第2章系统硬件设计 (11)§2.1 单片机 (11)§2.1.1 单片机概述 (11)§2.1.2 单片机系列芯片介绍 (11)§2.2 FPGA (12)§2.2.1 FPG A概述 (12)§2.2.2 FPGA系列芯片介绍 (13)§2.3 CPU的选择及应用 (16)§2.3.1 MCS-51单片机的内部结构及芯片图 (16)§2.3.2 Cyclone EP1C6结构及特性 (22)§2.4 LCD液晶显示器 (23)§2.4.1 LCD液晶器工作原理 (23)§2.4.2 GDM12864A 图形液晶显示模块电路特性 (24)§2.5 硬件原理连接 (26)§2.5.1 单片机与FPGA并行通信接口 (26)§2.5.2 单片机与LCD连接 (27)§2.5.3 整系统连接图 (28)第3章系统软件设计 (29)§3.1 软件设计模块概述 (29)§3.2 FPGA嵌入式存储器模块 (29)§3.3 单片机模块 (31)§3.4 GDM12864A 图形液晶显示模块的软件特性 (32)§3.5 汉字取模 (36)第4章开发环境 (38)§4.1 系统调试软件Keil uVision2 (38)§4.2 系统调试软件Quartus II (39)第5章系统测试与结果仿真 (40)§5.1 FPGA模块测试 (40)§5.2 单片机驱动测试 (40)§5.3 整体系统测试 (41)结论 (43)参考文献 (1)致谢 (2)前言自上世纪70年代第一位4位单片机问世,到如今的8位,16位,32位单片机,其应用已涉足诸多领域,如工业生产,航空航天,生物技术,医疗器械,办公自动化等等。

基于fpga的嵌入式系统设计lcd显示控制器

基于fpga的嵌入式系统设计lcd显示控制器

北方民族大学学士学位论文论文题目:基于FPGA的嵌入式系统设计---LCD显示控制器北方民族大学教务处制毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日摘要相比于其它终端显示设备,液晶显示器具有低压、微功耗、显示信息量大、体积小等优点,在移动通信终端、便携计算机、GPS卫星定位系统等领域有广泛用途,成为使用量最大的显示器件。

技术 基于FPGA的单片彩色LCD投影机设计

技术 基于FPGA的单片彩色LCD投影机设计

引言显示技术正朝着大屏幕、高清晰度、高亮度和高分辨率的方向发展。

通常说来,将屏幕显示面对角线尺寸在1米(40英寸)以上的显示称为大屏幕显示。

投影机作为一种重要的显示设备,已经广泛地应用到了金融、教育、企业、军事等多个领域,它所具有的大幅面、高清晰多媒体演示功能,使信息的传递具有更好的效果。

目前,市面上的主流产品是三片式LCD投影机和DLP投影机,其中,三片式LCD投影机的市场份额高达三分之二。

然而,投影机的主要采购者绝大多数是政府部门、企业和高校。

无论是三片式LCD投影机还是DLP投影机,其高昂的价格一直妨碍着投影机进入普通家庭。

为了简化设备结构,降低成本,本文给出了一种基于FPGA的高光效单片彩色LCD投影机的设计方法。

1 投影原理三片式LCD投影机的一般电路原理如图1所示。

由图1可以看出,传统LCD投影机的电路原理是把传送过来的视频信号通过彩色解码,以产生R、G、B信号,然后通过视频处理电路把该三基色信号加载在红、绿、蓝三只单色液晶屏上,最后加在三只单色投影管上,并经三只单色投影管还原后,再把图像通过光学透镜放大几十倍后由反射镜反射到屏幕上,最后在屏幕上合成出彩色图像。

由此可以看出,由于三只投影管和投影镜头并非都正对屏幕放置,三种图像信号还原到屏幕上所经过的光路各不相同,而这必然导致R、G、B三色信号在屏幕上不能完全重合在一起,进而引起会聚失真。

于是,本文从图1的视频处理电路和控制电路着手,设计了一种新的投影方式,即在一个液晶屏上呈现R、G、B三基色的单色图像数据,并对照射进来的R、G、B三单色光进行调制,然后经过透射、折射以及图像拉宽等光学系统的处理,最终在屏幕上形成彩色网像,该方法的原理图如图2所示。

通过图2可以看出,该没计的最大特点是在一块LCD屏上分别显示出R、G、B三基色图像,并通过对单色光进行调制来投影,而不像传统的投影系统,要用三块LCD屏分别显示R、G、B基色图像。

2 投影机系统电路在投影机设计中,控制电路的作用是对输入的视频和数字图像信号进行处理,以将其转变成适合LCD屏显示的信号。

基于FPGA的多功能LCD控制器的设计与实现

基于FPGA的多功能LCD控制器的设计与实现

中图分类号:T N702 文献标识码:A 文章编号:1009-2552(2008)06-0058-04基于FPG A的多功能LCD控制器的设计与实现韩 伟,谢 憬,毛志刚(上海交通大学微电子学院,上海200240)摘 要:阐述了一种基于FPG A的多功能LC D控制器的设计和实现。

该控制器具有可配置性高,应用范围广等特点、首先介绍了该控制器的整体结构,然后详细描述了各个模块的设计实现方法及所涉及的关键技术,并给出了最后的验证结果。

关键词:LC D;LC D控制器;FPG A;颜色查找表Design and realization of a multifunctionalLCD controller based on FPGAHAN Wei,XIE Jing,MAO Zhi2gang(School of Microelectronics,Sh angh ai Jiaotong U niversity,Sh angh ai200240,China) Abstract:The analysis and design of a multifunctional LC D controller based on FPG A is presented.The LC D contr oller can be con figured to m eet different application dem ands.This paper firstly introduces the architecture and the m odule partition of the controller,and then expatiates on the detail design of each m odule.And the final results of verification are given.K ey w ords:LC D;LC D controller;FPG A;color lookup table0 引言随着数字电子产品的迅猛发展,显示器作为人机交互的主要平台有着良好的应用前景。

基于FPGA的LCD12864汉字显示设计

基于FPGA的LCD12864汉字显示设计
的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线, 透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比 CRT要好的多,但是价钱较其它显示器贵。 CRT要好的多,但是价钱较其它显示器贵。 FPGA是英文Field- FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列, Array的缩写,即现场可编程门阵列, 它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作 它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作 为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制 为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制 电路的不足,又克服了原有可编程器件门电路数有限的缺点。 本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方 本课题主要任务是设计基于FPGA的LCD控制器,兼顾好程序的易用性,以方 便之后模块的移植和应用。最后在FPGA上的任意位置显示任意的16*16D的 便之后模块的移植和应用。最后在FPGA上的任意位置显示任意的16*16D的 中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD 中文字符以及16*8的英文字符,另外要能根据输入数据的变化同步变化LCD 上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该 上显示的内容。同时要能将储存模块中的图片数据正常地显示在LCD上。该 课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD得采 课题的研究将有助于采用FPGA的系列产品的开发,特别是需要用到LCD得采 用FPGA的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块 FPGA的产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块 的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的 的易用性,也将使得更多的采用FPGA的产品之上出现LCD,增加人机之间的 交互性,为行业和我们的生活带来新的变化。

基于FPGA的LCD显示控制器设计

基于FPGA的LCD显示控制器设计

Psi 类 、 0× 4 o te 3 i v 2 20像素 、 图形显示方式 的液晶显 示 器件 。它带有 行列 驱动 电路 以及 E L背 光 电路 … 。
2 显示缓存 区存储介质的选择
数据显示最简单 的方式莫过于直接将做好处理
的数据投放到显示器上进 行显示 , 是 , 但 由于 L D C 液晶显示器的逐点扫描显示的工作方式使得按图形 方式处理的显示数据近乎于海量数据 , 想利用这种 简单操作完成功能的代价是单一的功能占用了大量 的系统 工作 时 问 , 具 有强 大 数 据 处 理 功 能 的 D P 将 S 弱化成 了显示 控制器 了,这无疑 是不可行 的。所 以, 在该类系统的设计 中必须要引人数据缓冲设备
图 1 L D接 口时序( C 行频脉冲和帧起始信号)
降低数据显示和数据处理的相关性 , 主处理器从 将 单一的操作中解放出来。关于显示缓存 区存储介质 的选 择 主 要存 在 两 种 方 案 可 供 选 择。 通 用 _ l既 2 SA 芯 片 作 为 数 据 缓 存 , FG 内 部 双 口 RM 或 PA
T cn l yIc 公 司 MT eh oo n . g G—F 2 4 H W S B一0 320 F N E 1
型 L D液晶显示 器 。 以下 简要 的对 L D液 晶显 示 C C 器 的工作 原 理 进 行 介 绍 。MT G—F 24 X是 FT 320 SN
图 2 L D接 口时序 ( 据 、 C 数 位移脉 冲与行帧 )
论并分析了模拟电路部分的设计 , 使用 V D H L硬件描述语 言完成 了芯片数 字部分 的设计 工作。L D 显示控 制模块应 用于示 C 波表系统 , 为基于 D P、P A、C S F G L D显示器协 同工作 的系统提供 了一个较好 的解 决方案。 关键词 :C F G 控制器 ; L D;P A; 功能模块

基于FPGA的LCD显示设计

基于FPGA的LCD显示设计
再写入程序即可。
另外,在底层设计中需要实现具体功能,进行时钟分频、写入数据等, 并利用状态机实现状态转换,不停地改变状态,把次态赋给现态,以达到
不断输入数据的目的。
2.3 结果仿真
如图四所示,顶层模块的主要功能是将CTR和LCD12864两个子模块 连接起来,组成一个完整的显示控制系统。图三中INCODE就是要在LCD 液晶显示器上显示的字符的二进制代码,通过指令执行模块由CODEOUT 输出至显示器显示即可。经过仿真可以实现所涉及的功能。
所涉模块及系统整体进行的
EDA开发设计,设计流程如右 图一所示:
2. 系统设计
2.1 设计思路
整个系统由电源电路、时钟及复位电路、FPGA模块及LCD显示模块组成, 具体原理框图如图二所示。其中,FPGA控制模块的设计须实现时钟分频、显 示控制和指令执行的功能,后设计顶层文件将它们分别调用并包装,以实现 最终的控制功能。
同时还须实现实时刷新数据的功能。这将有助于采用FPGA的系列产品的开发, 特别是需要用到LCD而采用FPGA的产品的开发。不但缩短了FPGA的开发周 期,也使更多采用FPGA设计的产品上出现LCD,增加了人机之间的交互性。
1.2 硬件描述语言VHDL
VHDL即超高速集成电路硬 件描述语言,主要用来描述数 字系统的接口、结构、功能以 及行为。 VHDL采用一种“自 顶向下”的高层次设计方法, 在QUARTUS II环境下对系统
该模块使用VHDL例化语 句,调用各子模块并把要输入 的数据传给底层。由于所选液 晶显示器LCD12864自带字库 (ST7920),可直接调用字库, 例如:中文字符“你”在字库 中的代码为C4E3,调用时须先 将其转换成VHDL语言能识别
DOWNTO 0)

【doc】基于FPGA的TFT—LCD显示驱动设计

【doc】基于FPGA的TFT—LCD显示驱动设计

基于FPGA的TFT—LCD显示驱动设计第24卷第2期2009年4月液晶与显示ChineseJournalofLiquidCrystalsandDisplaysV oI.24.N"2Apr.,2009文章编号:1007—278O(2OO9)O2—0228—04基于FPGA的TFT—LCD显示驱动设计程明,肖祖胜(郑州大学信息工程学院,河南郑州450001,E-mail:*********************)摘要:利用日本夏普公司的TFT-LCD模块LQ080V3DG01,设计并制作了由可编程逻辑门阵列(FPGA)控制驱动的显示系统.根据LQ080V3DG01的接口方式,用FPGA设计了液晶的驱动时序电路.用FPGA设计驱动电路,可以根据实际功能任务需求,定制显示控制功能.增强了系统的可靠性和设计的灵活性,解决了工程实际问题.关键词:LCD;夏普;FPGA;驱动中图分类号:TP334文献标识码:A1引言人类已经进入了信息时代.目前人类接受的信息有80来自于视觉.无论采用何种方式,人类从机器上所获取的信息都要通过信息显示来进行人机交换.随着人类需要的加强,各种显示技术发展迅速.薄膜晶体管液晶显示器(TFT—LCD)是数字终端显示最理想的显示器件之一.随着TFT彩色液晶显示器技术日益成熟,因其功耗,体积,重量和可靠性等性能指标均优于传统的CRT显示器,现已被广泛应用于各类图形显示系统.目前液晶显示设备多采用专用显示控制芯片来完成液晶显示控制.采用专用显示芯片进行显示产品开发的主要问题是易受器件断档的影响,而在国内很难找到合适的替代芯片,不利于产品的量产口]. 随着液晶显示产业的蓬勃发展,其产业链上下游也在不断协调进步,对TFT—LCD控制和驱动IC的需求日益增长.目前我国IC设计公司数量已经突破400家大关,专注的领域也五花八门, 从模拟电路到数字电路,从电源管理芯片到具有高端处理能力的核心处理器,都有相当数量的IC 设计公司参与其中并已取得了突出的成绩.但是,惟有LCD控制和驱动芯片这一领域,其主导者仍为欧美,韩日以及我国香港和台湾地区的企业,内地的IC设计公司参与者不多.FPGA的出现给国内的IC设计带来了转机.收稿日期:2008—01-25;修订日期:2008一l127基金项目:国家自然科学基金(No.60574098)当前,EDA技术的高速发展使电子系统的设计技术和工具发生了深刻的变化.大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便.利用它进行产品开发,不仅成本低,周期短,可靠性高,而且具有完全的知识产权[2伽.本文提出一种基于FPGA的TFT—LCD 数字显示控制器的设计方案,在一片ALTERA公司的FPGA上实现了全部TFT—LCD驱动逻辑.这种设计方法可以根据实际功能任务需求来定制显示控制功能,增强了系统的可靠性和设计的灵活性_5].2器件简介LQ080V3DG01是日本夏普公司生产的一款对角线为21cm(8.4in)的液晶屏,640X480RGB点阵格式,RGB数据位均为6位,可以显示262144种颜色,4个时序驱动信号,液晶屏可以使用5V或3.3V电压驱动,采用开关电源作为背光驱动电源,重量约为400g.FPGA采用的是ALTERA公司的EPIC6一T144C8.EP1C6T144C8有144个引脚,最大可使用的I/O口是98个,支持JTAG调试,AS下载,内有5980个LES,总的RAM位数是92160bit,内嵌有2个锁相环,4个全局时钟,内核电压为1.5V,输出I/O口驱动电压为3.3V,支持LVDs,TTL,CMOS等电平传输.采用的配置芯片为EPCS1.EP1C6T144C8是一款低端的FPGA第2期程明,等:基于FPGA的TFT—LCD显示驱动设计229 芯片,具有较高的性价比.3FPGA内部电路设计3.1时序FPGA的内部时序根据夏普公司提供的液晶模块资料而设计.表1是LQ08oV3DG01正常工作时的时序信号特性表引.根据LQO8OV3DG01的时序信号特性表,可以描绘出LCD的时序电路图,如图1所示.表1LCD的驱动周期Table1DrivecycleofLCDmodule时钟数据信号使能信号场同步信号行信号数据信号Tep图1LCD的时序图Fig.1TimesequenceofLCDmodule3.2驱动程序设计根据上述时序电路图,可以为FPGA设计出驱动程序模块[5].LQ080V3DG01是18位彩色(R,G,B分别为6位)的信号接口液晶模块,可以显示2621l4种颜色.根据实际需要,我们只取了其中16位的RGB信号线,剩下的两根信号线接地.除此之外,还需要一根行同步信号线,一根场同步信号线,一根使能信号线和一根时钟信号线.这样共有2O根信号线[7].根据表1所提供正常时序特性数据,为LQO8OV3DG01选取的像素时钟是20MHz,可利用锁相环倍频实现.行信号周期为800个像素时钟,这样可以计算出行信号的频率为:Hs一20MHz/8OO一25kHz(1)选取的场周期为525个行信号,同样,可以计算出场信号的频率:Vs—Hs/525≈48Hz(2)也就是说,液晶屏幕刷新一次的频率是48Hz.这样,就可以根据数据与显示颜色的关系,结合时序电路图,在LCD上显示任何颜色的图形引.3.2.1行同步周期设计程序根据时序,在行信号的800个像素时钟中,使能信号上升沿与行信号上升沿距离时间差最小为44个时钟信号,这里选用的时间差是150个时钟. 用V erilogHDL写的部分行同步周期时序程序如下:always@(posedgeclk)//行同步周期设计嗍beginif(al一一10d799)//800个像素时钟al一10"d0;elseal—al+10dl;if(a1===一99)hs----l'dl;230液晶与显示第24卷elseif(a1==:一10do)hs一1dO:if(al一一10d149)//使能信号上升沿与行信号上升沿的距离是150个时钟h—xiaol'dl;elseif(al===一10d789,h—xiao=l"d0;end3.2.2场同步周期设计程序场同步信号是控制每一屏幕的刷新起始位置,保持同步,防止图像扭曲.场周期为525个行时钟周期,当场信号下降沿到达后,34个行同步周期后开始刷新整个屏幕.场同步周期的时序设计部分程序如下: always@(posedgehs)//场同步周期设计beginif(a2一一10d2)VS一1"dl:elseif(a2===一10dO)VS===l"d0;if(a2一一10d33)//34个行同步周期后开始刷新整个屏幕V—xiao—l'dl;//v—xiao为外部数据信号开始输入的使能控制信号elseif(a2一一10d513)v—xiao一1do;if(a2一一10d524,a2—1OdO:elsea2===a2+10dl:end3.2.3外部图形数据输出控制结合场周期信号和行周期信号,根据时序,可以生成使能信号,这样就可以控制存在RAM里的外部图像数据输入,将外部图像数据转化成RGB信号.外部图像数据转化为RGB数据的部分程序如下:assignenable1一(h—xiao&&v—xiao)?1d1:l"d0;assignenable=h—xiao;//使能信号always@(posedgeelk)//结合外部电路输出RGB信号beginif(enablel一一ldo)begincount一10dO;data—out一16do;end//根据使能信号清零elsebegincount—count4-10dl:if(count[8:ol一一data8L8Lcount[93一一l'dO)data—out一16d2016;//输出数据颜色,2016表示绿色elseif(count[8:0]一一(data+9d1)&8L count[-93====l'dO)data—Out=16d2016;//周围多点显示同一点信号,加大显示亮度和显示面积elsedata—out=16do;endend4程序验证EP1C6T144c8内部含有2O个4kRAM块.所以,无论是外部的MCU模块,还是内部定制的CPU或者是内部电路在处理完图像数据后,只要写入FPGA的内部RAM中,通过时序配合,就可以将图像数据转化为RGB信号提供给LQ080V3DG01显示.图2为在RAM中初始化一个正弦波图形数据后显示的图像[1川.图2在RAM中初始化一个正弦波图形数据后所显示的图像Fig.2DisplayimageofasinewaveafteritsdatahadbeeninitializedinRAM第2期程明,等:基于FPGA的TFT—LCD显示驱动设计23l结论实际的性能测试与环境试验结果表明,采用FPGA实现TFT—LCD数字显示控制器的设计方案具有良好的显示效果.用FPGA设计驱动电路,参考文献:不仅具有通用性好和可移植性强的优点,而且还能在FPGA中嵌入其它功能模块,增加了系统的可靠性和设计的灵活性.这样可充分利用FPGA资源并节省外部资源,使外部硬件电路简单化,减少了硬件设计流程,提高了可靠性,降低了成本.[1]徐杰,杨虹,郭树旭,等.TFTLCD周边驱动电路集成化设计LJ].液晶与显示,2004,19(1):42—47.[2]吕国亮,赵曙光,赵俊.嵌入式逻辑分析技术及其在FPGA系统开发中的应用[J].液晶与显示,2007,22(2):227—23l_[3]杨旭光,丁铁夫,刘维亚,等.基于FPGA的高速DSP与液晶模块接口的实现[J].液晶与显示,2007,22(3):342—345.[4]黄健.一种基于CPLD的256级灰度模拟液晶屏显示方法[J].液晶与显示,2008,23(5):555—559.[5]朱耀东,张焕春,经亚枝.基于FPGA的一种高速图形帧存设计EJ].电子技术应用,2003,(2):7274.[6]赵晶,李平,王丹.单片机控制OLED显示全彩色静态图片和动态图像的系统设计[J].液晶与显示,2006,21(1):67—72.[7]邓春健,王琦等.基于FPGA和ADV7123的VGA显示接口的设计和应用[J].电子器件,2006,19(4):25—28.[8]曹允.基于基于FPGA的VGA时序彩条实现方法及其应用[J].电子技术应用,2002,(11):42—45.[9]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.[10]吴继华.AlteraFPGA/CPLD设计(高级篇)EM].北京:人民邮电出版社,2005.[11]王冠,俞一呜.面向cPLD/FPGA的V erilog设计[M].北京:机械工业出版社,2007. DesignofDisplayDrivingforTFT-LCDBasedonFPGACHENGMing,XIAOZu—sheng(InformationEngineeringCollege,ZhengzhouUniversity,Zhengzhou450001,China,E-m ail:********************)AbstractAdesignmethodofhowtouseSharpLQ080V3DG01TFT—LCDmoduleisintroducedadisplay systemofdrivingisdesignedandproducedbyfieldprogrammablegatearray(FPGA).Drivin gcircuitingFPGAtodesigndrivi ngcircuitissuccinct,thecontrolmodulecanbechangediftheactualdemandischanged.Then,thesyste mreliabilityanddesignflexibilityareimproved,theproblemofprojectcanbesolvedquickly. Keywords:LCD;Sharp;FPGA;driving作者简介:程明(1949--),男,河南郑州人,教授,硕士生导师,从事通信和计算机应用的研究.。

基于FPGA的LCD大屏幕拼接系统的设计

基于FPGA的LCD大屏幕拼接系统的设计

基于FPGA的LCD大屏幕拼接系统的设计
 项目概述
 随着各种图形、图像内容质量的不断提升以及系统运行实时显示的需要,金融、通信、交通、能源、安全、军事等越来越多的行业需要建立能够实时整合多路信号输入的超大屏幕显示系统。

而数字技术的飞速发展,也使人们对大尺寸、多画面、真色彩、高画质、高分辨率的计算机图形、图文、数据与各类视频图像显示效果的需求得以满足。

其中,以视频信息的要求最为强烈,人们不仅希望视频显示尺寸的越来越大,而且视频显示质量也要求能达到多画面、真色彩、高画质、高分辨率。

 在大屏幕拼接系统中,拼接控制器的优劣直接决定着整个大屏幕显示系统效果的好与坏,目前,拼接控制器的实现方法共三种:第一代PCI插卡式的工作原理是通过工控机,利用多路PCI计算机主板,一部分PCI插槽插入视频采集卡,另外一部分PCI插槽插入视频输出卡,输入和输出中间由CPU来构建一个运算和处理中心,这时就组建成了一台工控式控制器。

他的图形处理原理是通过CPU运算后将母信号分割成M*N个子视频信号后,再把每一个子信号都进行放大处理分别传送给拼接幕墙上的各个对应单元,显示单元将处理器传送来的信号实现在大屏幕的每个显示单元上,而分辨率和处理速度由计算机CPU及对应的PCI卡决定,故性能有限。

第二代嵌入式拼接器也。

FPGA控制的LCD显示电路设计

FPGA控制的LCD显示电路设计

FPGA控制的LCD显示电路设计一、实验目的1.了解12864点阵型液晶显示器的显示原理。

2.掌握12864点阵型液晶显示器的接口设计。

3.利用12864点阵型液晶显示器来实现LCD广告字幕机的设计。

二、实验内容与要求利用12864点阵型液晶显示模块设计一个可显示图形和中文字符的LCD广告字幕机。

1.基本要求:1)能够显示图形和文字。

2)要求显示的图形或文字稳定、清晰无串扰。

3)在目测条件下LCD显示屏各点亮度均匀、充足。

2.提高要求4)图形或文字显示有静止、移入移出等显示方式。

5)显示屏刷新频率要求达到85Hz。

一.引言LCD液晶显示器是Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。

比CRT要好的多,但是价钱较其它显示器贵。

FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Ou tput Block)和内部连线(Interconnect)三个部分。

FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

基于FPGA液晶显示模块设计

基于FPGA液晶显示模块设计

基于FPGA液晶显示模块设计Title: Design of an FPGA Based-LCD Display ModuleAbstractIn this paper, we present a design of an FPGA-based LCD display module. The display module is composed of an LCD panel, a controller circuit, and an FPGA. The FPGA is used to generate the control signals for the LCD panel, which is an important part for displaying image and videos. Thecontroller circuit is responsible for providing the power and signal processing for the display module. We have designed and tested the display module using an Altera Cyclone V FPGA and a 7-inch TFT LCD panel. The results show that the display module has high resolution and excellent quality, making it suitable for a range of applications, including industrial control, medical equipment and multimedia.1. IntroductionCurrently, LCD displays are widely used in various fields, such as transportation, medical equipment, and automation control. High-quality LCD displays require high integration, low power consumption, and high reliability. FPGA-based LCD display modules provide a viable solution that offers high performance and low power consumption, especially in applications that require high resolution and flexibility. In this paper, we describe the design and implementation of an FPGA-based display module that offers high resolution and excellent video quality.2. Overview of the SystemThe proposed display module consists of an LCD panel, acontroller circuit, and an FPGA, as shown in Figure 1.![figure1.png](attachment:figure1.png)Figure 1: Block diagram of the FPGA-based LCD display moduleThe LCD panel contains a 7-inch TFT-LCD with aresolution of 800x480 pixels, and operates with 16-bit RGB interface. The controller circuit includes a power supply circuit, a timing generation circuit, and a data processing circuit. The power supply circuit provides DC voltage required for the operation of the TFT-LCD. The timing generation circuit generates the timing signals required for the LCD control. The data processing circuit converts the parallel RGB data to serial digital signals that are sent to the FPGA.The FPGA is responsible for generating the control signals for the LCD panel based on the provided data. The FPGA receives serial digital signals from the data processing circuit, and then uses its internal logic to generate the timing signals and control signals that synchronize the display module with the input data.3. Hardware DesignThe overall hardware design of the FPGA-based LCD display module is shown in Figure 2.![figure2.png](attachment:figure2.png)Figure 2: Schematic diagram of the FPGA-based LCD display module3.1 Power Supply CircuitThe power supply circuit consists of a DC-DC converter that converts the input voltage to the required voltage for the TFT-LCD. The converter used is an LT3480-5, which is a 5V, 2A DC-DC converter. The output voltage of the DC-DC converter isadjustable by a potentiometer. The recommended voltage for the TFT-LCD used in this design is 3.3V.3.2 Timing Generation CircuitThe timing generation circuit is responsible for generating the timing signals required for the TFT-LCD control. The module used in this design is a Timing Controller (TCON) module, which generates the Horizontal Sync (HSYNC), Vertical Sync (VSYNC), and Pixel Clock (PCLK) signals. The timing signals generated by the TCON module are output to the FPGA for further processing.3.3 Data Processing CircuitThe data processing circuit is responsible for processing the RGB data and converting it to serial digital signals that are sent to the FPGA. The circuit used in this paper is a Serializer/Deserializer (SERDES) module. The SERDES module converts the parallel RGB data into serial digital signals that are transmitted to the FPGA through a differential pair.3.4 FPGA DesignThe FPGA used in this design is the Altera Cyclone V, whichis a low-power, low-cost FPGA. The FPGA has 45K logic elements, and a maximum operating frequency of 100MHz. The FPGA is programmed to generate control signals for the LCD panel based on the timing signals and data signals received from the TCON and SERDES modules. The hardware design of the FPGA consists of the following modules: clock module, data module, timing module, and logic module.The clock module generates the internal clock signal required for the operation of the other modules. The data module receives the serial digital signals from the SERDES module and processes the data to generate pixel data for the LCD panel. The timing module generates timing signalsrequired for the LCD control based on the timing signals received from the TCON module. The logic module generates control signals for the LCD panel based on the data andtiming signals received from the data and timing modules.4. Results and AnalysisThe FPGA-based LCD display module was designed and testedusing a Cyclone V FPGA and a 7-inch TFT LCD panel. The FPGA was programmed using the Quartus II software, and the timing signals and data signals were generated by the TCON moduleand SERDES module, respectively. The FPGA generated thecontrol signals based on the input signals, and the LCD panel displayed the output image.The results showed that the display module was able to achieve a resolution of 800x480 pixels with excellent video quality. The display module consumed less than 2W of power, making it suitable for low-power applications. The modulecould display images and videos with high dynamic range and rich color, making it suitable for a wide range of applications, including industrial control, medical equipment, and multimedia.5. ConclusionIn this paper, we presented a design of an FPGA-based LCD display module that provides high resolution and excellent video quality. The display module was designed using anAltera Cyclone V FPGA and a 7-inch TFT LCD panel. The results of the tests showed that the display module has highresolution and excellent video quality, making it suitablefor a range of applications. The FPGA-based LCD displaymodule provides a low-cost, low-power solution for high-quality displays, and can be used in various fields,including industrial control, medical equipment, and multimedia.。

(完整word)基于FPGA的 LCD1602显示控制器设计

(完整word)基于FPGA的 LCD1602显示控制器设计

唐山学院《EDA技术》课程设计题目 LCD1602显示控制器设计系(部) 信息工程系班级 11电本3班姓名刘亮学号 4110218214指导教师郭耀华田丽欣柳延领2014 年6 月 30 日至 7月 4日共 1 周2014年 7月 4日课程设计成绩评定表目录1 引言 01.1 EDA技术的介绍 01。

2 EDA技术的发展 (1)2 VHDL/Quartus II简介 (2)2.1 VHDL语言介绍 (2)2。

2 界面介绍 (3)3 模块设计 (4)3。

1 LCD1602液晶模块 (4)3.2 矩阵键盘模块 (7)3。

3 设计思路 (8)4 系统设计方案一 (8)4.1 矩阵键盘模块设计 (9)4。

2 LCD1602液晶显示模块设计 (12)5 系统设计方案二 (14)5.1拨码开关控制的LCD1602显示模块 (14)5。

2拨码开关控制的LCD1602显示模块程序 (15)5。

3拨码开关控制的LCD1602显示模块仿真图 (18)6 设计总结 (18)参考文献 (19)1 引言1.1 EDA技术的介绍在电子设计自动化(英语:Electronic design automation,缩写:EDA)出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时所谓集成电路的复杂程度远不及现在.工业界开始使用几何学方法来制造用于电路光绘(photoplotter)的胶带.到了1970年代中期,开发人员尝试将整个设计过程自动化,而不仅仅满足于自动完成掩膜草图。

第一个电路布线、布局工具研发成功.设计自动化会议(Design Automation Conference)在这一时期被创立,旨在促进电子设计自动化的发展.电子设计自动化发展的下一个重要阶段以卡弗尔·米德(Carver Mead)和琳·康维于1980年发表的论文《超大规模集成电路系统导论》(Introduction to VLSI Systems)为标志。

基于FPGA的LCD大屏幕拼接系统的设计

基于FPGA的LCD大屏幕拼接系统的设计

基于FPGA的LCD大屏幕拼接系统的设计
项目概述
随着各种在大屏幕拼接系统中,拼接控制器的优劣直接决定着整个大屏
幕显示系统效果的好与坏,目前,拼接控制器的实现方法共三种:第一代PCI
插卡式的工作原理是通过工控机,利用多路PCI 计算机主板,一部分PCI 插槽
插入视频采集卡,另外一部分PCI 插槽插入视频输出卡,输入和输出中间由
CPU 来构建一个运算和处理中心,这时就组建成了一台工控式控制器。

他的数
字化系统产品中,直接采用超大规模、超高速的现场可编程门阵列
(FPGA,Field Programmable Gate Array),基于其高集成度、高速、可编程等优点,来实现硬件单片集成,已成为必然趋势。

FPGA 丰富的内部资源及高速为
实时视频处理提供解决途径。

因此,本项目设计基于FPGA 的数字视频处理算法,实现对DVI 视频
信号进行解码,实时对数字视频的分割、视频一、1、系统概述
1.1 系统结构
整个LCD 屏幕显示拼接系统包含DVI 解码模块、视频分割模块、SRAM、视频延展式线性插值放大模块、视频输出控制模块、DVI 编码模块等。

FPGA 内部逻辑实现将输入数字视频分成四路并行的子视频像素流,经各自独
立的视频处理通道进行实时插值放大处理。

经过视频编码电路输出到由 4 个LCD 显示屏组成的拼接屏幕上进行视频显示。

应用系统硬件平台的系统结构
设计方案,如
1.2 系统原理
LCD 屏幕拼接显示系统的工作原理,系统接收一路DVI 数字视频信号,。

基于FPGA的液晶显示控制器设计

基于FPGA的液晶显示控制器设计

基于FPGA的液晶显示控制器设计液晶显示器由于具有低压、微功耗、显示信息量大、体积小等特点,在移动通信终端、便携计算机、GPS 卫星定位系统等领域有广泛用途,成为使用量最大的显示器件。

液晶显示控制器作为液晶驱动电路的核心部件通常由集成电路组成,通过为液晶显示系统提供时序信号和显示数据来实现液晶显示。

本设计是一种基于FPGA(现场可编程门阵列)的液晶显示控制器。

与集成电路控制器相比,FPGA 更加灵活,可以针对小同的液晶显示模块更改时序信号和显示数据。

FPGA 的集成度、复杂度和面积优势使得其日益成为一种颇具吸引力的高性价比ASIC 替代方案。

本文选用Xilinx 公司的SpananIII 系列XC3S200 器件,利用硬件描述语言Verilog 设计了液晶显示拧制器,实现了替代专用集成电路驱动控制LCD 的作用。

1 功能分析与设计要求液晶显示模块(LCM)采用深圳拓扑微LM2028、STN 列驱动器逻辑电路由移位寄存器和锁存器构成,在一个显示数据位移脉冲信号CP 作用下,将一组显示数据(4 位)位移到寄存器中并保持。

当下一个CP 到来后。

移位寄存器中第1 位显示数据被移至第2 位,这样在80 个CP 脉冲作用下,一行显示数据被存入寄存器后,寄存器并口对接锁存器,在锁存脉冲LP 的作用下,该行数据被锁存到锁存器内输出给列电极。

锁存脉冲LP 的间隔为一个行周期,而行移位脉冲间隔也为一个行周期,因此二者是一致的。

帧扫描信号FLM 即为行选通信号,脉宽为一行时间,在行移位脉冲LP 作用下,存入移位寄存器后逐行位移,在一帧的最后一行输出高电平,代表下一帧的开始。

M 为液晶显示交流驱动波形信号,即一帧改变一次波形的极性,防止液晶单方向扭曲变形。

更为详细的时序关系如2.1 液晶控制器总体设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

12864点阵型液晶显示器的VHDL设计与实现陈曦河南科技大学电子信息工程学院信科063班摘要:介绍LCD12864的组成及工作原理,论述了基于VHDL语言和FPGA芯片的数字系统的设计思想和实现过程。

关键词:数字电压表;VHDL语言;FPGAVHDL Realization of Digital VoltmeterAbstract: The composition and working principle of Point LCD display were introduced in this paper, the designing idea and implementation proces s based on VHDL and FPGA were also described.Key words: digital voltmeter; VHDL; FPGA在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。

本文用FPGA芯片和VHDL语言设计了一个数字电压表,举例说明了利用VHDL语言实现数字系统的过程。

1.系统组成及工作原理整个LCD的硬件结构如下图所示。

本设计所用的JM12864A是一种图形点阵液晶显示器,它主要由行驱动器、列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示;也可以显示8×4个(16×16点阵)汉字。

1.12864点阵型液晶显示器的显示原理12864液晶显示屏共有128×64点阵,即每行显示128点,每列显示64点。

此种型号的液晶显示屏以中间间隔平均划分为左屏和右屏分别显示,均为64×64点阵,而且各自都有独立的片选信号控制选择。

先显示左屏,左屏全部显示完后才能显示右屏。

显示屏上的显示数据由显示数据随机存储器DDRAM提供。

DDRAM每字节中的每1个bit,对应显示屏上的1个点。

bit值为1,对应点显示,反之不显示。

DDRAM与显示屏的对应位置如图1所示。

每半屏显示数据共有512字节的DDRAM,分为8个数据页来管理,这些页对应显示屏从上到下编号为0-7页,每页64字节,涵盖半边显示屏的64行×64列×8bit点阵数据。

向显示屏写数据实际上是向DDRAM中写数据,DDRAM不同页和不同列中的字节数据唯一对应显示屏一行的8个显示点。

工作时,LCD显示电路实现分行显示“河南科技大学”、“电信科×级×班”、“姓名1和姓名2”及实际测量电压值。

2.FPGA功能模块的设计12864点阵型液晶显示器的各个模块都是用VHDL语言编程实现的。

本设计所用的JM12864A是一种图形点阵液晶显示器,它主要由行驱动器、列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示;也可以显示8×4个(16×16点阵)汉字。

1.12864点阵型液晶显示器的显示原理12864液晶显示屏共有128×64点阵,即每行显示128点,每列显示64点。

此种型号的液晶显示屏以中间间隔平均划分为左屏和右屏分别显示,均为64×64点阵,而且各自都有独立的片选信号控制选择。

先显示左屏,左屏全部显示完后才能显示右屏。

显示屏上的显示数据由显示数据随机存储器DDRAM提供。

DDRAM每字节中的每1个bit,对应显示屏上的1个点。

bit值为1,对应点显示,反之不显示。

DDRAM与显示屏的对应位置如图1所示。

每半屏显示数据共有512字节的DDRAM,分为8个数据页来管理,这些页对应显示屏从上到下编号为0-7页,每页64字节,涵盖半边显示屏的64行×64列×8bit点阵数据。

向显示屏写数据实际上是向DDRAM中写数据,DDRAM不同页和不同列中的字节数据唯一对应显示屏一行的8个显示点。

例如,向DDRAM 第0页的第0列写入数据00010100B,则显示屏左上角第0列的8个显示点只有从上往下的第3和5点显示。

不同页和不同列DDRAM的寻址,通过左半屏和右半屏各自的页地址计数器和列地址计数器实现,因此对显示屏DDRAM写显示数据前,需要先设置页地址和列地址。

图1 12864液晶显示屏与内部RAM的对应关系2.12864液晶显示器的内部结构及外部引脚1)12864液晶显示器的内部结构IC1控制模块的左半屏,IC2控制模块的右半屏。

IC3为行驱动器。

IC1,IC2为列驱动器。

IC1,IC2,IC3含有如下主要功能器件。

了解如下器件有利于对LCD模块的编程。

a)指令寄存器(IR)IR是用来寄存指令码,与数据寄存器寄存数据相对应.当D/I=1 时,在E信号下降沿的作用下,指令码写入IR。

.b)数据寄存器(DR)DR是用来寄存数据的,与指令寄存器寄存指令相对应.当D/I=1时,在E信号的下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7~DB0 数据总线.DR 和DDRAM之间的数据传输是模块内部自动执行的。

c)状态寄存器有效数据位3位,用于记录“忙”信号标志位(BF),复位标志位(RST)以及开/关显示状态位(ON/OFF)。

d)XY地址计数器XY地址计数器是一个9位计数器。

高三位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y 地址计数器为DDRAM的Y地址指针。

X地址计数器是没有记数功能的,只能用指令设置。

Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

e)显示数据RAM(DDRAM)DDRAM是存贮图形显示数据的。

DDRAM与地址和显示位置的关系见图1。

f)Z地址计数器Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。

当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。

Z地址计数器可以用指令DISPLAY START LINE 预置。

因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。

此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

2)12864液晶显示器的外部引脚12864液晶显示模块共有20个引脚,包括8位双向数据线、6条控制线及电源线等。

具3.12864液晶显示器的编程指令1)显示开关控制(DISPLAY ON/OFF)代码形式设置屏幕显示开/关。

D/I=1,开显示。

D=0,关显示。

不影响DDRAM中的内容。

2)设置显示起始行(DISPLAY START LINE)代码形式6位地址自动送入Z地址计数器,起始行的地址可以是0~63的任意一行。

例如:选择A5~A0是62,则起始行与DDRAM行的对应关系如下:DDRAM 行:62 63 0 1 2 3 ·················28 29屏幕显示行: 1 2 3 4 5 6·················31 323)设置页地址(SET PAGE “X ADDRESS”)代码形式页。

读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。

4)设置Y地址(SET Y ADDRESS)代码R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0形式此指令的作用是将A5~A0送入Y地址计数器,作为DDRAM的Y地址指针。

在对DDRAM 进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元。

5)读状态(STA TUS READ)代码R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0形式当R/W=1 D/I=0时,在E信号为“H”的作用下,状态分别输出到数据总线(DB7~DB0)的相应位。

BF:BF=1,内部正在进行操作,BF=0,空闲状态。

ON/OFF:ON/OFF=1,表示显示打开,ON/OFF=0,表示显示关闭。

RST: RST=1表示内部正在初始化,此时组件不接受任何指令和数据。

6)写显示数据(WRITE DISPLAY DA TE)代码形式7)读显示数据(READ DISPLAY DA TE)代码R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0形式此指令把DDRAM的内容D7~D0读到数据总线DB7~DB0,Y地址指针自动加1。

3. 12864点阵型液晶显示器的接口电路设计通过前面对12864显示屏引脚功能的分析可以知道,该模块有一个整体的片选信号“E”,只有当该信号为高电平时,所有的电路才会有效。

另外左右半屏各有一个选择信号CS1和CS2,CS1和CS2各自为低电平时,分别选中左半屏和右半屏。

为了区分读写的是数据还是指令,还设置了一个数据/指令控制线D/I。

根据这些原则,设计出接口电路如图3所示。

图3 液晶显示器的接口电路由于CS0的地址范围为280H-283H,由接口电路的设计可得液晶屏的相关地址,如下表。

4. 12864点阵型液晶显示器的软件设计对液晶显示器的编程就是向DDRAM中写数据。

在写DDRAM之前,需要先清除RAM,且左屏和右屏要分别进行清除。

方法就是向RAM的所有单元写入0值。

图4是液晶显示器的编程流程。

图5是向LCD写显示数据的流程图。

广告字幕机是用LCD输出不同的汉字和图形。

要液晶显示器显示不同的图形或汉字,就是向DDRAM中写入不同的数据。

根据前面所说的液晶显示屏与DDRAM的对应关系,可以构造不同的数据来显示不同的图形和汉字。

图4液晶显示器的编程流程图5向LCD写显示数据的流程图5. 12864点阵型液晶显示器驱动程序设计VHDL程序源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY LCD_TEXT ISPORT(CLK: IN STD_LOGIC;RS,RW,CS1,CS2,E: OUT STD_LOGIC;Q: BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0) );END;ARCHITECTURE BEHA V OF LCD_TEXT ISTYPE STATES IS(ST1,ST2,ST3,ST4,ST5,ST6,ST7,ST8,ST9,ST10,ST11,ST12,ST13,ST14,ST15,STA1,STA2,STA3,STA4,STA5,STA6,STA7,STA8,STA9,STA10,ST16,ST17,ST18,ST19,ST20,ST21,ST22,ST23,ST24,ST25,ST26,ST27,ST28,ST29,ST30,ST31,ST32,ST33,ST34);SIGNAL PRE_STA TE,NEXT_STA TE:STATES;SIGNAL DA TALOCK,EN,RST1:STD_LOGIC;SIGNAL XP AGE:STD_LOGIC_VECTOR(7 DOWNTO 0):="10111000";SIGNAL Y ADDR:STD_LOGIC_VECTOR(7 DOWNTO 0):="01000000";BEGINCLOCK:PROCESS(CLK) --将时钟进行分频V ARIABLE CONT:INTEGER RANGE 0 TO 20;BEGINIF CLK'EVENT AND CLK='1' THENCONT:=CONT+1;IF CONT = 12 THEN DA TALOCK<='0';CONT:=0; --DATALOCK是13进制ELSIF CONT=9 THENDA TALOCK<='1';END IF;END IF;END PROCESS CLOCK;EN<= NOT DA TALOCK;E<=EN;DA TAK:PROCESS(EN,PRE_STATE)V ARIABLE CNT : INTEGER RANGE 0 TO 255;BEGINIF EN'EVENT AND EN='1' THENCASE PRE_STATE ISWHEN STA1=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST1; END IF; --CHECK BUSYWHEN ST1=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<="00111111";PRE_STA TE<=ST2; --显示开关设置WHEN ST2=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<="11000000";PRE_STATE<=ST3; --起始行设置--左半清屏WHEN ST3=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=XPAGE;PRE_STA TE<=ST4; --页地址设置WHEN ST4=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=Y ADDR;PRE_STATE<=ST5; --列地址设置WHEN ST5=>RS<='1';RW<='0';CS1<='0';CS2<='1';IF XPAGE>"10111111" THENXPAGE<="10111000";Y ADDR<="01000000";PRE_STATE<=ST6; --左半清屏完毕,进入下一状态ELSIF Y ADDR>"01111111" THENY ADDR<="01000000";XPAGE<=XP AGE+1; --清完一页,开始下一页PRE_STATE<=ST3; --返回重新设置页地址ELSEQ<="00000000";Y ADDR<=Y ADDR+1;PRE_STATE<=ST5; --清完一列,开始下一列END IF;--右半清屏WHEN STA2=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST6;END IF;WHEN ST6=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=XPAGE;PRE_STA TE<=ST7; --页地址设置WHEN ST7=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=Y ADDR;PRE_STATE<=ST8; --列地址设置WHEN ST8=>RS<='1';RW<='0';CS1<='1';CS2<='0';IF XPAGE>"10111111" THENXPAGE<="10111000";Y ADDR<="01000000";PRE_STATE<=ST9; ----右半清屏完毕,进入下一状态ELSIF Y ADDR>"01111111" THENY ADDR<="01000000";XPAGE<=XP AGE+1; --清完一页,开始下一页PRE_STATE<=ST6; --返回重新设置页地址ELSEQ<="00000000";Y ADDR<=Y ADDR+1;PRE_STATE<=ST8; --清完一列,开始下一列END IF;--清屏完毕,开始显示数据--显示上半边WHEN STA3=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST9;END IF;WHEN ST9=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<="00111111";PRE_STA TE<=ST10; --ON/OFF WHEN ST10=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=XPAGE;PRE_STA TE<=ST11; --SET PAGE PAGE 0WHEN ST11=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=Y ADDR;PRE_STA TE<=ST12; --SET ROW ROW 0WHEN ST12=>RS<='1';RW<='0';CS1<='0';CS2<='1';Q<=UNIVERSITY(CNT);IF CNT=16 THENXPAGE<="10111001";Y ADDR<="01000000";PRE_STATE<=ST10; --0~15ELSIF CNT=32 THENXPAGE<="10111000";Y ADDR<="01010000";PRE_STATE<=ST10; --16~31ELSIF CNT=48 THENXPAGE<="10111001";Y ADDR<="01010000";PRE_STATE<=ST10;ELSIF CNT=64 THENXPAGE<="10111000";Y ADDR<="01100000";PRE_STA TE<=ST10; --32~47ELSIF CNT=80 THENXPAGE<="10111001";Y ADDR<="01100000";PRE_STA TE<=ST10;ELSIF CNT=96 THENXPAGE<="10111000";Y ADDR<="01110000";PRE_STATE<=ST10; --48~63ELSIF CNT=112 THENXPAGE<="10111001";Y ADDR<="01110000";PRE_STATE<=ST10;ELSIF CNT=128 THENXPAGE<="10111010";Y ADDR<="01000000";PRE_STATE<=ST13;CNT:=0;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST12;END IF;WHEN STA4=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST13;END IF;WHEN ST13=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=XPAGE;PRE_STA TE<=ST14; --SET PAGE PAGE 2WHEN ST14=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=Y ADDR;PRE_STATE<=ST15; --SET ROW ROW 0WHEN ST15=>RS<='1';RW<='0';CS1<='0';CS2<='1';Q<=CLASS(CNT);IF CNT=16 THENXPAGE<="10111011";Y ADDR<="01000000";PRE_STA TE<=ST13; --0~15ELSIF CNT=32 THENXPAGE<="10111010";Y ADDR<="01010000";PRE_STATE<=ST13; --16~31ELSIF CNT=48 THENXPAGE<="10111011";Y ADDR<="01010000";PRE_STA TE<=ST13;ELSIF CNT=64 THENXPAGE<="10111010";Y ADDR<="01100000";PRE_STA TE<=ST13; --32~47ELSIF CNT=80 THENXPAGE<="10111011";Y ADDR<="01100000";PRE_STATE<=ST13;ELSIF CNT=96 THENXPAGE<="10111010";Y ADDR<="01110000";PRE_STATE<=ST13; --48~63ELSIF CNT=112 THENXPAGE<="10111011";Y ADDR<="01110000";PRE_STA TE<=ST13;ELSIF CNT=128 THENXPAGE<="10111100";Y ADDR<="01000000";PRE_STA TE<=ST16;CNT:=0;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST15;END IF;WHEN STA5=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q<="00100000" THEN PRE_STA TE<=ST16; END IF;WHEN ST16=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=XPAGE;PRE_STA TE<=ST17; --SET PAGE PAGE 4WHEN ST17=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=Y ADDR;PRE_STATE<=ST18; --SET ROW ROW 0WHEN ST18=>RS<='1';RW<='0';CS1<='0';CS2<='1';Q<=NAME(CNT);IF CNT=16 THENXPAGE<="10111101";Y ADDR<="01000000";PRE_STA TE<=ST16; --0~15ELSIF CNT=32 THENXPAGE<="10111100";Y ADDR<="01010000";PRE_STA TE<=ST16; --16~31ELSIF CNT=48 THENXPAGE<="10111101";Y ADDR<="01010000";PRE_STA TE<=ST16;ELSIF CNT=64 THENXPAGE<="10111100";Y ADDR<="01100000";PRE_STATE<=ST16; --32~47ELSIF CNT=80 THENXPAGE<="10111101";Y ADDR<="01100000";PRE_STATE<=ST16;ELSIF CNT=96 THENXPAGE<="10111100";Y ADDR<="01110000";PRE_STA TE<=ST16; --48~63ELSIF CNT=112 THENXPAGE<="10111101";Y ADDR<="01110000";PRE_STA TE<=ST16;ELSIF CNT=128 THENXPAGE<="10111110";Y ADDR<="01000000";PRE_STATE<=ST19;CNT:=0;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST18;END IF;WHEN STA6=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST19; END IF;WHEN ST19=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=XPAGE;PRE_STA TE<=ST20; --SET PAGE PAGE 6WHEN ST20=>RS<='0';RW<='0';CS1<='0';CS2<='1';Q<=Y ADDR;PRE_STATE<=ST21; --SET ROW ROW 0WHEN ST21=>RS<='1';RW<='0';CS1<='0';CS2<='1';Q<=VOLTAGE(CNT);IF CNT=16 THENXPAGE<="10111111";Y ADDR<="01000000";PRE_STA TE<=ST19; --0~15ELSIF CNT=32 THENXPAGE<="10111110";Y ADDR<="01010000";PRE_STATE<=ST19; --16~31ELSIF CNT=48 THENXPAGE<="10111111";Y ADDR<="01010000";PRE_STA TE<=ST19;ELSIF CNT=64 THENXPAGE<="10111110";Y ADDR<="01100000";PRE_STA TE<=ST19; --32~47ELSIF CNT=80 THENXPAGE<="10111111";Y ADDR<="01100000";PRE_STATE<=ST19;ELSIF CNT=96 THENXPAGE<="10111110";Y ADDR<="01110000";PRE_STATE<=ST19; --48~63ELSIF CNT=112 THENXPAGE<="10111111";Y ADDR<="01110000";PRE_STA TE<=ST19;ELSIF CNT=128 THENXPAGE<="10111000";Y ADDR<="01000000";PRE_STATE<=ST22;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST21;END IF;--next printWHEN STA7=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST22; END IF;WHEN ST22=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<="00111111";PRE_STA TE<=ST23; --ON/OFF WHEN ST23=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=XPAGE;PRE_STA TE<=ST24; --SET PAGEPAGE 0WHEN ST24=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=Y ADDR;PRE_STATE<=ST25; --SET ROW ROW 0WHEN ST25=>RS<='1';RW<='0';CS1<='1';CS2<='0';Q<=UNIVERSITY(CNT);IF CNT=144 THENXPAGE<="10111001";Y ADDR<="01000000";PRE_STATE<=ST23; --0~15ELSIF CNT=160 THENXPAGE<="10111000";Y ADDR<="01010000";PRE_STATE<=ST23; --16~31ELSIF CNT=176 THENXPAGE<="10111001";Y ADDR<="01010000";PRE_STATE<=ST23;ELSIF CNT=192 THENXPAGE<="10111000";Y ADDR<="01100000";PRE_STA TE<=ST23; --32~47ELSIF CNT=208 THENXPAGE<="10111001";Y ADDR<="01100000";PRE_STA TE<=ST23;ELSIF CNT=224 THENXPAGE<="10111000";Y ADDR<="01110000";PRE_STATE<=ST23; --48~63ELSIF CNT=240 THENXPAGE<="10111001";Y ADDR<="01110000";PRE_STATE<=ST23;ELSIF CNT=256 THENXPAGE<="10111010";Y ADDR<="01000000";PRE_STATE<=ST26;CNT:=128;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST25;END IF;WHEN STA8=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST26; END IF;WHEN ST26=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=XPAGE;PRE_STA TE<=ST27; --SET PAGE PAGE 2WHEN ST27=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=Y ADDR;PRE_STATE<=ST28; --SET ROW ROW 0WHEN ST28=>RS<='1';RW<='0';CS1<='1';CS2<='0';Q<=CLASS(CNT);IF CNT=144 THENXPAGE<="10111011";Y ADDR<="01000000";PRE_STA TE<=ST26; --0~15ELSIF CNT=160 THENXPAGE<="10111010";Y ADDR<="01010000";PRE_STATE<=ST26; --16~31ELSIF CNT=176 THENXPAGE<="10111011";Y ADDR<="01010000";PRE_STA TE<=ST26;ELSIF CNT=192 THENXPAGE<="10111010";Y ADDR<="01100000";PRE_STA TE<=ST26; --32~47ELSIF CNT=208 THENXPAGE<="10111011";Y ADDR<="01100000";PRE_STATE<=ST26;ELSIF CNT=224 THENXPAGE<="10111010";Y ADDR<="01110000";PRE_STATE<=ST26; --48~63ELSIF CNT=240 THENELSIF CNT=256 THENXPAGE<="10111100";Y ADDR<="01000000";PRE_STA TE<=ST29;CNT:=128;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST28;END IF;WHEN STA9=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STA TE<=ST29; END IF;WHEN ST29=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=XPAGE;PRE_STA TE<=ST30; --SET PAGE PAGE 4WHEN ST30=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=Y ADDR;PRE_STATE<=ST31; --SET ROW ROW 0WHEN ST31=>RS<='1';RW<='0';CS1<='1';CS2<='0';Q<=NAME(CNT);IF CNT=144 THENXPAGE<="10111101";Y ADDR<="01000000";PRE_STA TE<=ST29; --0~15ELSIF CNT=160 THENXPAGE<="10111100";Y ADDR<="01010000";PRE_STA TE<=ST29; --16~31ELSIF CNT=176 THENXPAGE<="10111101";Y ADDR<="01010000";PRE_STA TE<=ST29;ELSIF CNT=192 THENXPAGE<="10111100";Y ADDR<="01100000";PRE_STATE<=ST29; --32~47ELSIF CNT=208 THENXPAGE<="10111101";Y ADDR<="01100000";PRE_STATE<=ST29;ELSIF CNT=224 THENXPAGE<="10111100";Y ADDR<="01110000";PRE_STA TE<=ST29; --48~63ELSIF CNT=240 THENXPAGE<="10111101";Y ADDR<="01110000";PRE_STA TE<=ST29;ELSIF CNT=256 THENXPAGE<="10111110";Y ADDR<="01000000";PRE_STATE<=ST32;CNT:=128;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST31;END IF;WHEN STA10=>RS<='0';RW<='1';CS1<='0';CS2<='1';IF Q="00100000" THEN PRE_STATE<=ST32;END IF;WHEN ST32=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=XPAGE;PRE_STA TE<=ST33; --SET PAGE PAGE 6WHEN ST33=>RS<='0';RW<='0';CS1<='1';CS2<='0';Q<=Y ADDR;PRE_STATE<=ST34; --SET ROW ROW 0WHEN ST34=>RS<='1';RW<='0';CS1<='1';CS2<='0';Q<=VOLTAGE(CNT);IF CNT=144 THENXPAGE<="10111111";Y ADDR<="01000000";PRE_STA TE<=ST32; --0~15ELSIF CNT=160 THENXPAGE<="10111110";Y ADDR<="01010000";PRE_STATE<=ST32; --16~31ELSIF CNT=176 THENELSIF CNT=192 THENXPAGE<="10111110";Y ADDR<="01100000";PRE_STA TE<=ST32; --32~47 ELSIF CNT=208 THENXPAGE<="10111111";Y ADDR<="01100000";PRE_STATE<=ST32;ELSIF CNT=224 THENXPAGE<="10111110";Y ADDR<="01110000";PRE_STATE<=ST32; --48~63 ELSIF CNT=240 THENXPAGE<="10111111";Y ADDR<="01110000";PRE_STA TE<=ST32;ELSIF CNT=256 THENY ADDR<="01000000";CNT:=128;ELSE Y ADDR<=Y ADDR+1;CNT:=CNT+1;PRE_STA TE<=ST34;END IF;WHEN OTHERS=>PRE_STA TE<=STA1;END CASE;END IF;END PROCESS DATAK;END BEHA6. 软件仿真和硬件验证结果波形检忙显示开关设置起始行设置清左屏开始淸左屏左屏清除完毕清右屏右屏清除按页按列清右屏写左屏写右屏7. 结束语本文设计的VHDL语言程序已在MAXPLUSⅡ工具软件上进行了编译、仿真和调试,并通过编程器下载到了EP1K100QC208-3芯片。

相关文档
最新文档