一种交换机系统多主多从I2C通信实现方法和装置制造方法及图纸

技术编号:22883808 阅读:69 留言:0更新日期:2019-12-21 07:14
本发明专利技术实施例公开了一种交换机系统多主多从I2C通信实现方法和装置,所述方法包括:多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;I2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。本发明专利技术实施例通过基于CPLD/FPGA的I2C多主多从模块设计,可以有效避免由于主设备同时访问从设备的时间冲突问题,并降低了成本。

A method and device of I2C communication in switch system

【技术实现步骤摘要】
一种交换机系统多主多从I2C通信实现方法和装置
本专利技术涉及交换机技术,尤指一种交换机系统多主多从I2C通信实现方法和装置。
技术介绍
在交换机系统中,通过复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)/现场可编程门阵列(FieldProgrammableGATEArray,FPGA)芯片控制整个交换机的上、下电时序控制、按键检测、风扇转速控制、光接口SFP点灯控制、串口切换、冗余切换及双向二线制同步串行总线I2C通信等。CPLD/FPGA是一款半定制的专用集成电路,具有灵活编程、快速响应、可擦写、集成度高等系列优点,在前期开发验证及控制应用领域得到越来越广泛的应用。对于交换机系统中,CPLD/FPGA的应用越来越广泛,在整个系统中,扮演着越来越重要的角色。对于交换机而言,中央处理器(CPU)或基板管理控制器(BMC)等基于I2C通信读写CPLD/FPGA寄存器获得或控制交换机行为,这也是把CPLD/FPGA作为CPU和BMC等从设备。对于CPU和BMC等需要获得其它设备的信息,同样通过I2C去访问从设备,为解决双主即CPU和BMC与从设备的通信冲突问题,硬件上通过双主仲裁控制器PCA9641解决;对于多从设备的问题,如果直接“线与”实现,则会出现一个从设备崩溃导致整个I2C总线(Bus)崩溃问题,硬件上通过8通道I2C选择器PCA9548解决。对于上述现象,一方面双主仲裁机制中,只能保证只有一个主设备即BMC或CPU访问从设备,这可能导致在一定时间内另一主设备不能获得所需信息;对于多从设备就需要I2C通道选择器保证通信畅通;同时,这种硬件增加设备会显著增加硬件成本和PCB面积,对于含有大量I2C设备的交换机系统来说,这在降低硬件成本和PCB面积紧张的今天不是最优选择。
技术实现思路
为了解决上述技术问题,本专利技术实施例提供了一种交换机系统多主多从I2C通信实现方法和装置,通过基于CPLD/FPGA的I2C多主多从模块设计,可以有效避免由于主设备同时访问从设备的时间冲突问题。为了达到本专利技术目的,一方面,本专利技术实施例提供了一种交换机系统多主多从I2C通信实现方法,包括:多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;I2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。进一步地,所述主设备包括:中央处理器CPU或基板管理控制器BMC。进一步地,所述方法包括:基于CPLD/FPGA的所述I2C主模块通过所述I2C交换机,在预定周期内遍历所有设备信息,将获取的所述信息存储到不同的存储模块中。进一步地,所述方法还包括:上游CPU或BMC通过I2C从模块分别“读”对应随机存取存储器RAM模块信息,获取所述从设备信息;当上游CPU或BMC“写”从设备时,首先基于多个所述I2C从模块“写”对应的RAM存储模块;当CPLD/FPGA监测到有“写”入动作时,I2C主模块立即读取RAM值并把数值“写”入对应从设备。进一步地,所述方法还包括:每个主设备采用的地址不同;每个从设备预先设定不同的I2C地址、寄存器偏移量及设备地址。进一步地,所述方法还包括:对同一个寄存器进行读或写之前,预先设置操作优先级。另一方面,本专利技术实施例还提供了一种交换机系统多主多从I2C通信实现装置,包括:第一访问模块,用于多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;第二访问模块,用于I2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。进一步地,所述主设备包括:中央处理器CPU或基板管理控制器BMC。进一步地,所述第二访问模块用于:基于CPLD/FPGA的所述I2C主模块通过所述I2C交换机,在预定周期内遍历所有设备信息,将获取的所述信息存储到不同的存储模块中。进一步地,所述第一访问模块用于:上游CPU或BMC通过I2C从模块分别“读”对应随机存取存储器RAM模块信息,获取所述从设备信息;当上游CPU或BMC“写”从设备时,首先基于多个所述I2C从模块“写”对应的RAM存储模块;所述第二访问模块用于:当CPLD/FPGA监测到有“写”入动作时,I2C主模块立即读取RAM值并把数值“写”入对应从设备。进一步地,所述装置中,每个主设备采用的地址不同;每个从设备预先设定不同的I2C地址、寄存器偏移量及设备地址。本专利技术实施例通过多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;I2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。本专利技术实施例通过基于CPLD/FPGA的I2C多主多从模块设计,可以有效避免由于主设备同时访问从设备的时间冲突问题,并降低了成本。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例交换机系统多主多从I2C通信实现方法的流程图;图2为本专利技术实施例交换机系统多主多从I2C通信实现方法中的功能示意图;图3为本专利技术实施例交换机系统多主多从I2C通信实现方法中的I2CSwitch引脚示意图;图4为本专利技术实施例交换机系统多主多从I2C通信实现装置的结构图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本专利技术实施例交换机系统多主多从I2C通信实现方法的流程图,图2为本专利技术实施例交换机系统多主多从I2C通信实现方法中的功能示意图,如图1和图2所示,本专利技术实施例的方法包括以下步骤:步骤101:多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;其中,所述主设备包括:中央处理器CPU或基板管理控制器BMC。例如,CPU通过I2C从模块0访问相应的随机存取存储器0,BMC通过I2C从模块1访问相应的随机存取存储器1。步骤102:I2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。本专利技术实施例技术方案中,涉及一种交换机多主多从I2C链路访问方法,本文档来自技高网
...

【技术保护点】
1.一种交换机系统多主多从I2C通信实现方法,其特征在于,包括:/n多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;/nI2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。/n

【技术特征摘要】
1.一种交换机系统多主多从I2C通信实现方法,其特征在于,包括:
多个主设备通过各自对应的I2C从模块分别访问相应的存储模块;
I2C主模块根据所述存储模块的信息,通过I2C交换机切换不同I2C通道,并访问不同的从设备。


2.根据权利要求1所述的交换机系统多主多从I2C通信实现方法,其特征在于,所述主设备包括:
中央处理器CPU或基板管理控制器BMC。


3.根据权利要求2所述的交换机系统多主多从I2C通信实现方法,其特征在于,包括:
基于CPLD/FPGA的所述I2C主模块通过所述I2C交换机,在预定周期内遍历所有设备信息,将获取的所述信息存储到不同的存储模块中。


4.根据权利要求3所述的交换机系统多主多从I2C通信实现方法,其特征在于,还包括:
上游CPU或BMC通过I2C从模块分别“读”对应随机存取存储器RAM模块信息,获取所述从设备信息;
当上游CPU或BMC“写”从设备时,首先基于多个所述I2C从模块“写”对应的RAM存储模块;
当CPLD/FPGA监测到有“写”入动作时,I2C主模块立即读取RAM值并把数值“写”入对应从设备。


5.根据权利要求1所述的交换机系统多主多从I2C通信实现方法,其特征在于,还包括:
每个主设备采用的地址不同;每个从设备预先设定不同的I2C地址、寄存器偏移量及设备地址。


6.根据权利要...

【专利技术属性】
技术研发人员:季冬冬薛广营郭月俊张广乐
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1