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

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

心博天下娱乐平台 www.syycw.cn 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兼容。

MCU开发加油站 技术专区

原文标题:STM32的I2C通信

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

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

需要做一套水质监测系统,想请问一下各位大神有研究得能提供一下方案不

发表于 04-08 17:03 ? 99次阅读
需要做一套水质监测系统,想请问一下各位大神有研究得能提供一下方案不

STM32Note初识单片机

本连载将以STM32F103为例为学习嵌入式系统开发搭建一个基础知识框架。 初识单片机系列将会介绍单....

发表于 04-08 10:00 ? 14次阅读
STM32Note初识单片机

77GHz雷达信号处理流程框图及应用方案

车载毫米波雷达可以有效的提高汽车的主动安全性能,是实现ADAS和无人驾驶的终极目标必备之神器。

的头像 安富利 发表于 04-08 08:53 ? 442次阅读
77GHz雷达信号处理流程框图及应用方案

基于STM32芯片的一款智能台灯

随着现代科学技术的不断发展,生活用品的智能化程度也越来越普及,人们对一些家居物品的人性化、智能化设计....

的头像 21ic电子网 发表于 04-08 08:48 ? 283次阅读
基于STM32芯片的一款智能台灯

温度传感器I2C的总线应用及设计

需求:读嵌入式温度传感器的值。已知条件:*温度传感器已经在主板上焊好了。*温度传感器型号为lm75*....

的头像 嵌入式ARM 发表于 04-07 07:11 ? 815次阅读
温度传感器I2C的总线应用及设计

LIN作为最后一公里网络成为最佳解决方案原因

汽车内部的典型设置包括带CAN/LIN网关的微控制器。CAN可将消息传递给微控制器,微控制器将这些消....

的头像 德州仪器 发表于 04-07 06:03 ? 904次阅读
LIN作为最后一公里网络成为最佳解决方案原因

基于STM32的家庭服务机器人系统工作原理及设计

为解决当前大部分家庭服务机器人不具备行走功能或只具有简单的避障能力等问题,本文设计一种基于STM32....

的头像 电子发烧友网工程师 发表于 04-06 08:26 ? 374次阅读
基于STM32的家庭服务机器人系统工作原理及设计

基于STM32的伺服压力机控制系统设计

伺服压力机的基本结构及对控制系统的要求与传统压力机比较,伺服压力机取消了原有压力机的飞轮和离合器,保....

的头像 电子发烧友网工程师 发表于 04-06 08:07 ? 225次阅读
基于STM32的伺服压力机控制系统设计

STM32的串口中断配置

STM32的串口中断配置,也是很简单的. 首先是配置UART的GPIO口 首先是配置UART的GPI....

的头像 电子发烧友网工程师 发表于 04-06 07:24 ? 200次阅读
STM32的串口中断配置

基于STM32单片机的DLP1700显示电路、光路系统改进设计

传统的数字微镜显示技术的信号输入端是由DVI接口提供图像信号和行场同步信号,由MSP430单片机对D....

的头像 电子发烧友网工程师 发表于 04-06 02:58 ? 164次阅读
基于STM32单片机的DLP1700显示电路、光路系统改进设计

这样做为什么会导致占空比改变?

发表于 04-05 17:28 ? 81次阅读
这样做为什么会导致占空比改变?

Keil MDK3.20的stm32调试方法

要点: (1)程序的下载地址改到RAM空间中 (2)程序的debug之前要设定SP,PC指针到R....

发表于 04-04 11:49 ? 70次阅读
Keil MDK3.20的stm32调试方法

基于STM32的数字PDA系统软件系统设计

数字PDA系统整体由硬件电路和软件系统2部分组成,硬件电路由低功耗ARM微控制器STM32ZET6控....

发表于 04-04 11:25 ? 79次阅读
基于STM32的数字PDA系统软件系统设计

蓝牙低能(BLE)控制机器人设计详解

NXP公司的KW40Z/30Z/20Z是超低功耗高度集成单片器件,集成了工作在2.36 GHz 到2....

的头像 电子发烧友网工程师 发表于 04-04 09:33 ? 124次阅读
蓝牙低能(BLE)控制机器人设计详解

stm32 LCD12864 串口无显示

发表于 04-03 23:41 ? 224次阅读
stm32   LCD12864 串口无显示

请问像4054那样的充电ic,如何用单片机读取chrg端口充电状态

发表于 04-03 15:57 ? 173次阅读
请问像4054那样的充电ic,如何用单片机读取chrg端口充电状态

