Keil仿真器介绍
推荐给好友
打印
加入收藏
更新于2010-12-04 21:05:19

Keil仿真器的结构和使用特点

 


      1、该仿真器配合uVision集成开发环境使用,分独立使用的Keil仿真器(上图)和非独立使用的Keil仿真器两种(下图),前者可应用于其他的51单片机目标系统,后者一般只限于在配套的51实验板上使用(请参看教材中的有关段落)。 

      2、独立使用的Keil仿真器采用标准4线USB插座作电气接口,注意它不是真的总线意义上的USB口——4线中,中间的两线用于RS-232通信,外侧的两线是电源和地。顺便说明,市面上也有直接使用USB接口的Keil仿真器出售,其原理是用一片USB——UART转换芯片代替仿真器上原来的232——UART转换芯片。由于uVision集成调试环境不直接支持USB口,所以,这样做需要在PC机端增加USB驱动,并在仿真器端增加硬件开销,从而使仿真器的整体售价上升较多。其实,对Keil仿真器来讲,这样做最终实现的仍然是232通信,其唯一的好处是可以直接使用PC机的USB口与Keil仿真器进行232通信。 
  
       非独立使用的Keil仿真器限于在配套的51实验板上使用,它通过一般的两头串行电缆与PC机进行通信,并使用实验板上的复位按键(黄色)进行复位。  

       3、独立使用的Keil仿真器配有一根长约2米的定制电缆,该电缆一共有3个接头,其中,9孔RS-232接头连接PC的COM口(COM1-COM4);从它根部分出来的一个USB接头连接PC机的USB口,用于从该口取电(5V/最大500mA)供给仿真器和目标系统,但如果用户采用外部电源给目标系统和仿真器供电,则该接头应悬空;另一个USB接头用于连接仿真器。 

       4、必要时,独立使用的Keil仿真器还可以直接当编程下载器来使用(不依赖别的硬件)。做法是:拔掉仿真器上的仿真芯片,换成支持UART串口在线下载的芯片,如STC公司的STC89C51/52/53/54/55/58/516等(出厂时其内部已固化有支持在线下载的程序),连上串行电缆,并适当控制上电过程,就可将用户程序直接下载到这些芯片(烧写寿命>100万次)。这些芯片的抗干扰性能、片内资源的配置及烧写寿命等项指标均优于Atmel等公司的同类芯片,但价格会略高几毛钱到1元钱(与购买渠道有关)。至于PC机端的在线下载程序(STC-ISP),可以从STC公司或深圳宏晶公司网站上免费下载。  
 
        当然,在51实验板上插入上述芯片,也可直接进行用户目标程序的下载烧写,其方法同上。

        5、Keil仿真器的使用:以51实验板为例,将仿真器按正确方向插入实验板的CPU插座并锁紧(USB接口与锁紧把手方向一致),用定制电缆连接仿真器和PC机。 
       
   其供电方式有两种:  
       ① 通过外部电源同时向实验板和仿真器供电,此时仿真器上的跳线器应开路;   
   ② 从PC机的USB口取电(5V/最大500mA)同时供给仿真器和实验板,此时仿真器上的跳线器应该短路。 
 
       两种供电方式不要同时采用。若采用后一方式,应尽量避免带电插拔仿真器端的接头,因为RS-232口不支持热插拔操作,如果这样做,有可能损坏两端的通信芯片(但发生几率并不高)。 

       6、Keil仿真器的核心是一片由SST公司生产的51兼容芯片SST89E564RD或SST89E516RD。该仿真芯片拥有64KB(Block0)+8KB(Block1)的Flash-ROM,其ROM中常驻有名为“SoftICE(在电路仿真,Software In Circuit Emulator)”的仿真监控程序。实际上,SoftICE只占用5KB的存储空间,包括Block0中的1KB(FC00H-FFFFH)和Block1中的4KB(0000H-0FFFH)。在Block0中还剩下约63KB(0000-FBFFH)可用作用户的仿真空间。 

       7、调试时,在PC机上uVision套件和仿真器上SoftICE固件的共同控制下,利用仿真芯片“在应用编程(IAP,In Aplication Programming)”的特性,先将目标程序下载到仿真芯片的Block0空间(0000H-FBFFH),随后可对目标系统进行各种硬件仿真调试。调试期间PC机与仿真器之间始终保持通信联络,导致独立Keil仿真器上一个指示数据接收的LED不断闪亮。 

       8、对独立Keil仿真器,用户必须用仿真器上的复位按钮来结束前一轮的硬件仿真调试,此时,仿真芯片进行复位操作,芯片中前次的用户程序被清除,仿真监控程序重新掌握控制权,准备开始新一轮的下载和调试。 对非独立的Keil仿真器,用户应通过51实验板上的黄色复位按键来进行复位。

       9、仿真芯片内的以下资源将在硬件仿真时被占用,但其它资源向用户开放。   
            UART串口——仿真时用于PC机与SoftICE间的串行通信  
         定时器2——仿真时用作串行通信的波特率发生器   
         内部RAM间接寻址区最高端的8个字节——仿真时用作堆栈 

       10、由于仿真时Keil仿真器要占用一部分硬件资源,所以它不是真正意义上的仿真器,正确的叫法应该是“在线调试器”。此外,仿真芯片有一定的使用寿命。这是因为每次仿真都需要重新将用户代码下载烧写到片内的Flash-ROM。有资料说,它可以支持1万次以上的全速运行调试和100万次以上的单步运行调试。 

       11、SST89E564RD/516RD的最高工作频率为40MHz,除Flash-ROM外,片内拥有以下一些硬件资源:1KB的内部RAM,定时器T0/T1/T2,1个UART口和1个SPI串口,看门狗定时器WDT,5个可编程计数器阵列PCA、8个中断源和4级中断优先结构,2个数据指针等。其中,44脚封装的SST89E516RD比SST89E564RD多出一个4线的P4口。但用户应注意有些资源(如WDT)的使用不同于AT89S51/52等常用芯片。使用仿真芯片SST89E564RD/516RD可仿真多种51单片机芯片。其仿真空间约63KB,系统时钟可选到40MHz。也就是说,只要仿真芯片上有该项资源,且仿真时未被占用,那么用户就可以在硬件仿真时使用它。 

       12、使用独立的Keil仿真器时,请注意以下几点:  
            仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。  
        仿真器上的复位按钮只复位仿真芯片,不复位目标系统。  
        仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。 

                                                                             

                                                                                                    下一页 USB口Keil仿真器

 

相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.