PIC单片机常用模块与综合系统设计实例精讲
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 PIC系列单片机的仿真器

PIC仿真器主要有两种类型。一种是软件模拟仿真器。它是在高速的PC机上用软件模拟所用的CPU或单片机的运行环境,直接在PC机上按程序的逻辑路径运行,并观察运行结果和I/O状态响应等。虽然它也有设置断点和单步运行等调试功能,但不能把运行过程和状态直接反映到用户的应用系统上,而将一切逻辑、时序都反映在PC机屏幕上。它对纯逻辑调试是很理想的,但对一些有实时性要求及外围硬件功能较多的应用系统,其仿真效果与实际运行结果有较大的差别,主要用于满足用户低成本的开发需要。

另一种仿真器是在线实时仿真器(Emulator),可以做到完全的实时在线仿真。用户把仿真器的仿真头插到目标板上,即相当于CPU或单片机插到应用系统目标板上运行。此时,目标板和仿真器共用一个CPU,通过这种CPU的“出借”,就可以在仿真器上调试用户应用的系统。另外,还可以利用仿真器中的RAM存放用户的应用程序,通过出借存储器的方式仿真应用系统的程序存储器。由于仿真器有强大的硬件和软件支持,利用仿真器的断点设置、单步跟踪运行等手段,即可对用户程序的运行情况以及硬件的性能进行观察,大大提高了程序调试的效率。软件仿真只能从逻辑功能上运行和调试用户程序,而在线仿真则是实时运行和调试用户程序,从而排除用户电路故障。仿真环境应保证与脱机时用户电路环境一致,因此产品的设计与开发最终都要经过在线调试才能排除用户电路所有静态与动态故障。

这里主要对PIC硬件在线实时仿真器的种类和特性进行介绍。

1.PIC在线仿真器的种类

目前,PIC在线仿真器的产品型号很多,大多数的PIC在线仿真器在应用时需要与一台PC机相连才能完成仿真调试工作。按其与PC机联机方式的不同,PIC在线仿真器可分为如下两种:

(1)卡式在线仿真器:通过一个插在PC主机扩展槽中的接口卡与PC机相连接,再通过接口卡上的插座用电缆把一个仿真模板引出到PC机外部,用于对PIC芯片进行仿真调试。

(2)接口式在线仿真器:仿真器通过一个并行接口或一个串行接口与PC主机相连,在线仿真器上的仿真插座用于连接PIC芯片,以便进行仿真调试。

2.几种常见的PIC仿真器

Microchip公司及其在国内的代理商为用户的应用开发提供了丰富的硬件和软件支持。近年来,Microchip公司和国内一些公司先后推出了多种类型的PIC仿真器,如MPLAB-ICD2、MPLAB-ICE2000、PICRICE、PIC6000和E6000等。

(1)MPLAB-ICD2实时在线调试器

Microchip授权贝能科技有限公司生产的MPLAB-ICD2是功能强大而成本较低的开发工具,它在MPLAB-IDE环境下运行,可以调试汇编和C源代码,查看、修改变量,同时还可以单步执行以及设置断点。它支持除PIC16F7X和PIC16F5X以外的所有FLASH PIC单片机和dsPIC数字信号控制器的在线调试和编程。MPLAB-ICD2通过ICSP对PIC系列单片机进行调试,在调试模式下它仅占用部分的资源:—级堆栈、几个通用寄存器和很小部分的程序空间。其主要特点描述如下:

① 功能特性:

● 全速运行。

● 通过USB或RS232串口连接到PC机上。

● 支持dsPIC数字信号控制器的整个电源范围。

● 可以用作廉价的编程器。

● “智能查看”变量窗口。

● 集成过压/短路检测。

● 可通过PC在线升级Firmware(固件)。

● 支持“断点”、“单步”、“连续单步”和“执行到光标处”等多种通用调试方法。

② 支持型号:

PIC10F20X、PIC12FXXX、PIC16F6XXA、PIC16F68X、PIC16F716、PIC16F7X7、PIC16F87、PIC16F88、PIC16F8lX、PIC16F87X(A)、PIC18C601、PIC18C801、PIC18FXXX和dsPIC30F系列。

