仿真器概念及实现技术 自从二十多年前MICROTEK 推出首台具有划时代意义的仿真器(Micro-controller In-Circuit Emulator)以来, 随着IC 和软件集成平台的飞速发展,仿真器也不断赋予新的内容和新的挑战,因为它的发展必须与CPU 同步,要想在总线速度为150Mhz *64bit 的情况下实现TRACE 已经成为不可能。MICETEK 继承了 MICROTEK 多年的经验,相继推出了 EasyPack8052/8xc196/PIC16F,MICEpack186/251/68302, PowerPack386/486/Pentium/PentiumII/PentiumIII, Hitool for ARM/PowerPC 等多系列仿真器。因此,介绍仿真器的技术实现有利于研发工程师的使用和选择。仿真器与示波器,逻辑分析仪是研发工程师的三大法宝。 一.仿真器的基本实现方式 由于仿真器属于一种高科技含量的开发工具,其实现的方式比较复杂。 1. 商用 CPU 这是一种最简单的实现方式,直接采用最普通的商用 CPU 去设计仿真器。 一般来说,CPU 都有一些资源,如非屏蔽中断,NMI,TRAP指令,Ready 信号等等。在用商用 CPU 去设计仿真器时,基本上都会采用这些指令式信号,以达到单步Step,全速运行 Go,断点 Breakpoint 的功能。 用商用 CPU 去设计仿真器,一般来说其 CPU 的速度不能很快,如像8051, 196 等是可以采用这种方式的。若 CPU 的速度很快,则无法去实现。因为仿真器要在 CPU 的地址,数据总线上截取或插入某些资讯。CPU 的速度太快,则根本无法在时序上去做截取或插入资讯的动作。 用商用CPU 去做仿真 CPU,一般来说会碰到 I/O 管脚重整的困难,就像最简单的8051 或 83C196,其 A/D 总线都可复用成 I/O。而仿真器是要提供所有有关 CPU 的资料给用户。所以,实际上 CPU 是以地址/数据总线的方式在运行。如用户的设计是用I/O 方式的话,仿真器就一定要重新整合一套 I/O 线路出来。这一点是最麻烦的地方,往往有些简单的仿真器就不能做到这一点。 2. 采用特殊的仿真模式 有的商用CPU 会提供一些特殊的仿真模式,其 CPU 还是采用商用CPU。但当 CPU 在上电或复位时,如果在 CPU 的某些管脚上灌一些特殊的电平或序列,则 CPU 就会进入一种特殊的仿真模式,如Philips的8051 CPU,就是有一种叫“Hooks”的模式。进入这种模式之后,CPU 会在地址数据总线上分时地提供一些用于 I/O 重建的信息。 有了这种特殊的仿真模式,仿真器进行 I/O 重建相对来说比较简单一些,但往往会存在着一些时序方面的...