基于DSP的正弦信号发生器正文.docx

上传人:b****6 文档编号:3641772 上传时间:2022-11-24 格式:DOCX 页数:15 大小:325.92KB
下载 相关 举报
基于DSP的正弦信号发生器正文.docx_第1页
第1页 / 共15页
基于DSP的正弦信号发生器正文.docx_第2页
第2页 / 共15页
基于DSP的正弦信号发生器正文.docx_第3页
第3页 / 共15页
基于DSP的正弦信号发生器正文.docx_第4页
第4页 / 共15页
基于DSP的正弦信号发生器正文.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于DSP的正弦信号发生器正文.docx

《基于DSP的正弦信号发生器正文.docx》由会员分享,可在线阅读,更多相关《基于DSP的正弦信号发生器正文.docx(15页珍藏版)》请在冰豆网上搜索。

基于DSP的正弦信号发生器正文.docx

基于DSP的正弦信号发生器正文

第1章绪论

1.1引言

数字信号处理器(DSP)是在模拟信号变成数字信号以后进行高速实时处理的专用处理器。

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

数字信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。

而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号(例如声音信号)都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。

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

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

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

而本文借助DSP运算速度高,系统集成度强的优势设计的这种信号发生器,比以前的数字式信号发生器具有速度更快,且实现更加简便。

1.2DSP简介

数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

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

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

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

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

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

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

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

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

此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号y(t)。

 

图1.1数字信号处理系统简化框图

数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。

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

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

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

1.3课题研究的目的

通过对课程设计任务的完成,使学生理解课程教学的理论内容,并且能够掌握和熟悉DSP的开发流程和基本的编程方法。

同时,由于设计中涉及到各种器件的使用,可以提高学生综合运用各种技术和知识的能力。

1.4任务和要求

设计一个基于DSP的正弦信号发生器,要求:

1.总体方案设计;

2.设计出软件编程方法,并写出源代码;

3.仿真与结果分析;

4.论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体。

 

第2章CCS简介

2.1CCS工作模式

CCS是TI公司针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。

CCS有两种工作模式,即:

Ø软件仿真器模式:

可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。

Ø硬件在线编程模式:

可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。

Ø

2.2CCS的组成

CCS的开发系统主要由以下组件构成

1.TMS320C54x集成代码产生工具

用来对C语言、汇编语言或混合语言编程的DSP源程序进行编译汇编,并链接成为可执行的DSP程序。

主要包括汇编器、链接器、C/C++编译器和建库工具等。

2.CCS集成开发环境

集编辑、编译、链接、软件仿真、硬件调试和实时跟踪等功能于一体。

包括编辑工具、工程管理工具和调试工具等。

3.DSP/BIOS实时内核插件及其应用程序接口API

主要为实时信号处理应用而设计。

包括DSP/BIOS的配置工具、实时分析工具等。

4.实时数据交换的RTDX插件和相应的程序接口API

可对目标系统数据进行实时监视,实现DSP与其他应用程序的数据交换。

5.由TI公司以外的第三方提供的应用模块插件

2.3CCS的主要功能

CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下

①具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;

②含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;

③高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;

④工程项目管理工具可对用户程序实行项目管理。

在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;

⑤基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;

⑥断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置;

⑦探测点工具,可用于算法的仿真,数据的实时监视等;

⑧分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;

⑨数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;

⑩提供GEL工具。

利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;

⑪支持多DSP的调试;

⑫支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换;

⑬提供DSP/BIOS工具,增强对代码的实时分析能力。

2.4CCS的安装及设置

在使用CCS之前,必须首先按照CCS的产品说明安装CCS软件;其次创建CCS系统配置,进行环境设置;最后,按照具体使用的仿真器,安装目标板和驱动程序。

2.5系统配置要求

①机器类型:

IBMPC及兼容机;

②操作系统:

MicrosoftWindows95/98/2000或WindowsNT4.0;

③机器资源配置要求:

机器部件

最低配置

