[发明专利]一种多级I2C总线控制方法有效
申请号: | 201610794549.1 | 申请日: | 2016-08-31 |
公开(公告)号: | CN106970890B | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 汪革;王仁雷;芶利平;邓凯 | 申请(专利权)人: | 上海博达通信科技有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 上海天翔知识产权代理有限公司 31224 | 代理人: | 刘常宝 |
地址: | 201303 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多级 i2c 总线 控制 方法 | ||
本发明公开了一种多级I2C总线控制方法,其将关闭总线、选通总线的操作延迟到访问总线之前。本发明能够有效提高对I2C总线控制的智能性、便捷性、准确性、高效性,能够广泛适用于各种多级I2C总线拓扑结构。
技术领域
本发明涉及微电子通信控制领域,具体涉及标准I2C总线控制技术。
背景技术
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,对各个节点的寻址是软寻址方式,节省了片选线,标准的寻址字节SLAM为7位,可以寻址127个单元。
但多数I2C从设备的总线地址相当固定,比如在通信设备中常用的SFP,其I2C总线地址固定为0x50,当需要使用多个这种设备时,则需要用到I2C总线扩展技术,同时I2C总线拓扑将变复杂,对软件控制技术提出了挑战。
现有的控制方式,比如linux中的i2c-mux,能够以树的形式记录这种I2C总线拓扑,树的每个节点代表一条I2C总线并反映总线间的父子关系,i2c-mux提供了一种智能访问这个拓扑中每条总线的方式,但每次访问都必须经历选通总线、访问总线、关闭总线3个步骤,以保证整个拓扑能被正确访问,这种方式虽然逻辑上相对简单,但访问效率非常低下。
发明内容
针对现有I2C总线控制方案在访问效率上的缺陷,本发明的目的在于提供一种能够有效提高访问效率的I2C总线控制方案。
为了达到上述目的,本采用如下的技术方案:
一种多级I2C总线控制方法,所述控制方法将关闭总线、选通总线的操作延迟到访问总线之前。
优选的,所述控制方法中将I2C多路选通通道的切换延时到下次操作同一多路选通的其它I2C总线时才进行;将I2C多路选通通道的关闭延时到下次操作同一上级总线的其它多路选通的下级总线时才进行。
优选的,所述控制方法根据已知I2C总线索引,选通I2C总线。
优选的,所述控制方法选通I2C总线包括以下步骤:
1)如果存在上级I2C总线则先选通上级I2C总线,转(3);
2)如果上级I2C总线存在某条其他的下级总线没有关闭,则关闭上级I2C总线下的这条下级总线;且将I2C多路选通通道的关闭延时到下次操作同一上级总线的其它多路选通的下级总线时才进行;
3)如果这条I2C总线的多路选通未选通则用这条I2C总线的多路选通方法进行选通;且将I2C多路选通通道的切换延时到下次操作同一多路选通的其它I2C总线时才进行。
本发明提供的多级I2C总线控制方法能够有效提高对I2C总线控制的智能性、便捷性、准确性、高效性,能够广泛适用于各种多级I2C总线拓扑结构。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明方案中I2C总线控制系统框图;
图2为本发明方案中I2C总线拓扑图;
图3为本发明实例中I2C总线拓扑图;
图4为本发明实例中注册I2C总线流程图;
图5为本发明实例中关闭I2C总线流程图;
图6为本发明实例中选通I2C总线流程图;
图7为本发明实例中访问I2C总线流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海博达通信科技有限公司,未经上海博达通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610794549.1/2.html,转载请声明来源钻瓜专利网。