完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第一章 为什么要使用仿真器? 1.2 仿真的种类
1.3 为什么要使用仿真器? (1) 根据自己的设计建立一个符合要求的硬件平台,如果该平台涉及的程序比较复杂,还要搭建一个人机交流的通道。人机交流通道可能是一个简单的发光二极管,蜂鸣器,复杂的可能是串口通讯口,LCD显示屏。 (2) 写一个最简单的程序,例如只是将发光二极管连续的闪烁。程序编译后烧写到单片机芯片中,验证硬件平台是否工作正常。 (3) 硬件平台正常工作后编写系统最低层的驱动程序,每次程序更改后都重新烧写单片机芯片验证。如果在程序验证中遇到问题,则可能在程序中加入一些调试手段,例如通过串口发送一些信息到PC 端的超级终端上,用于了解程序的运行情况。 (4) 系统低层驱动程序完成后再编写用户框架程序,由于这部分已经不涉及到硬件部分,所以程序中的问题用户一般能够发现。 但是更多的调查表明,使用以上方法的工程师总的看来所设计的程序不是很庞大或很复杂。因为在做简单的项目时,我们可以通过一个发光二极管就可以表达出内部的信息;如果程序复杂,可能需要更多的信息来表示内部的状态,这样可能就需要串口协助调试;如果程序更复杂,硬件更多,实时性更强,那工程师就要更多的增强调试手段,串口可能就不能满足了,需要类似于断点的功能,因为我想知道在某一个时刻单片机内部的状态究竟是怎样? 如果用户程序的修改非常频繁,可能一次又一次地的烧写芯片占用的时间就很多,这时用户就会想能下载程序并运行的装置。到这里,您会看到,随着用户要求的越来越高,调试装置已经越来越象一个通用的仿真器了。因此我们的建议是:不要回避使用仿真器,因为使用仿真器能提高您的开发速度。 但是不能否认的是,用户回避使用仿真器也是有原因的。因为仿真器也是一种电子装置,非常依赖于设计者的水平。如果一个仿真器设计者的水平有欠缺,那将给仿真器的使用者带来很大的问题,因为仿真器的使用者将分不清楚究竟是程序的问题还是出在那里。随着电子设备的复杂化,设计工程师面临前所未有的压力。您可以想象,用户发现了程序中有一个问题,首先怀疑是自己系统中的问题,可能是软件方面也可能是硬件方面。因为用户系统处于开发阶段,用户基本上不会怀疑仿真器。在这种情况下,用户将耗费很大的精力在自己的系统中寻找并不存在的问题。如果用户最终发现问题来源于仿真器,并通过烧写芯片验证确实如此,那这个仿真器用户以后可能会逐渐放弃使用仿真器。 用户放弃使用仿真器,对用户的影响是巨大的。因为放弃使用一个设计不完善的仿真器,也放弃了 使用其它设计完善的仿真器,关键是放弃了合理的开发方法。因此我们的建议是:不要回避使用仿真器,但要挑选好的仿真器。 1.4仿真器的附加服务更加重要 在购买仿真器的同时,还要注意仿真器厂家的服务,这一点很关键。这里说的服务包含仿真器本身 的服务,例如仿真器使用上的指导服务,仿真器的维修服务。这些都是一个产品的最基本的服务,对于仿真器这种特殊产品来将还不是全部的服务。 使用仿真器来开发产品,会遇到很多问题:产品本身的问题,仿真器的问题,仿真器和用户系统的问题。如果用户开发经验不是很丰富,他并不能排除遇到的问题究竟来源于哪个方面。这时,他可能求助于仿真器生产厂商。如果仿真器的生产厂商只专注于仿真器的设计,而对于其它的单片机应用不熟悉,他可能对用户提出的问题不能作出正确的判断而一味的强调自己的仿真器没有问题。与之相反,一个既熟悉仿真器的使用,又有丰富开发经验的仿真器支持厂商则能协助用户快速的找出问题,实践证明这两种情况带来的效果是完全不一样的。因此我们的建议是:挑选好的仿真器,更要挑选好的技术支持。 第二章 仿真器中使用的技术 第三章 国内仿真器的现状 第五章 如何挑选通用仿真器 第六章 如何测试通用仿真器 1.单步性能的测试 测试程序: ORG 0000H 2.中断性能的测试 3.连续中断性能的测试 测试程序: 测试步骤 (1) 照您当前使用的仿真器要求测试上面的程序。 测试结论:仿真器如果没有照严格正规设计,程序连续运行中断程序性能将不准确。可能出现程序不能跳转到中断服务程序,或没有返回到正确的主程序,或A 不能每次循环连续的加1。 测试小结 第七章 如何挑选测试HOOKS 技术仿真器 HOOKS 技术是国外普遍采用的一种仿真技术,同Bondout 技术相比较,仿真器的适用范围可以更广。HOOKS 技术在10年前已经被国内引进,并被当时的仿真器厂家试图采用。但是由于HOOKS 技术本身的复杂性,当时国内众仿真器厂家竟无法设计出可以使用的仿真器,致使国内的仿真技术远远落后于国外。 2002 年,周立功旗下的广州致远电子有限公司推出了研制多年的TKS 系列HOOKS 仿真器,并在性能上全面超过国外同类型的HOOKS 仿真器,国内的用户能以低廉的价格购买到技术先进的HOOKS技术仿真器。在TKS 系列HOOKS 仿真器面市以后,国内的仿真器厂商纷纷加强研发力量研制HOOKS技术,经过了一段时间后也宣布供应采用HOOKS 技术的仿真器。用户需要注意的是:HOOKS 技术只是一个基本的仿真技术,要最终作成仿真器还必须依靠设计工程师精心的设计,因此市场上HOOKS 技术的仿真器性能指标可能有很大的差别,有的不占用用户资源,有的就做不到;有的仿真频率可以到很高,但是有的不行。因此用户应仔细加以挑选和鉴别。 根据HOOKS 技术本身的特点,用户应该对以下的几个方面加以注意和测试。 能否运行外部用户目标板上的程序 由于HOOKS 技术中P0/P2 口是重新构造的,因此P0/P2 口上的时序处理是整个设计中的难点。P0/P2 的I/O 特性和数据总线特性相对容易实现一点,但是程序总线很难正确实现,这是由于HOOKS的技术结构决定的。一般HOOKS 仿真器在实现仿真内部64K 代码空间比较容易,但是仿真内部4K (类似89C51)/8K (类似89C54)/16K (类似89C54)/32K (类似89C58)等能外扩ROM 空间的MCU类型则无法实现。在国内外所有的HOOKS 技术的仿真器中,只有广州致远公司的TKS 仿真器B 系列能真正做到稳定运行外部用户目标板上的程序。运行外部用户目标板上的程序是非常必要的,因为用户可能在外部扩充了一般的用户程序,需要实际仿真一下来验证整个系统的正确性;也可能在外部放置了大容量的(可能超过64K 的物理地址限制)分组字库,而这种特性是仿真器内部无法实现的;也可能是外部有分组的BANK 方式的运行代码,这种方式要求仿真器必须有运行外部程序代码的能力。 P0/P2 口能否同时用作总线和I/O 这种特性是芯片本来的性能,但是由于HOOKS 技术的难度,有很多HOOKS 仿真器不能做到这一点,导致用户在使用时无法全面满足要求。该性能一般不需要测试,可以直接阅读仿真器的性能说明或向生产厂商或代理商询问。作者检测过国内外知名仿真器厂家的多种HOOKS 仿真器,几乎都没有完美做到P0/P2 口的准确仿真。 P0/P2 口的直流参数 如果需要检测的仿真器根本做不到同时仿真I/O 和总线方式,则没有必要检测P0/P2 的直流参数。如果要检测的仿真器宣称能够同时仿真I/O 和总线方式,用户还必须分别在I/O 和总线两种方式下对直流参数进行测试。根据作者的HOOKS 仿真器测试经验,有的仿真器虽然宣称能够同时仿真I/O 和总线方式,但是根本不区分这两种方式驱动能力,采用的是一种平均方式,这样在作为I/O 时高电平驱动能力过大,而作为总线时驱动能力过小。用户在使用这类仿真器作为输入时,必须加大外部信号的驱动能力,这跟实际芯片的驱动能力相差太远;在作为总线使用时,如果外部的总线(包括地址总线和数据总线)个数稍多,总线电平将严重下降而无法工作。用户可以使用下面的测试程序配合示波器检查。 测试程序: ORG 0000H LJMP TestStart TestStart: MOV P0,#0FFH TestLoop: MOV P0,#00H NOP MOV A,#0FFH MOV DPTR,#0FFFFH MOVX @DPTR,A NOP MOV P0,#00H SJMP TestLoop END 测试步骤 (1) 照您当前使用的仿真器要求测试上面的程序,仿真器不接任何用户设备。 (2) 单步运行完TestStart 的程序行,P0 的数值设置为0FFH。这时使用电压表测量一下P0的任意一个管脚(例如P0.0)的电压,记录为V1,V1 的数值一般小于当前的电源电压。然后使用一个2K 电阻,一端接仿真器提供的地,另一端接P0.0,使用电压表测量一下P0.0 的电压,记录为V2,V2的电压越接近与0 说明该仿真器P0 在I/O 口方式下的特性越好(接近于开漏)。如果V2 大于1伏说明P0 口的输入电阻在10K 以下,该仿真器P0 口在I/O 下性能较差。 (3) 在TestLoop 中连续全速运行,仍保持2K 电阻接在P0.0。使用示波器观察P0.0 引脚,可以看到占空比较小的正电平脉冲,该正电平脉冲是有P0 输出的低8 位地址和数据输出引起的,因为处于总线方式,P0 口的驱动能力应该较强。保持示波器的正常显示,然后将2K 电阻不断的接触/脱离P0.0 引脚,观察P0.0 脚脉冲信号幅度的变化。如果该信号在2K 电阻接入后幅度降低很大,例如1V 以上,说明该仿真器P0 口驱动能力不足,无法满足用户的正常的需要。 测试结论:HOOKS 仿真器要同时仿真I/O 口和总线模式而且保持良好的驱动特性是比较困难的,但是可以作到的。一般的HOOKS 仿真器一般不敢宣称同时仿真I/O 口和总线方式,但是用户需要注意即使宣称可以同时仿真I/O 和总线,用户也需要照上述的方法进行测试,防止厂家采取驱动折中的方法掩盖。根据作者的测试结果,国内所有的HOOKS 仿真器只有TKS 系列可以作到真正同时仿真I/O 口和总线方式,重要的是仍保持了良好的驱动特性。 是否占用用户资源 设计优良的HOOKS 仿真器不会占用任何用户资源,但是由于设计技术的差别,有一些采用HOOKS技术的仿真器不能达到这样的性能,一般会占用部分资源。占用资源将在使用中限制用户的使用,用户可能无法通过该仿真器实现正常程序的功能。该性能一般不需要测试,可以直接阅读仿真器的性能说明或向生产厂商或代理商询问。 ALE 信号的关闭/开启 HOOKS 技术的一个突出优点是能支持增强性能的仿真,而ALE 信号的关闭/开启是增强性能的一个典型范例。由于在HOOKS 技术中,依赖ALE 信号能大大简化信号的处理,因此一般采用HOOKS 技术的仿真器都不能关闭ALE 信号,否则会引起仿真时序的全面紊乱。该性能一般在仿真器的性能说明中没有详细说明,因此需要用户自己进行测试。 下面的测试程序以PHILIPS 的P89C52X2 仿真芯片为例。 测试程序: ORG 0000H LJMP TestStart TestStart: MOV P2,#55H /* 先对P1 进行设置 */ TestLoop: ORL AUXR,#01H /* 关闭ALE 信号 */ NOP MOV P2,#55H NOP ANL AUXR,#0FEH /* 开启ALE 信号 */ NOP MOV P2,#0AAH NOP LJMP TestLoop /* 连续运行 */ END 测试步骤 (1) 照您当前使用的仿真器要求测试上面的程序。 (2) 进入TestLoop 后,连续单步运行,程序应该能照正确的程序流程运行,而且对P2 的操作 能正确在P2 口反映出来。 (3) 在TestLoop 中连续全速运行,然后停止程序运行,观察当前程序位置是否是在TestLoop 内 的有效位置,P2 是否是前一个对P2 操作的数值。 测试结论:仿真器如果不能支持ALE 的关闭将无法通过上面的测试程序。 双倍速时钟的动态/静态切换 PHILIPS、SST 等一些MCU 厂商在自己的增强型51 产品中增加了双倍速时钟的功能,使51 内核的速度提高了两倍。而且在有的型号中同时具有6/12Clock 时钟切换的功能,用户在使用中有了更多的灵活性。因此,这种变化要求HOOKS 仿真器必须同时满足6/12Clock 两种方式之一的仿真(静态切换),更高的要求则是能在用户程序运行中变换6/12Clock 模式(动态切换)。能同时满足动态/静态切换的仿真器难度很大,在国内除TKS 宣布掌握这一技术外,没有见到其它厂家有类似的报道。时钟的静态切换功能可以直接查阅仿真器的性能说明或向生产厂商/代理商询问,也可以用下面的程序进行测试: 下面的测试程序以PHILIPS 的P89C52X2 仿真芯片为例。 测试程序: ORG 0000H LJMP TestStart TestStart: MOV P2,#55H /* 先对P2 进行设置 */ TestLoop: ORL CKCON,#01H /* 切换为6Clock 模式 */ NOP MOV P2,#55H NOP ANL CKCON,#0FEH /* 切换为6Clock 模式*/ NOP MOV P2,#0AAH NOP LJMP TestLoop /* 连续运行 */ END 测试步骤 (1) 照您当前使用的仿真器要求测试上面的程序。 (2) 进入TestLoop 后,连续单步运行,程序应该能照正确的程序流程运行,而且对P2 的操作 能正确在P2 口反映出来。 (3) 在TestLoop 中连续全速运行,然后停止程序运行,观察当前程序位置是否是在TestLoop 内的有效位置,P2 是否是前一个对P2 操作的数值。 测试结论:仿真器如果不能支持6/12Clock 的切换将无法通过上面的测试程序。 |
|
相关推荐
2 个讨论
|
|
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
418 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1083 浏览 0 评论
846 浏览 0 评论
886 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
882 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11831 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 18:26 , Processed in 0.790089 second(s), Total 45, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号