一种服务器中基于I2C总线的温度采集结构及方法与流程

文档序号:12121334阅读:274来源:国知局

本发明属于服务器温度控制技术领域,尤其涉及一种服务器中基于I2C总线的温度采集结构及方法。



背景技术:

目前,随着计算机服务器应用范围日趋广泛,应用环境更加恶劣,如高低温环境及振动冲击等;如何使计算机或服务器在高温或低温环境中依然稳定工作,成为制约计算机发展的一个瓶颈。为了使计算机适应更加恶劣的温度环境,必须在计算机内部设计一个温度控制模块,控制计算机内部温度。

当温度低于计算机内部主板、硬盘、显示器等的工作温度时,采集温度信息,通过温度控制模块中的单片机处理,发出相应高或低电平,驱动加热装置,给相应需加热的硬件加热;反之,驱动散热装置,如风扇等,给相应需散热的硬件散热。温度控制模块中,采用单片机等控制计算机内部温度,需要实时采集温度传感器的温度信息,因为单片机内部处理的数据必须是二进制数字信号,而传统的单片机采集温度信息时,必须通过硬件设计,利用多路开关选择、放大、采样保持、A/D转换等电路,将作为模拟信号的温度信息转换为数字信号后采集到单片机内,这样,不仅硬件电路复杂,且温度信息的实时性和准确性无法得到保证。此为现有技术的不足之处。

因此,针对现有技术中的上述缺陷,提供设计一种服务器中基于I2C总线的温度采集结构及方法,以解决上述技术问题,是非常有必要的。



技术实现要素:

本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种服务器中基于I2C总线的温度采集结构及方法,以解决上述技术问题。

为实现上述目的,本发明给出以下技术方案:

一种服务器中基于I2C总线的温度采集结构,它包括温度传感器,其特征在于,所述的温度传感器通过I2C总线的串行数据线SDA和串行时钟线SCL连接微控制器;每台连接到I2C总线的温度传感器通过唯一的地址与微控制器通信。

优选地,所述的微控制器为单片机控制器。

优选地,所述的微控制器还连接有报警模块;出现故障温度传感器时,产生报警信号。

一种服务器中基于I2C总线的温度采集方法,其特征在于,包括以下步骤:

步骤1):微控制器通过I2C总线发送开始Start信号,温度传感器准备接收微控制器的信号;

步骤2):微控制器发出需要通信的温度传感器地址;

步骤3):温度传感器收到地址后与自身地址比较,如果收到的地址和自身地址不同,则等待微控制器发出停止stop信号;如果收到的地址和自身地址相同,则发出应答Acknowledge信号给微控制器;

步骤4):微控制器接收到应答Acknowledge信号后,开始从温度传感器接收数据,数据接收完毕后微控制器通过I2C总线发送停止stop信号,释放I2C总线;

步骤5):温度传感器等待开始Start信号。

优选地,所述步骤3)中,温度传感器收到与自身地址相同的地址后向微控制器发送应答Acknowledge信号,如果微控制器未收到该应答Acknowledge信号,则认为相应温度传感器故障,则通过报警模块报警,并转到步骤1)。

优选地,该温度采集方法中的微控制器为单片机控制器。

本技术方案中,微控制器与温度传感器的数据通信采用从设备发送主设备接收传输模式。I2C总线上的数据稳定规则,SCL为高电平时SDA上的数据保持稳定,SCL为低电平时允许SDA变化。如果SCL处于高电平时,SDA上产生下降沿,则认为是起始位,SDA上的上升沿认为是停止位。每次数据传输都是以一个起始位开始,而以停止位结束。最高有效位将首先被传输,接收方收到第8位数据后会发出应答位。此模式下,需要主机发送起始位和停止位,应答位由接收方产生。

I2C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。

开始Start信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

结束Stop信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

应答Acknowledge信号:接收数据的主设备在接收到8bit数据后,向发送数据的从设备发出特定的低电平脉冲,表示已收到数据。微控制器向温度传感器受控单元发出一个信号后,等待温度传感器发出一个应答信号,微控制器接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,则判断为温度传感器出现故障。

此方法不仅可用于计算机或服务器的温控系统,而且可用于水温箱、采暖炉、电热器等需要温度控制的很多场合中。

本发明的有益效果在于,微控制器主设备,温度传感器为从设备,二者之间进行数据通信,进行温度信息的采集;I2C总线数据传输只要求两条总线线路,一条串行数据线SDA和一条串行时钟线SCL,简单的两线串行I2C总线将互联减到最小,因此IC的管脚更少,而且服务器的线路也减少,使得服务器更小更便宜。每个连接到总线的温度传感器都通过唯一的地址与主机进行通信,再利用I2C总线自身的冲突检测和仲裁机制,主从机之间的通信不会发生冲突,而且可以防止数据被破坏。这样在温度采集时,可以保证温度数据的实时性和正确性,以及数据的完整性。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

图1是本发明提供的一种服务器中基于I2C总线的温度采集结构的原理框图。

其中,1-温度传感器,2-I2C总线,3-微控制器,4-报警模块。

具体实施方式

下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。

如图1所示,本发明提供的一种服务器中基于I2C总线的温度采集结构,它包括温度传感器1,所述的温度传感器1通过I2C总线2的串行数据线SDA和串行时钟线SCL连接微控制器3;每台连接到I2C总线的温度传感器通过唯一的地址与微控制器通信。

本实施例中,所述的微控制器3为单片机控制器。

所述的微控制器3还连接有报警模块4;出现故障温度传感器时,产生报警信号。

本实施例还给出一种服务器中基于I2C总线的温度采集方法,包括以下步骤:

步骤1):微控制器通过I2C总线发送开始Start信号,温度传感器准备接收微控制器的信号;

步骤2):微控制器发出需要通信的温度传感器地址;

步骤3):温度传感器收到地址后与自身地址比较,如果收到的地址和自身地址不同,则等待微控制器发出停止stop信号;如果收到的地址和自身地址相同,则发出应答Acknowledge信号给微控制器;

步骤4):微控制器接收到应答Acknowledge信号后,开始从温度传感器接收数据,数据接收完毕后微控制器通过I2C总线发送停止stop信号,释放I2C总线;

步骤5):温度传感器等待开始Start信号。

所述步骤3)中,温度传感器收到与自身地址相同的地址后向微控制器发送应答Acknowledge信号,如果微控制器未收到该应答Acknowledge信号,则认为相应温度传感器故障,则通过报警模块报警,并转到步骤1)。

该温度采集方法中的微控制器为单片机控制器。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1