CN100568211C - 用可编程器件实现访问多个i2c从器件的方法及装置 - Google Patents
用可编程器件实现访问多个i2c从器件的方法及装置 Download PDFInfo
- Publication number
- CN100568211C CN100568211C CNB2007101453780A CN200710145378A CN100568211C CN 100568211 C CN100568211 C CN 100568211C CN B2007101453780 A CNB2007101453780 A CN B2007101453780A CN 200710145378 A CN200710145378 A CN 200710145378A CN 100568211 C CN100568211 C CN 100568211C
- Authority
- CN
- China
- Prior art keywords
- register
- read
- write
- address
- programming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种用可编程器件实现访问多个I2C从器件的方法及装置,其中,所述方法,包括步骤:(1)在多个I2C从器件中选取某一个要访问的I2C从器件,向所述可编程器件内的寄存器组写入访问该I2C从器件的选路信息,并根据该信息,将可编程器件内I2C控制器与该I2C从器件的对应线路连通;(2)向所述可编程器件内的寄存器组写入在访问该I2C从器件时所需的数据信息,并发送命令启动对I2C从器件的访问操作;(3)按照I2C总线规范的时序,根据所述寄存器组内的数据信息,执行对该I2C从器件的访问操作。本发明提供的方法在CPU访问多个I2C从器件时操作简易灵活、运行稳定可靠,效率高、速度快、单板开发成本低。
Description
技术领域
本发明涉及到一种在通讯领域利用可编程器件实现对多个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)CPU在多个I2C从器件中选取某一个要访问的I2C从器件,向所述可编程器件内的寄存器组中的从器件选择寄存器写入访问该I2C从器件的选路信息,并根据该信息,将可编程器件内I2C控制器与该I2C从器件的连接线路连通,将可编程器件内I2C控制器与不进行操作的I2C从器件的连接线路断开;
(2)向所述可编程器件内的寄存器组写入在访问该I2C从器件时所需的I2C从器件地址信息和控制信息,并发送命令启动对I2C从器件的访问操作;
(3)按照I2C总线规范的时序,所述可编程器件内的I2C控制器根据所述I2C从器件地址信息和控制信息,执行对该I2C从器件的访问操作;
进一步的,本发明所述的方法,其中,所述寄存器组,包括:从器件地址寄存器、从器件寄存器地址寄存器、读数据寄存器、写数据寄存器、读操作控制寄存器、写操作控制寄存器、从器件选择寄存器、读操作状态寄存器和写操作状态寄存器;
进一步的,本发明所述的方法,其中,步骤(1)中,所述可编程器件内I2C控制器与I2C从器件的连接线路,包括:串行数据线和串行时钟线;
进一步的,本发明所述的方法,其中,步骤(2)中,所述对I2C从器件的访问操作,包括以下两种情况:对I2C从器件进行写操作、以及对I2C从器件进行读操作;
进一步的,本发明所述的方法,其中,步骤(2)中,在对I2C从器件进行写操作时,还向所述可编程器件内的寄存器组写入在访问该I2C从器件时所需的操作数据;
进一步的,本发明所述的方法,其中,对I2C从器件进行写操作,包括以下步骤:
(21a)CPU向所述从器件地址寄存器写入要操作的从器件地址;
(22a)向所述从器件寄存器地址寄存器写入要操作的从器件寄存器地址;
(23a)向所述写数据寄存器写入要向从器件寄存器写入的数据;
(24a)通过所述写操作控制寄存器发起启动写操作的命令;
进一步的,本发明所述的方法,其中,对I2C从器件进行读操作,包括以下步骤:
(21b)CPU向所述从器件地址寄存器写入要操作的从器件地址;
(22b)向所述从器件寄存器地址寄存器写入要操作的从器件寄存器地址;
(23b)通过所述读操作控制寄存器发起启动读操作的命令;
本发明所述的方法,其中,所述步骤(3)中,进一步包括:执行访问操作后,读取可编程器件内的读操作状态寄存器和写操作状态寄存器,判断该I2C从器件所处的操作状态为读状态或者写状态,并根据该操作状态,选择对该I2C从器件进行相应的处理;
进一步的,本发明所述的方法,其中,如果可编程器件处于写状态,对所述I2C从器件进行处理,还包括以下步骤:
(41a)经过一段延时,等待可编程器件内I2C控制器操作I2C从器件完毕;
(42a)读取写操作状态寄存器;
(43a)判断写操作是否完成,写操作完成则进入步骤(44a);否则,返回到步骤(41a);
(44a)判断写操作是否成功,如果操作成功,则结束操作;否则,进入步骤(45a);
(45a)上报写操作出错告警;
进一步的,本发明所述的方法,其中,如果可编程器件处于读状态,对所述I2C从器件进行处理,还包括以下步骤:
(41b)经过一段延时,等待可编程器件内I2C控制器操作I2C从器件完毕;
(42b)读取读操作状态寄存器;
(43b)判断读操作是否完成,如果读操作完成,则进入步骤(44b);否则,返回到步骤(41b);
(44b)判断读操作是否成功,如果操作成功,则进入步骤(45b);否则,进入步骤(46b);
(45b)读取读数据寄存器中的数据;
(46b)上报读操作出错告警;
为了解决上述问题,本发明还提供了一种实现访问多个I2C从器件的装置,包括:一个CPU、一个可编程器件和多个I2C从器件,其中,所述CPU与所述可编程器件以总线方式相连,所述多个I2C从器件中每个I2C接口的串行时钟线以及串行数据线,分别与所述可编程器件I/O管脚引出的相应的时钟线以及数据线相连接;
所述CPU,用于选择要访问的I2C从器件,向可编程器件提供该I2C从器件的数据信息,对该I2C从器件发起进行读、写操作的命令,并从所述可编程器件内读取该I2C从器件的操作状态,进行相应的处理;
所述可编程器件,由所述CPU控制,完成对多个I2C从器件的访问,包括:
一个寄存器组,用于存储CPU通过该可编程器件访问I2C从器件时所使用的该I2C从器件的相关信息;
一个I2C控制器,是在可编程器件内实现的硬件I2C控制器,用于按照I2C总线规范的时序,根据CPU的指示,执行对I2C从器件的操作;
一个选路网络,其一侧连接的是所述I2C控制器引出的I2C串行数据线和串行时钟线,另一侧连接到所述可编程器件的I/O引脚引出的相应的时钟线以及数据线相连接,从而将所述I2C控制器与所述多个I2C从器件中的某一个从器件连通;
进一步的,本发明所述的装置,其中,所述I2C从器件的数据信息,包括:I2C从器件地址信息、操作数据和控制信息;
进一步的,本发明所述的装置,其中,所述I2C从器件的相关信息,包括:I2C从器件地址信息、数据信息、控制信息和状态信息;
进一步的,本发明所述的装置,其中,所述寄存器组,包括:从器件地址寄存器、从器件寄存器地址寄存器、读数据寄存器、写数据寄存器、读操作控制寄存器、写操作控制寄存器、从器件选择寄存器、读操作状态寄存器和写操作状态寄存器;
进一步的,本发明所述的装置,其中,当所述I2C从器件未处于使用状态时,所述选路网络,将I2C控制器引出来的I2C串行数据线和串行时钟线,与可编程器件的某两个I/O引脚断开,从而使所述I2C控制器与所述该I2C从器件断开;
在同一时间,选路网络仅将I2C控制器与一个I2C从器件连通,I2C控制器与其他I2C从器件处于断开状态。
与现有技术相比,本发明所述方法和装置,采用单板上现有的可编程器件实现了硬件的I2C控制器,I2C控制器的I2C接口通过选路网络与要操作的I2C从器件连同,CPU只要向可编程器件发送操作数据和发起操作命令,就可以实现对多个I2C从器件的操作。方便灵活、效率高、操作稳定可靠、降低了单板开发成本。
附图说明
图1为本发明实施例中装置的硬件连接图;
图2为本发明实施例中可编程器件内的寄存器组和电路结构示意图;
图3为本发明实施例中CPU写操作任一个I2C从器件寄存器的流程图;
图4为本发明实施例中CPU读操作任一个I2C从器件寄存器的流程图。
具体实施方式
本发明为了解决传统技术方案存在的弊端,通过以下具体实施例进一步阐述本发明所述的一种用可编程器件实现访问多个I2C从器件的方法及装置,以下对具体实施方式进行详细描述,但不作为对本发明的限定。
如图1所示,为本发明实施例中装置的硬件连接图。该装置由CPU、可编程器件和多个I2C从器件组成,其中CPU通过本地总线与可编程器件连接,多个I2C从器件中每个I2C接口的串行时钟线以及串行数据线,分别与所述可编程器件I/O管脚引出的相应的时钟线以及数据线相连接,其中与可编程器件连接的多个I2C从器件只涉及包含器件地址和器件寄存器地址的I2C从器件,比如SFP光模块。
如图2所示,为本发明实施例中可编程器件内的寄存器组和电路结构示意图。
所述寄存器组包括:从器件地址寄存器Reg_Dev_Addr、从器件寄存器地址寄存器Reg_RW_Addr、读数据寄存器Reg_Rd_Data、写数据寄存器Reg_Wr_Data、读操作控制寄存器Reg_Rd_Contrl、写操作控制寄存器Reg_Wr_Contrl、读操作状态寄存器Reg_Rd_Status、写操作状态寄存器Reg_Wr_Status和从器件选择寄存器Reg_Slave_Select;
其中从器件地址寄存器、从器件寄存器地址寄存器用于存储要访问的I2C从器件地址和I2C从器件寄存器地址;写数据寄存器存储要写入到I2C从器件寄存器的数据;读数据寄存器存储从I2C从器件寄存器中读取的数据;读操作控制寄存器存储CPU向可编程器件发送读操作的命令,写入“1”表示发起读操作,写入“0”表示不进行读操作;写操作控制寄存器存储CPU向可编程器件发送写操作的命令,写入“1”表示发起写操作,写入“0”表示不进行写操作;
读操作状态寄存器和写操作状态寄存器各包含两个状态指示位,由可编程器件写入来表示I2C控制器操作I2C从器件的进度和结果,写操作状态寄存器包含位Wr_Busy和位Wr_Error两个写操作状态指示位,Wr_Busy为“1”表示写操作正在进行,Wr_Busy为“0”表示写操作完成,Wr_Error为“1”表示写操作出错,Wr_Error为“0”表示写操作成功;读操作状态寄存器包含位Rd_Busy和位Rd_Error两个读操作状态指示位,Rd_Busy为“1”表示读操作正在进行,Rd_Busy为“0”表示读操作完成,Rd_Error为“1”表示读操作出错,Rd_Error为“0”表示读操作成功。
从器件选择寄存器的数据宽度与要操作的I2C从器件的器件个数相等,对于有N个I2C从器件的产品,从器件选择寄存器中的N位数据分别与N个I2C从器件的每一个I2C从器件一一对应,从器件选择寄存器中的第1位数据Reg_Slave_Select[0]与第1个I2C从器件对应,从器件选择寄存器中的第2位数据Reg_Slave_Select[1]与第2个I2C从器件对应,依此类推,从器件选择寄存器中的第N-1位数据Reg_Slave_Select[N-1]与第N个I2C从器件对应。从器件选择寄存器中的某一位写入“0”,则表示CPU要对对应的从器件进行操作,从器件选择寄存器中的某一位写入“1”,则表示CPU不操作对应的从器件。
图中的I2C控制器由可编程器件内的硬件电路实现,按照I2C总线规范的时序执行CPU所要求的读写I2C从器件操作。它在可编程器件接收到CPU发送出的写操作命令后,读取寄存器组准备好的地址和数据信息,按照I2C总线规范的写操作时序对I2C从器件进行写操作,写操作完成后根据操作情况更改写操作状态寄存器的数据信息;它在可编程器件接收到CPU发送出的读操作命令后,读取寄存器组准备好的地址信息,按照I2C总线规范的读操作时序对I2C从器件进行读操作,读操作完成后根据操作情况更改读操作状态寄存器的数据信息;
图中的选路网络根据从器件选择寄存器各数据位的信息选择将I2C控制器的I2C接口与每一个I2C从器件的I2C接口连通或者断开。从器件选择寄存器中的每一位数据分别与多个I2C从器件的每一个I2C从器件一一对应,每一个I2C从器件连接到可编程器件不同的两个I/O管脚上,如果从器件选择寄存器中的第m(0≤m≤N)位数据为“0”,选路网络则将I2C控制器的SDA数据线和SCL时钟线连接到可编程器件的SDAm和SCLm两个I/O管脚上,即将I2C控制器与第m个I2C从器件连通;如果从器件选择寄存器中的第m位数据为“1”,选路网络则将I2C控制器的SDA数据线和SCL时钟线与可编程器件的SDAm和SCLm两个I/O管脚断开,即将I2C控制器与第m个I2C从器件断开。在同一时间,选路网络只能将I2C控制器与一个I2C从器件连通,I2C控制器与其他I2C从器件处于断开状态。
下面以某个含有8个SFP光模块的处理板为例,说明CPU要对8个SFP光模块进行读写操作的方法。SFP光模块是含有I2C接口的I2C从器件,每个光模块的器件地址为A0H或A2H,可编程器件作为主I2C器件,CPU通过可编程器件可以读取SFP光模块的数字诊断信息,也可以向SFP光模块的某些寄存器写入数据。CPU通过地址和数据总线与可编程器件连接,8个SFP光模块中的每一个SFP光模块I2C接口与可编程器件的两个不同I/O管脚连接。
如图3所示,为本发明实施例中CPU写操作任一个I2C从器件寄存器的流程图,包括以下步骤:
步骤301,选择要操作的SFP光模块,即向从器件选择寄存器中写入数据,以确定要访问8个SFP光模块中的某一个SFP光模块;
假如CPU要对第2个SFP光模块操作,即在从器件选择寄存器Reg_Slave_Select[7:0]写入”1111_1101”;
步骤302,写入要操作的SFP光模块的器件地址,即向Reg_Dev_Addr中写入A0H或A2H;
步骤303,写入要操作的SFP光模块寄存器地址,即向Reg_RW_Addr中写入要操作的从器件寄存器地址;
步骤304,写入要向SFP光模块寄存器中写入的数据,即在Reg_Wr_Data中写入要写入到SFP光模块寄存器的数据;
步骤305,向可编程器件发起启动写操作的命令,即在Reg_Wr_Contrl寄存器中写入“1”;
步骤306,延时30个SCL时钟周期,等待可编程器件内的I2C控制器按照I2C总线规范的时序完成写操作;
步骤307,读取写操作状态寄存器;
步骤308,判断写操作是否完成,即判断Wr_Busy是否为“0”,如果为0,则表示操作完成,进入到步骤309;否则,返回到步骤306;
步骤309,判断写操作是否成功,即判断Wr_Error是否为“0”,如果为0,则表示操作成功,没有出错,进入步骤311;否则,进入步骤310。
步骤310,上报写操作出错告警;
步骤311,结束操作。
如图4所示,为本发明实施例中CPU读操作任一个I2C从器件寄存器的流程图,包括以下步骤:
步骤401,选择要操作的SFP光模块,即向从器件选择寄存器中写入数据,以确定要访问8个SFP光模块中的某一个SFP光模块;
假如CPU要对第2个SFP光模块操作,即在从器件选择寄存器Reg_Slave_Select[7:0]写入”1111_1101”;
步骤402,写入要操作的SFP光模块的器件地址,即向Reg_Dev_Addr中写入A0H或A2H;
步骤403,写入要操作的SFP光模块寄存器地址,即向Reg_RW_Addr中写入要操作的SFP光模块寄存器地址;
步骤404,向可编程器件发起启动读操作的命令,即在Reg_Rd_Contrl寄存器中写入“1”;
步骤405,延时50个SCL时钟周期,等待可编程器件内的I2C控制器按照I2C总线规范的时序完成读操作;
步骤406,读取读操作状态寄存器;
步骤407,判断读操作是否完成,即判断Rd_Busy是否为“0”,如果为0,则表示读操作完成,进入到步骤408;否则,返回到步骤405;
步骤408,判断读操作是否成功,即判断Rd_Error是否为“0”,如果为0,则表示读操作成功,进入步骤409;否则,进入步骤410;
步骤409,读取要操作的I2C从器件寄存器的数据,即读取读数据寄存器Reg_Rd_Data中的数据;
步骤410,上报读操作出错告警;
步骤411,结束操作。
本发明提供的方法在CPU访问多个I2C从器件时操作简易灵活、运行稳定可靠,效率高、速度快、单板开发成本低。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (15)
1、一种用可编程器件实现访问多个I2C从器件的方法,其特征在于,包括以下步骤:
(1)CPU在多个I2C从器件中选取某一个要访问的I2C从器件,向所述可编程器件内的寄存器组中的从器件选择寄存器写入访问该I2C从器件的选路信息,并根据该信息,将可编程器件内I2C控制器与该I2C从器件的连接线路连通,将可编程器件内I2C控制器与不进行操作的I2C从器件的连接线路断开;
(2)向所述可编程器件内的寄存器组写入在访问该I2C从器件时所需的I2C从器件地址信息和控制信息,并发送命令启动对I2C从器件的访问操作;
(3)按照I2C总线规范的时序,所述可编程器件内的I2C控制器根据所述I2C从器件地址信息和控制信息,执行对该I2C从器件的访问操作。
2、如权利要求1所述的方法,其特征在于,所述寄存器组,包括:从器件地址寄存器、从器件寄存器地址寄存器、读数据寄存器、写数据寄存器、读操作控制寄存器、写操作控制寄存器、从器件选择寄存器、读操作状态寄存器和写操作状态寄存器。
3、如权利要求2所述的方法,其特征在于,步骤(1)中,所述可编程器件内I2C控制器与I2C从器件的连接线路,包括:串行数据线和串行时钟线。
4、如权利要求2所述的方法,其特征在于,步骤(2)中,所述对I2C从器件的访问操作,包括以下两种情况:
对I2C从器件进行写操作、以及对I2C从器件进行读操作。
5、如权利要求4所述的方法,其特征在于,步骤(2)中,在对I2C从器件进行写操作时,还向所述可编程器件内的寄存器组写入在访问该I2C从器件时所需的操作数据。
6、如权利要求5所述的方法,其特征在于,对I2C从器件进行写操作,包括以下步骤:
(21a)CPU向所述从器件地址寄存器写入要操作的从器件地址;
(22a)向所述从器件寄存器地址寄存器写入要操作的从器件寄存器地址;
(23a)向所述写数据寄存器写入要向从器件寄存器写入的数据;
(24a)通过所述写操作控制寄存器发起启动写操作的命令。
7、如权利要求5所述的方法,其特征在于,对I2C从器件进行读操作,包括以下步骤:
(21b)CPU向所述从器件地址寄存器写入要操作的从器件地址;
(22b)向所述从器件寄存器地址寄存器写入要操作的从器件寄存器地址;
(23b)通过所述读操作控制寄存器发起启动读操作的命令。
8、如权利要求2所述的方法,其特征在于,所述步骤(3)中,进一步包括:执行访问操作后,读取可编程器件内的读操作状态寄存器和写操作状态寄存器,判断该I2C从器件所处的操作状态为读状态或者写状态,并根据该操作状态,选择对该I2C从器件进行相应的处理。
9、如权利要求8所述的方法,其特征在于,如果可编程器件处于写状态,对所述I2C从器件进行处理,还包括以下步骤:
(41a)经过一段延时,等待可编程器件内I2C控制器操作I2C从器件完毕;
(42a)读取写操作状态寄存器;
(43a)判断写操作是否完成,写操作完成则进入步骤(44a);否则,返回到步骤(41a);
(44a)判断写操作是否成功,如果操作成功,则结束操作;否则,进入步骤(45a);
(45a)上报写操作出错告警。
10、如权利要求8所述的方法,其特征在于,如果可编程器件处于读状态,对所述I2C从器件进行处理,还包括以下步骤:
(41b)经过一段延时,等待可编程器件内I2C控制器操作I2C从器件完毕;
(42b)读取读操作状态寄存器;
(43b)判断读操作是否完成,如果读操作完成,则进入步骤(44b);否则,返回到步骤(41b);
(44b)判断读操作是否成功,如果操作成功,则进入步骤(45b);否则,进入步骤(46b);
(45b)读取读数据寄存器中的数据;
(46b)上报读操作出错告警。
11、一种实现访问多个I2C从器件的装置,包括:一个CPU、一个可编程器件和多个I2C从器件,其中,所述CPU与所述可编程器件以总线方式相连,其特征在于,所述多个I2C从器件中每个I2C接口的串行时钟线以及串行数据线,分别与所述可编程器件I/O管脚引出的相应的时钟线以及数据线相连接;
所述CPU,用于选择要访问的I2C从器件,向可编程器件提供该I2C从器件的数据信息,对该I2C从器件发起进行读、写操作的命令,并从所述可编程器件内读取该I2C从器件的操作状态,进行相应的处理;
所述可编程器件,由所述CPU控制,完成对多个I2C从器件的访问,包括:
一个寄存器组,用于存储CPU通过该可编程器件访问I2C从器件时所使用的该I2C从器件的相关信息;
一个I2C控制器,是在可编程器件内实现的硬件I2C控制器,用于按照I2C总线规范的时序,根据CPU的指示,执行对I2C从器件的操作;
一个选路网络,其一侧连接的是所述I2C控制器引出的I2C串行数据线和串行时钟线,另一侧连接到所述可编程器件的I/O引脚引出的相应的时钟线以及数据线相连接,从而将所述I2C控制器与所述多个I2C从器件中的某一个从器件连通。
12、如权利要求11所述的装置,其特征在于,所述I2C从器件的数据信息,包括:I2C从器件地址信息、操作数据和控制信息。
13、如权利要求11所述的装置,其特征在于,所述I2C从器件的相关信息,包括:I2C从器件地址信息、数据信息、控制信息和状态信息。
14、如权利要求11所述的装置,其特征在于,所述寄存器组,包括:从器件地址寄存器、从器件寄存器地址寄存器、读数据寄存器、写数据寄存器、读操作控制寄存器、写操作控制寄存器、从器件选择寄存器、读操作状态寄存器和写操作状态寄存器。
15、如权利要求11所述的装置,其特征在于,当所述I2C从器件未处于使用状态时,所述选路网络,将I2C控制器引出来的I2C串行数据线和串行时钟线,与可编程器件的某两个I/O引脚断开,从而使所述I2C控制器与所述该I2C从器件断开;
在同一时间,选路网络仅将I2C控制器与一个I2C从器件连通,I2C控制器与其他I2C从器件处于断开状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101453780A CN100568211C (zh) | 2007-09-11 | 2007-09-11 | 用可编程器件实现访问多个i2c从器件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101453780A CN100568211C (zh) | 2007-09-11 | 2007-09-11 | 用可编程器件实现访问多个i2c从器件的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101140556A CN101140556A (zh) | 2008-03-12 |
CN100568211C true CN100568211C (zh) | 2009-12-09 |
Family
ID=39192511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101453780A Active CN100568211C (zh) | 2007-09-11 | 2007-09-11 | 用可编程器件实现访问多个i2c从器件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100568211C (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604277B (zh) * | 2008-06-11 | 2012-03-28 | 比亚迪股份有限公司 | I2c总线验证***及方法 |
CN101763331B (zh) * | 2010-01-18 | 2014-04-09 | 中兴通讯股份有限公司 | 一种实现i2c总线控制的***及方法 |
CN102081570B (zh) * | 2011-01-21 | 2016-01-20 | 中兴通讯股份有限公司 | 一种i2c设备的访问方法及装置 |
CN102411550A (zh) * | 2011-08-24 | 2012-04-11 | 四川九洲电器集团有限责任公司 | 一种基于i2c总线控制器件的装置与方法 |
CN102567133B (zh) * | 2011-12-31 | 2015-03-04 | 广州视声电子科技有限公司 | 一种通过中断实现通信方法、i2c器件及i2c*** |
CN102609381A (zh) * | 2012-02-03 | 2012-07-25 | 华为技术有限公司 | 单板、通信***及为器件分配独立地址的方法 |
CN104699526A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 一种软件读取光模块信息的方法及装置 |
CN106471483B (zh) * | 2014-03-24 | 2019-12-13 | 伊耐斯克泰克—计算机科学与技术***工程研究所 | 设置、捕获、处理及扫描模块及其操作方法、包括模块的装置及混合信号总线 |
CN106168934B (zh) * | 2016-06-29 | 2018-12-14 | 锐捷网络股份有限公司 | 一种数据传输方法及装置 |
CN105957491A (zh) | 2016-07-14 | 2016-09-21 | 深圳市华星光电技术有限公司 | I2c传输电路及显示装置 |
CN106970890B (zh) * | 2016-08-31 | 2020-04-28 | 上海博达通信科技有限公司 | 一种多级i2c总线控制方法 |
CN107168897B (zh) * | 2017-04-18 | 2019-12-13 | 深圳市有芯半导体技术有限公司 | 一种实现i2c重复读写控制的装置 |
CN107423027B (zh) * | 2017-07-24 | 2021-11-23 | 杭州迪普科技股份有限公司 | 一种光模块的信息读取方法、装置和*** |
CN108287796A (zh) * | 2018-01-24 | 2018-07-17 | 郑州云海信息技术有限公司 | 一种控制***和可编程逻辑器件的通信方法 |
CN108268413A (zh) * | 2018-02-28 | 2018-07-10 | 郑州云海信息技术有限公司 | 扩展pcie接口数量的***、方法、服务器及整机*** |
CN109099959B (zh) * | 2018-06-20 | 2021-04-02 | 中国科学院电工研究所 | 一种数字传感器阵列的连接和数据读出方法 |
CN108959157A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种可编程逻辑器件的控制***及方法 |
CN109446130B (zh) * | 2018-10-29 | 2021-01-26 | 杭州迪普科技股份有限公司 | 一种i/o设备状态信息的获取方法及*** |
CN109446154A (zh) * | 2018-10-30 | 2019-03-08 | 广州开信通讯***有限公司 | 光模块监控***和方法 |
CN109460378B (zh) * | 2018-10-30 | 2021-01-15 | 新华三信息安全技术有限公司 | 一种接口电路、信号处理方法、器件及介质 |
CN109743105A (zh) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | 智能网卡光模块管理方法、装置、***及智能网卡和介质 |
CN110489361B (zh) * | 2019-07-31 | 2020-08-25 | 广东高云半导体科技股份有限公司 | 兼容sram总线的i3c接口电路 |
CN110781127A (zh) * | 2019-09-25 | 2020-02-11 | 广东宝莱特医用科技股份有限公司 | 一种星形拓扑的i2c通信装置及方法 |
CN112817885A (zh) * | 2021-01-29 | 2021-05-18 | 联想(北京)信息技术有限公司 | 一种数据访问控制方法、可编程逻辑器件及电子设备 |
CN113849433B (zh) * | 2021-09-14 | 2023-05-23 | 深圳市昂科技术有限公司 | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 |
-
2007
- 2007-09-11 CN CNB2007101453780A patent/CN100568211C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101140556A (zh) | 2008-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568211C (zh) | 用可编程器件实现访问多个i2c从器件的方法及装置 | |
CN101198943B (zh) | 点到点链路协商方法和装置 | |
CN101477504B (zh) | 数据传输***及数据传输方法 | |
KR100381502B1 (ko) | 컴퓨터 시스템의 구성을 결정하기 위한 방법, 시스템 및 프로그램을 기록한 기록 매체 | |
CN105721357A (zh) | 交换设备、***部件互连高速***及其初始化方法 | |
CN102160044A (zh) | PCIe接口上的SATA大容量存储装置仿真 | |
CN103003808B (zh) | 用于访问PCI Express 兼容设备的资源的***和方法 | |
KR102420530B1 (ko) | 대체 프로토콜 선택 | |
EP1963977B1 (en) | Memory systems with memory chips down and up | |
CN101336422A (zh) | 用于在现有架构中添加自主控制器的方法和设备 | |
CN101814058A (zh) | 通用存储装置 | |
CN103955441A (zh) | 一种设备管理***、方法及一种io扩展接口 | |
CN210639614U (zh) | 一种支持多种带宽的nvme硬盘背板*** | |
CN113626359A (zh) | 一种服务器的闪存芯片的信号切换装置及方法 | |
CN104158709A (zh) | 一种光模块识别的方法及端口扩展设备 | |
CN114003528A (zh) | Ocp转接卡、转接***及转接方法 | |
CN116032746B (zh) | 资源池的信息处理方法及装置、存储介质及电子装置 | |
CN117135055A (zh) | 带宽资源的控制方法及装置、存储介质及电子装置 | |
CN216388068U (zh) | 一种pcie接口验证板及测试*** | |
CN114265731A (zh) | 一种pcie接口验证板、测试***及测试方法 | |
CN213276462U (zh) | 双路服务器主板及双路服务器 | |
CN106610913A (zh) | 卡池的处理方法及装置、卡池*** | |
CN101297265A (zh) | 从网络附加存储装置断开外部存储装置的方法和装置 | |
CN204189089U (zh) | 一种服务器 | |
CN216014148U (zh) | 一种服务器和服务器背板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151111 Address after: 430223 East Lake Wuhan New Technology Development Zone Hua Hua Road, Optics Valley Industrial Park, ZTE building, building No. 3, building Patentee after: WUHAN ZHONGXING SOFTWARE CO., LTD. Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department Patentee before: ZTE Corporation |