提供多主机功能,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开发加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

PCI-Express接口连接器知识分析

PCIe链路的最大宽度为×32,但是在实际应用中,×32的链路宽度极少使用。在一个处理器系统中,一般....

的头像 EDA设计智汇馆 发表于 08-21 18:11 79次 阅读
PCI-Express接口连接器知识分析

分享一个低功耗项目的小小心得

      前两个月在公司做了一个低功耗项目,现在功耗最低10uA不到,平均功耗40uA左右,算是达标了。因为是...

发表于 08-21 17:40 123次 阅读
分享一个低功耗项目的小小心得

STM32代替TMS320F2812有何优势

准备用STM32F769或STM32F427代替TMS32F2812的芯片,实现产品的控制及算法计算。产品主要是AD采集及浮点运算、FF...

发表于 08-21 16:52 112次 阅读
STM32代替TMS320F2812有何优势

STM32中关于uart通信的问题

在uart通信是,如果RX1接收的数据是连续的数据流,而不是单个指令,那么uart要怎么接收并解析数据流里面的指令? 例如:在持...

发表于 08-21 16:27 119次 阅读
STM32中关于uart通信的问题

芯达STM32入门系列教程之二《如何使用J-Flash调试》

对初学者来说,要进行 STM32的程序下载调试,一般有三种方法:1.使用 SEGGER J-Flash(J-Link)下载程序到闪存中运...

发表于 08-21 16:09 70次 阅读
芯达STM32入门系列教程之二《如何使用J-Flash调试》

请问pc与stm32之间无线通信方式有哪些

新手想了解pc与stm32之间无线通信方式,目前 查到的有wifi ,zigbee,蓝牙三种,想问一下是否还有其它方式。 还有该如何学习wif...

发表于 08-21 15:51 94次 阅读
请问pc与stm32之间无线通信方式有哪些

stm32超声波测距传感器(原理图+ARM汇编实现)实现9999毫米内的测距

发表于 08-21 13:44 114次 阅读
stm32超声波测距传感器(原理图+ARM汇编实现)实现9999毫米内的测距

基于STM32的智能家居下位机源码

资料介绍: 基于STM32的智能家居下位机源码( Keil uvision5),是以住宅为平台,利用综合布线技术、网络通信技术、安全防范...

发表于 08-21 11:53 100次 阅读
基于STM32的智能家居下位机源码

请问有用过STM32驱动过基于6963的240128液晶屏的大神吗?

有用过STM32驱动过基于6963的240128液晶屏的大神吗? ...

发表于 08-21 09:51 44次 阅读
请问有用过STM32驱动过基于6963的240128液晶屏的大神吗?

STM32—FMSC详解

STM32 FMSC  LCD难点解析: 以下是网上和自己整理的:感觉应该可以把STM32 ----FSMC LCD中的关键...

发表于 08-21 09:47 176次 阅读
STM32—FMSC详解

单片机学习汇总资料:FSMC的三个配置寄存器

RTC时钟配置必须要用到BKP寄存器,BKP寄存器在单片机复位、电源复位、待机唤醒模式下是不会更改值....

的头像 电子发烧友网 发表于 08-21 09:42 330次 阅读
单片机学习汇总资料:FSMC的三个配置寄存器

编程_STM32 MDK下代码的分段管理

编译大型的程序时,可能某一段代码固定之后不再改变(比如BSP),而应用部分经常修改。在这种情况下,如果使用在线升级或是B...

发表于 08-21 09:41 169次 阅读
编程_STM32 MDK下代码的分段管理

SIM868_STM32示例程序的详细资料合集免费下载手册免费下载

本文档的主要内容详细介绍的是SIM868_STM32示例程序的详细资料合集免费下载手册免费下载。

发表于 08-21 08:00 18次 阅读
SIM868_STM32示例程序的详细资料合集免费下载手册免费下载

PXIe总线控制器:由PXIe-1010总线控制模块与FirmDrive构成,大大简化PXIe板卡的研制开发

长期以来,科技人员为了设计PXIe板卡时不得不花费很多时间和精力来了解PXIe总线,在我国始终没有....

发表于 08-20 09:19 197次 阅读
PXIe总线控制器:由PXIe-1010总线控制模块与FirmDrive构成,大大简化PXIe板卡的研制开发

新一代信号质量分析仪MP1900A BERT,可应对下一代总线及最新的以太网网络

近日消息,安立通讯6月底宣布推出新一代信号质量分析仪MP1900A BERT,该多功能方案可应对下....

发表于 08-19 09:47 35次 阅读
新一代信号质量分析仪MP1900A BERT,可应对下一代总线及最新的以太网网络

开发STM32除了MDK-ARM和IAR,还可以选择哪些软件?

有人问:MDK-ARM和IAR都是属于商业版的软件,为什么还有那么多开发STM32的人都在使用?有什....

的头像 嵌入式资讯精选 发表于 08-18 11:12 198次 阅读
开发STM32除了MDK-ARM和IAR,还可以选择哪些软件?

ARM架构和总线协议如何支持Linux原子操作?

这篇文章探讨ARM架构和总线协议如何来支持的。对于某款ARM处理器和总线CCI,CCN和CMN产品的....

的头像 Linuxer 发表于 08-18 10:57 200次 阅读
ARM架构和总线协议如何支持Linux原子操作?

micropython的详细中文教程资料免费下载

MicroPython在2014成功的在kickstarter上众筹,获得很高的评价,现在越来越多的....

发表于 08-17 18:01 55次 阅读
micropython的详细中文教程资料免费下载

PCIe总线的错误报告机制中四个比较重要的概念

错误报告(Error Reporting):通知系统某个(或多个)错误发生了。在PCIe总线中,发....

的头像 电子技术应用ChinaAET 发表于 08-17 10:09 143次 阅读
PCIe总线的错误报告机制中四个比较重要的概念

基于STM32和WH-NB73连接有人透传云

WH-NBST-EVK扩展板作为STM32 Nucleo-64开发板的配件,板载WH-NB73 NB....

的头像 STM32单片机 发表于 08-15 17:55 387次 阅读
基于STM32和WH-NB73连接有人透传云

STM32系列的32位微控制器详细产品数据手册免费下载

按内核架构分为不同产品: 主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品....

发表于 08-14 17:41 100次 阅读
STM32系列的32位微控制器详细产品数据手册免费下载

嵌入式开发中常用的总线与接口总结

任何一个微处理器都要与一定数量的部件和外围设备连接,但如果将各部件和每一种外围设备都分别用一组线路与....

的头像 嵌入式ARM 发表于 08-14 11:37 248次 阅读
嵌入式开发中常用的总线与接口总结

STM32F101xx和STM32F103xx的固件函数库详细整理资料免费下载

本手册介绍了 32 位基于 ARM 微控制器 STM32F101xx 与 STM32F103xx 的....

发表于 08-14 08:00 84次 阅读
STM32F101xx和STM32F103xx的固件函数库详细整理资料免费下载

LDC1000在STM32的程序

#include "stm32f10x.h" #include "usart1.h" #incl....

发表于 08-13 10:36 44次 阅读
LDC1000在STM32的程序

以FPGA系统为核心的1553B总线接口设计

在总线接口模块中,曼彻斯特编解码是实现功能的核心部分,所以编码数据和解码数据是进行功能验证时观察的重....

发表于 08-12 09:44 83次 阅读
以FPGA系统为核心的1553B总线接口设计

关于PCI总线接口芯片PCI9052的简析及其应用详解

PCI(PeripheralCompornentInterconnect,即外围部件互连)总线是一....

发表于 08-11 11:35 113次 阅读
关于PCI总线接口芯片PCI9052的简析及其应用详解

Wishbone总线的主要特征概括

在以上介绍的三种总线中,CoreConnect虽免费不过需要IBM 公司许可,ARM 没有明确的正式....

的头像 电子技术应用ChinaAET 发表于 08-11 09:14 208次 阅读
Wishbone总线的主要特征概括

《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

《STM32物联网实战教程》集成了单片机教学、计算机网络以及物联网实战这三部分。配合着风媒电子出品的....

发表于 08-10 17:41 206次 阅读
《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

如何设计在stm32中的复位电路?

说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类有很多:上电复位、掉电复位、复位引脚复....

的头像 畅学单片机 发表于 08-10 11:33 319次 阅读
如何设计在stm32中的复位电路?

先进的微控制器总线体系结构AMBA规范定义了三种总线

一个典型的基于AMBA 的微控制器同时集成AHB(或ASB )和APB 接口,如图2 所示。ASB....

的头像 电子技术应用ChinaAET 发表于 08-10 09:45 259次 阅读
先进的微控制器总线体系结构AMBA规范定义了三种总线

如何使用Keil创建STM32F103的工程

