一种实现i2c总线数据监控与保护的设计方法技术

技术编号:19390888 阅读:28 留言:0更新日期:2018-11-10 02:46
本发明专利技术提供一种实现i2c总线数据监控与保护的设计方法,本发明专利技术在硬件设计中加入CPLD实现对I2C总线上数据的监控与保护,CPLD作为一个监控模块实时解析I2C总线上的数据,只有预先设定的允许的命令才允许远程操作控制器BMC对IC进行读写操作,当存在非法的指令时,CPLD会立刻禁止I2C总线数据的传输,从而起到对IC的保护,提高了整个系统的安全性与稳定性。

A design method of data monitoring and protection for I2C bus

The invention provides a design method for realizing data monitoring and protection of I2C bus. In hardware design, CPLD is added to realize data monitoring and protection on I2C bus. CPLD as a monitoring module parses data on I2C bus in real time. Only pre-set allowable commands allow remote operation controller BMC to control IC. When illegal instructions exist, CPLD will immediately prohibit the transmission of I2C bus data, thus protecting IC and improving the security and stability of the whole system.

【技术实现步骤摘要】
一种实现i2c总线数据监控与保护的设计方法
本专利技术涉及一种常见的i2c总线,具体涉及一种实现i2c总线数据监控与保护的设计方法。
技术介绍
服务器的主板设计中,i2c总线是一种常用的应用总线,经常用于IC之间数据的读写等功能,而基板管理控制器BMC作为一种独立于服务器系统的小型操作系统,可以通过远程进行操作,方便服务器进行远程管理、监控、安装、重启等操作。由于IC均通过I2C与基板管理控制器BMC直接连接,并且BMC可以通过I2C总线直接对IC进行读写操作,因此,当远程操作管理器时,存在通过远程操作管理器对IC进行非法读写的操作,即可随意读写IC,存在内部寄存器被随意篡改的风险,从而导致服务器主板的IC不能正常工作,从而引起主板的不正常工作,导致整个系统崩溃的风险。具体,如图1所示,为现有技术中服务器的设计简图,在当前的服务器设计中,用户可以通过基板管理控制器BMC的专口实现对BMC的远程操作管理器,而BMC与IC之间又存在i2c的总线接口。因此,用户存在远程直接读写IC内部寄存器的风险,从而导致整个系统的崩溃。此外,在现有的设计方案中,没有任何对I2C总线的保护操作,由于用户可以通过基板管理控制器BMC的远程操作管理器,随意的读写IC内部寄存器的值,从而存在IC的内部寄存器被篡改的风险,导致整个系统的崩溃。
技术实现思路
为了避免通过远程操作控制器BMC从而恶意修改IC内部寄存器,导致整个系统的崩溃的问题。本专利技术提出一种实现i2c总线数据监控与保护的设计方法。所述一种实现i2c总线数据监控与保护的设计方法包括以下步骤:在服务器设计中,通过基板管理控制器BMC的专口对基板管理控制器BMC进行远程操作,在基板管理控制器BMC与IC之间添加CPLD,使得所述CPLD通过I2C总线进行数据传输。优选地,根据IC的数据表datasheet中对内部寄存器读写操作的指令进行划分,根据重要性对指令进行级别划分,当command=0x01表示对register1进行读写操作,当command=0x02表示对register2进行读写操作,所述command=0x02比command=0x01的重要性高,在产品量产阶段,禁止对IC内部的register2进行任何修改动作。优选地,所述重要性高低通过寄存器中数值的改变是否对IC的功能产生影响来判断,所述register1中数值的改变对IC的功能实现没有影响,所述register2中数值改变会导致IC的功能失效。优选地,在所述CPLD内部设置一监控模块,该监控模块可以实现对I2C信号的数据监控,解析出I2C总线上数据的I2C地址,以及I2C总线上的command指令。优选地,当command=0x02时,禁止写操作,CPLD立刻触发内部的disable信号,将I2C总线拉高,从而将command=0x02后面的数据截断,使其不能传输到I2C内部,从而保护I2C内部重要寄存器。优选地,当CPLD检测到BMC的I2C总线对command=0x02的数据写完成后,重新打开BMC与IC之间的I2C总线,从而保证其他数据正常进行读写。优选地,所述I2C总线可以被替代为SPI总线。优选地,所述I2C总线可以被替代为LPC总线。本专利技术在硬件设计中加入CPLD实现对I2C总线上数据的监控与保护,CPLD作为一个监控模块实时解析I2C总线上的数据,只有预先设定的允许的命令才允许BMC对IC进行读写操作,当存在非法的指令时,CPLD会立刻禁止I2C总线数据的传输,从而起到对IC的保护。本文提出的方案通过CPLD内部的监控模块可以有效的监控和保护I2C总线上的数据,当i2c总线上出现异常数据时,CPLD可以有效的截断数据的传输,从而保护IC内部的寄存器不被恶意的篡改,提高了整个系统的安全性与稳定性。附图说明图1为现有技术中服务器的设计简图;图2为本专利技术提出的设计简图;图3为BMC向CPLD寄存器写的示意图;图4为BMC从CPLD寄存器读的示意图;图5为CPLD监控模块。具体实施方式为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。下面结合附图对本专利技术实施例所提供的一种实现i2c总线数据监控与保护的设计方法进行详细说明。图2为本专利技术提出的设计简图,如图2所示,为了避免通过远程操作BMC从而恶意修改IC内部寄存器,导致整个系统的崩溃的问题,本专利技术在基板管理控制器BMC与IC之间添加CPLD,通过CPLD来监控I2C总线上的数据,保证只有合法的操作指令才会到达IC,从而保证IC内部寄存器被合法的读写操作,本专利技术中的总线不限于I2C总线,还本专利技术的方案同样适用于对SPI、LPC等总线的数据进行监控和保护。图3为BMC向CPLD寄存器写的示意图,图4为BMC从CPLD寄存器读的示意图,图3和图4表示I2c总线的数据读写格式,在i2c总线数据的读写过程中,均存在着命令字节commandbyte,commandbyte是对i2cslave端具体寄存器读写的标志位,只有与每个寄存器的command对应起来了,才会对该寄存器进行读写操作,如果没有对应的寄存器与command对应,则认为该command为无效指令。因此,首先需要明确芯片允许存在的command指令,以及每个command对应的具体操作,在服务器产品的量产阶段,针对具体的command实现对I2C数据的监控与保护。首先,在硬件原理图设计中,参照图2实现原理图的设计。其次,根据IC的数据表datasheet中对内部寄存器读写操作的指令进行划分,根据重要性对指令进行级别划分,比如:当command=0x01是对register1进行读写操作,当command=0x02是对register2进行读写操作;但是register1中数值的改变对IC的功能实现没有影响,但是register2中数值改变会导致IC的功能失效。因此,Command=0x02比command=0x01的重要性高。在产品量产阶段,是不允许对IC内部的register2进行任何修改动作。然后,如图5所示,CPLD内部实现一个对i2c总线的监控模块,该模块可以实现对I2C信号的数据监控,解析出I2C总线上数据的I2C地址,以及I2C总线上的command指令。当解析到command=0x02并且要进行写操作时,由于在量产阶段不允许对register2进行任何的数据修改。因此,当command=0x02时的写操作应该被禁止。此时,CPLD立刻触发内部的disable信号,将I2C总线拉高,从而将command=0x02后面的数据截断,使其不能传输到I2C内部,起到了保护I2C内部重要寄存器的目的。当CPLD检测到BMC的I2C总线对command=0x02的数据写完成后,会重本文档来自技高网...

