0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使DSP数字振荡器产生移相正弦波

电子设计 来源:郭婷 作者:电子设计 2019-01-09 09:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引 言

产生数字式移相信号的方法有很多。传统的直接数字频率合成(DDS)移相原理是先将正弦波信号数字化,并形成一张数据表存入两片ROM芯片中,此后可通过两片。D/A转换芯片在计数器的控制下连续地循环输出该数据表,就可获得两路正弦波信号。当两片D/A转换芯片所获得的数据序列完全相同时,则转换所得到的两路正弦波信号无相位差。当两片D/A转换芯片所获得的数据序列不同时,则转换所得到的两路正弦波信号就存在着相位差。相位差的值与数据表中数据的总个数及数据地址的偏移量有关。这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。数据的偏差可以通过外部微处理器来获得相应的数字量输入,这个数值对应着正弦信号的移相角度。直接频率合成方法具有频率转换时间短、相位噪声性能好、精度高,产生的信号频率范围宽等优点,但由于需要采用地址、相位计算、访问存储器操作等环节,导致直接频率合成器结构复杂、成本高、移相分辨率低。本文利用DSP技术,通过数值迭代方法,即用DSP数字振荡器的实现原理获得两路正弦波信号。通过仿真,硬件实现,能得到设定参数的两路正弦波输出,达到了设计目的,并具有调整方便灵活、分辨率高等特点。数值迭代方法能精确计算角度的正弦值,只需较小的存储空间,选择正弦周期中的样点数、改变样点间的延迟,能产生不同频率的波形,可利用软件改变波形幅度及相位。

1 波形及移相波形发生器的DSP实现原理

利用DSP通过运算,用叠代的方法产生正弦信号,即数字振荡器。数字振荡器的单位冲击响应为sin(nωT+θ)·u(n)即系统在δ(n)的激励下,产生振荡,输出相位为θ的正弦序列,该系统的系统函数就是冲击响应的Z变换,即

如何使DSP数字振荡器产生移相正弦波

当n≥3时有:y(n)=2cosωT·y(n-1)-y(n-2)。在n≥3以后,y(n)能用y(n-1)和y(n-2)算出,这是一个递归的差分方程。因此得到如下结论:只要已知系统输出正弦信号角频率ω和采样周期T就可以得到系统差分方程,系统只需每隔T秒时间计算一次差分方程,就可得到当前正弦采样序列y(n)的值。设定的y(1)、y(2)初值不同,初始相位就不同。在设计中,主程序通过键盘输入频率及相位差等数据,在初始化时依输出信号频率、采样速率及相位差等数据先计算出两路正弦信号的初始值y1(1)、y1(2)和y2(1)y2(2),然后开放定时器中断。以后每次进入定时器中断服务程序时,利用前面的y1(1)、y1(2)和y2(1)y2(2),计算出新的y1(0)和y2(0)。虽然两次计算并输出y1(0)和y2(0)有一定的延迟,但由于DSP的高速流水线运行及McBSP高速串行输出,所引起误差将很小。

2 系统硬件实现方案