推荐配置

内存

32MB

128MB

剩余硬盘空间

100MB

200MB

CPU

Pentium

PentiumⅢ以上

显示分辨率

SVGA800600

SVGA1024768

主板插槽

一条空余EISA插槽

一条空余EISA插槽

图2.1机器资源配置图

 

第3章实现原理

3.1总体方案设计

1.基于DSP的特点,本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。

2.用泰勒级数展开法实现正弦波信号。

3.设置波形时域观察窗口,得到其滤波前后波形变化图;

4.设置频域观察窗口,得到其滤波前后频谱变化图。

3.2正弦波信号发生器原理

正弦波信号发生器已被广泛地应用于通信、仪器仪表和工业控制等领域的信号处理系统中。

通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。

查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。

泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。

本次主要用泰勒级数展开法来实现正弦波信号。

产生正弦波的算法

正弦函数和余弦函数可以展开成泰勒级数,其表达式:

 

 

取泰勒级数的前5项,得近似计算式:

 

 

递推公式:

sin(nx)=2cos(x)sin[(n-1)x]-sin[(n-2)x]

cos(nx)=2cos(x)sin[(n-1)x]-cos[(n-2)x]

由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。

3.3总体方案设计

1.基于DSP的特点,本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。

2.用泰勒级数展开法实现正弦波信号。

3.设置波形时域观察窗口,得到其滤波前后波形变化图;

4.设置频域观察窗口,得到其滤波前后频谱变化图。

第4章硬件设计

4.1硬件组成

基于DSP的信号发生器的硬件结构图如图3.1所示,它主要由DSP主控制器,输出D/A通道和人机界面等几个主要部分组成。

 

图4.1基于DSP的信号发生器系统框图

4.2控制器部分

本系统采用TI公司的TMS320LF2407DSP处理器,该器件具有外设集成度高,程序存储器容量大,A/D转换精度高,运算速度高,I/O口资源丰富等特点,芯片内部集成有32KB的FLASH程序存储器、2KB的数据/程序RAM,两个事件管理器模块(EVE和EVB)、16通道A/D转换器、看门狗定时器模块、16位的串行外设接口(SPI)模块、40个可单独编程或复用的通用输入输出引脚(GPIO)以及5个外部中断和系统监视模块。

TMS320LF2407芯片中的事件管理模块(EV)是一个非常重要的组成部分。

SPWM波形的产生和输出就是由这一部分完成的,它由两个完全相同的模块(EVA和EVB)组成,每个模块都含有2个通用定时器、3个比较器、6至8个PWM发生器、3个捕获单元和2个正交脉冲编码电路(QEP)。

由于TMS320LF2407有544字的双口RAM(DARAM)和2K字的单口RAM(SARAM);而本系统的程序仅有几KB,且所用RAM也不多,因此不用考虑存储器的扩展问题,而对于TMS320LF2407的I/O扩展问题,由于TMS320LF2407器件有多达40个通用、双向的数字I/O(GPIO)引脚,且其中大多数的基本功能和一般I/O复用的引脚,而实际上,本系统只需要17路I/O信号,这样,就可以为系统剩余50%多的I/O资源,因此可以说,该方案既不算浪费系统资源,也为系统今后的升级留有余地。

4.3微输出D/A通道部分

本系统的输出通道部分主要负责实现波形的输出,此通道的入口为TMS320LF2407的PWM8口,可输出SPWM等幅脉冲波形,出口为系统的输出端,这样,经过一系列的中间环节,便可将PWM脉冲波转化为交流正弦波形,从而实现正弦波的输出,其原理框图如图4.2所示。

 

图4.2输出通道的原理结构

图4.2中的缓冲电路的作用是对PWM口输出的数字量进行缓冲,并将电压拉高到5V左右,以供后级模拟电路滤波使用。

这一部分电路由两个芯片组成。

