0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单总线数字温度计DSl8B20实现分布式测控系统的设计

电子设计 来源:单片机与嵌入式系统应用 作者:张佳进;杨燕云; 2020-04-01 08:13 次阅读

总线技术是美国Dallas半导体公司近年推出的新技术。它将地址线、数据线、控制线合为1根信号线,允许在这根信号线上挂接数百个单总线器件芯片。基于单总线的每个芯片内部均有1个出厂前被光刻好的64位ROM序列号,它可以看作是该芯片的地址序列码。开始8位是产品类型标号,如DSl8B20为28H,DS2450为20H等;接着的48位是该芯片自身的序列号,用以保证在同类芯片中的唯一性;最后8位是前面56位的循环冗余校验码,以确保数据传输的可靠性。光刻ROM的作用是使每个“单总线”器件的地址都各不相同,这是定位和寻址器件实现单总线测控功能的前提条件,并以此为依据实现1根总线上挂接多个“单总线”芯片。芯片内部集成有收发控制电路电源存储电路。与微处理器接口非常简单,可节省大量的引线和逻辑电路。芯片的耗电量很小,从总线上“偷”一点电(空闲时几μW,工作时几mW)存储在片内的电容中就可正常工作,一般不用另附电源。最可贵的是这些芯片在检测点已把被测信号数字化了,因此在单总线上传送的是数字信号,这使得系统的抗干扰性能好、可靠性高、传输距离远。

单总线技术具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等优点,因此,在分布式测控系统中有着广泛应用。

1、 DS2480B主要特性

◇ 串口UART/RS232至单总线通信协议的转接桥,可直接连到UART和5V RS232系统中, 支持Dallas全系列单总线器件,如数字温度传感器DS18B20、A/D转换器DS2450等;

◇ 将主机从单总线时序控制中解脱出来,提供规范的、灵活的和强驱动的单总线定时;

◇ 支持标准UART通信,支持9.6(默认)、 19.2、57.6和115.2 kbps速率;

◇ 具有较强的总线驱动能力,通信距离可达300 m;

◇ 可编程下拉摆率控制和有源上拉,工作范围 5 V,-40 ~ +85 ℃,8引脚SOIC封装。

2、 引脚说明及原理框图

DS2480B为8脚贴片式封装,如图1所示。引脚功能如表1所列。

基于单总线数字温度计DSl8B20实现分布式测控系统的设计

3 、DS2480B与RS232的接口技术

电路应用了串口“窃电”技术,不用外加电源,同时有DS9502对单总线提供静电保护,如图3所示。

基于单总线数字温度计DSl8B20实现分布式测控系统的设计

4 、基于DS2480B的单总线农业温室分布式测控系统设计

4.1 核心器件介绍

温度信号的检测选用单总线数字温度计DSl8B20。它利用温敏振荡器的频率随温度变化的关系,通过对振荡周期的计数来实现温度测量。DSl8B20采用3引脚TO-92小体积封装形式;温度测量范围为 -55~+125 ℃,可编程为9~12位 A/D转换精度,测温分辨率可达 0.0625 ℃,典型转换速度200 ms/次;被测温度用符号扩展的16位二进制补码数字量方式串行输出;内部非挥发的温度报警触发器可由用户设置高、低限报警值。

湿度信号、二氧化碳浓度等信号的检测,先由相应的传感器和信号调理电路将其转换成电压信号,然后挂接到DS2450上。DS2450是单总线4通道逐次逼近式A/D转换器,其输入电压范围、转换精度位数(2~6位)、报警门限电压等均可编程;每个通道有各自的存储器以存储电压范围设置、转换结果、门限电压等参数;普通方式下串行通信速率达16.3 kbps;片内16位循环冗余校验码生成器可用于检测通信的正确性;芯片正常工作时仅消耗2.5 mW功率,空闲情况下消耗25μW。

温室控制系统的执行机构采用开关量控制,选用可寻址的单总线控制开关DS2405,由它送出1位0或1作为控制码信息,先触发光电耦合器,经功率放大,驱动继电器、晶闸管或固态继电器,控制通风机、增湿器执行机构等的开启与关闭。