一些8脚、14脚和18脚的器件在调试时需要一个具有专用仿真芯片的仿真板,该仿真芯片有两个引脚与ICD2连接通信,无需占用实际应用器件的引脚资源,如PIC10F200/202/204/206、PIC12F508/509、PIC12F629/675、PIC16F630/670、PIC16F716、PIC16F627A/628A/ 648A等。目前所用到的仿真板有:AC162059、AC162050、AC162052、AC162053、AC162054、AC162055、AC162056、AC162057、AC162058等。

(2)ICE2000实时在线仿真器

MPLAB-ICE2000是一种适用于PIC微控制器的在线仿真器,该仿真器由微芯公司(Microchip)授权,贝能科技有限公司设计制造。它可通过互换不同的处理器模块使系统对不同的处理器进行仿真。该系统由主机、处理器模块和适配器3部分组成,工作于MPLAB-IDE集成开发环境下,同时支持高级语言调试。

主要特点叙述如下。

① 功能特性:

● 采用组件方式,可更换处理器模块、器件适配器及转换座,对全系列不同封装的MCU(包括PLCC、TQFP、SOIC、SSOP封装)进行仿真。

● 集成MPLAB-IDE环境,升级迅速,并且采用项目管理方式。

● 采用多级的保护电路,性能稳定可靠。

● 多种运行方式:实时运行、连续运行、单步运行、指定断点运行、指定行运行等。

● 可以在线编辑、编译源文件和在线修改RAM、程序等。

● 支持2.0V低电压仿真,实时仿真速度高达40M。

● 具有复杂触发功能,支持多种事件触发。

● 具有代码覆盖功能,代码被访问部分可视。

● 32k×128bit实时跟踪、过滤跟踪。

● 具有逻辑探头接口,提供外部中断输入、一个触发输入、一个触发输出和最多8个跟踪/触发输入。

● 支持C语言调试环境。

● 可设定65535个硬件断点,并且可以支持多种条件断点。

② 支持型号:

支持PIC单片机全系列产品:PIC12CXXX,PIC12FXXX,PIC14CXXX,PIC16CXXX,PIC16FXXX,PIC18CXXX,PIC18FXXX。

(3)PICRICE仿真器

PICRICE是贝能科技有限公司自主开发的实时在线仿真系统,该仿真器与计算机通过USB接口相连,安装方便。计算机通过USB接口将要调试的用户程序放入仿真器存储器中,并从仿真芯片读取内部数据寄存器和特殊功能寄存器的内容进行显示,同时控制仿真器中程序的运行。系统带演示软件范例,可帮助用户快速学习仿真系统功能。

PICRICE硬件平台是PC计算机,采用中文Windows操作界面。PICRICE自身具有一种称之为“积木式”的结构,也就是由一个基本系统主机盒和一块仿真模板(PROBE)组成,主机盒配上不同的仿真模板及适配板,即能仿真不同型号的芯片。其主要特性如下:

① 功能特性:

● 采用Microchip公司提供的专用仿真芯片。

● 通过USB接口与计算机相连工作。

● 不占用用户资源,所有地址空间全部提供给用户。

● 采用硬件断点,程序运行精确定位,易于仿真调试软硬件故障。

● 单步执行,寄存器窗口实时显示内部RAM及特殊功能寄存器的内容。

● 多种运行方式:实时运行、连续运行、单步运行、指定标号运行、指定断点运行、光标所在行运行。

● 提供集成开发调试环境,可在线编辑、编译源文件并在线修改单片机内部RAM、FSR寄存器内容及指令。

● 具有仿真环境自动存储及电路的自诊断功能。

● 系统带演示软件范例,帮助用户快速学习仿真系统功能。

② 支持型号:PIC12C5XX、PIC12C67X、PIC12CE67X、PIC16C5XX、PIC16C5X、PIC16C62X、PIC16CE62X、PIC16C6X、PIC16C7X、PIC16C71X、PIC16C92X、PIC16F6XX、PIC16F7X、PIC16F87X、PIC16F87X(A)。

(4)PIC 6000仿真器

PIC 6000仿真器是南京伟福(WAVE)公司生产的一种PIC专用型仿真器,可在WAVE集成开发环境下使用。

① 伟福PIC6000仿真器性能特点:

● 仿真CPU外置:直接位于用户板上方,降低噪声,提高稳定性和仿真频率。

