当前位置:首页 > 嵌入式 > 嵌入式教程
[导读] 基于SOPC的M8051嵌入式调试器设计

摘要:调试器嵌入式系统软件开发的重要工具。本文设计了一款基于USB接口并以SOPC方式实现的M8051嵌入式调试器。通过USB通信接口完成调试器与上位机的通信,保证较高的调试速度;以单独的FPGA芯片实现调试器的USB接口、调试命令解析以及JTAG时序生成等功能模块,简化系统设计的复杂度。经测试,该调试系统性能稳定、可靠。
关键词:JTAG;USB2.0;OCI;M8051调试器;SOPC;FPGA

引言
    在嵌入式系统开发过程中,上位机通过调试器完成对目标机软件的开发、下载、调试。早期的调试器与上位机之间通过串口或并口通信,存在速度慢、通用性差等缺陷。相比之下,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所示。



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


    上位机运行调试软件,将编译器的各种调试操作,通过调试接口函数转化为各种调试协议数据;再将这些调试协议数据通过底层通信模块发送给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所示。


    调试器的主要硬件包括: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所示。


    以系统运行控制操作中的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所示。


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所示。


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


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处理器的软件开发,是一种易于被开发者接受的高性价比、实用的调试器方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪

英国英泰力能的燃料电池是可产业化的产品解决方案 英国首个专为乘用车市场开发的燃料电池系统 在 157kW 功率下,此燃料电池比乘用车的其他发动机更为强大 &...

关键字: ENERGY INTELLIGENT 氢燃料电池 BSP

深爱人才,共赴"芯"程 深圳2024年5月15日 /美通社/ -- 5月11日,深圳国资国企"博士人才荟"半导体与集成电路产业专场活动在深圳市重投天科半导体有限公司(简...

关键字: 半导体 集成电路产业 BSP 人工智能

武汉2024年5月15日 /美通社/ -- 北京时间4月26日-5月4日,2024 VEX 机器人世界锦标赛于美国得克萨斯州达拉斯市举办。本届 VEX 世锦赛为期九天,设有 VIQRC 小学组/初中组、V5RC 初中组/...

关键字: 机器人 BSP RC POWERED

上海2024年5月15日 /美通社/ -- 由生成式人工智能(AI)驱动的临床阶段生物医药科技公司英矽智能宣布,与复星医药(600196.SH;02196.HK)合作开发的潜在"全球首创"候选药物IS...

关键字: ISM BSP PC 人工智能

上海2024年5月13日 /美通社/ -- 5月8日,浦东新区国资委组织陆家嘴集团等9家区属企业与立邦中国召开合作交流会,旨在贯彻落实浦东新区区委、区政府工作要求,进一步放大进博会溢出带动效应,持续扩大区属企业与进博会重...

关键字: BSP 数字化 自动化立体仓库 智慧园区

上海2024年5月13日 /美通社/ -- 在数字化时代,高效的税务管理和ERP系统成为企业发展的关键。为了满足这一需求商应信息科技与Exact Software 易科软件就金四全电票税系统与ERP系统集成及商务合作建立...

关键字: AC 软件 BSP 数字化
关闭
关闭