SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计_第1页
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计_第2页
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计_第3页
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计_第4页
SOPCEDA综合课程设计报告液晶显示屏LCD显示接口设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

江西理工大学应用科学学院江西理工大学应用科学学院 SOPC EDA 综合课程设计报告综合课程设计报告 设计题目 设计题目 液晶显示屏液晶显示屏 LCD 显示接口设计显示接口设计 设计者 设计者 学号 学号 班级 班级 指导老师 指导老师 时间 时间 设计报告设计报告综合测试综合测试总评总评 格式格式 10 内容内容 40 图表图表 10 答辩答辩 20 平时平时 20 目 录 第 1 章 预习知识 1 1 1 液晶显示屏的基本原理与使用方法 1 1 1 1 点阵型 LCD 简介 1 1 1 2 点阵 LCD 的显示原理 1 1 1 3 液晶显示模块接口时序 1 1 2 课程设计题目 液晶显示屏 LCD 显示接口设计 2 1 2 1 课程设计目的及基本要求 2 1 3 设计要求 3 第 2 章 设计内容提要及说明 4 2 1 元件原理图 4 2 2 12864 指令系统 7 第 3 章 系统硬件设计 10 第 4 章 设计过程 12 第 5 章 实习总结 21 致谢 22 参考文献 23 1 第第1 1章章 预习知识预习知识 1 11 1 液晶显示屏的基本原理液晶显示屏的基本原理与使用方法与使用方法 1 1 11 1 1 点阵型点阵型 LCDLCD 简介简介 LCD 液晶显示器是 Liquid Crystal Display 的简称 LCD 的构造是在两片 平行的玻璃当中放置液态的晶体 两片玻璃中间有许多垂直和水平的细小电线 透过通电与否来控制杆状水晶分子改变方向 将光线折射出来产生画面 比 CRT 要好的多 但是价钱较其它显示器贵 1 1 21 1 2 点阵点阵 LCDLCD 的显示原理的显示原理 在数字电路中 所有的数据都是以 0 和 1 保存的 对 LCD 控制器进行不同 的数据操作 可以得到不同的结果 对于显示英文操作 由于英文字母种类很 少 只需要 8 位 一字节 即可 而对于中文 常用却有 6000 以上 于是我们 的 DOS 前辈想了一个办法 就是将 ASCII 表的高 128 个很少用到的数值以两个 为一组来表示汉字 即汉字的内码 而剩下的低 128 位则留给英文字符使用 即英文的内码 那么 得到了汉字的内码后 还仅是一组数字 那又如何在屏幕上去显示 呢 这就涉及到文字的字模 字模虽然也是一组数字 但它的意义却与数字的 意义有了根本的变化 它是用数字的各位信息来记载英文或汉字的形状 1 1 1 1 3 3 液晶显示模块接口时序液晶显示模块接口时序 模块有并行和串行两种连接方法 时序如下 1 8 位并行连接时序 2 图 5 MPU 写资料到模块 图 6 MPU 从模块读出资料 2 串行连接时序图 图 7 串行连接时序图 1 21 2 课程设计题目 液晶显示屏课程设计题目 液晶显示屏 LCDLCD 显示接口设计显示接口设计 1 2 1 课程设计目的及基本要求 液晶显示屏已广泛应用于人们的日常生活中 在各种领域中起到越来越重 要的位置 因此 掌握和控制液晶显示屏是非常重要的技能 进行课程设计是 3 加强实践 提高动手能力的重要环节 通过课程设计 同时在软件编程 排错 调试 相关仪器设备的使用技术等方面得到全面的提高 掌握液晶显示屏实现 的相关方法 为将来的实际工作打下一定的基础 本课程设计是以 SED1520 控 制器为基础 基本要求是 1 掌握 SED1520 控制器基本结构 2 掌握液晶显示屏的工作原理及使用方法 3 掌握用 VHDL 语言编写程序 4 掌握 Quartus II 的使用方法 5 掌握 GW48 系列 SOPC EDA 实验开发系统 a 闲置不用 GW48 系统时 必须关闭电源 拔下电源插头 b 在实验中 当选中某种模式后 要按一下右侧的复位键 以使系统进入该 结构模式工作 c c 换目标芯片时要特别注意 不要插反或插错 也不要带电插拔 确信插对 后才能开电源 其它接口都可带电插拔 请特别注意 尽可能不要随意插 拔适配板 及实验系统上的其他芯片 d 并行口工作模式设置在 EPP 模式 e 跳线座 SPS 默认向下短路 PIO48 右侧开关默认拨向 TO MCU f 对于 GW48 PK2 系统 左下角拨码开关除第 4 档 DS8 使能 向下拨 8 数 码管显示 外 其余皆默认向上 1 31 3 课程设计题目内容要求课程设计题目内容要求 使用 FPGA 设计一个液晶显示屏 LCD 显示的控制器 使其能够显示文字 数 字或图形 根据需要选择 LCD 屏 至少需要显示 江西理工大学应用科学学院 课程设计 字样 另外需要显示班级姓名和日期 其它功能可自行增加 4 第第 2 章章 设计内容提要及说明设计内容提要及说明 2 12 1 元件原理图元件原理图 nCS 1 DATA 2 Vcc 3 GND 4 ASDI 5 DCLK 6 Vcc 7 Vcc 8 U4 EPCS1 VDD3 3VDD3 3 nCSO DATA0 DCLK ASDO 12 34 56 78 910 JP2 AS DOWNLOAD DCLK CONF DONE VDD3 3 nCONFIGnCE DATA0 ASDO nCSO AS DOWNLOAD JATG 12 34 56 78 910 JP1 JATG TCK R4 1K TDO TMS R3 1K VDD3 3 TDI VDD3 3 R2 1K VDD3 3 图1 下载 编程接口电路图 图2 液晶显示屏 5 2 1 1 模块引脚说明 表1 模块引脚 逻辑工作电压 VDD 3 3 5 5V 电源地 GND 0V 工作温度 Ta 0 50 常温 20 70 宽温 2 1 2 接口时序 模块有并行和串行两种连接方法 时序如下 a 8位并行连接时序图 图3 MPU写资料到模块 6 图4 MPU从模块读出资料 a 串行连接时序图 图5 串行时序图 表2 时钟周期表 串行数据传送共分三个字节完成 第一字节 串口控制 格式 11111ABC 7 A为数据传送方向控制 H表示数据从LCD到MCU L表示数据从MCU到LCD B为数据类型选择 H表示数据室显示数据 L表示数据室控制指令 C固定为0 第二字节 并行 8位数据的高4位 格式DDDD0000 第三字节 并行 8位数据的低4位 格式DDDD0000 串行接口时序参数 测试条件 T 25 VDD 4 5V 2 2 12864 指令系统 2 2 1 用户指令集 指令表1 RE 0 基本指令集 表3 基本指令表 8 指令表2 RE 1 扩充指令集 表4 扩充指令表 9 2 2 2 FPGA 与 LCD 连接方式 FPGA 与 LCD 连接方式 仅 PK2 型含此 由实验电路结构图 COM 可知 默认情况下 FPGA 是通过 89C51 单片机控制 LCD 液晶显示的 但若 FPGA 中有 Nios 嵌入式系统 则能使 FPGA 直接控制 LCD 显示 方法是拔去此单片机 在 右下侧 用连线将座 JP22 JP21 LCD 显示器引脚信号 各信号分别与座 JP19 JP20 FPGA 引脚信号 相连接即可 D PIO65 D PIO64 GND VCC SLAVE USB PIO65 PIO64 OO OO TO FPGATO MCU PC 235 RS 232 B4 P27 P26 P25 P24 P23 P22 P21 P20 PSEN ALE EA P07 P06 P05 P04 P03 P02 P01 P00 VCC AT89C51 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 22 23 2120 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 GND X1 X2 PIO66 PIO67 PIO77 PIO76 PIO79 PIO78 P31 P30 RESET PIO75 PIO74 PIO73 PIO72 PIO71 PIO70 PIO69 PIO68 LCD VCC GND P22 P21 P20 P00 P01 P02 P03 P04 P05 P06 P07 P23 P24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 图 6 实验电路结构图 COM 10 第第3章章 系统硬件设计系统硬件设计 本方案采用的 FPGA 为 Alter 公司的 ACEX1K30 芯片 它可提供系统的时钟 及读写控制 ACEX 系列的 FPGA 由逻辑数组块 LAB Logic array block 嵌 入式数组块 EAB embedded arr ay block 快速互联以及 IO 单元构成 每 个逻辑数组块包含 8 个逻辑单元 LE logicelement 和一个局部互联 1 每 个逻辑单元则由一个 4 输入查找表 LUT 一个可编程触发器 快速进位链 级连链组成 多个 LAB 和多个 EAB 则可通过快速通道互相连接 EAB 是 ACEX 系 列器件在结构设计上的一个重要部件 他是输入埠和输出埠都带有触发器的一 种灵活的 RAM 块 其主要功能是实现一些规模不太大的 FIFO ROM RAM 和双埠 RAM 等 在本液晶显示接口电路中 EAB 主要用宏功能模块实现片上 ROM 它通 过调用 FPGA 上的 EAB 资源来实现汉字的显示和字符的存储 并根据控制信号产 生的地址值从 ROM 中读取字符值 然后送 LCD 显示器进行显示 由于所用的图 形点阵液晶块内置有 SED1520 控制器 所以 其电路特性实际上就是 SED1520 的电路特性 SED1520 的主要特性如下 1 具有液晶显示行驱动器 具有 16 路行驱动输出 并可级联实现 32 行驱动 2 具有液晶显示列驱动器 共有 61 路列驱动输出 3 内置时序发生器 其占空比可设置为 1 16 和 1 32 两种 4 内藏显示内存 显示内存内的数据可直接显示 1 为显示 0 为不显示 5 接口总线时序可适配 8080 系列或 M6800 系列 并可直接与计算机接口 6 操作简单 有 13 条控制指令 7 采用 CMOS 工艺 可在电压低至 2 4 7 0V 时正常工作 功耗仅 30 W 本设计所用的字符液晶模块 CM12232 由两块 SED1520 级连驱动 其中一工 作在主工作方式下 另一个工作在从方式下 主工作方式 SED1520 负责上半屏 16 行的驱动和左半屏的 61 列驱动 从工作方式的 SED1520 则负责下半屏 16 行 的驱动和右半屏的 61 列驱动 使能信号 E1 E2 用来区分具体控制的是那一片 SED1520 其系统的硬件连接图如图 1 所示 由图 1 可见 该系统的硬件部分连 接十分简单 其中 FPGA 部分没画出 而液晶与 FPGA 的接口则可直接以网表的 形式给出 将它们直接与 FPGA 的普通 I O 引脚相连即可 系统的软件接口实现 具体实现的重点是如何从存放有字符的 ROM 块中读出数据 并按照液晶的时序 正确的写入 在介绍具体实现方法前 首先要熟悉 SED1520 的指令 11 SED1520 的控制指令表 12 第四章第四章 设计过程设计过程 4 14 1 初始化部分的状态机设计初始化部分的状态机设计 根据字符模块初始化的流程图 图1 LCD初始化流程图 4 24 2 时钟模块的设计时钟模块的设计 由于FPGA开发板上自带的晶振频率为50MHZ 而所需要的时钟频率则需要小 于13 9K 因此需要一个分频器对其进行分频 这里采用简单的计数器对其进行分 频 通过分频器将外部输入的32MHZ的信号分成频率为HZ的信号 在分频之后由于时钟信号需要同时控制LCD模块以及FPGA的模块 因此需要 编写一个程序 使得两者之间同步 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC ARITH ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY baud IS port clk resetb in std logic bclk out std logic end baud architecture behavioral of baud is begin process clk resetb variable cnt integer 13 begin if resetb 1 then cnt 0 bclk 208 then cnt 0 bclk 1 else cnt cnt 1 bclk 0 end if end if end process end behavioral 图 2 时钟模块 图 3 系统的仿真图形 4 34 3 中文字符部分的数据模块中文字符部分的数据模块 中文部分由于VHDL中无法识别中文 使用时需要参照中文字符表 将需要 的字符所对应的数据输入RAM 然后通过和英文模块不重复的符号来实现对其的 调用 如 江 这个中文字符 所对应国标码 bdad 因此在函数部分应为 constant data buf data buffer x bd x ad 本程序驱动液晶显示 江西理工大学应用科学学院课程设计 班级 14 姓名 日期 library ieee use ieee std logic 1164 all use ieee std logic arith all use ieee std logic unsigned all entity lcd is generic divide to 100k integer 1000 port clk rst in std logic rw rs e lcd rst out std logic lcd data out std logic vector 7 downto 0 end lcd architecture behavioral of lcd is signal clk 100k std logic type state is s0 s1 s2 s3 s4 signal current s state type data buffer is array 0 to 65 of std logic vector 7 downto 0 constant data buf data buffer x BD x AD x CE x F7 x C0 x ED x B9 x A4 x B4 x F3 x D1 x A7 x D3 x A6 x D3 x C3 x BF x C6 x D1 x A7 x D1 x A7 x D4 x BA x BF x CE x B3 x CC x C9 x E8 x BC x C6 x D7 x D4 x B6 x AF x BB x AF x A3 x B1 x A3 x B0 x A3 x B2 x D7 x A4 x D0 x A1 x C1 x FA x A3 x B2 x A3 x B0 x A3 x B1 x A3 x B3 x A3 x AE x A3 x B1 x A3 x AE x A3 x B3 begin process clk variable cnt integer range 0 to divide to 100k begin if rising edge clk then cnt cnt 1 if cnt divide to 100k then cnt 0 end if if cnt divide to 100k 2 then clk 100k 0 else clk 100k 1 end if end if end process process clk 100k 15 variable cnt1 integer range 0 to 500 variable cnt1 1 integer range 0 to 100 variable code cnt integer range 0 to 13 variable data cnt integer range 0 to 48 begin if rising edge clk 100k then if rst 1 then current s s0 cnt1 0 cnt1 1 0 code cnt 0 data cnt 0 lcd rst rw 1 rs 1 e 1 cnt1 cnt1 1 if cnt1 250 then lcd rst 0 elsif cnt1 500 then lcd rst 1 elsif cnt1 500 then lcd rst 1 cnt1 0 current s cnt1 1 cnt1 1 1 if cnt1 1 1 3 then e 1 rs 0 rw 0 elsif cnt1 1 2 3 then lcd data x 0c elsif cnt1 1 10 3 then e 0 elsif cnt1 1 10 3 then cnt1 1 0 current scnt1 1 cnt1 1 1 if cnt1 1 1 3 then e 1 rs 0 rw 0 elsif cnt1 1 2 3 then lcd data x 80 elsif cnt1 1 10 3 then e 0 elsif cnt1 1 10 3 then cnt1 1 0 current s if cnt1 1 1 3 then e 1 rs 1 rw 0 elsif cnt1 1 2 3 then lcd data data buf data cnt elsif cnt1 1 2 3 then data cnt data cnt 1 elsif cnt1 1 100 then e 0 end if cnt1 1 cnt1 1 if cnt1 1 100 then cnt1 1 0 if data cnt 16 then current scurrent s s0 end case end if end if end process end Behavioral 16 图 4 显示文字的模块 图 5 系统的仿真图形 4 44 4 图形的数据模块图形的数据模块 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY lcdlinehozi IS PORT CLK key3 IN STD LOGIC CK0 DISP Hsync Vsync OUT STD LOGIC rgb OUT STD LOGIC VECTOR 0 TO 23 END ARCHITECTURE WX OF lcdlinehozi IS SIGNAL CLK TEMP1 CLK TEMP2 CK STD LOGIC 17 SIGNAL CNT1 CNT2 STD LOGIC VECTOR 2 DOWNTO 0 signal cnt std logic vector 1 downto 0 SIGNAL HS CNT VS CNT INTEGER RANGE 0 TO 525 signal rgbx rgby STD LOGIC VECTOR 0 TO 23 CONSTANT THp INTEGER 41 CONSTANT THb INTEGER 2 CONSTANT THf INTEGER 2 CONSTANT TVp INTEGER 10 CONSTANT TVb INTEGER 2 CONSTANT TVF INTEGER 2 CONSTANT THd INTEGER 480 CONSTANT TVd INTEGER 272 BEGIN PROCESS key3 BEGIN if key3 event and key3 1 then if cnt 10 then cnt 00 else cnt cnt 1 end if end if end process process cnt begin if cnt 00 then rgb 11 elsif cnt 01 then rgb rgbx elsif cnt 10 then rgb rgby else rgb 00 end if end process process hs cnt vs cnt begin if hs cnt 102 then rgbx 00 elsif hs cnt 162 then rgbx 11 elsif hs cnt 222 then rgbx 00 elsif hs cnt 282 then rgbx 11 elsif hs cnt 342 then rgbx 00 elsif hs cnt 402 then rgbx 11 elsif hs cnt 462 then rgbx 00 elsif hs cnt 522 then rgbx 11 else rgbx 10 end if if vs cnt 43 then rgby 00 elsif vs cnt 75 then rgby 11 elsif vs cnt 107 then rgby 00 elsif vs cnt 139 then rgby 11 elsif vs cnt 171 then rgby 00 18 elsif vs cnt 203 then rgby 11 elsif vs cnt 235 then rgby 00 elsif vs cnt 267 then rgby 11 else rgby 10 end if end process CLOCK PROCESS CLK BEGIN IF CLK EVENT AND CLK 1 THEN IF CNT1 2 THEN CNT1 000 ELSE CNT1 CNT1 1 END IF END IF END PROCESS PROCESS CLK BEGIN IF CLK EVENT AND CLK 0 THEN IF CNT2 2 THEN CNT2 000 ELSE CNT2 CNT2 1 END IF END IF END PROCESS PROCESS CLK BEGIN IF CLK EVENT AND CLK 1 THEN IF CNT1 0 THEN CLK TEMP1 1 ELSIF CNT1 1 THEN CLK TEMP1 0 END IF END IF END PROCESS PROCESS CLK BEGIN IF CLK EVENT AND CLK 0 THEN IF CNT2 0 THEN CLK TEMP2 1 ELSIF CNT2 1 THEN CLK TEMP2 0 END IF END IF END PROCESS CK CLK TEMP1 OR CLK TEMP2 CK0 CK PROCESS CK BEGIN IF CK EVENT AND CK 1 THEN IF HS CNT THp 1 THEN Hsync 1 HS CNT HS CNT 1 ELSIF HS CNT THp THb THd THf 1 THEN 524 19 HS CNT 0 Hsync 0 IF VS CNT TVp TVb TVd TVf 1 THEN 285 VS VS CNT 0 Vsync 0 DISP 1 ELSIF VS CNT TVp 1 THEN Vsync 1 VS CNT VS CNT 1 ELSE VS CNT VS CNT 1 END IF ELSE HS CNT HS CNT 1 END IF END IF END PROCESS END WX 图 6 显示图像模块 图 7 系统的仿真图形 20 图 8 系统连接图 图 9 系统仿真结果 21 第第5 5章章课程设计总结课程设计总结 这次实习是我们第一次做课程设计 对我们来说很重要 它使我们的理论 知识与实践充分地结合 还具有较强的实践动手能力 从实践中发现问题 分 析问题和解决问题 为将来的实际工作打下一定的基础 本次实习中资料的搜 集和整理尤其关键 它考察我们对信息的提取能力 从而为提出设计方案做准 备 在设计过程中好多电路图看起来简单 但要我们编译却非常难 这时就要 看我们对理论知识的应用 这次的实习使我意识到理论知识和实践能力的不足 所以 在以后的学习生活中 我需要更努力地学习和实践 这次 EDA 课程设计历时两周 可以说是苦多于甜 但是可以学到很多很多 的东西

温馨提示

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

评论

0/150

提交评论