




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二十章I2C总线概述S3C2410处理器支持一个多主I2C串行总线接口。一根专用串行数据线SDA和一根串行时钟线SCL在总线主机和连到I2C总线上的外设之间传输数据,SDA和SCL都是双向的。在多主I2C总线模式下,处理器能与从设备接收或者发送串行数据。S3C2410主机可以初始化和停止一次基于I2C总线的传输,此芯片上的I2C总线使用标准的总线仲裁策略。为了控制多主I2C总线操作,如下寄存器必须被设置好: 多主I2C总线控制寄存器,IICCON 多主I2C总线控制/状态寄存器,IICSTAT 多主I2C总线Tx/Rx移位寄存器,IICDS 多主I2C总线地址寄存器,IICADD当I2C总线空闲时,SDA和SCL线都处于高电平状态,当SCL保持高电平时,一个SDA下降沿可以初始化一个起始条件;当SCL保持高电平时,SDA的一个上升沿可以初始化一个停止条件。起始和停止条件总是由主设备发起的,起始条件停止后第一个字节是一个7位地址值决定总线主选择哪个从设备。第8位决定此次传输的方向(读还是写)。发送到SDA上的每个数据必须是8位的,在整个总线传输操作期间字节可以被无限地发送和接收。数据总是从MSB开始传输,所有字节后都必须跟1个ACK应答位。图20-1I2C总线方框图注意:IIC数据保持数据(tSDAH)最小为0ns。(IIC data hold time is minimum 0ns for standard/fast bus mode in IIC specification v2.1.)。请检查你的I2C总线设备是否是0ns。I2C控制器仅支持I2C总线设备(标准和快速总线模式),不支持C总线设备I2C总线接口S3C2410的I2C总线接口有如下4种操作模式: 主发生器模式 主接收器模式 从发送器模式 从接收器模式各种操作模式之间的联系如下起始和停止条件当I2C总线接口无动作时,它通常处于从模式。换句话说,在从SDA上检测到一个起始条件前接口将处于从模式(当SCL保持高电平时,一个SDA下降沿可以初始化一个起始条件)。当接口状态变成主模式时,可以初始化 SDA上的一个数据传输,且SCL信号产生。一个起始条件可以在SDA上发送1个字节的数据,而1个停止条件可以停止数据传输。停止信号是当SCL保持高电平时SDA的一个上升沿。起始和停止条件总是由主机发起的。当一个起始条件产生和,设备获得I2C总线;一个停止条件将释放I2C总线。主机通过发送一个停止条件来结束某次传输,但是应该发送一个从地址以通知对应的从设备。地址字节包括7位的地址和1位的传输方向描述(读或写)。如果第8位为0,将执行写操作(发送);如果第8位为1,将执行读操作(接收)。主机通过发送1个停止条件来结束一次传输。如果主机希望继续向总线发送数据,应该发起另外一个起始条件和从地址,这种方式下,将以不同的格式执行读写操作。图20-2起始和停止条件数据传输格式放到SDA上的每个字节必须是8位长度的,每次传输可以发送无限多个字节。起始条件后紧跟着地址字节,地址字节必须当I2C总线工作在主模式下被主机发送。每个字节后面应该跟一个ACK应答位,数据和地址字节的MSB位总是被最先发送的。图20-3I2C总线数据格式ACK信号传输为了完成1个字节的传输操作,接收器应该向发送器发送一个ACK位,ACK脉冲应该在第9个SCL时钟处发生,一个字节的数据传输需要8个SCL时钟,主机应该产生发送ACK位所需的时钟脉冲。ACK位发送功能可以通过软件使能和禁止(IICSTAT)。但是第9个SCL时钟处的ACK脉冲是必须的,只有这样才能完成一次数据传输。读-写操作在发送器模式下,当1个数据发送完毕,I2C总线将等待I2C总线数据移位寄存器IICDS被写入一个新的数据,在此之前,SCL信号将保持低电平,and then released after it is written。S3C2410将保持中断以识别当前的数据发送完成,当CPU接收到此中断请求后,将会重新向IICDS写入一个新的数据。在接收器模式下,当接收到一个数据后,IIC总线接口将等待IICDS中的数据被读出,在此之前,SCL将保持低电平。S3C2410将保持中断以识别当前的数据接收完成,当CPU接收到此中断请求后,将会从IICDS读入一个数据。总线仲裁策略总线仲裁发生在SDA上以防止两个主机连接到总线上,如果一个SDA为高的主机检测到另外1个SDA为低电平的主机,它将不会初始化一次数据传输,因为总线当前电平不允许它,仲裁过程将延续到SDA线变高。但是,当多个主机同时将SDA拉低时,每个主机都应该判断是否总线是否分配给了它,出于这个目的,每个主机应该检测总线上地址位。当主机发送地址时,同时检测SDA上的地址位因为 SDA 上的低电平比高电平更容易竞争到总线,假设一个主机发送的地址的第1位为低,而另一个主机的为高电平,这种情况下两个主机都会检测到总线为低电平因为SDA 上的低电平比高电平更容易竞争到总线(意味着目的地址越小优先级越高),发送低电平的主机将获得总线使用权而发送高电平的主机将退出总线竞争,如果两个主机的地址第1位都是低电平,将会仲裁第2位,以此类推,总线仲裁一直会持续到地址的最后1位。异常中止条件如果1个从接收器不能确认从地址,SDA将会保持高电平状态,此时主机应该发起一个停止条件以中止此次传输。如果主接收器碰到这种情况,就应该在从从设备接收到数据后不要发送ACK应答,这样会结束从发送操作。从发送器将会释放SDA以允许主机发起一个停止条件。配置IIC总线为了控制SCL的频率,可以对IICCON寄存器编程设置4位预定标器的值。I2C总线控制器的地址存在IICADD寄存器中(默认情况下,此地址是一个不确定值)。各种模式下的操作流程图I2C收发操作之前必须执行下述步骤:1) 如果需要的话,向IICADD寄存器写入从地址2) 设置IICCON寄存器a) 使能中断b) 定义SCL频率3) 设置IICSTAT寄存器使能串行输出。图20-6主发送器模式操作图20-7主接收器模式操作I2C总线特殊寄存器多主I2C总线控制寄存器IICCON注:1、与EEPROM接口时,为了在接收模式产生停止条件,ACK产生也许会在读最后一个数据前被禁止。2、I2C总线中断发生在:1)1个字节的数据发送或接收完毕;2)通用调用或者从地址匹配成功;3)总线仲裁失败。3、为了在SCL上升沿到来之前调整好SDA的建立时间,清除I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行服务竞赛试题及答案
- 智能风控系统创新创业项目商业计划书
- 2025内蒙古呼伦贝尔农垦集团有限公司校园招聘50人笔试备考参考答案详解
- 2025内蒙古呼伦贝尔林业集团有限公司招聘工作人员5人笔试备考及答案详解(名校卷)
- 教师招聘之《幼儿教师招聘》考前冲刺测试卷讲解附参考答案详解【巩固】
- 押题宝典教师招聘之《小学教师招聘》通关考试题库含完整答案详解【易错题】
- 2025年教师招聘之《小学教师招聘》综合提升练习题及完整答案详解(有一套)
- 教师招聘之《小学教师招聘》综合练习带答案详解(突破训练)
- 押题宝典教师招聘之《幼儿教师招聘》模考模拟试题附答案详解(轻巧夺冠)
- 2025内蒙古呼伦贝尔旅业旅游集团股份公司招聘5人笔试备考及答案详解(有一套)
- 《绿色制造普及绿色生产课件教程》
- 回转窑工艺培训
- 2023年护理质控工作总结
- 河北版初中《信息技术》第二册全册
- 汽车使用与维护 课件 项目二 汽车内部标识识别
- 2024-2025部编人教版2二年级上册语文全程测评试卷(全册10套)
- 2024年江苏大学辅导员考试真题
- 幼儿园教育质量提升的具体策略
- 2025年版高等职业教育专科专业教学标准 560213 融媒体技术与运营
- 新22J01 工程做法图集
- 五防教育主题班会课件
评论
0/150
提交评论