DS18B20相关总结

发布者:csZhou最新更新时间:2015-05-07 来源: 51hei关键字:DS18B20  复位电平  ROM 手机看文章 扫描二维码
随时随地手机看文章

 

    ROM只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编码(DS18B20 的编码是 19H) ,后面48 位是芯片唯一的序列号,最后 8位是以上 56的位的 CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。 
    
    RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共9 个字节 RAM,每个字节为 8 位。第1、2 个字节是温度转换后的数据值信息,第 3、4 个字节是用户 EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第 5 个字节则是用户第 3 个 EEPROM的镜像。第 6、7、8 个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第 9 个字节为前 8个字节的 CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据。

    DS18B20共3位EEPROM,并在 RAM 都存在镜像,以方便用户操作。


控制器对 18B20 操作流程:

1,  复位:首先我们必须对 DS18B20 芯片进行复位,复位就是由控制器(单片机)给 DS18B20单总线至少 480uS 的低电平信号。当 18B20 接到此复位信号后则会在 15~60uS 后回发一个芯片的存在脉冲。
 
2,  存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在 15~60uS 后接收存在脉冲,存在脉冲为一个 60~240uS 的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与 18B20 间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 
 
3,  控制器发送 ROM 指令:双方打完了招呼之后最要将进行交流了,ROM 指令共有 5条,每一个工作周期只能发一条,ROM指令分别是读 ROM 数据、指定匹配芯片、跳跃 ROM、芯片搜索、报警芯片搜索。ROM 指令为 8 位长度,功能是对片内的 64位光刻 ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的 ID号来区别,一般只挂接单个 18B20芯片时可以跳过 ROM 指令(注意:此处指的跳过 ROM指令并非不发送 ROM 指令,而是用特有的一条“跳过指令” )

4,  控制器发送存储器操作指令:在 ROM 指令发送给 18B20 之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为 8 位,共 6 条,存储器操作指令分别是写 RAM 数据、读RAM 数据、将 RAM 数据复制到 EEPROM、温度转换、将 EEPROM中的报警值复制到 RAM、工作方式切换。存储器操作指令的功能是命令 18B20 作什么样的工作,是芯片控制的关键。 [page]
 
5,  执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待 18B20 执行其指令,一般转换时间为 500uS。如执行数据读写指令则需要严格遵循 18B20 的读写时序来操作。数据的读写方法将有下文有详细介绍。 
 
    若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过 ROM 指令、执行温度转换存储器操作指令、等待 500uS 温度转换时间。紧接着执行第二个周期为复位、跳过 ROM指令、执行读 RAM 的存储器操作指令、读数据(最多为 9 个字节,中途可停止,只读简单温度值则读前 2 个字节即可)。其它的操作流程也大同小异,在此不多介绍。 


DS28B20 芯片 ROM 指令表: 
 
Read  ROM(读 ROM)[33H]   (方括号中的为16进制的命令字) 这个命令允许总线控制器读到 DS18B20 的 64位 ROM。只有当总线上只存在一个 DS18B20 的时候才可以使用此指令,如果挂接不只一个,当通信时将会发生数据冲突。 
 
Match  ROM(指定匹配芯片)[55H] 
这个指令后面紧跟着由控制器发出了 64 位序列号,当总线上有多只 DS18B20 时,只有与控制发出的序列号相同的芯片才可以做出反应,其它芯片将等待下一次复位。这条指令适应单芯片和多芯片挂接。 
 
Skip  ROM(跳跃 ROM 指令)[CCH] 
这条指令使芯片不对 ROM 编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。 
 
Search  ROM(搜索芯片)[F0H] 
在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的 64位 ROM。 
 
Alarm  Search(报警芯片搜索)[ECH] 
在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于 TH 或小于 TL报警条件的芯片做出反应。只要芯片不掉电,报警状态将被保持,直到再一次测得温度什达不到报警条件为止。 
 
 
DS28B20 芯片存储器操作指令表: 
 
Write Scratchpad  (向 RAM中写数据)[4EH] 
这是向 RAM 中写入数据的指令,随后写入的两个字节的数据将会被存到地址 2 (报警RAM 之 TH)和地址 3(报警 RAM 之 TL)。写入过程中可以用复位信号中止写入。 
 
