
刚装好Cadence OrCAD Capture的时候很多人打开软件第一件事就是按一下P键试试放元件结果弹出的Place Part窗口里左边Libraries列表自带了一堆.olb库文件诸如DISCRETE、OPAMP、CONNECTOR、MICROCONTROLLER……名字倒是认识可具体哪个库里有什么、该怎么选十有八九会犯迷糊。这还不算完用着用着还会遇到“仿真器件未定义”“位号被自动重排”“导出的PDF搜不了文字”这些跟元件库强相关的问题。这篇文章就把Cadence OrCAD Capture自带元件库这件事掰开揉碎讲清楚包括库文件在哪、每个库里大致放了什么器件、怎么把库挂到工程里、怎么快速定位元件以及我这些年被元件库坑出来的实战经验。说实话掌握自带库的逻辑比你到处找第三方元件库更省时间因为Cadence官方库是PSpice仿真和Allegro封装衔接最顺畅的一套资料。1. 先搞清楚自带元件库到底是怎么回事1.1 元件库不只是“一堆元器件符号”在Cadence OrCAD Capture里自带元件库主要体现为.olb文件全称很直白就是OrCAD Library。一个.olb文件本质上是一个符号数据库里面每个Part除了包含在原理图上看到的图形符号、引脚编号和引脚名称之外还附带了Reference、Value、Footprint、PSpiceTemplate等一系列属性。很多刚入门的朋友以为库就是“画好的一堆电阻电容图标”这种理解太窄了。你在原理图上看到的R1、C1这些位号以及后续PCB设计时需要的封装名甚至PSpice仿真时用的器件模型全都和元件库里的属性绑定在一起。我自己常用的类比是元件库里的一个器件就相当于一个完整的“人设档案”。原理图符号是人的长相引脚编号是人的身体部位位置Footprint属性是他现在住的小区PSpiceTemplate则是他的性格参数。你在原理图里放的只是一个“人设引用”真正干活的时候PCB工具靠Footprint去找封装仿真器靠PSpiceTemplate去调用模型。所以当你发现一个元件怎么都关联不上仿真模型或者导出的网表里封装名是空的多半是库里的属性没配好。1.2 自带库到底藏在哪个目录如果你用的是Cadence SPB 17.4或者17.2这类常见版本装好之后元件库默认在安装目录下的tools/capture/library文件夹。举个例子默认路径通常是这样的C:\Cadence\SPB_17.4\tools\capture\library在这个文件夹里你可以看到大量.olb文件同时还有不少.lib文件。这里要特别注意.olb是原理图符号库给Capture界面用的.lib是PSpice仿真模型库给仿真引擎用的。两者不是一回事但又经常成对出现。很多自带库里既有.olb又有同名.lib就是方便你画完原理图直接拿去仿真。这个路径很重要因为以后你自己下载第三方库、或者公司内部共享元件库都建议统一放到一个固定目录然后在Capture里通过Library Path选项去搜索而不是每次都手动Add Library。经常有人换了电脑打开工程发现一堆元件变成“找不到”十有八九就是因为库的路径和原来不一样了。1.3 版本不同自带库会有一点差别Cadence这些年从16.x、17.2、17.4一路更新到22.xCapture的库文件也随之调整过。老版本里的一些库可能被合并了新版本又增加了一些厂商库和电源类库。比如在老一点的OrCAD 9.2里很多器件分散在较小的库文件中而在SPB 17.4里常见器件基本都集中在DISCRETE、OPAMP这类大类库中。这也就解释了为什么网上有人问“orcad/pspice 9.2免费下载”之后对着新版本发现库名称对不上。我的建议是别纠结于把每个库文件都背下来而是要掌握库的命名逻辑和查找方法。Cadence官方库的命名基本遵循“按器件功能分库”的思路看到名字基本能猜到里面是什么。抓到这条主线不管版本怎么变你都能快速上手。另外提醒一句.olb文件是有内部版本概念的低版本的Capture打开高版本创建的库有时候会报版本不兼容这个放到后面常见问题里细说。2. 自带元件库分类全览哪些库值得重点关注2.1 模拟与分立器件类日常画板的主力打开library目录第一个要记住的是DISCRETE.olb这是分立器件的综合库里面涵盖了两千多种常见的二极管、三极管、LED、稳压管、晶闸管、MOS管等。比如你想找2N3904三极管、1N4148二极管、5mm红色LED基本都能在这个库里翻到。实际使用中这个库的出镜率非常高因为一个板子上总少不了几个三极管或二极管。紧接着是RESISTOR.olb和CAPACITOR.olb分别对应电阻和电容符号。但这里有一个坑这两个库里大多是基础符号比如阻容的通用符号R、C以及部分用于仿真的带模型符号。真正项目里用的电阻电容多数工程师会自己建带Footprint属性的符号或者从公司库调用很少直接拿官方的裸符号用因为官方符号的Footprint属性经常是空的。PASSIVE.olb也是类似定位里面收了一些无源器件的通用模型。TRANSISTOR.olb则集中放各类晶体管如果你要画放大电路或者电源电路在这个库里找三极管、MOS管很快而且这些器件基本都带了PSpice仿真模型。OPAMP.olb是运算放大器库覆盖了大量经典运放型号比如LM741、OP07、TL081等等。很多模拟电路仿真教程里用的运放就是从这个库里拖出来的。ANALOG.olb是一个更综合的模拟器件库里面除了运放还有比较器、模拟开关、基准源等。LDO.olb主要是低压差线性稳压器比如AMS1117这类做电源模块的时候很实用。BATTERY.olb则是电池符号库画供电方案、备电电路时会用到。2.2 数字逻辑类老设计和新设计都能用数字电路设计方面Cadence自带库主要靠LOGIC.olb、TTL.olb和CMOS.olb这三个库撑起来。LOGIC里面有很多通用逻辑门关键是你按型号搜的时候直接输7400、74LS00、74HC32这种标准型号一般都能搜到。TTL库主要放的是74系列TTL芯片CMOS库则主要放4000系列CMOS芯片例如CD4001、CD4017这类。实际做项目时现在很少有人用一堆74系列芯片搭电路了但在教学、竞赛或者维修老设备时这些库还是能救命。尤其是很多课程设计里喜欢用74LS系列做计数器、译码器你在TTL库里直接搜型号就行。需要注意一点同一个逻辑功能往往有不同厂商的后缀比如74LS00和74HC00引脚排列基本一致但电平标准不同。画原理图的时候型号一定要选准不然之后做PCB和焊接会对不上。CAPSYM.olb这个库比较特殊它不是放实体元件的而是放原理图绘制过程中的“图纸符号”包括电源符号VCC、GNDoff-page连接符层次图的端口符号等。很多人第一次按P之后在Place Part窗口里搜GND结果半天搜不到就是因为GND这类的电源符号一般放在CAPSYM库里需要通过Place Power命令或者直接在库列表中找到CAPSYM来放置。这算是一个常见卡点。2.3 连接器与机电类画系统连接时别找错库CONNECTOR.olb是连接器库包括排针、排母、D-Sub、USB、RJ45等常见接口符号。如果你画单片机开发板、嵌入式主板这个库里的排针和座子会非常常用。比如要放一个2.54mm间距的2x20排针你可以在CONNECTOR里搜HEADER 40或者按照引脚数找对应的符号。不过这个库的符号风格比较老很多连接器符号画成一个大的矩形框加引脚标号看起来不够直观。SWITCH.olb放的是各种开关比如按键、拨码开关、继电器开关等。RELAY.olb则是继电器库找小型继电器符号很方便。MOTOR.olb是电机符号库画电机驱动电路的时候会用到。MECHANICAL.olb里放了一些机械结构相关的符号例如安装孔、导轨、屏蔽壳的示意符。这些库虽然看起来不起眼但真到画系统级别原理图时你会发现少了它们还真不行。这里多说一句连接器库里的符号只负责把引脚在原理图上表达清楚实际的封装千差万别。比如同样是2.54mm排针有直插、贴片、带耳、不带耳Footprint属性一定要自己确认清楚完全依赖官方的默认封装名大概率会出错。这也是我一直强调的官方库是个好老师但不能当保姆。2.4 微控制器与厂商库找51单片机看这里很多朋友问“51单片机的元件库在哪里”在Cadence自带的库中答案通常是MICROCONTROLLER.olb。这个库里收录了不少经典微控制器符号比如8051、PIC16F877、PIC18F452等。你如果要做51单片机最小系统可以直接打开这个库搜索8051或者AT89C51有些版本包含ATMEL的8051内核芯片。库里的符号把P0、P1、P2、P3、EA、XTAL这些引脚都画好了比你自己画省事多了。不过要承认Cadence自带的单片机库型号更新非常慢像STM32F103这些主流ARM芯片在官方库里基本找不到即使偶尔有也是老型号。这就是为什么很多工程师最终都会走“自己建库”这条路。另外像ATMEL.olb这类厂商库虽然名字看起来是某个厂商专用但其实覆盖范围有限很多新器件依然要去官网下载官方符号库或者自己照着数据手册画。2.5 仿真特殊库信号源和仿真标注的藏身处如果你用PSpice做仿真会发现还需要一类库里面放的是信号源和仿真指令符号。例如VSRC直流电压源、ISRC直流电流源、VSIN正弦电压源、VPULSE脉冲电压源和PARAM参数设置符号、OPOINT等。这类符号在Cadence里也有对应的库通常在SOURCE.olb和SPECIAL.olb中新版本可能放在pspice对应的符号库里。搜索的时候你直接输入VSRC就能在Part里看到。很多人做仿真的时候明明画了电阻电容却找不到信号源就是因为没添加仿真源的库。这个细节很关键。信号源的库和普通原理图库不在同一个文件里但添加方式一样在Place Part窗口通过Add Library把对应库加进来就行。3. 自带元件库的完整实操流程3.1 新建工程后先把常用库挂进来打开Cadence OrCAD Capture建议用OrCAD Capture CIS模式启动因为这个模式比普通Capture多了CISComponent Information System数据库功能平时画原理图不受影响需要管理库时也更方便。新建一个工程之后在原理图页面里按P弹出Place Part窗口。窗口左侧就是当前加载的Libraries列表默认一般会加载一部分常用库但不一定全。如果需要添加其他库点击窗口右上角的Add Library按钮弹出文件选择框定位到我们前面说的tools/capture/library目录选中你需要的.olb文件确定加入。如果你想每次新建工程都自动加载一批固定库建议在Place Part窗口的Library Path Options里配置搜索路径把公司库里放的目录加进去以后就不用来回手动Add了。这里分享一个我的习惯平时画板子我一定会在工程里挂上DISCRETE、RESISTOR、CAPACITOR、CONNECTOR、OPAMP、MICROCONTROLLER这几个最基础的库。别看挂得多其实Capture的库加载不会卡你搜索元件时反而因为库全了更省时间。真正需要优化的是不要同时挂十几个厂商库那样搜索时容易匹配到一堆乱七八糟的同名器件。3.2 快速定位元件的三个实用方法第一直接在Part输入框里输入元件名称。比如想放2N3904你就输入2N3904回车右侧的Part List会自动定位。第二用通配符模糊搜。比如你记得型号里有“3904”但记不清完整名字可以在Part框里输入*3904*它能帮你搜出所有包含3904的元件。第三在左侧库列表里一个个点开看。这个办法适合不急着干活、想熟悉库内容的场景。实际项目里我最常用的还是模糊搜索。举个例子想找8051单片机先确认MICROCONTROLLER.olb已经加载然后在Part框输入*8051*就能把所有8051相关的型号都列出来。很多新手找了半天找不到是因为直接在默认库列表里搜而默认库没加载MICROCONTROLLER.olb。这里一定要先加库再搜索顺序错了就会觉得官方库一无是处。另外同一个元件型号可能同时存在于多个库中比如某些运放既在OPAMP.olb里也在ANALOG.olb里它们的属性可能略有差异有的带PSpice模型有的只是纯符号。从不同库里放出来的同一个型号后续能做的事情可能完全不同所以选择时最好留意一下这个Part来自哪个库通过Part List下方的库名信息可以确认。3.3 放置元件的标准动作与属性门道在Place Part窗口双击元件或者在选中后点击OK然后回到原理图页面移动鼠标到目标位置单击放下。放置过程中按R可以旋转90度按H可以水平翻转按V垂直翻转CtrlW可以缩放其实常用的是这三个R旋转、H左右镜像、V上下镜像。放好后直接双击放置的元件打开Property Editor属性编辑器在这里能看到Reference、Value、Footprint等属性。以放置一个电阻为例从RESISTOR库里找到R符号后默认Reference是R?双击后把Reference改成R1或者保持自动编号把Value改成10kFootprint填上0603或者R0603。很多人画完原理图导网表Allegro那边提示找不到封装就是因为Footprint属性没填或者填的名称跟封装库里的名字对不上。Cadence的封装匹配规则很严格多一个空格、大小写不同都可能导不进去。如果你想锁定已有的位号不被重排记住一点只要不执行Tools - AnnotateCapture就不会自动改动位号。但当你新加了元件新元件的Reference默认是R?必须跑一次Annotate才能分配编号。想保留旧位号、只给新元件编号在Annotate窗口里选择Incremental reference update并尽量把范围控制在“当前页”或者选中区域就能最大程度避免原有位号被打乱。这是个很容易被忽视的操作网上问“orcad如何锁定元件位号不重新编号”的人特别多大多是因为直接用了默认的“Unconditional reference update”结果整个工程位号全乱了。3.4 元件库的属性和PCB封装、仿真模型怎么打通在Capture里元件库里的器件通过属性来关联后端的PCB和仿真工具。最关键的两个属性是Footprint和PSpiceTemplate。Footprint要填写Allegro封装库中存在的封装名称常见的有0805、SOP8、QFP64等。设置好之后原理图转网表Allegro导入网表后就能自动匹配到对应的封装图形。如果你在Capture里改了封装名必须同步检查Allegro封装库是否有这个文件否则PCB阶段会报错。PSpice仿真这块很多自带库器件本身带了PSpiceTemplate例如在DISCRETE或TRANSISTOR库里选出来的三极管、MOS管可以直接被PSpice识别。方法是放好元件后选中它右键选择Edit PSpice Model如果能打开模型文件说明这个器件自带模型如果提示没有模型这个器件就不能直接仿真。实际项目里最典型的报错是“仿真器件未定义”原因往往是用了不带模型的通用符号。解决方法有三种一是回到库里找带PSpice模型的同型号替换二是手动给元件属性添加PSpiceTemplate并指定.lib模型文件三是用SPB自带的Model Editor从数据手册创建模型。三种方法里最省心的永远是第一招。3.5 从原理图到BOM、PDF和元件库的关系比你想的大元件库属性填得好不好直接决定后续BOM清单能不能直接用。Tools - Bill of Materials打开BOM输出窗口默认会把Reference、Value、Footprint这三类信息导出。你会发现BOM里很多莫名其妙的问题比如同一型号的电容因为Value写法不同10uF和10µF被拆成了两行明细。这个锅其实就是元件库属性不统一导致的。所以我建议在自建库时Value值的数据类型和单位格式要做到全公司统一。导出PDF也是原理图分享的刚需。新版本Cadence在File - Export里直接提供PDF导出选项出来的PDF是矢量格式里面的位号文字是可以搜索的。如果你用打印的方式生成PDF例如选Adobe PDF或Microsoft Print to PDF文字能不能搜取决于打印驱动有没有把字体嵌入。有的人导出的PDF搜索不了位号其实就是字体被转成了轮廓或者图形打印设置里去掉“Use TrueType fonts”或者换用更标准的字体可以改善。这里要提一下原理图上的特殊符号、中文注释、自定义字体都可能导致导出的PDF显示异常所以做正式交付文件时尽量用标准字体。4. 自带元件库使用中的常见问题与排查技巧4.1 高频问题速查表我把这些年在元件库上踩过的坑整理成一个速查表方便大家对照排查问题现象可能原因解决方法按P后搜不到某个元件对应的.olb库没有加载在Place Part窗口添加库或设置全局库路径打开别人发来的工程一堆元件标红/找不到对方用了自定义库你这边没有这个库文件让对方提供所用.olb文件放到你的库路径下仿真实例提示器件未定义元件是纯原理图符号没有PSpice模型换成自带PSpiceTemplate的库元件或手动关联.lib模型导出的PCB网表缺少封装信息Footprint属性为空在元件属性里补上准确的封装名位号执行Annotate后乱掉用了Unconditional reference update用Incremental update并限定范围导出的PDF无法CtrlF搜索位号打印驱动未嵌入字体/文字被转曲线优先用File - Export导出PDF或用标准字体打印低版本Cadence打不开高版本的.olb库库文件版本过高用高版本软件另存为低版本库文件或重建元件这个表基本覆盖了新手最常见的拦路虎。实际排查的时候建议先看两个地方一个是Place Part窗口左侧的Libraries列表里有没有目标库另一个是工程文件所在目录是否包含引用的外部库文件。很多问题都是“库没加载”和“路径变了”这两类引起的。4.2 官方自带库在实战中的局限性官方库虽好但不能迷信。它最大的优势是广泛和规范几乎所有常用器件都能在里面找到个七七八八而且PSpice模型衔接顺畅。但它的缺点也很明显符号风格偏老引脚排列不一定符合现代阅读习惯很多新器件尤其新MCU、新电源芯片根本没有收录部分符号的Footprint属性为空或者只提供了一个笼统的封装名不能直接用于生产。举个例子你从DISCRETE库里放一个2N3904仿真没问题但如果要做正规产品你还得去查数据手册确认实际的SOT-23封装尺寸再在Allegro里建好封装最后回到Capture填Footprint。官方库只帮你解决了“原理图上有一个可仿真的符号”这一步后面的工程化工作得自己做。所以我一直告诫大家把官方库当成“参考手册”和“仿真验证库”是合理的但别指望它能帮你完成从原理图到量产的全部工作。4.3 自建元件库才是效率分水岭做了几年硬件之后我最大的心得是元件库这件事早晚要实现“自我掌控”。我见过不少团队项目做到一半因为元件库里管理混乱有的原理图符号没有Footprint有的Value值五花八门导致BOM没法用、PCB导入一堆报错。与其等出了乱子再补救不如在项目一开始就花半天时间整顿库。建库的思路不复杂在library目录下建几个自己的.olb例如Company_DISCRETE.olb、Company_CONNECTOR.olb、Company_IC.olb然后从官方库复制那些常用符号逐个补齐属性。每个元件至少要保证四个属性干净Reference、Value、Footprint、Datasheet。如果公司有条件更推荐配合OrCAD Capture CIS的数据库功能把元件参数放到Excel、Access或者SQL Server里通过ODBC数据源关联起来这样在原理图里放元件时可以直接从数据库选型参数不会填错。网上总有人问“cadence 怎么设置odbc数据源”“capture cis开关在哪”其实就是冲着这个来的。4.4 版本迁移与库文件备份别等重装系统才后悔最后说一个很多人不重视的问题库文件备份。Cadence重装系统是件挺折腾的事比这更折腾的是重装完了发现自己积攒了好几年的自建库全没了。官方自带的.olb在安装目录里重装软件会自动带回来但你自己的库、公司同事分享的库这些可不在软件安装包里。我个人的做法是把所有自建库放到一个独立目录比如D:\Lib\OrCAD定期备份到网盘或版本管理工具里。然后在Capture里通过Library Path Options指向这个目录。这样即使电脑坏掉换一台机器也能快速恢复环境。另外Cadence版本升级时要特别注意库的兼容性。新的Capture一般能打开老版本的.olb但老版本打开新版本创建的库就可能报错。如果你在17.4版本里建了库而生产部门还在用17.2最好在保存库的时候确认一下格式兼容。还有一些第三方下载的元件库作者用的是什么版本不一定写清楚导入前做好测试不然放到一半符号变形或者属性丢失哭都来不及。5. 个人经验元件库熟手和生手的差别在哪里用了这么多年Cadence我越来越觉得高手和新手在元件库上的差别不在于背了多少个库名而在于是否建立了一套“选库、用库、建库”的逻辑。很多人觉得官方库太杂宁可去网上到处下载“XX元件库合集”结果下载下来不是版本不匹配就是符号乱七八糟反而浪费时间。我的习惯是不管项目多急先花半小时把官方库的核心库码一遍知道自己常用的电阻、电容、三极管、运放、连接器大致在哪个库然后所有仿真需求优先用官方库解决。等原理图跑通了再慢慢把项目中真正要用的元器件整理到自己的库里。这样一个项目下来你的个人库就丰富了一圈积累几个项目之后画图效率会有质的提升。再分享一个我常用的偷懒技巧建库的时候不要从零画符号。遇到官方库相似的直接Edit Part复制一份改遇到厂商提供的原理图符号先检查引脚和Footprint是否正确不对就改。改完以后把常用器件放到一个模板工程文件里新项目直接Copy这个模板什么库路径、图纸设置、常用元件都不用来回配置打开就能画。这个思路适合任何规模的团队我自己就是这么干的实测省下来的时间非常可观。