基于DSP的温度采集系统
- 格式:doc
- 大小:1.53 MB
- 文档页数:37
基于DSP TMS320F2812和DS18B20的温度测量系统设计摘要:本文介绍了一种基于TI公司DSP TMS320F2812 的高精度温度测量系统的设计。
该系统采用TMS320F2812为微处理器,配合高精度DS18B20数字温度传感器和外部扩展的模数转换器采集温度数据,并经过滤波算法处理控制输出,能够得到比较精确的温度值。
主要介绍了系统的结构、工作原理、软硬件的设计,并对系统设计的特点进行了详细的说明。
关键词: TMS320F2812;DS18B20;温度测量;模数转换1 概述温度在航空、航天领域中是个重要的物理量,由于温度变化对设备可能产生影响,包括降低系统的成像质量,影响分辨率,因此,在这些系统中对温度的实时采集测量十分重要。
以传统的单片机为核心的温度测量控制系统,由于受到处理器自身硬件资源和速度的限制,硬件电路设计复杂,数据实时处理能力差,温度测量时间长。
而随着计算机技术尤其是招超大规模集成电路技术的发展,具有更强处理能力的DSP芯片,以其运算速度快、实时性强、功耗低、抗干扰能力强等特点,越来越多地被应用。
采用了DS18B20数字温度传感器、外部扩展ADC模数转换器,使用内部集成外设功能的DSP TMS320F2812 微处理器作为整个系统的核心控制单元,简化了硬件电路设计;在温度采集控制软件上采用“通道滤波”温度采集控制算法,使得温度采集具有速度快、精度高的特点。
2 系统方案设计温度测量系统设计以DSP TMS320F2812为中央处理器为核心,采用DS18B20型号数字温度传感器为温度传感器,使用AD7892型号的ADC模数转换器进行A/D 转换,并将采集结果代入温度曲线方程计算出当前温度值,并且将温度值通过通信系统发送到上位机。
高精度温度测量控制系统由两大部分组成,第1部分为以DSP TMS320F2812为核心处理器的数据采集及处理部分,主要由产品温度环境、温度传感器、ADC模数转换器、DSP TMS320F2812、电源构成;第2部分由温度采集处理软件构成,完成对DSP采集到的数据进行分析、处理等任务。
电子与信息工程学院综合实验课程报告课题名称基于DSP的温度采集系统专业 08电子信息工程班级电子(2)班学生姓名高深学号 08205010233 指导教师宋杨2011 年 6 月 29 日目录1 综合实验目的 (3)2 总体方案介绍 (3)2.1 设计任务 (3)2.2 设计思路 (3)3 硬件设计 (6)3.1 最小系统设计 (6)3.2 温度采集电路 (6)3.3 A/D模数转换模块 (7)3.4 LCD液晶显示模块 (7)4 软件设计 (8)4.1 软件系统分析 (8)4.2软件系统流程图 (9)5 系统调试 (9)6 课程设计总结 (10)7 参考文献 (10)8 附件 (11)8.1元件清单 (11)8.2原理图 (11)8.3源程序 (11)1 综合实验目的(1)熟悉并掌握硬件设计方面的温度采集技术(2)熟悉并掌握软件设计方面的A/D转换技术(3)熟悉并掌握软件设计方面的DSP液晶显示功能(4)熟悉TMS320F2812的硬件资源和使用方法2 总体方案介绍2.1 设计任务(1)熟悉MC1403芯片的应用(2)设计由MC1403和热门电阻组成的温度采集电路(3)将温度采集电路中热敏电阻的阻值变化转变为输入端的变化,根据电压—温度转换公式,检测温度变化(4)完成程序流程图的设计(5)完成软件设计方面的A/D转换和LCD显示程序(6)软硬件联合调试(7)最终结果在液晶显示屏上显示相应的文字及温度2.2 设计思路首先设计由MC1403和热敏电阻组成的温度采集电路,利用热敏电阻输出电压值与温度间的函数关系,检测温度的变化;然后将采集到的温度送入TMS320F2812中的A/D转换模块,将电压转换为数字信号;最后通过编写LCD显示函数来控制相应的温度及文字的变化。
系统设计原理框图如下图:本设计是基于TMS320F2812的水温控制系统,使用TMS320F2812的片上A/D。
它功能强大,运行速度快,是专门为电动机控制应用优化的控制芯片,在本设计中,它主要完成各种模拟、数字信号的采样及转换。
基于DSP与数字温度传感器的温度控制系统作者:徐兴建, 袁自钧, 赵永礼, 高峰来源:《现代电子技术》2010年第09期摘要:传统的温度控制系统是以热敏电阻为温度传感器件,辅以风冷或水冷来达到目的的,存在体积大,噪音大且精度有限的缺点。
介绍了利用数字温度传感器(DS18B20)与DSP芯片(TMS320F2812)组成的温度测量系统,结合模糊PID算法(Fuzzy-PID),利用DSP的脉宽调制控制通过半导体制冷器的电流大小,达到温度控制的效果,体积小且精度达到0.1 ℃。
给出DSP与DS18B20的接线图,并且介绍了利用CCS(代码编辑工作室)进行软件开发。
该系统已经运用在LD温度控制方面,取得了很好的效果。
关键词:DSP; 温度传感器; 温度控制; 模糊PID; 脉宽调制中图分类号:TP23 文献标识码:A文章编号:1004-373X(2010)09-0129-03System of Temperature Control Based on DSP and Digital Temperature SensorXU Xing-jian1, YUAN Zi-jun1, ZHAO Yong-li2, GAO Feng1(1. Hefei University of Technology, Hefei 230009, China; 2. Shanghai University of Engineering Science, Shanghai 201620, China)Abstract: Traditional temperature control system took thermal resistance as the temperature sensor, combined with air-cooled or water to achieve the purpose, size large, noisy and the accuracy is limited. The temperature measurement system composed of digital temperature sensor(DS18B20) and the DSP(TMS320F2812), the DSP pulse-width modulation is used to control the current of the TEC combined with fuzzy PID algorithm(Fuzzy-PID), to achieve the effect of temperature control, small size and 0.1 accuracy. The wiring diagram of DSP and DS18B20, the use of CCS(code editing studio)and has gained very good results.Keywords: DSP; temperature sensor; temperature control; fuzzy-PID; pulse width modulation0 引言20世纪60年代以来,数字信号处理器(Digital Signal Processing,DSP)伴随着计算机和通信技术得到飞速发展,应用领域也越来越广泛。
基于DSP的温度采集系统4.2 TMS320LF2407ADSP芯片引脚图4.47650运算放大器引脚5.1 基于DSP 温度采集的系统软件流程图5.2基于DSP温度采集的系统程序代码/**************************************************************/#include “exp1_2407.h”/**************************************************************/unsigned int i=0;unsigned int point[256];unsigned int j[150]/**************************************************************/void sys_ini() //系统初始化程序{asm (“setc INTM”); //禁止所有中断asm (“setc SXM”); //抑制符号位扩展asm (“clrc OVM”); //累加器中结果正常溢出*WDCR=0x00E8; //禁止看门狗*SCSR1=0x0081; //配置时钟锁相为4倍频CLKOUT=4*7.3728=29.4912M,使能ADC时钟WSGR=0x0600; //io、ram、program都设为0等待读写*IFR=0xFFFF; //清除所有中断标志*IMR=0x0001; //使能中断1}void adc_ini() //ADC初始化子程序{*ADCTRL1=0x2CC0; //仿真器挂起时,完成最后一次ad,连续运行模式,//预定标最长,高优先级中断,双排序模式,禁用其他模式*ADCTRL2=0x0602; //立即中断模式,清中断标志*MAXCONV=0x0000; //启用排序器1,最大转换数为1*CHSELSEQ1=0x0000; //选择模拟输入通道为0通道asm(“clrc INTM”); //开总中断}interrupt void nothing (){Asm(“clrc INTM”); //开总中断}interrupt void ad_int(){point[i]=(*RESULT>>6); //读出ad结果j[i]=(point[i]*220)/(1024);i++;if (i==149){i=0;}*ADCTRL2|=0x0200; //清除ad中断标志*IFR=0xFFFF; //清除所有中断标志asm(“clrc INTM”) //开总中断}void main(){sys_ini();adc_ini();*ADCTRL2|=0x2000; //软件启动ad转换for (;;);}5.3 程序调试(1)在i=0双击鼠标左键,设置断点;(2)单击”Run”运行程序,程序运行到断点处停止;(3)用下拉菜单中的View、Graph的“Time/Frequency”打开一个图形观察窗口;(4)设置该图形窗口的参数,观察地址j,长度为256的存储器单元内的数据,该数据位输入信号经A/D转换后的数据;(5)单击“Animate”运行程序,在图形观察窗口A/D转化的数据波形变化;图5-3-3 温度波形图1如图所示,室内温度稳定在33度左右,符合实际情况。
电子与信息工程学院综合实验课程报告课题名称基于DSP的温度采集系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日指导教师评阅书评阅教师评阅书教研室(或答辩小组)及教学系意见目录1 综合实验目的 (4)2 总体方案介绍 (4)2.1 设计任务 (4)2.2 设计思路 (4)3 硬件设计 (7)3.1 最小系统设计 (7)3.2 温度采集电路 (7)3.3 A/D模数转换模块 (8)3.4 LCD液晶显示模块 (8)4 软件设计 (9)4.1 软件系统分析 (9)4.2软件系统流程图 (10)5 系统调试 (10)6 课程设计总结 (11)7 参考文献 (11)8 附件 (12)8.1元件清单 (12)8.2原理图 (12)8.3源程序 (12)1 综合实验目的(1)熟悉并掌握硬件设计方面的温度采集技术(2)熟悉并掌握软件设计方面的A/D转换技术(3)熟悉并掌握软件设计方面的DSP液晶显示功能(4)熟悉TMS320F2812的硬件资源和使用方法2 总体方案介绍2.1 设计任务(1)熟悉MC1403芯片的应用(2)设计由MC1403和热门电阻组成的温度采集电路(3)将温度采集电路中热敏电阻的阻值变化转变为输入端的变化,根据电压—温度转换公式,检测温度变化(4)完成程序流程图的设计(5)完成软件设计方面的A/D转换和LCD显示程序(6)软硬件联合调试(7)最终结果在液晶显示屏上显示相应的文字及温度2.2 设计思路首先设计由MC1403和热敏电阻组成的温度采集电路,利用热敏电阻输出电压值与温度间的函数关系,检测温度的变化;然后将采集到的温度送入TMS320F2812中的A/D转换模块,将电压转换为数字信号;最后通过编写LCD显示函数来控制相应的温度及文字的变化。
电子与信息工程学院综合实验课程报告课题名称基于DSP的温度采集系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日指导教师评阅书评阅教师评阅书教研室(或答辩小组)及教学系意见目录1 综合实验目的 (3)2 总体方案介绍 (3)2.1 设计任务 (3)2.2 设计思路 (3)3 硬件设计 (6)3.1 最小系统设计 (6)3.2 温度采集电路 (6)3.3 A/D模数转换模块 (7)3.4 LCD液晶显示模块 (7)4 软件设计 (8)4.1 软件系统分析 (8)4.2软件系统流程图 (9)5 系统调试 (9)6 课程设计总结 (10)7 参考文献 (11)8 附件 (11)8.1元件清单 (11)8.2原理图 (12)8.3源程序 (12)1 综合实验目的(1)熟悉并掌握硬件设计方面的温度采集技术(2)熟悉并掌握软件设计方面的A/D转换技术(3)熟悉并掌握软件设计方面的DSP液晶显示功能(4)熟悉TMS320F2812的硬件资源和使用方法2 总体方案介绍2.1 设计任务(1)熟悉MC1403芯片的应用(2)设计由MC1403和热门电阻组成的温度采集电路(3)将温度采集电路中热敏电阻的阻值变化转变为输入端的变化,根据电压—温度转换公式,检测温度变化(4)完成程序流程图的设计(5)完成软件设计方面的A/D转换和LCD显示程序(6)软硬件联合调试(7)最终结果在液晶显示屏上显示相应的文字及温度2.2 设计思路首先设计由MC1403和热敏电阻组成的温度采集电路,利用热敏电阻输出电压值与温度间的函数关系,检测温度的变化;然后将采集到的温度送入TMS320F2812中的A/D转换模块,将电压转换为数字信号;最后通过编写LCD显示函数来控制相应的温度及文字的变化。
系统设计原理框图如下图:本设计是基于TMS320F2812的水温控制系统,使用TMS320F2812的片上A/D。
它功能强大,运行速度快,是专门为电动机控制应用优化的控制芯片,在本设计中,它主要完成各种模拟、数字信号的采样及转换。
使用的元件如下:(1)TMS320F2812主控芯片。
它是一种特殊用途的单片机,其结构如下图所示:TMS320F2812芯片的内核概述TMS320F2812DSP内核采Harvard结构体系,即相互独立的数据总线,提供了片内程序存储器和数据存储器、运算单元、一个32位算术/逻辑单元、一个32位累加器、一个16位乘法器和一个16位桶形移位器组成,体系采取串行结构,运用流水线技术加快程序的运行,可在一个处理周期内完成乘法加法和移位计算,其内核计算速度为 20MIPs(一个指令周期为 50 ns)。
外设有 A/D转换大容量存储器,l6位和32位的定时器比较单元、捕获单元、PWM波形发生器、高速异同步串行口和独立可编程复用I/O等组成,其中通过三个通用定时器和九个比较器的结合产生多达l2路的PWM输出结合灵活的波形发生逻辑和死区发生单元能生成对称、不对称以及带有死区时间的空间矢量 PWM波形DSP芯片中集成的这些功能大大简化了整个控制系统。
此外,该DSP还具有快速的中断处理能力,及硬件寻址控制、数据指针逆序寻址等多种特有的功能,将有利于TMS320F2812A在电机控制中的作用。
(2)MC1403芯片(图2)图2MC1403是低压基准芯片,为模数转换模块提供基准电压。
因为MC1403的输出是固定的,所以只需要用到Vin,Vout,GND三个引脚。
MC1403芯片为模数转换提供基准电压,利用热敏电阻进行温度采集,采集后的输出电压与DSP的引脚相连。
将采集到的电压送入A/D转换模块,编程序实现A/D转换,转换结果是放在结果寄存器的高12位上,编写函数获取A/D 转换结果,将处理后的温度值的各个位对应显示带LCD上。
为了确保A/D转换精度,这里采用多次取值求平均。
(3)热敏电阻LM35适当阻值的热敏电阻感应一定范围内的温度变化,提供相对精确的值。
3 硬件设计3.1 最小系统设计最小系统设计:TMS320F2812芯片包含33个电源引脚,时钟模块,分别有电源复位,复位引脚/RS,软件复位,非法地址,看门狗定时器溢出,欠电压复位这6种信号使DSP控制器复位。
在设计中采用了由PCRESET引脚PCRESET电源复位的方式。
为了可靠复位,高电平的有效时间至少保持6个时钟周期。
DSP平最小系统指的是由F2812芯片组成的电源模块,复位电路和晶振电路组成的无外围设备的系统。
最小系统如图1:图1 DSP最小系统图3.2 温度采集电路由MC1403和热敏电阻组成温度采集电路。
MC1403的Vin端接入一个5V左右的模拟电压值,并在此端(1脚)接入电容滤除其它频率分量;在Vout端(2脚)输出一个稳定的电压值,接、TMS320F2812的23引脚;GND端(3脚)直接接地,接TMS320F2812的33引脚。
原理图如图3:图3 温度采集电路原理图3.3 A/D模数转换模块当模/数转换完成后,读取结果寄存器前,最好先读取模/数转换控制寄存器ADCTRL2的ADCFIFO1或ADCFIFO2,以确定当前结果寄存器的状态,保证读取的结果是正确的。
并且12位的转换结果放在结果寄存器的高12位上,该12位数据与外部模拟输入电压的关系为:12位数字结果=4095*(输入电压/基准电压)3.4 LCD液晶显示模块DSP需要对读写周期较慢的液晶显示模块进行访问,这样就存在DSP与慢速设备之间的输入/输出时序匹配问题。
直接访问方式是将DSP的读写信号线与慢速设备口控制板引出的读写信号线直接相连,时序由DSP内部读写逻辑控制。
由于慢速外设的读写周期相对DSP 较慢,要使两者的时序匹配,还必须进行一些时序方面的控制处理,一种处理方法是软件编程等待状态发生器,将外部总线周期扩展到数个机器周期。
由于受硬件条件的限制,这种扩展通常也是有限的。
另一种处理方法是利用DSP的READY(外部设备准备就绪)引脚,通过硬件扩展实现外部状态自动等待,从而使DSP与慢速设备之间的时序匹配。
虽然可以将总线周期扩展到任意个机器周期,但是需要进行硬件扩展,增加了系统设计的复杂度。
间接访问是用DSP的数字I/O间接控制慢速设备通过软件控制DSP的I/O口来实现与慢速设备的时序匹配。
此种方式无需硬件扩展即可实现与任意时序慢速设备之间的时序匹配。
本设计采用间接访问方式来实现DSP与LCD之间的时序匹配,即在程序中加入大量延时语句。
由于DSP为3.3V设备,而液晶显示模块属于+5V设备,所以在连接控制线、数据线时需要加电平隔离和转换设备。
液晶模块如下图:4 软件设计4.1 软件系统分析首先要初始化A/D转换模块,然后等待中断,当产生中断后对采集到的模拟信号进行处理,为了确保转换精度应多次取值求平均,将其转换结果放在结果寄存器的高12位上,最后将处理后的温度值送到LCD上显示。
系统设计原理框图如图4:图4 系统设计原理框图4.2软件系统流程图5 系统调试MC1403 芯片Vin 端输入一个+5V的模拟电压值;在输入端接一个电容滤除其它频率分量;在 Vout 端输出了一个稳定的电压值;GND端直接接模拟地;给试验箱供电,打开 Setup CCS2(‘C2000), 在弹出的对话框中选择ICETEK-5100 USB Emulator for TMS320F2812 导入,进行配置设置然后进入 CCS2(‘C2000),打开工程文件进行编译生成 .out 文件下载到硬盘中然后调试,观察液晶显示屏,第一行显示“温度”,第二行显示“显示”,第三行显示“35.91℃”,当用手触摸时,温度显示不断变化,实现了温度的采集与显示。
6 设计总结这次的课程设计,我们小组的设计题目是:温度采集与显示。
通过这段时间的学习使我对C语言编程方法有了更深入的了解,从中学到了很多编程思想,并且进一步了解了DSP芯片的机制,经过这次课程设计,我不仅对以前所学的知识有了较深刻的理解,而且动手能力、独立解决问题的能力有所提高。
这个课程设计对于以后搞科研项目很有帮助通过我们组成员的共同努力,我们终于完成了设计要求。
主要是通过使用MC1403芯片、电容、热敏电阻等元器件,设计并制作一个硬件电路,通过软件编程得到电压关于温度的函数,经过A/D转换电路把模拟电压信号转换成数字信号,再利用公式,在LCD液晶显示屏上显示出转换后对应的温度变化数值。
在这次课程设计中,我主要负责的是软件编程及调试。
在这里我遇到了很大的困难,虽然有书籍和网络上查找的辅导资料,但是由于软件设计是意见灵活的东西,它不仅需要有过硬的编程知识,还必须有灵活的应用,因此在这方面的调试时花费了大量的时间。
首先,我把编程想的过于简单,以为只是把每个模块的子程序编写成功便可以,却忽视了模块与模块之间的相关性和衔接性,因此总出现参数定义不准确和函数声明不相符的错误。
其次,由于自已的粗心不严谨,导致出现大小写不符,缺少分号或大括号的低级错误。
但是,在这一过程中主要感谢老师的耐心指导和组员的帮助,顺利的完成了任务,实现了软硬件的调试,最终在LCD显示屏幕上显示相应的文字和温度。