[发明专利]用可编程器件实现访问多个I2C从器件的方法及装置有效
申请号: | 200710145378.0 | 申请日: | 2007-09-11 |
公开(公告)号: | CN101140556A | 公开(公告)日: | 2008-03-12 |
发明(设计)人: | 何秀红;徐宏毅 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F13/40 | 分类号: | G06F13/40;G06F13/42 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 许志勇;颜涛 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可编程 器件 实现 访问 i2c 方法 装置 | ||
技术领域
本发明涉及到一种在通讯领域利用可编程器件实现对多个I2C从器件读写操作的方法,还涉及一种利用现有的可编程器件,实现访问多个I2C从器件的装置。
背景技术
I2C总线接口具有信号线少、操作简便的特点,在通讯设备领域,I2C总线接口得到越来越广泛的应用。在标准的应用中,每个I2C器件具有唯一的器件地址,I2C控制器通过区分器件地址实现对连接到I2C总线的从器件进行读写操作。但在现实的应用中,会遇到需要对多个具有相同器件地址的I2C器件进行访问的情况,比如小封装光模块的器件地址都是固化在E2PROM中的“A0H”或者“A2H”。
要解决这类问题,实质是要解决I2C控制器的实现和多路I2C从器件的选择的问题,现有技术中,已经形成了一些实现对多个I2C从器件读写操作的方法。在I2C控制器的实现方面,一种是利用CPU的I/O引脚模拟I2C总线时序,用完全软件的方式实现I2C接口,这种方式占用比较多的CPU资源,而且容易受软件运行的稳定性影响,效率低下;另一种方法是利用IC芯片上的I2C控制器实现多个I2C从器件的读写操作,这种方式运行稳定,但只能在有专用支持I2C接口ASIC硬核的单板上使用,单板设计成本高。
在多路I2C从器件的选择方面,一种方法是在主I2C器件与多个I2C从器件的串行数据线上设置开关组,通过I2C从器件的串行数据线来选择需要操作的I2C从器件;另一种方法是在主I2C器件与多个I2C从器件的串行时钟线上设置开关组,通过选通I2C从器件的串行时钟线来选择需要操作的I2C从器件。这两种方式都是通过控制I2C总线的一条线路来实现选路的,另一条线路则与所有的I2C从器件连接,如果连接在I2C总线上的某个I2C从器件被损坏,会出现该线路一直被拉低的情况,致使其他的器件也不能使用I2C总线,所以这两种I2C从器件的选择方法都存在风险。
发明内容
本发明要解决的技术问题是提供了一种用可编程器件实现访问多个I2C从器件的方法及装置,利用单板上现有的可编程器件实现硬件的I2C控制器和多路选择网络,实现对多个I2C从器件的读写操作,提高I2C从器件的访问效率和可靠性,降低开发成本。
为了解决上述问题,本发明提供了一种用可编程器件实现访问多个I2C从器件的方法,包括以下步骤:
(1)在多个I2C从器件中选取某一个要访问的I2C从器件,向所述可编程器件内的寄存器组写入访问该I2C从器件的选路信息,并根据该信息,将可编程器件内I2C控制器与该I2C从器件的对应线路连通;
(2)向所述可编程器件内的寄存器组写入在访问该I2C从器件时所需的数据信息,并发送命令启动对I2C从器件的访问操作;
(3)按照I2C总线规范的时序,根据所述寄存器组内的数据信息,执行对该I2C从器件的访问操作;
进一步的,本发明所述的方法,其中,所述寄存器组,包括:从器件地址寄存器、从器件寄存器地址寄存器、读数据寄存器、写数据寄存器、读操作控制寄存器、写操作控制寄存器、从器件选择寄存器、读操作状态寄存器和写操作状态寄存器;
进一步的,本发明所述的方法,其中,所述步骤(1)中,包括:CPU选取准备访问的I2C从器件,向可编程器件内的从器件选择寄存器写入选路信息,并根据所述从器件选择寄存器中的选路信息,将可编程器件内I2C控制器的串行数据线、串行时钟线,分别与该I2C从器件的串行数据线、串行时钟线连通;将可编程器件内I2C控制器的串行数据线、串行时钟线,与不进行操作的I2C从器件串行数据线、串行时钟线断开;
进一步的,本发明所述的方法,其中,步骤(2)中,所述数据信息,包括:I2C从器件地址信息、操作数据和控制信息;
进一步的,本发明所述的方法,其中,步骤(2)中,所述对I2C从器件的访问操作,包括以下两种情况:对I2C从器件进行写操作、以及对I2C从器件进行读操作;
进一步的,本发明所述的方法,其中,对I2C从器件进行写操作,包括以下步骤:
(21a)写入要操作的从器件地址;
(22a)写入要操作的从器件寄存器地址;
(23a)写入要向从器件寄存器写入的数据;
(24a)发起启动写操作的命令;
进一步的,本发明所述的方法,其中,对I2C从器件进行读操作,包括以下步骤:
(21b)写入要操作的从器件地址;
(22b)写入要操作的从器件寄存器地址;
(23b)发起启动读操作的命令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710145378.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:汽车后视镜自动收纳控制器
- 下一篇:动态补偿方法、图像编码方法及图像解码方法