综合课程设计报告基于FPGA的嵌入式51核的数字钟设计_第1页
综合课程设计报告基于FPGA的嵌入式51核的数字钟设计_第2页
综合课程设计报告基于FPGA的嵌入式51核的数字钟设计_第3页
综合课程设计报告基于FPGA的嵌入式51核的数字钟设计_第4页
综合课程设计报告基于FPGA的嵌入式51核的数字钟设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于基于 fpgafpga 的嵌入式的嵌入式 5151 核的数字钟设计核的数字钟设计 摘要摘要 此次设计的数字钟具有年、月、日、时、分、秒计数显示功能,以 24 小时 循环计时显示;具有清零,调节小时、分钟功能;具有整点提示、定时报警功 能,使用蜂鸣器报警;由键盘输入进行数字钟设计的校时、清零、启停功能。 数字钟在日常生活中经常用到,可利用现在所学知识自行设计一个数字钟。 我们在本次实验中采用了基于 fpga 的嵌入 51 软核的设计方法。基于 eda 技 术,在 quartus ii 工具软件环境下,采用自顶向下的设计方法,在 fpga 中嵌 入 51 软核。在 fpga 中嵌入 51 软核

2、后,fpga 就有了 51 单片机所有的功能, 就相当于在 51 单片机上进行数字钟的设计。系统主芯片采用 ep2c5t144c8, 由时钟模块、控制模块、显示以及报时模块组成。经编译和仿真所设计的程序, 在可编程逻辑器件上下载验证。 关键字:关键字:fpga;51 软核;整点提示;定时报警;对时 目录目录 第一章第一章 题目分析题目分析 .3 1.1、功能要求及指标.3 1.2、设计思路.3 第二章第二章 方案比较与选择方案比较与选择 .4 2.1 方案一.4 2.2 方案二.4 2.3 方案三.5 第三章第三章 系统各模块设计系统各模块设计 .6 3.1、8051 ip 软核的嵌入.6 3

3、.1.1 基本结构和功能.6 3.1.2 8051 软核系统构建和软件测试.7 3.2 系统软件设计.8 第四章第四章 系统测试系统测试 .9 第五章第五章 结论结论 .10 参考文献参考文献 .10 第一章第一章 题目分析题目分析 1.11.1、功能要求及指标、功能要求及指标 本设计是基于 fpga 嵌入式 51 软核的设计性实验。在 fpga 中嵌入 51 软核 后,fpga 就有了 51 单片机所有的功能,就相当于在 51 单片机上进行数字钟的 设计。 此次设计的数字钟具有年、月、日、时、分、秒计数显示功能,以 24 小 时循环计时显示;具有清零,调节小时、分钟功能;具有整点提示、定时报

4、警 功能,使用蜂鸣器报警。 1.21.2、设计思路、设计思路 本设计首先要解决的就是嵌入 51 软核的问题。现在网络上有很多现成的 51 软核的 vqm 程序,可以直接拿来使用。把 cpu、锁相环、数据 ram、程序 rom,都放在同一片 fpga 内,从而构成 soc 系统,这将使系统的设计效率 和系统性能获得极大的提高,这也是现代电子设计技术的发展方向。 其次就是单片机程序编写的问题。在了解数字钟所要实现的功能之后就可 以用 c 来编写程序,只要有一定的单片机编程基础就可以很快写出。 图 1 是总体设计思路框图。 图 1 总体设计思路框图 第二章第二章 方案比较与选择方案比较与选择 2.1

5、2.1 方案一方案一 利用 eda 技术自顶向下的设计方法,完全由 vhdl/verilog hdl 硬件描 述语言,在 quartus ii 开发平台下进行编译、仿真、下载,实现基本计时显示 和设置、调整时间、闹钟和秒表功能。系统主要由计数器组成,再加上控制及 显示电路实现数字钟的设计。系统框图如图 2 所示。 图 2 基于 fpga 控制的系统框图 采用硬件描述语言和 pld 器件相结合进行数字集成电路的设计简单方便, eda 技术的发展在一定程度上实现了硬件设计的软件化。但是此方法很难实现 整点提示这一功能,不能完全实现题目的要求,在定时和对时时也很麻烦,显 示界面太单一,不够直观。 2

