简介: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 Plus(PCB 布线)等模块。现在大家常说 的 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 填仿真时长,比如 10ms;Maximum 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. 从原理图到 PCB:DRC、网表导出与 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 模型文件和仿真配置文件复制到工程目录下的独立文件夹里,而不是用软件默认的全局路径。这样工程换电脑打开时,模型路径不会断,省去了很多重新配置的麻烦。别小看这个动作,在维护老项目的场景里,它能帮你省下大量排查时间。
本文还有配套的精品资源,点击获取