一行(LDA)。主板上16*16LED点阵电路如图3-11-1。
图3-11-1 16*16LED点阵电路图
电路中的COM13(LATTICE_COM)是对外的逻辑分析仪测试点和接口,这些信号并没有连接到相应的FPGA引脚,因此要对LED点阵操作必须通过连线操作。
利用图3-11-2所示的汉字字库提取软件可以得到所需汉字的按行、列的16*16位的十六进制信息,再用十六进制转二进制软件即能得到所需汉字信息的二进制信息,以用于后面的VHDL程序的设计。
图3-11-2 汉字字库提取软件运行界面
得到汉字字符信息后根据16*16点阵显示原理,便可以设计显示代码,测试代码如下: library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity matrix is
20
port(clk,clr,en:in std_logic;
dotout:out std_logic_vector(31 downto 0); selout:buffer std_logic_vector(3 downto 0)); end matrix;
architecture m of matrix is begin
process(clk) begin
if clr='1' then dotout<=\else if en='1' then if clk'event and clk='1'
then if selout=15 then selout<=\ else selout<=selout+1; end if; case selout is
when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when\ when others=>dotout<=null; end case; end if; end if; end if;
end process; end m;
该代码是测试显示“南”字,但是最终的调试结果并不成功,由于行列数据输入顺序颠倒的问题,显示出来的字颠倒了90°,结果如图3-11-2.
21
图3-11-2 16*16LED点阵调试结果
1.4 调试与仿真
虽然之前的分模块设计前都经过仔细的理论论证,但实际的电路总会存在着或大或小的问题或者缺陷,如果不分模块调试仿真、确保每个模块的正确性,那将在最终编程下载中出现问题将很难检查到问题。在上面1.3节中每一个模块的原理和设计说明后面均已经加入的该模块的波形仿真结果,通过研究输入和输出波形的逻辑关系可以验证各模块的各个功能的设计成功与否。
对于最基本的电路——基本计时电路,经过反复调试、修改,最终得到功能正确的电路,其内部模块设计见1.3.2节,下图4-1和4-2分别为基本计时电路的外部封装情况和波形仿真结果
图4-1 基本计时电路封装图
22
图4-2 基本计时电路波形仿真结果
由于软件调试仿真功能有限,其他功能——显示、闹钟仍需下载至实验箱中调试验证。
1.5 编程下载
下载前最后一步就是分配管脚,对照SmartSOP实验箱的管脚分配说明书,我们给所需输
入输出端分配管脚,如图5-1所示。
图5-1 电路管脚分配表
23
最后点击Tools->Programmer->Start,成功下载到FPGA中。实验箱最终的显示结果如图5-2所示。拨动开关K1、K2、K3、K4、K5、K6、K7、K8也成功实现清零、快速校分、快速校时、校星期、闹钟设定显示、闹钟设时、闹钟设分、12/24小时显示模式切换的功能。故本次实验结果是比较成功的。
图5-2 最终显示结果
二、结论
2.1 实验结果
不论是波形仿真结果还是实验箱实际调试结果都是符合设计要求的。
(1) 在一般情况下能准确的按照1Hz的速度从00:00:00到23:59:59计时,能准确进位
和清零,并经过24个小时星期数加1;
(2) 拨动清零开关K1,时分秒恢复到0,星期数恢复到1,表示星期一;
(3) 拨动保持开关K2、3,当全为1时,时分秒全部暂停计数,显示结果稳定地停在所
需的时间点出;
(4) 拨动校分开关K2,分显示位以2Hz的速度计数,时、秒暂停计数; (5) 拨动校时开关K3,时显示位以2Hz的速度计数,分、秒暂停计数; (6) 拨动校星期开关K4,星期显示位以1Hz的速度计数;
(7) 拨动闹钟设定显示开关K5,为0时,数码管显示数字钟的时间值,为1时,数码
管显示设定的闹钟时间值;
(8) 拨动闹钟设时开关K6,闹钟时以1Hz的速度计数; (9) 拨动闹钟设分开关K7,闹钟分以1Hz的速度计数;
(10) 拨动小时模式开关K8,为0时,以24小时模式显示,为1时,以12小时模式显
示;
(11) 系统具有整点报时功能,当时钟计到59’53”时开始报时,在59’53”, 59’55”,59’
57” 时报时频率为500Hz,59’59”时报时频率为1KHz;
(12) 系统具有闹钟响铃功能,当时钟的时分和设定的闹钟时分一样时,蜂鸣器按照设定
的旋律响铃。
(13) LED点阵能正常工作,但是由于串入数据的行列信息排练问题,LED点阵未能显
24