基于SOPC的M8051调试器设计及系统测试

发布者:诗意世界最新更新时间:2023-10-20 来源: elecfans关键字:SOPC  M8051  调试器  系统测试 手机看文章 扫描二维码
随时随地手机看文章

嵌入式系统开发过程中,上位机通过调试器完成对目标机软件的开发、下载、调试。早期的调试器与上位机之间通过串口或并口通信,存在速度慢、通用性差等缺陷。相比之下,USB接口优势明显,具备速度快、易插拔、支持多个调试器同时工作等优势。但目前的USB接口调试器一般采用USB芯片和可编程器件结合的实现方式,成本和复杂度较高。


M8051是Mentor公司的嵌入式8051处理器,凭借良好的性能和功耗控制,占据了大量的SoC(System on a Chip)市场。该处理器集成了OCI(On-Chip Instrumentation,片上调试单元)来完成程序的调试。FS2公司设计的System Navigator是一款针对M8051的调试器,但该产品价格过于昂贵。本文通过研究M8051的调试结构,设计一款基于SOPC(System on a Programmable Chip)的M8051调试器,实现对M8051核心的高效、低成本的开发。


1 M8051片上调试技术的研究

1.1 典型的OCD调试系统

目前,嵌入式调试领域的趋势是在MCU上集成一个专门用于调试的功能模块,并且提供一个专用接口开放给用户。用户通过该调试控制模块来实现停止/继续CPU的运行,并访问目标机上的各种资源,这就是OCD(On-Chip Debug,片上调试)技术。同时,JTAG作为应用最广泛的系统级测试技术,控制逻辑简单、实现方便,常作为片上调试模块的测试接口。

一个完整的OCD调试系统通常包括调试主机、调试协议转换器(或调试器)、目标机三个部分。调试主机运行调试软件,并通过调试器与目标机相连;调试器将主机发出的调试命令和数据转换为基于目标机OCD模块和JTAG接口的调试数据;目标机的OCD模块接收到调试器发来的JTA G数据,完成对CPU的逻辑控制。典型的OCD调试系统如图1所示。

1.2 M8051的片上调试结构

M8051核心的调试功能由其片上的OCI模块完成。OCI模块通过JTAG口与外部通信,其实现完全符合IEEE-1149.1。具体来说,TAP控制器接收一系列的JTAG边界扫描链读写时序,完成对扫描链上的IR和DR的读写。OCI模块内部的TraCC模块、Trigger模块和Dcbug模块根据IR和DR的内容,产生相应的控制信号给处理器,达到控制M8051处理器的运行或者读取处理器信息的目的。以上就是OCI模块的基本调试原理。M805 1OCI模块的体系结构如图2所示。

基于SOPC的M8051调试器设计及系统测试

2 基于SOPC的M8051调试器的设计

2.1 调试系统的总体设计

在研究了OCD测试技术和M8051片上调试结构OCI的基础上,本文提出了M8051调试系统的总体设计方案。该方案通过USB接口与上位机通信,调试器主体由一个FPGA芯片实现。其总体结构图如图3所示。

基于SOPC的M8051调试器设计及系统测试

上位机运行调试软件,将编译器的各种调试操作,通过调试接口函数转化为各种调试协议数据;再将这些调试协议数据通过底层通信模块发送给M8051调试器。本设计的底层通信接口是USB接口。编译器选择应用最为广泛的且具备开放调试接口函数AGDI的Keil C51编译器。

M8051调试器本身主要由USB控制器模块、8051处理器和JTAG控制器模块组成。USH控制器在8051处理器的控制下接收来自上位机的调试协议数据;JTAG控制器模块负责将这些调试协议数据转化为基于OCI结构的底层调试命令集,并以JTAG边界扫描链读写时序发送出来。

M8051目标机通过OCI模块的JTAG接口,接收M8051调试器发送的底层调试命令,完成对M8051目标机的调试,并将返回值通过JTAG接口送回M8051调试器。


2.2 调试器的硬件设计

目前,市场上流行的基于USB接口的调试器,硬件一般以一个USB2.0控制芯片为核心,完成数据通信和调试协议数据解析,同时配置一个可编程器件实现JTAG边界扫描链读写时序。本文出于成本和系统复杂度的考虑,并结合FPGA的优势,创新地使用单独的FPGA芯片实现调试器的全部功能,简化电路板和系统设计,降低系统成本。硬件结构如图4所示。

