基于FPGA的液晶控制器接口课程设计论文.doc_第1页
基于FPGA的液晶控制器接口课程设计论文.doc_第2页
基于FPGA的液晶控制器接口课程设计论文.doc_第3页
基于FPGA的液晶控制器接口课程设计论文.doc_第4页
基于FPGA的液晶控制器接口课程设计论文.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 程 设 计 2009 年 7 月 10 日 课程设计任务书 课 程 硬件课程设计 题 目 液晶控制器接口设计 院 系 计算机与信息技术学院 专业班级 学生姓名 学生学号 指导教师 课程 硬件课程设计 题目 液晶控制器接口设计 专业 计算机科学与技术 姓名 学号 主要内容 基本要求等 一 主要内容 对于实验仪器上所使用的液晶模块使用说明请参看后面第三部分 中文液 晶显示模块说明 中的详细介绍 整个模块共有四个单元电路组成 分别是 时序发生器 地地址发生器 存储器 控制器 其中 时钟发生器共有三组时钟输出 分别送给 地址发生器 使其产生存 储器读地址 存储器 作为输出数据的同步时钟 控制器 作为控制器的工作时 钟及输出信号同步时钟 时钟发生器的设计方法与前面实验的设计方法类似 在这里就不再重复了 地址发生器在时钟信号与 BUSY 信号的共同作用下 产生存储器所需的地址 信息 当 BUSY 信号有效时 BUSY 1 停止输出地址信号 当液晶模块处于 空闲状态 BUSY 0 时 输出地址信号 控制器用来产生液晶模块所需的 STOBE 和存储器输出使能信号 当 BUSY 信 号有效时 BUSY 1 关闭存储器的输出 当液晶模块处于空闲状态 BUSY 0 时 分别送出 STOBE 1 和存储器输出使能信号 等待 BUSY 变 为 1 当 BUSY 1 时 使 STOBE 0 数据传送结束 存储器主要用来存储液晶模块的命令 在同步时钟的作用下 数据同步输出 该存储器可为 ROM 型 也可以为 RAM 型 当为 ROM 型是 其显示模式及显示数据 不可变 即只能显示固定的信息 为 RAM 型时 其显示模块及数据可根据需要任 意配置 即可显示出更为灵活及复杂的信息 如实时的波形显示器等 二 基本要求 设计并实现一个 128 32 的汉字图形液晶显示器的控制器 要求 能够显示几个液晶模块字库中的汉字和 ASIC 字符 三 扩展要求 能够显示一个简单的图形 按照规范写出论文 要求字数在 4000 字以上 并进行答辩 论文内容包括 概述 学习 调研 分析 设计的内容摘要 EDA 技术的现状和发展趋势 对 EL 教学实验箱和 Quartus 软件的掌握程度 数字钟的设计过程 包括原理图或 程序设计 编译 仿真分析 硬件测试的全过程 论文中含有原理图 程序 仿真波形图及其分析报告 完成期限 2 周 指导教师 专业负责人 2011 年 月 日 东北石油大学课程设计成绩评价表 课程名称硬件课程设计 题目名称液晶控制器接口设计 学生姓名学号 指导教 师姓名 职称 序号评价项目指 标 优秀 满分评分 1选题难度 选题难度较高 或者对原题目进行了相当程度 的改进 10 2 工作量 工作态 度和出勤率 工作量饱满 工作努力 遵守纪律 出勤率高 工作作风严谨 善于与他人合作 10 3课程设计质量 按期圆满的完成了规定的任务 方案设计合理 思考问题全面 系统功能完善 40 4报告质量 问题论述思路清晰 结构严谨 文理通顺 撰 写规范 图表完备正确 30 5回答问题 在进行课程设计程序系统检查时 能正确回答 指导教师所提出的问题 10 6创新 加分项 工作中有创新意识 对前人工作有改进或有应 用价值 在进行系统检查时能对创新性进行说 明 并在报告中有相应的论述 5 总分 评语 指导教师 年 月 日 摘 要 如今 科技进步给我们的生活带来了很大的变化 液晶显示设备越来越多 各种各样的液晶显示产品走进我们生活中 从手机到电脑显示器 从掌上电脑到 平板电视 无处没有液晶显示技术的身影 液晶显示器由于具有低压 微功耗 显示信息量大 体积小等特点 在移动 通信终端 便携计算机 GPS 卫星定位系统等领域有广泛用途 成为使用量最大 的显示器件 液晶显示控制器作为液晶驱动电路的核心部件通常由集成电路组成 通过为液晶显示系统提供时序信号和显示数据来实现液晶显示 本设计是一种基于 FPGA 现场可编程门阵列 的液晶显示控制器 与集成电路 控制器相比 FPGA 更加灵活 可以针对小同的液晶显示模块更改时序信号和显示 数据 FPGA 的集成度 复杂度和面积优势使得其日益成为一种颇具吸引力的高性 价比 ASIC 替代方案 本文选用 MAX7000S 系列的 EPM7128SLC84 15 器件 利用硬 件描述语言 VHDL 设计了液晶显示拧制器 实现了替代专用集成电路驱动控制 LCD 的作用 关键词 EDA 电子设计自动化 VHDL 硬件描述语言 液晶控制器接口 设计 LCD 液晶显示器 目 录 第 1 章 课程设计内容和要求 1 1 1 设计内容 1 1 2 设计要求 1 1 3 设计目的 1 第 2 章 液晶控制器设计方案 2 2 1 设计思路 2 2 2 工作原理及框图 2 2 3 各模块功能描述 4 第 3 章 液晶显示器接口底层电路设计 6 3 1 设计规划 6 3 2 设计说明 6 3 3 底层电路程序 6 第 4 章 液晶控制器接口的顶层文件设计 11 4 1 设计说明 11 4 2 顶层文件程序 11 第 5 章 液晶控制器接口设计的测试与运行 13 5 1 仿真结果 13 5 2 实验箱验证情况 13 总结 15 参考文献 16 东北石油大学本科生硬件课程设计 1 第 1 章 课程设计内容和要求 1 1 设计目的 设计并实现一个 128 32 的汉字图形液晶显示器的控制器 要求 1 能够显示几个液晶模块字库中的汉字和 ASIC 字符 2 能够显示一个简单的图形 选做 1 2 设计内容 1 学习掌握液晶显示模块的工作原理及应用 2 熟练掌握 VHDL 编程语言 编写液晶显示模块的控制逻辑 1 3 设计要求 1 仿真所编写的程序 模拟验证所编写的模块功能 2 下载程序到芯片中 硬件验证所设置的功能 能够实现汉字的显示 3 整理设计内容 编写设计说明书 东北石油大学本科生硬件课程设计 2 第 2 章 液晶控制器设计方案 2 1 设计思路 根据指导教师布置的课题 通过参考书籍 查阅手册 图表和文献资料 网 络等获取相关的知识后 了解到 液晶显示模块硬件接口协议为请求 应答 REQ BUSY 握手方式 应答 BUSY 高电平 BUSY 1 表示 OCMJ 忙于内部处理 不能接收用户命令 BUSY 低电平 BUSY 0 表示 OCMJ 空闲 等待接收用户命令 发送命令到 OCMJ 可在 BUSY 0 后的任意时刻开始 先把用户命令的当前字节放到数据线上 接着发高电平 REQ 信号 REQ 1 通知 OCMJ 请求处理当前数据线上的命令或数据 OCMJ 模块 在收到外部的 REQ 高电平信号后立即读取数据线上的命令或数据 同时将应答线 BUSY 变为高电平 表明模块已收到数据并正在忙于对此数据的内部处理 此时 用户对模块的写操作已经完成 用户可以撤消数据线上的信号并可作模块显示以 外的其他工作 也可不断地查询应答线 BUSY 是否为低 BUSY 0 如果 BUSY 0 表明模块对用户的写操作已经执行完毕 可以再送下一个数据 2 2 工作原理及框图 2 2 1 液晶 LCD 显示器的工作原理 液晶显示器是一种采用了液晶控制透光技术来实现色彩的显示器 从液晶显 示器的结构来看 采用的 LCD 显示屏都是由不同部分组成的分层结构 LCD 由两 块玻璃板构成 厚约 1mm 其间由包含有液晶材料的 5um 均匀间隔隔开 因为液 晶材料本身并不发光 所以在显示屏两边都设有作为光源的灯管 而在液晶显示 屏背面有一块背光板 或称匀光板 和反光膜 背光板是由荧光物质组成的可以 发射光线 其作用主要是提供均匀的背景光源 背光板发出的光线在穿过第一层 偏振过滤层之后进入包含成千上万液晶液滴的液晶层 液晶层中的液滴都被包含 在细小的单元格结构中 一个或多个单元格构成屏幕上的一个像素 在玻璃板与 液晶材料之间是透明的电极 电极分为行和列 在行与列的交叉点上 通过改变 电压而改变液晶的旋光状态 液晶材料的作用类似于一个个小的光阀 液晶材料 周边是控制电路部分 当 LCD 中的电极产生电场时 液晶分子就会产生扭曲 从 而将穿越其中的光线进行有规则的折射 然后经过第二层过滤层在屏幕上显示出 来 东北石油大学本科生硬件课程设计 3 2 2 2 设计原理图如下 图 2 1 液晶控制器接口设计原理图 显示国标汉字 命令格式 F0 XX YY QQ WW 该命令为 5 字节命令 最大执行时间为 1 2 毫秒 Ts2 1 2mS 其中 XX 为以汉字为单位的屏幕行坐标值 取值范围 00 到 07 02 到 09 00 到 东北石油大学本科生硬件课程设计 4 09 YY 为以汉字为单位的屏幕列坐标值 取值范围 00 到 01 00 到 03 00 到 04 QQ WW 坐标位置上要显示的 GB 2312 汉字区位码 2 2 3 设计框图 下载编程 时序仿真 在线测试 设计处理 设计输入功能仿真 图 2 2 液晶控制器设计框图 2 3 各模块功能描述 液晶显示模块共有四个单元电路组成 分别是 时序发生器 地地址发生器 存储器 控制器 引脚功能图和内部结构框图分别如图 3 3 和图 3 4 所示 图 2 3 液晶控制器引脚功能图 图 2 4 液晶控制器内部结构框图 东北石油大学本科生硬件课程设计 5 其中 时钟发生器共有三组时钟输出 分别送给 地址发生器 使其产生存 储器读地址 存储器 作为输出数据的同步时钟 控制器 作为控制器的工作时 钟及输出信号同步时钟 地址发生器在时钟信号与 BUSY 信号的共同作用下 产生存储器所需的地址 信息 当 BUSY 信号有效时 BUSY 1 停止输出地址信号 当液晶模块处于 空闲状态 BUSY 0 时 输出地址信号 控制器用来产生液晶模块所需的 STOBE 和存储器输出使能信号 当 BUSY 信 号有效时 BUSY 1 关闭存储器的输出 当液晶模块处于空闲状态 BUSY 0 时 分别送出 STOBE 1 和存储器输出使能信号 等待 BUSY 变 为 1 当 BUSY 1 时 使 STOBE 0 数据传送结束 存储器主要用来存储液晶模块的命令 在同步时钟的作用下 数据同步输出 该存储器可为 ROM 型 也可以为 RAM 型 当为 ROM 型是 其显示模式及显示数据 不可变 即只能显示固定的信息 为 RAM 型时 其显示模块及数据可根据需要任 意配置 即可显示出更为灵活及复杂的信息 如实时的波形显示器等 东北石油大学本科生硬件课程设计 6 第 3 章 液晶显示器接口底层电路设计 3 1 设计规划 该液晶控制器可显示模块字库中的汉字和 ASSIC 字符 又具有清零功能 因 此 此程序共有两大大模块 汉字显示模块 清零模块 1 汉字显示模块是根据查表对照的方法显示出设计者想要表达的文字 液晶 屏上显示的汉字是 16 16 的像素 2 ASIC 字符显示相对汉字来说比较简单 只需要 16 8 个像素 3 清零功能是强制清除一切记录的功能 3 2 设计说明 液晶屏幕上是如何显示一些汉字或者是图画 这是我们应该思考的一个问题 在数字电路中 所有数据都是由 0 1 保存的 同样 LCD 也是利用这种方法 在 点阵 LCD 上显示的只有两种颜色 因此可用 0 和 1 来表示这两种颜色 假设空格 是 16 16 个 0 组成的 在现实 16 16 的字体时 将其中某些点置为 1 便可在视觉 上形成汉字 这些二进制数成为代码 与汉字不同的是一个字符只需要 16 8 的 像素便可 3 3底层电路程序 3 3 1 清零模块 清零模块的功能 实现将地址清零的功能 当 clr 为 0 时 将初始地址置为 00000000 当 clr 为 1 时 出现上升沿时 如果 addr1 为 00111100 则将 addr 置 为 00000001 不出现上升沿时 则将 addr 加 1 以实现地址的循环 如此实现 清零模块的功能 清零模块的代码 VHDL 如下 LIBRARY ieee USE ieee std logic 1164 ALL USE ieee std logic unsigned ALL USE ieee std logic arith all 东北石油大学本科生硬件课程设计 7 USE work rom all ENTITY lcd1 is PORT clr clk BUSY IN std logic STOBE OUT std logic dout OUT std logic vector 7 DOWNTO 0 实体端口的设计 END lcd1 ARCHITECTURE doit OF lcd1 IS signal counter addr1 std logic vector 7 downto 0 结构体的信号设计 signal addr std logic vector 7 DOWNTO 0 BEGIN P1 process clr busy begin if clr 0 then addr1 00000000 给地址清零 elsif busy event and busy 1 then if addr1 00111100 then addr1 00000001 如果出现 busy 出现上升沿实现地 址的赋值 else addr1 addr1 1 实现地址的循环 end if end if end process P1 P2 process clr busy begin if clr 0 then addr 00000000 地址清零 elsif busy event and busy 0 then addr addr1 当 busy 出现下降沿时地址的赋值 end if end process P2 由以上程序可发现 如果 clr 为 1 初始地址被赋值为 000000001 如果 busy 为 1 则准备 东北石油大学本科生硬件课程设计 8 下一条地址 如果 busy 为 0 则把地址数据传送给存储器 来进行数据的存储 如果 clr 为 0 时 地址置 00000000 清零 则实现了清零的功能 3 3 2 汉字显示模块 汉字显示模块的原理是 将汉字内码 gb2312 码存入只读存储器 rom 中 用 下面程序对汉字内码进行调用 则可以将所对应的汉字显示出来 例如汉字 东 的汉字内码为 2211 用显示模块二进制将 2211 表示出来 则可以将汉字 东 显示出来 如此 则可以显示出所需要的汉字 此液晶显示 器每行显示六个字 一共两行 另外 由于只读存储器的大小为 256 8 所以 当所需要的汉字的内码设置 完后 应当用 00000000 对 rom 进行填充 使其达到 256 8 的大小 以实现循环 避免产生乱码 汉字显示模块的代码 VHDL 如下 LIBRARY ieee USE ieee std logic 1164 ALL USE ieee std logic unsigned ALL USE ieee std logic arith all USE work rom all 调用存储器中的内容 ENTITY lcd1 is PORT clr clk BUSY IN std logic STOBE OUT std logic dout OUT std logic vector 7 DOWNTO 0 实体端口的设计 END lcd1 ARCHITECTURE doit OF lcd1 IS 结构体信号的设计 signal counter addr1 std logic vector 7 downto 0 signal addr std logic vector 7 DOWNTO 0 BEGIN P1 process clr busy begin if clr 0 then 清零功能的实现 addr1 00000000 elsif busy event and busy 1 then busy 出现上升沿地址的赋值 if addr1 00111100 then addr1 00000001 else 东北石油大学本科生硬件课程设计 9 addr1 addr1 1 end if end if end process P1 P2 process clr busy begin if clr 0 then addr 00000000 清零功能的实现 elsif busy event and busy 0 then busy 出现下降沿地址的赋值 addr addr1 end if end process P2 P3 process busy clk begin if busy 1 then counter 00000000 清零 elsif clk event and clk 1 then clock 出现上升沿时进行加法 计数 counter counter 1 end if end process P3 dout rom CONV INTEGER addr stobe 00000011 else 0 END doit LIBRARY ieee USE ieee std logic 1164 ALL PACKAGE rom IS CONSTANT rom width NATURAL 8 natural 表示大于零的整数 CONSTANT rom length NATURAL 256 SUBTYPE rom word IS STD LOGIC VECTOR rom width 1 DOWNTO 0 TYPE rom table IS ARRAY 0 To rom length 1 of rom word CONSTANT rom rom table rom table 东北石油大学本科生硬件课程设计 10 11110000 00000001 00000000 00010110 00001011 2211 东 用来显示汉字 的内码 11110000 00000010 00000000 00010001 00010001 1717 北 11110000 00000011 00000000 00101010 00001111 4215 石 11110000 00000100 00000000 00110011 00101101 5145 油 11110000 00000101 00000000 00010100 01010011 2083 大 11110000 00000110 00000000 00110001 00000111 4907 学 所需要显示的汉字内码输入完整后 为了避免出现乱码 必须用 00000000 将 256 8 的只 读存储器 rom 将存储器填满 以实现地址的循环 且不出现乱码 00000000 00000000 00000000 00000000 如此填充 为保证 rom 总共的大小为 256 8 END rom 为节省空间 大小为 256 8 的内码只显示主要内容 用 00000000 填充的其 它部分 不再作一一显示 用省略号表示 只需保证该只读存储器 rom 的真正大 小为 256 8 即可 另外 根据汉字 gb2312 码更改只读存储器 rom 中的内容可以相应地更改显 示汉字的字数和内容 利用点阵列 则可以显示字符 用英文码 则可以显示英 文 其它显示命令格式如下 不做一一列举 1 显示 8X8 ASCII 字符 命令格式 F1 XX YY AS 该命令为 4 字节命令 最大执行时间为 0 8 毫秒 Ts2 0 8mS 其中 XX 为以 ASCII 码为单位的屏幕行坐标值 取值范围 00 到 0F 04 到 13 00 到 13 YY 为以 ASCII 码为单位的屏幕列坐标值 取值范围 00 到 1F 00 到 3F 00 到 4F AS 坐标位置上要显示的 ASCII 字符码 2 显示位点阵 命令格式 F2 XX YY 该命令为 3 字节命令 最大执行时间为 0 1 毫秒 Ts2 0 1mS 其中 XX 为以 1 1 点阵为单位的屏幕行坐标值 取值范围 00 到 7F 20 到 9F 00 到 9F YY 为以 1 1 点阵为单位的屏幕列坐标值 取值范围 00 到 40 00 到 40 00 东北石油大学本科生硬件课程设计 11 到 40 东北石油大学本科生硬件课程设计 12 第 4 章 液晶控制器接口的顶层文件设计 4 1 设计说明 所谓建立顶层文件就是将已经设计好的各个功能组件组合调用 连成一个整 体 使整个系统按照设计要求在实际中工作起来 而此程序中的顶层文件即是将清零模块和汉字内码显示模块结合起来 使其 实现清零和显示汉字的两大功能 具体操作 将汉字显示的内码存入到大小为 256 8 的只读存储器 rom 中 然 后再在清零模块的程序中对该只读存储器 rom 进行调用 在一个工程中用两个 vhd 文件分别存入顶层文件程序和只读存储器 rom 的程序即可 如此 便将清零 模块和汉字显示模块连成了一个整体 在液晶显示器中便可实现清零和显示汉字 的两个功能 4 2 顶层文件程序 代码如下 LIBRARY ieee USE ieee std logic 1164 ALL USE ieee std logic unsigned ALL USE ieee std logic arith all USE work rom all ENTITY lcd1 is 实体端口的设计 PORT clr clk BUSY IN std logic STOBE OUT std logic dout OUT std logic vector 7 DOWNTO 0 END lcd1 ARCHITECTURE doit OF lcd1 IS 结构体信号的设计 signal counter addr1 std logic vector 7 downto 0 signal addr std logic vector 7 DOWNTO 0 BEGIN P1 process clr busy begin 东北石油大学本科生硬件课程设计 13 if clr 0 then 清零功能的实现 addr1 00000000 elsif busy event and busy 1 then busy 出现上升沿地址的赋值 if addr1 00111100 then addr1 00000001 else addr1 addr1 1 end if end if end process P1 P2 process clr busy begin if clr 0 then 强制清零功能的实现 addr 00000000 elsif busy event and busy 0 then busy 出现下降沿地址的赋值 addr addr1 end if end process P2 P3 process busy clk begin if busy 1 then 清零功能的实现 counter 00000000 elsif clk event and clk 1 then clock 出现上升沿时开始计数 counter counter 1 end if end process P3 dout rom CONV INTEGER addr stobe 00000011 else 0 END doit 最后创建一个工程 在里面新建两个 vhd 文件 一个用于存储顶层文件程序 一个用于输入只读存储器 rom 中的内容 在顶层文件程序中调用只读存储器 rom 中的内容 便可实现液晶显示的清零功能和显示汉字的功能 东北石油大学本科生硬件课程设计 14 第 5 章 液晶控制器接口设计的测试与运行 5 1 液晶控制器设计仿真结果 下图 5 1 是将上述程序在 Quartus 中进行仿真后实现的波形图 图 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论