详细介绍GPIO、I2C、SPI通讯原理以及物理层原理 您所在的位置:网站首页 iic扩展io口 详细介绍GPIO、I2C、SPI通讯原理以及物理层原理

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

2023-12-03 08:59| 来源: 网络整理| 查看: 265

目录

一. 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-MOSVgs(电荷)小于一定的值就会导通,利用这个特性和实现推挽与开漏输出N-MOSVgs(电荷)大于一定的值就会导通,利用这个特性和实现推挽与开漏输出保护二极管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,低电平



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有