一线式(1-WIRE)串行总线是利用 1 条信号线就可以与总线上若干器件进行通信。具体
应用中可以利用微处理器的 I/O 端口对 DS18B20 直接进行通信,也可以通过现场可编程门
阵列(FPGA)等可编程逻辑器件(PLD)实现对 1-WIRE 器件的通信。
本文介绍利用 ACTEL 公司的 ProASICplus 系列 FPGA 实现与 DS18B20 的通信功能。
FPGA 可以将读出 DS18B20 的 48 位 ID 号和 12 位温度测量结果保存在内部寄存器中,微处
理器可以随时快速地从 FPGA 寄存器中读取这些信息。
一般在使用 DS18B20 时往往采用微处理器的 I/O 端口实现与该器件的通信,这种方法
虽然比较容易和方便,但是,因为 DS18B20 的一线式串行总线对时序要求比较严格,因此,
为了保证与 DS18B20 的通信可靠性,微处理器与 DS18B20 通信时需要采用关闭中断的办法,
以防止操作时序被中断服务破坏。
利用 FPGA 实现与。DS18B20 通信不存在被迫关闭中断的情况,可以满足对实时性要
求严格的应用要求。
2 ProASICplus 系列 FPGA 简介
ProASICplus 系列 FPGA 是 ACTEL 公司推出的基于 Flash 开关编程技术的现场可编程门
阵列,包括从 7.5 万门的 APA075 型到 100 万门的 APAl000 型,具有高密度、低功耗、非
易失、含有嵌入式 RAM 及可重复编程等特点。
因为 ProASICplus 系列 FPGA 基于 Flash 技术,利用 Flash 开关保存内部逻辑,因此不
需要另外的器件。由于不需要上电配置过程,因此具备上电就立即工作的特点。不用配置器
件,系统的保密性提高。
笔者在电力监控的产品中利用 APA150 型 FPGA 实现了逻辑控制、A/D 采样控制和 FIFO
存储等功能,并利用剩余的资源实现了 DS18B20 的通信功能。APA150 在整个系统中充当
协处理器,使主 CPU 从繁重的实时处理中解脱出来。
3 DS18B20 简介
3.1 内部结构
DS18B20 的内部结构如图 1 所示,主要由以下几部分组成:64 位 ROM、温度传感器、
非 挥 发 的 温 度 报 警 触 发 器 TH( 温 度 高 ) 和 TL( 温 度 低 ) 、 配 置 寄 存 器 、 暂 存 寄 存 器
(SCRATCHPAD)、存储器控制逻辑。DQ 为数字信号输入/输出端。