首页 > 编程知识 正文

互锁电路图,pwm电路图

时间:2023-05-03 13:34:50 阅读:40185 作者:1634

目录STM32端子包含作为GPIO种类GPIO基本结构的GPIO输入输出的8个模式、浮动输入模式上拉输入模式下拉输入模式模拟输入模式开放泄漏复用输出模式推挽复用输出模式用途1、gpio _ moddi 其中描述了gpio _ mode _ in _ floating:gpio _ mode _ IPD :下拉输入4、GPIO_Mode_IPU :上拉输入5、gpio _ mode _ ou out _ 3、STM32中如何选择I/O模式?

STM32F1xx官方资料:

《STM32中文参考手册V10》 -第8章通用和复用功能io(gpio和AFIO ) )。

芯片数据手册(数据表) ) )。

STM32引脚说明GPIO是通用输入输出端口的简称,是STM32可以控制的引脚。 GPIO引脚连接到外部硬件设备,可以与外部通信、控制外部硬件或收集外部硬件数据。

STM32的大部分端子用作GPIO,并且还可以复用串行端口等位外围功能端子。 该部分在【STM32】STM32端口复用和重映射(AFIO辅助功能时钟)中进行了详细介绍。

GPIO种类本波特率STM32F103ZET6共有7组IO口,每组16个,共167=112个,分别如下:

GPIOA——PA0、PA1、PA2…PA15

GPIOB——PB0、PB1、PB2…PB15

水平。

水平。

水平。

GPIOG——PG0、cjdh、PG2、…cjdh5

GPIO的基本结构在每个GPIO内部都有这样的电路结构,该结构将在本文下具体介绍。

这里的电路图稍微提到了一点:

保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。端电压高于VDD时,顶部二极管导通; 当引线电压低于VSS时,下面的二极管导通,防止芯片中引入不正确的电压而烧毁芯片。 但是,不能直接外接功率器件。 必须加大功率,隔离电路进行驱动,防止芯片烧毁和外接设备正常工作。P-MOS管和N-MOS管:由P-MOS管和N-MOS管组成的单元电路使得GPIO具有“推挽输出”和“开漏输出”的模式这里的电路将在下面详细分析。TTL肖特基触发器:信号经过触发器后,模拟信号转化为0和1的数字信号。但是,当GPIO引脚作为ADC采集电压的输入通道时,用其“模拟输入”功能,此时信号不再经过触发器进行TTL电平转换。ADC外围设备收集的原始模拟信号。 这里需要注意的是,查看《STM32中文参考手册V10》的GPIO表,可以看到有“FT”一列,这代表着这个GPIO口时兼容3.3V和5V的;如果没有标注“FT”,就代表着不兼容5V

GPIO输入输出的8种模式: GPIO为4种输入模式(浮动输入、上拉输入、下拉输入、模拟输入)和4种输出模式)开放漏极输出、开放漏极复用输出、推挽输出、推挽复用同时,GPIO支持三种最大反转速度(2MHz、10MHz和50MHz )。

每个I/O端口都可以自由编程,但I/O端口寄存器必须用32位字访问。

程序中的识别模式GPIO_Mode_AIN模拟输入GPIO_Mode_IN_FLOATING浮动输入GPIO_Mode_IPD下拉输入GPIO_Mode_IPU

浮动输入模式

下面将具体介绍GPIO的这八种工作方式:

上拉输入模式

浮空输入模式下,I/O端口的电平信号直接进入输入数据寄存器。也就是说,I/O的电平状态是不确定的,完全由外部输入决定;如果在该引脚悬空(在无信号输入)的情况下,读取该端口的电平是不确定的。

下拉输入模式

上拉输入模式下,I/O端口的电平信号直接进入输入数据寄存器。但是在I/O端口悬空(在无信号输入)的情况下,输入端的电平可以保持在高电平(自己理解:上拉电阻连接电压);并且在I/O端口输入为低电平的时候,输入端的电平也还是低电平(自己理解:上拉电阻上的电压和端口导通)。

模拟输入模式

在模拟输入模式下,I/O端口的模拟信号(电压信号,而不是电平信号)被直接模拟输入

strong>片上外设模块,比如ADC模块等等。模拟信号一般:3.3v 5v 9v。

开漏输出模式