基于SOPC的M8051调试器设计及系统测试

调试器的主要硬件包括:Xilinx公司高性价比的Spartan-6 FPGA,Flash配置芯片XCF04S,缓冲器芯片74LCX245作为JTAG接口的电气隔离及电源转换芯片。USB控制器、8051处理器、片内SRAM和JTAG控制器等功能模块均以IP核的彤式在FPGA上实现。USB控制器采用Mentor公司的MUSB全速(12 Mhps)控制器IP核,8051处理器采用Mcntor公司的M8051EW IP核。系统上电后,配置芯片自动完成对FPGA的配置,保证系统的非易失性。

JTAG控制器模块是本系统硬件部分的核心模块。本文中JTAG控制器是基于M8051的OCI模块实现的,主要任务接收调试固件发送过来的调试协议数据,转化为OCI模块可识别的底层调试命令集,具体说就是一系列对于OCI模块的IR和DR的读写操作;再使用JTAG边界扫描链读写时序将这些底层命令发送给目标机。所以JTAG控制器模块分为两个部分:调试命令解析模块和JTAG边界扫描时序生成模块。JTAG控制器的结构如图5所示。

基于SOPC的M8051调试器设计及系统测试

以系统运行控制操作中的Halt8051操作为例,由OCI的结构可知,该操作由向OCI模块的IR中写入0x69来实现。在上位机中该操作的调试协议数据为0x0069。

调试器固件在接收到来自上位机的调试协议数据后,将0x00和0x69分别写入调试命令解析模块的命令寄存器和数据寄存器。调试命令解析模块将该调试协议数据解析为向OCI的IR中写入0x69,即JTAG_CMD=IR,JTAG_Din=0x69;再由JTAG边界扫描时序生成模块产牛向IR写入0x69的JTAG时序。

与传统的软件方法相比,由FPGA硬件实现调试命令解析和JTAG边界扫描时序牛成,不但减轻了调试器上的8051处理器的负担,而且有效提高了JTAG调试速度。

2.3 调试系统的软件设计

本文中的软件设计分为两部分:PC端调试软件和调试器固件。两部分通过USB接口进行交互。具体的软件构架如图6所示。

基于SOPC的M8051调试器设计及系统测试

2.3.1 PC端软件设计

PC端调试软件由Keil C51编译器、AGDI调试接口函数和USB驱动程序三部分组成。通用的AGDI调试接口函数是独立于处理器体系结构的函数集,它将上层调试操作分别转化为独立于处理器的调试命令。一般来说,AGDI捌试接口函数实现的调试操作有以下儿类:系统运行控制、寄存器读写、存储器读写操作以及断点操作。

AGDI调试接口函数设计是PC端软件设计的重点。主要工作是在通用AGDI接口函数的基础上,实现针对M8051处理器的调试接口,将来自编译器的调试操作转换为针对M8051的调试协议数据。本文中调试协议数据采用调试命令加上调试数据的形式。以系统运行控制操作中的Halt80 51操作为例:AGDI调试接口函数将Halt8051操作转化为基于M8051处理器的调试协议数据0x0069,即调试命令0x00和调试数据0x69。最后由USB驱动层将调试协议数据0x0069打包发送给调试器。

2.3.2 调试器固件设计

调试器固件的功能分成两个方面:一方面是下行数据发送,在完成USB设备的枚举过程后,接收USB接口的调试协议数据,解析得到的调试命令和调试数据,再将调试命令和调试数据分别写入JTAG控制器模块的命令寄存器和数据寄存器;另一方面监控目标机的返回信息,并将返回信息通过USB接口发送给调试主机。

本文中的软件部分主要负责调试协议数据的生成和传送,具体的调试命令解析和JTAG边界扫描时序的产生,全部由硬件实现,保证了调试效率的最大化。


3 M8051调试系统的测试

3.1 测试环境

测试环境包括软件环境和硬件环境。软件环境包括Kell C51编译器和Xilinx ISE Design Suite;硬件环境包括PC机、本文开发的调试器电路板和基于M8051处理器的目标板。测试环境如图7所示。