● 可接两种仿真头:可以配置PODPIC5XP和PODPIC67XP,仿真PIC12C208/509、PIC16C52/5X和PIC16C6X/7X。

② 伟福PIC6000仿真器软件突出优点:

● WAVE6000开发环境,中英文可选。

● 真正的集成调试环境,集成了编辑器、编译器和调试器。

● 所有类型的单片机集成在一个调试环境下,支持伟福汇编、微芯汇编、HT-PICC源程序混合调试。

● 支持软件模拟。

● 支持项目管理。

● 支持点屏功能,直接点击屏幕就可以观察变量的值,方便快捷。

● 功能强大的观察窗口,支持所有的数据类型;树状结构显示,一目了然。

● 支持ASM(汇编)、C语言,多语言多模块源程序混合调试。

● 可在线直接修改、编译、调试源程序,错误指令定位。

(5)伟福E6000系列通用型仿真器

伟福E6000系列仿真器是伟福公司生产的一种单片机通用型仿真器,可在WAVE集成开发环境下使用。该仿真器采用主机加仿真头(POD)的结构,其主机通过串行口与PC机相连。通过配置不同的仿真头,可分别对MCS-51系列、MCS-96系列和PIC等多种单片机进行仿真调试。对于PIC系列单片机,该仿真器通过更换不同的仿真头,可仿真PIC1 2C50X系列和PIC16C5X/6X/7X/8X系列。它配有DOS版和Windows版的集成开发软件,支持C语言开发,具有项目管理功能,支持点屏显示。

① 伟福E6000系列仿真器硬件突出优点:

● 配置不同的仿真头,可以仿真多种单片机,功能强大,性能可靠,为将来发展留有空间。

● 仿真CPU外置:直接位于用户板上方,降低噪声,提高稳定性和仿真频率。

● 逻辑分析仪:40通道、32K/通道、20MHz采样频率。与时间触发器配合,可以捕捉到电路上出现的非常复杂的情况,能帮助设计人员迅速准确查找到设计中的错误。

● 波形发生器:8通道、32K/通道、20MHz采样频率,可以向用户板上注入多达8路的可编程的复杂波形,为设计人员提供各种数字信号源,例如常用的串口、I2C、SPI波形。

● 跟踪器:配合事件触发器,可以进行条件跟踪,以捕捉制定条件下程序执行的轨迹,了解程序动态执行的过程。

● 代码覆盖:在运行复杂结构的程序时可以实时了解程序的执行情况,可以动态地观察指定条件下某代码段是否已被执行。

● 程序时效分析:统计每个函数、每条指令的运行时间及占整个程序运行时间的百分比,为设计师提高程序效率、检查程序错误提供帮助。

● 数据时效分析:统计每个变量、每个存储单元的访问次数及占整个程序访问次数的百分比,为提高程序效率、检查程序错误提供帮助。

● 影子存储器:在用户程序运行时,可以观察外部存储器或外部变量的变化情况,设计时无须停下程序,也能直观、实时地监视外部数据的变化。

● 硬件测试仪:可以静态地设置数据总线、地址总线以及ALE、PSEN、BHE、RD、WR等总线控制信号,从指令执行底层控制、分析电路工作状态,可以准确方便地检测到电路中的隐蔽错误,另外,其操作采用Windows界面,更加直观、方便。

● 事件触发器:可以设置地址条件、数据条件、控制信号条件、外部信号条件以及它们的任意组合,事件触发器可以控制仿真器的运行,同时也可以控制逻辑分析仪的启停。

● 逻辑笔:可以测量到电路上的电平状态、脉冲频率,可以测量5V以下的直流电压值,是一种方便实用的分析工具。

② 伟福E6000系列仿真器软件的突出优点:

● Wave/Keil uVision2双平台,中/英文可选。

● 真正的集成调试环境,集成了编辑器、编译器和调试器。

● 众多强大软硬件调试手段,包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、计时器、程序时效分析、数据时效分析、硬件测试仪以及事件触发器等。

● 所有类型的单片机集成在一个调试环境下,支持汇编、C语言、PL/M源程序混合调试。

● 支持软件模拟。

● 支持项目管理。

● 支持点屏功能,直接点击屏幕即可观察变量的值,方便快捷。

● 观察窗口功能强大,支持所有的数据类型,树状结构显示,一目了然。

● 在线直接修改、编译、调试源程序,错误指令定位。