集成电路总线系统及其数据操作和传输方法

文档序号:9375527阅读:496来源:国知局
集成电路总线系统及其数据操作和传输方法
【技术领域】
[0001]本发明涉及通用集成电路总线技术领域,具体而言,涉及一种集成电路总线系统及其数据操作和传输方法。
【背景技术】
[0002]集成电路总线(Inter-1ntegrated Circuit, IIC)规范作为一种两线式串行总线-只有一条数据线和一条时钟线的总线-已经成为一个国际标准,在超过100种不同的集成电路(integrated circuit, IC)上实现并得到超过50家公司的许可。符合IIC总线标准的IC都必须有一个7bits的器件地址,作为自己被访问时的地址标识。此外,在同一条总线上,器件和器件地址必须是一一对应的。很多IC厂家的器件只支持2-3bits的自定义地址。在这种情况下,如果同一条总线上相同器件的数量大于自定义地址支持的最大地址数,则将导致同一器件地址对应多个器件。比如某温度传感芯片,只有2bits自定义地址,如果一个硬件系统设计有6个温感,则必然有2个温度传感芯片和其他温度传感芯片的地址重叠。
[0003]针对有固定器件地址的1C,比如光模块器件(相同型号的光模块,器件地址全部相同)相关技术中通常采用的方式是通过逻辑芯片做一个选通开关,在访问指定光模块前先将对应的光模块选通到IIC总线上,然后访问光模块的器件地址。但是这种方法需要LocalBus 总线或通用 I/O 端口(General-Purpose Input/Output Ports, GP10)来处理选通开关功能,即需要除IIC总线之外的另一条总线做配合,并不能普遍适用于各种地址重置问题的解决。
[0004]针对相关技术中多个器件的地址重叠问题,目前尚未提出有效的解决方案。

【发明内容】