基于SOPC的M8051调试器设计及系统测试

3.2 调试系统的功能测试

功能测试的项目主要包括:涮试开始/停止、单步运行、断点、读写寄存器、渎写存储器等。经测试,以上调试操作稳定可靠。以断点操作为例,断点操作是软件调试过程中最重要的手段之一,本文断点功能经测试完全可靠。测试结果如图8所示。CPU从PC指针为零处开始执行,到达断点地址0x0006处停止执行,并将处理器的最新状态更新到用户界面上。

基于SOPC的M8051调试器设计及系统测试

3.3 调试器的主要参数

本调试器采用USB2.0全速(12 Mbps)接口,调试器内部M8051处理器主频为48 MHz,JTAG协议数据收发速度达到8 Mbps。采用Spartan-6 xc6slx16 FPGA芯片实现,FPGA资源使用情况如下:可配置逻辑单元SlICe1439个,占该资源总数的63%;嵌入式存储模块BLOCKRAM 144 KB,占该资源总数的14%;I/O接口数24个,占该资源总数的13%;时钟管理模块DCM 1个,占该资源总数的25%。


结语

本文给出的基于USB接口、以单一FPGA芯片实现的M8051嵌入式渊试器系统,不仅突破了传统调试器的速度瓶颈,而且大大简化了系统的复杂度。经测试,本调试器系统能够高效地完成M8051处理器的软件开发,是一种易于被开发者接受的高性价比、实用的调试器方案。


关键字:SOPC  M8051  调试器  系统测试 引用地址:基于SOPC的M8051调试器设计及系统测试

上一篇:8051微控制器引脚说明与基本电路
下一篇:8051微控制器的基础知识

推荐阅读最新更新时间:2024-10-14 12:01

通用光伏系统测试平台的设计
    摘要:为了统一光伏系统测试方案,避免项目管理混乱和不必要的重复设计等问题,提出了一种通用光伏系统测试平台,制定了光伏系统与PC软件端数据交互协议,实现了用来获取常用光伏系统测试参数及具有良好扩张性的通用用户监控界面。测试结果表明,该测试平台很好地解决了上述问题,从而缩短了系统设计周期。 关键词:光伏系统;通用测试平台;通信协议;用户监控界面     光伏系统是利用太阳电池组件和其他辅助设备将太阳能转换成电能并进行一定应用的系统。近来,各种新型的光伏系统被不断设计投产。为优化和提高系统性能和稳定性,工程师在设计这些系统的过程中需要额外设计系统测试方案对其性能和实际运行效果进行测试,如采集和记录充放电效率、运行功率、实时太阳能
[嵌入式]
机车测试系统中的转速测量
在工业生产和试验过程中,经常会遇到各种 转速 的测量和控制问题。多数情况下可以通过电磁或光电等方法,将转速测量转变为频率测量。测量频率的方法有很多,不同的方法各有不同的适用范围。近年来随着电子技术的迅速发展,工业测控设备不断更新,频率测量的方法和设备也有新的进展。在实际应用中,选择不同的技术设计方案,效果可能相差甚远。本文以机车试验床测试系统中的转速测量为例,说明如果能具体分析,对症下药,把方案设计和具体的技术设计工作做好做细,则采用简单的方法、挖掘已有测控设备的潜力,也能取得令人满意的效果。 1 试验系统概况及对转速测量的要求 机车试验床测试系统是为了解决列车的离线试验问题(进行机车维护和出厂试验时均需进行试验)
[测试测量]
Realme 2 Pro测试Android9.0操作系统
集微网消息,作为去年刚诞生的手机品牌,Realme总共推出了Realme1/2/2Pro/C1/U1在内的五款产品,凭借优秀的外观设计,低廉的价格,Realme的手机在印度市场大受消费者欢迎,由于Realme早前是属于OPPO的子品牌,后来才独立,有网友担心它会不会染上OPPO万年不给手机更新操作系统的习性了。 对此Realme官方出来解答了这部分网友的疑惑,官方宣布Realme1与Realme2将会升级到最新的Android9.0操作系统,请用户无须担心。 虽然官方没有提及到Realme2 Pro、Realme C1与Realme U1是否能够升级到最新的Android9.0操作系统,但是从它们比Realme1和Rea
[手机便携]
Realme 2 Pro<font color='red'>测试</font>Android9.0操作<font color='red'>系统</font>
基于PXI架构打造低成本半导体测试系统
  在摩尔定律的发展极限之下,产生更多装置连结与资料分析的需求。也由于物联网与智慧手机的发展,使得类比与RF讯号更显得重要。未来的讯号,将不再以纯类比讯号为主,而是更为复杂的类比与RF混合讯号,这使得传统ATE(半导体自动化测试设备)系统出现了瓶颈。由于混合讯号的测试需求不断提升,ATE系统面对类比与RF讯号却显得力不从心。这使得相关业者也必须开始全盘考量新一代的半导体测试设备。   不同于传统ATE的封闭式架构,STS具有开放式的模组化架构,可协助工程师运用PXI仪器。   对此,美商国家仪器提供了更低成本的半导体测试系统(Semiconductor Test System;STS),协助工程师和科学家克服半导体测试的工程挑战。
