提供多主机功能,STM32的I2C通信简析

MCU开发加油站 2018-01-26 09:37 次阅读

I2C总线是由NXP(原PHILIPS)公司设计,有十分简洁的物理层定义,其特性如下:

• 只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;

• 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;

• 它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;

• 串行的8 位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s;

• 连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。

其典型的接口连线如下:

I2C的协议很简单:

数据的有效性

在传输数据的时候,SDA线必须在时钟的高电平周期保持稳定,SDA的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变 。

起始和停止条件

SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;

SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。

字节格式

发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须处理一个响应位。

应答响应

数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器释放SDA 线(高)。   

在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。

也就是说主器件发送完一字节数据后要接收一个应答位(低电平),从器件接收完一个字节后要发送一个低电平。

寻址方式(7位地址方式)

第一个字节的头7 位组成了从机地址,最低位(LSB)是第8 位,它决定了传输的 普通的和带重复开始条件的7位地址格式方向。第一个字节的最低位是

“0”,表示主机会写信息到被选中的从机;

“1”表示主机会向从机读信息。当发送了一个地址后,系统中的每个器件都在起始条件后将头7 位与它自己的地址比较,如果一样,器件会判定它被主机寻址,至于是从机接收器还是从机发送器,都由R/W 位决定。

仲裁

I2C是所主机总线,每个设备都可以成为主机,但任一时刻只能有一个主机。

stm32至少有一个I2C接口,提供多主机功能,可以实现所有I2C总线的时序、协议、仲裁和定时功能,支持标准和快速传输两种模式,同时与SMBus 2.0兼容。

热门推荐

原文标题:STM32的I2C通信

文章出处:【微信号:mcugeek,微信公众号:MCU开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

插上手机卡到RPRS模块后,用串口助手查看连接状态,为什么显示一直是注册中呢,有谁碰到过这种问题呢

发表于 05-26 12:16 73次阅读
插上手机卡到RPRS模块后,用串口助手查看连接状态,为什么显示一直是注册中呢,有谁碰到过这种问题呢

【限时福利】100%免费获取Altium designer视频教程!

发表于 05-25 18:53 307次阅读
【限时福利】100%免费获取Altium designer视频教程!

I2C基本的传输方式知识整理

当I2C不工作时,SDA和SCL一样都处于高位HIGH,SCL保持为HIGH,SDA由HIGH变LO....

的头像 嵌入式ARM 发表于 05-25 15:09 223次阅读
I2C基本的传输方式知识整理

嵌入式Stm32按键输入控制LED灯

发表于 05-25 14:24 227次阅读
嵌入式Stm32按键输入控制LED灯

stm32 Cortex M3内核 ,CPU调用__disable_irq函数关闭中断后,为何还能接收到中断????????

发表于 05-25 11:41 139次阅读
stm32 Cortex M3内核 ,CPU调用__disable_irq函数关闭中断后,为何还能接收到中断????????

基于STM32F103系列单片机的无线解说器

本实例是以STM32F103系列单片机作为核心处理器,利用VS1003芯片进行音频解码的一种无线解....

的头像 电子设计 发表于 05-25 10:00 890次阅读
基于STM32F103系列单片机的无线解说器

STM32的三种串口通信协议介绍

本文首先介绍了STM32串口硬件电路及串口编程,其次介绍了STM32的三种串口通信协议,最后介绍了S....

发表于 05-25 09:33 755次阅读
STM32的三种串口通信协议介绍

PCIe总线实现了一种叫做Quality of Service(QoS)的机制