[0005]针对相关技术中存在的多个器件的地址重叠的问题,本发明提供了一种IIC总线系统及其数据操作和传输方法,以至少解决上述问题。
[0006]根据本发明的一个方面,提供了一种集成电路总线IIC系统,包括中央处理器CPU和IIC器件,连接在所述CPU与IIC器件之间的现场可编程逻辑门阵列FPGA,其中,所述CPU与所述FPGA之间通过第一 IIC总线连接;所述FPGA与所述IIC器件之间通过第二 IIC总线连接,所述第一 IIC总线与所述第二 IIC总线相互独立;所述CPU用于通过所述第一 IIC总线访问所述FPGA,并通过所述FPGA向所述IIC器件发送操作指令;所述FPGA用于作为主设备通过所述第二 IIC总线与所述IIC器件进行交互,执行所述操作指令,以及透传所述CPU与所述IIC器件之间传输的读数据或写数据。
[0007]可选地,所述FPGA包括多个,多个所述FPGA之间通过相互独立的第三IIC总线连接。
[0008]根据本发明的另一个方面,提供了一种集成电路总线IIC的数据操作方法,应用于上述的系统,所述方法包括:中央处理器CPU通过第一 IIC总线建立与所述CPU的下一级现场可编程逻辑门阵列FPGA的连接;所述CPU将从所述下一级FPGA的下一级设备到待操作的IIC器件的各个设备的地址及需要执行的操作指令,依次发送所述下一级FPGA,指示从所述下一级FPGA到所述待操作的IIC器件的上一级FPGA中的各个FPGA分别作为主设备与下一级设备建立连接,并执行所述操作指令,其中,所述下一级设备包括=FPGA或所述IIC器件;所述CPU通过从所述下一级FPGA到所述待操作的IIC器件的上一级FPGA中的各个FPGA从所述待操作的IIC器件读取或写入数据。
[0009]可选地,所述CPU通过第一 IIC总线建立与所述CPU的下一级现场可编程逻辑门阵列FPGA的连接,包括:所述CPU通过所述第一 IIC总线发送所述下一级FPGA的地址及写操作指令;所述CPU接收所述下一级FPGA通过所述第一 IIC总线发送的确认信息ACK。
[0010]可选地,如果所述操作指令为写操作指令,则所述CPU将从所述下一级FPGA的下一级设备到待操作的IIC器件的各个设备的地址及需要执行的操作指令依次发送所述下一级FPGA之后,所述方法还包括:所述CPU通过所述第一 IIC总线发送待操作的所述IIC器件的内部寄存器地址;所述CPU在接收到ACK后,通过所述第一 IIC总线发送需要写入的I字节数据,在接收到ACK后,发送需要写入的下一字节数据,直至发送完所有需要写的数据,所述CPU通过所述第一 IIC总线发送停止指令。
[0011 ] 可选地,如果所述操作指令为读操作指令,则所述CPU通过所述第一 IIC总线发送所述待操作的IIC器件在所述上一级FPGA下地址及需要执行的操作指令之后,所述方法还包括:所述CPU通过所述第一 IIC总线发送停止指令;所述CPU通过所述第一 IIC总线再次建立与所述CPU的所述下一级FPGA的连接;所述CPU通过所述第一 IIC总线发送需要读取数据的寄存器地址及读操作指令;所述CPU接收到ACK后,通过所述第一 IIC总线发送所述CPU的所述下一级FPGA的地址及读操作指令;所述CPU接收所述CPU的下一级FPGA传输的从所述IIC器件中读取的I字节的读数据;所述CPU向所述下一级FPGA发送ACK,接收所述下一级FPGA传输的从所述IIC器件中读取的下一字节数据,直至接收完所有需要读的数据。
[0012]根据本发明的又一个方面,提供了一种集成电路总线IIC的数据传输方法,包括:第一现场可编程逻辑门阵列FPGA通过与上一级控制器之间的第一 IIC总线,与所述上一级控制器建立连接,其中,所述上一级控制器包括:中央处理器CPU或FPGA ;所述第一 FPGA接收所述上一级控制器通过所述第一 IIC总线针对所述第一 FPGA的下一级设备的操作指令,其中,所述下一级设备包括:下一级FPGA或待操作的IIC器件,所述操作指令包括:写操作指令或读操作指令;所述第一 FPGA作为主设备,通过与所述下一级设备之间的第二 IIC总线,执行所述操作指令,透传所述上一级控制器与所述下一级设备之间传输的写数据或读数据。
[0013]可选地,第一 FPGA通过与上一级控制器之间的第一 IIC总线,与所述上一级控制器建立连接,包括:所述第一 FPGA接收所述上一级控制器发送的第一地址信息比特及写操作指令,其中,所述第一地址信息比特指示所述第一 FPGA在所述上一级控制器下的地址信息;所述第一 FPGA通过所述第一 IIC总线,向所述上一级控制器返回确认信息ACK。
[0014]可选地,如果所述操作指令为写操作指令,则通过与所述下一级设备之间的第二IIC总线,执行所述操作指令,透传所述上一级控制器与所述下一级设备之间传输的写数据或读数据,包括:所述第一 FPGA作为主设备,根据所述上一级控制器发送的第二地址信息比特及所述写操作指令,通过所述第二 IIC总线,与所述下一级设备之间建立连接,其中,所述第二地址信息比特指示所述下一级设备的地址;所述第一 FPGA透传所述第一 FPGA与所述下一级设备之间所述第一 IIC总线发送的数据帧。
[0015]可选地,如果所述操作指令为读操作指令,则通过与所述下一级设备之间的第二IIC总线,执行所述操作指令,透传所述上一级控制器与所述下一级设备之间传输的读取的数据或待写入的数据,包括:所述第一 FPGA作为主设备,根据所述上一级控制器发送的第二地址信息比特通过所述第二 IIC总线,与所述下一级设备建立连接,其中,所述第二地址信息比特指示所述下一级设备的地址;如果所述下一级设备为所述待操作的IIC器件,则所述第一 FPGA根据所述上一级控制器发送的待读取的数据在所述待操作的IIC器件的内部寄存器地址,通过所述第二 IIC总线从所述下一级设备读取数据,并将读取的数据通过所述第一 IIC总线传输给所述上一级控制器;或者,如果所述下一级设备为下一级FPGA,则所述第一 FPGA通过所述第二 IIC总线向所述下一级FPGA发送第三地址信息比特及读操作指令,其中,所述第三地址信息比特指示从CPU到所述待操作的IIC器件之间的所述下一级FPGA的下一级设备地址信息。
[0016]可选地,在所述第一 FPGA通过所述第二 IIC总线向所述下一级FPGA发送第三地址信息比特及读操作指令之后,所述方法还包括:所述第一 FPGA保存所述上一级控制器发送的所述第二地址信息比特及所述第三地址信息比特;所述第一 FPGA向所述上一级控制器发送确认信息;所述第一 FPGA通过所述第一 IIC总线,再次与所述上一级控制器建立连接;所述第一 FPGA接收并保存所述上一级控制器发送的待读取的数据在所述待操作的IIC器件的内部寄存器地址;所述第一FPGA接收所述上一级控制器通过所述第一 IIC总线发送的第一地址信息比特和读操作指令;所述第一 FPGA与所述下一级FPGA建立连接,将所述内部寄存器地址发送给所述下一级FPGA ;所述第一 FPGA向所述下一级FPGA发送所述第二地址信息比特和读操作指令。
[0017]通过本发明,在CPU和IIC器件之间增加现场可编程逻辑门阵列(FPGA),CPU与FPGA之间的IIC总线与FPGA与IIC器件之间的IIC总线相互独立,CPU可以连接多个FPGA,而一个FPGA可以分为多个区,每个区可以连接多个IIC器件,从而解决了多个IIC器件的地址重叠的问题,并且不依赖于额外的其他总线,不会增加CPU侧的接口负担。
【附图说明】
[0018]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019]图1是根据本发明实施例的IIC总线系统的结构示意图;
[0020]图2是根据本发明实施例的二级IIC总线系统设计示例图;
[0021]图3是根据本发明实施例的IIC的数据操作方法的流程
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1