I2C目口说明.ppt

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

两线接口(TWI) 特性 I2C 接口 I2C简介 I2C接口 I2C简介——电气连接 TWI简介—传输格式 TWI接口可执行多种传输格式 (7位从机地址,10位从机地址)。通过主机模式寄存器(TWI_MMR)配置三个内部地址字节。若从机仅支持7 位地址,IADRSZ 必须置为0。若从机地址大于7 位,用户必须配置地址大小(IADRSZ) 并在内部地址寄存器(TWI_IADR) 中设置其它从机地址位。 TWI接口 寄存器描述 TWI接口 使用TWI接口的注意要点 TWI接口 TWI应用示例 * * AT91SAM7系列微控制器具有一到两个TWI接口(也就是I2C接口),可以实现TWI的各种传输特性,具有如下特性: 1、TWI 由一根时钟线及一根传输速度达到400 Kb/s 的数据线组成,以字节为单位进行传输。它适用于任何的Atmel 两线总线串行EEPROM 中。 2、TWI 可编程作为主机进行连续或单字节访问。 3、可配置波特率发生器允许输出数据速率在内核时钟频率的一个宽范围内进行调整。 4、可配置为主机、从机或主/从机; 可编程时钟可实现通讯速率控制; 主机从机之间双向数据传输; 同时发送的主机之间进行仲裁,避免了总线数据的冲突。 I2C接口是Philips推出的一种串行总线方式,用于IC器件之间的通信。它通过SDA(串行数据线)和SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并通过软件寻址识别每个器件,而不需要片选线。 I2C接口的标准传输速率为100Kbit/s,最高传输速率可达400Kbit/s。 I2C总线接口均为开漏或开集电极输出,因此需要为总线增加上拉电阻Rp。 总线速率越高,总线上拉电阻就越小,100Kbit/s总线速率,通常使用5.1K欧姆的上拉电阻 TWI简介——总线时序 TWD线上数据必须为8位。数据传输是高位在先;每字节后必须有应答信号。每次传输的字节数目没有限制。每次传输以START 状态开始,以STOP状态停止。 START STOP TWD TWCK S P S 从器件地址 R/W … 第一字节 主机初始化Start状态后,向主机模式寄存器(TWI_MMR中DADR)发送一个7位从机地址,以通知从机器件。从机地址后的位表示传输方向(写或读)。该位为0,说明是写操作(发送操作);若该位为1,说明为数据读请求( 接收操作)。 TWI简介——总线时序 TWI总线数据传送时,每传送一个字节数据后都必须有应答信号(A)。主控器接收数据时,如果要结束通信时,将在停止位之前发送非应答信号( )。 TWD TWCK 应答信号 非应答信号 A A TWI简介——总线时序 AT91SAM7XXX在TWI通信中,TWI具有2种操作模式:主发送模式、主接收模式 TWI接口包含个寄存器(I2C接口包含7个寄存器)。 寄存器描述——TWI控制寄存器 TWI_CR寄存器: 寄存器描述——TWI主机模式寄存器 寄存器描述——TWI内部地址寄存器 寄存器描述——TWI时钟波形发生器寄存器 寄存器描述——TWI状态寄存器 寄存器描述——TWI中断使能寄存器 寄存器描述——TWI控制清零寄存器 寄存器描述——TWI中断禁用寄存器 寄存器描述——TWI中断屏蔽寄存器 寄存器描述——TWI接收保持寄存器 TWI接口的引脚为开漏输出,必须在TWI总线上接上拉电阻。通信速率越快,电阻值越小; 总线上各器件的地址不能冲突; 编程时需要仔细处理每个状态,注意各状态之间的转移关系。 AT91SAM7XXX对于TWI通信的处理是基于状态标志进行的,不同的模式之间具有相通的分析方法,这里仅介绍常用的主发送和主接收模式。 TWI应用示例 ——主模式设置 主模式初始化流程 配置TWI的TWD TWCK引脚 使能TWI外围时钟 设置TWI为主模式 计算设置通信波特率 主程序流程 开始 定义读写缓冲区 初始化TWI 初始化读写 缓冲区的内容 调用相关函数 对器件进行读写操作 结束 TWI应用示例 ——主模式设置 主模式初始化流程 配置TWI的TWD TWCK引脚 使能TWI 外围时钟 设置TWI为 主模式 计算、设置 时钟发生器 ——主模式设置 void InitTwi(void) { AT91F_TWI_CfgPIO(); //配置TWI的TWD和TWCK管脚 AT91F_PIO_CfgOpendrain(AT91C_BASE_PIOA,(unsigned int)AT91C_PA3_TWD); AT91F_TWI_CfgPMC (); //使能TWI外围时钟 AT91F_TWI_Configure (A

文档评论(0)

130****9768 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档