PCIe驱动程序(配置软件)通过修改VC资源控制寄存器(VC Resource Control Re....

的头像 电子技术应用ChinaAET 发表于 05-25 09:21 221次阅读
PCIe总线实现了一种叫做Quality of Service(QoS)的机制

深度剖析RS-485组网问题及总线测试

RS-485总线优点众所皆知,并且为保证通信的稳定性,都会使用隔离RS-485模块进行信号隔离。但在....

的头像 ZLG致远电子 发表于 05-25 09:08 681次阅读
深度剖析RS-485组网问题及总线测试

基于北斗卫星系统的机载高速摄像机时间同步器

在民用飞机飞行试验中,为了保证图像测试数据的准确可靠,机上图像测试系统中不同测试设备时间需要严格的统....

的头像 电子设计 发表于 05-25 08:24 306次阅读
基于北斗卫星系统的机载高速摄像机时间同步器

基于STM32的语音导览系统的设计方案

景点语音导览主要有以下几种方式:一种是通过全球定位系统(GPS)的用户终端接收工作卫星的导航信息,从....

的头像 电子设计 发表于 05-25 08:01 620次阅读
基于STM32的语音导览系统的设计方案

请问谁有STM32F407的OLED显示程序?移植了很多关于F1的代码到F4中就是不能显示着是什么原因?

发表于 05-24 21:25 120次阅读
请问谁有STM32F407的OLED显示程序?移植了很多关于F1的代码到F4中就是不能显示着是什么原因?

基于STM32C8T6的四旋翼飞行器控制系统硬件电路方案设计

本文基于四旋翼飞行器的工作原理和性能特点,设计了飞行器控制系统的硬件电路。系统包含微控制器模块、姿态....

的头像 电子设计 发表于 05-24 16:37 1226次阅读
 基于STM32C8T6的四旋翼飞行器控制系统硬件电路方案设计

关于STM32H743 SD卡例程问题

发表于 05-24 11:17 196次阅读
关于STM32H743 SD卡例程问题

NXP i.MX6UL开发板4G通信模块的移植与使用手册.pdf

NXP i.MX6UL开发板4G通信模块的移植与使用手册

发表于 05-24 10:36 54次阅读
NXP i.MX6UL开发板4G通信模块的移植与使用手册.pdf

NXP i.MX6UL 开发板规格参考手册.pdf

NXP i.MX6UL开发板参考手册!!!便于设计参考!

发表于 05-24 09:54 20次阅读
NXP i.MX6UL 开发板规格参考手册.pdf

Flow Control机制可以显著地提高总线的传输效率

PCIe Spec规定,PCIe设备的每一个端口(Ports)都必须支持Flow Control机制....

的头像 电子技术应用ChinaAET 发表于 05-24 09:26 206次阅读
Flow Control机制可以显著地提高总线的传输效率

PCIe总线必须要先完成Flow Control初始化

由于VC0是默认使能的,所以当Flow Control初始化开始时,其会被自动的初始化。其他的Vir....

的头像 电子技术应用ChinaAET 发表于 05-24 09:18 177次阅读
PCIe总线必须要先完成Flow Control初始化

STM32F串口何时才需要打开复用功能?

发表于 05-23 01:29 354次阅读
STM32F串口何时才需要打开复用功能?

cc2530的串口发送问题

发表于 05-22 07:45 63次阅读
cc2530的串口发送问题

STM32的优势在哪里?如何使用DMA来进行ADC操作?

STM32的优点在哪里? 除去宣传环节,细细分析。 STM32时钟不算快,72MHZ, 也不能扩展....

发表于 05-22 07:32 149次阅读
STM32的优势在哪里?如何使用DMA来进行ADC操作?

详解SiP1205和SiP11206的中间总线转换器

中间总线电源架构正在迅速受到人们的青睐。根据Darnell Group的研究,预计未来几年中间总线转....

发表于 05-22 07:18 78次阅读
详解SiP1205和SiP11206的中间总线转换器

请问MSP432中断嵌套配置问题怎么解决?

发表于 05-22 06:24 31次阅读
请问MSP432中断嵌套配置问题怎么解决?

单总线制多机通讯系统的总线设计

本设计实现的多机呼叫系统的主要功能是:分机呼叫主机,利用单片微机向主机发送数字呼叫信息,主机响应后,....

发表于 05-22 06:12 91次阅读
单总线制多机通讯系统的总线设计

大联大控股宣布,其旗下品佳推出以MTK3360/AC8317为核心硬件平台

致力于亚太地区市场的领先电子元器件分销商—大联大控股宣布,其旗下品佳推出以MTK3360/AC831....

发表于 05-21 17:30 202次阅读
大联大控股宣布,其旗下品佳推出以MTK3360/AC8317为核心硬件平台

STM32串口实现485双机通信的原理

如果按键按下了,就会发送数据,就会产生接收中断,就会往我们定义的接收缓冲区(RS485_RX_BUF....

的头像 玩转单片机 发表于 05-21 17:27 475次阅读
STM32串口实现485双机通信的原理

请问STM32单片机和 ABZ三相接口的编码器该怎么连接?

发表于 05-21 15:06 766次阅读
请问STM32单片机和 ABZ三相接口的编码器该怎么连接?

ad7606与stm32连接电路介绍

本文首先对stm32产品概述及特性进行了介绍,其次介绍了AD7606相关概念,最后介绍了ad7606....

发表于 05-21 11:45 204次阅读
ad7606与stm32连接电路介绍

消息总线和消息队列的区别是什么?

消息队列的clientAPI大都面向协议、通信实现,面向可用性以及高性能,如果归类一下那就是面向技术....

发表于 05-21 10:18 82次阅读
消息总线和消息队列的区别是什么?

总线的含义是什么?又有什么特性?

Altium Content团队很高兴地向您宣布,我们发布了1850个新元件,从而更新了FTDI目录....

发表于 05-21 10:18 109次阅读
总线的含义是什么?又有什么特性?

一文详解存储器访问和总线

这一篇主要来介绍存储区,总线,以及IO设备等其他几大组件,来了解整个计算机是如何工作的。 这些东西都....

发表于 05-21 07:18 107次阅读
一文详解存储器访问和总线

一文了解STM32窗口看门狗的真正作用

STM32有2个看门狗:独立看门狗和窗口看门狗。 独立看门狗IWDG--独立于系统之外,因为有独立....

的头像 电子发烧友网工程师 发表于 05-20 10:17 347次阅读
一文了解STM32窗口看门狗的真正作用

如何判断STM32的复位类型_STM32软件复位bug有哪些

上电复位,是为了为程序的开始作好准备,强制的所有的数据清零,它必须要从零开始。

的头像 电子发烧友网工程师 发表于 05-20 10:06 373次阅读
如何判断STM32的复位类型_STM32软件复位bug有哪些

认识一下这款名叫“CAN总线存储器”的神器

CAN总线数据不能及时查看怎么办?CAN总线数据过多没时间处理怎么办?想要回看CAN总线历史数据又怎....

的头像 广成CAN总线 发表于 05-20 08:08 1108次阅读
认识一下这款名叫“CAN总线存储器”的神器

NXP的Cortex-M系列为例做简要介绍Linux开发

单片机与应用处理器的核心区别到底是什么呢?是核心主频的差异?还是Linux系统的支持?又或者是处理器....

的头像 ZLG致远电子 发表于 05-20 08:00 1074次阅读
NXP的Cortex-M系列为例做简要介绍Linux开发

NCF29A1原理图下载.pdf

NCF29A1原理图

发表于 05-19 10:15 84次阅读
NCF29A1原理图下载.pdf

STM32F0多路ADC采样中的BUG和解决方案

使用CUBE生产的ADC无法配置多路采样,多路采样采集值不对,研究后发现是底层函数没有将CHANNE....

发表于 05-18 15:01 117次阅读
STM32F0多路ADC采样中的BUG和解决方案

一文解析stm32产生spwm原理及程序

SPWM(Sinusoidal PWM)法是一种比较成熟的,目前使用较广泛的PWM法。SPWM法就是....

的头像 陈翠 发表于 05-18 09:11 2218次阅读
一文解析stm32产生spwm原理及程序

SD卡两种总线方式

而SPI方式采用4线制,使用CS、CLK、DataIn、DataOut进行数据通信。SD方式时的数据....

的头像 电子工程专辑 发表于 05-18 08:46 398次阅读
SD卡两种总线方式

stm32休眠_RTC定时唤醒来喂狗

在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起....

发表于 05-18 01:56 82次阅读
stm32休眠_RTC定时唤醒来喂狗

STM32独立看门狗和低功耗模式_RTC定时唤醒来喂狗

在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起....

发表于 05-18 01:55 69次阅读
STM32独立看门狗和低功耗模式_RTC定时唤醒来喂狗

STM32独立看门狗介绍_STM32单片机独立看门狗实验

STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,它也仍然有效。这里需要....

发表于 05-18 01:49 94次阅读
STM32独立看门狗介绍_STM32单片机独立看门狗实验

基于STM32内置ADC实现简易示波器的程序设计与实现

ADC转换:STM32增强型芯片内置的2个独立ADC,可以有16个通道,并且2个通道可以并行的同步采....

发表于 05-18 01:44 224次阅读
基于STM32内置ADC实现简易示波器的程序设计与实现

STM32单片机的模拟看门狗的库函数设置

ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LT....

发表于 05-18 01:29 58次阅读
STM32单片机的模拟看门狗的库函数设置

一文看懂stm32的引脚的两种用途:GPIO和AFIO

stm32的引脚有两种用途:GPIO(generalpurposeio)和AFIO(alternat....

发表于 05-18 01:22 173次阅读
一文看懂stm32的引脚的两种用途:GPIO和AFIO

一文读懂FPGA中的除法运算及初识AXI总线

FPGA中的硬件逻辑与软件程序的区别,相信大家在做除法运算时会有深入体会。若其中一个操作数为常数,可....

发表于 05-18 01:15 98次阅读
一文读懂FPGA中的除法运算及初识AXI总线

STM32的ADC简介_DMA方式的程序设计与实现

ADC(Analog-to-Digital Converter,模/ 数转换器)。也就是将模拟信号....

发表于 05-18 01:12 173次阅读
STM32的ADC简介_DMA方式的程序设计与实现

一文读懂STM32之独立看门狗/窗口看门狗的原理

STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即主时钟发生故障,它也仍然有效,这里我们需....

发表于 05-18 01:06 70次阅读
一文读懂STM32之独立看门狗/窗口看门狗的原理

ST MCU的生态系统:物联网催生新服务 STM32家底还算殷实?

生态系统原意是指在一定的地域内,生物与环境形成的统一的整体。随着经济社会的发展,现在我们提到生态系统....

发表于 05-17 17:16 666次阅读
ST MCU的生态系统:物联网催生新服务 STM32家底还算殷实?

窗口看门狗的作用是什么?窗口看门狗复位分析

程序初始化LED点亮延时300ms熄灭,窗口看门狗从0x7F开始递减计数,上窗口为0x5F,下窗口为....

发表于 05-17 13:54 110次阅读
窗口看门狗的作用是什么?窗口看门狗复位分析

STM32看门狗WWDG和IWDG的区别是什么

STM32有2个看门狗:独立看门狗和窗口看门狗。 独立看门狗IWDG:独立于系统之外,因为有独立时....

发表于 05-17 13:51 54次阅读
STM32看门狗WWDG和IWDG的区别是什么

简谈总线接口

大家好,又到了每日学习的时候了。今天我们来聊一聊总线接口。 一、I2C总线 I2C总线是PHLIPS....

的头像 FPGA学习交流 发表于 05-17 09:30 843次阅读
简谈总线接口

stm32驱动ad9854程序分享_ad9854构成信号发生器电路

AD9854数字合成器是高集成度的器件。本文首先介绍了ad9854优势和特点,其次介绍了ad9854....

的头像 电子魔法师 发表于 05-17 09:23 343次阅读
stm32驱动ad9854程序分享_ad9854构成信号发生器电路

CAN通信收发器的演变

在CAN通信中,收发器起到了十分相当特别的作用。目前市面的收发器型号也是不计其数,本文则是根据收发器....

的头像 人间烟火123 发表于 05-16 18:16 971次阅读
CAN通信收发器的演变

STM32调试步骤

调试前,首先跳线J9的2-3脚短接,跳线J4的右边两个脚短接,跳线J5短接,J8短接,J2的1-2短....

的头像 畅学单片机 发表于 05-16 10:42 497次阅读
STM32调试步骤

了解TrueSTUDIO9.0给STM32开发带来的新价值

现在ST正式发布整合后第一个Atollic TrueSTUDIO版本 9.0,正式为STM32用户提....

的头像 ST MCU 信息交流 发表于 05-16 09:24 959次阅读
了解TrueSTUDIO9.0给STM32开发带来的新价值

基于NXP KV30电机专用MCU的ESC-20A-Nano3电调

ADRC的“扩张状态观测器”输出的观测扰动,包含系统外部的干扰,如强风吹动螺旋桨,影响无人机的电机速....

的头像 周立功单片机 发表于 05-16 09:11 804次阅读
基于NXP KV30电机专用MCU的ESC-20A-Nano3电调

无刷直流电机基于ADRC的无感FOC速度控制方案

世事往往真假错乱,难以区分。ADRC算法根据自身的控制能力,只执行合理的命令,避免执行错误的命令后,....

的头像 周立功单片机 发表于 05-15 09:19 980次阅读
无刷直流电机基于ADRC的无感FOC速度控制方案

高通再次延长NXP交易期限 有效期延长5月25日下午5点

高通收购NXP的路程可谓是波折重重,但是依然没有进展。日前,高通宣布,将收购NXP的交易的有效期延长....

的头像 肖青梅 发表于 05-14 09:32 739次阅读
高通再次延长NXP交易期限 有效期延长5月25日下午5点

STM32中的位带(bit-band)操作

位带别名区的字只有 LSB 有意义。另外,在访问位带别名区时,不管使用哪一种长度的数据传送指令(字/....

的头像 21ic电子网 发表于 05-13 09:28 253次阅读
STM32中的位带(bit-band)操作