嵌入式分享合集89

一、去耦电容的作用

  “ 电路中装设在元件的电源端的电容为去耦电容。”

去耦电容

    去耦电容是电路中装设在元件的电源端的电容,此电容可以提供较稳定的电源,同时也可以降低元件耦合到电源端的噪声,间接可以减少其他元件受此元件噪声的影响。

嵌入式分享合集89_第1张图片


 在电子电路中,去耦电容和旁路电容都是起到抗干扰的作用,电容所处的位置不同,称呼就不一样了。对于同一个电路来说,旁路(bypass)电容是把输入信号中的高频噪声作为滤除对象,把前级携带的高频杂波滤除,而去耦(decoupling)电容也称退耦电容,是把输出信号的干扰作为滤除对象。去耦电容用在放大电路中不需要交流的地方,用来消除自激,使放大器稳定工作。

  在共享导体的电路中,共享电源的时候,当一个器件需要对外提供输出的时候就会同时拉低该导体的电压,产生噪声耦合到共享的电路中。在有噪声的环境中,这些电磁波会在导体内感应出电压信号,影响回路中的元件。在数位电路中,器件容易在临界位置由于干扰而产生错误的信号,从而产生错误的动作。去耦电容可以减少以上情形的发生。

为什么加电容

    PCB设计过程中工程师几乎必做的事就是给每个电源管脚(Vcc、Vdd等)加上一个0.1uF的陶瓷电容,并在某些地方加上更大容量的极性电容,几乎成了每天吃饭必定要吃碗米一样的事情了,但Why呢?

  • 为什么要加这些电容?

  • 为什么要加0.1uF的?

  • 为什么有时还要加其它值的电容?

  • 在PCB上这些电容放在哪里?

嵌入式分享合集89_第2张图片

    本质上我们设计的所有电路可以像下图一样抽象一下:

  • 板子上有n个不同的负载(比如某个运放电路、MCU的内核、MCU的IO、ADC、时钟),每个负载都需要稳定地供电 - 电压稳定、干净,电流充足,在此图上我只画出2个负载进行举例;

  • 电源产生电路,它为每个负载提供能源

 嵌入式分享合集89_第3张图片

    每个负载要正常工作,前提就是负载上的供电电压要稳,如果是5V,就得是尽可能干净的5V,如下图:

嵌入式分享合集89_第4张图片 

 但该负载内的器件们工作起来,都要动态地吸收电流,供电电压就变成了下面的鸟样子:

嵌入式分享合集89_第5张图片 

也就是在5V的DC上叠加了各种高频率的噪声,这些噪声是由于器件对供电电流的需求导致的电压波动,可以看成是在DC 5V上“耦合”了由于器件工作带来的AC噪声。

    这样耦合了AC的DC供电电压不仅会影响本负载区域内的电路的工作,也会影响到其它连接在同一个VCC上的其它负载的工作,有可能导致那些负载的电路工作出现问题。

怎么办呢?当然就是把每个地区的问题控制在该地区范围内喽:

  • 电源供电取决于变换的方式,其供电本身在DC上就有纹波,因此我们需要在电源输出Vout端要有电容C1(我们可以看成是国家粮仓)负责将供电电压上的噪声降到尽可能的低,完全为零是不可能的,因为完美的世界从来都不存在,只要不影响后面负载的正常工作即可。

  • 既然每个负载工作起来会导致其电源出现额外的波动,那就让波动在本地尽可能降低,且不影响到其它负载的工作。降低负载供应波动影响的方式就是加强能即时响应的供给(本地粮库) - 通过备用的供给平滑掉主供给快速反应方面的不足。电容的本性就是储能,用电容来做备用电能提供供给也就能平滑掉负载瞬间的需求带来的波动(不同的电容响应速度也不同,且听下文分解),保证该负载的电压尽可能稳定,也就是将有可能耦合到DC上的AC给去除掉(去耦的含义1),同时由于让本地的DC稳定,降低了对其它负载的波及(去耦的含义2)。

 嵌入式分享合集89_第6张图片

 从电源上看,没有去耦电容的时候如左侧的波形,加上了去耦电容之后变成了右侧的样子,供电电压的波形变得干净了,我们称该电容的作用是去掉了耦和在干净的DC上的噪声,所以该电容被称之为去耦电容,当然也可以被称之为旁路(Bypass)电容,因为该电容将DC上耦和的噪声给旁路到地上去了,只留下干净的DC给后续的电路供电。

嵌入式分享合集89_第7张图片 

 举一个例子 :

    每个负载的工作就像我们平日吃“粮食”,每家的用量是动态的、不确定的,所有家庭用的“粮食”加在一起平均下来就相当于在本地区的供粮量(稳定的),但由于每家每天的粮食消耗量很随机,导致供粮的渠道上会有波动,如果没有本地区的粮库(每家也都有储备粮),每个地区的粮食供应就会出现波动,而且A地区的波动就会影响到B地区,我们当然不希望这种情况发生,所以在每个地区都会有本地粮库储存粮食,这样每个地区内部用粮得到保障,地区和地区之间不会产生干扰。

    当然如果给所有地区供粮的上游出现了波动,而这种波动超过了本地粮库的平滑能力,那该地区的家庭用粮自然也会出现问题。
就是如此简单。

电容的作用 

嵌入式分享合集89_第8张图片

1、大容值电容的作用

    容值比较大的电容,理论上可以理解成水缸或者水池子,同时,大家可以直接把电流理解成水流,其实大自然万物的原理都是类似的。

    【作用一】缓冲作用。

    当上电的瞬间,电流从电源处流下来的时候,不稳定,容易冲击电子器件,加个电容可以起到缓冲作用。就如同我们直接用水龙头的水浇地,容易冲坏花花草草。我们只需要在水龙头处加个水池,让水经过水池后再缓慢流进草地,就不会冲坏花草,起到有效的保护作用。

    【作用二】稳定作用。

    我们的一整套电路,后级电子器件的功率大小都不一样,而器件正常工作的时候,所需电流的大小也不是一成不变的。比如后级有个器件还没有工作的时候,电流消耗是100mA,突然它参与工作了,电流猛的增大到了150mA,这个时候如果没有一个水缸的话,电路中的电压(水位)就会直接突然下降,比如我们的5V电压突然降低到3V了。

    而我们系统中有些电子元器件,必须高于一定的电压才能正常工作,电压太低就直接不工作了,这个时候水缸就必不可少了。电容会在这个时候把存储在里边的电量释放一下,稳定电压,当然,随后前级的电流会及时把水缸充满的。

    有了这个电容,可以说我们的电压和电流就会很稳定了,不会产生大的波动。这种电容常用的有如图3-2、图3-3、图3-4 所示三种:

    这三种电容是最常用的三种,其中第一种个头大,占空间大,单位容量价格最便宜,第二种和第三种个头小,占空间小,性能一般也略好于第一种,但是价格也贵不少。当然,除了价格,还有一些特殊参数,在通信要求高的场合也要考虑很多。

嵌入式分享合集89_第9张图片

2、电容的选取

    第一个参数是耐压值的考虑。我们用的是5V系统,电容的耐压值要高于5V,一般1.5倍到2倍即可,有些场合稍微再高点也可以。

    第二个参数是电容容值,这个就需要根据经验来选取了,选取的时候,要看这个电容起作用的整套系统的功率消耗情况,如果系统耗电较大,波动可能比较大,那么容值就要选大一些,反之可以小一些。

嵌入式分享合集89_第10张图片

3、小容值电容的作用

    我们再来看图3-1中的另一种电容C10,它容值较小,是0.1uF,也就是 100nF,是用来滤除高频信号干扰的。比如ESD,EFT等。我们初中学过电容的特性——可以通交流隔直流,但是电容的参数对不同频率段的干扰的作用是不一样的。

    这个100nF的电容,是我们的前辈根据干扰的频率段,根据板子的参数,根据电容本身的参数所总结出来的一个值。也就是说,以后大家在设计数字电路的时候,在电源处的去耦高频电容,直接用这个 0.1uF就可以了,不需要再去计算和考量太多。

4、其他注意事项

    在所有的IC器件的VCC和GND之间,都放一个0.1uF的高频去耦电容,特别在布板的时候,这个0.1uF电容要尽可能的靠近IC,尽量很顺利的与这个 IC的VCC和GND连到一起。

二、常见总线:IIC、IIS、SPI、UART、JTAG、CAN、SDIO、GPIO

IIC

    IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线用两条线(SDA和SCL)在总线和装置之间传递信息,在微控制器和外部设备之间进行串行通讯或在主设备和从设备之间的双向数据传送。I2C是OD输出的,大部分I2C都是2线的(时钟和数据),一般用来传输控制信号。

IIS

    I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。I2S有3个主要信号:1.串行时钟SCLK,也叫位时钟,即对应数字音频的每一位数据,SCLK有1个脉冲。2.帧时钟LRCK,用于切换左右声道的数据。LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据。3.串行数据SDATA,就是用二进制补码表示的音频数据。有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock)。

SPI

    SPI(Serial Peripheral Interface:串行外设接口);SPI是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:(1)MOSI – 主器件数据输出,从器件数据输入 (2)MISO – 主器件数据输入,从器件数据输出 (3)SCLK – 时钟信号,由主器件产生(4)/SS  – 从器件使能信号,由主器件控制。

UART

    UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)。将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART还提供输入输出数据的缓冲区。常用TXD,RXD,/RTS,/CTS。

JTAG

    JTAG (Joint Test Action Group 联合测试行动小组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。测试复位信号(TRST,一般以低电平有效)一般作为可选的第五个端口信号。一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。

CAN

    CAN全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。

SDIO

    SDIO是SD型的扩展接口,除了可以接SD卡外,还可以接支持SDIO接口的设备,插口的用途不止是插存储卡。支持 SDIO接口的PDA,笔记本电脑等都可以连接象GPS接收器,Wi-Fi或蓝牙适配器,调制解调器,局域网适配器,条型码读取器,FM无线电,电视接收 器,射频身份认证读取器,或者数码相机等等采用SD标准接口的设备。

GPIO

    GPIO (General Purpose Input Output 通用输入/输出)或总线扩展器利用工业标准I²C、SMBus™或SPI™接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。
    每个GPIO端口可通过软件分别配置成输入或输出。

三、UDP跨网段广播

 whaosoft aiot http://143ai.com 

一、什么是广播域
        广播域是网络中能接收任一台主机发出的广播帧的所有主机集合。也就是说,如果广播域内的其中一台主机发出一个广播帧,同一广播域内所有的其它主机都可以收到该广播帧。
 

二、如何计算广播域
        如何知道一台主机是属于哪一个广播域呢?计算很简单,只要用主机的IP地址与子网掩码进行“与运算”即可知道该主机属于哪一个广播域。例如:一台主机的IP地址为192.168.23.150,子网掩码为255.255.255.0,那么它所属的广播域就是:192.168.23.150&255.255.255.0=192.168.23.0。那么其它的在广播域192.168.23.0内的所有主机就可以收到该设备发送的广播包。如果把子网掩码改为255.255.0.0,那么它所属的广播域就是192.168.23.150&255.255.0.0=192.168.0.0。那么其它的在广播域192.168.0.0内的所有主机都可以收到该设备发送的广播包。
 

三、广播地址的计算
        要想相同广播域内的其它主机能收到的广播帧,还需要在发送广播包的时候指定当前所属广播域内的广播地址。广播地址的计算方法为子网掩码取反再与广播域进行“或运算”。
例如:如果主机当前所属广播域为192.168.0.0,子网掩码为255.255.0.0,那么广播地址则为192.168.255.255。
 

四、使用UDP进行跨网段广播
        要使主机A发送的广播包能够被另一网段的主机B收到,那么只需要更改主机A的子网掩码使得与主机B在同一个广播域内,再使用新的广播域的广播地址发送广播包即可。例如:要使用192.168.23.150发送广播包让192.168.27.135收到,只需要设置192.168.23.150的子网掩码为255.255.0.0,然后再使用广播地址192.168.255.255即可。特别要指出的是:255.255.255.255是受限广播地址,不能使用该地址发送广播包。

255.255.255.0 就是192.168.23.255 全广播就是 0.0.0.0

你可能感兴趣的:(aiot,单片机,嵌入式硬件)