您当前的位置:五五电子网电子知识电器控制温度控制电路基于DSP的分布式温度测量控制系统的设计与实现 正文
基于DSP的分布式温度测量控制系统的设计与实现

基于DSP的分布式温度测量控制系统的设计与实现

点击数:7898 次   录入时间:03-04 11:49:30   整理:http://www.55dianzi.com   温度控制电路

    随着现代信息技术的飞速发展,分布式温度测量控制系统在工业、农业及人们的日常生活中扮演了一个越来越重要的角色。因此,对温度采集控制系统的设计与研究就具有十分重要的意义。

    系统总体设计方案

    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位。



www.55dianzi.com

    ● 控制功能命令

    控制功能命令用于实现温度测量、访问寄存器和PIO、改变链路状态所需的协议。DSP与DS28EA00之间的通信可采用标准速率(默认状态,OD=0),也可用高速模式(OD=1)。上电后,如果没有明确设置为高速模式,DS28EA00则以标准速率进行通信。

    ● 数据的收发

    DS28EA00的数据通信是在一个个时隙中进行的,每个时隙只能传送1bit数据。通过写时隙将数据从DSP传输至DS28EA00,而通过读时隙则将数据由DS28EA00传输至DSP。除在线应答脉冲之外,所有的通信都是从主机(DSP)主导发出下降沿信号开始。当1-Wire总线上的电压跌落至低于门限电压时,DS28EA00利用其内部时隙发生器,确定在写时隙期间何时对数据线进行采样以及在读时隙时数据有效时间的长短。

    2 数据存储

    ① U盘数据存储

    通过DSP实现对USB移动存储设备操作的工作主要是在软件方面,因此本文主要从软件方面来说明设计过程。USB软件设计主要由通用的USB总线枚举部分和USB Mass Storage类协议软件设计和文件系统组成,U盘数据存储流程图如图5所示。

    图5 U盘数据存储流程图

    U盘数据存储的部分代码如下:

    (1)unsigned char EnumUsbDev(BYTE usbaddr) //枚举USB设备

    {USB_Reset(); //USB设备复位

    if (!GetDescription()) // 获取设备描述符并获得传输包的最大字节数

    return FALSE;

    if (!SetAddress(usbaddr))

    // 设置USB设备的地址

    return FALSE;

    if (!GetDescription ())

    // 重新获取设备描述符

    return FALSE;

    if(uDev.bClass==8)

    //是否是大容量存储设备

    bFlags.bits.bMassDevICe=TRUE;}

    (2)unsigned char EnumerateMassDevice(void)

    //枚举大容量存储设备

    {DeviceInformation.BPB_BytesPerSec=512;

[1] [2]  下一页


本文关键字:测量  控制系统  温度控制电路电器控制 - 温度控制电路