基于SOPC的彩灯控制器设计 - 图文
更新时间:2023-12-17 14:42:01 阅读量: 教育文库 文档下载
- 节日彩灯控制器的设计推荐度:
- 相关推荐
等级:
湖南工程学院
课 程 设 计
课程名称 嵌入式系统课程设计 课题名称 基于SOPC的彩灯控制器设计 专 业 电子科学与技术 班 级 1102 班 学 号 2011010402 姓 名 德 指导教师 李 延 平
2014 年 12 月 08 日
湖南工程学院
课程设计任务书
课程名称:嵌入式系统课程设计 题目:基于SOPC的彩灯控制器设计
专业班级: 电科1102 班
学生姓名: 学号: 指导老师:李延平
审 批:
任务书下达日期 2014年 11 月 24日 设计完成日期 2014年 12月 08日
设计内容与设计要求 一. 设计内容: 采用SOPC技术设计一个彩灯控制器; 1、 功能要求 1) 配置NIOS II软核系统; 2) 在基于Eclipse的Nios Ⅱ 集成开发环境 (IDE)上开发彩灯控制器 3) 至少实现8个LED,3种以上的花色。 2、 功能扩展 自拟 二. 设计要求: 1. 设计思路清晰,给出整体设计框图 2. NIOS II处理器选择配置合理; 3. 仿真 、调试、验证电路模块; 4. 撰写设计报告。
目 录
1 设计思路 .................................................................................... 1 2 系统框图 .................................................................................... 1 3 NiosII软核配置 ....................................................................... 1 4 原理图设计 ................................................................................ 3 5 软件设计 .................................................................................... 3 5.1 工程创建 ............................................................................ 3 5.2 程序设计 ............................................................................ 4 5.3 控制流程图 ........................................................................ 4 5.4 软件调试 ............................................................................ 5 6 实物演示 .................................................................................... 5 7 结束语 ........................................................................................ 6 8 参考文献 .................................................................................... 6 9 附 录 .................................................................................... 7
1 设计思路
完整的基于Nios的SOPC系统是一个软硬件复合的系统,在开发时可以分为硬件和软件两个部分。本设计通过QuartusII软件内置的SOPC Builder定制一个基于NIOS II软核的SOPC系统,加入必要的存储器及IO,然后编写动态扫描程序对PIO进行操作来完成彩灯动态显示的功能。本系统的软件设计在基于Eclipse的Nios Ⅱ 集成开发环境 (IDE)上进行开发,编写彩灯控制器程序,实现8个LED多种样式亮灭的变换。
2 系统框图
图1 基于NiosII 软核的SOPC彩灯控制系统框图
3 NiosII软核配置
按照彩灯控制系统框图用SOPC Builder 定制Nios II 系统。本系统包含“CPU、onchip_ROM、onchip_RAM、LED_PIO、CONTROL”。添加NiosII
1
CPU Core 。Nios II 有三种标准:经济型、标准型、全功能型。这里选择经济型。分别添加片内RAM、片内ROM“。添加IO 口,8 位输出,对应开发板上8 个LED;1位输入,对应开发板上的按键。8位输出端口及1位输入端口分别添加到系统中,分别该名称位“LED_PIO”、“CONTROL”(软件开发编程时要与这里模块组件名称一致)。
图2 添加所需的组件
系统NiosII 所需组件添加完毕,自动分配基地址和中断,生成NiosII.sopcinfo文件。
图 3 自动生成NiosII核成功
2
图4 生成NiosII软核元件符号
4 原理图设计
由生成的NiosII软核作为主部件,加入时钟输入和复位键和控制键输入,再加上8位的输出(连接8个LED)构成彩灯控制系统的原理图。
图5 总原理图
5 软件设计
5.1 工程创建
通过“Nios II Softeare Build Tools for Eclipse”进行彩灯控制系统的软件设计。新建一个“Nios II Application and BSP from Template”工程,选择刚刚生成Nois文件“NiosII.sopcinfo”,即可连接到CPU。Project template选择“Hello World”模板。
3
图6 基于Eclipse的Nios Ⅱ工程创建
5.2 程序设计
程序中数据结构定义是与Nois软核定制的组件名一致的。彩灯输出对应PIO组件的“LED_PIO”,连接开发板的led;输入控制对应PIO组件的“CONTROL”,连接开发板上的按键。程序代码见附录。
5.3 控制流程图
图7 彩灯控制流程图
4
5.4 软件调试
通过Eclipse自带的调试工具对程序设置断点进行调试。
图8 调试程序
6 实物演示
图9 奇偶数位灯间隔亮灭
图10彩灯左移与右移
5
7 结束语
通过两周的课程设计对SOPC系统有了更进一步的理解,并了解其设计过程,初步掌握了通过SOPC Build对基于NIOS II软核的SOPC系统的定制。采用SOPC技术设计并实现的芯片是面向特定用户的芯片,它能最大程度满足嵌入式系统的要求,减少了产品设计复杂性和开发成本,缩短了产品开发的时间。因此,SOPC 技术及应用的特点决定它可以为复杂的板上系统提供一种更高效更稳定的解决方案。
每一次课程设计都能从中学到可课本上没有的知识,积累一些处理问题的经验。困难是有的,但必须要有耐心,不放弃,慢慢的,最终课程设计还是能成功做出来的,虽然不是很完美。这次的课程设计,前面的NiosII软核的定制还是很顺利的,因为学习过,而且实验也做过多次,但在后面的程序设计就不那么顺利了,多次出错。经过慢慢的调试,最终发现时按键出了问题。第一是按键消抖不合理;第二是按键消抖之后没有松手检导致按键次数出了问题,不能出现预期效果。最终经过不厌倦的调试与修改把程序修改好了,彩灯控制系统可按照要求正常运行起来了!
这次课程设计,让我更加清楚的认识到自己知识的局限性,进一步发现了自己的不足,对问题考虑的不周到,也让我找到了前进的方向,为以后的设计又积累了一次经验,相信在将来的设计中一定会设计的更好!
8 参考文献
【1】 宋彩利,康磊.数字系统设计与SOPC技术.西安交通大学出版社.2012.10
【2】 潘松,黄继业,曾毓. SOPC 技术实用教程.清华大学出版社,2004 . 6.
【3】 周立功.SOPC嵌入式系统基础教程[M].北京航空航天出版社.2006.11.
6
9 附 录
彩灯控制系统源代码:
#include \#include \
#include \#include \
alt_u8 flag=0;
int main(void) __attribute__ ((weak, alias(\
int isKeyPress()//判断是否有按键按下 { if(0 == IORD_ALTERA_AVALON_PIO_DATA(CONTROL_BASE)) { //usleep(10);//消抖 if(0 ==
IORD_ALTERA_AVALON_PIO_DATA(CONTROL_BASE)) { //if(0 !=
IORD_ALTERA_AVALON_PIO_DATA(CONTROL_BASE))//松手检测 { if(4 == flag) flag = 0; else flag++; } return 0; } } return 1; }
void style0(alt_u8 temp) { alt_u8 j=0;
7
for(j=0;j<2;j++) { if(0 == isKeyPress())//判断是否有按键按下 break; if(0 == j) { temp = 0; IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, temp); usleep(800000); } else { temp = 0xff; IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, temp); usleep(800000); } } }
void style1(alt_u8 temp)//奇偶间隔闪亮 { alt_u8 j=0; for(j=0;j<2;j++) { if(0 == isKeyPress())//判断是否有按键按下 break; if(0 == j) { temp = 0x55; IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, temp); usleep(800000); } else { temp = 0xaa;
8
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, temp); usleep(800000); } } }
void style2(alt_u8 temp)//左移 { alt_u8 a,b,j=0; temp = 0xfe; for(j=1;j<8;j++) { if(0 == isKeyPress())//判断是否有按键按下 break; a=temp<
void style3(alt_u8 temp)//右移 { alt_u8 a,b,j=0; temp = 0xfe; for(j=1;j<8;j++) { if(0 == isKeyPress())//判断是否有按键按下 break; a=temp>>j; b=temp<<(8-j); IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, (a|b)); usleep(800000); } }
9
void style4(alt_u8 temp)//逐个点亮 { temp = 0xfe; alt_u8 j=0; for(j=1;j<8;j++) { if(0 == isKeyPress())//判断是否有按键按下 break; IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE, temp); usleep(800000); temp = temp << 1; } }
int alt_main(void) { alt_u8 led = 0; flag = 0; while(1) { if(0 ==
IORD_ALTERA_AVALON_PIO_DATA(CONTROL_BASE)) { usleep(50);//消抖 if(0 ==
IORD_ALTERA_AVALON_PIO_DATA(CONTROL_BASE)) { //if(0 !=
IORD_ALTERA_AVALON_PIO_DATA(CONTROL_BASE))//松手检测 { if(4 == flag) flag = 0; else flag++; } } } switch(flag)
10
{ case 0: style0(led); break;//全部间隔闪亮 case 1: style1(led); break;//奇偶间隔闪亮 case 2: style2(led); break;//左移 case 3: style3(led); break;//右移 case 4: style4(led); break;//逐个点亮
}
}
}
11
电气信息学院课程设计评分表
评 价 项 目 优 设计方案合理性与创造性(10%) 良 中 及格 差 开发板焊接及其调试完成情况*(10%) 硬件设计或软件编程完成情况(20%) 硬件测试或软件调试结果(10%) 设计说明书质量(20%) 答辩情况(10%) 完成任务情况(10%) 独立工作能力(10%) 出勤情况(10%) * 综 合 评 分
指导教师签名:________________
日 期:________________
注:①表中标*号项目是硬件制作或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
正在阅读:
基于SOPC的彩灯控制器设计 - 图文12-17
3D打印技术FDM的研究毕业论文-绪论10-02
初中学校阳光体育活动总结(五篇)07-01
让学习成为一种工作方式上04-06
学校体育工作领导小组及职责12-24
传染病诊疗规范04-18
2012年工程硕士GCT报考十问07-23
首都师范大学汉语国际教育考研辅导班试题笔记资料讲义总结04-17
一些充满爱意的文案_充满爱意的温柔文案08-03
加强基层党组织建设07-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 彩灯
- 控制器
- 基于
- 图文
- 设计
- SOPC
- 海归职业规划金融行业职业规划指导
- 论水文化与城市的发展
- 七年级上册阅读理解
- 运维项目工作总结模板参考
- MongoDB的复制集构建与故障转移操作流程(详细) - 图文
- 最新人教版高中化学《化学与技术的发展》单元测评1
- 初中物理实验教学目标分类教育实践
- 修复电脑系统的方法
- 初中七年级心理健康教育 优质公开课 教案 - 《相信自己 我能行》教案设计
- 世界洁具十大品牌2008年世界洁具品牌排行榜前10名
- 智慧路灯解决实施方案 - 图文
- 《爱迪生救妈妈》说课稿
- 例题 - 出口价格核算
- 中央文明委关于第三批全国文明城市(区)、文明村镇、文明单位候选名单的公示通知
- 2012建筑工程题集增值服务2
- nps新生产技术的魅力
- 2012年度全国卫生专业技术资格考试报名须知考试考试填表说明
- 和谐电力和谐企业演讲材料
- 销售员个人辞职报告
- 利用Excel 的FORECAST命令计算IC50