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

合集下载

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

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

软件设计
正弦波子程序流程图 :
软件设计
调幅和调相流程图: 调幅和调相流程图:
汇报内容
• • • • • • 背景 正弦波信号发生器的几种实现方法比较 正弦波信号发生器的数字实现 硬件设计 软件设计 结论
结论
文中分析了正弦波的产生原理,并给出了硬 件电路和软件编写流程;设计了一个更好的 实现人机对话的正弦波信号发生器,给出了 显示和键盘的接口电路。该设计改进了传统 的需要用软件界面来输入幅值和频率值的方 法,更方便的实现调节输出波形的幅值和频 率值。
正弦波信号发生的数字实现 产生正弦波的方法有两种:
查表法。 优点:处理速度快;调频调相容易。 不足:要得到较高的精度,存储空间足够大以存放 查找表。 适用:对精度要求不高的场合。 泰勒级数展开法。 优点:需要的存储单元很少;精度高;展开的级数 越多,失真度就越小;调频调相易。 不足:处理速度慢。
正弦波信号发生的数字实现
硬件设计
DSP与LCD显示和键盘连接电路: DSP与LCD显示和键盘连接电路: 显示和键盘连接电路
硬件设计
键盘电路:
汇报内容
• • • • • • 背景 正弦波信号发生器的几种实现方法比较 正弦波信号发生器的数字实现 硬件设计 软件设计 结论
软件设计
主程序流程图: 主程序流程图:
设计采用采用模块化思路来编写,包括主程序、 设计采用采用模块化思路来编写,包括主程序、正 采用模块化思路来编写 弦波产生程序、调幅和调相子程序等功能子程序。 弦波产生程序、调幅和调相子程序等功能子程序。
性差,波形精度不够高且用较多硬件等。
正弦波信号发生器的几种实现方法比较
基于DSP的正弦波信号发生器:
组成:DSP处理芯片、 D/A转换器等。 优点:可程控调幅、调频,调节精度高,实

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

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

基于DSP设计正弦信号发生器一.设计目的设计一个基于DSP的正弦信号发生器二.设计内容利用基于CCS开发环境中的C54X汇编语言来实现正弦信号发生装置。

三.设计原理一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。

查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。

泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。

本文采用了泰勒级数展开法。

