关闭
关闭
首页 > 嵌入式硬件 > 嵌入式开发

1. 概述

本设计基于CPLD设计一款数字温度计,温度传感器使用DS18B20,CPLD采用EPM240T100C5。DS18B20 具有体积小,硬件开销低(只需要一根信号线),抗干扰能力强等优点。EPM240T00C5具有延时低、功耗小、稳定性高等优点。

2. 硬件简介

硬件平台采用BigTree的CPLD开发板,有如下硬件资源:

CPLD EPM240T100C5;

USB 转串口(省去 USB 转串口线);

LED;

有源蜂鸣器;

DS18B20 温度传感器;

四位共阳极数码管;

按键;

GPIO 拓展接口(18 个通用 IO)。

有需要的朋友可以在 shop397545458.taobao.com购买。

3. 系统框图

 

1.jpg

温度采集模块:负责初始化、读写DS18B20温度传感器;

十六进制转十进制模块:将DS18B20的温度输出数据转换成十进制数据;

数码管显示模块:将转换好的十进制数据动态显示在数码管上。

4. DS18B20 工作原理

DS18B20 引脚功能

GND: 地信号

DQ: 数据信号线

VDD: 电源

存储资源

ROM: 只读存储器,用于存放 DS18B20 编码,一共 64 位,第一个 8 位是 1-wire 家族号(28h),第二个 48 位是唯一的序列号。最后一个 8 位是前 56 位的 CRC 校验码。

RAM: 数据暂存器,共 9 个字节,第 1、 2 字节是温度转后的数据值。

EEPROM: 用于存放长期需要保持的数据,如上下限温度报警值等。

设备操作

1.初始化

-> 数据线拉高 1;

-> 短延时;

-> 数据线拉底 0;

-> 延时 750ms;

-> 数据线拉高 1;

-> 延时等待(如果初始化成功则在 15~60 毫秒内产生一个由 DS18B20 返回的低电平);

->若读到数据线上的低电平,再做延时(第五步算起,最少 480ms);

-> 数据线拉高,结束。

2.发送 ROM 指令

ROM 指令共 5 条,每一个工作周期只能发一条,分别为:读 ROM、匹配 ROM、跳跃ROM、查找 ROM 和报警查找。一般只有单个 18B20 芯片,可使用跳过 ROM 指令[CCH]。

3.发送存储器操作指令

在 ROM 指令后,紧接着发送存储器操作指令,分别为:

? 温度转换 44H:

启动 DS18B20 进行温度转换,将温度值放入 RAM 的第 1、 2 个地址。

? 读暂存器 BEH

从 RAM 中读数据,读地址从 0 开始到 9,可只读前两个字节。

? 写暂存器 4EH

将数据写入暂存器的 TH、 TL 字节。

? 复制暂存器 48H

把暂存器的 TH、 TL 字节写到 E2RAM 中。

? 重新调 E2RAM B8H

把 E2RAM 中的 TH、 TL 字节写到暂存器 TH、 TL 字节 。

? 读电源供电方式 B4H

启动 DS18B20 发送电源供电方式的信号给主控。

4.读当前温度数据

需要执行两次工作周期,第一个周期为复位,跳过 ROM 指令,执行温度转换存储器指令等待 500us 温度转换时间。紧接着执行第二个周期为复位,跳过 ROM 指令,执行读 RAM 的存

储器,读数据。

5.写操作

 

2.jpg

写时隙分为写“0”和写“1”, 时序如图,在写数据时间间隙的前 15us 总线需要是被主控拉低,然后则将是芯片对总线数据的采样时间,采样时间在 15-60us,采样时间内,如果主控将 总线拉高则表示写 1,如果主控将总线拉低则表示写 0。每一位的发送都应该有一个至少15us 的低电平起始位随后的数据 0 或 1 应该在 45us 内完成。整个位的发送时间应该保持 在60-120us,否则不能保证通信的正常。

6.读操作

 

3.jpg

读时隙时也是必须先由主控产生至少 1us 的低电平,表示读时间的起始。随后在总线被释放后的 15us 中 DS18B20 会发送内部数据位。注意必须要在读间隙开始的 15us 内读数据为才 可以保持通信的正确。通信时,字节的读或写是从高位开始的,即 A7 到 A0。控制器释放总线,也相当于将总线置 1。

更多关于DS18B20的资料可以查看其应用手册。

5. 进制转换(Hex2Dec)

由于 DS18B20 输出的是十六进制数据, 所以需要做进制转换为 10 进制输出。这里由于CPLD 资源问题,故只设计温度显示范围为: 0~47 度,最小分辨率为 1 度。

