SOPCEDA综合课程设计报告
设计题目: 液晶显示屏LCD显示接口设计
设 计 者:
学 号:
班 级: 测控
指导老师:
完成时间:
设计报告
综合测试
总评
格式
(10)
容
(40)
图表
(10)
答辩
(20)
时
(20)
目 录
目 录 1
第1章 预知识 2
11液晶显示屏原理 2
12课程设计题目:液晶显示屏LCD显示接口设计 2
13设计求 3
第2章 设计容提说明 4
21 元件原理图 4
第3章 系统硬件设计 10
第4章 设计程 13
第5章 实总结 22
参考文献 23
致谢 24
第1章 预知识
11 液晶显示屏原理
111 液晶显示屏LCD原理设置
112 液晶显示模块设计方法
113 查询关课程设计汉字国标码
114 关FPGA知识
115 端口设计方法
116 熟悉GW48系列SOPCEDA实验开发系统现代DSP实验开发系统方
法
12 课程设计题目:液晶显示屏LCD显示接口设计
121 课程设计目基求
液晶显示屏已广泛应日常生活中种领域中起越越重
位置掌握控制液晶显示屏非常重技进行课程设计加
强实践提高动手力重环节通课程设计时软件编程排错调
试相关仪器设备技术等方面全面提高掌握液晶显示屏实现
相关方法实际工作定基础
课程设计SED1520控制器基础基求:
1掌握SED1520控制器基结构
2掌握液晶显示屏工作原理方法
3掌握VHDL语言编写程序
4掌握Quartus II方法
5掌握GW48系列SOPCEDA实验开发系统:
a:闲置GW48系统时必须关闭电源拔电源插头
b:实验中选中某种模式右侧复位键系统进入
该结构模式工作
c:换目标芯片时特注意插反插错带电插拔确信插
开电源接口带电插拔请特注意
意插拔适配板实验系统芯片
d:行口工作模式设置EPP模式
e 跳线座SPS 默认短路(PIO48)右侧开关默认拨TO MCU
f GW48PK2系统左角拨码开关第4档DS8拨(8数
码显示)外余皆默认
13设计求
FPGA设计液晶显示屏LCD显示控制器够显示文字
数字图形(根需选择LCD屏)少需显示江西理工学应科学
学院课程设计字样外需显示班级姓名日期功行增加
(型号GW48PK2)
第2章 设计容提说明
21 元件原理图
图1 载编程接口电路图
图2 液晶显示屏
211 模块引脚说明
表1 模块引脚
逻辑工作电压(VDD):33~55V
电源(GND):0V
工作温度(Ta):0~+50℃(常温) 20~70℃(宽温)
212 接口时序
模块行串行两种连接方法(时序):
a) 8位行连接时序图
图3 MPU写资料模块
图4 MPU模块读出资料
a) 串行连接时序图
图5 串行时序图
表2 时钟周期表
串行数传送分三字节完成:
第字节:串口控制——格式 11111ABC
A数传送方控制:H表示数LCDMCUL表示数MCULCD
B数类型选择: H表示数室显示数L表示数室控制指令
C固定0
第二字节:(行)8位数高4位——格式DDDD0000
第三字节:(行)8位数低4位——格式DDDD0000
串行接口时序参数:(测试条件: T25℃ VDD45V)
213 户指令集
指令表1:(RE0:基指令集)
表3 基指令表
指令表2:(RE1:扩充指令集)
表4 扩充指令表
214 FPGALCD连接方式
FPGALCD连接方式:(仅PK2型含)实验电路结构图COM知默认情况
FPGA通89C51单片机控制LCD液晶显示FPGA中Nios嵌入式系统
FPGA直接控制LCD显示方法拔单片机(右侧)连线座JP22JP21(LCD
显示器引脚信号)信号分座JP19JP20(FPGA引脚信号)相连接
图6 实验电路结构图COM
第3章 系统硬件设计
方案采FPGAAlter公司ACEX1K30芯片提供系统时钟读写控制
ACEX系列FPGA逻辑数组块LAB(Logic array block)嵌入式数组块EAB(embedded
arr ay block)快速互联IO单元构成逻辑数组块包含8逻辑单元LE(logic
element)局部互联[1]逻辑单元4输入查找表(LUT)
编程触发器快速进位链级连链组成LABEAB通快速通道互相连
接EABACEX系列器件结构设计重部件输入埠输出埠带触
发器种灵活RAM块功实现规模太FIFOROMRAM双埠
RAM等液晶显示接口电路中EAB宏功模块实现片ROM通调FPGA
EAB资源实现汉字显示字符存储根控制信号产生址值ROM中
读取字符值然送LCD显示器进行显示图形点阵液晶块置SED1520
控制器电路特性实际SED1520电路特性
SED1520特性:
(1)具液晶显示行驱动器具16路行驱动输出级联实现32行驱动
(2)具液晶显示列驱动器61路列驱动输出(3)置时序发生器占空设
置116132两种
(4)藏显示存显示存数直接显示1显示0显示
(5)接口总线时序适配8080系列M6800系列直接计算机接口
(6)操作简单13条控制指令
(7)采CMOS工艺电压低2470V时正常工作功耗仅30μW
设计字符液晶模块CM12232两块SED1520级连驱动中工作
工作方式工作方式工作方式SED1520负责半屏16行驱动左
半屏61列驱动工作方式SED1520负责半屏16行驱动右半屏61列驱
动信号E1E2区分具体控制片SED1520系统硬件连接图图
1示图1见该系统硬件部分连接十分简单中FPGA部分没画出液晶
FPGA接口直接网表形式出直接FPGA普通IO引脚相连
系统软件接口实现具体实现重点存放字符ROM块中读出数
液晶时序正确写入介绍具体实现方法前首先熟悉SED1520指令
SED1520控制指令表
第四章 设计程
41 初始化部分状态机设计
根字符模块初始化流程图:
图7 LCD初始化流程图
42 时钟模块设计
FPGA开发板带晶振频率50MHZ需时钟频率需139K
需分频器进行分频里采简单计数器进行分频通分频器外部输入32 MHZ信号分成频率153600HZ信号
分频时钟信号需时控制LCD模块FPGA模块需编写程序两者间步
LIBRARY IEEE
USE IEEESTD_LOGIC_1164ALL
USE IEEESTD_LOGIC_ARITHALL
USE IEEESTD_LOGIC_UNSIGNEDALL
ENTITY baud IS
port(clkresetbin std_logic
bclkout std_logic)
end baud
architecture Behavioral of baud is
begin
process(clkresetb)
variable cntinteger
begin
if resetb'1' then
cnt0bclk<'0'
elsif rising_edge(clk)then
if cnt>208 then cnt0bclk<'1'
else cntcnt+1bclk<'0'
end if
end if
end process
end behavioral
图8 时钟模块
图9 系统仿真图形
43 中文字符部分数模块
中文部分VHDL中法识中文时需参中文字符表需字符应数输入RAM然通英文模块重复符号实现调 江中文字符应国标码bdad函数部分应:
constant data_buf data_buffer (xbdxad)
程序驱动液晶显示江西理工学应科学学院课程设计 班级姓名
日期
Library IEEE
Use IEEESTD_LOGIC_1164ALL
Use IEEESTD_LOGIC_ARITHALL
Use IEEESTD_LOGIC_UNSIGNEDALL
entity LCD is
generic(divide_to_100k integer1000)
Port(clk rstin STD_LOGIC
Rw rs e lcd_rst out STD_LOGIC
Lcd_dataout STD_LOGIC_VECTOR(7 downto 0))
end LCD
architecture Behavioral of LCD is
signal clk_100kstd_logic
type state is(s0s1s2s3s4)
signal current_s state
type data_buffer is array (0 to 43) of std_logic_vector ( 7 downto 0 )
constant data_buf data_buffer (xbdxadxcexf7
xc0xedxb9xa4
xb4xf3xd1xa7
xd3xa6xd3xc3
xbfxc6xd1xa7
xd1xa7xd4xba
xbfxcexb3xcc
xc9xe8xbcxc6
xb0xe0xbcxb6
xd0xd5xc3xfb
xc8xd5xc6xda)
begin
process(clk)
variable cntinteger range 0 to divide_to_100k
begin
if rising_edge(clk)then cntcnt+1
if cntdivide_to_100k then cnt0
end if
if cnt
end if
end if
end process
process(clk_100k)
variable cnt1integer range 0 to 500
variable cnt1_1integer range 0 to 100
variable code_cntinteger range 0 to 13
variable data_cntinteger 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 < '0'
else case current_s is
when s0> rw< '1'rs < '1'e < '1'cnt1cnt1+1
if cnt1 < 250 then lcd_rst < '0'
elsif cnt1 < 500 then lcd_rst < '1'
elsif cnt1500 then
lcd_rst < '1'cnt1 0current_s < s1
end if
when s1>cnt1_1cnt1_1+1
if cnt1_1 < 1*3 then e < '1'rs < '0'rw < '0'
elsif cnt1_1<2*3 then lcd_data
elsif cnt1_110*3 then cnt1_10current_s
when s2>cnt1_1cnt1_1+1
if cnt1_1<1*3 then e<'1'rs<'0'rw<'0'
elsif cnt1_1<2*3 then lcd_data
elsif cnt1_110*3 then cnt1_10current_s
when s3>
if cnt1_1<1*3 then e<'1'rs<'1'rw<'0'
elsif cnt1_1<2*3 then lcd_data
elsif cnt1_1<100 then e<'0'
end if
cnt1_1cnt1+1
if cnt1_1100 then cnt1_10
if data_cnt16 then current_s
end if
when others>current_s
end if
end if
end process
end Behavioral
图10 显示文字模块
图11 系统仿真图形
44 图形数模块
LIBRARY IEEE
USE IEEESTD_LOGIC_1164ALL
USE IEEESTD_LOGIC_UNSIGNEDALL
ENTITY lcdlinehozi IS
PORT( CLKkey3 IN STD_LOGIC
CK0DISPHsyncVsyncOUT STD_LOGIC
rgbOUT STD_LOGIC_VECTOR(0 TO 23)
)
END
ARCHITECTURE WX OF lcdlinehozi IS
SIGNAL CLK_TEMP1CLK_TEMP2CK STD_LOGIC
SIGNAL CNT1CNT2STD_LOGIC_VECTOR(2 DOWNTO 0)
signal cntstd_logic_vector(1 downto 0)
SIGNAL HS_CNTVS_CNTINTEGER RANGE 0 TO 525
signal rgbxrgby STD_LOGIC_VECTOR(0 TO 23)
CONSTANT THpINTEGER 41
CONSTANT THbINTEGER 2
CONSTANT THfINTEGER 2
CONSTANT TVpINTEGER 10
CONSTANT TVbINTEGER 2
CONSTANT TVFINTEGER 2
CONSTANT THdINTEGER 480
CONSTANT TVdINTEGER 272
BEGIN
PROCESS(key3)
BEGIN
IF key3'event and key3'1' THEN
IF cnt10 THEN cnt<00
else cnt
end process
process(cnt)
begin
if cnt00 then rgb<111111111111111111111111
elsif cnt01then rgb
end ifend process
process(hs_cntvs_cnt)
begin
if hs_cnt<102 then rgbx<000000000000000000000000
elsif hs_cnt<162 then rgbx<000000000000000011111111
elsif hs_cnt<222 then rgbx<111111110000000000000000
elsif hs_cnt<282 then rgbx<000000001111111111111111
elsif hs_cnt<342 then rgbx<000000001111111100000000
elsif hs_cnt<402 then rgbx<111111110000000011111111
elsif hs_cnt<462 then rgbx<111111111111111100000000
elsif hs_cnt<522 then rgbx<111111111111111111111111
else rgbx<101010101010101010101010
end if
if vs_cnt<43 then rgby<000000000000000000000000
elsif vs_cnt<75 then rgby<000000000000000011111111
elsif vs_cnt<107 then rgby<111111110000000000000000
elsif vs_cnt<139 then rgby<000000001111111111111111
elsif vs_cnt<171 then rgby<000000001111111100000000
elsif vs_cnt<203 then rgby<111111110000000011111111
elsif vs_cnt<235 then rgby<111111111111111100000000
elsif vs_cnt<267 then rgby<111111111111111111111111
else rgby<101010101010101010101010
end if
end process
CLOCKPROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK'1'THEN
IF CNT12 THEN CNT1<000
ELSE CNT1
END PROCESS
PROCESS (CLK)
BEGIN
IF CLK'EVENT AND CLK'0' THEN
IF CNT22 THEN CNT2<000
ELSE CNT2
END PROCESS
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK'1' THEN
IF CNT10 THEN CLK_TEMP1<'1'
ELSIF CNT11 THEN CLK_TEMP1<'0'
END IF
END IF
END PROCESS
PROCESS (CLK)
BEGIN
IF CLK'EVENT AND CLK'0'THEN
IF CNT20 THEN CLK_TEMP2<'1'
ELSIF CNT21 THEN CLK_TEMP2<'0'
END IF
END IF
END PROCESS
CK
BEGIN
IF CK'EVENT AND CK'1' THEN
IF HS_CNTTHp1 THEN
Hsync<'1' HS_CNT
HS_CNT<0Hsync<'0'
IF VS_CNTTVp+TVb+TVd+TVf1 THEN285 VS
VS_CNT<0Vsync<'0'DISP<'1'
ELSIF VS_CNTTVp1 THEN
Vsync<'1'VS_CNT
ELSE HS_CNT
END PROCESS
END WX
图12 显示图模块
图13 系统仿真图形
第5章 实总结
次实第次做课程设计说重理知
识实践充分结合具较强实践动手力实践中发现问题分析问
题解决问题实际工作定基础 次实中资料搜集
整理尤关键考察信息提取力提出设计方案做准备
设计程中电路图起简单编译非常难时
理知识应次实意识理知识实践力足
学生活中需更努力读书实践
三星期说苦甜学东西
时仅巩固前学知识学书没学知
识通次课程设计懂理实际相结合重理知识
远远够学理知识实践相结合起理中出结
提高实际动手力独立思考力
参考文献
[1] 潘松黄继业EDA技术VHDL(第二版)清华学出版社
[2] 刘韬楼兴华FPGA数字电子系统设计开发实例导航民邮电出版社
[3] 周立功等编著EDA实验实践北京航空航天学出版社
[4] 王彦 编基FPGA工程设计应西安电子科技学出版社
致谢
次设计中想首先感谢XX老师课程设计没开始前老师
早做准备熟悉Quartus‖方法设计程解决难题
课程设计够较成功完成
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档