AVR单片机的USB在线下载器设计及实现论文 源代码.docx
《AVR单片机的USB在线下载器设计及实现论文 源代码.docx》由会员分享,可在线阅读,更多相关《AVR单片机的USB在线下载器设计及实现论文 源代码.docx(33页珍藏版)》请在课桌文档上搜索。
1、书目摘要1第一章结论21.1 本论文的探讨目的和意义21.2 USB简介21.3 单片机技术及AVR单片机性能简介4其次章设计构思52. 1技术背景52 .2方案选择103 .3本章小结12第三章系统硬件设计123. 1MCU的选择123.1 硬件电路设计163.2 本章小结16第四章系统软件设计164.1 系统固件程序设计174. 2系统驱动程序设计184.1 ISP下载限制软件274.2 本章小结28第五章应用测试285. 1USB下载器驱动安装285.1 上位机应用程序测试285.2 测试及结果分析29第六章全文总结及展望316. 1全文总结316. 2展望32致谢33参考文献33附录3
2、6AVR单片机的USB在线下载设计及实现学生:刘炜指导老师:丁晓波(三峡高校电气信息学院)摘要:本文设计实现了一个基于USB技术的下载器,该下载器可以通过USB下载线将AVR单片机的HEX程序通过SPI线路下载到目标单片机中。在设计上采纳Tmega8单片机做限制器,它及计算机的通信采纳USB通信技术,对目标芯片编程采纳ISP技术,从而可以便利地在全部具有USB接口的计算机上进行AVR单片机系统及其他支持在线编程单片机系统的开发。经测试该下我器能够对单片机在线编程,在速度,牢靠性等方面较并口卜载器有较大的提高。关键词:USB技术;同步串行通信SPI;ISP在线编程;M)M驱动;Abstract:
3、Inthispaper,adesigntechnologybasedontheUSBdevicetodown1oad,thedownloadcanbedown1oadedthroughtheUSBlinetoAVRmicrocontrollerthroughtheSPIlinesHEXprogramdown1oadedtothetargetMCU.Tmega8usedinthedesignofsingle-chipcontrollertodoitwiththecomputerusingtheUSBcommunicationtechnologycommunications,onthetarget
4、chipusingISPProgrtimmingtechnology,whichcaneasilyhaveaUSBinterfaceinal1thecomputersandtheAVRMCUSystemsothersingle-chipsupportforonlineprogrammingsystem.Testedthedownloadofthesingle-chipdevicetoonlineprogramming,intermsofspeed,reliabiIityandsoonthantheparalIelporttodown1oaddevicehasgreatlyimproved.Ke
5、ywords:USBtechnology;synchronousserialconmunicationSPl;ISPonlineprogramming;WDMdriver;第一章绪论1.1 本论文的探讨目的和意义通常进行单片机试验和开发,编程器是必不行少的。仿真、调试完的程序要借助编程器写入单片机的存储器中,随着单片机技术的发展出现了MTP(可多次编程)存储器技术和ISP(在系统可编程)技术,这样就可以省去昂贵的仿真器,只要通过计算机接口和条串行下载线就可干脆在目标芯片上编程。目前,比较成熟的ISP下载器大多是基于串口或者并口通信的,但存在以下问题:(1)用户PC机的主频、硬件和操作系统不同,
6、可能会造成限制信号错误;(2)不同的厂商供应不同的ISP下载器,互不兼容,给嵌入式开发带来不便;(3)限于串、并口的通信协议,ISP数据传输速率较低,影响嵌入式产品的开发。基于以上缘由,本课题要求完成一个基于计算机USB端口的AVR程序下载器,利用该下载器可以通过计算机的USB端口实现对SPI信号的模拟,并完成对AVR程序的下载。从而可以便利地在全部具有USB接口的计算机上进行AVR单片机开发。1.2 USB简介USB全称为UniVerSaISerialBUS(通用串行总线),它是由Compaq、IBM.IntekNEC、MiCroSoft等一些PC大厂商联合开发的一种新型的、基于令牌的、高速
7、的串行接口标准。USB把各种不同的接口统一起来,仅用一个4针插头作为标准插头,通过这个标准插头,采纳菊花链形式可以把全部的外设连接起来,并且不会损失带宽。传输速度是USB发展的主要指标之一,USBI办议已从最初的速度只有1.5MbPS(慢速)和12Mbps(全速)的1.l版本,发展到速度高达480Mbps的2.0版本。如今特地用于USB外设间“可移动互连”的2.0补充规范USBOTG(On-The-Go)已经发布,使得USB总线可以进行点对点的数据传输,而不肯定要求主机的参及。USB接口已被各种流行的操作系统所支持,并应用于各种数据终端设备中。它之所以能够在当今的外用设备标准接口中占有重要的地
8、位,是由于它具有以下的性能特点: 终端用户的易用性:为连接电缆和连接头供应了单一的模型;支持即插即用和热拔插;自我检测外设,自动地进行设备驱动设置;可动态连接,动态重置外设。 应用广泛性:适应不同的设备,供应低速传输(1.5Mbps).全速传输(12Mbps)和高速传输(480MbPS);可连接至多127个物理设备,并支持对多个设备的同时操作;在主机和设备之间可以传输多个数据和信息流:利用底层协议,提高了总线利用率。 同步传输带宽:确定的带宽和低延迟适合电话系统和音频的应用;同步工作可以利用整个总线带宽。 敏捷性:可以选择系列大小的数据包,允许对设备缓冲区大小进行选择:通过指定数据缓冲区大小和
9、执行时间,支持各种数据传输率:通过协议对数据流进行缓冲处理。 健壮性:出错处理/差错复原机制在协议中运用;对用户感觉而言,热拔插是完全实时的:可以对有缺陷设备进行认定。 及PC产业的一样性:协议的易实现性和完整性;及PC机即插即用的体系结构的样;对现存操作系统接口的良好连接。 成本低廉:以低廉的价格供应1.5MbPS的子通道设施;将外设和主机硬件进行了最优化的集成;促进了低价特别设的发展:廉价的电缆和连接头。对于数字系统而言,尤其是目前在工业界被广泛应用的嵌入式系统,进行USB技术的开发和应用是特别必要的。一方面,USB技术作为一种新兴的串行通信技术,随着协议版本的不断更新,传输速度已从1.5
10、Mbs的低速发展到480Mbs的高速,可以在很大的程度上满意不同数字系统对串行通信的要求。另一方面,USB技术不同于以往的串行通信接口技术,包含总线通信协议等内容,在实际应用中,可以依据须要把数字系统开发成相应的USB主机、USB设备以及USBOTG(USBOn-the-Go,USB主机、从机自适应)设备,在实现不同系统之间的数据交互方面有很大的敏捷性。对于Sock而言,假如可以将系统内对数据传输要求较高的局部模块设计成具有标准接口的点对点连接方式,而总体仍沿用传统的片内总线数据传输方式,就可以让SoC器件很好的解决接口困难化和同步-异步的协调问题。作为标准化的串行通信接口,USB接口是特别适
11、合SoC点对点连接设计的一种选择,不但在传输速度上可以基本满意SoC器件中各模块间数据交互的要求,而且从结构上来说,USB电缆只需VBusGND、D+和四根线,特别简洁。因此,基于上述分析,对USB技术在数字系统尤其是嵌入式系统中的应用方法进行探讨,为日后USB技术在Soc设计领域广泛应用奠定基础,就显得尤为重要,具有特别深远的意义。1.3单片机技术及AVR单片机性能简介AVR单片机是ATME1.公司2019年推出的全新配置精简指令集RISC(ReducedInstructionSetCPU)单片机。精简指令集RISC结构是20实际90年头开发出来的,是综合了半导体集成技术和软件性能的新结构。
12、这种结构使得AVR单片机具有接近IMIPS/MHz的高速处理实力。AvR单片机开发的目的在于,能采纳C语言编程,从而能高效的开发出目标产品。为了对目标代码大小,性能及功耗进行优化,AVR单片机采纳了大型快速存取寄存器文件和快速单周期指令。快速存取RISC寄存器文件由32个通用工作寄存器组成。传统的基于累加器的结构须要大量的程序代码,以实现累加器和存储器之间的数据传输;在AVR单片机中,用32个通用工作寄存器代替累加器,从而可避开传统的累加器和存储器之间的数据传输造成的瓶颈现象。AVR单片机运用Harvard结构,在前一条指令执行的时候就取出现行的指令,然后以一个周期执行指令。在其它的CISC以
13、及类似的RISC结构的单片机中,外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12倍。AVR单片机是用一个周期执行一条指令的,它是在8位单片机中第一个真正的RISC结构的单片机。AVR单片机采纳低功耗,非挥发的CMOS工艺制造,内部分别集成Flash,EEPROM和SRAMT种不同性能和用途的存储器。除了可以通过SPI口和一般的编程器对AVR单片机的Flash程序存储器和EEPROM数据存储器进行编程外,绝大多数的AVR单片机还具有在线编程(ISP)的特点,这给学习和运用AVR单片机带来了极大的便利。其次章设计构思2.1 技术背景嵌入式系统及开发技术嵌入式系统是以应用为中心
14、,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、牢靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的应用可以说涵盖了国民经济建设的各个方面,并处于高速发展之中,其中在以下几个方面的发展尤其显著:系统机构处于困难:网络互联成为必定趋势:应用实时精简系统内核、算法来降低功耗和软硬件成本;系统供应友好的人机界面。所以,通过对嵌入式系统的基本概念、应用以及发展趋势的了解,可以看到,嵌入式系统的探讨是计算机学科综合各项理论和技术的集大成者。针对这样的要求,论文本设计是基于嵌入式系统的USB外设的开发。(一)嵌入式系统组成结构嵌入式系统由硬件和软件两部分组成,所以其分类可以从硬件
15、和软件两方面进行划分。嵌入式系统的核心是各种类型的嵌入式处理器,嵌入式处理器及通用处理器最大的不同点在于:嵌入式CPU大多工作在为特定用户群所特地设计的系统,它将通用CPU中很多板卡完成的任务集成到芯片内部,从而有利于嵌入式系统设计在设计时趋于小型化,同时还具有很高的效率和牢靠性。嵌入式处理器的体系结构经验了从ClSC(困难指令集)到RISC(精简指令集)的转变,位数有4位、8位、16位、32位逐步发展到64位。嵌入式处理器是嵌入式系统硬件部分的核心,近年来嵌入式微处理器的主要发展方向是小体积、高性能、低功耗。专业分工也越来越明显,出现了专业的IPC(IntelIeClUaIProPertyC
16、Ore学问产权供应商,如ARM、MIPS等,这些属于微处理器(MicroProcessorUnit,MPU),用于计算机通信领域的嵌入式DSP处理器(DigitalSignalProcessor,DSP)和高度集成的嵌入式片上系统(SystemOnChip,S0C)o目前几乎每一个半导体制造商都生产嵌入式处理器,并且越来越多的公司起先拥有自主的处理器的设计部门,流行的结构有30多个系列,其中以ARM、PowerPC、MIPS等运用得最为广泛。嵌入式软件是针对特定应用领域,基于某个固定的硬件平台,用来达到用户预期目标的计算机软件。为了嵌入式系统的开发更加便利和快捷,须要特地负责管理存储器安排、中
17、断管理、任务调度等功能的软件,这就是所谓的嵌入式系统。嵌入式系统是用来支持嵌入式应用的软件,是嵌入式系统中极为重要的组成部分,它通常包括及硬件相关的底层驱动程序、系统内核、设备驱动接口,通信协议、图形用户界面(GUl)等。及通用操作系统相比较,嵌入式操作系统在系统实时性、硬件依靠性、软件固化性以及应用专用性等方面,具有更加显明的特点。嵌入式系统依据应用场合分为两大类:一类是面对消费电子产品的非实时操作系统,如1.inUX,应用设备PDA、机顶盒等;另一类则是面对限制、通信等领域的实时操作系统,如VXworkS等。实时操作系统是具有实时性,能支持实时限制系统工作的操作系统,其首要任务是调度一切可
18、利用的资源完成实时限制任务;其次才着眼于提高系统的运用效率,其重要特点是通过调度来满意对于重要事务在规定时间内作出正确的响应。嵌入式系统中的软件除了嵌入式操作系统外还包括嵌入式应用软件,嵌入式应用软件和一般软件有肯定的区分,它不仅要求在精确性、平安性和稳定性等方面要满意实际应用的须要,并且还要尽可能地进行优化,以削减对系统资源的消耗,降低硬件成本。(二)嵌入式系统的开发流程嵌入式系统发展到今日,对应于各种微处理器的硬件平台般都是通用的、固定的和成熟的,这就大大削减了由硬件引入错误的机会。此外,由于嵌入式操作系统屏蔽了底层硬件的困难性,使得开发者通过操作系统供应的APl函数就可以完成大部分的工作
19、,因此大大简化了开发的过程,提高了系统的稳定性。嵌入式系统通常是一个资源受限的系统,因此干脆在嵌入式系统的硬件平台上编写软件比较困难,有时候甚至是不行能的。一般须要交叉开发环境(CrossDevelopmentEnvironment)的支持。嵌入式系统的交叉开发环境一般包括交叉编译器、交叉调试器和系统仿真器。这里般把进行交义编译的主机称为宿主机,也就是-般的通用计算机,而把程序实际的运行环境称为目标机,也就是嵌入式系统环境。交叉编译器用于在宿主机上生成能在目标机子上运行的代码,而交叉调试器和系统仿真器则用于在宿主机和目标机之间完成嵌入式软件的调试。嵌入式软件开发所采纳的编译为交叉编译。所谓交叉
20、编译就是在一个平台上生成可以在另个平台上执行的代码。编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU须要有相应的编译器,而交叉编译就犹如翻译一样,把相同的程序代码翻译称不同的CPU对应语言。要留意的是,编译器本身也是程序,也要在及之对应的某一个CPU平台上运行。嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不行少的一个环节,嵌入式软件开发过程中的交叉调试及通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器及被调试的程序往往运行在同一台计和机上,调试器是一个单独运行着的进程,它通过操作
21、系统供应的调试接口来限制被调试的进程。而在嵌入式软件开发中,调试时采纳的是在宿主机和目标机之间进行的交叉调试,调试器仍旧运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以限制、访问被调试进程,读取被调试进程的当前状态,并能够变更被调试进程的运行状态。嵌入式系统的交叉调试有多种方法,主要可分为软件方式和硬件方式两种。它们一般都具有如下一些典型特点:调试器和被调试进程运行在不同的机器上,调试器运行在PC机或者工作站上(宿主机),而被调试的进程则运行在各种专业调试板上(目标机):调试器通过某种通信方式(串
22、口、并口、网络、JTAG等)限制被调试进程:在目标机上一般会具备某种形式的调试代理,它负责及调试器共同协作完成对目标机上运行着的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备,也可能是某些特地的调试软件;目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍旧存在着宿主机和目标机的区分。本设计即采纳嵌入式系统的开发技术,借助宿主机(通用计和机)来编译出目标机的可执行代码,不再须要编程器,使设计简化。2.1.2AVR单片机的在线编程接口SPI同步串行接口SPI(SerialPeripheralI
23、nterface)允许在.,Tmega系列单片机和外设或其他AVR系列单片机之间高速同步数据传输。它是一个同步的串行通信总线,因此在SPl通信中的发送器和接收器必需运用相同的时钟,使接收器能同步监测数据位。SPI逻辑结构如图,其核心部件为8位移位寄存器和接收缓存器(两者合成为SPl数据寄存器),由分频器,选择器和时钟逻辑所组成的时钟信号发生器,以及SPl状态寄存器,SPI限制寄存器等部件。SPl利用B口的其次功能,将其中的PB7,PB6,PB5及PB4分别定义为SCK,MOSI,MISO和SSo图2-1SPI数据通信时的主-从机连接及数据传送方式对SPl主机数据寄存器写入数据以启动SPl时钟,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AVR单片机的USB在线下载器设计及实现论文 源代码 AVR 单片机 USB 在线 下载 设计 实现 论文

链接地址:https://www.desk33.com/p-1499497.html