```

wire [7:0] data_in;

assign data_in = {1‘b0,temperature_buf[10:4]};

reg [7:0] buf0;

reg [7:0] buf1;

reg [7:0] buf2;

reg [7:0] data_out;

always @(*)

case(data_in[7:4])

0:

begin

buf0[3:0] = (data_in[3:0]> =10)?(data_in[3:0]-10):data_in[3:0];

buf0[7:4] = (data_in[3:0]> =10)?(data_in[7:4]+1):data_in[7:4];

data_out = buf0;

end

1:

begin

buf0[3:0] = (data_in[3:0]> =10)?(data_in[3:0]-10 + 6):(data_in[3:0]+6);

buf0[7:4] = (data_in[3:0]> =10)?(data_in[7:4]+1):data_in[7:4];

buf1[3:0] = (buf0[3:0]> =10)?(buf0[3:0]-10):buf0[3:0];

buf1[7:4] = (buf0[3:0]> =10)?(buf0[7:4]+1):buf0[7:4];

data_out = buf1;

end

2:

begin

buf0[3:0] = (data_in[3:0]> =10)?(data_in[3:0]-10 + 6):(data_in[3:0]+6);

buf0[7:4] = (data_in[3:0]> =10)?(data_in[7:4]+1):data_in[7:4];

换一批

延伸阅读

[新鲜事] SpaceX本月发射任务将不展开回收尝试

SpaceX本月发射任务将不展开回收尝试

据外媒报道,去年, 每当SpaceX的猎鹰9号(Falcon 9)执行发射任务时,它都能成为网络的关注焦点,这是因为它在每次的发射之后都会进行回收尝试。但是,本月的发射任务将不再延续这一传统,获悉,当地时间1月30日,SpaceX将展开一次......

关键字:SpaceX 猎鹰9号

[真心话] 1元年薪是什么鬼?为何乔布斯/扎克伯格/马斯克等大佬都热衷这样?

1元年薪是什么鬼?为何乔布斯/扎克伯格/马斯克等大佬都热衷这样?

近几年,互联网界大佬们只领1元年薪似乎成了潮流。去年10月,刘强东跟奶茶妹妹刚结完婚,便宣布此后十年内,每年领1元年薪。对此网友调侃道“十年买不起一杯奶茶”,也有网友为奶茶妹妹操碎了心,表示如果......

关键字:乔布斯 扎克伯格 马斯克

[新鲜事] 加油站区域禁用手机 却贴上了二维码?

加油站区域禁用手机 却贴上了二维码?

一般来说,加油站区域内都是禁止使用手机和打火机的,但加油站一些奇葩的行为却让人非常费解。......

关键字:加油站 二维码

[新鲜事] 人工智能又赢了,这次是德扑大赛

人工智能又赢了,这次是德扑大赛

在当地时间 1 月 30 日,宾夕法尼亚州匹兹堡的 Rivers 赌场,卡耐基梅隆大学 ( CMU )开发的人工智能系统Libratus ,在共计 12 万手的一对一无限注德州扑克比赛中击败了四名顶级人类玩家 Jason Lee、Dong ......

关键字:人工智能 德州扑克
条评论

我 要 评 论

网友评论

大家都爱看

  • 华为的优势,就是自家的各种自研芯片

    CPU即中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

    2017-08-16
  • 你不知道Ryzen芯片有多火?来看看AMD的股票吧

    据外媒报道,美银美林认为,AMD最新的Ryzen芯片可能会引发一波销售浪潮,进而推动该股继续上涨。它认为AMD股票还有40%以上的上涨空间。

    2017-08-16
  • 国产芯片:厚积薄发,强势崛起

    关于国产芯片,是近几年才有崛起的势头,可是在几年之前,国产芯片还处于“沉睡”的状态,尤其是手机芯片,几乎大部分都依赖进口,而且国外的市场几乎被高通和联发科所垄断,也就展讯还在市场边…

    2017-08-16
  • 为了数据安全 大疆无人机增加隐私飞行功能

    大疆周一表示,在美国陆军因为“网络缺陷”而要求其成员停用大疆无人机后,这家中国无人机制造商将加强无人机的数据安全性。 大疆政策和法务副总裁布伦丹&middot…

    2017-08-15
  • Intel代工 展讯发布14nm SC9853I手机SoC

    SC9853I采用的Intel的14nm FinFET制程,架构为8核64位Airmont架构,主频1.8GHz,GPU为Mali-T820 MP2,号称面向799~1299元档次的手机。…

    2017-08-15