欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于dsp数字滤波器的课程设计(共20页).doc

    • 资源ID:13481906       资源大小:493.50KB        全文页数:20页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于dsp数字滤波器的课程设计(共20页).doc

    精选优质文档-倾情为你奉上摘要:数字滤波,是数字信号处理的基本核心内容之一,占有极重要的地位。它通过对采样数据信号进行数学运算处理来达到频域滤波目的,是图像处理、语音处理、模式识别、通信、软件无线电、谱分析等应用中的一个基本处理算法。与模拟滤波器相比,数字滤波器不用考虑器件的噪声、电压漂移、温度漂移等问题,可以容易的实现不同幅度和相位频率等特性指标,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用很受欢迎。现在通过DSP编程并结合TI公司的数字信号处理器TMs320VC5402设计了一款稳定度高,低功耗的IIR数字滤波器系统,并完成了软硬调试工作。 关键字:数字滤波器,DSP,IIR ,低功耗 ,稳定Abstract:Digital filtering of digital signal processing, is one of the basic core contents, occupies an important position. It through sampling data signals of mathematical operation treatment to achieve the frequency domain filtering purposes, image processing, audio processing, pattern recognition, communications, software radio, spectral analysis of applications such as a fundamental algorithms. Compared with simulation filter, digital filters need not consider device of noise, voltage drift, temperature drift, can easily achieve different amplitude and phase frequency characteristic indices, able to handle such low frequency signal, frequency response characteristics but make it very close to ideal characteristics, and the precision can reach high, easy integration etc, these advantages determines the application of digital filter is very popular. Now through DSP programming and combined with TI company's digital signal processor TMs320VC5402 design in a high degree of stability, low power consumption, IIR digital filter system and completed soft debugging. Keywords: Digital filters, DSP, IIR, low power consumption, stable 一、IIR数字滤波器的理论分析从IIR数字滤波器的实现来看,有直接型、级联型、并联型和格型等基本网络结构。不同的结构形式会有不同的运算误差,其稳定性、运算速度、所占用的存储空间等也有所不同3。其中直接型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元,是最常用的IIR数字滤波器结构之一。IIR数字滤波器的设计方法有两类4,一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,然后用硬件或软件实现;另一类是直接在频域或时域中进行设计,设计时需要作辅助工具。对系统传递函数为 对应的差分方程为:的IIR数字波滤器来说,设计的任务就是寻求一种因果关系和物理上可实现的系统传递函数使H(z)满足上述的关系,为此可这样使其频率响应能够满足所希望得到的频域指标。二、TMS320C5402的体系结构TMS320VC5402处理器在本系列中处于先进水平。它具有运算速度快,内部存储空间大,外部接口性能好等优点。所以我选择了技术上比较先进,价格又较便宜的C5402作为硬件开发对象。下面结合C5402的实际情况,介绍一下该芯片的体系结构。C5402共有144个引脚,其中有20根地址线AO-A19,16根数据线DO-D15,4个外部可屏蔽引脚INTO#-INT3#和一个不可屏蔽中断引脚BIO#,剩下的引脚可以分成以下几类:存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的IEEE1149. 1标准JTAG口。三、IIR数字滤波器的设计流程在设计滤波器时首先要有清晰的思路,因此流程图的设计至关重要。本设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,对其流程进行了初步规划,如图8所示:图1 IIR数字滤波器设计流程根据设计流程,通过DSP仿真软件编译出适合参数要求的汇编程序。运用汇编语言进行程序编写使其具有更好的实时性,此外运用汇编语言编写更有助于以后的设计拓展。利用TMS320C5402实现IIR的程序中应注意以下几点:(1)数据存放要求。因为采用MAC指令和循环寻址,所以输入数据和滤波器系数的存放要按照一定的要求。数据块和系数块都要放在双寻址数据存储区。(2)循环寻址的使用。为了使用循环寻址,除了对数据的存放有要求外,先还要设置BK为块长N。由于使用了循环寻址,数据和系数的指针在操作后以循环的方式增加1。(3)数据的初始化。输入数据块要初始化为全0。这样在运算中不会对输入产生影响。四、IIR数字滤波器的软件和硬件设计4.1基于DSP的IIR数字滤波器的软件设计4.1.1 IIR数字滤波器的数据存储器设计TMS320C54X定点DSP提供了单周期乘/累加指令MAC和循环寻址方式,使IIR数字滤波器每个样值的计算可以在一个周期内完成。IIR数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样在计算中才能够准确的提取数据,实现乘加运算。图7是IIR滤波器数据存放和系数表:图2 IIR滤波器数据存放和系数表在程序设计中,首先将数据放入相应的段中, X数据指针AR2指向X0,同时将H(n)的指针AR1指向B0,利用乘加指令完成前向通道的一次运算;接着修改指针,AR2指针增1,H(n)的指针AR1减1,依次完成前向通道的乘加运算;反馈通道应用同样的方法进行乘加。在程序设计时,可以采用先增益后衰减的方法,亦可采用先衰减后增益的方法。但是采用先衰减后增益的方式其系统动态范围和鲁棒性较好,因此在设计中采用了后一种方法。4.1.2 IIR滤波器的MATLAB辅助设计具体在MATLAB中设计IIR数字滤波器的设计步骤如下:按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;根据转换后的技术指标使用滤波器选择函数,确定最小阶数N和固有频率Wn;运用最小阶数N产生模拟低通滤波器原型,运用固有频率把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器。本设计主要应用产生低通滤波器,运用脉冲响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。对于脉冲响应不变法,它是将s域内的H(s)转换成z域内的H(z),但是在映射时,S域内不能一一对应到Z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。基于此,本次设计在MATLAB的仿真中优先考虑应用双线性变换法。MATLAB工具箱提供了几种模拟滤波器的原型产生函数,Butterworth滤波器原型,Chebyshev(I型、 II型)滤波器原型、椭圆滤波器原型等不同的模拟滤波器原型,从模拟滤波器向数字滤波器转换的双线性变换法和脉冲响应不变法等方法,模拟IIR数字滤波器阶数选择函数以及数字滤波器直接设计函数等等。另外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数。这一整套设计函数给在MATLAB中设计IIR数字滤波器带来了极大的方便。IIR低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。其仿真结果结果如图5所示: 图3 利用matlab仿真图根据以上仿真结果及相应的系数和N值,在相关技术指标不变的情况下,我选用了ChebyshevI型双线性变换法。4.2基于DSP的IIR数字滤波器的硬件设计4.2.1 硬件设计总体方案 TI公司的2000系列和5000系列的DSP都通用型的芯片,考虑到2000系列的DSP多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP: TMS320VC5402。该DSP具有较快的运算速度:运算速度最快可达532MIPS;采用了低功耗设计方式:内核电压为1.8V,I/O电压为3.3 V。数字滤波系统的具体方案框图如图6所示: 图4数字滤波器系统方案框图通常的设计中会采用SV供电并行的ADC(模数转换)和DAC(数模转换)芯片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将SV电平转换为3.3V的逻辑电平。考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV 1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是TLV 5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。JTGA口供DSP芯片下载程序调试。4.2.2复位电路设计为了确保系统能够稳定的工作,复位电路是系统中必不可少的电路。电源刚加上电时,TMS320VC5402芯片处于复位状态,瓜S为低使芯片复位。为使芯片初始化正确,一般应保证爪s为低至少持续3个CLKOuT周期。但是,在上电后,系统的晶体振荡器一般需要几百毫秒的稳定期,般为100-200ms。对于实际的DSP应用系统,特别是产品化的DSP系统,其可靠性是一个不容忽视的问题。由于DSP系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现死机现象。为了克服这种情况,除了在软件上做一些保护措施外,硬件上也必须做相应的处理。硬件上最有效的保护措施就是采用具有监视(Watchdog)功能的自动复位电路。自动复位电路除了具有上电复位功能外,还具有监视系统运行并在系统发生故障或死机时再次复位的功能。其基本原理就是通过电路提供一个高低电平发生变化的信号,如果在规定的时间内这个信号不发生变化,自动复位电路就认为系统运行不正常并重新对系统进行复位。根据上述原理,在本系统的设计中采用了ADM706TAR 芯片。该芯片具有上电复位功能,电压监测功能和看门狗功能。图5 复位电路4.2.3时钟电路设计给DSP芯片提供时钟一般有两种方法。一种是利用DSP芯片内部所提供的晶振电路,在DSP芯片的X1和x2cuN之阃连接一晶体可启动内部振荡器, 晶体应为基本模式,且为并联谐振。另一种方法是将外部的时钟源直接输入X2CLKIN引脚,X1悬空。采用封装好的晶体震荡器,这种方法使用方便,因此得到了广泛的应用,只要在引脚4 上加电压,引脚二接地,就可以在引脚3上得到所需的时钟。早期的DSP芯片一般工作频率较低,因此其工作频率与外部提供的频率相等或者是外部频率的2分频和4分频。随着DSP芯片速度的提高,如果仍然采用这种方式,则要求夕部频率很高,这样会引发高频干扰,影响系统的稳定性。因此,现在的DSP芯片一般提供多种工作方式。不仅具有传统的分频方式,而且采用更加灵活的可编程PLL方式。1MS320Vc5402内部具有一个可编程锁相环(PLL),可以配置为以下两种工作模式:PLL模式,输入时钟乘以一个11 之间的常数:DIV模式,输入时钟除以2或4。软件可编程Pu。受一个存储器映射(地址为58h)的时钟模式寄存器CLKMD控制,CLKMD用于定义Pu。时钟模块的配置。复位后CLKMD的值根据DSP芯片三根输入引脚Cu(MDl一Cu(MD3确定从而确定DSP的工作时钟。表中是DSP复位时钟模式设定,从表中可以看出,不同的CLKMDl一CLKMD3值对应相应的时钟模式。例如:设CIKMDl一CLKMD3=010,则时钟模式是PLL*5,如果外部的晶体频率是20MHz,则复位后DSP的工作频率为5X20=100MHz17】。由于DSP的程序需要从外部低速EPROM中调入,可以采用较低工作频率的DSP复位时钟模式,待程序全部调入内部快速RAM后,再用软件重新配置CLKMD的值,使芯片工作在较高的频率上。图6 时钟电路4.2.4电源设计为了降低芯片的功耗,DsP5402芯片采用低电压供电方式,并且采用内核电压和IO电压分开的方式。TMS320VC5402芯片电源分为两种,即内核电压(CVdd)和IO电压(Dvdd),其中,IO电源一般采用33V电压,而内核电源电压为18V。TMS320VC5402的电流消耗主要取决于器件的激活度,CVdd消耗的电流主要取决于CPU的激活度。外设消耗的电流取决于正在工作的外设及其速度。一般的,与CPU相比,外设消耗的电流比较小。时钟电路也需要消耗一小部分的电流,而且这部分电流是恒定的,与CPU和外设的激活度无关。CVdd为器件的所有内部逻辑提供电流,包括CPU、时钟电路和所有外设。DVdd只为外部接口引脚提供电压,消耗的电流取决于外部输出的速度和数量,以及在这些输出上的负载电容。根据设计的具体电路可一计算出33V电源所消耗的电流<60mA, 18V电源所消耗的电流<30mA,因此可以得出该系统在全速工作的状态下,最大功耗为250mA。在本系统的设计中采用了两片AMSlll7来提供DSP芯片的加电源和内核电源。AMSlll7为最大输出电流可达800mA的LDO(Low Dropout Voltage Regulator),包含18V、33V等固定电压输出几种类型。由于LDO的功耗为10,而系统的输入电压为5V,为将低整个系统的功耗,将AMSlll7-18的输入直接接至0 AMSlll733的输出端,而不是直接接到5V 电源电压上,这样系统功耗将降低51roW。系统在工作状态下逻辑电平在不停的快速发生变化,因此系统的电源也会出现不同程度的波动,为保证系统的电源完整性,在输入5V电源、33V电源、18V电源的输出处都增加了大容量的储能电容,在所有芯片的各个电源管脚处都增加了去耦电容。由于有两个电源,需要考虑的个问题是加电次序。理想情况下,DSP芯片上的两个电源同时加电,但是在一些场合很难做到。如果不能做到同时加电,应先对DVdd加电,然后对CVdd加电。DVdd应不超过CVdd电压2V。图7 电源电路4.2.5 JTAG接口设计JTAG(JointTestActionGroup)是1985年制定的检测PCB和IC芯片的一个标准,1990年被修改后成为IEEE的一个标准,即IEEEll4911990。通过这个标准,可对具有JTAG接口的芯片的硬件电路进行边界扫描和故障检测。具有JTAG接口的芯片,相关JTAG引脚的定义为:TCK为损4试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接ISl输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。设计一个DSP系统,一般必须考虑系统的软件硬件调试,调试DSP系统一般离不开DSP仿真器。而仿真器通过仿真接口实现与DSP之间的数据交互。设计仿真接口比较简单,只要根据DSP芯片所提供的接口类型按照相应的接口标准即可。图45为JTAG仿真接口定义。图8 JTAG电路4.2.6内部存储单元及外部存储扩展内部存器TMS320C54X内一般包括192K字的可寻址存储器空间:64K字程序空间, 64K字数据空问和64K字的I0空间。片内存储器的结构和容量根据芯片的型号有所区别,但都包含随机存取存储器(RAM)和只读存储器(ROM)。其中RAM又可以分为两种类型:单访问RAM(SARAM)和双访问RAM(DARAM)。当处理器发出的地址处在片内存储器的范围内时,就对片内的RAM或数据ROM寻址。当数据存储器地址产生器发出地址不在片内存储器的范围内,处理器就会自动对外部数据存储器寻址。图9 存储器及扩展电路4.2.7外部总线及外部存储器接口通常一个DSP系统除了DSP芯片外,还需要外部的存储器。外部存储器一般有两种,一种是存储程序和固定数据的EPROMPROM,一种是可读可写的快速RAM。目前市场上的EPROM工作电压一般为5V,与33VDSP芯片相接时需要考虑电平转换,丽且体积都较大。FLASH存储器与EPROM相比,具有更高的性能价格比,而且体积小、功耗低、可电擦写,使用比较方便,33V Hash 可直接与DSP相接。因此采用Flash存储器存储程序和固定数据是一种比较好的选择。TMS320VC5402通过外部总线与外部存储器以及IO设备相连。外部总线接口由数据总线、地址总线以及一组控制信号组成,可以用来寻址片外存储器和I0口【20】。主要外部接口信号见表41。图10接口信号参数表为扩展存储器引脚信号定义外部接口总线是一组并行接口。它有两个互相排斥的选通信号:MSTRB#和IOSTRB#。前者用于访问外部程序或者数据存储器,后者用于访问IO设备。读写信号R/W#撑则控制数据传送方向。外部数据准备输入信号(REDAY)与片内软件可编程等待状态发生器一道, 可以使处理器与各种速度的存储器以及I0设备接口。当与慢速器件通信时,CPU处于等待状态,直到慢速器件完成了它的操作并发出READY信号才继续运行。当外部设备需要寻址DSP的终部程序、数据和帕存储空间时,可以利用HOLD#和 HOLDA#信号,达到控制DSP外部资源的目的。CPU寻址片内存储器时,外部数据总线鬣高阻状态,而地址总线以及存储器选择信号均保持先前的状态,此外,MSTRB#、IOSTRB#、RW#、IAQ#和MSC#信号均保持在无效状态。4.2.8 AD转换接口电路设计在AD转换器中,因为输入的模拟信号在时间上是连续量,而输出的数字信号代码是离散量,所以进行转换时必须在一系列选定的瞬间(亦即时间坐标轴上的一些规定点上)对输入的模拟信号取样,然后再把这些取样值转换为输出的数字量。因此,一般的AD转换过程是通过取样、保持、量化和编码这四个步骤完成的。取样定理:在满足取样定理的条件下,可以用一个低通滤波器将信号vs还原为n,这个低通滤波器的电压传输系数pt,月在低于。的范围内应保持不变,而在,s_缸。以前应迅速下降为零。因此,取样定理规定了AD 转换的频率下限。因为每次把取样电压转换为相应的数字量都需要一定的时间,所以在每次取样以后,必须把取样电压保持一段时间。可见,进行AD转换时所用的输入电压,实际上是每次取样结束时的n值。量化和编码:我们知道,数字信号不仅在时间上是离散的,而且在数值上的变化也不是连续的。这就是说,任何一个数字量的大小,都是以某个最小数量单位的整倍数来表示的。因此,在用数字量表示取样电压时,也必须把它化成这个最小数量单位的整倍数,这个转化过程就叫做量化。所规定的最小数量单位叫做量化单位,用表示。显然,数字信号最低有效位中的1表示的数量大小,就等于。把量化的数值用二进制代码表示,称为编码。这个二进制代码就是AD转换的输出信号。单片集成AD转换器的转换精度是用分辨率和转换误差来描述的。分辨率:它说明AD转换器对输入信号的分辨能力,AD转换器的分辨率以输出二进制(或十进制)数的位数表示。从理论上讲,n位输出的AD转换器能区分20个不同等级的输入模拟电压,能区分输入电压的最小值为满量程输入的12“。在最大输入电压一定时,输出位数愈多,量化单位愈小,分辨率愈高。例如AD 转换器输出为10位二进制数,输入信号最大值为3V,那么这个转换器应能区分输入信号的最小电压为3mV。转换误差:表示AD转换器实际输出的数字量和理论上的输出数字量之间的差别。常用最低有效位的倍数表示。例如给出相对误差±1LSB,这就表明实际输出的数字量和理论上应得到的输出数字量之间的误差小于最低位的一个字。根据模数转换器件的特点,在本数字滤波器系统中选择了Tl公司的TLVl570芯片,它是一款8通道10位27到55V低电压模数转换芯片。由于DSP的Io电压为33V,因此选择33V电压供给TLVl570器件可以省略电平转换器件。TLVl570在3V电压下的采样频率为625KSPS,因此对于输入信号来说最高频率不能超过300K。系统的分辨率为3mV,最大误差±1LSB。图47 为TLVl570的功能时序图。从功能时序图可以看出该器件包含一个8通道输入多路复用器,一个高速的10位ADC,一个内部的电压参考源和一个高速的串行接口。TLVl570的高速串行接口包含五根信号线:SCLK串行时钟输入、SDIN串行数据输入、SDOUT串行数据输出、Fs帧同步信号、CS#片选信号。其中每个取样和转换过程需要16个系统工作时钟,因此只有当几()一(1,16)九。时,系统才能正常的工作。图11A/D转换电路4.2.9 DA转换接口电路设计数字量是用代码按数位组合起来表示的,对于有权码,每位代码都有一定的权。为了将数字量转换成模拟量,必须将每1位的代码按其权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现了数字一模拟转换。这就是构成DA转换器的基本思路。DA转换器的转换精度通常用分辨率和转换误差来描述。分辨率,DA转换器模拟输出电压可能被分离的等级数。输入数字量位数越多,输出电压可分离的等级越多,即分辨率越高。在实际应用中,往往用输入数字量的位数表示DA转换器的分辨率。此外,DA转换器也可以用能分辨的最小输出电压(此时输入的数字代码只有最低有效位为l,其余各位都是0)与最大输出电压(此时输入的数字代码各有效位全为1)之比给出。N位DA转换器的分辨率可表示为1(281)。它表示DA转换器在理论上可以达到的精度。转换误差,转换误差的来源很多,转换器中各元件参数值的误差,基准电源不够稳定和运算放大器的零漂的影响等。DA转换器的绝对误差(或绝对精度)是指输入端加入最大数字量时,DA转换器的理论值与实际值之差。该误差值应低于LSB2。由于模数转换选择了10位器件,为了简化程序代码,减少DSP的运算工作量,并根据数模转换器件的特点,在本数字滤波器系统中选择了Tl公司的TL,V5608芯片,它是一款8通道10位27到55V低电压数模转换芯片。由于DSP的10电压为33V,因此选择33V电压供给聊1570器件可以省略电平转换器件。图12D/A转换电路DSP系统的硬件设计之后,软件设计就成为系统设计的关键,一个DSP系统在很大程度上取决于软件设计是否合理与可靠。在DSP进行数字滤波运算前必须进行一些初始化程序。在本系统中初始化程序主要包括:DSP芯片的初始化、矢量表初始和两个串行端口的初始化【24】。DSP5402共有三个控制和状态寄存器,对CPU的控制是通过CPU状态和控制寄存器来完成的。分别为状态寄存器0(STO)、状态寄存器1(STl)和处理器模式状态寄存器(PMST)。DSP不同条件和模式下的状态都包含ST0和STl: PMST包含存储器设置状态和控制信息。由于这些寄存器是存储器映像,所以可以像对数据存储器操作那样对它们进行读出和写入。在调用子程序或中断服务子程序时,可以将它们保存下来,返回时再恢复。DSP芯片的初始化是设定DSP芯片工作状态的重要步骤,只有正确进行DSP 芯片的初始化,才能保证芯片的正确运行。在调试软件的过程中,如果发现程序运行不正确,应首先查看芯片各寄存器的初始化状态设置是否正确,然后再调试用户程序,否则就会降低调试效率。1MS320Vc5402芯片加电复位之后处于预先设定的状态,无论是状态寄存器还是控制寄存器都有一个确定的数值。对寄存器进行初始化主要包括:状态寄存器ST0、状态寄存器STl、处理器模式控制寄存器PMST、软件等待状态寄存器SWWSR、组交换控制寄存器BSCR和时钟模式寄存器CLKMD25。中断矢量表是每个DSP系统必须用至4的,对中断矢量表进行初始化是DSP 初始化的一个重要的组成部分,正确设置中断矢量包括:1)根据DSP芯片对各中断矢量的设置位置编写一个子程序。在TMS320VC5402中,要求每个中断矢量占4个字,如果跳转指令不够4个字,可用NOP指令填充,每个NOP占一个字。2)设置PMST控制寄存器。该寄存器的高9位是IPTR,用于设置矢量表的起始地址。3)连接时将矢量表重定位到IPTR指定的地址。TMS320VC5402芯片包含两个多通道缓冲串行口,在本系统的设计中两个串口分别接DA和AD芯片。McBSP通过一系列存储器映射控制寄存器来进行配置和操作。为了是MeBSP接口工作在所希望的模式下,必须在初始化时多相关寄存器进行正确的配置。五、基于DSP的IIR程序设计及软件调试5.1 图54是利用DSP实现数字滤波的流程图,说明如下:利用DSP实现FIR 数字滤波的子程序设计思路如下:1、查询SPCRll寄存器的第二位,当为1时说明read ready,将DRRll的值读入AR3所指向的地址,该值为最新的采样值。将最新的采样值减去200h,然后AR3的值减一。3、执行MAC指令。4、将累加器的值送给变量Y。并将Y加上200h。5、查询SPCR20寄存器的第二位, 当为1时说明write ready,将Y值附给DXRl0,该值为滤波器输出值。6、循环执行上面步骤。图13为DSP实现数字滤波器流程图本设计的程序工程中包含4个文件:filterc,initasm,vectorsasm,flitercmd。四个文件实现不同的功能。filterc文件为C语言编写的源文件,在本设计中主要功能是将各个子程序结合起来,便于阅读。initasm文件为汇编语言编写的源文件,是本设计中的主要文件,包含了各个初始化程序的具体操作和实现数字滤波的具体代码。vectorsasm文件为中断矢量表初始化子程序文件,中断矢量表是每个DSP系统必须用到的,对中断矢量表进行初始化是DSP初始化的一个重要的部分。filtertrod为链接器命令文件【17-18】。5.2 在IIR滤波器结构中,直接H型结构是最常用的滤波器结构,因为这种结构的二阶形式可作为级连型和并联型结构中的基本节。图14二阶直接II型IIR滤波器二阶直接II型结构滤波器的差分方程为: d(n)=x(n)+ald(n一1)+a2d(n-2)y(n)=bod(n)+bld(n一1)+b2d(n-2、式中,d(n),d(n一1),d(n-2)对应于图中具有不同延迟的中间节点值。在利用1MS320vc5402实现IIR程序中要注意的事项同实现FIR的基本相同。5.3 IIR数字滤波的软件调试图 15利用DSP的IIR数字滤波效果图(1)图 16利用DSP的IIR数字滤波效果图(2)在效果图中,上面波形为DSP实验箱产生的滤波前的效果图,下面波形为进行IIR滤波后的效果图。从两图的比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。在编写及调试的过程中主要遇到以下问题:(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。(2)编写程序需要对数据段、代码段、堆栈段进行设置。要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。六 结束语 通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题:首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。以上是我做论文的一些心得体会,这些对我以后的学习会有很大的帮助。由于本人的时间和能力有限,本次的开发系统还存在一些不足之处,整个系统还需要进一步完善。文中也难免有不足之处,恳请老师批评指正。同时,对评审设计的老师表示衷心的感谢!参考文献1潘松,黄继业,王国栋. 现代DSP技术M. 西安电子科技大学出版社. 20045.2王潞钢,陈林康,曾岳南,许贤昶. DSP C2000程序员高手进阶M. 机械工业出版社. 2004.10.3赵红怡. DSP技术与应用实例M. 电子工业出版社. 2003.6.4胡庆钟,李小刚,吴钰淳. TMS320C55X DSP原理、应用和设计M. 机械工业出版社. 2005.10.5丁玉美,高西全. 数字信号处理M. 西安电子科技大学出版社. 2006.7.6刘顺兰,吴杰,高西全. 数字信号处理M. 西安电子科技大学出版社. 2003.8.7楼顺天,刘小东,李博菡. 基于MATLAB 7.X的系统分析与设计信号处理M. 西安电子科技大学出版社. 2005.5.8清源科技. TMS320C54X DSP应用程序设计教程M. 机械工业出版社. 2004.1.9陈学平. Protel M2004. 人民邮电出版社. 2005.9.10戴明桢,周建江TMS320C54XDSP结构、原理及应用M北京:北京航空航天大学出版社,2002年3月专心-专注-专业附实验程序1、IIR数字滤波器源文件:.title "iir.asm" .mmregs .def _start .global _mainDX .usect "DX",3DY .usect "DY",3DB .usect "DB",3DA .usect "DA",3PA0 .set 0;800BHPA1 .set 1;800CH .datatable: .word 0 .word 0 .word 0 .word 0 .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 5*32768/10 .word -4*32768/10 .text_main: _start: SSBX FRCT STM #DX,AR1 RPT #1 MVPD #table,*AR1+ STM #DY,AR1 RPT #1 MVPD #table+2,*AR1+ STM #DB,AR1 RPT #2 MVPD #table+4,*AR1+ STM #DA,AR1 RPT #1 MVPD #table+7,*AR1+ STM #DX+2,AR2 STM #DY+1,AR3 STM #DB+2,AR4 STM #DA+1,AR5STM #3,BK STM #-1, AR0 LOOP: STM 0FFH, AR6 STM 1000H, AR1 STM 2000H, AR7IIR: PORTR PA1, *AR2 ;从输入端口读入数据 MPY *AR2+0%,*AR4+0%, A ;乘法运算,A=b0×x(n)MAC *AR2+0%,*AR4+0%, A ;第1次乘法累加 A1=b1*x(n-1)+b0*x(n) MAC *AR2, *AR4+0%, A ;第2次乘法累加 A2=b2*x(n-2)+A1 MAC *AR3+0%,*AR5+0%, A ;第3次乘法累加 A3=a1*y(n-2)+A2 MAC *AR3+0%,*AR5+0%, A ;第4次乘法累加 A4=a2*y(n-2)+A3 MAR *AR5+0% ;修正AR5 STH A,*AR7+ ;存储 y(n) PORTW *AR7, PA0 ;从输出端口输出y(n) BD IIR ;循环 .end2、.cmd文件(链接器命令文件)-stack 0x200 MEMORY PAGE 0: PROG: origin = 1a00h, length = 2600h PAGE 1: DATA: origin = 0200

    注意事项

    本文(基于dsp数字滤波器的课程设计(共20页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开