1 / 11
文档名称:

FPGA课程设计报告.doc

格式:doc   大小:55KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FPGA课程设计报告.doc

上传人:hnet653 2022/1/2 文件大小:55 KB

下载得到文件列表

FPGA课程设计报告.doc

文档介绍

文档介绍:.
2 / 11
汉字点阵的FPGA实现
实****报告
学院:电气与信息工程学院
__龚妙
专业:电子信息科学与技术081
__ 08401500126
指导张学毅
20XX11月11日
汉字点阵显示的FPGA实现
引言
随着我国经济的高速发展,对公共场合发布信息的需求日益增长,利用LED点阵显示汉字的出现正好适应了这一市场需求,已经成为信息传播的一种重要手段。
采用传统方法设计的汉字显示,通常需要使用单片机、存储器和制约逻辑电路来进行PCB板级的系统集成。尽管这种方案有单片机软件的支持较为灵活,但是由于受硬件资源的限制,未来对设计的变更和升级,总是难以避免要付出较多的研发经费和较长投放市场周期的代价。随着电子设计自动化〔EDA技术的进展,基于可编程FPGA器件进行系统芯片集成的新设计方法,也正在快速地到代基于PCB板的传统设计方式。因此,本文主要阐述基于FPGA和VHDL语言实现在16*16点阵上汉字的显示问题。
设计方案
本文的LED点阵模块,共有16*16个发光二极管组成,此次设计最大的难点在于如何显示汉字。系统采用16路动态分时扫描技术来实现,将16*16数组的显示模块的列输入端与FPGA的ROM的16位数据输出端口相连,16个行控制端与一个4-16译码器的输出端相连,译码器的输入端又与FPGA内的行扫描控制模块的输出sel3-sel0相连。。
系统原理框图
LED的显示原理
16*16LED点阵的显示原理如同单个LED显示原理,当顺向一端接有高电平,另一端为低电平时,对应的LED就被点亮。16*16的点阵就是对应于行或列为高电平时,另一端为低电平,且为顺接时,他们交叉地方的LED就被点亮。
点阵LED一般采用扫描方式显示,包括1行扫描;2列扫描;3>点扫描。采用不同的扫描方式其对扫描频率也有不同的要求。此次实验采用的是列扫描的方式。
.
2 / 11
汉字的显示
汉字显示使用的是16*16的点阵,EDA实验箱上有其接口,列选信号为sel0-sel3,经4—16线译码器输出16行,列选信号是由一个4位向量sel[3:0]控制,行选信号为q0-q15,每一行由一个单独的位来控制,高电平有效。由于列是由一个向量决定的,而每一时刻的值只能有一个固定的值,因而只能使某一列的若干个点亮,因此就决定了只能用逐列扫描的方法。
编程思路
本次设计的难点在于怎样显示汉字及如何动态的变换汉字,从这方面入手,因为本次设计要显示的汉字和数字较多,故可采取自动切换的方法,即在字与字之间加一延时和循环即可实现汉字的动态显示,故用到了一个17进制计数器〔共17个汉字和数字和一个16进制的计数器,外加一延时单元和汉字字模单元几部分组成。
六、程序清单
'define UD #1
module dianzhen <
sysclk,
rst_b,
led_data,
led_sel
>;
input sysclk,rst_b;
output [15:0 led_data;
output [3:0] led_sel;
wire sysclk;
wire rst_b;
reg [15:0] led_data;
reg [3:0] led_sel;
reg [3:0] led_sel_n;
reg [15:0] led_scan_cnt;
reg [15:0] led_scan_cnt_n;
reg [27:0] led_keep_cnt;
reg [27:0] led_keep_cnt_n;
reg [3:0] led_mode;
reg [3:0] led_mode_n;
parameter scan_led = 16'h50;
parameter scan_src = 28'h100;
always <posedge sysclk or negedge rst_b>
begin
if<!rst_b>
led_scan_cnt<='ud