(测试计量技术及仪器专业论文)基于avr单片机教学实验板的设计.pdf_第1页
(测试计量技术及仪器专业论文)基于avr单片机教学实验板的设计.pdf_第2页
(测试计量技术及仪器专业论文)基于avr单片机教学实验板的设计.pdf_第3页
(测试计量技术及仪器专业论文)基于avr单片机教学实验板的设计.pdf_第4页
(测试计量技术及仪器专业论文)基于avr单片机教学实验板的设计.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(测试计量技术及仪器专业论文)基于avr单片机教学实验板的设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 i n t e l 公司的m c s 一51 系列单片机成熟稳定,功能齐全,易学好用,在生产 实践中应用广泛。a m d ,p h i l i p s ,s i g n e t i e s ,s i e m e n s ,m a t r a ,d a l l a s ,a t m e l 等国际著名企业相继投入m c s 一5 1 兼容产品的研发制造,使m c s 5 家族速度更 快,耗电更少,功能更强。学习基于m c s 5 1 内核的高档单片机原理及应用对 工科学生而言意义重大。 本文选用a v r 系列单片机中的a t m e g a l 6 研制了单片机教学实验开发板, 学生应用g c c ,k e i l c ,l a b v i e w 进行软件编程,可以实现:i s p 并行下载,液 晶显示,a d 转换,键盘与l e d 显示,u a r t 串行通信,u s b 2 0 通信,s p i 和 1 2 c ( i ) 串行总线、传感器、蜂鸣器等模块的试验和功能测试,丰富了单片 机的教学实验,有助于提高学生的实验和动手能力。 全文针对实验系统各部分的功能特点,在控制器芯片选型、硬件电路设计 方面进行了详细的阐述,此外还论述了a t m e g a l 6 单片机的集成开发环境。阐 述围绕四部分进行:首先,对教学实验板的基本设计的思路和方案进行了阐述; 其次,详细介绍了教学实验板的电路设计部分,包括存储器及外围芯片的选型, 各单元电路硬件实现的具体步骤、重点细节和硬件调试方法等内容,给出了各 单元电路的电路连接图。再次,设计模块化的u s b 通信子系统。采用c y 7 c 6 8 0 1 3 芯片进行u s b 通信,并结合u s b 通信协议和u s b 控制芯片对该模块进行功能 定义,给出u s b 控制芯片与a v r 控制芯片之间的详细连接电路,以及u s b 固 件程序。同时采用简洁流畅的图形化程序设计软件l a b v i e w 设计上位机软件, 其主要功能是发送数据给u s b 端,接收并显示采集到的数据。其中难点是u s b 芯片与l a b v i e w 连接的驱动程序,本文中采用动态链接库把两者连接起来,使 数据能正常的上传下行。最后,文章对课题进行了总结,探讨了实验系统基本 的应用模式,提出了今后该实验系统进一步完善的方向。 关键词:单片机:实验系统;u s b 2 0 a b s t r a c t i n t e l sm c s - 51s i n g l e c h i ps e r i e sw i t hi t sm a t u r i t y ,s t a b i l i t y ,f u l lf u n c t i o n a l i t y , a n dh a n d s o n o p e r a t i o n , i s w i d e l ya p p l i c a b l e i n p r o d u c t i o np r a c t i c e s i n c e w e l l k n o w ni n t e m a t i o n a lc o m p a n i e ss u c ha sa m d ,p h i l i p s ,s i g n e t i c s ,s i e m e n s , m a t r a , d a l l a s ,a n da t m e lh a v ec o n s e c u t i v e l y d e d i c a t e dt o r e s e a r c h i n g a n d d e v e l o p i n go ft h ec o m p a t i b i l i t yo fm c s - 5 1 p r o d u c t s ,m c s 5 1 f a m i l yi sf a s t e r , e n e r g y - s a v i n g , a n d m o r e p o w e r f u l s t u d y i n gp r i n c i p l e s a n d a p p l i c a t i o n s o f h i g h g r a d es i n g l e - c h i pm i c r o c o m p u t e rb a s e do nm c s 一5 1c o r ee x e r t s p r o f o u n d s i g n i f i c a n c eo ne n g i n e e r i n gs t u d e n t s t h ep a p e rs e l e c t sa t m e g a16o fa v rm i c r o c o n t r o l l e rs e r i e st od e v e l o pt h e e x p e r i m e n t a ld e v e l o p m e n tb o a r df o rt e a c h i n g b yp r o g r a m m i n gi ng c c ,k e i l ca n d l a b v i e w ,s t u d e n t sc a l la c h i e v e :i s pp a r a l l e ld o w n l o a d , l i q u i dc r y s t a ld i s p l a y ,a d c o n v e r s i o n ,k e y b o a r d a n dl e d d i s p l a y ,u a r tc o m m u n i c a t i o n ,u s b 2 0 c o m m u n i c a t i o n s ,e x p e r i m e n t sa n df u n c t i o nt e s t so fs p ia n d 12 c ( t w i ) s e r i a lb u s , s e n s o r s ,b u z z e r sa n do t h e rm o d u l e s ,t h e s ec a ne n r i c ht e a c h i n ge x p e r i m e n to f s i n g l e c h i pm i c r o c o m p u t e r ,a n di m p r o v es t u d e n t se x p e r i m e n t a l a n do p e r a t i o n a l c a p a b i l i t i e s t h e p a p e r , b yf o c u s i n g o nf u n c t i o n a lc h a r a c t e r i s t i c so fe a c h p a r t o f e x p e r i m e n t a ls y s t e m ,c o n d u c t sp a r t i c u l a r e l a b o r a t i o nw h i c hc o m p o s e do ff o u r s e c t i o n s ,o nc o n t r o l l e rc h i ps e l e c t i o na n dh a r d w a r ec i r c u i td e s i g n i na d d i t i o n ,t h e p a p e ri l l u s t r a t e si n t e g r a t e dd e v e l o p m e n te n v i r o n m e n to fa t m e g a l 6s i n g l ec h i p m i c r o c o m p u t e r t h es e c t i o n si n c l u d e s :f i r s to fa l l ,i l l u s t r a t i o no fc o n c e p ta n ds t r a t e g y o fe d u c a t i o n a ld e v e l o p m e n tb o a r d s e c o n d , d e s c r i p t i o no fs i n g l em a c h i n ec o n t r o l c i r c u i td e s i g n , w h i c hi n c l u d i n gs e l e c t i o no fm e m o r yd e v i c ea n dp e r i p h e r yc h i p s , d e s i g na n dd e b u g g i n go fe a c hu n i tc i r c u i t ,a n dd e t a i ld e s c r i p t i o no fc i r c u i td i a g r a m s o fe a c hu n i t t h i r d ,t h ed e s i g no ft h eu s bc o m m u n i c a t i o ns u b s y s t e m ,w h i c h e m p l o y st h ec y 7 c 6 8 0 13c h i p st of u l f i l lt h eu s bc o m m u n i c a t i o nm o d u l e ,a n d a c c o m p l i s h e sm o d u l ef u n c t i o n sd e f i n i t i o nb yc o m b i n i n gt h eu s bc o m m u n i c a t i o n p r o t o c o lw i t ht h eu s b c o n t r o l l e rc h i p s ,t op r o v i d ed e t a i lc i r c u i tb e t w e e nu s bc o n t r o l c h i pa n da v r c o n t r o lc h i p ,a n du s bf i r m w a r e t h ed e s i g ns o f t w a r el a b v i e ww i t h s i m p l eg r a p h i c s ,i se m p l o y e dt od e v e l o pp cs o f t w a r e ,w h o s em a j o rf u n c t i o ni st o s e n dd a t at ou s bt e r m i n m ,r e c e i v ea n dd i s p l a yt h ec o l l e c t e dd a t a , a so n ed i f f i c u l t yi s t h ed r i v e r sb e t w e e nt h eu s bc h i pa n dl a b v i e w ,t h ed y n a m i cl i n kl i b r a r yc o n n e c t s t h e m ,s ot h a td a t ac a l lb ef l u e n tb e t w e e nt h eu pa n dd o w ns y s t e m f i n a l l y ,b y s u m m a r i z i n gt h ee x p e r i m e n t ,t h ep a p e rd i s c u s s e st h eb a s i ca p p l i c a t i o nm o d eo f t h e e x p e f i m e n t a ls y s t e m ,a n dp r o p o s e s d i r e c t i o no ff u r t h e rd e v e l o p m e n to ft h e e x p e r i m e n t a ls y s t e m k e yw o r d s m c u = e x p e r i m e n t a ls y s t e m ;u s b 2 0 西南交通大学硕士研究生学位论文第1 页 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确的说明。本人完全意识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 充分利用了a v r 单片机的硬件资源,实现全功能模块化设计,模块丰富; 功能引脚全部引出,便于扩展开发;在实验过程中灵活组合实验模块,能构成 灵活的综合性、设计性实验;i s p 下载功能,实现系统实时开发调试编程,能全 面真实调试单片机内部的各模块;支持多系列a v r 单片机。 藉海襄 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密使用本授权书。 ( 请在以上方框内打“) 学位论文作者签名:蒋酶筵 日期:o 口叩牟5 日2 , 1 日 指导老师签名:锄珐 日期: 刀叩并【虚易j l 西南交通大学硕士研究生学位论文第1 页 第1 章概述 1 1 课题背景 目前单片机的设计和应用技术飞速发展,在全国高等工科学院中,己普遍 开设了单片机及相关课程。对于单片机的学习,不仅仅是在课堂上学习理论知 识,实践是必不可少的一个环节,如果理论与实践脱节,则学习的效果将会大 打折扣。 早期的单片机都是8 位或4 位的。其中最成功的是i n i e l 的8 0 3 1 ,因为简 单可靠而性能不错获得了很大的好评。此后在8 0 3 1 上发展出了m c s 5 1 系列单 片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制 领域要求的提高,开始出现了1 6 位单片机,但因为性价比不理想并未得到很广 泛的应用。9 0 年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。 随着i n t e l i 9 6 0 系列特别是后来的a r m 系列的广泛应用,3 2 位单片机迅速取 代1 6 位单片机的高端地位,并且进入主流市场。而传统的8 位单片机的性能也 得到了飞速提高,因此8 位单片机将在未来很长时间里继续发展。 目前高校单片机教学中大都以m c s 5 1 为首选机型进行讲解,所开发的教 学实验系统也多是基于m c s 5 1 系列单片机开发设计的。m c s 5 1 单片机作为目 前最具代表性的主流机型,基于该机型的教学实验系统为我国的单片机教学发 挥了巨大的作用,然而,随着单片机的应用进入s o c 时代,其不足和缺陷也显 而易见。表现在以下几点: 片上资源不够丰富; 系统开发调试不足,主要体现在: 连接问题:设计系统的p c b 板时要考虑在线仿真器与其的连接,否则无法 进行总线调试。 时序限制:指目标系统在设计时要求在处理器、目标内存或目标系统中的 其他存储器映射i o 设备之间有非常陡的时序边缘,使用在线仿真器就可能会 产生问题。 在线调试时工作频率受限:在仿真调试中的工作频率不高于2 0 m h z 。 功耗问题的限制。m c s 5 1 是5 v 供电的,功耗较大,难以满足许多系统 西南交通大学硕士研究生学位论文第2 页 低功耗的要求。 a v r 单片机是美国a t m e l 公司设计的,a v r 单片机对原5 1 单片机内核 进行了较大改造,采用精简指令集r i s c ( r e d u c e di n s t r u c t i o ns e tc p u ) 结构, 废除了原5 1 单片机中的机器周期,由原来1 2 个时钟执行一条指令改进为一个 时钟执行一条单周期指令,大多数指令执行所需的时钟周期数与指令的字节数 相同,使得a v r 单片机的运行速度大大提高。 a v r 单片机的设计者除了改造5 1 内核外,还将f l a s h 、e e p r o m 、a f t ) 、 r t c 、w a t c h d o g 定时器1 2 c 、s p i 、p w m 和片内振荡器等集合为一体,可以真 正做到单片。a v r 单片机兼容5 1 指令集,能够沿用过去开发的5 1 应用程序, 使得一直用5 1 单片机教学的高校和从事5 1 单片机开发应用者可以继往开来【n 。 a v r 主要技术创新主要体现在以下几个方面: 高性能,采用精简指令集c p u ( 砒s c ) 和哈佛( h a r v a r d ) 结构的流水线 技术,拥有3 2 个通用工作寄存器。 片内集成了非易失性程序和数据存储器以及工作存储器; 丰富的外设,如1 2 c 、s p i 、e e p r o m 、r t c 、w a t c h d o g 定时器、a d 转换器、p w m 和片内振荡器等; 宽工作电压:1 8 - - - 6 v 之间; 低功耗,具有6 种休眠模式,能够从低功耗模式迅速唤醒。 编译好的目标文件可通过在线编程( i s p ) 直接写入程序存储器,实现芯 片在系统编程调试,无需购买昂贵的仿真器和编程器,从而节省了系统开发成 本。 i o 口资源丰富,设计灵活,驱动力强; 具有多复位源、多中断源方式; 其u s a r t 不占用定时器,采用独特的波特率发生器; 保密性强,f l a s h 程序存储器具有保密锁死功能; 由于a v r 单片机具有上述这些优点,给用户带来了前所未有的好处。越来 越多的设计人员把目光转向a v r 单片机,把a v r 单片机作为8 位单片机的最 佳选择,从而使a v r 单片机进入大批量的应用领域。 a t m e g a 系列单片机属于a v r 中的高档产品,它具有a v r 单片机所具有 的特点,并在此基础上,增加了更多的接口功能,提供更充足的程序和数据存 西南交通大学硕士研究生学位论文第3 页 储器,而且在省电性能、稳定性、抗干扰性以及灵活性方面考虑的更加周全和 完善。本课题采用a t m e g a l 6 单片机,它属于a t m e g a 系列单片机的一个子集 ( a ,r m e g a 3 2 6 4 1 2 8 ) ,指令系统完全兼容,所以学会了a t m e g a l 6 的应用,掌 握其他的a t m e g a 系列单片机就会驾轻就熟【2 1 。 随着单片机技术的发展,a t m e g a 系列单片机已成为m c s 5 1 的升级替代产 品,那么必然会成为经典单片机教学的方向。因而,开发基于a t m e g a 系列单 片机的教学实验系统,具有相当的实用价值和广阔的市场前景。 ? ,! ,一 1 2a v r 教学实验板的总体结构 教学实验板的总体方案设计应能满足单片机教学实验的需求,具体来讲, 基于单片机开发板实验平台应能完成如下实验项目: 基础类实验 可以实现如l e d 控制实验、模数转换a d 实验、蜂鸣器控制实验、中断控 制实验、e e p r o m 读写实验、w a t c h d o g 控制实验等基础类实验。 人机接口类实验 可以实现如键盘输入实验、l c d 显示实验等人机接口类实验。 通讯类实验 可以实现如串口通讯实验、u s b 通讯实验等通讯类实验。 高级应用类实验 可以实现如接近报警实验、通过u b s 控制l e d 闪烁实验、过程控制实验、 数据采集等实际应用类实验。 另外,进行产品应用开发应具备常用的硬件接口和驱动,包括串口、l c d 接口、u s b 接口及相应的驱动程序,能够基于该实验板便捷的完成相关产品的 应用开发。因此,在进行器件选型时要考虑成本、易用性及应用广泛性,在进 行方案设计时要考虑资源完整性。 本实验板采用a t m e g a l 6 单片机,提供的实验模块如图1 1 所示。主要模块 有: 微处理器m c u :采用a t m e l 公司生产的a v r 单片机a t m e g a l 6 ; 外部按键:一个复位按键,进行系统复位;4 * 4 矩阵键盘,可以用两个作 为外部中断测试使用; 西南交通大学硕士研究生学位论文第4 页 蜂鸣器:用于蜂鸣器发声实验; 图1 - 1 教学实验板硬件结构框 l e d 灯:用于l e d 控制实验; - k l c d 接口:将m c u 的p a 口用锁存器7 4 h c 5 7 3 复用为8 针l c d l e d 数据口,控制i o 口用p c 口的部分i o 口; - k e e p r o m 存储器:用于学习1 2 c 协议和外扩串行存储器; r s 2 3 2 串行接口:采用电平转换芯片m a x 3 2 3 2 c 将m c u 的u a r t ( 通用 异步收发器) 引出,接r s 2 3 2 串行接口; - k u s b ( d e v i c e ) 2 0 接口:使用c y p r e s s 公司的u s b 2 0 接口控制芯片 c y 7 c 6 8 0 1 3 接一个t y p e b 型u s b 座连接器; - a d 采样( 传感器) 接口:m c u 内部集成了一个8 路1 0 位的a d c ,8 路都通过己经引出的标准插座外扩; i s p 编程接口:使用i s p 下载器可对目标m c u 在线编程。 i o 切换拨码开关:作为i s p 下载口和按键使用的i o 口切换; 霍尔传感器电路:应用于实际应用的设计,比如:接近报警系统,过程 控制的设计等; 电源模块:为实验板提供5 v 和3 3 v 电压; - k i o 扩展口:一对2 * 4 0 p i n 的扩展引脚将所有信号引出,方便在其它扩展 板上应用。 西南交通大学硕士研究生学位论文第5 页 1 3 课题的设计思路及特点 在教学实验板的设计过程中,先研究每个接1 5 1 模块的功能及驱动方法,然 后分别设计a v r 单片机与接口模块连接电路,并对其进行调试。在掌握了接口 模块后,整体设计教学实验板的原理图,将各个接口模块增加到实验板中,形 成最终的完整的实验板。实验系统的原理图请参见附录1 。 本实验板的设计特点有: 1 充分利用了a v r 单片机的硬件资源,实现全功能模块化设计,模块丰富。 2 功能引脚全部引出,便于扩展开发。 3 在实验过程中灵活组合实验模块,能构成灵活的综合性、设计性实验。 4 i s p 下载功能,实现系统实时开发调试编程,能全面真实调试单片机内部 的各模块。 5 支持多系列a v r 单片机 通过课题的研究,探索单片机技术的最新发展方向及其与单片机课程教学 要求之间的关系。在充分论证的基础上,研制了开放式单片机综合实验板,提 出新型的a v r 单片机实验系统方案,丰富了实验内容。 1 4 本文的结构安排 本文共分五章。第一章叙述了课题背景以及论文研究的目的和意义;第二 章对a t m e g a l 6 单片机进行了介绍,分析了其内部结构和特性,然后对实验板 整个硬件和软件设计分别进行了描述;第三章对教学用户板的电路设计部分进 行了详细的介绍,包含了单机控制的液晶显示、a d 转换、键盘与l e d 显示、 串行接口、两线串行接口t w i ( 1 2 c ) 总线接口、传感器、蜂鸣器等电路的设 计与说明,第四章详细介绍了采用u s b 2 0 接口通信的电路设计,通过简单的例 子演示了单片机与u s b 2 0 通信的实验操作。第五章对课题进行了总结,探讨了 实验系统基本的应用模式,提出了今后该实验系统进一步完善的方向。 西南交通大学硕士研究生学位论文第6 页 第2 章教学实验板的软硬件开发平台 2 1a v r 高速嵌入式单片机和a t m e g a l6 a t m e l 公司是世界上著名的高性能、低功耗、非易失性可擦除存储器和数 字集成电路的一流半导体制造公司。a t m e l 公司最引入注目的是它的电可擦除 ( e e r p o m ) 技术、闪速存储器( f l a s h ) 技术和高质量、高可靠性的生产技术。在 c m o s 器件生产领域中,a t m e l 的先进设计水平、优秀的生产工艺及封装技 术,一直处于世界领先地位。这些技术用于单片机生产,使单片机也具有优秀 的品质,在结构、性能等方面都有明显的优势。1 9 9 7 年,a t m e l 公司挪威设 计中心出于市场需要考虑,充分发挥其f l a s h 技术优势,推出增强型内置f l a s h 的精简指令集( r e d u c e di n s t r u c t i o ns e tc p u ,简称r i s c ) 高速8 位单片机,并命 名为a v r 。其中a 与v 分别是两位充满工作激情与灵感的挪威年轻研发者姓 名的第一个字母,r 代表该芯片为r s i c 架构 4 1 。 a v r 单片机已形成一个系列。为满足不同的需求和应用,a t m e l 公司对 a v r 单片机的内部资源进行了相应的扩展和删减,推出了a t t i n y 、a t 9 0 和 a t m e g a 三大系列,分别对应a v r 的低、中、高档产品。 在a t m e g a 系列中,a t m e g a l 6 是目前主流的、性价比最高的a v r 系列单 片机芯片之一。a t m e g a l 6 具有3 种封装,4 0 引脚p d i p 封装,4 4 引脚t q f p 封 装和4 4 引脚m l f 封装。 a t m e g a l 6 的数据吞吐率高达1 m i p s m h z ,大大提高了运行的速度,或在 一定速度下,大大降低时钟频率,获得良好的电磁兼容性和可靠性。 a t m e g a l 6 芯片是以a t m e l 高密度非易失性存储器技术生产的。片内i s p f l a s h 允许程序存储器通过s p i 串行接口,或者通用编程器进行编程,也可以通 过运行于a v r 内核之中的引导程序进行编程。通过将8 位r i s cc p u 与系统内 可编程的f l a s h 集成在一个芯片内,a t m e g a l 6 成为一个功能强大的单片机,兼 有m c s 5 1 和一些高级处理器a r m ,d s p 的优点,为许多应用设计提供了灵活 而低成本的解决方案。 a t m e g a l 6 的器件特性如下所示1 6 j : 高性能、低功耗的8 位a v r 微处理器; 西南交通大学硕士研究生学位论文第7 页 先进的r i s c 结构: 1 3 1 条指令,大多数为单时钟周期指令; 3 2 个8 位通用工作寄存器; 工作于1 6 m h z 时,性能高达1 6 m i p s ; 只需两个时钟周期的硬件乘法器。 非易失性程序和数据存储器: 1 6 k b 的系统内可编程f l a s h ,擦写寿命:1 0 0 0 0 次; 支持在系统编程( i s p ) 、在应用编程( 口a ) ; 带有独立锁定位可选b o o t 代码区,通过片上b o o t 程序实现系统内编程; 51 2 b 的e e p r o m ,擦写寿命:1 0 0 0 0 0 次; 1 k b 的片内s r a m ; 可以对锁定位进行编程以实现用户程序的加密。 丰富强大的外部接口性能: 。 两个具有独立预分频器和比较器功能的8 位定时器计数器,一个具有预 分频器、比较功能和捕捉功能的1 6 位定时器计数器; 具有独立振荡器的实时计数器i 汀c ; 四通道p w m ; 8 路1 0 位a d c ,两个具有可编程增益( i x ,1 0 x 或2 0 0 x ) 的差分通道; 面向字节的两线接口; 两个可编程的串行u s 川订; 可工作于主从机模式的s p i 串行接口; 具有独立片内振荡器的可编程看门狗定时器; 片内模拟比较器。 特殊的处理器特点: 上电复位以及可编程的掉电检测; 片内经过标定的r c 振荡器; 片内片外中断源; 6 种睡眠模式:空闲模式、a d c 噪声抑制模式、省电模式、掉电模式、 s t a n d b y 模式以及扩展的s t a n d b y 模式。 i o 和封装: 西南交通大学硕士研究生学位论文第8 页 3 2 个可编程的i o 口: 4 0 引脚p d i p 封装,4 4 引脚t q f p 封装,4 4 引脚m l f 封装。 宽工作电压:4 5 5 5 v 。 高运行速度:o 1 6 m h z 。 低功耗( 1 m h z ,3 v ,2 5 c ) 正常模式:1 1 m a ; 空闲模式:0 3 5 m a ; 掉电模式: l i a a 。 a t m e g a l 6 属于a v r 单片机中的高档产品,芯片内部集成了较大容量的存 储器和丰富的硬件接口电路,功能非常强大,但是其价格却与低档单片机相当, 具有非常高的性价比,是单片机应用系统开发的理想选择。本课题选择 a t m e g a l 6 作为研究对象,跟上了a v r 单片机机型的更新速度,却又不失一般 性,对于其它型号的a v r 微控制器,设计方法是类似的,这使得学校的单片机 教学更具有推广型和应用性。 2 2 教学实验板的软件开发环境 2 2 1a v r 单片机的开发工具 更适合采用高级语言开发是a m p , 单片机最初设计时的目的之一。目前a v r 单片机高级语言发发工具主要有l 蛾c 、w i r a v r 、i c c a v r 、c o d e v i s i o n 、 b a s c o m a v r ( b a s i c 语言) 。i a r 是与a v r 内核协同开发的,很多对a v r 更适合c 语言开发方面的改进是根据i a r 开发过程的,它也是a t m e l 公司推 荐的c 语言编译器,但它的价格几呼让人难以接受,达到上万元人民币。i c c a v r 是国内a v r 主要推广双龙公司代理的c 编译器,高性价比,友好的界面把很 多烦琐的项目管理和编译设置隐藏了起来,为此它受部分开发人员的欢迎。 c o d e v i s i o n 也是个很不错的c 编译器,目前在国内也有一定数量的用户。 w i n a v r 是个免费的a v r 开发程序集,它以著名的自由软件g c c 为c c + + 编 译器。本课题所有模块都是使用w i n a v r 开发的。学习g c c 的意义绝不仅仅 是为了开发a v r 程序,正如论坛上一位网友所说:“如果其它编译器是一棵树, 那么g c c 就是个树林,g c c 支持多种处理器,包括a r m 、d s p 、x 8 6 等 西南交通大学硕士研究生学位论文第9 页 3 2 位c p u 。它的历史足以说明它是个成熟的编译器。 一、g c c 编译器 u n i x 上最原始的c 编译器叫c c ( cc o m p i l e rc 编译器) ,源于此g n u 的c 编译器叫作g c c ( g n ucc o m p i l e r ) ,然而,随着g c c 支持语言的增加 g c c 这个缩写的意义已演变成了g n u 编译器集合( g n uc o m p i l e rc o l l e c t i o n ) , 它是g n u 项目的一个产品,是个开放源代码软件。 g c c 可编译多种语言,目前支持的语言有c 、c + + 、o b j e c t i v e c 、f o r t r a n 、 j a v a 和a d a 。这些高级语言程序通过编译程序前端( f r o n t e n d ) 后产生解析树, 之后与器件相关的后端( b a c k e n d ) 程序将它们解释成实际的可执行指令集。前 端与后端是完全分开的,解析树是它们中间的产物。g c c 这样的设计使得任何 一种语言只要通过合适的语法解析器产生符合格式的解析树,就可以产生g c c 后端程序所支持的所有器件上的可执行指令集。同样的,任何一种器件只要将 树结构翻译成汇编,就可以使用g c c 前端所支持的所有语言。要承认的是,以 上描述是理论化的,便于理解,实际操作并没有想象的那么简单。事实上前端 和后端都不是孤立的。幸运的是a v r 的确得到了g c c 的支持,它也是g c c 支持的唯一一种8 位处理器。不仅如此,我们还可以在w i n d o w s 平台上安装 程序包w i n a v r 来使用g c c 的a v rc c + + 编译程序。 w i n a v r 是个免费的a v r 开发程序集,之所以选用w i n a v r ,是因为它 是一组开放源代码的程序集,也是目前最好的自由软件之一。 w i n a v r 包括以下一此工具: 1 g n u 程序包b i n u t i l s :g n ub i n u t i l s 非常庞大,w i n a v r 仅包含与a v r 相关的部分,有a v r 汇编器、连接器以及与机器指令相关的一些工具 2 g n ug c c 的c 和c + + 编译器。 3 a v r l m c :a v r l i b c 是a v r 单片机c 运行时库,它是为应用程序提 供标准c 函数的连接时定位库。 另外w i n a v r 还包含软件调试器、器件编程软件、文件格式转换工具等多 个有用工具。 二、m a k e f i l e 项目管理文件 通常一个编译器( 泛指高级语言编译器、汇编器、连接器等等) 、项目管 理器和文本编辑器构成一个完整的编程环境。 西南交通大学硕士研究生学位论文第10 页 其中项目管理器负责为每一个源程序文件调用编译器生成目标文件后用连 接器将它们组合在一起生成可执行文件。例如k e i lu v i s i o n 进行编译时将项目 中的每一个源程序文件进行编译后生成对应的o b j 文件,之后将这些目标文件 连接到一起生成可执行( 例如i h e x 格式) 文件。这是对编译过程的粗略的描述, 而k e i lu v i s i o n 掩盖了很多的细节。 w i n a v r 没有像k e i lu v i s i o n 那样集成项目管理器的i d e ,所以我们需要写 一个叫做m a k e f i l e 的文件来管理程序的编译连接。m a k e f i l e 是个脚本文件,一个 标准的可执行文件m a k e e x e 负责解析它并根据脚本内容来调用编译器、连接器 或其它的工具,最终生成可执行代码文件。每次调用m a k e 时它会比较目标文件 与源文件的更新时间,如果源文件比目标文件还要新它会执行m a k e f i l e 内的相 关指令更新目标文件,如果目标文件与源文件一样新它就跳开这个源文件的编 译,避免重复工作,这对于一个较大的工程是个节省时间的有效方法。 文本编辑器有很多种类,例如记事本、a v r s t u d i o 、v i s u a ls t u d i o 、u l t r a e d i t 和w i n a v r 自带的p r o g r a m m e r sn o t e p a d 等,这里推荐使用u l t r a e d i t ,它支持 c 代码的高亮显示、项目管理及外部工具配置等功能。 三、p o n y p r o g + 并口i s p 下载实验器 a v r 系列单片机提供对程序存储器( f l a s h ) 和数据存储器( e e p r o m ) 的串行编程功能( i s p ) ,使它的程序烧写变得方便。a v r 系列器件内部f l a s h 存储器的编程次数通常可达到1 0 0 0 0 次以上,所以使用多次烧写的方式调试程 序时不必担心器件的损坏。 i s p 功能占用三个i o 端口( m o s i 、m i s o 、s c k ) 与外部编程逻辑通信, 编程逻辑按指定时序将程序数据串行方式发送到器件,器件内的i s p 功能模块 负责将数据写入到f l a s h 或e e p r o m 。 在实际应用中通常利用p c 机的并行口或串行口加一个下载适配器( 下载 线) 实现一个编程硬件,a v r 的下载线有很多种,本课题采用并口i s p 编程器, 并口i s p 编程器具有制作方便( 只需几个分立元件) 、接线少( 通过p c 2 5 针并 行口编程) ,支持软件成熟( p o n y p r o g ) 等特点。 p o n y p r o g 是由c l a u d i ol a n c o n e l l i 先生编制的一个可以对微控制器、电可擦 写存储器进行在线串行编程的软件。p o n y p r o g 目前可以支持a v r 微控制器、 a t 8 9 s 微控制器、p i c1 6 微控制器、p i c1 2 微控制器、i m b u se e p r o m 、s d e 2 5 0 6 西南交通大学硕士研究生学位论文第11 页 e e p r o m 和x 2 4 4 4e e p r o m ,p o n y p r o g 在使用中非常稳定,可以很方便的开发支持 在线串行编程的微控制器。 p o n y p r o g 的对系统的运行环境要求不高,目前可以运行在m i c r o s o f t w i n d o w s9 5 9 8 m e n t 2 0 0 0 及g n u l i n u xk e r n e l2 4 x 上,为跨平台的开发 者提供了方便【4 】。 2 2 2 其他相关开发工具 在开发不同模块时会需要相关的开发软件,比如串口调试软件,u s b 开发 软件,l c d 字模软件,以及开发应用程序界面时所需要的v c + + 、v b 等传统软 件或像l a b v i e w 、l a b w i n d o w s c 等与虚拟仪器结合起来的软件工具。 西南交通大学硕士研究生学位论文第12 页 第3 章各功能模块的软件及硬件电路设计 3 1i s p 串行下载编程接口 a v r 的编程方式有:( 1 ) 串行编程( 即i s p j t a g 编程) ( 2 ) 高压串行 并行编程( 3 ) 采用内部的监控程序的l a p 编程。本实验板所有实验均采用i s p 串行编程。 i s p ( i ns y s t e mp r o g r a m m i n g ) 技术即在系统可编程技术,是指在用户设计 的目标系统中或印刷电路板上,为重新配置逻辑或实现新的功能而对器件进行 编程或反复编程的能力。i s p 技术无需编程器和较高的编程电压,打破了先编程 后装配的惯例,形成产品后还可以在系统内反复编程,使具有f l a s h r o m 可 多次编程或反复编程的a t m e g a l 6 的优越性得以更充分的发挥。 图3 1 为并口i s p 下载线工作原理框图。电路分为p c 机并口电路、i s p 下 载线和目标机三部分。i s p 下载线通过2 5 针d 型连接器d b 2 5 与p c 机并口连 接,通过1 0 针连接器与目标机连接。1 0 针连接器的引脚定义与a t m e l 的s t k 2 0 0 下载线相同。 图3 - 1 并口i s p 下载线工作原理框图 在本课题中,目标机为实验板i s p 串行下载编程接口,其硬件连接电路图 如图3 - 2 。1 0 针插座的m o s i 、r e s e t 、s c k 和m i s o 分别与与a t m e g a l 6 的 p b 5 ( m o s i ) 、r e s e t 、p b t ( s c k ) 、p b 6 ( m o s i ) 相连。 v c c 鼍 图3 - 2i s p 串行下载编程接口插座 i s p 下载接口,不需要任何的外围零件。使用双排2 * 5 插座。由于没有外围 零件,故p b 5 ( m o s i ) 、p b 6 ( m i s o ) 、p b 7 ( s c k ) 、复位脚仍可以正常使 西南交通大学硕士研究生学位论文第13 页 用,不受i s p 的干扰。 开发心得:实际应用时,如需简化零件,可以不焊接2 * 5 座。本设计保留 了这个空位,以便以后升级a v r 内的软件。 自制i s p 串行下载编程电缆接口原理图如图3 3 所示。 a v ri s p 并口下载线 2 0 图3 3a v ri s p 并口f = 载线 并口i s p 下载线由7 4 h c 2 4 4 组成,7 4 h c 2 4 4 为八缓冲器,三态输出,由实 验板电源供电。该器件的一个作用是,在执行下载操作时,令d b 2 5 的d 3 d 2 = 0 0 , 7 4 h c 2 4 4 各缓冲器均处于工作状态,p c 机并口上的d 4 、d 5 、d 7 、a c k 几个 信号分别通过各自的缓冲器与单片机上s c k 、m o s i 、r e s e t 、m i s o 几个引脚 相接,传输数据。下载完成后,令d 3 d 2 = l1 ,7 4 h c 2 4 4 各缓冲器处于高阻态,相 当于将下载线拔去,真正实现在线编程功能。另一个作用是,增大并口的驱动 能力。假如没有缓冲器,那么当单片机的s c k 、m o s i 、r e s e t 、m i s o 几个引 脚上接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论