基于FPGA的温度传感器系统

DS18BCD0引脚功能图下表所示

序号 名称 1 2

GND DQ

引脚功能描述 地信号

数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。

DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 0.0625℃/LSB 形式表达,其中 S 为符号位。

存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。

例如+125℃的数字输出为 07D0H,+25.0625℃的数字输出为 0191H,-25.0625℃的数字输出为 FF6FH,-55℃的数字输出为 FC90H。

4.3 RS-232串口通信模块

硬件电路和PC机之间采用RS-232串口通信技术,通信芯片采用MAX232。该芯片只需+5V供电,内部集成电平转换电路,外围电路简单,只需3根线就能完成半双工通信,且传输可靠。STC89C52有专门的串口通信引脚RXD、TXD。本系统中采用的STC89C52的Timer2作为串行数据传输的波特率发生器。

4.4 LCD1602液晶显示

LCD1602液晶显示实物图如右图2.1所示 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 注:为了表示的方便 ,后文皆以1表示高电平,0表示低电

7

平。1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形(用自定义CGRAM,显示效果也不好)n1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。n目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

LCD1602液晶显示管脚功能如下图2.2所示

1602采用标准的16脚接口,其中:第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生

“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 图2.2 LCD1602管脚功能 第4脚:RS为寄存器选择,高电 平1时选择 数据寄存器、低电平0时选择指令 寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

1602LCD的特性:+5V电压,对比度可调;内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有192个5X7点阵的字型的字符发生器CGROM; 8个可由用户自定义的5X7的字符发生器CGRAM。

8

五 系统电路原理框图

从该硬件原理框以及电路原理图的设计可以看出基于FPGA温度监测系统的设计由LCD1602液晶显示和DS18B20温度传感器通过FPGA芯片组成的系统实现温度检测功能。

六 软件设计

6.1 软件原理框图

基于FPGA温度监测系统的软件原理框图如下图6.1所示

图6.1 软件原理框图

9

6.2 时序分析

本部分主要完成LCD1602初始化、DS18B20的初始化、从DS18B20读取数据、向DS18B20写数据及温度转化等子程序的编写,此外在进行程序的编写时一定要严格保证读写时序的正确性,否则无法读取测温结果,其初始化时序和写时序的程序分别如下:

初始化时序包括一个主机发出的复位脉冲以及从机的应答脉冲这一过程,如图所示复位脉冲是一个480~960us的低电平然后释放总线,将总线拉至高电平,时间持续15~60us之后从机开始向总线发出一个应答脉冲,该脉冲是一个60~240us的低电平信号,表示从机已准备好,在初始化过程中主机接收脉冲的时间最少为480us。

DSl8820的访问步骤为:先进行初始化(Ini—tialization),然后发送ROM命令,最后发送Func—tion功能命令.对DSl8820访问必须通过上述步骤完成.初始化命令使主设备知道从设备是在总线上并可以进行访问.ROM命令可以使主设备知道有多少和什么类型的从设备连接在总线上并且判断是否超过温度报警值.共有5种ROM命令,分别是READROM(33H)、MATCH ROM(55H)、SEARCHROM(FOH)、SKIP ROM(CCH)、ALARM SEARCH命令(ECH).主设备可以通过功能命令来对DSl8820

10

联系客服:779662525#qq.com(#替换为@)