裁掉硬件部门,老板现在后悔了!
这个冬天异常寒冷,就在上星期,公司的高层领导召集各个部门的经理,开完了2025年度总结会议,在会议室里面,CEO老李盯着财务报表的赤字,眉头紧锁。为啥老李这么愁?那是因为,他在Q3的时候决定裁掉公司大半个硬件研发部门,理由是,“硬件研发成本高,周期长,不如专注于软件服务”。可就在刚刚过去的Q4,他看见了友商凭借着一款高性能的AI服务器抢占了市场,然后手指无意识地摩挲着那台被退回来的样机,他可能意识到自己犯下了一个致命的错误!一、裁员决策其实,老李的决策也不是毫无依据的,过去的三年,公司通过软件定制这种方式,年营收增长超过30%,但硬件部门因为反复修改设计以及供应链管理等问题,成本超支了近20%。财务部门在季度会议上直言,“硬件打样成本超支比较大,尤其是电路样品,一块就要6000元,还不如买现成模块!”裁员当天,老李还跟硬件主管陈工说道,“老陈,你的能力公司是认可的,但公司要生存下去,不得不忍痛砍掉烧钱的部门,祝你以后顺利啊!”老陈没有说太多的话,安静地把属于自己的办公物品装箱打包好,然后看了一下桌面那台服务器样机,原本计划下个季度推出市场的,现在估计上市无望了。二、市场变局在裁员了两个月之后,公司接到了一个大订单---为某个AI企业定制服务器,软件团队评估的时候信心满满,但却在硬件环节栽了跟头,因为客户要求支持200TOPS算力的AI芯片。要承载这种算力的AI芯片,电路板基本上都是超高层的,对线宽线距/厚径比/高密度布线/信号完整性,等等,都有非常高的要求。“李总,咱们之前合作的电路板厂商做不了超高层板(64层),除非你增加预算找上市大企业,但上市公司也未必接受我们的打样需求”,采购经理擦着汗汇报。老李自己打开行业网站搜索,发现能提供这类服务的厂家虽然有,但大多数都是价格高且交期漫长,直到他看见了嘉立创。。。他打开嘉立创官网首页,赫然写着,“1-64层PCB打样,24小时出货免加急费,HDI盲埋孔重磅上线”。(老李这才想起硬件老陈之前为了降本,曾研究过嘉立创的产业链,但当时自己感觉上不靠谱,最终没有采纳,没想到,如今成了救命稻草。)三、技术反噬与嘉立创的对接也不太顺利,对方的工程师在电话里说,“你们的设计文件,电源和信号层间距过小,如果按照这个来做,导通率最多70%。”老李这才想起,以前硬件老陈曾经提出过类似的电路分层优化方案,但最后被他以“样品周期太长”为由否决了!更棘手的是生产制造环节,由于超高层电路板的钻孔需要配合特殊工艺,就算老李可以“加钱加急”,客服也是礼貌回复,“我们的激光钻孔可以实现3mil最小孔径,但要客户提供完整的可制造性设计(DFM)报告”。老李开始慌了,“DFM报告,,,啥玩意儿?”,他突然想起硬件老陈离职之前留下的文档资料,然后有些报告和设计指南里面,用红色标记出十几处需要优化的地方。(嘉立创64层电路板实物,PCB厚度)四、竞品冲击就在公司为了硬件还在焦头烂额之际,竞品公司开始召开新品发布会了,他们推出了新款的AI服务器,不仅通过了严苛的可靠性测试,性能提升之余,散热效率比传统设计提升了30%。(发布会现场,没想到竞品友商还与特意宣布,采用的是嘉立创一站式服务平台,机械结构设计与电子制造同步,短时间内就完成了样机制作的全流程。)老李看着发布会那台流畅运行的机器,如今,竞品公司凭借着这款产品,拿下了当地政府的智慧城市项目,而自己的公司却因为硬件短板,被客户踢出了供应商名单。五、后悔救赎最近,老李终于联系到硬件老陈了,电话那头的声音依旧低沉且温和,“李总,当初公司裁掉硬件,我理解公司的难处,但硬件创新不是模块东拼西凑,而是要从原理设计到批量生产的全链条能力。”老李听着陈工的描述,目光落到了办公桌上那台被客户退回的AI服务器样机,样机的电路板边缘有一道细小的划痕,那是硬件陈工的团队最后一次测试时留下的,他们曾用这道划痕标记过,这是目前最优的设计方案。如今,老李在重新组建硬件团队,虽然硬件老陈已经不太可能回来,但公司依然要继续往前发展,亡羊补牢,为时未晚!
这些嵌入式电路板,做得实在太好看了!
先来欣赏一些高颜值电路板上面颜值那么高的电路板,全部都是沉金工艺制作的,那,到底啥是沉金工艺呢?什么情况下要用沉金呢?沉金工艺贵吗?一、什么是沉金工艺?沉金工艺,它的专业学名叫化学镀镍金工艺(Electroless Nickel Immersion Gold,简称 ENIG),主要是通过化学沉积的方式,在电路板的铜焊盘表面,镀上镍层与金层。镍层与金层的复合结构形成功能互补:底层(镍层):厚度5-15μm,主要用来隔绝铜与金的直接接触,避免形成铜金合金导致导电性下降,同时为金层提供稳定的附着基底,增强镀层的耐磨性和抗冲击性。表层(金层):厚度极薄,一般为 0.05-0.2μm,覆盖镍层即可。金具有优异的导电性、抗氧化性和化学稳定性,能确保电路板焊点在长期使用中保持低接触电阻,且不易被潮湿、酸碱环境腐蚀。二、为什么要用沉金工艺?在生产制造电路板的时候,一股脑地选择沉金工艺是“跟风”操作吗?当然不是!沉金工艺具有不可替代的应用价值,主要可以从以下四个维度展开。(1)提升耐腐蚀性和导电性电路板在使用过程中,很容易会被空气中的水分或灰尘等物质氧化或者腐蚀,从而导致电路断路或接触不良,沉金工艺通过“镍层隔绝+金层保护”的保护机制,能够有效阻止铜箔与外界环境直接接触。有实验数据显示,经过沉金工艺处理的电路板,在在 85℃、85% 湿度的环境下老化测试 1000 小时后,接触电阻变化率仅为 5%-10%,而铜箔未经处理的电路板,电阻变化率可达 30% 以上。(2)保证低接触电阻,稳定电气性能对于需要频繁拔插的连接器(如手机充电口或USB接口),或者高精度信号传输电路(如CPU插槽),元器件与电路表面接触的电阻稳定性,会直接影响设备的性能和信号传输效率。由于金层具有极低的电阻率(2.4Ω · m),在光滑平整的金层表面,初始接触电阻通常低于10mΩ,在长期的使用中,也不会因为磨损和氧化,而导致接触电阻大幅度上升。(3)满足高精度焊接的要求电子产品的元器件密度越来越高,相邻焊点之间的间距越来越小(比如手机主板焊点已降至0.3mm以下),因此对焊接的精度要求也越来越高。由于金层与焊锡的接触浸润性比较好,在焊接的时候,焊锡能够快速且均匀地铺展在焊点表面,从而减少了虚焊和假焊的风险。此外,沉金镀层的厚度均匀性很高,误差可以控制在±10%以内,因此不会出现喷锡工艺中常见的“锡珠”或“锡桥”问题,降低了焊接不良率。采用沉金工艺,可以把电路板的焊接不良率,从喷锡工艺的1.2%降至0.3%,每年可以节省返工成本数十万元。(4)适应无铅焊接,符合环保要求全球环保法规(如欧盟RoHS指令)对电路板的铅含量都会有所限制,无铅焊接已经成为电子制造的整体趋势,无铅焊接熔点217℃比有铅焊接183℃要高,对电路板的表面工艺有一定要求。喷锡工艺在高温下易出现锡层熔融不均的现象,而沉金的镍层和金层耐高温性强,即使在无铅焊接的高温环境下,也能保持镀层完整,不影响焊接质量。三、沉金工艺的具体流程?如上图所示,沉金工艺的流程还是比较复杂的,上图列出了一些关键节点,包括:预处理阶段-->沉镍阶段-->沉金阶段-->后处理阶段-->成品检验。每个节点阶段都可以进行详细展开,但由于篇幅有限,这里就不再阐述,如果想了解更多关于PCB电路板的制造细节,可以看一下以下书籍。四、沉金工艺的成本?这是很多工程师或者老板比较关心的部分了,沉金工艺有这么多优势,使用沉金工艺来制作PCB板,会不会很贵?实话实说,使用沉金工艺确实会比喷锡工艺要贵,但是,沉金工艺所带来的优势,不是喷锡工艺所能够比拟的!影响沉金工艺成本的关键因素,主要有:金层厚度、电路板的面积与批量、废水环保处理成本、原材料损耗,等等。比如,对于金层厚度,需要根据产品的实际应用场景来确定,普通消费电子(如手机主板):金层厚度 0.05-0.1μm,可满足基本需求,成本较低;高精度设备(如医疗仪器):金层厚度 0.1-0.2μm,需更高的耐腐蚀性,成本相应上升;若金层厚度超过 0.2μm,成本会大幅增加,但性能提升有限,这就属于 “过度处理”了。现在,高多层PCB的打样成本也非常低,在嘉立创6~64层板打样,沉金免费加厚至2u",这项举措能够大大降低企业的研发和生产成本。嘉立创的32层高多层板是在2023年上线的,经过两年多的发展,现在64层高多层板也量产上线了,厚度突破4.8mm,满足更加复杂的产品场景需求!很高大上的包装盒!另外,稍微剧透一下,根据嘉立创的内部消息,将会在11月份上线盲埋孔,盲埋孔相比起传统的通孔工艺,可以较大提升布线密度,优化信号完整性以及改善结构强度,值得工程师们关注!五、总结概括沉金工艺最主要是优异的耐腐蚀性,良好的导电率,稳定的电气性能,以及高精度焊接优势,这种工艺已经成为高端电子产品制造的核心技术之一。随着技术发展,沉金工艺将会不断优化,例如无氰沉金技术的应用,等等。对于电子制造企业,了解沉金工艺的特性,结合自身产品特点而选择合适的表面处理方案,是提升产品竞争力的关键。
嵌入式码农,如果转行去搞硬件,到底有多难多复杂?
“搞嵌入式硬件这么复杂,技术要求那么高,工资是不是很不错?”,这是一个老生常谈的话题了。有一定社会阅历和工作经验的工程师都知道,嵌入式硬件开发是一项非常复杂且繁琐的工作,我个人觉得硬件设计比嵌入式软件设计,更难更复杂。这里展开一段简单的历史,其实在十几二十年前,我们很少听说嵌入式软件或者硬件的岗位,基本上都统称为“电子工程师”,也就是从事这个岗位的人员,硬件和软件的知识技能都要有所掌握。刚刚成为社会牛马的前两年,我在深圳一家电子产品公司从事工程师助理一职,也就是啥活都要干,比如:硬件画板,备料焊接,编写代码,调试样机,测试整改,结构对接,生产指导,售后维修,出差到客户现场挨批,等等。正是这一段牛马经历,我完整地体会到了电子产品背后一整套设计与生产流程,一款表面上看似简单的硬件产品,其背后涉及到非常多的流程与环节,并且每个环节都有对应的精细化分工岗位。嵌软工程师主要的工作内容,基本上是coding、写bug、写技术文档。而硬件工程师的职责就比较多了,包括:原理图设计,PCB-Layout,物料采购,样机制作,测试验证,结构对接,合规认证,生产导入,等等。每一项工作都复杂且繁琐,特别是在生产型企业里面从事硬件研发工作,必须遵循企业内部已有的流程且不容出错,因为做硬件,出错后的整改成本实在太大了!(吃亏所花出去的钱,都是沉甸甸的学费!)原理图设计原理图设计是硬件研发最靠前的实施阶段,它是后续大部分工作的前提和依据,所以,原理图的设计和评审非常非常重要,原理一旦出错就会牵一发而动全身,甚至有可能,活白干了!根据客户需求设计出合格的原理图,需要工程师掌握一系列技能,比如:物料选型、原理图库设计、模块复用设计、数字/模拟电路设计、电路仿真、芯片Pin Map设计,等等。PCB-LayoutPCB-Layout 是在原理图评审通过之后开展的,目的是把原理图转换为电路板图纸的形式,要在电路板图纸上面把元器件用一条条线路连接起来(俗称:拉线布线)。我觉得PCB-Layout是一项表面看上去简单,但实际上内里大有学问的工作,有些公司甚至会专门设立【PCB-Layout工程师】一职,只做PCB布线和外发打样,不参与其他硬件研发工作。在这里,我还想详细地展开描述一下,PCB-Layout其实是一项“经验+规范+仿真”并重的工程活动,这项活动要求工程师必须掌握以下6大技能:①熟练操作EDA设计工具、②叠层与阻抗设计、③信号完整性(SI)和电源完整性(PI)、④电磁兼容EMC/EMI规则、⑤可制造性(DFM)和可测试性(DFT)设计、⑥供应链与版本协调。举个例子,第③点电源与信号完整性是电子系统可靠性的“双支柱”,前者保障“供电稳定”,后者保障“信号准确”,这两者是确保电路稳定运行的核心指标。PCB-Layout工程师可以通过合理地选择和应用各种PCB设计工艺,来有效降低电源噪声和减少信号干扰,从而优化信号的传输质量。比如,要确保电源稳定噪声少,可以采用“独立电源平面和接地平面设计工艺”、“电源分隔与隔离工艺”、“去耦电容布局与焊接工艺”、“铜皮加厚与散热工艺”。再比如,要保证信号完整不失真,可以采用“阻抗控制布线工艺”、“差分信号布线工艺”、“信号分层与隔离工艺”、“信号回流路径优化工艺”、“终端匹配工艺”。也可以在布线的时候采用一些综合保障工艺来确保电源稳定和信号完整,比如:PCB叠层优化、盘中孔、沉金,等等。PCB-Layout 完成并且审核无误之后,就可以导出PCB的生产制造文件,外发到板厂进行打样了,这里可以选择嘉立创,主要是打样成本非常低,能省不少钱。(顺带提一下,嘉立创现在1~6层板都可以领免费打样券,高多层PCB的打样成本也非常低,免费使用盘中孔,6~32层板沉金免费加厚至2u",这些举措在保证PCB电路稳定性的同时,能够大大降低企业的研发和生产成本。)PCB相关的学问足以写一本书,推荐这本《从设计到量产-电子工程师PCB智造实战指南》,感兴趣的工程师可以点击以下链接了解。嘉立创推出PCB新书:50万字实战干货,从设计到生产少踩坑物料采购和样机制作在PCB打板期间,硬件工程师就可以进行物料采购了,板厂制造PCB一般需要好几天时间,在这期间准备测试样机的物料,等PCB板子到位后,就可以进行PCBA样机制作了。物料采购也是一个技术活,公司如果有强大的供应链,那可以很容易找到合格的物料,但有些小公司,只能通过零售渠道去购买物料,物料的质量会直接影响到首版PCBA样机的稳定性和可靠性,有时候很多问题都是因为物料不合格而引起的。测试验证和结构对接样机制作完成之后,硬件工程师就可以进行测试验证和整改了,测试验证的过程会涉及方方面面,主要是硬件相关的测试,比如:电气性能、可靠性、电磁兼容、等等。首版的PCBA制作出来后,就可以跟结构的3D模具进行对接了,这个阶段通常会称作T0样机,T0样机很重要,它可以发现电路板和结构上很多设计不足的地方,嵌软此刻也完成一部分开发了,也可以参与到样机测试环节里面去了。工程师们会把T0样机发现的问题进行整理,然后沟通看看这些问题是在电路解决、固件解决、还是结构解决比较合理,这时候一般会开始计划进行T1样机制作,有时甚至会进行T2样机制作。合规认证和生产导入经过多轮样机制作和测试验证,硬件产品该整改的问题都基本上处理完了,已经可以达到合规认证的状态,对于不同市场要求的产品,一般都会外发到第三方认证机构进行认证,认证通过后会贴上对应的认证标签。如果认证不通过,硬件工程师还需要根据第三方认证机构提出的建议进行硬件整改,以达到认证要求。以上所有工作都完成后,就可以进行生产对接和导入了,但其实生产对接工作在硬件研发阶段就已经介入展开,这里指的生产导入,是把生产资料进一步导入到生产流程系统里面,以便制造部的同事进行硬件小批量试产。在小批量试产阶段,还极有可能发现一些细节问题需要整改,这些都是小修小改的工作,但硬件工程师也不能忽视,因为有可能一个小失误,就可能造成大货生产时的出现巨大的错误。从以上的工作内容可以看出,硬件工程师需要高度参与到整个研发与生产活动里面,而且需要对接的部门人员非常多,每个环节都不允许出现纰漏,这对硬件工程师的要求是非常非常高的。但是,纵观整个人力资源市场的薪资情况,硬件工程师的平均薪资水平似乎比不上软件工程师,这会给很多人造成一种刻板印象,硬件工程师就是一个苦x岗位,钱少破事多。但其实,硬件工程师是一个高度依赖工作经验的岗位,对比起软件岗位的流动性和不确定性,硬件工程师似乎随着年龄和经验的增长,越老越吃香,岗位也相对稳定很多。如果是你,你会选择从事软件编程,还是嵌入式硬件设计?欢迎一起探讨~
嵌入式软件工程师,被深夜的硬件调试击碎了傲慢。
春节假期后的第二天,现在已经是凌晨三点,办公室里面的日光灯管在工程师的头顶嘶鸣着,鼠标的点击声和键盘的按压声,在不断地相互辉映着。(说好的,春节假期回来后,两周内进行产品小批量生产,然后交付给客户。)我揉了揉疲惫的双眼,盯着示波器上扭曲的信号波形,第28次按下了Debug Tools上面的固件烧录按键,心里面期待奇迹发生。某台样机的LCD显示屏,显示图像时依然存在撕裂现象,但作为一名饱经风雨的嵌入式软件工程师,有时候我却信奉,“硬件问题都是玄学”,。。。图源:网络。“老温,用最初制作的工程样机,你的代码确实是通过了单元测试。”,硬件组的林工,他把出问题产品的硬件测试报告推到我面时说道。“但是你看,换了试产供应商后做的样机,这颗芯片的CLK时钟线,在穿过六层板的第三信号层时,就会串扰DDR的信号。”我看着他用手指点在那些蝌蚪般的蛇形走线上,疲倦的大脑突然意识到:阻抗和信号完整性,我为啥一直没有注意到这个排查方向?!“软件调试了数十遍,结果,问题居然出现在硬件制作工艺的差异上?”,望着窗外漆黑的天际,我苦笑一声。作为一名嵌入式软件工程师,平时都习惯了在代码里面编织各种逻辑,却从未像此刻这般渴望,渴望窥探电路板下铜箔与树脂的微观世界。三天后。。。“老温,来试试这个新样板。”,林工扔来一款新的样机,焊盘在太阳的照耀下泛着金色的光芒。我问:“林工,这次改版跟前两天调试的,有啥不一样吗?”林工说:“我重新改进了DDR和CPU相关的布线,用了嘉立创的盘中孔工艺,并且重新进行了阻抗匹配,你再试试”。--- 编译、烧录、按下RESET按键,一整套常规动作下来,这一次,“奇迹”发生了,新样机运行无误,图像照片终于可以完美地显示在LCD屏幕上面。“为何会如此神奇,林工,可以详细说说你的改动吗?”,我问。林工说:“我问外包商拿了PCB源文件,发现他们Layout是用常规的BGA扇出布线方式,导致PCB上面有较多的过孔侵占布线空间。”“他们为了省成本,还换了PCB打样的供应商,又没有注意高速信号的阻抗匹配,所以就导致了这次问题!”林工接着说道,“我在他们的基础上,把BGA封装的芯片改成嘉立创盘中孔了,也换了打样供应商,在嘉立创做6层板打样。”引用 CanMV 的PCB渲染图我来兴趣了,接着问:“为啥盘中孔会有如此大的作用?”。林工继续耐心解释:“当常规的过孔侵占了30%的布线空间,我们可以考虑用盘中孔工艺,0.2mm的树脂塞孔既能保持焊盘完整,又让阻抗连续性提升了18%”。“噢噢,原来如此,又学到了。”,我似懂非懂地点了点头。“那你这次又沉金又盘中孔的,岂不是成本很高?”,我接着说。林工笑着说,“你这写代码的不懂,在嘉立创,6~32层打板时可以免费使用盘中孔+沉金加厚工艺,6层板还可以直接用免费打样券,成本又进一步降低”。“我比较过价格,10cm*10cm的6层沉金亚黑PCB样板,在其他厂家光是沉金+盘中孔的工艺费用,就接近400!”2~6层沉金PCB,领券免费打样“反正样板便宜,我现在先多整几块给你,你多验证几遍,没问题就可以发布固件进入小批量了。”,林工最后说道。我看着桌面上一堆金灿灿的PCB和样机,脑袋突然间陷入了思考,思考起嵌入式软件和硬件之间的哲学关联。在嘉立创的高多层PCB设计指南里,我发现了硬件电路板与软件分层架构,有着惊人的相似性:- 电源层采用铜块挖空技术,如同代码中的内存池管理。- 差分信号层错位堆叠设计,堪比多线程的锁机制。- 混合介电常数材料应用,像极了软件里的缓存分级策略。- 盘中孔像极了代码里的“指针跳转”,绕过堆栈溢出风险;- 六层堆叠堪比分布式系统的分层架构,让电源、信号、地各司其职;- 沉金工艺则如同严密的异常处理机制,将氧化与虚焊的概率收敛至零。如今,我依然保持着嵌入式软件工程师的“傲慢”,但工位上的《高速PCB设计秘籍》已经逐渐开始与往年的《C++高级编程》并驾齐驱。我在想:“真正的嵌入式全栈工程师,应该既能用代码驯服晶体管,也能让铜箔的纹路吟诵出最优的算法。”我转动板卡,让阳光在沉金焊盘上折射出一道金色光芒,在这个时代,最优雅的编程语言,可能就隐藏在1oz铜厚的微带线里。 感谢阅读,愿各位工程师在未来的日子里,信号完整,代码无Bug!图文无关,只为并茂
2025年,抽屉里的嵌入式开发板,早就已经写满了岁月的痕迹!
2025年了各位工程师老铁,2024的年终奖能拿多少?回想一下自己,从事电子开发已经13个年头,却还一直还停留在资深菜鸟水平。那一年刚上大三,我看完了“郭天祥新概念51单片机”里面的那封“鼓励信”,脑子就像打了鸡血一样,还有“杜洋Studio”,总是做一些有趣的电子设计来吸引我,于是,我从此掉进了电子开发的坑。当年用来入门学习的那一块 C51 开发板,早就已经布满了岁月生锈的痕迹,为了从 C51 过渡到 STM32,我还买了正点原子的 Mini-STM32 ,啃寄存器学习那个苦,至今难忘。(岁月生锈的痕迹)单片机入门后,我在2015年开始学习嵌入式Linux开发,当时是用天嵌科技的TQ2440开发板,把韦东山老师的一二三期视频都过了一遍,现在嵌入式Linux入门都改用 NXP 的 i.MX6ULL 了,网上可以找到一大堆入门资料。曾经阅板无数的我,有着十多年丰富的点灯经验,并且还熟练掌握各类 MCU/MPU/SoC/Wi-Fi/BLE 芯片的开发环境搭建可能是因为有过几年产品经理的工作经历,我除了会关注开发板的硬件资源和配套资料之外,还会不自觉地关注板子本身的设计美感(颜值)。对比起十几年前,我观察到现在很多 To C 开发板的设计趋势就是:从“大而全”逐渐过渡到“小而美”,板子越做越小,接口越做越丰富!不知道各位工程师老铁有没有一种感觉:每当看到一款高颜值开发板的时候,总会有一种想把它“搞到手”的冲动。(反正我是有)(感谢每一位PCB Layout工程师,为了在狭小的空间里面塞下尽可能多的元器件,贡献了不少头发,每平方厘米的PCB上面,都写满了工程师的苦与泪。)我们不妨从 C 端产品设计的角度来分析一下,为啥现在很多开发板厂家,都喜欢把板子做成“小而美”的形式?1、节约成本我们都知道,很多开发板使用者有时候只是想验证某个功能模块,验证出结果之后开发板就放一边了,这样会造成其他没用到硬件模块极大的浪费。而如果把开发板做成“小而美”的形式,不仅可以最大程度地降低开发板厂家的生产成本,还可以为很多开发板使用者节约学习费用,一举两得!2、简洁大方野生钢铁侠稚晖君,把“小而美”的产品设计理念玩到极致,有时候产品设计得太复杂,对用户来说也是一种累赘和负担。现在年轻人不仅追求开发板的配套资料要全面而免费,还追求开发板的颜值是否足够高,高颜值的开发板一入眼帘,马上就会激发年轻初学者对其进一步了解的兴趣。3、易于扩展在节约成本和简洁大方的背后,随之而来的是易于扩展,这个很好理解,因为板子做得小巧,它不仅可以轻而易举地集成到现有的硬件产品上,还可以帮助我们快速进行前期的方案验证。4、技术迭代(这里得展开细说一下)电子工程师都知道,随着科技的发展进步,各种MCU/MPU/SoC芯片也在遵循摩尔定律的发展,在有限的晶圆面积下封装更多的晶体管,体积越来越小,功耗越来越低,性能越来越强。换句话说,生产制程和封测技术的进步,可以让产品的硬件电路板,在有限的面积下集成更多元件器和芯片,从而对外提供更加丰富的功能。就比如我手上的这块RK3566开发板,它集成了CPU/DDR内存/EMMC存储芯片,集成了HDMI/EDP/MIPI多媒体接口,集成了USB/DEBUG/TF卡/Wi-Fi&BT模组, 等等,而它的面积仅仅只有 70mm * 45mm !PCB面积:长75.02mm * 宽45.04mm经过测量,实物尺寸精度控制得很不错,跟设计尺寸几乎没有相差,我猜你们肯定想知道:为什么工程师可以在 70mm * 45mm 的电路板面积下集成那么多的器件?我在网上找到了它的开源资料,发现它用的是 8 层电路板设计,这8个层分别是:TOP1 / GND2 / SIG3 / VCC4 / GND5 / SIG6 / VCC7 / BOT8以 CPU 和 DDR 内存为例,它们都是BGA封装并且要在顶层 TOP1 进行贴片,两者的信号线分别布置在 TOP1 / SIG3 / SIG6 这三个层,BGA焊盘通常会使用扇出布线的方式。但是,当我打开它的 PCB 2D 图的时候,发现工程师直接在CPU的BGA引脚焊盘上面打了大量的过孔,然后从顶层 TOP1 直接布线到信号层 SIG3 或 SIG6,工程师管这种工艺叫“盘中孔工艺”。(直接在 PCB 实物上不好看出是否使用了盘中孔,本来想把PCB逐层拆解分析的,但无奈技术不到家,折腾了很长时间都没能把PCB的逐层拆开)工程师在对高密度小面积 PCB 进行 Layout 的时候,使用盘中孔工艺,可以节省出大量的布线空间,从而降低布线工作量,板子上如果采用了BGA封装的芯片,就可以直接把线拉出,而不需要采用扇出布线的形式。清晰的白色中文丝印!均匀的黑色阻焊油墨!厚实的沉金工艺焊盘!回想起十几年前,每次我做硬件 DIY 样品,PCB打样至少50起,亚黑油墨是要收费的,盘中孔很贵,沉金工艺更不舍得用!而随着电路板生产制作工艺的提升,现在嘉立创可以领券免费打样,油墨选择丰富,样品也可以使用沉金工艺,而且免费加厚至2u''。上面展示的那个RK3566开发板,别看它的8层PCB用了大量的盘中孔,(还以为会收费很贵),但其实,在嘉立创用这种工艺是不收费的。生产技术的不断迭代,确确实实给很多中小企业、硬件创客、高校大学生,降低了不少硬件成本负担,这是我这十几年来切切实实的体会感受。作为曾经的Coder,现在拿着产品经理的Title,做着项目管理的工作,回顾这十几年的开发板搞机经历,C 端嵌入式开发板的设计,已经不再是十几年前那样,把硬件设计完把教程写完,就可以交付给初学者使用。咱们年轻人在做选择的时候,既看颜值,也重内涵,开发板产品的外观设计都在不断地迎合年轻人的审美,力求做到,开发板摆在桌面也能成为一件艺术品!
嵌入式软件和硬件在互相扯皮,项目进行不下去了!
最近遇到了一件糟心的事情,交付给客户现场运行了不到一个月的硬件定制产品,开始出现无规律的停机现象,已经影响到客户的生产线运作,客户已经开始炸毛了。在跟客户进行了一通“友好”的电话沟通之后,我和嵌入式软件工程师李工,马上订机票飞往客户现场,一方面是为了安抚好客户情绪(现场挨批),另一方面是为了了解现场机器的运行情况。根据停机现象,我们怀疑是设备在运行一段时间后,程序出现了偶发性卡死,然后外部看门狗会对机器进行强制复位,复位后的设备虽然能重启进入界面,但机械结构会从运行态切换为停止态。(有些工业设备不允许上电就直接运行,需要重新人工开机)为了找出程序跑飞时的栈调用情况,李工启用了 cm_backtrace 组件,然后结合 addr2line 对程序跑飞时的栈调用情况进行了分析。因为停机无规律出现(后来发现,电机启动一瞬间出现的概率高一点),很不容易地抓取到两三次停机之后,我们发现程序有时候出现 HardFault,有时候出现 BusFault,并且跑飞的位置不固定。根据李工的经验,他怀疑是硬件设计的问题,于是打电话给第三方的硬件工程师陈工。。。我:“李工,你跟陈工描述一下调试情况。”软件李工:“ 陈工,我们现场排查了,程序跑飞的位置不固定,这种情况可能是某个硬件的可靠性或者是信号干扰影响导致的~”。硬件陈工反驳道:“这完全不可能,硬件出厂时都是经过测试的,测试时都没出过岔子,是不是你软件内存溢出或者逻辑处理得不好?”软件李工开始不耐烦:“我已经把内存可能溢出的地方处理了,不是软件的原因啊,~”硬件陈工急了:“这个硬件原理,我们以前也用过啊,也没出现过这种情况,你再找找软件原因。”。。。。。。(两人你一言我一语地争论起来,互不相让,反正都不承认各自的原因。)我:“这样,吵下去也无济于事,我先安抚好客户,回公司后我们马上复刻现场进行重新测试验证!”(从客户现场回到公司后。。。)现场出现问题的是一款工业三相电机控制器设备,采用 AC-220V 供电,里面有 AC 转 DC 电源模块,带有显示屏和联网功能,支持继电器输出和隔离光耦输入,支持 RS485 和 CAN 通信功能,设计框图如下。由于考虑到工业信号的实时性和多任务并发处理,李工设计嵌入式软件时,采用了 FreeRTOS 操作系统进行任务调度,而且还在外部SDRAM开启 Framebuffer 缓冲区,用来给GUI进行刷屏。为了减少内存溢出的风险,李工对各个数据缓冲区数组进行了优化,采用静态方式进行管理,并且每次写缓冲区时都进行数组范围判断,防止内存申请失败或者写缓冲区时出现数组越界操作。我们从仓库里面领取了新的硬件设备做测试,一开始怎么也没办法复现出现场的停机现象,验证过程一度陷入了停滞。。。但是,在设备连续不断电运行了差不多240个小时之后,事情似乎出现了转机,设备开始出现偶尔的看门狗复位重启,并且随着设备运行时间越长,出现得越来越频繁。(电机启动或者电磁阀吸合瞬间,特别容易出现)查找方向开始转到硬件设计上。。。这款产品为了方便取电,陈工在硬件内部集成了开关电源,用隔离变压器和整流桥进行 AC 转 DC 处理,PCB 整体布局和布线,据说已经充分考虑 EMC 和 EMI 。我们重新检测这台运行了“很久”的设备的各个电源回路,发现当设备运行了一段时间之后,3.3V 的电源回路上就会出现一些噪声,纹波忽高忽低,特别是在电机启动或者电磁阀吸合瞬间,电源噪声可能达到 2~3V 以上。(不是每次噪声都会导致MCU复位,说明这款MCU还是挺“扛噪”的。)这对于 3.3V 供电的芯片来说可能是致命的,电源噪声很容易造成MCU和内存芯片的数据错乱,造成程序莫名其妙地跑飞~有见及此,陈工马上开始对硬件进行整改,优化硬件的各路电源环路设计,将输入回路、辅助绕组回路和输出回路的环路面积做到最小,以增强抗干扰能力和减少对外的干扰。为了更好的信号完整性和降低电磁干扰(EMI)和减少层间耦合噪声,陈工决定改用 6 层板对 PCB 进行重新 Layout,我们在嘉立创领取了打样券,现在样品也能用沉金工艺了,而且免费增加至2u"厚度,盘中孔工艺也可以免费使用,并且不限制BGA封装。以前打个 6 层板的样品,打样费也是一笔不小的研发成本开销,现在嘉立创对于 6 层以上 PCB 的打样政策,工程费可以大降50%,对不少中小企业是非常大的利好。在关键的电源和存储器芯片上面,也替换为进口方案(贵就贵点,但胜在够稳),这几天布线完之后,应该会发出去打样,等样品回来之后我们再仔细进行验证。(事情虽然还没有结束,但总算看到了一点希望~)在开发过程中,客户一直抠成本,产品做出来之后,客户又急着在生产线上面使用,只是经过了基本的功能逻辑测试就交付了(没经过疲劳和可靠性测试),没想到,最后在客户现场还是出现了问题~整个过程,有几点是需要值得我去反思的:1、产品在客户现场出现了问题,电话和信息无法解决的时候,该到现场(挨批)还是要到,一方面为了降低客户损失,另一方面也为了安抚和挽留客户。2、处理好成员冲突,尽可能地不要让团队成员在客户现场发生矛盾,以解决问题为主要目的,团队成员才是解决现场问题的关键要素。3、不能为了降低成本而忽略了产品的稳定性,哪怕客户一直要求降低成本,也要管理好客户的预期,明确告知客户降本的风险。4、做硬件产品研发还是得坚守原则,该遵循的流程还是要遵循,该做的测试还是要做(哪怕后补,也要有测试数据),EMC和EMI,可靠性测试,疲劳测试,耐久度测试,等等。5、事情的进展,有时候看上去似乎停滞不前,但也不要马上停下来,(就好比,让设备空转运行也得让它转),没准过一段时间就会迎来转机~最后,希望这次改版能行,生活又给我上了一课!~
搞硬件的,都跟谁有仇?~
总体 vs. 硬件PCB:“尼玛,你又要改方案?兄弟我才把器件布局好。”总体:“原来的方案真的要变,考虑到散热,需要改封装。你现在的布局需要修改啊!”PCB:“这板子根本布局放不下去!”总体:“我自己放过了,可以的。”PCB:“你考虑过走线吗?这么布线需要多层板,要埋盲孔。”总体:“不能使用多层板,要考虑到成本。现在做板子的钱还不能够报销。”PCB:“You Can You Up, No Can No BB.”总体:“你不服,咋地?”机械结构 vs. 硬件结构:"如果车模上的结构可以随意变大,我难道不会给你搞个足够大的吗?"PCB:"如果电路元器件都像搭积木一样随便积极,我不会给你搞个足够小的吗?"结构:"听说你们PCB设计,跟那乳沟一样,挤挤就有了。你克服一下。"PCB:“你.....我.......”软件 vs. 硬件软件:“你这电路板有问题,调不通!”硬件:“毛?你最好重查你的代码,绝逼有错!”软件:“屁!就那么点代码还能出错?”硬件:“扯!这条线路总共就几条线,我都查过了好几遍,有错我能不知道?”软件:“别和老子扯犊子。就是你电路有问题。”硬件内心:“滚!我送你离开,千里之外。”总体 vs. 硬件总体:“你选的这个电源方案怎么样?”硬件:“性能没问题,面包板上测试过了。”总体:“好!把它布局在30×15mm的电路板内!”硬件:“布不下,需要考虑到器件散热和干扰问题。”总体:“别瞎BB。如果布不下,就把你布进去!快点。”硬件:“It is up to you!” 热设计 vs. 硬件硬件:“我们刚刚出了一个新方案,你帮助再热仿真一下吧。”热设计:“过不了!”硬件:“你仿过了吗?”热设计:“我用脑袋仿过了。你过不了,需要降规格!”硬件:“你是不是非要哥哥我用热风枪给你脑袋加热你才能仿那?”热设计:“你这个散热过不了。”硬件:“你就加一个散热器呀。”热设计:“你这个尺寸,散热器标准库中没有合适的呀。”硬件:“加个铜皮不就可以吗?”热设计:“铜皮?库里面更没有了,我怎仿那?”采购 vs. 硬件PCB:“终于盼到器件买回来了。我把器件的封装建好,刚刚布完了线。”采购:“商家说原来封装的器件没了,我就买回来另一个封装同型号的。”PCB:“大哥,换封装,你就不能早告诉我一声?”... vs. X vs. Y vs. Z vs. ...领队:“你这个EMC措施太复杂!这么多防护和步骤,现场比赛很容易出问题。”EMC:“没办法。不搞这么多,干扰无法解决。这主要是PCB结构设计有问题,器件拥挤,方位错乱。”PCB:“如果我能够有足够空间布板的话,我才不会费劲将这些器件拥挤在一起呢。这主要是机械结构给我留的空间太小了!”结构:“车模就那么大,还需要放那么多的传感器。哪有空间留给你布电路板那?这主要是设计传感器的问题,非要安装这么多传感器及其支架,少一点不行吗?”传感器:“就这些传感器,搞控制算法的还嫌不够呢!本来还可以通过选择小的传感器减低体积,但搞算法的嫌弃小的传感器精度不够啊!”算法:“没有这么多高精度传感器,车模就是瞎子。我们编算法的再灵巧,也难为无米之炊呀。这主要是队长要求车模要跑得快。如果车模慢慢的跑,只要几个低精度的传感器也就可以了。”领队:“说来说去,最终是埋怨要求车模跑得快。我跟你们有仇啊?如果车模跑得慢,我可没脸去参加比赛。”#嘉立创PCB##PCB有什么好玩的#
树莓派第二代微控制器 RP2350,终于拿到手了!~
最近,我收到了由小熊派寄送过来的一块国内非常罕有的核心板,基于树莓派第二代微控制器芯片而研发的 BearPi-Pico RP2350 。树莓派早在2021年的时候就发布了它的第一代微控制器 RP2040,基于这款微控制器而研发的 Raspberry Pi Pico 核心板,凭借着超低的成本和极高的可玩性,在三年多的时间里,卖出了几百万片。就在今年的 8 月初,树莓派继续发布了它的第二代微控制器芯片 RP2350,并同步发布了基于 RP2350 芯片的核心板,Raspberry Pi Pico 2。相比起第一代的 RP2040 微控制器芯片,RP2350 进行了大量的升级,CPU 内核支持双核 ARM Cortex-M33 和 RISC-V 架构,片上SRAM翻倍,Pico 2 提供板载 QSPI-FLASH,如下图所示。关于树莓派 RP2350 这款芯片的详细性能介绍,可以在公众号搜索相关文章,在这里不再重复论述。根据傻孩子大佬(公众号:裸机思维)的测试,RISC-V核心 Harzard3 在较大代码尺寸的情况下跑出了 Coremark 3.9 的成绩,而 Cortex-M33 跑出同样成绩的代码尺寸更小。(估计是 RISC-V 核心 Harzard3 刚出生不久的原因?)与树莓派官方的 Raspberry Pi Pico 2 不同的是,小熊派的 BearPi-Pico RP2350 使用的是 Type-C 接口,有国内不少工程师吐槽,为啥 RP2350 芯片只支持 USB1.1 协议!~最近有点忙,我还没来得及在小熊派的 BearPi-Pico RP2350 上面点灯和做一些扩展板模块(直接在某宝买 Pico 的扩展模块也行),先来欣赏一下国外DIY爱好者做的 RP2350 板子吧。目前在国内比较难买到 RP2350 的芯片,在立创开源硬件平台,已经有大佬做了一块 RP2350 的核心板,(从其他开发板拆出来的RP2350),链接如下:https://oshwhub.com/hlcm/raspberry-pico-2感兴趣的工程师朋友,可以去进行复刻打样~以上部分图片素材来源:网络,侵删。#嘉立创PCB##PCB有什么好玩的##DIY设计#
试了一下 GPT-4o,让它帮我分析电路原理图。
Sora才问世半年不到,在北京时间5月14日凌晨,OpenAI又发布了重量级王炸,GPT-4o。GPT-4o是个女娃,一问世就能理解人类情感,会察言观色,知道你的情绪,会讲故事。GPT-4o这种情感进化能力,瞬间就让国内的 AI 自媒体集体高潮。关于GPT-4o的进化细节,公众号和网络上已经不少文章,这里就不再重复描述。这就意味着,在不久的将来,AI 机器人也能为人类提供重要的情绪价值,。。。emm,无限遐想。OpenaAI也为免费的 GPT 用户提供了 GPT-4o的试用资格,打开ChatGPT官网就可以获得。可以在 ChatGPT 的聊天对话窗口切换模型,也可以直接询问 ChatGPT 当前使用的模型是什么,初步体验了一下,答案的生成速度以及内容质量,都比 GPT3.5 有不少的提升。我上传了一张国产开发板图片给 GPT-4o,它马上就可以把开发板的基本信息分析出来,还可以针对该板子的分析信息继续提问。然后,我又扔给它一张原理图,基本的信息它也可以帮我分析出来。不过可惜的是,目前 GPT-4o 对于免费用户来说,只是试用阶段,每天只能试用体验一小会,但隔天会重置,也就是等第二天又能重新试用。在国内做得不错的生成式大模型,目前就要数是月之暗面的 Kimi.ai 了,对于 GPT-4o 的全民免费,你期待吗?#嘉立创PCB##PCB有什么好玩的##DIY设计#
硬件都做出来了,客户说想改一下,结果,全部推倒重做!
事情是这样的,我们团队在三个月之前接到了一项硬件产品定制任务,客户想我们帮他定制一款工业网关,简单地罗列一下,产品大概有以下这些功能:客户提出的都是常规工业网关所具备的基本功能,这对于专业做工业网关产品的团队来说难度中等,并且以上软硬件功能都已经过客户确认,开发起来问题应该不大。因为项目时间紧迫,为了降低设计上的风险,我们硬件上是采用了【核心板+底板】的方式进行设计的,类似于下图的设计方式,(涉及保密,我们的产品不方便上图)图源:立创开源硬件平台这种设计方式的好处是,团队不用花时间在CPU核心板的设计上,只需要在底板上集成客户需要的硬件接口。经过一个多月的加班加点,团队终于赶在国庆假期前,把首版原型样机的PCBA给到了客户,如无意外(一般都会出现些意外),客户假期后就可以开展模具设计工作了。假期回来后的第一天,老板就召集项目团队开会,说客户拿到产品的PCBA样品后,有些新的想法想跟项目团队一起探讨一下。(我当时就预感到,肯定不是什么好的想老板说,客户觉得我们设计的电路板有点大,想把电路板进一步缩小,面积大概是现在的一半,原因是他国庆假期看见友商有一些更小的网关。这样不仅可以省下电路板和模具的成本,而且做出来的产品也可以方便地内置在第三方工业设备里面,小巧不占地儿。。。。。。。(空气突然安静)会议室里面没有一个人首先吱声,气氛安静得有点尴尬,(估计大家都已经开始在心里对客户各种问候),老板看见大家都这么安静,刚想趁热打铁开口叫我们散会回去开干。作为 PM 的我,此刻马上抢先说了一句:“杨总,我们团队先评估一下这次改动,今天下班前给您具体评估结果。”我们目前的硬件设计,在成本允许的前提下已经把PCBA的面积做得足够紧凑了,如果要再进一步缩小面积,就需要把CPU内存和其他芯片接口直接布局在同一块电路板上面了。(老板和客户估计并不知道这次改动的研发成本有多高)我在网上一股劲地搜索了一轮,终于找到了一款比较紧凑的板卡设计方案,它直接把CPU内存还有硬盘,以及某些功能接口都布局在一块电路板上面,并且还能做到45mm * 70mm 的板子面积。(还有一点就是,它开源)图源:立创开源硬件平台它还很巧妙地引出了经典 40Pin 排针和高速 39Pin 接口,这种“三明治”式的板卡设计,能有效地利用外壳的纵向空间,从而不影响原来水平空间上的接口功能。打开这款板子的原理图和PCB一看,原来它采用的是8层PCB设计,并且还使用了盘中孔工艺,即焊盘中打孔(难怪可以做得这么小巧紧凑)。我们都知道,随着PCB板厂制作水平的不断提升,盘中孔变得越来越常见和实用,但与此同时,因为盘中孔对工艺有较高要求,某些厂家的盘中孔制作成本也一直居高不下。我知道嘉立创之前一直有在推广盘中孔这种工艺,所以就去他们的官网找了一下信息,好家伙,对于6层以上的高密度PCB,现在嘉立创可以免费使用盘中孔,并且还可以免费加厚至2u''沉金。给客户定制的工业网关产品,客户要求做到紧凑小巧,那我们完全可以参考上面的CPU一体化+层叠接口扩展的设计方式。(有救了,心头大石终于落地)。按照我们原来的芯片选型,这款工业网关产品应该6~8层板就可以Hold得住,具体还要看硬件工程师评估,如果是6层板的话,还可以免费在嘉立创进行打样。最后,团队花了大概半天的时间,把原来的【核心板+底板】设计方案,整理成了CPU内存硬盘一体化设计,某些功能接口通过层叠的方式进行扩展,并且把改造方案所增加的成本也一并发给了老板,让他去跟客户进行沟通和决策。像这种出了PCBA原型样品再去做硬件方案大改的情况,项目研发成本的增加是在所难免的,但作为项目执行团队,一方面不能当场否定老板和客户的想法,另一方面要尽自己所能,在短时间内给出成本最优的解决方案。hai,不说了,今天又是心累的一天,明天还要去“安抚”硬件工程师,推进他们去做改版方案后的电路原理图和PCB设计~。祝我好运,客户下次就别这样改了~#嘉立创PCB##PCB有什么好玩的#
不想让嵌入式核心板吃灰,于是,我准备对它下手了!
作为一名业余的嵌入式工程师,平时上班主要的工作是用单片机去检测不同的按键动作,以及实现不同的流水灯效果(高级点灯),偶尔也会去画一些电路板,验证一些想法或者技术方案。以前做过的小模块在摸鱼的时候,我还喜欢捣鼓一些嵌入式Linux开发板,毕竟技术能力不能一直停留在按键和点灯,高低也得整一下高端的技术,之前测评玩过不少Linux开发板,在搭建开发环境方面也颇有一番心得。高端的技术往往需要高端的硬件才能完美支持,细心地观察一下,我发现测评的那些开发板都是通过【核心板+底板】的方式进行设计的,我其实有点好奇,为啥要做这种分离式设计,而不是直接把CPU贴在电路板上面?比如,像这款飞凌嵌入式 FET3588-C 核心板,单独把【CPU、内存、eMMC】做成核心板,采用10 层沉金工艺,尺寸68mm*50mm,厚度1.6mm。要在如此小面积的电路板的正面和背面都贴满芯片和阻容等元器件,把CPU大部分的引脚都引出来给工程师们使用,还能做到这么薄,他们究竟是如何做到的?(这款核心板的性能十分炸裂,8核Cortex-A架构,配备 6TOPS NPU,非常适合用在一些嵌入式 AI 应用,特别是机器视觉,AI多媒体处理等产品领域)我还顺便在网上搜索了一下,拆开很多类似的桌面小电脑,可以看到它们一般是把CPU直接布局在电路板上面,整个板子至少用了8层以上的PCB,然后配上一个工业CNC外壳,颜值真的很高。把这块飞凌核心板放在一边吃灰,确实有点浪费,于是,在突如其来的冲动之下,我有点不自量力地想给它配一个底板(半成品,还没拉线)。。。这款底板主要是提供核心板的电源供电电路,调试串口,USB接口,SD卡接口,RTC时钟电路,以及配备几个用户按键和散热风扇接口。因为后期要兼顾一定的美观效果,会配套一个较小体积的外壳,所以底板的面积尺寸要控制在 10cm * 10cm以下,并且不能做太厚。(还有一个原因,就是超过 10cm * 10cm 面积的打样就不免费了,要好几百块钱,不过好像嘉立创现在第二次打样费用直接砍半,穷,花不起这打样费~)底板布局好之后,我发现设计得不太完美,底板左边的空位应该还可以放下网络和HDMI接口,还可以增加一个蓝牙模块(接键盘鼠标),有了网络和HDMI,就变成一台小型桌面电脑了~突然间多了HDMI和有线网络接口,元器件也增加了不少,我觉得 4 层板已经不够布线了,需要升级到 6 层板,然后还可以尝试进一步缩小底板的面积,讲真,正方形的外观设计实在有点丑~升级到6层板之后,为了更好的解决小空间布线难的问题,使用了盘中孔工艺,即过孔打在焊盘上,以减少走线。不用担心焊接时漏锡的问题,盘中孔采用树脂塞孔+电镀盖帽方式,成品PCB的焊盘表面平整,不会看到过孔空洞,目前嘉立创的6层板使用此工艺免费,打样依旧免费。盘中孔工艺展示,来源:嘉立创这台桌面小电脑性能强大,可以运行Linux操作系统做边缘服务器,也可以运行Android系统安装丰富的多媒体应用,内置的NPU还能进行离线的AI模型运算,可玩性极高!来到这里,我似乎懂了,单独把核心板分离出来,原来是开发板厂家基于实际应用的考虑,从成本、易用性、稳定性之间取一个平衡点。把CPU、内存、eMMC这些元器件都贴片在底板上,如果后期要进行底板硬件扩展的话,成本将会非常高,相当于要把整块PCB重新设计,而如果采用【核心板+底板】的形式进行设计的话,只需要重新设计底板,并且电路板层数也不用那么多~不说了,先拉线去,没准还要找嘉立创来协助 PCB-Layout,6层板对我来说确实有点难度~真 . 高多层 PCB#嘉立创PCB##PCB有什么好玩的##DIY设计#
#嘉立创PCB# 人生,就好像 PCB 走线布局一样~。。。
1、要先布局,后走线;走线再细致,布局失败,也是白搭;(人生也是一样,要有理想和长远的规划。)
2、如果只图早期的走得舒服,后面绕来绕去都是死路。(人生也是一样:能吃苦吃苦半辈子,怕吃苦,吃苦一辈子。)
3、建立一定的规则,避免情况复杂之后,全无章法的乱绕线。(人生也是一样:自由和约束是相辅相成的。)
4、优质的走线区域留给重要的信号和期间。(人生也是一样:重要的时间留给重要的事情,你的精力分配决定你的层次。)
5、敏感信号,原理强干扰源。(人生也是一样:近朱者赤近墨者黑。)
#嘉立创PCB# 上个世纪的电台收发器,原理图和PCB鉴赏~
#嘉立创PCB# 高低得请教一下各位大佬,PCB在什么情况下需要铺铜,什么情况下不需要铺铜呢?(现在都是简单粗暴二层板一律直接铺铜~[我想静静])
【在嘉立创做智能硬件】高多层 PCB 工艺科普
一、什么是高多层 PCB简单通俗来说,就是在每一块电路板上都设计电路,然后通过绝缘材料和特殊工艺把多块电路板堆叠粘合在一起,需要连通的电气网络就用孔洞进行层间连接,就像下图那样,真 . 高多层 PCB~(开玩笑)面积不够,空间来凑,PCB 的层数越多,拉线工(PCB Layout 工程师)自由发挥的空间也就越大,从而实现更高的电路密度以及更复杂的电路设计。高多层 PCB 可以让硬件产品具备更好的电磁兼容性和信号完整性,当然也会让PCB的设计和制造变得更加复杂和昂贵。二、高多层 PCB 的制作流程这么多的电路层,要把它们压合得这么薄(1.6毫米),并且还要保证它们层与层之间互相绝缘不短路,高多层 PCB 的制作流程到底是怎样的呢?如上图所示,高多层 PCB 比单双面 PCB 多了一个内层工序流程(蓝色部分),其中比较关键的步骤是内层之间的压合工艺管控,这个步骤对于受控阻抗传输线的电气性能至关重要。板厂在开始制造 PCB 之前,拉线工通常需要做一些前置工作,这些工作包括:提交和审核制造信息(Gerber文件、钻孔文件、网表数据),以及电路板材料选择。前置工作完成之后,就来到了高多层板的生产工艺流程,也就是上图的粉红色部分,如果要把整个工艺流程都细化展开,通常会涉及到200多个不同的加工步骤。比如,把不同规格的半固化片和覆铜层压板互相组合,就可以实现各种厚度的电路板,一款硬质6层PCB的制造方法以及各个叠层之间的元素,如下图所示。仔细观察图中的各层,可以发现它们都是互相对称并且具有相同厚度的,比如:A1和A2和A3、B1和B2、L2-L3 和 L4-L5。内层的铜箔也是均匀分布,这样是为了避免热应力不均匀所造成电路板扭曲。能否把这么多个叠层精确地压合在一起,这对高多层电路板的质量来说至关重要!如果某些叠层之间出现微小的错位,就可能会导致电路出现开路或者短路的问题。因此,在进行叠层压合之前,通常会使用AOI(自动光学检查)对实际的铜箔电路和设计文件进行视觉比对,这时如果发现缺陷,仍然可以进行修复。(压合之后无法修复了,或者修复的成本很高)检查无误之后就可以进行各个叠层的压合了,上图的A1A2A3是用来绝缘的,这些绝缘材料(环氧树脂)在加热之后就会融化,并把各个覆铜的层压板进行粘结,类似于胶水的作用,各个叠层是通过金属化的孔洞进行电气连接的。这个压合过程的精确度为啥那么重要?这是因为,绝缘材料融化之后会在每个板层之间流动,厚一点或者薄一点都会影响各个层之间的距离,这对受控阻抗传输线路的特性阻抗有着最大的影响。拼接生产的电路板高多层PCB的最终生产设计稿,是将多块小面积的板子拼接到一块大面积的板材上面进行生产的(俗称:拼板),这么大面积的板材在压合的时候,绝缘材料的流动均匀性更是不容忽视,压合设备有着举足轻重的地位。嘉立创工厂,台湾活全(Vigor)全自动压合机三、沉金、盘中孔、正片工艺在高多层 PCB 的各个生产环节里面,选用某些生产工艺可以直接拉升高多层 PCB 的品质,比如,对于6~32层电路板,嘉立创全部免费升级至 2u'' 沉金厚度,并且统一默认采用盘中孔和正片工艺。沉金工艺就是在电路板表面沉积一层镍磷合金层,然后再沉积一层金,这种工艺可以提高电路板的耐腐蚀性、导电性和可焊性,电路板看起来也非常美观。(相对来说,沉金越厚,价格越贵!)金灿灿的焊盘做硬件开发的工程师都知道,过孔在电路板中扮演着非常重要的角色,特别是在高多层PCB中,合理使用过孔,可以支持更复杂的电路实现,设计出更加稳定可靠的电路板。由于各种环境因素,过孔在电路板的使用过程中会被慢慢腐蚀,从而导致电路连接失效、信号衰减、开路或短路等一系列影响产品可靠性的问题。为了解决以上种种过孔问题,PCB板厂通常会使用盘中孔工艺,这种工艺通常用在高端电子产品上面,且价格比较昂贵。盘中孔,也就是在焊盘中打孔,在孔内塞上树脂后再烤干磨平,再在表面进行镀铜,这种工艺的好处是可以允许工程师在焊盘上面打过孔,大大提高了设计效率,提升了PCB的生产良率以及高速电路板的性能。除了沉金和盘中孔,提升电路板的品质还可以使用正片工艺,而不采用负片工艺,关于正片和负片这两种工艺方式,可以网上进行了解。两者对比下来,正片工艺的成本高,流程长,但可以实现更高的图案精度和线路精细度,并且正片工艺的光刻过程更容易控制,无分散性的坏孔隐患,只是由于正片工艺采用了锡金属,因此其综合成本也比负片工艺更高。
#嘉立创PCB# 听说这种工艺很贵,这么小一块板子,打样就要一千多~[看][看]
【物联网智能硬件】在开发板上设计并运行MQTT客户端
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,该传输协议具有轻量、简单、开放和易于实现的特点,可以用极少的代码和有限的带宽,为远程连接的设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有着十分广泛的应用。主流的MQTT协议,其底层是基于TCP/IP连接,通过客户端和服务器的方式,来进行数据传输的。在MQTT协议里面,主要涉及三种角色:消息发布者(Publish),消息订阅者(Subscribe),消息代理服务器(Broker)。消息发布者和消息订阅者都是客户端角色,而消息代理是服务器角色,对于一台通过MQTT协议接入消息代理服务器的设备,它可以同时作为消息的发布者和消息的订阅者。MQTT在传输消息的时候,一个消息通常包含主题(Topic)和负载(Payload),有点类似key-value的关系,主题Topic可以理解为消息的类型,当订阅者订阅了该主题后,一旦有发布者发布该主题的消息,订阅者就会收到该消息的负载内容(Payload)。关于MQTT具体的实现原理和协议详解,此处不作分析,感兴趣的读者可以在网上搜索各种分析资料。本篇文章旨在imx6ull开发板上,实现一个MQTT客户端,让各种开发板实现互联互通。基于Qt5实现的MQTT协议,除了使用Qt官方提供的MQTT封装以外,也可以使用第三方公司提供的针对MQTT的封装接口,可以通过以下链接下载第三方MQTT客户端的Qt源码。https://github.com/emqx/qmqtt下载好源码后,把源码上传到ubuntu中并解压,解压后的源码,如下图所示。本次实验使用的是imx6ull开发板,其他开发板也可作为参考,在开始之前,需要先根据开发板的使用手册,搭建好Qt的开发环境,安装好对应的编译器,并且编译出来的Qt5应用程序可以在开发板正常运行。1.在解压出来的文件中,使用Qt-Creator打开qmqtt.pro文件,打开后的工程可以使用imx6ull的交叉编译器进行编译,对于examples和tests文件夹,我们暂时不需要用到,我们只需要用到src文件夹里面的代码。对src文件夹执行qmake和编译操作,如下图所示。2.编译完成后,在构建目录里面可以生成include文件夹和lib文件夹,这两个文件夹主要是供我们自己编写MQTT客户端源码时使用的,include目录主要是头文件,lib文件夹是动态库,程序编译时需要用到,如下图所示。3.为了项目管理方便,我们把include和lib目录单独提取出来,保存到lib_qmqtt文件夹里面,并把lib目录里面的动态库文件libQt5Qmqtt相关文件,复制到开发板的/usr/lib目录下,因为客户端程序在开发板运行时,需要这些动态库进行支持,如下图所示。4.使用Qt-Designer软件,设计好MQTT的客户端应用程序界面,包括MQTT代理服务器的IP地址和端口,该客户端程序发布的主题和订阅的主题,消息内容的显示窗口,等等,如下图所示5.把lib_qmqtt文件夹复制到100ask_imx6ull_app工程目录下,我们在page3_widget.cpp和page3_widget.h文件里面编写MQTT客户端代码,在Page3_Widget的构造函数里面,先连接各种按钮的信号槽,然后实例化一个mqtt客户端对象,实例化成功后,连接mqtt的信号槽函数,源码实现如下图所示。6.当按下【连接MQTT服务器】按钮,程序会根据当前的连接状态进行判断,是否应该进行连接或断链操作,按钮的槽函数实现如下图所示。7.当客户端程序跟MQTT代理服务器连接成功或连接断开后,底层会发出事件信号,相应的槽函数会被调用,具体的实现代码,如下图所示。8.在订阅主题的输入框内,填写需要订阅的主题,然后点击【开始订阅】按钮,客户端应该程序就可以成功订阅该主题,主题订阅的实现代码,如下图所示。9.当一个主题被客户端订阅成功后,就可以进行主题消息的接收。一旦代理服务器收到其他客户端关于该主题的发布消息,MQTT的消息接收函数就会被调用,客户端会在界面上打印出接收到的主题和消息,如下图所示。10.当客户端需要发布主题和消息的时候,可以在界面输入要发布的主题和消息,然后点击【发布】按钮,就可以把该主题和消息内容发布到代理服务器,主题发布的实现,如下图所示。11.为了测试MQTT客户端的运行情况,我们需要在ubuntu下安装mosquitto这个MQTT代理服务器,安装比较简单,可以在网上查找该代理服务器的安装方法。与此同时,我们在windows下使用MQTT.fx作为另一个MQTT客户端,与开发板的客户端进行通信,MQTT.fx的界面,如下图所示。12.使用MQTT.fx和我们自己编写的应用程序作为客户端,mosquitto作为代理服务器,就可以让开发板跟windows上的MQTT.fx进行消息通信了。项目的开源地址:https://github.com/embediot/Embedded-IoT-Projecthttps://gitee.com/embediot/Embedded-IoT-Project#嘉立创PCB##PCB有什么好玩的##嘉立创##DIY设计#
#嘉立创PCB# 有没有大佬能科普一下,在PCB制作时,为啥“钻个孔”都那么费事那么讲究?~[呲牙]
#嘉立创PCB# 十年前刚电子入行时,用洞洞板搭建的“智障”小车,简易万年历时钟电路,用来练习画PCB的最小系统板~
关于 PCB 那些鲜为人知的发展历史
印刷电路板(Printed Circuit Board,简称 PCB)一、PCB 出现之前在PCB出现之前,电子元器件是通过导线直连的方式,直接焊接在一个绝缘底座上面的,这种方式虽然也可以让电子元器件工作,但整个体积比较庞大,也很脆弱笨重。史前时代的电路设计二、第一块 PCB 的诞生1936年,奥地利工程师 Paul Eisler 受到了印刷技术的启发,首先提出“印刷电路”的概念,并且在一台收音机里面设计出世界上第一块PCB电路,解决了手工焊接电路容易出错且难以规模化的问题。历史上第一块 PCB 电路后来, Paul Eisler 还参考照相印刷工艺,用化学药水来溶解未被掩蔽的金属铜箔,即腐箔技术,奠定了以后光刻工艺的技术基础。三、高多层 PCB 的问世二十世纪五六十年代,集成电路 IC 的快速发展,PCB开始迈进了多层板时代,1960年,Litton Systems公司首先在一台小型计算机上面应用 6 层印制电路板。我国的第一块 6 层电路板是在1964年实验室条件下研制成功的,并在1967年把 6 ~ 8层板应用于大型计算机工业化生产。20世纪60年代的多层 PCB四、高多层PCB的发展二十世纪九十年代,轻量小型化的笔记本电脑、移动电话、摄像机等数码电子产品陆续问世,推动了高密度互连多层板技术(HDI PCB)的发展,后来也衍生发明出BGA(球栅阵列)封装技术。二十一世纪初,第二代 HDI 技术可以让 PCB 的最终线距达到了 40 μm,2017年后,HDI 和 微孔技术在提升元器件密度方面,提供了显著的帮助。时至今日,我们的生活已经离不开高密度多层PCB,因为我们的生活已经离不开手机的参与,手机各种主板PCB就是基于高密度多层PCB技术来制造的。iPhone15 主板射频板部分十几年前,用洞洞板搭建的“智能”小车#嘉立创PCB##PCB有什么好玩的##用一张图证明你是电子工程师#
#嘉立创PCB# 高低也得虚心请教一下各位大佬,这种丝滑布线是怎样做出来的?有什么作用?
#嘉立创PCB# 多层PCB的内部过孔,原来长这样~
#嘉立创PCB# 周五,天气好心情好,来劲了,搭个电路验证一下方案~[呲牙]
【嵌入式物联网智能硬件】无线收发模块
为了提高硬件模块的可重用性,对于终端设备模块的硬件,采用了无线收发模块+传感执行模块的方式进行设计。即一个无线收发模块可以跟不同的传感器模块或执行器模块配合使用,只需要烧录不同的设备端固件即可。无线收发模块如下图所示。无线收发模块具有以下功能:1、使用外部DC-5V电源供电。2、具有2.4GHz和433MHz无线收发功能。3、板载LED指示灯和物理按键,用来指示网络状态和重置模块。4、网络管理功能:加入网络,退出网络,心态包维持,等等。5、对外引出MCU的串口1和串口2,方便外接其他串口模块。6、对外引出MCU的PWM,IIC,GPIO,外部中断接口,方便用户扩展。7、模块尺寸:51mm * 42.5mm硬件设计篇无线收发模块使用DC-5V进行供电,模块自带LDO稳压芯片,DC-5V电源通过LDO稳压电路,为单片机及其他模块提供3.3V电源,LDO稳压电路如下图所示。无线收发模块采用STM32F030C8T6作为主控芯片,这款芯片是Cortex-M0内核,主频48MHz,芯片自带64KB可编程Flash和8KB RAM,外设资源丰富,MCU控制电路如下图所示。无线收发模块使用排母端子的方式对外引出MCU3路PWM引脚,一组IIC引脚,多组外部中断引脚和通用GPIO引脚。其中一边的排母端子作为固定模块使用,并没有芯片引脚连接,对外扩展引脚原理图如下图所示。无线收发模块带有一个蓝色LED指示灯和物理按键,蓝牙LED指示灯用来指示网络状态,如入网状态,掉线状态,连接状态,等等。物理按键用来重置模块的出厂配置信息,并使模块重新回到配网状态,电路原理图如下图所示。无线收发模块使用了MCU的SPI1和SPI2接口跟两款无线芯片进行通信,其中,SPI1接口连接SI4432这款433MHz无线模块,SPI2接口连接nRF24L01这款2.4GHz无线模块,SI4432模块和nRF24L01均使用焊接方式固定在无线收发模块上面,接口原理图如下所示。以上就是ARM中控扩展模块的原理图描述,各个模块的原理比较简单,具体原理图和PCB的硬件工程可以到GitHub或Gitee上下载。软件设计篇为了让无线收发模块有更好的扩展性,模块并没有添加其他关于传感器和执行器的功能,只保留了最基本的无线收发功能和网络管理功能,例如恢复出厂设置,加入网络,退出网络,心跳包维持,等等。无线收发模块可以通过板载物理按键重置自身的网络信息,用户连续按下板子上的物理按键5次,无线收发模块会把当前的网络配置信息恢复为出厂设置。物理按键的操作函数在key_task.c文件中实现,如下图所示。为了更好地辨别出无线收发模块当前的网络状态(如配对状态,连接状态,断连状态),模块通过板子上的一颗蓝色LED进行显示,当网络状态发生改变时,LED的闪烁状态也会发生改变,在led_task.c文件中实现LED状态显示,如下图所示。无线收发模块的网络管理功能,在net_task.c文件中实现,如入网操作,退出网络,心跳包维持,等等。无线收发模块通过入网操作,向主机请求网络ID和设备ID,当入网成功后,主机会通过心跳包的方式维持整个网络,如下图所示。无线收发模块在入网的时候,需要向主机(即ARM中控扩展模块)请求网络信息,而主机的网络信息需要在ARM中控上对其预先进行配置,因此在ARM中控上设计了一个主机参数配置界面,用于对主机参数进行配置,如下图所示。如图所示,点击【设置主机】按钮,弹出设置主机参数界面,可以使用该界面进行参数获取和参数设置,设置完成后,点击OK退出界面。【主机扫描】按钮是在从机入网时使用的,点击该按钮,主机会启动扫描,进入待入网状态,等待接收从机的入网请求。系统软件之间的通信协议和AT指令集,请参考如下两篇文档:《0-ARM中控扩展模块AT指令集.docx》《1-嵌入式物联网系统通信协议.docx》项目的开源地址:https://github.com/embediot/Embedded-IoT-Projecthttps://gitee.com/embediot/Embedded-IoT-Project#嘉立创PCB##PCB有什么好玩的##PCB有什么好玩的#
#嘉立创PCB# 天气不好,没心情画PCB了,电路就这样凑合着用吧~
#嘉立创PCB# 实验室学妹制作的电子鞭炮,接反就炸,炸完纸皮满天飞,空气中弥漫着蛋糕店的味道~[哭笑][哭笑][哭笑](PS:电解电容注意正负极,千万不能接反!!!)
#嘉立创PCB# 据说,这是F-4飞机里面的三轴姿态仪,那PCB布线真的挺丝滑的~
【嵌入式物联网智能硬件】非常好用的ARM-Linux扩展模块!
为了让ARM-Linux开发板具有2.4GHz和433MHz无线通信功能,微联智控工作室设计了一款通用的ARM中控扩展模块,该模块的实物图片,如下图所示。这款ARM中控扩展模块,主要使用了USB-TTL芯片和STM32单片机进行通信,再通过SPI接口外接si4432模块和nRF24L01+PA+LAN模块。使用这种方式,就可以避免移植si4432和nRF24L01的驱动到ARM-Linux开发板,大大降低了开发工作量和开发难度。在ARM-Linux开发板或者在PC电脑上使用这款模块,只需要简单地在开发板移植或在PC机上安装CH340G的芯片驱动,就可以把这款模块当做串口使用。ARM-Linux中控扩展模块具有以下功能:1、USB转串口功能,使用CH340G芯片,可以方便对接电脑和嵌入式Linux开发板。2、引出CH340G的TTL接口,可以用作一个普通的USB转串口模块(去掉R2和R4电阻)。3、引出单片机的UART2串口,TTL电平,方便用户扩展(提供源码)。4、板载433MHz无线通信模块,与单片机通过SPI接口进行通信,用户可编程。5、引出SPI接口,对接市面上大部分SPI接口的2.4GHz通信模块,用户可编程。6、模块尺寸(不含USB接口):70mm * 25mm硬件设计篇ARM中控扩展模块使用USB接口进行5V供电,模块自带稳压芯片,5V电源通过LDO稳压电路,为单片机及其他模块提供3.3V电源,模块还自带有红色的电源指示灯用来表示模块的通电情况,如下图所示。USB转串口电路使用沁恒科技的CH340G作为转换芯片,该芯片可以通过3.3V或5V电源供电,对外引出芯片的TTL接口(使用时需要去掉R2和R4电阻),方便开发者扩展,USB转串口电路如下图所示。ARM中控扩展模块采用STM32F030C8T6作为主控芯片,这款MCU芯片是Cortex-M0内核,主频48MHz,芯片自带64KB可编程Flash和8KB RAM,很适合物联网终端设备的控制器开发。模块的MCU控制电路如下图所示。ARM中控扩展模块使用SPI1和SPI2接口跟无线模块进行通信,其中,SPI1接口连接SI4432这款433MHz无线模块,SI4432模块使用焊接方式固定在中控扩展模块上。SPI2接口通过提供接口的方式外引出来,可以用来对接nRF24L01这款2.4GHz无线模块,如下图所示。以上就是ARM中控扩展模块的原理图描述,各个模块的原理比较简单,具体原理图和PCB的硬件工程可以到GitHub或Gitee上下载。软件设计篇ARM中控扩展模块的软件框架,是基于任务和事件的OSAL调度器来进行开发,ARM中控扩展模块,具有串口通信功能,2.4G和433无线通信功能,看门狗系统监测功能,LED指示灯功能。因此,在软件设计上,把这些功能划分为6个任务,在osal.h中定义好各个任务的ID,并创建各个任务的源代码文件,如下图所示。在main.c主函数里面,进行OSAL调度器和各个任务事件的初始化,由于有些设备不一定用到所有串口,因此,通过USART1_ON和USART2_ON这两个宏定义作为串口模块的开关,主函数的内容如下图所示。先来看看串口任务处理,ARM中控扩展模块主要用到了串口1以及DMA通信。所以,需要在工程的宏定义那里定义USART1_ON宏和USART_DMA宏,以使能串口1的DMA通信方式。在源文件usart1_task.c中,对串口任务进行了注册和串口外设初始化,并且同时初始化了两个队列数组,用来缓冲串口的发送数据和接收数据,如下图所示。在头文件usart1_task.h中,定义串口1任务相关的事件,主要有串口1数据收发和处理,串口任务启动事件,如下图所示。然后在源文件usart1_task.c的usart1_task()函数中,处理各种串口任务事件,OSAL调度器在收到串口的各种事件后,都会在这个函数里面处理各种事件,如下图所示。(限于篇幅,这里只列出部分源码)对于SI4432和nRF24L01这两款无线模块的任务处理,其任务事件的处理框架都是大同小异的,这里以SI4432为例进行说明。先来看看源文件si4432_task.c里面的任务初始化函数,如下图所示。在初始化函数si4432_task_init()中,先对si4432芯片的连接引脚和芯片寄存器进行初始化,然后再初始化si4432的数据发送和接收队列,然后再根据系统设置的参数,进行无线通信信道设置。在头文件si4432_task.h中,定义了各种任务事件,主要有数据发送和接收,超时处理,以及中断事件,如下图所示。各种任务事件是在si4432_task()这个函数中进行处理的,对于SI4432无线模块接收到的数据,目前都是通过串口透传出去,交给上位机进行处理,各个任务事件的函数内容,如下图所示。(限于篇幅,这里只列出部分源码)由硬件原理图可知,不管是SI4432或nRF24L01模块,一旦接收到无线数据,都是通过引脚中断的方式来通知STM32进行处理的,因此,需要在STM32的外部中断引脚处理函数中,取出无线模块接收到的数据,如下图所示。看门狗任务是用来监测整个系统的运行情况的,一旦发现系统运行异常,看门狗由于喂狗不及时,系统就会进行超时重启。因此,看门狗任务比较简单,主要是初始化STM32的看门狗外设,并设置一个定时喂狗任务,定时进行看门狗计数器复位操作,防止系统复位。与此同时,也可以利用看门狗超时的特性,来定义一个复位任务,方便一些系统重启操作,如下图所示。指示灯任务是用来指示系统无线网络状态的,当无线网络处于连接成功/连接断开/数据广播等不同状态的时候,指示灯会以不同的频率进行闪烁。网络状态指示灯的任务处理,如下图所示。为了方便开发者对ARM中控扩展模块进行设置,模块还支持AT指令扩展,开发者可以通过AT指令对模块进行波特率参数,信道,恢复出厂设置,查询软硬件版本信息等操作,也可以根据实际需要,修改源码扩展自己的AT指令集,目前模块支持的AT指令如下图所示。以上就是ARM中控模块的软件开发内容,编译源码并下载到模块中运行,可以使用串口工具测试模块的AT指令是否工作正常,如下图所示。使用两个ARM中控扩展模块,并同时接到PC电脑上,用串口调试工具可以在这两个模块直接互相透传数据,如下图所示。项目的开源地址:https://github.com/embediot/Embedded-IoT-Projecthttps://gitee.com/embediot/Embedded-IoT-Project感谢阅读!#嘉立创PCB##PCB有什么好玩的#
#嘉立创PCB# 新手请教各位大佬,像这种PCB布线情景,有方法可以把芯片引脚和接线端子引脚快速地连接起来吗?~[愉快]
【嵌入式物联网智能硬件】CC254x蓝牙AT指令模块
资料包含CC254x蓝牙模块的源代码程序,原理图和PCB工程源文件,BOM文件,蓝牙模块开发的参考资料。CC254x蓝牙模块,已经实现以下功能:1、支持修改广播名称和广播间隔。2、支持串口透传数据,烧录固件即可使用。3、支持AT指令设置模块参数。4、板载LED指示灯指示蓝牙连接状态。5、支持板载PCB天线和IPEX天线6、提供邮票孔封装的PCB文件。7、提供源码使用说明。8、模块大小:26mm * 20mm源代码工程概览:原理图和PCB概览:BOM清单概览:参考资料概览:#嘉立创PCB##PCB有什么好玩的#