版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP课程设计佳木斯大学信息电子技术学院基于TMS320VC5402的温度控制系统设计基于TMS320VC5402的多路温度控制系统设计1概述根据题目要求设计基于TMS320VC5402的的多路温度控制系统设计。以数字信号处理器TMS320VC5402为开发平台,利用温度传感器的特性与工作原理,设计温控开关系统。通过选择TMS320VC5402,传感器和外围电路,实现对信号的采集,信号处理及温度的控制。经过实验测试,结果表明系统设计方案正确可行,设计方法合理,系统各模块工作正常,测量结果准确。2系统设计本章主要论述设计的总体设计思路,初步确定硬件电路所需要的模块电路以及软件设计的基本步骤。2.1系统的设计思路2.1.1DSP系统简述通常,一个典型的DSP系统应包括抗混叠滤波、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等,其组成框图如图1所示图1DSP系统框图本系统设计以模块电路为基础,整个系统设计的大致步骤如图2所示。图2系统设计步骤整个系统设计的大致步骤如图1所示,设计过程包括软件设计、硬件设计和集成测试等阶段。其中,软件部分的设计步骤为:1)根据设计任务和设计目标,确定系统性能指标;2)根据需要用C语言编写程序;3)将程序转化成DSP汇编,并送到编译器进行编译,生成目标文件;4)将目标文件送链接器进行链接,得到可执行文件;5)将可执行文件调入调试器进行调试,检查运行结果是否正确。如果正确继续,否则返回修改。2.2系统硬件结构这次的设计任务是设计一款基于DSP微处理器的对温度进行实时监控,显示的系统。本次设计采用TMS320VC5402DSP作为系统的主控芯片,用C语言对系统进行开发设计。系统主要的功能有温度测量以及液晶显示等。系统的硬件结构主要有DSP微处理器及其外围基本电路、温度采集电路、液晶显示模块等。其设计结构框图如图3所示。1)温度信号采集电路温度信号是这个系统的检测量。这部分的电路设计显得尤为重要,因为其直接影响系统的整体性能。选择合适的电子器件和电路线路设计是这部分设计的关键。在这次设计中,该部分采用DS18B20传感器,是整个系统数据采集的核心部分。2)DSP系统的基本电路TMS320VC5402作为系统的主控芯片,设计其工作的基本电路显得十分重要。一个完整的DSP系统通常是由DSP芯片和其他相应的外围器件构成。而外围器件中有使DSP能够正常工作的基本电路,包括电源电路、复位电路、时钟电路等。3)温度显示电路确定显示器件的型号,搭建显示器件与处理器之间的外围电路。本次设计中所选用的是LCD显示屏。尺寸是128*32,可分两行显示32英文字符或者16个汉字。相对于数码管来说,LCD显示显得更加精致。图3系统硬件设计框架图2.3系统软件结构系统软件部分设计主要包括各个模块的程序代码编写、调试。系统程序开发用到的工具是DSP集成开发环境CCS。DSP集成开发环境CCS可用来编写、调试程序代码,也是硬件软件综合调试的平台。系统程序代码在CCS2.0开发平台上用C语言编写,主要包括以下内容。1)主程序初始化:主要完成系统上电后进行DSP配置初始化、I/O初始化、LCD初始化。初始化完成后,系统将正常工作,接下来就能进行温度检测等操作。2)温度测量:温度测量模块的程序是整个系统的核心,主要完成DSP芯片从温度传感器中正确地读取温度测量值,并且计算和修正温度数据。2.4A/D与D/A转换电路图图4图53硬件设计3.1JTAG标准仿真接口设计DSP目标系统与仿真器的距离小于152-4mm(6英寸),故用无缓冲的简单连接。其中,EMU0和EMU1必须接1只上拉电阻器(一般为4.7kΩ),使信号上升时间小于10μs。
仿真器只参与数据的传输,JTAG标准仿真接口是仿真器与DSP目标系统之间必须的通信接口,为DSP目标系统的仿真和调试带来了方便。在系统调试阶段,可以通过此仿真接口将编译后的程序代码下载到外部扩展的程序存储器,在线调试用户程序,查看内存、CPU寄存器、各种图表等内容。系统调试成功后可以利用烧写程序通过此仿真接口将调试好的程序烧到DSP的Flash中,使DSP目标系统成为可以独立运行的系统,使DSP的开发更为方便。3.2电源电路设计1)TMS320VC5402电源电压结构及要求TMS320VC5402采用了双电源供电机制,外部接口引脚仍然采用3.3V电压,便于直接与外部低压器件接口,而无需额外的电平转换电路。理想情况下,DSP芯片上的两个电源应同时加电。如果不能做到同时加电,应先对CVDD加电,然后对DVDD加电。2)TMS320VC5402的电源设计的方法考虑到大部分数字系统工作于5V和3.3V,TPS73HD318、TPS73HD325。其中TPS73HD318的输出电压为一路1.8V、一路3.3V,每路电源的最大输出电流为750mA。同时芯片还提供两个宽度为200ms的低电平复位脉冲。根据TMS320VC5402的设计要求。我们选用TPS73HD318芯片提供所需电压,具体设计应用电路如图6所示。其中VD1为DL4148,VD3为DL5817。图6电源电路3.3振荡电路及复位电路设计时钟电路用来为TMS320VC5402芯片提供时钟信号,由一个内部振荡器和一个锁相环PLL组成,可通过晶振或者外部时钟驱动。一般TMS320VC54x芯片的时钟电路有两种。一种是利用芯片内部的振荡器电路与X1、X2/CLK引脚之间连接的一个晶体和两个电容组成并联谐振电路,它可以产生与外加晶体同频率的时钟信号。电容一般在0~30pf之间选择,它们可以对时钟频率起到微调的作用。另一种方法是采用封装好的晶体振荡器,将外部时钟源直接输入X2/CLK引脚,而将X1引脚悬空,由于这种方法简单,一般系统设计都采用这种方案。在这次设计中,我们运用了第一种方法。其设计原理图如图7所示。图7振荡电路复位输入引脚RS为C54X型DSP提供了硬件初始化的方法。这个引脚上电平的变化可以使程序从指定的存储地址FF80H开始运行。只有当此引脚变为高电平后,芯片内的程序才可以从FF80H地址开始运行。对于一个DSP系统而言,上电复位电路虽然只占很小的一部分,但它的好坏将直接影响系统的稳定性。本设计要求不高,所以只采用RC复位电路,如图8所示。图8复位电路3.4温度测量电路设计3.4.1温度传感器DS18B20DS18B20传感器芯片十分轻巧。该芯片只有三个引脚,即VDD、DQ、GND。VD接电源,3V—5V;GND为地;DQ为数据的输入输出。DQ作为输出时为漏极开路,必须加一4.7K的上拉电阻。引脚图如图9所示。图9DS18B20引脚图DS18B20内集成了一个温度传感器、64位ROM、9个字节RAM、三个字节EERAM(掉电可保存),可将温度信号转换为数字信号直接输出。DS18B20与外部的接口为单总线方式,即数据的输入、输出及同步均由同一根线完成。其温度测量范围为-55℃~125℃,在-10℃~80℃范围内精度为±0.5℃,输出的温度值可编程为9~12位。DS18B20的核心功能是它是直接输出数字信号的温度传感器。该温度传感器的分辨率为用户配置至9,10,11或12位,相当于0.5℃,0.25℃,0.125℃和0.0625℃的增量。其中传感器默认为12位。该DS18B20在低功耗空闲状态;启动温度测量和模数转换,主机必须发出一个转换命令。转换后,所产生的数据存储在内存中的2比特温度寄存器中,DS18B20返回其空闲状态。DS18B20的输出温度数据为标准摄氏度;对于华氏温度的应用,必须通过查表或运用转换方法。缺省状态下,数据的输出为16位,低8位D0~D7在前,高8位D8~D15在后。其中D12~D15为符号位。所存储的寄存器各位与温度的关系如表1所示。表1温度存储器各位与温度的对应值另一方面,64位ROM在器件出厂时已被设定,包含了每个器件的唯一识别码。它们分别是:ReadROM(33H)、MatchROM(55H)、SkipROM(CCH)、SearchROM(F0H)、AlarmSearch(ECH)。ReadROM:用于读出64位ROM数据,适用于仅有1个DS18B20的场合。MatchROM:查找与给定64位ROM数据相匹配的DS18B20。SkipROM:适用于仅有1个DS18B20的场合,无需给出64位码就能快速选定器件。SearchROM:适用于多个DS18B20的场合,该指令可识别出每个器件的ID号。AlarmSearch:用于温度报警查询,此处不作介绍。9个字节RAM中,字节1、2用来存放当前测量的温度值,1为低8位,2为高8位;字节3、4用来存放预设报警温度的上下限值,3为上限,4为下限;字节5用于配置寄存器,用于确定温度数据的位数,如下表2、表3所示:表2配置寄存器相关位为D5、D6,其余均为无关位。表3温度精确度配置字节6、7、8均为保留字节,一般不用。字节9存放前8个字节循环冗余校验码(CRC码)。三字节的EERAM分别对应于RAM区的字节3、4、5,用于备份系统设置。对RAM的操作指令有6条,分别为:Write(4EH)、Read(BEH)、Copy(48H)、Convert(44H)、Recall(B8H)、ReadPower(B4H)。Write:用于写RAM存储器,随后的三个字节分别写入RAM字节3、4、5。该指令必须在复位操作前完成。Read:读出RAM中所有9个字节的数据。该指令可随时被复位操作所终止。Copy:将RAM区的3、4、5字节备份至EERAM。Recall:将EERAM中的数据装入RAM。Convert:温度转换开始指令。3.4.2DS18B20的应用DS18B20有三个引脚。其与TMS320VC5402的接线图如下。VDD管脚接5V电压给传感器供电。DQ管脚为数据线,与TMS320VC5402的IO口连接的同时,还要接一个4.7K的上拉电阻,并接到5V的电源上,使数据线在空闲状态下能自动上拉为高电平。GND管脚接地。本次所采用的温度采集电路,如图10所示。图10温度采集电路3.5液晶显示设计3.5.1液晶显示模块液晶显示器件(LCD)是一种高新技术的基础元器件。它利用液晶的各种电光效应,把液晶对电场、磁场、光线和温度等外界条件的变化在一定条件下转换为可视信号而制成的显示器。液晶显示器具有低电压、低功耗的特点,与CMOS集成电路相匹配.电池作为电源,适合于便携式显示[17]。为了用户使用方便,需将液晶显示器件与控制、驱动集成电路装在一起,形成一个功能部件。本次设计所使用的LCD显示器的规格是128*32。他是属于点阵图形型液晶。它的特点是点阵像素连续排列,行和列排布中均没有空隔。因此可以显示连续、完整的图形。由于它是由X-Y矩阵像素构成的,所以除显示图形外,也可以显示字符,包括数字、英文字符以及汉字。128*32点阵图形液晶模块,表示横向有128点,纵向有32点,如果以汉字16x16点而言,每行可显示8个中文字,2行共计16个中文字。本次设计中所使用的液晶驱动芯片为HD61202。如图11所示。其中R6的作用的调节LCD的亮度。图11LCD显示模块其中,VDD接+5V电源;D0~D7为数据输入输出并行口,接TMS320VC5402的数据总线;R/W为读写信号线,D/I为数据、指令选择信号端。3.5.2液晶显示指令系统HD61202的指令系统比较简单,总共有七条指令。1)显示开/关指令端口状态如表4所示。表4显示指令的端口状态当D0=0时,关闭显示功能;当D0=1时,显示RAM中内容。2)显示起始行设置命令端口状态如表5所示。表5起始行指令的端口状态该指令设置了对应最上一行显示的RAM的行号。有规律的改变起始行,可以使得LCD显示取得滚动的效果。3)设置X地址指令端口状态如表6所示。表6设置X地址指令的端口状态 4)设置Y地址指令端口状态如表7所示。表7设置 Y地址指令的端口状态设置了X、Y地址,就确定了显示RAM中的某单元,CPU可写或读一个字节数据。5)读状态指令当R/W=1,D/I=0时,为读状态指令。其中D7为BUSY标志位,D5为显示开关标志位,D4为复位标志位。6)读、写指令当R/W=0,D/I=1,为读指令;当R/W=1,A0=1时,为写指令。读写指令没执行完一次操作,列地址自动加1。3.5.3模块工作的基本过程处理器访问HD61202,首先读取状态字寄存器的内容,主要是要判别状态字中的“Busy”标志。在写操作时,他在计算机写操作信号的作用下将计算机发来的数据锁存进输入寄存器内,同时将I/O缓冲器封锁,置“Busy”标志位为1,向计算机提供HD61202正在处理计算机发来的数据的信息。根据计算机在写数据时提供的D/I状态输入寄存器的内容送入指令寄存器处理或显示存储器相应的单元,处理完成后,HD61202撤消对I/O缓冲器的封锁,同时“Busy”标志位清零,向计算机表示传感器已准备好接收下一个操作。在读显示数据时,计算机要有一个操作周期的延时,即“空读”的过程。在计算机设置所要读取的显示存储器地址后,第一次的读操作实际上是要求HD61202将所需的显示存储器单元的数据写入输出寄存器中,供计算机读取。只有从下一次计算机的读操作起,计算机才能读取所需的显示数据。4软件设计本章设计出主程序以及相关子程序代码,并画出流程图。子程序中包括温度测量子程序和LCD显示子程序。系统程序是在DSP集成开发环境CodeComposerStudio中用C语言编写的。4.1主程序设计系统软件部分设计主要包括各个模块的程序代码编写、调试。主程序的设计主要是为了衔接各模块子程序,使程序易读,易修改。主程序的工作流程包括以下几个过程。1)DSP和外设初始化:主要完成系统上电后进行DSP配置初始化、I/O初始化、LCD初始化、DS18B20初始化。初始化完成后,系统将正常工作,接下来就能进行温度检测等操作。2)LCD显示固定字样:最终显示的结果格式为“TemperatureisXX.XXX℃”,其中“Temperatureis”、“℃”为固定的,所以在温度检测之前就显示,提高程序的运行效率。3)温度测量:温度测量模块的程序是整个系统的核心,主要完成DSP芯片从温度传感器中正确地读取温度测量值,并且计算和修正温度数据。4)LCD显示子程序:用于人机信息交换,LCD模块的程序主要用于显示当前温度值以及温度的状态。其系统主程序流程图,如图12所示。图12主程序流程图4.2温度测量程序设计DS18B20的每一次运行均由四个步骤组成:初始化(复位操作)、对ROM操作指令(识别器件)、对RAM操作指令(读、写、转换)、收发数据。初始化过程如下:1)主控器将信号线拉低,持续时间t1(480us<t1<960us);2)主控器等待时间t2(15us<t2<60us);3)主控器检测信号线,若为低,进行下一步,否则重新初始化;4)主控器在240us内等待信号线变高,如变高表示初始化完成,否则重新初始化;主控器延时至少480us,确保应答正确。在本小节设计中,主程序首先对DS18B20进行初始化,然后向DS18B20的配置寄存器写入数据,设置温度测量的精度,最后获取温度数据,以及进行DS18B20的复位。其程序流程图如图13所示。图13温度测量主程序流程图TMS320VC54X型DSP提供两种编程语言:汇编语言和C语言。对于完成一般功能的代码,这两种语言都可以使用。使用汇编语言程序虽然具有速度快的优点,但用汇编语言编写程序比较费时费力,使用C语言编程可以提高程序开发的效率,同时使阅读程序变得容易一些。本程序代码采用C语言编写,关键代码代码如下。doubleRead_Temper(){ charget[10]; doubletmp; intk; k= DS18B20_reset(); DS18B20_write_byte(0xCC); DS18B20_write_byte(0xBE); for(k=0;k<9;k++) { get[k]=DS18B20_read_byte(); } DS18B20_nus(1); if(get[1]>=0x80) { get[0]=~get[0]; get[1]=~get[1]; tmp=(-1)*(get[1]*256+get[0]+1); } else { tmp=(get[1]*256+get[0]); } tmp=tmp/16.0; k=DS18B20_reset(); DS18B20_write_byte(0xCC); DS18B20_write_byte(0x44); return(tmp);}4.3显示程序设计4.3.1显示内容设计与字模库设计LCD显示子程序的主要功能是用于人机信息交换。LCD模块的程序主要用于显示当前温度值以及温度的状态。本次设计所使用的LCD显示器的规格是128*32。如表8所示,是对显示内容的位置的设计。表8显示内容设计LCD的最终显示的结果格式为“TemperatureisXX.XXX℃”,其中“Temperatureis”、“°C”为固定的,所以在温度检测之前就显示,提高程序的运行效率。在设计LCD现实程序之前,必须设计分析该液晶模块显示所用的点阵数据存储格式,制作出带显的字模库。经过实验,所制作的字模库以结构体的形式存储在“HZ_ASC.h”头文件中。例如,“T”的字模大小总共16个字节,128位信息。每一位信息就代表着某一点的亮与灭。其字模为:{/*--文字:T宋体;此字体下对应的点阵为:宽x高=8x16--*/0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00}。4.3.2显示程序软件流程图及代码显示程序用于实现人机信息交换,使用LCD模块来显示当前温度值。其显示主程序工作过程主要分三个步骤:接收温度采集电路获得的温度数值;根据数值,读取字模库中的点阵数据;DSP控制液晶模块显示所需要的内容。主程序的软件流程图如图14所示。显示子程序的主要功能是根据所设置的X、Y的值确定字符显示的方位。DSP芯片再根据获取的字模数据对液晶模块写入数据。在显示一个字符时,分两个步骤。第一步,先显示16*8显示单位的上半部分,进行列扫描显示;第二部再显示显示单位的下半部分,进行第二次列扫描显示。其软件流程图如图15所示。图14显示主程序流程图图15显示子程序流程图明确程序设计流程后,在CCS集成开发环境中编写运行代码。程序中有个关键函数,即是Disp_ASC(intx,inty,unsignedchar*s,intNum)。该函数完成一个英文字符的显示。其代码如下:Disp_ASC(intx,inty,unsignedchar*s,intNum){intxx,yy,i;xx=((x/8)*4+y*2)%8;yy=(x%8)*8; Check_Busy(); LCD_CMD0=0x003F; Check_Busy(); LCD_CMD0=0x00C0; Check_Busy(); LCD_CMD0=0x00B8+xx; Check_Busy(); LCD_CMD0=0x0040+yy;for(i=0;i<Num;i++){ Check_Busy(); LCD_DAT0=*(s+i);} Check_Busy(); LCD_CMD0=0x00B9+xx; Check_Busy(); LCD_CMD0=0x0040+yy;for(i=Num;i<Num*2;i++){ Check_Busy(); LCD_DAT0=*(s+i);}}4.4PCB图图165实验结果本次设计的硬件电路,主要包括DSP微处理器及其外围基本电路、DS18B20传感器和LCD显示电路。主要的硬件开发平台是以TMS320VC5402为处理器的开发板,其硬件实物图如图17所示。图17硬件电路应用CCS对程序进行编写、编译、链接、加载之后,点击“Debug”菜单下的“RUN”就可以观察设计结果了,所得到的温度显示结果如图18所示。下一步,用手轻轻触摸温度传感器,观测显示结果。观察结果如图19所示。通过观察数据的变化速度判断系统的反应速度,通过观察数据变化的大小来简单检测系统的灵敏度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 7584.2-2026声学护听器第2部分:戴护听器时有效的A计权声压级估算
- 2026年安庆师范大学单招职业适应性测试题库有答案详细解析
- 2026云南红河州石屏嘉胜能源有限责任公司招聘5人笔试参考题库及答案解析
- 2026河南漯河市舞阳县道路交通事故人员调解委员会招聘专职人民调解员1人笔试参考题库及答案解析
- 2026浙江农林大学继续教育学院劳务派遣工作人员招聘1人笔试模拟试题及答案解析
- 2026四川省第一建筑工程有限公司安全人才库招募笔试参考题库及答案解析
- 2026浙江温州市第五十一中学浙师大招聘1人笔试模拟试题及答案解析
- 2026广东汕尾市陆河县高校毕业生就业见习招募4人(第二批)笔试备考试题及答案解析
- 2026浙江杭州市竞舟小学诚聘语文、英语教师2人(非事业)笔试备考题库及答案解析
- 2026四川阿坝州人力资源和社会保障局第一批次考核招聘事业单位人员15人笔试备考题库及答案解析
- 2026北京航空航天大学 机械工程及自动化学院聘用编专职事务助理、F岗招聘1人考试备考题库及答案解析
- 水利工程鱼类保护监理实施细则
- 小学二年级下册《人与社会》教案
- 第一单元 一方水土一方情跟着课文探民风 整体公开课一等奖创新教学设计
- 网络安全培训教材与教学大纲(标准版)
- (高清版)DZT 0426-2023 固体矿产地质调查规范(1:50000)
- 城市轨道交通行车值班员理论考试题库及答案
- 代际关系中的公平逻辑及其变迁
- 烟草公司物流中心装卸业务服务方案
- GB/T 18910.201-2021液晶显示器件第20-1部分:目检单色液晶显示屏
- 地理必修三第三章第一节区域农业发展-以我国东北地区为例
评论
0/150
提交评论