南京观海微电子---GPIO八种模式及工作原理(电路原理和三极管)

首先介绍一下接口类型

接口就是芯片之间的连接方式。单片机通过GPIO与各种模块相连接,传输数据、信号。接口类型可分为以下几种:

1、普通GPIO接口

通常只有一个引脚,只负责输出、输入高低电平。

比如输出高低电平控制LED、蜂鸣器;作为按键输入引脚判断按键是否被按下。

2、协议类GPIO接口

一条或多条数据线根据某种协议传输数据,引脚仍是输出输入高低电平,但是输出输入是根据协议决定的,比如IIC协议,只有在时钟线低电平的时候,数据线才能进行高低电平转换,时钟线为高电平的时候,数据线必须保持电平不变(起始信号、结束信号除外)。

这种情况一般是用来传输比较复杂的数据,比如与各种传感器、LCD等连接。

常见的协议有IIC、SPI、CAN、FSMC等。

3、内存接口

比如与Nor Flash、SDRAM、DDR、网卡DM9000等连接。

这类接口有地址总线、数据总线、读数据、写数据和片选信号。

4、模拟接口

之前三种接口GPIO的输入输出的都是高低电平,电平信号不是0就是1。

模拟接口GPIO输入输出是不确定的。简单理解就是输入输出的是模拟信号,是可以连续变化的,能输出0-Vmax之间的任意值。
 

2. GPIO简介

GPIO,即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。

STM32F407有7组IO。分别为GPIOA~GPIOG,每组IO有16个IO口,共有112个IO口  通常称为 PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。 并且F4系列是基于Cortex-M4内核  

GPIO的复用:

STM32F4 有很多的内置外设,这些外设的外部引脚都是与 GPIO 共用的。也就是说,一个引脚可以有很多作用,但是默认为IO口,如果想使用一个 GPIO内置外设的功能引脚,就需要GPIO的复用,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。   比如说串口  就是GPIO复用为串口

3. GPIO的工作模式

1、4种输入模式

(1)GPIO_Mode_IN_FLOATING 浮空输入
(2)GPIO_Mode_IPU 上拉输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_AIN 模拟输入

2、4种输出模式 

(5)GPIO_Mode_Out_OD 开漏输出(带上拉或者下拉)
(6)GPIO_Mode_AF_OD 复用开漏输出(带上拉或者下拉)
(7)GPIO_Mode_Out_PP 推挽输出(带上拉或者下拉)
(8)GPIO_Mode_AF_PP 复用推挽输出(带上拉或者下拉)

3、4种最大输出速度

(1)2MHZ  (低速)
(2)25MHZ  (中速)
(3)50MHZ  (快速)
(4)100MHZ  (高速)

关于他们的定义,都在  stm32f4xx_gpio.h 中,都为结构体形式的定义

 4.GPIO框图剖析

图片

我们所用到的每一个GPIO其内部结构都是这样,分别对应着GPIO的八种模式  这里我们简单的介绍下:

  • 保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入,当引脚电压高于VDD_FT时,上方的二极管导通,当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁 

  • 上拉、下拉电阻:控制引脚默认状态的电压,开启上拉的时候引脚默认电压为高电平,开启下拉的时候引脚默认电压为低电平

  • TTL施密特触发器:基本原理是当输入电压高于正向阈值电压,输出为高;当输入电压低于负向阈值电压,输出为低;IO口信号经过触发器后,模拟信号转化为0和1的数字信号    也就是高低电平  并且是TTL电平协议   这也是为什么STM32是TT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值