基于TMS320VC5416 DSP的两路输出移相正弦波的系统结构如图1所示。该系统的中央处理单元采用美国TI(德州仪器)公司的高性能定点数字信号处理芯片TMS320VC5416,TMS 320 VC54.16是TI公司专门针对便携式设备设计的一款低功耗、高性能定点数字信号处理器,同C54系列其它处理器相比运行速度达到160MPIS,片内RAM达到128K,程序可寻址空间达到8M,为大量数据处理提供了丰富条件。特别是VC5416提供了多种片内外设资源;软件可编程等待状态产生器、可编程锁相环时钟产生器、1个16位计时器、6通道直接内存访问控制器(DMA)、3个多通道缓冲串口(McBSP)、8位增强型HPI接口等。此外,TMS320VC5416支持C和汇编语言混合编程,高效的流水线操作和灵活的寻址方式使其特别适合高速实时信号处理。由于系统有两路正弦信号输出,系统采用两路信号分时传输方式。TLC320AD50C是TI公司出品的一块将A/D和D/A转换功能集成在一起的模拟接口芯片,采用∑-△技术在低系统成本下实现了高精度的A/D和D/A转换。该芯片由一对16 b同步串行转换通道组成,在ADC之后有一个抽取滤波器,在DAC之前有一个插值滤波器。TLC320AD50C支持主从两种工作方式,并且最多支持三个从设备。利用该特点,系统将两片TLC320AD50C串联,使其中一个为主设备另一个为从设备,通过TMS320VC5416的多通道缓冲串口McBSP实现与两片TLC320AD50C间的串行通信。TMS320VC54.16控制两片TLC320AD50C以时分复用方式将数据传送给两片TLC320AD50C进行D/A转换输出。其中AD50C1的M/S接高电平,AD50C2的M/S接低电平,并且利用VC5416的XF引脚为AD50C提供主、次通信选择信号。TLC320AD50被广泛应用于音频数据采集处理中,它可以与TMS320C54xDSP的McBSP无缝串行连接进行数据采集、存储和处理。SCLK输出时钟,DIN串行输入,DOUT串行输出,FS帧同步信号输出,对应DSP的各相应引脚。MCBSP具有特点:①串口的接收,发送时钟既可由外部设备提供,又可由内部时钟发生器提供;②帧同步信号和数据时钟信号的极性可编程,内部时钟和帧信号发生器也可由软件编程控制;③串口的信号发送和接收部分既可单独运行,又可以在一起配合工作;④CPU的中断信号和DMA的同步信号使得McBSP串口可由CPU控制运行,还可脱离CPU通过DMA直接存取内存单独运行;⑤多通道选择部分使得串口具备了多通道信号的通信能力,他的多通道接收和发送能力可达128个信道;⑥数据宽度可在8b、12b、16b、20b、24b、32b中任意选择,并可对数据进行A律和U律压缩和扩展。McBSP串口包括一个数据通道和一个控制通道,数据通道完成数据的发送和接收。McBSP通过DX引脚发送数据、DR引脚接收数据。控制通道完成的任务包括内部时钟的产生、帧同步信号的产生、对这些信号的控制以及多通路的选择等。控制通道还负责产生中断信号送往CPU,产生同步事件信号通知DMA控制器。控制信息则是通过控制通道以时钟和帧同步信号的形式传送。

如何使DSP数字振荡器产生移相正弦波

3 系统软件设计及CCS仿真结果

系统软件主要由BootLoader下载程序、系统初始化、键盘显示、定时中断处理等几个模块构成。系统开始上电时首先执行BootLoader程序,将目标程序从外部FLASH中调入片内RAM中执行。

系统初始化程序完成对TMS320VC5416各控制寄存器,McBSP串口控制寄存器,定时器以及TLC320AD50C相应寄存器的初始化设置。主程序及定时中断服务程序流程图如图2所示。

如何使DSP数字振荡器产生移相正弦波

设定正弦波频率为2 kHz,采样频率40 kHz,移相60度的CCS仿真波形如3所示。

如何使DSP数字振荡器产生移相正弦波

4 结束语

