发明名称 一种在PC中利用I<sup>2</sup>C总线采集温度信息的方法
摘要 本发明提供一种在PC中利用I<sup>2</sup>C总线采集温度信息的方法,单片机与温度传感器的数据通信采用从设备发送主设备接收传输模式,I<sup>2</sup>C总线上的数据在SCL为高电平时SDA上的数据保持稳定,SCL为低电平时允许SDA变化,如果SCL处于高电平时,SDA上产生下降沿,则认为是起始位,SDA为上升沿认为是停止位,每次数据传输都是以一个起始位开始,而以停止位结束,最高有效位将首先被传输,接收方收到第8位数据后会发出应答位,此模式下,需要主机发送起始位和停止位,应答位由接收方产生。
申请公布号 CN102262607B 申请公布日期 2014.12.17
申请号 CN201110113466.9 申请日期 2011.05.04
申请人 山东超越数控电子有限公司 发明人 李玉明;陈乃阔;牛玉峰;耿士华
分类号 G06F13/42(2006.01)I;G06F17/40(2006.01)I 主分类号 G06F13/42(2006.01)I
代理机构 代理人
主权项 一种在PC中利用I<sup>2</sup>C总线采集温度信息的方法,单片机与温度传感器的数据通信采用从设备发送主设备接收传输模式,I<sup>2</sup>C总线上的数据在SCL为高电平时,SDA上的数据保持稳定,SCL为低电平时允许SDA变化,如果SCL处于高电平时,SDA上产生下降沿,则认为是起始位,SDA为上升沿认为是停止位,每次数据传输都是以一个起始位开始,而以停止位结束,最高有效位将首先被传输,接收方收到第8位数据后会发出应答位,此模式下,需要主机发送起始位和停止位,应答位由接收方产生,I<sup>2</sup>C总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号;开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据;应答信号:接收数据的主设备在接收到8位数据后,向发送数据的从设备发出特定的低电平脉冲,表示已收到数据,其特征在于采集温度信息步骤如下:单片机向温度传感器受控单元发出一个信号后,等待温度传感器发出一个应答信号,单片机接收到应答信号后,根据实际情况作出是否继续传递信号的判断,若未收到应答信号,则判断为温度传感器出现故障;程序设计时,I<sup>2</sup>C总线采用主接收操作方式,在系统初始化时,由指令控制单片机送出相关的数据,送到I<sup>2</sup>C寄存器内,通过初始化这些寄存器,实现I<sup>2</sup>C总线的从设备读操作;主设备单片机读取从设备温度传感器温度信息的过程如下:(1)上电以后等待一个延时;(2)器件寻址;(3)应答;(4)开始连续读,读取一个以后给一个应答,这样器件会再给出下一个地址的数据内容;(5)开始读取数据传输开始后、停止数据传输停止前,SCL高电平期间,SDA上的数据为有效数据;所述步骤(2)‑(5)具体为:当主设备单片机读取从设备温度传感器数据时,主设备单片机首先发出一个启动信号,这个信号被从设备温度传感器接收,即从设备温度传感器准备接收主设备单片机的信号,然后主设备单片机再发出它要通信的从设备温度传感器地址,接下来,从设备温度传感器将收到的这个地址和它自己的地址进行比较;如果收到的地址和它自己的地址不同,则什么都不做,只是等待主设备单片机发出停止信号;如果收到的地址和它自己的地址相同,它就发出一个信号给主设备单片机,这个信号称为应答信号,当主设备单片机收到应答信号后,它就开始从从设备温度传感器接收数据,当所有操作都进行完毕时,主设备单片机发出一个停止信号,通信完毕,释放I<sup>2</sup>C总线;然后所有的从设备温度传感器都等待下一次启动信号的到来。
地址 250100 山东省济南市高新区孙村镇科航路2877号