收藏 分销(赏)

基于DSP设计正弦信号发生器.doc

上传人:a199****6536 文档编号:1281008 上传时间:2024-04-20 格式:DOC 页数:11 大小:461KB
下载 相关 举报
基于DSP设计正弦信号发生器.doc_第1页
第1页 / 共11页
基于DSP设计正弦信号发生器.doc_第2页
第2页 / 共11页
基于DSP设计正弦信号发生器.doc_第3页
第3页 / 共11页
基于DSP设计正弦信号发生器.doc_第4页
第4页 / 共11页
基于DSP设计正弦信号发生器.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、一 设计目的设计一个基于DSP的正弦信号发生器二 设计内容 利用基于CCS开发环境中的C54X汇编语言来实现正弦信号发生装置。 三设计原理 一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。一个角度为的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:式中:x为的弧度值,x=2ffs(fs是采样频率;f是所要发生的信号频率。正弦波的波形可以看作由无数点组成,

2、这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图。四 设计方案本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。通过计算一个角度的正弦值和余弦值程序可实现正弦波,其步骤如下:1. 利用sinx和cosx子程序,计算045(间隔为0.5)的正弦和余弦值2. 利用sin(2x)=2sin(x)cos(x)公式,计算090的正弦值(间隔为1)3. 通过复制,获得0359的正弦值4. 将0359的正弦值重复从PA口输出

3、,便可得到正弦波三 软件操作 利用 CCS 集成开发环境,用户可以在一个开发环境下完成工程定义、程序 编辑、编译链接、调试和数据分析等工作环节。1. 创建工程(project)文件选择 ProjectNew,在“Project”文本框中键入将要创建的工程项目名,本例工程项目名为“sin”2. 向工程中添加文件 选择 ProjectAdd Files to Project,将 sine.asm文件自动添加到 ProjectSource 中。 用同样的方法 将 sine.cmd 文件添加到对应的目录中。3. 构建工程,工程所需文件编辑完成后,可以对该工程进行编译链接,产生可执行文件, 为调试做准备

4、。 选择 ProjectBuild,系统提示没有出错信息后,系统自动生成一个可执行文件,sine.out 文件。4载入可执行文件 选择 FileLoad Program 载入编译链接好的可执行文件sine.out5运行程序选择 DebugRun运行,可以通过查看内存表等方法,看到程序运行的结果。6观察数据和图形选择 ViewGraphTime/Frequence调整输出图形参数五 源程序正弦波源程序sin.asm .title sin.asm .mmregs .def start .def d_xs,d_sinx,d_xc,d_cosx,sinx,cosxsin_x: .usect sin_x

5、,360STACK: .usect STACK,10k_theta .set 286 PA0 .set 0 start: .text STM #STACK+10,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 CALL cosx LD #d_sinx,DP LD d_sinx,16,A MPYA d_cosx STH B,1,*AR6+ MAR *AR1+0 loop1: STM #sin_x+89

6、,AR7 STM #88,BRC RPTB loop2-1 LD *AR7-,A STL A,*AR6+loop2: STM #179,BRC STM #sin_x,AR7 RPTB loop3-1 LD *AR7+,A NEG A STL A,*AR6+ loop3: STM #sin_x,AR6 STM #1,AR0 STM #360,BK loop4: PORTW *AR6+0%,PA0 B loop4sinx: .def d_xs,d_sinx .datatable_s .word 01C7H .word 030BH .word 0666H .word 1556Hd_coef_s .u

7、sect coef_s,4d_xs .usect sin_vars,1 d_squr_xs .usect sin_vars,1 d_temp_s .usect sin_vars,1 d_sinx .usect sin_vars,1 d_1_s .usect sin_vars,1 .text SSBX FRCT STM #d_coef_s,AR5 RPT #3 MVPD #table_s,*AR5+ STM #d_coef_s,AR3 STM #d_xs,AR2 STM #d_1_s,AR4 ST #7FFFH,d_1_s SQUR *AR2+,A ST A,*AR2 |LD *AR4,B MA

8、SR *AR2+,*AR3+,B,A MPYA A STH A,*AR2 MASR *AR2-,*AR3+,B,A MPYA *AR2+ St B,*AR2 |LD *AR4,B MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 |LD *AR4,B MASR *AR2-,*AR3+,B,A MPYA d_xs STH B,d_sinx RETcosx: .def d_xc,d_cosxd_coef_c .usect coef_c, 4 .datatable_c .word 0249H .word 0444H .word 0AABH .word 4000Hd_

9、xc .usect cos_vars,1 d_squr_xc .usect cos_vars,1 d_temp_c .usect cos_vars,1 d_cosx .usect cos_vars,1 c_1_c .usect cos_vars,1 .text SSBX FRCT STM #d_coef_c,AR5 RPT #3 MVPD #table_c,*AR5+ STM #d_coef_c,AR3 STM #d_xc,AR2 STM #c_1_c,AR4 ST #7FFFH,c_1_c SQUR *AR2+,A ST A,*AR2 |LD *AR4,B MASR *AR2+,*AR3+,

10、B,A MPYA A STH A,*AR2 MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 |LD *AR4,B MASR *AR2-,*AR3+,B,A SFTA A,-1,A NEG A MPYA *AR2+ MAR *AR2+ RETD ADD *AR4,16,B STH B,*AR2 RET.end 正弦波程序链接命令文件sin.cmd-x.Debugvectors.obj-x.Debugsin.obj-osin.out-msin.map-e startMEMORYPAGE 0:EPROM:org=0E00H,len=1000HVECS:org=0F

11、F80H,len=0080HPAGE 1:SPRAM:org=0060H, len=0020HDARAM1:org=0080H, len=0010HDARAM2: org=0090H, len=0010HDARAM3: org=0200H, len=0200HSECTIONS.text :EPROMPAGE 0.data :EPROMPAGE 0STACK:SPRAMPAGE 1sin_vars:DARAM1PAGE 1coef_s :DARAM1PAGE 1cos_vars:DARAM2PAGE 1 coef_c :DARAM2PAGE 1sin_x:align(512)DARAM3PAGE 1.vectors:VECSPAGE 0六 实验结果及分析 将程序装载到DSP目标芯片中,波形实现结果可以在CCS图形显示界面直观地表示出来输出结果显示,在CCS图形观察窗口得到了频率稳定,信号干扰小,波形失真度较小的正弦信号;七 设计总结心得通过这次的课程设计使我进一步加深了对于DSP这门课程的学习以及对于平时所学内容的实际应用。在设计中发现问题和同学互相讨论研究增加了团队合作的能力。在输入程序时发现编程确实是要求很认真细心的,如果稍有差错就会导致整个程序的错误,也由此体现了DSP这门课程的严谨性。相信在以后的学习中一定会更好的应用所学内容的。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服