来源:21ic
时间:2013-01-28
随着现代信息技术的飞速发展,分布式温度测量控制系统在工业、农业及人们的日常生活中扮演了一个越来越重要的角色。因此,对温度采集控制系统的设计与研究就具有十分重要的意义。
系统总体设计方案
TMS320F2812是TI公司推出的150MHz高速处理能力的高精度定点数字信号控制器。本设计采用TMS320F2812作为数据处理与控制单元,以Maxim公司的单线数字温度计DS28EA00为基础,通过 DSP 控制温度传感器顺序采集各个测量点的温度,经处理送LED显示并暂存到外扩RAM中,当满足特定的要求时,将数据存储到U盘或SD卡以便于以后分析处理。 温度采集记录仪 的硬件电路主要包含6个部分:DS28EA00温度测量模块、USB接口模块、SD卡接口模块、外扩RAM模块、LED显示模块和TMS320F2812数字信号处理模块,系统总体框图如图1所示。
图1 系统总体框图
系统硬件设计
1 DS28EA00温度测量模块
① 温度传感器选型
实际环境复杂多变,通常要求温度传感器能够与DSP可靠地通信,易与供电及布线,并能明确区分出温度数据与温度传感器位置的对应关系,因此温度传感器的选型十分关键。传统的模拟温度传感测量系统测量精度低、布线复杂、易受干扰,而新型单片数字式温度传感器测量精度高、抗干扰能力强,应用范围越来越广。
DS28EA00是业界首款具有链路功能的1-Wire数字温度传感器,具有9位(0.5℃)~12位(1/16℃)分辨率,且带有可由用户编程设置的非易失(NV)性温度上、下限报警触发点,报警搜索命令能够快速确定温度超出设定范围的器件。每个DS28EA00都具有工厂预先刻度的64位序列号,只需一根数据线和地线就可通过1-Wire协议完成串行传输数据,支持 15.3kb/s的标准通信速率和125kb/s(值)的高速通信速率。经改进的1-Wire接口具有滞回和干扰滤波特性功能,使得DS28EA00能够在大的1-Wire网络中可靠工作。并且,与其他1-Wire温度计不同,DS28EA00具有两个额外的引脚用以执行顺序检测功能。该特性允许用户将器件在链路中的物理位置与序列号对应,如用来测量贮存塔不同高度处的温度。DS28EA00的供电和数据通信都是借助这条1-Wire线完成的。
DS28EA00内部包括三个主要数据部分:(1)64位序列号,(2)64位暂存器,(3)报警和配置寄存器。所有1-Wire系统都有一个重要的基本特性:每个从机都有一个、不能更改(ROM)的64位、工厂激光刻制序列号(ID),这个序列号永远不会与另一个器件重复。1-Wire ROM Function Control(1-Wire ROM功能控制)单元处理ROM功能命令,允许器件可以工作在一个多点网络环境中。Device Function Control(器件功能控制)单元用于实现对器件的特定操作和控制,如实现读/写、温度转换、设置顺序检测的链路状态。8bit CRC生成器在读取温度和寄存器数据时协助主机检验数据完整性。DSP通过GPIO口与DS28EA00的1-Wire(1线接口)总线接口相连进行通信,如图2所示。
图2 测温模块原理图
② DS28EA00的序列检测硬件电路连接
DS28EA00的链路功能允许1-Wire主机检索以线性网络(“链”)方式连接的器件,找出其物理顺序,这对于那些沿长电缆等间距安装的器件是非常方便的。链路功能需要两个引脚,输入引脚(EN)使器件在检测过程中能对检测做出响应,而输出引脚(DONE)用于通知链路中的下一个器件其相邻器件的检测已完成。
DS28EA00的两个通用端口被复用以实现链路功能。PIOB被复用为EN输入,PIOA产生DONE信号并与下一个器件的EN输入相连,链路中个器件的EN输入需连接至GND,序列检测时的连接(由DSP充当1线主机)如图3所示。
2 USB接口模块
本系统采用Cypress公司生产的嵌入式USB接口芯片SL811HST,内含USB主/从控制器,支持全速(full-speed)/低速(low-speed)数据传输,并能自动识别低速或者全速设备,SL811HST所提供的接口可与微控制器、DSP相连。此外,SL811HST内部有一个256字节的RAM,可用做控制寄存器或数据缓冲器。本系统中USB设备映射TMS320F2812外扩0区域,USB接口模块硬件电路图如图4所示。
图4 USB接口模块硬件电路图
3 SD卡接口模块
目前市场上已出现了容量高达GB容量的SD卡,可以通过SPI口或并行(SD)接口与主机通信,另外还提供额外的引脚用来检测卡的存在以及是否写保护。在SPI总线模式下,CS为主控制器向卡发送的片选信号,SCLK为主控制器向卡发送的时钟信号,DI(Data In)为主控制器向卡发送的单向数据信号,DO(Data Out)为卡向主控制器发送的单向数据信号。若想更高速的通信则选择SD模式通信,可以采用GPIO接口满足特定的SD规范。
系统软件设计
系统软件设计是本文的重点,主要包括三部分内容:DSP与DS28EA00的通信、DSP与SD卡的通信,DSP与USB设备的通信。
1 DSP与DS28EA00的通信
DS28EA00需要严格的通信协议确保数据的完整性,该协议在一根线上定义了四种类型的信号:由复位脉冲和在线应答脉冲组成的复位序列、写0、写1、读数据。DS28EA00能以标准速率或高速两种不同的速率进行通信,且所有波形均采用快速定时。DSP通过1-Wire端口访问DS28EA00的操作流程如下。
● DS28EA00初始化
1-Wire 总线上的所有操作均从初始化开始,初始化过程由DSP发送的复位脉冲和从器件发送的在线应答脉冲组成,在线应答脉冲用于通知DSP DS28EA00已挂接在总线上并已准备就绪。
● ROM功能命令
一旦DSP检测到在线应答脉冲,就可以发出DS28EA00支持的8条ROM功能命令中的一条,所有ROM功能命令的长度均为8位。