一片用三态缓冲器,由于PWM口的输出为3.3V的TTL电平,这样,在设计时就应当选用输入具有5V的TTL输入,CMOS输出电平的转换芯片(如TI公司的74HCT04);另一片则可选用TOSHIBA公司出品的光电耦合器6N137;输出端连接的5V精密稳压电源可选用BURR-BROWN公司生产的REF02型精密稳压电源,以输出标准的5V电压。

系统中的减法电路的主要作用是把0-10V直流脉动信号的转换成-5~+5V的正弦交流信号,并使其电压增益为1。

设计使可利用差分式电路来实现其功能,为了简化电路,可以选用较为常用的AD公司的AD524,并将AD524接成电压跟随器的形式,同时适当的选取电阻以满足要求,此外,为了使产生的正弦波信号具有2-5mA的驱动能力,可选用AD624来构成末级的信号放大电路。

AD624是高精度低噪声仪用放大器,若外接一只增益电阻,即可得到1-1000之间的任意增益值,其误差小于1%。

由于AD624的建立时间只有15μs,所以它非常适宜在高速数据采集系统中使用。

4.4人机接口部分

4.4.1驱动器设计

位驱动器电路由两片集成电路组成,即由位驱动的CMOS芯片和将TTL电平转换成CMOS电平的电平转换芯片组成,电平转换芯片可以和输出通道的电平转换芯片共用一片74HCT244(本部分使用4路,输出通道使用3路),其主要作用是对DSP输出的3.3VTTL电平与5VCMOS电平进行匹配,从而带动具有CMOS电平的位驱动器,根据动态扫描显示的要求,位驱动器需要选用每路输出吸收电流都要大于200mA的芯片,因此,本设计选用了TI公司的74LS06来做LED的大电流驱动器件。

4.4.2键盘设计

本系统选用四个独立式按键,分别接入PF3-PF6口,并使用四个220Ω上拉电阻接VCC。

所谓独立式,就是将每一个独立键按一对一地直接接到I/O输入线上,而在读键值时,直接读I/O口,每一个键的状态通过读入键值的一位(二进制位)来反应,所以这种方式也称为一维直读方式,这种方式的查键软件比较简单,但占用I/O线较多,一般在键的数量较少时采用,不过,由于DSP芯片有足够的I/O接口可供使用,因而可大大方便设计,设计时可以充分利用这一特点来连接硬件,至于按键的削抖动措施,则可在软件中完成。

第5章软件设计

软件设计是基于CCS开发环境的。

CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。

它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。

本文采用了与硬件开发板相结合的在线编程模式,通过CCS软件平台上应用C语言及C54X汇编语言来实现正弦信号发生装置。

软件设计的思想是:

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

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

 

图5.1主程序流程图

程序中,N值为产生正弦信号一个周期的点数,产生的正弦信号频率与N数值大小及D/A转换频率FDA有关,产生正弦波信号频率f的计算公式为:

f=fDA/N

 因此,选择每个正弦周期中的样点数,改变每个采样点之间的延迟,即通过调节N值产生不同频率的波形,同时也可以利用软件改变输出的离散波形值乘以相应的缩放因子A,从而调节波形的幅度。

源程序代码:

.mmregs

.defstart

.defsin_start,d_x,d_sinx

STACK:

.usect"STACK",10H

start:

STM#STACK+10,SP

LD#d_x,DP

ST#6487H,d_x

CALLsin_start

end:

Bend

sin_start:

.defsin_start

d_coeff.usect"coeff",4

.data

table:

.word01C7H;C1=1/(8*9)

.word030BH;C2=1/(6*7)

.word0666H;C3=1/(4*5)

.word1556H;C4=1/(2*3)

d_x.usect"sin_vars",1

d_squr_x.usect"sin_vars",1

d_temp.usect"sin_vars",1

d_sinx.usect"sin_vars",1

c_l.usect"sin_vars",1

.text

SSBXFRCT

STM#d_coeff,AR5

RPT#3

MVPD#table,*AR5+

STM#d_coeff,AR3

STM#d_x,AR2

