您的当前位置: 首页 > 案例中心

欧宝娱乐棋牌:如何设计基于CPLD的温度计(原理和代码)?

时间:2022-06-18 18:36:05 来源:欧宝娱乐棋牌官网 作者:欧宝娱乐棋牌官网登录

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

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

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

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

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

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

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

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

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

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

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

上一篇:双金属温度计原理 下一篇:数码语音温度计设计方案

Copyright ©2019 欧宝娱乐棋牌|官网登录版权所有  

技术支持:欧宝娱乐棋牌XML地图