对于控制系统中所需要的数字输入信号,可选用DS2401。DS2401是符合单总线协议的ROM硅片。当外围电路接通DS2401后,通过条件搜索ROM命令,可以由计算机查询到该输入开关量的状态。

4.2 系统硬件组成框图

系统硬件组成框图如图4所示。

基于单总线数字温度计DSl8B20实现分布式测控系统的设计

4.3 软件设计

为了保证数据可靠地传输,任一时刻单总线上只能有一个控制信号或数据。进行数据通信时应符合单总线协议,计算机对某一测控对象操作时,一般有以下4个过程:① 初始化;② 传送ROM命令;③ 传送RAM命令;④ 数据交换。每次传送的数据或命令是由一系列的时序信号组成,单总线上共有4种时序信号:① 初始化信号(复位信号);② 写0信号;③ 写1信号;④ 读信号。软件设计时要产生这四种时序信号波形。在单总线系统中,软件设计是技术的关键。简捷的硬件设计是靠复杂的软件来支撑的。

为了提高开发效率,我们采用了Dallas公司授权的软件开发商(ASDB)提供的免费TMEX软件开发工具套件。在TMEX中已包含上述4种时序信号波形程序,编程时可直接调用。TMEX实际上是一些动态链接库,包括IBFS32.DLL 、IB97U32.DLL 等文件,提供了对单总线芯片进行访问和控制的函数。它支持Windows及DOS操作平台,可以采用C、C++、Delphi、VB等计算机语言开发用户应用程序;它还支持基于DS2480B的串口转换器DS9097U、DS1410D并行转换口。因此,可以设计精美、生动的界面,既可以看到测控系统的总布局图,又可查看某个测控现场的状态数据和指示信号,达到了现代化、自动化的管理水平。

下面是用VB6.0开发工具调用TMEX的API函数,驱动DS2480B进行单总线通信的程序。

。..。..

Dim dmmy,search, result as integer

Dim Myhandle as long

State-buffer(15360) as byte

Private declare function TMExtendedStartSession lib “IBFS32.DLL”

(Byval portnum as integer Byval portType as integer, Byval reserved as any)

as long

Private declare function TMsetup lib “IBFS32.DLL”(Byval session_handle as long

,state_buffer as byte) as integer

Private declare function TMfirst lib “IBFS32.DLL” (Byval session_handle as long,

state_buffer as byte) as integer

Private declare function TMrom lib “IBFS32.DLL” (Byval session_handle as long,

state_buffer as byte,rom as integer) as integer

Private declare function TMendsession lib “IBFS32.DLL”

(Byval session_handle as long) as integer

。..。..

Myhandle= TMExtendedStartSession(1,5,vbNullstring)

‘检查DS2480B是否准备就绪,准备建立会话注意,针

‘对DS2480B,该函数第2个参数必须为5

If (Myhandle》0) then ‘成功建立会话

Dmmy=TMSetup(Myhandle) ‘初始化

Search=TMFirst(Myhandle,state_buffer(0)) ‘查找设备,找

‘到第1个设备返回“1”

If (search=1) then

ROM[0] = 0; ‘表示读数据

result = TMRom(session_handle, state_buffer(0), ROM(0));

if (result = 1) then

‘此时ROM中数据表示该设备的64位ROM序列号,其中

‘ ROM[0]为器件类型代码,如ROM(0)=20H 表示找到

‘ DS2450, ROM[7] 存放的是 8 bit CRC

。..。..‘对找到的设备进行相应操作

。..。..

end if

dmmy= TMendsession(Myhandle) ‘结束会话,释放单总线

。..。..

结束语

基于DS2480B的单总线分布式测控系统,具有节省I/O口线资源、结构简单、开发快捷、成本低廉、便于总线扩展和维护等优点,因此有广阔的应用空间,具有较大的推广价值。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16508

    浏览量

    244547
  • 芯片
    +关注

    关注

    446

    文章

    47705

    浏览量

    408872
  • 半导体
    +关注

    关注

    327

    文章

    24431

    浏览量

    201846