6、.22.2 方案二方案二 采用 at89c51 为控制核心,使用单片机的 t0 定时器来实现秒的计数,t1 产生 1khz 的报警频率。结合相关的元器件(lcd1602 液晶显示器、4*4 键盘 等) ,再通过编写单片机程序语言,达到制作数字钟的目的。使用此方法价格便 宜,但与使用 fpga 相比,前者系统集成度低,外围电路复杂,功耗高。系统 框图如图 3 所示。 图 3 基于单片机控制的系统框图 2.32.3 方案三方案三 在 fpga 中嵌入 51 软核,软核在接上 rom、ram 和 pll 等外围电路之 后就成为一个完整的 8051 单片机。此单片机 cpu 核与传统 mcs-51 单

7、片机完 全兼容,但速度约为传统单片机的 20 倍,优化良好的条件下,主频最高可达 250mhz;同样用 c 或汇编语言完成软件设计,而且系统集成度高,稳定。使 用 lcd1602 作显示器,可以使显示界面更加的直观,多样化。系统框图如图 4 所示。 图 4 基于 51 ip 软核控制的系统框图 综合以上分析、比较,此处选择方案三进行设计。 第三章第三章 系统各模块设计系统各模块设计 3.13.1、80518051 ipip 软核的嵌入软核的嵌入 3.1.1 基本结构和功能 alu i/o / uart ram 图 5 8051 结构模块框图 图 6 8051 原理图元件 8051 的指令系统与

8、 8051/2、8031/2 等完全兼容,硬件部分也基本相同, 例如可接 64kb 外部存储器,可接 256 字节内部数据 ram,含两个 16 位定时/计 数器,全双工串口,含节省功耗工作模式,中断响应结构等等。结构模块框图 和原理图元件分别如图 5 和 6 所示。 与普通 8051 不同之处主要有: 1、8051 是以网表文件的方式存在的,只有通过编译综合,并载入 fpga 中 才以硬件的方式工作,而普通 8051 总是以硬件方式存在的; 2、8051 无内部 rom 和 ram,所有程序 rom 和内部 ram 都必须外接。 3、以软核方式存在能进行硬件修改和编辑;能对其进行仿真和嵌入式

9、逻辑 分析仪实现实时时序测试;能根据设计者的意愿将 cpu、ram、rom、硬件功能 模块和接口模块等实现于同一片 fpga 中(即 soc) 。 4、与普通 8051 不同,8051 的 4 个 i/o 口是分开的。例如 p1 口,其输入端 p1i 和输出端 p1o 是分开的,如果需要使用 p1 口的双向口功能,必须外接一些 电路才能实现。图 7 所示的是单片机中的一个端口构成的双向口(p1 口)电路 连接方法。 图 7 8051 单片机 i/o 口设置成双向口的电路 3.1.2 8051 软核系统构建和软件测试 图 8 是 8051 核实用系统的最基本构建顶层原理图,主要由 4 个部件构成

10、: 1、8051 核。由 vqm 原码表述:cpu_core.vqm,可以直接调用。该元件可 以与其他不同语言表述的元件一同综合与编译。 2、嵌入式锁相环 pll50。本实验锁相环的频率设置为 24mhz。 3、程序 rom,lpm_rom。图 8 中设置的 rom 容量是 4k 字节,对于一般的应 用足够了。此 rom 可以加载 hex 格式文件作为单片机的程序代码。这里 hex 程 序代码由 keil 程序编译器生成(图中已加载了 1.hex) 。 4、数据 ram,lpm_ram。图 8 中设置的 lpm_ram 容量是 256 字节。高 128 字节须用间接寻址方式访问。 图 8 80

11、51 核实用系统的最基本构建顶层原理图 向软核中下载程序代码有两种方法,如下: 1、quartus ii 打开的工程,在工程管理窗,双击图左侧 rom4kb,在右侧出 现该元件文件,其初始化文件路径指示在 1.hex 上(图 9) 。下载 sof 文件后 可以测试数字钟的功能了。 图 9 rom 初始化文件路径 2、利用 in-system memory content editor 下载。在单片机程序编译环境 keil 中修改程序 text1.c,编译,并用“tools”菜单中的工具:in-system memory content editor(图 10)下载编译代码:1.hex,再观察软

12、硬件的工作 情况。8051 的软件调试也可以使用 in-system memory content editor 来完成。 图 10 利用 in-system memory content editor 下载程序 hex 代码 3.23.2 系统软件设计系统软件设计 本程序是在 keil 中,使用 c 语言编写。以 lcd1602 为显示器,4*4 键盘 为输入设备,很好的完成了数字钟的所有功能。软件流程图如下所示: 键盘扫描 有键按下? 判断键值指令 对 时 定 时 切 换 显示 否 是 图 11 系统软件流程图 第四章第四章 系统测试系统测试 本次设计完全实现了题目的所有要求,系统的实物图

13、见附录 1。系统测试方 法及结果如下所述: 1、系统上电后,开机界面显示“welcome to use!”5s。5s 之后清屏,并 显示软件初始化时的年、月、日、时、分、秒。系统自动走时。实物图见附录 2 所示。 2、当按下 4*4 键盘上的“定时”键后,lcd 上出现提示“set time:” ,然 后在键盘上输入要定时的时间,按下确定键 lcd 上显示“set time:”+输入的 时间。如果输入错误,可以按下“删除”键删除当前输入值。实物图见附录 2 所示。 3、当按下键盘上的“对时”键后,lcd 上出现提示“adjust time:” , 初始化 开始 然后输入要对时的时间,按下确定键

14、 lcd 上显示当前输入的时间, “adjust time:”消失。如果输入错误,可以按下“删除”键删除当前输入值。实物图 见附录 2 所示。 4、按下键盘上的“取消”键可以取消任意时刻的对时或定时操作。 5、按下键盘上的“切换”键可以切换年、月、日和定时时间的显示。 6、当时间到达之前定时时间后,开始报警。由蜂鸣器发出 1khz 的报警声 音,只有按下取消键报警才会停止。 7、具有整点报时功能。整点报时时间如果同报警时间一致,则只报警,不 会整点报时。整点报时时间持续 1s,也是由蜂鸣器发出 1khz 的报警声音。 第五章第五章 结论结论 经过两个礼拜的努力,设计出了完全符合此次题目要求的数

15、字钟。此数字 钟操作简单、方便、稳定,显示界面也很清晰、明了。把 cpu、锁相环、数据 ram、程序 rom、接口模块、通信模块、显示控制模块、数据采样和信号发 生模块等等,都放在同一片 fpga 内,从而构成 soc 系统,这将使系统的设计 效率和系统性能获得极大的提高,这也是现代电子设计技术的发展方向。 参考文献参考文献 1 康华光 电子技术基础 数字部分m 北京.高教出版社 2006.1 2 潘 松 eda 技术实用教程m.北京.科学出版社2002.10 3 潘 松. eda 技术与 vhdlm.北京.清华大学出版社,2005.7 附录 1:实物总体图 附录 2:功能演示图 附录 3:源

16、程序 #include #include #include #include void set_time(); void adjust_time(); void display_day(); void display_time(); void display_settime(); void main(void) unsigned char temp1=0; init(); lcd_init(); displaystring(0,0,welcome to use!); display_time();/调用显示时间函数 delay(65535);delay(65535);delay(65535);

17、delay(65535); clear_lcd(15,0); display_day();/调用显示日期 while(1) temp1=keyscan(); switch(temp1) case 10:temp1=0;if(flag=0) display_day();flag=1;else if(flag=1) display_settime();flag=0; break;/切换定时和日期显示 case 11:temp1=0;flag2=0;clear_lcd(15,0);display_day();tr1=0;ts=0;break;/取 消报警时间 case 14:temp1=0;clea

18、r_lcd(15,0);set_time();break;/14 为定时键,只清屏一次 case 15:temp1=0;clear_lcd(15,0);adjust_time();break;/15 为对时键 default:break; void set_time(void)/时间设定子函数 unsigned char i=0,temp; unsigned char l_hour,l_minite; unsigned char s_temp=0,0,0,0;/定时 displaystring(0,0,set: 00:00 ); while(1) temp=keyscan(); if(temp

19、10 l_hour=s_temp0*10+s_temp1; l_minite=s_temp2*10+s_temp3; if(i=0) displayonechar(5,0,l_hour/10+0 x30);/将时间显示出来 else if(i=1) displayonechar(6,0,l_hour%10+0 x30); else if(i=2) displayonechar(8,0,l_minite/10+0 x30); else if(i=3) displayonechar(9,0,l_minite%10+0 x30); i+; else if(temp=13) /有确认键,确认输入 displaystring(0,0,time:);flag=0; s_hour=l_hour;s_minite=l_minite; break; else if(temp=11)/输入过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论