Alexa语音服务软件扩展STM32Cube

X-CUBE-AVS扩展套件包含一组用于STM32F7系列微控制器的库和应用示例,充当支持Alexa....

的头像 设计idea 发表于 04-03 13:41 ? 1600次阅读
Alexa语音服务软件扩展STM32Cube

大联大品佳集团推出基于NXP i.MX8X的车用数字仪表板解决方案

 2018年4月3日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下品佳代理....

的头像 人间烟火123 发表于 04-03 12:34 ? 2305次阅读
大联大品佳集团推出基于NXP i.MX8X的车用数字仪表板解决方案

STM32进入和退出睡眠模式

要求系统按如下方式进入和退出睡眠模式:在系统启动2秒后,将RTC在3秒钟之后配置为产生一个报警事件,....

发表于 04-03 11:43 ? 44次阅读
STM32进入和退出睡眠模式

STM32开放式开发环境手册

发表于 04-03 10:50 ? 151次阅读
STM32开放式开发环境手册

用于STM32Cube的Alexa语音服务软件扩展

发表于 04-03 10:44 ? 225次阅读
用于STM32Cube的Alexa语音服务软件扩展

开始使用STM32Cube的Alexa语音服务软件扩展

发表于 04-03 10:43 ? 185次阅读
开始使用STM32Cube的Alexa语音服务软件扩展

STM32单片机--PWM输出

采用定时器2的通道2,使PA1输出频率1K,占空比40的PWM波形,用PA8随意延时取反led灯,指....

的头像 电子发烧友网工程师 发表于 04-03 08:54 ? 85次阅读
STM32单片机--PWM输出

PCI总线基本概念详解

最初的PCI总线的时钟频率为33MHz,但是随着版本的跟新,时钟频率也逐渐的提高。但是由于PCI采用....

的头像 电子技术应用ChinaAET 发表于 04-03 08:52 ? 167次阅读
PCI总线基本概念详解

单片机STM32时钟图文理解

如输出到称为HCLK、FCLK的时钟,还直接输出到SDIO外设的SDIOCLK时钟、存储器控制器FS....

的头像 21ic电子网 发表于 04-03 08:45 ? 204次阅读
单片机STM32时钟图文理解

从新能源汽车CAN总线入手,学习兼容性更强大通讯系统

CAN总线通讯发展的过程中,为了兼容实时操作系统,是否也有与之对应的实时通讯网络协议? 今天我们就来....

的头像 ZLG致远电子 发表于 04-03 08:26 ? 1862次阅读
从新能源汽车CAN总线入手,学习兼容性更强大通讯系统

RT-Thread Nano 3.0.3 的基本功能及如何下载与使用

RT-Thread是一个高度可配置的嵌入式实时操作系统,配置文件是rtconfig.h。Nano就是....

的头像 RTThread物联网操作系统 发表于 04-02 15:58 ? 134次阅读
RT-Thread Nano 3.0.3 的基本功能及如何下载与使用

PCI和PCI-X总线简介

PCI-E接口根据总线位宽不同而有所差异,一个PCI Express连接可以被配置成x1, x2, ....

的头像 电子技术应用ChinaAET 发表于 04-02 09:30 ? 71次阅读
PCI和PCI-X总线简介

求Labview开发STM32的工具包和licence

发表于 04-01 11:29 ? 130次阅读
求Labview开发STM32的工具包和licence

适配Nano-PCB的 便携式口袋ARM开发板 3D打印数据及机加工数据

发表于 03-30 16:21 ? 278次阅读
适配Nano-PCB的 便携式口袋ARM开发板 3D打印数据及机加工数据

STM32三种BOOT模式介绍

内置SRAM,既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。假如我只修改了....

的头像 MCU开发加油站 发表于 03-30 16:09 ? 339次阅读
STM32三种BOOT模式介绍

STM32_IAP详解(有代码,有上位机)

 和app中分别放置两套中断向量表,当iap代码中将app烧写到flash中之后,跳转到app的中断....

的头像 单片机爱好者 发表于 03-30 15:58 ? 153次阅读
STM32_IAP详解(有代码,有上位机)

stm32如何制作一个读取U盘文件系统的工程

发表于 03-30 15:29 ? 267次阅读
stm32如何制作一个读取U盘文件系统的工程

STM32内存管理以及STM32中的堆栈

这个是MDK编译之后能够得到的每个段的大小,也就能得到占用相应的FLASH和RAM的大小,但是还有两....

的头像 嵌入式ARM 发表于 03-29 13:45 ? 320次阅读
STM32内存管理以及STM32中的堆栈

基于stm32的PWM输出呼吸灯(包括stm32呼吸灯代码)

本文主要介绍了基于stm32的pwm呼吸灯设计与实现。使用定时器来控制I/O口输出PWM波形,从而驱....

的头像 沈丹 发表于 03-28 16:23 ? 318次阅读
基于stm32的PWM输出呼吸灯(包括stm32呼吸灯代码)

STM32学习—如何选择各个电路部分的主要芯片

最小系统:考虑到小车的主控板可以作为今后做四轴或其他更高级的机器人的基础电路,所以主控选择了STM3....

的头像 玩转单片机 发表于 03-27 09:59 ? 399次阅读
STM32学习—如何选择各个电路部分的主要芯片

STM32片内FLASH被异常改写的问题分享

到此问题毫无进展,只好求助ST芯片设计人员做进一步确认,看看芯片是否真的坏了。同时,又请客户的硬件工....

的头像 ST MCU 信息交流 发表于 03-26 11:24 ? 266次阅读
STM32片内FLASH被异常改写的问题分享

STM32的存储器映射详解

存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOT,BLOCK等进行统一编址。

的头像 MCU开发加油站 发表于 03-23 15:24 ? 329次阅读
STM32的存储器映射详解

大联大世平集团推出基于NXP产品的15W单线圈定频无线充电解决方案

随着苹果iPhone8及iPhone X发布后,无线充电市场出现井喷式增长。目前,整个无线充电市场已....

的头像 人间烟火123 发表于 03-22 15:41 ? 1696次阅读
大联大世平集团推出基于NXP产品的15W单线圈定频无线充电解决方案

浅淡CAN总线,CAN总线网络拓扑结构

CAN 总线网络是一种真正的多主机网络,在总线处于空闲状态时,任何一个节点单元都可以申请成为主机,向....

的头像 嵌入式ARM 发表于 03-22 11:13 ? 480次阅读
浅淡CAN总线,CAN总线网络拓扑结构

想要驾驭Linux驱动开发,必须深刻理解Linux总线设备驱动框架

想要驾驭Linux驱动开发,必须深刻理解Linux总线设备驱动框架。之所以会形成这样的框架,主要是为....

的头像 嵌入式ARM 发表于 03-22 11:08 ? 290次阅读
想要驾驭Linux驱动开发,必须深刻理解Linux总线设备驱动框架

大联大控股世平推出 TI 、NXP 多领域应用人机交互平台

安全监控系统中,中控显示人机交互是最重要的部分,大联大控股世平代理的 TI Sitara Corte....

发表于 03-22 09:23 ? 60次阅读
大联大控股世平推出 TI 、NXP 多领域应用人机交互平台

浅谈I2C总线,I2C接口和SPI接口的作用相同

SDA 和 SCL 都是双向的。SPI 总线有两根单独的线,分别用于两个方向的通信,而 I2C 总线....

的头像 嵌入式ARM 发表于 03-21 10:24 ? 2544次阅读
浅谈I2C总线,I2C接口和SPI接口的作用相同

测量应用挑选总线的标准是什么

帮助您选择合适的总线的 5 道问题   1. 有多大的数据量经过该总线?   2. 我对单点 I....

发表于 03-21 10:07 ? 84次阅读
测量应用挑选总线的标准是什么

IAR在STM32的配置方法

FWLib-用来存放所需固件库的头文件;2).StartUp-用来存放STM32的启动代码,添加co....

的头像 MCU开发加油站 发表于 03-20 15:52 ? 329次阅读
IAR在STM32的配置方法

(纯干货)使用STM32测量频率和占空比的几种方法

本文详细介绍了使用STM32测量频率和占空比的几种方法。

的头像 单片机爱好者 发表于 03-13 15:43 ? 779次阅读
(纯干货)使用STM32测量频率和占空比的几种方法

“雷赛EtherCAT & RTEX总线方案发布会”在广州举办

除此之外,雷赛还拥有全球销量最高的步进驱动产品,同时引领着国内步进驱动器的发展趋势。雷赛的驱动产品以....

的头像 PCBworld 发表于 03-13 14:46 ? 758次阅读
“雷赛EtherCAT & RTEX总线方案发布会”在广州举办

用STM32测量频率和占空比的几种方法

