首页 DS18B20中文资料

DS18B20中文资料

举报
开通vip

DS18B20中文资料 DS1820单线数字温度计 特性 • 独特的单线接口仅需一个端口引脚进行通讯 • 简单的多点分布应用 • 无需外部器件 • 可通过数据线供电 • 零待机功耗 • 测温范围-55~+125℃,以 0.5℃递增。华氏器件-67~+2570F,以 0.90F递增 • 温度以 9位数字量读出 • 温度数字量转换时间 200ms(典型值) • 用户可定义的非易失性温度报警设置 • 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 • 应用包括温度控制、工业系统、消费...

DS18B20中文资料
DS1820单线数字温度计 特性 • 独特的单线接口仅需一个端口引脚进行通讯 • 简单的多点分布应用 • 无需外部器件 • 可通过数据线供电 • 零待机功耗 • 测温范围-55~+125℃,以 0.5℃递增。华氏器件-67~+2570F,以 0.90F递增 • 温度以 9位数字量读出 • 温度数字量转换时间 200ms(典型值) • 用户可定义的非易失性温度报警设置 • 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 • 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 说明 DS1820数字温度计以 9位数字量的形式反映器件的温度值。 DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和 DS1820之间仅需一条连 接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。 因为每个 DS1820都有一个独特的片序列号,所以多只 DS1820可以同时连在一根单线总线上, 这样就可以把温度传感器放在许多不同的地方。这一特性在 HVAC环境控制、探测建筑物、仪 器或机器的温度以及过程监测和控制等方面非常有用。 引脚说明 chenzengwan 标注 精度为0.5度,DS18B20温度传感器的分辨率可以配置为9,10,11,或12位(上电缺省配置),分别相应于0.5、0.25、0.125、0.0625摄氏度。 本页已使用福昕阅读器进行编辑。 福昕软件(C)2005-2007,版权所有, 仅供试用。ഀ 16脚 SSOP PR35 符号 说明 9 1 GND 接地 8 2 DQ 数据输入/输出脚。对于单线操作:漏极开路(见“寄生电源”节) 7 3 VDD 可选的 VDD引脚。具体接法见“寄生电源”节 DS1820S(16脚 SSOP):所有上 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中未提及的引脚都无连接。 概览 图 1的方框图示出了 DS1820的主要部件。DS1820有三个主要数字部件:1)64位激光 ROM, 2)温度传感器,3)非易失性温度报警触发器 TH和 TL。器件用如下方式从单线通讯线上汲 取能量:在信号线处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗 电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。DS1820也可用外部 5V电 源供电。 DS1820依靠一个单线端口通讯。在单线端口条件下,必须先建立 ROM操作 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,才能进行存 储器和控制操作。因此,控制器必须首先提供下面 5个 ROM操作命令之一:1)读 ROM,2) 匹配 ROM,3)搜索 ROM,4)跳过 ROM,5)报警搜索。这些命令对每个器件的激光 ROM部分 进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指 明有多少器件或是什么型号的器件。成功执行完一条 ROM操作序列后,即可进行存储器和控 制操作,控制器可以提供 6条存储器和控制操作指令中的任一条。 一条控制操作命令指示 DS1820完成一次温度测量。测量结果放在 DS1820的暂存器里,用一 条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器 TH和 TL各由 一个 EEPROM字节构成。如果没有对 DS1820使用报警搜索命令,这些寄存器可以做为一般用 途的用户存储器使用。可以用一条存储器操作命令对 TH和 TL进行写入,对这些寄存器的读 出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。 寄生电源 寄生电源的方框图见图 1。这个电路会在 I/O或 VDD引脚处于高电平时“偷”能量。当有特 定的时间和电压需求时(见节标题“单线总线系统”),I/O要提供足够的能量。寄生电源 有两个好处:1)进行远距离测温时,无需本地电源,2)可以在没有常规电源的条件下读 ROM。 要想使 DS1820能够进行精确的温度转换,I/O线必须在转换期间保证供电。由于 DS1820的 工作电流达到 1mA,所以仅靠 5K上拉电阻提供电源是不行的,当几只 DS1820挂在同一根 I/O 线上并同时想进行温度转换时,这个问题变得更加尖锐。 有两种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 能够使 DS1820在动态转换周期中获得足够的电流供应。第一种方法,当进行温度 转换或拷贝到 E2存储器操作时,给 I/O线提供一个强上拉。用 MOSFET把 I/O线直接拉到电源 Administrator 线条 Administrator 线条 chenzengwan 文本框 封装形式 本页已使用福昕阅读器进行编辑。 福昕软件(C)2005-2007,版权所有, 仅供试用。ഀ 上就可以实现,见图 2。在发出任何涉及拷贝到 E2存储器或启动温度转换的协议之后,必须 在最多 10μs之内把 I/O线转换到强上拉。使用寄生电源方式时,VDD引脚必须接地。 另一种给 DS1820供电的方法是从 VDD引脚接入一个外部电源,见图 3。这样做的好处是 I/O 线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。这样在转换期间 可以允许在单线总线上进行其他数据往来。另外,在单线总线上可以挂任意多片 DS1820,而 且如果它们都使用外部电源的话,就可以先发一个 Skip ROM命令,再接一个 Convert T命令, 让它们同时进行温度转换。注意当加上外部电源时,GND引脚不能悬空。 温度高于 100℃时,不推荐使用寄生电源,因为 DS1820在这种温度下表现出的漏电流比较大, 通讯可能无法进行。在类似这种温度的情况下,强烈推荐使用 DS1820的 VDD引脚。 对于总线控制器不知道总线上的 DS1820是用寄生电源还是用外部电源的情况,DS1820预备 了一种信号指示电源的使用意图。总线控制器发出一个 Skip ROM协议,然后发出读电源命令, 这条命令发出后,控制器发出读时间隙,如果是寄生电源,DS1820在单线总线上发回“0”, 如果是从 VDD供电,则发回“1”,这样总线控制器就能够决定总线上是否有 DS1820需要强 上拉。如果控制器接收到一个“0”,它就知道必须在温度转换期间给 I/O线提供强上拉。这 个命令协议详见“存储器操作命令”节。 测温操作 DS1820通过一种片上温度测量技术来测量温度。图 4示出了温度测量电路的方框图。 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 温度/数据关系(表 1) 温度℃ 数据输出(二进制) 数据输出(十六进制) +125 00000000 11111010 00FA +25 00000000 00110010 0032 +1/2 00000000 00000001 0001 0 00000000 00000000 0000 -1/2 11111111 11111111 FFFF -25 11111111 11001110 FFCE -55 11111111 10010010 FF92 DS1820是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周 期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55 ℃的一个值。如果计数器在门周期结束前到达 0,则温度寄存器(同样被预置到-55℃)的值 增加,表明所测温度大于-55℃。 同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补 偿感温振荡器的抛物线特性。然后计数器又开始计数直到 0,如果门周期仍未结束,将重复 这一过程。 斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过 改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必 须同时知道在给定温度下计数器的值和每一度的计数值。 DS1820内部对此计算的结果可提供 0.5℃的分辨力。温度以 16bit带符号位扩展的二进制补 码形式读出,表 1给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。 DS1820测温范围-55℃~+125℃,以 0.5℃递增。如用于华氏温度,必须要用一个转换因子查 找表。 注意 DS1820内温度表示值为 1/2℃LSB,如下所示 9bit格式: 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 最高有效(符号)位被复制充满存储器中两字节温度寄存器的高 MSB位,由这种“符号位扩 展”产生出了示于表 1的 16bit温度读数。 可用下述方法获得更高的分辨力。首先,读取温度值,将 0.5℃位(LSB)从读取的值中截去, 这个值叫做 TEMP_READ。然后读取计数器中剩余的值,这个值是门周期结束后保留下来的值 (COUNT_REMAIN)。最后,我们用到在这个温度下每度的计数值(COUNT_PER_C)。用户可以 用下面的公式计算实际温度值: 报警搜索操作 DS1820完成一次温度转换后,就拿温度值和存储在 TH和 TL中的值进行比较。因为这些寄存 器是 8位的,所以 0.5℃位被忽略不计。TH或 TL的最高有效位直接对应 16位温度寄存器的 符号位。如果测得的温度高于 TH或低于 TL,器件内部就会置位一个报警标识。每进行一次 测温就对这个标识进行一次更新。当报警标识置位时,DS1820会对报警搜索命令有反应。这 样就允许许多 DS1820并联在一起同时测温,如果某个地方的温度超过了限定值,报警的器件 就会被立即识别出来并读取,而不用读未报警的器件。 64位(激)光刻 ROM 每只 DS1820都有一个唯一的长达 64位的编码。最前面 8位是单线系列编码(DS1820的编码 是 19h)。下面 48位是一个唯一的序列号。最后 8位是以上 56位的 CRC码。(见图 5)64 位 ROM和 ROM操作控制区允许 DS1820做为单线制器件并按照详述于“单线总线系统”一节的 单线协议工作。只有建立了 ROM操作协议,才能对 DS1820进行控制操作。这个协议用 ROM操 作协议流程图来描述(图 6)。单线总线控制器必须得天独厚提供 5个 ROM操作命令其中之 一:1)Read ROM,2)Match ROM,3)Search Rom,4)Skip ROM,5)Alarm Search。成功 进行一次 ROM操作后,就可以对 DS1820进行特定的操作,总线控制器可以发出六个存储器和 控制操作命令中的任一个。 CRC发生器 DS1820中有 8 位 CRC存储在 64位 ROM的最高有效字节中。总线控制器可以用 64位 ROM中的 前 56位计算出一个 CRC值,再用这个和存储在 DS1820中的值进行比较,以确定 ROM数据是 否被总线控制器接收无误。CRC计算等式如下: CRC=X 8 +X 5 +X 4 +1 DS1820同样用上面的公式产生一个 8位 CRC值,把这个值提供给总线控制器用来校验传输的 数据。在任何使用 CRC进行数据传输校验的情况下,总线控制器必须用上面的公式计算出一 个 CRC值,和存储在 DS1820的 64位 ROM中的值或 DS1820内部计算出的 8位 CRC值(当读暂 存器时,做为第 9个字节读出来)进行比较。CRC值的比较以及是否进行下一步操作完全由 总线控制器决定。当在 DS1820中存储的或由其计算的 CRC值和总线控制器计算的值不相符时, DS1820内部并没有一个能阻止命令序列进行的电路。 单线 CRC可以用一个由移位寄存器和 XOR门构成的多项式发生器来产生,见图 7。 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 胡彦斌 铅笔 移位寄存器的各位都被初始化为 0。然后从系列编号的最低有效位开始,一次一位移入寄存 器,8位系列编码都进入以后,序列号再进入,48位序列号都进入后,移位寄存器中就存储 了 CRC值。移入 8位 CRC会使移位寄存器复 0。 存储器 DS1820的存储器结构示于图 8。存储器由一个暂存 RAM和一个存储高低温报警触发值 TH和 TL的非易失性电可擦除(E2)RAM组成。当在单线总线上通讯时,暂存器帮助确保数据的完 整性。数据先被写入暂存器,这里的数据可被读回。数据经过校验后,用一个拷贝暂存器命 令会把数据传到非易性(E2)RAM中。这一过程确保更改存储器时数据的完整性。 暂存器的结构为 8个字节的存储器。头两个字节包含测得的温度信息。第三和第四字节是 TH 和 TL的拷贝,是易失性的,每次上电复位时被刷新。下面两个字节没有使用,但是在读回数 据时,它们全部表现为逻辑 1。第七和第八字节是计数寄存器,它们可以被用来获得更高的 温度分辨力(见“测温操作”一节)。 还有一个第九字节,可以用读暂存器命令读出。这个字节是以上八个字节的 CRC码。CRC的 执行方式如第二个标题“CRC发生器”所述。 单线总线系统 单线总线系统包括一个总线控制器和一个或多个从机。DS1820是从机。关于这种总线分三个 题目讨论:硬件结构、执行序列和单线信号(信号类型和时序)。 单线总线只有一条定义的信号线;重要的是每一个挂在总线上的器件都能在适当的时间驱动 它。为此每一个总线上的器件都必须是漏极开路或三态输出。DS1820的单总线端口(I/O引 脚)是漏极开路式的,内部等效电路见图 9。一个多点总线由一个单线总线和多个挂于其上 的从机构成。单线总线需要一个约 5KΩ的上拉电阻。 单线总线的空闲状态是高电平。无论任何理由需要暂停某一执行过程时,如果还想恢复执行 的话,总线必必须停留在空闲状态。在恢复期间,如果单线总线处于非活动(高电平)状态, 位与位间的恢复时间可以无限长。如果总线停留在低电平超过 480μs,总线上的所有器件都 将被复位。 执行序列 通过单线总线端口访问 DS1820 的协议如下: • 初始化 • ROM操作命令 • 存储器操作命令 • 执行/数据 初始化 通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包括一个由总线控 制器发出的复位脉冲和跟有其后由从机发出的存在脉冲。 存在脉冲让总线控制器知道 DS1820在总线上且已准备好操作。详见“单线信号”节。 ROM操作命令 一旦总线控制器探测到一个存在脉冲,它就可以发出 5个 ROM命令中的任一个。所有 ROM操 作命令都 8位长度。下面是这些命令(参见图 6流程图): ROM操作流程图(图 6) Read ROM [33h] 这个命令允许总线控制器读到 DS1820的 8位系列编码、唯一的序列号和 8位 CRC码。只有在 总线上存在单只 DS1820的时候才能使用这个命令。如果总上有不止一个从机,当所有从机试 图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与的效果)。 Match ROM [55h] 匹配 ROM命令,后跟 64位 ROM序列,让总线控制器在多点总线上定位一只特定的 DS1820。 只有和 64位 ROM序列完全匹配的 DS1820才能响应随后的存储器操作命令。所有和 64位 ROM 序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。 Skip ROM [CCh] 这条命令允许总线控制器不用提供 64位 ROM编码就使用存储器操作命令,在单点总线情况下 右以节省时间。如果总线上不止一个从机,在 Skip ROM命令之后跟着发一条读命令,由于多 个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相与)。 Search ROM [F0h] 当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的 64位 ROM 编码。搜索 ROM命令允许总线控制器用排除法识别总线上的所有从机的 64位编码。 Alarm Search [ECh] 这条命令的流程图和 Search ROM相同。然而,只有在最近一次测温后遇到符合报警条件的情 况,DS1820才会响应这条命令。报警条件定义为温度高于 TH或低于 TL。只要 DS1820不掉电, 报警状态将一直保持,直到再一次测得的温度值达不到报警条件。 I/O信号 DS1820需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在 脉冲、写 0、写 1、读 0和读 1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。 和 DS1820间的任何通讯都需要以初始化序列开始,初始化序列见图 11。一个复位脉冲跟着 一个存在脉冲表明 DS1820已经准备好发送和接收数据(适当的 ROM命令和存储器操作命令)。 DS1820命令设置(表 2) 命令 说明 协议 单线总线发出协议后 备 注 温度转换命令 Convert T 开始温度转换 44h <读温度忙状态> 1 存储器命令 Read Scratchpad 读取暂存器和 CRC字节 BEh <读数据直到 9字节> Write Schratchpad 把字节写入暂存器的地址 2 和 3(TH 和 TL温度报 警触发) 4Eh <写两个的字节到地址 2 和 3> Copy Scratchpad 把暂存器内容拷贝到非易失性存储器中(仅指地址 2和 3) 48h <读拷贝状态> 2 Recall E 2 把非易失性存储器中的值召回暂存器(温度报警触 发) B8h <读温度忙状态> Read Power Supply 标识 DS1820的供电模式 B4h <读供电状态> 备注: 1、温度转换时间可长达 500ms。接到温度转换的协议后,如果器件不是从 VDD供电的话,I/O 线就必须至少保持 500ms高电平。这样,发出一个 Convert T命令之后,单线总线上在这段 时间内就不能有其他活动。 2、接到 Copy Scratchpad协议后,如果器件不是从 VDD供电的话,I/O线必须至少保持 10ms 高电平。这样,在发出一个 Copy Scratchpad命令后,这段时间内单线总线上就不能有其他 活动。 总线控制器发出(TX)一个复位脉冲(一个最少保持 480μs的低电平信号),然后释放总线, 进入接收状态(RX)。单线总线由 5K上拉电阻拉到高电平。探测到 I/O引脚上的上升沿后, DS1820等待 15~60μs,然后发出存在脉冲(一个 60~240μs的低电平信号)。 存储器操作命令 下述命令协议概括于表 2,并用流程图示于图 10。 存储器操作流程图(图 10) 续图 10 续图 10 Write Scratchpad [4E] 这个命令向 DS1820的暂存器中写入数据,开始位置在地址 2。接下来写入的两个字节将被存 到暂存器中的地址位置 2和 3。可以在任何时刻发出复位命令来中止写入。 Read Scratchpad [BEh] 这个命令读取暂存器的内容。读取将从字节 0开始,一直进行下去,直到第 9(字节 8,CRC) 字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。 Copy Scratchpad [48h] 这条命令把暂存器的内容拷贝到 DS1820的 E2存储器里,即把温度报警触发字节存入非易失性 存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而 DS1820又正在忙于把暂存 器拷贝到 E2存储器,DS1820就会输出一个“0”,如果拷贝结束的话,DS1820则输出“1”。 如果使用寄生电源,总线控制器必须在这条命令发出后立即起动强上拉并最少保持 10ms。 Convert T [44h] 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后 DS1820保持等待状 态。如果总线控制器在这条命令之后跟着发出读时间隙,而 DS1820又忙于做时间转换的话, DS1820将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控 制器必须在发出这条命令后立即起动强上拉,并保持 500ms。 Recall E 2 [B8h] 这条命令把报警触发器里的值拷回暂存器。这种拷回操作在 DS1820上电时自动执行,这样器 件一上电暂存器里马上就存在有效的数据了。若在这条命令发出之后发出读时间隙,器件会 输出温度转换忙的标识:“0”=忙,“1”=完成。 Read Power Supply [B4h] 若把这条命令发给 DS1820后发出读时间隙,器件会返回它的电源模式:“0”=寄生电源,“1” =外部电源。 读/写时间隙 DS1820的数据读写是通过时间隙处理位和命令字来确认信息交换。 写时间隙 当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写 1时间隙和写 0时间隙。所有写时间隙必须最少持续 60μs,包括两个写周期间至少 1μs的 恢复时间。 I/O线电平变低后,DS1820在一个 15μs到 60μs的窗口内对 I/O线采样。如果线上是高电 平,就是写 1,如果线上是低电平,就是写 0(见图 12) 主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的 15μs 内允许数据线拉到高电平。 主机要生成一个写 0时间隙,必须把数据线拉到低电平并保持 60μs。 读时间隙 当从 DS1820读取数据时,主机生成读时间隙。当主机把数据线从高高平拉到低电平时,写时 间隙开始。数据线必须保持至少 1μs;从 DS1820输出的数据在读时间隙的下降沿出现后 15 μs内有效。因此,主机在读时间隙开始后必须停止把 I/O脚驱动为低电平 15μs,以读取 I/O脚状态(见图 12)。在读时间隙的结尾,I/O引脚将被外部上拉电阻拉到高电平。所有 读时间隙必须最少 60μs,包括两个读周期间至少 1μs的恢复时间。 图 13表示 TINIT,TRC和 TSAMPLE之和必须小于 15μs。图 14示出,系统时间可以用下面方法达到 最大:TINIT和 TRC保持时间尽可能小;把控制器采样时间放到 15μs周期的最后。 存储器操作举例(表 3)例:总线控制器启动温度转换,然后读取温度(寄生电源) 控 制 器 状 态 数据(LSB 在前) 内容 TX 复位 复位脉冲(480-960μs) RX 存在 存在脉冲 TX 55h 发“Match ROM”命令 TX <64 位 ROM 编码> 发 DS1820地址 TX 44h 发“Convert T”命令 TX I/O线保持至少 500ms高电平,以完成温度转换 TX 复位 复位脉冲 RX 存在 存在脉冲 TX 55h 发“Match ROM”命令 TX <64 位 ROM 编码> 发 DS1820地址 TX BEh 发“Read Scratchpad”命令 RX <9 个数据 字节> 读整个暂存器加上 CRC;控制器重新计算从暂存读到的 8个数据字节的 CRC,把计算的 CRC和读取的 CRC进行比较,如果相同,控制器向下进行,如果不同,就重复读操作。 TX 复位 复位脉冲 RX 存在 存在脉冲,结束。 存储器操作举例(表 4) 例:总线控制器写存储器(寄生电源且只有一只 DS1820) 控 制 器 状 态 数据(LSB 在前) 内容 TX 复位 复位脉冲 RX 存在 存在脉冲 TX CCh Skip ROM 命令 TX 4Eh Write Scratchpad 命令 TX <两个数据 字节> 写两个字节到暂存器(TH和 TL) TX 复位 复位脉冲 RX 存在 存在脉冲 TX CCh Skip ROM命令 TX BEh Read Scratchpad命令 RX <9 个数据 字节> 读整个暂存器加上 CRC;控制器重新计算从暂存读到的 8个数据字节的 CRC,把计算的 CRC和读取的 CRC进行比较,如果相同,控制器向下进行,如果不同,就重复读操作。 TX 复位 复位脉冲 RX 存在 存在脉冲 TX CCh Skip ROM命令 TX 48h Copy Scratchpad命令;发出这条命令后,控制器必须等待 6ms到拷贝操作完成。 TX 复位 复位脉冲 RX 存在 存在脉冲,完成。 存储器操作举例(表 5) 例:温度转换和插补(外部电源供电且只有一只 DS1820) 控 制 器 状 态 数据(LSB 在前) 内容 TX 复位 复位脉冲 TR 存在 存在脉冲 TX CCh Skip ROM命令 TX 44h Convert T命令 RX <1 个字 节的数据 > 读 8 次忙标志。控制器一字节(或位)接一个字节读下去,直到数据为 FFh(所有位都 为 1) TX 复位 复位脉冲 RX 存在 存在脉冲 TX CCh Skip ROM命令 TX BEh Read Scratchpad命令 RX <9 个数 据字节> 读整个暂存器加上 CRC;控制器重新计算从暂存读到的 8 个数据字节的 CRC,把计算的 CRC 和读取的 CRC 进行比较,如果相同,数据就是有效的。控制器存储温度值并分别存 储计数寄存器的内容和每度计数值寄存器的内容,做为 COUNT_REMAIN和 COUNT_PER_C。 TX 复位 复位脉冲 RX 存在 存在脉冲 —— —— CPU按手册中的方法计算温度值以得到更高的分辨力。 极限使用条件: 各引脚对地电压:-0.5到+7.0V 工作温度: -55到+125℃ 储存温度: -55到+125℃ 焊接温度: 260℃10秒 推荐直流工作条件 参数 符号 条件 最小 典型 最大 单位 备注 电源电压 VDD I/O操作 ±1/2℃温度转换精度 2.8 4.3 5.0 5.5 5.5 V 1,2 数据引脚 I/O -0.5 +5.5 V 2 逻辑 1 VIH 2.0 VCC+0.3 V 2,3 逻辑 0 VIL -0.3 +0.8 V 2,4 直流电特性 参数 符号 条件 最小 典型 最大 单位 备注 温度误差 tERR -0℃到+70℃ -55℃到 0℃和+70℃到+125℃ ±1/2 见曲线图 ℃ 1,9,10 输入逻辑高电平 VIH 2.2 5.5 V 2,3 输入逻辑低电平 VIL -0.3 +0.8 V 2,4 吸收电流 IL VI/O=0.4V -4.0 mA 2 待机电流 IQ 200 350 nA 8 动态电流 IDD 1 1.5 mA 5,6 输入负载电流 IL 5 μA 7 交流电特性:(-55℃到+125℃;VDD=3.6V到 5.5V) 参数 符号 最小 典型 最大 单位 备注 温度转换时间 tCONV 200 500 ms 时间隙 tSLOT 60 120 μs 恢复时间 tREC 1 μs 写 0低电平时间 rLOW0 60 120 μs 写 1低电平时间 tLOW1 1 15 μs 读数据有效时间 tRDV 15 μs 复位高电平时间 tRSTH 480 μs 复位低电平时间 tRSTL 480 4800 μs 存在检测高电平时间 tPDHIGHL 15 60 μs 存在检测低电平时间 tPDLOW 60 240 μs 电容 CIN/OUT 25 pF 备注: 1、VDD低至 3.4V时,温度转换精度±2℃。 2、所有电压参考点都是接地点。 3、逻辑 1电压在源电流为 1mA时得到。 4、逻辑 0电压在吸收电流为 4mA时得到。 5、IDD在 VCC为 5.0V时得到。 6、动态电流涉及温度转换和写 E2存储器。写 E2存储器最大用 10ms,消耗将近 100μA电流。 7、输入负载接地。 8、待机电流最大定义到 70℃。125℃时典型待机电流为 5μA。 9、见典型曲线图中超出 0℃到 70℃的部分。温度误差反映了传感器在校准时测试的精度。 10、典型精度曲线在 4.3V≤VDD≤5.5V时有效。 DS18B20 12 of 20 ROM COMMANDS FLOW CHART Figure 11 CCh SKIP ROM COMMAND MASTER TX RESET PULSE DS18B20 TX PRESENCE PULSE MASTER TX ROM COMMAND 33h READ ROM COMMAND 55h MATCH ROM COMMAND F0h SEARCH ROM COMMAND ECh ALARM SEARCH COMMAND MASTER TX BIT 0 DS18B20 TX BIT 0 DS18B20 TX BIT 0 MASTER TX BIT 0 BIT 0 MATCH? MASTER TX BIT 1 BIT 1 MATCH? BIT 63 MATCH? MASTER TX BIT 63 N Y Y Y Y Y N N N N N N N Y Y Y DS18B20 TX BIT 1 DS18B20 TX BIT 1 MASTER TX BIT 1 DS18B20 TX BIT 63 DS18B20 TX BIT 63 MASTER TX BIT 63 BIT 0 MATCH? BIT 1 MATCH? BIT 63 MATCH? N N N Y Y Y DS18B20 TX FAMILY CODE 1 BYTE DS18B20 TX SERIAL NUMBER 6 BYTES DS18B20 TX CRC BYTE DS18B20 TX BIT 0 DS18B20 TX BIT 0 MASTER TX BIT 0 N Y DEVICE(S) WITH ALARM FLAG SET? Initialization Sequence MASTER TX FUNCTION COMMAND (FIGURE 12) DS18B20 13 of 20 DS18B20 FUNCTION COMMANDS FLOW CHART Figure 12 MASTER TX FUNCTION COMMAND Y N 44h CONVERT TEMPERATURE ? PARASITE POWER ? N Y DS18B20 BEGINS CONVERSION DEVICE CONVERTING TEMPERATURE ? N Y MASTER RX “0s” MASTER RX “1s” MASTER ENABLES STRONG PULLUP ON DQ DS18B20 CONVERTS TEMPERATURE MASTER DISABLES STRONG PULLUP Y N 48h COPY SCRATCHPAD ? PARASITE POWER ? N Y MASTER ENABLES STRONG PULL-UP ON DQ DATA COPIED FROM SCRATCHPAD TO EEPROM MASTER DISABLES STRONG PULLUP MASTER RX “0s” COPY IN PROGRESS ? Y MASTER RX “1s” N RETURN TO INITIALIZATION SEQUENCE (FIGURE 11) FOR NEXT TRANSACTION B4h READ POWER SUPPLY ? Y N PARASITE POWERED ? N MASTER RX “1s” MASTER RX “0s” Y MASTER TX TH BYTE TO SCRATCHPAD Y N 4Eh WRITE SCRATCHPAD ? MASTER TX TL BYTE TO SCRATCHPAD MASTER TX CONFIG. BYTE TO SCRATCHPAD Y N Y BEh READ SCRATCHPAD ? HAVE 8 BYTES BEEN READ ? N MASTER TX RESET ? MASTER RX DATA BYTE FROM SCRATCHPAD N Y MASTER RX SCRATCHPAD CRC BYTE MASTER RX “1s” Y N B8h RECALL E2 ? MASTER BEGINS DATA RECALL FROM E2 PROM DEVICE BUSY RECALLING DATA ? N Y MASTER RX “0s” Skyle整理----skyle@163.com-----有不对之处请来信指正 数字温度传感器 DS1820(DS18B20)的应用 一 单线数字温度计 DSl820介绍 DSl820数字温度计提供 9位(二进制)温度读数 指示器件的温度 信息经过单线接口送 入 DSl820 或从 DSl820 送出 因此从主机 CPU 到 DSl820 仅需一条线(和地线) DSl820 的 电源可以由数据线本身提供而不需要外部电源 因为每一个 DSl820在出厂时已经给定了唯 一的序号 因此任意多个 DSl820可以存放在同一条单线总线上 这允许在许多不同的地方 放置温度敏感器件 DSl820的测量范围从-55 到+125 增量值为 0.5 可在 l s(典型值) 内把温度变换成数字 每一个 DSl820包括一个唯一的 64位长的序号 该 序号值存放在 DSl820内部的 ROM(只读存贮器)中 开始 8 位是产品类型编码(DSl820 编码均为 10H) 接着的 48 位是每个器件唯一的序号 最后 8 位是前面 56 位的 CRC(循环冗余校验)码 DSl820中还有用于贮 存测得的温度值的两个 8位存贮器 RAM 编号为 0号和 1 号 1 号存贮器存放温度值的符号 如果温度为负( ) 则 1号存贮器 8位全为 1 否则全为 0 0号存贮器用于存 放温度值的补码 LSB(最低位)的 1 表示 0.5 将存 贮器中的二进制数求补再转换成十进制数并除以 2 就得到 被测温度值(-550 125 ) DSl820的引脚如图 2 26 l所示 每只 D51820都可以设置成两种供电方式 即数据 总线供电方式和外部供电方式 采取数据总线供电方式可以节省一根导线 但完成温度测量 的时间较长 采取外部供电方式则多用一根导线 但测量速度较快 温度计算 1 Ds1820 用 9 位存贮温值度 最高位为符号位 下图为 18b20 的温度存储方式 负温度 S=1 正温度 S=0 如 00AAH为+85 ,0032H为 25 FF92H为 55 2 Ds18b20用 12位存贮温值度 最高位为符号位 下图为 18b20的温度存储方式 负温度 S=1 正温度 S=0 如 0550H为+85 0191H为 25.0625 ,FC90H为-55 Administrator 线条 二 DSl820工作过程及时序 DSl820工作过程中的协议如下 初始化 RoM操作命令 存储器操作命令 处理数据 1 初始化 单总线上的所有处理均从初始化开始 2 ROM操作品令 总线主机检测到 DSl820的存在 便可以发出 ROM操作命令之一 这些命令如 指令 代码 Read ROM(读 ROM) [33H] Match ROM(匹配 ROM) [55H] Skip ROM(跳过 ROM] [CCH] Search ROM(搜索 ROM) [F0H] Alarm search(告警搜索) [ECH] 3 存储器操作命令 指令 代码 Write Scratchpad(写暂存存储器) [4EH] Read Scratchpad(读暂存存储器) [BEH] Copy Scratchpad(复制暂存存储器) [48H] Convert Temperature(温度变换) [44H] Recall EPROM(重新调出) [B8H] Read Power supply(读电源) [B4H] 4 时 序 主机使用时间隙(time slots)来读写 DSl820的数据位和写命令字的位 (1)初始化 时序见图 2.25-2 主机总线 to时刻发送一复位脉冲(最短为 480us的低电平信号) 接着 在 tl时刻释放总线并进入接收状态 DSl820在检测到总线的上升沿之后 等待 15-60us 接 着 DS1820在 t2时刻发出存在脉冲(低电平 持续 60-240 us) 如图中虚线所示 以下子程序在MCS51仿真机上通过 其晶振为 12M. 初始化子程序 RESET PUSH B ;保存 B寄存器 PUSH A 保存 A寄存器 MOV A,#4 ;设置循环次数 CLR P1.0 ;发出复位脉冲 MOV B,#250 ;计数 250次 DJNZ B,$ ;保持低电平 500us SETB Pl.0 ;释放总线 MOV B,#6 ;设置时间常数 CLR C ;清存在信号标志 WAITL: JB Pl.0,WH ;若总线释放 跳出循环 DJNZ B,WAITL ;总线低 等待 DJNZ ACC,WAITL;释放总线等待一段时间 SJMP SHORT WH: MOV B,#111 WH1: ORL C,P1.0 DJNZ B,WH1 ;存在时间等待 SHORT: POP A POP B RET (2)写时间隙 当主机总线 t o时刻从高拉至低电平时 就产生写时间隙 见图 2 25 3 图 2 25 4 从 to时刻开始 15us之内应将所需写的位送到总线上 DSl820在 t 后 15-60us间对总线 采样 若低电平 写入的位是 0 见图 2 25 3 若高电平 写入的位是 1 见图 2 25 4 连续写 2位间的间隙应大于 1us 写位子程序(待写位的内容在 C中) WRBIT: PUSH B ;保存 B MOV B,#28 ;设置时间常数 CLR P1.0 ;写开始 NOP ;1us NOP ;1us NOP ;1us NOP ;1us N0P ;1us MOVPl.0,C ;C内容到总线 WDLT: DJNZ B,WDLT;等待 56Us POP B SETB Pl.0 ;释放总线 RET ;返回 写字节子程序(待写内容在 A中): WRBYTB: PUSH B :保存 B MOV B #8H ;设置写位个数 WLOP: RRC A ;把写的位放到 C ACALL WRBIT ;调写 1位子程序 DJNZ B WLOP ;8位全写完? POP B RET (3)读时间隙 见图 2 25 5 主机总线 to时刻从高拉至低电平时 总线只须保持低电平 l 7ts 之后 在 t1时刻将总线拉高 产生读时间隙 读时间隙在 t1时刻后 t 2时刻前有效 t z距 to为 15 捍 s 也就是说 t z时刻前主机必须完成读位 并在 t o后的 60尸 s一 120 fzs内释放总线 读位子程序(读得的位到 C中) RDBIT: PUSH B ;保存 B PUSH A ;保存 A MOV B,#23 ;设置时间常数 CLR P1.0 ;读开始 图 2 25 5的 t0时刻 NOP ;1us NOP ;1us NOP ;1us NOP ;1us SETB Pl.0 ;释放总线 MOV A,P1 ;P1口读到 A MOV C,EOH ;P1.0内容 C NOP ;1us NOP ;1us NOP ;1us NOP ;1us RDDLT: DJNZ B,RDDLT ;等待 46us SETB P1.0 POP A POP B RET 读字节子程序(读到内容放到 A中) RDBYTE: PUSH B ;保存 B RLOP MOV B,#8H ;设置读位数 ACALL RDBIT ;调读 1位子程序 RRC A ;把读到位在 C中并依次送给 A DJNZ B,RLOP ;8位读完? POP B ;恢复 B RET 三 多路测量 每一片 DSl820在其 ROM中都存有其唯一的 48位序列号 在出厂前已写入片内 ROM 中 主机在进入操作程序前必须逐一接入 1820用读 ROM(33H)命令将该 l 820的序列号读出 并登录 当主机需要对众多在线 1820 的某一个进行操 作时 首先要发出匹配 ROM命令(55H) 紧接着主 机提供 64位序列(包括该 1820的 48位序列号) 之 后的操作就是针对该 1820的 而所谓跳过 ROM命 令即为 之后的操作是对所有 1820的 框图中先有 跳过 ROM 即是启动所有 1820 进行温度变换 之 后 通过匹配 ROM 再逐一地读回每个 1820 的温 度数据 在 1820 组成的测温系统中 主机在发出跳过 ROM命令之后 再发出统一的温度转换启动码 44H 就可以实现所有 1820的统一转换 再 经过 1s后 就可以用很少的时间去逐一读取 这种方式使其 T值往往小于传统方式 由于 采取公用的放大电路和 A D转换器 只能逐一转换 显然通道数越多 这种省时效应就 越明显 四 实际应用 1 ds1820序列号获得 ;|----------------------------------------------------------------------------| ;| 读出 ds1820序列号应用程序,P1.6接 ds1820 | ;|----------------------------------------------------------------------------| ORG 0000H AJMP MAIN ORG 0020H MAIN: MOV SP,#60H CLR EA ;使用 ds1820一定要禁止任何中断产生 LCALL INT ;初始化 ds1820 MOV A,#33H LCALL WRITE ;送入读 ds1820的 ROM命令 LCALL READ ;开始读出当前 ds1820序列号 MOV 40H,A LCALL READ MOV 41H,A LCALL READ MOV 42H,A LCALL READ MOV 43H,A LCALL READ MOV 44H,A LCALL READ MOV 45H,A LCALL READ MOV 46H,A LCALL READ MOV 47H,A SETB EA SJMP $ INT: ;初始化 ds1820子程序 CLR EA L0:CLR P1.6 ;ds1820总线为低复位电平 MOV R2,#200 L1:CLR P1.6 DJNZ R2,L1 ;总线复位电平保持 400us SETB P1.6 ;释放 ds1820总线 MOV R2,#30 L4:DJNZ R2,L4 ;释放 ds1820总线保持 60us CLR C ;清存在信号 ORL C,P1.6 JC L0 ;存在吗?不存在则重新来 MOV R6,#80 L5:ORL C,P1.6 JC L3 DJNZ R6,L5 SJMP L0 L3:MOV R2,#240
本文档为【DS18B20中文资料】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_136524
暂无简介~
格式:pdf
大小:1005KB
软件:PDF阅读器
页数:31
分类:互联网
上传时间:2011-05-22
浏览量:32