已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
fpga-cpld原理及应用课程设计报告 题目: 基于sopc设计万年历 学院: 信息与电子工程学院专业: 电子信息工程学号: 姓名: 指导老师: 时间: 2015.7.15-2015.7.2012山东工商学院 课程设计报告一、摘要设计从系统硬件出发,由cpu、总线、ram、外接设备等构成sopc builder的硬件系统,通过nios ii de2开发的嵌入式软件编写并嵌入sopc builder的硬件中实现万年历的整体开发。通过应用sopc builder开发工具,设计者可以摆脱传统的、易于出错的软硬件设计细节,从而达到加快项目开发、缩短开发周期、节约开发成本的目的并具有高集成度、设计灵活和可移植性较好。关键词:万年历 sopc sopc builder nios ii de2二、设计要求 用nios ii de2 开发板的lcd显示电子钟的日期和时间。lcd分两行显示,第1行显示年、月、日;第2行显示时、分、秒。用输入button0来控制lcd行的修改,同时让nios ii de2开发板上的绿色发光二极管亮灭来表示这个选择。当button0按一下后,ledg3亮,可以修改年、月和日的数字;再按一下button0后,ledg3灭,可以修改时、分和秒的数字。另外用输入按钮button3来控制日期和时间的修改,当处于日期修改方式时,每次按动一次button3,依次更换“年”、“月”和“日”的修改。当处于时间修改方式时,每次按动一次button3,依次更换“时”、“分”和“秒”的修改。修改对象被选中后,按动button2输入按钮可以增加显示的数字;按动button1输入按钮可以减少显示的数字。三、设计内容1、按键信息button3:“年”、“月”、“日”或“时”、“分”、“秒”切换键button2:+键button1:-键button0:“年”、“月”、“日”与“时”、“分”、“秒”切换键显示信息lcd_line1:显示“年”、“月”、“日” lcd_line1:显示“时”、“分”、“秒”2、sopc builder 硬件建立 sopc builder是在quartus ii里的sopc builder进行的,先建立工程,在sopc builder里添加硬件,包括cpu ,jtag_uart ,ram,lcd,pio,按键,led,以及lcd_on。3、quartus ii硬件处理 硬件会自动建立一个顶层模块,通过建一个原理图来对对应的硬件进行输入输出的添加,再锁定引脚,编译工程,硬件下载。 4、nios ii de2嵌入软件编写在nios ii里建立工程,选择相应的模块,编写需要嵌入的软件,添加缺少的头文件对应的宏定义,编译工程,进行软件下载,在观察结果。四、设计步骤1、打开quartus ii新建工程2、打开sopc builder生成相应的硬件如图所示图1.sopc配置 建立好后点击generate运行,看是否出错,然后点击exit退出。 3、调用刚才生成的硬件系统,在quartus ii中建立图形文件,然后进行引脚锁定。引脚锁定引脚文件如下:clky2led3e24led2e25led1e22led0e21key3r24key2n21key1m21key0m23lcd_rwm1lcd_enl4lcd_rsm2lcd_data0l3lcd_data1l1lcd_data2l2lcd_data3k7lcd_data4k1lcd_data5k2lcd_data6m3lcd_data7m5 然后进行编译,在quartus i下生成文件如下图:图2. 顶层电路4、 nios ii运行打开nios ii ide2,建立工程,选择count_binary模块,添加一个lcd.h的顶层文件。在此写出c语言程序代码。lcd.h的顶层文件为:#ifndef _lcd_h_#define _lcd_h_/lcd module 16*2#define lcd_write_cmd(base,data) iowr(base, 0, data)#define lcd_read_cmd(base) iord(base, 1)#define lcd_write_data(base,data) iowr(base, 2, data)#define lcd_read_data(base) iord(base, 3)/=void lcd_init();void lcd_show_text(char*text);void lcd_line2();void lcd_test();/=#endif /_lcd_h_然后建立hello_world的c文件。#include #include altera_avalon_pio_regs.h#include alt_types.h#include system.h#ifndef _lcd_h_#define _lcd_h_/lcd module 16*2#define lcd_write_cmd(base,data) iowr(base, 0, data)#define lcd_read_cmd(base) iord(base, 1)#define lcd_write_data(base,data) iowr(base, 2, data)#define lcd_read_data(base) iord(base, 3)/=void lcd_init();void lcd_show_text(char*text);void lcd_line2();void lcd_test();/=#endif /_lcd_h_int year=2013;int month=7;int day=15;int hour=20;int minute=25;int second=30;int selectkey=1;int selectkeylr=1;int ms=0;int key=0;int shift=0,con=0,step=0;/#include basic_io.hvolatile int edge_capture;void lcd_init() lcd_write_cmd(lcd_base,0x38); usleep(2000); lcd_write_cmd(lcd_base,0x0c); usleep(2000); lcd_write_cmd(lcd_base,0x01); usleep(2000); lcd_write_cmd(lcd_base,0x06); usleep(2000); lcd_write_cmd(lcd_base,0x80); usleep(2000);void lcd_show_text(char*text) int i; for(i=0;i=3)shift=0; break;case 2: step=1;break;case 3: step=-1;break;case 4: con+;if(con=3)con=0; break;default :break; modify();/=检测按键 return 0;5、 连接开发板,将文件下载到开发板,运行文件检验是否正确。6、 检查错误并修改,知道结果正确。7、 运行情况图3. 实验板运行中图4.实验板运行中图5.实验板运行中五、运行情况与问题分析1、建立工程时,注意不能出现中文或者空格,且工程名需与文件名一致,选定芯片;2、在生成cpu硬件系统时,定义端口时,需注意设定端口输入与输出的位宽,需与程序定义的数值一致,否则运行溢出报错,须修改;3、建立图形文件后,需进行编译,出现错误得返回原理图核对,找到错误修改后重新编译;4、进行引脚锁定时,注意引脚文件的编写,否则选择引脚文件点击run后会不成功,从而影响后面程序的调试;5、当日数为31时,调节月份日期不会随机改变,就会出现4月31日等错误,加入程序段但是还是没有完成跳变;6、程序中闪烁程序段、跳变程序段不执行,程序还需后续修改。六、结论采用nios集成开发环境提供的快捷开发手段,在cyclone 1c6q240c8芯片上创建了一个用户定制cpu和外设的片上系统,同时完成对液晶显示器和led的编程控制。整个系统充分体现了sopc设计方法的灵活性,设计时只定制系统需要的外设器件接口,避免过多的外围电路和器件造成体积、功耗的增多和可靠性的下降。由于采用软核结构,方便系统的升级和扩展,而不必硬件改版,节约了成本,加快开发进度,缩短了产品的开发周期。七、心得体会经过本次sopc课程设计实验,使我更加熟悉了quartus 与nios de2以及开发板的使用,熟练掌握了从理论设计到硬件开发的流程,了解了万年历通过编程实现的整个过程。本次用c语言编写的万年历系统主要实现了年历、月历、日历的显示,并且可通过键盘来变换相应的年月日,最终的设计结果达到的这些要求,是一次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 39159-2020集成电路用高纯铜合金靶材》专题研究报告
- 2025年执业药师(西药)《药物化学》章节试题(第五章)及答案
- 2025年驾照考试科目一1500题(易错题)及答案(七)
- 露天矿采矿前装机司机安全规程评优考核试卷含答案
- 《GBT 2658-2015 小型交流风机通 用技术条件》专题研究报告
- 数字资产管理师岗前测试验证考核试卷含答案
- 超重型汽车列车司机安全专项竞赛考核试卷含答案
- 玻纤制品后处理工安全知识测试考核试卷含答案
- 《GBT 35403.1-2017 国家物品编码与基础信息通 用规范 第 1 部分:总体框架》专题研究报告
- 公司火工品管理工岗位职业健康技术规程
- 《美丽文字 民族瑰宝》课件
- 2025中国重症医学科建设和发展指南解读课件
- 2025年专利审查协作中心招聘考试面试常见问题解答
- 锂电池火灾扑救课件
- GB/T 45953-2025供应链安全管理体系规范
- 国外音乐教学法课件
- 建筑工人安全施工操作规范范本
- 俄乌冲突军事理论课件
- 田径项目规则讲解
- 2025智能眼镜市场洞察报告-大数跨境-202508
- 优先使用国家基本药物实施路径
评论
0/150
提交评论