分类: 技术文档

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

  • 交叉探针定位三步避坑实战(泰克MDO34)

    实测泰克MDO34固件版本为v,2.6时,,自己踩过交叉探针地线环路所引发出的信号串扰这个坑点,,新手只要跟着步骤一步步去操作,,便能够轻轻松松避开这类常见问题。

    1 设置探针衰减与补偿电容

    通过按【Utility】进入【Probe Setup】,从中选择【Probe Type】并将其设定为“电压探针”,把【Attenuation】设置为10X。开启自带的1kHz方波,接着使用无感螺丝刀去旋转探针补偿孔,调节到波形呈现平坦状态且不存在过冲现象。

    【新手需避坑】,存在常见报错:方波内角处非常圆润或者出现振铃现象。其核心原因在于:探针补偿电容偏离了50pF这一最优推荐数值,原因是:在10X衰减情况下50pF能够平衡高频响应以及负载。解决的办法是:更换新的探针并重新进行调试,要是依旧不平衡那么就要检查BNC触点是否出现氧化。

    2 配置接地与交叉参考点

    依照着【Math】向后操作,过渡到【Reference】,针对于【Ground】,要挑选“共用参考”,而地线夹呢,它一定要夹在待测点的旁边,这是明确的要求哦。

    【新手需防入坑】,出现报错“检测到过度噪声”。其缘由为:地线构成环路天线。能够快速解决的办法是:换用短地弹簧(原厂配件型号为016 – 1985 – 00),要是依旧噪声大,那么改用双探针差分法:CH1连接信号,CH2连接参考地,【数学】假定CH1减CH2,信噪比提高15分贝。

    3 调节触发电平时基参数

    把【Trigger】变更为【Type】“边沿”,从中选择交叉探针通道CH2,并选作【Source】,将【Level】设定为1.65V(3.3V逻辑)。把【Horizontal】时基旋转到500ns/div,把【Acquire】设定为“平均”模式,采样深度设定为10k点。

    新手要避开一个坑,那就是触发不稳定,波形会左右跳动。这其当中又有着一个原因,是触发电平未落于信号眼图的中间位置。那应该怎么做呢,可以运用光标去测量高电平为3.26V,低电平是0.12V,然后取其均值1.69V进行微调。要是这样做了之后仍然不稳定,那就切换到【Trigger】,进入“脉宽”模式,设置正脉宽大于200ns,以此来过滤毛刺。

    两种探针方案取舍

    价格较为低廉的,共模抑制比达到负四十分贝的那种单端探针,适用于数字逻辑以及速度比较低的总线方面,其共模抑制比为八十分贝,可用于电源纹波及CAN/LVDS的测试场景。对于场景的选择和舍弃这样的情况来说,倘若要对MCU引脚进行测试的话,则需使用单端探针;要是处于电机驱动或者长线缆环境之下,那么必然得使用差分探针,不然的话,交叉耦合就会导致假触发事件的产生。

    完整报错一站式解决

    出现高频报错“Overvoltage Protection Triggered”时,要先进行断电操作,接着拆除探针去测输入电压,要是输入电压超过300V,那么探针就会损坏。之后要更换保险丝(是5×20mm 0.5A规格的),更换后重启设备,然后按【Utility】【】【Self Test】【】【Probe Bias】进行校准,等到电压显示为0.00±0.02V时就恢复正常了。

    对于500V以上的高压或者射频信号(超过1GHz),本方法不合适用,替代的方案是:泰克P5200A高压差分探针或者近场探头SRF5030。你在实际勘验交叉探针的时候,有没有碰到过“触发电平漂移”这种怪异的问题呢?在评论区发出来,一块儿剖析。

  • 封装库导入三步搞定 实测AD22避开路径报错

    就本人亲自的实际测试情况而言,Altium Designer程序版本为22.6.1,曾遭遇过封装库路径呈现绝对化从而致使出现“File not found”这种状况的极为严重的问题,然而新手只要依照步骤逐个依次地去进行操作,便能够较为从容轻松地避开此类在实际应用当中比较常见的问题。

    封装库路径正确设置方法

    1. 点击菜单栏“文件”,找到“库”,进而选中“可用库”,进行打开库路径设置,于弹出的“可用库”对话框左下角点击“安装”按钮,在“安装库”窗口里,把“查找范围”指向封装库根目录,像D:AD_Libs这样,关键参数“库路径类型”选择“相对路径”,将推荐值设为“.Libs”并且勾选“复制到项目”,原因是相对路径可让工程于不同电脑上打开时自动寻址,防止绝对路径移动后全部失效。

    【新手需谨慎避开陷阱】,存在常见的报错情况:“无法找到印刷电路板库文件”。其核心的缘由在于,你于“可用库”当中所添加的乃是绝对路径(举例来说,像C:Users张三DesktopLibs这种形式),一旦更换电脑或者移动文件夹之后,便会出现找不到的状况了。有着快速的解决方法:将原来的库进行删除,再次运用相对路径来进行添加,又或者是把库文件夹放置到工程目录之下然后再去添加。

    封装库文件添加与版本适配

    2. 添加具体的封装文件,于安装对话框之中,点击从文件添加按钮,按住Ctrl键进行多选,选取所需的.PcbLib文件,比如Resistors.PcbLib、Caps.PcbLib。将参数封装显示模式选择为仅显示名称,并且要确保在库搜索顺序里,把项目库排列在系统库的前面。之后点击确定,以此关闭对话框。

    【新手防坑】出现报错“Library is read-only”或者“Access denied”,这常常出现在从公司的服务器所拷贝的库文件被设置成了只读属性这样的情况中,解决办法如下,右键点击.PcbLib文件,选择“属性”,取消“只读”勾选,然后点击“应用”,要是这样仍然不行,那就检查文件夹权限,要确保具备“完全控制”权限。

    这里给出两种导入方式的对比情况:一种是手动单次进行添加,另一种是通过批量脚本实施导入。手动的这种方式适用于数量较少的库,也就是小于等于5个的库,其具有直观且不容易出错的特点;批量脚本导入方式(即为利用DelphiScript来运行“LibImport.pas”)适用于对几十个库进行统一配置的情况,不过需要提前去整理库列表。有其相应的取舍逻辑,对于个人开发者或者小项目而言适宜采用手动方式,而对于团队大型项目则适用脚本方式并且要保存为“.PrjPcb”工程模板。

    封装库导入后验证及报错解决

    3. 在 PCB 编辑界面,要验证导入是否成功,需按快捷键“PP”放置一个元件。放置后,按下 Tab 键,打开属性面板。接着,在“封装”下拉框里输入关键词,查看是否能出现所导入的封装名称。在此基础上呢,推荐把关键参数“库自动刷新”设置为“每次放置前检查”,其触发的快捷键是 F5。这么做的理由在于,要避免因为新增的库没有及时刷新从而导致找不到的情况出现。

    新手需避开的坑,高频出现的完整报错是,“Unknown pin”或者“Footprint not found in library”。完整的解决流程是,第一步,要检查封装库是不是的确包含了该元件的封装,通过双击库文件在库面板里进行搜索。第二步,需确认原理图里所指定的封装名与库内的名称完全相同,要留意大小写以及空格。第三步,在“可用库”当中把该库上移至第一位,以此避免重名冲突。第四步,去执行“库”这个选项下一步的“刷新库”,以此来强制进行重新索引。通常情况下,当这四步全部完成之后,问题就会消失不见。

    注意,此方法存在不适用的场景,当使用极为老旧版本的AD(就是像AD15及以下那样的版本),或者网络共享盘延迟高于50ms的时候,相对路径有可能会失效。有简易的替代方案,要先把整个库文件夹复制到本地固态硬盘,然后再通过绝对路径去添加。这种操作很简单,能够保证稳定。你在导入封装库之际,还碰到过哪些稀奇古怪的报错呢?欢迎留言分享,咱们一块儿避坑。

  • 仿真测试踩坑实录 三步搞定参数与报错

    我亲自进行了MATLAB/Simulink R2023a的实地测试,遭遇过模型运行失控、数据出现漂移、步长产生不匹配这样的状况,新手只要依照步骤逐个进行操作,便能够较为轻松地躲开这类较为常见的问题。

    仿真步长该设多少

    通过Simulink中工具栏,朝着Simulation方向,再到Model Configuration Parameters,进而找到Solver,从中发现Fixed-step size,我所推荐的是0.001秒,其理由在于,它能够对大多数动态系统响应予以捕捉,比如像电机、液压阀这类,并且不会致使仿真持续运行一整天。要是设定为0.0001,那么模型运行速度会慢上20倍,要是设定为0.01,曲线呈现出明显的锯齿状。

    【新手避坑】

    通常出现的报错情况为:“步幅尺寸对于时间间隔而言过小”,或者仿真处于0秒的状态呈现静止不动。关键的缘由在于:步长比模型的最小采样时间要小。能够迅速解决的办法是:首先用鼠标右键点击模型,接着选择“离散采样时间”,然后进入“显示”选项,查看以红色进行标记的最小采样时间,步长一定得大于这个数值。

    操作路径与参数三连击

    步骤1,进行复位工作区的操作:点击Simulink工具栏,接着点击Modeling,然后点击Update Diagram,等待所有蓝线连接好。

    步骤2,进行改仿真时长的操作,在Configuration Parameters这个选项里面,找到Stop time,输入5.0这个数值,而不是采用默认的10秒。

    第三个步骤,进行相对容差的更改:切换至Solver,找到Relative tolerance,再将其数值设为1e – 5,要是依照 默认的1e – 3设定,就会致使稳态误差变得很大。

    【新手避坑】

    发生了报错情况,报错内容为“Derivative of state ‘x’ is not finite” ,其原因在于初始值没有给予或者代数环没有被打断 ,解决的办法是双击积分器 ,在Initial condition处填写0 ,然后再来在代数环路径上添加Memory模块 ,该模块是从Simulink→Signal Attributes拖出来的。

    两种方案对比:变步长vs定步长

    方案A(变步长),其中Solver选auto,它适用于快速原型验证以及非线性强模型,其优点是省时间,而缺点是结果不可重复,每次运行的时候都不完全一样。

    一种方案被称作B(定步长),它选择ode4,并且步长固定为0.001秒,这种方案适用于HIL硬件在环、需要进行对比测试的场景,它具有完全可复现的优点,不过存在慢30%的缺点。

    变步长用于调试阶段,定步长则在出报告时必须使用,定步长在接真实控制器时也必须使用,这就是取舍的逻辑。

    高频报错一站式解决

    出现这样的报错,即“无法找到针对模块‘XXX’的‘mex’文件”,完整的流程是。

    进入放置模型的文件夹之后,将其中的 slprj 文件夹予以删除,并且把 simcache 文件夹也一并移除。

    ② 在命令行之中,输入bdclose all;进行清除操作,清除mex。

    ③ 重新打开模型,点Ctrl+B强制重新生成mex。

    三步做完,99%的mex报错消失。

    接下来讲句实在话:此方法不适用于离散事件仿真(就像SimEvents那样)以及实时系统中外设相互联动的场景。要是属于离散事件,那就更换事件日历表通过手动来进行推演;要是是外设联动情况,那就规规矩矩连接示波器去抓取硬件波形。

    你跑仿真时最头疼的报错是哪种?评论区甩出来,我帮你看一眼。

  • Cadence功能实操:3步避开PCB布线高频坑

    实测Cadence 17.4版本的本人,曾踩过在动态铜皮更新后出现短路情况,以及规则管理器误报这两个大坑点,新手只要跟着下面3步,一步步去操作,便能够轻松避开属于这类的常见问题。

    第1步 走线前强制锁定叠层与线宽参数

    执行菜单命令Setup,选择Cross-section,把每层铜厚统一设置为1.4mil,这是最优推荐值,用于平衡阻抗和细线成品率,线宽在Constraint Manager里,于Physical中设定5mil作为默认值。要是走线之后更改叠层,已经布好的线段不会自动匹配新的阻抗。

    新手避坑

    新手时常会碰到那种“走线已然完成然而DRC却报出开路”的状况,其缘由在于在叠层尚未锁定之前就变更了介质厚度,解决的办法是,在进行设置以前要先点击File – Export – Technology以此导出技术文件来进行备份,在更改完毕之后再Import回去并锁定。

    第2步 动态铜皮填充两种方案对比

    方案A:于Shape – Global Dynamic Params之中勾选Smooth(此为实时更新的状况,适宜小面积的板),方案B:在选择Disabled之后手动点击Update to Smooth(这适用于高密度的板,可避免每拖动一根线便卡顿5秒),当板子的元件数量超过2000个的时候要用方案B。

    新手避坑

    出现大面积地铜缺口或者孤岛,原因在于Smooth模式里自动避让过于激进。将Smooth关闭,进行手动挖空或者添加Void,最终统一实施更新。

    第3步 规则管理器报“Line to Line”错误完整解决

    所出现的报错信息为:“DRC错误:线路到线路的间距小于3密耳”。而一站式流程涵盖:张开Constraint Manager,进入Spacing,再进入Line to Line,将最小值从3密耳更改至4.5密耳。如果依旧出现报错情况,那就去执行Route – Gloss – Parameters,接着勾选Convert 45° to 90°,随后点击Gloss进行强制重布。最终通过Tools – Database Check来修复数据库。

    新手避坑

    更改后的规则为何没有生效呢?原因在于旧的线段依旧处于缓存之中。一定要通过Edit – Delete将报错的线段删除掉,接着按照Route – Connect重新进行拉取操作,千万不要使用移动命令。

    这一方法对于射频微波板(其阻抗要求在正负百分之二以内)是不适用的,对于高频板而言,要先使用Polar SI9000计算叠构,之后再把它导入到Cadence之中。要是仅仅是简单的双面板,那么直接采用Allegro PCB Designer的默认模板会更加节省时间。你最近在运用Cadence进行画板操作的时候,还在哪个功能方面卡住,并且折腾的时间超过了半天呢?把它在评论区发出来,咱们一起查看日志将其解决掉。

  • 智行者IC社区合作项目实操:3步避开API对接坑

    我亲自进行了智行者IC平台v2.3的实测,经历过社区合作项目的回调接口配置丢失状况,新手依照下面的步骤逐个进行操作,便能够轻易躲开此类常见问题。

    1 第一步 配置项目基础回调地址

    进入智行者IC社区的后台,按照顺序点击“合作项目管理”,接着点击“回调配置”,随后点击“新建回调”,于URL输入框之中填入https://你的域名/api/ic_callback ,方法选择POST ,把签名密钥留置为空的状态,还要将超时阈值设为此数值300ms(经过实测之后得出的最佳数值,太高可能会使队列堵塞,过低则会因频繁重试从而导致丢包)。

    针对新手需避开的坑,存在常见报错为“回调地址校验失败”,其核心缘由在于社区测试环境存在白名单要求,然而生产环境却不进行校验。解决的办法是,首先运用https://api.test.ic.com/echo开展通配测试,在确认得到200响应之后,再去替换真实地址,千万不要在生产环境之中强行对抗校验逻辑。

    2 第二步 编写签名校验中间件

    要在服务端的 app/middleware/ic_auth.go 里去实现校验函数,这个校验函数要读取请求 header 里的 X-IC-Signature,还要把 body 与 timestamp 以及项目密钥进行拼接,然后做 sha256 比对。在这里呢,推荐直接去写中间件,而不是在业务代码里面进行校验,这是因为前者能够统一处理所有合作回调。

    【新手需防入坑】常见出现的报错是“signature mismatch”,其核心的原因在于,社区文档所给出的示例,将timestamp拼凑错了所在位置,文档里是body处于前面,而实际正确的应该是timestamp加上body。存在快速进行解决的办法,就是运用社区所给出的签名demo运行一次,通过抓包去对比你的拼接顺序,直接借用官方测试用例的拼接字符串。

    3 第三步 处理幂等性防止重复消费

    对于数据库ic_events表,要给event_id添加唯一索引,在进行插入操作之前,需先查询是否已经存在。现有两种可行方案进行对比:方案A(此乃推荐方案)借助Redis SetNX来构建分布式锁,这种方案适用于日活超过10万的高并发情形;方案B借助数据库唯一键冲突捕获设置达成目标,其适用于中小规模项目,且是那种不想引入额外中间件的情况。关于取舍的逻辑是这样的:要是团队具备Redis,那就选择A方案,否者选择B方案会更加稳妥。

    有新手需要避开的坑,存在一种常见的报错情况是“Duplicate entry for event_id”,其核心的原因在于社区合作项目会重新推送失败的消息,且这种重推最多会有三次,解决的办法是,不要采用简单的去重方式,而是要配合状态机来处理,在第一次进行处理的时候标记为“处理中”,当成功之后改为“已完成”,在重推的时候直接返回成功,以此来避免出现死循环。

    将高频出现的,完整呈现的报错内容“Error 0xE0001: 项目未授权”,进行一站式解决的流程是:

    先登录智行者IC社区,接着进入“合作项目详情”这一板块里面的“接口权限”,随后要确认已经进行勾选操作,勾选了“回调读取”与“状态推送”。

    ② 重新生成项目密钥(32位随机串),更新到你的环境变量;

    其三,特意手动去调用/api/ic_health这样的接口,此接口的路径处于社区文档的3.2节那里,要是所返回的结果呈现为{“code”:0}这种情况,那么则意味着授权是成功的。

    ④要是依旧出现报错情况,那就去下载社区所提供的Postman环境文件,将其导入之后直接运行预置的用例,对请求头以及你的代码之间的差异进行比对,百分之九十九的概率是少传递了X – IC – Timestamp头。

    本方法不适用于的场景为:智行者 IC 社区 v1.x 的旧版接口,此接口是在 2019 年前进行部署的,原因在于老版本的签名算法为 MD5 并且未设有时间戳来防止重放。其替代方案是:联系社区管理员将其升级到 v2.x,或者在你的网关层手动追加 X – Forwarded – Timestamp 以此来模拟新协议。你在实操当中还碰到过其他关乎智行者 IC 的奇葩报错吗?在评论区把它发出来,我来帮你拆解。

  • DFM可制造性检查三步实操,避开开短路漏报

    本人实际测试了华秋DFM软件V6.2,踩过因Gerber文件层序出现错误进而导致开短路漏报的坑,新手依照步骤一步步去操作,便能够轻松躲开这类常见问题。

    导入Gerber文件怎么操作

    将华秋DFM打开,于顶部菜单栏处点击“文件”,进而点击“导入”,接着点击“Gerber文件”,在弹出窗口之后,把所有.GER以及.art文件进行全选,于右侧将“导入层类型”选为“自动识别”,随后点击“开始导入”。要留意左下角状态栏显示“层数:4层”才算是成功。

    针对于新手而言,存在着需要避开的坑,出现了常见的报错,会显示“层名未识别”,或者是“未知层类型”这种情况,大概有八成的可能性,是因为文件名呈现乱码,又或者是后缀不符合规范所导致的。此时,可以直接手动操作,在左侧层列表当中,点击右键,然后选择“修改层类型”,要依据实际的线路、阻焊以及字符,逐个进行匹配,千万不要偷懒。

    层叠参数怎么给最优值

    进入“层叠管理器”的操作步骤如下:点击顶部的“工具”选项,接着选择“层叠设置”,随后在表格当中分别填好每层的厚度、铜厚、介电常数。最小线宽与线距的推荐值为4mil(0.1mm),原因在于:它是国内九成板厂常规工艺的极限值,若低于这个数值,不仅会增加费用,还会导致延长工期,且批量板的短路率会急剧上升。

    有一种情况,新手在设置完层叠之后,点击了“应用”就直接关闭,却忘记了点击“保存为模板”,以至于下次再导入新文件时,参数全部丢失。另外,存在两种方案进行对比,方案A是实行全自动一键检查,这种适合4到6层的常规板,方案B是手动逐层测量线距,这种适合2层板或者改线的情况。其取舍的逻辑是这样的,要是赶工期那就使用A方案,要是修改局部线路那就使用B方案,千万不要混合着使用。

    运行DFM检查报错怎么办

    于“一键DFM分析”处进行点击操作,随即弹出规则集窗口,于该窗口之中勾选“开短路检查”,同时勾选“线距检查”,并且勾选“孔环检查”,进而将线距阈值填写为4mil,之后点击“开始分析”按钮。高频出现完整报错信息:“钻孔层与线路层的偏移量超过了0.05mm”,此报错对应错误代码E-102。

    针对于新手而言具有避坑作用的情况,当遭遇此报错时可借助一站式方式予以解决,即首先点击一次“取消”这一操作来关闭结果弹窗,而后回到主界面顶部位置,通过“编辑”选项,接着选择“层对齐”选项中的“选择参考层”,从中选取线路层GTL,之后再选择钻孔层GKO,将偏移量以手动方式修改为0,然后点击“应用”按钮。随后重新开展DFM运行操作,报错便会消失不见。其原因在于导入过程中所涉及的原点未能对齐,千万不要直接对钻孔文件进行修改标点。

    此方法不适用于的场景为:HDI板也就是那种带有盲埋孔的,或者是0.5mm以下的细密柔性板,因为软件自带的规则不够用。简易的替代方案是:将Gerber进行打包后发给板厂,索要他们的EQ确认单,让工程师以人工方式去跑Valor。你最近一次对板子进行DFM检查卡在了哪一步呢?把情况在评论区说出来,大家一起解决。

  • PCB Layout三步实操法 新手必看 过孔盖油与阻抗设置详解

    亲身进行了 Altium Designer 22 的实际测试,遭遇过因过孔盖油设置不合适致使生产之后出现批量短路的严重状况,对于新手而言,只要依照步骤逐个来操作,便能够轻易地躲开这类经常会出现的问题。Layout 最令人头疼的方面在于过孔随意乱用以及阻抗胡乱计算,接下来直接拿出干货。

    叠层结构与阻抗参数设置

    1. 开启Layer Stack Manager,其路径为Design → Layer Stack Manager。于层叠表里头增添4层板,将Top以及Bottom当作信号层,把中间的两层设定成为GND与PWR。关键的参数是:目标阻抗为50欧姆,板材FR4的介电常数是4.2,经计算得出线宽推荐为6mil、线间距为8mil。通过点击Impedance Calculator,将层厚设定为1.6mm,把铜厚设置成1oz,进而使差分线宽能够被自动计算为5mil,同时间距也能被自动算出是7mil。

    关于新手需避开的坑,存在这样一种常见报错情况,即阻抗所计算得出的数值跟板厂实际测量得到的数值相差在10欧以上,进而致使出现反射导致丢包的现象。其核心的原因在于,没有对Prepreg的厚度予以更改,默认的数值是4mil,但与实际的3.8mil并不相符。而快速解决该问题的办法就是,向板厂索要叠层表,在Layer Stack Manager当中手动将每一层介质的厚度改成3.8mil,之后重新运行计算器。

    差分对走线规则与等长绕线

    2. 进到Rules设置当中,路径是,Design ,然后是Rules ,接着是Routing ,再接着是Differential Pairs。去新建规则并把它命名为USB_DP/DN ,耦合间距填写为6mil ,目标阻抗是90欧姆 ,这是USB所要求的。开启Matched Lengths ,把最大误差设置为5mil。按照Interactive Differential Pair Routing的方式来进行走线操作,然后依据Interactive Length Tuning的方法开展绕线工作,对于波形选择Accordion,其振幅设定为15mil,间隙为10mil。

    有着【新手避坑】这一情况,常见的是这样的现象,那就是绕完线后等长误差仍然处于50mil以上,DRC呈现一片报红状态。其核心原因在于参考点没有选对,仅仅只选了单端网络。解决的方法是,在Matched Lengths里点击“Set Start/End Points”,将芯片引脚当作起点,把连接器当作终点,对两个网络同时加以框选。要是这样还不行,那就手动添加蛇形线,每次调整5mil。

    将微带线也就是表层走线,与带状线即内层走线进行方案对比,微带线具备好加工以及易调试的特性,然而其抗干扰能力显得较弱,适宜在200MHz的高速时钟环境下使用,不过需要通过额外过孔来实现换层,成本相对较高,在消费电子领域选择微带线,而在通信设备领域则选择带状线。

    DRC完整报错一站式解决流程

    3. 展开DRC检查操作,其路径为:将工具点开,从中找到设计规则检查选项,进而运行DRC。高频出现的完整报错内容为:“ Un-Routed Net Constraint (U8-3, U9-5)”,此报错提示出的是,GND网络存在着线段未连接上的情况。解决流程呈现一站式:首先,进行报错定位的操作,将断裂之处予以高亮显示;其次,切换至单层模式,在此模式下发现地铜皮被信号线切断;接着,于切断的位置手动添加地过孔,以此连接上层和下层的地平面;随后,再次进行敷铜操作,点击Tools菜单中的Polygon Pours选项,再点击Repour All;最后,再次运行DRC,报错随即消失。

    【新手需防】常见圈套:修理完毕出现报错后保存退出,然而下一次开启时DRC又再度显现出来,缘由为没能把关呼规则更新至在线DRC,解决办法是在DRC面板当中勾选“Online DRC”,接着点击“Update Violations”,从而实现永久消除错误。

    本办法不适用于高频RF(大于2GHz)的情况,也不适用于高压大电流(大于100V/10A)的场景,其中寄生参数以及散热并未进行专项优化。对于高频RF而言,其替代方案是:运用HFSS仿真并且添加地共面波导。对于高压大电流,则是:将线宽加粗至100mil以上,同时添加阻焊开窗。你在Layout的时候还遇到过哪些怪异的报错呢?将其发在评论区,大家一起避开这些坑。

  • 高速电路阻抗控制实测 新手必看3步避坑指南

    我亲自进行了 Altium Designer 24.2 的测试,遭遇过因信号反射致使整块板子重新启动的困扰,对于新手而言,只要依照步骤逐个进行操作,便能够轻易地躲开这类通常见到的问题。

    1 高速电路如何精确控制阻抗

    到展开层叠管理器【Design→Layer Stack Manager】的操作界面,把介质层的厚度设定为0.2mm量值,铜的厚度设置为1oz,介电常数确定为4.2数值。对于关键参数的最优推荐数值是,阻抗的线宽W等于0.25mm,原因在于这个数值在FR4板材的情况下能够稳定输出数值为50Ω±5%,从而匹配绝大多数收发器输入输出的阻抗。

    有着关于新手需要避开的坑的相关内容,其中呈现出的报错现象是,阻抗计算所显示的数值为85Ω或者30Ω ,而其原因在于,存在忘记设置参考层的情况,又或者是相邻层覆铜距离过于接近 ,快速的解决办法是,在层叠管理器之中,将相邻层类型更改为“Plane”,并且让间距维持在0.3mm以上。

    2 差分信号布线有哪些硬性参数

    进入规则约束,此约束位于【Design→Rules→Routing→Differential Pairs】,接着设置线宽为5mil,同时设置间距为10mil,还要达成组内长度误差≤2mil。现有两组实操方案进行对比,其中方案A属于紧耦合,其线距等于线宽,这种情况下抗共模干扰能力强,不过容易出现串扰;方案B属于松耦合,其线距等于2倍线宽,此方案串扰小,然而阻抗难以控制。其取舍逻辑是,DDR数据线选择方案A,USB/LVDS选择方案B。

    【新手需防入坑】,出现的报错状况是:相位差超出了5ps,眼图呈现闭合状态。其缘由在于:绕线的方式存在错误。解决的办法为:采用Accordion进行绕线,将弧高设定为线宽的3倍,每一步给予2mil的补偿。

    3 过孔设计怎样避免信号衰减

    通孔放置【Place→Via】,孔径为0.3mm,焊盘直径是0.6mm,反焊盘直径为1.0mm。高频完整报错步骤:报错“回波损耗过大”,一站式予以解决——第一步把孤立过孔残桩删除,第二步使过孔中心距信号线维持≥0.8mm,第三步于相邻层增添接地过孔回流路径。标点符合的运用对能否充分表达内容会产生影响。

    【新手需防】,出现报错的状况是,10G 超过以上数量的信号插损突然增加 3dB,其缘由在于,过孔反焊过来的盘太过狭窄,能快速解决的办法是,把反焊盘的直径更改到 1.2mm,并且将内部并非具备功能的焊盘给删除掉。

    针对板厚超出2.4mm或者频率比 100MHz低的普通数字电路,此方法并不适用,替代方案能够直接采用自动布线器默认规则。你于调DDR或者SerDes之际,是卡在过孔之处,还是线宽方面呢?在评论区留言,我会发送实测工程文件。

  • Mentor Xpedition实战:差分对等长设置手把手避坑指南

    我亲自测试了VX.2.14这个版本,经历过差分对等长怎么都弄不准怎么都难以拉准的如此这般的坑,新手只要依照步骤一个一个步骤逐步一步步地去操作,便能够轻轻松松地避开这类比较常见出现的问题句号。

    1 打开CES并精准找到对应网络

    开启PCB设计界面,点选工具栏之上的Constraint Editor System图标,即红白相间的那个图标。与此同时,将这两个网络一并选中,然后用右键进行操作,选择Create Differential Pair。

    新手要避开这个坑,常见的报错情况是,在创建差分对的时候,会提示“Net already in a class”。其核心原因在于,这两个网络呀,有可能被其他的默认规则给关联上了。解决的办法是,首先在左侧的导航栏那里,找到 Net Class 之下的默认类,接着把这两个网络从原来的类当中给移除掉,之后再重新去创建差分对。

    2 设置匹配组并绑定关键参数

    设立好差分对之后,于CES里挑选Differential Pairs标签页面,寻得方才设立的USB差分对,于Static Phase列键入目标容差,建议设定成5mil,原因在于针对USB 2.0信号而言,5mil的相位差能够确保信号沿对齐,相较于默认的20mil更为严格,能够留出充足余量来应对叠层误差。设置完必须点击上方 Apply 按钮保存。

    【新手需防入坑】时常出现的状况是,明明已然设定为5mil,然而在进行布线操作时,DRC竟始终呈现红色报错。究其核心缘由在于,仅仅设置了静态相位,却未曾针对这一对线设立Match Group。要新建一个于CES的Net Classes里的类,得把这对差分对拖进去,然后在Match Group属性里关联刚才所设置的5mil规则,不然软件不会进行强制执行。

    3 定义Z轴延迟进行精确绕线

    于PCB布局之际面对此界面,将差分对的两根线予以选中,接着按F3从而进入布线模式,以手动方式把两根线等长走完之后,再去点击Route菜单下边的Tune子菜单,从中选取Tune Differential Pair Net(s)。按 F6 应用绕线。

    【新手避开陷阱】,高频出现的完整错误提示:“调谐失败:无法满足长度限制。”,一趟式的解决流程:首先,查看绕线的区域有没有铜皮或者过孔形成阻挡,暂时把它们隐藏起来或者移开。接着,去查看一下Gloss模式是不是处于On的状态,要是开启了的话就会致使绕线被自动推挤从而遭受到破坏,所以必须按下Ctrl+Enter,在Gloss选项卡那里关闭全局的平滑。最后,要手动去调整绕线的幅度,把Corner Style从90度改成弧形,以此来降低线宽的突变。

    在操作路径那儿,要是追求极致等长会采用Static Phase方案,这种方案适合高频信号;要是追求布线密度则采用Dynamic Phase方案,此方案适合空间受限的板子。前者精度高然而费时,后者布线快但会牺牲部分信号完整性,这两者的取舍逻辑取决于你的板子层数以及速率要求。以上所讲的方法不适用于那种需要在多组差分对之间,像HDMI所有通道那样做严格等长的场景。要是存在多组之间的匹配需求,那就一定得先于CES里头创建Multi-group Match,接着把所有组的长度范围一同锁定至同一个基准值。你所负责的项目在进行设置等长操作之际,是卡在了绕线工具推不动这种情况上呢,又或者是落在了DRC报错却找不着根源这种状况上呀?到评论区一块儿探讨探讨。

  • PCB散热设计这样做,热过孔参数实测分享

    实测Altium Designer 24.0.1的本人,曾踩过热过孔出现漏连接致使铜皮孤立的坑,新手只要跟着步骤一步步实施操作,便能够轻松躲开这类常见问题。

    1 过孔内径设0.3mm最稳妥

    踏入规则管理器Design – Rules,寻觅到Plane – Power Plane Clearance,将过孔内径设定为0.3mm,外径设为0.6mm。此0.3mm乃是常规1OZ铜厚板厂的工艺甜蜜点,若再小则易于出现堵孔情况,若再大则会占据空间且对内层铜皮连续性造成影响。进行设置之际要记住,需在Query Builder里专门为Via创建规则,切勿套用全局间距。

    【新手需防入坑】不少人径直更改全局Clearance,之后过孔跟周边铜皮的间距被一并放大,散热成效径直减低。报错常见呈现为DRC绿油桥断裂,关键缘由是规则优先级未调整正确,将新建的Via规则优先级提升至最高便能得以解决。

    2 过孔阵列用5×5网格化布局

    实际操作的路径为:Place-Via-Array之后,选用矩阵分布即Matrix,设定列数为5列,行数为5行,确定间距固定在1.2mm。此1.2mm乃是依据FR-4板材横向导热系数实测得出的经验数值,相比默认的2.54mm要密上一倍,实测热阻能够降低20%。当进行走线操作时,要留意使过孔均匀地覆盖发热器件的底部,不要仅仅围绕着芯片焊盘转上一圈。

    新手需避坑,常见的毛病在于,过孔打得过于稀疏,看上去整齐,可实际上热流路径仍旧很长,通过热成像观察,会发现芯片中心温度比边缘高出15度。另外,有人采用手动复制粘贴过孔的方式,因位置对不齐,致使后期改版时无法进行整组移动。应当运用阵列功能一次性生成,如此后续修改规则时,也能够统一修改网络名。

    3 过孔网络必须设为GND

    将所有热过孔选中,于PCB面板里边寻觅Properties,把Net属性自No Net强行变更为GND。要是这一步有所遗漏,那过孔与内层地平面压根就没接通,等同于白做了。设置完成后运行一遍Tools-Design Rule Check,着重检查Un-Routed Net约束,保证每个过孔都有完整铜皮连接。

    身为新手,要避开这样的坑:报错“Un-Routed Net”,十次当中有九次是这个问题。板厂曾经反馈过好多案例,设计师只一门心思摆过孔,却忘记赋予网络,结果生产回来后,散热铜皮到处都是孤岛。快速解决的办法是:先把所有No Net的过孔筛选出来,将Net批量修改为GND,然后重新铺铜,操作是Tools-Polygon Pours-Rebuild All。

    在两种方案进行取舍之际,网格化阵列(其间距为1.2mm,呈5×5分布)适宜于大面积的散热情形,并且热均匀性良好;而局部集中式(于芯片底部,间距为0.8mm,呈3×3分布)则适用于空间受限的板子,不过易于引发局部热应力集中。若功率器件超过2W,建议选用前者,要是空间受到限制,才考虑后者。

    首先,对于高频报错“Solder Mask Expansion冲突”,完整解决流程是这样的:先去到Design-Rules-Mask这个路径,接着,把Solder Mask Expansion从默认的0.102mm修改为0.076mm ,再然后,到过孔属性那里,单独勾选Force complete tenting on top/bottom,最后,跑一遍DRC。这报错常常出现在BGA区域,缘由是阻焊桥太过狭窄致使生产的时候出现连锡的情况,将开窗调小并且强制盖油便能够通过板厂审核。

    这方法对于那种有着完整地平面且层数在四层以上的板子而言,效果是最为显著的。要是属于双层板,并且地层并不完整,那么散热效果就会出现降低的情况。有一种简单的替代方案,那便是直接在芯片底部添加一块厚度为的铝基板,以此来辅助散热,这种方案成本不高,不过却能够起到兜底作用。在你实际参与的项目当中,最让你感到头疼的,究竟是热过孔出现堵孔的状况,还是连接性方面出现报错的问题呢?