
嵌入式设计是一项庞大的系统工程,今天先聚焦硬件电路设计这一侧的几个关键注意事项。先来看嵌入式系统的硬件架构:CPU 是整个系统的灵魂,所有外围配置都围绕它展开,这也正好体现了嵌入式硬件的一大特点——可裁剪性。真正上手做嵌入式硬件设计时,下面这几个环节值得重点关注。
1 电源确定
电源对嵌入式系统的作用,可以类比空气对人体的作用,甚至更重要。人吸入的空气成分是相对稳定的,这对应着电源系统中的杂波问题——我们希望得到纯净、稳定且符合要求的电源,虽然受各种现实因素制约,这始终只是一个理想状态。
实际设计中需要关注两个维度:
电压
嵌入式系统通常需要多种量级的电源,比如常见的 5V、3.3V、1.8V 等。为了尽量减小电源纹波,系统中常选用 LDO器件。如果采用 DC-DC,不仅体积更大,其纹波同样是一个让人头疼的问题。
电流
系统正常运行不仅需要稳定足够的电压,还必须保证充足的电流供应。因此在选择电源器件时,必须评估实际负载情况。我设计时一般会留出 30% 的余量。
如果是多层板,电源部分在 Layout 时需要进行电源分割,此时要特别注意分割路径,尽量把同一量级的电源集中布置。如果是双面板,走线宽度就是关键了,在板子空间允许的情况下应尽量加宽。合适的退耦电容应尽量靠近电源管脚放置。
2 晶振确定
晶振相当于嵌入式系统的心脏,它稳定与否直接关系到系统运行状态和通讯性能。常见的晶振类型有无源晶振和有源晶振两种。首先要确定振荡频率,其次要确定晶振类型。
无源晶振
无源晶振需要关注匹配电容和匹配电阻的选择,这部分通常要依据参考手册来确定。在单片机设计中,经常使用插件晶振配合瓷片电容。在 ARM 方案中,为了节省空间和方便布线,常用四角无源晶振配合贴片电容。虽然大家对固定晶振的匹配电路已经比较熟悉,但为了做到万无一失,仍然建议查阅参考手册确认电容大小、是否需要匹配电阻等细节。
有源晶振
有源晶振能够提供更好、更准确的时钟信号,但价格比无源晶振高,这也是硬件电路设计中必须考虑的成本因素。
在做电路板设计时,晶振走线要尽量靠近芯片,关键信号必须远离时钟走线。条件允许时,可以增加接地保护环。如果是多层板,同样要让关键信号远离晶振走线。
3 预留测试 IO 口
在嵌入式调试阶段,如果管脚资源比较丰富,我通常会预留一个 IO 口连接 LED 或者喇叭,为后续软件调试做好准备。系统运行过程中,可以通过适当控制这个 IO 接口来判断系统是否正常工作。
4 外扩存储设备
一个嵌入式系统只要具备电源、晶振和 CPU,就构成了我们熟悉的最小系统。如果系统需要运行稍大型的操作系统,那么不仅要求 CPU 具备 MMU,还需要外接 SDRAM 和 NAND FLASH。如果 CPU 本身集成了 SDRAM 和 NAND FLASH 控制器,硬件设计上就不必过多考虑地址线的分配问题;如果没有相关控制器,地址线的使用就需要仔细规划。
这部分在 Layout 阶段是一个重点,核心目标是让相关信号线等长,以确保信号延时一致,同时处理好时钟和 DQS 的差分信号走线。布线时各种技巧需要综合运用,比如与 CPU 对称分布、菊花链布线、T 型布线等,具体选择取决于内存颗粒的数量。一般来说,颗粒数量越多布线越复杂,但只要抓住这些关键点,问题就能迎刃而解。
5 功能接口
嵌入式系统最重要的能力之一,就是通过各种接口来控制外围模块,从而达到设计者预设的目的。常用的接口包括串口(可用来连接蓝牙、Wi-Fi 和 3G 等模块)、USB 接口、网络接口、JTAG 接口、音视频接口、HDMI 接口等。由于这些接口都需要与外部模块相连,电磁兼容设计是其中一项重要工作。除此之外,Layout 时还要特别注意差分线的处理。
6 屏幕
为什么把屏幕单独拿出来说?因为它本质上是个可选项。如果一个嵌入式系统只作为连接器使用,连接外围设备模块并通过接口接到电脑主机或直接挂到网络上,那屏幕确实不需要。但如果做的是消费类产品,与用户交互频繁,就不得不认真对待了。
电容屏是嵌入式屏幕的首选。电路设计中需要注意触屏连接线和显示屏连接线的布局:走线过程中尽量短且靠近主控 CPU,同时注意配对信号走差分线,RGB 控制信号走等长。各类信号走线的间距应遵循 3W 规则,避免相互干扰。屏幕设计中,一定要确保功率充足并做好抗干扰措施,以防出现闪屏和花屏现象。
总的来说,嵌入式硬件电路设计涉及电源、时钟、存储、接口、测试预留等多个环节,每一个都直接影响系统的稳定性和可制造性。希望这些实际工程中的经验能对你在云栈社区的学习和交流有所启发。