基于DS18B20温度测量电路设计Word文档格式.docx
- 文档编号:20459248
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:33
- 大小:374.46KB
基于DS18B20温度测量电路设计Word文档格式.docx
《基于DS18B20温度测量电路设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于DS18B20温度测量电路设计Word文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
Keywords:
EDAtechnology;
DS18B20
目 录
4电路程序设计.............................................................................................10
1 引言
EDA(electronicdesignautomation,电子设计自动化)技术是现代电子工程领域的一门新技术。
它提供了基于计算机和信息技术的电路系统设计方法。
EDA技术的发展和推广应用极大地推动了电子工业的高速发展,随着EDA技术的发展,硬件电子电路的设计几乎全部可以依靠计算机来完成。
这样就大大缩短了硬件电子电路设计的周期从而使制造商可以快速开发出品种多批量小的产品,以满足市场的需求。
传统的数字电子系统,手工设计占了很大的比例。
首先确定系统底层的电路模块和元件,然后根据系统的要求将它们组成功能更大的模块,这是一种由底层向上的设计方法,设计复杂而且一旦出现错误,查找修改十分困难。
在EDA快速发展和成熟运用的今天,产生了自顶向下的设计方法,这种设计方法基于功能强大的EDA工具,全方位的利用计算机自动设计、仿真和测试技术,具备集系统描述、行为描述和结构描述为一体的VHDL硬件描述语言,将系统分解为各个模块的结合,对每个独立模块分派不同的工作。
设计简单,易于修改,而且产品体积小重量轻。
EDA技术的推广是当今世界的一个技术热点。
EDA技术是现代电子工业中不可缺少的一项技术。
2概述
2.1 EDA的概述
EDA(Electronicdesignautomation)即电子设计自动化,它是近几年来迅速发展起来的将计算机软件、硬件、微电子技术交叉运用的现代电子学科。
EDA技术就是以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以ASIC为实现载体的电子产品自动化设计过程。
在EDA软件平台上,根据原理图或硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真、目标芯片的适配编译、逻辑映射和编程下载等工作。
设计者的工作只限于用软件的方式来完成对硬件功能的描述了,在EDA工具的帮助下,应用相应的FPGA器件就可以得到最后的设计结果。
尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。
在这个设计中是基于为QuartusIIEDA的开发工具,以ALTERA生产的FPGA为核心芯片,用这两者作为我们的桥梁,用VHDL语言描述,满足开发的需求。
2.2EDA的开发流程
做每一个工程,在它的开发前都要先了解它要用到哪些工具,它的基本的开发流程,它具体要经过哪些过程。
现在我们拥有了开发所用到的软硬件,接下来就到我们策划了。
基于FPGA的开发流程如图2-1所示。
图2-1 EDA的开发流程图
2.3硬件描述语言VHDL
VHDL(Very
High
Speed
Integrated
Circuit
Hardware
Description
Language)是超高速集成电路硬件描述语言,它诞生于1982年,由IEEE进一步发展并在1987年作为“IEEE标准1076”发布。
相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,采用自顶向下和基于库的设计特点。
从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL语言对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的FPGA器件中去,从而实现可编程的专用集成电路的设计。
VHDL语言是一种面向设计的、多层的标准硬件描述语言,主要描述数字系统的结构、行为和功能,与其他硬件描述语言相比有如下特点:
(1)VHDL语言可以与工艺无关编程。
在用VHDL对硬件系统进行描述时,没有嵌入与工艺有关的信息。
当门级或门级以上层次的描述通过仿真验证后,可以用相应的工具将设计映射成不同的工艺,只要改变相应的映射工具就行了。
因而无论是修改电路还是修改工艺,相互之间不会产生太大的影响。
(2)系统硬件描述能力强。
VHDL能够在多层次,多角度对系统硬件功能进行描述,研究的对象可以是系统的数学模型,也可以是单个门级电路。
(3)支持大规模设计及逻辑单元的再利用。
VHDL中的设计实体、构造体、包集合和各种库为设计的再利用提供了有力的支持,从而提高了工作效率。
(4)设计技术齐全、方法灵活、支持广泛。
VHDL语言可以支持自顶向下和基于库的设计方法,还支持同步电路、异步电路、FPGA以及其它随机电路的设计。
VHDL语言被称为硬件描述语言,是一门独具特色的高级语言,牵涉知识面之广,是其它高级语言无法比拟的。
学习VHDL语言必须对数字电路知识体系有较全面的了解,熟悉各种高级语言的编程思想。
适当的了解数字系统的高层次综合理论和高层次综合是行为描述逻辑综合的理论基础,可加深对VHDL语言更深层的理解,对提高硬件电路研发能力很有益处。
较其它语言,VHDL设计的数字电路简单易懂﹑集成度高﹑且保密性好,是硬件电路研发者的首要选择。
2.4 本次设计的目标
在本设计中以ALTERA生产的FPGA为核心芯片,使用ALTERA公司推出的QuartusII软件作为我们的设计平台,通过这两个人机交流的桥梁,通过硬件描述语言VHDL实现基于DS18B20温度测量电路设计。
通过这次设计,了解掌握EDA技术,熟悉VHDL语言,熟练使用QuartusII软件,掌握FPGA芯片的工作原理、功能和使用方法,,并下载到实验箱,通过示波器观察输出结果。
3 芯片介绍
3.1 DS18B20简介
1.DSl820的基本结构
DSl820数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送入DSl820或从DSl820送出因此从主机CPU到DSl820仅需一条线(和地线)DSl820的电源可以由数据线本身提供而不需要外部电源因为每一个DSl820在出厂时已经给定了唯一的序号因此任意多个DSl820可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件DSl820的测量范围从-55到+125增量值为0.5可在ls(典型值)内把温度变换成数字
DS18B20的内部结构如图1所示,主要由以下几部分组成:
64位ROM、温度传感器、非挥发的温度报警触发器TH(温度高)和TL(温度低)、配置寄存器、暂存寄存器(SCRATCHPAD)、存储器控制逻辑。
DQ为数字信号输入/输出端。
图3-1 DS18B20的内部结构
ROM中的64(8位产品家族编号、48位ID号、8位CRC)位序列号是出厂前刻好的,这64位序列号具有惟一性,每个DS18B20的64位序列号均不相同。
8位CRC生成器可以完成通信时的校验。
暂存寄存器有9个字节,包含温度测量结果、温度报警寄存器、CRC校验码等内容。
2.电源连接
DS18B20可使用寄生电源,可以在I/O引脚处于高电平时“偷”些能量,储存在电容中供正常使用,但进行精确转换时需要I/O引脚保持大电流供电,这样对FPGA芯片引脚造成很大压力,所以使用VDD引脚接外部电源[9],如
图3-2Ds18b20电源连线图
DS18B20进行温度转换需要很大电流,工作最大电流可达1mA。
使用VDD引脚接外部电源供电的优点在于I/O线上不需要在温度变换期间保持高电平。
这样就可以有效的保护FPGA芯片,也可在单总线上放置多数目的DS18B20。
使用外部电源,通过发出SkipROM跳过命令然后发出ConvertT变换命令,可以完成温度变换[10]。
3.DS18B20功能命令
FPGA在该步骤中完成温度转换(CONVERTT)、写暂存寄存器(WRITESCRATCHPAD)、读暂存寄存器(READSCRATCHPAD)、拷贝暂存寄存器(COPYSCRATCHPAD)、装载暂存器寄存器(RECALLE2)、读供电模式命令(READPOWERSUPPLY)。
文中不用温度报警功能,因此在本步骤中只需完成温度转换,然后通过读暂存寄存器命令完成温度转化的结果。
4.DS18B20通信协议
DS18B20采用Dallas公司1-WIRE网络协议通讯,这里就围绕着DS18B20介绍1-WIRE网络协议。
命令序列
典型的单总线命令序列如下:
第一步初始化;
第二步ROM命令;
第三步功能命令。
每次访问单总线器件,必须严格遵守这个命令序列,如果出现序列混乱,则单总线器件不会响应主机。
但是,这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。
1〉初始化
基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。
应答脉冲使主机知道总线上有从机设备且准备就绪。
复位和应答脉冲的时间详见单总线信号部分。
2〉ROM命令
在主机检测到应答脉冲后,就可以发出ROM命令。
这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。
这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警状态。
从机设备可能支持5种ROM命令(实际情况与具体型号有关),每种命令长度为8位。
主机在发出功能命令之前,必须送出合适的ROM命令。
下面将简要地介绍各个ROM命令的功能以及使用在何种情况下。
(1)搜索ROM[F0h]
当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机就能够判断出从机的数目和类型。
主机通过重复执行搜索ROM循环(搜索ROM命令跟随着位数据交换),以找出总线上所有的从机设备。
如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。
在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步(初始化)。
(2)读ROM[33h](仅适合于单节点)
该命令仅适用于总线上只有一个从机设备。
它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。
如果该命令用于多节点系统,则必然发生数据冲突,因为每个从机设备都会响应该命令。
(3)匹配ROM[55h]
匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。
仅当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令;
其它设备将处于等待复位脉冲状态。
(4)跳越ROM[CCh](仅适合于单节点)
主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。
例如,主机通过在发出跳越ROM命令后跟随转换温度命令[44h],就可以同时命令总线上所有的DS18B20开始转换温度,这样大大节省了主机的时间。
值得注意,如果跳越ROM命令跟随的是读暂存器[BEh]的命令(包括其它读操作命令),则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。
(5)报警搜索[ECh](仅少数1-wire器件支持)
除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令。
该命令允许主机设备判断那些从机设备发生了报警(如最近的测量温度过高或过低等)。
同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。
5.功能命令
在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。
这些命令允许主机写入或读出DS18B20暂存器、启动温度转换以及判断从机的供电方式。
DS18B20的功能命令总结于表1中。
表1DS18B20功能命令集
命令
描述
命令代码
发送命令后单线上的响应信息
注释
温度转换命令
转换温度
启动温度转换
44h
无
1
存储器命令
读暂存器
读全部的暂存器内容包括CRC字节
BEh
DS18B20传输多达9个字节至主机
2
写暂存器
写暂存器第2、3和4个字节的数据(即TH、TL和配置寄存器)
4Eh
主机传输3个字节数据至DS18B20
3
复制暂存器
将暂存器中的TH、TL和配置字节复制到EEPROM中
48h
回读EEPROM
将TH、TL和配置字节从EEPROM回读至暂存器中
B8h
DS18B20传送回读状态至主机
注释:
1.〉在温度转换和复制暂存器数据至EEPROM期间,主机必须在单总线上允许强上拉。
并且在此期间,总线上不能进行其它数据传输;
2.〉通过发出复位脉冲,主机能够在任何时候中断数据传输;
3.〉在复位脉冲发出前,必须写入全部的三个字节。
6.测温程序的时序
本程序中根据DS18B20的通信协议采用的时隙数据如图5.
图3-3Ds18b20测温程序时序
3.2 FPGA简介
FPGA器件在结构上,由逻辑功能块排列,它的结构可以分为三部分:
可编程逻辑功能块;
可编程I/O单元;
可编程内部连线资源。
可编程逻辑块是FPGA的主体,可以根据设计灵活改变其内部的连接,完成不同的逻辑功能;
可编程I/O它们是芯片与外界电路的接口部分,完成不同电气特性下对I/O信号的驱动与匹配需求可编程内部连线资源是连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。
常见FPGA的可编程逻辑功能块结构主要有3种类型:
查表结构、多路开关结构和多级与非门结构。
查找表结构的FPGA用得相当的多,所以就以它的逻辑实现原理为例,如图3-4所示。
图3-4 查找表结构原理图
A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到查找表LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。
该电路中D触发器是直接利用LUT后面D触发器来实现。
时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。
触发器的输出与I/O脚相连,把结果输出到芯片管脚,就完成了图3-4所示电路的功能。
[4]
现在介绍FPGA的典型器件FLEX10K的功能。
每个FLEX10K器件包含一个可嵌入列阵以实现存储和专业逻辑功能,以及一个逻辑列阵用以实现一般逻辑。
嵌入列阵包括一系列的EABs。
当实施存储功能时,每一个EAB提供2,048位,能被用于创造RAM,ROM,双端口RAM,或先入先出功能(FIFO)。
当实施逻辑功能时,每一个EAB可以提供100个到600个门电路以实现复杂逻辑运算,譬如乘法器,微型控制器,状态显示器,和DSP功能。
EABs可能独立地被使用,或多EABs被结合起来实现更大的功能。
逻辑阵列包含有逻辑阵列段(LABs)。
每个LAB包含八个LEs和一个局部连接。
每一个LE包含有4输入的查询表(LUT),一个可编程触发器和用于传送的级联链功能的专门信号通道。
这八个LEs可以被用来产生中型的8位逻辑计算器地址解码器段或者状态显示器或用于产生更大逻辑段的LABs联合通道。
每个LAB大约代表着96个可使用逻辑的门。
在FLEX10K装置里面来回地在装置端口间互相连络的信号是由快速通道提供的,一系列的快速的,连续的横向以及纵向的通道充满了整个装置。
每个输入/输出端口被定位于快速通道每排和每列末尾的输入/输出元素(IOE)反馈。
每个IOE包含一个双向输入/输出缓冲器和能被当作提供输入,输出或双向信号的输入和输出寄存器的触发器。
当被用做一个专门的时钟引脚时,这些寄存器会提供特别的性能。
如作为输入时,这些寄存器提供1.6ns低时间设定点和0ns的时间保持;
如作为输出时,这些寄存器提供5.3ns的时间设定点时钟输出。
IOEs提供多种特征,例如JTAGBST编程支持,摆率控制,三态的缓冲和漏极开路输出等。
[7]
图3-5展示了FLEX10K体系结构中一个段的图表。
一组LE构成一个LAB,多个LAB成行成列排列组成逻辑阵列。
逻辑阵列每行也包含一个EAB。
LAB和EAB通过快速通道进行连接。
IOE位于快速通道行线和列线的两端
FLEX10K的器件提供六个专用输入端驱动出发输入端确保有效控制分布高速率,低偏移(小于1.5ns)控制信号。
这些信号使用专用通道,提供较短的延误和低偏移的快速通道互连。
四个专用输入驱动四个全局信号。
这四个全局信号也可以由内部逻辑驱动,提供了一个理想的解决时钟间隔的方法,或内部产生的异步清楚信号,可以清除许多寄存器驱动。
图3-5FLEX10K系列器件结构图
EAB在输入口上带有寄存器的可更变RAM块,它用于实现一般阵列兆功能。
EAB大而灵活,他适用于实现乘法器、矢量定标器、校验等逻辑。
另外EAB还可用于数字滤波器和微控制器逻辑中。
4 电路程序设计
4.1 DS18B20的程序流程
图4-1程序流程图
4.2 DS18B20测温电路的基本原理
DS18B20的测温原理如图4-2所示,图中低温度系数晶振的振荡频率受温度的影响很小[1],用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图4-2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就DS18B20的测温原理。
如图4-2
图4-2 DS18B20的测温原理图
4.3DS18B20的FPGA实现
FPGA需要完成DS18B20的初始化、读取DS18B20的48位ID号、启动DS18B20温度转换、换结果过程中,FPGA还要实现CRC校验码的计算,保证通信数据的可靠性。
以上操作反复进行,可以用状态机来实现。
状
态机的各种状态如下:
RESET1:
对DS18B20进行第一次复位,然后进入DELAY状态,等待800μs后,进入CMD33状态。
CMD33:
对DS18B20发出0x33命令,读取48位ID值。
GET_ID:
从DS18B20中读取48位ID值。
RESET2:
对DS18B20进行第二次复位,然后进入DELAY状态等待800μs后,进入CMDCC状态。
CMDCC:
向DS1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DS18B20 温度 测量 电路设计