开漏输出模式下(上拉电阻+N-MOS管),通过设置位设置/清除寄存器或者输出数据寄存器的值,途经N-MOS管,最终输出到I/O端口。这里要注意N-MOS管,当设置输出的值为高电平的时候,N-MOS管处于关闭状态,此时I/O端口的电平就不会由输出的高低电平决定,而是由I/O端口外部的上拉或者下拉决定;当设置输出的值为低电平的时候,N-MOS管处于开启状态,此时I/O端口的电平就是低电平。同时,I/O端口的电平也可以通过输入电路进行读取;注意,I/O端口的电平不一定是输出的电平。

开漏复用输出模式

开漏复用输出模式,与开漏输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

推挽输出模式

推挽输出模式下(P-MOS管+N-MOS管),通过设置位设置/清除寄存器或者输出数据寄存器的值,途经P-MOS管和N-MOS管,最终输出到I/O端口。这里要注意P-MOS管和N-MOS管,当设置输出的值为高电平的时候,P-MOS管处于开启状态,N-MOS管处于关闭状态,此时I/O端口的电平就由P-MOS管决定:高电平;当设置输出的值为低电平的时候,P-MOS管处于关闭状态,N-MOS管处于开启状态,此时I/O端口的电平就由N-MOS管决定:低电平。同时,I/O端口的电平也可以通过输入电路进行读取;注意,此时I/O端口的电平一定是输出的电平。

推挽复用输出模式

推挽复用输出模式,与推挽输出模式很是类似。只是输出的高低电平的来源,不是让CPU直接写输出数据寄存器,取而代之利用片上外设模块的复用功能输出来决定的。

 

模式用途 1、 GPIO_Mode_AIN :模拟输入

一般用于ADC模拟输入

2、GPIO_Mode_IN_FLOATING :浮空输入

可用于按键KEY实验、发送接收信号RX、TX、IIC、USART等,不过这些实验可以不用浮空输入,如KEY用到上拉和下拉

3、GPIO_Mode_IPD:下拉输入 4、GPIO_Mode_IPU:上拉输入

IO内部上拉电阻、下拉电组输入,使情况而定,比如刚刚说的key按键实验,原理图如下:

可以看到KEY_UP按下后,IO口应该是3V3电平输入,未按下时为悬空状态,而悬空状态IO输入是未知的,所以为了防止程序跑飞,采用下拉输入,在悬空状态下,使IO输入下拉到低电平。这样,在悬空状态下,IO检测到的是低电平,不会去执行key_up按下后的程序。

KEY0~2按下后,IO口是低电平输入。按下时为悬空状态,而悬空状态IO输入是未知的,所以为了防止程序跑飞,采用上拉输入,在悬空状态下,使IO输入上拉到高电平。这样,在悬空状态下,IO检测到的是高电平,不会去执行KEY0 ~2按下后的程序。

5、GPIO_Mode_Out_OD:开漏输出

IO 输出 0 接 GND,IO 输出 1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为 1 时,IO 口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样 IO 口也就可以 由外部电路改变为低电平或不变。该模式适用于电平不匹配场合、适合做电流型的驱动,吸收电流能力比较强。

6、GPIO_Mode_Out_PP:推挽输出

可以输出高、低电平。导通损耗小、效率高。既提高电路的负载能力,又提高开关速度。广泛各种实验,比如接下来要总结的LED。

7、GPIO_Mode_AF_OD:复用开漏输出

当GPIO为复用IO时的开漏输出模式,一般用于外设功能,如TX1

8、GPIO_Mode_AF_PP:复用推挽输出

当GPIO为复用IO时的推挽输出模式,一般用于外设功能,如I2C

总结与分析 1、什么是推挽结构和推挽电路?

推挽结构一般是指两个参数相同的三极管或MOS管分别受两互补信号的控制,总是在一个三极管或MOS管导通的时候另一个截止。高低电平由输出电平决定。

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

2、开漏输出和推挽输出的区别?

开漏输出:只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内);推挽输出:可以输出强高、低电平,连接数字器件。

关于推挽输出和开漏输出,最后用一幅最简单的图形来概括:

该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。右边的则可以理解为开漏输出形式,需要接上拉。

3、在STM32中选用怎样选择I/O模式? 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1带上拉输入_IPU——IO内部上拉电阻输入带下拉输入_IPD—— IO内部下拉电阻输入模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL、SDA)复用功能的开漏输出_AF_OD——片内外设功能(TX1、MOSI、MISO.SCK.SS)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。