15 I2C总线控制器

发布者:CreativeDreamer最新更新时间:2024-07-30 来源: cnblogs关键字:I2C  总线控制器 手机看文章 扫描二维码
随时随地手机看文章

15.1 概述

I2C为双线,双向串行总线,为设备之间的数据通讯提供了简单有效的方法。标准I2C是多主机总线,包括冲突检测和仲裁机制以防止在两个或多个主机试图同时控制总线时发生的数据冲突。 


数据在主机与从机间同步于SCL时钟线在SDA数据线上一字节一字节的传输,每个字节为8位长度,一个SCL时钟脉冲传输一个数据位,数据由最高位MSB首先传输,每个传输字节后跟随一个应答位,每个位在SCL为高时采样;因此,SDA线只有在SCL为低时才可以改变,在SCL为高时SDA必须保持稳定。当SCL为高时,SDA线上的跳变视为一个命令(START 或 STOP), 更多详细的I2C总线时序请参考图15.1-1。 

 

图15.1-1 I2C 总线时序 

 

该设备的片上I2C提供符合I2C总线标准模式规范的串行接口,I2C端口自动处理字节传输,将I2CON的ENS1位设置为1,可以使能该端口。 I2C H/W 接口通过两个引脚连接到I2C总线:SDA (Px.y,串行数据线) 与 SCL (Px.y, 串行时钟线)。引脚Px.y 与 Px.y 用于 I2C操作需要上拉电阻,因为这两个引脚为开漏脚。在作为 I2C 端口使用时, 用户必须先将这两个引脚设置为I2C功能。  

 

15.2 特征

I2C总线通过SDA 及 SCL在连接在总线上的设备间传输数据,总线的主要特征:

l 支持主机和从机模式 

l 主从机之间双向数据传输 

l 多主机总线支持 (无中心主机) 

l 多主机间同时发送数据仲裁,总线上串行数据不会被损坏 

l 串行时钟同步使得不同比特率的器件可以通过一条串行总线传输数据 

l 串行时钟同步可用作握手方式来暂停和恢复串行传输 

l 内建一个14位超时计数器,当I2C总线挂起并且计数器溢出时,该计数器将请求I2C中断 

l 需要外部上拉用于高电平输出 

l 可编程的时钟适用于不同速率控制 

l 支持7位寻址模式 

l I2C总线控制器支持多地址识别 (4组从机地址带屏蔽选项) 


15.3 功能描述

l I2C协议


通常标准I2C传输协议包含四个部分:

1) 起始信号或重复起始信号的产生 

2) 从机地址和R/W位传输 

3) 数据传输 

4) 停止信号的产生 


注:

S 起始信号

W/R 读/写控制位

ACK 应答

DATA 数据

P 停止信号


图 15.3-1 I2C 协议 

 

l I2C总线上的数据传输

 

I2C总线上的通信过程都是由主机发起的,以主机控制总线,发出起始信号作为开始。在发送起始信号后,主机将发送一个用于选择从机设备的地址字节,以寻址总线中的某一个从机设备,通知其参与同主机之间的数据通信,地址格式如下图15.3-2。   

 

MSB                                                                                   LSB

A6

A5

A4

A3

A2

A1

A0

R/W(----)

7位从机地址

读/写

 

图15.3-2 地址格式

 

地址字节的高7位数据是主机呼叫的从机地址,第8位用于标示紧接下来的数据传输方向:“0”表示主机将要向从机发送数据(主机发送/从机接收);而“1”则表示主机将要向从机读取数据(主机接收/从机发送)。

关键字:I2C  总线控制器 引用地址:15 I2C总线控制器

上一篇:16串行外围设备接口(SPI)控制器
下一篇:14 Flash内存控制器(FMC)

推荐阅读最新更新时间:2024-11-09 14:48

Energia使用入门 总体介绍和I2C的使用-基于MSP432P402R
写在前面的话 因为要参加TI杯电赛所以开始学习使用德州仪器的MSP432P401R系列M4F单片机,无奈TI的库比较难读,队友也水平有限,所以就打算寻找一些简单快捷的编程方式(毕竟四天的比赛谁能写出高质量代码呢,快速且能用才是做重要的),而且我希望能对得起这个赞助厂家和参赛同学们,并不想搞那些夹层内藏Arduino板子的骚操作(据说还得了奖)。 等等。。。。MSP432能不能用Arduino编程呢?于是我找到了这样一款软件 Energia IDE 软件官网链接: https://energia.nu/ 软件为绿色软件,无需安装 自带MSP430系列支持包,MSP432系列等支持包需要在线安装并且有墙 相信玩过Arduino
[单片机]
Energia使用入门 总体介绍和<font color='red'>I2C</font>的使用-基于MSP432P402R
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved