ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Cadence原理图设计10个高效技巧:从封装到BOM导出的全流程

Cadence原理图设计10个高效技巧:从封装到BOM导出的全流程 我刚入行那会儿最怕的不是Cadence原理图画错而是改图。一个用了两三天的原理图设计甲方提一句“电源方案换一下”就得花一晚上去改网络、调位号、重新导BOM。后来带过几次项目才琢磨明白原理图设计这件事真正消耗时间的从来不是画图本身而是那些重复劳动和低级错误。尤其是封装绑定环节原理图里漏填一个封装、值写得不统一后面导网表、导BOM的时候都会加倍还回来。这篇文章把我在CadenceOrCAD Capture原理图设计里攒下的10个高效技巧一次说完覆盖的范围从封装绑定、画图提速、DRC检查到网表导出、位号处理和BOM表导出全流程。不管你是刚装了Cadence还在摸索界面的新人还是已经画过几块板子、正被重复性操作折磨的工程师这几条都值得对照自己的流程过一遍。仿真不收敛、安装环境这些话题今天先放一边咱们就死磕原理图设计这一段。1. 封装库不打好底子后面全是返工1.1 技巧1封装命名与库路径先定规矩再开工原理图设计的第一步其实不是新建图纸而是把封装库的规矩定下来。我见过太多项目原理图画得漂漂亮亮一到导网表就报一堆Footprint not found原因就是封装名在原理图里叫“0603”在PCB库里叫“R0603”在采购那边又叫“RC0603”。同一个器件三个名字不报错才怪。在OrCAD Capture里原理图符号上的PCB Footprint属性是后续网表导入Allegro时唯一的封装查找依据。所以封装命名的第一法则是全公司或者至少全项目组只能有一套名字。推荐按照“类型_尺寸_引脚数_间距”的格式来建比如器件类型命名示例说明贴片电阻R_0603_22引脚尺寸0603贴片电容C_0805_22引脚尺寸0805芯片IC_STM32F103_48_06548脚脚距0.65mm排针连接器CONN_2x10_20双排10位共20脚电源芯片IC_MP1584_5_1505脚脚距1.5mm这套规则最大的好处是不打开PCB封装库光看名字就能判断一个器件大概长什么样、有多大、能不能放得下。对于管脚数很多的器件比如200脚以上的BGA建议在封装名里再加上封装类型比如IC_FPGA_XC7K325T_676_BGA否则同型号芯片不同封装很容易在库里互相覆盖。命名规矩定了以后还要把库路径统一配置好。Capture的库文件是.olb在项目管理器的Library文件列表里可以添加。我的习惯是项目库放本地固定目录公司公共库放服务器路径统一写到Capture的配置文件里新同事接手直接把配置拷过去库路径就全对了。这一步省下的是后面每一次“为什么找不到封装”的排查时间。1.2 技巧2批量绑定和替换封装别一个个双击改大批量绑定封装是新手和熟手效率差距最大的地方之一。我见过有人对着几百个器件一个个双击打开属性框去填Footprint一个下午就耗没了。其实OrCAD Capture的器件属性是支持批量编辑的。正确做法是在原理图页面里选中一批器件CtrlA全选当前页或在项目管理器里选中多页右键选择Edit Properties打开Property Editor。这时候所有选中器件的属性会以电子表格的形式列出来。你提前在Excel里整理好两列——Reference和PCB Footprint——然后直接复制粘贴到属性编辑器对应的列上一次就能绑定几十上百个器件。粘贴前有个小细节先在属性编辑器里确认列顺序确保Reference列和PCB Footprint列挨得足够近不然后粘贴时会错位。另外用Edit→Browse→Parts可以打开全局器件属性表适合跨页批量操作。选中要改的器件行在PCB Footprint一栏输入封装名回车所有选中行一起更新。如果你的团队上了CIS器件库管理后面技巧9讲ODBC数据源时会细说那绑定封装根本不用手动操作。从CIS数据库调器件时Footprint、Value、厂商料号会一起带进原理图。这也是我强烈建议上CIS的原因——它解决的不仅是效率还有BOM数据的准确率。封装绑定这个环节只要做到“名字唯一、批量操作、数据自动带入”这三条后面网表和BOM基本不会因为封装出幺蛾子。2. 画原理图的手速藏在快捷键和复用里2.1 技巧3把高频操作全部映射到键盘原理图绘制阶段手速主要看快捷键用得多不多。很多人画一张A3图纸右手在鼠标和键盘之间来回倒腾左键点一下菜单、右键翻一下属性大把时间就浪费在“找命令”上了。OrCAD Capture默认就有不少好用的快捷键先列一份高频表快捷键功能P放置器件W画Wire连线B画总线N放置网络别名R旋转选中对象H水平镜像I / O放大 / 缩小F4重复上一次放置操作Esc取消当前命令这里面最容易被低估的是F4。比如你要放100个0.1uF去耦电容常规操作是放一个、改一次属性、再放一个而用好F4的思路是先把第一个电容的所有属性封装、值、位号后缀设置好然后连续按F4Capture会按同样的电气属性和封装自动重复放置位号自动递增。实测下来一百个去耦电容两分钟以内放完比手动一个个放快太多。还有一个跟选中网络相关的操作当你需要检查某个信号网络在整页图纸上怎么走时在线上右键选择Select Entire Net当前页所有同名网络会被一次选中。在不同图纸间调试时这个操作比逐段点击找线高效得多。自定义快捷键的位置在Options→Preferences→Keyboard。你可以在这里给任何菜单命令分配按键组合比如有人不习惯I/O缩放想改成Ctrl滚轮也能在命令列表里找到Zoom In/Zoom Out来绑定。这里有个小建议不要贪多把P/W/N/R/H/F4这几个用顺手已经能覆盖90%的绘制动作了。快捷键不是越多越好能在不低头的情况下按准才算真正变成你的肌肉记忆。2.2 技巧4模块复用复制粘贴加一次位号重排就够了画原理图最没技术含量、又最花时间的事情是把同样的电路画N遍。比如一块4路4-20mA采集板前端调理电路完全一样新手会老老实实画四遍熟手会画一遍然后复制三份。这也是为什么很多公司要求硬件工程师把常用模块沉淀成库——一次投入后面全是回报。复制的标准动作块选中源电路Windows框选或Ctrl单击多选CtrlC到目标图纸CtrlV。粘贴后不要急着拉线先做一次位号处理。因为复制的器件带的还是源电路的Reference比如R1、R2如果不处理DRC会报位号重复。具体做法是全选粘贴进来的器件Tools→Annotate选择Incremental Reference Update只更新有冲突的位号保留未冲突的。如果复制的模块会占用一整块区域我更推荐用Unconditional Reference Update并把Annotate的Process范围限定为Selection只对选中器件重排。这样既不会打乱其他部分的位号也让新模块的位号连续、好找。位号一旦连续后面手工焊接、贴片对料都会舒服很多。这里有个时机提醒位号重排只能在原理图阶段做一旦原理图已经导出网表、PCB已经开始布局就不要再做Unconditional Update了否则PCB上的所有位号标注全部作废Back Annotation只能救一部分纯属给自己找事。模块复用的本质是“一次设计、多次使用”但如果复制完不管理位号复用就变成了给DRC找麻烦。3. 理解DRC告警比关掉告警更重要3.1 技巧5Power引脚报警先分清楚三种情况再动手经常有人问我capture原理图上引脚类型是power放了个VCC符号连接为什么还报警告这个告警十有八九是ORCAP-1589Net has two names。要理解它得先知道Cadence里电源网络的连接逻辑。在OrCAD Capture里Power类型的引脚比如芯片的VDD、VSS引脚自带网络含义。画图时你应该用Place→Power放置电源符号VCC、GND之类的bar符号去接系统靠符号名字自动合并网络不需要也别手动拉wire去连接。如果同一个Power引脚既连了一个叫VCC的网络别名又被一个电源符号VCC_3V3覆盖到网络就有了两个名字DRC立刻告警。遇到告警先分三种情况处理确实是网络名写错或不统一把网络别名改成和电源符号一致的名字告警消失。这个引脚本来就该由不同的电源域供电比如一颗芯片有VDD和VDDIO两组电源脚不能共用同一个VCC符号。这时应该把电源引脚属性从Power改成Passive然后用网络别名区分不同电源域。报警内容是Power引脚接到了地多半是电源域接错回数据手册核对原理图而不是关告警。还有一类错误做法必须提一下为了通过DRC把原理图库里所有Power引脚一律改成Passive。这样做的后果是电源网络失去“全局性”同一个VCC名字在网络层面可能要靠wire一根根物理连接才通后续PCB导入时会出现大量孤立网络排查起来比当年那几个告警痛苦一百倍。理解告警的根源从一个Power引脚开始能帮你规避后面一整层网络暗坑。3.2 技巧6DRC检查配置好一次扫描解决80%低级错误DRCDesign Rules Check是原理图交付前最重要的一道闸门但很多人不知道DRC的规则本身是可以配置的。打开Tools→Design Rules Check你会看到两个主要标签页Design Rules Options可以勾选Create DRC markers for warnings这样告警会以标记形式显示在图纸上双击能直接跳到问题位置。Electrical Rules这里控制要检查哪些电气问题比如Single pin net单端悬空网络、Unconnected pins未连接引脚、Bus width mismatch等。真正强大的是旁边的ERC Matrix它是Cadence检查规则的“裁判表”。表格的行列是引脚类型Input、Output、Passive、Power等行列交叉处决定这类引脚连接时报什么等级绿色No Report、黄色Warning、红色Error。比如Output引脚接Output引脚默认就是Error因为两个输出驱动同一个网是设计错误。如果某个告警你确认对设计无害可以直接在Matrix里把对应交叉格改成No Report下次检查就不再报。配置完成后建议把规则另存为.drc文件放到项目模板里。新项目只需要Load配置十几秒钟把规则应用上不用每个项目重新勾一遍。DRC不是越多越好也不是越少越好关键是把那些真正会坑到你的规则打开。比如“Unconnected pins”建议一定开着芯片悬空输入脚经常就是设计遗漏而“NC引脚未连接”这类可以单独设置放行。还有处理告警的效率技巧DRC跑完Session Log里会列出一大串错误。不要从头到尾一个个图里跳着改而是把告警按类型归类一次只处理一类。比如先把所有Single pin net清掉再处理Unconnected pins最后处理Power相关告警。同类型的问题往往集中在同一类器件里集中修改效率高得多。4. 原理图到PCB交接网表和位号是生死线4.1 技巧7网表导出与封装导入PCB三步核对法原理图阶段干得再漂亮最后都是要拿去Layout的。Cadence阵营里Capture负责原理图Allegro负责PCB两者交接靠网表。这一交接发生的几分钟里我能听到最多的抱怨就是“为什么我PCB里全是Footprint not found”。其实这些错误绝大多数在导出网表前就能拦截掉。我的习惯是三步核对第一在Capture里用Edit→Browse→Parts打开全局器件表检查PCB Footprint列有没有空值。只要有一个空值导到Allegro就会有一个器件摆不上去。某型号的器件有几颗空Footprint用Excel筛选功能一眼就能看到。第二确认封装名的“大小写、空格、特殊符号”完全一致。Allegro对封装名是精确匹配的R0603和r0603在它眼里是两个东西。还有一个常见坑某些原理图库的封装名带了多余的空格肉眼看不出来但Allegro会直接报错。第三确认Allegro的封装库路径已经配好。Allegro里在Setup→User Preferences→Design_paths下找到psmpath封装符号路径和padpath焊盘路径把公司封装库目录加进去。这一步漏了即使原理图封装名全对PCB照样找不到库。网表导出的标准动作Tools→Create Netlist选择Allegro PCB Editor页签。如果想省掉手动导入这一步可以勾选Create or Update PCB Editor Board生成网表后自动启动Allegro并把网表导进去。不勾选的话后续在Allegro里File→Import→Logic手动选择网表文件也可以。导入过程中Allegro的Session Log会把每个器件对照封装库检查一遍常见的报错信息有报错关键字含义处理方向Footprint not found没找到封装检查PCB Footprint名称和库路径Device/Symbol check error器件/符号检查错误引脚数对不上核对数据手册has different footprint同一器件封装不一致回原理图统一封装原理图和PCB工具之间的关系搞明白之后你会发现网表导入这件事就像搬家原理图负责打包清单Allegro负责按清单摆家具。清单写得乱七八糟搬家公司自然满屋子跑错。宁可多花两分钟在原理图侧把Footprint检查干净也不要在Allegro里对着几十个红叉熬夜补封装。4.2 技巧8位号重排的时机和Back Annotation的挽回手段位号Reference Designator是原理图和PCB之间一一对应的唯一身份证。位号混乱的后果就是PCB看着是一块板原理图是另一份逻辑两端对不上。Capture里位号重排的入口是Tools→Annotate。常用的两个动作Incremental Reference Update只给冲突或新加的器件补位号已分配的位号不动。适合画图过程中随手调用。Unconditional Reference Update把所有器件按图纸顺序整体重排。适合原理图定稿、准备出BOM前用一次。Annotate对话框里有Packaging页签可以设置重排顺序Horizontal是从左到右、从上到下Vertical是从上到下竖着排。公司没有硬性规范的话我推荐Horizontal因为它在图纸上的阅读方向和人眼的习惯一致贴片和手工焊接时都好找位置。这里有个血泪教训要分享Unconditional Reference Update一定要在导出网表之前做。原因很简单网表一旦被PCB导入Allegro里的器件就绑定了当时的位号。后面你再回到原理图做一次全局重排所有位号都变了PCB上既有的布局走线和丝印会乱成一锅粥。如果PCB已经在改了而且你在PCB端改了某些位号比如把丝印调整得更整齐想让原理图跟着变那就不能用Annotate要用Back Annotation。流程是在Allegro里通过Logic相关的导出功能生成Back Annotation文件然后在Capture的Tools→Back Annotate里导入这个文件PCB端的位号修改就会同步回原理图。操作不复杂但属于“流程倒着走”非必要不用。多页图纸还会有另一种情况跨页连接的网络标号带了Page Number引用也就是Intersheet References。如果添加跨页引用时报错优先去检查各Page的Page Number属性是不是唯一、有没有空值这跟位号重排不是一回事别混在一起改。记住位号重排的正确节点原理图到PCB这条链路就能少掉一半的沟通成本。5. BOM导出与后处理最后一公里最容易翻车5.1 技巧9BOM模板定制和ODBC数据源配置一次配好一劳永逸BOM表是原理图设计的最终交付物之一也是采购、贴片、IQC三方都要用的东西。导出BOM在Capture里就是Tools→Bill of Materials但真正让BOM变得可用的是第一次花二十分钟把你的BOM模板和CIS数据源配好。先看模板。BOM对话框里有Header和Combined property string两个关键输入框前者是表头后者是每列取哪个属性。比如我要导出一份包含位号、数量、值、封装、厂商料号的BOM可以这样填Header: Item, Quantity, Reference, Value, PCB Footprint, Manufacturer Part NumberCombined property string: {Item}, {Quantity}, {Reference}, {Value}, {PCB Footprint}, {Manufacturer Part Number}勾选Open in Excel点OK后直接就出一张Excel表同类器件自动合并位号用分号或逗号列在同一单元格里。这套配置存下来以后每个项目里工具会自动记住真正的一次配好以后只点两下。再说ODBC数据源。不少公司的器件信息维护在Excel表或者数据库里Capture的CISComponent Information System可以跳过手动整理直接查数据库把器件的封装、值、价格、库存读进来。配置分两步第一步是在Windows里配ODBC数据源。这里有一个巨大的坑OrCAD Capture在64位Windows上通常还是32位程序所以你要配的是“ODBC数据源32位”。从控制面板→管理工具打开的如果是64位版Capture会找不到你的数据源。正确做法是运行C:\Windows\SysWOW64\odbcad32.exe在这个32位管理器里添加。我见过好几个团队在这上面卡了一下午最后发现是数据源位数不对。第二步是在Capture里设置CISPlace→Database Part→Configure Database新建一个配置选择ODBC连接指向你刚才建的数据源。然后建立Excel列和Capture属性之间的映射比如Excel的“Footprint”列映射到原理图的“PCB Footprint”属性“Manufacturer PN”映射到“Manufacturer Part Number”。映射建好后从Place→Database Part里搜到的器件拖进原理图时就自带完整属性BOM直接能用。ODBC数据源的另一个用途是让BOM信息实时可查改数据库里的价格、备货状态下次打开原理图就能同步看到。不过要提醒一句ODBC数据源是一把双刃剑公司电脑环境一变比如换系统、Office位数变了数据源经常失效建议在项目管理文档里把数据源名称、文件路径、位数记清楚省得到时候抓瞎。5.2 技巧10BOM导出后的Excel后处理三个核对保平安模板配好、点完OKBOM不会自己变得完美还得做一轮后处理。我导BOM后的标准动作是下面几件事。第一把同一Value、同一封装、不同位号的器件手工肉眼过一遍。Capture自动合并的同值同封装器件如果Value写法不统一比如有的写10K、有的写10000、有的写10kΩ会被当成三种物料拆开。这个只能在源头解决原理图里同一类器件用唯一的Value写法。想追查哪些位号值不一致用Excel的透视表按Value和PCB Footprint两个字段汇总一眼就能看出哪些器件“看起来该合并却没合并”。第二核对位号数量。BOM里每行的位号个数必须等于这一行的Quantity。手工数比较原始Excel里可以直接算如果位号是R1,R2,R3这种逗号分隔格式用公式(LEN(A2)-LEN(SUBSTITUTE(A2,,,)))1就能算出个数和Quantity列对一下不一致说明有遗漏或重复位号。第三检查有没有不该出现在BOM里的器件。原理图里经常有Not Install不焊接的0欧或者NC器件如果不在BOM选项里排除就会混进采购清单。处理方式有两种要么在导BOM之前把这类器件的Bill of Materials属性设成No要么导出后在Excel里单独筛出来和采购备注说明。把这三项走完BOM才能放心发出去。我是被坑过的有一年一块板子BOM里漏了一颗串阻采购按表下了单贴片时才发现最后只能拆了成品板手工飞线。从那以后我给自己定了一条铁律——BOM导出后必须做“数量位号数、封装不空、无孤立物料”三项核对两分钟的事省下的是整个项目组的通宵。以上这10个技巧是我在多个项目里反复试出来的通用流程。说句实话每一条单拎出来都不稀奇但把它们拼成一条从封装库到BOM的完整链路之后你会有一种“原来原理图设计是可以这样一气呵成”的感觉。我现在的习惯是把这套流程固化成项目模板新项目开工直接套用。如果你在实践中有更好的点子或者被某个告警卡住了欢迎带着具体问题来讨论。回头我也可以把PCB阶段的铜皮优先级、线宽设置这些坑单独整理一篇毕竟原理图画得再顺最后板子好造才是真的赢。
返回列表