基于FPGA的点阵显示控制器的设计

上传人:平*** 文档编号:14371377 上传时间:2017-11-01 格式:DOC 页数:19 大小:269.22KB
返回 下载 相关 举报
基于FPGA的点阵显示控制器的设计_第1页
第1页 / 共19页
基于FPGA的点阵显示控制器的设计_第2页
第2页 / 共19页
基于FPGA的点阵显示控制器的设计_第3页
第3页 / 共19页
基于FPGA的点阵显示控制器的设计_第4页
第4页 / 共19页
基于FPGA的点阵显示控制器的设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于FPGA的点阵显示控制器的设计》由会员分享,可在线阅读,更多相关《基于FPGA的点阵显示控制器的设计(19页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的8*8点阵显示器的设计摘要:主要研究基于VHDL语言的8*8点阵显示汉字。首先对单个模块进行设计仿真调试,然后对整体模块的设计,通过编程、调试、仿真实现汉字的行扫描,其硬件系统下载正确的实现也获得了与软件仿真相吻合的结果。关键字: 扫描 分频 点阵显示一课题要求 1.技术要求 (1)EDA 技术: EDA(Electronic Design Automation)技术就是依赖功能强大的计算机,在EDA 工具软件平台上,对以硬件描述语言HDL( Hardware Description Language)为系统描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合、布局布线以

2、及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。(2)VHDL 语言:VHDL(Very-High-Speed Integrated Circuit Hardware Description Language主要用于描述数字系统的结构,行为,功能和接口,除了含有许多硬件特征得语句外,VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。(3)层次化设计:EDA设计一般采用自顶向下、由粗到细、逐步求精的方法。设计最顶层是指系统的整体要求,最下层是指具体的逻辑电路实现。自定向下是将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大则进一步分解为更小的子系统和模块,层层

3、分解,直至整个系统中各子模块关系合理、便于实现为止。2.功能要求本次综合型数字电路课程设计组要完成点阵显示控制器的三种功能,分别是按键控制静态显示下一个字、汉字滚动和逐列显示(即先显示两边的各一列然后向外依次显示直至显示整个汉字,之后先显示中间的两行然后向外显示直至显示整个汉字),本次课程设计的所采用的软件是Quarters6.0,硬件是EP2C5T144C8 ,通过对于 8*8点阵显示相应的汉字,分别通过行和列控制显示。2设计方案本次课程设计采用的是的行共阳列共阴的8*8点阵,因此不可能在同一时刻显示出整个汉字,为了显示出整个汉字,首先制作一个基本矩阵,然后按照时间的顺序进行逐行扫描,首先行

4、给00000001, 同时列给相应的码值,第一行的的发光二极管就会有相应的亮,然后行给00000010,同时列给相应的码值,第二行的的发光二极管就会有相应的亮,用并行操作方式,如此周而复始的重复下去,根据人眼的视觉残留特性,使之形成整个汉字的显示。本次试验采用行扫描。图一.硬件总体框图三单元模块设计 仿真结果及分析1.选择输出模式library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity control isport(en:in std_logic;key:in std_logic_vector

5、(1 downto 0);Q0,Q1,Q2:in std_logic_vector(7 downto 0);Y:out std_logic_vector(7 downto 0);end;architecture ex1 of control isbeginprocess(en,key)beginif en=0 then yyyyy=2e8 then d_ff0); else d_ff0);else hang=2e8 then d_ff0); else d_ff0);else cnt=2e8 then d_ff0); else d_ff0);else hangclock,key0=kaiguan

6、,com=A0,red=B0);u1:control port map(en=enable,key=xuanze,Q0=a0,Q1=a1,y=row,Q2=a2);u2:control port map(en=enable,key=xuanze,Q0=b0,Q1=b1,y=col,Q2=b2);u3:gundong port map(clk=clock,com=a1,red=b1);u4:dongtai port map(clk=clock,com=a2,red=b2);end ex5;由仿真波形可以知道只有在enable=0并且xuanze != “11”的情况下才会有码值输出,在enabl

