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

技术编号:12394737 阅读:104 留言:0更新日期:2015-11-26 01:51
本发明专利技术公开一种集成电路总线系统及其数据操作和传输方法。其中,该集成电路总线系统包括:CPU和IIC器件,连接在CPU与IIC器件之间的现场可编程逻辑门阵列FPGA,其中,CPU与FPGA之间通过第一IIC总线连接;FPGA与IIC器件之间通过第二IIC总线连接,第一IIC总线与第二IIC总线相互独立;CPU用于通过第一IIC总线访问FPGA,并通过FPGA向IIC器件发送操作指令;FPGA用于作为主设备通过第二IIC总线与IIC器件进行交互,执行操作指令,以及透传CPU与IIC器件之间传输的读数据或写数据。

【技术实现步骤摘要】

本专利技术涉及通用集成电路总线
,具体而言,涉及一种。
技术介绍
集成电路总线(Inter-1ntegrated Circuit, IIC)规范作为一种两线式串行总线-只有一条数据线和一条时钟线的总线-已经成为一个国际标准,在超过100种不同的集成电路(integrated circuit, IC)上实现并得到超过50家公司的许可。符合IIC总线标准的IC都必须有一个7bits的器件地址,作为自己被访问时的地址标识。此外,在同一条总线上,器件和器件地址必须是一一对应的。很多IC厂家的器件只支持2-3bits的自定义地址。在这种情况下,如果同一条总线上相同器件的数量大于自定义地址支持的最大地址数,则将导致同一器件地址对应多个器件。比如某温度传感芯片,只有2bits自定义地址,如果一个硬件系统设计有6个温感,则必然有2个温度传感芯片和其他温度传感芯片的地址重叠。针对有固定器件地址的1C,比如光模块器件(相同型号的光模块,器件地址全部相同)相关技术中通常采用的方式是通过逻辑芯片做一个选通开关,在访问指定光模块前先将对应的光模块选通到IIC总线上,然后访问光模块的器件地址。但是这种方法需要LocalBus 总线或通用 I/O 端口(General-Purpose Input/Output Ports, GP10)来处理选通开关功能,即需要除IIC总线之外的另一条总线做配合,并不能普遍适用于各种地址重置问题的解决。针对相关技术中多个器件的地址重叠问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中存在的多个器件的地址重叠的问题,本专利技术提供了一种IIC总线系统及其数据操作和传输方法,以至少解决上述问题。根据本专利技术的一个方面,提供了一种集成电路总线IIC系统,包括中央处理器CPU和IIC器件,连接在所述CPU与IIC器件之间的现场可编程逻辑门阵列FPGA,其中,所述CPU与所述FPGA之间通过第一 IIC总线连接;所述FPGA与所述IIC器件之间通过第二 IIC总线连接,所述第一 IIC总线与所述第二 IIC总线相互独立;所述CPU用于通过所述第一 IIC总线访问所述FPGA,并通过所述FPGA向所述IIC器件发送操作指令;所述FPGA用于作为主设备通过所述第二 IIC总线与所述IIC器件进行交互,执行所述操作指令,以及透传所述CPU与所述IIC器件之间传输的读数据或写数据。可选地,所述FPGA包括多个,多个所述FPGA之间通过相互独立的第三IIC总线连接。根据本专利技术的另一个方面,提供了一种集成电路总线IIC的数据操作方法,应用于上述的系统,所述方法包括:中央处理器CPU通过第一 IIC总线建立与所述CPU的下一级现场可编程逻辑门阵列FPGA的连接;所述CPU将从所述下一级FPGA的下一级设备到待操作的IIC器件的各个设备的地址及需要执行的操作指令,依次发送所述下一级FPGA,指示从所述下一级FPGA到所述待操作的IIC器件的上一级FPGA中的各个FPGA分别作为主设备与下一级设备建立连接,并执行所述操作指令,其中,所述下一级设备包括=FPGA或所述IIC器件;所述CPU通过从所述下一级FPGA到所述待操作的IIC器件的上一级FPGA中的各个FPGA从所述待操作的IIC器件读取或写入数据。可选地,所述CPU通过第一 IIC总线建立与所述CPU的下一级现场可编程逻辑门阵列FPGA的连接,包括:所述CPU通过所述第一 IIC总线发送所述下一级FPGA的地址及写操作指令;所述CPU接收所述下一级FPGA通过所述第一 IIC总线发送的确认信息ACK。可选地,如果所述操作指令为写操作指令,则所述CPU将从所述下一级FPGA的下一级设备到待操作的IIC器件的各个设备的地址及需要执行的操作指令依次发送所述下一级FPGA之后,所述方法还包括:所述CPU通过所述第一 IIC总线发送待操作的所述IIC器件的内部寄存器地址;所述CPU在接收到ACK后,通过所述第一 IIC总线发送需要写入的I字节数据,在接收到ACK后,发送需要写入的下一字节数据,直至发送完所有需要写的数据,所述CPU通过所述第一 IIC总线发送停止指令。 可选地,如果所述操作指令为读操作指令,则所述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器件中读取的下一字节数据,直至接收完所有需要读的数据。根据本专利技术的又一个方面,提供了一种集成电路总线IIC的数据传输方法,包括:第一现场可编程逻辑门阵列FPGA通过与上一级控制器之间的第一 IIC总线,与所述上一级控制器建立连接,其中,所述上一级控制器包括:中央处理器CPU或FPGA ;所述第一 FPGA接收所述上一级控制器通过所述第一 IIC总线针对所述第一 FPGA的下一级设备的操作指令,其中,所述下一级设备包括:下一级FPGA或待操作的IIC器件,所述操作指令包括:写操作指令或读操作指令;所述第一 FPGA作为主设备,通过与所述下一级设备之间的第二 IIC总线,执行所述操作指令,透传所述上一级控制器与所述下一级设备之间传输的写数据或读数据。可选地,第一 FPGA通过与上一级控制器之间的第一 IIC总线,与所述上一级控制器建立连接,包括:所述第一 FPGA接收所述上一级控制器发送的第一地址信息比特及写操作指令,其中,所述第一地址信息比特指示所述第一 FPGA在所述上一级控制器下的地址信息;所述第一 FPGA通过所述第一 IIC总线,向所述上一级控制器返回确认信息ACK。可选地,如果所述操作指令为写操作指令,则通过与所述下一级设备之间的第二IIC总线,执行所述操作指令,透传所述上一级控制器与所述下一级设备之间传输的写数据或读数据,包括:所述第一 FPGA作为主设备,根据所述上一级控制器发送的第二地址信息比特及所述写操作指令,通过所述第二 IIC总线,与所述下一级设备之间建立连接,其中,所述第二地址信息比特指示所述下一级设备的地址;所述第一 FPGA透传所述第一 FPGA与所述下一级设备之间所述第一 IIC总线发送的数据帧。可选地,如果所述操作指令为读操作指令,则通过与所述下一级设备之间的第二IIC总线,执行所述操作指令,透传所述上一级控制器与所述下一级设备之间传输的读取的数据或待写入的数据,包括:所述第一 FPGA作为主设备,根据所述上一级控制器发送的第二地址信息比特通过所述第二 IIC总线,与所述下一级设备建立连接,其中,所述第二地址信息比特指示所述下一级设备的地址;如果所述下一级设备为所述待操作的IIC器件,则所述第一 FPGA根据所述上一级本文档来自技高网...

【技术保护点】
一种集成电路总线IIC系统,包括中央处理器CPU和IIC器件,其特征在于,还包括:连接在所述CPU与IIC器件之间的现场可编程逻辑门阵列FPGA,其中,所述CPU与所述FPGA之间通过第一IIC总线连接;所述FPGA与所述IIC器件之间通过第二IIC总线连接,所述第一IIC总线与所述第二IIC总线相互独立;所述CPU用于通过所述第一IIC总线访问所述FPGA,并通过所述FPGA向所述IIC器件发送操作指令;所述FPGA用于作为主设备通过所述第二IIC总线与所述IIC器件进行交互,执行所述操作指令,以及透传所述CPU与所述IIC器件之间传输的读数据或写数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:郦会杨利君
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1