[测试测量]
力科今天发布SierraNet M408协议测试系统
Santa Clara, CA, March 6, 2012 – 加州Santa Clara,2012年3月6日-力科公司,全球协议测试解决方案的领导者,今天发布SierraNet M408协议测试系统。这是一套先进、高性价比的10 Gbps 和40 Gbps 以太网协议分析平台。它包括Fibre Channel over Ethernet (FCoE)和iSCSI等应用。基于力科全新的高级分析平台,SierraNet能够分析以太网总线活动,为用户识别协议冲突、错误恢复、性能和其他链接条件。SierraNet将是第一个基于硬件的10 Gbps 和40 Gbps以太网协议分析仪。 虚拟化、云计算和网络融合等数据中心的需求推动更高速
[测试测量]
基于 LabVIEW 的油滴电量测试系统的数据库访问
  0 引言   随着测试技术与计算机技术日益紧密的结合,测试测量领域得到了空前的发展。尤其是基于LabVIEW的新一代虚拟仪器测试系统,充分利用了计算机数据处理速度快、控制能力强等优点,使测试系统在数据采集、传送、处理、显示及存储等方面突破了以往单一的仪器仪表的限制。LabVIEW 是一个划时代的图形化编程系统,提供一种全新的程序设计方法,它对被称为 虚拟仪器 的软件对象进行图形化的组合操作,其强大的数据分析功能可在数据采集、测试分析中起到至关重要的作用,这就涉及到对大量数据的存储、查询、调用等功能。   而大量数据的管理又需要通过数据库来实现,但是Lab-VIEW 本身并不具备数据库访问功能,因此需要其他辅助的方法来实现。本文
[测试测量]
基于 LabVIEW 的油滴电量<font color='red'>测试</font><font color='red'>系统</font>的数据库访问
水泵测试系统
水泵测试系统 系统概述 该系统控制的主要设备为12台水泵,每6台一组,共两组,12台水泵可同时工作,长时间运行,主要用来检测水泵的可靠性。本系统在设计时充分考虑到可扩展性、可维护性、高可靠性、节约能源,保证一次性投资,长期受益。 试验原理 1、本试验的目的在于考察水泵的长期失效模式,如磨损、性能恶化、漏水等。 2、根据产品特性要求,水泵每天连续、无故障、在密闭水箱循环系统开始至试验终结,介质为清水或冷却液,水箱上端可适当加入磨粒等,温度和压力可以调节。 3、水泵的启动、运行、停止时间和转速可调,尽可能模拟汽车发动机的实际工作状态,如启动延时时间、不同转速的运转时间、停止延时时间。 4、调节进出口压力,使水泵排水
[模拟电子]
基于虚拟仪器技术的激光接收器测试系统
本测试系统通过先进的虚拟仪器技术和LabVIEW 7.0编程,实现了对传统光学测试仪器的控制并利用信号源和NI PCI-6104E多功能采集卡进行激光接收器模拟仿真;该系统能实时地采集和分析相关测试数据,并能显示、保存和打印最终测试结果。由于使用选进的LabVIEW编程开发软件和虚拟仪器技术,该系统成为能自动化检测激光接收器各项参数的综合测试系统。实际的测试结果证明,这种方法实用、方便,测量精度高。 下载文章
[应用]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved