- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
************ARM微控制器与嵌入式系统
I2C协议主讲人:景妮琴北京电子科技职业学院内容I2C串行总线概述I2C协议—物理层I2C协议—协议层I2C总线数据传送的模拟I2C串行总线概述采用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。常用的串行扩展总线有:I2C(InterICBUS)总线、单总线(1-WIREBUS)、SPI(SerialPeripheralInterface)总线及Microwire/PLUS等。I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。I2C串行总线概述I2C串行总线概述I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。I2C串行总线概述I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。I2C串行总线概述每个接到I2C总线上的器件都有唯一的地址。主机与器件间的数据传送可以是由主机发送数据到器件,这时主机即为发送器。总线上接收数据的器件则为接收器。在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。在单片机应用系统的串行总线扩展中,我们经常遇到的是以单片机为主机,其它接口器件为从机的单主机情况。I2C协议—物理层I2C协议简介I2C通讯协议(Inter-IntegratedCircuit)是由Philips公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。I2C协议—物理层它是一个支持多设备的总线。“总线”指多个设备共用的信号线。一个I2C总线只使用两条总线线路,串行数据线:SDA,用来表示数据串行时钟线:SCL,用于数据收发同步I2C协议—物理层每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。总线通过上拉电阻接到电源。当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。7位地址最多连接128个设备10位地址最多连接1024个设备I2C协议—物理层具有三种传输模式:标准模式传输速率为100kbit/s快速模式为400kbit/s高速模式下可达3.4Mbit/s,但目前大多I2C设备尚不支持高速模式。连接到相同总线的IC数量受到总线的最大电容400pF限制。I2C协议—协议层I2C的协议定义了:通讯的起始和停止信号数据有效性响应仲裁时钟同步地址广播I2C协议—协议层起始和停止信号:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示停止信号。起始和停止信号一般由主机产生。I2C协议—协议层数据位的有效性规定:I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。I2C协议—协议层地址及数据方向:I2C总线上的每个设备都有自己的独立地址,主机发起通讯时,通过SDA信号线发送设备地址(SLAVE_ADDRESS)来查找从机。设备地址可以是7位或10位。紧跟设备地址的一个数据位R/W用来表示数据传输方向,数据方向位为“1”时表示主机由从机读数据,该位为“0”时表示主机向从机写数据。I2C协议—协议层响应:I2C的数据和地址传输都带响应。响应包括“应答(ACK)”和“非应答(NACK)”两种信号。传输时主机产生时钟,在第9个时钟时,数据发送端会释放SDA的控制权,由数据接收端控制SDA,若SDA为高电平,表示非应答信号(NACK),低电平表示应答信号(ACK)。I2C协议—协议层数据传输的数据帧格式:I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(可以是7位),接下来(第8位)是数据的传送方向位,用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。每次数据传送总是由主机产生的终止信号结束。若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。数据传输分为:主机写数据到从机
您可能关注的文档
- ARM微控制器与嵌入式系统 课件 22 STM32-USART.ppt
- ARM微控制器与嵌入式系统 课件 23 USART编程要点.ppt
- ARM微控制器与嵌入式系统 课件 24 USART编程实验.ppt
- ARM微控制器与嵌入式系统 课件 25 Systick.ppt
- ARM微控制器与嵌入式系统 课件 26 Systick 编程实验.ppt
- ARM微控制器与嵌入式系统 课件 27 SPI协议.ppt
- ARM微控制器与嵌入式系统 课件 28 STM32-SPI.ppt
- ARM微控制器与嵌入式系统 课件 29 PWM原理.ppt
- ARM微控制器与嵌入式系统 课件 30 定时器输出PWM编程要点.ppt
- ARM微控制器与嵌入式系统 课件 31 定时器输出PWM编程实验.ppt
文档评论(0)