一种双I2C总线设置方法和双I2C总线系统技术方案

技术编号:2824351 阅读:167 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种双I2C总线设置方法,包括:根据预设条件,确定第一单板和第二单板分别为主控板和从控板;将与第一总线连接的所述第一单板设置为第一主器件,将与第二总线连接的所述第一单板设置为第二从器件;将与所述第一总线连接的第二单板设置为第一从器件,将与所述第二总线连接的所述第二单板设置为第二主器件。还公开了一种双I2C总线系统,利用本发明专利技术实施例既能够实现简便、快速、灵活地访问公共I2C总线,也能简便、快速、灵活地将有关数据在两个单板之间同步。

【技术实现步骤摘要】

本专利技术涉及数字系统可靠性监视
,特别是涉及一种双I2C总线 设置方法和双I2C总线系统。技术背景I2C BUS(Inter Integrated Circuit BUS ,内部集成电路总线)是由Philips公 司推出的二线制串行扩展总线。I2C总线是具备总线仲裁和高低速设备同步等 功能的高性能多主机总线。12C总线使用两根信号线来进行数据传输, 一根是串行数据线(SDA),另 一根是串行时钟线(SCL)。它允许若干兼容器件(如存储器、A/D和D/A转换 器,以及LED、 LCD驱动器等)共享总线。12C总线上理论上可以允许的最大 设备数,是以总线上所有器件的电容总和不超过400pF为限(其中包括连线本 身的电容和与它连接端的引出电容),总线上所有器件要依靠SDA发送的地址 信号寻址,不需要片选线。任何时刻总线只能由一个主器件控制,各从器件 在总线空闲时启动数据传送,由I2C总线仲裁来决定哪个主器件控制总线。I2C 总线数据传输的最高速率为400Kbps,标准速率为100Kbps。I2C总线的协议如下总线空闲SCL和SDA都保持高电平。开始信号SCL保持高电平的状态下,SDA出现下降沿。出现开始信号 以后,总线被认为忙。停止信号SCL保持高电平的状态下,SDA出现上升沿。停止信号过后, 总线被认为空闲。总线忙在数据传送开始以后,SCL为高电平的时候,SDA的数据必须 保持稳定,只有当SCL为低电平的时候才允许SDA上的数据改变。(如图1)I2C总线的传送格式为主从式,对系统中的某一器件来说有四种可能的工 作方式主发送方式,/人发送方式,主接收方式,/人4妄收方式。(1)主发送从接收主器件产生开始信号以后,发送的第一个字节为控制字节。前七位为从 器件的地址片选信号。最低位为数据传送方向位(高电平表示读从器件,低电 平代表写从器件),然后发送一个选择从器件片内地址的字节,来决定开始读 写数据的起始地址。接着再发送数据字节,可以是单字节数据,也可以是一 组数据,由主器件来决定。从器件每接收到一个字节以后,都要返回一个应答信号(ASK^0)。主器件在应答时钟周期高电平期间释放SDA线,转由从器 件控制,从器件在这个时钟周期的高电平期间必须拉低SDA线,并使之为稳 定的低电平,作为有效的应答信号,如图2。 (2)从接收主发送在开始信号以后,主器件向从器件发送控制字节。如果从器件接收到主 器件发送来的控制字节中的从地址片选信号与该器件相对应,并且方向位为 高电平(R/W-1),就表示从器件将要发送数据。从器件先发送一个应答信号 (ASK^O)回应主器件,接着由从器件发送数据到主器件。如果,在这个过程之 前,主器件发给从器件一个片内地址选择信号,那么从器件发送的数据就从 该地址开始发送;如果在从器件接收到请求发送的控制信号以前,没有收到 这个地址选择信号,从器件就从最后一次发送数据的地址开始发送数据。发 送数据过程中,主器件每接收到一个字节都要返回一个应答信号ACK。若 ACK^O(有效应答信号),那么从器件继续发送;若ACK4(停止应答信号), 停止发送。主器件可以控制从器件从什么地址开始发送,发送多少字节。12C规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器, 器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状 态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL) 控制总线的传输方向,并产生起始和停止条件。SDA线上的数据状态仅在SCL 为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表 示起始和停止条件。参考图1所示,是现有技术中12C总线与单板连接关系示意图,应用I2C 总线的上述特点进行数据获取和传送的技术方案有两种,现有技术一是采用一条I2C总线进行板间互连,两个控制板在板间总线上都作为I2C 总线的主器件,通过I2C总线自身的仲裁机制访问公共I2C器件。在实现本专利技术的过程中,专利技术人经过研究发现现有技术一存在的问题疋当单板A要访问公共I2C器件时,不知道单板B是否正在占用总线。如 果单板B正在占用总线时,单板A访问公共I2C器件可能会失败。而且,如 果单板B占用总线的时间比较长,那么在此期间单板A对公共I2C器件时, 就无法成功访问。系统要克服这种失败,就需要进行复杂的算法设计,来避 免可能出现的各种失败情景。现有技术二的技术方案是将单板A、 B分别设置为I2C总线的主器件和从器件,二者可以相互通 信,但是要通过主从器件协商才能确定数据发送的方式,而这种协商又比较 复杂,造成数据发送的可靠性下降。在实现本专利技术的过程中,专利技术人经过研究发现现有技术二至少存在如 下问题要完成数据发送,就需要进行主器件和从器件协商,而由于主器件和从 器件之间的协商机制复杂,从而会造成数据发送的可靠性低。
技术实现思路
有鉴于此,本专利技术一个或多个实施例的目的在于提供一种双I2C总线设 置方法和双I2C总线系统,以实现数据的可靠发送。为解决上述问题,本专利技术实施例提供了一种双I2C总线设置方法,包括 根据预设条件,确定第 一单板和第二单板分别为主控板和从控板; 将与第一总线连接的所述第一单板设置为第一主器件,将与第二总线连接的所述第 一单板设置为第二^v器件;将与所述第一总线连接的第二单板设置为第一从器件,将与所述第二总线连接的所述第二单板设置为第二主器件。还提供了一种双I2C总线系统,包括第一单板和第二单板,所述第一单板和第二单板通过第一总线和第二总 线相互连4妻;所述第一单板包括第一确定单元,所述第二单板包括第二确定单元,所述第一确定单元和第二确定单元用于将所述第一单板和第二单板分别确定 为主控板和7人控板;所述第一单板包括第一设置单元,用于将与所述第一总线连接的第一 单板设置为第一主器件,将与所述第二总线连接的所述第一单板设置为第一 从器件;所述第二单板包括第二设置单元,用于将与所述第一总线连接的第二 单板设置为第二从器件,将与所述第二总线连接的所述第二单板设置为第二 主器件。与现有技术相比,本专利技术实施例具有以下优点通过本专利技术实施例,能够根据预设条件,确定第一单板和第二单板分别 为主控板和从控板;将与第一总线连接的所述第一单板设置为第一主器件, 将与第二总线连接的所述第一单板设置为第二从器件;将与所述第一总线连 接的第二单板设置为第一从器件,将与所述第二总线连接的所述第二单板设 置为第二主器件。实现了不需要通过协商方式,而是根据预设条件确定主控 板和从控板,并相应地将与第一总线和第二总线连接的第一单板和第二单板 分别设置为主器件或从器件,由第一总线和第二总线分别对应的第一主器件 和第二主器件控制总线的数据发送。既能够实现简便、快速、灵活地访问公 共I2C总线,也能简便、快速、灵活地将有关数据在两个单板之间同步。附图说明图1是现有技术中I2C总线与单板连接关系示意图; 图2是本专利技术I2C总线设置方法的实施例一的流程图; 图3是本专利技术的I2C总线设置方法的实施例二的流程图; 图4是本专利技术的I2C总线设置系统的实施例一的结构图。具体实施方式总线系统中包括第一单板及第二单板,所述第一单板和所述第二单板通过第一总线及一第二总线连接。所述双I2C总本文档来自技高网
...

