kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于DSP的多路温度采集系统硬件电路设计
基于DSP的多路温度采集系统硬件电路设计
来源:微型机与应用2014年第6期
蔡永桥, 王继耕, 周正权
(中海油能源发展股份有限公司 油田建设工程分公司海管技术服务中心,天津300452)
摘要:设计了一种基于DSP的多路温度采集系统,用于采集和处理多路温度数据。系统采用了温度传感器LM35和DSP芯片,并结合相关的程序和软件,实现了多路温度数据采集和处理。该系统硬件电路简单,同时相对于单片机的数据采集系统更能满足系统在精确度和实时性方面的要求。实验证明,系统具有较好的实时性、方便性和安全性,可用于大多数工农业领域的实时温度采集。
Abstract:
Key words :

摘 要:设计了一种基于DSP的多路温度采集系统,用于采集和处理多路温度数据。系统采用了温度传感器LM35和DSP芯片,并结合相关的程序和软件,实现了多路温度数据采集和处理。该系统硬件电路简单,同时相对于单片机的数据采集系统更能满足系统在精确度和实时性方面的要求。实验证明,系统具有较好的实时性、方便性和安全性,可用于大多数工农业领域的实时温度采集。
关键词:DSP; 温度采集; LM35; 硬件电路

温度是表征物体冷热程度的物理量,是工业生产中的一个重要参数[1]。传统的方式是采用热电偶或热电阻[2],但是由于模拟温度传感器输出的是模拟信号,必须经过转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,制作成本较高[3]。本文采用LM35温度传感器进行温度采集,LM35系列是精密集成电路温度传感器,其输出电压与摄氏温度成线性正比。因此,LM35比按绝对温标校准的线性温度传感器性能优越得多。本文利用DSP内部的12位模/数转换器(ADC)来实现LM35温度传感器的模拟电压信号转换,不需要外扩模/数转换器,LM35温度传感器输出的电压范围在DSP模/数转换器输入电压范围内(0~3 V),不需要对LM35输出的电压信号进行处理,可直接与DSP的ADC接口连接,这样降低了电路的复杂程度和制作成本,同时能实现多路温度信号的采集,精确度和实时性都比较高,能用于大多数的工农业温度测量领域。
1 芯片介绍
TMS320F2812是TI公司生产的面向数字控制、运动控制领域的DSP芯片,它支持多项的高速实时算法,采用先进的哈佛结构,将程序和数据放在不同的存储空间。TMS320F2812芯片采用了高性能的CMOS技术,CPU主频高达150 MHz,时钟周期为6.67 ns;采用低功耗设计,内核电压为1.8 V,数字I/O口引脚电压为3.3 V[4-5]。同时TMS320F2812的片内外设资源丰富,模拟量转换为数字量的ADC采样模块理论精度为12 bit,具有16路输入通道、两个采样保持器,有单一或者级联两种转换模式,最高的转换速率为12.5 MS/s。
  LM35系列是精密集成电路温度传感器,其输出的电压线性地与摄氏温度成正比。LM35系列传感器生产制作时已经过校准,输出电压与摄氏温度一一对应,使用极为方便。灵敏度为10.0 mV/℃,精度为0.4℃~0.8℃(-55℃~+150℃温度范围内),重复性好,低输出阻抗,线性输出和内部精密校准使其与读出或控制电路接口简单和方便,可单电源和正负电源工作。LM35电路设计简单,在实际应用中安装也相当简便。
2 系统整体结构及硬件设计
2.1 多路温度采集系统整体结构框图

DSP模拟转换器具有16通道,能实现16路温度数据的顺序采样,本文只介绍3路温度采集系统的硬件电路设计,其温度采集系统框图如图1所示,该系统由4个部分组成:温度采集电路、限幅电路、DSP模块、执行单元。


温度传感器把采集到的温度数据转换为电压信号,电压信号经过限幅电路送至DSP模块进行处理运算,处理运算后的数据送至执行单元实现一定的功能。温度传感器主要实现温度采集;限幅电路主要是防止温度传感器输出电压超过DSP模块中ADC的最大输入电压而烧坏DSP芯片;DSP模块主要实现多路数据的采集和转换,并将转换的数据输出;执行单元主要是接收DSP采集的多路数据,并利用数据进行多种控制。
2.2 多路温度采集系统硬件电路设计
温度传感器选择LM35DZ, 工作温度范围0℃~+100℃。LM35DZ的输出电压与摄氏温度成线性关系,0℃时输出为0 V,每升高1℃输出电压增加10 mV[6]。由此可知,输出电压值为0 V~1 V,输出电压与温度满足关系:
V=10×T
式中,V为输出电压,单位为mV; T为温度,单位为℃。
本文选用3个LM35DZ温度传感器,该传感器有3个引脚,分别是输入电压输入引脚、温度信号输出引脚和接地引脚。采用单电源工作,传感器输入电压为5 V,电路设计相当简单,其电路如图2所示[6]。


