很多纯软工程师开始做嵌入式时觉得门槛很高,基本的硬件原理图也看不懂,没有学过电路、数电、模电、电路原理,对电子元器件,对电阻、电压、电流、电容、电感等没有很扎实的概念,觉得老虎吃天无从下嘴。打开硬件原理图,也是一脸懵B,不知道为何这里要加上拉或下拉电阻那里要加电容,而且阻值容值为何是那个数值,很懵看不懂。为何这个地方要加二极管,为何那里又要用PNP或NPN三极管甚至MOSFET的管子,都有什么讲究和说道呢?除了小器件,还有大芯片,都是怎么关联起来实现一些很神奇的功能的呢?借这个专栏和个人的学习成长经历,也分享一下相关知识,以期让还在徘徊还对怎么入门发愁的工程师们打开一个小窗户,同时也对已经入门但是对部分元器件理解不够深入的工程师们提供一个交流学习的机会。
首先分享几个经验:
经验一:元器件都有拓扑的,可以理解为公式,套用是最直接的最快捷的理解方式。就如buck降压电路,一个器件一个器件一个管子一个管子一级级电压的沉进去看可能需要电源电路开关电路的知识,不然一时半会看不懂,而往上升一格,从拓扑结构去分析直接套用就会来的快很多也清晰很多。
经验二:要有软件工程师调用API调用静态lib库的想法去看待电子元器件。每个元器件都是原厂根据工艺、性能、功能进行深入研发的产品,比如一颗N沟道800V超级结碳化硅MOSFET,大致了解其形态即可,主要精力还是放在接口使用上。硬件工程师画板,也是基于这样的接口搭出来的,在嵌入式工程师开发代码前,就是理解硬件原理图。
经验三:硬件原理图,一般称画板子,是设计一款产品比较早期的阶段,用这颗芯片还是那颗芯片,不仅硬件工程师会从渠道、价格、产能等多方面综合考虑,在有可选情况下,选型哪颗,对应画出来的东西就是参照其参考设计结合项目特点的一个产物,而且有些参考设计是不容许改动的,也就是有时这一块也是要原样照抄下来的。而有时缺芯情况下,还要考虑其变动。
经验四:看硬件原理图,需要搞清楚几个方向。一个是电压线,如Vcc、GND,这些是芯片工作起来必须的,有的5V,有的只要3.3V,甚至1.8V,这些电压要搞清楚,而且基本都有这样的引脚处理。有的为输入电压,就是In,有的是输出电压,就是Out。另一个是信号线,比如USB接口中,Dp\Dm就是两根信号线,信号线也要看清楚是输入还是输出,同时要清楚Pin引脚是上拉还是下拉,是内部上拉还是外部上拉,进而看清楚信号线在整个原理图中各器件是怎么联系起来的,甚至可以看出这个1时那个是0还是1这种逻辑,原理图主要看的就是信号线。
经验五:硬件原理图上的电子元器件,很多pin脚都是可以通过示波器等仪器进行连接测量的,示波器上能否输出和期望一致的波形,是检验原理图+layout->PCB(单板)->PCBA(贴片)之后,硬件设计有没有问题的关键。
经验六:一个产品从构思到实现,硬件工程师的工作主要是在硬件原理图上体现出来的,电子元器件选用、电源怎么设计、时钟是否满足晶振是外部提供还是使用芯片内部的、有没有EMC的要求、这个功能是选用现成的IP还是自己去搭、不同方案成本差异大吗、PCBA生产有难度吗尺寸和结构有冲突吗等等有众多考虑,都提现在了原理图里,硬件设计现在也有工具实现生产前仿真,电路仿真主要是用于在制造和产品部署之前检查和验证电气/电子电路功能的过程。但是作为嵌入式开发工程师可能理解不了那么多,原理图的主要用途是配合功能的实现,所以不需要深入读懂那么多。
经验七:如果觉得电路原理图实在太抽象了,也可以实际的拿PCB电路板,一个个元器件看过来,或者去仓库,看下电阻电容电感和芯片都长什么样,这样也有助于理解硬件原理图(Schematics)。
经验八:既要通观整体又要聚焦局部。总之找出通路,找出信号流向的通路,整体上把握关键枢纽器件,同时要注意细微之处的用意,分析各单元电路的原理、功能,以便实现一通百通。 要想真正吃透硬件原理图,源头需求很重要,要清楚电路是为了哪个功能而设计的,这样就更容易理解。
总结,看懂原理图也不要着急,虽然不能一蹴而就,但是也是有路可循的,当然最好是补足短板,比如读一下模电数电电路的教材,理解电路里面的运行规律运行定律,如果没时间的情况下,大致熟悉主要BOM用料及其特点,循序渐进的分析是读懂原理图的一条捷径。
硬件原理图缩写都是哪些电子元器件呢?
电阻:R开头(Resistor)
电容:C开头(Capacitor)
电感:L开头(Inductor)
二极管:D开头(Dideo),差不多符号的有:肖特基二极管、LED灯、TVS管、稳压管等。
晶体管:T开头(Transistor)
芯片:U开头(Unit),如果看一个板子上用了几颗芯片,查下Uxx后面的xx数字就知道了。后面的资料将以各类芯片为主。
晶体晶振:X开头(Crystal)。
连接器:J开头(Jack),原理图上有J1、J2等等,一般就是各种连接器,最典型的就是插针和接插件。
测试点:TP开头(Test Point)。
硬件原理图上的符号都表示哪些电子元器件呢? 下图一张图就能清晰的表达出大部分的器件了。