第二章、GPIO
1、一般芯片,每个引脚单独命名 ?引脚分组 (A-F) (0-15) ?
2、GPIO 含义 ? 输入/输出 ?高低电平定义 ?
3、框图:复用、模拟、整流、寄存器 ?
4、施密特触发器的整流规则 ?
5、框图:保护电路、整流器、上下拉电阻 、驱动器、MOS管 ?
6、框图:8大模式 ?每个模式对应的框图 ?
7、推挽和开漏的区别 ?缩写是什么 ?如何实现开漏输入高电平 ?
## 1、推挽和开漏的区别 ### 1.推挽(Push-Pull) 定义:推挽输出是指输出端可以驱动高电平和低电平,通常由两个晶体管(一个NPN和一个PNP)组成。优点:能够提供较强的驱动能力,适合直接驱动负载。
缺点:在输出高电平时,输出端直接连接到电源,可能会导致短路(如果两个输出同时为高低电平)。
2.开漏(Open-Drain)
定义:开漏输出只有一个晶体管(通常是NPN),输出端在低电平时导通,高电平时处于高阻态。需要外部上拉电阻来实现高电平。
优点:可以实现多个设备共享同一信号线(如I2C总线),避免短路问题。
缺点:需要外部上拉电阻,驱动能力相对较弱。
缩写:推挽:PP(Push-Pull) 开漏:OD(Open-Drain)
如何实现开漏输入高电平:
连接上拉电阻:在开漏输出端和电源之间连接一个上拉电阻(通常为几千欧姆),这样在输出高阻态时,电源通过上拉电阻将信号拉高。
配置引脚:在微控制器中,将对应引脚配置为开漏输出模式。
控制输出:通过控制引脚的状态,输出低电平时,信号被拉低;输出高阻态时,信号通过上拉电阻被拉高。
2、核心外设:GPIO 理论
**GPIO:**通用输入输出——全称为General-purpose I/O ports,STM32中最基础的外设之一。
GPIO基本的框图:
芯片引脚分布与命名:PA10:(A组,第11个引脚)
P2.1:(第2组的第2个引脚)
输入和输出,是站在芯片的角度来说的;芯片对外的行为叫做输出
通用/复用:为了节约引脚,让一个引脚负责更多的外设;
具有GPIO功能,则为通用引脚;不具有GPIO功能就是复用引脚
3、GPIO八大模式
1.模式(8个)
输入:
模拟输入、数字输入:(上拉输入、下拉输入、浮空输入)
输出:
通用推挽输出、通用开漏输出、复用推挽输出、复用开漏输出
2.GPIO一些通用的特点
1.IO口数量
不同型号的微控制器,芯片,或者开发板上的 GPIO 数量可能不同。通过查阅相应的选型手册、数据手册或者开发板文档,可以了解每个型号上可用的 GPIO 引脚数量和功能。
2.快速翻转
GPIO 可以快速地翻转其输出状态。每次翻转的速度可能取决于具体的芯片型号和工作频率。一些微控制器甚至可以在极短的时间内完成翻转,例如在几个时钟周期内。
3.中断支持
每个 GPIO 引脚都可以配置为中断触发源。当引脚的电平状态变化(上升沿、下降沿、或者边沿触发)时,可以触发相应的中断服务程序。这使得 GPIO 可以用于实时事件处理。
4.工作模式
GPIO 支持多种工作模式,具体的工作模式可能因芯片型号而异。常见的工作模式包括输入模式、输出模式、复用功能模式(例如,配置 GPIO 为串口、SPI、I2C 等功能)、模拟输入模式等。
4、stm32相关电气特性
工作电压范围:2V<=VDD<=3.6V GPIO输出电流:单个IO,最大是25mA
stm32引脚类型:电源引脚、晶振引脚、复位引脚、下载引脚、BOOT引脚、GPIO引脚
1.施密特触发器
(Schmitt Trigger)是一种特殊类型的比较器电路,其主要特点是具有正向和负向的阈值电压,使得输出在输入信号上升沿和下降沿之间产生突变。施密特触发器被广泛用于信号整形和去除噪声的电路中。
2.工作原理
上升沿:当输入信号上升到正向阈值以上时,输出由低变高;
下降沿:当输入信号下降到负向阈值以下时,输出由高变低
它还有滞回特性,即输出状态改变后,输入必须越过相反方向的阈值才能再次触发状态变化。
3.施密特触发器作用
信号整形:
用于将不稳定的输入信号整形为稳定的方波信号。
去噪声:
对于具有噪声的输入信号,施密特触发器可以通过设置适当的阈值来消除小幅度的干扰,提高抗噪声性能。
数字电路应用:
在数字电路中,施密特触发器经常用于去抖动开关信号和数字信号的整形。
4.MOS管
是压控型元件,通过控制栅源电压(Ygs)来实现导通或者关闭
P-MOS(P型MOS):
导电条件:
当栅源电压(Vgs)为负值时,P-MOS导通。P-MOS的栅极为正电压。
特性:
通常被用作逻辑门等电路的开关元件。
在CMOS技术中,P-MOS通常和N-MOS一起组成互补对(CMOS对)。
N-MOS(N型MOS):
导电条件:
当栅源电压(Vgs)为正值时,N-MOS导通。N-MOS的栅极为负电压。
特性:
通常被用作逻辑门等电路的开关元件。
在CMOS技术中,N-MOS通常和P-MOS一起组成互补对(CMOS对)。
5、GPIO的八种模式分析
浮空输入(Floating Input):
特点: 输入用,完全浮空,状态不定。
应用: 适用于需要读取外部信号的场景,但外部信号状态不确定。
上拉输入(Input Pull-Up):
特点: 输入用,使用内部上拉电阻,初始状态是高电平。
应用: 适用于外部信号默认为高电平的情况,如按钮按下时会拉低信号。
下拉输入(Input Pull-Down):
特点: 输入用,使用内部下拉电阻,初始状态是低电平。
应用: 适用于外部信号默认为低电平的情况,如按钮按下时会拉高信号。
模拟输入(Analog Mode):
特点: 用于连接模拟外设,如ADC(模数转换器)、DAC(数模转换器)等。
应用: 适用于需要进行模拟信号处理的场景。
通用开漏输出(Open-Drain Output):
特点: 用于实现开漏输出,常用于构建总线,如I2C。
应用: 适用于需要多个输出端口共享同一信号线的场景,例如I2C的SDA、SCL线。
通用推挽输出(Push-Pull Output):
特点: 驱动能力强,支持通用输出,可提供较大电流。
应用: 适用于需要输出到外部设备,需要较大驱动能力的场景。
开漏复用输出(Open-Drain Alternate Function):
特点: 用于实现开漏输出,并复用了片上外设功能。
应用: 适用于需要实现外设功能,同时共享信号线的场景,例如硬件I2C的SDA、SCL线。
推挽复用输出(Push-Pull Alternate Function):
特点: 用于实现推挽输出,并复用了片上外设功能。
应用: 适用于需要实现外设功能,同时需要提供较大驱动能力的场景,例如SPI的SCK、MISO、MOSI线。
GPIO回顾:
查找原理图的流程:
实物led—电路板上的丝印—原理图上的丝印—led元器件符号—对应的引脚的网络标签—芯片引脚
6、实验
- 输出实验:点灯、流水灯、蜂鸣器
- 输入实验:按键控灯
利用轮询方式、、、、轮询主要用在:
输入设备监测:如按键、开关等输入设备的状态检测。
传感器数据读取:定期检查传感器的输出数据。
网络数据接收:在某些网络协议中,定期检查是否有新数据到达。
按键控灯实验:
需求是:通过开关、控制灯的亮/灭
元件:开关、led
检测出开关的状态:接法和输入模式------输入模式有上拉输入、下拉和浮空输入三个模式
GPIO小总结上拉输入(Pull-Up Input):
在这种模式下,GPIO 引脚通过内部电阻连接到高电平(Vcc),当开关按下时,引脚被拉到低电平(GND)。这种方式可以有效防止引脚在未连接时出现浮空状态,避免误触发。
下拉输入(Pull-Down Input):
在这种模式下,GPIO 引脚通过内部电阻连接到低电平(GND),当开关按下时,引脚被拉到高电平(Vcc)。这种方式同样可以防止引脚浮空,但在按键按下时,状态与上拉输入相反。
浮空输入(Floating Input):
在这种模式下,GPIO 引脚没有连接到任何电平,可能会导致引脚状态不稳定,容易受到噪声干扰,通常不推荐使用。
接法:
上拉输入接法:
将开关的一端连接到 GPIO 引脚,另一端连接到 GND。配置GPIO为上拉输入模式。
下拉输入接法:
将开关的一端连接到 GPIO 引脚,另一端连接到 Vcc。配置GPIO为下拉输入模式。
在按键控灯实验中,最好使用上拉输入:
抗干扰能力:上拉输入模式可以有效防止引脚在未按下时浮空,避免电磁干扰导致的误触发。
默认状态:在未按下开关时,GPIO引脚保持在高电平状态,按下开关时引脚拉到低电平,易于理解和调试。
简化电路:使用内部上拉电阻可以简化电路设计,无需外部电阻。
内部声源:振荡电路
有源:MP3+喇叭 无源:喇叭
有源声源内置放大器,无源声源则需要外部放大器驱动
三极管:放大电流、、、、、详细介绍:
三极管是一种重要的半导体器件,广泛应用于放大、开关和信号调制等电路中。
三极管主要分为两种类型:NPN型和PNP型。
三极管的结构:
三极管由三层半导体材料构成,分别称为发射极(Emitter)、基极(Base)和集电极(Collector)。根据掺杂类型的不同,三极管可以分为:
NPN型:发射极和集电极为N型半导体,基极为P型半导体。
PNP型:发射极和集电极为P型半导体,基极为N型半导体。
工作原理:
三极管的工作原理基于半导体的PN结特性。
NPN型三极管:当基极施加正电压时,基极与发射极之间的PN结导通,电子从发射极注入基极,部分电子会被基极吸引,形成基极电流(IB),而大部分电子会流向集电极,形成集电极电流(IC)。集电极电流与基极电流之间的关系由放大倍数(β)决定,通常有IC= β * IB。
PNP型三极管:工作原理与NPN型相似,但电流方向相反。基极施加负电压时,发射极的孔洞注入基极,形成基极电流,集电极电流则由基极流向发射极。
特性参数:
放大倍数(β):表示集电极电流与基极电流的比值,通常在几十到几百之间。
饱和电压(VCE(sat)):当三极管处于饱和状态时,集电极与发射极之间的电压。
截止电流(IC(off)):在基极电流为零时,集电极电流的值。
应用:
放大器:三极管可以用作信号放大器,广泛应用于音频放大、射频放大等。
开关:三极管可以作为电子开关,控制大电流的开关操作,常用于继电器驱动和LED控制等。
振荡器:三极管可以用于产生振荡信号,应用于无线电发射和接收等。
接法:
共发射极配置:最常用的配置,输入信号接基极,输出信号从集电极取出,具有较高的电压增益。
共基极配置:输入信号接发射极,输出信号从集电极取出,适用于高频信号放大。
共集极配置:输入信号接基极,输出信号从发射极取出,具有较高的电流增益。
注意事项:
极性:在使用三极管时,必须注意其极性,确保正确连接。
功率:根据应用选择合适的功率三极管,以避免过热和损坏。
外设的本质:
硬件:电路+元器件 进行功能的集合
软件:寄存器
硬件部分:
电路+元器件:外设通常由电路和各种元器件(如传感器、执行器、显示器等)组成。这些硬件组件共同工作,完成特定的功能。例如,一个温度传感器可以通过电路将温度信号转换为电压信号,进而被微控制器读取。
软件部分:
寄存器:在微控制器中,外设的控制和状态信息通常通过寄存器来管理。寄存器是微控制器内部的一小块存储空间,用于存储外设的配置、状态和控制信息。通过对这些寄存器的读写操作,软件可以控制外设的行为。例如,设置一个定时器的寄存器可以启动定时器,读取一个状态寄存器可以获取外设的当前状态。
也就是:一个外设的硬件部分提供了物理功能,而软件部分通过寄存器与硬件进行交互,实现对外设的控制和数据处理。硬件和软件的结合使得外设能够完成复杂的任务,例如读取传感器数据、控制电机、显示信息等。
void MX_GPIO_Init(void) GPIO_InitTypeDef GPIO_InitStruct GPIO引脚配置的结构体
和数据处理。硬件和软件的结合使得外设能够完成复杂的任务,例如读取传感器数据、控制电机、显示信息等。
void MX_GPIO_Init(void) GPIO_InitTypeDef GPIO_InitStruct GPIO引脚配置的结构体