FPGA数字钟_通信电子-电子设计.pdf
《FPGA数字钟_通信电子-电子设计.pdf》由会员分享,可在线阅读,更多相关《FPGA数字钟_通信电子-电子设计.pdf(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-.-考试资料 数字钟设计 一、实验目的:通过设计实例,深入理解自顶向下设计方法,系统设计规范、系统设计、模块设计和系统仿真与实现各阶段的设计内容,初步掌握规范的数字系统设计方法并实践。二、实验要求:1、系统概述:设计一个用 LED 7段显示器显示的 24 小时制数字钟。2、系统目标:(1)用 8 个 LED 显示时间,如 9 点 25 分 10 秒显示为,09 25 10。(2)设置 2 个按键,按键 SET 用于工作模式选择,按键 UP 用于设置数值。(可选)(3)按 SET 键循环设置工作模式为:正常显示 时设置 分设置 秒设 置。在设置工作模式时,被设置相应数字按 1 秒速率闪烁,其它
2、数字不变。(4)在设置工作模式时,按 UP 键一次,被设置相应数字增加 1,加到最大值后再加返回 0,如小时加到 23 后再加就返回 0,分和秒加到 59 后再加返回 0。3、系统设计依据:外部输入时钟为 40MHZ,通过分频产生秒脉冲信号,用模 60 计数器对其计数产生分脉冲信号,对分脉冲用模 60 计数器对其计数产生时脉冲信号,再用模24 计数器对时脉冲计数,即可实现一天 24 小时的时间信号,通过 7 段 LED数码管显示出来则为基本数字钟,校时电路通过两个外部异步按键对“时”、“分”、“秒”显示数字进行校对调整。4、系统实现要求:-.-考试资料 要求用 Mars-EP1C3-EDA实验
3、平台。芯片与封装选择:本设计用 EP1C3T FPGA实现,144 脚封装,输入输出为 LVTTL电平。5、系统验证及测试要求:用 Mars-EP1C3-EDA 实验平台搭建模拟测试平台测试,测试验证数字钟实现设计目标。三、系统设计关键技术 1、按键消抖 按键按下前沿抖动 后沿抖动 闭合稳定 图 3-1 由图 3-l 可见,在按键闭合和断开时产生了多个边沿,而在实际中每按一次键,我们只需要一组稳定的上升或下降边沿,所以对于电路中的按键信号,如果我们不滤除抖动的话,还是简单的读取信号的边沿,会引起一次按键被误读多次,这样就会引起电路的误动作。为了保证按一次键电路只有一次正确的响应,即在键闭合稳定
4、时读取键的状态,就要求电路中必须采取滤除抖动的措施。原理:在设计中用时钟信号(key_clk)进行采样,对于按键输入信号,当两次采样信号相同时,这是判定已经稳定的按下或放开了按键,D 触发器相应的被置成 0 态或 1 态。如两次采样结果不相同,则触发器维持原输出信号不变,由于直接由触发器输出的信号时间宽度可能过长,所以在触发器后再接一级同步化电路,保证每次输出的信号只占有一个时钟周期的宽度。应用这种方法去滤除抖动,现各阶段的设计内容初步掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设
5、置数值可选按键循环设 工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求用实验平台搭建模拟测试平台测试测试验证数字钟实现-.-考试资料 关键是确定采样时钟的频率,保证两次采样的时间间隔能够大于按键的抖动时间,且小于正常按键时的按键稳定闭合时间。2、采用 BCD码的计数模式 时、分、秒的计数都
6、采用 BCD 码计数,如果采用二进制计数,分的最大计数值为 59,只需要 6 位就可以,因为时的计数值要通过两个数码管显示,所以计数值需要经过两级译码才能驱动数码管使其正常显示,必须先把计数值译码成高低四位的 BCD码,然后再分别把高、低四位 BCD码译码成数码管的显示编码。如果直接采用 BCD码计数,只需要一次译码就可以正常显示计数值,故采用 BCD码计数更方便,简化电路。3、数码管的动态显示 数码管的动态扫描,就是轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时在显示。数码管的轮流扫描频率不能太小,否则数码管不能同时显示,一般扫描频率
7、在500Hz到 1Khz 即可。本设计中的数码管位选信号为低电平有效,数码管的段为低显,复位后把位选信号 d_col 赋值为 8 b1111_1110,然后以 1Khz 的扫描频率使其循环左移,并送出相应位的字形码,即可实现数码管的动态显示。四、系统详细设计方案:1、系统设计分析:数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为 24 小时,显示满刻度为 23 时 59 分 59 秒,另外应有校时功能。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,通过将外部输入时钟为 40MHZ 分频实现。将标准秒信号送入“秒计数器”,“秒计数器”采用 60现各阶
8、段的设计内容初步掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设置数值可选按键循环设 工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求用实验平台搭建模拟测试平台测试测试验证数字钟
9、实现-.-考试资料 进制计数器,每累计 60 秒发生一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用 60 进制计数器,每累计 60 分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用 24 进制计时器,可实现对一天 24 小时的累计。将“时”、“分”、“秒”计数器的输出值经七段显示译码器译码,通过八位 LED七段显示器显示出来,显示格式为“时分秒”。通过 Set 和 Up 按键对“时”、“分”、“秒”显示数字进行校对调整,Set 键循环控制工作模式,即“正常显示”、“时设置”、“分设置”、“秒设置”的循环控制,在设置工作模式时,被设置相应数字
10、按 1 秒速率闪烁,其它数字不变。Up 键实现调整状态时相应时间的快速加“1”以实现时间校准。2、系统时钟和复位规划:本设计采用一个全局时钟 clk 和复位 reset。3、顶层模块划分及模块功能说明 系统分为 5 个模块,Freq_div 模块,Clock_cnt 模块,Clock_ctl 模块,Key_ctl模块和 Display 模块。系统框图如图 4-1 所示,图 4-2 是顶层模块设计。输入信号:clk:系统时钟;reset:系统复位;set:工作模式选择按键;up:调时按键;输出信号:d_col7:0:八位 LED动态选择;d_out7:0:LED 显示数据;现各阶段的设计内容初步
11、掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设置数值可选按键循环设 工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求用实验平台搭建模拟测试平台测试测试验证数字钟实现-.-考试资
12、料 Clock_cntClock_ctlFreq_divKey_ctlDisplaykey_clkset_enup_ens_clkscan_clkh_data7:0m_data7:0s_data7:0h_setm_sets_setresetclksetupd_out7:0d_col7:0 图 4-1 系统框图 VCCclk INPUTVCCset INPUTVCCup INPUTVCCrst_n INPUTd_out7.0 OUTPUTd_ctl7.0 OUTPUTFreq_divinst1clk INP UTrst_n INP UTscan_clk OUTP UTs_clk OUTP UTk
13、ey_clk OUTP UTI/O TypeKey_ctlinstclk INP UTset INP UTup INP UTkey_clk INP UTrst_n INP UTup_en OUTP UTset_en OUTP UTI/O TypeDisplayinst4clk INP UTscan_clk INP UTrst_n INP UTh_data7.0 INP UTm_data7.0INP UTs_data7.0 INP UTd_ctl7.0 OUTP UTd_out7.0OUTP UTI/O TypeClock_cntinst3clk INP UTh_set INP UTm_set
14、INP UTs_set INP UTup_en INP UTrst_n INP UTs_clk INP UTh_data7.0 OUTP UTm_data7.0 OUTP UTI/O.Type.Clock_ctlinst2clk INP UTrst_n INP UTset_en INP UTh_set OUTP UTm_set OUTP UTs_set OUTP UTI/O Type 图 4-2 顶层模块设计 4、每个模块详细功能说明,信号定义及时序定义(1)Freq_div 模块:将 40M Hz 的系统时钟进行分频产生三种时钟使能信号:scan_clk(1khz)、key_clk(100h
15、z)、s_clk(1hz)。输入信号:现各阶段的设计内容初步掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设置数值可选按键循环设 工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求
16、用实验平台搭建模拟测试平台测试测试验证数字钟实现-.-考试资料 clk:系统时钟 rst_n:复位信号 输出信号:scan_clk:数码管扫描频率 key_clk:按键采样频率 s_clk:1s 时钟信号(2)Key_ctl 模块:完成对按键的同步、去抖功能,输出稳定的按键信号set_en、up_en。输入信号:clk:系统时钟 rst_n:复位信号 set:模式设置按键 up:计数值加按键 输出信号:Set_en:模式设置使能信号 up_en:按键加使能信号(3)Clock_ctl模块:通过 set_en 信号对“正常显示”、“时设置”、“分设置”、“秒设置”模式的循环控制,并产生设置信号
17、h_set(时)、m_set(分)、s_set(秒)供 Clock_cnt 使用。输入信号:Clk:系统时钟;reset:复位信号;set_en:工作模式选择信号;输出信号:H_set:时设置使能信号;M_set:分设置使能信号,S_set:秒设置使能信号;状态机信号:Normal:正常显示状态;Hour_set:时设置状态;Minute_set:分设置状态;Second_set:秒设置状态。现各阶段的设计内容初步掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设置数值可选按键循环设
18、工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求用实验平台搭建模拟测试平台测试测试验证数字钟实现-.-考试资料(4)Clock_cnt 模块:完成数字钟的正常显示和数字钟的时、分、秒的校时,在校时模式下,通过 ctl 信号控制 LED的闪烁,也就是间隔 1s 输出时间数据。输入信号:Clk
19、:系统时钟 reset:复位信号;up_en:校时信号 s_clk:1 秒脉冲信号;h_set:时设置使能信号;m_set:分设置使能信号,s_set:秒设置使能信号;输出信号:h_data:时输出信号;m_data:分输出信号;s_data:秒输出信号;(5)Display 模块:LED的动态显示,显示格式“时 分 秒”。输入信号:reset:复位信号;clk:系统时钟信号 scan_clk:数码管扫描信号 h_data:时信号;m_data:分信号;s_data:秒信号;输出信号:d_col:数码管的位选择信号 d_out:译码后驱动数码管信号 五、系统设计仿真及测试方案 A、采用 Qua
20、rtusii 和 Modelsim 的功能仿真,采用 Quartusii 的时序仿真分析,验证设计的正确性。B、在 Mars-EP1C3-EDA实验平台上实现本设计,并测试其正确性。具体方现各阶段的设计内容初步掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设置数值可选按键循环设 工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时
21、电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求用实验平台搭建模拟测试平台测试测试验证数字钟实现-.-考试资料 案如图 4-3 所示。EP1C3TKEY1KEY2d_col7:0d_out7:0八位数码管实时显示时间格式“时分秒”KEY1 和 KEY2 分别表示 set、up键 图 4-3 C、实验板信号定义 本设计 信号名 实验板 信号名 FPGA引脚 备注 本设计 信号名 实验板 信号名 FPGA引脚 备注 d_out0 display7 p5 低显 dp 段 d_col2 Dis_A6
22、P10 低显示 d_out1 display6 p4 低显 g 段 d_col3 Dis_A5 P7 低显示 d_out2 display5 p3 低显 f 段 d_col4 Dis_A4 P6 低显示 d_out3 display4 p2 低显 e 段 d_col5 Dis_A3 P11 低显示 d_out4 display3 p1 低显 d 段 d_col6 Dis_A2 P26 低显示 d_out5 display2 p143 低显 c 段 d_col7 Dis_A1 P27 低显示 d_out6 display1 p141 低显 b 段 set KEY1 p107 按下为低 d_out
23、7 display0 p142 低显 a 段 up KEY2 p106 按下为低 d_col0 Dis_A8 P31 低显示 clk CLK_40M p16 40M 时钟 d_col1 Dis_A7 P28 低显示 reset SYS_RST p144 低复位 表 4-1 六、模块详细设计及功能仿真 现各阶段的设计内容初步掌握规范的数字系统设计方法并实践二实验要求系统概述设计一个用段显示器显示的小时制数字钟系统目标用个显示时间如点分秒显示为设置个按键按键用于工作模式选择按键用于设置数值可选按键循环设 工作模式时按键一次被设置相应数字增加加到最大值后再加返回如小时加到后再加就返回分和秒加到后再加
24、返回系统设计依据外部输入时钟为通过分频产生秒脉冲信号用模计数器对其计数产生分脉冲信号对分脉冲用模计数器对其计 校时电路通过两个外部异步按键对时分秒显示数字进行校对调整系统实现要求考试资料要求用实验平台芯片与封装选择本设计用实现脚封装输入输出为电平系统验证及测试要求用实验平台搭建模拟测试平台测试测试验证数字钟实现-.-考试资料 1、Freq_div 模块设计及功能仿真:(1)模块设计 分频电路的原理:分频电路实际上就是一个计数器,根据系统提供的时钟频率和你所需的时钟频率计算出计数的值,当计数值达到设置的值时,使输出变化一次。系统提供的时钟频率为 40MHz,该模块包括三个分频电路:原理如图 2-
25、4所示。第一步:将系统时钟 40_000 分频产生 1KHz信号 scan_clk;第二步:将 1KHz进行 10 分频产生 100Hz 信号 key_clk;第三步:将 100Hz 进行 100 分频产生 1Hz 信号 s_clk。模 40_000计数器模 10计数器模 100计数器clkreset1KHz(scan_clk)100Hz(key_clk)1Hz(s_clk)1KHz 100Hz 图 6-1(2)功能仿真 为了减小仿真时间和难度,把分频值改小进行仿真。设置 clk 周期为 2ns。设置对 clk 进行 4 分频产生 scan_clk;设置对 scan_clk 进行 3 分频产生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 数字 通信 电子 电子设计
限制150内