足球比分直播

微控制器片上调试单元设计与实现.pdf

返回
微控制器片上调试单元设计与实现.pdf_第1页
第1页 / 共72页
微控制器片上调试单元设计与实现.pdf_第2页
第2页 / 共72页
微控制器片上调试单元设计与实现.pdf_第3页
第3页 / 共72页
微控制器片上调试单元设计与实现.pdf_第4页
第4页 / 共72页
微控制器片上调试单元设计与实现.pdf_第5页
第5页 / 共72页
点击查看更多>>
资源描述:
上海大学硕士学位论文ABSTRACTAs the core part of many digital systems,the hil曲perance microcontrollerMCUhas pervaded into every aspect of our daily life.More and more functionalmodules have been embedded into the core of microcontroller,which on one sidelargely extends the utilization of embedded microcontrollers,and on the other hand,brings great challenge to the debugging of mierocontroUers and the development ofthe embedded system.SDZXMV-05 MCU is a high perance 8-bit microcontroller independentlydeveloped by Microelectronic RD Center of Shanghai University which can betotally compatible with the standard 805 1 family MCU in instruction sets.This paper addresses the features of this MCU,based on which the hardwareon-chip debug architecture of SCMPsingle-chip single·controlleraimed atSDZX·MV-05 MCU was presented,which has been then designed and implemented,therefore a powerful tool or for embedded system based on SDZXMV-05MCU has been presented.This onchip debugging module makes the functions such fits programbreakpoint,address breakpoint,singlestepping be possible and achievable.As soonas coming into debugging mode,the onchip debugging module immediately outputsthe contents of specified SFRsspecial function registerof MCU in series,according to which the real time state of MCU when it runs can be analyzed.Meanwhile,a debug enable interface is added to achieve freely changing betweenthe debugging mode and normal mode.The on--chip debugging system based on SDZX··MV-05 MCU has been verifiedon the FPGA developing plat from Altera Corporation,the results of whichshow that this system has made the running of SDZX-MV-05 MCU controllable andmonitorable.Lastly,two debugging architectures,namely distributed-type and centraltype,ⅥI上海大学硕士学位论文are presented in this paper,which are designed and implemented separately targetedto the realtime debugging function of SCMPsingle-chip multi·controllersystemand are verified successfully by EDA plat.This paper has made in-depth study on the architecture of MCU and theprinciple of digital circuit design.Moreover,this paper will become valuable both inthe points of scientific research and practical applications for the ideas,approaches,design tools,implementation of practical hardware system,and the problems andtheir solutions proposed in this paper.Keywords On-Chip Debug,FPGA Verification,SingleChip MultiCon仃ollerVIII上海大学硕士学位论文原创性声明本人声明所呈交的论文是本人在导师指导下进行的研究工作。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。签名触日期.鲨篁垒乡本论文使用授权说明本人完全了解上海大学有关保留、使用学位论文的规定,即学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容。保密的论文在解密后应遵守此规定签名锄导师签名{趁咝日期IIz柙噌,≥8上海大学硕士学位论文1.1课题背景第一章绪论高性能微控制器MCU是许多数字系统的核心部件,已经随着各种电子产品渗透到人类生活的各个方面。越来越多的功能模块集成于微控制器内部,这一方面极大地拓展了嵌入式微控制器的应用范围,但另一方面也给微控制器的调试和嵌入式系统的开发带来了巨大的挑战。目前,越来越多的微控制器生产厂商都开始在自己的MCU产品中集成了称为“片上调试支持单元On.Chip Debug Support moduleOCDS”,用于调试的功能模块,可以被用来代替或者是部分代替传统的软件仿真器和专用的硬件仿真器的功能。这种技术也被叫做“片上调试技术”【1捌。片上调试是指在控制器内部集成调试功能部件,直接支持软件的调试运行,是效率最高且不破坏程序运行现场的一种调试方式,因此得到广大应用开发人员的喜爱。随着半导体制造工艺的进步,Ic设计正向着SoCSystem.on Chip方向发展。SoC具有速度快、低功耗、高可靠性并能降低成本等优点。然而,将如此多不同的P核整合至一个单一系统芯片且保证它们协调工作,意味着更加复杂的工作。因此,针对这样一个庞大的电路进行检错和除错是一个十分艰巨的任务【31。SoC的主要特点就是包含微控制器以及能够完成特定功能所需要的嵌入式软件,所以在一个系统芯片SoC中,微控制器是系统中最为重要且复杂的电路,而且随着工艺技术的发展,在单芯片系统中集成多个控制器也变得越来越可行,因此要对这么复杂的电路进行功能验证与除错是相当费时费力的。在系统开发的过程中,调试已经变得越来越重要。大多数ICEIn.CircuitEmulator是板级的【4,51,分布在增强版本的微处理芯片周围,使得内部的信息,如寄存器,数据总线,程序指针和一定的控制信号通过输入/输入引脚常规版本芯片不存在引出到外部。板级的ICE的另外一个部分负责调试功能例如上海大学硕士学位论文上位机和微控制器芯片的接口,观察和记录芯片状态和控制芯片的运行等等。板级ICE方法主要有两方面的问题首先,额外的输入/输出引脚增加了增强版本微控制器的成本;其次,因为对于应将何种信息输出没有一个标准,所以对于板级的不同型号的微控制器不能复用。当没有可以观察内部信息的外部接口时,只能采用软件的方法。软件的执行至少需要两种模式检测模式和用户模式16,7】。需要在这种方法中,至少有两种工作模式监测模式和用户模式。用户的程序在用户模式下执行。当断点条件满足时,产生一个中断信号以暂停微控制器的运行,微控制器进入监测模式,执行在内存中的监测模式区域中保存的预设的调试程序,调试程序负责调试操作。软件方法有三个问题第一,以前系统的一些资源,例如中断矢量,内存空间,因为调试程序而被占有,导致以前可用的现在不可用;第二,软件方法可能严重地减缓调试进程;第三,同样的,软件中没有标准的方法。为了满足更高的集成度和全速调试的需求,一些现代的微控制器将ICE功能嵌入到微控制器芯片内。可以有两种方法实现第一种嵌入微控制器核的方法,这是从完全硬件实现的方法。大多数调试功能以硬件的形式实现,通过独立的I/O口存取例如在ARM7TDMI嵌入式微控制器【8】中使用IEEEll49.1 JTAG测试口【91,IBM的PowerPC微控制器使用RISCWhatch接El i101。优势是两方面的第一,软件是一致的,同样版本的程序可以用于调试和正常模式;第二,调试操作使用与正常微控制器执行不同的硬件资源,从而不会混淆用户程序。缺点是额外的输入/输出管脚如JTAG的TMS、TCLK、TDI、TDO等,并且必须采取相应的存取方法。完全从硬件考虑,对原有微控制器IP核的改动比较大,而且一般有特定的实现的模式如ARM的JTAG接口等,所以因此在小规模的嵌入式芯片中很少采用如一般的8位、16位控制器基本上没有特殊的片上调试支持。第二种方法是从软件的角度考虑,这种方法的特点是添加额外的命令用以使用基本的调试电路。这种方法实现起来代价比较低,但是对微控制器的观测程度也相应降低【111,大多数调试活动通过预设的调试子程序和合适地将调试指令嵌入到用户指令中实现。一个例子就是Intel386DX嵌入式微控制器,它的调2上海大学硕士学位论文试就是通过嵌入用户程序断点指令和设置调试寄存器调试命令寄存器和调试断点寄存器,通过常规的数据存取指令实现。优点就是调试可以视作简单的软件行为;调试过程就是执行特定的用户程序,就像执行正常的用户指令一样。缺点就是用户程序和断点程序通常是两个软件版本,且需要协议转换器。1.2 SDZX.MV-05微控制器简介SDZX.MV-05微控制器是上海大学微电子中心设计,具有自主知识产权的一款高性能8位嵌入式微控制器。该MCU的引脚和指令系统都同标准的8051MCU完全兼容。各部分组成框图如图1-1所示。Timer 3/4 Timer0,1Timer5 Timer24T8051 ALU么、CPU 乘;,器‘0f}l 模块SRAM256X8 ≮ UART¨寸钟,卜成&助率锗理模块 Interrupt一1卜、II幻U ≮ 酬洲I图1.1 SDZX.MV-05组成框图同时,该MCU还具有许多标准8051 MCU所不具有的增强功能,其特点如上海大学硕士学位论文F1每个机器周期是4个时钟周期51是12个时钟周期,可选CPU速度为24MHz28K字节的只读存储器;3内置晶振设计以连接外部4MHz的晶振;4256bytes的片上数据存储空间;5构建了1个独立的UART通信模块;610个中断源,两级优先级;7可编程看门狗电路;8支持睡眠/空闲模式,复位可以将芯片从睡眠模式恢复;93.3V供电;10内置PWM模块,可通过设置实现两路自定义输出和两路动态跟踪外部信号两种功能。且两路PWM具有独立和互补的工作模式;本文以MV-05核为目标对象,对该核添加了地址断点、SFR断点和SFR实时观察的功能,实现该微控制器内部运行状态的可观察性和运行过程的可控制性。1.3片上调试单元技术综述1.3.1片上调试的基本概念随着微控制器引脚不断增多、封装技术的不断改进以及时钟主频的不断提高,使得传统上面的采用仿真接头技术的ICEIn.circuit Emulation[12,13,141调试越来越困难。随着现代微控制器封装越来越表贴化,仿真探头的实现也越来越困难了,但是如果不能对微控制器实现探测,也就不能知道微控制器上正在执行的一切操作细节信息,从而也就不能实现测试与调试的目的。另一方面,统计数据表明,95%的调试过程中用户仅仅使用了简单断点,单步以及访问控制器资源内存和外设等一些运行控制方面的基本调试手段。因此,一个自然的发展趋势是4上海大学硕士学位论文将是跟踪和运行控制分开,并用一个专用的串口信号开放给用户,用户可以通过CPU内核的调试控制模块来实现停止/继续CPU的运行,并访问目标机上的各种资源包括寄存器内存和外设,这就是片上调试技术On-Chip Debug简称OCD[is】。片上调试是在控制器内部集成单独的调试支持硬件,由其控制目标系统的运行以及观察和修改目标系统状态,并通过专用的调试接口与调试软件交互的一种调试方式。这种调试方法将调试协议与通信协议分离,调试协议基于片上的硬件调试支持逻辑的特性和调试接口的特性,而通信协议则可以非常灵活,可以根据需要设计各种不同的通信接口以提高调试速度和效率。一般通过调试协议转换器进行调试协议与通信协议之间的信号转换。1.3.2片上调试技术的分类和优缺点片上调试的硬件设计有一个准则,即海森伯格准则【16】,也叫做“非侵入性’’设计准则。意思就是片上调试支持的硬件逻辑在实现调试功能的时候,必须保持控制器的运行现场不被破坏,程序运行的有用信息不会丢失。这个准则也是保证调试正确性的基本原则。因此,片上调试技术需要控制器有特殊的硬件支持调试,能够由硬件进行系统状态的切换,并且提供开发者方便高效的操作接口。在过去十几年来,微控制器和微控制生产商都提供了独立于CPU工作的片上调试功能。目前比较常见的片上调试技术有ARM公司的Embedded ICE,Motorola公司的BDM[171和Infineon公司的OCDS调试技术‘吲等。它们由于控制器结构的差异,硬件支持的程度不同,接口的不同而差别很大,但是都具有片上调试的基本特征。德州仪器、Freescale和First Silicon Solution等公司则进一步扩展了片上调试技术。TI公司设计的一种嵌入式仿真器可使PC主机通过标准JTAG连接访问为微控制器内部,在TI的MSP430低功耗微控制器中,嵌入在硬件中的仿真器内核负责分析数据、地址和时钟信号。用户只需要从PC主机连接一条JTAG电缆到5上海大学硕士学位论文目标MSP430系统。目标设计不需要特殊电路,只要提供一个连接到MSP430控制器的JTAG连接器就可以了。Frecscale公司在HCS08和HCSl2控制器系列中增加了一个称为DBG的模块,从而增加了这些控制器的调试能力。支持DBG的控制器和主机连接需要用一个4线接口电源、地、复位和双向调试连接。由于DBG电路提供少量缓冲存储器,因此在大多数情况下,缓冲期捕获的仅仅是程序流的变化。这些以地址形式保存下来的地址可以重建程序流。DBG逻辑还包括两个16位比较器,可根据地址、数据和其他信息以9种不同模式触发缓冲器。Freescale和TI公司的器件所提供的增强片上调试能力可满足许多开发人员的需要。但对于片上系统SoC来说,可能需要以不同的方式来实现调试工具。当SoC设计中包括内核控制器和外设时,外部引脚就不再能放映出器件中出现的所有情况,同时,与特定微处理内核相关的任何调试逻辑也无法了解关于SOC集成外设或其他控制器的信息。为简化SoC设计的调试和测试,FSS公司提供了三种嵌入式工具组成的工具包一个调试模块、一个总线分析仪和一个逻辑分析仪;该公司将这些工具都称为片上测试器。当系统需要能够跟踪大量数据总线状态和内部操作相关的数据时,SoC必须提供较多的并行信号。特殊的FSS探头连接SoC到PC主机,用来传输这些信息,探头还控制JTAG信号。片上调试技术的实现包含两个方面的内容。其一是调试部件对控制器运行的可控制性,其二则是调试部件提供全系统状态的可观察性。前者让调试工具可以根据需要控制目标系统的运行,使得开发人员可以在任何需要的地方进行详细的观察和分析;后者则使得开发人员可以观察到程序在目标系统上运行的所有状态和数据。1.4可编程系统简介随着微电子设计与工艺的发展,数字集成电路超大规模集成电路逐步发展到今天的专用集成电路ASIC。ASIC的出现降低了产品的生产成本,提高了6上海大学硕士学位论文系统的可靠性,缩小了设计的物理尺寸,推动了数字化进程。但是ASIC设计周期长,改版投资大,灵活性等缺陷制约其应用范围。这时,可编程逻辑器件作为一种更灵活的设计方法而出现【1 91。通过可编程逻辑器件,实验室就能设计、更改大规模数字逻辑。可编程逻辑器件随着微电子制造工艺的进步取得了长足的进步。今天发展成为已经可以完成超大规模的复杂组合逻辑与时序逻辑的复杂可编程逻辑器件CPLD和现场可编程逻辑器件FPGA。PLD与FPGA两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。PLD适合用于设计译码等复杂组合逻辑。FPGA的制造工艺确定了FPGA芯片中包含的LUTLook.Up.Table查找表和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。 现场可编程门阵列Fieldprogrammable gate array,FPGA是bit处理单元的阵列,它的功能和互连可以在制造后再编程[2们。大多数传统的FPGA使用小的查找表作为可编程单元。通过可编程互连连接查找表,如图1.2所示,互连部分占FPGA单元的大多数面积。出于面积使用效率考虑,很多FPGA器件商使用四输入查找表。FPGA系统的实现与优点FPGA填补了数字系统设计的空白,是对微控制器的补充。尽管微控制器能用于很多场合,但是必须依靠软件才能实现其功能,因此比起定制芯片,运行速度一般比较慢而且功耗大。同样,FPGA也不是定制芯片,因此,它们的缺点是无法像那些为某一应用而设计的定制芯片那样擅长完成特定功能。FPGA一般比定制逻辑芯片的运行速度慢而且功耗大,价格也更昂贵。但是,FPGA的一些特点弥补了定制芯片的一些不足,例如在完成设计后,可以立即将程序编入FPGA内,所以可以立即对所完成的验证进行验证;7
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播