7、e=0的情况下 xuanze=“00”时,kaiguan按下时就会显示下一个汉字,如此在有键按下的情况下重复显示“周”、“秋”;xuanze= “01”时,点阵会显示向上滚动的“周秋”汉字如此重复向上滚动,循环形成;Xuanze=“10”时,先从里向外显示直至显示整个字,然后从外向里显示直至显示整个汉字,如此重复显示汉字“秋”。5硬件电路的安装与调试1.LED的发光原理本 次 试 验 采 用 的 是 行 共 阳 、 列 共 阴 的 LED显 示 器 , 要 使 点 阵 上 Aa二 极 管 发 亮 , 则 A为高 电 平 , a为 低 电 平 。 其 连 接 方 式 如 图 :由 于 显 示 器

8、 为 行 共 阳 、 列 用 阴 的 结 构 , 因 此 不 可 能 在 同 一 时 刻 显 示 整 个 汉 字 。 为 了显 示 出 整 个 汉 字 , 首 先 分 布 好 汉 字 排 列 , 以 行 给 汉 字 信 息 ; 然 后 以 1Hz频 率 的 时 序 逐 一点 亮 每 一 列 , 即 每 列 逐 一 加 高 电 平 , 同 时 行 给 汉 字 信 息 , 根 据 人 眼 的 视 觉 残 留 特 性 , 使之 形 成 整 个 汉 字 的 显 示 。2.驱动电路若 要 正 向 点 亮 一 片 LED, 至 少 需 要 510毫 安 , 如 果 电 流 不 够 大 , 则 LED不 够

9、 亮 , 而 FPGA的 输 入 /输 出 口 其 输 出 电 压 为 3.3V, 因 此 不 能 直 接 驱 动 LED, 所 以 需 要 额 外 的 驱 动 电路 。 本 次 实 验 使 用 的 三 极 管 驱 动 电 路 中 使 用 的 是 9012和 9013。 驱 动 电 路 如 图 所 示 :行驱动电路:列驱动电路:开关控制电路:3引脚分配时钟(50MHZ) clock Pin_17总的使能端 enable Pin_144开关控制显示下一个汉字kaiguan Pin_142xuanze0 Pin_134选择模式引脚xuanze1 Pin_132col0 Pin_44col1 Pin

10、_42col2 Pin_40col3 Pin_31col4 Pin_28col5 Pin_26col6 Pin_24列的引脚分配col7 Pin_8row0 Pin_71row1 Pin_69row2 Pin_65row3 Pin_63row4 Pin_59row5 Pin_57row6 Pin_53行的引脚分配row7 Pin_51其中clk的17引脚为芯片上的晶振时钟引脚,在芯片内部,不需要外接,其他的需用外接连线将硬件电路与芯片相连接,连接时注意引脚对应。下载软件时要用到USB下载线,并且,下载时要将芯片的5V 与GND端分别接实验室实验箱上的5V电压和接地端,这样接好后,才能下载。六调

11、试结果使能端的开关 选择开关(1) 选择开关(0) 显示效果1 X X 无显示,即点阵上的灯不亮0 0 0 按键控制显示下一个字(不成功)0 0 1 向上滚动显示汉字0 1 0 先从里向外显示直至显示整个字,然后从外向里显示直至显示整个汉字0 1 1 无显示,即点阵上的灯不亮七故障及问题分析经过(1)、经过联调之后,动态功能均能实现,利用按键控制的静态功能无法显示,静态功能的程序经过仿真波形并没有什么问题,但没有单独下载到FPGA板中调试。樊樊说可能是顶层文件的原因,具体原因我不清楚o(_)o(2)、在刚开始时程序下载到FPGA中,点阵不亮,经过同学的指导知道在上电后st1=“00000000”在程序中没有使用到,因此把这个加到集中就会显示汉字了。(3)、程序下载到FPGA后,会有所有的灯都亮,后来知道频率太大的原因,改小一点就好了。(4)、在能够显示汉字之后,我们发现汉字的有一些点不是很亮。经过与同学之间的讨论,原先以为是频率的原因,我们就将频率改大了。但是,还是与原先的现象相同。经过查阅资料,知道了发光二极管不太亮的原因是驱动电流太小,所以可以在原先电阻的基础上并联一个电阻,使电阻阻值减小,从而电流变大就使发光二极管变亮一些了。八收获与体会

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号