![[硕士论文精品]基于jtag口的arm编程器研究与开发_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/72fcbcba-c74b-41ba-bbbd-af95dbe2148e/72fcbcba-c74b-41ba-bbbd-af95dbe2148e1.gif)
![[硕士论文精品]基于jtag口的arm编程器研究与开发_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/72fcbcba-c74b-41ba-bbbd-af95dbe2148e/72fcbcba-c74b-41ba-bbbd-af95dbe2148e2.gif)
![[硕士论文精品]基于jtag口的arm编程器研究与开发_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/72fcbcba-c74b-41ba-bbbd-af95dbe2148e/72fcbcba-c74b-41ba-bbbd-af95dbe2148e3.gif)
![[硕士论文精品]基于jtag口的arm编程器研究与开发_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/72fcbcba-c74b-41ba-bbbd-af95dbe2148e/72fcbcba-c74b-41ba-bbbd-af95dbe2148e4.gif)
![[硕士论文精品]基于jtag口的arm编程器研究与开发_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/72fcbcba-c74b-41ba-bbbd-af95dbe2148e/72fcbcba-c74b-41ba-bbbd-af95dbe2148e5.gif)
已阅读5页,还剩54页未读, 继续免费阅读
[硕士论文精品]基于jtag口的arm编程器研究与开发.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江工业大学硕士学位论文基于JTAG口的ARM编程器研究与开发摘要ARM微处理器的应用已经遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,占领了32位RISC微处理器75以上的市场份额。本文设计的基于JTAG接口的ARM编程器,以ARM微处理器作为CPU,利用其JTAG接口对FLASH在线编程的技术,给以ARM为内核的应用板数控系统硬件平台进行快速软件升级。在分析相关技术的基础上。给出了系统的总体设计方案,设计了系统的硬件和软件首先详细分析了JRAG技术、USB技术和MODEM通信原理。编程器以USB口和RS一232口作为通信接口,以JTAG接口作为调试接口和编程接口。其次,在分析编程器需求的基础上,给出了系统的总体设计方案,选择了主要的部件。系统硬件的核心部件采用了PHILIPSLPC2144ARM芯片,扩展了YRAG接口、USB接口、MODEM接口,同时又构造出了一个JTAG接口。该芯片具有SPI总线,采用与SPI兼容的外部FLASH作为存储器。编程器软件在ADS集成开发环境下开发调试。最后,对编程器技术实现上的不足作了分析和编程器设计的不完善之处作了总结,并对编程器的发展趋势作了探讨和展望。关键词在线编程,ARM编程器,JTAG,USB驱动,MODEM浙江工业大学硕士学位论文AI泓PROGR_U讧DN,ESTIGATIONANDDEVELOPERBASEDONJTAG如NTERFACEABSTRACTARMMICROPROCESSORHASBEENUSEDBYTHEINDUSTRYCONTROL、THEELECTRONICPRODUCT、THECA衄MLLNI酬ONS码LSEM、埘霸融SYSTEM、WIRELESSSYSTEMAND80ONWIDELY,SHARINGTHEOVER75PERCENTMARKETIN32BITSRISCMICROPROCESSORARMPROGRAMBASED011JTAGINTERFACEUSESARMMICROPROCESSORASCPUANDUPGRADESTHESOFTWAREOFTHEARMKERNELAPPLICATIONBOARDWITHTHEOMLINEPROGRAMMINGTECHNOLOGYOFWAGINTERFACEINTHISPAPERALTER缸1晒NGTHERELATEDTECHNIQUES,THISWORKGIVESTHEDESIGNOFTHE8YSTCMTHEHARDWAREANDTHESOFTWAREFIRSTLY,THISPAPERANALYZESTHEJTAGTECHNOLOGY、THEUSBTECHNOLOGYANDTHEEOMMUNIEATIOMPRINCIPLEOFMODEMTHEPROGRAMUSESUSB、RS232ASTHECOMMUNICATIONSINTERFACE,ANDUSESWAGASDEBUGGINGINTERFACE、PROGRAMMINGINTERFACESECONDLY,ONTHEBASEOFANALYZINGTHEPROGRAMREQUIREMENT,THISPAPERPRESENTSTHEWHOLEDESIGNOFTHESYSTEM,ANDCHOOSESTHEIMPORTANTCOMPONENTTHESYSTEMCPUISPHILIPSLPC2144,WHICHEXTENDSWAGINTERFACE、USBINTERFACE、MODEMINTERFACEWES自RUCTURCANOTHERJTAGINTERFACEONTHECHIPTHECHIPHASSPIBUS,WECHOOSETHEEXTERIORFIASHWHICHISCOMPATIBLEWITHSPIBUSASMEMORIZERTHESOFTWAREOFTHEPROGRAMHASBEENDEVELOPEDANDDEBUGGEDOILTHEPLATFORMOFADSARMDEVELOPERSUITELASTLY,WEANALYZETHEINSUFFICIENCYOFTECHNIQUEFEALIZATIOLAOFTHEPROGRAMANDTHEPOTENTIALFAULTINESSOFTHEPROGRAMDESIGN,ANDPROBEINTOANDVIEWTHEDEVELOPMENTCURRENTKEYWORDSONLINEPROGRAMMING,ARMPROGRAM,JTAG,USBDRIVER,MODEM浙江工业大学学位论文原创性声明本人郑重声明所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的研究成果。除文中已经加以标注引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的学位证书而使用过的材料。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律责任。作者签名徐象靛日期口稗,狷巧日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于L、保密口,在年解密后适用本授权书。2、不保密口。请在以上相应方框内打叫”作者签名徐未经日期沙律FZ月Z,日导师签名力勺F专细日期舛,;月。尹日浙江工业大学硕士学位论文第一章绪论11课题背景及意义ARM公司1991年成立于英国剑桥,自从1999年因移动电话火爆市场以来,AKM32位嵌入式PJSCREDUCEDINSTRUCTIONSETCORNPUTER处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位【I21。目前,采用ARM技术知识产权核的微处理器,邓通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场。随着集成电路的发展及信息时代的到来,在2001年基于ARM技术的微处理器应用就已经占据了32位RISC微处理器75以上的市场份额。ARM技术正在逐步渗入到我们生活的各方面。各种以ARM处理器为核心的产品也正在成为我们的生活中的必需品。ARM无论是在PDA,STB,DVD等消费类电子产品中,还是在GPS、航空勘探、测量等军方产品中都得到了广泛的应用。这些产品在使用过程中也经常会出现一些软件方面的问题,我们就必须对程序进行重新编程或者修改。目前在网上和各种资料上都没有查到设计成熟、完善的通过JTAG口直接对FLASH编程的ARM程器。因此对于以ARM为内核的应用板,通过JTAG口给其FLASH在线编程的编程器,将具有较大的实用价值。这个项目研究开发也具有很大的实际意义。ARM微处理器具有高性能、低功耗的优点。采用ARM微处理器开发机床数控系统不仅可以降低硬件成本、提高系统集成度、增强稳定性,而且相对于PC平台具有更多其它的优势。因此在数控机床领域,以ARM微处理器为硬件平台的数控系统也逐渐成为数控系统方面的一个新的研究领域。随着ARM微处理器在各个领域的应用,配套的软、硬件服务也需要逐渐完善起来。譬如,8位的单片机从开始应用到现在,软硬件配套服务齐全,提供了驱动各种硬件的软件包,以及相应的仿真器、烧录器等等。现在,ARM微处理器作为核心硬件应用于数控系统,同样,给数控系统软件升级也需要相应的配套服务,基于JTAG口的ARM编程器应运而生。因为在数控机床运行时难免会出现程序运行出错的问题或者软件需要更新的情况,这就需要修改原程序中的一些BUG、或者重新编写程序;随着设备功能的增加,就必须对有关程序进行升级,实现整个软件系统的升级。如何方便而且快速的实现软件的升级就是一个很实际而必须解决好的问题。浙江工业大学硕士学位论文通常对FLASH存储器编程一般有三种办法P一习1通过编程器编程,这是种传统的编程方法,在焊接FLASH之前使用专门的编程器将代码写入,然后将芯片安装到电路板上,这种方法简单而且速度快,但若是出现问题需要重新把芯片拔下来再写,这样容易造成芯片的损坏,只适合DIP或PLCC封装的芯片;2通过串口、网口等通讯接口在板编程,这需要能和PC机通讯的接口、隔离辅助电路等,增加了额外的设计和成本,而且还需要加载程序;3通过JTAO口在线编程,这只需要处理器带有JTAO口,就能通过JTAG口对HASH在线编写程序,现在的处理器一般都含JRAG接口,这种方法是HASH编程的趋势。对ARM的片内FLASH存储器编程通常有几种方法通过JTAG接口、通过在系统中编程即ISP使用UART通信或通过在应用编程IAP溉7】。ISP的一般做法是由上位机的软件通过串行通讯端12来控制改写内部存储器的存储内容。对于单片机来讲可以通过SPI或其他的串行接口接收上位机传来的数据并写入程序存储器中,但是ISP要利用片内的下载服务程序,这一般都必须先固化在片内,下载服务程序的存在带来一个问题就是单片机复位后是执行下载服务程序还是执行用户程序,这个问题必须解决在应用编程IAP时需要执行普通代码和IAP代码,对片内HASH编程时,因为处理器内含IAP代码,所以很方便,但是对于片外HASH就需解决普通代码和IAP代码的存放问题,为了解决FLASH中存放程序和LAP这一闯题,引进了代码重映射问题,编写重映射代码必须解决程序中相对偏移的问题,这给编程又带来了相应的问题嘲。因此通过JRAG无论对片外FLASH还是片内FLASH编程都是目前比较好的方法。目前,一般的ARM微控制器都带有JTAG接口,以下所提到的ARM都是带有NAG接口。宇宙电子有限公司需要开发基于JTAG口的ARM编程器,来给数控车床的数控系统控制器采用ARM作为CPL0进行软件升级,我有机会参与这个项目的开发。编程器主要功能要求1使用TAG接口直接对ARM内核的应用板迸行编程;2具有USB接口,可以从PC下载程序至编程器,并可以使用USB接口的电源;3具有RS232接口,可以连接调制解调器MODEM,可以远程或本地连接PC的串口,从PC下载程序至编程器4编程器内至少应具有512K的数据存储空间,用于保存下载的程序,至少可以保存的4个程序,用4个LED指示程序的状态,并有4个按键分别用于启动各个程序的编程。这个项目是产品的应用开发,需要同时考虑硬件和软件两方面的问题,而不是单方面的硬件或软件开发。因此在项目开发之前,就需要考虑好软硬件相结合,从项目整体着手,浙江工业大学硕士学位论文做到有条不紊结合这个编程器项目,对开发嵌入式系统作了研究和探讨,论述了利用JTAG口对FLASH在线编程、串口开发和USB设备开发的实现方法。12本课题国内外研究现状及发展趋势自1952年第一台数控机床诞生以来,已经历了六代数控系统F9L明。长期以来,国产数控为了打破国外数控系统的垄断,走了条基于PC平台的道路,希望以此作为突破口。可是多年过去,已有JTF,PCBASE数控系统运用于生产实际,但起色并不显著。目前在国内的数控机床领域,PAARM处理器为硬件平台的嵌入式数控系统也是刚刚开始起步【】嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系绀12J31嵌入式技术已经渗透到了各个领域,也给现代工业数控领域带来了一次新的技术革命。以ARM微处理器为硬件平台的嵌入式数控系统是集成了计算机数字控制技术、ARM技术、运动控制芯片技术及嵌入式操作系统技术等为一体的技术含量高的数控系统,是对低成本、高性能的数控系统研究的一个新的尝试。由于嵌入式数控系统还处在一个起步发展阶段,而且其本身的灵活性,使得数控系统的软件部分需要得到相应的维护和不断的更新。譬如,在数控机床加工过程中,经常需要加工不同的产品,针对不同的加工工序就可能修改程序或者重新编写程序。现在,随着社会的进步,生产过程更是日益加快。为了满足快速生产的需要,就必须快速修改或更新原程序。现在,嵌入式系统的硬件接口使用起来方便灵活,无需PC机通过专用而且复杂的连接设备、连接线来把编写程序;针对嵌入式系统的这些特点,开发出能方便的和嵌入式系统交流的配套服务设备具有很大的实用价值。目前,大部分ARM微处理器或ISP等都具有JTAGCI,而基于JTAGCI的ARM编程器能对采用ARM或DSP作为核的目标板数控系统的硬件平台通过JTAGL3直接进行操作对目标板的FLASH进行在线编程,操作方便而且简单。基于JTAGL2的ARM编程器,不仅功能齐全实用、操作方便简单,而且结构设计上小巧便于携带,能方便的为数控系统软件进行更新。这样,不仅满足了具体的需要,而且无需很大的成本,不像以前需要借助PC机,充分的体现了嵌入式技术的优点。基于JTAGL的ARM编程器不仅适用于给数控系统的软件升级,也可以适用于其它各种具有JTAGCI的设备。譬如现在很多消费电子产品如PDA、手机等高端掌上设备都采用ARM处理器为核,而且也使用了FLASH芯片。随着功能的增加、操作界面的升级,要为这些浙江工业大学硕士学位论文电子产品升级系统,也可以方便的利用ARM编程器把最新的软件写入到F鼬中来实现。随着ARM技术的应用、市场的需求,基于YRAGI的ARM编程器应用的范围将越来越广。这种编程器主要是利用JTAGEI对FLASH在线编程的技术目前,YRAGEL对FLASH在线编稷是针对具体的FLASH,而不能针对所有的FLASH如果硬件采用不同的FLASH存贮器,那么它就不能方便的对不同的FLASH编程了,否则需要重新修改写FLASH的内部程序,这就要涉及到重新对编程器的程序进行修改。因此要想实现所有的FLASH编程。通用性是一个必须考虑的问题。13论文主要内容及章节安排本文主要从基于JTAGL3的ARM编程器的整体方案、硬件系统设计、软件系统设计、相关技术等方面作了探讨。本文共分为六章,各章内容安排如下第1章综合论述了本文研究工作的背景和发展现状及趋势。第2章介绍了相关技术的原理。编程器主要使用了JTIAG口对FLASH的在线编程技术,对JTAGL3的工作原理必须清楚;编程器利用TUSB设备的功能和串口连接MODEM通信功能。第3章给出系统的整体设计方案。从功能需要和非功能需要讨论了编程器的CPU选择以及结构的设计,介绍了所选择的CPU。第4章设计系统硬件硬件是整个编程器的一个平台,根据方案设计,选择了ARM7TDMIARMTHUMB内核的PHUIPSLPC2144处理器,根据设计要求完成了硬件的电路设计。第5章给出系统软件部分的设计介绍了编程器软件设计及ADS集成环境,上位机软件设计USB口、RS232及MODEM通信软件的设计,并对程序的调试和测试做了相应的分析第6章;总结与展望。浙江二业大学硕士学位论文第二章相关技术21USB技术当今的计算机外部设备,都在追求高速度和高通用性为了满足用户的要求,USB总线技术应运而生。USBUNIVERSALSERIALBUS,通用串行总线是在19949由INTD,COMPAQ,MICROSOTT,IBM,DEC,NORTHERNTELCCOM以及日本NEC七家公司联合制订。自从1996年2月USB规范版本10发布。短短几年间USB不光成为了微机主板上的标准端口,而且还成为了所有微机外设与主机相连的标准协议之一这种连接较以往普通并口和串口的连接而言,主要豹优点是速度高、功耗低、支持即插即用PLUGPLAY和使用维护方便,USB在2000年已发展N20版本F习从20世纪90年代以来,有很多总线问世,其中最成功的是USB总线协议和IEEEL394总线协议EEL39懂突出的优点是速度高,但成本也高,只用于些专用系统和打印机、扫描仪等数据传输速度要求较高的设型阍USB总线的优势,使得它迅速地占领了计算机低、中速外部设备的市场,大有取代传统串、并口之势。211USB总线优势总体来看,USB优势体现在以下五个方面速度、总线拓扑体系、即插即用、低功耗、标准接口和外设1”叼。1USB的速度速度是总线协议的一个最重要指标。相对传统的串口,USB总线速度有了很大的提高。在USBL1版本中,USB支持两种总线数据传输率全速模式下的12MBPS和低速模式下的15MBPS。这两种模式可以同时存在于一个USB系统中,而引入低速模式主要是为了降低对速度要求不高的设备的成本,比如鼠标、键盘等等。这里所说的12M和15M只是总线在传输数据时使用的时钟频率,并不是有效数据的实际传输速度。实际上由于软件协议的限制,15M的低速设备所能达到的有效数据传输速度只在几K字节秒左右。为了进一步满足用户对速度的需求,USB20版本支持了更高的总线数据传输率高速模式下的480MBPS。2USB的总线拓扑体系浙江工业大学硕士学位论文与传统的串、并口不同,USB支持一个分层的菊花链结构如图21图21USB总线拓扑结构3THR4如图所示,整个USB总线拓扑体系由三个元素组成主机HOST、集线器HUB和设备NODEHUB是每个星形结构的中心,用于连接设备和主机在目前的PC应用中,PC就是主机HOST和根集线器ROOTHUB,用户可以将外设或附加的HUB与之相连,这些附加的HUB可以连接其他的外设以及下层HUB。在USBL1规范版本中,USB在一个拓扑网络中支持最多4个HUB层以及127个外设。3USB的即插即用所谓即插即用PLUGPLAY主要包含两个方面的内容一是热插拔,一是自动配置。热插拔抉定于物理层的实现,而自动配置则主要依靠软件协议。V籼DDG船图22USB电缆定义V酗13“MG船USB采用四线电缆来传输信号与电源,如图22所示。其中D和D一是一对差模的信号线,使用33V的电平,而VBUS和GND则提供TSV的电源。而USB正是在电缆和连接点的设计上做了处理,才使得热插拔产生的强电流可以被安全地吸收。至于自动配置,主要是指设备在插入HUB的下行端口后,能够被主机自动识别并进行浙江工业大学硕士学位论文信息交换,最终使设备在整个USB网络中可以正常工作这一功能主要依靠USB的总线枚举过程来实现主机或HUB依靠信号线上产生的电平上升沿判断设备的插入和设备的类型全速还是低速。并开始与设备通讯具体的步骤如下F19,20JA设备插入后自动复位并将自己的地址设置为O;B主机向地址为0的设备发送命令请求设备描述符;C设备发回设备描述符;D主机向地址为0的设备发送命令分配新地址不为0C设备存储新地址0主机向新分配地址的设备请求设备描述符;曲设备发回设备描述符;”主机请求配置和报告描述符I设备发回所有描述符;J总线枚举过程结束,设备开始正常工作。在这个过程中,主机会为设备分配包括地址、数据堆栈等一系列的资源,并装载相应的驱动程序。同样的,在设备拔出的过程中,PC和HUB也会检测到DF或D一上电平的变化由高到低,然后收回为设备分配的资源,并卸载相应的驱动程序。4USB的低功耗USB设备的供电方式有两种自供电和总线供电。所谓自供电,就是由设各自己提供电源,这类设备的功率不受USB协议的限制,设计时只需要将VBUS用电容连接到GND就可以了。所谓总线供电,设备完全从VBUS上取得电流,它们的功率受USB协议的限制,一般不能超过500MA,总线供电设备有两种工作状态一是正常工作状态,一是挂起状态。USB协议规定,如果总线供电设备在3MSPG没有进行总线操作,即总线处于空闲态,设备需要自动进入挂起状态,而挂起的设备从总线上吸收的电流必须小于500MA。总线供电设备在进入挂起状态以后,可以通过唤醒操作恢复到正常工作状态。5USB的标准接口和外设USB协议体系中的外设都是非常标准的,从底层的物理和电气特性,到上层的软件协议、数据通讯,都有明确的定义。USB将设备和主机都看作不同的对象,而这些对象又是由不同的模块和子模块组成的。就这样,USB根据设备和主机各部分的功能和实现的不同,将整个USB系统划分成了很多的层次和模块。USB首先根据设备功能的不同,将设备划分为不同的子类例如人机接口设备HID类,包括鼠标、键盘等与人的交互较多的设备;音频设备AUDIO类,包括音箱、话筒等;还有通讯设备COMMUNICATIONDEVICE类,大容量存储器MASSSTORAGE类,打印浙江工业大学硕士学位论文机PRINTER类和图象设备CIMAGING类等等。在不同的子类中,设备使用不同的通讯协议包括数据包的格式等等和不同的主机端驱动程序,而同一类的设备往往可以共享部分通讯协议和主机端的驱动程序,它们的对象模型和具体的功能模块是相似的。这样就在同一类设备中实现了软件和硬件资源的共享,大大降低了系统的开销,也减少了开发者的工作量。同时USB又将单一的USB设备或主机划分为不同的层次和模块,如图23。图中的黑箭头表示实际的数据流,灰箭头表示逻辑上的数据流。设备端虽然分成了总线接口层、设备层和功能层,但在一般的USB设备实现中,这3层仍然是一个整体,它们之间并没有很明确、标准的接口定义。主机端由于使用了大型的操作系统如WINDOWS、LINUX等等,又需要同时处理多个USB设备的接入,所以不论是在定义上,还是在具体的实现上,都分成了如图所示的主机控制器层、系统软件层和用户软件层。3层之间的接口是非常标准的,不能由开发者任意更改。HOH“柚州嘲呐_O她LRLFU_IL“LC11一RTI忙章引卡L删IU囊BDVILYIICU童SB矗卜1怒器IT_1嘲_卜_L_O_矗K_聃HQ82M“HMMMK_HH图23USB对象模型212USB通讯协议1USB数据流在USB总线传输过程中,实际的数据传输由端点和管道来完成。先介绍端点ENDPOINT和管道PIPE的概念。端点端点是USB设备中的实际物理单元,USB设备在主机看来就是端点的集合,主机通过端点与USB设备进行数据传输。每个端点在USB系统中,它有唯一的地址,由设备号和端点号给出,而且它有一定的特性传输方式、端点号、总线访问频率、带宽、数据浙江工业大学硕士学位论文包容量等等。根据使用可以把端点分为0号端点和非O号端点,O号端点是缺省控制端点,用于设备初始化,无需配置就可以使用,非0号端点需要设备配置后才能使用管道管道和端点一一对应,是主机的数据缓冲区和端点之问的连接;它是对主机和USB设备间通信流的抽象。按照管道中传输数据结构的不同,可以分为数据流管道其中的数据没有USB定义的结构和消息管道其中的数据具有USB定义的结构设备通过缺省控制管道获取描述USB设备勺信息设备类型配置、端点描述、接口描述等。只要USB设备连接上电后就可以使用0号端点和对应的缺省控制管道了,在总线枚举过程中,主机就是通过0号端点获得设备的各种信息。从逻辑上讲,USB数据的传输是通过管道进行的。USB系统软件通过缺省管道管理。设备设备驱动程序通过其它的管道来管理设备的功能接口,实现普通数据的交互。实际的数据传输过程是这样的设备驱动程序通过对USBD接DUSBDRIVERINTERFAC的调用,发出输入输出请求IRP,VOREQUESTPACKET;USB驱动程序接到请求后,调用HCD接口HOSTCONTROLLERDRIVERINTERFACE将IRP转化为USB的传输,一个IRP可以包含一个或多个USB传输;然后HCD将USB传输分解为总线操作,由主控制器以包的形式发出。所有的数据传输都是由主机开始的。2USB数据单元USB总线传输的基本单位是具有特定格式的信息包,可以分为三种类型令牌包TOKPACKET、数据包DATAPACKET和握手包HANHAKEPACKET令牌包定义了数据传输的类型,数据包中包含着传输的数据,握手包指明了数据接收是否成功。令牌包TOKONPACKET在USB系统中,只有主机才能发送令牌包。令牌包有7种IN输入、OUT输出、SETUP设置、SOFSTARTOFFRAME,帧起始、PILE前导、SPLIT分离、PINO,其中PRE、SPLIT、PING属于专用令牌。IN、OUT、SETUP和PING令牌包具有相同的格式,FLJPID包标识字段、ADDR地址字段、ENDP端点字段和CRC字段循环冗余检验字段组成。如图24。SOF令牌包由PID字段、帧号字段和CRC字段组成,如图25所示。主机以100MS00005MS全速和25USI00625US高速豹额定时间间隔发出SOF令牌包,无需接收方做出任何响应。浙江工业大学硕士学位论文8BITS7B鹣4BITS5BITSXLL_J圈2AIN,OUT、SETUP、PING令脾包的格式图25SOF令牌包的格式SPLRR令牌包仅用于主机和高速集线器且其下行端口上连接有低速,全速USB设备间的通信,使得主机可以在高速事务中开始一个低速全速事务。PRE令牌包是主机开始低速事务的前导包,表示其后将以低速传输信息包。数据包DAMPACKET根据PID的不同,数据包可以分为4种DATA0、DATAL、DATA2和MDATA。数据包由PID字段、数据字段和16位CRC字段组成,如图26。8BITSO1023BYTES16BITS飞二二二二二二I。I,一图26DATA数据包的格式握手包HANDSHAKEPACKET握手包仅包含8位的PID字段。USB定义了5种类型的握手包ACK确认数据接收成功。NAK表示设备不能接收或发送数据,无需主机干涉。STALL表示设备没有能力发送或接收数据,或不支持控制请求。NYET仅用于高速传输,通常作为PING协议的一部分由高速端点返回,在SPLIT事务中,当低速全速事务不能正确结束或集线器不能处理该SPLIT时,集线器也会返回NYET。ERR仅用于高速传输,只能作为SPLIT协议的一部分由高速集线器返回,表明低速全速总线上有一个错误。TK浙江工业大学硕士学位论文3USB数据传输为了满足需要,USB定义了4种传输方式控制传输、批传输、中断传输、同步传输,它们在传输速率、数据格式、传输方向、数据包容量等方面都有各自的特征。控制传输CONTROLTRANSFER控制传输的特点1通常用于配置命令状态等情形;2设置操作和状态操作的数据包具有USB定义的结构,因此控制传输只能通过消息管道进行3支持双向传输;4对于高速设备,允许数据包容量为8、16,32、“字节,对于低速设备只允许8字节;5有带宽保证。控制传输操作包含建立、数据、状态三个阶段,图27给出了建立操作的过程。USB设备如果接收到SETUP令牌包有错误,则忽略,且不作任何应答,如果接收SETUP包成功,则一定要接收其后的数据包,并向主机返回ACK握手包。T三OKENHANDSHAKE莲二鼬协回固批传输BULLTRANSFER批传输的特点1用于大量的、对时间和速率没有要求的数据传输;2数据USB定义的结构;3单向传输;4只能用于高、全速设备,全速端点允许数据包容量为8、16、32、“字节;高速端点只能为512字节;5无带宽保证批传输操作包含令牌、数据和握手三个阶段,如图28所示。对于输入操作,如果设备不能返回数据,那么必须发出NAK或STALL包。对于输出操作,如果设备不能接收数据,也要返回NAK或STAIJ,。浙江工业大学硕士学位论文圈28批操作过程岛HOSTCFTMT,OO,图29中断操作过程中断传输INTERRUPTTRANSFER中断传输的特点1用于少量、对服务周期有要求的数据传输,如鼠标等;2数据没有USB定义的结构;3只有输入方式;4对于高速设备,允许数据包容量必须小于等于1024字节,对于全速设备小于等于64字节,对于低速小于等于8字节;5有带宽保证。中断传输操作,如图29所示。同步传输ISOCHRONOUSTRANSFER同步传输的特点1用于大量的,速率恒定、对服务周期有要求的数据传输;2数据没有USB定义的结构;1L浙江工业大学硕士学位论文3单向传输;4对于高速设备,允许数据包容量必须小于等于1024字节,对于全速设备小于等于1023字节5有带宽保证。同步传输操作,如图210示口HOST口F“图210同步传输操作过程22JTAG技术JTAGJOIATTESTACTIONGROUP,联合测试行动小组是1985年制订的一种国际标准测试协议IEEE11491兼容,现在的高级器件都支持JTAG协议,如ARM、FPGA、DSP掣211。标注的JTAG是4线TMS测试模式选择,TCK测试时钟、TDI测试数据输入、TDO测试数据输出,详情请见表21JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAPTESTACCESSPORT,测试访问端口,通过专用的JTAG测试工具对器件内部节点进行测试阎。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISPINSYSTEMPROGRAMMABLE,在系统编程,对FLASH等器件进行在线编程。传统生产流程中,先对芯片进行预编程,再装到板上现在是先把器件焊接在电路板上,再用JTAGL21在线编程。前者一旦需要对芯片重新编程,则需要把芯片拔下来,不仅麻烦而且容易损坏芯片,而后者不会有这样的后顾之忧,重新编程也较方便。本课题研究的编程器就是利用JTAGI在线编程技术这一功能。要想了解JTAG的基本原理,必须了解边界扫描BOUNDARYSCAN的概念和TAPTESTACCESSPORT的工作原理。浙江工业大学硕士学位论文表21,IAG引脚说明引脚说明TCK输入移位时钟,TMS和TDI数据在TCK的上升沿被TESTCIOCK采样,数据在时钟下降沿输出到TIX朝蚺STESTMODESCLECO输入方式选择,1MS用于控制TAP状态机TDI数据输入。输入到指令寄存器M或数据寄存器DRTESTDAMIN的数据出现在TDI输入端,在丁CK上升沿被采样朝DO数据输出来自指令寄存器缄数据寄存器的数据TESTDATAOII【在时钟下降沿被移出到0221边界扫描在JTAG标准中,边界扫描BOUNDARYSCAN是一个很重要的概念边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元,因为这些移位寄存器单元都分布在芯片的边界上周围,所以被称为边界扫描寄存器BOUNDARYSCANREGISTERCELL。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元。可以实现对芯片输入输出信号的观察和控制。对于芯片的输入管脚,可以通过与之相连的边界扫描寄存器单元把信号数据加载倒该管脚中去;对于芯片的输出管脚,也可以通过与之相连的边界扫描寄存器“捕获”CAPTURE该管脚上的输出信号。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一个便捷的方式用以观测和控制所需要调试的芯片。另外,芯片输入输出管脚上的边界扫描移位寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链BOUNDARYSCANCHAIN。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处在调试状态下的芯片嘲。利用边界扫描链可以实现对芯片的输入输出进行观察和控制。如何来管理和使用这些边界扫描链呢对边界扫描链的控制主要是通过TAPTESTACCESSPORTCONTROLLER来完成的。下面来看看1“是如何工作222TAPTOSTACCESSPORT在MEE11491标准里面,寄存器被分为两大类数据寄存器DRDATAREGISTER和指令寄存器IRINSTRUCTIONREGISTER,边界扫描链是一种很重要的数据寄存器。边界扫描链用来实现对芯片的输入输出的观察和控制,而指令寄存器用来实现对数据寄存器的控浙江工业大学硕士学位论文制TAP是一个通用的端口,通过TAP可以访问芯片提供的数据寄存器DR和指令寄存器取。对整个TAP的控制是通I立TAPCONTROUER来完成的。TAPCONTROLLER的状态及各个状态之间的转变如图21L所示。共有16个状态,TAPCONTROLLER的状态基于TCK上升沿的TMS值而改变。下图中的叮和“】”表示TMS在TCK_E升沿的信号值。从TAPCONTROLLER状态框图可以看出TAPCONTROLLER共有16个状态,TAPCONTROLLER的状态基于TCK上升沿的TMS值而改变。TMS在TCK的上升沿有效,以后讲到TMS的信号改变,都表示是在TCK的上升沿的变化通过TAP,对指令寄存器瓜和数据寄存器DR的访问过程介绍如下1指令寄存器的访问系统上电,TAPCONTROLLER进入TESTLOGICRESET状态,然后依次进入RUNTESTADLE,SELECTDRSCAN,SELECTIRSCAN,CAPTUREIR,SHIFLIREXITLIR,UPDATEIR,最后回到RUNTESTIDLE状态。在CAPTUREIR状态中,一个特定的逻辑序列被加载到指令寄存器当中;然后进入到SHIFLIR状态。在SHIFTIR状态下,通过TCK的驱动,可以将一条特定的指令送到指令寄存器当中去。每条指令都将确定一条相关的数据寄存器。然后从SHIFLIR,EXITIIRUPDATEIR。在UPDATEIR状态,刚才输入到指令寄存器中的指令将用来更新指令寄存器。最后,进入到RUNTESTIDLE状态,指令生效,完成对指令寄存器的访问。10浙江工业大学硕士学位论文2数据寄存器的访问当前可以访问的数据寄存器由指令寄存器中的当前指令决定。要访问由刚才的指令选定的数据寄存器,需要以RUNTESTIDLE为起点。依次进入SELECTDRSCAN,CAPTMEDR,SHIFIDREXITIDR,UPDATEDR,最后回到RUNTESTIDLE状态在这个过程当中,被当前指令选定的数据寄存器会被连接在TDI和TDO之间。通过TDI和TDO,就可以将新的数据加载到数据寄存器当中去,同时也可以捕获数据寄存器中的数据,具体过程如下所述。在CAPTUREDR状态中,由TCK的驱动,芯片管脚上的输出信号会被捕获”到相应的边界扫描寄存器单元中去。这样,当前的数据寄存器当中就记录了芯片相应管脚上的输出信号。接下来从CAPTUREDR进入到SHIFTDR状态中去。在SHIFTDR状态中,由TCK驱动,在每一个时钟周期内,一位新的数据可以通过TDI串行输入到数据寄存器当中去,同时数据寄存器可以通过TDO串行输出一位先前捕获的数据。在经过与数据寄存器长度相同的时钟周期后,就可以完成新信号的输入和捕获数据的输出接下来通过EXITLDR状态进入到UPDATEDR状态。在11DA协DR状态中,数据寄存器中的新数据被加载到与数据寄存器的每个寄存器单元相连的芯片管脚上去最后,回到RUNTESTIDLE状态,完成对数据寄存器的访问。23MODEM通信23。LMODEM的基本工作原理通常所说的MODEM指的是56KBMODEM,也可以称之为普通MODEM。随着技术的发展,出现了很多专用的MODEM。如使用电话线路进行宽带通信的ISDNMODEM和ASDLMODEM,使用闭路电视电缆进行宽带通信的CABLEMODEM,应用于GSM网路的GSM嵌入MODEM,应用于PLC的PLC嵌入式MODEM等。所有这些MODEM从通信工作原理上讲都是相同的,只是各自在通信速率、接口标准等方面不同。以普通MODEM实现计算机之间的远程通信介绍MODEM的工作原理,如图212所示。图212MODEM实现计算机间远程通信示意图本地PC将要发送至远程PC的数据以二进制串行信号形式传给本地MODEM,本地浙江工业大学硕士学位论文MODEM将这些数据经过信号调制、协议转换等处理变换为模拟信号,再通过公共电话网或专有线路传输出去MODEM的这个处理过程,简称调制。远程MODEM接收来自线路上的模拟信号,按照特定的数据格式、协议标准转为数字信号,并通过串口传送给远程PC。MODEM的这一处理过程,简称解调阴调制和解调通常由专用的苍片来实现。根据硬件调制的特性不同,可分为3种调制方法;频移键控FSK此方法用于特殊的音频频率范围来区别发送数据和接收数据。如指定发送电平逻辑信号逻辑0为频率1070HZ,信号逻辑L为频率1270HZ。接收电平逻辑为信号逻辑0为频率2025HZ,信号逻辑L为频率2225HZ。相移键控PSK这种方法通过已调制载波的相位差异来表示不同的数字信号。如四相制是用四个不同的相位表示00、01、10、11四个二进制数。它能使300BITS的MODEM传送600BITS的数据信息,因此在不提高线路调制速率仅提高信号传输速率时很有意义相位幅度调制PAM采用相位调制和幅度调制结合的方法来区别数字信号0和I。这是一种较前两种都要发展的技术。它采用16个不同的相位和幅度电平,使L200BITS的MODEM可以传送19200BITS的数据信号。此种MODEM一般用于高速同步通信中。232MODERN的通信标准两个MODEM要实现相互间的通信,就必须遵循一定的通信标准,其中主要的一个标准就是传输协议。MODCM的传输协议包括调制协议MODULATIONPROTOCOLS、差错控制协议ERRORCONLROLPROTOCOLS、数据压缩协议DATACOMPRESSIONPROTOCOLS和文件传输协议闭。1调制协议MODEM在通信过程中最基本的功能是实现数字信号到模拟信号的调制”,还有模拟信号到数字信号的懈调”。为了实现这一功能,并且使各个厂家之间的产品能够互换使用,定义了调制协议的标准。2差错控制协议随着MODEM传输速率不断提高,电话线路上的噪声、电流的异常突变等都会造成数据传输的出错。差错控制协议要解决的就是如何在高速传输中保证数据的准确率。目前的差错控制协议存在着两个工业标准MNP4和V42。其中MNPMICROCOM浙江工业大学硕士学位论文NETWORKPROTOCOLS是MICROCOM公司制定的传输协议,包括了MNPLMNPL0。由于商业原因,MICROCOM目前只公布了MNIIMNP5。其中MNP4是目前被广泛使用的差错控制协议之一。而V42则是国际电信联盟制定的MNP4改良版,它包含了MNP4和LAPM两种控制算法。因此,一个使用V42协议的MODEM可以和一个只支持MNP4协议的MODEM建立无差错控制连接,而反之则不能。3数据压缩协议为了提高数据的传输量,缩短传输时间,现时大多数MODEM在传输时都会先对数据进行压缩。与差错控制协议相似,数据压缩协议也存在两个工业标准MNP5和V42BIS。MNP5采用了RUNLENGTH游程长度编码和HUFFMAN霍夫曼编码两种压缩算法,最大压缩比为21。而V42BIS采用了LEMPELZIV压缩技术,最大压缩比可达41这就是为什么说V42HIS比MNP5要快的原因。要注意的是,数据压缩协议是建立在差错控制协议的基础上,MNP5需要MNP4的支持,V42BIS也需要V42的支持。并且,虽然V42包含了MNP4。但V42BIS却不包含MNP5。4文件传输协议文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容常见的传输协议有以下几种ASCII这是最快的传输协议,但只能传送文本文件。XMODEM这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达996。YMODEM这是XMOD翻M的改良版,使用了1024位区段传送,速度比XMODCM要快。ZMODCMZMODCM采用了串流式STREAMING传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议。除以上几种外,还有IMODEM、JMODCM、BIMODEM、KERMIT、LYNX等协议,由于没有多数厂商支持,这里就略去不讲。24本章小结本章主要介绍了编程器研究与开发的相关技术和原理,包括USB通信技术、JTAG技浙江工业大学硕士学位论文术、MODEM通信原理和通信标准。USB总线有快速、即插即用等优势,相对于传统的串口来说使用更加方便。JTAG技术主要讲解了边界扫描技术、TAPCONTROLLER以及TAP对数据寄存器和指令寄存器的访问计算机远程通信有很多种方法可以实现,使用MODEM作为通信设备,通过公用电话冈或专用线路进行远程通信是其中广泛采用的一种方法。浙江工业大学硕士学位论文第三章系统总体设计方案31系统需求分析在系统设计之前,必须明确系统的各项功能要求、技术指标以及其它结构方面的要求等,这些信息决定了系统方案的选择和软硬件的设计开发本课题设计之初,对编程器的具体的使用作了详细的考虑,包括具体使用的环境、对操作人员的要求以及是否便于携带;同时也考虑到编程器的性价比等等在总结归纳各方面信息的基础上,概括出了设计编程器时需要考虑的两大方面的需求,即功能性需求和非功能性需求。311功能性需求进行系统设计,首先必须知道具体功能要求,再在此基础上推出最好的设计方案。本课题研究的编程器的功能要求如下通过USB本地下载目标程序到编程器中,而且需要USB接口给编程器提供电源;通过RS232接口连接MODEM远处下载目标程序到编程器中;利用JTAG口对FLASH进行在线编程的技术,把目标程序写入目标板中;编程器内至少应具有512K的数据存储空间,用于保存下载的程序,至少可以保存的4个程序;用LED指示每个程序的状态,并用按键分剐启动各个程序的编程。312非功能性需求不仅要让编程器满足功能方面的要求。而且还要尽量满足非功能方面的要求。非功能性需求主要有以下几个方面结构小巧,便于携带;操作简单,让非专业人员都能方便使用,而且无需复杂的连接线;性价比高模块化设计,稍作修改能用于其它系统。浙江工业大学硕士学位论文32系统设计方案321硬件器件选择硬件部分的元器件主要包括;主要芯片CPU,USB接口,RS232串口,JTAG接口,FLASH存储器,电平转换芯片,电压转换芯片,以及电阻、电容等等小器件只有确定了主要器件后,才能开始进行硬件电路的设计。这里只介绍主要器件的选型或选择。1CPU选型从编程器的要求和功能来看,编程器必须提供USB接口、KS232串口和JTAG接口;而且还要尽量减少成本,做到高性价比,为了满足多方面的要求,以及设计的方便简洁,选择了功能强大的ARM微处理器PHILII搭LPC2144。PHILIPSLPC214
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年机器人行业服务机器人市场前景分析报告
- 2025年智能健康行业智能健康监测设备市场前景分析研究报告
- 商场商品安全培训课件
- 2025年医疗健康行业智能医疗设备市场前景预测报告
- 压力容器安全培训证课件
- 含山县2025年安徽马鞍山含山县运漕镇招聘12人笔试历年参考题库附带答案详解
- 乌海市2025内蒙古乌海市直事业单位人才引进(第二批)笔试历年参考题库附带答案详解
- 云南省2025云南保山市市直事业单位引进高层次人才笔试历年参考题库附带答案详解
- 2025贵州亚疆建筑工程有限公司招聘4人笔试参考题库附带答案详解
- 2025福建上海浦东快递公司漳州市岗位招聘59人笔试参考题库附带答案详解
- 2025四川达州宣汉县国有资产管理服务中心县属国有企业招聘劳动合同职工26人笔试历年参考题库附带答案详解
- 2025年下半年杭州市上城区丁兰街道办事处招聘编外工作人员11人考试参考题库及答案解析
- 新教科版小学1-6年级科学需做实验目录
- GB/T 8492-2024一般用途耐热钢及合金铸件
- 主动防护网施工方案
- 三年级下册书法练习指导全册教案(湖南美术出版社)
- GB/T 17880.5-1999平头六角铆螺母
- 2023年陕西省直和西安市接收军转干部划分条件
- 客诉客退产品处理流程
- 自来水厂操作规程手册范本
- 中职实用美术设计基础 2基础教学课件
评论
0/150
提交评论