博客

  • 智行者IC社区SDK配置避坑指南 新手三步搞定

    就本人实际测试智行者IC社区SDK的2.3.1版本而言,曾遭遇过因工具链路径配置错误从而致使编译结果全为红色的情况,对于新手来讲,只要依照下面的三个步骤依次进行操作,便能够轻松地避开此类较为常见的问题。

    1 账号注册与权限申请

    开启智行者IC社区的官网,在右上角那儿点击“注册”,运用公司邮箱或者学校edu的邮箱搞完注册。登录之后进入那个“开发者中心”,寻觅到“SDK下载权限申请”的按钮,填好项目名称以及用途,提交之后正常来讲2小时以内会收到审核通过的邮件。

    【新手避坑】

    平常出现的报错情形是,提交之后始终呈现“审核中”的状态。其关键缘由在于,邮箱的域名并非处于白名单范围之内,像个人邮箱(举例来说163、qq这些)时常会遭遇卡顿状况。径直换用公司或者学校邮箱的方式,再次执行注册的操作,并且将工牌亦或是学生证的照片,附加于申请理由之中,速度最快的情况下,半个小时便可以通过审核。

    2 SDK资源下载与MD5校验

    完成审核通过这个步骤之后,进行登录社区的操作,接着进入到“资源中心”里面,从中选择“IC系列SDK”这一项,然后在版本号所在处通过下拉的方式去选取“v2.3.1”,最后点击“下载完整工具链”这个按钮。将其进行下载,之后把终端予以打开,接着去执行md5相关指令,即md5sum并且紧跟zx_sdk_v2.3.1.tar.gz,以此来核对官网所给出的对应md5值,也就是a7f3c8e9d2b1,一旦两者不一致,那么就要重新开展下载操作。

    【新手避坑】

    常常遭遇到的状况是,下载进行到一半的时候就会断开连接,解压的时候会弹出“文件损坏”的提示。MD5校验这件事是必须要去做的,在官网的每个版本右侧都粘贴上传了md5的值。进行下载请使用wget -c命令来实现断点续传,千万不要使用浏览器直接去下载,因为一旦出现网络波动必然会损坏包。

    3 环境变量配置与编译验证

    将其解压至 /opt/zx_sdk_v2.3.1 这个路径,对~/.bashrc 进行编辑,于其末尾增添如下内容。

    export ZX_TOOLCHAIN=/opt/zx_sdk_v2.3.1/toolchain
    export PATH=$ZX_TOOLCHAIN/bin:$PATH
    

    于保存之后,去执行source~/.bashrc ,而后进入示例工程目录,此目录为/opt/zx_sdk_v2.3.1/examples/led_blink ,接着执行make clean && make ,当看到生成led_blink.bin时,便意味着配置成功。

    值得重点关注的参数之中,具备最佳推荐价值的那个值是,将交叉编译链的路径设定为 /opt/zx/arm-none-eabi-10.2.1 ,而非原本默认状态下的 /usr/local。之所以这样,是因为社区SDK 2.3.1有着强制要求,它要求的是10.2.1版本的gcc,把它安装在系统默认路径的话,很容易就会被系统更新给覆盖掉,而独立放置在/opt/zx之下,能够起到隔离版本冲突的作用。

    两种实操方案对比

    在Ubuntu 20.04系统上面直接进行本地编译来配置环境,这种方式适宜于单次调试,其所占用的空间相对较小(大概为2GB),然而存在的缺点是一旦更换电脑就必须重新进行配置啦。

    在Docker容器编译时, 需要去拉取社区官方镜像,也就是执行docker pull zx_ic/sdk_builder:2.3.1这个操作 ,之后在启动容器以后要挂载代码目录,这种方式适合团队统一环境以及CI/CD流水线。

    对于取舍逻辑而言,就个人学习这一方面来讲,采用的是本地编译方式,而在项目开发的情况下,必定是要使用Docker的,否则的话,与同事传过来的工程,你是无法使其运行起来的。

    高频报错完整解决流程

    出现错误提示发出信号,即arm-none-eabi-gcc,该指令未被找到。

    1. 先对which arm-none-eabi-gcc进行检查,若没有输出,那就表明路径添加得不对。

    2. 要看一下 echo $PATH 之中,是不是有 /opt/zx_sdk_v2.3.1/toolchain/bin 这个路径。

    3. 要是不存在,那就查看~/.bashrc里的路径有没有写错,像是有没有遗漏/bin这种情况。

    4. 重新source ~/.bashrc,还不行就重启终端。

    5. 极个别的情形属于权限方面的毛病,去施行chmod -R 755 /opt/zx_sdk_v2.3.1/ toolchain。

    此方法不适用于针对于借助CMD方式或者PowerShell方式直接编译的Windows原生环境情形,社区SDK 2.3.1版本的makefile是依赖bash环境作用的。存在替代方案:安装WSL2 Ubuntu 20.04版本,在WSL当中完整地依照上面所提及的三步进行操作,经过实际测试能够完美运行。你在进行环境配置的时候是在哪一个报错环节上出现了卡顿情况呢?在评论区张贴出来,我来帮你进行定位。

  • KiCad新手避坑指南:符号库与引脚配置技巧

    实测KiCad 8.0.7的本人,踩过符号库路径错乱的坑,踩过规则约束忘设的坑,同时踩过DRC报错修到崩溃的坑,新手只要跟着步骤一步步操作,就可以轻松避开这类常见问题呢。

    1. 新建符号库与引脚配置

    当我们开启KiCad主界面之后,找到那个图标如同运算放大器的“符号编辑器”并点击它,于左侧库树呈现的空白区域那儿,用右键点击,接着选择“新建库”这个选项,而后挑选保存路径,记住千万不要放置在C盘系统目录下,比较建议放置在项目文件夹的下面。在新建符号完毕以后,按下那个标有“添加引脚”的按钮,也就是快捷键为P的那个按钮,在右侧属性栏当中去设置引脚编号、引脚名称以及电类型。

    那些关键的参数当中,引脚的长度是固定不变的,填写成100mil,原因在于这样的长度,在原理图里能够清晰地标注网络名,而且还不至于让元件体过度地膨胀,在跨越多页图纸的时候,进行拖拽对齐也会比较舒服些。

    【新手避坑】

    常见出现的报错情形为,原理图当中符号引脚无法拉出线条,又或者是引脚编号出现重复情况。其居于关键位置的理由在于,在新建库之时默认路径遭受系统给予的保护,进而致使保存遭遇失败状况,并且引脚编号存在漏输亦或是重复的问题出来。所拥有的解决办法包括,首先要去查证库文件是不是生成于自定义文件夹区域,接着以双击的方式针对符号逐个去核对引脚属性表,编号既不可以出现跳空现象也不可以出现重复现象。

    2. 设计规则约束与布线参数

    开启PCB编辑器,于顶部菜单栏点击“设置”接着点击“电路板设置”再点击“约束”。对于“走线宽度”以及“间隙”栏,手动键入数值。“走线宽度”填入0.1524mm(6mil),“间隙”填入0.1524mm(6mil),此乃常规FR4板材2oz铜厚、1.6mm板厚的工艺极限的数值,一旦更小,PCB厂便会增收费用。

    进行两种方案的比较,一种是手动布线 ,另一种是自动布线器经由特定操作(先是“布线”,接着选择“交互式布线”)。手动布线对于电源、模拟、射频等关键信号适宜,其走线路径能够得到把控 ,然而耗费时间;自动布线器对于低速数字板在验证阶段可快速出图适用 ,不过需要预先设定好区域规则(像是DDR区域单独进行约束),不然容易绕出长环形天线。

    【新手避坑】

    常见出现的报错情况为,在进行 DRC 检查之时会报出“间距违规”这样的信息。其核心的原因在于,画板在中途的时候更改了约束值,然而旧的线路却没有进行更新,又或者是在铺铜的时候忘记了要重新进行灌铜操作。针对此情况的解决办法是,首先要通过“检查”选项,接着选择“设计规则检查”,然后点击“运行 DRC”来查看具体的坐标,再利用“编辑”选项里的“全局删除”功能,以此过滤出违规的线路并重新进行绘制操作,最后千万要记得执行“铺铜”选项中的“重铺所有铜箔”这一动作。

    3. 封装分配与3D模型关联

    于原理图界面当中,将元件选中,按下“E”键以打开属性,点击“分配PCB封装”。对常用封装诸如“SOT-23-3”展开搜索,双击进行确认。待封装分配完毕之后,转向PCB编辑器,点击“视图”,再点击“3D查看器”,要是模型有所缺失,返回“封装编辑器”,在“3D模型”栏目处点击“添加”,路径选择KiCad自带的${KICAD8_3DMODEL_DIR}/Package_TO_SOT_SMD.3dshapes。

    高频完整报错:3D模型显示“未找到文件”。

    一站式解决流程

    ① 检查封装名是否带.kicad_mod后缀,不带就重搜;

    ② 将“封装编辑器”打开,对模型路径之中存在${KIPRJMOD}变量(项目本地路径)这一情况予以确认。

    ③ 去工具→外部插件→刷新3D模型缓存

    ④ 关掉3D查看器,重新打开,模型就正常显示了。

    【新手避坑】

    时常出现的报错情况为:封装焊盘的编号跟原理图引脚号不相匹配。其核心缘由在于绘制原理图之际,引脚编号与封装焊盘编号存在不一致状况(举例来说,三极管的C极在封装当中为3脚,然而在原理图里标注的却是2脚)。解决的办法是:于“封装编辑器”内更改焊盘编号,或者在原理图里更改引脚号,更改完毕之后,通过“工具”→“更新PCB电路板(从原理图)”。

    这个办法主要是针对KiCad原本的流程,要是你运用的是立创EDA导出的封装库直接开始绘制,那么上面第1步与第3步的库路径设置能够跳过,不过设计规则也就是第2步以及DRC检查流程是通用的,无论使用哪一个EDA工具,在出Gerber之前都建议运行一遍。

    你在进行画板操作期间,有无遭遇过诸如“封装焊盘出现跑飞状况,而3D模型无论如何都不显示”这般犹如玄学一般的问题呢?请留下你的言论,讲述一下你是通过怎样的方式将其解决的。

  • Cadence高级功能:三步设置软区域,新手避坑指南

    于我个人而言,实际测试过Innovus 21.15,经历过设置soft placement constraint之后随即绕线直接出现跑崩状况的情况,对于新手之人来说,依照下面所列出的三个步骤一项一项地去进行操作,便能够较为轻松地躲开这类平常会出现的问题。

    设置模块软区域约束

    首先是操作路径,要经过Floorplan的菜单,进入Placement Constraints然后选择Region;接着选中那个目标模块之后,往位于GUI右下角的地方输入坐标,坐标范围是从(100,100)一直到(200,300);之后Region Type要选soft,Utilization要填65%;需要注意的是,这个填进去的利用率是经验值,其关键作用是给绕线留出足够的空间,要是低于60%那就会造成面积的浪费,可要是高于70%大概率就会出现堵塞的情况。点Apply,再点Create Region。

    新手需注意避坑:当进行设置进而运行place_opt_design后出现报错显示“Cannot place instance”时,大概率是Region边界与电源环出现了重叠这种情况。我已经进行过排查,通过直接查看Violation Browser ,于是定位到了boundary mismatch。解决的办法是将Region删除,在重新绘制区域的时候利用Edit→Snap to Grid来保证坐标为Pitch整数倍,以此避开电源环。

    硬约束分区设置对比两种方案

    操作的路径是,Partition菜单之后转向Create Partition。将刚才的那个模块选中,把“Hard Constraint”勾选上,区域坐标跟向前的那一步保持一致,然后点击OK。在此处硬约束与软约束存在着区别,软约束为“尽量放置于此处”,工具仍旧能够活动;硬约束则是“必须放置于此”,哪怕移动一根线都会报错。刚刚接手的老模块先运用软约束使其运行通畅,最终在稳定的版本阶段才切换为硬约束。你要是个新IP,直接硬约束就是找罪受,后期ECO改死你。

    初涉者需谨防:一旦添加硬约束,时序瞬间变差,出现“Timing path too长”的提示。究其缘由,乃是硬切割将长路径硬生生切割成两段。我曾处理过这般状况,于Partition的边界位置手动去增添数据流分析,查看Report进而找到Data Flow,将跨越边界的关键通路运用set_data_flow_options并搭配-priority high来进行打标,使得工具能够优先予以处理,这可比盲目地调整约束要管用上十倍之多。

    验证约束与完整DRC修复流程

    操作的途径是:Run之后进入Placement,接着再进入Place Opt Design,完成跑完之后马上开展Verify,也就是Verify DRC。最为经常出现的报错情况是“Met1 spacing violation”,其所在位置是在Region的边界上面。实现一站式解决的流程是:首先要打开Route,然后进入Global Route Detail,勾选“Fix DRC”,之后运行一轮。如果存在错误,运用addMetalFill -insideRegion true -layer {1},接着运行route_zrt_detail -inc_drc_fix,我通过实际测试发现这个组合方式能够消除九成边界DRC。

    对于新手而言需注意避坑,那种直接跑去死磕route_opt是没有用处的。其中的根源在于,Region边界处金属密度会出现突变情况。你要按照上面所讲的流程去进行操作,千万不要省去那两步中间的操作。曾经有一回,我偷懒没有添加Metal Fill,结果DRC清理了三轮才最终干净,这比老老实实地跑完完整流程还要多花费半天的时间。

    该方法适用于模块级设计情形,此情形为时钟树稳定且逻辑改动较小。倘若你在顶层全芯片运行这个,仅Region边界便足以让你绘制两天时间。替代方案乃是用guide约束去取代partition,先跑通顶层布局而后再逐层进行细化,切莫一开始就采用硬约束,步伐迈得太大易致困难重重。

    设定区域约束之后,你有没有碰到过绕线瞬间就彻底失败的状况呢?在评论区说一说你排除隐患的经历,要是感觉有用,可别忘了点个赞,以便让更多的兄弟能够看到。

  • Allegro总线布线规则统一配置教程 新手避坑实操指南

    测出Cadence Allegro 17.4的状况是我亲力亲为的成果,在这过程中遭遇了差分对等长绕得杂乱无方、总线组内时序始终无法符合要求这样的状况,不过新手只要依照步骤逐一操作,便能够轻易躲开这类常见状况。

    1 创建网络类并设置基础线宽线距

    点开Constraint Manager,于左侧寻觅Net Class,右击选择Create,进行诸如“DDR_Addr”这般的命名。将与地址线有关联的网络从右侧列表全部选中并拖拉进去。

    对于新手们而言有着避坑方面的提示内容,好多新手在设置完类规则之后,去运行DRC时仍旧报出间距方面的错误情况,为什么会这样呢原因是这样子的,那就是默认状态下的Default规则其优先级没有被调低,要想解决这个问题需要进入Analysis Modes,在里面把Spacing Modes里属于你的网络类优先级拉到最上面的位置才行呢,要是不这样做的话,默认规则就会将你刚刚设置好的8mil间距给覆盖掉的哟。

    2 差分对规则一次性锁死

    于Constraint Manager的Differential Pair页面之中,首先先要挑选出你所需要的那一对网络,然后用右键去点击Create差分对。

    【新手需避坑】,绕差分对的时候,相位怎么都对不上,究其原因在于,你绕线的时候没有启用“相位匹配”这种模式。

    3 等长规则设置及误差范围

    同样是处于Constraint Manager环境之中,进而进入到Relative Propagation Delay这个范畴里面。完成设置后切换至PCB界面,执行Route之下的Delay Tune,径直去绕蛇形线,软件会在实时状态下提示当下长度与目标之间的差值。

    有新手需要避开陷阱,绕了好长的时间,结果显示长度已然足够,然而DRC却依旧是红色的。大概十次里有八九次,是基准线也就是Target选错了,或者是在绕线的时候没有关闭在线DRC。要去到Match Group属性里,确认基准线不是你随意挑选的一根短信号。绕线之前,务必要将Options里DRC的钩子去除掉,绕讫之后,再展开DRC验证,不然的话,软件会在一边绕线的同时一边产生报错致使绕线归于失败。

    那关于差分对内间距为6mil这个数值,它是依据板厂常规的4mil工艺裕量以及100欧姆阻抗需求而反向推算得出的,要是太窄的话就有可能容易出现短路情况,倘若太宽的话阻抗便会偏离正常范围。在等长绕法方面,要是你的板子空间较为紧凑、仅仅相差几个mil,那么建议采用手动推挤绕线方式,这样能够快速完成收尾工作;要是空间比较充裕、相差的距离很多,那就采用自动绕线并结合手动微调,如此效率会更高。

    最后提醒一个高频报错:差分对绕完相位还是红。完整的解决流程是这样的,先在Tools → Database Check中修复数据错误,接着选中报错差分对,之后按Shift+F5调出Phase Tune,然后沿着走线微调凸起,直至窗口内误差显示为绿色,最后在Tools → Quick Reports里导出Differential Pair Phase Report来确认无误。

    这套配置所指向的是常规数字总线,像DDR、以太网这类,要是你在处理RF射频线或者高压隔离线,千万不要套用这套线宽线距。RF线要单独设置阻抗控制线宽,还要整段进行包地,高压线是必须按照安规要求单独设置间距,至少从20mil开始,优先保障安全间距。

    当你进行绕等长操作之际,你是惯于将所有的线一股脑儿地全部绕罢之后再去统一展开检查,还是在绕完一根线之后便立刻开启DRC去检查一根线?欢迎在评论区域分享你的习惯。

  • 铺铜挖空规则怎么设?新手避坑指南,直接连接+0.2mm间距

    身为本人亲自进行了Altium Designer 22的实际测试,经历过因铺铜与焊盘短路致使整个板子报废这样的状况,对于新手而言,只要依照步骤逐个进行操作,便能够较容易地躲开这类常见问题。

    铺铜挖空规则怎么设

    操作的路径是,菜单栏当中的【设计】选项,接着是【规则】选项,再是【Plane】选项,然后是【Power Plane Connect Style】选项。进入之后,要将连接方式由“Relief Connect”改变为“Direct Connect”,并且把安全间距强制性设定为0.2mm。这个0.2mm是生产厂能够稳重做出来的下限,要是再小的话,就容易出现蚀刻不干净的情况,进而致使铜皮跟焊盘粘连短路。要保证大电流通过性,可采用直接连接,然而必须配合开展精确的挖空区操作,以此将隔离做到极致。

    【新手需防入坑】不少人设定完规则后,却忘掉去点击“优先级”,进而致使规则未能生效。其报错呈现的状况为,在进行DRC检查时并未出现报错,然而当查看Gerber时,却发现铺铜直接连贯成一片。其核心缘由在于,新规则的优先级要低于默认规则。而解决的办法是,于规则界面将这条新规则的优先级提升至最高,点击“优先”按钮使其往上置顶。

    挖空区域画在哪一层

    将挖空的区域放置的要素在于选对层,操作的路径是,菜单栏中的【放置】,接着是【多边形铺铜挖空】,随后需要切换到顶层或者底层,绝对不可以放置到机械层,绘制完一定形状之后,必须要选中这个挖空的区域,在属性框之内将“多边形类型”更改成“切割”,一定要点击“重新铺铜”按钮进行刷新,不然挖空不会生效。

    刚开始接触的人要避开这方面的问题,在画出挖空的区域之后,发现进行铺铜操作根本没有产生变化,依旧是满的状态。出现报错的现象是,DRC没有报错,然而在3D预览当中铜皮并没有被切掉。出现错误的原因,99%是忘记点击“重新铺铜”这个选项,或者是把挖空区域画到了“Keep-Out Layer”这一层。能够快速解决问题的办法是,先把错误的删掉,在正确的层重新进行绘制,绘制完毕后马上按下“T-G-A”快捷键来刷新全部的铺铜。

    这儿存在两种实操方案,其一为于Keep-Out Layer绘制线条以进行禁止布线,其二是直接运用Polygon Pour Cutout。借助Keep-Out Layer绘制线条适宜于快速圈定禁止区域,不过修改起来颇为麻烦,易于遗漏删除线条从而致使出图出现差错。采用Polygon Pour Cutout则更为直观,双击即可更改形状,适用于需要反复加以调整的高频信号区域。取舍逻辑很简单:临时验证用禁布线,最终定型用切割区域

    铺铜挖空报错如何解决

    出现频率较高的报错内容为“Short Circuit Between Polygon and Pad”,这表明规则之间存在冲突情况。完整的解决流程如下:第一步,打开【报告】-【违规信息】,以此定位到报错所对应的坐标位置。第二步,按下快捷键“D-R”从而进入规则界面,去寻找到【Clearance】规则,仔细检查其中是否有针对这块铜皮单独设置了特殊的间距。第三步,将产生冲突的规则直接进行禁用操作,或者把间距值统一调整到0.2mm。第四个步骤,去点击“应用”,接着再次执行一回“T-D-R”,从而重新运行DRC,然后报错就消失了。

    【新手防错】不少人修改完规则后报错依旧存在,原因在于没有进行重建铺铜。报错消退之后,一定要选中铺铜并按下“T-G-A”使其再次计算一回,不然旧的数据仍滞留在内存当中。这一步骤若不执行,后续导出Gerber同样会报错。

    顶端这套方式于处置数字地跟模拟地分开一事上颇为好用,然而存在一个不适用的情境:要是板子采用的是动态铜皮,像Allegro里头的Dynamic Shape那般,这套于AD里的操作逻辑便是错的。简便的替代办法是径直运用“Edit – Split Plane”功能,或者于原理图上借助0欧电阻实施物理隔离,相较于在铺铜上执着钻研更为稳妥。

    你有无碰到过,铺铜被挖空之后,生产完毕回来却发觉铜皮出现翘起状况,亦或是出现短路这般奇特的情形呢?在评论区域把板层以及软件版本披露出来,咱们一块儿剖析究竟是哪里没有处理妥当。

  • PCB设计流程:新手必看,按步骤操作避开封装库坑

    经过本人实际测试Altium Designer 23.8.1,经历了无数因封装库出现错误致使反复打板而报废的情况,遇到过诸多此类问题,对于新手而言,只要依照步骤一步步去操作,便能够轻松绕开这类极为常见的问题。

    1 原理图绘制与编译检查

    将要AD予以打开,把原理图文件进行新建,于右侧“Components”面板那里点击来加载官方的或者自建的集成库。当放置元件之际,一定得运用“Properties”面板里面的“Comment”字段去精确地填写阻容值,就像“100nF/50V/X7R”这样。连线借助“Place Wire”快捷键P+W来操作,网络标签经由“Place Net Label”来进行统一命名。等完成之后,点击“Project”→“Validate PCB Project”去开展编译。

    对于新手而言要避免踩坑,常见的报错有提示“Floating Net Labels”,这意味着网络标签处于悬空状态,其核心的缘由是标签没有精确地被放置在导线上,常常会出现偏移到网格点之外的情况,解决的办法是先开启“View”,接着选择“Grids”,再点击“Set Snap Grid”,进而把栅格设置为5mil,以此来保证标签能够自动吸附。

    2 元器件位号标注与封装匹配

    于原理图界面之中,借由“Tools”→“Annotation”→“Annotate Schematics”来开展自动位号排序,提议选取“Reset All”予以清空之后再行“Update Changes List”并接纳变化。此步骤务必搭配“Tools”→“Footprint Manager”去核对每一个元件的封装,以确保0805电阻不会错误配制成0402。

    对于新手来说要避开这样的坑,在对PCB进行导入操作的过程中,会常常弹出一个名为“Unknown Pin”的报错弹窗。其最关键的原因在于,原理图里边元件引脚的编号,跟PCB封装库焊盘的编号,二者并不匹配。就好比原理图这边显示的是A/K,而封装那里显示的却是1/2。要是想要快速找到解决办法,一种情况是需在“Footprint Manager”里手动去映射引脚。另一种情况是直接双击原理图元件,然后在“Parameters”中强行指定正确的封装名称。

    3 PCB布局与关键参数设置

    把原理图借助“Design”→“Update PCB Document”导入板框之后,按数字键“1”进到2D布局模式。首先设置关键规则:按下“D+R”开启规则管理器,把“Clearance”间隙规则推荐设置成0.127mm(5mil),原因是该数值兼顾了嘉立创等主流板厂的免费工艺极限(0.1mm)和良品率,过小容易致使短路,过大则会造成布线空间浪费。布局时,电源模块与高速信号线必须物理隔离。

    4 交互式布线操作路径

    凭借用“Place”→“Interactive Routing”快捷键P+T来开展走线操作,于“Properties”面板里将指定线宽予以锁定,信号线常规情形下为0.2mm,电源线则加粗到0.5mm。这里给出一组可供对比的实操方案,方案A呈现为“直角走线”,其阻抗突变状况十分剧烈,仅仅适用于音频这类低速低频的场景;方案B展现为“135度钝角或圆弧走线”,该方式信号反射较小,在DDR或者射频电路当中是肯定需要采用的。其取舍逻辑是,针对高频板要选择B,对于普通控制板选择A能够节省布线所需的时间。

    5 DRC检测与输出文件

    布线结束之后,去执行“Tools”→“Design Rule Check”,把那里的“Run DRC on PCB”进行勾选实施全量检查。平常常见的高频完整报错是“Hole Size Constraint”,其现象是过孔孔径呈现出那种报红错误的情况,而核心原因在于机械钻头直径像是0.3mm那样低于板厂最小工艺能力一般为0.45mm。一步到位的解决流程如下,首先按下“L”键去开启层颜色,接着定位报错坐标;然后按下“D + R”进入规则,于“Routing”→“Routing Via Style”里把“Max Via Hole Size”修改成0.5mm;最后选中报错过孔,按下“Tab”键统一修改属性并且重新铺铜。

    输出至最终阶段时,轻点“File”,接着驶向“Fabrication Outputs”,而后步入“Gerber Files”,于“General”页面之中挑选英制2:5格式,在“Layers”页面之内勾选所有运用的层,其中涵盖机械层,随后点击确定,如此便生成生产文件。

    本流程对于常规双面板以及四层板而言,已经验证通过,不过呢,它并不适用于那种采用FPC软板材料的设计场景,也不适用于需要埋盲孔的高阶HDI板设计场景。如果在设计过程中,遇到了软板设计这种情况,那么建议直接去使用软硬结合专用叠层工具,并且呢,还需要把最小过孔补偿值从0.1mm调整为0.15mm以上。

    难道是,你之前那块板子,卡在了那“未知引脚”报错的情况上,又或者是,在参与DRC检测期间,被过孔尺寸给坑害到了?欢迎,在评论区域那儿,晒出你那饱含血泪的经历过往,点赞数最高的那位,会送上一份属于我的封装匹配自检表。

  • 电子工程师培训课程 四层板内电层分割避坑指南

    我亲自测试了Altium Designer 21.9.2这个版本,在进行四层板叠层设置期间,遭遇了因内电层分割而致使短路的状况,对于新手而言,只要依照步骤逐个进行操作,便能够轻易地避开此类常见的问题。

    叠层结构与阻抗计算

    将打开的可操作指向层叠管理器所处位置(Design→Layer Stack Manager),把相关设置调整成将四层板结构架构设定为Top-L2_GND-L3_PWR-Bottom。对于关键参数阻抗的控制而言:在层叠管理器当中添加Impedance Profile,将目标阻抗设定为50Ω,依据板材FR4介电常数4.2,线宽经过自动计算得出为6.2mil。L2与L3之间芯板厚度设为8mil,确保电源地平面耦合。

    【新手避坑】

    初步进行设置之际,常常会碰到阻抗计算结果出现偏差过大的状况,发出报错的现象为,所计算得出的线宽超出了板厂的加工能力限定(小于3.5mil),其核心原因在于没有正确地设置Prepreg与Core的厚度组合,快速的解决方法是,把L1-L2的介质厚度从4mil调节为5.5mil,如此一来,线宽便能够回归到5.8mil左右的合理范围。

    内电层分割如何操作

    进行Place→Line的执行操作,于L2或者L3层那儿画出分割轮廓,操作路径是,先是把内层类型由Signal转变为Plane,接着采用Place→Line去绘制闭合多边形,关键参数分割间距为,不同网络之间维持12mil以上的隔离带,电源与地平面的间距建议是20mil,双击分割区域,在属性面板那儿分配对应网络名称。

    【新手避坑】

    进行分割操作之后的覆铜,和过孔之间没办法实现连接。常常出现的报错情况是,DRC检测呈现出未连接的状态(Un-Routed Net Constraint)。之所以会这样,是因为在分割区域边缘位置的过孔,落在了隔离带的范围之内,进而致使网络无法达成连通。合理正确的做法是,在实施分割操作之前,借助Place→Via来放置过孔,要保证过孔的中心距离分割边界最少有8mil。

    两种电源平面分割方案对比

    方案A,单层多区域分割,把所有电源网络于同一内层开展分割,其优点是能够节省一层可用于信号布线,而缺点是当电源种类超过3种的时候,分割区域呈狭长状容易产生EMI风险。

    另一种方案是方案B,也就是双层协同分割,其中主要电源,像核心电压1.2V,会单独占用一层,而其余辅助电源则在另一内层进行分割,方案B的取舍逻辑是,要是板上存在高速DDR或者RF电路,那么优先采用方案B,为了换取更完整的参考平面而牺牲一层布线空间,这样信号完整性会更具保障。

    高频报错解决流程

    碰到报错“Polygon Pour not repour after modification” ,解决流程分成三步 ,第一步 ,于Tools→Polygon Pours之下点击Repour All ,要是无效就执行第二步 ,选中全部多边形 ,右键选取Polygon Actions→Rebuild All Mid-Layer Polygons。至关重要的第三步操作,开启Preferences,进入PCB Editor,再进入General,将“Repour Polygons After Editing”复选框的勾选取消,以进行手动操控覆铜刷新,从而防止大板出现卡顿现象。

    【新手避坑】

    覆铜重建之后,出现了好多破碎的孤岛。解决的办法在于修改覆铜规则,在Design→Rules→Plane→Polygon Connect Style里,把连接方式从Relief Connect改成Direct Connect,散热焊盘区域是除外的。于此同时,将Minimum Primitive Size设定为0.5mil,并且自动把尖锐碎片清除掉。

    这个方法针对超高层数背板(层数超过12层)或者埋盲孔设计场景是不适用的。要是碰到这类复杂结构,建议直接运用PDN Analyzer来开展电源完整性预分析,以此取代手动形式的试错调参,这样效率会更高且更为精准。

    当你于进行四层板设计期间时,有没有碰到过在内电层实施分割之后,电源网络出现短路现象,然而却查找不出致使该情况出现原因的情形呀?欢迎在评论区域分享你排查该情况的经历哟。

  • 新手避坑!核心器件居中布局用flex加这步才不失效

    笔者亲自对Chrome 104及以上版本的开发者工具予以实测,曾碰到过因flex、grid以及margin:0 auto这三者混合使用而致使布局出现错位情况的坑,刚入门的新手只要按照步骤一步步去进行操作,便能够轻松地避开此类常见的问题。

    给父容器加一个基础居中属性

    下面是操作的路径,首先要打开网页源文件,接着得定位到专门需要居中的核心器件,像轮播图、商品卡片这类。然后找到这些核心器件的父级容器,之后在CSS样式表里面,要为这个父容器添加display: flex; justify-content: center;。

    参数设定方面:对于父容器的宽度而言,必须设置为固定的值或者百分比,又比如width: 100%;这种情况,不然的话,flex进行居中操作就会失效。

    新手避坑

    常常出现的报错情况是,核心器件贴在了左边或者贴在了右边,不存在居中形成的那种效果。核心出现错误的原因在于,父容器的宽度没有进行设置,或者设置了 width: auto;,致使父容器的宽度因为子元素而被撑开了,justify-content 失去了其作用的范围。有个能尽快解决问题的办法,去查看父容器有没有明确设置width,另外要保证不存在其他float或者position: absolute造成干扰。

    核心器件自身宽度如何精准把控

    具体的操作途径是,先选取核心器件元素,接着于CSS当中规定width为320 pixel(或者依据设计稿来进行设定),随后再增添margin为0 auto,以此作为一种双重保障措施。

    关键参数,宽度推荐设定为320px,其理由在于,这个宽度,既能够完美适配移动端响应式断点,又能够在PC端1200px容器内维持视觉平衡,不会因为宽度过大致使两侧留白过窄。

    新手避坑

    要是核心器件内部存在图片或者视频,那就记着给它们同样添加上max-width: 100%;,不然内容将会溢出从而破坏居中布局。常见的现象是父容器实现了居中,可是子元素却爆出去了,看上去就好像是整体偏向右边。解决的办法是检查所有子元素的盒模型,运用box-sizing: border-box;来统一管理内边距以及边框。

    两种主流居中方案对比及取舍

    方案一:flex方案

    此父容器,其样式为display: flex; ,还有justify-content: center其作用是水平居中,并且align-items: center用于垂直居中,如此便可同时达成水平与垂直居中的效果。其适用场景在于,当存在需要同时对多个子元素的排列加以控制时,或者当子元素的高度并非固定不变之时,flex所具备的拉伸特性乃是一种最为省心的方式。

    方案二:margin方案

    核心器件自身的宽度设置为固定值,外边距采用0自动的方式,父容器不需要额外的样式。其适用场景是,页面结构较为简单,仅有一个核心块需要进行居中操作,并且在不需要考虑垂直居中的情况下,采用margin方案时代码是最轻量的。

    取与舍的逻辑是,对于团队协作的项目,优先选择flex,这是由于它扩展性良好;而对于个人项目或是静态页面,则选择margin,以此减少代码的嵌套层级,并且其渲染性能会略胜一筹。

    高频完整报错及一站式解决流程

    报错的情况是,于Safari浏览器的环境之下,核心器件所处的位置是正确的,然而,处于Chrome浏览器之中的时候,整体却朝着右边偏移了20px。

    进程解决办法:首先,开启开发者工具,查看父容器经计算得出的 margin 以及 padding,发觉父容器存在一个未被清除的全局 reset 的 padding-left: 20px;。其次,于父容器样式之内增添 padding: 0; margin: 0; 以此覆盖全局样式。第三步,再度核查核心器件的margin是否被设定成了margin-left: auto; margin-right: auto;,以此保证左右margin均为auto。第四步,于父容器上临时添加上border: 1px solid red; 去观察实际所占据的区域,在确认偏移消失之后将边框移除。整个流程进行下去,在5分钟之内能够确定位置并且处理好因浏览器兼容性而引发的偏移方面的问题。

    此方法并不适用于那种核心器件得依靠 position: absolute 或者 transform 去进行复杂的动画偏移的场景,对于这类需求而言,建议直接采用 left: 50%; transform: translateX(-50%); 这样的方案,其性能更佳并且不会受到父容器布局的影响。

    在运用flex进行居中操作的时候,可曾碰到过子元素出现被拉伸而变形的这般状况呢?欢迎于评论区域分享出你的解决思考途径。

  • 电子工程师招聘实测:现场画板焊接0402,避开理论坑

    实测Altium Designer 24.5.1,实测嘉立创EDA专业版2.2.22,踩过那些书写得意天花乱坠、然而一接触实际操作就暴露问题的坑,知晓新手顺着下面这套步骤逐个开展操作,便能够轻易躲开这类普遍存在的问题。

    现场实操第一关 原理图ERC检查盲画

    将一块已经烧坏的STM32F407开发板给予面试者,使其在现场打开,不借助任何网络表,仅仅依靠眼睛和万用表,利用这二者,在10分钟之内手绘出电源管理部分的关键原理图,还要标注出至少5个关键测试点。操作的路径是:直接给予板子、空白A4纸以及2B铅笔,把万用表调至可以蜂鸣档与电压档切换使用的状态。

    新手避坑

    较为常见的报错情形是,面试者会对着板子发愣长达半小时之久,或者画出大量与之无关的外设。其核心出现错误的缘由在于,平常过度依赖电脑进行自动布线,对于实际的电流路径完全没有概念。快速的解决办法是,规定的时间一到马上收卷,查看他是否能够使用红笔在实物板上标记出他刚刚所画测试点的实际位置,若对不上则直接予以淘汰。

    第二关 手工焊接0402封装实战

    供给一块空白的印刷电路板,十颗符合0402规格的十千欧电阻,一把烙铁以及含有松香烟的焊锡丝,要求在五分钟之内完成全部的焊接操作并且使用放大镜进行展示。操作的路径是:将烙铁的温度设定在三百五十摄氏度,首先给单侧的焊盘涂上锡,使用尖头镊子夹住元件的侧边放置,当烙铁头轻轻推动元件到达位置之后撤离。

    新手避坑

    常常出现的报错情形具体表现为电阻呈现立碑这种状况,与此同时还存在焊锡拉尖的现象。而核心的出错缘由在于新手所具备的习惯是率先给两个焊盘都敷上锡,如此这般的行为进而致使元件放置得不够规整平坦。快速的解决办法是,直接提出要求采用热风枪,将温度设定为320℃,风速设定为2档,通过加热使其熔化后重新进行焊接操作,能够一次就成功完成焊接的人员表明此人有着一定程度的返修经验。需要留意观察其在焊接过程当中使用镊子的手法,垂直夹取而不是水平夹取这种方式是区分焊接熟练度的关键细节所在。

    关键参数匹配与方案取舍

    核心参数是,去耦电容距离IC电源引脚的最具优势的推荐数值是,在1.5mm范围以内。其设置的缘由在于,要是超越了这个距离呀,PCB的走线寄生电感就会超过0.8nH,进而致使高频噪声滤除的效果失效,在频率高于100MHz时的信号完整性问题里,所占的比例高达70%。

    两种实操方案对比

    方案A,样板采用全手工焊接:其优点在于但凡发现问题就能即刻予以调整。适合于研发阶段进行验证,缺点则是速度较为缓慢,且一致性欠佳。

    方案B,直接进行嘉立创SMT贴片,其优点在于效率较高,且焊接质量稳定,而缺点则是改版成本高昂,以及周期漫长。

    这样一种状况下的取舍逻辑的呈现是极为简易的,具体是什么样的状况呢,那就是在针对内部展开测试之时,倘若所涉及的金额是处于3块以内的这种情形,需要去挑选方案A,而当面向客户进行演示的时候,要是所涉及的金额是超过10块以上的这种状况,那就得去挑选方案B。

    高频完整报错解决流程

    存在出错告知情况:刚刚焊接而成的STM32F103C8T6最小系统板,在与ST-Link进行连接之际,出现了提示“No target connected”的状况,对3.3V电压展开测量,结果显示这一电压是正常的,然而8MHz晶振却处于无法起振的状态。

    完整解决流程

    第一步,对BOOT0引脚展开检查,查看其是否借助10K电阻朝着地的方向进行下拉操作,经过实际测量,90%产生问题的缘由是此处呈现出悬空的状态。

    紧接着的第二步,是借助烙铁再度对晶振引脚予以加热来进行补焊的操作,此补焊操作要在4秒之内完成,并且是以松香来作为助焊用料。

    要是整套流程运行完毕以后仍然不可以,那就直接更换STM32F103C8T6芯片,使用350℃热风枪进行拆卸与安装操作,在3分钟之内达成。

    这套方法着重面向5V以下低压数字电路的手工焊接以及调试情形,并不适用于高压强电或者高频射频板(像2.4GHz以上天线匹配这样的)做招聘筛选,要是涉及这类岗位建议直接借助矢量网络分析仪来进行实测。你认为在这一套流程当中,哪一个关卡能够最有效地筛除掉那些简历包装十分过度的面试者呢?

  • 锐捷NBS5200交换机端口聚合配置 新手避坑指南

    这实测那锐捷RG-NBS5200交换机V2.1.3固件这人我,踩过端口聚合之时部分终端没办法获取IP地址的坑入过,新手顺着步骤一步步去操作,就能轻易避开这类常见问题。

    怎么在交换机上配置端口聚合

    登上交换机Web管理界面,其默认IP为192.168.1.1,输入进去账号admin以及密码。于左侧菜单栏那儿寻找到“交换管理”,点击“端口管理”当中的“链路聚合”。点击“添加”,挑选参与聚合的端口,像GigabitEthernet 1/0/1和1/0/2,负载均衡算法选“源MAC+目的MAC”,聚合组号填1,点击应用。

    新手避坑

    这一步常见的报错情形为“端口已加入VLAN无法聚合”。其缘由在于,所选取的两个端口下面,已然配置了不一样的VLAN或者trunk配置。能够快速解决问题的办法是:首先将这两个端口的配置进行清空,使之恢复到默认状态,接着再去执行聚合操作。一定要牢牢记住,聚合之后,所有成员端口的原始配置将会被清空,需要提前进行截图备份。

    对聚合口的VLAN属性予以配置,于“VLAN管理”当中,将适才创建的聚合口AggregatePort 1找寻出来,使其被设定为Trunk模式,于“允许通过的VLAN”框内,以手动方式录入允许的VLAN ID,像是1,10,20 – 30,随后点击保存。

    【新手避坑】

    此时极易出现的失误乃是仅配置了PVID却未配置允许列表,致使部分VLAN无法连通。正确的举措为:Trunk口务必同时指定Native VLAN(其默认即为VLAN1)以及Allowed VLANs。倘若你要运营多个业务网段,Allowed VLANs若遗漏任何一个,那个网段的流量便会中断。

    3,关键参数负载均衡模式,推荐选择“源MAC+目的MAC”。此值在聚合创建时进行设置,其位置处于上一步的“负载均衡”下拉框当中。选择它的理由为:在网络当中,倘若存在大量设备对不同服务器进行访问,那么这个模式能够确保同一个会话的往返流量经由同一条物理链路,从而避免出现乱序的情况,相较于单纯按照源MAC进行分发而言,更加均衡。

    【新手避坑】

    倘若你发觉聚合之后流量并非均匀分布,存在一台成员端口流量达到饱和状态而另一台处于空载情形,那么十有八九是负载均衡算法的选择出现差错。特别是在网络之中,MAC地址变化较少的这种状况下,不要采用默认的那个“源MAC”模式,而是更换为“源MAC + 目的MAC”或者“源IP + 目的IP”,如此一来能够显著得到改善。

    聚合模式怎么选更合适

    两种实操方案存在于此,其一为静态手工进行聚合,此聚合方式乃是依据上面步骤所配置的那种,其适用于两台交换机品牌并不一致之时的场景画面,该配置所含兼容性是最好的,不过一旦链路出现故障,那么其切换速度会稍微显得缓慢一些。其二是动态LACP聚合这种情况,此聚合方式需要在聚合设置当中勾选选中那种“启用LACP”的选项,通过协议来自动协商成员端口的状态情况。要是你所采用的交换机以及对端设备两者都支持LACP,那么优先采用动态模式,因为故障切换时间是身处1秒之内的,导致网络中断的时间也要更短一些。

    报错端口无法加入聚合怎么解决

    对于高频出现的报错“端口已经作为其他聚合组的成员存在”,其呈现出的现象是在点击应用之后,弹出窗口提示拒绝进行操作。解决的流程如下:首先要前往“链路聚合”的列表页面,查看此端口是否被其他聚合组所占用了。假设是这种情况,那么就要删除原来的聚合组或者将端口从其中移除。要是没有看到有占用的情况,便进入端口配置界面,审查端口状态是否为“关闭”,手动把端口“开启”。完成这两步之后若还是不行,那就直接重启交换机电源,不要进行软重启,而是通过物理断电再通电的方式,这样能清除掉许多后台残留的配置。

    我的这个办法,不适用于已然在线开展业务的设备直接就行操作,缘由是更改聚合配置会将端口原有的VLAN设置清空,致使业务出现中断。要是你是在生产环境里操作,建议预先找一台相同型号的空交换机,把全部配置在模拟环境当中运行顺畅,生成配置文件,接着安排断网的窗口期,直接将配置刷上去,相较于在线一步步点击要保险许多。

    你于配置端口聚合之际,曾碰到重启之后聚合组无法启动的状况吗,于评论区交流一下具体的现象,我瞧瞧是否为硬件兼容性方面的问题。