STM32设置实例:开漏电路几个特点
mouser 2021-02-19

开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了.

推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻.

(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。

推拉式输出级既提高电路的负载能力,又提高开关速度。

开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).

开漏形式的电路有以下几个特点:

1. 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。

2. 一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的沿的速度 。阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)

3. OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。

4. 可以将多个开漏输出的Pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。

补充:什么是“线与”?:

在一个结点(线)上, 连接一个上拉电阻到源 VCC 或 VDD 和 n 个 NPN 或 NMOS 晶体管的集电极 C 或漏极 D, 这些晶体管的发射极 E 或源极 S 都接到地线上, 只要有一个晶体管饱和, 这个结点(线)就被拉到地线电平上. 因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS),晶体管就会饱和, 所以这些基极或栅极对这个结点(线)的关系是或非 NOR 逻辑. 如果这个结点后面加一个反相器, 就是或 OR 逻辑. 其实可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。 由于浮空输入一般多用于外部按键输入,我理解为浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。 上拉输入/下拉输入/模拟输入:这几个概念很好理解,从字面便能轻易读懂。 复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)

最后总结下使用情况: 在STM32中选用IO模式

(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1

(2)带上拉输入_IPU——IO内部上拉电阻输入

(3)带下拉输入_IPD—— IO内部下拉电阻输入

(4) 模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电

(5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能

(6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的

(7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)

(8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)

STM32设置实例:

(1)模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);

(2)如果是无上拉电阻,IO默认是高电平;需要读取IO的值,可以使用带上拉输入_IPU和浮空输入_IN_FLOATING和开漏输出_OUT_OD。 

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
热门推荐
  • 相关技术文库
  • 硬件
  • 原理图
  • 信号完整性
  • EMI
  • 数电中逻辑电路,复位,处理信号的一些疑问

    1、什么是同步逻辑和异步逻辑,同步电路和异步电路的区别是什么?  同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。  电路设计可分类为同步电路和异步电路设计。同步电路利用时钟脉冲使其子系统同步运作,而异步电路不使用时钟

    02-23
  • 电源系统设计:电源完整性、信号完整性和电磁兼容

    在高度集成的电子产品中,电源系统的设计占到了设计工作量的50%左右;对于复杂的FPGA类型的产品应用,在电路中常常会达到15~30路不同的电源。 电源完整性的目的就是给系统提供持续、稳定、干净的电源,保证系统稳定的工作。在数字系统中,使信号完整性满足系

    02-20
  • 用MOS管实现的防电源反接电路

      一、电路介绍   使用MOS管实现的防电源反接电路,在电源正确接入时,电源正常对负载供电。 在电源正负极反接时,断开负载电路,从而保护负载。 下面讲解使用“P型”MOS管的防电源反接电路。   二、电路分析(以Vin = 5V为例)   1、电源正确接入时   电源正

    02-19
  • 电容10uf和0.1uf并联使用,这大小和个数是怎么算的?

    在对某一设计的部分电路进行傍路,双通道(大电容 小电容)或是多通道(三个以上的小电容组成,一般在dsp上用的比效多,目的是使频率特性更好。)在电容的接地端,(地线的宽与乍会引起频率的特性),例如在ccd的layout中的bypass,要量电容的接地端的纹波。这就指

    02-19
  • 产品电磁兼容设计怎么进行?

    1、为什么要对产品做电磁兼容设计? 答:满足产品功能要求、减少调试时间,使产品满足电磁兼容标准的要求,使产品不会对系统中的其它设备产生电磁干扰。 2、对产品做电磁兼容设计可以从哪几个方面进行? 答:电路设计(包括器件选择)、软件设计、线路板设计

    02-18
  • 低通滤波器设计的比较

    1、两种滤波器都是数字滤波器。根据冲激响应的不同,将数字滤波器分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。对于FIR滤波器,冲激响应在有限时间内衰减为零,其输出仅取决于当前和过去的输入信号值。对于IIR滤波器,冲激响应理论上应会无限

    02-18
  • 高速数据速率系统信号完整性基础知识和关键问题

    信号完整性是许多设计人员在高速数字电路设计中涉及的主要主题之一。信号完整性涉及数字信号波形的质量下降和时序误差,因为信号从发射器传输到接收器会通过封装结构、PCB走线、通孔、柔性电缆和连接器等互连路径。 当今的高速总线设计如LpDDR4x、USB 3.2 Gen

    02-18
  • 开发总结信号隔离与电源隔离

    第一部分  信号隔离 模拟信号的隔离是非常头疼的,有时候不得不需要隔离。大部分基于以下需要: 1.隔离干扰源; 2.分隔高电压。 隔离数字信号的办法很多,隔离模拟信号的办法却没有想象的那么多,关键是隔离的成本,比想象的都要高出许多。特别是要求精确测量

    02-10
  • 电路中0.1UF和10UF电容有什么用?怎么用?

    在对某一设计的部分电路进行傍路,双通道(大电容 小电容)或是多通道(三个以上的小电容组成,一般在dsp上用的比效多,目的是使频率特性更好。)在电容的接地端,(地线的宽与乍会引起频率的特性),例如在ccd的layout中的bypass,要量电容的接地端的纹波。这就指

    02-05
  • 晶振电源电路及PCB设计要点

    原理图设计要点: (1)、晶振电源去耦非常重要,建议加磁珠,去耦电容选两到三个,容值递减。 (2)、时钟输出管脚加匹配,具体匹配阻值,可根据测试结果而定。 (3)、预留的电容C1,容值要小,构成了一级低通滤波,电阻、电容的选择,根据具体测试结果而定。 PCB

    02-05
  • 耦合、退耦、电容那些事儿

    耦合指信号由第一级向第二级传递的过程,一般不加注明时往往是指交流耦合。 退耦是指对电源采取进一步的滤波措施,去除两级间信号通过电源互相干扰的影响。耦合常数是指耦合电容值与第二级输入阻抗值乘积对应的时间常数。 退耦有三个目的 1、将电源中的高频纹

    02-05
  • 大功率开关电源电路中整流二极管保护

    二极管的单向导电不是绝对的,也就是说不管什么类型的二极管它的工作频率都有一个上限,一旦超过这个值它将彻底失去单向导电性而相当于一根导线,因为它的结电容在频率很高的时候容抗近乎为零,这时候二极管就将彻底失去它的作用了。 二极管只要存在结电容就

    02-02
下载排行榜
更多
广告