【技术保护点】
1.一种实现i2c总线数据监控与保护的设计方法,所述方法包括:在服务器设计中,通过基板管理控制器BMC的专口对基板管理控制器BMC进行远程操作,在基板管理控制器BMC与IC之间添加CPLD,使得所述CPLD通过I2C总线进行数据传输。

【技术特征摘要】
1.一种实现i2c总线数据监控与保护的设计方法,所述方法包括:在服务器设计中,通过基板管理控制器BMC的专口对基板管理控制器BMC进行远程操作,在基板管理控制器BMC与IC之间添加CPLD,使得所述CPLD通过I2C总线进行数据传输。2.如权利要求1所述的一种实现i2c总线数据监控与保护的设计方法,还包括:根据IC的数据表datasheet中对内部寄存器读写操作的指令进行划分,根据重要性对指令进行级别划分,当command=0x01表示对register1进行读写操作,当command=0x02表示对register2进行读写操作,所述command=0x02比command=0x01的重要性高,在产品量产阶段,禁止对IC内部的register2进行任何修改动作。3.如权利要求2所述的一种实现i2c总线数据监控与保护的设计方法,所述重要性高低通过寄存器中数值的改变是否对IC的功能产生影响来判断,所述register1中数值的改变对IC的功能实现没有影响,所述register2中数值改变会导致IC的功...

【专利技术属性】
技术研发人员:陈占良
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1