正弦波信号生成算法_第1页
正弦波信号生成算法_第2页
正弦波信号生成算法_第3页
正弦波信号生成算法_第4页
正弦波信号生成算法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

引言顺应经济时代的发展,信号是运载系统消息的工具,是消息的载体。基于DSP的信号发生器的概念体现在数字到模拟转换技术。由于网络通信信息技术的不断创新发展、进步,信号的正确传输显得日益突出。对于简单的配置信号发生器,灵活的控制,输出信号的稳定性和高的精度。另外一个仪器体积小,性价比高,在日常学习生活中有着非常广泛的应用。软件是模块化设计,使逻辑编程变得更加简洁,易懂,易学。DSP所确立的高速处理器重要性我们可想而知是相对稳定的,而且中国现在的市场已经是以数字信息技术为中心。与以往的数字信号发生器相比,具有更快的速度、更实用、更方便。广泛应用于科研和生产实践中。DSP(digitalsignalprocessing)即数字信号处理器,它是在模拟信号变成数字信号以后进行的高速实时处理器[1],因为正弦波是任何波形构成的基本单元,所以本文在此以正弦波为例,介绍了基于DSP正弦波信号发生的算法(查表法、内插法)和构成,在此DSP芯片采用的是TMS320VC5402,它是TI公司对消费类电子推出的一款定点DSP,其具有性价比高,处理速度快接口丰富等特点。生成系统的需要来设置频率和正弦波的振幅[3];一切依据来自于科学。也介绍了对MATLAB仿真的运用[4]。本次研究的信号发生器相对于原来的数字信号发生器其发展速度和实用性更强。1正弦波信号生成算法本次设计以正弦波信号生成算法有很多,下面几项为常见的几种算法1.1采样回放法采样回放法是一种极简单获取方法,我们采样的现有的标准正弦波信号源,播放之前获得的数据。此方法进行关键问题在于采样高性能的A/D、D/A芯片并规范的设计规划出系统所需要的硬件控制电路,使信号分析得来的波形能够保持良好,才可保证采样数据的准确性。当处理数字频率和振幅,以及数据的格式,以确保清晰的重放数据点满足奈奎斯特定理,频率,以防止混叠1.2查表法查表法是属于企业普遍地方法,最开始可以生成的是正弦变化数据表,然后进行查找表格、D/A转换,得出我们期望的波形。它的优点是放回时其处理速度、频率调制方法是较好的,以避免单个数据,提高它的精准度。如果我们采用的存储的空间很大的话,我们可以自己去设计一个较大查找表实现所需要的高精度。现在我们构建一个正弦数据表为200个的数据点,如下,使用查找表去设定一个正弦波实现的频率与幅值,然后根据所需要的数据点创建一个正弦查找表。结合实际情况分析每周期最多送出的数据点时,这里举个例子:假定我们送出了200个数据点,就需要建立一张有200个数据点的正弦查找表。如果每个周期的正弦波频率取为f,则每周期200个数据点,得出取样间隔就是(1/f)/200=1(200f),幅值取1时的正弦波如下式:sinnw=sin(2πf.n/200f)=sin(nπ/100)(1-1)n=0,1,2,……,199这里采用MATLAB软件来产生一个200个数据点的正弦波数据文件,之后将其添加到CCS工程中进行编译,连接,调试直接至成功[5]。1.3查表结合插值法查表结合插值法是在查表的基础上进行加以分析改进企业得到的[6]。我们做一个产生相同性能的正弦波,相对于一个简单的表查找表的长度的内插查找表的组合长度小得多,因此克服的查找表的缺点在内存密集型,这样内存空间等够得到节省。查表结合插值法的表格表如下表1-1。对企业进行规划的话,将一个经济周期的单位正弦波划分成为N等份,然后对企业进行离散点幅值有次序的排列存进该数据区,最后获得一个完整的表格表1-1查表法结合插值法的表格格式序号(I)度数函数值012…N-2N-10×360°/N1×360°/N2×360°/N…N-2×360°/NN-1×360°/Nsin(0°/N)sin(360°/N)sin(720°/N)…sin[(N-2)360°/N]sin[(N-1)360°/N]将两表项之间插入若干个值去实现查表结合插值法产生的正弦波形,其插入值的大小由插入点的位置和相邻两表项值。其采用线性插值法,原因是由于DSP处理速度相对较快。每一个插值根据下式得到:sin[360(I+D)/N]=sin(360I/N)+D{sin[360(I+1/N]-sin(360I/N)}(1-2)式中,D是介于0到1之间的一个小数,它表示为插值点相对左边表项点的相对位置;N是表格长度;相邻两个表项值为sin(360I/N)和sin[360(I+1)/N]。2系统的硬件设计要做好硬件设计就需要将dsp芯片和D/A芯片连接起来做一个我们要使用的芯片,其核心为dsp芯片,构成的硬件结构框图如图1所示,后面再结合软件编程便实现如下功能:可以产生正弦波、三角波、锯齿波、方波等。对于产生的波形可以改变相位,频率和振幅。图2-1硬件结构图2.1硬件系统设计思想dsp芯片产生所得的波形,可以通过D/A转换芯片进行数模转换,该系统核心为TMS320VC5402型dsp芯片。注意,如果要使得整个系统正常运行,必须正确连接dsp芯片和D/A转换芯片,为了保证芯片的正常操作。D/A转换器可以进行数模转换,然后我们的模拟信号输出波形将在示波器上输出显示出来。这就是硬件解决方案所需要做的问题。在整个方案里面,DSP硬件和d/A转换器,以启动该程序可以生成一个通用的硬件方波,正弦波,三角波,锯齿波。这些波形的输出信号频率、幅度都可以进行控制DSP的输入系统程序来控制。近年来,dsp技术突飞猛进,其运算速度有着很大的提升。2.2系统相关电路的介绍2.2.1DSP芯片的特点及使用说明Dsp芯片支持流水线操作,它的运算速度可达值和指令周期分别是100MI/S(兆指令/秒),是10ns;系统算法程序片内实时运行可由dsp芯片C5402片内的16k双访问RAM去实现。这里保存算法处理的中间数据使用IM程序扩展空间是足够的。Dsp芯片TMS320VC5402的组成部分包括了中央处理器CPU,数据存储器RAM,程序存储器ROM,I/O接口功能,定时器,中断系统,主机接口HPI等[1],[7]。主要功能如下:(1)中央处理器(CPU)DSP芯片的核心就是它的中央处理器,中央处理器的几个特点如下:(a)总线系统结构,这里的实现方法是通过一组程序总线,三组数据总线和四组地址总线来完成。(b)中央处理器配有两个地址生成器,包括辅助寄存器8个和辅助寄存器运算单元两个。(2)数据存储器RAMDsp芯片C5402有两种片内数据存储器:(a)双寻址RAM:表示周期为一个指令周期内,可以对它进行寻址操作读入和读出两次存取操作;(3)程序存储器ROMTMS320VC5402的程序存储器可由ROM、RAM配置而成,程序空间定义在ROM和RAM上均可实现。当我们需要高速运行程序的时候,就选择把片外ROM的程序调入片内RAM中,这样就加速了程序的运行。(4)I/O口我们用到的TMS320VC5402芯片的两个通用引脚是BIO和XF,BIO的功能是检测外部设备工作状态,XF的显性功能是用于发信号给外部设备。(5)定时器定时器即为用于产生定时中断,从而编程计数器定时器。定时器的构成包括PRM(定时周期寄存器)、TM(定时寄存器)、TCR(定时控制寄存器)及相应的逻辑控制电路组成。(6)中断系统本次设计使用的TMS320VC5402的中断系统分为软件中断和硬件中断。软件中断:程序指令触发为软件中断,包括:INTR、TRAP、RESET。硬件中断:硬件中断主要包括企业外部中断和内部控制中断。(7)主机接口HPI主机接口HPI是一个连接主机通信的并行接口,其实用性是用于dsp与其他总线或cpu进行通信,信息的数据交换可以通过TMS320VC5402的片内存储器与主机进行。图2—2HPI接口框图2.2.2D/A转换器TLC7528使用说明TLC7528是内部具有它们单独的数据锁存器的双路、8位数模转换器,主要特性包括两DAC十分精密的一致性,数据通过公共8位输入口转送至两DAC数据锁存器中任意一个。TLC7528C的工作特点如下:(a)能完成片内数据锁存;(b)简单实现微处理器接口;(c)使用过程中每一个A/D转换范围内具有单调性;(1)结构框图:TLC7528的结构框图如图2-3所示:3TLC7528的结构框图图2—3TLC7528的结构框图TLC7528的引脚描述:表2—1TLC7528的引脚定义引脚名称描述引脚名称描述1AGND模拟地11OUTB通道2输出2OUTA通道1输出12RFTB通道2反馈电压3RFBA通道1反馈电压13REFB通道2参考电压4REFA通道1参考电压14VDD驱动电压5DGND数字地15WR读写选通6A/B通道1,2选通16CS片选7DB7数据位717DB0数据位08DB6数据位618DB1数据位19DB5数据位519DB2数据位210DB4数据位420DB3数据位3(3)TLC7528的工作原理:TLC7528的工作原理是一个模拟转换器,其特点丰富,能够完成片内数据锁存器的设计,以实现控制输入和输出,它的工作电源为5-15V,功率消耗也较低,小于15Mw,其功能特点是加权电流在DAC和AGND之间切换,可适用于高通滤波器,在编程状态可以运用。在完成时设计电路必须考虑TLC7528的工作原理,和他所适用的范围2.2.3电源电路和晶振电路使用说明对应于DSP芯片和其他外围芯片完整的DSP系统中,以下描述中所需要的电路设计,复位电路和晶体振荡电路使用的功率。(1)电源电路如何使用TMS320VC5402DSP芯片所需要提供的电源电路,其结构简单,设计也很合理,对保护dsp芯片起到很大的作用,供电过程中,内部电路连接将降低电流得而输入,一般确保在5V以下,为了能够输出稳定的电压,要使电路工作可靠性强,使用效果好所以选用了DSP芯片VC5402。过程中需要考虑到芯片的内部静电保护电路来实现上电顺序..内部保护电路如图2—4所示:图2—4内部静电保护电路图从上面的内部保护电路可以看到,CVDD电压相对较低于DVDD电压2V,即用考虑了用4个二极管降压,然而CVDD电压不超过DVDD电压0.5V,即是使用一个二极管降压,否则就会导致芯片会被损坏。产生3.3V的电源电路图如下2-5所示图2—5产生3.3V的电源电路通常的数字系统使用的电源是5V,而这里电路图所产生的电源为3.3V,图中VCC使用电源是5V,通过电压调节器产生3.3V电压。2.3DSP芯片与D/A转换器的接口电路基于dsp信号发生器的设计,本次采用的芯片是TMS320VC5402DSP和TLC7528,将两芯片连接如下图2-7所示的接口电路:图2—7接口电路图3系统的软件系统设计部分系同的软件设计依赖于执行的硬件系统,必须在硬件的基础上才能完成软件的支撑,软件部分可以进行编译,仿真修改。通过仿真器提前去验证实现的我们期望的波形图,如果达到合理波形,再到示波器上进一步监测。确保我们后期做实物的时候,不要浪费原材料。软件部分,对系统的组成和逻辑结构进行确定,本次设计以MATLAB语言和实现仿真为重点讨论,而在MATLAB中需要设计模型框图,在进一步实现图形生成代码,在现在的技术层面,MATLAB是非常成熟的,而且实用性也很好,下面讲述模块的详细过程3.1基于MATLAB语言实现正弦波我们要在MATLAB下实现正弦波,可以建立一个系统流程图,通过MATLAB语言可以计算出每一个期望值,要在硬件的基础上完成波形仿真,首先在这上面试运行,包括程序语言的编写,MATLAB坐标值的X与Y一一对应,我们选定一个采样频率,可生成不同频率的正弦波程序,其实现的过程为生成正弦波的频率,采样频率,采样点数,时间序列最后完成画图对如何用MATLAB语言取得数据文件,本文后面将有介绍。开机上电开机上电数据文件载入到RAMDSP初始化AD转换发送数据结束图3-3系统程序流程图3.1.1如何用MATLAB产生数据序列在MATLAB中表示有限长序列X(n)。通过信号频率Hz,采样频率,采样点数和采样时间s,fs值越大,出现的波形失真就越小。最后进行信号采样。例如,x(n)={-0.0000,-0.5878,-0.9511,-0.9511,-0.5878,0.0000,0.5878,0.9511,0.9511,0.5878,0.0000},相应的n=-5,-4,-3,…,5,所以序列x(n)的MATLAB表示如下:n=-5:5;x=[-0.0000,-0.5878,-0.9511,-0.9511,-0.5878,0.0000,0.5878,0.9511,0.9511,0.5878,0.0000]这里x(n)的11个样值是正弦波序列的采样值,即x(n)=sin(pin/5)n=-5,-4,…,0,…,4,5所以,也可以用计算的方法可以产生时间序列向量:n=-5:5;x=sin(pi*n/5);所以1.1节中的(1-1)式可以使用下面MATLAB程序内容来生成sin100.dat的数据文件。sine=sin([0:99]’*2*pi/200);%生成正弦数据savesin100.datsine-ascii%输出数据文件sin100.dat4软件调试系统使用说明及实验结果CCS调试完成最终的软件调试并得出实验结果,在我们完成编译后,下载程序并惊醒功能调试,整个实现过程为单步调试、运行到光标处、运行到断电处、停止,最后全速运行。这里我们要学习的是如何添加断点与如何取消,断点添加则是在代码前双击即可,哪行出错就修改哪行;对于取消则是在刚刚设计的那个位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论