嵌入式系统课程设计-基于SOPC的彩灯控制器设计.doc
- 文档编号:586003
- 上传时间:2023-04-29
- 格式:DOC
- 页数:61
- 大小:877.50KB
嵌入式系统课程设计-基于SOPC的彩灯控制器设计.doc
《嵌入式系统课程设计-基于SOPC的彩灯控制器设计.doc》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计-基于SOPC的彩灯控制器设计.doc(61页珍藏版)》请在冰点文库上搜索。
各专业全套优秀毕业设计图纸
等级:
湖南工程学院
课程设计
课程名称嵌入式系统课程设计
课题名称基于SOPC的彩灯控制器设计
专业电子科学与技术
班级1102班
学号2011010402
姓名德
指导教师李延平
2014年12月08日
湖南工程学院
课程设计任务书
课程名称:
嵌入式系统课程设计
题目:
基于SOPC的彩灯控制器设计
专业班级:
电科1102班
学生姓名:
学号:
指导老师:
李延平
审批:
任务书下达日期2014年11月24日
设计完成日期2014年12月08日
设计内容与设计要求
一.设计内容:
采用SOPC技术设计一个彩灯控制器;
1、功能要求
1)配置NIOSII软核系统;
2)在基于Eclipse的NiosⅡ集成开发环境(IDE)上开发彩灯控制器
3)至少实现8个LED,3种以上的花色。
2、功能扩展
自拟
二.设计要求:
1.设计思路清晰,给出整体设计框图
2.NIOSII处理器选择配置合理;
3.仿真、调试、验证电路模块;
4.撰写设计报告。
目录
1设计思路 1
2系统框图 1
3NiosII软核配置 1
4原理图设计 3
5软件设计 3
5.1工程创建 3
5.2程序设计 4
5.3控制流程图 4
5.4软件调试 5
6实物演示 5
7结束语 6
8参考文献 6
9附录 8
1设计思路
完整的基于Nios的SOPC系统是一个软硬件复合的系统,在开发时可以分为硬件和软件两个部分。
本设计通过QuartusII软件内置的SOPCBuilder定制一个基于NIOSII软核的SOPC系统,加入必要的存储器及IO,然后编写动态扫描程序对PIO进行操作来完成彩灯动态显示的功能。
本系统的软件设计在基于Eclipse的NiosⅡ集成开发环境(IDE)上进行开发,编写彩灯控制器程序,实现8个LED多种样式亮灭的变换。
2系统框图
图1基于NiosII软核的SOPC彩灯控制系统框图
3NiosII软核配置
按照彩灯控制系统框图用SOPCBuilder定制NiosII系统。
本系统包含“CPU、onchip_ROM、onchip_RAM、LED_PIO、CONTROL”。
添加NiosIICPUCore。
NiosII有三种标准:
经济型、标准型、全功能型。
这里选择经济型。
分别添加片内RAM、片内ROM“。
添加IO口,8位输出,对应开发板上8个LED;1位输入,对应开发板上的按键。
8位输出端口及1位输入端口分别添加到系统中,分别该名称位“LED_PIO”、“CONTROL”(软件开发编程时要与这里模块组件名称一致)。
图2添加所需的组件
系统NiosII所需组件添加完毕,自动分配基地址和中断,生成NiosII.sopcinfo文件。
图3自动生成NiosII核成功
图4生成NiosII软核元件符号
4原理图设计
由生成的NiosII软核作为主部件,加入时钟输入和复位键和控制键输入,再加上8位的输出(连接8个LED)构成彩灯控制系统的原理图。
图5总原理图
5软件设计
5.1工程创建
通过“NiosIISofteareBuildToolsforEclipse”进行彩灯控制系统的软件设计。
新建一个“NiosIIApplicationandBSPfromTemplate”工程,选择刚刚生成Nois文件“NiosII.sopcinfo”,即可连接到CPU。
Projecttemplate选择“HelloWorld”模板。
图6基于Eclipse的NiosⅡ工程创建
5.2程序设计
程序中数据结构定义是与Nois软核定制的组件名一致的。
彩灯输出对应PIO组件的“LED_PIO”,连接开发板的led;输入控制对应PIO组件的“CONTROL”,连接开发板上的按键。
程序代码见附录。
5.3控制流程图
图7彩灯控制流程图
5.4软件调试
通过Eclipse自带的调试工具对程序设置断点进行调试。
图8调试程序
6实物演示
图9奇偶数位灯间隔亮灭
图10彩灯左移与右移
7结束语
通过两周的课程设计对SOPC系统有了更进一步的理解,并了解其设计过程,初步掌握了通过SOPCBuild对基于NIOSII软核的SOPC系统的定制。
采用SOPC技术设计并实现的芯片是面向特定用户的芯片,它能最大程度满足嵌入式系统的要求,减少了产品设计复杂性和开发成本,缩短了产品开发的时间。
因此,SOPC技术及应用的特点决定它可以为复杂的板上系统提供一种更高效更稳定的解决方案。
每一次课程设计都能从中学到可课本上没有的知识,积累一些处理问题的经验。
困难是有的,但必须要有耐心,不放弃,慢慢的,最终课程设计还是能成功做出来的,虽然不是很完美。
这次的课程设计,前面的NiosII软核的定制还是很顺利的,因为学习过,而且实验也做过多次,但在后面的程序设计就不那么顺利了,多次出错。
经过慢慢的调试,最终发现时按键出了问题。
第一是按键消抖不合理;第二是按键消抖之后没有松手检导致按键次数出了问题,不能出现预期效果。
最终经过不厌倦的调试与修改把程序修改好了,彩灯控制系统可按照要求正常运行起来了!
这次课程设计,让我更加清楚的认识到自己知识的局限性,进一步发现了自己的不足,对问题考虑的不周到,也让我找到了前进的方向,为以后的设计又积累了一次经验,相信在将来的设计中一定会设计的更好!
8参考文献
【1】宋彩利,康磊.数字系统设计与SOPC技术.西安交通大学出版社.2012.10
【2】潘松,黄继业,曾毓.SOPC技术实用教程.清华大学出版社,2004.6.
【3】周立功.SOPC嵌入式系统基础教程[M].北京航空航天出版社.2006.11.
9附录
彩灯控制系统源代码:
#include"stdio.h"
#include"system.h"
#include"altera_avalon_pio_regs.h"
#include"alt_types.h"
alt_u8flag=0;
intmain(void)__attribute__((weak,alias("alt_main")));
intisKeyPress()//判断是否有按键按下
{
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++;
}
return0;
}
}
return1;
}
voidstyle0(alt_u8temp)
{
alt_u8j=0;
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);
}
}
}
voidstyle1(alt_u8temp)//奇偶间隔闪亮
{
alt_u8j=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;
IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,temp);
usleep(800000);
}
}
}
voidstyle2(alt_u8temp)//左移
{
alt_u8a,b,j=0;
temp=0xfe;
for(j=1;j<8;j++)
{
if(0==isKeyPress())//判断是否有按键按下
break;
a=temp< b=temp>>(8-j); IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,(a|b)); usleep(800000); } } voidstyle3(alt_u8temp)//右移 { alt_u8a,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); } } voidstyle4(alt_u8temp)//逐个点亮 { temp=0xfe; alt_u8j=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; } } intalt_main(void) { alt_u8led=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) { case0: style0(led);break;//全部间隔闪亮 case1: style1(led);break;//奇偶间隔闪亮 case2: style2(led);break;//左移 case3: style3(led);break;//右移 case4: style4(led);break;//逐个点亮 } } } 11 电气信息学院课程设计评分表 项目 评价 优 良 中 及格 差 设计方案合理性与创造性(10%) 开发板焊接及其调试完成情况*(10%) 硬件设计或软件编程完成情况(20%) 硬件测试或软件调试结果*(10%) 设计说明书质量(20%) 答辩情况(10%) 完成任务情况(10%) 独立工作能力(10%) 出勤情况(10%) 综合评分 指导教师签名: ________________ 日期: ________________ 注: ①表中标*号项目是硬件制作或软件编程类课题必填内容; ②此表装订在课程设计说明书的最后一页。 课程设计说明书装订顺序: 封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。 原文已完。 下文为附加文档,如不需要,下载后可以编辑删除,谢谢! 施工组织设计 本施工组织设计是本着“一流的质量、一流的工期、科学管理”来进行编制的。 编制时,我公司技术发展部、质检科以及项目部经过精心研究、合理组织、充分利用先进工艺,特制定本施工组织设计。 一、工程概况: 西夏建材城生活区27#、30#住宅楼位于银川市新市区,橡胶厂对面。 本工程由宁夏燕宝房地产开发有限公司开发,银川市规划建筑设计院设计。 本工程耐火等级二级,屋面防水等级三级,地震防烈度为8度,设计使用年限50年。 本工程建筑面积: 27#楼3824.75m2;30#楼3824.75m2。 室内地坪±0.00以绝对标高1110.5m为准,总长27#楼47.28m;30#楼47.28m。 总宽27#楼14.26m;30#楼14.26m。 设计室外地坪至檐口高度18.600m,呈长方形布置,东西向,三个单元。 本工程设计屋面为坡屋面防水采用防水涂料。 外墙水泥砂浆抹面,外刷浅灰色墙漆。 内墙面除卫生间200×300瓷砖,高到顶外,其余均水泥砂桨罩面,刮二遍腻子;楼梯间内墙采用50厚胶粉聚苯颗粒保温。 地面除卫生间200×200防滑地砖,楼梯间50厚细石砼1: 1水泥砂浆压光外,其余均采用50厚豆石砼毛地面。 楼梯间单元门采用楼宇对讲门,卧室门、卫生间门采用木门,进户门采用保温防盗门。 本工程窗均采用塑钢单框双玻窗,开启窗均加纱扇。 本工程设计为节能型住宅,外墙均贴保温板。 本工程设计为砖混结构,共六层。 基础采用C30钢筋砼条形基础,上砌MU30毛石基础,砂浆采用M10水泥砂浆。 一、二、三、四层墙体采用M10混合砂浆砌筑MU15多孔砖;五层以上采用M7.5混合砂浆砌筑MU15多孔砖。 本工程结构中使用主要材料: 钢材: I级钢,II级钢;砼: 基础垫层C10,基础底板、地圈梁、基础构造柱均采用C30,其余均C20。 本工程设计给水管采用PPR塑料管,热熔连接;排水管采用UPVC硬聚氯乙烯管,粘接;给水管道安装除立管及安装IC卡水表的管段明设计外,其余均暗设。 本工程设计采暖为钢制高频焊翅片管散热器。 本工程设计照明电源采用BV-2.5铜芯线,插座电源等采用BV-4铜芯线;除客厅为吸顶灯外,其余均采用座灯。 二、施工部署及进度计划 1、工期安排 本工程合同计划开工日期: 2004年8月21日,竣工日期: 2005年7月10日,合同工期315天。 计划2004年9月15日前完成基础工程,2004年12月30日完成主体结构工程,2005年6月20日完成装修工种,安装工程穿插进行,于2005年7月1日前完成。 具体进度计划详见附图-1(施工进度计划)。 2、施工顺序 ⑴基础工程 工程定位线(验线)→挖坑→钎探(验坑)→砂砾垫层的施工→基础砼垫层→刷环保沥青→基础放线(预检)→砼条形基础→刷环保沥青→毛石基础的砌筑→构造柱砼→地圈梁→地沟→回填工。 ⑵结构工程 结构定位放线(预检)→构造柱钢筋绑扎、定位(隐检)→砖墙砌筑(+50cm线找平、预检)→柱梁、顶板支模(预检)→梁板钢筋绑扎(隐检、开盘申请)→砼浇筑→下一层结构定位放线→重复上述施工工序直至顶。 ⑶内装修工程 门窗框安装→室内墙面抹灰→楼地面→门窗安装、油漆→五金安装、内部清理→通水通电、竣工。 ⑷外装修工程 外装修工程遵循先上后下原则,屋面工程(包括烟道、透气孔、压顶、找平层)结束后,进行大面积装饰,塑钢门窗在装修中逐步插入。 三、施工准备 1、现场道路 本工程北靠北京西路,南临规划道路,交通较为方便。 场内道路采用级配砂石铺垫,压路机压。 2、机械准备 ⑴设2台搅拌机,2台水泵。 ⑵现场设钢筋切断机1台,调直机1台,电焊机2台,1 台对焊机。 ⑶现场设木工锯,木工刨各1台。 ⑷回填期间设打夯机2台。 ⑸现场设塔吊2台。 3、施工用电 施工用电已由建设单位引入现场;根据工程特点,设总配电箱1个,塔吊、搅抖站、搅拌机、切断机、调直机、对焊机、木工棚、楼层用电、生活区各配置配电箱1个;电源均采用三相五线制;各分支均采用钢管埋地;各种机械均设置接零、接地保护。 具体配电箱位置详见总施工平面图。 3、施工用水 施工用水采用深井水自来水,并砌筑一蓄水池进行蓄水。 楼层用水采用钢管焊接给水管,每层留一出水口;给水管不置蓄水池内,由潜水泵进行送水。 4、生活用水 生活用水采用自来水。 5、劳动力安排 ⑴结构期间: 瓦工40人;钢筋工15人;木工15人;放线工2人;材料1人;机工4人;电工2人;水暖工2人;架子工8人;电焊工2人;壮工20人。 ⑵装修期间 抹灰工60人;木工4人;油工8人;电工6人;水暖工10人。 四、主要施工方法 1、施工测量放线 ⑴施工测量基本要求 A、西夏建材城生活区17#、30#住宅楼定位依据: 西夏建材城生活区工程总体规划图,北京路、规划道路永久性定位 B、根据工程特点及<建筑工程施工测量规程>DBI01-21-95,4、3、2条,此工程设置精度等级为二级,测角中误差±12,边长相对误差1/15000。 C、根据施工组织设计中进度控制测量工作进度,明确对工程服务,对工程进度负责的工作目的。 ⑵工程定位 A、根据工程特点,平面布置和定位原则,设置一横一纵两条主控线即27#楼: (A)轴线和 (1)轴线;30#楼: (A)轴线和 (1)轴线。 根据主轴线设置两条次轴线即27#楼: (H)轴线和(27)轴线;30#楼: (H)轴线和(27)轴线。 B、主、次控轴线定位时均布置引桩,引桩采用木桩,后砌一水泥砂浆砖墩;并将轴线标注在四周永久性建筑物或构造物上,施测完成后报建设单位、监理单位确认后另以妥善保护。 C、控轴线沿结构逐层弹在墙上,用以控制楼层定位。 D、水准点: 建设单位给定准点,建筑物±0.00相当于绝对标高1110.500m。 ⑶基础测量 A、在开挖前,基坑根据平面布置,轴线控制桩为基准定出基坑长、宽度,作为拉小线的依据;根据结构要求,条基外侧1100mm为砂砾垫层边,考虑放坡,撒上白灰线,进行开挖。 B、在垫层上进行基础定位放线前,以建筑物平面控制线为准,校测建筑物轴线控制桩无误后,再用经纬仪以正倒镜挑直法直接投测各轴线。 C、标高由水准点引测至坑底。 ⑷结构施工测量 A、首层放线验收后,主控轴一引至外墙立面上,作为以上务层主轴线竖身高以测的基准。 B、施工层放线时,应在结构平面上校投测轴线,闭合后再测设细部尺寸和边线。 C、标高竖向传递设置3个标高点,以其平均点引测水平线折平时,尽量将水准仪安置在测点范围内中心位置,进行测设。 2、基坑开挖 本工种设计地基换工,夯填砂砾垫层1100mm;根据此特点,采用机械大开挖,留200mm厚进行挖工、铲平。 开挖时,根据现场实际土质,按规范要求1: 0.33放坡,反铲挖掘机挖土。 开挖出的土,根据现场实际情况,尽量留足需用的好土,多余土方挖出,避免二次搬运。 人工开挖时,由技术员抄平好水平控制小木桩,用方铲铲平。 挖掘机挖土应该从上而下施工,禁止采用挖空底脚的操作方法。 机械挖土,先发出信号,挖土的时候,挖掘机操作范围内,不许进行其他工作,装土的时候,任何人都不能停留在装土车上。 3、砌筑工程 ⑴材料 砖: MU15多孔砖,毛石基础采用MU30毛石。 砂浆: ±0.00以下采用M10水泥砂浆,一、二、三、四层采用M10混合砂浆,五层以上采用M7.5混合砂浆。 ⑵砌筑要求 A、开工前由工长对所管辖班组下发技术交底。 B、砌筑前应提前浇水湿润砖块,水率保持在10%-15%。 C、砌筑采用满铺满挤“三一砌筑法“,要求灰浆饱满,灰缝8-12mm。 D、外墙转角处应同时砌筑,内外墙交接处必须留斜槎,槎子长度不小于墙体高度的2/3,槎子必须平直、通顺。 E、隔墙与墙不同时砌筑又不留成斜槎时可于墙中引出阳槎或在墙的灰缝中预埋拉结筋,每道不少于2根。 F、接槎时必须将表面清理干净,浇水湿润,填实砂浆,保持灰缝平直。 G、砖墙按图纸要求每50mm设置2φ6钢筋与构造柱拉结,具体要求见结构总说明。 H、施工时需留置临时洞口,其侧边离交接处的墙面不少于500mm,顶部设边梁。 4、钢筋工程 ⑴凡进场钢筋须具备材质证明,原材料须取样试验,经复试合格后方可使用。 ⑵钢筋绑扎前应仔细对照图纸进行翻样,根据翻样配料,施工前由工长对所管辖班组下发技术交底,准备施工工具,做好施工的准备工作。 ⑶板中受力钢筋搭接,I级钢30d,II级钢40d,搭接位置: 上部钢筋在跨中1/3范围内,下部钢筋在支座1/3范围内。 ⑷钢筋保护层: 基础40mm,柱、梁30mm,板20mm。 保护层采用50mm×50mm的水泥砂浆块。 板上部钢筋用马凳按梅花状支起。 ⑸所有钢筋绑扎,须填写隐检记录,质评资料及目检记录,验收合格后方可进行下道工序。 5、砼工程 ⑴水泥进场后须做复试,经复试合格后由试验室下达配合比。 施工中严格掌握各种材料的用量,并在搅拌机前进行标识,注明每立方米、每盘用量。 同时搅拌时,须车车进磅,做好记录。 ⑵浇筑前,对模板内杂物及油污、泥土清理干净。 ⑶投料顺序: 石子→水泥→砂子。 ⑷本工程均采用插入式振捣器,一次浇筑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 课程设计 基于 SOPC 彩灯 控制器 设计