详细介绍GPIO、I2C、SPI通讯原理以及物理层原理

目录一. GPIO1. 什么是GPIO?2. GPIO组成原理3. GPIO工作原理二. I2C1. 什么是I2C?2. I2C组成原理3. I2C的特性4. I2C的通讯模式5. I2C的通讯过程6. I2C接口工作模式7. 硬件拉高拉低的过程8. 一对多9. 开发流程三. SPI1. 什么是SPI?2. SPI优与缺点3. SPI组成原理4. SPI通讯模式5. 通讯过程前言针对GPIO、I2C、SPI的讲解,对这.
摘要由CSDN通过智能技术生成

目录

一. GPIO

1. 什么是GPIO?

2. GPIO组成原理

3. GPIO工作原理

二. I2C

1. 什么是I2C?

2. I2C组成原理

3. I2C的特性

4. I2C的通讯模式

5. I2C的通讯过程

6. I2C接口工作模式

7. 硬件拉高拉低的过程

8. 一对多

9. 开发流程

三. SPI

1. 什么是SPI?

2. SPI优与缺点

3. SPI组成原理

4. SPI通讯模式

5. 通讯过程

前言 

针对GPIO、I2C、SPI的讲解,对这些通讯方式有个大致框架,对日后的开发会有帮助,了解因为所以然。

一. GPIO
1. 什么是GPIO?
GPIO全拼叫General Purpose Input Output(通用输入输出)简称IO口也叫总线扩展器,GPIO口是由引脚,功能寄存器组成,不同的架构中的GPIO封装不同,所使用的引脚数与寄存器数不同,具体可以参考芯片手册里的GPIO篇。

GPIO的作用是用来控制连接在此GPIO口上的外设,我们一般通过观察原理图找到当前板子的GPIO口引出在哪个口上或者排针上,我们把我们的外设接到上面去就可以通过GPIO与这个外设进行交互控制,在驱动层我们通过读写GPIO口中的功能寄存器来改变连接在此GPIO上的外设状态。

2. GPIO组成原理
GPIO原理图如下:

取自STM32F7系列,不同架构的GPIO口封装不同,这里仅用于当前示例

从上面原理图可以看出STM32F7系列GPIO是由三个寄存器以及“TTL肖特基触发器、二极管、P-MOS管和N-MOS管”组成

3. GPIO工作原理
电子器件的作用:

器件名

作用

输出数据寄存器    此寄存器的值会通过输出驱动器输出,其中指定位用于决定使用P-MOS还是N-MOS,有些位表示输出高低电平,如寄存器是4位的,其中0-2位代表输出模式,第3位表示输出电平信号,数字信号1则高电平,数字信号0则低电平
P-MOS    Vgs(电荷)小于一定的值就会导通,利用这个特性和实现推挽与开漏输出
N-MOS    Vgs(电荷)大于一定的值就会导通,利用这个特性和实现推挽与开漏输出
保护二极管    IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入。当引脚电压高于VDD时,上方的二极管导通;当引脚电压低于VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁,即只有电流不高于VDD也不低于VSS时才能正常通过
TTL肖特基触发器    用于将电流信号转化为模拟数字信号0或1,当使用模拟输入时不会通过触发器,模拟输入是指不通过内部转换器,需要外部外接adc进行ad采样转换
每个GPIO口都有一组引脚连接,并且这组引脚,如PA-PG(引脚编号)连接到GPIOA中,其中有一个引脚的作用是输出,说的直接一点GPIO口是一个可编程的引脚,我们通过对GPIO口里的寄存器进行配置,让CPU对特定的引脚输出高电平。

上面涉及到一个知识点,推挽与开漏输出,这两个模式是使用P-MOS与N-MOS两个晶体管实现的

P-MOS与N-MOS的区别

P-MOS是接了VDD(正极电源),所以它拥有输出高电流的能力,所以给P-MOS高电平就可以导通P-MOS管,因为接了电源线的原因一旦导通了就可以让电源线里的工作电压流通,而N-MOS上面接了VSS,若给高电平是无法导通的,因为它没有接电源线是无法输出高电平的,如果给了N-MOS高电平即便流通了因为没有VDD电源线它也无法正常输出电流,若给了低电平则会流向VSS接地处,所以N-MOS只能给低电平才有效,若想N-MOS驱动可以外接上拉电阻。

所以这里输出低电流的话输出到N-MOS晶体管的引脚上,那么始终输出的是接地部分,可以有效降低材料的消耗率。

这里说一下高电平与低电平在电路里的区分:

这里以TTL电路为列,高电平>3.4V,低电平<0.2V,所以即便N-MOS没有输出任何电流,它也是低电平。

使用这两个器件能够在输出高低电平时保证材料的消耗率降低,如果使用一个线路输出高低电平的话会损耗会提升,N-MOS会一直接地,所以输出端其实一点电流都没有,这会极大降低消耗率。

MOS是场效应管,它有两种类型,P沟道与M沟道,至于哪种类型取决于MOS源接在VDD还是VSS,接在VDD就是P沟道,接在VSS就是M沟道

推挽输出

连接在输出控制电路里的数字器件,可以输出高电平与低电平,输出数字信号0时N-MOS导通,P-MOS高阻,输出数字信号1时P-MOS导通&

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值