收藏 人收藏

    评论

    相关推荐

    DS18B20数字温度传感器与温度计使用

    DS18B20基本知识  DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来
    发表于 10-08 16:39

    DS18B20数字温度计使用

    本帖最后由 eehome 于 2013-1-5 09:54 编辑 1.DS18B20基本知识  DS18B20数字温度计是DALLAS公司生产的1-Wire,即
    发表于 10-24 21:12

    DS18B20做了个数字温度计遇到的问题

    本人最近用DS18B20做了个数字温度计,但是测出来的数据总比家里的2个电子钟高2,3度?请问各位高手问题可能出在哪,DS18B20这种单总线
    发表于 04-02 12:46

    简单介绍数字温度计的设计与实现

    数字温度计的设计与实现一、实验目的1.了解DS18B20数字式温度传感器的工作原理。2.利用DS
    发表于 11-06 16:24

    基于DS18B20的51单片机数字温度计设计

    本帖最后由 kuofonfon 于 2020-1-3 17:39 编辑 实验原理DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的
    发表于 11-04 12:27

    温度传感器DSl8B20在Proteus仿真的实现

    传输时钟又传输数据,而且数据的传输时双向的,具有线路简单、硬件开销少、成本低、便于总线扩展和维护等优点。  DSl8B20是典型的单总线数字式温度
    发表于 11-02 15:08

    基于DSP与数字温度传感器的温度控制系统

    芯片TMS320F2812与数字温度传感器DSl8B20设计出一个温度测量系统,根据测量所得的温度
    发表于 11-02 15:21

    基于单总线数字温度传感器DS18B20的测温系统方案

    单总线上构成多点分布式温度测量系统;具有极强的抗干扰纠错能力。  DS18B20的TO-92封装如图1所示,针脚1为电源地线,针脚2为数据输
    发表于 11-06 15:18

    数字温度传感器DSl8B20怎么实现快速编程?

    一般来说,总线数越少,连接就越简单,因而串行总线嵌入元件在许多应用场合颇受欢迎。但正因为只有1根线,该类元件的编程要紧扣硬件和时钟,难度大于I2C总线和SPI
    发表于 10-21 06:16

    基于DSP与DSl8B20怎么实现温度控制系统

    TMS320F2812与数字温度传感器DSl8B20设计出一个温度测量系统,根据测量所得的温度
    发表于 10-24 08:02

    如何利用AT89C51单片机和DSl8B20数字温度传感器实现多点温度的检测与控制

    本文设计了一种基于AT89C51、数字温度传感器DSl8820的多点温度检测系统,该系统利用
    发表于 05-07 06:06

    掌握数字温度计的硬件结构及程序设计方法

    、蜂鸣器、按键等外设,另外还设有RS232、USB两种外部通信接口,为实现数字温度计功能提供了很好的硬件支持。图3.12.1为具体硬件电路。DS18B20的数据线DQ与单片机P3.7口
    发表于 12-07 08:28

    单总线多点分布式温度监控系统的设计

    本文设计了一个单总线多点分布式温度测控系统,该系统可以进行远程单线多点数据采集与控制,并具有数据
    发表于 07-30 15:44 197次下载

    单总线和I2C总线结合实现数字温度计实验

    单总线和I2C 总线结合实现数字温度计实验 一. 实验目的通过本实验,理解掌握单总线器件和
    发表于 09-22 17:42 2936次阅读
    <b class='flag-5'>单总线</b>和I2C<b class='flag-5'>总线</b>结合<b class='flag-5'>实现</b><b class='flag-5'>数字</b><b class='flag-5'>温度计</b>实验

    单线数字温度传感器DSl8B20芯片特性及引脚

    DSl8B20芯片特性及管脚介绍   1.1 DSl8B20芯片特性   DSl8B20单线数字温度传感器是新一代
    发表于 08-30 09:43 4394次阅读
    单线<b class='flag-5'>数字</b><b class='flag-5'>温度</b>传感器<b class='flag-5'>DSl8B20</b>芯片特性及引脚