嵌入式硬件电路设计基本功

我走的电子开发道路其实和大多数人说的一样,基本的路线为模拟电子(熟练)→数字电路设计(掌握)→单片机(项目开发)→ARM硬件设计(项目开发)→学习→驱动学习→ARM&底层开发(项目开发)→ARM&linux顶层开发(项目开发)→项目经理。我现在还在路上折腾,现在将我的教训和心得拿来给大家分享,希望对于新手有借鉴。

本文引用地址: 嵌入式硬件电路设计基本功

  设计是个庞大的工程,今天就说说硬件电路设计方面的几个注意事项,首先,咱们了解下的硬件构架。

  我们知道,CPU是这个系统的灵魂,所有的外围配置都与其相关联,这也突出了设计的一个特点硬件可剪裁。在做嵌入式硬件设计中,以下几点需要关注。

  第一、电源确定

  电源对于嵌入式系统中的作用可以看做是空气对人体的作用,甚至更重要:人呼吸的空气中有氧气、二氧化碳和氮气等但是含量稳定,这就相当于电源系统中各种杂波,我们希望得到纯净和稳定符合要求的电源,但由于各种因素制约,只是我们的梦想。这个要关注两个方面:

  a、电压

  嵌入式系统需要各种量级的电源比如常见的5v、3.3v、1.8v等,为尽量减小电源的纹波,在嵌入式系统中使用LDO器件。如果采用DCDC不仅个头大,其纹波也是一个很头疼的问题。

  b、电流

  嵌入式系统的正常运行不但需要稳定足够的电源,还要有足够的电流(其实就是功率达到要求),因此在选择电源器件的时候需要考虑其负载,我设计时一般留有30%的余量。

  如果是多层板,电源部分在layout的时候需电源分割,这时需要注意分割路径,尽量将一定量的电源放置在一起。如果是双面板,则走线宽度需要注意,在板子允许的情况下尽量加宽。合适的退耦电容尽量靠近电源管脚。

  第二、 晶振确定

  晶振相当于嵌入式系统的心脏,其稳定与否直接关系其运行状态和通讯性能。常见的振有无源晶振,有源晶振,首先要确定其振荡频率,其次要确定晶振类型。

  a、无源晶振

  其匹配电容和匹配电阻的选择,这部分一般依据参考手册。在单片机设计中,经常使用插件晶振配合瓷片电容。在ARM中,为了减少空间和便于布线,经常使用四角无源晶振配合贴片电容。虽然我们对于固定晶振的匹配电路比较熟悉,但是为了达到万无一失,还是要看参考手册确定电容大小,是否需要匹配电阻等细节。

  b、有源晶振

  具有更好的更准确的时钟信号,但是相比之下,比无缘晶振价格高,因此这也是在硬件电路设计中需要关注的成本。

  在做电路板设计时需要注意晶振走线尽量靠近芯片,关键信号远离时钟走线。在条件允许的情况下增加接地保护环。如果是多层板,也要讲关键信号远离晶振的走线。

  第三、 预留测试IO口

  在嵌入式调试阶段,在管脚资源丰富的情况下,我通常预留一个IO口连接led或者喇叭,为下一步软件的编写做铺垫。在嵌入式系统运行过程中适当控制该IO接口,从而判断系统是否正常运行。

  第四、外扩存储设备

  一个嵌入式系统如果有电源、晶振和CPU,那么这就是我们熟悉的最小系统。如果该嵌入式系统需要运行大点的操作系统,那么不但需要CPU具有MMU,CPU还需要外接SDRAM和NANDFLASH。如果该cpu具有SDRAM和NANDFLASH控制器,那么在硬件设计上不用过多的考虑地址线的使用。如果没有相关的控制器,那么需要注意地址线的使用。

  这部分在LAYOUT的时候是一个重点,究其原因就是要使相关信号线等长以确保信号的延时相等,时钟和DQS的差分信号线走线。在布线的时候各种布线技巧需要综合使用,例如与cpu对称分布,菊花链布线、T型布线,这都需要依据内存的个数多少来进行选择,一般来说个数越多,布线越复杂,但是知道其关键点,一切迎刃而解。

  第五、功能接口

  一个嵌入式系统最重要的就是通过各种接口来控制外围模块,达到设计者预设的目的。常用的接口有串口(可用来连接蓝牙,wifi和3G等模块),USB接口、 网络接口、JTAG接口、音视频接口、HDMI接口等等。由于这些接口与外部模块连接,做好电磁兼容设计是重要的一项工作。除此之外,在LAYOUT的时候注意差分线的使用。

  第六、屏幕

  这个功能之所以单独列出来,是由于其可有可无。如果一个嵌入式系统只是作为一个连接器连接外围设备模块,通过相关接口连接到电脑主机或者直接挂在网络上,那么屏幕就不需要了。但是如果做出来的是一个消费类产品,与用户交互频繁,这就不得不唠叨几句。

  电容屏幕是嵌入式屏幕的首选,在电路设计中需要注意触屏连接线和显示屏连接线的布局。在走线的过程中尽量短的靠近主控cpu,同时注意配对信号走差分线,RGB控制信号走等长。各种信号走线间距遵循3W规则,避免相互干扰。 在屏幕的设计中,一定要确保功率和防止干扰,以防屏幕闪屏和花屏现象的出现。

  以上就是我做嵌入式板子设计中的一些经验,有些经验是经过沉痛教训获得的。希望对你有所启发。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux操作系统文章专题: linux操作系统详解(linux不再难懂)

电路相关文章:电路分析基础

 

linux相关文章:linux教程


晶振相关文章:晶振原理 

对于嵌入式一定要掌握好综合电子电路理论(数、模电)一定!很多时候你困惑好久的问题其实是你曾经上课开小差什么的漏了造吗?学嵌入式硬件核心是以cpu为中心的电路模块,是灵活的模块,即你想实现什么就能实现什么。好的嵌入式工程师可能有重硬的有偏软的,但一定是软硬兼修的。学习嵌入式给核心的arm(以arm为例)编程时要深入了解底层驱动,内存占用及调动,即好比你是统帅300万大军的主帅,要学会如何灵活利用这300万有限的资源去攻城掠地(貌似这个比喻稍有不妥,然而笔者水平有限,欢迎大家指点),只要学会了调度思想,即使上手新的资源(如从stc到arm)也好比你从第一军总帅转为第二军总帅一样,千万不要依赖树莓之类的,那是软件工程师都能玩的东西。
作者:沉默的天使
链接:https://www.zhihu.com/question/19937746/answer/77962542
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值