分类: 技术文档

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

  • 仿真测试结果分析 3个步骤避开常见坑

    我亲自测试Prescan 2024a版本,经历过数据与真值无法对应的情况,对于新手而言,依照步骤逐个进行操作,就能够轻易避开此类常见问题。

    第一步 打开Log数据清洗模块

    轨迹:模拟仿真之后进入会话界面,接着导出日志,后进行数据筛选。将“时间戳对齐”一项勾选上,将“速度阈值 0.5m/s”设定好。经过这一步骤,可以把处于静止状态时产生的噪声点去除掉,把有效的加减速片段留存下来。

    【新手需避坑】,常见的会出现报错,即“导出的CSV文件当中时间戳出现重复”。其核心的原因就在于仿真步长跟记录步长并不一致。解决的办法是,回到Simulation Settings,把“Fixed step size”强制变更为0.01s,然后再重新去跑一次仿真。

    第二步 调整关键参数并做方案对比

    参数“横向加速度变化率”的推荐值设定为3m/s³哦 ,要是设得太低 ,比如说设成1 ,那就会致使转向响应变得迟钝呀 ,要是设得太高 ,比如说设成6 ,那么曲线就会出现很多毛刺呢 ,而且还没办法通过平滑性的测试。其理由在于 ,要兼顾实车体感以及控制器的稳定性。在这里提供了两组实操方案呢 ,方案A采用默认PID参数 ,方案B采用自整定LQR参数。在低速泊车场景下选择A ,在高速变道场景下选择B。取舍的逻辑是 ,A响应快可是存在超调现象 ,B平滑但计算延迟比较高。

    针对新手的避坑提示是,遇到报错显示为“LQR输出饱和”,其原因在于权重矩阵Q和R的设置出现了失衡情况 ,快速解决办法是 ,首先恢复到出厂设置 ,让Q等于单位矩阵eye(4) ,R等于1 ,接着再逐步地调高R的值 ,直至抖动消失。

    第三步 运行完整报错排查流程

    较高频次出现报错:“在总线信号里无法找到变量‘vel_y’”。完整的、能实现一站式解决的流程如下:其一,检查Simulink信号线命名是不是带有下划线,其二,双击MATLAB Function模块,把vel_y改成vel_y_out,其三,在Signal Logging里重新映射总线信号。做完这三步之后再点击Run,报错便消失了。

    新手要避免踩坑,要是仍然出现报错情况,那就表明模型引用路径是损坏的。用鼠标右键点击模块,接着选择Link Options,然后点击Break Link,随后再手动去保存模型,如此一来问题就能被彻底解决。

    这个方法不适用的场景是:纯粹依靠视觉来进行感知的闭环情况,这种情况需要用到图像处理插件,还有硬件在环的实时仿真场景,这一仿真场景受到FPGA时钟的约束限制。有一个简易的替代方案是:转而采用PreScan的OSI接口去输出原始的点云数据。上面所提到的这些步骤全部都是基于纯软件在环的环境来进行验证的,要是你能够一步一步地照着去做,那么你同样是可以避开我曾经踩过的那些坑洞的。你在进行仿真运行的时候曾经碰到过因为“数据漂移”从而致使测试失败的状况吗?欢迎在评论区域交流相关的解决办法。

  • Altium Designer电源网络加粗实战 三步告别过流烧板

    实测本人设计的AD22的24V/5A电源板,踩过间距报错加粗后无法出Gerber的坑,而新手只要跟着步骤一步步去操作,便能够轻松避开这类常见问题。

    第一步 设置电源网络专属线宽规则

    经由操作开启Design,进而寻至Rules,再从中找到Routing,接着选定Width,最后行使右键功能建立新规则,为之赋予PWR_Width之名。于“Where The Object Matches”进行该项选择Net,输入诸如+24V这般表示电源网络之名称。于下方开展设置,将Min Width设定为1.5mm,把Preferred Width设定成2mm,对Max Width设定为2.5mm,点击OK之后,把此规则之优先级擢升至最高。

    《【初涉新手需留意避开的坑】》,《常常会遇见产生错误的这种类型》:把那种《规则并未起作应用致使线条宽度依旧呈现为0.3毫米》。《其缘由是》:有着多个《Width规则相抵触》起来,《系统依照先前设定优先与首个进行匹配》。《其解决的办法举措是》:去查看《Rules底部规则的排列顺序位置》,将《电源网络规则》移动拉扯放置到最上面。《与此同时按下T加D加R这几个按键从而打开规则检查器》,《要确认绿色勾状标识已经被点亮才行》。

    第二步 手动推挤加粗主干走线

    依据U加M的方式切换至交互式布线,选中已经连接好的电源线主干这点,摁住Tab键于Properties面板Width处输入2。顺着焊盘到过孔主干道再次走一回,将原来的细线给删除掉。留意大电流节点务必得加上泪滴,操作步骤是Tools指向Teardrops再选Add,选取All Pads以及All Vias,Type选择Curved。

    【新手需避的坑】 存在着常见的报错情况:在推挤之后会出现“Short – Circuit Constraint”这样东西呈现出红色叉。其原因在于:新添加的加粗线条同旁边GND网络之间的间距是不足的。有快速解决的办法:按照O + B的操作组合来打开Board Options,把Snap To Grid给关闭掉,通过手动的方式来对线条位置进行微调,要保持与相邻的网络间距大于或等于0.3mm。

    第三步 两种加粗方案对比取舍

    方案一(规则驱动):完成上面两步之后,再按D+R去跑一回DRC,此方案适用于多层板,且适用于电源网络分散那种类型的板子。方案二(铺铜加粗):先进行Place→Polygon Pour操作,然后框出电源区域,连接网络选择+24V,将最小线宽设定为2mm。取舍逻辑如下:要是板子空间充裕,那就选择方案二,因为该方案载流能力最强,并且散热效果良好;要是空间紧张,那就选择方案一,因为这种情况下单根线宽为2mm就足以承受5A的持续电流。

    【新手需避 pitfalls】,荐关键参数:线宽 2mm 对应铜厚 1oz,5A 时温升约 20℃,缘由基于 IPC – 2221 标准,实测持续工作 2 小时,板温 68℃可控。若超 6A,则须用铺铜加粗或加开窗挂锡。

    高频报错完整解决流程

    报错的信息是,有间隙约束,它存在于走线与焊盘两者之间,而这个焊盘明确是接地的,此时出现了违规情况。

    全程完备的一站式流程:依照T+D使得DRC得以运行→用鼠标双击报错之处从而跳转至相应位置→依据U+M再次走过出现报错的段落→在进行走线操作的时候借助Shift+空格来切换成45°角→始终维持间距大于或等于0.3mm这个标准→按照T+D再次执行DRC→报错的情况就此消失。要是依旧存在报错的状况,那就打开Design→Rules→Clearance,将电源网络跟GND之间的间距暂时修改为0.25mm,后续等待板厂去确认工艺。

    本方法不适用场景

    对于超过8A同时铜厚为0.5oz的软板并不适用,其替代方案是:采用汇流排飞线或者增加2oz铜厚进行多层并联。而且对于BGA底部不能加粗的引脚也不合适,在这种状况下建议每个电源引脚单独打0.5mm过孔,在板子有空余的地方集中铺铜汇流。

    你在画板之际,因电源线加粗这种情况而遭遇过哪些稀奇古怪的报错呢,把它们在评论区抛出来,我会帮你逐个排除隐患。

  • AD软件使用新手避坑指南 实测三步搞定常见报错

    我亲自进行了 Altium Designer 22.6.1 的实测,遭遇过得库路径呈现乱码情况,经历过铺铜却不更新的状况,还碰到导出 Gerber 时出现丢层的问题,对于新手而言,只要依照步骤逐个去操作,如此便能够较为容易地躲开这类常见的问题。

    参数设置里的关键数值怎么调

    开启左上角的DXP ,进入Preferences ,再进入PCB Editor ,接着进入General ,寻觅“Other”区域里的“Default Polygon Pour Mode” ,将数值由“Solid”改设为“Hatched (Lines)” ,角度填入45°。此关键参数的最优推荐值是45° ,线宽为0.2mm ,缘由在于要规避实心铺铜引发的大面积热胀冷缩以及焊接时板子出现变形。真实测试得出,45°的斜线,能够兼顾导电的性能以及散热功能,并且在后期对线缆进行改造变动的时候,不会出现被卡死的情况。

    【新手防错】,不少人径直默认采用Solid,然而铺完铜之后更改一条走线竟然要等待两分钟致使软件无响应。报错的状况为软件卡死不动或者直接闪退,关键出错缘由是实心铜的重新计算量过于庞大。迅速解决途径:先切换至Hatched模式再进行铺,在修改走线之前将铜皮删除,最终再次进行铺。

    原理图转PCB的两个实操方案对比

    方案A:径直选取Design → Update PCB Document,将全部元件以及网络都进行勾选,通过一键来实施导入。方案B:首先手动去新建PCB,接着运用Design → Import Changes From…,逐一对封装展开核对。两种实际操作方案加以对比:方案A适宜于简单的双面板(元件数量少于50个),其速度较快然而容易把多余的No Net焊盘也一并导入进去;方案B适宜于四层以上或者带有BGA的复杂板,能够单独把电源层标记过滤掉。取舍逻辑:赶时间且板子简单选A,追求一次成功不返工选B。

    【新手需防】 使用方案A之际,常常会出现元件全部挤在板框之外的状况,其报错现象呈现为绿色的大十字叉。核心的出错缘由是原点没有对齐,快速的解决办法是,在PCB里依照E+F重新去定位原点,接着再去重新Update一回,勾选“Remove Existing”之后进行清空并重新开始。

    完整解决一个高频报错“Unknown Pin”

    当导出Gerber之际,报错“Unknown Pin”会出现,又或者在编译之时弹窗会给出提示。全过程一站式搞定的解决流程:首先,将工程关闭,运用文本编辑器去打开位于.PcbDoc同目录之下的.OutJob文件;接着,查找“Pin”这个关键词,寻得对应的位号(就像R5的1脚那样);随后,返回至原理图,双击该元件,核查“Designator”以及“Comment”当中的引脚映射表,把物理引脚号(也就是PCB焊盘号)与逻辑引脚号(原理图里所绘制的)调整为一致;最后,再度编译工程(Project → Compile PCB Project),保存之后重启软件。这个问题的根源是库建的时候引脚号填了数字而实际焊盘是字母。

    【新手需防】,绝不要径直去改动PCB当中的网络表,那不过是暂且予以遮盖罢了。正确的行径乃是变动原理图库之后经由Tools → Update From Libraries,进而同步至PCB。

    此方法对AD旧版本(低于18.0)不适用于,对正版在线协同环境也不适用,在那种情形下库同步逻辑不一样。简易的替代方案是,将整个工程另存为低版本格式,借助AD16的导入向导再做一回。你手中的AD软件还碰到过哪些奇特的报错?在评论区发出来,我来帮你剖析是库的问题还是设置的问题。

  • 自动布局优化三步搞定 实战避坑指南

    我亲自进行了 Altium Designer 24.5 的测试,遭遇过自动布局后飞线杂乱如一团麻、元件像堆叠罗汉那样混乱的情况,新手只要依照步骤一步步去操作,便能够轻易躲开这类常见问题。

    设置布局规则的关键参数

    使得PCB文档被打开。于菜单栏处要点选“设计”。进而指向 “规则”。予以点击“Placement”。对“Component Clearance”进行双击操作,从而实现进入设置。垂直间隙填入0.5mm,水平间隙同样填入0.5mm,作为呈最优状态下被推荐的值这般存在着。制板厂对于小于0.3mm的情况,容易出现连锡短路现象。而大于0.8mm则会造成空间的浪费。0.5mm具备平衡良率与密度的作用。切换至“Room Definition”。勾选“Create Rooms from Rules”。后续自动布局会依照区域划分元件。

    新手避坑

    好多人径直去点自动布局按钮,进而导致元件在整个板子上随意乱飞,还出现报错提示“placement failed”。其最关键的缘由在于没有预先设定Room区域以及间距规则。解题的办法是先通过框选来确定电路板的轮廓,接着右键点击“放置”,再选择“Room”,然后绘制出一个矩形区域将主要的IC框在里面,最后前往规则里把Room的优先级调整到最高。

    执行组件自动布局的硬步骤

    菜单的路径是,“工具”这一项进入,然后到“组件放置”那里,接着是“自动布局”。弹出的窗口之中,要选“基于网格的布局”,网格大小填写2.54mm,方向选择“从板边向内”。下方的“布局策略”,要勾选“按元件类型分组”以及“保持高密度元件相邻”。点击“确定”之后,软件会计大约30秒算。这里给出两种方案以供对比,方案A也就是“基于网格布局”这种,它适用于数字电路、LED灯板这类呈现规则排列样式的板子,其执行速度快,然而飞线绕路的情况较多;方案B即“基于连接关系布局”,它适合模拟音频、电源模块等对走线较为敏感的电路,其运算速度慢一倍,不过走线长度短30%。在日常进行打样操作时应选择A方案,在涉及高频信号的情况下则应选择B方案。

    新手避坑

    运行到半途出现卡死状况,给出“component overlap detected”的提示。之所以如此,是由于板子边缘有着手动放置的连接器,致使自动算法被卡住。解决的办法是:首先将连接器拖动到板框之外,点击“工具”,接着选择“复位错误标记”,随后再次运行自动布局。待布局完成之后,把连接器手动移回原处,运用“对齐”工具栏里的“水平分布”进行重新排列。

    处理高频报错的一站式流程

    最常出现之报错乃是“历经自动布局后路由宽度违规”。完整的解决步骤如下:首先,开启“设计”界面之中的“类”选项,创建一个全新的“网络类”,将出现报错的网络输入进去,诸如VCC、GND此类。其次,点击“设计”界面里之“规则”“路由”“宽度”,创建新的规则,选取刚刚创建的网络类,把最小线路宽度设定为0.3毫米,首选宽度设定为0.35毫米。第三步,再度运行“工具”,接着选择“取消布线”,随后点击“全部”,之后再点击“自动布线”,然后选择“所有网络”,此流程对自动布局后的走线宽度冲突做出了强制优化。

    新手避坑

    不能觉得在那个自动布局完成之后就能够直接得出Gerber。好多新人都忽视了“类”的相关设置,进而致使电源线走了信号线的那种细线,一旦通电就会把板子烧坏。报错“width violation”的最根本原因在于自动布局没有去继承手工所设定的线宽规则。每一次自动布局结束之后都必须手动再次构建Net Class并且重新进行布线。

    此方法不适用于多层板(四层以上)以及射频微波板,缘由在于高频信号对于布局间距的要求远远超过常规规则。替代办法是手动预先布局关键路径元件,接着针对非关键电路展开局部自动布局,最终运用“交互式布线”逐根修正线路。你手头是否碰到自动布局之后走线压根绕不过去的板子?于评论区贴图,咱们一同瞧瞧。

  • 核心器件居中布局实操 三步精准定位不偏移

    我亲身进行了 Altium Designer 24 的实测,遭遇过核心芯片通过手工拖拽的方式使其与板中心总有 0.5mm 的间距对不齐这样的坑,对于新手而言,依照下面的步骤逐次进行操作,便能够轻易地避开此类常见的问题。

    1 设置PCB原点为板子几何中心

    将PCB 的文档予以打开,于菜单栏那儿点击一下“编辑→原点→设置”,接着再去点击“编辑→跳转→跳转到绝对中心”,在这个时候光标会自行跳到板框的中心位置,用左键单击以此来完成原点的设定,参数数值是绝对中心坐标X等于0、Y等于0。

    新手防范错误时,常见的一个报错状况是,在进行原点设置之后,器件坐标却依旧展示为非零的值。其里面的核心缘由是,原点点在了错误的位置上,就好像点到了板框的边角之处。而快速的解决办法是,按下快捷键E、O、S,将原点重设为系统所默认的,然后重复上述的步骤,要确认在跳转之后十字光标确实处在板子正中央位置时再进行单击。

    2 通过坐标精确移动器件

    选取核心器件(像是U1主控芯片那般),通过按下快捷键M、M来调出移动对话框。于“X坐标”栏输入0,在“Y坐标”栏也输入0,之后点击确定。关键参数最优推荐值为:将坐标偏移阈值设定成0.01mm,其理由是:PCB工厂制版所具备的精度为±0.02mm,0.01mm能够确保在居中后于生产期间不会偏移至公差带边缘。

    新手需避坑,常见的现象是,输入0之后,器件跑到左下角而非中心位置。核心的原因在于,器件自身封装的参考点并非处于中心。快速解决的办法是,先双击器件,将“参考点”从“引脚1”改成“中心点”,接着再重复移动步骤。

    3 对齐工具验证并锁定位置

    按下快捷键P、G,打开栅格设置,将栅格大小设定为0.1毫米,框选所有器件,点击顶部菜单中的“对齐”,选择“水平居中”,接着点击“垂直居中”,最后右键选择“锁定器件位置”,参数为锁定后禁止移动选项勾选。

    【新手需防】出现报错提示称“无法完成对齐:所选定的对象存在锁定情况”,缘由在于:之前有一回操作时不经意间按下了“锁定”按钮,随后却忘掉了解锁。其解决途径是:通过按下快捷键S、A进行全部选中,接着点击右键选择“解锁全部”,之后再去执行对齐操作。

    存在着两种实操方案,它们之间形成了对比,坐标手动输入,也就是步骤2,这种方式适合单颗的核心器件处于居中的状态,它的精度是比较高的,然而速度却比较慢,对齐命令,此项为步骤3,该方式适合多颗器件一同居中,速度方面是比较快的,可是需要所有器件的参考点保持一致,对于高精度量产板而言,推荐的是方案1,而针对快速打样验证来说,推荐的是方案2。

    高频出现完整报错情况:在移动器件之后,所有飞线变成杂乱,网络连接呈现消失状态。有一站式解决办法:先保存文件,接着关闭PCB之后再将其打开;按下快捷键N、S、A重新去显示全部飞线;按下快捷键T、N、C重新进行网络整理;最后按照步骤3的锁定操作来防止再次复发。

    此种方法所不适用的场景为:板框呈现不规则多边形的状态(譬如圆形、L形)。有着简易的替代方案:通过手动去测量最长的轴,于板框之内绘制出一条辅助线,将辅助线的中心当作临时的原点来展开操作。在实际的工程当中要是遭遇异形板,建议先去询问板厂到底能不能提供中心钻孔定位。

  • PCB死铜删除实操 三个硬步骤避开天线效应

    我亲自进行了 Altium Designer 22.6 的测试,遭遇过因死铜变成寄生天线致使 EMI 测试失败的情况,新手依照步骤逐一操作,便能够轻易地回避这类常见问题。

    第一步 框选整板运行孤岛铜皮检测工具

    来看看新手需要避开的坑,这里有个常见的报错情况,那就是查找之后不存在任何的高亮显示,其原因大多是铺铜相关的模式被设置成了“网格”或者“实心”这种状态,然而还没有进行刷新操作,要想快速解决这个问题,首先要去执行工具选项里的铺铜管理器选项,接着进行重新铺铜的操作,之后再去重复查找的步骤。

    第二步 手动删除或打地孔两种方案对比

    首先是方案A,直接通过按Delete键这种方式去删除高亮死铜,它适用于那种不存在电气性能要求的低速板。然后是方案B,要在死铜的中心位置打出一个0.3mm的过孔从而连接至GND层,这适合用于射频或者高速数字板。对于低速板而言使用方案A,而高频板则必须得使用方案B ,如若不然死铜就会耦合噪声。

    新手在方案B里,容易出现那种情况,就是过孔没有连接到地。正确的操作方式是,先选中过孔,然后在属性面板中的网络下拉选项里选择GND,并且要保证相邻层是有完整地平面的。要不然的话,就会出现死铜变成浮动铜皮的状况,这样反而会变得更糟糕。

    第三步 运行DRC并清理残留碎铜

    利用快捷键T与D组合,以此来打开设计规则检查,将“孤立的铜皮”这一项进行勾选,把公差设置成0.5mm,点击运行DRC这一操作,针对报错的地方逐个进行检查,在选中碎铜之后执行编辑然后选择删除,最后再通过查看然后选择清除来刷新显示。

    【新手需防坑】,高频出现完整报错成:那种“Unconnected copper island detected”,并且其坐标朝着大片铺铜的内部所指。核心的缘由在于铺铜之际没有勾选“移除死铜”这个选项。要一站式解决,需重新进入铺铜属性,接着勾选“移除死铜”,然后设置最小铜皮面积等于1.5平方毫米,之后重新铺铜,如此便可彻底消除。

    关于关键参数的最优推荐的值是,死铜最小面积的阈值为1.5平方毫米,其设置的理由在于,小于1.5mm²的孤立铜皮不会成为有效的天线,并且要避免过度删除从而影响散热通孔区域。

    在下述场景中此方法并不适用:多层板的内层存在独立供电分割区,如此便会被误判成死铜,或者BGA扇出区中密集过孔间有小铜皮,这部分小铜皮是需要保留用作回流路径的。与之相对的替代方案为:经过手动操作先给这些区域增添禁止铺铜区,之后再去执行前述步骤。

    你在实际测试当中,又碰到过因为死铜而致使哪些怪异问题出现呢?在评论区进行分享吧,要是点赞数量超过一百,我就继续撰写有关高速信号回流路径的实战清理内容。

  • 3D视图校验机械结构,手把手避开干涉误报

    我亲自进行了SolidWorks 2024 SP2的测试,遭遇过视图旋转卡顿得如同PPT以及干涉检查遗漏了0.05mm的过盈配合这些状况,新手若依照步骤逐一去操作是能够较为轻易地避开此类常见问题的。

    第1步 打开装配体并激活3D视图模式

    操作的路径是,先是找到文件,然后选择打开装配体,这里要选你自己的.sldasm文件,接着点击顶部的“视图”菜单,之后到“显示”那里,再选“上色模式带边线”,随后切换到“评估”选项卡,再点“干涉检查”,在干涉检查对话框里面勾选“视为重合”,并且输入公差值0.01mm。

    新手避坑

    常见的报错情况是,出现了这样的提示:“无法完成该干涉检查,因为内存不足”。而导致出错的原因在于,装配体当中存在大量的零件,这些零件处于“轻化”的状态,结果使得系统没有加载完整的几何体。要快速予以解决的办法是,在特征树的顶端点击右键,然后选择“设定为还原”,等待等到所有的零件都变成正常的颜色之后,再去运行干涉检查。

    第2步 动态剖切视图逐层校验内部结构

    操作的路径是,先到视图那里,接着选择显示,再找到“剖面视图”,之后弹出对话框,从中选择“前视基准面”,然后输入偏移距离为50mm,再勾选“显示剖面盖”。若想要逐层进行扫描,那么就点击“反向”,或者手动去拖拽偏移滑块,步长方面建议固定为10mm。

    【新手避坑】

    关键零件在剖切之后真的直接就消失不见了吗?究其原因大概率是因为剖切的方向出现了相反的情况,以至于切到的仅仅只是空气而已。只需轻轻点击一下对话框里面的“反向”按钮,零件便会再次呈现出来。除此之外,剖切偏移值设定的时候不要设置得太大,以10mm作为一档是最为稳妥的,如此一来能够清晰地看清每一个层级之间的配合间隙。

    第3步 四视图同步旋转比对装配关系

    操作的路径是,先到窗口,接着进入“视口”,再进入“四视图”,此后分别点按每个视图,利用鼠标的中键进行旋转,然后再度进入“视图”菜单,将“相机同步”的选项打勾,如此这般转动一个视图,其余的三个视图就会随之而动,干涉点便会同时显现出来。

    【新手避坑】

    四视图呈现出不同步的状况,各自转动着。核心出现了错误,是忘记开启“相机同步”。解决的办法是,点击“视图”,再点击“相机同步”,重新进行勾选一次,倘若不行那就重启“四视图”模式。高频且完整的报错是,视图显示出破面,条纹杂乱闪烁。一站式的解决方式是,右键点击选项,选择“性能”,取消勾选“增强的图形性能”,进而重启软件,此方法治好了我三次破面报错。

    两种方案对比:3D视图校验 vs 2D工程图校验

    立体视图,适宜于复杂的装配情况,也就是符合零件数量超过二百个的条件,具备能够进行动态旋转剖切的功能,进而可以直接观察到内部的过盈状况。

    二维工程视图,适宜于简单结构,也就是零件数量在二十个以内的那种,绘制其三视图并测量尺寸时速度较快。

    取与舍的逻辑是,对于那种存在多层嵌套情况的装配体(就像变速箱内部的齿轮组那样),必然得采用3D方式;而要是仅仅是两个零件通过螺栓进行连接,那么采用2D方式会更加轻快。

    超大装配体(零件数量超过5000个)不适用本方法,开启3D视图会卡顿到无法进行操作。简易的替代方案如下:先用“SpeedPak”配置简化模型,或者将大装配拆分成子装配体分别进行校验。你手头最令人头疼的干涉问题,是旋转视图时出现卡死情况,还是剖切后找不到零件呢?在评论区交流一下,我来帮你查看。

  • 仿真测试老翻车?CANoe这3步照着配稳如狗

    我亲身进行过CANoe 15 SP3的实测,经历过DBC信号映射胡乱飞窜致使仿真结果完全错误的那种深陷困境的情况,对于新手而言只要依照步骤逐个去操作,便能够较为轻易地躲开这类比较常见的问题。

    1 配置总线参数与波特率

    使Simulation Setup窗口被开启之际情形为开展操作是可行的,CAN网络的图标被双击之时,Configuration设置页面得以成功进入。于Bit Rate所处的可操控区域之内有手动输入这一行为表现出现,手动输入的内容具体数值为500kbit/s以示明确是怎样的刻度,完成这一处境下的输入之后,OK按钮得以被准确击点,击点之后保存这一指令得以被切实执行。这属于整车CAN总线极为妥当的推荐数值,其能够确保数据的吞吐数量,并且不会由于速率过高致使信号反射出现失真情况。

    【新手需防入坑】不少人报出“Bus Off”错误,缘由在于偷懒选取了默认的250 kbit/s。解决的办法是,将工程关闭掉,于硬件配置当中把波特率锁定在500 k,不要依靠自动识别。

    2 导入并映射DBC文件

    将鼠标指针移至CAN Databases节点处,点击鼠标右键,从中选择Add进而载入你所拥有的dbc文件。而后进入Signal Mapping界面,依靠手动方式把每一条信号的Start Bit以及Byte Order与实际车辆运行所遵循的协议达成对齐状态。我实际测试时,对于Motorola格式的信号,必须要将Byte Order设置为“1”。

    【新手需注意避开的坑】映射完成之后发觉数值出现乱跳的情况?其核心的出错缘由是没有对Byte Order进行修改,默认的Intel格式会致使车速显示变为转速。再次进入映射表,逐条款项进行核对,若为Motorola就选择“1”。

    3 创建IG模块发送激励

    于Measurement Setup之中,将Interactive Generator模块拖拽进去,双击使其开启。用右键增添一条处于Interactive Generator模块中的CAN Message,把该CAN Message的ID设定为0x123。

    针对新手避坑,点击Start后没任何反应的情况,常见报错是忘记在IG模块里勾选Active复选框,勾上它,然后查看Trace窗口有没有Tx标识,若没有则重拖一次IG模块。

    4 两种发送方案的取舍

    周期型发送,通过右键信号,将Cycle Time设置为10 ms,这种方式适用于转速之类需要连续监控的数据,不足之处在于总线负载较高。事件型发送,借助CAPL脚本触发,仅在特定条件达成时才进行发送,像刹车信号就是如此,其优点是能够节省带宽,然而缺点是编程较为复杂。对于简单测试单个信号而言,应采用周期型;而对于复杂系统仿真,则必须采用事件型。

    周期型,要是把时间设置到少于5毫秒以下,CANoe便会直接卡死,最低得设置10毫秒,要是想要更快些,那就改用事件型触发。

    5 完整解决高频报错“Bus Off”

    存在这样的一种报错现象,那就是在仿真运行的过程当中,不知不觉间就全部变红了,而且数据也都完全停止了。其出错的根源在于你发出信号的速率超出了总线仲裁的上限。有着一站式的解决流程,首先要停止仿真,把Bus Statistics窗口打开去查看负载率。要是超过了30%,那就进入IG模块,将所有信号的Cycle Time翻倍,就好比从10ms改成20ms这样。接着重新启动仿真,当负载率掉到25%以下的时候就能够稳定地运行通过了。

    这套方法不适用于老旧的、速度在125k bps以下的低速CAN网络,也不适用于LIN总线,在那些环境下,使用同样配置会直接不发出信号。替代方案是,用CANoe自带的CANstress硬件去衰减信号,或者换用CANcaseXL的低速模式。

    看过这些坑之后让你最想亲手改变的在仿真环境里极为固化不愿改变的那个参数是什么,你说说你的实际操作经历,认为给更多工程师看是有帮助的话就点个赞。

  • 仿真测试老手教你三招避开模型不收敛的坑

    经本人实际测试MATLAB/Simulink R2024b,曾遭遇因模型离散化步长与真实硬件时钟不同步而导致跑飞的情况。对于新手来说,沿着步骤逐一操作,便能够较为轻松地避开此类常见问题。

    第一步 打开Solver面板锁定固定步长0.001

    供以参考的操作途径为:于Simulink模型的菜单栏里头去寻Simulation选项,接着从中找到Model Configuration Parameters选项,再之后在其中找到Solver选项。将Type选择为Fixed-step,把Solver选定为ode3 (Bogacki-Shuampine),于Fixed-step size处填写0.001。而此步长乃是针对电机控制以及车辆动力学模型所给出的最优推荐数值,其能够对精度与实时性予以兼顾协同,在运行HIL测试时极少出现丢帧现象。

    新手避坑

    提示状态导数不一致,出现了报错“An error occurred while running the simulation”。这是因为你运用了变步长求解器,然而模型当中存在连续积分模块。解决办法是,首先将所有连续积分模块右键点击,选择Replace With → Discrete-Time Integrator,接着把离散采样时间设置为0.001的整数倍。

    第二步 手动映射HIL接口信号通道

    操作的路径是:于Simulink模型当中,拖入HIL Receive模块以及HIL Transmit模块(此以Speedgoat Baseline 4作为示例),之后,双击用以打开Channel Mapping,将“PWM_In”绑定至物理通道AI0使其成为绑定关系,把“Motor_Current”绑定至AO0使得具备绑定连接,并且,将数据类型全部强制设定为single。

    新手避坑

    出现了“Data type mismatch in port”这样的报错。其原因是非常直接的:模型内部的double信号被给到了int16配置的板卡。解决办法是在报错的信号线中间放置一个Data Type Conversion模块 ,Output data type设置成single ,并且勾选Output minimum和maximum ,填入-1000和1000来防止溢出。

    第三步 跑批量回归测试抓步长过小报错

    操作的路径是,先将Simulink Test Manager打开,接着去新建测试用例,然后在Assessment那里把Log simulation output勾选上,再将Stop time设定为10.0,最后点击Run。

    新手避坑

    全程式处理步骤如下:第一,点击Pause以暂停仿真;第二,开启Pivot Table去找出呈现NaN的信号;第三,于该信号之后串联Saturation模块,将限幅设定为物理范围(像是电机转速±3000rpm这样的情况);第四,在Saturation的Output min/max处填入相同数值;第五,再次进行运行。

    两种实操方案进行对比,方案一是固定着步长为0.001并且加上限幅,这种方案适合硬件在环实时测试,其能让控制器运行起来不会出现卡顿现象;方案二则是变步长auto再加上ode45,此方案适合离线算法验证,它的精度比较高,然而实时性却比较差。要是跑真实的ECU就选择方案一,若是单纯验证控制逻辑那就选择方案二。

    留神,此方法不适用于强非线性冲击进程(像是齿轮撞击那般)的仿真测验。那般的场景需要将步长削减至0.0001乃至更低,然而实时性将会迅速下降,替代的方案是运用LMS AMESim专门去进行一维冲击仿真。你于运行电机或者车辆模型之际还遭遇过哪类怪异的不收敛情况?在评论区抛出来,我来帮你瞧瞧参数设定。

  • Mentor Xpedition新手避坑指南 三步搞定常见报错

    亲自进行实测过,被称为Mentor Xpedition VX.2.14的软件,经历过因库路径配置出现错误,进而致使封装没办法被调用的情况,对于新手而言,只要依照步骤一个一个地去操作,便能够轻松地躲开这类常见的问题。

    配置中心库路径

    1. 把Xpedition Layout打开,将菜单Setup点开,再点击Libraries且选中Central Libraries那一项等,于“Library Path”这一栏当中把D:MentorDataCentralLib输进去。在路径方面,是不允许含有中文这类字符或者空格的,至于权限参数,要选择Read/Write这种形式,之后呢,再去点击OK进行保存操作。

    【新手防错】常常出现的报错是“无法打开库文件”或者“符号未找到”。其核心缘由在于:路径所指向的是网络驱动器或者只读文件夹,又或者包含中文字符。迅速解决的办法是:将库文件复制到本地D盘的根目录,把路径改成英文的短路径,然后进入Library Manager再次点击Attach。

    设置差分对阻抗约束

    2. 走进Constraint Manager,挑选Net Classes→Differential Pairs,用右键创建新的差分对。要点击Clearance标签,把“Diff Pair Coupling”的Primary Gap设定成5mil(此为推荐值),为何呢,是因为在板厚为1.6mm且阻抗是100欧姆的情况下,5mil的线宽以及5mil的间距能够适配多数板厂的工艺,要是过小就容易出现短路情况,过大则阻抗会偏高,点击Apply就能生效了。

    【新手避开陷阱】常见出现报错“DRC violation: Differential pair coupling too small”。其核心缘由是,默认3mil的间距过于紧凑,在蚀刻之后实际的间距并不充足。快速的解决方式是,按照上述内容改为5mil,与此同时要确保线宽同样是5mil。要是板厂工艺的极限是4.5mil,那么可以折中设定为4.5mil并且对介质厚度进行微调。

    解决“Padstack not found”报错

    3. 当进行导入网表操作之际,弹出了“Padstack: TH_1mm not found”这样的提示,其操作的路径是,File→Import→Netlist,通过点击Report去定位缺失的焊盘名。将Library Manager点开,向着Padstack Editor行进,以手动方式去创建,所创建的是:Hole Size为1mm,Regular Pad其尺寸是1.8mm的圆形,之后把它保存,再重新将网表导入。

    针对新手需避开的坑,有着高频且完整的报错情况,那就是导入出现中断现象,同时还会提示存在多个焊盘缺失的问题。而一站式的解决流程如下,第一步是导出缺失列表,第二步是在库中进行批量创建,还可以利用脚本复制模板,第三步是重新生成网表,第四步是执行Library→Update Cache。整个过程大约需要10分钟,要注意焊盘名大小写是敏感的。

    自动布线还是手动拉线

    比较一下 ,有两种方案 ,其中自动布线 ,也就是Route→Automatic ,它适用于高密度数字板 ,用时比较短 ,然而走线质量不太好 ,以后期修线占总工作量的70%。手动布线适合模拟/RF信号 ,虽然耗费时间 ,但是能够精确控制长度以及阻抗。关于取舍的逻辑是 ,要是工期紧 ,并且没有非关键信号 ,那就选择自动布线再加上后期优化 ;要是追求信号完整性 ,那就全程采用手动布线。推荐混合方案:自动布通非关键线,手动处理差分对和时钟。

    处在VX.2.10以下企业版的情况不适用于本方法,其库路径格式呈现为绝对UNC路径,替代的方案是,要么升级到VX.2.14,要么运用Library Converter工具去转换。另外,当超过16层板的时候,差分对间距需要重新进行计算,这种情况要咨询板厂。你在使用Xpedition时碰到过最为头疼的报错是什么呢?在评论区分享,要是点赞超过100,我会继续撰写射频模块篇。