Read  Scratchpad  (从RAM 中读数据)[BEH] 
此指令将从 RAM 中读数据,读地址从地址 0 开始,一直可以读到地址 9,完成整个 RAM 数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。  
 
Copy  Scratchpad  (将 RAM 数据复制到 EEPROM中)[48H] 
此指令将 RAM 中的数据存入 EEPROM中,以使数据掉电不丢失。此后由于芯片忙于 EEPROM储存处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持 10MS,来维持芯片工作。 

Convert  T(温度转换)[44H] 
收到此指令后芯片将进行一次温度转换,将转换的温度值放入 RAM 的第 1、2 地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持 500MS,来维持芯片工作。 
 
Recall  EEPROM(将 EEPROM中的报警值复制到 RAM)[B8H] 
此指令将 EEPROM中的报警值复制到 RAM 中的第 3、4 个字节里。由于芯片忙于复制处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。另外,此指令将在芯片上电复位时将被自动执行。这样 RAM 中的两个报警字节位将始终为 EEPROM中数据的镜像。 
 
Read  Power  Supply(工作方式切换)[B4H] 
此指令发出后发出读时间隙,芯片会返回它的电源状态字,“0”为寄生电源状态,“1”为外部电源状态。

关键字:DS18B20  复位电平  ROM 引用地址:DS18B20相关总结

上一篇:#ifndef的使用方法详解
下一篇:protues的3D视图功能

推荐阅读最新更新时间:2024-03-16 14:01

基于嵌入式ARM和DS18B20的数字测温系统
前言   热误差是 数控机床 的最大误差源, 数控机床 的温度测试为机床热误差的补偿提供依据。传统的测温方案是将模拟信号通过电缆远距离传输至 数据采集 卡进行A/D转换并处理,实用中必须解决长线传输和模拟量 传感器 布线等问题。本文介绍了一种新型的设计方案,控制器采用SAMSUNG公司的32位ARM微控制器S3C44BOX, 温度传感器 采用单总线数字 温度传感器 DS18B20。采用数字温度 传感器 即在测试点完成了信号的数字化,提高了传输的可靠性,同时简化了外围电路,也便于传感器在机床上的布置安装。ARM处理器控制数字温度信号的采集,并与上位PC机通讯,同时其他硬件资源提供热补偿系统其他功能。本文在介绍数字温度传感器DS18B
[单片机]
基于嵌入式ARM和<font color='red'>DS18B20</font>的数字测温系统
使用用CPLD和Flash实现FPGA的配置
  电子设计自动化EDA(Electronic Design Automation)是指以计算机为工作平台,以EDA软件为开发环境,以硬件描述语言为设计语言,以可编程逻辑器件PLD为实验载体(包括CPLD、FPGA、EPLD等),以集成电路芯片为目标器件的电子产品自动化设计过程。该过程目前已广泛应用于电子电路与系统的设计和产品的开发中.逐渐取代了传统的手工硬件电路设计方式。设计的系统具有体积小、重量轻、功耗小、速度快、价格低、可靠性高、设计周期短等优点。一个功能完备的EDA设计软件加上一片普通功能的可编程逻辑芯片就可以构成以前需几百个集成电路才能构成的电子系统。   目前常用的可编程逻辑器件有CPLD(Complex Progr
[嵌入式]
使用用CPLD和Flash实现FPGA的配置
OK6410A 开发板 (八) 123 linux-5.11 OK6410A rootfs中留给开发者的内存访问接口
与内存相关的文件系统 我们如果想用rootfs中的文件来观测内存或更改内存行为 则需要观测的文件所属的文件系统 为 内核文件系统 // https://blog.csdn.net/u011011827/article/details/119322870 中的 linux 真实文件系统分类 相关的文件系统有以下几种 sysfs,procfs,rootfs,devtmpfs,debugfs 可以从 /proc/filesystems中查看 当前的linux系统中注册了哪些 系统,在从中根据经验挑选出 内核文件系统 可以 利用 mount 来查看 这些文件系统挂载到哪个目录(挂载点)了 如果没有挂载,可以尝试用mount 命令挂载
[单片机]
8051 特有的内存型态
code 以 MOVC @A+DPTR 读取的程序内存 data 可以直接存取的内部数据存储器 idata 以 Mov @Rn 存取的内部数据存储器 bdata 可以位寻址(Bit Addressable)的内部存储器 xdata 以 MOVX @DPTR 存取的外部数据存储器 pdata 以 MOVX @Rn 存取的外部数据存储器 特殊资料型态 bit 一般位(bit)变量 sbit 绝对寻址的位(bit)变量 语法 sbit my_flag = location; (location 范围从 0x00 ~0x7F) 范例 sbit EA = 0xAF; 或是配合 bdata宣告的位(bit)
[单片机]
51单片机局部变量占用ram的问题
一、问题 自从工作以来基本不使用51或者增强型51之类的单片机。最近调试芯圣HC89S003F4增强型51,移植了32的实用代码,结果发现RAM爆了!!! 二、实践 为了看出问题,我又重新建立了一个简单工程。 #include reg52.h int test(void) { char a ; return 1; } void main(void) { test(); while(1); } 结果a改多大,RAM就加多少。 再看STARTUP.A51文件,发现跟stm32的启动程序不一样,根本没有定义heap堆,stack也是追加在被使用RAM的末尾。 最后看了这个帖子 http://bbs.2
[单片机]
51单片机局部变量占用<font color='red'>ram</font>的问题
小米MIUI Go曝光:小内存手机能流畅运行
4月15日消息,开发者kacskrz发现了一个名为“MIUI Go”的新版本MIUI,该版本用于内存小于4GB的入门机上。   据XDA爆料,MIUI Go将会被应用到一款全新的小米POCO设备上,该设备命名为小米POCO C40,是小米面向海外市场打造的一款入门机。   目前关于MIUI Go的更多细节尚不得而知,它可能是基于Android Go深度定制的操作系统。   众所周知,Android Go是一个专为入门手机设计的Android版本,谷歌对当前的Android系统进行简化,使其可以在小内存手机上运行。而且借助Android Go,原本一部8G存储空间的手机,可让存储空间增加一倍。   如果MIUI Go是基于
[手机便携]
小米MIUI Go曝光:小<font color='red'>内存</font>手机能流畅运行
双口RAM在组合导航系统中的应用
摘要:介绍了双口RAM器件CY7C028的内部结构及工作原理,详细讨论了CY7C028在INS/GPS组合导航系统中的具体应用,给出了CY70C28与TMS320F240和TMS320VC33之间的接口电路,并对CY7C028的分区处理进行了独特的软件设计,提高了实时性。 关键词:双口RAM TMS320VC33 TMS320F240 组合导航系统 CY7C028 导航系统是负责将载体从起始点引导到目的地的系统装置。近年来,随着微型计算机技术和卫星通信技术的发展和实际应用,使得导航系统的精确性和可靠性达到了更高的要求,促使导航系统向综合化和容错化方法发展,进而发展了以惯性导航为主体的各种组合导航系统。在众多组合导般系统中,I
[应用]
智能化停车新纪元:研华ROM-2620核心模块赋能创新停车计时器案例
在万物互联的今天,许多城市正在将智能停车计时器整合到城市基础设施中。 这种转变不仅减少停车服务的劳动力和运营费用,同时还可简化对设备的管理。 01 项目背景 智能停车计时器是用于自动计算停车时间并实现车费计算,为车主提供便捷的停车支付解决方案的设备。其通过集成的传感器和核心计算单元,如研华的ROM-2620核心板,实现其关键功能。首先,传感器负责检测车辆到达和离开停车位的时间点,以确定停车车辆信息以及时长。核心计算单元则根据预设的计费规则计算出停车费用。此外,设备通过无线通信技术(如Wi-Fi或蜂窝网络)连接到云端服务器,实现远程管理和支付功能,使车主可通过手机直接完成支付。同时,管理者可实时监控停车场的使用情况,
[工业控制]
智能化停车新纪元:研华<font color='red'>ROM</font>-2620核心模块赋能创新停车计时器案例
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved