嵌入式系统硬件设计与实践(开发过程)

news/2024/11/29 11:34:02/

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

          如果把电路设计看成是画板子的,这本身其实是狭隘了。嵌入式硬件设计其实是嵌入式系统中很重要的一个部分。里面软件做的什么样,这是看不出来的,但是硬件做的好不好,一般都比较容易发现。所以,很多时候嵌入式硬件是人们真正愿意去付费买单的东西。

        当然,不管是软件还是硬件,本身都是为系统服务,而系统又是为产品服务的,所以市场是所有产品的出发点和落脚点。

1、市场调研

        作为嵌入式硬件开发的同学,一定要有市场意识。即,当前做的这个产品主要的客户在哪里,他们拿这个硬件去做什么,自己做的这个硬件有什么特色,能解决什么问题。这一步很重要,某种意义上说,它比你怎么把这个硬件设计出来还重要。如果方向错了,后面的一切工作很有可能都是徒劳。

        如果这个时候,大家对市场还是没有概念的话,可以去电商网站上看,什么产品好卖,相关价格是多少,不同地方的人喜欢什么产品等等。这其实就是最简单的市场调研方法。

2、原理图绘制

        原理图看上去就是很多的符号堆在一起。这里面有电源、晶振、复位、输入、输出、传感器等等。当然,原理图本身就是对真实硬件的抽象,这个抽象还是十分有必要的。绘制的时候可以多分几页,按模块划分,明白相关电路的输入、输出接口是什么,工作条件是什么。

        有些同学说,自己的电路知识可能还停留在初高中的水平,没有办法做原理图绘制。这个时候,我的建议就是去模仿。别人做好的原理图,自己再做一遍,不要怕麻烦,画错了也不要紧。一遍又一遍的画,每一遍都会有新的认识。

3、原理图重新确认

        有的同学绘制完原理图,就直接导入到pcb了。其实,这中间少了一部分确认工作。这个时候其实有很多事情可以做,比如确认线路有没有画反、封装有没有选对、模块有没有注释说明等等。在绘制pcb之前,重新确认下电路原理图还是非常有必要的。不要怕麻烦,前面每做的每一次修改,其实都是为了减少后续的麻烦。

4、pcb布局

        pcb拉线之前,很重要的一步就是pcb的布局。布局当然有一些基本的规则,比如先放重要的芯片、连接器放在边缘、模数分开、高频和低频分开等等。但布局最最重要的,还是要根据原理图中的模块来进行布局。一个模块相连的芯片、电阻、电容、电感要靠在一起,这样也方便连线,另外对于后续的贴片、封装也是非常有利的。

        pcb布局好了,连线就简单了。当然 这需要经验的积累,不断地练习才能越做越好。

5、pcb连线

        连线的时候,可以先把电源线连上,线宽一点。接着,把相连、靠近的连线连上。一时没有办法解决的连线可以先搁置。这中间,可能还会微调器件的位置,比如位置颠倒、左右移动等,甚至于还要取消之前已经连好的网络,这都是难免的。连线的时候,尽量走同一层,没有办法了再选择过孔。电源旁边的电容尽量挨着芯片,晶振下面不要走线,网络、485、usb走差分等等,这些都可以遇到的时候边用边学。

        刚开始学的时候,板子选2层、还是4层,可以提前设计好。一开始的时候,板子大一点、层数多一些,这都是可以的,没必要苛责自己。比如说,4层多了VCC、GND,自然布线就比较轻松。完全等到后续经验多了,层数就可以压低了,自然而然就可以走线越来越好了。

        同样一块板子,可以多尝试走线几次,比如第一次、第二次、第三次,看上去好像是在做重复的工作,但是实际上每一次自己都会有新的收获,对线路也会理解的越来越深刻。我们满足的不仅仅是线布通、通过drc测试,而是说要简单、整洁、大方、合理。

        多层板有信号层和内电层两种。信号层就是普通的走线,而内电层和信号层相反,它本身是一块铜板,走线的地方反而是被分割的地方,这是需要注意的。

6、pcb信号确认

        绘制完pcb,不要着急打板。每个信号重新确认下,添加合理的丝印,相关器件的封装再看一遍,只要没有生产,一切都还来得及,花费的代价也小。

7、购买器件,pcb生产

        pcb本身要想完成,一方面需要购买各种元器件,另外一方面就是pcb生产。元器件可以通过电商网站解决,pcb生产现在也有很多的工厂可以帮助解决,比如某创、某配。这个时候有一个问题,就是电路板中可能存在很多的电容、电阻、电感,它们如果比较小,达到0201,其实焊接时比较麻烦的。建议大家一开始设计的时候,还是用0603这样大一点的贴片器件来设计,这样方便自己练手焊接。如果不想自己弄,只想焊接一些大的连接器,完全可以使用厂商的smt服务,就是多一些钢网的费用、贴片的费用,这也无可厚非。

8、焊接

        拿到厂家的pcb板子之后,即使smt贴片之后,这个时候一般还需要自己焊接一些连接器,比如排针、usb、rj45、电源插口等等。焊接可以和测试同步进行,一遍测试、一边焊接。有的设计不对的地方,可能还需要飞线,实际操作的时候注意用电安全即可。

9、测试

        实际测试,是和焊接同步进行的。一般先焊接上电源,确保没有短路、芯片不发热。接着把最小系统焊接上,除了之前说的晶振、复位、芯片那些,还需要把下载电路焊接上。如果这一步没问题,就需要慢慢测试其他电路了,比如按键、flash、网络、pwm等等。焊接一个,测试一个。这中间肯定会出现问题,有硬件的、有软件的。这个时候最好有一个第三方稳定的开发板,这样可以分清楚,是软件的问题,还是硬件的问题。

        对于调试过程中出现的硬件问题,还需要重新修改原理图、重新pcb设计、重新打样,这都是难免的。所以前期打样的时候,都可以5片、5片这样的去打样,没必要打样太多,等到真正稳定后,可以慢慢提高数量。小错误导致的打样失败,成本尚且可控,但是如果数量多了,就得不偿失了。

        所以,这里对于硬件发生的任何变更,一定要把之前做过的测试重新再做一次,不要怕麻烦。因为现在做的每一步,都是在给自己降低风险、节约成本。软件错了,升级一下版本就可以了。但是硬件的错误,很多时候是需要用真金白银来买单的。


http://www.ppmy.cn/news/30340.html

相关文章

【嵌入式开发】iperf

iperf一级目录用法help文档iperf参数功能iperf测试实例测试网口上行速率测试网口下行速率perf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。一…

SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)

SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊) 目录SpringBoot整合定时任务和邮件发送(邮箱 信息轰炸 整蛊)1.概述2.最佳实践2.1创建项目引入依赖(mail)2.2 修改yml配置文件2.3 启动类添加EnableScheduling注解2.4 执行的…

emac接口与phy交互

nuc970的emac接口 nuc970的EMAC以太网接口与PHY芯片之间的数据交换是通过MII(Media Independent Interface)或RMII(Reduced Media Independent Interface)接口实现的。 在MII接口中,EMAC和PHY之间通过4对数据线&…

由点到面贯穿整个Java泛型理解

泛型概述 Java泛型(generics)是DK5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。 泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数。 如我们经常使用的Array…

算法leetcode|39. 组合总和(rust重拳出击)

文章目录39. 组合总和:样例 1:样例 2:样例 3:提示:分析:题解:rustgoccpythonjava39. 组合总和: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找…

列表(list)、数组(numpy)、张量(tensor)、元组各自怎样查看形状

列表(list)、数组(numpy)、张量(tensor)、元组各自怎样查看形状 一、查看列表(list)的形状 1.shape import numpy as npL [[1,2],[3,4],[5,6],[7,8]] L np.array(L)print(L.sha…

Spring bean生命周期分为几个阶段?

bean 的生命周期从调用 beanFactory 的 getBean 开始,到这个 bean 被销毁,可以总结为以下七个阶段:处理名称,检查缓存→处理父子容器→处理 dependsOn→选择 scope 策略→创建 bean→类型转换处理→销毁 bean划分的阶段和名称并不…

SpringBoot笔记(一)入门使用

一、为什么用SpringBootSpringBoot优点创建独立Spring应用内嵌web服务器自动starter依赖,简化构建配置自动配置Spring以及第三方功能提供生产级别的监控、健康检查及外部化配置无代码生成、无需编写XMLSpringBoot缺点人称版本帝,迭代快,需要时…