




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FPGA-CPLD原理及应用课程设计报告 题目: 万年历设计 学院: 信息与电子工程学院专业: 电子信息工程学号: XXXXXXXX姓名: XXXXXX 指导老师: XXXXXX时间: 2015.12.20-2015.12.238山东工商学院 课程设计报告一、摘要设计从系统硬件出发,由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中建立图形文件,调用刚才生成的硬件系统,然后进行引脚配置。引脚配置图如下:图2.引脚配置然后进行编译,生成文件如下图:图3.顶层电路4、 Nios II运行 打开Nios II IDE2,建立工程,选择count_binary模块,添加一个LCD.h的顶层文件。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_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=2015;int month=12;int day=23;int hour=11;int minute=10;int second=21;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=24|hour=60|minute=60|second0) second=0; if(shift=1)/修改date if(con=0) year+=step;if(year12|month31|day=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、 检查错误并修改,知道结果正确。 五、运行情况与问题分析1、建立工程时,注意不能出现中文或者空格,且工程名需与文件名一致,选定芯片;2、在生成CPU硬件系统时,定义端口时,需注意设定端口输入与输出的位宽,需与程序定义的数值一致,否则运行溢出报错,须修改;3、建立图形文件后,需进行编译,出现错误得返回原理图核对,找到错误修改后重新编译;4、进行引脚锁定时,注意引脚文件的编写,否则选择引脚文件点击Run后会不成功,从而影响后面程序的调试;5、当日数为31时,调节月份日期不会随机改变,就会出现4月31日等错误,加入程序段但是还是没有完成跳变;6、程序中闪烁程序段、跳变程序段不执行,程序还需后续修改;7、实物图图4.实物图六、结论采用NIOS集成开发环境提供的快捷开发手段,在Cyclone 1C6Q240C8芯片上创建了一个用户定制CPU和外设的片上系统,同时完成对液晶显示器和LED的编程控制。整个系统充分体现了SOPC设计方法的灵活性,设计时只定制系统需要的外设器件接口,避免过多的外围电路和器件造成体积、功耗的增多和可靠性的下降。由于采用软核结构,方便系统的升级和扩展,而不必硬件改版,节约了成本,加快开发进度,缩短了产品的开发周期。七、心得体会经过本次SoPC课程设计实验,使我对Quartus与NiosDE2以及开发板的使用更加熟练,并且初步掌握了FPGA从理论设计到硬件开发的流程,详细了解了万年历的软件设计跟硬件设计的整个过程。在课程设计的过程中,遇到了一些以前没有出现过的问题,例如:课程设计指导书上的电路图中多了一个引脚LCD_ON,这个引脚是不需要的,但是没有检查出来错误,导致开发板无法显示时间,后来在老师的指导下,才知道了问题所在。万年历的程序的编写也花费了很多时间,诸如此类的问题还有很多,后来在自己的努力和同学的帮助下完成了本次课程设计,从而使得自己的理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年品质8d考试试题及答案
- 《2025年度宣传物料设计与安装合同》
- 2025年工地防疫试卷及答案
- 2025年教师招聘之《幼儿教师招聘》练习题库包附答案详解(达标题)
- 2025子女教育义务合同
- 2025合同样本:中学食堂食材采购合同书
- 2025铝合金幕墙施工合同范本
- 2025年教师招聘之《幼儿教师招聘》考前冲刺练习题库及参考答案详解(巩固)
- 智慧城市试题及答案
- 淄博口语考试题目及答案
- 畜禽疫病防控技术课件教学
- 2025静脉输液规范
- 大学英语 专升本 课件 第十节 定语从句
- 瑜伽急救知识培训课件
- 2《中国人首次进入自己的空间站》课件【知识精研】统编版语文八年级上册
- 切口妊娠介入治疗
- 2024年高校红十字应急救护大赛理论考试题库(含答案)
- 2024年福建省公务员录用考试《行测》真题及答案解析
- c02激光治疗皮肤病
- 占道施工安全培训
- 智能建造施工技术 课件 项目1 智能建造施工概论
评论
0/150
提交评论