第10章 I2C接口.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 I2C接口

I2C 接口简介 I2C 模块结构 I2C 模块结构 寄存器 I2C 操作模式 I2C 开始和停止状态 I2C 串行数据格式 I2C 7位寻址格式 I2C 10位寻址格式 I2C 自由数据格式 I2C 使用一个重复的开始状态 I2C 时钟产生 I2C中断请求 I2C中断请求 I2C—EDMA事件 I2C模块的复位/禁止 I2C模块的编程指南 I2C 模块应用示例 第十章 I2C接口 I2C模块提供了一个在DSP芯片和I2C总线器件之间的接口,具有下列性能: 支持字节格式的传输 7位和10位的寻址模式 支持多个主-发送器和从-接收器 支持多个从-发送器和主-接收器 组合的主发送/接收和接收/发送模式(仅在7位寻址模式中) 数据传输速率从10 kbps一直到400 kbps (Philips快速模式速率) I2C模块包括下列的基本部分: 串行接口:一个数据引脚(SDA)和一个时钟引脚(SCL) 数据寄存器:用来临时保存在SDA引脚和CPU或DMA控制器之间流通的接收数据和发送数据 控制和状态寄存器 一个外围数据总线接口:用来使能CPU和dMAX控制器来访问I2C模块寄存器 一个时钟同步器:用来将I2C输入时钟(来自DSP时钟产生器的SYSCLK2)和SCL引脚上的时钟同步,以及用来将数据传输跟具有不同时钟速度的主机同步 一个预定标器:用来将驱动到I2C模块的输入时钟(SYSCLK2)分频 一个仲裁器:用来处理I2C 模块(在它是主机时)和其他主机之间的仲裁的 中断产生逻辑:向CPU发送中断 I2C模块寄存器 I2C 外设识别寄存器2 I2CPID2 38h I2C 外设识别寄存器1 I2CPID1 34h I2C 预标定寄存器 I2CPSC 30h I2C 中断源寄存器 I2CISR 28h I2C 模式寄存器 I2CMDR 24h I2C 数据发送寄存器 I2CDXR 20h I2C 从地址寄存器 I2CSAR 1Ch I2C 数据接收寄存器 I2CDRR 18h I2C 数据计数寄存器 I2CCNT 14h I2C 时钟分频高位寄存器 I2CCLKH 10h I2C 时钟分频低位寄存器 I2CCLKL 0Ch I2C 中断状态寄存器 I2CSTR 08h I2C 中断使能寄存器 I2CIER 04h I2C 自身地址寄存器 I2COAR 00h 寄存器名称 缩写 地址偏移 I2C模块是主模块,发送数据和控制信息到从模块。所有主模块一开始都是这种模式。 主发送模式 I2C模块是主模块,接收从模块的数据。该模式必需经主发送模式进入。主模块先发送命令给从模块,然后进入主接收模式。 主接收模式 I2C模块是从模块,发送数据到主模块的。该模式必需经从接收模式进入。从模块先接收主模块的命令,若地址相符,并且R/W = 1,则进入从发送模式。时钟由主模块产生。 从发送模式 I2C模块是从模块,接收主模块的数据。所有从模块一开始都是这种模式。时钟由主模块产生。 从接收模式 描述 操作模式 若I2C模块为主模块,那么开始它一般作为主发送器向某一从模块发送一个地址。在将数据发给从模块时,I2C模块必须保持为一个主发送器。为了从一个从模块接收数据,必须将I2C模块变换成主接收器模式。 若I2C模块为从模块,那么开始它一般作为从接收器,并且在它识别出主模块发来的从地址时发出确认信息。如果主模块要向I2C模块发送数据,这时I2C模块必须保持为一个从接收器。如果主发送器向I2C模块发出数据请求,I2C模块必须要变换成从发送器模式。 START状态定义为当SCL为高时,SDA线上从高到低的转变。主模块驱动这一状态是用来指示出数据传输的开始。 STOP状态定义为当SCL为高时,SDA线上从低到高的转变。主模块驱动这一状态是用来指示出数据传输的结束。 I2C模块支持1到8位的数据长度。下图中给出的是8位数据格式。SDA线上的每一位等同于SCL线上的一个脉冲,并且数据传输时一般是以最高有效位(MSB)开始。可以发送或接收的数据长度是没有限制的,但是发送器和接收器传输的数据长度必须一致。 I2C模块支持下列数据格式: 7位寻址模式 10位寻址模式 自由数据格式模式 在7位寻址格式中,开始状态后的第一个字节由一个7位的从地址和紧跟着的一个R/W位组成,R/W位决定着数据的方向: R/W = 0:主模块向寻址的从模块写(发送)数据 R/W = 1:主模块从从模块读(接收)数据 在R/W后面插入了一个专门用来确认的(ACK)附加时钟周期。如果是从模块插入ACK位,后面紧跟着来自发送机(主或从,由R/W位决定)的n位数据。n是一个2到8之间

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档