基于FPGA的自动打铃系统的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动打铃系统设计说明书

***名:**

学号:***********

专业班级:电子09-2BF

报告提交日期:2011-11-28 湖南理工学院物电学院

目录

一、题目及要求简介 (1)

1.设计题目 (1)

2.总体要求简介 (1)

二、设计方案说明 (1)

三、各部分功能介绍及程序 (2)

1.系统框图 (2)

2.选择的FPGA芯片及配置 (2)

3.各模块(元件)说明 (2)

四、仿真结果 (4)

1.计时进位 (4)

2.手动校时 (5)

3.六点整闹铃 (5)

五、说明 (5)

1.输入激励信号说明 (5)

2.输出结果说明 (6)

六、源程序 (6)

1.顶层模块 (6)

2.模式控制子模块 (7)

3.计时及调整子模块 (8)

4.闹铃及调整子模块 (10)

5.显示子模块 (11)

七、参考文献 (14)

一、设计题目及要求简介

1.设计题目

基于FPGA 的自动打铃系统的设计与实现 2.总体要求简介

(1)基本计时和显示功能

① 24小时制显示 ② 动态扫描显示 ③ 显示格式:88-88-88 (2)能设置当前时间(含时、分)

(3)能实现基本打铃功能,上午06:00起床铃,打铃5秒

二、设计方案说明

本系统采用自顶向下的模块化设计方法,将数字闹钟按照功能实现分为模式控制模块、计时及调整模块、闹铃及调整模块、显示模块。系统调整部分软件控制流程示意图如图2-1所示。

图2-1

开始

mode 计时功能

turn

change

闹铃功能

调整小时

调整分钟

返回计时

LD_hour 亮 LD_min 亮 校时功能

调整小时

调整分钟

返回计时

LD_alert 亮

→ → → ↔

切换 切换

0 1

2

三、各部分功能介绍及程序

1.系统框图

顶层电路主要由FPGA实现,输出信号接到八位数码管、LED指示灯及扬声器上,系统框图如图3-1所示。

图3-1

2.选择的FPGA芯片及配置

本系统选择ACEX1K系列的EP1K10TC100-3芯片,由于FPGA器件是基于SRAM结构的,具有易失性,在此采用被动串行配置(PS)方式,由外部的计算机控制配置过程,使用USB-Blaster下载电缆下载程序。

3.各模块(元件)说明

3.1 顶层文件端口说明

module alarmclock(clk,clk_1k,mode,change,turn,sel,decodeout,alert,

LD_alert,LD_hour,LD_min);

input clk,clk_1k,mode,change,turn;

output alert,LD_alert,LD_hour,LD_min;

output[2:0] sel;

output[7:0] decodeout;

reg[7:0] hour,min,sec,hour1,min1,sec1,ahour,amin;

reg[1:0] m,fm,num1,num2,num3,num4;

reg[1:0] loop1,loop2,loop3,loop4,sound;

reg LD_alert,LD_hour,LD_min;

reg clk_1HZ,clk_2HZ,minclk,hclk;

reg alert1,ear;

reg count1,count2,counta,countb;

wire ct1,ct2,cta,ctb,m_clk,h_clk;

reg [2:0] sel;

reg [7:0] decodeout;

3.2 顶层文件引脚映射说明

输入引脚5个,输出引脚15个,映射关系如图3-2所示。

图3-2

3.23各子模块说明

①模式控制子模块

此模块通过mode信号0、1、2三种状态的控制,使系统分别在计时、闹铃、校时三种模式下工作。

②计时及调整子模块

当mode信号为0时,在基准时钟信号clk下,系统按60进制加1计时;当mode信号为2时,若检测到turn信号的脉冲时,在校对小时和分钟之间作切换,当前的调整状态可通过LD_hour或LD_min指示灯查看,change信号每来一个脉冲,计数器加1,这样可以将系统当前的时间调到任意时刻。

③闹铃及调整子模块

此模块下,mode信号为2,当检测到turn信号的脉冲时,闹铃定时在小时和分钟之间作切换,当前的调整状态可通过LD_hour或LD_min指

示灯查看,change信号每来一个脉冲,计数器加1,这样可以给系统设置任意时刻的闹铃,设置完成之后LD_alert指示灯会常亮(注:此模块程

序中已经加入了六点整闹铃控制语句)。

④显示子模块

此模块用于将实时时间(包括调整过程中时钟的状态)输出到八位数码管中,通过sel信号位选的控制动态扫描显示当前时钟。

四、仿真结果

1.计时进位(以23:59:59为例)

当秒计时满59时,向分钟进位并重新开始计时;当分钟计时满59时,向小时进位并重新开始计时;当小时计时满23时,清零并重新开始计时,23:59:59时刻后从00:00:00重新开始计时,仿真波形如图4-1所示。

图4-1

相关文档
最新文档