基于单片机的数字温度计的设计的毕业论文(4)

2018-11-23 20:10

黄日刚 基于单片机的数字温度计的设计

表2.4 DS18B20的引脚说明表 DS18B20引脚详细说明 8引脚SOIC封装 5 T0-92封装 1 符号 GND DQ 接地 说明数据输入/输出引脚。对于单线操作:漏极开路。当工作在寄生电源模式时用来提供电源。 4 2 3 3VDD可选的VDD 引脚。工作于寄生电源模式时VDD必须接地。 所有表中未提及的脚均都无连接 2.4.1 DS18B20接口电路

DS18B20使用一个单线端口就能够实现通讯,其中使用的是一种非常独特的单总线协议。当在所有器件都经由漏极开路端口或者一个3态端口与总线连接到一块的情况下,控制线需要连接一个弱上拉电阻。在所设计的总线系统上,微控制器会根据每个器件独有的64位片序列号来辨认总线上的器件和记录总线上的器件地址。因为每个器件内都有一个独特的片序列码,所有从理论上讲在单根总线上能够连接的器件个数是无限的,但是在实际应用中总线上挂有的器件越多,温度检测的时间也越长,精度也有所下降。DS18B20有两种供电模式,一种是外部电源供电模式,即把外部电源接到VDD引脚即可完成供电,另一种是寄生电源供电模式,该模式允许DS18B20工作于无外部电源需求状态。在本设计中DS18B20采用外部供电模式,把5V电源接到VDD引脚,这是一种典型的接法,见图2.8。采用这种接法的好处就是单总线上省去了强上拉。此外在温度转换期间总线不用总维持在高电平。

图2.8 DS18B20典型接口电路

2.4.2 DS18B20工作原理

10

钦州学院本科毕业论文(设计)

DS18B20的显著特点是它能够直接读数字的温度传感器。DS18B20成功启动之后处于低功耗等待状态,如果要进行温度测量以及AD转换时,主控制器向传感器发送[44H]命令。完成这个操作后,进行温度测量,转换后得的温度数据以两个字节的形式被存放到高速暂存器的温度寄存器中,接着DS18B20继续处在等待状态[17]。采用外部电源供电模式下的DS18B20,主控制器在向它发送温度转换指令之后接着发起“读时序”,如果温度传感器把检测来的温度转换完毕则返回1,处在温度转换过程则返回0。

由一个或多个从机和一块总线控制器组成的系统通常称为单总线系统。当只有一只从机挂在总线上时,系统被称为“单点”系统;如果由多只从机挂在总线上,系统被称为“多点”系统。在本设计中DS18B20只能充当从机的角色。单总线系统中的指令和数据的传递一般从最低有效位开始,器件间的通信要严格遵循通信协议。通过单线总线端口访问DS18B20的协议如下:

步骤1:初始化。在单总线中,初始化序列是任何执行操作处理的开始。组成初始化序列的内容有两个部分,一个部分是由总线控制器向从机发出的复位脉冲,另一部分是从机向总线控制器发出的存在脉冲。有存在脉冲的产生说明总线上有DS18B20器件,同时也提示主控制器,表明自身已经做好执行其它操作的准备。

步骤2:ROM操作指令。如果有一个存在脉冲被总线控制器探测到,控制器就会发送一条ROM指令。当有若干只DS18B20连接到总线上,总线控制器要识别总线上的器件型号和器件数目也是得根据这些指令来完成的。这些指令都是基于每个器件独有的64 位ROM片序列码,这样可以让总线控制器知道对众多器件中的具体一个进行操作。ROM指令总共为五条,每一条指令的长度都为八位。总线控制器只有在发出一条ROM指令之后才能发送一条DS18B20功能指令。控制DS18B20的5条ROM指令如下:

(1)搜索ROM指令 [F0H]。给系统上电完成系统初始化,总线控制器得到从机的型号和数目是根据识别总线上所有ROM片序列码来实现的。器件的ROM编码被总线控制器通过搜索ROM指令不停的搜索,直到所有从机器件被确认为止。当只有一个从机在总线上时,那么可以用较为简单的读取ROM指令代替搜索ROM指令。在每次搜索ROM指令之后,总线控制器必须返回步骤1。

(2)读取ROM指令 [33H]。当总线上单挂着一个DS18B20温度传感器的情况下,这条命令才能够直接使用。在这样的指令下总线控制器可以直接读取从机中的64 位

11

黄日刚 基于单片机的数字温度计的设计

片序列码,不在需要用到搜索ROM指令。如果总线上不止有一个从机时,直接使用这条指令就会发生数据冲突,因为所有从机在接收到这条指令之后会同时向控制器传送信号。

(3)匹配ROM指令 [55H]。匹配ROM指令,控制器发送这个指令后,接着发送器件的64位ROM编码序列,目的是在总线上寻找与所发送的编码序列匹配的器件。当总线上的某个器件的片序列号与从控制器传送来的片序列号相匹配时,此器件就会做出响应,然后执行随后的其它操作指令;所有和64位ROM片序列码不匹配的器件都将等待复位脉冲。

