基于MSP430单片机的智能温度检测系统设计
2. 1. 2 DS18B20的工作过程
访问DS18B20的工作顺序通常为: 初始化, 发送ROM 操作命令, 发送RAM 操作命令。通过初始化复位工作使主设备知道传感器DS18B20存在并准备工作。通过发送ROM 命令可以知道某个特定的DS18B20是否存在并且是否超过温度警界值。
共有5种ROM操作命令, 分别是读ROM ( 33H )、匹配ROM ( 55H )、搜索ROM ( FOH )、跳过ROM( CCH)、告警搜索命令( ECH )。通过发送RAM 操作命令, 可以设定电源供电方式, 启动温度转化, 读写DS18B20的暂存区。共有6种功能命令, 分别是转换温度( 44H )、读暂存区( BEH )、写暂存区( 4EH )、复制暂存区( 48H )、重调EEPROM ( B8H )、读电源供电方式( B4H )。每条命令有不同代码, 在总线上传送时, 由器件根据接收的命令代码完成相应的操作。因此DS18B20的单线通信功能是分时完成的, 它有严格的时序要求。
2. 2 MSP430F149
本设计的主控芯片采用美国德州仪器公司的16位带FLASH 单片机MSP430F149。它具有处理能力强、运行速度快、功耗低等优点。其工作电压为1. 8V ~ 3. 6V; CPU 运行正交的精简指令集。片内寄存器数量多。存储器可实现多种运算。
MSP430F149中断源较多并可任意嵌套, 系统处于省电状态, 用中断请求唤醒只需6 微秒。它还具有丰富的外围器件。其16位定时器T imerA具有4种工作模式, 可同时进行多个捕获/比较功能; 48个可独立编程的I /O 口; 2 个串行通信接口微秒ART0与微秒ART1; FLASH 存储器多达60KB, 擦写次数可达10万次。该款芯片的超低功耗和良好的性能价格比使其非常适合工业监控领域。
2. 3 语音报警模块
对于温度的超限情况进行报警, 系统采用语音报警方式。语音报警由ISD1420 芯片控制, 它具有分段录放功能, 每次录放时间为20S。预先录制好的温度语音, 由MSP430单片机判断被测温度, 当测量值高出或低于标准值时放出各自相应的录音, 从而实现温度的报警功能。
2. 4 温度显示模块
液晶显示模块HTM 1602A 是基于S6A0069 芯片构建的2行l6列字符型的LCD 液晶显示模块, 其字符显示的分辨率是5 ×8 (即每个字符是由一个5× 8的点矩阵构成)。基于S6A0069所编写的控制程序亦可以很方便地应用于其它大部分字符型液晶显示模块。因此选用HTM 1602A 模块显示系统的测温结果。
2. 5 数据存储模块
系统采用CAT24WC64 作为存储芯片。
CAT24WC64是一个64k位串行CMOS EEPROM, 内部含有8192个8位字节, 具有一个32 字节写缓冲器, 该器件通过I2C 总线接口进行操作, 有专门的写保护功能。测温系统采用CAT24WC64用来集中记录单总线上所有温度传感器的注册信息, 即按地址顺序存放DS18B20 的64位光刻ROM 序列码。每个序列码占用8字节空间, 系统管理程序会以8字节为基数计算传感器注册码的地址序号, 并反馈给用户作为传感器的标识号。
2. 6 串口通信接口电路设计
将MSP430F149单片机采集的温度数据传输到上位机, 利用MSP430 单片机的通讯接口连接到RS232串行口接收或发送数据和指令, 但是单片机的TTL电平和RS232不兼容, 因此使用MAX232进行电平转换, 其接口电路图如图3所示。
图3 MSP430F149与PC机的串行接口电路
MSP430 有两组通讯接口, UTXD0、URXD0 和UTXD1、URXD1, 这里用的是第一组。MSP430F149单片机3. 3V 的信号由UTXD0出来输入到MAX232的T1 IN 脚, 转换成±15V的信号由T1OUT 送到通讯标准接头的2脚( RXD) , ±15V 的信号由通讯标准接头的3脚( TXD )出来输入到MAX232 的R1 IN脚, 转换成±15V 的信号由R10UT 送到单片机的URXDO。
评论