在内存复制过程中,面对大数据量的转移时利用DMA。所以,我们使用输入捕获事件触发DMA来搬运寄存器而....

的头像 玩转单片机 发表于 03-13 10:02 ? 1540次阅读
用STM32测量频率和占空比的几种方法

汽车总线对HID安定器的防反接保护及热插拔电路的设计

MOS管通过S管脚和D管脚串接于电源和负载之间,电阻Rg为MOS管提供电压偏置,利用MOS管的开关特....

的头像 21ic电子网 发表于 03-12 11:35 ? 293次阅读
汽车总线对HID安定器的防反接保护及热插拔电路的设计

不为人知的示波器十二般武艺

示波器是人们设计、制造或协议解码根据示波器波形显示进行串行总线手动解 码既耗时又容易出错。在这一相对....

的头像 电子工程专辑 发表于 03-10 09:53 ? 712次阅读
不为人知的示波器十二般武艺

ZLG携手NXP举行i.MX RT 跨界处理器全国巡回研讨会

2018年3月20号—4月3号,ZLG将携手NXP在全国6大城市(广州、深圳、上海、杭州、南京、北京....

的头像 ZLG致远电子 发表于 03-09 15:24 ? 797次阅读
ZLG携手NXP举行i.MX RT 跨界处理器全国巡回研讨会

stm32使用中出现的警告

使用keill编写了一个程序 ? ?如下:? ??uint8_t Count_Init(uint16....

发表于 03-09 09:45 ? 70次阅读
stm32使用中出现的警告

5分钟芯闻 | 今年7月1日前取消流量漫游费;大股东拟转让NXP标准业务股权,旷达、闻泰科技等竞相争夺...

1、定了!今年7月1日前取消流量漫游费工信部副部长陈肇雄6日接受新华社记者专访时表示,工信部将推动基....

的头像 半导体动态 发表于 03-08 10:54 ? 832次阅读
5分钟芯闻 | 今年7月1日前取消流量漫游费;大股东拟转让NXP标准业务股权,旷达、闻泰科技等竞相争夺...

基于STM32的三轴数字罗盘HMC5883L模块的测试方案

最近买了个数字罗盘模块,调通后发现很不错,非常灵敏,测试的时候精度在1°以内。连续测量模式下,最快测....

发表于 03-08 08:40 ? 268次阅读
基于STM32的三轴数字罗盘HMC5883L模块的测试方案

意法半导体的新STM32让物联网设备快速连接云服务

意法半导体的新STM32探索套件简化移动网至云端连接,并提供免费试用的第三方服务,让物联网设备能够通....

发表于 03-02 16:44 ? 344次阅读
意法半导体的新STM32让物联网设备快速连接云服务

一文了解stm32使用DMA模块的相关操作

CPU最重要的工作室进行数据运算,从加减乘除到一些高级的运算,包括浮点、积分、微分、FFT等。CPU....

的头像 MCU开发加油站 发表于 02-27 11:18 ? 3334次阅读
一文了解stm32使用DMA模块的相关操作

大联大品佳集团推出NXP整合式智能门锁解决方案,提供更便捷、更安全的智能生活体验

2018年2月27日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下品佳推出....

的头像 人间烟火123 发表于 02-27 10:39 ? 3457次阅读
大联大品佳集团推出NXP整合式智能门锁解决方案,提供更便捷、更安全的智能生活体验

NXP推出GreenBox汽车电气化开发平台 推动HEV/EV设计发展

用于设计和测试新一代电动汽车的控制算法和能源管理任务的高性能处理器平台 恩智浦半导体(纳斯达克代码:....

的头像 电子发烧友网工程师 发表于 02-26 16:22 ? 951次阅读
NXP推出GreenBox汽车电气化开发平台 推动HEV/EV设计发展

关于STM32的 一个TIM1 的PWM程序和PWM简单使用

高级定时器与通用定时器比较类似,下面是一个TIM1 的PWM 程序,TIM1是STM32唯一的高级定....

发表于 02-24 14:39 ? 516次阅读
关于STM32的 一个TIM1 的PWM程序和PWM简单使用

重大事件快讯:高通收购NXP加码16%至440亿美元

1.高通收购NXP加码16%至440亿美元,每股127.5美元; 集微网消息,高通周二将收购荷兰汽车....

的头像 电子发烧友网工程师 发表于 02-21 11:10 ? 1733次阅读
重大事件快讯:高通收购NXP加码16%至440亿美元