1.1 Proteus功能概论

Proteus是一个基于ProSPICE混合模型仿真器的、完整的嵌入式系统软硬件设计仿真平台。它由ISIS和ARES两大应用功能软件组成,前者是一个原理图输入软件,用于电路原理设计和仿真,后者则用于PCB电路图布线。Porteus的具体功能模块组成结构如图1.1所示。

图1.1 Proteus的具体功能模块组成结构

Proteus可以实现从原理图设计、单片机编程、系统仿真到PCB设计的流程化,真正实现了从概念到产品的完整设计,其主要特点如下:

  • 支持ARM7、PIC、AVR、HC11和MCS-51系列的嵌入处理器模型。
  • 提供大量交互外设模型,包括LCD显示器、RS232终端、通用键盘、开关、按钮、LED等。
  • 提供强大的调试功能,如访问寄存器与内存和设置断点与单步运行模式。
  • 提供如IAR、Keil和Hitech等开发工具的C源代码和汇编的联合调试。
  • 一键“make”特性,即一个键完成编译与仿真操作。
  • 内置6000多种标准SPICE模型,完全兼容制造商提供的SPICE模型。
  • DLL界面为应用提供特定的模式。
  • 提供基于工业标准的SPICE3F5混合模型电路仿真器。
  • 提供14种虚拟仪器,包括示波器、逻辑分析仪、信号发生器等。
  • 提供强大的基于图形的分析功能,包括模拟、数字、混合瞬时图形,可以对频率、转换、噪声、失真、傅里叶等曲线进行分析。
  • 提供多种数字和模拟信号发生器,包括直流、正弦、脉冲、分段线性、音频、指数、尖脉冲、脉冲、时钟等。
  • 支持用户自行设计库元器件。
  • 支持基于元器件的PCB布线系统。

1.1.1 Proteus ISIS仿真软件

Proteus ISIS软件提供了交互式仿真和基于图表的仿真两种不同模式,还提供了对嵌入式处理器系统的仿真方法。Proteus ISIS可以用于对模拟电路、数字电路、嵌入式处理器应用系统的仿真,这是本书介绍的重点。

1.Proteus ISIS的交互式仿真

Proteus ISIS的交互式仿真实时直观地反映了电路设计的仿真结果,如图1.2所示。这是一个使用开关控制电池驱动的灯泡点亮和熄灭的电路,当开关断开时,灯泡熄灭;当开关闭合时,灯泡被点亮。

在图1.3所示的交互式仿真图中可以看到,当SW1开关闭合时,灯泡被点亮发光;而当SW1开关断开时,灯泡熄灭。用户可以在仿真过程中实时看到电路的实际变化情况。

图1.2 交互式仿真应用电路

图1.3 交互式仿真输出效果

2.Proteus ISIS基于图表的仿真(ASF)

在仿真过程中有时希望能定量地记录和分析仿真系统的相应参数变化。此时可以使用基于图表的仿真(ASF)模式,该模式可以用来精确分析电路的各种性能,如频率特性、噪声特性等。

图1.4 RC滤波电路

如图1.4所示,这是典型的RC滤波电路,需要对其传输曲线进行分析,此时可以使用基于图表的仿真模式。在该RC电路中,其电压输入和输出波形可以使用ANALOGUE模拟图表来观察,如图1.5所示。

图1.5 基于模拟图表的仿真

除了可以直观地在图表中观察RC电路在一段时间(该时间长度可以由用户自行设定)内的输入、输出波形之外,当鼠标移动到坐标轴的对应点时还可以看到相应的输出数据,如图1.6所示。

图1.6 输出图表的数据观测

在需要观察RC滤波电路不同参数时的频率特性曲线时,可以使用仿真图表中的交流扫描分析图表,其输出如图1.7所示。

图1.7 交流扫描曲线

Proteus ISIS同样支持数字电路的图表仿真,图1.8所示是一个使用基础与非门来搭建RS触发器的电路。

图1.8 RS触发器

与非门U1和U2采用可编程数字逻辑信号发生器作为信号源,其中U1(D0)的输入如图1.9所示,该波形可以由用户自行指定。

图1.9 可编程数字逻辑信号发生器的输入

在Proteus ISIS中添加DIGITAL数字仿真图表,可以看到该电路的输入和输出波形,如图1.10所示。用户也可以通过指定对应的坐标轴位置来观察当前点的输入和输出逻辑电平。

图1.10 数字电路图表仿真的输入和输出波形

3.Proteus ISIS的嵌入式处理器系统仿真

Proteus ISIS不仅可以对电路进行实时的交互式仿真和基于图表的仿真,还可以对基于嵌入式处理器的应用系统进行包括电路图设计、软件编写、软件编译、跟踪调试等操作。

Proteus ISIS内置库自带并支持MCS51、AVR、PIC、ARM等多种嵌入式处理器,如图1.11所示。

