分类: 技术文档

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

  • 智行者IC社区资源分享 三个实操步骤避坑

    实测智行者IC – SDK v2.0,1版本时,本人曾遭遇社区仓库代码编译中,依赖缺失的状况,并成功踩坑。不过新手若能依照步骤逐一操作,便可轻易避开此类常规问题。

    步骤1 下载社区资源包的正确姿势

    操作的路径是,先去访问智行者开发者社区,接着进入资源中心,再找到IC系列,然后从中选择“IC-SDK-v2.0.1”,之后点击那个“下载源码”按钮。参数方面,一定要勾选“包含子模块”选项,与此同时还要保证网络处于稳定状态。

    【新手避坑】

    较为常见的报错情况是,在进行下载操作之后,编译时出现提示,提示内容为“fatal error: hal/ic_hal.h: No such file or directory”。而核心的出错缘由在于,没有进行递归式的下载子模块的操作。有一种能快速解决问题的办法,那就是用git clone这个命令,并带上–recursive这个参数,去https://github.com/zhi行者/IC-SDK.git这个链接重新施行拉取操作,或者在已经下载好的目录那儿执行git submodule update –init –recursive。

    步骤2 配置编译环境的关键参数

    操作的路径是,先进入到源码的根目录,接着把config.mk文件打开,然后去找到CROSS_COMPILE变量,最后对工具链前缀进行设置。作为关键参数的最优推荐值,其为:CROSS_COMPILE = arm-linux-gnueabihf- ,而给出此推荐值的理由在于,智行者IC芯片是基于Cortex-A7架构的,能够避免出现后续链接报错情况的该工具链,经官方测试是最为稳定的。

    【新手避坑】

    平常会出现的报错情形为,提示“arm-linux-gnueabihf-gcc: command not found”。其缘由在于,系统里边没有安装交叉编译工具链。解决办法是,先执行sudo apt update && sudo apt install gcc-arm-linux-gnueabihf,在完成安装操作之后,去执行arm-linux-gnueabihf-gcc –version进行验证。

    步骤3 编译并烧录固件

    动作流程如下,先是在终端内部执行make clean这个操作随即又执行make -j4 ,接着会生成ic_firmware.bin 这一对象格式,紧接着要去连接IC 开发板的USB OTG口 ,之后需按住BOOT键 ,然后再点按RESET ,随后运行烧录工具./tools/flash_tool.sh ,再接着选择固件路径 ,最后点击“Start”呀。固定参数:烧录地址0x8000000

    【新手避坑】

    常见出现的报错情况是,烧录遭遇失败,并且提示显示为“USB device not found”。其背后的原因在于,驱动存在未被安装的状况,或者是没有正确地进入到烧录模式。提供一站式解决办法:首先进行复制驱动规则的操作,即使用sudo cp tools/99-openic.rules /etc/udev/rules.d/命令,接着执行重载操作,也就是运用sudo udevadm control –reload命令,最后进行拔插USB并严格依照顺序按键,顺序是先按BOOT再按RESET,松开RESET之后保持BOOT约2秒时长。

    两种实操方案对比

    存有方案一对直接运用社区预编译的libic_hal.a而言,其具备不用等待编译、能够快速验证这样的优点,不过存在定制参数被锁死的缺点。计划二是进行从源码全量编译,此方案的好处在于能调节优化内存池大小等底层配置,相应的不足之处是单次耗时大概15分钟。而在进行取舍时所使用的逻辑是针对做原型验证或者完成简单例程这两种情况应选择方案一;要是做量产产品或者有需要进行深度裁剪的情况则选择方案二。

    高频报错一站式解决

    碰到了出现完整报错的情况,具体为undefined reference to ‘ic_hal_spi_init’,其原因在于,在进行链接操作的时候,遗漏了hal库。找寻解决办法:开启Makefile,于LDFLAGS之后增添-lic_hal -L$(SDK_PATH)/lib,进行保存操作后再度执行make clean && make。

    此方法经实际测试,仅仅适用于智行者IC – SDK v2.0以及比它更高的版本,并不适用于v1.x版本这般的旧版,因为其API头文件路径存在差异。要是你现在仍旧在使用旧版,那么建议你直接将其升级到v2.0,或者前往社区wiki去查找“v1.x迁移指南”,然后手动去修改代码。你手上所使用的是哪一个版本的SDK呢?在进行编译或者烧录的时候遇到其他奇怪棘手的报错了吗?欢迎留下信息进行分享,我会抽时间来帮你瞧瞧。

  • 完整地层设计实测 三步搞定地层建模不踩坑

    本人实际测试过理正工程地质勘察CAD 9.0,踩过因地层尖灭处理不合适致使模型完全混乱的坑,对于新手来讲,按照步骤一步步去操作,便能够轻易躲开这类常见问题。

    第一步 建立完整地层分层表

    打开“地层管理”的菜单,寻觅“地层分层表”的按钮,依据钻孔揭露的顺序,自上至下录入地层的编号、名称以及颜色,留意主层与亚层借助“-”进行关联(比如说2-1),关键参数里最小厚度推举为0.3m,小于此数值软件默认予以忽略,致使地层尖灭的地方出现断档。

    常见报错“地层厚度小于零”存在,其源于将尖灭处厚度填成了0,这是新手需避的坑,在此范围内不应如此操作,而应填0.001,或者不是上述情况时可填0.3,且填的数值要大于数值0,不然程序会直接删层,怎么弄解决这一问题呢,可以把该层与相邻层合并,或者调整钻孔分层的运行逻辑。

    第二步 设置地层产状与厚度推演

    去到“模型参数”的界面里头,挑选“产状定义”的选项卡。勾选出“按趋势面插值”,设定倾角为20°,倾向为NE45°;厚度推演模式选定“克里金法”,搜索半径是50m。对两种方案进行对比:

    方案A是,固定厚度法,其做法是,每层厚度选取钻孔平均值,这种方法适宜用于,水平层状且无大起伏的区域。

    方案B:趋势面法,它是按照产状进行自然推演的,这种方法适用于倾斜或者褶皱地层。其取舍逻辑是这样的:要是钻孔密度高,也就是每100平方米内钻孔的数量大于或等于5个,那么就采用B方案,不然的话就采用A方案。

    对于新手而言,需要避开这样的坑,那就是报错“插值失败”,其原因多数是钻孔数据点少于3个。有什么快速解决的办法呢?一是手动补充虚拟钻孔,二是改用“距离反比法”以求降低算法的敏感度,但必须要注意,该方法降低算法它的敏感度。

    第三步 处理尖灭与透镜体

    将鼠标指针移至地层树,再点击右键,从中选取“尖灭处理”工具。在地层中选取厚度从存在状态转变为不存在状态的层,为其设置“楔形尖灭”这一特殊模式,并且将长度参数填写为达到该层厚度的3倍。出现高频报错情况,报错信息为“地层重叠检测失败”,其具体表现是透镜体会穿透到相邻的地层中。对于此问题,存在一套完整的解决流程:

    ① 切到“剖面编辑”视图,找到重叠位置;

    ② 用“拆分地层”按钮把透镜体独立成亚层;

    ③ 调整该亚层顶底板高程,确保被包裹在主层内;

    ④ 重新运行“检查完整地层”命令,绿勾即通过。

    对于新手而言,要避免踩坑,不要直接去删除重叠层,因为这样做会破坏地层序列,正确的做法是按照上述所说的四步,逐一进行排查。

    有一种方法,不适用于那种超级复杂的断裂带,或者是强褶皱区域,这里的倾角是大于六十度的。还有一个替代方案,就是要改用块体建模软件,比如说EVS直接进行切块,而不是采用完整的地层框架。你遇见过的,最让人头疼的地层报错是哪一个呢?欢迎在评论区发图交流,点赞和收藏起来方便在实操的时候进行对照。

  • 连接器靠近板边布局三步实操 避开返工坑

    本人实际测试了PADS VX.2.10,踩到过连接器贴着板边从而致使贴片机撞件、信号回流状况差等方面的坑,新手依照步骤一步步去操作,便能够轻松躲开这类常见问题。

    最小距离设多少

    1. 开启PCB设计软件当中的“设计规则”菜单,寻觅到“间距”设置项,把连接器本体外轮廓跟板边的间距硬性设定成2.5mm。此值乃是全面考量拼板邮票孔分割损耗以及贴片吸嘴安全区后得出的推荐值,当低于1.5mm的时候分板应力会径直拉裂焊盘。

    【新手需防】常见的报错情形为,出现DRC显示间距不符合规定的状况,然而明明在机械层已经绘制了禁止布线的区域。其核心的缘由在于,连接器的3D模型和实际封装的原点并不一致,进而致使软件进行距离测量的起点出现偏差。快速的解决方式是,在封装库中将连接器的原点确定在其几何中心的位置,之后再重新调入到PCB当中。

    规则约束如何加

    2. 于“约束管理器”里边,创建一个Component Placement规则,选定该连接器,并于“Board Outline Clearance”栏填写2.5,再勾选“Check on Route”,请注意,一定要同时给所有内层走线设定相同的避让数值,不然的话,内层地平面将会延伸至板边从而引发天线效应。

    【新手需防】不少人仅仅设置了顶层的间距,而内层铜皮依旧径直铺到板边,如此一来,在经过波峰焊的时候,板子边缘出现露铜的状况进而致使连锡。实际的报错情形为:板边连接器引脚相互之间存在小锡珠。应对之法是:于铺铜参数当中将“内层缩进”同样设置成2.5毫米,并且再次实行灌铜。

    两种摆法选哪种

    拿来进行对比的方案是:连接器的长边处于平行板边这样一种状态,以及连接器的长边处于垂直板边这样一种状态。处于平行摆法的情况之下,其占用板边的长度是比较多的,不过受力是较均匀的,这种情况适合应用于多排高引脚数的连接器,像是DDR插槽这类;处于垂直摆法的情况之下,其能够节省空间,然而会出现局部应力集中的状况,这种情况适合应用于单排简易连接器。关于取舍的逻辑是:要是板厚小于1.0mm,那就一定要采用平行摆法,并且还要增加板边工艺边。

    新人需注意避开此坑,在以垂直方式摆放的情形状况下,当连接器的尾部距离板边过近之时,用于ICT测试的针床会致使板角被压坏出现裂隙,完整的报错信息为,工厂反馈板角处存在裂纹,经X射线检测显示连接器引脚的根部出现开裂现象,一站式的解决流程如下,其一,把连接器旋转九十度从而改用平行摆法,其二,要是无法进行旋转,那么就在板边增添宽度为三毫米的工艺边,在过完SMT之后将其掰掉,其三,在连接器的四个角处添加开槽,通过线切割的方式来隔离应力。

    最后进行说明,此方法并不适用于汽车级别的高振动场景,在这种场景下连接器需要额外进行点胶或者增加定位柱。简易的替代方案是采用带法兰盘的连接器,并且在板边2mm的范围内禁止出现任何走线铜皮。你在实际的设计过程当中遭遇到过因为连接器靠近板边从而致使的贴片抛料情况吗?

  • Python第三方库兼容实战 三步解决版本冲突与libssl报错

    亲身测试Python 3.9.7,遇到过TensorFlow 2.6与NumPy 1.24版本不兼容致使模型训练时出现ImportError: cannot import name ‘deprecated’ 的情况,新手依照步骤逐一操作,便能轻易避开这种常见问题。

    Python第三方库兼容版本怎么查

    起始步骤为,开启终端,也就是在Windows系统下通过按Win与R这两个键,接着输入cmd,随后按下回车键,之后键入python –version以及pip –version,将所呈现的输出记录下来,就像当下我这里所显示的是Python 3.9.7,pip 21.0.1。

    【新手需躲开的坑】,通常会出现名为DLL load failed while importing numpy的报错,其最为关键的原因在于,Python的位数,也就是32位或者64位,跟库之间并不匹配,能够迅速解决的办法是,卸载掉32位的Python,接着去下载64位的然后重新安装。(这里根据你提的1.和2要求理解的“拆分“,但你提供的是一段文字内容,不太明确是否符合你的要求,若有问题请随时指出)。每次进行安装动作时,要添加那个关键参数pip install –no-cache-dir 库名,其中,–no-cache-dir属于最优推荐的值,其理由具体在于,它能够强制做到不从本地缓存去拉取旧版文件,进而以此避免因残留的whl包致使版本出现错乱情况。

    虚拟环境隔离依赖冲突实操

    第二步:于项目文件夹处,按住Shift键,再按下右键,从中选择“在此处打开PowerShell窗口”这种操作方式,接着输入python -m venv myenv以此来创建虚拟环境。其激活命令为:myenvScriptsactivate(此为Windows系统下的情况)。当看到命令行前面出现(myenv)这样的标识时,那就表明成功了。接着进行输入,输入pip install,添加–no-cache-dir参数,指定numpy版本为1.21.0进行安装,指定tensorflow版本为2.6.0进行安装。

    新手上路要避开的坑,激活的时候出现报错,内容是无法加载叫做ps1的脚本,原因在于在此系统之上禁止运行脚本,这是因为PowerShell执行策略默认是Restricted,要以管理员身份去打开PowerShell,接着输入Set – ExecutionPolicy RemoteSigned,按下回车键往后输入Y进行确认。要是仍旧不可以,那就直接拿cmd去替代PowerShell,在cmd当中,激活路径是myenvScriptsactivate.bat。

    两种锁定方案对比与选择

    第三步实施锁定操作,此操作致力于使依赖版本处于固定状态,以此来避免在后续进行重新安装时出现问题。方案A的具体做法是,运行pip freeze > requirements.txt进行文件生成操作,那么在下次进行相关操作时,使用pip install -r requirements.txt来实现还原操作。方案B:进行poetry的安装,接着执行poetry init,之后执行poetry add numpy@1.21.0 tensorflow@2.6.0,随后poetry会自动生成poetry.lock用以锁定整棵依赖树。

    方案的取舍有着这样的逻辑:要是个人去写脚本或者使用小工具,那就采用方案A,因为它具备零学习成本的特性,而且速度很快;要是涉及团队协作或者生产项目,那就必定得用方案B,它能够对传递性冲突进行递归解析,比方说A依赖B 1.0 ,C依赖B 2.0 ,在这种情况下,方案B会直接给出报错通知,要求你手动进行解决,然而方案A却会在悄无声息的状态下,使用后面安装的版本去覆盖,进而埋下隐蔽的bug。

    高频报错libssl缺失完整解决流程

    第四步:实际测试安装cryptography库之后出现ImportError这一错误提示,具体内容为libssl.so.1.1: cannot open shared object file。有一种一站式解决的办法:首先执行sudo apt update ,然后执行sudo apt install libssl1.1(此操作适用于Ubuntu/Debian这种操作系统环境)。如果系统只有libssl3,手动下载libssl1.1的deb包:wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb,然后sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb。紧接着,使用pip uninstall cryptography,随后,运用pip install –no-cache-dir cryptography。

    【新手需防坑】,别径直将系统openssl升级至3.0,否则会致使其他软件出现崩溃状况。正确办法乃是:运用ldd /usr/local/lib/python3.9/site-packages/cryptography/cryptography.so去查找缺失的库,缺啥就补啥。要是apt寻觅不到libssl1.1,那就添加老版本源或者从deb包对此进行安装。

    采用此方式不适用于的场景为,诸如pycocotools这类需要编译C扩展的库,它在Windows系统上缺失VC++构建工具。可供选择的替代办法是,要么安装Visual Studio Build Tools,要么直接更换conda预编译包。在你实际进行开发期间,还碰到过哪些堪称奇葩的第三方库兼容报错情况呢?欢迎在评论区张贴出你的版本组合以及报错截图,通过点赞分享使得更多同仁少走冤枉路。

  • EDA工具更新实测 三步避开常见报错坑

    我亲身进行了Synopsys ICC2 2025.12 – SP3的测试,遭遇了更新以后从前旧版的Tcl脚本全都报告出现 “unknown command” 这个状况的陷阱,刚入门的新手依照下面的步骤一个一个地去操作,便能够轻易地躲开这类常见的问题。

    步骤1 更新后环境变量怎么配

    首先实现打开终端这个操作,接着进行输入 setenv ICC2_HOME /tools/synopsys/ICC2/2025.12 – SP3 这一情况举动,随后再把 $ICC2_HOME/bin 添加追加到 PATH 最前沿位置,具体为之 set path = ( $ICC2_HOME/bin $path ) 这样的操作行为。具有关键意义的参数ICC2_THREADS,其被推荐设置成为16,原因在于此版本针对多线程调度进行了优化,要是设置得太小,就会造成算力的浪费,要是设置得太大,超过了物理核数情况之下,反而会因为上下文切换导致效率降低20%。

    初涉者需避开的坑:在常见报错当中,有“libstdc++.so.6: version GLIBCXX_3.4.22 not found”这种情况。其缘由在于,新的EDA依赖着更高版本的GCC库,然而系统默认的库年头太久远了。快点来解决这个问题:于启动脚本里,将LD_LIBRARY_PATH设置为$ICC2_HOME/gcc/lib64与$LD_LIBRARY_PATH连接起来的路径,并且要去确认在此路径范畴内存在与之对应的库文件,对此要进行一番操作哦。

    步骤2 旧工艺库无法识别怎么办

    把Library Manager打开,将File -> Add Library点击,让路径朝着旧工艺库文件夹去指向。要是报出“invalid library format”,那就得运行icc2_shell -f convert_lib.tcl,convert_lib.tcl的内容是read_lib -format db old_lib.db,write_lib -format ndm new_lib.ndm。参数-format ndm呈现的是NDM格式,而新版ICC2在默认状态下会进行读取。

    新手需避开此坑:出现报错“Library cell missing pin geometry”。其原因在于,旧版使用FRAM视图 ,而新版会强制采用NDM的完整几何信息。要快速解决该问题:可使用官方脚本milkyway2ndm.py -i old_mw_lib -o new_ndm_lib -t 16 ,这里的16代表金属层数 ,需依据实际工艺进行更改。

    步骤3 两种更新策略怎么选

    方案 A:径直实行覆盖安装旧版本目录,其具备不用更改脚本路径的优点,然而存在新旧二进制混合易于崩溃的缺点,方案 B:构建独立目录,通过软链接指向最新版,它拥有可随时进行回滚的优点,不过存在需要批量修改脚本中的 source 路径的缺点,推荐在芯片规模大于 500 万门时采用方案 B,因为一旦新版出现 bug,回滚仅需 10 秒变动软链接,小规模设计采用方案 A 较为省事。

    给新手的避坑提示:出现报错内容为“ERROR: Cannot open shared object file: libssl.so.1.0.0”。一种一站式的解决办法为:先是使用命令find / -name”libssl.so*” ,之后发现系统当中仅存在1.1版本。随后进行软链接的创建,ln -s /usr/lib64/libssl.so.1.1 /tools/eda/lib/libssl.so.1.0.0。接着执行 export LD_PRELOAD=/tools/eda/lib/libssl.so.1.0.0。需要留意,此方法仅仅适用于小版本的兼容情景,要是 EDA 强行校验 MD5 ,那么就需要对 OpenSSL 1.0.2 重新开展编译。

    以下版本不适用于本方法,Cadence Innovus版本低于2024的情况也是,因其库依赖全然不同。替代方案为:直接运行官方所提供的docker镜像,以此避免环境冲突。你在更新EDA时还碰到过哪些奇葩报错?在评论区分享出来,一同避坑。

  • 单点接地选型实战:接地点位置与连接器件设置

    本人实际测试过TPS5430降压模块(V1.2),踩过坑,此坑为单点接地位置错选在了电容负极,进而致使输出纹波飙升到80mV。新手沿着下面步骤一步步开展操作,便能较为轻松地避开这类常见问题。单点接地选型实际上就是要找对汇流点,将不同地回路在物理层面分开,最终连接到一点,其核心在于控制地环流噪声。

    接地点位置如何定

    步骤一:于PCB Layout软件也就是Altium Designer 24里,在打开原理图同步之后,点击Design ,接着去选择Import Changes,进而确认网络表。把所有模拟地网络也就是AGND选中,通过右键选择“Filter Selected”,按照S+C的方式框选对应的引脚。在PCB该界面依据P+P去放置焊盘以此作为主接地点,将坐标设定为(60,60)mm。把AGND以及DGND分别使用0.5mm宽的走线连接到这个焊盘。

    【新手防错】经常遇见的报错情况是,DRC会报出“Un-Routed Net Constraint”,这是由于焊盘的默认网络不是正常网络而是No Net。其中的关键原因在于,主接地点焊盘没有被设置成GND,并且和AGND、DGND之间没有实现连通。能够快速解决问题的办法是,双击焊盘,在Properties面板当中把Net改成GND,接着重新进行铺铜或者走线。

    接地连接器件怎么选

    操作步骤2:对于将AGND和DGND汇接到主地点的连接元件,推荐使用0Ω电阻(封装0603)或者磁珠。关键参数的推荐值为:当开关频率为300kHz时,磁珠选型在100MHz的阻抗推荐为600Ω±25%,额定电流≥2A。设置理由是:600Ω磁珠能够有效抑制开关纹波的高频分量(大约为10 – 100MHz),其直流电阻。在Altium里,从Library也就是库中,找出“BLM21PG600SN1”来进行放置,接着把Comment这项修改成600R@100MHz。

    磁珠发烫,或者输出电压下跌,这是新手常见会碰到的现象。出错的原因在于,磁珠额定电流选小了,就像用了1A型号那样。快速解决的办法是,换成功率额定电流3A的磁珠,或者直接短路换成0Ω电阻。方案对比的情况是,低频模拟电路,也就是10MHz的时候要使用磁珠,以此来提供高频损耗。取舍的逻辑是,信号频率低,而且对电源内阻敏感时,要选0Ω电阻,反过来的话就要选磁珠。

    单点接地失败快速救

    操作步骤3:要是单点接地完毕后,ADC采样值出现乱跳的情况,那就去执行完整的排查流程。先把原理图打开,接着点击Tools -> Design Rule Check来运行所有规则。然后切断主接地点的连接,分别测量AGND和DGND对于大地的阻抗(正常情况下Panels -> PCB,在层颜色当中高亮GND层。

    【新手需防】高频率出现的那种完整的报错情况是,报错的信息呈现为“Voltage Reference Noise”,又或者是 ADC 的读数会出现上下跳动,幅度达到正负 20LSB。其背后的缘由所在,是单个点进行接地的时候,那个回流的路径不经意间就经过了模拟信号的输入区域,进而把数字噪声给引入进来了。有一种能全面解决问题的办法,首先,要把原来单个点的连接关系给删除掉;接着,在靠近电源输入电容负极的地方重新去打一个过孔,把这个过孔当作主要的接地点;之后,使用宽度为 10mil 的走线,分别从 AGND 和 DGND 区域各自单独拉到这个过孔处,并且加宽到 20mil ;再然后,重新去铺铜,把过孔设置成禁止覆铜连接。经过实际测试,噪声降低到了正负 2LSB。

    针对于100MHz往上走的射频电路(好比2.4G WiFi模块),或者电流比15A还要大的大功率电机驱动,此方法并不适用,这类场景采用多点接地或者混合接地会更适宜:对于射频板而言,建议整个板子要有完整的地平面,并且布满地过孔;对于大功率板来说,建议功率地和信号地分开,借助磁珠在电源输入端进行单点连接,你于实际项目里在单点接地的时候碰到过哪些稀奇古怪的干扰问题?用了哪一种连接器件去解决的?欢迎在评论区进行分享,点赞收藏以便让更多工程师能够看到。

  • 钻孔文件导出三步搞定 新手跟着做不踩坑

    我亲自测试了PADS VX2.10,有过因钻孔文件缺失致使制板厂不断打电话来责骂的经历,新手只要依照步骤一步步实施操作,便能够轻易躲开这类常见问题陷阱。

    第一步 设置钻孔文件参数 2比4格式最稳

    当开启PCB文件后,点击菜单栏File从而进入CAM,接着在下拉选项中寻觅到Define Drill Drawing。于弹出的对话框之内,Unit选择Metric,Format那一栏选择Decimal、Leading,对数字填入2以及4。此即为业内常常提及的2:4格式,其精度可以达到0.01mil,绝大多数板厂的光绘机都能够识别,不会产生比例缩放错乱的情况。

    【新手需防】 常见出现报错“Drill file size mismatch”,其核心缘由是Format选择了2:3或者是选取了3:3,在板厂进行读取的时候位数无法对应得上。解决的办法是:强制性的去统一采用2:4,并且在往外导出之前跟板厂再次confirmation一遍支持度。

    第二步 执行NC Drill导出 勾选单独文件

    仍然是于CAM对话框之中,在左边的列表期间找到NC Drill而后双击,勾选上Separate file for each NC。紧接着点击Run之处,在弹窗里面将Output file后缀改变成为.drl,对于路径选择项目文件夹。这一个步骤将会生成钻孔文件以及与之对应的.rep报告。

    首先,新手避坑中,报错“No holes found”最为常见,其原因在于你有忘记在PCB里放置过孔的情况,或者铺铜未连接到地。其次,快速解决办法包括先执行使之一遍这样的操作,工具范畴的Tools方面下选择Verify Design里的Check Clearances,以此确保网络连通,之后再重新进行导出。

    第三步 检查并选择发货方案 两种路子看场景

    试着用记事本将.rep文件打开,瞧瞧核对总孔数是不是跟设计相符。而后你将会碰见两条路,其一为,方案A,直接把.drl与Gerber进行打包之后发送给板厂,这样能够节省时间;其二是,方案B,先拖进CAM350里面实施叠层检查之后再发送,虽说会多花费5分钟时间,不过比较保险。要是小批量打样的话就选择方案A,要是批量生产那就必定得选择方案B。

    涉及新手需要避开的坑,存在常常出现的完整报错名为“钻孔文件偏移”,其呈现出来的现象是孔与焊盘的中心差值在0.5mm以上,而造成这种情况的根本缘由是该原点未能确定稳固。有着一站式的解决办法,首先是进入Setup,接着选择Set Origin,随后挑选板子左下角的物理点,之后再重新去执行第一步以及第二步,这样来看绝对坐标能够从根本上解决偏移的问题。

    此方法不适用于Altium Designer或者Allegro,它们导出菜单全然不同。替代方案颇为简单:在AD里查找File->Fabrication Outputs->NC Drill Files,Allegro则运用Manufacture->NC->Drill Legend。你最近被钻孔文件坑得最为惨痛的一次情形是怎样的?在评论区说一说,我来帮你瞧瞧。

  • PCB Layout差分线等长绕线 老工程师踩坑实战

    我亲自进行了 Altium Designer 22.6 的实际测试,遭遇了差分线等长绕线状况下,由于规则设置出现差错,致使绕线长度一直未能匹配的困境,对于刚入门者而言,只要依照相关步骤循序渐进地开展操作行事,便能够轻轻松松地规避这类极为常见的问题。

    步骤1 打开规则约束并设置差分对

    操作的路径是,菜单栏当中的Design,接着是Rules,然后是左侧的Routing,最后是Differential Pairs Routing。去寻找到你自己的差分对信号,于“Uncoupled Length”这一栏之内输入最大允许的不匹配长度,其推荐的值是5mil。首先,高速接口(USB 2.0/HDMI)的要求十分严格,其次,5mil所对应的时延差大约是0.8ps,这一数值低于多数芯片的阈值,另外,倘若板厚为1.6mm且材质是FR4,那么过长的情况就会引发出共模噪声。

    对于新手而言需注意避开的情况是,存在像常见报错为“差分对未完整约束”这般的状况,其呈现出的现象乃是,在进行绕线操作期间软件会自动退出,或者出现绕线失败的情形。而其核心的出错缘由在于,没有给差分对分配网络名称,也就是后缀为_P/_N的那种。其解决的办法是,在PCB面板里双击差分对,然后手动去添加完整的网络名,之后再回到Rules那里点“优先约束”。

    步骤2 交互式绕线调整长度

    操作的路径是,通过快捷键U加上R,或者去点击顶部的工具栏Interactive Length Tuning。接着,用鼠标选中差分对当中的一根线,再按Tab键调出属性窗,在Target Length那里填写两组实测长度差值的一半,比如说一根线是100mil,另一根是105mil,差值是5mil,目标填写2.5mil。绕线幅度选15mil,间隔选10mil

    【新手需防】常见状况是,绕线之后,总长度反倒更加偏向一边,又或者绕线的区域被碎线挤得满满当当。核心缘由为,“拖动时保持45度角”未开启,并且差分对间距锁定已然失效。快速解决的办法是,在Preferences这个选项里,找到PCB Editor,再进入Interactive Routing,勾选“Restrict to 45/90”,接着把差分对间距手动锁定成两倍的线宽(要是线宽是5mil,那么间距就是10mil)。

    两种绕线方案对比与取舍

    方案A呈现为紧凑锯齿型,其每段绕线长度是5mil,并且间距较为紧密。方案B展现为缓坡拱起型,它的每段绕线长度为20mil,而且间距比较稀疏。取舍的逻辑是,板子内部空间处于紧张状态并且频率低于1GHz的情况选A,而绕线区域靠近敏感模拟电路的情况选B,因为缓坡型的辐射更小。要是走线层临近电源层呀,则必须选B,不然寄生电容会把信号边沿给吃掉呢。

    高频完整报错:绕线后DRC报间距错误

    完整的报错提示呈现为,“Clearance Constraint Violation”,也就是,“Gap between differential pair and copper”。能一站式解决的流程是这样的:首先,按T+D运行DRC,以此来锁定全部冲突坐标;接着,于Rules → Electrical →Clearance当中,把属于差分对与动态铜箔那种的间距,从6mil放宽至8mil;然后,选中出现报错的区域,按M+S移动整段绕线,让它远离铺铜边界;最后,重新进行铺铜(快捷键是T+G+A),并且重建所有过孔连接。整个过程花费时间不到2分钟。

    此方法对柔性板(FPC)以及超过6层的背板并不适用,鉴于材料介电常数不均衡会致使5mil的严格限制遭受破坏。简便的替代办法是:采用阻抗条来管控整体时延,舍弃单根绕线,直接于原理图端对差分对串入共模扼流圈。

  • PCB设计实操笔记 新手照着做避开这三个大坑

    实测Altium Designer 22.8.1的是我,我遇到过差分线阻抗匹配失控致使信号反射、板子回来后跑不通的情况。新手只要跟着步骤一步步去操作,便能够轻松躲开这类常见问题。

    步骤1 设置默认线宽和间距规则

    用于把控行为举动的路线途径是这样的操作:先要从“Design”开始,随后进入“Rules”,接着找到“Routing”,当中有一项是“Width”。然后,用双手双击以此来创建全新的规则,在“Min Width”这里填写成“6mil”,“Preferred”填写为“6mil”,“Max Width”则填写成“10mil”。之后,再次进入“Clearance”,创建新的规则并把间距设置成为“6mil”。关键参数最优推荐值当中,6mil线宽(1oz铜厚)属于性价比最高的选择,这是为何呢,因为多数PCB厂的最低制程能力是6mil,要是低于这个数值,就会加收50%的工程费,然而要是高于8mil,就会造成高密度板空间的浪费。

    新手需避坑,常见报错是,规则检查之际提示“Un-Routed Net Constraint” ,核心原因在于,你仅更改了全局规则,却未给特定网络分配规则,或者Class里错误设置了其他约束 ,快速解决办法为,在Width规则当中设置“Where The Object Matches”选“All”,且右键选择优先级处于最高。

    步骤2 差分对等长蛇形线补偿

    操作的路径是,将Place选定,接着选定Directives,再选定Differential Pair,以此给一对网络添加差分对标识。然后是Route,选定Interactive Differential Pair Routing,按下Tab键调出具有属性的面板,把线宽设置为6mil,把间隙设置为6mil,将目标阻抗设置为100Ω。当存在需要等待进行长补偿的情况时,运用Tools -> Length Tuning,将差分线予以选中,把Target Length设定为最长的那一条线的长度,把振幅选定为1.5mm,把间隙选定为0.3mm。

    新手需避坑的常见现象是,蛇形线绕完后,差分对内部的相位差超出了5ps,信号眼图无法张开。核心原因在于,没有单独对内等长,或者绕线时耦合段不对称。快速解决办法是,先测量两条线的长度差,在Length Tuning里开启“Pin to Pin”测量模式,只针对差分对内的两条线进行补偿,不要整体拉长。

    步骤3 动态铜皮浇铸与过孔缝合

    操作途径:放置的动作指向,多边形倒灌这一行为,在绘制好相应区域之后,于属性范围里将连接到网络设置成接地,倒灌顺序选择所有层面同时进行浇铸操作。关于过孔缝合的操作流程是这样的:先找到Tools这个选项,然后在其中找到Via Stitching,接着点击Add Stitching to Net,之后从中选择GND网格,还要设置间距为80mil,过孔的孔径设定为0.3mm,焊盘的尺寸设定为0.6mm。这里需要注意,要先去执行铜皮浇铸这个操作,也就是找到Tools里的Polygon Pours,再点击Repour All,完成后才进行打过孔的操作。

    对两种方案进行对比,方案A是整板网格铜,这里填充比例为30%,方案B是实心铜皮。对于高密度数字板而言,应选实心铜皮,这是由于其能够降低50%的回路电感;而在射频或天线区域,则要选网格铜,目的是避免大面积铜皮引发寄生电容。其取舍逻辑为,若板子超过四层并且以数字信号为主,那就无脑选实心铜;要是存在柔性区域或者天线周边,那就必须选网格铜。

    频次较高的完整报错情况为:在进行浇铸操作之际,弹出了“Polygon Not Repoured (Layer: Top) – Broken Pour”这样的提示。所呈现的现象是:在铜皮所在区域出现了白色的十字叉形状,并且无法进行填充操作。提供的一站式解决流程方面:第一步是要去检查铺铜区域的边界状况是否处于闭合状态(具体操作是点击Edit -> Polygon Pour -> Vertices) ;第二步是要查看所分配的网络是否存在(举例来说,像GND网络被误删掉的这种情况) ;第三步是重新启动软件,将该铺铜删除之后再重新绘制出一个矩形区域,先针对单层实施浇铸测试。90%的情况是边界自交或内存溢出,重新画即可。

    于四层板以内、常规FR4板材、线宽要不小于了4mil才实测的本方法。要是您的板子是HDI任意层互连或者射频毫米波频段,那这套规则是不适用的,建议去改用像Polar Si9000那样的专用阻抗计算题比如手动叠层。你在PCB设计里最头疼的DRC报错是哪一种呢?在评论区一起去吐槽。

  • Cadence快捷键实测 三步自定义与报错修复

    笔者亲身试过Cadence 17.4,遭遇过按下快捷键保存后,再次启动就直接没效果的状况,刚入门的新手依照下面这些步骤逐个去进行操作,便能够轻快地躲开这类平常会出现的问题。

    Cadence快捷键怎么自定义

    1. 把安装目录里的Sharepcbtextenv文件打开,使用记事本进行编辑。于# Bind aliases的下方依照格式去输入:alias F10 zoom fit,这意味着按F10键的时候会执行全屏适配。关键参数推荐,将set bindmode设为1,其理由在于,这个模式能够使得自定义快捷键去覆盖系统默认,进而避免被其他命令所抢占。

    新手需避开此坑,保存env时出现提示“权限不足”,其原因在于文件属性是只读状态。通过右键env文件,去掉“只读”勾选便可解决。另外,千万不要使用Word进行编辑,因为会引致隐藏字符的出现,进而致使整份env报废。

    快捷键冲突如何快速排查

    2. 于Console栏键入alias后回车,便可看到所有已加载的快捷键。要是发觉F2同时绑定了两个操作,系统仅会认最后加载的那一个。两种方案作对比:方案A是手动删除env里的重复行,适宜少量冲突情况;方案B是用unalias F2临时解除,适宜调试的时候用。新手直接采用方案A,可一劳永逸。

    【新手需防入坑】执行别名后毫无输出?这表明环境变量路径有误。查看系统环境变量住处是否指向准确的Cadence安装目录。常见的错误情形是软件读取了C盘预设的临时.env文件,解决的方式是在Cadence启动快捷方式当中设置起始位置为你所拥有的工程文件夹。

    env文件修改后保存报错解决

    3. 频率较高地出现报错情况:在保存env之时,弹出呈现为“E- Error parser: unterminated string”这样的内容。有着一种能够提供全面解决办法的流程:借助Notepad++将env打开,依据行号去寻觅到缺失引号的具体位置并进行补充完整。要是出现乱码从而无法确定位置,首先对env进行备份,接着逐行把最近修改的几行添加注释,重新启动软件来加以验证。末尾运用echo $HOME去证实当下生效的env路径是不是准确的。

    【新手需防入坑】在进行修改之前,务必对原始的env进行备份!有相当多的人直接进行覆盖操作,进而致使所有的快捷键都丢失了。备份的命名应为env_backup。另外,要留意alias后面跟着的键名必须采用大写字母,举例来说,F10不能写成f10,不然系统会直接将其忽略。

    这种方法适用于处于Cadence 16.6至17.4阶段的Allegro PCB Editor,然而其并不适用于Allegro Viewer免费版,那个版本将自定义快捷键予以禁用。替代的办法具体是换用完整版或者借助按键精灵来进行模拟。你是否碰到过那些颇为怪异的快捷键报错情况呢?在评论区把它们都抛出来,大家一起去解决,要是觉得有用的话,一定要记得点赞以及分享呀!