## 第七章:阅读原理图
在PCB设计之前,也就是动手开始画原理图之前,我们要先知道原理图是什么?应该画成什么样子?我相信大多数工程师的日常工作中也会经常阅读别人画的原理图,比如你拿到一个开发板准备使用的时候一般先要阅读这个开发板的用户手册(User Manual),其中会有板子的功能框图,了解这个板子的使用方法、功能以及对外如何连接、如何对其性能进行测试等。但多数情况下仅有使用手册是不够的,这些板子一般都会配有原理图(大多是PDF格式的),根据原理图就可以知道板子上每个信号的走向、器件和器件之间的连接、对外的连接接口、核心器件的信号测试点等。
很多参考设计也会提供详细的设计文档,包括PCB设计工具能够打开的原理图、PCB板图源文件,我们可以参考这些设计文档进行裁剪、调整,用于自己的设计中。
阅读原理图的用户可以是设计过PCB的工程师,也可以是没有做过任何PCB设计的软件开发人员、测试工程师等,即便没有硬件经验的人也可以通过原理图弄清楚电路的基本构成及关键信号,就如同你不是一个地图绘制者,但你到一个新的城市买一份当地的地图,就可以根据这张地图找到你要去的地方一样。
原理图是我们设计、构建和排除电路故障的“地图”,了解如何阅读和理解原理图是电子工程师的重要技能。
同时我们也要从中看到很重要的一点 - 如果你要设计PCB,你画的原理图一定要让只有基本的电路知识,但没有做过PCB设计的人也能够看得懂,这是我们后面要讲述的原理图设计的重要原则。可惜的是在我接触的硬件工程师中,只有极少数的人把这点放在重要的位置上,而多数工程师只是按照自己的想法和或图自己方便进行设计,导致画出来的电路图不仅别人看不懂,自己阅读起来也很困难。
我们就来看看原理图是如何构成的,如何才能准确理解原理图,如何才是一个好的原理图设计。
我们先看一个实际的产品 - Hackaday的Cube,图7.1为最终的产品图片。
{{ :hackadaycube.jpg?800 |}} 图7.1 Hackaday制作的Cube
它内部的电路板的原理图如图7.2(在此以图像jpg格式显示):
{{ :cubesch.jpg |}} 图7.2 Cube的内部电路板原理图
是不是很像一个“城市的地图”?我们看看它是如何组成的吧。
### 7.1 元器件的原理图符号
印刷电路板(PCB)的作用就是承载元器件并通过走线实现这些元器件之间的电气连接,因此元器件是原理图的基本单元。不同的元器件用不同的功能单元符号(Symbol)出现在电路原理图上,它主要包含以下重要信息:
不同功能的元器件的形状是不同的,比如电阻、电容、运算放大器等,这些器件都有约定俗成的形状,如图7.3所示。{{ :circuit_schematic_symbols1.jpg |}} 图7.3 通用元器件的电路原理图符号
将来我们绘制电路原理图遇到这些功能的器件的时候尽可能按照这些符号的形状进行创建元器件的符号,自己独创不同的形状只会让阅读你电路图的用户不解。
#### 7.1.1 电阻
{{ :ressym.png |}} 图7.4 电阻的原理图符号,左侧为美国人的电阻符号,右侧为国际通用的电阻符号
\\
{{ :potensym.png |}} 图7.5 可调电阻和滑线电位器的原理图符号
\\
#### 7.1.2 电容
{{ :capsym.png |}} 图7.6 电容的原理图符号,左侧为无极性电容,右侧为有极性电容
\\
#### 7.1.3 电感
{{ :indusym.png |}} 图7.7 电感的原理图符号,前两者为美国人的电感符号,最右侧为国际通用的符号
\\
#### 7.1.4 开关
{{ :spsisym.png |}} 图7.8 单刀单掷开关的原理图符号
\\
{{ :spdtsym.png |}} 图7.9 单刀双掷和单刀三掷开关原理图符号
\\
{{ :dpdtsym.png |}} 图7.10 双刀双掷开关原理图符号
\\
#### 7.1.5 电源
任何电子产品都需要供电,因此在电路图中电源和地的符号是必不可少的,给电路供电的电源可以是交流电,也可以是直流电,且电压值不同。大多数情况下的电子设备都使用恒定电压源。我们可以使用这两个符号中的任何一个来定义电源是提供直流电(DC)还是提供交流电(AC):
{{ :pssym.png |}} 图7.11 电源的原理图符号,左侧为直流电压源,右侧是交流电压源
电池,无论是圆柱形,碱性AA还是可充电锂聚合物,通常看起来像一对不成比例的平行线:
{{ :batsym.png |}} 图7.12 电池的原理图符号 - 无论是圆柱形、碱性AA还是可充电锂聚合物,通常看起来像一对不成比例的平行线
更多线对通常表示电池中有更多串联电池。 此外,较长的线通常用于表示正端子,而较短的线连接到负端子。
有时 - 特别是在非常繁忙的原理图上 - 您可以为节点电压分配特殊符号。 您可以将器件连接到这些单端符号,它将直接连接到5V,3.3V,VCC或GND(地)。 正电压节点通常用向上的箭头表示,而接地节点通常包括一到三条扁平线(或者有时是一个向下的箭头或三角形)。
{{ :vccgndsym.png |}} 图7.13 几种不同的电源和接地符号
\\
#### 7.1.6 二极管
基本二极管通常用压在一条线上的三角形表示。 二极管也是极性的,因此两个管脚需要区分标识符,正极/阳极是进入三角形平坦边缘的管脚。 负极/阴极延伸出符号中的线。
{{ :diodesym.png |}} 图7.14 二极管的原理图符号
二极管有很多种类型,每种二极管都是在标准二极管符号上做一些特殊的标示。如图7.15中左侧的发光二极管(LED)和右侧的光电二极管(由接收到的光产生电能,基本上可看成是一个微小的太阳能电池)。
{{ :ledsym.png |}} 图7.15 LED和光电二极管的原理图符号
其它特殊类型的二极管,如肖特基或齐纳二极管,都有自己的符号,符号的条形部分略有不同。
{{ :otherdiodesym.png |}} 图7.16 肖特基二极管和稳压二极管的原理图符号
#### 7.1.7 晶体管
晶体管,无论是BJT还是MOSFET,都有正掺杂或负掺杂之分,因此对于这些类型的晶体管中的每一种,至少有两种方法来绘制它。
##### 双极结晶体管(BJT)
它有3个管脚:集电极(C)、发射极(E)和基极(B),有两种类型的BJT - NPN和PNP--每种都有自己独特的符号,如图7.17。
{{ :transym.png |}} 图7.17 三极管的原理图符号,左侧为NPN类型,右侧为PNP类型
##### 金属氧化物场效应晶体管(MOSFET)
与BJT一样,MOSFET也有3个管脚,分别为源极(S)、漏极(D)和栅极(G)。 同样,它们的原理图符号有两种,n沟道或p沟道MOSFET。 每种MOSFET类型都有许多常用符号,见图7.18:
{{ :mossym.png |}} 图7.18 MOSFET的原理图符号,上面的为N沟类型,下面的为P沟类型
符号中间的箭头定义MOSFET是n沟道还是p沟道。 如果箭头指向内意味着它是一个n沟道MOSFET,如果它指出外则是一个p沟道。
#### 7.1.8 数字逻辑门
我们的标准逻辑功能 - AND,OR,NOT和XOR - 都具有唯一的原理图符号:
{{ :gate1sym.png |}} 图7.19 几种基本门电路的原理图符号 - 与门、或门、异或门、非门
在输出端添加一个圆圈为逻辑取反,从而产生NAND,NOR和XNOR:
{{ :gate2sym.png |}} 图7.20 几种基本非门的原理图符号 - 与非门、或非门、异或门
它们可能有两个以上的输入,但形状应该保持不变,并且应该仍然只有一个输出。
#### 7.1.9 集成电路(IC)
集成电路是为了实现某种特定的功能而将规模比较大的电路集成在一起做成的器件,因此它们的种类非常多,没有什么独特的符号,通常集成电路都是用矩形作为轮廓,其引脚从侧面延伸出来,每个引脚都应标有管脚的号码以及功能名称,如图7.21所示。
{{ :icsym.png |}} 图7.20 ATmega328微控制器(Arduinos常用的器件),ATSHA204加密IC和ATtiny45 MCU的原理图符号
从图中可以看出,这些器件的大小和引脚数量差异还是比较大的。
由于集成电路一般采用这样的通用电路符号,因此名称、值和标签变得非常重要,每个IC应具有精确识别芯片名称的值。
##### 独特的IC:运算放大器,稳压器
一些更常见的集成电路确实有其独特的电路原理图符号,比如运算放大器一般用图7.21 中所示的方式来表示,它更有5个管脚:正相输入(+)、反相输入( - )、输出和两个电源输入。
{{ :opampsym.png |}} 图7.21 运算放大器常用的原理图符号
通常,在一个IC封装中内置两个运算放大器,它们只需要一个引脚用于电源,一个用于接地,这就是为什么右边只有三个引脚。
简单的稳压器通常是3个引脚的器件:输入、输出和接地(或调节)引脚。 它们通常采用矩形的形状,引脚分别在左侧(输入)、右侧(输出)和底部(接地/调整)。
{{ :regulatorsym.png |}} 图7.22 三端稳压器的原理图符号
#### 7.1.10 其它器件
##### 晶体和谐振器
晶体或谐振器通常是微控制器电路的关键部分,用于给微处理器提供时钟信号。 晶体符号通常有两个端子,而为晶体添加两个电容器的谐振器通常有三个端子。
{{ :crysym.png |}} 图7.23 晶体和谐振器的原理图符号
##### 接头和连接器
无论是提供电源还是发送信息,连接器都是大多数电路的要求。 这些符号取决于连接器的外观,下面是一个示例:
{{ :consym.png |}} 图7.24 接头和连接器的原理图符号
##### 电机,变压器,扬声器和继电器
我们很容易将它们混为一谈,因为它们(大多数)都以某种方式使用线圈。 变形金刚(不是眼睛以上的类型)通常涉及两个线圈,相互对接,有几条线将它们分开:
{{ :transsym.png |}} 图7.25 变压器的原理图符号
##### 继电器通常将线圈与开关配对:
{{ :ktranssym.png |}} 图7.26 继电器的原理图符号
##### 扬声器和蜂鸣器通常采用与现实生活相似的形式:
{{ :buzzsym.png |}} 图7.27 扬声器和蜂鸣器的原理图符号
##### 电机通常包含一个环绕的“M”,有时在终端周围加点点缀:
{{ :motosym.png |}} 图7.28 电机(也称为马达)的原理图符号
##### 保险丝和PTC
保险丝和PTC - 通常用于限制大电流的设备 - 每个都有自己独特的符号:
{{ :fusesym.png |}} 图7.29 保险丝和PTC的原理图符号
PTC符号实际上是热敏电阻的通用符号,是一个与温度相关的电阻(请注意那里的国际电阻符号?)。
毫无疑问,这个列表中有许多电路符号,但上面的那些应该让你在原理图读数中有90%的识字率。 通常,符号应与其建模的现实组件共享相当大的数量。 除符号外,原理图上的每个组件都应具有唯一的名称和值,这有助于识别它。
### 7.2 器件的名字和“值”
每个元器件都有其名字,一般是器件的型号,比如图7.2中的MCU,其型号为PIC18F25K83, 连接在其C2、C3、C4、C5、C6管脚的MOS管的名字为DMN65D8L。也许你留意到了图中的电阻、电容等都没有用其具体的型号,只是用了它的“值”来标记,比如1μF的电容,因为这些器件是最常规的通用元器件,有很多厂商的很多型号都对应于同一个值,可以有多种替换,这些器件的型号不需要单独标出。
#### 7.2.1 器件编号
同一个值的器件或同一个型号的器件在一个电路上可以有多个,每一个器件都有一个独立的编号,以便于识别。同一种类型的器件以共同的前缀进行编号,比如所有的电阻都以R(Resistor)开始 - R1、R2、。。。R40,所有的电容都以C(Capacitor)开头,三极管以T(Transistor)进行编号,而集成电路,可能是不同的功能的器件,多数都以U(Unit)开始。要记住这些“潜规则”,可以帮助你识别电路板上元器件的功能,因为在PCB板上一般都保留编号信息;你在绘制自己的原理图的时候也要遵守这些“潜规则”,否则读你原理图的人会产生误解。
#### 7.2.2 一个器件分为多个符号
随着集成度越来越高,一些关键的器件比如MCU、FPGA等都有很多管脚,内部的功能也趋于复杂,一个器件需要拆分成多个符号,在一个图纸上,属于同一个器件的符号编号都是一致的,会以U5-A、U5-B等来标示,在阅读图纸等时候遇到这种编号,要意识到这只是整个器件的一部分。
### 7.3 阅读原理图
在实际的PCB板上器件和器件之间的连接是通过连线(Track)来实现的,在原理图上则是从某个器件的某一个管脚到另一个器件的某一个管脚的实线连接,比如图7.2中U2的第1个管脚和U1的第15管脚通过一根线相连,这两个管脚之间的连接被称为一个“net”,“net”可以用实际的连线连接,也可以用net名来标记,也即两个拥有共同net的管脚,即便没有实际的连线连上,PCB设计工具也会解读为 - 它们也是连接在一起的。在一些器件很多、管脚很多,直接连线困难的设计中,使用net会让你的连接变得简单,不需要每个net都连线,但带来的问题就是出错的概率大大提高,毕竟它不是很直观,另外读图的人理解起来也比较困难,尤其是有多个页面组成的设计。
#### 7.3.1 网,节点和标签
原理图网络告诉您组件如何在电路中连接在一起。 网络表示为组件终端之间的线。 有时(但并非总是)它们是一种独特的颜色,如本原理图中的绿线:
#### 7.3.2 交汇点和节点
电线可以将两个端子连接在一起,也可以连接数十个。 当导线分成两个方向时,会形成一个连接点。 我们用节点表示原理图上的连接点,在线的交叉点放置小点。
节点为我们提供了一种方式来说明“穿过这个交叉点的电线是连接的”。 在交叉点处缺少节点意味着两条单独的线路正在经过,而不是形成任何类型的连接。 (在设计原理图时,通常很好的做法是尽可能避免这些非连接重叠,但有时这是不可避免的)。
#### 7.3.3 网名
有时,为了使原理图更清晰,我们将给网络命名并标记它,而不是在原理图上布线。 假设没有连接它们的可见导线,假定连接具有相同名称的网络。 名称可以直接写在网络的顶部,也可以是“标签”,悬挂在电线上。
网络通常被赋予一个名称,专门说明该线路上信号的用途。 例如,电源网可以标记为“VCC”或“5V”,而串行通信网络可以标记为“RX”或“TX”。
#### 7.1.5 原理图相关的其它信息
* 原理图的命名
* 原理图的分页
* 方案框图
* 制作人
* 绘制的时间
* 版本号
### 7.2.4 什么才是一个好的原理图?
所以,好的原理图有两个重要的前提:
* 所有的元器件的符号要符合人们的阅读常识,让人一眼就可以辨识出什么是电阻、什么是运放、什么是USB接口、什么是晶振?
* 原理图的信号流程要规范话,符合我们的阅读习惯。
* 复杂的原理图要分页绘制,每个页面都尽可能是独立、完整的功能,且有一个综合的系统连接框图让读者能够一目了然
* 元器件的摆放的位置和方向 - 在一张图纸上可能有几十上百的元器件,每个元器件的摆放位置都是很重要的
原理图是对自己的设计进行展示的重要方式,因此不仅要养成规范化的设计习惯,还要尽可能让自己的作品赏心悦目,让任何人阅读起来都非常直观、易懂、不产生歧义。当然罗马不是一天造成的,好习惯也是不断改进而养成的。有很多国际半导体原厂如TI、ADI、ST等在其官网上都提供其开发板的参考设计,平时可以多阅读这些参考设计,一方面能够了解这些板子的电路是如何构成的,同时也可以学习、借鉴这些优秀作品的做法,这些参考设计的设计亮点在哪里?在学习的过程中慢慢形成自己好的绘图风格。
### 名称指示符和值
作为原理素养的最大关键之一是能够识别哪些组件是哪些组件。组件符号表示故事的一半,但每个符号应与名称和值配对以完成它。
名称和值
值有助于准确定义组件的内容。对于电阻器,电容器和电感器等原理图,该值告诉我们它们有多少欧姆,法拉或亨利。对于其他组件,如集成电路,该值可能只是芯片的名称。晶体可能将其振荡频率列为其值。基本上,原理图元件的价值就是它最重要的特征。
组件名称通常是一个或两个字母和一个数字的组合。该名称的字母部分标识了组件的类型 - 电阻器的R,电容器的C,集成电路的U,等等。示意图上的每个组件名称应该是唯一的;例如,如果电路中有多个电阻,则应将它们命名为R1,R2,R3等。组件名称有助于我们参考原理图中的特定点。
名称的前缀非常标准化。对于某些组件,如电阻器,前缀只是组件的第一个字母。其他名称前缀不是那么直接;例如,电感器是L's(因为电流已经占据了我[但它始于C ......电子产品是一个愚蠢的地方])。这是一个常见组件及其名称前缀的快速表:
尽管这些是组件符号的“标准化”名称,但它们并未得到普遍遵循。 例如,您可能会看到以IC为前缀而不是U的集成电路,或标有XTAL而不是Y的晶体。 用你最好的判断来诊断哪一部分是哪一部分。 符号通常应该传达足够的信息。
### 7.3 阅读原理图
了解哪些组件在原理图中的哪一部分是理解它的一半以上的战斗。 现在剩下的就是确定所有符号是如何连接在一起的。
网,节点和标签
原理图网络告诉您组件如何在电路中连接在一起。 网络表示为组件终端之间的线。 有时(但并非总是)它们是一种独特的颜色,如本原理图中的绿线:
{{ :pwrledsym.png |}}
#### 7.3.1 交汇点和节点
电线可以将两个端子连接在一起,也可以连接数十个。 当导线分成两个方向时,会形成一个连接点。 我们用节点表示原理图上的连接点,在线的交叉点放置小点。
{{ :nodesym.png |}}
节点为我们提供了一种方式来说明“穿过这个交叉点的电线是连接的”。 在交叉点处缺少节点意味着两条单独的线路正在经过,而不是形成任何类型的连接。 (在设计原理图时,通常很好的做法是尽可能避免这些非连接重叠,但有时这是不可避免的)。
{{ :wiresym.png |}}
#### 7.3.2 网名
有时,为了使原理图更清晰,我们将给网络命名并标记它,而不是在原理图上布线。 假设没有连接它们的可见导线,假定连接具有相同名称的网络。 名称可以直接写在网络的顶部,也可以是“标签”,悬挂在电线上。
{{ :wire2sym.png |}}
每个具有相同名称的网络都连接在一起,如FT231X分线板的原理图所示。 名称和标签有助于防止原理图过于混乱(想象一下,如果所有这些网络实际上都与电线连接)。
网络通常被赋予一个名称,专门说明该线路上信号的用途。 例如,电源网可以标记为“VCC”或“5V”,而串行通信网络可以标记为“RX”或“TX”。
### 7.4 原理图阅读技巧
#### 7.4.1 先理清楚功能块
多数的原理图都是由多个功能块构成,有的功能块用于电源输入和电压调节、或微控制器部分、或专门用于连接器的部分。 尝试识别哪个部分是哪个部分,并遵循从输入到输出的电路流程。 一个非常好的原理图设计师甚至可能像电子书一样放置电路,左侧输入,右侧输出。
{{ :blocksym.png |}}
如果原理图的绘制者非常好(就像为RedBoard设计此原理图的工程师),他们可能会将原理图的各个部分分成逻辑的标记块。
#### 7.4.2 找出电压节点
电压节点是个单端的原理图符号,可以连接到元器件的符号引脚上,以便将它们分配到特定的电压电平。 这些是网名的特殊应用,意味着连接到同名电压节点的所有终端都连接在一起。
{{ :voltnodesym.png |}}
类似的电压节点 - 如GND,5V和3.3V - 都连接到它们的对应部分,即使它们之间没有电线。
接地电压节点特别有用,因为许多器件需要接地。
#### 7.4.3 参考元器件的数据手册
如果原理图上的某些内容没有意义,你可以尝试查找其主要元器件的数据手册。 通常来讲一个电路上重要的器件是集成电路,比如微控制器或传感器。 这些通常是最大的组器件,位于原理图的中心。