网站大量收购独家精品文档,联系QQ:2885784924

基于TMS320C54xDSP的函数发生器的设计.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于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。 为了减少使用的存储器,可以采用正弦信号的对称性,复制90~180度的正弦值和180~360度的正弦值。 余弦信号的产生同样可以采用多种方法产生。一是采用公式计算得到,二是采用正弦信号变换得到。 方波信号产生可以通过轮流输出两个不同大小的数值通过A/D转换得到。 设计内容 本设计题目以TMS320C54x DSP为目标器件,设计并实现基于迭代法的“正弦序列生成”算法及其DSP程序。 设计步骤: 熟悉正弦信号发生器的算法以及在DSP系统的实现 熟悉A/D转换的原理及实验箱的链接 掌握A/D转换的程序的编写 编写DSP的正弦信号发生器的程序 编写定时程序产生100HZ、1KHZ、10KHZ的正弦、余弦以及100K、1M的方波信号,每种类型的波形单周期360个点。 编写按键程序,控制输出。用三个拨码开关对DSP进行输入,输入的0~7对应的8种不同的波形。 用示波器观察各个波形 分析波形失真的原因。 实验步骤 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的输出波形。 六、设计的硬件结构框图 3位数字量输入 12位数字量输出 3位数字量输入 12位数字量输出 模拟量输出 DSP芯片 D/A转换器 实验代码 先计算0~45°(间隔为0.5°)的sin和cos值,在利用sin2a=2sina*cosa求出sin值(间隔为1°)。然后,通过复制,获得0~359°的正弦值。重复向PA口输出,便可得到正弦波。 .mmregs .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 sanjiao: .usect sanjiao,360 STACK: .usect STACK,10H k_theta .set 286;theta=Pi/360(0.5degree) theta .set 182 TIM0 .set 0024H PRD0 .set 0025H TCR0 .set 0026H PA0 .set 0100H;port A PD0 .set 0120H .text start: STM #0,SWWSR STM #STACK+10H,SP STM #3FA0H,PMST STM #0010H,TCR0 ST #0,*(PD0) set: STM k_

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档