- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TMSC4xDSP的函数发生器的设计
广东石油化工学院
DSP综合实验报告
课程名称: DSP系统开发与设计
实验题目: 函数信号发生器
学 号:
姓 名:
班 级:
指导老师:
实验日期: 2012-6-11至2012-6-15
基于TMS320C54x DSP的函数发生器的设计
设计目的:
了解数字波形产生的原理;
学习用DSP产生各种波形的基本方法和步骤;
掌握DSP与D/A转换器接口的使用。
设计设备
计算机、DSP仿真器、ZYE1801B实验箱、20M示波器
设计原理
波形产生是DSP的重要应用之一。而正弦信号发生器的设计则是波形产生应用的一个重要方面,它在通信领域有着广泛的应用。
通常有两种方法可以产生正弦波,分别为查表法和泰勒级数展开法。
查表法是通过查表的方式来实现正弦波,主要用于对精度要求不很高的场合。
泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。
本次主要用泰勒级数展开法来实现正弦波信号。
产生正弦波的算法
正弦函数和余弦函数可以展开成泰勒级数,其表达式:
取泰勒级数的前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。1. 熟悉本实验原理。
2. 阅读本实验样例程序。
3. 依次连接主板上的PC10、PC11、TP32到PC15、PC16、GND;依次连接主板上的PC13、PC14、M58到插板上的DJ0、DJ1、S12。
4. 将计算机与ZYE1801C实验箱通过并口P1相连。
5. 运行CCS软件客户软件\DSP程序\test19,通过插板上的JP1,JP2,JP3来选择不同的波形。
6. 用示波器观察DA0的输出波形。
六、设计的硬件结构框图
实验代码
先计算0~45°(间隔为0.5°)的sin和cos值,在利用sin2a=2sina*cosa求出sin值(间隔为1°)。然后,通过复制,获得0~359°的正弦值。重复向PA口输出,便可得到正弦波。
.title bxfsq.asm
.mmregs
.global main
.def start
.ref d_xs,d_sinx,d_xc,d_cosx,sinx,cosx
sin_x: .usect sin_x,360
cos_x: .usect cos_x,360
fangbo: .usect fangbo,360
STACK: .usect STACK,10H
k_theta: .set 286
TIM0 .set 0024H
PRD0 .set 0025H
TCR0 .set 0026H
PA .set 0100H
.text
start:;产生正弦波数据
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,AR7
STM #88,BRC
RPTB loop2-1
LD *AR7-,A
STL A,*AR6+
loop2:
文档评论(0)