江协科技stm32————10-4 I2C通信协议

目录

I2C外设简介

I2C功能框图

基本结构图(一主多从)

GPIO复用输入输出图

主机发送​编辑

START

stop ​

[EV5 (标志位)](#EV5 (标志位))

BTF

主机接收

ACK

软件/硬件波形对比

I2C外设简介

  • 可变多主机模型
  • 11110作为10位地址模式的标志位,后面跟着的8位位地址位

I2C功能框图

一、SDA和SCL借用GPIO的复用模式与外部相连

二、一个字节的数据写入DR,在数据移位寄存器没有数据移位时,DR的值转入移位寄存器,在其移位过程中,下一个数据就可以在DR中等待,移位完成立即接上,当R的值转入移位寄存器时,置状态寄存器的TXE位为1,表示发送寄存器为空

三、接收时,数据由SDA一位一位的移入移位数据寄存器,收齐之后,整体转入DR,置标志位RXNE为1,表示接收寄存器非空

四、STM32为 可变多主机模型,在作为从机时,支持同时响应两个从机地址,所以有自身和双地址寄存器

基本结构图(一主多从)

I2C高位先行,移位寄存器是左移的

GPIO配置为复用开漏输出模式

GPIO复用输入输出图

主机发送

STM32默认为从模式

7位主发送流程:起始、从机地址、应答、数据1、应答、数据2、应答、......、停止

EV8_1时,移位寄存器空,DR空,写入DR,

EV8时,数据由DR转入移位寄存器,此时DR空,移位寄存器非空,继续写入数据在DR中EV8状态消失,随后数据由DR转入移位寄存器,此时DR空,移位寄存器非空..................直到所有想要的数据发送完毕,EV8_2,移位寄存器空,BTF字节发送结束,随后STOP。

START

写1产生起始条件

stop

EV5 (标志位)

SB为1,表示起始条件已发送

BTF

主机接收

起始,EV5(起始条件已发送),寻址,接收应答,EV6(寻址已完成),数据1(代表数据正在通过移位寄存器进行输入),EV6_1(数据还在移位,没有标志位),数据1传输完成时,A响应,此时移位寄存器已经转入一个字节的数据1,将数据1的一个字节整体转入数据寄存器DR中(EV7:置RXNE,表示DR非空),重复此过程接收数据,当不在需要接收数据时,EV7_1:将ACK置0,和STOP请求

ACK

软件/硬件波形对比

软件时序的时钟周期、占空比不如硬件规整(不影响效果)

相关推荐
wuyk5554 小时前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
shijuejianceliu10 小时前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机
Zw-awa13 小时前
OLED为什么能显示字:软件I2C换成硬件I2C
stm32
不脱发的程序猿14 小时前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32
FPGA小迷弟18 小时前
FPGA 与千兆以太网校验和:从原理到 Verilog 实现
嵌入式硬件·fpga开发·无人机·ai编程·fpga
观察世界18 小时前
前沿模型论坛发布越狱评级框架:给网络安全类越狱分等级,决定先修哪个
科技
昂永科技|非标件自动报价系统19 小时前
# 昂永(上海)科技非标件自动核价系统落地无锡先导,助力制造核价数字化
大数据·科技·制造
Zw-awa1 天前
协议是人为约定:同一个字节能有三种意思
stm32
国科安芯1 天前
83 倍:ASC0108S 在推挽和开漏之间,差的不是速度,是回程
单片机·嵌入式硬件·架构·电平转换·抗辐射
国科安芯2 天前
从遥控到自治:ASP4644S2B支撑星载电源健康管理与容错配电
网络·单片机·嵌入式硬件·安全·dcdc·低轨卫星·商业航天