[发明专利]一种双I2C总线设置方法和双I2C总线系统有效
申请号: | 200810098125.7 | 申请日: | 2008-05-13 |
公开(公告)号: | CN101281510A | 公开(公告)日: | 2008-10-08 |
发明(设计)人: | 曾海涛 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 蒋贤起;逯长明 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 i2c 总线 设置 方法 系统 | ||
技术领域
本发明涉及数字系统可靠性监视技术领域,特别是涉及一种双I2C总线设置方法和双I2C总线系统。
背景技术
I2C BUS(Inter Integrated Circuit BUS,内部集成电路总线)是由Philips公司推出的二线制串行扩展总线。I2C总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。
I2C总线使用两根信号线来进行数据传输,一根是串行数据线(SDA),另一根是串行时钟线(SCL)。它允许若干兼容器件(如存储器、A/D和D/A转换器,以及LED、LCD驱动器等)共享总线。I2C总线上理论上可以允许的最大设备数,是以总线上所有器件的电容总和不超过400pF为限(其中包括连线本身的电容和与它连接端的引出电容),总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。任何时刻总线只能由一个主器件控制,各从器件在总线空闲时启动数据传送,由I2C总线仲裁来决定哪个主器件控制总线。I2C总线数据传输的最高速率为400Kbps,标准速率为100Kbps。
I2C总线的协议如下:
总线空闲:SCL和SDA都保持高电平。
开始信号:SCL保持高电平的状态下,SDA出现下降沿。出现开始信号以后,总线被认为“忙”。
停止信号:SCL保持高电平的状态下,SDA出现上升沿。停止信号过后,总线被认为“空闲”。
总线忙:在数据传送开始以后,SCL为高电平的时候,SDA的数据必须保持稳定,只有当SCL为低电平的时候才允许SDA上的数据改变。(如图1)
I2C总线的传送格式为主从式,对系统中的某一器件来说有四种可能的工作方式:主发送方式,从发送方式,主接收方式,从接收方式。
(1)主发送从接收
主器件产生开始信号以后,发送的第一个字节为控制字节。前七位为从器件的地址片选信号。最低位为数据传送方向位(高电平表示读从器件,低电平代表写从器件),然后发送一个选择从器件片内地址的字节,来决定开始读写数据的起始地址。接着再发送数据字节,可以是单字节数据,也可以是一组数据,由主器件来决定。从器件每接收到一个字节以后,都要返回一个应答信号(ASK=0)。主器件在应答时钟周期高电平期间释放SDA线,转由从器件控制,从器件在这个时钟周期的高电平期间必须拉低SDA线,并使之为稳定的低电平,作为有效的应答信号,如图2。
(2)从接收主发送
在开始信号以后,主器件向从器件发送控制字节。如果从器件接收到主器件发送来的控制字节中的从地址片选信号与该器件相对应,并且方向位为高电平(R/W=1),就表示从器件将要发送数据。从器件先发送一个应答信号(ASK=0)回应主器件,接着由从器件发送数据到主器件。如果,在这个过程之前,主器件发给从器件一个片内地址选择信号,那么从器件发送的数据就从该地址开始发送;如果在从器件接收到请求发送的控制信号以前,没有收到这个地址选择信号,从器件就从最后一次发送数据的地址开始发送数据。发送数据过程中,主器件每接收到一个字节都要返回一个应答信号ACK。若ACK=0(有效应答信号),那么从器件继续发送;若ACK=1(停止应答信号),停止发送。主器件可以控制从器件从什么地址开始发送,发送多少字节。
I2C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。
参考图1所示,是现有技术中I2C总线与单板连接关系示意图,应用I2C总线的上述特点进行数据获取和传送的技术方案有两种,现有技术一是:
采用一条I2C总线进行板间互连,两个控制板在板间总线上都作为I2C总线的主器件,通过I2C总线自身的仲裁机制访问公共I2C器件。
在实现本发明的过程中,发明人经过研究发现:现有技术一存在的问题是:
当单板A要访问公共I2C器件时,不知道单板B是否正在占用总线。如果单板B正在占用总线时,单板A访问公共I2C器件可能会失败。而且,如果单板B占用总线的时间比较长,那么在此期间单板A对公共I2C器件时,就无法成功访问。系统要克服这种失败,就需要进行复杂的算法设计,来避免可能出现的各种失败情景。
现有技术二的技术方案是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810098125.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电缆防火有机堵料封堵施工工艺及其固定框架
- 下一篇:电路板