版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE16数据采集处理和控制系统设计一课程设计要求1.基本DSP硬件系统设计要求①基本DSP硬件系统以TMS320C54x系列为核心处理器,包括最小系统、存储器扩展、显示器、键盘、AD、DA等电路模块;②硬件设计画出主要芯片及电路模块之间的连接即可,重点考查电路模块方案设计与系统地址分配;③设计方案以电路示意图为主,辅以必要的文字说明。2.基本软件设计要求①看懂所给例程,画出例程输出波形示意图;②修改例程程序,使之输出其它波形,如方波、三角波、锯齿波等均可;③设计方案以程序实现为主,辅以必要的文字说明。3.课程设计报告要求①硬件系统设计:设计思路、设计系统功能、主要芯片选型及使用方法、设计方案说明、电路示意图②软件系统设计:示例程序功能解读及输出波形示意图、设计软件功能、设计思路、实现源码(带程序注释)③报告总结 二系统分析利用实验箱的模拟信号产生单元产生不同频率的信号,或者产生两个频率的信号的叠加。在DSP中采集信号,并且对信号进行频谱分析,滤波等。通过键盘或者串口命令选择算法的功能,将计算的信号频率或者滤波后信号的频率在LCD上显示。主要功能如下:(1)对外部输入的模拟信号采集到DSP内存,会用CCS软件显示采集的数据波形。(2)对采集的数据进行如下算法分析:①频谱分析:使用fft算法计算信号的频率。②对信号进行IIR滤波或FIR滤波,并且计算滤波前后信号的频率。③外部键盘或者从计算机来的串口命令选择算法功能,并且将结果在LCD上显示。绘制出DSP系统的功能框图、使用AD(AltiumDesigner)绘制出系统的原理图和PCB版图。在DSP中采集信号,用CCS软件显示采集的数据波形,以及对采集的数据进行算法分析。三硬件设计3.1硬件总体结构3.2DSP模块设计3.3电源模块设计将5V电源电压转换为3.3V和1.6V电源3.4时钟模块设计此处由外部晶振提供时钟信号3.5存储器模块设计DSP上只有一个读写控制信号引脚,而FLASH有两个引脚,将读、写分开,故在OE上接一个非门电路,实现高时读,低时写。FLASH上的地址线和数据线与DSP上的地址线、数据线相连3.6JATG模块设计3.7TMS320VC5416最小系统PCB版图板上包括了支持TMS320VC5416独立运行的时钟电路、复位电路、Flash模块、JTAG仿真接口电路以及电源模块等。为节省空间和材料,部分器件放在了反面。四软件设计4.1正弦波信号发生器所给例程输出波形为正弦波,波形如下图所示:4.2三角波(方波)信号发生器************************************************************************************三角波信号发生程序(括号内为方波)************************************************************************************** .mmregs .def startk1 .usect"k",1outdata1.set0800h(0800h)outdata2.set09ffh(0fffh)outdata3.set0affh(0fffh)outdata4.set0bffh(0fffh)outdata5.set0cffh(0fffh)outdata6.set0dffh(0fffh)outdata7.set0effh(0fffh)outdata8.set0fffh(0fffh)outdata9.set1000h(0fffh)outdata10.set0fffh(0fffh)outdata11.set0effh(0fffh)outdata12.set0dffh(0fffh)outdata13.set0cffh(0fffh)outdata14.set0bffh(0fffh)outdata15.set0affh(0fffh)outdata16.set09ffh(0fffh)outdata17.set08ffh(0800h)outdata18.set07ffh(0000h)outdata19.set06ffh(0000h)outdata20.set05ffh(0000h)outdata21.set04ffh(0000h)outdata22.set03ffh(0000h)outdata23.set02ffh(0000h)outdata24.set01ffh(0000h)outdata25.set00ffh(0000h)outdata26.set01ffh(0000h)outdata27.set02ffh(0000h)outdata28.set03ffh(0000h)outdata29.set04ffh(0000h)outdata30.set05ffh(0000h)outdata31.set06ffh(0000h)outdata32.set07ffh(0000h)//定义输出数据 .textstart:stm2000h,sp//置堆栈指针stm #k1,ar2//将操作数#k1装入ar2st#outdata1,*ar2//将数据送到*ar2nopnopbegin: st#outdata1,*ar2 portw *ar2,0bfffh//将*ar2内容从D/A转换器输出rpt#7fffh//等待一段时间 nopst#outdata2,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata3,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata4,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata5,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata6,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata7,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata8,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata9,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata10,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata11,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata12,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata13,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata14,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata15,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata16,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata17,*ar2 portw *ar2,0bfffhrpt#7fffh nopst#outdata18,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata19,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata20,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata21,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata22,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata23,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata24,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata25,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata26,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata27,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata28,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata29,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata30,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata31,*ar2 portw *ar2,0bfffhrpt#7fffh nop st#outdata32,*ar2 portw *ar2,0bfffhrpt#7fffh nop b begin//循环输出32个数据 .end//代码段结束4.3本系统软件总体流程4.4核心模块及实现代码FFT算法程序:voidkfft(doublepr[Length],doublepi[Length],intn,intk,doublefr[Length],doublefi[Length],intl,intil){intit,m,is,i,j,nv,l0;doublep,q,s,vr,vi,poddr,poddi;for(it=0;it<=n-1;it++){m=it;is=0;for(i=0;i<=k-1;i++){j=m/2;is=2*is+(m-2*j);m=j;}fr[it]=pr[is];fi[it]=pi[is];}pr[0]=1.0;pi[0]=0.0;p=6.283185306/(1.0*n);pr[1]=cos(p);pi[1]=-sin(p);if(l!=0)pi[1]=-pi[1];for(i=2;i<=n-1;i++){p=pr[i-1]*pr[1];q=pi[i-1]*pi[1];s=(pr[i-1]+pi[i-1])*(pr[1]+pi[1]);pr[i]=p-q;pi[i]=s-p-q;}for(it=0;it<=n-2;it=it+2){vr=fr[it];vi=fi[it];fr[it]=vr+fr[it+1];fi[it]=vi+fi[it+1];fr[it+1]=vr-fr[it+1];fi[it+1]=vi-fi[it+1];}m=n/2;nv=2;for(l0=k-2;l0>=0;l0--){m=m/2;nv=2*nv;for(it=0;it<=(m-1)*nv;it=it+nv)for(j=0;j<=(nv/2)-1;j++){p=pr[m*j]*fr[it+j+nv/2];q=pi[m*j]*fi[it+j+nv/2];s=pr[m*j]+pi[m*j];s=s*(fr[it+j+nv/2]+fi[it+j+nv/2]);poddr=p-q;poddi=s-p-q;fr[it+j+nv/2]=fr[it+j]-poddr;fi[it+j+nv/2]=fi[it+j]-poddi;fr[it+j]=fr[it+j]+poddr;fi[it+j]=fi[it+j]+poddi;}}if(l!=0)for(i=0;i<=n-1;i++){fr[i]=fr[i]/(1.0*n);fi[i]=fi[i]/(1.0*n);}if(il!=0)for(i=0;i<=n-1;i++){pr[i]=sqrt(fr[i]*fr[i]+fi[i]*fi[i]);if(fabs(fr[i])<0.000001*fabs(fi[i])){if((fi[i]*fr[i])>0)pi[i]=90.0;elsepi[i]=-90.0;}elsepi[i]=atan(fi[i]/fr[i])*360.0/6.283185306;}}卷积程序:voidConvolveok(//卷积函数double*x, // 原始输入数据double*h, // 冲击响应double*y, // 卷积输出结果UINT16Leng, //序列长度UINT16h_Len){ UINT16m,p,j; doubler,rm; doublexmean=0.0; doublexmid[100]; for(m=0;m<h_Len;m++) { xmid[m]=0.0; } for(m=0;m<Leng;m++) { xmean=x[m]+xmean; } xmean=1.0*xmean/Length; for(m=0;m<Leng;m++) { x[m]=x[m]-xmean; } for(m=0;m<Leng;m++) { for(p=0;p<h_Len;p++) { xmid[h_Len-p-1]=xmid[h_Len-p-2]; } xmid[0]=x[m]; r=0.0; rm=0.0; for(j=0;j<h_Len;j++) { r=xmid[j]*h[j]; rm=rm+r; } y[m]=rm; }}求最大值和次大值函数:voidmax(){intk1,k2;//k1最大值,k2次最大值intr;for(r=0;r<16;r++){if(pr[k1]<pr[r]){k1=r;}}for(r=20;r<64;r++){if(pr[k2]<pr[r]){k2=r;}}f0=250000.0/256*k1;f1=250000.0/256*k2; fc=(f0+f1)/2;}归一化函数:voidavg(){intj;sum=0.0;for(j=0;j<256;j++){sum+=(data_buff[j]/256.0);}for(j=0;j<256;j++){pr[j]=data_buff[j]-sum;pi[j]=0.0;}}FIR滤波器设计函数:voidfirdes(doublenpass)//求h(n){ intt; for(t=0;t<FLen;t++) { h[t]=sin((t-(FLen-1)/2.0)*npass*3.1415926)/(3.1415926*(t-(FLen-1)/2.0)); }if(t==((FLen-1)/2))h[t]=npass;}外部中断2服务函数:voidinterruptExtInt2(void){inti1,j;*(unsignedint*)IFR=0xFFFF;//清除所有中断标志data_buff[i1]=port8002&0x00ff;i1++;if(i1==256){avg();kfft(pr,pi,256,8,fr,fi,0,1);max();npass=fc/250000.0;firdes(npass);Convolveok(data_buff,h,y,256,51);for(j=0;j<256;j++){ yr[j]=y[j];yi[j]=0.0;}kfft(yr,yi,256,8,Yr,Yi,0,1);flag=1;i1=0;}4.5程序运行效果=1\*GB3①采集的数据及其FFT计算结果=2\*GB3②51阶滤波器H(n)波形=3\*GB3③滤波前后信号频谱图:由滤波前后高低频分量的相对大小证明低通滤波器对高频分量的衰减作用比较强,但没有完全滤出去=4\*GB3④采集数据波形与滤波后波形比较由图可见滤波后信号中的高频分量得到了较大的衰减,滤波后波形变得平滑。五课程设计总结DSP芯片有更适合于数字信号处理的软件和硬件资源,非常适合于通用数字信号处理的开发,为数字信号处理的应用打开了新局面。学好DSP技术具有非常重要的意义。通过此次课程设计,我学习到了一个实际的电子系统的完整的设计流程,基本掌握了PCB设计软件AltiumDesigner的使用方法,学会了绘制系统的功能框图、原理图以及PCB版图。同时掌握了CCS软件的使用和基于TMS320VC5416的DSP程序的编写。此次课程设计首先绘制系统功能框图,使用AD软件绘制原理图和PCB版图。在绘制系统功能框图过程中,要设计一个功能完备,能够独立运行的精简DSP硬件系统。然后再基于此系统功能框图绘制原理图和PCB版图。在原理图的绘制过程中要充分考虑到所使用的器件及管脚的网络标号,总线的链接等。因为要绘制PCB版图,故要合理选择各个器件的封装,合理安排各个器件和线的位置,尤其是滤波电容要安放在靠近各个管脚的位置,真正起到滤波的作用。在使用CCS软件编写程序时要注意变量定义以及函数声明。通过查阅资料和与老师同学交流后完善了各部分程序。DSP程序相对难一些,在编写时需要从系统整体来考虑,不断调整算法且保持思路清晰,熟悉各个子程序的功能。通过此次课程设计,使我对TMS320C54x系列DSP的硬件结构有了较为深刻的认识,也学习到了实际的电子系统的完整的设计流程,熟悉了AD软件和CCS软件的使用方法,对于数字信号处理有了更深刻的认识。数字信号处理无处不在,这样的课程设计很有意义,对于我们今后的学习与工作都会产生深远影响,为我们独立完成其他DSP设计打下基础。通过查阅资料以及老师同学的帮助,解决了课程设计中遇到的难题,也学习到了很多知识,将理论运用于实践。感谢老师和同学的大力帮助,使我顺利完成了此次课程设计。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用HYPER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版国际贸易居间合同范本
- 铁矿石2024年度海上运输安全监管合同
- 日语课件中目录
- 辽宁省二零二四年生猪买卖合同协议(含农业观光旅游)
- 2024年度大型物流中心自动化设备采购合同3篇
- 小学品德公开课教育课件
- 不当班长报告范文
- 2024年度乙方为甲方提供电商运营服务合同3篇
- 《工业园区物业服务》课件
- 《辛弃疾生平简介》课件
- 虚拟现实眼镜市场发展预测和趋势分析
- 医疗集团商业
- 2024年双11电商消费回顾及趋势总结报告-flywheel飞未-202411
- 浙江省初中名校发展共同体2024-2025学年九年级上学期期中考试科学试卷
- 中华人民共和国建筑法
- 2025届湖南省郴州市高三年级上册第一次模拟考试英语试卷(含详解)
- 四年级数学(四则混合运算带括号)计算题专项练习与答案
- 人教版一年级上册数学第5单元《6-10的认识和加减法》试卷及答案
- 体液调节与神经调节的关系课件
- 新版中国食物成分表
- 团员发展纪实簿
评论
0/150
提交评论