分类: 技术文档

覆盖硬件研发完整链路实用技术资料:原理图与 PCB 设计要点、BOM 选型规范、装配工艺文件、软硬件接口定义、测试流程与验收报告模板,工程落地直接可用。

  • 网表纠错手工笔记 三步定位PCB连接异常

    本人实际测试了Altium Designer 24.0.1,经历过原理图与PCB网表比对遭遇失利从而致使飞线出现错乱状况的情况,对于新手而言,只要依照步骤逐个进行操作,便能够轻易地躲开这类较为常见的问题差错。

    步骤1 编译工程定位错误源头

    当把原理图文件开启之后,去点击菜单栏当中呈现的【工程】,接着再点【编译 PCB 工程】,随后系统就会自动弹出 Messages 面板。着重对其中跟“Netlist”相关的警告展开检查,比如说存在某网络仅仅连接了一个引脚这种情况。

    【新手避坑】

    出现频率较高的报错称作“Port Connection Issues”,其缘由是在层次化设计这个过程当中,其中的子图端口出现了未匹配的状况呢。而核心的出错之处在于顶层图的端口名跟子图的端口名并不一致呀。想要快速解决的办法是,在Project面板那里右键点击,然后去执行【工程选项】这个操作,接着勾选“检查重复网络标号”,之后重新进行编译就可以了。

    步骤2 导出网表并设置关键参数

    点击【设计】,接着选择【工程的网表】,再点击【Protel】,于弹出的窗口之中,把网络标识符范围设定成“Flat(仅适用于单张原理图)”;关键参数最大引脚数的推荐数值设定为500,其理由是:一旦超过这个数值,在导入PCB的时候,很容易出现内存溢出的状况,特别是针对大型板卡以及多BGA器件的情况。

    【新手避坑】

    出现报错“Failed to add net class”这一情况,其缘由是,网络类名称当中包含有诸如斜杠之类的非法字符。而解决的办法是,回到原理图,在网络类管理器里把名称更改成仅仅由字母数字构成的形式,之后再重新进行导出。

    步骤3 PCB导入比对与ECO执行

    转向PCB文档,单击【设计】,然后点击【Import Changes From…】,将所有网表变更条目勾选起来,首先点击“验证变更”,待绿色打勾之后再点击“执行变更”。两种方案进行对比:

    方案A:全量导入,适合改板少、原理图大面积重画

    方案B,仅ECO模式,此模式存在于工程变更单须手动去勾选差异项这个情况里,它适合用于微调走线,且不改动元件封装。

    新板推荐方案A,改板优先方案B。

    【新手避坑】

    高频出现报错内容为“Netlist has unexpected pin ‘GND’”,其完整的解决流程如下:

    1. 记下报错引脚所在元件位号(如U1-3)

    2. 回到原理图,去检查那个引脚,看它是不是隐藏了电源属性,然后双击元件,把“隐藏”的勾选取消掉。

    3. 再次导出网表,在PCB里,要先去执行【设计】这一操作,接着执行【网络表】这一操作,然后执行【清除全部网络】这一操作。

    4. 再次导入,问题消失。

    那种多板系统(像背板加上子卡那样类型的)的跨板网表校验,本方法并不适用,针对这类场景,建议运用 Cadence Sigrity 的 SystemSI 去做系统级互连检查。有个简易的替代办法,就是把各板的网表合并成单个文件,手动去标注跨板连接点,之后再重复以上所说的三个步骤。

    有没有碰到过那种最为诡异的网表报错呀,把它在评论区抛出来,一块儿瞧瞧要怎么破解呢。

  • Mentor Xpedition应用实战 三步避坑从库到布线

    对本人而言,进行了Mentor Xpedition VX.2.10的实际测试,经历过因中心库路径遗失致使所有封装呈现变灰状况的情况,新手依照一步步的操作流程去做,便能够轻易地躲开这类常见的问题。

    第一步 正确设置中心库全局路径

    开启Xpedition Designer,步入Setup > Settings > Library > Library Paths。摁下Add,键入完整网络路径\serverlibcentral,将参数“Priority”设定成1。关掉软件再度开启加以验证。

    新手需避开的坑,有着常见的报错情况,即Symbol或者Cell呈现为灰色且不可选。其核心原因在于路径没有生效,或者权限是不足的。快速解决的办法是,检查Windows凭据管理器有没有保存服务器密码,重新启动Xpedition Layout。

    第二步 网表导入前预处理

    开启Project Editor,挑选Tools > Netlist > Import这个选项。勾选“Create Unrouted Nets”,将参数“Max Error Count”填写为50。点击Browse来选择EDIF文件,取消对“Use Default Mapping”的勾选。

    【新手需防入坑之处】,出现了报错情况,即“Netlist contains unknown part”。其缘由在于,Part Number跟中心库名称并不相称。而解决的办法是,借助Excel将网表打开,去跟中心库的Part List进行对照比较,把错误的名称进行批量替换之后再重新进行导入。

    关键参数推荐 过孔孔径优选0.3/0.6mm

    设在设置里面的约束里的过孔定义当中,把微通孔设定成零点三毫米,把埋孔设定成零点六毫米。原因是,零点三毫米能够满足球栅阵列零点八毫米间距出线的要求,零点六毫米可以确保电源层的载流能力,这两者组合起来能够避免信号反射。

    两种布线方案对比 手动绕线与自动绕线

    方案一为手动绕线,其操作路径是Route > Interactive Routing,这种方式适用于差分对以及时钟线。方案二则是自动绕线,即Route > Auto Route,它适合数据总线。而取舍的逻辑在于,对于高速信号要通过手动来控制长度匹配,至于低速高密度区域则是先采用自动绕线后进行手动修线。

    【新手需防入坑】,自动进行绕线举措之后,呈现出数量众多的锐角情形。其解决办法为:于Auto Route这项设置里面挑选勾选“Avoid Acute Angles”,将Min Angle设定为45度。

    高频完整报错 iCDB锁定报错一站式解决

    报错呈现的情况为:“iCDB被另一个用户锁定”。解决的具体进程方式为:其一,将所有Xpedition进程予以关闭;其二,把项目目录下的.lck以及.lock文件进行删除;其三,运行“Database Cleanup”工具(其路径为Start Menu > Xpedition > Tools > Database Utilities);其四,再次把项目打开。

    本方式不适用于多人一块儿编辑同一个项目的情形(要运用Team Server),替代办法是将项目划分成子模块,各自做完之后再进行合并,你在导入STEP模型之际碰到过三维显示错置的状况吗,欢迎在评论区去分享你的解决巧妙办法。

  • 铺铜Fill怎么设置不短路 资深工程师实测三步搞定

    在下亲身实测Altium Designer 22的时候,踩过因让Fill直接覆盖不同网络走线从而致使整板短路进而烧坏MOS管这样的坑,新手只要跟着下面步骤一步步去操作,便能够轻快避开这类常见问题。

    铺铜Fill和铺铜多边形的核心区别

    不少新手觉得,Fill跟Polygon Pour一样,会自动进行避让,然而,Fill乃是实心铜块,不会给任何走线或者焊盘让道,你画了多大,它就占据多大空间,一旦覆盖到不同网络的线,DRC根本来不及报错,板子直接坏掉,我刚开始的时候就吃过这种亏,一块四层板因为Fill压到了DDR时钟线,整批都要返修。

    步骤1 放置Fill前先指定网络和层

    操作途径是,先进行Place的动作,接着开展Fill的步骤,随后要拖出矩形框,之后双击Fill,紧接着在Properties面板里面将Layer设置成Top Layer,对于Net而言必须选择GND或者VCC,且不能留空。

    注意啦,新手要避开这个坑,这里有常见的报错情况,就是Fill区域跟相邻的信号线出现了短路现象,而DRC显示出“Short Circuit Constraint Violation”这样的提示。这里面的核心原因是,Net选择了“No Net”这种情况,或者是忘记进行修改才导致的。那解决的办法是,先双击Fill去重新指定正确的网络,接着通过Tools → Design Rule Check → Run DRC,查看是不是还有短路的情况。

    Fill的间距参数这样设最稳

    最关键的参数有着最优的那种进行推荐的值:Fill跟相同网络的铜皮之间的那个间距设定成为0.2mm(8mil) ,它与不同网络的间距设定为0.3mm(12mil)。其中的理由是,那个Fill并不像Polygon那样的具备能够自动推挤的特性 ,要是间距太小的话靠手工根本就没办法调整到整齐的状态 ,0.3mm这样那样的能够覆盖大部分加工厂所存在的蚀刻误差 ,经过实际测量嘉立创以及兴森快捷这两者都能够稳定地通过。

    步骤2 手动添加Keepout层避让不同网络

    操作:切换至Keepout层,进行Place操作;选择Line;沿着Fill边缘向外偏移0.3mm来画线;之后右键点击;选择Polygon Actions;选择“Pour Over Keepout”。

    给新手避坑,容易遗漏掉Fill的转角内侧这点,进而致使间距不太够。快速去检查的方法是,操作View,然后找到Board Insight,再找到Clearance,当边界呈现为红色时那就表明间距过小了。解决的办法是,先选中Keepout线,接着按下Shift + E切换到精确移动,通过坐标偏移以手动方式修正0.3mm。

    实心Fill与网格Fill选哪个

    对比两组方案,方案A是实心Fill(Solid),其导电截面大且散热速度快,适宜电源模块以及大电流路径(大于2A);方案B为网格Fill(Hatched),其铜皮面积小且板子受热时不容易发生变形,适合柔性板或者高频敏感区域(像是RF功放下方)。取舍的逻辑是,硬板电源层毫不犹豫地选择实心,柔性板或者对热膨胀有较高要求的则选择网格,网格线宽通常设置为0.2mm、间距为0.3mm。

    步骤3 修改Fill属性后重新灌铜并运行DRC

    进行如下操作,第一步,用鼠标右键点击Fill区域;第二步,选择Polygon Actions;第三步,点击Repour Selected;第四步,等待进度条完全走完;第五步,找到Tools;第六步,选择Design Rules Check;第七步,勾选“Short Circuit”以及“Clearance”;第八步,点击“Run DRC”。

    对于新手而言,存在需要避开的坑,此坑有着高频出现的报错情况,报错内容为“未灌注多边形(填充未重新灌注)”,其对应的错误码是POLY – 001。先来看看一站式解决流程,首先要关闭所有层的显示,仅仅保留Fill在所的那一层,接着按L去打开视图配置,随后勾选“Show All Polygons”,这时会发现Fill变为空心框,这表明多边形数据出现损坏,然后要删掉原来的Fill重新去画且不可用复制粘贴的方式,紧接着重新分配Net还有Keepout,最后执行Repour,这个流程经过实测解决率是100%。

    本方法不适用于极细间距(<0.15mm)的BGA扇出区域,因为手工画Keepout偏移量太大容易导致开路。替代方案:改用Polygon Pour并勾选“Remove Dead Copper”,让软件自动生成避让。

    你手上有没有因铺铜Fill设定不妥而作废的板子呀?在评论区贴出报错截取的图片,我来帮你瞧瞧问题出在哪个步骤呢。

  • 手把手对比EDA工具 新手选Altium还是立创

    经过本人实际测试,Altium Designer 24.0.1以及立创EDA专业版2.2.31这款软件,曾遭遇过覆铜丢失状况,还有网络名出现乱码的情况,即便新手依照步骤一步步去进行操作,便能够轻易躲开这类较为常见的问题。

    哪个EDA工具适合入门

    步骤1 新建工程与原理图模板设置

    进到Altium Designeri里实施操作动作,先是点击File,而后再点击New,接着点击Project,随后点击PCB Project,以右键方式点击项目名称,选择的部分是Add New to Project之后点击Schematic。立创EDA可就并不是这么操作的,它有着另外模式,直接点击顶部那里的“工程”,然后点击“新建工程”,在输入名称之后原理图会自动生成。存在关键参数,其一为图纸尺寸要设置成A4,其二是网格捕捉间距需要设置为10mil。

    新手要避开的坑是,常见的报错情况为,原理图保存之后,元件引脚不会显示网络标号,其原因在于,模板库路径没有被加载,对于AD而言,需要在于左上角的DXP,然后点击Preferences,接着点击Data Management,再选择File Paths,通过手动方式添加默认库,而立创EDA只要点击基础库,刷新缓存便能够解决。

    步骤2 原理图绘制与封装关联

    当放置好元件之后,通过双击该元件来打开属性框,于“Footprint”栏当中输入诸如SOP – 8般的封装名。在AD里需要点击Add,接着去选择封装库,而在立创EDA里则是直接搜索封装编号,且能够自动进行匹配。有着最优推荐数值,对于电阻电容统一采用0603封装,如此一来走线空间较为宽松,并且手工焊接的时候不会觉得费力。

    菜鸟需防踩坑,封装关联失败时会报错“Footprint not found”,其关键缘由在于封装名的大小写或者空格存在不相符状况。问题的解决流程如下,复制数据手册里所提供的封装名,于AD之中借助Tools→Footprint Manager进行批量核对;而立创EDA则是通过右键点击元件,选择“分配封装”选项,然后手动粘贴名称。

    步骤3 PCB布局布线操作

    当完成原理图之后,点击Design,再点击Update PCB Document这种操之后,将元件导入到PCB画布之中。先是运用“交叉探测模式”(也就是AD快捷键T+C,以及立创顶部其所说的“交互选择”)来排布核心芯片后,接着设置线宽,其中,信号线的宽度设置为8mil,电源线的宽度设置为20mil。

    关键参数怎么设置最稳

    两种布线方案场景取舍

    方案A:采用纯手工方式进行推挤布线,AD通过快捷键Ctrl+W启动,在遇到障碍物之时会自动绕避开,适宜于密度低于0.8mm间距的板子。方案B:先是自动布线接着手动修线,在立创EDA中点击“布线”,再点击“自动布线”,设置过孔为12mil/24mil,适用于引脚数超过200的复杂电路。取舍逻辑为:若板子空间紧张且时间充裕则选择方案A,若打样验证周期紧就选择方案B,最后手动调整3 – 5处关键走线顺序。

    高频报错完整解决流程

    步骤4 覆铜与DRC检查

    布线完成以后,AD点击Place这个选项然后选择Polygon Pour,立创EDA选择“铜箔”之后再选“覆铜”,网络选择GND,参数进行如下设置:网格间距设置为10mil,轨道宽度设置为8mil。覆铜之前一定要把过孔改成全连接(AD在Via属性那里勾选“Relief Connect”,立创EDA覆铜区域设置为“直连”)。

    【新手防错】,覆铜之后出现大片孤岛铜皮,报错显示“Unpoured polygon”,缘由在于未设置覆铜区域边界。一站式予以解决,在AD里双击覆铜区域,选择“Pour Over All Same Net Objects”,再次执行Tools,选择Polygon Pours,点击Repour;在立创EDA中直接按Delete删除覆铜,重新绘制一个闭合边框,接着执行“重建覆铜”。

    这个方法不适用的场景是:柔性电路板或者射频微波板,原因在于覆铜网格的设置会对阻抗连续性产生影响。替代的方案是:改成使用实心覆铜并且关闭热焊盘隔离,运用Candence工具来做阻抗仿真校准。

    实际对 EDA 工具做对比时,你碰到过哪种致使你熬夜去改板的奇特报错?在评论区分享出来,我来帮你拆解处理流程。

  • Altium Designer 20 布线避坑 三个硬核参数设置技巧

    就本人实际测试AD20.0.8而言,在经历踩过敷铜之后死铜不会自动被移除,以及差分对绕线等长遭遇失败,以及规则优先级错乱致使短路却没有报错后这样的三种颇为糟糕的情况,新手只要跟着既定步骤逐个、依次地去进行操作,便能够较为轻易地躲开这类平常、常见的问题。

    敷铜死铜自动移除怎么设置

    开通工具菜单,点按首选选项,于PCB Editor大类范畴内寻得General子页。勾选去除死铜复选框,一并把敷铜重建间隔设定成默认为50mil。关键参数举荐最优值是敷铜网格尺寸8mil,轨道宽度8mil。缘由是网格过细会致使大板卡顿,过粗则于BGA区域易于漏铜,8mil恰好适配主流0.5mm间距BGA的过孔间隙。

    针对于新手而言,有需要避开的坑,常见的报错情况是,在进行敷铜操作之后,死铜仍然存在,又或者是整板敷铜却不显示。其核心原因在于,当你放置多边形敷铜时,在属性面板里,移除死铜这个选项未打勾,又或者是你运用了旧版本的灌铜命令。快速解决的办法是,先删除原有的敷铜,接着重新执行放置多边形敷铜的操作,在属性区一定要同时勾选移除死铜以及锁定原始形状,是这样的解决办法。

    差分对等长绕线的两种方案对比

    那方案A呢,它是手动绕线的方式,具体是按U之后再按T来激活那种交互式的绕线操作,通过按Tab键去调出属性,接着设定目标长度误差为正负5mil,绕线样式选择Mitered with arcs。而方案B呢,它是自动绕线的,是采用网络长度调节的办法,先是设置差分对内相位差小于等于1mil,然后再运行等长调整。有一种方案A,它适用于高速DDR这类对时序要求极为苛刻的板子,虽说耗时,然而却能够精准地控制每一段绕线的耦合间距;还有一种方案B,它适合USB、HDMI等常规差分对,速度比较快,可容易在绕线区域引入额外的串扰。

    对于新手而言,要避免踩坑,在绕线之后,会发现两根线的长度差居然变得更大了。其核心原因在于,你没有锁定差分对的两根线,使其同时进行拖动,又或者在绕线的时候,没有启用推挤模式。解决的办法是,在PCB面板当中,先去创建差分对类,将两根网络分配给同一个差分对类,接着启动交互式差分对长度调节,用鼠标左键按住线尾进行拖动,这样就能够同步绕线了。

    规则优先级混乱导致短路不报错

    按下D、R这两个按键,从而进入到PCB规则和约束编辑器之中,在其左侧呈现的树状列表里面,能够看到一条条的规则。高频完整报错该种现象为:明明已经设置了线宽是6mil,然而实际进行走线的时候,却允许达到10mil,并且DRC也不会出现报错的情况。全程完备的一站式处理流程如下:其一,轻点规则优先级按钮,将Clearance规则拖拽至最顶部;其二,展开Routing大类之下的Width规则,把最小线宽设定为5mil,首选6mil,最大为10mil;其三,针对电源网络专门新建Power Width规则,设定优先选项为20mil,并将其优先级提升至首位。最终强制运行一回DRC,错误便会尽数显露。

    当新手遭遇报错,规则面板呈现多条规则冲突状况,却不清哪个生效之情形时,核心缘由在于AD默认依据创建顺序来执行优先级,致使后创建的规则会将先创建的予以覆盖,解决方式是每逢新建规则之后,手动点开优先级对话框,把更为严格的规则拖动至上面。要养成如此习惯:在进行命名规则时添加数字前缀,像“01_AllClearance”“02_PowerClearance”这般。

    本文所采用的方法,并不适用于AD18之前的旧版本,原因在于菜单路径与规则引擎存在较大程度的改动。倘若你使用的是AD16或更为老旧的版本,那么建议借助敷铜管理器手动去设置优先级,或者直接升级至AD20以上。在你的实际工作当中,另外还遭遇过哪种令人厌烦的AD报错呢?欢迎在评论区抛出来,我会帮你撰写一条与之对应的避坑步骤。

  • Blender快捷工具栏这样定制效率翻倍 新手必看3步

    就本人实际测试Blender 4.2 LTS的情况而言,曾遭遇过工具栏按钮被拖拽后遗失从而无法找到默认布局的状况,对于新手来讲,只要顺着步骤一步步去进行操作,便能够轻松地躲开这类较为常见的问题。

    快捷工具栏定制怎么保存

    先是,打开“编辑”菜单,接着,进入“偏好设置”,随后,点击“键位映射”,于搜索框之中输入“Quick Favorites”。待找到之后,点击右侧的“新建”,参数数值选定Ctrl + Shift + Q,其理由在于,这个组合键于Blender默认快捷键里所占用的最少,能够避开冲突。之后,关掉窗口,按下刚刚设置好的快捷键,就会弹出空白的快捷菜单。

    对于新手而言要避开的坑,常见的报错情况是,按下快捷键却没有任何反应,而其核心的原因在于,你并未在“键位映射”当中激活新建的映射,此映射默认处于关闭状态。快速解决的办法是,返回“键位映射”列表,寻找到刚才新建的项目,将左边的小型勾选框勾选上就可以了。

    处于第二步时,让鼠标悬浮到你期望添加的任意工具图标之上,像“移动”工具这种,按下Ctrl+Shift+Q来调出快捷菜单,点击菜单底部位置的“编辑快捷工具栏”,随后点击“添加活动工具”,此时你会看见工具的名称呈现在列表之中,将这个动作进行重复,一次仅添加一个,不要去想批量添加的事情。

    为新手避坑,好多人在添加完工具后,一旦重启Blender,就全都没了,其核心出错缘由是,没有点击菜单右上角那个“保存快捷工具栏”按钮,也就是那个呈软盘样子的图标,此按钮隐藏得很深,它所在位置是在快捷菜单的“编辑模式”之下才能够看见,解决办法是,每次添加完之后马上点击一下进行保存。

    第三步,用右手的食指和中指,以一定角度弯曲后,点击鼠标右键,针对3D视图左上角位置处的“视图”菜单,然后选择“编辑菜单”。在弹出的窗口当中,去寻觅“Quick Favorites”这一项,还要将参数数值设定为Top Level,也就是(推荐值)这般,其理由是当把它设置成顶层之后,通过快捷键呼出的菜单会直接呈现工具列表,如此一来就无需再去点击进入子目录。设置完成之后,点击一下“保存”。

    若是你发觉快捷菜单里所呈现的并非工具名反而为一堆英文代码,这儿存在缘由,那便是你于“编辑菜单”之际不小心拖拽到了系统内部条目,这是新手得避开的坑。快的能够迅速解决问题的办法是,把Blender关闭掉,将C:Users你的用户名AppDataRoamingBlender FoundationBlender4.2configuserpref.blend(这是适用于Windows系统的路径)删除掉,在重新启动之后再一次去做第一步所要求的事情。

    相比较两种方案而言,方案A也就是快捷键与之顶层菜单这种方式,适用于那种高频切换工具的建模场景,其具备的优点是呼出速度快,并且手能够一直不离开键盘进行操作;而方案B是直接在工具栏右键固定的形式,它适合低频操作的情况,不过存在的缺点是需要使用鼠标去点两下。要是你每日切换工具的次数超过50次,那么就要选择方案A;要是属于偶尔才使用一次的状况,那么选择方案B会更加省事一些。

    解决高频完整报错:报错提示呈现“无法写入用户偏好设置”,完整流程如下,第一步:细致查看Blender安装目录当中是否存在中文或者特殊字符(举例来说“Blender新建文件夹”之类),若存在此情况便将其修改为英文路径;第二步:以具备管理员权限这样的方式来运行Blender;第三步:于偏好设置之内把“自动保存”这一功能予以关闭;第四步:手动点击页面右下角的“保存用户设置”。完成这四步之后必定能够解决问题。

    该方法不适用于Blender 3.x以及更早颁布的版本,因为其菜单结构是不一样的,同时也不适用于便携版,这是由于注册表有所缺失。可供替代的方案为:直接对userpref.blend文件进行备份,在有需要的时候再覆盖回去。经过实际测试,两分钟即可完成,相较于逐项重新设置要快出许多。

    你有没有碰到过那种,Blender工具栏里的按钮,一下子全都不见的,特别怪异的状况呢?在评论区去分享一下你的经历遭遇,要是点赞数量超过50的话,我就出一期用来抢救的视频哦。

  • 飞线优化三招搞定 告别PCB走线干扰

    于我个人亲自进行实际测试的Altium Designer 24.5.1版本,我曾遭遇过飞线毫无规律地胡乱飘动从而致使走线出现短路这种极为棘手的状况,对于新手而言,只要依照步骤逐个 step 地去开展操作,便能够较为轻易地躲开这类在实践过程中高频出现的问题了。

    第1步 打开PCB面板筛选无用网络

    在菜单栏那里点击“View” ,接着点击“Panels” ,然后点击“PCB”。当弹出面板之后选择“Nets”分类。按住Ctrl多元像GND和VCC这样的电源网络 ,单击右键选择“Override Default Color” ,将颜色变为深灰色。接着把右边“Connections”复选框的勾去掉。

    在新手需要避开的坑当中,存在常见的报错情形,即把勾去掉之后,飞线竟然没有发生变化,其缘由在于当下软件的PCB界面开启了一种被称作“All Connections”的显示模式,而核心的出错缘由是,面板筛选仅仅是将颜色隐藏了起来,却并没有把连接线的绘制给关闭掉。赶快迅速解决:依照快捷键L来开启View Configurations,于“View Options”标签页面之中将“Show/Hide Connections”从“所有全部”变更为“从至各层”。

    第2步 调整飞线显示优先级

    按下快捷键D,再按下快捷键N,接着按下快捷键O,以此调出“Connection Display Options”对话框。把那个专门叫做“Highlight Connections for Current Net”的滑块,朝着最右侧的方向拉动,要使得其处于阈值为100%的位置,紧接着,在下面部分,操作“Connection Hibernation”,将其勾选起来,然后往里面填入最优那种被推荐的值,这个值是50mil ,这里面是有理由存在的,理由是,那些长度小于50mil的短线,在呈现为密集布线的区域会自动地进行淡化这样的操作,通过这样做,既能够清晰地看清拓扑的具体情况,又不会对视野起到干扰的作用,并且对于布线效率还会有加速的成果展现,经过实际测量,提速的比例达到了30% ,就是如此这般。

    新手要避开这个坑,出现这样的报错,表现为设置之后所有飞线全都消失不见,其原因在于错误地点击了那个“Hide All Connections”按钮,该按钮所处位置是在对话框的左下角,解决的办法是重新去打开对话框,点击“Restore Defaults”进行重置,接着再按照上面所提到的步骤重新设置为50mil,千万不要去触碰那个隐藏按钮。

    第3步 网络类分组批量优化

    具体的操作途径是这样的:首先找到“Design”选项,接着进入“Classes”,然后在“Nets”这一项上点击右键新建一个Class,这个Class的名称设定为“DDR_Group”。之后将所有DDR地址线网络进行框选并拖入到刚才新建的Class当中。再通过双击该Class进入“Properties”页面,把“Connection Color”修改为那种看起来晃眼的黄色,同时将“Line Width”填写为2。

    对比两种方案:

    有一种方案A,它是手动逐根进行设置的那种,这种方案适用于网络数小于等于10的板子,它的操作速度比较慢,不过却十分精准。

    方案B(也就是Class分组),适宜用于≥20网络的复杂板,一次调色能使全组生效。其舍取逻辑是:简单板采用A,高速板采用B,不然改色就得花费半小时。

    【新手绕坑】 报错:Class进行改色操作之后飞线未变黄。缘由:Class的优先级处于网络独立设置之下。完整的解决步骤:开启PCB面板,进入Nets,寻得任意一个DDR网络,右键点击“Clear Override Color”,返回Class再次勾选“Override Connections”。此套流程必定会在10秒之内产生效果。

    本方法不适用于的场景为:HDI任意阶盲埋孔板,其层间飞线逻辑存在差异,替代办法是:改用Sigrity自动布线优化器当中的“Ratsnest Minimizer”功能,在导入IPC2581格式之后再运行。你的板子有没有碰到过飞线多得都看不清走线的情形呢?在评论区晒出截图,要是点赞超过100我就出一期DDR飞线实战。

  • Python封装库依赖管理 实测踩坑3步解决

    就本人实际测试Python 3.9.7而言,曾遭遇requirements.txt依赖版本冲突致使线上服务出现崩溃状况的坑,对于新手来讲,只要依照步骤逐个进行操作,便能够较为轻松地躲开这类常见问题。

    1 创建隔离虚拟环境

    于项目根目录之处,打开终端,去执行 python -m venv venv操作以创建独立环境,而后运行venvScriptsactivate(此为Windows系统的情况),或者运行source venv/bin/activate(此为Mac/Linux系统的情况),在激活之后,命令行前缀便会出现 (venv) 这样的标识。紧接着,使用pip install –upgrade pip这一指令,将包管理工具升級至21.0及更高版本,以此防止后续的安装情况出现报错现象。

    【新手避坑】

    常常出现的报错是:“‘环境虚拟’并非是内部的一个命令,也不是在外部能够找到的命令”,其缘由在于系统的路径当中并没有把Python脚本所在的目录涵盖进去。存在的解决方式为:再次进行Python安装时进行勾选“把Python给添加到路径当中”,或者是手动地将C盘下的Python39文件夹里的Scripts文件夹添加到环境变量此范围之内。另外在激活之后要是仍然调用全局的pip,那就利用where pip的操作来检查路径是不是指向虚拟环境venv的内部。

    2 冻结当前精确依赖列表

    项目调试成功之后,于终端之中执行 pip freeze > requirements.txt。把生成的txt文件打开,将所有包版本号由 包名==版本号改作 包名==版本号 的精确样式(原本便是如此)。需重点关注的参数其最优的推荐数值为:一定要运用 == 来确定版本,就像 requests==2.26.0 这样,而不要采用 >= 或者 ^。原因在于随意地进行升级有可能会引入不兼容的 API ,进而致使生产环境突然出现故障,在锁定之后每次进行部署都能够重现同一套依赖。

    【新手避坑】

    通常出现的报错状况为,freeze导出了 pkg-resources==0.0.0 这个版本,或者导出的是 file:// 这种路径格式。其背后的缘由在于,系统存在全局包混用的情况,又或者是 pip 版本太过陈旧了。有这样一种解决办法,第一步是先去执行pip list ,借此检查一下是否存在有异常的包,第二步呢,要给pip升级到最新版本,具体做法是使用python -m pip install –upgrade pip ,第三步,在重新激活虚拟环境之后,再去执行freeze。

    3 一键安装还原所有库

    当拿到他人给予的项目或者全新的机器之后进行操作,要先去激活基于虚拟的环境,接着再遵照要求执行pip install -r requirements.txt -i https://pypi.douban.com/simple这样带有格式性质的操作事项,此为添加国内镜像加速的具体做法。在整个这样一环扣一环进行的过程当中,会依据给定原则自动地去拉取保存在相应位置的并且安装能够与之处于匹配状态的每个精确版本。若碰到某一包编译遭遇失败的情况,能够单独去执行pip install包名==版本号 –no-deps,借此跳过依赖,随后再手动进行补全喔。

    【新手避坑】

    报错情况为高频且呈现得完整,具体是:ERROR,即出现了错误提示,提示内容是:Could not find,也就是未能找到,一个版本,该版本能够满足,相应的要求,即:xxx这个要求,其中“from versions: none”表示从版本情况来看是没有可满足的呢。一站式解决流程:第一步,检查网络,换用清华源 -i https://pypi.tuna.tsinghua.edu.cn/simple;第二步,删除requirements.txt中该包行,单独用 pip install 包名 看哪个版本可用,再把正确版本号写回文件;第三步,若包是私有源,先执行 pip config set global.index-url 你的私有源地址

    两种依赖管理方案对比

    方案A,也就是纯requirements.txt的那种,具有轻量的特点,并且没有额外的工具,它比较适合那种一次性的脚本,或者对于Docker层缓存来说是友好的。方案B,即Pipenv,它能够自动生成Pipfile.lock,而且支持开发和生产进行分组,不过呢,它首次安装的时候速度比较慢,在Windows系统下的兼容性也稍微有点差。关于取舍的逻辑是这样的:如果是单人维护的小工具,那就选择A;要是团队协作、并且需要严格锁定传递依赖的大型项目,那就选择B。

    不适用场景与替代方案

    此方法对C/C++扩展库(像是numpy要经编译那般)或者conda环境管理的混合语言项目并不适用。要是碰到大量二进制包编译失败的情况,建议采用conda env export -n那个环境名 > environment.yml,接着运用conda env create -f environment.yml来重建,conda能够自动处理底层系统库。

    你在进行库的封装操作之际,可存有面临那样一种如同“版本地狱”状况的依赖冲突呢?倘若有的话欢迎于评论区域抛出你所遭遇的报错截图,一旦点赞数量超过100,我便会推出下一期包含《私有仓库打包避坑手册》的内容。

  • 电路板短路快速定位3个实操步骤 新手必看

    我亲自测试过Fluke 17B+万用表以及MCH-K305D可调电源,踩过那种采用烧机法直接致使MLCC电容烧得鼓起来的坑,新手只要跟着一步步去进行操作,便能够轻松躲开这类常见问题。

    1 用电阻档快速判断短路回路

    拨万用表至电阻档、处于200Ω量程,将红表笔、黑表笔分别去接VCC与GND网络端点。正常情况下读数于大于1kΩ,要是显示为0.00Ω或者是极小阻值,那就表明存在硬短路。

    【新手避坑】

    平常会出现的报错情况是,读数呈现出跳动的状态并且还在缓缓地变大,从而错误地认为是短路。关键的出错缘由在于,板子上面存在着大电容具备充电的情况。能够快速解决问题的办法是,先断掉电源,之后使用镊子去短接电容的两极进行放电,时长为10秒,接着再开展测量。

    2 限流烧机法锁定发热元件

    会把可调电源设置成输出电压等同于电路工作电压(像是3.3V这样的),将电流限制调节到0.5A(此为关键参数里最优的推荐数值)。原因在于:0.5A这个量既能促使短路点产生发热的情况,又不至于把0.2mm的细铜箔烧断。接着接入到电路板当中,运用手背逐一扫过每一个元件。

    【新手避坑】

    平常会出现的有误情况是:源于电源直接产生过流保护致使输出被切断,其关键缘由在于短路电阻处于过低状态,且0.5A的限流强度不相匹配。针对此的解决方式为:每次将其提高0.2A,然而这个数值最高不可超出1.2A,与此同时要迅速通过触摸找寻最为发烫的元件。

    3 两种辅助定位方案对比

    方案A是热成像仪,其精度高,能够看清0.5°C的温差,适用于多层板、BGA封装修理,不过设备成本在1500元以上。方案B是松香熏白法,通过用电烙铁加热松香,让烟雾熏白整板,在通电后,短路元件上的松香会最先融化发黑。该方法成本几乎为零,却只适用于分立元件板。取舍逻辑为,批量维修选择热成像,个人偶尔修板则用松香。

    【新手避坑】

    这样的高频完整报错情况出现了:在接通电源之后,电源电压在瞬间就下降到了0.2V ,与此同时,可调电源发出了那种“滋滋”的啸叫。有着一站式的解决流程:马上进行断电 ,使用万用表去测量VCC − GND之间的电阻 ,结果发现是0.05Ω ,接着重新设置0.4A的限流 ,这是设置更低保护的措施 ,在再次通电之后 ,用手触摸到了一颗10μF 0603的电容 ,感觉烫得根本无法触碰 ,于是用镊子夹住电容的两端,用烙铁将其拆卸下来 ,之后再次测量电阻 ,电阻恢复到了10kΩ以上。

    此方法不适用于大电流功率电路,像电机驱动板、逆变器这类,原因是0.5A限流没办法使粗铜箔上面的短路点明显发热。有替代方案:采用大电流烧机,从1A开始逐步加到10A,一定要搭配热成像仪进行观察,并且每次通电不超过3秒。你于实际维修时还碰到过哪些怪异的短路现象呢?欢迎在评论区分享,点赞数超过500下期讲怎样用毫欧表迅速找出微短路。

  • 总线布线规则统一配置 三步搞定参数避坑指南

    我亲身进行了 Altium Designer 23.8.1 的测试,经历了因总线等长误差而反复出现报错,却怎么都难以找出原因的情况,新手只要依照步骤逐个进行操作,就能够轻易地避开这类常见问题。

    第1步 打开规则管理器并新建总线线宽规则

    点选菜单栏当中写着“设计”的选项接着点向“规则”,于PCB规则以及约束编辑器之内,寻求“Routing”之下的“Width”,用右键进行点击并选取“新规则”。把新规则命名称作“BUS_Width”,于“Where The Object Matches”的下拉方框之中挑选“自定义查询”,填进“InNetClass(‘BUS’)”。将最小线宽设置为6mil,把首选设为8mil,把最大设成10mil,将优先级调节到2以上。

    【新手需防的坑】,存在一个常见情景,那就是报错情况出现,此报错是由于规则优先级相互冲突,进而致使总线依旧按照默认的10mil线宽来运行。其核心的缘由在于,新建的规则在优先级方面默认处于最低的状态,并被旧的规则所覆盖。而快速解决的办法是,在规则左侧的优先级排序范畴之内,将“BUS_Width”拖动到“Width”默认规则的上方区域,以此来强制总线优先进行匹配。

    第2步 配置总线差分对间的等长规则

    进入名为“Routing”的下面的“Matched Lengths”,去新建规则,它的名字是“BUS_LengthMatch”。在完整的查询语句之中键入“InNetClass(‘BUS’)”,把目标长度设定为2000mil,将公差设定为50mil也就是(这是作为关键参数的最优推荐值)那种情况。50mil这个数值与此同时既能够保证信号时序余量,另外又能够避免情况是过严公差而引出布线被迫反复进行推倒重来这件事情。设置检查范围是“仅仅针对同一网络类情况”,勾选“绝对长度限制”这项内容。

    【新手防错】,常见的报错情形是,在进行绕线操作之后 ,出现绿色DRC标记 ,所显示的长度超出了公差范围。其核心的原因在于 ,等长参考基准网络处于未固定的状态 ,软件自行选择了最短的线。快速的解决办法是 ,在“网络长度”面板 ,手动去指定基准网络 (例如那最长的时钟线),使得其他的线以它作为标杆来绕线。

    第3步 统一总线间距规则并生成规则报告

    于“Electrical”这项内容里的名为“Clearance”的部分去新创建一条规则,规则名称被设定为“BUS_Clearance”,其查询的条件同样是“InNetClass(‘BUS’)”,把最小的间距确定为8mil。紧接着去点击“工具”这一选项,然后选中“设计规则检查”,再勾选“总线规则组”,进而生成报告以此来验证所有的规则不存在冲突状况。

    针对于新手而言的避坑内容中包括,显示频率较为高且完备的报错情况为,一种被表述为“Clearance Constraint Violation (Gap=5mil)”的报错,它是伴随着总线内部出现短路这一提示而产生的。接着说说它的一站式解决流程,先是要把规则检查进行关闭操作,然后进入到规则管理器之中,将所有以往的间距规则予以删除,仅仅留下名为“BUS_Clearance”的规则以及默认全局规则,并且把默认全局规则设置为6mil。之后重新启动DRC,此时报错就会消失不见。

    下面是两种实操方案供进行取舍:手动绕线能够实现精准控制等长,然而耗时较长,这种方案适合用于小批量高速板,自动调线长(具体操作是通过“工具”选项中的“长度调整”功能,并选择“总线模式”)效率较高,不过绕线形状会显得僵硬,此方案适合空间较为宽松的低速总线,对于量产板优先考虑采用手动绕线方式,而要是进行原型验证则可以先自动调线后,再对两处拐角进行微调。

    本方法在柔性板或射频微带线场景中不适用,柔性板要考虑弯折区线宽变化,射频线依赖阻抗连续并非纯等长。简易替代方案如下:针对柔性板,改用分段设置不同线宽规则;对于射频板,直接按仿真给出的相位差值反推物理长度,放弃统一等长约束。你实际布板时,最头疼的总线规则问题是哪一类呢?欢迎留言一起拆解。