创建一个Keil工程,芯片依旧选择STM32F103C8T6,然后在Manage Run-Time ....

的头像 RTThread物联网操作系统 发表于 08-10 09:32 1239次 阅读
如何使用Keil创建STM32F103的工程

总线是什么?有哪些类型?

其实,小编觉得,总线就是是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道。工程师为....

发表于 08-09 17:57 159次 阅读
总线是什么?有哪些类型?

STM32系列MCU,写寄存器Or利用固件库

嵌入式的编程,往下说就是操作MCU的寄存器。而固件库就是函数的集合,固件库函数的作用是向下负责与寄存....

的头像 RTThread物联网操作系统 发表于 08-09 17:22 409次 阅读
STM32系列MCU,写寄存器Or利用固件库

360无线电安全研究院发现NXP芯片漏洞,获得世界芯片巨头重量级致谢

近日,360无线电安全研究院独角兽团队因发现并报告芯片高危漏洞,获得了全球知名半导体制造公司NXP(....

发表于 08-09 15:56 220次 阅读
360无线电安全研究院发现NXP芯片漏洞,获得世界芯片巨头重量级致谢

大联大世平发布基于NXP的汽车电池管理系统方案 运行成本大大降低

大联大世平推出的基于NXP芯片的BMS动力电池管理系统解决方案,其主控单元采用了NXP SPC577....

的头像 人间烟火123 发表于 08-09 15:21 1381次 阅读
大联大世平发布基于NXP的汽车电池管理系统方案 运行成本大大降低

stm32复位电路设计 浅析stm32复位电路方法

某些系统允许复位,但对外设又有特殊要求:某一个IO状态不能因为复位而改变,某一个定时器计数器不能改变....

发表于 08-08 11:32 201次 阅读
stm32复位电路设计 浅析stm32复位电路方法

STM32核板的详细数据手册资料免费下载

STM32核板提供了一种负担得起的和灵活的方式为用户试用新概念,并用STM32微控制器构建原型,从性....

发表于 08-07 08:00 53次 阅读
STM32核板的详细数据手册资料免费下载

AVR嵌入式评估板执行固件更新的技巧和诀窍

几乎所有的嵌入式系统都需要能够在现场更新其固件,从而添加新特性或修复漏洞。然而,固件现场更新可能会颇....

的头像 电子设计 发表于 08-06 09:26 783次 阅读
AVR嵌入式评估板执行固件更新的技巧和诀窍

新款高性能硅调谐器TDA18274,可用于全球的地面和有线电视接收

·恩智浦半导体电视前端产品线国际产品市场经理Fabrice Punch说道:“我们的许多客户已经开始....

发表于 08-05 09:24 369次 阅读
新款高性能硅调谐器TDA18274,可用于全球的地面和有线电视接收

Wishbone部分地址译码的实现

Wishbone部分地址译码的实现如图26所示。对于图中所示IP核,我们假设其只有4个地址,对应4组....

的头像 电子技术应用ChinaAET 发表于 08-05 08:44 383次 阅读
Wishbone部分地址译码的实现

Wishbone共享总线连接与点到点连接

从设备是如何被选择的呢 '若系统中有M个从设备,则地址线被地址译码器分为M个部分,别代表每一个从设备....

的头像 电子技术应用ChinaAET 发表于 08-03 08:55 226次 阅读
Wishbone共享总线连接与点到点连接

一招教你快速解析WAV文件格式

STM32从SD卡中读取语音文件进行播放,因此需要对语音进行解码,刚开始就一直使用Speex的音频压....

的头像 电子设计 发表于 08-01 09:38 1510次 阅读
一招教你快速解析WAV文件格式

学习编程时最常见的问题:如何尽可能有效地处理新信息,如何保持动力

Cortex-M3的设计允许单片机高频运行(现代半导体制造技术能保证 100MHz以上的速度)即使在....

的头像 电子发烧友网 发表于 07-31 10:55 386次 阅读
学习编程时最常见的问题:如何尽可能有效地处理新信息,如何保持动力

STM32F40x接口标准和 STD外围驱动程序详细资料免费下载

本文档的主要内容详细介绍的是STM32F40x接口标准和 STD外围驱动程序详细资料免费下载。

发表于 07-31 08:00 65次 阅读
STM32F40x接口标准和 STD外围驱动程序详细资料免费下载

STM32F40x官方库文件Project的模板和实例的的程序免费下载

本文档的主要内容详细介绍的是STM32F40x官方库文件Project的模板和实例的的程序免费下载。

发表于 07-31 08:00 41次 阅读
STM32F40x官方库文件Project的模板和实例的的程序免费下载

STM32F40x官方库文件Utilities的详细程序免费下载

本文档的主要内容详细介绍的是STM32F40x官方库文件Utilities的详细程序免费下载。

发表于 07-31 08:00 62次 阅读
STM32F40x官方库文件Utilities的详细程序免费下载

keil arm stm32的应用程序免费下载

本文档的主要内容详细介绍的是keil arm stm32的应用程序免费下载这是stm32单片机的软件

发表于 07-31 08:00 101次 阅读
keil arm stm32的应用程序免费下载

高通天价收购NXP失败的原因是什么?

市场监管总局最新表态:27日,市场监管总局发表公告称,已将评估结果通报高通,期望继续与高通沟通,在审....

的头像 半导体观察IC 发表于 07-30 14:04 2435次 阅读
高通天价收购NXP失败的原因是什么?

什么是计算机总线 总线和接口的区别

CPU与外设设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,后者称为储存....

发表于 07-30 11:42 192次 阅读
什么是计算机总线 总线和接口的区别

高通放弃收购NXP,面临强大挑战

据消息报道,全球最大手机芯片供应商高通公司宣布,在贸易战局势愈发紧张的背景下,该公司未能获得中国监管....

的头像 C114通信网 发表于 07-28 12:29 1220次 阅读
高通放弃收购NXP,面临强大挑战

浅谈STM32单片机命名规则和体系架构

对于很多刚刚开始接触STM32系列单片机的人来说,可能会对这一系列的单片机感到茫然,不知道这突然之间....

发表于 07-28 10:18 247次 阅读
浅谈STM32单片机命名规则和体系架构

浅谈STM32芯片行丝印含义,固件库命名规则及三大结构发展图示

外围模块的功能函数的名字,需要有相应的外围模块缩写加下划线这样的前缀,每个单词的首字符要大写。例如S....

发表于 07-28 10:02 201次 阅读
浅谈STM32芯片行丝印含义,固件库命名规则及三大结构发展图示

FPGA和STM32的区别是什么 stm32与fpga的优缺点分析

FPGA中的基本逻辑单元是CLB模块,一个CLB模块一般包含若干个基本的查找表、寄存器和多路选择器资....

发表于 07-28 09:58 279次 阅读
FPGA和STM32的区别是什么 stm32与fpga的优缺点分析

基于FPGA和STM32的FSMC通信

FSMC简介:FSMC即灵活的静态存储控制器,FSMC管理1GB空间,拥有4个Bank连接外部存储器....

发表于 07-28 09:35 98次 阅读
基于FPGA和STM32的FSMC通信

Wishbone总线的地址不变突发示例

在时钟上升沿4,从设备检测到主设备的写操作,将DAT_I()采样。同时从设备发现没有足够的空间存储数....

的头像 电子技术应用ChinaAET 发表于 07-27 09:02 361次 阅读
Wishbone总线的地址不变突发示例

LDC1314和STM32例程详细资料免费下载

本文档的主要内容详细介绍的是LDC1314和STM32例程详细资料免费下载

发表于 07-27 08:00 100次 阅读
LDC1314和STM32例程详细资料免费下载

超详细的STM32单片机学习笔记汇总

AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设....

的头像 传感器技术 发表于 07-26 14:51 1025次 阅读
超详细的STM32单片机学习笔记汇总

Wishbone总线的突发结束

在时钟上升沿1,主设备将DAT_I()采样完成整个突发读操作,同时主设备将新地址信号放到地址总线AD....

的头像 电子技术应用ChinaAET 发表于 07-26 09:01 374次 阅读
Wishbone总线的突发结束

将轮胎压力监测系统和驾驶数据连接到IoT方法

20 多年前,公众开始接触互联网,随之出现了各种全新的公司和工作方式。 互联网的出现打破了传统的实体....

的头像 Duke 发表于 07-26 08:52 1886次 阅读
将轮胎压力监测系统和驾驶数据连接到IoT方法

基于STM32单片机开发板计数器的详细设计资料合集免费下载

本文档的主要内容详细介绍的是基于STM32单片机开发板计数器的详细设计资料合集免费下载。

发表于 07-26 08:00 103次 阅读
基于STM32单片机开发板计数器的详细设计资料合集免费下载