我亲自进行了 Altium Designer 22. 0 的实测,经历过软件自带教程和实际项目存在脱节情况的坑洼。
第一步 从元器件库建库开始下手
不少初级工程师一开始就着手去改原理图,进而导致封装引脚出现错位情况,待打板回来后便直接报废了。而恰当的做法是先架构属于自己的元器件库,开启软件,点击文件选项下的新建命令,接着选择库,再选定原理图库。在编辑界面里,借助放置大于管脚之工具,经由手动操作将每一个引脚的编号以及名称填写正确。就好比使用STM32F103C8T6, VDD引脚的编号分别是9、24、36、48,其中任何一个都不可以出现遗漏的情况。在绘制完成之后保存为“My_Project.SchLib”。
针新手极易出现的问题在于,引脚编号顺序弄反,且封装绘制出来后它跟实物呈现左右颠倒的情况。导致出现这种情况的原因是,放置管脚的时候没留意放置方向,管脚的小圆点那一端必定得朝外。而解决的办法是,在每次放完一个管脚之后,通过按空格键来使之旋转,以此确保圆点朝着芯片外侧指向。放置完成之后,在工具这个选项下的封装管理器当中,关联好与之相对应的PCB封装,像LQFP48这种封装类型,以此达到特定的关联效果。
第二步 用信号完整性分析调参数
把原理图画好之后,先不去急忙布线,而是要先开展一次信号完整性的预先分析。在PCB模式的界面内,点选工具,然后选择信号完整性,再去导入网表。在这个时候,需要重视时钟线的特性阻抗。我做出的推荐是,将50欧姆当作差分信号线的推荐特征阻抗值得来选用,原因是大部分的射频芯片以及高速接口都是依照这个准则进行设计的,其匹配性是最佳状态。
【新手避坑】:信号完整性展开分析时,出现了报出“No model found”这样错误的情况,其原因在于,关键信号这一方面,并未给予IBIS模型进行分配。针对该情景的解决步骤被划分成了三个部分,第一部分是,在工具当中的IBIS 模型管理器内,将芯片厂商所提供的.ibs文件导入;第二部分是,用右键点击时钟的网络,从中选择“Assign Model”这一选项;第三部分是,再开展分析运行工作,借此观测波形过冲是不是超出了10%。一旦过冲幅度较大,便往时钟的线路上串联一个22欧姆 的电阻。
方案对比 手动布线跟自动布线的取舍
将自动布线运用时,通过工具菜单里的自动布线选项子菜单中的全部布线命令操作,把布线规则设置成线宽为0.3毫米、过孔为0.6毫米的这种情况,在10分钟内是能够完成跑完的。然而经现实中的实际测试却发现,自动布线操作会导致电源线被绕得特别长,进而造成压降超过5%。而手动布线尽管花费2至3个小时,却能够对关键走线的走向加以控制:其中电源线采用0.8毫米宽,地线运用铜皮填充的方式,信号线要避开高频区域。具体情况进行抉择:要是板子的层数并未多于4层,并且时钟的频率低于50MHz,那么自动布线加上后期的微调便足够使用;一旦超过了这个频率或者层数,那就规规矩矩地手动布线。
手动布线期间,常常会碰到“Clearance Constraint Violation”报错情况,之所以出现这种情况,是因为规则内最小间距未曾修改。开启 设计 选项下的 规则 里面的 间距,将最小间距由默认的 0.2mm 转变为 0.25mm,或者把覆铜间距专门设定为 0.3mm。完成修改后背重新拉线操作,报错会自动消除。
第三步 用热仿真给电源区域降温
布完板子的线后,最后一步是进行热仿真,点击“工具”里的“热分析”,设置环境温度为25℃,从数据手册查出芯片功耗并填进去,运行后查看温度云图,若芯片区域超过85℃,则要添加散热过孔,在芯片底部放置一排直径0.3mm的过孔,间距为1mm,连接顶层与底层铜皮,实测可降低10℃左右。
【新手避坑】:热仿真所能呈现的结果全然皆为0,其原因在于未曾针对芯片组件装配热模型。处在项目当中的组件属性这一范畴里,针对每一个会有发热现象的芯片,选取“Thermal Model”并使其为“2- Resistor Compact”,将结到壳的热阻RthJC这个数值填写完整。比如LM2596是2.5℃/W,填完再跑仿真才有正确数据。
此套方法适宜用于开展二至四层的小批量设计工作。要是碰到层数超过六层、带有DDR3及以上高速总线的板子,那么这套流程便无法满足需求了。可供替代使用的方案是,直接借助HyperLynx来进行DDR时序仿真,或者找寻专门的SI/PI工程师配合。










