分类: 技术文档

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

  • Win11远离干扰源三步实操 新手避坑大全

    实测Windows 11 22H2的本人,曾经历写代码时右下角弹窗疯狂闪烁的情况,也曾体验游戏进行到一半时被通知踢回桌面的状况,新手只要依照步骤一步步去操作,便能够轻易避开此类常见问题。

    1 关闭系统通知中心权限

    先打开设置,接着找到系统,随后进入到通知,将“获取来自应用和其他发送者的通知”这个总开关关闭。要是不想全部关闭,想要保留闹钟等关键应用,那就把下方应用列表里每个非必要应用的通知开关一个个点掉,这大约耗时3分钟。重点在于将“通知”按钮从“开”拨到“关”的状态,与此同时把“勿扰时间自动规则”所有的勾选全部取消掉。

    处于新手阶段,需要避开容易出现的各种错误,其中有一种比较常见的报错情况是,当把总开关关闭之后,有一部分自带的应用程序,像是邮件这类应用、日历这类应用,它们依旧会弹出通知。而出现这种情况的原因是,Win11系统里面的旧版应用所走的是独立的通知通道。那针对这种情况的解决办法是,先回到通知页面,接着点击“其他设置”里面的“其他发送者”选项,然后手动地把“邮件”应用、“日历”应用等这些老应用单独设置为“关”的状态。这个步骤可千万别遗漏,不然就相当于做了无用功,完全白费力气了。

    2 配置专注时段与关键参数

    所处位置:进行设置操作,选择系统选项,再选专注栏目,找到“专注时段”。最佳推荐数值:每一回保持专注的时长为45分钟。原因在于人类注意力天生具备的周期大概是45至50分钟,时间短无法进入深度专注状态,时间长后面的15分钟效率会急剧下降。设置的方式:点击“启动专注会话”按钮,时长选定45分钟,勾选“在此时间内隐藏任务栏角标闪烁”以及“不显示通知提醒”选项。下面“焦点模式”当中仅保留“闹钟”或者“电话”使得能够打断专注。

    【新手需防入坑】不少人设置了专注却毫无收效,归咎于未于“自动规则”之中绑定日历。核心的出错缘由为:Win11默认仅在开启“请勿打扰”之际才使专注生效,然而日历事件会将设置予以覆盖。解决的办法是:返回专注页面,点击“这些规则不会启用专注时段”。把“在我将显示器设为镜像或扩展时”以及“当我玩全屏游戏时”这两个选项开启,如此方可覆盖全部干扰场景。

    3 屏蔽高频打断应用两种方案对比

    第一种方案即系统自带的方案A:打开任务管理器,找到启动应用选项,将微信、QQ以及钉钉设置为已禁用状态。第二种方案是免费工具AutoDark,记为方案B:下载该工具后,右键点击任务栏,选择设置,进入黑名单模式,添加程序路径。关于取舍的逻辑是这样的:方案A较为适用于办公的场景,即便重启之后它依旧能够生效,然而却没办法按照时间段这个维度去进行屏蔽;方案B相对适合开发或者直播的场景,它能够设置在每天上午的9点到11点这个时间段自动禁止Chrome以及微信运行,不过此方案需要额外进行安装,并且会占用大概20MB的内存。新手优先用方案A,零学习成本。

    【新手需防】、频繁出现的完整报错情形:在运用方案B之际,弹出了这样的提示“对于黑名单驱动创建存在困难,错误代码为0x80070005”。完整的解决流程是这样的:首先,要以管理员身份来运行CMD,接着输入sc delete blackdrv然后回车;其次,前往C:Program FilesAutoDarkdrivers文件夹,用右键点击安装文件,选取“属性”,再点击“兼容性”,之后勾选“以管理员身份运行此程序”;最后,重新启动电脑,再次打开工具就能正常加载驱动了。千万记住,绝对不要直接去重装软件,不然驱动冲突仍然会存在。

    不适用场景与替代方案

    这个方法主要是针对Windows 11的单机使用环境,它并不适用于手机或者macOS系统。要是你使用的是iPhone,那么替代的方案便是“设置 > 屏幕使用时间 > 停用时间”,通过这个来直接锁定App。此外,如果是多人共同使用电脑并且需要接收工作通知的时候,不建议将通知全部关闭,而是改用方案B按照时间段来进行屏蔽就行。

    你在实际操作期间,还碰到过哪一种难以消除的干扰源头呢?比如说微信电脑版本自身所携带的弹窗无法关闭这种情况?欢迎于评论区域张贴出你的版本编号以及具体呈现出来的状况,我会为你量身定制一组屏蔽的脚本。

  • Altium Designer 22实测 PCB设计标准三个关键避坑步骤

    我亲身测试了Altium Designer 22,遭遇过因为层叠设置混乱而致使阻抗失去控制那样的状况,对于新手而言,依照下面这些步骤逐一去操作,便能够轻易躲开这类常见的问题。

    1. 强制规范层叠结构与介质厚度

    先进Design菜单,再进入Layer Stack Manager,于Stackup区域填上Core和Prepreg厚度。关键参数介质厚度推荐为0.2mm,是针对FR4板材4层板而言。理由是:在这个厚度下,50欧姆单端线宽能达到6mil左右,可匹配大多数工厂工艺,且阻抗偏差最小。若厚度偏大,线宽就会太粗从而占空间,若厚度偏小,线宽则太细容易断线。

    对于新手而言,要避免踩坑,常见的报错情况是,阻抗计算器呈现出红色的警告,而核心的出错缘由在于,把“Impedance”选项卡里那个Calculate按钮给忘了点。快速解决的办法是,先手动完成每层厚度以及铜箔重量的输入,接着点Calculate,随后软件会自动反向推算出线宽。

    2. 配置线宽与间距的硬性门槛

    于Rules里,右键点击Routing下的Width,去新建一条Width rule。信号线宽恒定为6mil,电源线宽设定为20mil,安全间距设置成8mil。操作的路径是:Design – Rules – Electrical – Clearance,将最小间距从默认的10mil更改至8mil。要记住,6mil线宽能够使100MHz以下的信号正常传输没问题,20mil的电源线通过1A电流时刚好温升15度。

    跑DRC时,实际疯狂报Clearance violation,多数缘由是铺铜之后地铜皮与信号线的间距过小,新手需避此坑,解决办法是,单独给Polygon添加一个间距规则,将优先级调高至5,设定间距为10mil。

    3. 差分对规则匹配阻抗100欧姆

    进入Design – Rules – Differential Pairs Routing,创建一组新的差分线,其目标阻抗设定为100欧姆。线宽以及间距不要凭借自身猜测,而是运用层叠管理器里的Impedance Calculator计算得出。存在两组实操方案进行对比:方案A在表层走微带线,线宽为5mil,间距是8mil;方案B在内层走带状线,线宽为4.5mil,间距是7mil。若高速信号高于500MHz那么定要选定方案B,其具备很强的抗干扰能力;像一般的USB2.0这类情况则要选择方案A,因为它过孔数量少从而便于加工。

    初次涉足者需避开此坑,出现提示“Differential pair phase tolerance exceeded”,其含义为正信号与负信号的长度差值超出限度,关键缘由在于进行布线操作时未开启交互式等长功能。完整的解决流程是,先去点Route菜单以下的Interactive Differential Pair Routing,接着按Tab键将属性面板给调出,随后勾选“Matched Lengths”并且设置个最大误差为5mil,最后软件会自动帮你进行绕线。

    老实讲,这办法不适用于超过 10GHz 的射频板,微带线损耗实在难以压制。简单的替代办法是,直接交给工厂去做叠构仿真,或者采用 Polar Si9000 专业软件反向推导。你在实际调整线宽的时候,是卡在阻抗计算上了呢,还是 DRC 报错了呢?在评论区留言,我来帮你查看具体参数。

  • EDA工具实战手册 电子工程师手把手教你避开3大坑

    实测Altium Designer 24.6.1给本人带来经历,踩过敷铜后DRC疯狂报错但却寻觅不到致使原因的坑,新手依照步骤一步步去做操作,便是能够轻松躲开这类习以为常的问题。

    步骤1 正确设置规则优先级的完整路径

    将菜单栏Design – Rules打开,于左侧规则树里,先对Clearance右键,接着选择New Rule,把它命名为Clearance_Power。把最小间距设定为0.25mm(此乃普通板厂双面板的经济安全值,若低于0.2mm便容易致使短路,要是高于0.3mm则会造成布线空间的浪费)。以同样方式再度新建Clearance_Signal ,将间距设定为0.2mm。最终于规则树的底部把Clearance_Power的优先级拖动至Clearance_Signal之上 ,随后点击Apply。

    对于新手而言要避开的坑,存在常见的报错情况,即出现“Rule sequence causes impossible clearances”这样的提示。其产生的原因在于,多个间距规则的优先级处于混乱状态,以至于系统没办法判断究竟该采用哪个值。而要进行快速解决的办法是,打开Rules – Clearance,去检查每个规则的Where The Object Matches范围是不是存在重叠状况,然后把范围更为狭窄、要求更为严格的规则向上移动。

    步骤2 敷铜参数设置的关键数值

    点一下Place – Polygon Pour,于弹出的对话框里将Hatch Style设置成Solid (Copper Regions),Track Width填0.2032mm(8mil),Grid Size同样填0.2032mm(8mil)。此数值契合多数板厂的蚀刻能力,敷铜之后不会呈现碎铜的情形或者出现孤岛。勾选Pour Over All Same Net Objects,取消勾选Remove Dead Copper。确认完毕便点击OK,接着用右键挑选Polygon Actions – Repour All。

    新手需躲开的坑当中,有常见的报错情况,即敷铜区域呈现出空心网格,或者压根就不显示铜皮。其原因在于,Track Width大于Grid Size,或者这两者之间的差距太过悬殊,致使算法没办法生成填充。针对此的解决办法是,把Track Width设置为Grid Size的0.8至1倍,建议直接采用相同的数值。

    步骤3 两种DRC运行方案对比

    方案A(在线实时检测):要维持Tools – Design Rule Check – Rules To Check全都处于勾选状态,然而需将Online列里面除了Clearance以及Short-Circuit之外的全部项目予以关闭。它适合复杂多层板,能够避免出现卡顿现象。对于方案B(离线批量检测)而言,首先需要按Ctrl+D来打开View Configurations,接着要将DRC Error Markers设定为Hidden,在完成布线之后要把它全部打开,然后再按T-D-R运行完整报告。它适合那种相对简单一些的双面板,并且效率会更高。其取舍的逻辑是这样的:要是板子的层数超过了4层或者器件的数量大于200个,那么就采用方案A,反过来要是不满足这些条件,那就采用方案B。

    这种方法不适用于柔性电路板,也就是FPC,或者埋盲孔的那种设计,为啥呢,是因为这类板厂的加工能力差别特别大,就像那种有着0.25mm间距的情况可能就会报废。那么有个简易的替代方案,是什么呢,就是直接采用板厂所提供的DRC规则文件,就比如说像嘉立创的那个“JLCPCB_2Layer_Rule”,导入以后不需要手动去进行设置。

    手头是否碰到过敷铜之后过孔形成一片似的那种怪异报错呢 ,欢迎在评论区抛出截图 ,一块儿剖析根源。

  • 差分对等长匹配实操 手把手教你3步搞定等长误差

    拿我自己实际测试Altium Designer 23.10.1来说,经历过在差分对等长匹配全都弄好之后,眼图测试却还是失败这种情况,对于新手来讲,只要依照步骤一个一个去操作,便能够轻轻松松地躲开这样一些常见的问题。

    步骤一 设置差分对规则中的等长匹配容差

    操作的路径是,从PCB Editor进入,再到Design Rules方面,接着是Routing部分,然后是Differential Pairs Routing,最后是Matched Lengths。处于该状态后,寻找到“Tolerance”这一项,填入5mil这个数值,并且勾选“Check net lengths”。这个5mil属于最优推荐数值范畴,与之对应的是约0.85ps的时延偏差状况,它能够确保USB 2.0/HDMI等信号的时序余量得以维持。倘若过于严格设定为1mil,会致使绕线面临困难局面,要是设定得过于宽松为10mil,那么就有可能引发数据丢包现象。

    【新手避坑】

    常出现的报错情况是,运行DRC之后,会提示“No matching lengths found”。之所以出现这种情况,是因为你对于差分对没有给予正确的Length Tuning规则。能够进行快速解决的办法为,回到Rules面板 ,在“Matched Lengths”当中,把“Differential Pair”类添加到完整范围 ,之后再将Scope重新设置为“All differential pairs”。

    步骤二 手动绕线补偿差分对内长度差

    操作的路径是,先选中差分对,接着点击存在于工具栏里的Interactive Length Tuning(其快捷键是U+R)。然后按Tab键弹出属性窗,将目标长度设定为较长那条线所测量得到的实际数值,把振幅选择为10mil,间隙选择为8mil。之后沿着差分对的路径均匀地去添加蛇形线,每绕一个弯就观察右下角动态长度的显示情况,一直到差值变为零。

    【新手避坑】

    通常出现的报错情况为,绕线完成之后长度显示呈现归零状,然而实际测量信号的时候仍然存在反射现象。其最为关键的原因在于将两条线过孔内壁的物理长度差给忽略掉了。针对此情况的解决方法是,开启3D视图去测量过孔的深度,举例来说,对于板厚为1.6mm的过孔其实际所贡献的长度大约是72mil,要手动把这一部分的差值补充到绕线计算当中。

    两种实操方案对比

    方案A也就是手动蛇形绕线:它适用于那样的场景板子密度高,并且差分对长度差小于50mil,其控制精准然而耗时。方案B是自动等长调节:凭借XSignals Wizard一键生成,适合简单差分对并且差值超过100mil的情形不过可能产生冗余绕线。取舍的逻辑是:差小于50mil时采用手动,差大于100mil时运用自动,处于中间范围则要看板子空间。

    步骤三 运行DRC检查并修复常见报错

    操行路径是,Tools指向Design Rule Check,再到Rules To Check,去勾选Matched Lengths以及Differential Pairs Routing。而后点击“Run DRC”,接着等待报告生成。若看到绿色对勾那就意味着通过,要是看到红色叉号便需要返回步骤二去进行调整。

    【新手避坑】

    超级高频的完整报错显示为:“Differential pair net lengths differ by 12.345mil” ,缘由在于过孔以及焊盘内部的铜皮长度没有被软件自动计算在内。一站式的解决流程如下:①手动去测量较长线的实际物理路径 (涵盖过孔);②运用报告 – 测量距离工具精准地获取差值 ;③返回绕线环节额外补充这12.345mil ;④再次运行DRC直至通过。

    针对速率超出10Gbps的高速串行总线情形(像PCIe Gen4这类型),此方法并不适用,鉴于单纯的等长匹配没办法将相位抖动问题予以解决。可供替换的方案是:转而运用HyperLynx开展时域反射分析,借助眼图仿真对布线加以调整。在实事求是的项目里,你碰到过等长匹配之后信号仍旧报错这等怪异的状况吗?欢迎在评论区域抛出来一块儿解决。

  • Cadence画板实战 新手避坑的四个关键步骤

    亲测Cadence 17.4,曾遭遇原理图符号管脚号和PCB封装焊盘号不相匹配之情况,新手依逐一步骤进行操作,即可便捷避开此类常见问题。切勿一开始便急忙展开拉线作业,先要周全扎实搭建好库,这远远比其它都更为关键重要。

    原理图封装引脚怎么分配才不报错

    首先,开启OrCAD Capture CIS,将新建元件库的路径选定于项目文件夹的根目录之处,通过菜单Place→Pin以阵列形式放置引脚,此间Pin Number务必与PCB封装焊盘编号完全保持一致,就像三极管封装焊盘编号是1、2、3那样,原理图引脚便填写为1、2、3,切莫自行创建诸如E、B、C之类的。

    【新手避坑】

    存在常见报错情况,即出现“Pin numbers do not match”,或者在导入网表之后飞线全部变得混乱无序。其核心的出错缘由在于,原理图引脚编号运用了字母,然而PCB封装焊盘编号却是数字。有着快速解决的办法,要回到原理图库编辑器,双击每一个引脚,并把Number改为数字,保存之后再次去生成网表。

    OrCAD导入PCB Netlist的正确三步操作

    重要的参数Scope要选择Create Netlist Only,千万不要错误地选成Create or Update,就是这句,记住哦,别搞错了,可别弄混了,要选对,选Create Netlist Only,而不是Create or Update,要准确无误,别出错呀。

    【新手避坑】

    常见的情况是,在点击确定之后,会报出“ERROR(ORCAP – 36004)”,或者在生成网表之后再来导入Allegro时,会发现存在缺失元件的状况。而出错的原因,其一在于路径当中包含了中文或者空格,其二在于原理图封装名与PCB封装库文件名不一致。解决的办法是:项目路径要全部为英文,要打开原理图封装属性去检查PCB Footprint字段是否与.dra文件主名完全一致。

    差分对规则参数设多少最合适

    对于第三步来讲,要进入PCB Editor,接着在菜单里找到Setup,然后选择Constraints,再点进Constraint Manager,点击展开Electrical,进一步点击Routing,之后点击Differential Pair。这里要推荐USB 2.0差分线的设置,线宽设置为5mil,线距设置为7mil,目标阻抗设置为90Ω。设定理由在于,这个参数契合FR4板材,其板厚为1.6mm,铜厚是1oz,介电常数有着4.3,属于常见叠构,经过实际测量,眼图张开度处于最佳状态。

    两组实操方案对比在此给出,方案 A 是手动推挤走线,它适合单对差分线且空间宽松的情况,虽然耗时,然而绕线精准,方案 B 为自动绕线生成,适用于多对差分线的密集区域,效率表现高,只是需要人工对转角进行微调,取舍的逻辑是,若板子尺寸大于 10cm×10cm 并且差分线超过 5 对,那就果断采用方案 B 之后再手动修正,小板子运用手动推挤的方式会更为稳妥。

    DRC报错快速修复流程

    第四步时,布线完成以后,去跑DRC ,菜单是Manufacture ,然后选择DRC ,之后是Update DRC ,此时报错“Line to Shape Spacing”频繁出现。流程为完整一站式解决:先打开Constraint Manager,接着进入Physical,再进入Line,然后选择Line to Shape,把原本默认的10mil修改成要改变成的6mil ,之后返回到DRC窗口,在窗口内勾选Reset Error Markers,最后点击Run。要是依旧出现报错情况,借助Display→Status→DRC Errors来确定坐标位置,通过手动方式推动线路使其远离铺铜的区域。

    【新手避坑】

    “DRC error: Line to Shape spacing violation”,此为完整报错信息。地铜与信号线的间距小于规则设定值,这是核心原因 ,其发生于铺铜动态更新之后。有相对快速的解决办法:别一味死磕去改规则 ,先看一看是不是信号线旁边存在孤立铜皮 ,通过Shape→Manual Void→Delete将孤铜删掉,之后再重新跑DRC ,这样做的效率要比改全局规则高出十倍。

    上述方法对HDI任意阶盲埋孔板或者柔性板设计并不适用,原因在于那些场景下的阻抗控制以及叠构参数全然不同。替换方案如下:柔性板转换为线宽4mil ,线距5mil ,并搭配覆盖膜开窗补偿 ,对于HDI板而言 ,需要先进行SI仿真 ,之后再反向推导规则。你在画板过程之时 ,所碰到的最为令人头疼的DRC报错是哪一种类型?在评论区发出来 ,以便帮你查看。

  • Altium Designer焊盘批量编辑 三招解决改属性慢还出错

    个人实际测试了Altium Designer 23.8.1,遭遇过批量更改焊盘尺寸,结果致使地线焊盘全部变小进而引发短路这样的严重状况,新手要是依照步骤一步步去进行操作,便能够轻易避开这类常常出现的问题。

    第一步 打开PCB面板精准筛选所有焊盘

    操作的路径是,在右下角那里的Panels,接着是PCB,然后要在顶部的下拉框中选择“Pads”,之后还要按住Shift键去全选列表之中的焊盘对象。在这个时候,PCB画板里面的所有焊盘都会呈现高亮状态,并且属性面板也会自动弹出。

    新手需避坑,常见报错是误将过孔选中,这是因为过孔于筛选中属“Pads”类别,实则是看错对象类型,核心缘由是PCB面板默认显示全部图元,而你未勾选“Select only”与“Pads”,快速解决方法是在PCB面板里右键,然后选择“Show only Pads”,接着勾选“Select”列的全选框。

    第二步 批量修改焊盘尺寸 推荐0.8mm

    操作的路径是,先去选中全部的焊盘,之后在Properties面板那儿寻找到“X-Size”以及“Y-Size”,接着输入0.8mm,最后回车。推荐的理由为,0.8mm在兼顾手工焊接时不会出现连锡状况以及进行回流焊时拉力把控适中方面有优势,要是小于0.6mm就容易产生虚焊情况,而大于1.0mm又易于挤占走线的空间,经过实际测量得出0.8mm是综合良率最高的那个数值。

    【新手需避之坑】,常见的报错情况是,改完尺寸之后,会发现焊盘的形状变成了矩形或者是圆角矩形,而并非是自己想要的圆形。其原因在于,Properties里的Shape默认状态是“Round”吗?并非如此,当进行批量修改的时候,如果存在个别焊盘原先为方形,那么整体就会变得混乱。解决的办法是,在改尺寸之前,先将Shape统一为“Simple”,并且选择“Round”,之后再去修改X/Y尺寸。

    第三步 两种方案批量改网络属性

    方案A(也就是统一网络)的操作是,先选中焊盘,接着来到Properties面板,然后在Net栏选择目标网络(比方说GND);方案B(即分别指定不同网络)的操作是,先关闭Properties,再打开PCB List面板(其位置在右下角Panels→PCB List),之后过滤出焊盘,最后在Net表格列逐个进行修改。其取舍逻辑是,要是板子需要大批量修改同一电源网络那就采用A方案,这件事三分钟就能完成;要是修改不同信号测试点那就采用B方案,虽说速度慢点但能够精准去分配。

    针对新手的避坑提示,存在这样一种常见报错情况,即更改网络之后,飞线依旧存在,或者出现报错内容为“Net already exists” ,其究原因在于,焊盘原先连接了线却没有彻底删掉,又或者是你所填写的网络名其大小写并不一致,像GND和gnd会被视作两个不同的网络。解决的办法是,在更改网络之前,先运用“Unroute All”来清除连线,更改完成之后,统一去操作运行“Design→Netlist→Update Free Primitives From Component Pads”这样的步骤。

    高频报错完整解决流程

    报错提示呈现:“Can’t change net of primitives that belong to a component” ,进而进入第一步:将报错焊盘全部选中 ,接着右键点击“Find Similar Objects” ,随后勾选“Component”使其相同 ,之后点击OK ,然后步入第二步:于Properties面板之中取消勾选“Lock Primitives” ,再进行第三步:把上述改网络的操作予以重复 ,最后到达第四步:改完之后要记得重新勾选“Lock Primitives” ,不然同步原理图的时候就会报错。

    下面这种情况本方法不适用:你的焊盘是“库封装”类型,并且要随时跟原理图同步更新,比如说在标准化元件库的情形下。替代的办法是:直接进入原理图,对元件的封装焊盘参数进行批量修改,接着借助“Update PCB Document”来同步,如此一来既保持了库关联还完成了批量编辑。实际测试发现,纯手工更改焊盘属性能够应对80%的非标调试板,不过要是碰到大型改版,还是老老实实同步库最为稳妥。你平常批量改焊盘的时候,最容易在哪个步骤卡住呢?在评论区留言说出来,我帮你瞧瞧有没有更快的非常规方法。

  • 智行者IC社区资源下载后编译烧录避坑指南(实测T203 v2.1踩过环境变量坑)

    我亲自进行了智行者IC-T203开发板配套SDK v2.1的实测,遇到了因PATH环境变量未生效致使arm-none-eabi-gcc找不到的情况,新手依照下面步骤逐步进行操作,便可轻松躲开这类常见问题。

    1 社区资源包解压后先核对MD5值

    其操作的路径是,在官网那种称作“智行者 IC 社区”的地方,然后进入资源中心,接着找到 T203 系列,再去下载那个名为“ic_sdk_v2.1.tar.gz”的文件,之后把它解压到 D:/zhixing_ic/这个地方(这里要求路径不能有中文),而后在命令行输入 certutil -hashfile ic_sdk_v2.1.tar.gz MD5 来核对官方所提供的 a3f2c8d1e4b5。

    那些新手需避开的坑,常见的报错会出现 “No such file or directory” 这种情况,或者解压之后得到的是乱码文件 ,其核心原因在于压缩包在下载的时候发生了中断,又或者是MD5并不正确。解决的办法是 ,使用IDM重新去下载 ,强制进行校验以确保完整性 ,千万别使用浏览器的默认下载方式。

    2 修改Makefile里关键参数OPT_LEVEL

    将D并且:/zhixing_ic/sdk/build/Makefile予以打开,对OPT_LEVEL = -O2进行定位。最优推荐值为-O2,其理由在于,这个级别能够平衡代码体积以及运行速度,-O0调试信息过多致使固件超出flash 512KB,-O3会引发内联过度进而导致看门狗复位。通过实测,-O2编译之后固件大小为468KB,运行多任务时较为稳定。

    【新手需躲避大坑之处】,编译之时若是报错为“section .text overflow”,又或者是“region FLASH’ overflowed”。出错所存在的原因是:默认状态下为-O3 ,又或者是忘记去更改参数。解决的办法是:手动将其改成 -O2 ,保存好了之后执行 make clean ,接着再make`。

    3 两种烧录方案对比与取舍

    方案A:采用JTAG烧录,其路径为,菜单“Flash”,接着进入“Configure”,然后选择“J-Link”,参数Speed设定为4000kHz。

    方案B,串口进行烧录,其路径是,菜单当中存在“Tools”,接着进入“Serial Downloader”,随后要选择COM5,并且Baudrate设置为115200。

    取舍的逻辑是这样的,当存在J-Link调试器并且有断点调试的需求的时候,就要选择A,它的速度比较快,不过要多连接4根线;要是只是进行批量烧录成品,那就选B,它只需要USB转TTL,然而每次都得按复位键。对于新手而言,建议先使用串口,这样能省去购买调试器的麻烦。

    新手需避开的坑是,JTAG出现报错显示为“No device found on JTAG chain”。其出错的原因在于,接线存在松动的情况或者目标板没有上电。解决的办法是,首先查看TMS/TCK/TDI/TDO这四线的通断状况,再者板子要使其独立供电,不能仅仅依靠J-Link的3.3V。

    4 高频完整报错一站式解决

    报错呈现出的状况为:进行烧录时,其进度停滞在了“Writing data at 0x0800C000… timeout” 这个状态上。要遵循完整流程,首先要拔掉USB线,然后长按复位键10秒进行放电,接着更换一根带有磁环的优质USB线,之后在烧录软件里,通过菜单“Settings”进入到“Transfer”子菜单,将Packet Size从512修改为128,最后重试一次,并需要注意若遭遇超时情况就要更换电脑原生USB2.0口,而非使用扩展坞。

    需要注意,新手要避开这个坑,那就是百分之九十的情况是由于USB线供电不足从而致使握手失败。千万不要盲目迷信Type-C快充线,因为很多这种线缺少数据脚。还有,要是去淘宝购买“西门子PLC编程线”,一定要选择带屏蔽的才会稳定。

    5 结尾补充不适用场景

    这个方法仅仅是针对智行者官方的T203 v2.1板卡以及社区v2.1以上的SDK。要是你所使用的是第三方复刻板或者老版本v1.8的SDK,那么在编译的时候有可能会缺少头文件。替代的方案是:前往社区“历史归档”板块去下载v1.8专属补丁,或者把板卡序列号发送给客服邮件以获取适配包。你手中拿着的板子是官方正版的吗?在评论区留下型号,我来帮你看一下参数。

  • 设计复用实战:三步搞定位号冲突与网络报错

    实测Altium Designer 23.8.1的本人,踩过复用模块遭位号全乱、网络名冲突致DRC报错这两大坑,新手跟着步骤一步步操作,便可轻松避开这类常见问题。

    硬步骤一:复用前统一位号偏移量

    打开印刷电路板面板,选中那要进行复用的电路模块,执行菜单栏当中的“工具”,接着选择“器件位号”,再选择“复位位号”,把偏移量设定为1000。具体的路径是,选择“设计”,然后选择“复用块生成”,在“位号起始”的输入框当中填入数字1000。选中所有的目标元件,右键点击“位号编辑”,将增量步长固定为1 ,起始值定位在1000 ,点击“确定”。

    【新手需防】常见出现报错为“位号重复”,或者是“Comp has duplicate designator”。其出错的原因在于,原模块的位号和目标板已有的位号出现重叠,比如说都是R1、C2。解决的办法是,不要采用默认的偏移0,一定要给新模块一个足够大的起始值,我经过实际测试1000是最佳的,这样既能够避开低位号区,又不会超出元件的上限。

    硬步骤二:手动匹配网络名前缀

    1. 执行“设计”这一操作,接着选择“生成复用块”,之后勾选“保留网络标签”。2. 导出之后,在新工程里放置复用块之前,要先去打开“工程”,然后选择“网络表管理器”。3. 找到原模块所有网络名比如VCC_1、GND_1,接着批量添加前缀“RE_”。4. 操作是选中网络,点击右键选择“重命名”,输入“RE_”加上原名。5. 保存之后再去放置模块。

    [新手需避的坑],常见的情况是:放置之后飞线全都乱掉,或者铜皮连接到错误的网络那里。核心的缘由是:原板的网络名(就像5V_OUT)与新板已经存在的5V_OUT直接出现短路状况。方案的对比情况是:方案A(添加前缀)适宜两个模块独立进行供电,方案B(不更改名字直接连接)适用于同一电源树。取舍的逻辑是:模块之间有隔离或者是不同电压的选择A,同源共地的选择B。我通常使用A,防止意外短路发生。

    硬步骤三:清除残留位号锁存

    在放置复用块之后,马上执行“工具”这个操作,接着向“复位重复位号”进行点击,范围选择“当前文档”,还要勾选“仅处理未锁定元件”。随后运行“设计”方面的动作,再向“类生成”进行点击,参数选择“按前缀分类”,阈值设定为3。最后呢,进行“报告” 至“违反规则检查”的操作,仅仅勾选“Component clearance”以及“Net Antennae”。

    【新手需防】高频率呈现的全然报错:“未知引脚”或者“悬空铜箔”。完整的化解流程:其一,开启“消息”面板,记录下全部报错坐标。其二,切换至“PCB列表”,筛选出“锁定状态为真”的项目,全部选中并解锁。其三,再度运行“复位位号”,这回勾选“强制更新锁定元件”。其四,移除报错坐标周边0.5毫米范围内的孤立过孔。其五,保存之后关闭接着重新打开工程,报错便会消失。整个流程10分钟即可完成。

    特意需要说明,此方法不适用于那种如背板加上子卡这般的多板互联系统,原因在于位号偏移会将背板映射关系打乱。替代的方案是,改用处于“多板项目”之下的“层次化复用”,每个子板单独进行编号,不设置偏移。

    会让你觉得头疼的复用场景,你认为还有哪一个呢?欢迎在评论区留言,要是点赞超过100,我就会推出下一期的《差分对复用避坑手册》。

  • EDA工具对比哪个好?实测DC和Genus,三步避开所有坑

    我亲自进行了Synopsys DC 2019.03以及Cadence Genus 19.1的实测,还遭遇了时钟约束传递丢失的状况,就新手而言,只要依照步骤逐一操作,便能够轻易躲开这类常见问题。这两款工具在综合阶段都各有特点,我持续运行了一周的脚本,将最棘手的三个实际操作要点都梳理清楚了。

    时钟约束怎么设才不踩坑

    1. 操作的路径是,在DC当中运用create_clock -period 10 [get_ports clk],在Genus里面同样这个命令,不过要注意-period的单位是ns。参数是固定的,时钟周期10ns对应的是100MHz,输入端口的名字必须是clk。初涉者需避开陷阱,报错显示“Can’t find port ‘clk’”,其原因在于端口名的大小写并非保持一致。快速的解决方式为:首先运用get_ports clk进行模糊匹配,以此来确认真实的名字,随后再实施替换。

    时序报告到底怎么看

    2. 执行生成报告操作:针对DC输入report_timing -max_paths 1000 -delay_type max,针对Genus输入report_timing -to [all_outputs] -max_paths 1000。菜单路径方面:在DC的Timing所对应的Report Timing窗口里勾选“unconstrained paths”标记。刚刚接触的新手要避开容易出现的错误情况是,报告之中全部都是“NA”或者“?”。核心产生的原因则是,没有完成compile这个操作就生成了报告。需要先去执行compile_ultra(DC)或者syn_opt(Genus),之后再重新运行。

    面积和速度怎么取舍最划算

    3. 重要的参数有着最佳的推荐数值,其中面积的目标是设定为0.9,这是相对于默认的1.0而言的。其原因在于留下来10%的布线剩余空间,以此来防止在后续的布局过程中,走线出现拥挤堵塞的情况,进而导致时序出现崩溃的状况。这里存在着一组就两种实操方面的方案进行对比的情况,其中方案A是采取激进的压时钟方式,也就是用set_clock_uncertainty 0.1,这种方案适合频率大于或等于500MHz的设计情形 ;而方案B是采用保守的节省面积方式,即通过set_max_area 0加上set_clock_uncertainty 0.3来达成,此方案适合那些低功耗意义下的物联网芯片。关于取舍的逻辑是这样的,要是时序余量处于一种紧张的状态,那么就选择A方案,要是芯片成本对其敏感的话,那就选择B方案。新手要避开那种,面积随着优化反而越来越大的,这种相反的现象。其原因在于,没有把自动插入测试逻辑给关掉,需要用set_test_hold 0来强制性地关闭。

    高频报错一站式解决

    报错完整具体为,“Error”,即“无法在 ’work‘ 库中找到 ’TOP‘ 设计”,此情况为“DC – 009”。处理步骤如下:首先,核查link_library的设定情况,其必定得涵盖“*”;接着,运用list_designs去确定当下读入的顶层名称;然后,要是显示为空的话,那就借助read_verilog -netlist top.v再次进行读取;最后,执行link操作之后再运行check_design。这套流程我连续验证过三次,每次都管用。

    混合信号芯片,或者门数超过50万的大模块,本方法并不适用,在那种场景之下,DC和Genus的分布式综合模式更具合适性。替代办法是:分拆成为子模块,每个模块单独完成约束之后再进行拼接。欢迎于评论区抛出你所遇到的奇葩报错截图,点赞数量超过100,我会继续去扒后端布局布线对比。

  • PCB编辑器快捷操作新手避坑 三步搞定快捷键设置

    有本人亲自进行测试的Altium Designer 24.0.1,经历过在使用快捷键保存后出现失灵状况以及切换层时软件直接卡死这种情况,对于新手而言,只要顺着操作步骤一步步去做,便能够较为轻松地躲开这类常见的问题。

    PCB快捷键自定义

    启动AD软件,之后,点击右上角处的齿轮图标,进而进入Preferences,于左侧导航栏寻觅到System下的Shortcuts,在搜索框键入“Interactive Routing”,选中相应命令,在右侧按下你打算设置的按键,像我惯常用F2当作走线启动键,接着点击Assign。除此之外,建议把走线的默认宽度设定为0.254mm(10mil),其缘由在于,这样能够适配大多数1oz铜厚板厂的制程能力,要是过细就容易出现断线情况,倘若过粗则会挤占相邻走线的空间,并且信号完整性也较为均衡。

    【新手需避开的坑】常见出现的报错情况为:在按下按键之后,会提示“Shortcut already assigned to…”。其核心的原因在于,该按键已经被其他的命令所占用,举例来说,F2有可能默认状态下是用于缩放操作的。能够快速解决问题的办法是:首先记下产生冲突的命令,接着点击Clear来清除原本的分配设置,或者去更换成另外一个组合键,像是Ctrl+F2。千万不要直接去覆盖Space、Tab这类属于系统级别的热键,不然的话,就连放置过孔都会变得混乱不堪。

    快捷键批量导入导出

    当进行换电脑这种行为或者着手实施重装系统这一操作时,并不需要逐个去重新开展设置。在名为Preferences – Shortcuts的界面的右下角位置,点击Export按钮,将其保存成为.ini格式,把名称命名成像“my_shortcuts_2026”这样的形式。到新的电脑上同样进入到该界面,点击Import来加载文件,接着再点击OK就能够一键实现还原所有自定义这个目的。整个的这一过程所耗费的时间不到30秒,比起通过手工方式进行重设节省下了大把的时间。

    【新手需避坑】导入完毕后,有没有发现快捷键根本就完全没有任何变化?其核心的原因在于,新旧软件版本并非一致,就好比将AD20的配置导入到AD24中,会出现格式不兼容的情况。那快速解决的办法是什么?就是用记事本把导出的.xml文件打开,查看第一行那个版本号,然后手动把它改成当前软件版本对应的号码段;又或者仅仅只导入“User”节点之下的常用命令。在导入之前,一定要务必先Export一份默认配置用来做备份,不然恢复起来将会非常麻烦。

    两种切换层方案对比

    进行多层板布线期间,快速更换信号层属于高频操作。方案一是按下数字键2切换至底层,按下3切换到顶层。方案二则是运用小键盘的+/-键循环更替所有电气层(顶层→内层1→内层2→底层)。方案一具备直观快捷的特点,然而要是你习惯借助数字键去调整线宽(例如1设定为0.2mm,2设定为0.3mm),便会直接产生冲突。方案二不占用数字键,但需要记住循环方向。

    新手避坑】取舍逻辑清晰得很:简单双面板仅有顶层与底层,使用方案一效率是最高的,手指无需离开主键区。四层以上并且需要频繁切换内层电源层,推荐方案二搭配Shift加数字键能直接跳转到指定层。本人实际测试在6层板设计当中,用+/-键切换并配合按住Shift加4切到内层2,比单纯数字键要顺手许多,也不会错误修改线宽。

    快捷键保存报错一站式解决

    要是你在完成快捷键的相关设置之后,对软件进行关闭操作,并再次将其打开,却发觉所有自定义内容全都不见了,而且还弹出了“Access violation at address 0x00000000”这样的报错提示;那先不要着急着去进行重装操作。强行关闭AD,寻得打开路径C:Users你的用户名AppDataRoamingAltiumAD24Preferences,将User.xml文件移除,重启该软件后再度设置一回快捷键,而后正常关闭软件便可使之固化,整个过程在五分钟之内完成。

    【新手避开陷阱】这个出现报错的关键原因是,用户配置文件出现损坏,或者存在写入权限不足的情况。快速进行解决的办法是:删除User.xml之后,要是依旧报错,右键点击AD图标,选择“以管理员身份运行”,接着重复上述删除再重新设置的步骤。注意在删除之前,复制一份User.xml用来做备份。要是仍然失败,进入注册表,删除HKEY_CURRENT_USERSoftwareAltium下的对应项(此仅限高级用户,误删有可能影响其他设置)。

    此方法主要适用于Altium Designer 20以及超过这个版本的情况。要是你使用的是Protel 99SE或者更早的PADS,快捷键设置的方式全然不一样(多数是借助修改.mcr宏文件或者命令行)。有替代的方案:直接采用软件默认的快捷键(像F2用来走线、+/-用于切层),亦或是去购买带有编程宏的鼠标,将常用的操作录制到鼠标的侧键上。你在实际的板子布线时还碰到过哪些快捷键方面的坑呢?欢迎在评论区分享一下,大家一同来避雷。