




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
等级: 课 程 设 计课程名称DSP原理及应用课程设计课题名称正弦信号发生器专 业测控技术与仪器班 级1301学 号姓 名指导老师2016年12月2日电气信息学院课程设计任务书课题名称正弦信号发生器姓 名专业测控技术与仪器班级1301学号20指导老师李亚课程设计时间2016年11月21日-2016年12月2日(13、14周)教研室意见意见: 同意 一、任务及要求设计一个DSP系统并编写程序产生正弦信号,内容包括:1、系统设计,包括:1)电源电路 2)复位电路 3)时钟电路 4)外部存储器总线接口电路(扩充一定容量的外部存储器) 5)仿真器接口电路2、使用DSP产生3004000HZ的正弦信号,要求使用计算法,并且频率可变、幅度可变、直流分量可变。二、进度安排第一周:周一:集中布置课程设计相关事宜,分发电子元件和PCB板。周二周三:原理图绘制和元件制作。周四周日:PCB封装设计、元件布局、PCB布线,周五检查原理图PCB设计情况。第二周:周一周二:生产文件整理、PCB焊接调试。周三:系统调试。周四周五:设计报告撰写。周五进行答辩和设计结果检查。3、 参考资料1 张雄伟 曹铁勇.DSP芯片的原理与开发应用.北京:电子工业出版社2 刘教瑜 曾勇 单片机原理及应用 武汉:武汉理工大学出版社 3 邹彦等. DSP原理及应用.北京:中国水利水电出版社4 戴明祯等. TMS320LF2407A的结构、原理及应用.北京:北京航空航天大学出版社目 录第1章 课程设计任务要求11.1课程设计任务11.2课程设计要求1第2章 设计思路22.1设计原理22.2总体方案设计3第3章 硬件设计53.1电源电路53.2复位电路53.3 PLL锁相环电路63.4晶振电路63.5 JTAG仿真接口电路63.6外部扩展存储器73.7其他引脚8第4章 软件设计94.1 程序流程94.2 系统初始配置10第5章 设计仿真结果及分析11总结12参考文献13附录A 程序清单14第1章 课程设计任务要求1.1课程设计任务设计一个DSP系统并编写程序产生正弦信号,内容包括:1)电源电路 2)复位电路 3)时钟电路4)外部存储器总线接口电路(扩充一定容量的外部存储器) 5)仿真器接口电路1.2课程设计要求使用DSP产生3004000HZ的正弦信号,要求使用计算法,并且频率可变、幅度可变、直流分量可变。第2章 设计思路2.1设计原理 正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。本次课程设计只要使用泰勒级数展开法来实现正弦波信号。 1.产生正弦波的算法在高等数学中,正弦函数和余弦函数可以展开成泰勒级数,其表达式为 若要计算一个角度x的正弦和余弦值,可取泰勒级数的前5项进行近似计算。 2.正弦波的实现 计算一个角度的正弦值利用泰勒级数的展开式,可计算一个角度x的正弦值,并采用子程序的调用方式。在调用前先在数据存储器d_xs单元中存放x的弧度值,计算结果存放在d_sinx单元中。 计算一个角度的余弦值利用余弦函数展开的泰勒级数的前五项计算一个角度的余弦值,可采用子程序的调用方式来实现。调用前先将x弧度值放在数据存储器d_xc单元中,计算结果存放在d_cosx单元中。 正弦波的实现利用计算一个角度的正弦值和余弦值程序可实现正弦波。其实现步骤如下:第一步:利用sin_start和cos_start子程序,计算450(间隔为0.5)的正弦和余弦值;第二步:利用sin(2x)=2sin(x)cos(x)公式,计算900的正弦值(间隔为1);第三步:通过复制,获得3590的正弦值;第四步:将3590的正弦值重复从PA口输出,便可得到正弦波。 在实际应用中,正弦波是通过D/A口输出的。选择每个正弦周期中的样点数、改变每个样点之间的延迟,就能够产生不同频率的波形,也可以利用软件改变波形的幅度以及起始相位。正弦波产生的流程图如图2.1所示。 图2.1 正弦波产生的流程图2.2总体方案设计CCS 本实验是基于CCS开发环境的。是 TI 公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一它提供了环境配置源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。通过CCS软件平台上应用C54X汇编语言来实现正弦信号发生装置。总体思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点 对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图2.2所示。图2.2 软件流程图第3章 硬件设计3.1电源电路电源电路的选择是系统设计的一个重要部分,设计好坏对系统的影响最大。首先需要注意的是,为了减少电源噪音和相互干扰,数字电路和模拟电路一般要独立供电,数字的和摸拟的要分开,并最终通过一个磁珠在一点连在一起,用TPS7333Q进行3.3V电压的转换对最小系统供电。电路图如图3.1所示。图3.1 电源电路电源插孔J1 标识为内正外负,5V 稳压直流电源输入。FUSE 为自恢复保险;7333 电源转换芯片作为5V 转3.3V 的高性能稳压芯片。并可提供上电复位信号。该信号/RS_DSP 接到DSP 的复位引脚上。7333 输出后的10uF 和0.1uF 的电容不能省略,否则得不到稳定的3.3V电压。电容滤波电路是滤去所得3.3V的非直流部分。3.2复位电路 TMS320LF2407A内部带有复位电路,因此可以直接RS复位引脚外面接一个上拉电阻即可,这对简化外围电路,减少电路板尺寸很有用处,但是为了调试方便经常才管用手动复位电路。复位电路图如图3.2所示。图3.2复位电路3.3 PLL锁相环电路TMS320LF2407A内部就有内部锁相环电路,可以从一个较低的外部时钟通过锁相环倍频率电路实现内部倍频。TMS320LF2407A的PLL模块使用外部滤波器电路回路来一直信号抖动和电磁干扰,使信号抖动和干扰最小。锁相环电路如图3.3所示。图3.3 锁相环电路3.4晶振电路DSP2407最小系统的时钟电路设计有两种工作方法。一种是利用利用锁相环时钟模块中提供内部振荡电路,在DSP芯片的引脚XTAL1/CLKIN与XTAL2之间连接一晶体,启动内部振荡器。另一种方法是不使用片内的振荡电路,完全由外部有源晶体振荡器产生时钟电路信号。第二种方法比较复杂,这里使用第一种方法,如图3.4所示。 图3.4 晶振电路3.5 JTAG仿真接口电路JTAG是JOINT TEST ACTION GPOUP的简称,JTAG接口用于连接DSP系统板和仿真器,实现仿真器DSP访问,JTAG的接口必须和仿真器的接口一致,否则将无法连接上仿真器。其连接图如图3.5所示。图3.5 JTAG仿真接口3.6 外部扩展存储器 DSP2407A仿真开发和脱机工作时使用不同的程序存储器。在仿真开发时,DSP2407A使用片外扩展的SARAM作为程序存储器;而在脱机工作时,DSP2407A使用片内的FLASH存储器作为程序存储器。2407A片内RAM只有2K,如果要调试较大一些的程序的话就只能外扩RAM作为程序存储器。外扩的RAM也可以作为数据存储器。因为2407A内部RAM空间不足,数据采集大的场合,所有采样结果均保存在外部的CY7C1021中,CY7C1021在调试过程中作为程序的外部存储器,正常运行时作为AD采样结果的存储空间。外部扩展总线接口电路如图3.6所示。 图3.6外部扩展总线接口电路3.7其他引脚1.为使TMS320LF2407A最小系统正常工作,在设计时需考虑一下四种类型电源,以满足DSP芯片工作。CPU核电源:CPU核3.3V引脚VDD,CPU核地引脚VSS。I/O口电源:I/O口3.3V引脚VDDO,I/O口地引脚VSSO。PLL电源:PLL 3.3V引脚PLL VCCA,PLL地引脚VSS。FLASH编程电源:FLASH编程5V引脚VCCP。应当把2407A以上所有电源引脚都接到各自供电电源上。 2.DSP其他引脚功能处理READY接高电平,使其一直固定为有效的访问外部存储器状态。ENA_144通过上拉电阻接3.3V,其意义为使外部接口信号有效。VIS_OE可视为输出使能引脚,故悬空。TP1、TP2测试引脚,悬空。 3.未用I/O引脚处理对于未用的I/O引脚,如果缺省状态为输出引脚,则可以悬空不接;如果缺省状态为输入引脚,可以将它们上拉或下拉为固定电平。这样做有两方面原因:一是悬空不接时,电平浮动,对于DSP是一种干扰;二是输入引脚悬空,当高、低电平转换时,会产生功耗。对于未用的I/O引脚,若没有做硬件处理,在软件初始化时把这些I/O引脚设置为输出引脚。第4章 软件设计4.1 程序流程在电机控制和运动控制的应用中,PWM电路被设计为减少产生PWM波形的CPU开销和减少用户的工作量。与比较单元相关的PWM电路其PWM波形的产生由以下器存器控制:对于EVA 模块,T1CON、COMCONA、ACTRA和DBTCONA;对于EVB 模块,T3CON、COMCONB、ACTRB和DBTCONB。 产生PWM 的器存器设置: 设置和装载ACTRx 寄存器;如果使能死区,则设置和装载DBTCONx 寄存器;设置和装载T1PR 或T3PR 寄存器,即规定 PWM 波形的周期; 设置和装载COMCONx 寄存器; 设置和装载T1CON 或T3CON 寄存器,来启动比较操作; 更新CMPRx 寄存器的值,使输出的 PWM 波形的占空比发生变化。程序流程图如图4.1所示。 图4.1 程序流程图4.2 系统初始配置unsigned int cmp = 0x1000; unsigned int uWork; asm( setc INTM); /* 关中断 */ asm( setc SXM); /* 符号位扩展有效 */ asm( clrc OVM); /* 累加器中结果正常溢出 */ asm( clrc CNF); /* B0被配置为数据存储空间 */ WDCR=0x6f; WDKEY=0x5555; WDKEY=0xaaaa; /* 关闭看门狗中断 */ SCSR1=0x81fe; /* DSP工作在40MHz */ IMR=0; /* 屏蔽所有可屏蔽中断 */ IFR=0x0ffff; /* 清除中断标志 */ uWork=WSGR; /* I/O引脚0等待 */ uWork&=0x0fe3f; WSGR=uWork;波形输出:CMPR1=0x3000; /* 比较单元1设置 */ CMPR2=0x3000; /* 比较单元2设置 */ CMPR3=0x3000; /* 比较单元3设置 */ CMPR4=0x3000; /* 比较单元4设置 */CMPR5=0x3000; /* 比较单元5设置 */ CMPR6=0x3000; /* 比较单元6设置 */ 第5章 设计仿真结果及分析图5.1 程序仿真图在ccs集成环境中实现正弦波能够起到防止干扰的作用,同时也大大地减小了波形的线性失真。同时我们也能从中看出ccs能够精确地对各个角度进行计算得出相应的正弦值,幅度和频率易于调节,波形也较为稳定,抗干扰能力较强。最重要的是这种设计方案简单可行,新颖实用,具有很高的实践和推广价值。分析:通过不断的发现错误、改正错误和调试,最终得到了所希望的图象,即正弦波信号。 总结 课程设计时间虽短,但是这次我也基本熟悉了一种新的集成开发环境CCS,学习新的知识的过程也是自己学习能力培养与提升的过程。 仿真器驱动程序的安装以及相应的配置流程也有了一定的了解。仿真环境的配置,到工程的建立,文件的加载,到程序的仿真,与目标板的链接与调试,整个过程在摸索中逐渐熟悉。对已有程序进行修改,重复相应的过程也能实现预定的功能,在短短的时间里能掌握这些基本就差不多了,由于有的需要配置的文件的缺失,无法完成对相应工程的配置设置,所以采用的参考例程里的程序,完成整个过程,这也是一个学习的过程。做项目不是一个人的事,每个成员都应积极的参与,为整个项目的完成提供保障,团队的协作,尽可能的去发挥每个成员的专长,在整个项目的完成都能有所收获,这才应该是做项目的真正目的,加强同学之间的交流,用心付出,共同享受带给大家的成功的喜悦。相关课程的学习只是个基础,在此基础之上对相应的硬件与软件结合,切实去体验一个芯片所能实现的各种功能,去发现所学的知识会在哪些方面用到,是如何应用,有怎样可以改进的方法,更深层次去掌握跟其他相关课程的交叉点,提升学习能力,从近期来看,可以为我们将要开始的毕业设计做准备,当做是一次练手,争取出色完成毕业设计,为四年的大学交出一份完美的答卷。从长远看,为自己以后的工作也在一定程度的奠定基础,学习能力强了,自己就能比较快的接受新知识,更能适应社会对人才的要求 。 相信团队的力量,同时也要提高个人解决问题的能力,让自己在团队中发挥的作用,将个人融入团队中,才能让自己有更大的收获。好好珍惜每次锻炼学习的机会,不断提升自己,不断超越自己,成就人生美好的梦想!参考文献1 张雄伟 曹铁勇.DSP芯片的原理与开发应用.北京:电子工业出版社2 刘教瑜 曾勇 单片机原理及应用 武汉:武汉理工大学出版社 3 邹彦等. DSP原理及应用.北京:中国水利水电出版社4 戴明祯等. TMS320LF2407A的结构、原理及应用.北京:北京航空航天大学出版社附录A程序清单 .mmregs .def start .def d_xs,d_sinx,d_xc,d_cosx,sinx,cosxsin_x: .usect sin_x,360STACK: .usect STACK,10Hk_theta .set 286 ;theta=pi/360(0.5deg)start: .text STM #STACK+10H,SP STM k_theta,AR0 STM 0,AR1 STM #sin_x,AR6 STM #90,BRC RPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,d_xs STL A,d_xc CALL sinx ;d_sinx=sin(x) CALL cosx ;d_cosx=cos(x) LD #d_sinx,DP LD d_sinx,16,A ;A=sin(x) MPYA d_cosx ;B=sin(x)*cos(x) STH B,1,*AR6+ ;AR6-2*sin(x) MAR *AR1+0loop1: STM #sin_x+89, AR7 ;sin91(deg.)-sin179(deg.) STM #88,BRC RPTB loop2-1 LD *AR7-,A STL A,*AR6+loop2: STM #179,BRC ;sin180(deg.)-sin359(deg.) STM #sin_x,AR7 RPTB loop3-1 LD *AR7+,A NEG A STL A,*AR6+loop3: STM #sin_x,AR6 ;generate sin wave STM #1,AR0 STM #360,BK B loop3sinx: .def d_xs,d_sinx .datatable_s .word 01C7H ;C1=1/(8*9) .word 030BH ;C2=1/(6*7) .word 0666H ;C3=1/(4*5) .word 1556H ;C4=1/(2*3)d_coef_s .usect coef_s,4d_xs .usect sin_vars,1d_squr_xs .usect sin_vars,1d_temp_s .usect sin_vars,1d_sinx .usect sin_vars,1d_l_s .usect sin_vars,1 .text SSBX FRCT STM #d_coef_s,AR5 ;move coeffs table_s RPT #3 MVPD #table_s,*AR5+ STM #d_coef_s,AR3 STM #d_xs,AR2 STM #d_l_s,AR4 ST #7FFFH,d_l_s SQUR *AR2+,A ;A=x2 ST A,*AR2 ;(AR2)=x2 |LD *AR4,B ;B=1 MASR *AR2+,*AR3+,B,A ;A=1-x2/72,T=x2 MPYA A ;A=T*A=x2(1-x2/72) STH A,*AR2 ;(d_temp)=x2(1-x2/72) MASR *AR2-,*AR3+,B,A ;A=1-x2/42(1-x2/72);T=x2(1-x2/72) MPYA *AR2+ ;B=x2(1-x2/42(1-x2/72) ST B,*AR2 ;(d_temp)=x2(1-x2/42(1-x2/72) |LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A ;A=1-x2/20(1-x2/42(1-x2/72) MPYA *AR2+ ;B=x2(1-x2/20(1-x2/42(1-x2/72) ST B,*AR2 ;(d_temp)=B |LD *AR4,B ;B=1 MASR *AR2-,*AR3+,B,A ;A=1-x2/6(1-x2/20(1-x2/42(1-x2/72) MPYA d_xs ;B=x(1-x2/6(1-x2/20(1-x2/42(1-x2/72) STH B,d_sinx ;sin(theta) RETcosx: .def d_xc,d_cosxd_coef_c .usect coef_c,4 .datatable_c .word 0249H ;C1=1/(7*8) .word 0444H ;C2=1/(5*6) .word 0AABH ;C3=1/(3*4) .word 4000H ;C4=1/2d_xc .usect cos_vars,1d_squr_xc .usect cos_vars,1d_temp_c .usect cos_vars,1d_cosx .usect cos_vars,1c_l_c .usect cos_vars,1 .text SSBX FRCT STM #d_coef_c,AR5 ;move coeffs table_c RPT #3 MVPD #table_c,*AR5+ STM #d_coef_c,AR3 STM #d_xc,AR2 STM #c_l_c,AR4 ST #7FFFH,c_l_c SQUR *AR2+,A ;A=x2 ST A,*AR2 ;(AR2)=x2 |LD *AR4,B ;B=1 MASR *AR2+,*AR3+,B,A ;A=1-x2/56,T=x2 MPYA A ;A=T*A=x2(1-x2/56) STH A,*AR2 ;(d_temp)=x2(1-x2/56) MASR *AR2-,*AR3+,B,A ;A=1-x2/30(1-x2/56); T=x2(1-x2/56) MPYA *AR2+ ;B=x2(1-x2/30(1-x2/56)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高校退休管理岗招聘考试重点题
- 2025年机关财务招聘面试模拟试卷
- 2025年无机化工生产工考试重点题及答案集解析集集解析集
- 2025年社会福利会计能力题集
- 课件APP介绍教学课件
- 2025年宠物销售代表面试题及答案
- 2025年风险管理师职业素质评估试题及答案解析
- 2025年快递企业安全实务题及答案
- 2025年志愿服务基金会笔试模拟考试试卷
- 机电专业班长培训知识课件
- GA 979-2012D类干粉灭火剂
- 第五讲中日关系课件
- 消防安全检查记录表(完整详细版)1
- (完整)动画运动规律动物ppt
- 光伏电站项目监理旁站方案
- 2022年家用空调安装合同范本
- 二手车鉴定评估的报告书
- 教学课件 金属学与热处理-崔忠圻
- 多智能体系统教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案课件合集
- 艺术欣赏完整版课件全套ppt教程(最新)
- 北师大版五年级数学上册全册教案含反思
评论
0/150
提交评论