(4)忽略ROM指令 [CCH]。此条指令的功能是让总线控制器在没有得到某个器件片序列码的情况下也可以发送功能指令。比如,为了实现温度转换的操作,总线控制器首先把一条忽略ROM指令发送到温度传感器,接着又把温度转换指令[44H]发送到温度传感器。值得注意的是当总线上仅有一个器件时,不管怎样,当要把一条读取暂存器指令[BEH]发出之前必须先发送忽略ROM指令。当总线上只有一个器件时,采用这条命令可以提高系统的反应速度,因为器件不用发回64 位ROM 编码,省掉了一部分的时间。总线上有若干个从机的情况下,不可以使用这条指令,以避免因多只从机同时发送数据而引发的数据冲突。

(5)报警搜索指令 [ECH]。在多个器件挂接在总线上的情况下,此条命令用于搜索符合报警条件的器件,只有满足报警条件的从机才对该命令作出响应。DS18B20会做出响应的条件是在最近一次测温后遇到符合报警的温度。在每次报警搜索指令周期之后,总线控制器必须返回步骤1。

步骤3:DS18B20功能指令。要完成对DS18B20的操作不得不使用两种指令,一种是ROM指令,另一种是功能指令。在系统中总线控制器发送一条DS18B20功能指令之前一定要先发送一条ROM命令,两者的发送顺序不可颠倒,否则出现错误。用了这些功能指令,总线控制器可以对DS18B20的暂存器进行读写,可以判断器件采用了那种电源模式还有可以启动器件进行温度转换。DS18B20的功能指令详见下文,同时被概括于表2.5。

温度传感器DS18B20的功能指令具体说明如下[18]:

(1)温度转换指令 [44H]。此条命令的作用是完成一次温度转换的启动。执行温度转换指令后,产生的温度转换结果数据以两个字节的形式被存放于高速暂存器中,当温度传感器接收到读的命令,就把暂存器里的数据传输给主控制器。

12

钦州学院本科毕业论文(设计)

(2)写暂存器指令 [4EH]。向DS18B20的暂存器写入数据就需要用到这条命令,从开始到最后,写入的地方也会有所变化的,可以分为三个阶段,每个阶段写人一个字节。开始时写入TH 寄存器,这是第一个阶段,第二阶段是写入到TL 寄存器,写入配置寄存器即为第三个阶段。传送数据时是从最低位开始的,在总线控制器发出复位命令前必须完成上边讲到的那三个字节的写入,一旦执行复位命令就不可以写入。

(3)读暂存器指令 [BEH]。暂存器内容的读取就需要这条指令。字节0作为读取数据的开始位,一位一位的读取,当读完第9字节也就是字节8时算是读取完成,当不必把所有的字节读完,可以在任意时刻通过控制器发出复位命令的方式中止读取。

(4)拷贝暂存器指令 [48H]。如果想把配置寄存器、TH还有TL中的内容依次拷贝到EEPROM内,就需要用到这一条命令。

(5)召回EEPROM指令 [B8H]。此条指令的作用是将EEPROM中的配置数据、TH中的报警值和TL中的报警值从拷回暂存器中。该命令被发出之后,总线控制器进入读时序状态,拷回标识从DS18B20输出:1标识表示拷回结束,0标识表示正在拷回。DS18B20接电时此类拷回操作可以自动完成,因此,一旦给器件供电成功,有效的数据立马存在于暂存器里中。

(6)读电源模式指令 [B4H]。这条指令发到DS18B20后,总线控制器读时序,如果采用的是外部电源供电模式,总线会被 DS18B20拉高。

对DS18B20的所以操作都要严格遵循以上3个步骤,如果把顺序弄颠倒了或者是缺少其中的某个步骤,那么对器件的操作将不会成功。具体的顺序是这样的:总线控制器先对器件进行初始化,然后发送ROM指令中的某一条指令,最后发送相应的功能指令,都完成后又返回步骤1。 2.4.3 DS18B20工作时序

为了确保数据的完整性DS18B20必须依靠严格的单总线协议。协议包括几种单总线信号类型,它们是存在脉冲、复位脉冲、读1、读0、写1和写0。在这几种信号中,存在脉冲由DS18B20发出,剩下的是由总线控制器发出的[19]。

13

黄日刚 基于单片机的数字温度计的设计

表2.5 DS18B20功能指令表 DS18B20功能指令表 指令 转换指令 温度转换指令 存储器指令 说明 协议 单总线发出协议后 备注 开始温度转换 44h 4Eh 读温度忙状态 1 2 读取CRC字节和暂存器 把字节写入配置寄存器、TH 一直读到最高位(第9字节) 写入3个字节到DS18B20 无 把拷贝标识传送到总线控制器 把供电状态返回 写暂存器指令 读暂存器指令 拷贝暂存器指令 和TL 拷贝配置寄存器、TH和TL的数据到EEPROM中 BEh 3 48h 1 把EEPROM中的数据召回到配 召回EEPROM指令 置寄存器、TH和TL中 读电源模式指令 备注: 器件供电模式的标识 B8H B4h (1)DS18B20采用寄生电源模式的情况下,处在拷贝数据到EEPROM和温度转换的期间内,单总线必须得到一个强上拉。在这个时间段内不可以有其它操作出现在总线上。 (2)数据传输的中止信号是由总线控制器发出的复位信号,它在任意时刻都能够发出这种信号。 (3)在控制器发送复位命令之前,这3个字节一定要全部写入。

图2.9 DS18B20初始化时序图

14


基于单片机的数字温度计的设计的毕业论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:义务教育标准化学校自查验收报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: