寻找ROM
0F0H用于确定挂接在同一总线上DS18B20的个数和识别
64位ROM地址,为操作各器件作好准备
跳过ROM
0CCH忽略64位ROM地址,直接向DS18B20发温度变换命
令,适用于单片工作。
寻找报警命0ECH执行后,只有温度超过设定值上限或者下限的片子
令
才做出响应
3DS18B20访问流程CPU对DS18B20访问的工作流程是:先对DS18B20进行初始化,再发ROM操作命令,最后才能对存储器及数据进行操作。DS18B20每一步操作都在严格的工作时序和通信协议下进行的。例如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通信协议,须经过三个步骤:第一步是复位,第二步是发送ROM命令,第三步是发送RAM命令。值得注意的是,每一次读写之前都要对它进行复位。下面详细说明
11
fDS18B20的操作过程。(1)DS18B20的初始化
DS18B20的所有操作均从初始化开始,初始化的过程是首先由CPU发出一个复位脉冲,复位脉冲的时间为480~960us,然后由丛属器件发出应答脉冲。初始化是主CPU发出一个复位信号,将数据总线上的所有DS18B20复位,然后释放总线,该总线位接收状态。由于接有上拉电阻,在释放总线是有1560us的时间间隙,在此之后的60240us时间内,如果CPU检测到总线为低电平的话,则说明DS18B20初始化完成。DS18B20初始化时序波形如图所示:
图34DS18B20复位初始化时序图(2)发送ROM命令
ROM的操作命令位8位二进制数,CPU对ROM的操作有读ROM命令、符合ROM命令、搜索ROM命令、跳过ROM命令、报警搜索命令共5种。其中符合ROM命令是用来识别连在总线是的DS18B20芯片,其过程是主CPU发出符合ROM命令(代码位55H)后,接着送出64位的ROM数据序列,从而使主CPU实现对单总线上的特定DS18B20进行寻址,只有与64位序列严格相符的DS18B20才能对后续的操作发出响应,符合ROM命令只对同时挂在总线上的多片DS18B20适用。读写ROM的操作时序如图所示。
图(a)DS18B20写时序
12
f图(b)DS18B20读时序图35DS18B20操作时序图
(3)发送RAM命令RAM命令是暂存器操作命令,共有6条,在前面已经列出,其功能是实现温度的转换、读写、复制暂存器的内容等功能。在具体的设计过程中,访问DS18B20也是通过程序设计来实现的。具体程序可以按照上面的工作时序图和命令的相应格式进行程序设计。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据r