单片机仿真器的主要作用是什么?使用方法介绍
扫描二维码
随时随地手机看文章
对于单片机语音芯片来说,仿真器这一专用工具不仅可以调试您的程序,而且还可以帮助您识别设计工程中的一些潜在的硬件和软件问题。仿真器应用广泛这是毋庸置疑的,不仅单片机这一领域,连语音芯片的FPGA、CPLD和嵌入式系统都可以见到它的身影。
当然,想FPGA、CPLD和嵌入式系统这些货可是自带仿真功能,这样更方便设计更接近实际应用环境,直接就是线路板上调试,节省许多麻烦。
对于单片机语音芯片来说,仿真器这一专用工具不仅可以调试您的程序,而且还可以帮助您识别设计工程中的一些潜在的硬件和软件问题。仿真器应用广泛这是毋庸置疑的,不仅单片机这一领域,连语音芯片的FPGA、CPLD和嵌入式系统都可以见到它的身影。
当然,想FPGA、CPLD和嵌入式系统这些货可是自带仿真功能,这样更方便设计更接近实际应用环境,直接就是线路板上调试,节省许多麻烦。那么一般语音芯片所需使用到的仿真器有哪些?和九芯电子的小编一起去看看吧。
独立仿真器
这类仿真器一般都是采用专用的一个仿真设备。一般里面使用一颗FPGA,CPLD或者运算能力比你实际要用的芯片运算能力强的芯片。因为一般仿真器的仿真都是用运算和功能强的芯片去模拟实际引用的芯片。主要是因为两个芯片的指令集不同,用运算能力强的芯片去模拟实际用的指令集。或者采用一颗专门的仿真芯片,这个芯片的内核是跟实际应用的芯片相同,只是它是专门用来仿真的。一般度搜占用一个UART串口来跟电脑进行通信、对程序仿真。
线仿真
线仿真又称自仿真,是语音芯片内部自带仿真功能,采用一种叫做边界扫描的方式,讲运算的结果和内存里的数据等信息传送到上位机计算机上,达到仿真的目的。现市场上含ARM、CORTEX-M0-M、COTEX内核这类货芯片一般内部具备仿真单元,采用标准的通信接口JTAGE,通过一个转换设备进行与计算机的通信,来下载写入程序、调试程序以及断点设置。
单片机仿真器
一、单片机仿真器定义
单片机仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。单片机仿真器具有基本的输入输出装置,具备支持程序调试的软件,使得单片机开发人员可以通过单片机仿真器输入和修改程序,观察程序运行结果与中间值,同时对与单片机配套的硬件进行检测与观察,可以大大提高单片机的编程效率和效果。
二、单片机仿真器有什么作用
1.可以对单片机程序进行单步跟踪调试,也可以使用断点、全速等调试手段,并可观察各种变量、RAM及寄存器的实时数据,跟踪程序的执行情况。
2.使得单片机开发人员可以通过单片机仿真器输入和修改程序,观察程序运行结果与中间值,同时对与单片机配套的硬件进行检测与观察,可以大大提高单片机的编程效率和效果。
3.可以对硬件电路进行实时的调试。利用单片机仿真器可以迅速找到并排除程序中的逻辑错误,大大缩短单片机开发的周期。
4.对初学者来说,降低了调试与开发难度。非常有利于初学者学习。
三、总结
以上就是关于单片机仿真器是什么?有什么作用的全部内容分享。总而言之,单片机仿真器就是以调试单片机软件为目的而专门设计制作的一套专用的硬件装置,它可以提高单片机的编程效率和效果。
一个理想的 使开发者能观察到单片机内部的操作,仿真器是使替代单片机并使单片机操作可视化的硬件工具。
一个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对应管脚完全一致。
在线仿真器基本功能的实现
单步(Step),全速(Run)
仿真监控电路将A/D总线的控制权交给bond-out MCU,bond-out
MCU先给出指令地址,再使能SRAM读信号,得到程序代码,依次解码并执行。
断点(BreakPoint)
见图2。断点电路由存贮断点位置的SRAM和断点监控电路组成。存贮断点位置的SRAM与存贮用户程序的SRAM的地址总线并接,SRAM的某个数据位作为断点信息存贮位,在下载用户程序的同时将设置有断点的地址上该位置为1,其余为0。当仿真器在全速运行时,该SRAM设为读状态,断点判断电路监控此数据位,当其为高时停止仿真器全速运行。
跟踪记录已执行的程序(Trace)
见图3。Trace电路由存贮Trace内容的SRAM和Trace监控电路组成。Trace SRAM的数据总线与bond-out
MCU地址总线并接,Trace SRAM的地址控制信号由Trace监控电路产生。在仿真器初始化时Trace
SRAM的地址被设置为0,当用户要求开始记录已执行的程序,在每个中,Trace SRAM的地址自加一并将bond-out
MCU地址写入SRAM中。在PC要读取Trace内容时,bond-out
MCU依次执行过的程序地址被上载到PC端并对应列出该地址上的指令代码。Trace
的记录长度受SRAM大小限制,当超出记录长度时前面的数据会被覆盖。