STM#c_l,AR4

ST#7FFFH,c_l

SQUR*AR2+,A

;A=x^2

STA,*AR2

;(AR2)=x^2

LD*AR4,B;B=1

MASR*AR2+,*AR3+,B,A

;A=1-x^2/72,T=x^2

MPYAA

;A=T*A=x^2(1-x^2/72)

STHA,*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))

STB,*AR2

;(d_temp)=x^2(1-x^2/42(1-x^2/72))

LD*AR4,B

;B=1

MASR*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)))

STB,*AR2

;(d_temp)=B

LD*AR4,B

;B=1

MASR*AR2-,*AR3+,B,A;

A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))

MPYAd_x;

B=x(1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72))))

STHB,d_sinx

;sin(theta)

RET

.end

.end

 

第6章系统仿真

6.1CCS工程项目的调试

6.1.1程序的运行控制

在调试程序的过程中,经常需要复位、执行、单步执行等操作。

这些操作称为程序运行控制。

CCS开发环境提供了多种调试程序的运行操作。

用户可以使用调试工具条或调试菜单“Debug”中的相应命令控制程序的运行。

1.创建工程项目

①进入CCS集成开发环境

②创建一个新的工程项目

③将源程序文件、链接命令文件、库文件和头文件添加到工程项目中

④单击所有“+”项观看工程项目所包含的文件双击各图标,打开各文件

6.1.2工程项目的编译

①工程项目的编译链接

6.1.3设置探测点

①将volume.out文件装入目标板

②设置探测点

③为探测点选择链接的数据文件

④设置数据文件的属性

⑤将数据文件链接到探测点

⑥关闭“FileI/O”对话框

6.1.4工程项目的调试和结果的图形显示

①设置断点

②设置输入变量的图形属性

③设置输出变量的图形属性

④运行程序,显示图形

⑤调整输出增益

6.1.5观察寄存器的运行数据

6.2仿真波形图

图6.1波形实现结果

图6.2信号频谱图

  输出结果显示,在CCS图形观察窗口得到了频率稳定,信号干扰小,波形失真度较小的正弦信号。

第7章总结

本次课程设计中遇到一些课堂中从未有过的问题,通过网络查找和同学交流,大大促进了设计进程。

并在过程中进一步提高自身的创作、创新水平,扎实基础,扩展所学。

并且此次课程设计,基于课程理论知识和网上资料,使我对数字信号处理课程有了更深一步的了解和掌握,对利用CCS软件编程的数字信号处理方法有了进一步的了解。

在理论课的基础上进行实验实习,是对本门课程的深入学习和掌握,在以后的工作学习中,数字信号的处理都是采用计算机仿真的方法进行测试,因此,掌握基于计算机的数字信号处理方法对以后的工作和学习有很大的帮助。

这样一个课程设计对我们的发展有着极大的帮助!

最后,这个设计之所以能按时完成离不开老师的指导和同学的帮助,在这我对他们表示衷心的感谢。

 

参考文献

[1]戴明帧.数字信号处理的硬件实现[M].北京:

航空工业出版社,1988

[2]张伟雄,陈亮,徐光辉.DSP集成开发与应用实例[M]。

北京:

电子工业出版社

[3]刘湘涛、江世民.单片机原理与应用[M].电子工业出版社,2006.

[4]戴明桢,周建江.TMS320C54XDSP结构,原理及应运[M]北京航空航天出版社

[5]胡广书.现代信号处理教程[M].北京:

清华大学出版社,2005

致谢

在这次课程设计的撰写过程中,我学到了很多书本上学不到的知识。

在这也要感谢一部分人,正是他们的指导与支持,才有了这篇论文的诞生。

首先我要感谢刘伟春老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多设计上的难题,让我能把系统做得更加完善。

在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢陈佳同学,他为我解决了不少我不太明白的程序调试方面的难题。

同时也感谢学校为我提供良好的做课程设计的环境。

最后,衷心的感谢他们!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1