【技术保护点】
一种双I2C总线设置方法,其特征在于,包括:根据预设条件,确定第一单板和第二单板分别为主控板和从控板;将与第一总线连接的所述第一单板设置为第一主器件,将与第二总线连接的所述第一单板设置为第二从器件;将与所述第一总线连接的第二单板设置为第一从器件,将与所述第二总线连接的所述第二单板设置为第二主器件。

【技术特征摘要】
1. 一种双I2C总线设置方法,其特征在于,包括根据预设条件,确定第一单板和第二单板分别为主控板和从控板;将与第一总线连接的所述第一单板设置为第一主器件,将与第二总线连接的所述第一单板设置为第二从器件;将与所述第一总线连接的第二单板设置为第一从器件,将与所述第二总线连接的所述第二单板设置为第二主器件。2、 如权利要求l所述的方法,其特征在于,还包括 如果所述第一单板或所述第二单板没有处于活动状态,则将与所述第一总线连接的第一单板设置为第三从器件,将与所述第二总 线连接的所述第一单板设置第三主器件;将与所述第一总线连接的所述第二单板设置为第四主器件,将与所述第 二总线连接的所述第二单板设置为第四从器件;将所述第一单板转换成从控板,将所述第二单板转换成主控板。3、 如权利要求2所述的方法,其特征在于,所述活动状态具体为 所述第 一单板通过所述第 一总线,向所述第二单板发送第 一握手信号; 所述第二单板通过所述第二总线,向所述第 一单板发送第二握手信号; 如果所述握手信号收发正常的次数在预设的阀值之内,则所述第一单板和所述第二单板都处于活动状态;或所述第二单板通过所述第 一总线,向所述第 一单板发送第 一握手信号; 所述第 一单板通过所述第二总线,向所述第二单板发送第二握手信号; 如果所述握手信号收发正常的次数在预设的阀值之内,则所述第一单板和所述第二单板都处于活动状态。 '4、 如权利要求1 - 3任一项所述的方法,其特征在于,还包括 所述主控板在所述第一总线上查询器件信息;对于查询得到的所述器件信息,通过所述第二总线同步到所述从控板;或所述主控板在所述第二总线上查询器件信息;对于查询得到的所述器件信息,通过所述第一总线同步到所述/人控板。5、 如权利要求4所述的方法,其特征在于,所述器件信息包括 电源信息或从控板信息。6、 如权利要求l所述的方法,其特征在于,还包括 如果所述从控板从上层收到指令,则所述从控板通过第一总线或第二总线将所述指令发送给所述主控板; 所述主控板执行所述指令后将所述指令的执行结果发送给所述从控板。7、 如权利要求6所述的方法,其特征在于,所述指令为控制电源的指令。8、 如权利要求l所述的方法,其特征在于,还包括 如果未检测到所述主控板,则将所述从控板转换为主控板。9、 如权利要求1或8所述的方法,其特征在于,还包括如果所述主控板在所述总线上再次检测到单板,则由所述单板向所述主 控板发送握手信号。10、 如权利要求2所述的方法,其特征在于,还包括如果所述主控板和所述从控板转换次数超过预定值,则将所述主控板和 所述从控板都设置为主控板,不再进行所述转换。11、 一种双I2C总...

【专利技术属性】
技术研发人员:曾海涛
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:90[中国|成都]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1