图1.11 Proteus ISIS内置库的嵌入式处理器

Proteus ISIS除了支持嵌入式处理器的原理图设计外,还支持嵌入式处理器的多种语言开发环境,如表1.1所示。

表1.1 Proteus ISIS支持的开发语言

注意

HEX代码不带调试信息,它只能仿真,不能调试。

对于COD代码格式,Proteus ISIS的调试只能在机器码下单步调试,不能进行源代码调试,也不支持变量窗口观测,建议优先考虑COFF格式。

图1.12所示是在Proteus ISIS中设计并仿真一个基于ATMEGA16 AVR单片机的数码管显示系统的电路。

图1.12 AVR单片机应用系统电路

除了电路设计外,Proteus ISIS还支持代码的开发,图1.13所示是在Proteus ISIS进行51单片机汇编语言开发的环境。

图1.13 Proteus ISIS的软件代码开发环境

在Proteus ISIS的仿真调试中可以使用单步、连续、跟踪等调试方法,还可以添加相应的断点,如图1.14所示。

图1.14 仿真调试窗口

在仿真过程中,还可以观察嵌入式处理器相应的内部寄存器、存储器、I/O端口等的变化情况,如图1.15所示。

1.1.2 Proteus ARES PCB绘图软件

Proteus不仅可以完成电路的原理图设计和仿真,还可以进行印制电路板(PCB,Printed Circuit Board)系统特性的设计,以及手动、自动布线。

图1.15 处理器寄存器观察窗口

Proteus包括一个ARES(Advanced Routing and Editing Software)设计软件,它是一个具有32位数据库,能够进行元器件自动布局、撤销和重试的,具有自动布线功能的超强性能的PCB设计系统,其自动布局和自动布线工具使PCB的设计尽可能简便,复杂的工作尽量都由计算机来完成。同时,ARES也支持手动布线,系统限制相对较少,其主要特点如下:

  • PCB层数多,支持16个铜箔层、两个丝印层和4个机械层。
  • 能够将元器件进行任意角度的布置。
  • 在放置元器件时能够自动生成飞线和力向量。
  • 具有理想的基于网络表的手工布线系统。
  • 物理设计规则检测功能可以保证设计的完整性。
  • 提供超过1000种标准封装的元器件库。
  • 提供完整的CAD/CAM输出及嵌板工具。
  • 当用户修改了Proteus ISIS生成的原理图并重新加载网表时,ARES将更新与之相关联的元器件和连线,同理,ARES中的变化也将自动反馈到原理图中。

下面介绍使用Proteus来绘制PCB电路板图的基础操作步骤。

(1)绘制Proteus ISIS原理图。这是PCB电路板设计的基础,在本步骤中主要完成原理图的绘制,包括生成网络表。本步骤的重点是保证电路连线的准确性,并且为电路中涉及的相关元器件指定封装信息。

注意

有时也可以不绘制原理图,而直接进入PCB设计。

对于用于仿真的原理图,需将信号源及测量仪表的接口连上适当的接插件。

(2)电路板整体规划。在本步骤中要对PCB进行包括尺寸、层数、元器件安装位置的规划。

(3)设置相关参数。这是PCB设计中非常重要的步骤,需要设置的参数主要包括元器件的布置参数、层参数、布线参数等。一般来说,有些参数采用其默认值即可。

(4)装入网络表及元器件封装。网络表是Proteus ARES进行自动布线所必须遵循的规则,也是Proteus ISIS原理图设计与Proteus ARES的接口。只有将网络表装入之后,才可能完成对电路板的自动布线。元器件的封装就是元器件的外形和引脚尺寸定义,对于每个装入的元器件必须有相应的封装信息,才能保证PCB设计的顺利进行。

(5)元器件的布局。在规划好电路板并装入网络表后,用户可以让程序自动装入元器件,并自动将元器件布置在电路板边框内。当然,也可以进行手工布局。元器件布局合理后,才能进行下一步的布线工作。

(6)布线。可以使用自动布线和手动布线。如果相关的参数设置得当,元器件的布局合理,自动布线的成功率几乎是100%。但是,由于某些电路比较复杂或对某些走线有比较特殊的要求(如高速RAM的PCB图要求数据线近似等长),此时可以采用手动布线,由用户自行制定PCB图中所有或部分引线的连接方式。

(7)手工调整。在布线结束后,往往存在令人不满意的地方或不符合电气规则检查的地方,此时需要手工进行调整。

(8)文件保存及输出。在完成电路板的布线后,保存完成的电路线路图文件。然后利用各种图形输出设备,如打印机或绘图仪,输出电路板的布线图。

图1.16所示是使用Proteus ARES设计的PCB电路图。

图1.16 使用Proteus ARES设计的PCB电路图