Pspice 9.2实战手册:从原理图绘制到电路仿真与PCB设计
简介OrCAD PSpice 9.2 是 Cadence 推出的一款经典模拟与混合信号电路仿真工具主要面向电子工程师、硬件设计人员和高校相关专业学生可用于电路原理图绘制、仿真验证与 PCB 设计前端的信号完整性分析也适合作为课堂教学和自学入门的配套环境。压缩包内共有 609 个文件以可执行程序、动态链接库、元件符号库、设计工程文档和说明文件为主其中可执行程序与动态库支撑软件运行元件库提供常用器件模型设计文档演示完整仿真流程整包约 50.27MB携带和部署都很方便。该资源当前已有 1175 人学习内置大量示例工程和仿真输出文件覆盖直流偏置点分析、瞬态分析和交流扫描等常见仿真类型并附有对应输出数据可供比对。读者可跟着案例尝试修改元件参数与激励源观察不同设置对波形的实际影响再结合 OrCAD 集成设计流程说明理解从前端原理图到后端 PCB 的衔接思路。对于进行课程设计、毕业设计或小型电子项目验证的开发者这套完整版本可快速构建仿真环境减少软件安装和配置障碍有效提升电路调试与评估效率。 手边还留着 OrCAD Pspice 9.2 安装光盘的人多半是十年前入行的硬件工程师或者电子信息类专业的学生。这个版本出自 Cadence 在千禧年前后发布的 OrCAD 9.2 套件当年可以说是原理图设计加仿真的黄金组合也是很多人接触的第一套正经 EDA 工具。直到今天在一些教学课件、老项目的维护文档里依然能看到它的影子甚至有不少人专门在虚拟机里装一个 XP 环境就为了跑这套老软件。这篇文章想聊的就是 Pspice 9.2 这套经典工具链它到底能做什么原理图绘制阶段有哪些绕不开的操作细节仿真参数怎么配才能出靠谱波形以及如何把原理图顺利交接给 Allegro 做 PCB。内容主要围绕我自己的使用经验展开适合刚接触 OrCAD Capture 和 Pspice 的初学者也适合那些需要维护老项目、或者想回头补一补基本功的工程师。1. 为什么 Pspice 9.2 至今还有人用1.1 版本定位与典型使用场景OrCAD 9.2 是一个整合套件里面包含了 Capture CIS原理图输入、Pspice A/D模数混合仿真、Layout PlusPCB 布线等模块。现在大家常说 的 OrCAD Capture 和 Pspice基本就是从这套老软件演变而来的。9.2 版本之后Cadence 又陆续推出了 15.x、16.x、17.x 系列界面和文件格式都有变化但核心的仿真引擎思路没有本质差别。这个版本最典型的应用场景有三个高校的电路课程设计、中小型硬件公司的原理图预研验证、以及老产品的维护改版。我自己读研时就用的 9.2 做电源模块的仿真当时实验室电脑还是单核处理器加 1GB 内存跑一个 Buck 电路的瞬态仿真也就几秒钟的事。老版本最大的优点就是轻量启动快对电脑性能要求极低装在一台老旧笔记本上依然能顺畅工作。1.2 新版与老版的差异对比很多人在网上问“我现在学 OrCAD Capture是不是应该直接学 17.x 或者 22.x老版本还有必要碰吗”我的看法是如果你只是为了跟着教材做仿真验证9.2 完全够用但如果你要直接衔接现代 PCB 设计流程建议还是用 Allegro 配套的新版本 Capture。从实操角度讲9.2 和现代版本的主要区别集中在三块文件格式不同老版本工程文件是 .opj 和 .dbk新版是 .opj 加 .dsn原理图库文件的组织方式也有差异。界面交互有区别比如属性编辑器的弹出方式、元件搜索的交互逻辑都和老版本不太一样。模型兼容性需要留意9.2 默认自带的 PSpice 模型库比较老一些新器件厂商提供的模型可能要求更高版本才能正常仿真。即便如此9.2 的仿真引擎本身依然可靠尤其对于教材里常见的 RC 充放电、二极管整流、运放放大、三极管开关等经典电路结果和新版几乎没有差异。2. 原理图绘制阶段最容易卡住新人的几个操作点2.1 元件库使用与元件放置的方法OrCAD Capture 自带的元件库非常丰富这也是它在教学领域普及的重要原因。9.2 版本里常用的库文件包括ANALOG 库各种通用模拟器件比如电阻 R、电容 C、电感 L、变压器等。DISCRETE 库分立半导体器件二极管、三极管、稳压管都在这里。SOURCE 库仿真专用的电源与信号源比如 VDC直流电压源、VAC交流源、VSIN正弦源、VPULSE脉冲源等。OPAMP 库常见的运算放大器模型比如 LM324、UA741。74 系列和 4000 系列数字逻辑库做数字电路仿真时用。放置元件时在 Capture 的元件浏览窗口里选好库搜索元件名双击就能放到原理图上。这里有一个很重要的习惯仿真电路的电源和信号源必须从 SOURCE 库里选而不是画原理图时用的电源符号。因为 Pspice 仿真引擎不认识单纯的电源网络标签它需要的是带仿真模型的电源元件。另外我建议从一开始就把 C1、R1 这类位号命名规则记牢Pspice 对元件名称的命名要求比较严格位号不能重复不能有非法字符否则仿真会报错。放置元件后觉得位号乱不要紧后面可以用自动编号功能统一整理。2.2 位号自动填充与重新编排的正确姿势画完一张原理图后位号一般不会是连续整齐的尤其是复制粘贴元件比较多的情况。这时用 Tools 菜单下的 Annotate 功能就能一键整理位号。操作路径是Tools → Annotate然后在弹出的对话框里选择 Incremental reference update增量更新或者 Unconditional reference update无条件全部重排。新手最容易踩的坑是搞不清这两个选项的区别。Incremental 只会给“位号还是问号”的元件分配新位号已经编号的不动如果你复制了一个 R10新复制出来的是 R10A再用 Incremental 会把 R10A 改成下一个空号而原有的 R10 保持不变。Unconditional 则是把所有元件位号全部打乱重新编号与原理图上的摆放顺序有关一般建议只在正式排版完成后用一次。还有一个实用的技巧在 Annotate 对话框里可以设置编号的方向比如先按从上到下、再按从左到右排序。这让位号顺序和视觉阅读顺序更一致后续调试电路时对着原理图找元件会舒服很多。2.3 自己创建 Title Block 和放置网络标签标题栏Title Block是原理图右下角那个包含图名、图号、设计者、日期的表格。9.2 自带的标题栏比较简单而且很多时候公司要求用统一的模板所以需要自己创建。最快的办法是改现有的在原理图页面右键选 Edit Object Properties找到标题栏里的文本属性直接修改。如果需要新建模板可以复制一个现有的 Title Block 元件在库里打开编辑把里面的文字和线条按公司格式调整好保存成一个新的库文件。放置时通过 Place → Title Block 命令选择对应的库和元件即可。放置网络标签Net Alias也是日常高频操作。快捷键是 N或者在 Place 菜单下选 Net Alias。这里要特别注意网络标签的命名要符合 Pspice 规则不要用中文、不要带空格、不要以数字开头否则 DRC 和仿真都可能出问题。我习惯用功能前缀加大写字母的方式命名比如 VCC_5V、SIG_CLK、IO_EN。2.4 处理 Text 说明文字重叠问题很多人在网上问“Orcad 在进行 text 说明时内容出现重叠是怎么回事”。这个问题的根源通常有三个第一个原因是文字层设置不对。原理图里有多种文字类型比如 Title Block 里的文字、网络标签、普通注释文本它们属于不同的属性类别。你添加普通注释时如果误用了 Title Block 的属性就可能和原有文字叠在一起。第二个原因是放置位置太随意。9.2 的网格捕捉默认是 0.1 英寸但文字放置时不一定自动吸到网格上缩放比例不同视角下看起来就会重叠。第三个原因是字体大小不匹配。新加的文本字体若比周围文字大很多视觉上就会“压”住周边内容。解决方法很简单右键点击重叠的文本选 Display Properties把字体大小调成和周围文字一致或者用鼠标拖动微调位置。如果重叠发生在不同层可以打开颜色设置把不需要显示的层关掉再查看。另外养成一个好习惯文字说明和电路图形之间至少留出一个网格间距的距离。3. Pspice 仿真全流程从原理图到波形输出3.1 仿真前的模型检查不可跳过在点仿真按钮之前先确认所有元件都有对应的 PSpice 模型。选中一个元件查看它的属性里面应该能看到 PSpice Template 字段比如电阻是R* %1 %2 %VALUE电容是C* %1 %2 %VALUE。有这一行说明 Pspice 知道怎么把原理图符号转换成仿真模型。如果是自己建的库元件或者第三方模型还要确认模型文件路径已经添加到仿真配置里。具体操作是Pspice → Edit Simulation Profile → Configuration Files在这里添加 .lib 模型库文件。很多人第一次仿真报错“Model not found”八成就是漏了这一步。另外很重要的一点仿真电路一定要有明确的参考地0 节点。模拟电路仿真不同于数字逻辑仿真没有地的话所有节点电压都是悬空的仿真结果没有任何意义。3.2 创建仿真配置文件与常用分析类型在 Capture 里点击 PSpice → New Simulation Profile给仿真起个名字就可以开始设置分析类型了。9.2 支持的分析类型很多但入门阶段掌握以下四种就够用了它们的对比和建议设置如下分析类型作用典型参数设置适用场景Bias Point静态工作点分析无需设置默认计算放大电路静态点、电源分压验证DC Sweep直流扫描扫描变量选电压源起始值、结束值、步长二极管伏安特性、三极管输出特性AC Sweep/Noise交流小信号分析起始频率、结束频率、扫描点数/倍频程滤波器幅频特性、放大器带宽Time Domain (Transient)瞬态分析运行时间、最大步长、初始条件开关电源启动波形、信号时域响应以最常见的瞬态分析为例我一般这样设置Run to time 填仿真时长比如 10msMaximum step size 填最大计算步长比如 10us。这两个参数直接决定仿真速度和精度步长太大波形粗糙太小浪费时间。经验法则是最大步长控制在信号周期的 1/100 到 1/1000 之间。DC Sweep 的设置里有一个容易忽略的小地方扫描变量要选对。比如我想看电阻 R1 从 1k 变到 10k 时输出电压的变化扫描变量类型就要选 Global parameter然后在名字栏填 R1而不是选 Voltage source。3.3 运行仿真与 Probe 窗口操作技巧配置完成后点击 PSpice → Run 就能启动仿真。仿真正常结束会自动弹出 Probe 窗口这是看波形的界面。在 Probe 窗口里添加波形的方式有两种菜单 Trace → Add Trace弹出对话框里列了所有可观测的节点电压和元件电流也可以直接在原理图上点击一根导线Pspice 会自动添加该节点的电压波形。双击元件引脚还能看电流波形。Probe 窗口的操作有几个实用技巧用光标工具可以读取波形上某个点的具体数值做峰值测量很方便。坐标轴可以切换线性和对数频率特性曲线一般用对数横轴更直观。如果波形太密看不清可以用 Zoom 工具框选放大局部区间。多根波形叠加时右键可以设置每根曲线的颜色和线型。还有一个细节仿真结束后Pspice 会在工程目录下生成 .out 输出文件里面记录了所有节点的静态工作点和仿真统计信息。Bias Point 分析的结果在 Probe 窗口默认不显示要看静态工作点可以在仿真结束后点 PSpice → View Output File里面能找到每个节点的电压和每个元件的功耗。3.4 仿真报错的常见原因与排查思路Pspice 的报错信息对新手不太友好经常是一大段英文加一个数字编号。我整理了自己这几年最常遇到的几个错误类型和解决办法ERROR(ORPSIM-15142): Node X is floating节点 X 悬空。原因是某个引脚没接任何网络放大原理图检查悬空引脚接上地或电源即可。ERROR -- Model not found模型找不到。先确认元件属性里的 PSpice Template 字段是否完整再检查仿真配置文件的模型库路径有没有加对。ERROR -- Convergence failure in transient analysis瞬态分析不收敛。这是模拟仿真最经典的问题解决办法先从减小最大步长开始然后把相对误差容限 RELTOL 从默认的 0.001 改为 0.01如果还不行可以给电路加一个并联大电阻到地人为增加阻尼。WARNING -- Node X is unused节点没用到。这个一般不影响仿真结果但说明电路中有断开的网络建议修掉避免后续误判。遇到报错不要慌先看错误指向的节点编号再到原理图上确认对应网络。Pspice 的定位功能会把报错节点在原理图上高亮显示这个功能我用过无数次排查效率很高。4. 从原理图到 PCBDRC、网表导出与 Allegro 关联4.1 DRC 检查与 missing package 问题排查原理图画完仿真验证通过下一步往往是生成网表送 PCB。这中间有一道必经工序设计规则检查DRC。操作路径是 Place → Design Rules Check弹出的对话框里有电气规则和物理规则两大类选项。电气规则包括单端网络检查、无连接引脚检查、电源短路检查等物理规则包括位号重复检查、元件间距检查等。一般保持默认选项点 OK 就会生成 DRC 报告。实际工程中我遇到最多的 DRC 报错是“missing package”也就是某个元件的封装信息缺失。这个问题的根源往往是原理图元件库里的 PCB Footprint 属性没有填。解决方法是批量选中报错元件打开属性编辑器找到 PCB Footprint 列统一填上对应的封装名比如电阻填 0603、0805电容填 0603、0805芯片按实际封装填 SOP-8、QFP-48 之类。这里有一个容易忽略的细节Capture 9.2 的属性编辑器里PCB Footprint 列默认可能不显示。需要在属性编辑器里右键选择 View 的列配置把 PCB Footprint 列调出来再批量修改。4.2 导出网表并与 Allegro 建立关联OrCAD Capture 与 Allegro 的联动是业界很成熟的流程。Capture 负责原理图设计Allegro 负责 PCB 布局布线两者通过网表文件衔接。在 Capture 中导出网表的操作是File → Export → Netlist或者用 Tools → Create Netlist。弹出的对话框里选 Allegro 选项卡输出格式保持默认的allegro.dll指定好输出目录点 OK 就会生成一个 .net 网表文件。到 Allegro 这边操作是 File → Import → Logic选择刚才生成的网表文件设置好元件库路径就可以把元件和连接关系导入 PCB 编辑器。导入成功后Allegro 的 Place 菜单下就能看到所有元件可以开始布局了。这里分享一个我踩过的坑网表导入 Allegro 时提示找不到元件封装通常是因为 Allegro 的封装库路径没有指定到封装所在的目录。解决方法是提前在 Allegro 的 User Preferences 里配置好 padpath 和 psmpath指向封装库的实际路径。4.3 重新编排位号与查看多部分元件前面说的 Annotate 功能不仅能整理位号还能用于网表导出前的位号统一。如果你在原理图里手动改过一些位号导出网表前用一次 Unconditional 重排可以确保位号连续、无重复减少 PCB 阶段的沟通成本。关于多部分元件比如一个 74LS00 芯片里有四个与非门原理图上会分成 U1A、U1B、U1C、U1D 四个部分。9.2 里查看某一部分的方法是双击元件符号在属性里看 Part Reference 和 Part Value并在 View 菜单下切换 Part 浏览。在原理图全局图上这些部分可能会有连线关系但物理封装是一个整体导出网表时不会出错。对于初学者我建议在画多部分元件时把不同部分就近放置用网络标签连接同一网络的引脚这样可读性最好也比跨区域拉长线清爽很多。先把 9.2 的流程摸透你会发现后来接触 16.6、17.4 等新版本时很多操作逻辑都是相通的。我个人的体会是老版本虽然界面朴素、功能不如新版花哨但它把原理图绘制、仿真验证、网表输出这条主线做得非常扎实非常适合用来建立对 EDA 流程的整体认知。如果这套流程你能顺畅跑通再上手任何新版软件都不会有太大障碍。最后再分享一个我自己的小习惯每完成一个阶段的仿真验证我会把对应的 .lib 模型文件和仿真配置文件复制到工程目录下的独立文件夹里而不是用软件默认的全局路径。这样工程换电脑打开时模型路径不会断省去了很多重新配置的麻烦。别小看这个动作在维护老项目的场景里它能帮你省下大量排查时间。本文还有配套的精品资源点击获取