微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SST89C58单片机的仿真器设计与电路构成

基于SST89C58单片机的仿真器设计与电路构成

时间:10-15 来源:互联网 点击:

单片机仿真器可实现对单片机程序的单步跟踪调试,具备断点或全速等多种调式方式,同时能够记录各种变量以及RAM和寄存器的动态数据,对于程序的执行步骤与效果进行实时观察。此外,其还可实现对硬件电路的动态调试。当前单片机仿真器已在工业中得到了广泛应用,因此加大对其的研究具有重要的现实意义。

1 基于SST89C58单片机的仿真器设计

设计的主要部分是SST89C58单片机,从其构成来看,内部集成了72 kB大小的SuperFlashEEPROM程序存储器,涵盖了64 kB大小的Block0及8 kB大小的Block1的Flash—ROM。该单片机对于传统使用的SoftICE监控也做出了一定的优化处理,其中监控程序共占据了存储块Block0大小为1 kB的FC00H~FFFFH,同时还有Block1中大小为4 kB的0000H~0FF FH。

研究人员在进行仿真器调试过程中,借助IAP的帮助下再应用编程,将用户的目标程序从电脑机下载至仿真芯片所剩下的Block0空间之中,大小为63 kB,然后利用SoftICE的作用实施仿真调试。但需注意的是,在整个调试过程中,SoftICE和电脑内部的调试器程序之间始终未中断正常的通信联系。

文中从仿真器仿真的原理进行分析,其本质就是在程序调试时根据需要动态的对程序存储区作相应的修改,也唯有如此才能达到断点运行或单步运行的良好效果。在仿真芯片中研究人员预先烧入了相应的监控程序,其主要功能在于与计算机之间实施良好的通讯。等到调试者利用KeilμVision2集成环境来实施仿真的过程中,后者便会将SST89C58单片机程序目标代码利用串口传输到仿真器中,然后通过仿真器中监控程序的作用来将代码烧写至监控芯片的程序存储器。当SST89C58单片机程序在调试时,监控程序也会在集成开发环境指令的作用下,对于被调试的程序进行适当的改写,以便实现设置断点及单步运行。在这一过程中,一旦程序遇到断点而只能中断执行后,则此时监控程序便可获得CPU的控制权,其不仅需承担起查看单片机寄存器、RAM以及单片机内部的相关变量的工作任务,同时还需观察状态在串行口的帮助下输送至集成开发环境的过程,判断其是否可满足用户观察的各种需求。

2 电路构成分析

2.1 SSTB9C58单片机

图中的U1表示的是SST89C58单片机,从其指令来看与8051单片机完全相同,均使用的是双列直插封装方式,且其能与标准的8051管脚之间实现有效兼容。在整个电路中,对31引脚采取了接高电平的处理,目的在于确保其仅能访问内部64 kB大小的程序存储器;在这一构成条件下,利用对内部特殊功能寄存器的有效操作,可达到IAP在应用可编程的效果;系统本身带有SPI串行接口以及全双工增强型UART;若处于常规情况下,运行过程中外部晶振能达到40 MHz。

SST89C58单片机的16引脚可当做普通I/O口来进行使用,研究人员利用按键S2接地,与此同时S2和复位按键S1两者在互相作用下,不仅能实现仿真器的脱机运行,还可达到仿真运行功能的切换效果。

2.2 晶振与复位电路

如图1所示,晶振电路中主要包括晶振Y1、电容C5与C6、跳线器J1与J2等几个部分。在运行过程中,仿真器利用J1、J2的作用来决定是否需要应用外部电路晶振,否则便需要应用仿真器内部电路晶振。但需注意的是,等到跳线器J1及J2“2、3”端受到各种因素的影响发生短接时,则需采用用户板晶振;而一旦J1及J2“1、2”端发生短接,此时就需要应用仿真器内部电路晶振。

复位电路的主要功能在于仿真器的上电复位以及强制复位。从构成上讲,复位电路中涵盖了大小为0.1μF的电容C7、按键S1以及10 kΩ的R1。一旦系统上电,就会自动选择电容C7充电,单片机的复位引脚RST就能获得一个高电平脉冲,而等到C7充电结束后,复位引脚转变成低电平,就可完成上电复位作用;在SST89C58工作时,若根据实际情况必须对系统采取强制复位,工作人员可选择S1,复位脚电平便会从原先的低电平转变成高电平,而电容C7则会被瞬间放电,等到S1键被松开后,VCC就会开始对电容C7进行充电,以确保复位脚的高电平可持续一定的时间,因此最终完成强制复位功能。

2.3 电平转换电路

研究选择RS-232标准作为仿真器和计算机之间的串行通信。其中SST89C58单片机的逻辑电平常与TTL电平之间是兼容的,不过在RS-232标准中要求的逻辑电平和TTL电平之间,无论在极性还是幅度上均存在着一定的差异性,故需要采取电平转换。

文中选择的集成芯片是MAX232D,即图中的U2,其电平转换电路主要包括内部的电源电压变换器及外部电容等,主要目的在于实现电脑的232电平及SST89C58单片机的TTL电平之间的顺利转换。为达到这一目

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top