注册送38元的游戏网站,深圳企业网站制作推广运营,网站出售html,上海 企业目录
一、推挽输出
二、开漏输出
三、复用推挽输出
四、复用开漏输出
五、浮空输入
六、上拉输入
七、下拉输入
八、模拟输入 GPIO八种配置模式#xff0c;原理和使用场景#xff0c;硬件原理如下图#xff1a; 一、推挽输出
1、 原理 当控制栅极为低电平时#x…目录
一、推挽输出
二、开漏输出
三、复用推挽输出
四、复用开漏输出
五、浮空输入
六、上拉输入
七、下拉输入
八、模拟输入 GPIO八种配置模式原理和使用场景硬件原理如下图 一、推挽输出
1、 原理 当控制栅极为低电平时上面的P沟道MOS管导通下面的的N沟道MOS管截至由于上管的S连接VDD所以输出高电平。当控制栅极为高电平时上面的P沟道MOS管截止下面的的N沟道MOS管导通由于下管的S连接VSS所以输出低电平。对于STM32单片机由于P沟道的MOS输出电流能力很强所以推挽输出的电流最大可以输出20mA。 (1) 推动阶段——当连接到晶体管栅极的内部信号设置为低电平时PMOS 晶体管被激活电流从 VDD 流经它到输出引脚NMOS 晶体管处于非活动状态开路且不导通。 (2) 拉动阶段——当连接到晶体管栅极的内部信号设置为高电平时NMOS 晶体管被激活关闭并且电流开始从输出引脚流过它到 GND。同时PMOS 晶体管处于非活动状态开路并且不传导电流。这种类型的输出不允许在总线配置中将多个设备连接在一起推挽配置最常用于具有单向通信线上线路上的信号传输仅在单一方向比如SPI、UART等。 2、使用场景
单片机主动控制输出高电平和低电平例如对LED的控制MOS管的开关控制使能信号等。 二、开漏输出
1、原理 开漏输出是为了实现逻辑器件的线与逻辑如果配置成这种开漏输出在需要电流输出驱动外部电路时往往需要上拉一个电阻来提供电路的驱动电流驱动能力的大小由外部上拉电阻决定电阻越大驱动能力越小电阻越小驱动能力越大但是不能超过单片机的GPIO电流能力范围。 2、使用场景 开漏输出一般应用在I2C、SMBUS 通讯等需要“线与”功能的总线电路中。除此之外还用在电平不匹配的场合如需要输出5 伏的高电平就可以在外部接一个上拉电阻上拉电源为5 伏并且把GPIO 设置为开漏模式当输出高阻态时由上拉电阻和电源向外输出5 伏的电平只要电流够就可以驱动继电器等。 三、复用推挽输出
1、原理
(1) 从电路中可以看出复用推挽输出和推挽输出并没有太大区别区别仅仅在于触发源不一样 单纯的推挽输出是在软件中手动地设置0和1实现的。
(2) GPIO的输出速度GPIO的引脚速度跟应用相匹配速度配置越高噪声越大功耗越大。
(3) 当然引脚频率是对输出而言的当GPIO配置为输入模式时输出速度配置毫无意义因为输出驱动电路与输入端口是断开的。
(4)GPIO引脚输出频率说的是I/O口驱动电路的响应频率而不是输出信号的频率可以理解为由高电平转换到低电平的时间例如对于串口假如最大波特率只需115.2/那么用2MHz的GPIO引脚频率就可以了既省电噪声也小。对于I2C接口假如使用400kb/s波特率又想留一些裕量2MHz或许不够可以选择10MHz的引脚频率。对于SPI接口假如使用18Mb/s或9Mb/s的波特率用10MHz的引脚频率显然不够了需要选50MHz的。 2、使用场景 而复用推挽输出指的是在某些模式下例如某个GPIO既可以做USART的引脚也可以做SPI的引脚等启用了引脚的复用功能这个时候需要设置该引脚为复用推挽输出因为这个时候开发人员只需要配置相应的寄存器参数不需要关注具体的引脚电平。 四、复用开漏输出 五、浮空输入
1、原理 对于单片机来说此时的输入引脚处于高阻态需要外部同时提供高电平和低电平因为在该模式下内置上拉电阻和下拉电阻都没有生效。而内部的TTL肖特基触发器相当于斯密特触发器用于对输入信号进行“整形”将其转化为理想的TTL电平后传入输入数据寄存器等待CPU读取。 2、使用场景
如果外部电路中已经包含了适当的上拉或者下拉电阻可以选择浮空输入。 六、上拉输入
1、 原理 所谓的上拉输入就是内部的上拉电阻投入使用。这个时候当外部输入低电平时可正常输入低电平而当外部无输入信号高阻态时可由单片机自身的上拉电阻提供高电平信号。 2、使用场景 输入信号在断开连接时保持稳定的逻辑电平例如保持为高电平可以选择上拉输入。通过使用上拉电阻可以确保在没有外部信号输入时输入引脚始终保持一个已定义的稳定状态。 七、下拉输入
1、原理 下拉输入与上拉输入正好相反这个时候当外部输入低电平时可正常输入高电平而当外部无输入信号高阻态时可由单片机自身的下拉电阻提供低电平信号。 2、 使用场景 输入信号在断开连接时保持稳定的逻辑电平例如保持为低电平可以选择下拉输入。通过使用下拉电阻可以确保在没有外部信号输入时输入引脚始终保持一个已定义的稳定状态。 八、模拟输入
1、原理 只有在此模式下输入才为模拟信号因为其他模式输入模拟信号没有任何意义经过了肖特基触发器或者施密特触发器全都变成了数字信号。这时候上拉和下拉电阻也没有起到作用电平直接由外部输入 传输到内部的AD转换器单元将其转换为数字信号等待CPU处理。 2、 使用场景
一般用于MCU内部的AD转换。