基于单总线器件的温度测量仪
引言
许多情况下需要测量温度参数。通常测温系统的主要器件是热敏电阻,由于它体积小、重复性好、测量方法简单,所以在测温系统中广泛应用。但采用热敏电阻的测温系统需要A/D转换,而且测量精度不高。本文采用Dallas公司生产的一种新型温度传感器,它集温度测量、A/D转换于一体,其测量范围宽(-55℃~+125℃),精度高(0.0625℃),是一款具有单总线结构的器件。
由组建的温度测量单元体积小,便于携带、安装。同时,的输出为数字量,可以直接与单片机连接,无需后级A/D转换,控制简单。由于具有单总线特性,便于扩展,可在一根总线上挂接多个来组建温度测量网络。
2 硬件电路设计
本系统设计采用 Mega8单片机控制,由显示电路显示当前温度。其系统硬件电路如图1所示。Atmel的Mega8单片机采用RTSC(精简指令集),指令执行速度快,内嵌8 KB Flash程序存储器,支持ISP(在系统编程),片内含有大容量的RAM区,具有SPT总线、I2C总线、ADC功能。Mega8单片机体积小,功能强,具有PDIP-28封装及TQFP封装。
采用单总线方式和Mega8单片机相连,即的1引脚和3引脚接地,2引脚通过一只240 Ω的电阻接至Mega8的PB7引脚,同时将PB7引脚采用一只4.7 kΩ的电阻上拉至VCC。
单总线即只用一根信号线,既供电,又传输数据,而且数据传输是双向的,单总线具有"线与"功能,连接方便,便于扩展。
由于采用 CMOS技术,耗电量很小,从总线上"偷"一点电保存到内的电容中就可供给器件工作。串联240 Ω电阻的目的是防止有缺陷的程序损坏,如果没有正确地采用OC(集电极开路)或OD(漏极开路)结构驱动,而是选择推挽方式,可能被烧坏。 2.1 的控制时序.
由于是采用一根I/O总线读写数据,因此,对读写数据位有严格的时序要求。遵循相应的通信协议从而保证数据传输的正确性和完整性。该通信协议定义了多种信号时序:初始化时序、读时序、写时序。所有时序都是将单片机作为主机,作为从机。每一次命令和数据传输都是从主机启动写时序开始,如果要求从机回送数据,在写命令后,主机需启动读时序接收数据。所有的读、写时序至少需要60μs,且每两个独立的时序之间至少需要1μs的恢复时间。数据和命令的传输都足低位优先。
的复位时序包括主机发出的复位脉冲和从机发出的应答脉冲。上机通过拉低单总线并保持至少480μs产十复位脉冲,然后由主机释放总线,进入接收模式。主机释放总线时,会产生一个由低电半跳变为高电平的上升沿,检测到该上升沿后,延时15μs~60μs,接着通过拉低总线60μs~240μs产生应答脉冲。主机接收到DB18B20的应答脉冲后就开始对进行ROM命令和功能命令操作。的复位时序如图2所示。
的读时序分为读0时序和读1时序。的读时序是主机将单总线拉为低电平,在15μs之内释放单总线,以便使将数据传输到单总线上。若发送1,总线保持高电平,若发送0,则总线为低电平。由于发送数据后保持15μs有效时间,因此,主机在读时序时必须释放总线,且保持15μs的采样总线状态,以便接收发送数据。的读时序如图3所示。
的写时序仍然分为写0时序和写1时序。但写0时序和写1时序的要求不同。写0时序时,单总线需要被拉低至少60μs,保证能够在15μs~45μs能够正确地采样I/O总线上的"0"电平;写1时序时,单总线被拉低,并在15μs内释放单总线。的写时序如图4所示。
2.2 的控制命令
具有下面控制命令,如表1所示。
单片机向发送这些控制命令,完成相应操作。例如,向发送0x44命令,则开始启动温度转换。
3 软件设计
Mega8单片机对的控制严格遵循单总线的复位及读、写时序要求,同时,需要写入必要的控制字控制完成相应工作。当写入0x44控制字启动温度转换后,需要等待至少800 ms,在这个时间段内完成温度的采集和A/D转换,此时读取的数据才是正确的。软件程序流程图如图5所示。
主程序如下所示:
4 结束语
集温度测量、A/D转换于一体,具有体积小、动态范围宽、测量精度高、单总线结构等特点。经试验,基于Mega8单片机和的温度测量仪,设计简单,控制方便,测量准确,测温范围宽,完全可以取代水银温度计和热敏电阻测量。利用单总线具有很强的扩展性,还可以组建多点的温度检测网络。因此,基于Mega8单片机和的温度测量仪,具有广泛的应用前景。
本文可能所用到的IC型号:
阅读(313) | 评论(0) | 转发(0) |