为了保险起见,在输入信号进入DSP的ADC端口时,最好加一个限幅电压,以防止输入电压过大而导致DSP芯片损坏。本文限幅电路采用一个双二极管,其电路如图3所示。


由图3可知,本文选择的是飞凌公司的BAT68-04W,当输入电压超过3.3 V时,双二极管上端导通,ADCINAx输入引脚电压变为3.3 V;当输入电压小于0 V时,双二极管下端导通,ADCINAx输入引脚电压变为0 V,因此这个电路能够将ADCINAx输入引脚的电压保持在0~3.3 V[4]。本文选择3.3 V电压是从工程设计的实际情况出发,DSP的I/O口工作电压是3.3 V,最接近3 V。
本文DSP模块中选择的DSP芯片是TMS320F2812,DSP模块包括DSP的电源电路、JATG口下载电路和时钟电路,电源芯片采用TPSTD318,它将外部电压5 V转换为3.3 V和1.9 V,以完成对DSP外设和内核的供电[7]。JATG下载口与DSP相连接的端口均采用上拉电阻,以提高抗干扰能力。时钟电路采用DSP内部时钟,在DSP的X1/XCLKIN和X2两个引脚之间连接一个石英晶体。
3 程序设计和软件调试
3.1 程序设计

程序设计使用C语言编写,程序开始首先对DSP模块进行初始化,其中包括:初始化系统控制模块、初始化ADC模块、初始化事件管理器模块。再开启中断,启动定时器计时,当定时器产生周期中断时,ADC开始转换数据,最后结束程序,输出实验结果。程序流程图如图4所示。


文中ADC转换的启动信号采用定时器的周期中断启动,设定定时器周期为0.1 ms,当定时器计时0.1 ms时,产生周期中断,DSP的ADC开始转换。转换结束后输出数据,并返回主程序准备下一次数据转换。
ADC转换采用单序列顺序采样模式,其采样频率为2.5 MHz,程序设计如下:
  AdcRegs.ADCTRL1.bit.CONT_RUN=0;
//运行于启动/停止模式
  AdcRegs.ADCTRL1.bit.SEQ_CASC=1; //单序列发生器模式
AdcRegs.ADCTRL3.bit.SMODE_
SEL=0; //采用顺序采样模式
  AdcRegs.ADCTRL3.bit.ADCCLKPS=15;
//ADCLK=HSPCLK/30=2.5 MHz
  ADC转换结果为:
  adc[0]=(((float)AdcRegs.RESULT0)*3.0/65520.0+adclo)
*100; //存放ADCINA0的结果
  adc[1]=(((float)AdcRegs.RESULT1)*3.0/65520.0+adclo)
*100; //存放ADCINA1的结果
  adc[2]=(((float)AdcRegs.RESULT2)*3.0/65520.0+adclo)
*100; //存放ADCINA2的结果
3.2 软件调试
CCS(Code Composer Studio)是开发DSP时所需的软件开发环境,即程序编写、调试DSP代码都需要在CCS软件中进行。


实验中将3个传感器分别安装在实验室的不同位置,实验调试结果如图5所示。由图可知,3个温度传感器均测得实验室的温度为29.494 5℃。

本文采用LM35温度传感器与DSP结合进行多路温度数据采集,电路设计简单,制作成本低,相对于单片机的数据采集系统更能满足系统在精确度和实时性方面的要求。同时,该系统具有较好的实时性、方便性和安全性,可用于工农业大多数实时温度采集领域。
参考文献
[1] 谷志新,王述洋,马雷,等.无线温度采集系统的设计[J].自动化仪表,2010,4(31):73-76.
[2] 彭远芳,赵又新. 高精度温度采集系统[J]. 仪表技术与传感器,2007(5):45-46.
[3] 林婧. 基于AT89S52的多路温度检测设备的设计[J].中国新技术新产品,2011(15):153-153.
[4] 顾卫钢.手把手教你学DSP[M].北京:北京航空航天大学出版社,2011.
[5] 周正义,穆帅欢,阳路. DSP和AD9244的多路数据采集系统[J]. 微型机与应用,2013,32(17):67-68.
[6] 王景景. 基于LM35的温度测量系统[J]. 现代电子技术,2007,30(5):157-158.
[7] 孙元敏,尹立新,杨书涛. 基于TMS320F2812的高速数据采集处理系统[J].计算机工程,2009,35(2):242-243.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map