实习报告.docx
《实习报告.docx》由会员分享,可在线阅读,更多相关《实习报告.docx(21页珍藏版)》请在冰豆网上搜索。
实习报告
目录
1、前言
1.1实习单位简介…………………………………………………………………………1
2、实习目的
2.1实习内容简要提纲……………………………………………………………………2
3、操作具体过程
3.1学习安装Altiumdesigner9运行环境…………………………………………………3
3.2学习运用Altiumdesigner9,设计并绘制AVR单片机系统的PCB电路板………4
3.3实现PCB电路板的生成及手工布线…………………………………………………5
3.4熟悉TQ2440开发板的硬件和基本用法………………………………………………7
3.5编译MP3播放器及移植…………………………………………………………………8
4、实习总结
4.1实习收获………………………………………………………………………………16
4.2个人小结………………………………………………………………………………16
一、前言
本次昆山实习作为我们电子信息工程专业的毕业设计意义很大。
这次实习的主要内容是在linux操作系统环境下实现MP3播放器的嵌入式设计。
围绕此项内容我们实习开展设计环境的搭建,再到嵌入式系统的熟悉、移植和MP3播放器的实现,进行了一系列学习和实践。
我们的团队达到了预期的目的,并较好的完成了这次实习的任务。
这次实习于我于我们的团队都是受益匪浅的。
1.1实习单位简介
杰普软件科技有限公司(BriupTechnology,Inc.)是一家专注于高端IT培训、软件外包、研发咨询的高新技术企业。
公司在电信、金融、电子商务等方面有着丰富的专业开发、管理和培训经验。
公司核心成员由海外留学人员和来自Sybase、亚信、Sun等国际大公司的资深技术人员组成。
在电信、金融、电子商务等方面有着丰富的专业开发、管理和培训经验。
是上海市人事局许可的高级人才培训中心。
同时也是上海是紧缺人才办公室培训基地。
杰普软件着重解决软件企业用人难的问题,在高校毕业生及企业之间搭建一个供需桥梁。
公司依托拥有丰富开发及培训经验的师资团队,培养企业紧缺的中高端开发人才。
推出的解决大学生就业问题的DSP方案,已成功向各大软件企业输送了数千名人才,也确保了杰普软件外包业务的高效性和扩展性。
公司与高校深度合作,为解决大学生的就业问题,提出多种合作方案。
杰普公司的培训师均来自各大IT公司一线研发团队,平均具有7年的项目研发经验,是中国内地最优秀的培训讲师。
他们不仅承担着杰普公司的学员培养工作,同时带领杰普公司的工程师及学员团队实施由政府及相关事业单位资助和委托的、杰普公司所承担的新产品研发和项目开发工作。
他们随时把杰普公司最新的研发成果转化到对学员的培养中,确保了杰普每一位学员的技术研发能力以及优秀学员的创新能力、团队管理能力,保证了杰普学员在人才市场上竞争力及未来职业发展的广阔空间。
昆山校区位于有着“镶嵌在苏州与上海之间的一颗明珠之称”历史文化名城昆山市巴城镇,风景优美,环境典雅,教室与宿舍设置更是位于阳澄湖畔,凭窗而望,斜阳染湖,登高展臂,山水怀中,春夏有巴城鱼美,秋冬有阳澄蟹肥,是学习生活的好地方。
昆山浦东软件园是国家级软件产业基地出口基地,上海浦东软件园和昆山市政府合作共建的项目,园区位于昆山巴城阳澄湖畔,拥有70万平方米工作生活环境,是一个与自然生态协调,符合高科技研发产业从业人员工作生活习惯的生态产业园区,2011年,杰普软件受昆山浦东软件园的邀请,入驻园区,作为软件园产业链重要的人才供应点。
二、实习目的
本次赴昆山实习,主要是通过杰普集团给我们提供的实习和实训,学习嵌入式系统熟悉嵌入式系统的一些基本的理论概念和实践操作。
一方面,通过学习专业知识,增强实践观念和能力;另一方面,通过杰普的实训进一步的对项目进行一次深度的了解,为未来就业提供必要的经验。
本次实习目标是对嵌入式系统有一定的了解,这次实习的主要内容是在linux操作系统环境下实现MP3播放器的嵌入式设计。
从熟悉linux到shell命令,再到嵌入式系统的搭建、移植和MP3播放器的实现,进行了一系列学习和实践。
杰普为我们提供了以下进程:
2.1实习内容简要提纲:
①学习安装Altiumdesigner9运行环境。
②学习运用Altiumdesigner9,设计并绘制AVR单片机系统的PCB电路板。
③实现PCB电路板的生成及手工布线。
④熟悉TQ2440开发板的硬件和基本用法。
⑤编译MP3播放器及移植。
三、操作具体过程
3.1学习安装Altiumdesigner9运行环境
随着电子技术的迅速发展,大规模、超大规模集成电路的应用使印制电路板(PCB)的布线更加精密和复杂,因此很多厂商都推出了自己的电子线路CAD(ComputerAidedDesign——计算机辅助设计)软件,其中Protel以其界面友好、功能完善、操作简单、易学易用等优点,在EDA(ElectronicDesignAutomation——电子设计自动化)领域得到广泛使用,深受广大电子爱好者欢迎并作为首选的软件。
AltiumDesigne9是原Protel软件开发商Altium(澳大利亚)公司于2006年推出的一体化的电子产品开发系统,主要运行在WindowsXP、Win7操作系统上。
安装步骤如下:
软件激活:
在原文件Altium.Designer.v6.9.0.12759下找到文件夹AD_6.9_CR,将ALTIUM.alf和DXP.exe可执行文件拷贝到安装文件下,替换即可,然后重新打开就可以自动生成)若要想每次使用的话可以使用快捷方式,发送到桌面上即可。
3.2学习运用Altiumdesigner9,设计并绘制AVR单片机系统的PCB电路板
电路板的设计是指一个电子产品从功能分析、设计思路、可行性验证到电路原理图设计、印制电路板制作、调试测试一直到最后产品成形的全过程。
整个电路板设计过程可以分为以下几个主要步骤,如下所示:
ATmega16单片机最小系统的硬件电路图如下:
3.3实现PCB电路板的生成及手工布线。
(1)PROteL的DXP手动修改转接线太多线PROTEL的DXP自动布线的原因,因为算法,通常接线的角落太多,这往往使陷入困境的观点看,经过手工调整,这种现象可大大改善。
这项调整将涉及相互关系的电线,甚至位置想要使整个布局。
在理事会自动路由,很容易找到一个角落里有太多行。
布线拐角处太麻烦了。
尤其是,是电线和NetU6_15网络-12的电线和电线的很多角落和克制网络经过详细分析,以确定布线调整,以便将有一个更好的方法接线。
下面的详细线路调整方案。
我们-12网络线自动路由仔细观察,在过滤器工具栏上的网络选择筛选条件,在下拉菜单中选择-12网络,你可以使用-12网络过滤掉。
-12从下面的网络上网经历一个从井底最高层。
其基本路线直,自动调整是非常好的,但在短短的电线一块顶级水平弯曲折叠的快乐,和角落太多。
而且,由于这道不是合理,同时造成网络NetU6_15布线角落太多,离开不必要的路径。
因此,我们将其设置的位置,通过孔的成本12行的顶级网络到GND从J2的'章垫的顶部连接即日起至11-12焊点。
下面的步骤,首先通过孔位置,如图3。
选择TopLayer层,然后设置对线右侧的孔,洞,从即日起至11组件-12垫重绘线,如图4所示的电缆。
网络NetU6_15线是错误的方式可以直接线布线,但是,出于在线自动布是许多转弯。
同样,我们将网络NetU6_15线也过滤掉。
同样,在Toplayer层,我们都将指向删除,接线,调整。
调整的布线是一个很好的改善,改变及之后,网络布线。
可见,电线,导体布局调整后,更便宜和美丽。
(2).PROTEL的DXP布线手动修改路由的路由自动调节密度,经常发现板只是西方路线的一部分,这部分的布线密度大,但在某些领域,但是有很多的空间可以路由。
在这种情况下,我们可以通过以下几个步骤。
该电路板的范围适当缩小,在布局和布线。
当空白的地方,大大降低了电路板时停止整个重新设计。
电路板线路穿越适当稀疏地区紧密合作,布线密集的区域进行调整的空间。
调整布线密度区,暴露在扁平电缆稀疏的地区。
这种布线问题调整了很多麻烦,尝试调整自动路由组件布局和布线的策略,避免布线是不平衡的。
即使这种情况不用担心,耐心地对其进行修改。
(3)PROTEL的DXP手动修改布线移动与指挥由于布线的影响旁边的指挥位置严重不合理的路线。
在这一点上,我们有必要调整的指挥位置,以便剩余的电线对齐。
由于连接-12网络线是不合理的,在网络线以下Netu16_15结果也受到影响。
在这一点上,到12导体移动位置Netu16_15网络,导致好的安排网络。
(4)PROTEL的DXP手动修改为过剩孔PROTEL的DXP清除电线经常使用太多的接线孔多,实际使用,使许多的洞。
我们可以用有一部分是没有必要消除洞。
在消除了一个洞的过程中,你可以下拉同一方向数作为网络的方向和独特的网络。
然后在同一个网络自动装配,最后对各种网络布线。
这样就有可能减少对孔数的很大一部分。
(5)PROTEL的DXP手动修改线路搬迁范围及其他官方二次接线像素面积不是防止PROTEL的DXP填补该地区。
当所有的布线工作完成后,您想申请这些被剥夺的人口稠密地区。
将这些填写只需要执行的删除命令或选择填充区域按一下键盘上的Delete[]键,编辑菜单。
手动调节。
(6)PROTEL的DXP手动修改布线根据抗干扰线路调整电路板布线原则,不仅仅是要求布敦,考虑到许多因素,特别是所依据的原则,使布线干扰。
例如,串扰和阻抗控制。
由于邻近信号耦合将导致串扰并改变信号电缆的阻抗。
相邻平行信号线耦合分析可能决定或信号线之间的安全与平行布线长度间距。
为了保持平行信号线,你可以计算或模拟,在最低之间的任何给定的路由层有允许间距。
这些我们已经确定了一套规则。
如果您必须进行手动调整,然后几个小网络拆卸,这些重要的指挥家手工织物,然后自动在网络布线。
图4-1顶层去铜电路图
图4-2底层去铜电路图
3.4熟悉TQ2440开发板的硬件和基本用法
我们开始学习linux系统移植的过程,讲师给我们发了一份细化的操作步骤书,我们一步一步的学习和实践,这里也出现过一些问题,比如文字输入错误和电脑配置不同所导致的差别等。
这里简单的把实习时的操作步骤写下来,很能表达整个操作的过程。
内核移植的操作过程如下:
A制作前的准备工作
1.安装arm-linux-gcc编译环境。
2.安装minicom。
1、安装libncurses5-dev_5.7+20100626-0ubuntu1_i386.deb.
2、准备dnw
3、加载secbulk驱动模块
B制作u-boot。
解压源代码包,生成一个u-boot.bin文件,就是烧写要使用到的u-boot.bin镜像。
C制作Linux内核
1.获得Linux内核源码,或是使用老式提供的内核直接使用。
2.添加对ARM的支持(一般已经完成)。
3.修改平台输入时钟(一般已完成)。
4.配置内核
5.制作TQ2440、SKY2440配置单
6.修改机器码在TQ2440或SKY2440上使用的uboot的机器码是168,这里需要修改机器码,否则会出现不能启动,在内核源码
7.编译镜像文件
D制作文件系统
A、生成需要的子文件。
B、构建根文件系统
E生成镜像的烧写
3.5编译MP3播放器及移植。
最后一天,在移植的基础上我们在电脑上编译MP3播放器的源代码生成可执行程序,然后在移入开发板中。
具体开发步骤如下:
1.编译zlib
2.编译libid3tag
3.编译libmad
4.编译madplay
5.移植将madplayer传输到开发板上运行。
AVR单片机的编译软件有GCCAVR和ICCAVR等,通常使用较多的是ICCAVR,也比较好用,本书以ICCAVR6.31版本为例介绍编译软件的使用。
编译步骤如下:
启动ICCAVR,界面如图4-5-1所示。
然后新建一个项目,选择Project项再选则New菜单项,则打开界面如图4-5-2所示。
图4-5-1ICCAVR主界面
图4-5-2
注:
新安装的软件由于为建立过工程和文件界面与图4-5-1中所示不完全相同
为了自己使用方便在保存工程时最好单独新建一个文件夹。
接下来”文件名(N):
”文本框中输入项目名称,保存为.prj格式。
本书中此处保存为ATmega16.然后点击如图4-5-1中的File选项再选择New,界面此时会变为如图4-5-3所示
图3-1-3
此时编写一个最简单的和前面最小系统版配套的C程序,如图4-5-4所示,程序如下
/////////////////////////////////////////////////////////////////
//AVRATmega16流水灯C程序//
//环境:
ICCAVR6.31//
//日期:
2011/09/14//
////////////////////////////////////////////////////////////////
#include//包含单片机型号头文件
#include//包含"位"操作头文件
voiddelay(void)//自定义延时函数
{
unsignedchari,j;
for(i=0;i<255;i++)
for(j=0;j<10;j++)
;
}
voidcpu_init(void)//单片机初始化函数
{
PORTA=0x00;//PA口输出值都定义为0
DDRA=0x00;//PA口输出允许关
PORTB=0x00;//PB口输出值都定义为0
DDRB=0x00;//PB口输出允许关
PORTC=0x00;//PC口输出值都定义为0
DDRC=0x00;//PC口输出允许关
PORTD=0x00;//PD口输出值都定义为0
DDRD=0x00;//PD口输出允许关
}
voidmain(void)
{
cpu_init();//初始化单片机
while
(1)
{
PORTA=0X00;/*点亮led灯,由最小系统的外部电路决定单片机输出
低电平时流水灯点亮*/
DDRA=0XFF;/*允许输出,此时PORTA的赋值才有效,这事AVR比51高级的地方*/
//由于其他端口没有接外围设备先不用定义
delay();
DDRA=0X00;//关闭led灯
delay();
}
}
/*********************************************************************/
/*另外最好先定义PORTX的值再给DDRX赋值,因为如果先打开DDRX允许,则PORTX*/
/*中原来的的值会输出,再给PORTX赋值的话其实在这段时间内*/
/*该端口已经有输出值但不是你后来设定的PORTX的数值,如DDRA=0XFF;PORTA=0XFF;*/
/*和PORTA=0XFF;DDRA=0XFF;两条看似一样的语句在有*/
/*写地方作用结果就会不一样,在有些控制要求严格的地方容易出现错误,即使我们平*/
/*时使用没出现错误我们平时做事也要有一个严谨的态度*//***********************************************************************/
图3-1-4
接下来单击图中磁盘符号保存,界面如图4-5-5所示
图3-1-5
输入你要保存的文件名,注意文件名结尾必须是.c格式,本书中命名为4-5-2.c,接下来点击保存即可。
界面变为如图4-5-6所示
接下来把文件添加进你刚才创建的工程里去,右键点击Project下ATmega16工程下的File文件夹选择AddFile(s)选项,会弹出一个对话框界面变为如图4-5-7所示
此时打开你开始创建的C程序保存的文件夹,选择你刚才创建的程序点击打开即可,这事程序成功的添加到工程里的File文件夹里。
如下图4-5-8所示
接下来右键点击File文件夹下的2-1-2.c文件选择options…选项,弹出界面如图
图3-1-9
选项按图4-5-9中选择即可,另外Compiler选项按图4-6-1选择即可
接下来全点击ok,这时新建工程,为工程添加文件等工作都已完成。
如果c程序没有错误点击编译按钮就会生成16进制的HEX文件。
界面如图所示
图4-6-2
如果有错误则通过提示修改你的程序修改完再次编译直至通过为止。
四、实习总结
4.1实习收获
在实习和实践中我们组的学员积极的学习和操作实践,很快成为首先取得成功的小组,我们很圆满的完成了实习的要求。
基本实现了熟练掌握shell命令和嵌入式系统的内核移植与软件导入等实习任务。
另外,我们通过这次实习我们不仅学习了专业知识,更加重要的是,我们同时培养了团队意识,这将有助于我们进一步的学习与工作。
4.2个人小结
这次实习我感觉有很多地方值得称赞的,一方面我们借助于杰普实训的机会学习了嵌入式linux系统,另一方面我们通过来昆山软件园体验了现代科技产业园区的学习和工作氛围,为我们将来的工作开拓思路。
这里我想需要总结一些有意义的事情。
1.软件学习我们需要持久的兴趣和积极的动手能力。
讲师开始讲授于Linux语言的语法规则时,很多同学们都以为这个很简单,但是听了一会儿就迷糊起来,东西很多记不住,死记硬背又不可取,最初两天确实很郁闷。
然而要使用Linux语言这个工具解决实际问题,又必须掌握它,所以只能即在笔记上回来自己慢慢消化。
从此可见,我们学习软件尤其是这种工具型知识时,必须端正态度,学习加强记忆,通过时间来逐步加强和获得提高。
2.实践出真知,只有亲身实践才能对知识的理解更加深刻。
有了完整的程序,但不能认为实践上就可以万事大吉。
实际上机运行时可能不断出现麻烦。
我们在最后的程序开发中遇到各种各样的问题,必须请老师帮忙。
在Linux系统开发MP3时出现各种各样的错误比如权限不够,编译环境不对等各种错误。
这其中有时程序本身不存在错误,在这个环境下也可以顺利运行,但是在另一种特定的环境变量下就是错误的或者权限不够的。
经由过程这次为数不多的几天实习,我们了解了一些关于Linux系统和嵌入式的常识,理解巩固了我们Linux系统的常识,这对我们将来到社会工作将会有莫大的帮助。
同时它让我知道,只要你努力,任何东西都不会太难。
3.关于团队的问题
本次实习对我感触最深的是关于团队的理解,鲁老师让我们分成几个团队最后展示自己团队的产品,我觉得这在将来在工作中会很有用。
她问的问题:
什么是团队精神?
我觉得所谓团队精神,是一种集体意识,是团队所有成员都认可的一种集体意识。
团队精神是高绩效团队中的灵魂.简单来说,团队精神,就是大局意识、服务意识和协调意识“三识”的综合体。
反映团队成员的士气,是团队所有成员价值观与理想信念的基石,是凝聚团队力量,促进团队进步的内在力量。
团队精神尊重每个成员的兴趣和成就,要求团队的每一个成员,都以提高自身素质和实现团队目标为己任。
团队精神的核心是合作协同,目的是最大发挥团队的潜在能量。
所以说,团队是一种精神力量,是一种信念,是一个现代企业不可或缺的精神灵魂。
而良好的企业团队精神,来自正确的管理文化,没有良好的从业心态和自我牺牲的精神,就不会有坚实的团队精神。
最后还让每个团队的成员自我介绍,想自己团队的口号和名字。
4.我对昆山软件园或是我们未来的工作的理解和展望
实习时我的同学说出这样的话:
“我们在这实习虽然到了上海,但是生活学习却和学校里基本一致,与其这样学习为什么不直接找我们学校的实验室进行就行了?
”
回到了学校,我好好思考了这个问题。
我的理解正是源于昆山软件园的优美的风景和令人心怡的环境所领悟的,其实我们在那学习都是一样的。
但是为什么我们要去大城市,去产业园,去那些我们专业人才济济的地方呢?
一方面是培养气氛,感受工作的繁忙,另一方面也是在品味这些人文环境和科研气氛。
其实我本人是比较重视研究氛围的,一个良好的科研氛围对科研团队而言是一个至关重要的内容,因为我们电子信息的工作趋势是随着知识密集而积聚的。
一个良好的研究环境才是人才愿意共聚的地方,所以我才觉得这些也是我通过这次实习得到的很有意义的东西。