本文提出了一种基于DSP数字振荡器产生移相正弦波的设计方法。实验结果表明系统产生的波形稳定,抗干扰能力强,频率、相位和幅度调节方便,精度高,输出频率范围为20 Hz~20 kHz,相移0~360°,移相分辨率可高达0.001度。另外系统若连接高速DA转换芯片,可大大提高输出频率范围。该设计方案简单可行、新颖实用,有推广应用价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    559

    文章

    8214

    浏览量

    363849
  • 芯片
    +关注

    关注

    462

    文章

    53530

    浏览量

    458870
  • 振荡器
    +关注

    关注

    28

    文章

    4155

    浏览量

    142309
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    学子专区—ADALM2000活动:脉冲振荡器

    作者: Antoniu Miclaus,系统应用工程师 目标 本实验活动的目标是研究振荡器的特性。振荡器产生脉冲输出(短周期脉冲)并由输入方波控制。 背景知识 正弦波
    的头像 发表于 09-22 11:12 6740次阅读
    学子专区—ADALM2000活动:脉冲<b class='flag-5'>振荡器</b>

    信号发生产生正弦波的频率精准调节方法

    一、技术原理与核心方法 正弦波频率的精准调节依赖于信号发生的内部架构与算法,常见技术包括: 1. 直接数字频率合成(DDS)技术 通过数字信号处理生成
    的头像 发表于 08-27 17:49 717次阅读
    信号发生<b class='flag-5'>器</b><b class='flag-5'>产生</b><b class='flag-5'>正弦波</b>的频率精准调节方法

    谐振振荡器的区别

    产生谐振,而抑制其他频率信号。 振荡器的主要功能则是 产生周期性变化的信号 。它能够输出具有稳定频率、幅值和波形的电信号,如正弦波、方波、三角
    的头像 发表于 07-01 10:51 535次阅读

    TI 正弦波发生电路

    该文档介绍了德州仪器的一款正弦波发生电路,其设计目标为实现8V/V的交流增益、10kHz的振荡频率,采用±2.5V电源供电;电路通过四通道运放TLV9064缓冲各RC滤波级以生成低失真正弦波
    的头像 发表于 06-23 14:23 2021次阅读
    TI <b class='flag-5'>正弦波</b>发生<b class='flag-5'>器</b>电路

    IGBT正弦波调光的工作原理和优势

    IGBT正弦波调光是一种用于调节灯光亮度的设备,其工作原理主要基于IGBT的开关特性和对正弦波信号的控制。
    的头像 发表于 04-11 15:47 2029次阅读
    IGBT<b class='flag-5'>正弦波</b>调光<b class='flag-5'>器</b>的工作原理和优势

    直流无刷电机SPWM正弦波控制原理(可下载)

    等问题,在一些对噪声有要求的应用领域存在局限性。针对这些应用,采用正弦波控制 可以很好的解决这个问题二、直流无刷电机的正弦波控制简介直流无刷电机的正弦波控制即通过
    发表于 03-28 14:19 5次下载

    正弦波FOC

    经常在坛里看到各种关于正弦波的讨论,川办毕竟也搞电机控制方案和成品产生这么久了,以下文档,希望对大家有帮助。
    发表于 02-27 01:01

    ADS8344采集产生正弦波信号偏置不同时,采集出来的信号各异,为什么?

    测试条件: 供电电压3.3V,参考电压LM385-2.5V,函数信号发生产生频率为100Hz的正弦波信号,直接由ADS8344采集,当产生正弦
    发表于 01-23 06:34

    单片机内部怎么产生三路相位相差120°的正弦波

    做电机驱动或者逆变器,都需要使用单片机或者DSP产生正弦波,那么,在单片机内部产生正弦波的思路是什么呢?本视频来说下对应的思路,有疑问的话欢
    发表于 01-20 10:56

    DSP28335后接DAC7724产生正弦波信号,随负载加重DAC7724的输出受到干扰怎么解决?

    我用DSP28335后接DAC7724产生正弦波信号,作为三逆变器的电压基准。逆变器轻载的时候运行正常,随负载加重DAC7724的输
    发表于 01-15 08:27

    AN-2199003:ADSP-21990:生成三正弦波PWM模式

    电子发烧友网站提供《AN-2199003:ADSP-21990:生成三正弦波PWM模式.pdf》资料免费下载
    发表于 01-14 15:17 0次下载
    AN-2199003:ADSP-21990:生成三<b class='flag-5'>相</b><b class='flag-5'>正弦波</b>PWM模式

    假设正弦波每个周期采20个点,DAC900的产生正弦波极限频率是多少?

    假设正弦波每个周期采20个点。那个DAC900的产生正弦波极限频率是多少?
    发表于 01-14 07:08

    产生一个DSP驱动dac8330/8331产生50KHZ的正弦波,dac8330/8331一般后面接一个运放,是否会产生影响?

    dac8830/8831能够产生50KHZ的正弦波,我想产生一个DSP驱动dac8330/8331产生50KHZ的
    发表于 01-14 06:05

    两个晶体管能如何实现高效正弦波振荡

    在电子设计中,振荡器是一个重要的组件,广泛应用于信号发生、无线通信和音频设备中。一般来说,设计一个稳定的正弦波振荡器往往需要运算放大器或复杂的电路结构。然而,是否可以仅用两个晶体管就轻松实现一个高效
    的头像 发表于 01-07 12:00 944次阅读
    两个晶体管能如何实现高效<b class='flag-5'>正弦波</b><b class='flag-5'>振荡</b>?

    单极性正弦波脉宽调制方式

    随着功率器件的发展,正弦波脉宽调制(SPWM)技术得到了广泛的应用,SPWM 控制是在逆变器输出交流电能的一个周期内,将直流电能斩成幅值相等而宽度根据正弦规律变化的脉冲序列,该脉冲序列的宽度是随正弦波幅值变化的离散脉冲,经过滤波
    的头像 发表于 12-27 09:20 2816次阅读
    单极性<b class='flag-5'>正弦波</b>脉宽调制方式