单片机仿真器的应用原理是什么?
扫描二维码
随时随地手机看文章
一个理想的 使开发者能观察到单片机内部的操作,仿真器是使替代单片机并使单片机操作可视化的硬件工具。
一个ICE应包括两个接口,一个是连接到目标板上的MCU插座,另一个与PC相连。仿真器应该与目标MCU在电气及物理上等价,并能在开发系统中替代MCU。目标系统的操作可由PC得以控制及观察。在开发初期,开发系统依靠仿真器工作,当目标功能完善后,仿真器将被真正的MCU取代。
ICE的功能及特性:
在主机与目标系统间产生对应的程序区,host memory作为仿真程序区(emulator memory)或Shadow memory
脱离目标硬件实时测试代码
单步(Step),全速(Run),从特定的状态运行到特定的状态或到断点(BreakPoint)。这通常指特定的地址,但也可以是特定的触发条件。
修改MCU Register值
在线修改Memory内容
实时跟踪记录已执行的程序(Trace)
ICE设计中的难点及局限性:
ICE功能的实现需要与MCU的data bus,address bus,control bus相连,而实际芯片三往往不连外部引脚
电气上:ICE的驱动能力及时序需要与MCU完全相同,而ICE的外加电缆及电路必将降低负载能力及改变时序特性,引起一些目标系统在极限状态下与ICE联调往往会失败。
一个常见的现象是一个系统用ICE调试完成最终用实际MCU取代ICE可保证运行,但若硬件开发过程中未用ICE,为了调试软件问题在中途使用了ICE,往往会在时序及负载上出现问题。
理想的是所以的引脚的所以功能与MCU相同,而实际上不少低端仿真器占用了一个中断资源以控制监控程序的运行
使用ICE的主要优点在于:
软件设计及实时测试可先于实际硬件完成
提供了修改,显示memory及register的功能,提供了系统的开发效率
bond-out
MCU是芯片设计公司为实现其商用MCU的仿真功能,将内部的数据,地址及控制总线连接到芯片的管脚上,使得外部仿真逻辑可以监视和控制MCU内部的状态。一个ICE的质量很大程度上依赖于它与其要仿真的MCU之间的吻合程度,bond-out
MCU能最大程度上提供ICE与商用MCU的无差别替换。
基于bond-out MCU的在线仿真器的结构
见图1。系统包括三部分,bond-out MCU,存贮用户程序的SRAM及仿真监控电路。bond-out
MCU的数据,地址总线连接到SRAM,作为外部程序储存器。同时数据,地址及控制总线连接到仿真监控电路,使ICE可以监视和控制bond-out
MCU的运行状态。与PC相连的通讯接口根据速度及成本可选用串口,并口或USB接口。bond-out
MCU从本质上将是商用MCU的一种扩展,它包括所有商用MCU上的I/O并提供给用户使用,其电气与时序上应保证与商用MCU对应管脚完全一致。
1、早期的单片机内部没有ROM,比如8031、8032,这种单片机只能外部扩展紫外擦除的EPROM存储器,就是芯片上带窗口的ROM。紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多)才能擦掉芯片中的内容以便写入新的程序。
2、有的单片机内部ROM是一次写入成型的,比如8751,程序写入单片机的ROM之后就不能被擦除。
h1654155282.3538 • 来源:网络整理 • 2018-04-13 17:28 • 12148次阅读
仿真器出现的原因
1、早期的单片机内部没有ROM,比如8031、8032,这种单片机只能外部扩展紫外擦除的EPROM存储器,就是芯片上带窗口的ROM。紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多)才能擦掉芯片中的内容以便写入新的程序。
2、有的单片机内部ROM是一次写入成型的,比如8751,程序写入单片机的ROM之后就不能被擦除。
仿真器的种类
1、软件仿真器
这种方法主要是使用计算机软件来模拟运行,实际的单片机运行因此仿真与硬件无关的系统具有一定的优点。用户不需要搭建硬件电路就可以对程序进行验证,特别适合于偏重算法的程序。软件仿真的缺点是无法完全仿真与硬件相关的部分,因此最终还要通过硬件仿真来完成最终的设计。
2、硬件仿真器
使用附加的硬件来替代用户系统的单片机并完成单片机全部或大部分的功能。使用了附加硬件后用户就可以对程序的运行进行控制,例如单步,全速。
单片机仿真器是什么
单片机仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。
单片机仿真器的作用
单片 机仿真器是一种在电子产品开发阶段代替单片机芯片进行软硬件调试的开发工具。配合集成开发环境使用仿真器可以对单片机程序进行单步跟踪调试,也可以使用断点、全速等调试手段,并可观察各种变量、RAM及寄存器的实时数据,跟踪程序的执行情况。
同时还可以对硬件电路进行实时的调试。利用单片机仿真器可以迅速找到并排除程序中的逻辑错误,大大缩短单片机开发的周期。在现场只利用烧录器反复烧写单片机,通过肉眼观察结果进行开发的方法大大增加了调试的难度,延长了整个开发周期,并且不容易发现程序中许多隐含的错误,特别对于单片机开发经验不丰富的初学者来说更加困难,由此可见,单片机仿真器单片机系统开发中发挥着重要的作用。
单片机仿真器的工作原理
仿真器内部的P口等硬件资源和51系列单片机基本是完全兼容的。仿真主控程序被存储在仿真器芯片特殊的指定空间内,有一段特殊的地址段用来存储仿真主控程序,仿真主控程序就象一台电脑的操作系统一样控制仿真器的正确运转。
仿真器和电脑的上位机软件(即KEIL)是通过串口相连的,通过仿真器芯片的RxD和TxD端口和电脑的串行口做联机通讯,RxD负责接收电脑主机发来的控制数据,TxD负责给电脑主机发送反馈信息。控制指令由KEIL发出,由仿真器内部的仿真主控程序负责执行接收到的数据,并且进行正确的处理。进而驱动相应的硬件工作,这其中也包括把接收到的BIN或者其他格式的程序存放到仿真器芯片内部用来存储可执行程序的存储单元(这个过程和把程序烧写到51芯片里面是类似的,只是仿真器的擦写是以覆盖形式来做的),这样就实现了类似编程器反复烧写来试验的功能!
不同的是,通过仿真主控程序可以做到让这些目标程序,做特定的运行,比如单步、指定端点、指定地址的等,并且通过KEIL可是时时观察到单片机内部各个存储单元的状态。仿真器和电脑主机联机后就象是两个精密的齿轮互相咬合的关系,一旦强行中断这种联系(比如强行给仿真器手动复位或者拔去联机线等),电脑就会提示联机出现问题,这也体现了硬件仿真的鲜明特性,即“所见即所得”。这些都是编程器无法做到的。这些给调试、修改、以及生成最终程序创造了比较有力的保证,从而实现较高的效率。
单片机仿真器的发展
最早的单片机仿真器是一套独立装置,具有专用的键盘和显示器,用于输入程序并显示运行结果;随着PC机的普及,新一代的仿真器大多数都是利用PC机作为标准的输入输出装置,而仿真器本身成为微机和目标系统之间的接口而已,仿真方式也从最初的机器码发展到汇编语言、C语言仿真,仿真环境也与PC机上的高级语言编程与调试环境非常类似了。
仿真机一般具有一个仿真头,用于取代目标系统中的单片机,也就是用这个插头模仿单片机,这也是单片机仿真器名称的由来。
目前,随着单片机的小型化,贴片化和具有ISP,IAP等功能的单片机的广泛应用,传统单片机仿真器的应用范围也有所缩小。而软件单片机仿真器(即单片机仿真程序)的应用逐渐广泛,单片机仿真程序即在个人计算机上运行的特殊程序,可在一定程度上模拟单片机运行的硬件环境,并在该环境下运行单片机目标程序,并可对目标程序进行调试、断点、观察变量等操作,可大大提升单片机系统的调试效率。纯软件单片机仿真器往往与硬件设计程序集成在一起发布,使得开发者可以对单片机硬件与软件进行同步开发。
单片机仿真器是一种用于测试和验证单片机(MCU)程序的电子设备,它可以模拟MCU在实际硬件上的工作状态,从而实现单片机程序的调试、测试和验证。
单片机仿真器的工作原理
单片机仿真器的工作原理主要是通过建立一种类似于虚拟机的环境,将单片机的硬件和软件模拟出来,从而实现对单片机程序的模拟和调试。具体来说,单片机仿真器主要包括以下几个部分:
仿真器芯片:负责将电脑与单片机连接起来,并传递指令和数据。
仿真器软件:负责将单片机程序加载到仿真器芯片中,并根据指令和数据模拟出单片机的运行状态。
目标板:用于连接单片机和仿真器芯片,并模拟出单片机的硬件环境。
当单片机程序被加载到仿真器软件中后,仿真器软件会将指令和数据发送到仿真器芯片,仿真器芯片根据指令和数据再将其传递给目标板。目标板在接收到指令和数据后,通过模拟单片机的硬件环境,将其转化为单片机的实际运行状态。仿真器软件再根据单片机的实际运行状态,模拟出单片机的输出结果,从而实现对单片机程序的模拟和调试。
单片机仿真器的应用
单片机仿真器是一种非常重要的电子工具,主要应用于以下方面:
单片机程序的开发和调试:通过单片机仿真器,可以快速、准确地测试和验证单片机程序。
单片机故障分析:当单片机发生故障时,可以通过单片机仿真器对其进行诊断和分析。
单片机应用系统的调试和优化:单片机仿真器可以帮助工程师对单片机应用系统进行调试和优化,提高其性能和稳定性。
总的来说,单片机仿真器在单片机开发、测试和应用中发挥着非常重要的作用,对提高单片机的效率、可靠性和稳定性具有重要的意义。