一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:式中:x为θ的弧度值,x=2πf/fs(fs是采样频率;f是所要发生的信号频率。

正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。

整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图。

三.总体方案设计本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。

通过计算一个角度的正弦值和余弦值程序可实现正弦波,其步骤如下:1.利用sinx和cosx子程序,计算0°~45°(间隔为0.5°)的正弦和余弦值2.利用sin(2x)=2sin(x)cos(x)公式,计算0°~90°的正弦值(间隔为1°)3.通过复制,获得0°~359°的正弦值4.将0°~359°的正弦值重复从PA口输出,便可得到正弦波四.软件操作DSP 集成开发环境 CCS是 Code Composer Studio 的缩写,即代码设计工作室。

它是 TI 公司推出的集成可视化 DSP 软件开发工具。

DSP CCS 内部集成了以下软件工具:◆ DSP 代码产生工具(包括 DSP 的 C 编译器、汇编优化器、汇编器和链接器)◆ CCS 集成开发环境(包括编辑、建立和调试 DSP 目标程序)◆ 实时基础软件 DSP/BIOS (必须具有硬件开发板)◆ RTDX、主机接口和 API(必须具有硬件开发板)在 CCS 下,用户可以对软件进行编辑、编译、调试、代码性能测试(profile)和项目管理等工作。

正弦波信号发生器的DSP设计

正弦波信号发生器的DSP设计

正弦波信号发生器的DSP设计摘要:数字信号处理器(DSP)是在模拟信号变成数字信号以后进行高速实时处理的专用处理器。

DSP芯片以其独特的结构和快速实现各种数字信号处理算法的突出优点,发展十分迅速。

本文介绍了正弦信号产生的典型算法,并结合数字振荡器原理,应用迭代法编程完成了TMS320VC5402 DSP 正弦波信号发生器的设计。

关键词:DSP;正弦振荡;信号发生器正弦信号发生器能输出一个幅度可调、频率可调的正弦信号,特别是低频正弦信号发生器在科学研究及生产实践中均有着广泛应用。

目前,常用的信号发生器绝大部分是由模拟电路构成的。

当这种模拟信号发生器用于低频信号输出时,往往需要的RC值很大,这样不但参数准确度难以保证,而且体积和功耗都很大。

而由数字电路构成的低频信号发生器,虽然其低频性能好,但体积较大,价格较贵。

而借助DSP芯片的运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的任意一种信号发生器速度更快,且实现更加简便。

1正弦波信号的产生方式1.1采样回放法通过对已有的标准正弦信号源进行采样得到数据后直接回放或进行变频变幅处理后回放。

该方法的关键在于合理设计高性能的硬件电路,尽量避免信号处理过程中的波形失真,来确保采样数据的精准性。

同时在数字域处理时,数据的回归点数必须满足Nyquist定理,以免频谱混迭情况的发生。

1.2查表法5402的片内ROM中存有256字的正弦及余弦数据表,可以通过程序直接调用该表中的数据,由D/A回放出正弦波。

通过MATLAB模拟仿真自己生成的正弦数据表,不但可以解决频率单一的问题,还可以增加精度,并改善系统的兼容性。

1.3泰勒级数展开法任一角度的正弦及余弦波都可以展开成泰勒级数,取前五项的近似公式为:其中:α为角度值,ω为其对应的弧度值。

通过变换的α值,且利用弧度与频率之间的关系很容易实现变频处理。

1.4数字正弦振荡器数字正弦波振荡器的系统函数可表示为:对应的是在单位圆上有复共轭极点的二阶振荡器,共扼极点为:P1,2=e±jω0,其离散时域脉冲单位冲击响应响应:h(n)=Asin[(n+1)ω0]·u(n)实际应用中对于给定的冲激信号所产生的正弦信号对应的差分方程为:如果系统无阻尼且稳定,我们不对系统加入冲击信号,改变y(-2)的起始值,从而使系统满足起始条件。

基于DSP的信号发生器

基于DSP的信号发生器

基于DSP的信号发生器——正弦信号院系:班级:学号:姓名:老师:2015年12月15日一、DSP简介数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。

因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。

而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。

数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。

在过去的二十多年时间里,信号处理已经在通信等领域得到极为广泛的应用。

图1是数字信号处理系统的简化框图。

此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。

其中抗混叠滤波器的作用是将输入信号x(t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。

随后,信号经采样和A/D转换后,变成数字信号x(n)。

数字信号处理器对x(n)进行处理,得到输出数字信号y(n),经D/A转换器变成模拟信号。

此信号经低通滤波器,滤图1数字信号处理系统简化框图数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。

例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。

近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。

可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。

二、信号发生器简介信号源有很多种分类方法,其中一种方法可分为混和信号源和逻辑信号源两种。

其中混和信号源主要输出模拟波形,逻辑信号源输出数字波形。

基于DSP的正弦信号发生器

基于DSP的正弦信号发生器

基于DSP的正弦信号发生器1.正弦信号在各种科学和工程领域中广泛应用,如通信系统、音频处理、医学诊断等。

因此,制作一个能够生成正弦信号的设备是非常必要的。

传统的方法是使用模拟电路,但这种方法需要用到很多电子元器件,难以控制和调整。

同时,传统的模拟电路还容易受到电磁干扰、温度等环境因素的影响,导致输出的信号失真。

因此,数字信号处理(DSP)技术逐渐成为生成正弦波信号的常见方法,能够实现高精度、低失真的输出。

2. 设计概述本文介绍一种基于DSP的正弦信号发生器的设计。

该设计采用TMS320C5505数字信号处理芯片和信号解调电路,通过软件和硬件设计,实现了一个高精度、低失真的正弦信号发生器。

2.1 硬件设计本设计采用了TMS320C5505数字信号处理器集成电路作为主控芯片。

该芯片具有低功耗、高性能、灵活性和易于开发等优点。

除此之外,还需要电源模块、时钟模块、信号解调模块等。

2.2 软件设计本设计采用了C语言进行程序设计。

使用Code Composer Studio作为开发环境,将程序编译后烧录到芯片中。

代码的主要实现过程为:1.生成一个只包含一周期正弦波形的信号2.将该信号送入DA(Digital to Analog)转换器,使其变为模拟信号3.经过信号解调器后输出到外部接口信号的生成采用的是Taylor级数展开,可以实现高精度的波形生成。

信号解调电路主要是由低通滤波器、防干扰电路和放大电路等模块组成。

3. 实验结果经过实验测试,本设计输出的正弦波信号的频率可以在0~10kHz范围内任意设定。

信号的失真率小于0.1%。

同时,本设计还支持正弦波的相位调节和幅度调节等功能。

通过外部的控制,可以实现信号的精准控制和调节。

4.本文介绍了一种基于DSP的正弦信号发生器的设计,通过使用数字信号处理技术,实现了高精度、低失真的正弦波信号的生成。

该设计具有灵活性和可扩展性,可以为各种科学和工程领域提供高精度的正弦信号源。

基于DSP的正弦波信号发生器(汇编语言)

基于DSP的正弦波信号发生器(汇编语言)

正弦波信号发生器一、实验目的1.了解用泰勒级数展开法计算角度正弦值和余弦值;2.了解产生正弦信号的方法;3.熟悉使用汇编语言编写较复杂的程序;4.熟悉在CCS 环境下计算角度正弦值和余弦值及产生正弦波的方法;二、实验原理泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。

正弦函数和余弦函数可以展开成泰勒级数,其表达式:递推公式: sin()2cos()sin[(1)]sin[(2)]cos()2cos()sin[(1)]cos[(2)]nx x n x n x nx x n x n x =---=--- 由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x )、sin(n -1)x 、sin(n -2)x 和cos(n -2)x 。

用这种方法求少数点还可以,如产生连续正弦波、余弦波,则积累误差太大,不可取。

下面主要用泰勒级数展开法求正弦和余弦值,以及产生正弦波的方法。

三、实验内容与步骤1.用泰勒级数展开法计算sin(x)的值;(1)在 CCS 中新建项目:sinx.pjt ,建立文件sinx.asm 、vectors.asm 和sinx.cmd 。

并将此三个文件加入到项目中。

******************************************************* 用泰勒级数开展开式计算一个角度的正弦值 **sin(x)=x(1-x*x/2*3(1-x*x/4*5(1-x*x/6*7(1-x*x/8*9))))*******************************************************.title "sinx.asm".mmregs .def startSTACK: .usect "STACK",10start: STM #STACK+10,SPLD #d_x,DPST #6487H,d_x ;x-->d_x CALLsin_start end:B end sin_start:35792222sin()3!5!7!9! 111123456789(((())))x x x x x x x x x x x =-+-+=----⨯⨯⨯⨯24682222cos()12!4!6!8! 11112345678((()))x x x x x x x x x =-+-+=----⨯⨯⨯.def sin_startd_coeff .usect "coeff",4.datatable: .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_x .usect "sin_vars",1d_squr_x .usect "sin_vars",1d_temp .usect "sin_vars",1d_sinx .usect "sin_vars",1c_1 .usect "sin_vars",1.textSSBX FRCTSTM #d_coeff,AR5RPT #3MVPD #table,*AR5+STM #d_coeff,AR3STM #d_x,AR2STM #c_1,AR4ST #7FFFH,c_1SQUR *AR2+,A ;A=x^2ST A,*AR2 ;(AR2)=x^2||LD *AR4,B ;B=1MASR *AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2MPYA A ;A=T*A=x^2(1-x^2/72)STH A,*AR2 ;(d_temp)=x^2(1-x^2/72)MASR *AR2-,*AR3+,B,A ;A=1-x^2/42(1-x^2/72),T=x^2(1-x^2/72)MPYA *AR2+ ;B=x^2(1-x^2/42(1-x^2/72))ST B,*AR2 ;(d_temp)=x^2(1-x^2/42(1-x^2/72))||LD *AR4,B ;B=1MASR *AR2-,*AR3+,B,A ;A=1-x^2/20(1-x^2/42(1-x^2/72))MPYA *AR2+ ;B=x^2(1-x^2/20(1-x^2/42(1-x^2/72)))ST B,*AR2 ;(d_temp)=B||LD *AR4,B ;B=1MASR *AR2-,*AR3+,B,A ;A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))MPYA d_x ;B=x(1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72))))STH B,d_sinx ;sin(theta)RET.end*******************************************************中断向量文件vectors.asm******************************************************.title "vectors.asm".ref start.sect ".vectors"B start.end*******************************************************链接命令文件******************************************************vectors.objsinx.obj-O sinx.out-m sinx.map-estartMEMORY{PAGE 0:EPROM: org=0090H,len=0F70HVECS: org=0080H,len=0010HPAGE 1:SPRAM: org=1000H,len=1000HDARAM: org=2000H,len=2000H}SECTIONS{.text :>EPROM PAGE 0.data :>EPROM PAGE 0STACK :>SPRAM PAGE 1sin_vars :>DARAM PAGE 1coeff :>DARAM PAGE 1.vectors :>VECS PAGE 0}(2)编译、链接项目文件sinx.pjt。

基于DSP控制的正弦波和三角波发生器的设计毕业论文 精品

基于DSP控制的正弦波和三角波发生器的设计毕业论文 精品

毕业设计题目名称基于DSP控制的正弦波和三角波发生器的设计学院电气信息工程学院专业/班级自动化09102学生学号指导教师(职称)葛延津(教授)严海领(助教)摘要信号发生器发展到今天,在电子测试、电子设计、模拟仿真、通信工程中,扮演着一个相当重要的角色,有着相当广泛的应用,极大加快了电子测试与设计工作中的效率,在电子技术和信号仿真应用中已发挥了巨大的作用。

本文主要介绍了以TMS320VC5402 DSP为主的信号发生器的设计情况。

这是一个以DSP为核心来实现信号发生器的系统,该系统具有结构简单灵活,抗干扰能力强、产生频率较高、应用广泛等特点。

该系统的组成核心TMS320VC5402 DSP芯片是TI公司生产的16位定点处理芯片,它有运算速度快、具有可编程特性、接口灵活和外围电路丰富等特点。

选择该芯片作为设计信号发生器的核心芯片,能够提高信号发生器所产生信号的频率,使信号发生器有更加广泛的应用。

本设计的硬件部分是有该DSP芯片和D/A转换芯片TLC7528组成,DSP芯片用于产生各种波形,D/A转换芯片用于把数字信号转换为模拟信号。

在以上硬件的基础上,通过软件编程来实现三角波、正弦波等波形。

关键词:DSP;D/A转换器;信号发生器;波形AbstractSignal generator to today, in the electronic testing, electronic design, simulation, communications engineering, plays a very important role, has a very wide range of applications, greatly accelerate the efficiency of the electronic test and design work in the electronics technology and signal simulation applications has played a huge role. This paper describes the design to TMS320VC5402 DSP-based signal generator. This is a core DSP signal generator system, the system structure is simple and flexible, anti-interference ability, resulting in a higher frequency, widely used features.The System is comprised core TMS320VC5402 DSP chip is produced by TI 16-bit fixed-point processing chip, computing speed, programmable features, flexible interface and peripheral circuits rich features. Select the chip to chip as the core of the design of the signal generator, it is possible to improve the signal generator to produce the signal frequency, the signal generator has a broader application. The design of the hardware part is composed of the DSP chip and the D / A converter chip TLC7528 DSP chip for generating various waveforms, D / A converter chip used to convert digital signals to analog signals. On the basis of the above hardware, by software programming to achieve the waveform of the triangular wave, sine wave, etc..Keywords: DSP; D / A converter; signal generator; waveform目录第一章绪论.................................................... - 1 -1.1选题的背景............................................. - 1 -1.2选题的目的及意义....................................... - 1 - 第二章整体方案................................................ - 2 - 第三章硬件系统设计............................................ - 3 -3.1 系统的组成及实现功能................................... - 3 -3.2 硬件系统设计思想....................................... - 3 -3.3 硬件电路方案及电路原理设计 ............................ - 3 -3.4 相关电路介绍........................................... - 4 -3.4.1 核心电路芯片TMS320VC5402...................... - 4 -3.4.2 D/A 转换器TLC7528............................. - 10 -3.4.3 电源电路和晶振电路 ............................. - 14 - 第四章软件系统设计........................................... - 17 -4.1 ICETEK—B2.0说明............................. - 17 -4.2 三角波的设计方案..................................... - 18 - 4.3 正弦波的设计方案...................................... - 21 - 4.4 软件系统.............................................. - 25 - 第五章总结展望............................................... - 28 - 结束语........................................................ - 29 -致谢......................................................... - 30 - 参考文献...................................................... - 31 - 附录......................................................... - 32 -第一章绪论1.1选题的背景信号发生器,主要作为激励信号或仿真信号,广泛应用于电子设计、生物医疗、环保、机械运动、新型材料等各个领域。

基于Matlab_DSPBuilder的正弦信号发生器设计.

基于Matlab_DSPBuilder的正弦信号发生器设计.

基于Matlab/DSP Builder的正弦信号发生器设计引言近年来随着通信技术的不断发展,信号的正确传输显得日益重要,也就是说要有一个可靠的能产生稳定确信号的发生器,基于Matlab/DSP Builder的正弦信号发生器是利用Matlab/DSP Builder的模块进行的模快化设计,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了、易懂、易学。

使硬件在软件的控制下协调运作。

DSP Builder可以帮助设计者完成基于FPGA的DSP系统设计设计,除了图形化的系统建模外,还可以完成及大部分的设计过程和仿真,直至将设计文件下载到DSP 开发板上。

此次实验的目的就是将两者的优势有机的结合在一起,利用DSP的优势开发正弦信号发生器。

在设计中主要采用DSP Builder库中的模块进行系统的模型设计,然后再进行Simulink仿真。

1.设计思想1.1 DSP Builder特点DSP Builder系统级(或算法级设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模和RTL(硬件实现两个领域的设计工具连接起来,最大程度的发挥了两种工具的优势。

DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simulink,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compilder把Matlab/Simulink的设计文件(.mdl转换成相应的硬件描述语言VHDL 设计文件(.vhd,以及用于控制和编译的tcl脚本。

而对后者的处理可以用Quartus II 来实现。

1.2 QuartusII特点QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,是单芯片可编程系统(SOPC设计的综合性环境和SOPC开发的基本设计工具,并且为Altera DSP开发包进行系统模型设计提供了集成综合环境。

QuartusII完全支持VHDL的设计流程,其内部嵌有VHDL逻辑综合器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

loop3:
loop4: sinx:
table_s
d_coef_s d_xs d_squr_xs d_temp_s d_sinx d_1_s
STL STM STM STM PORTW B
A,*AR6+ #sin_x,AR6 #1,AR0 #360,BK *AR6+0%,PA0 loop4
.def .data .word .word .word .word .usect .usect .usect .usect .usect .usect .text SSBX STM RPT MVPD STM STM STM ST
cosx: d_coef_c table_c
d_xc d_squr_xc
SQUR ST ||LD MASR MPYA STH MASR MPYA St ||LD MASR MPYA ST ||LD MASR MPYA STH RET
.def .usect .data .word .word .word .word .usect .usect
4. 设计方案
本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控 制芯片。
通过计算一个角度的正弦值和余弦值程序可实现正弦波,其步骤如 下: 1. 利用sinx和cosx子程序,计算0°~45°(间隔为0.5°)的正弦和
余弦值 2. 利用sin(2x)=2sin(x)cos(x)公式,计算0°~90°的正弦值(间隔
:>EPROM
PAGE 0
:>EPROM
PAGE 0
:>SPRAM
PAGE 1
:>DARAM1 PAGE 1
:>DARAM1 PAGE 1
:>DARAM2 PAGE 1
:>DARAM2 PAGE 1
: align(512){} >
:>VECS PAGE 0结果及分析
将程序装载到DSP目标芯片中,波形实现结果可以在CCS图形显示界面直观地表示出来
*AR2+,A A,*AR2 *AR4,B *AR2+,*AR3+,B,A A A,*AR2 *AR2-,*AR3+,B,A *AR2+ B,*AR2 *AR4,B *AR2-,*AR3+,B,A *AR2+ B,*AR2 *AR4,B *AR2-,*AR3+,B,A d_xs B,d_sinx
d_xc,d_cosx "coef_c", 4
1. 设计目的
设计一个基于DSP的正弦信号发生器
2. 设计内容
利用基于CCS开发环境中的C54X汇编语言来实现正弦信号发生装 置。
三.设计原理
一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。 查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精 度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少, 具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失 真度就越小。本文采用了泰勒级数展开法。一个角度为θ的正弦和余弦 函数,可以展开成泰勒级数,取其前5项进行近似得:
为1°) 3. 通过复制,获得0°~359°的正弦值 4. 将0°~359°的正弦值重复从PA口输出,便可得到正弦波
3. 软件操作
利用 CCS 集成开发环境,用户可以在一个开发环境下完成工程 定义、程序 编辑、编译链接、调试和数据分析等工作环节。
1. 创建工程(project)文件 选择 Project→New,在“Project”文本框中键入将要创建
286
PA0
.set 0
start:
loop1: loop2:
.text STM STM STM STM STM RPTB LDM LD STL STL CALL CALL LD LD MPYA STH MAR STM STM RPTB LD STL STM STM RPTB LD NEG
#STACK+10,SP k_theta,AR0 0,AR1 #sin_x,AR6 #90,BRC loop1-1 AR1,A #d_xs,DP A,@d_xs A,@d_xc sinx cosx #d_sinx,DP @d_sinx,16,A @d_cosx B,1,*AR6+ *AR1+0 #sin_x+89,AR7 #88,BRC loop2-1 *AR7-,A A,*AR6+ #179,BRC #sin_x,AR7 loop3-1 *AR7+,A A
输出结果显示,在CCS图形观察窗口得到了频率稳定,信号干扰小,波 形失真度较小的正弦信号;
7. 设计总结心得
通过这次的课程设计使我进一步加深了对于DSP这门课程的学习 以及对于平时所学内容的实际应用。在设计中发现问题和同学互 相讨论研究增加了团队合作的能力。在输入程序时发现编程确实 是要求很认真细心的,如果稍有差错就会导致整个程序的错误, 也由此体现了DSP这门课程的严谨性。相信在以后的学习中一定 会更好的应用所学内容的。
选择 Project→Build,系统提示没有出错信息后,系统自动 生成一个可执行文件,sine.out 文件。 4.载入可执行文件
选择 File→Load Program 载入编译链接好的可执行文件 sine.out 5.运行程序
选择 Debug→Run运行,可以通过查看内存表等方法,看到 程序运行的结果。 6.观察数据和图形 选择 View→Graph→Time/Frequence
0249H 0444H 0AABH 4000H "cos_vars",1 "cos_vars",1
d_temp_c d_cosx c_1_c
.usect .usect .usect .text SSBX STM RPT MVPD STM STM STM ST SQUR ST ||LD MASR MPYA STH MASR MPYA ST ||LD MASR SFTA NEG MPYA MAR RETD
PAGE 1: SPRAM: org=0060H, len=0020H DARAM1: org=0080H, len=0010H DARAM2: org=0090H, len=0010H DARAM3: org=0200H, len=0200H
}
SECTIONS {
.text .data STACK sin_vars coef_s cos_vars coef_c sin_x 1 .vectors }
ADD
*AR4,16,B
STH
B,*AR2
RET
.end
正弦波程序链接命令文件sin.cmd -x.\Debug\vectors.obj -x.\Debug\sin.obj -o sin.out -m sin.map -e start MEMORY {
PAGE 0: EPROM: org=0E00H,len=1000H VECS: org=0FF80H,len=0080H
的工程项目名,本例工程项目名为“sin” 2. 向工程中添加文件 选择 Project→Add Files to Project,将 sine.asm文件自
动添加到 Project→Source 中。 用同样的方法 将 sine.cmd 文 件添加到对应的目录中。
3. 构建工程,工程所需文件编辑完成后,可以对该工程进行 编译链接,产生可执行文件, 为调试做准备。
"cos_vars",1 "cos_vars",1 "cos_vars",1
FRCT #d_coef_c,AR5 #3 #table_c,*AR5+ #d_coef_c,AR3 #d_xc,AR2 #c_1_c,AR4 #7FFFH,c_1_c *AR2+,A A,*AR2 *AR4,B *AR2+,*AR3+,B,A A A,*AR2 *AR2-,*AR3+,B,A *AR2+ B,*AR2 *AR4,B *AR2-,*AR3+,B,A A,-1,A A *AR2+ *AR2+
d_xs,d_sinx
01C7H 030BH 0666H 1556H "coef_s",4 "sin_vars",1 "sin_vars",1 "sin_vars",1 "sin_vars",1 "sin_vars",1
FRCT #d_coef_s,AR5 #3 #table_s,*AR5+ #d_coef_s,AR3 #d_xs,AR2 #d_1_s,AR4 #7FFFH,d_1_s
式中:x为θ的弧度值,x=2πf/fs(fs是采样频率;f是所要发生 的信号频率。
正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度 值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一 点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基 于泰勒展开法的SIN子程序组成,相应的软件流程图如图。
调整输出图形参数
5. 源程序
正弦波源程序sin.asm .title "sin.asm"
.mmregs
.def start
.def
d_xs,d_sinx,d_xc,d_cosx,sinx,cosx
sin_x:
.usect "sin_x",360
STACK:
.usect "STACK",10
k_theta .set
相关文档
最新文档