基于dsp数字信号处理器数字滤波器的课程设计内容摘要:

P的 Io电压为 3. 3V,因此选择 3. 3V电压供给 TLVl570器件可以省略电平转换器件。 TLVl570在 3V电压下 的采样频率为 625KSPS,因此对于输入信号来说最高频率不能超过 300K。 系统的分辨率为 3mV,最大误差≤177。 1LSB。 图 4— 7 为 TLVl570的功能时序图。 从功能时序图可以看出该器件包含一个 8通道输入多路复用器,一个高速的 10位 ADC,一个内部的电压参考源和一个高速的串行接口。 TLVl570的高速串行接口包含五根信号线: SCLK串行时钟输入、 SDIN串行数据输入、 SDOUT串行数据输出、 Fs帧同步信号、 CS片选信号。 其中每个取样和转换过程需要 16个系统工作时钟,因此只有当几 (~ )一 (1, 16)九。 时 ,系统才能正常的工作。 12 R610KR71KR510KC 10 1C A PA I N 1A I N 2A I N 3A I N 4A I N 5A I N 6A I N 7A I N 8B O X 1B O R 1B O C K 1B F S 155443322111717181816161919202021212222232324242525N T L V 15 70272728282929P R O B L E MN T L V 15 70ou t 3 .3 vA / D 转换 图 11A/D 转换电路 D/ A 转换接口电路设计 数字量是用代码按数位组合起来表示的,对于有权码,每位代码都有一定的权。 为了将数字量转换成模拟量,必须将每 1位的代码按其权的大小转换成相应的模拟量,然后将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现了数字一模拟转换。 这就是构成 D/ A转换器的基本思路。 D/ A转换器的转换精度通常用分辨率和转换误差来描述。 ①分辨率, D/ A转换器模拟输出电压可能被分离的等级数。 输入数字量位数越多,输出电压可分离的等级越多,即分辨率 越高。 在实际应用中,往往用输入数字量的位数表示 D/ A 转换器的分辨率。 此外, D/ A 转换器也可以用能分辨的最小输出电压 (此时输入的数字代码只有最低有效位为 l,其余各位都是 0)与最大输出电压 (此时输入的数字代码各有效位全为 1)之比给出。 N位 D/ A转换器的分辨率可表示为 1/ (28— 1)。 它表示 D/ A转换器在理论上可以达到的精度。 ②转换误差,转换误差的来源很多,转换器中各元件参数值的误差,基准电源不够稳定和运算放大器的零漂的影响等。 D/ A转换器的绝对误差 (或绝对精度 )是指输入端加入最大数字量时, D/ A转换器的理论值与 实际值之差。 该误差值应低于 LSB/ 2。 由于模数转换选择了 10位器件,为了简化程序代码,减少 DSP的运算工作量,并根据数模转换器件的特点,在本数字滤波器系统中选择了 Tl公司的 TL, V5608芯片,它是一款 8通道 10位 2. 7到 5. 5V低电压数模转换芯片。 由于 DSP的 10电压为 3. 3V,因此选择 3. 3V电压供给聊 1570器件可以省略电平转换器件。 R 9910KR 20210KR210KR210KC410A O U T 1A O U T 2A O U T 3A O U T 4A O U T 5A O U T 6A O U T 7A O U T 8B O X 0B O R 0B C L K 0R S Tout 3. 3 v2020111116161818111010121213131414151566778899221919334455N T L V 5608B T ?N T L V 5608D / A 转换 13 图 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和时钟模式寄存器 CLKMD[25]。 中断矢量表是每个 DSP系统必须用至 4的,对中断矢量表进行初始化是 DSP 初始化的一个重要的组成部分,正确设置中断矢量包括: 1)根据 DSP芯片对各中断矢量的设置位置编写一个子程序。 在 TMS320VC5402中,要求每个中断矢量占 4个字,如果跳转指令不够 4个字,可用 NOP指令填充,每个 NOP占一个字。 2)设置 PMST控制寄存器。 该寄存器的高 9 位是 IPTR,用于设置矢量表的起始地址。 3)连接时将矢量表重定位到 IPTR指定的地址。 TMS320VC5402芯片包含两个多 通道缓冲串行口,在本系统的设计中两个串口分别接 DA和 AD芯片。 McBSP 通过一系列存储器映射控制寄存器来进行配置和操作。 为了是 MeBSP 接口工作在所希望的模式下,必须在初始化时多相关寄存器进行正确的配置。 五、基于 DSP 的 IIR 程序设计 及软件调试 图 5— 4 是利用 DSP 实现数字滤波的流程图,说明如下:利用 DSP 实现 FIR 数字滤波的子程序设计思路如下: 查询 SPCRll寄存器的第二位,当为 1时说明 read ready,将 DRRll的值读入 AR3所指向的地址,该值为最新的采样值。 将最新的采样值减去 200h,然后 AR3 的值减一。 执行 MAC指令。 将累加器的值送给变量 Y。 并将 Y加上 200h。 查询 SPCR20寄存器的第二位, 当为 1时说明 write ready,将 Y值附给 DXRl0,该值为滤波器输出值。 循环执行上面步骤 14。 开始D S P 初 开 始 化M c b s p 0 初 始 化M c b s p 1 初 始 化将 h ( n ) 值 附 缓 冲 区 给 h ( x ) 值 清 零T L V 5 6 0 8 初 始 化T L V 1 5 0 7 初 始 化循 环 执 行 滤 波 程 序 图 13为 DSP实现数字滤波器流程图 本设计的程序工程中包含 4个文件: filter. c, init. asm, vectors. asm, fliter. cmd。 四个文件实现不同的功能。 filter. c 文件为 C 语言编写的源文件 ,在本设计中主要功能是将各个子程序结合起来,便于阅读。 init. asm 文件为汇编语言编写的源文件,是本设计中的主要文件,包含了各个初始化程序的具体操作和实现数字滤波的具体代码。 vectors. asm文件为中断矢量表初始化子程序文件,中断矢量表是每个 DSP系统必须用到的,对中断矢量表进行初始化是 DSP初始化的一个重要的部分。 filter. trod为链接器命令文件 【 1718】。 在 IIR滤波器结构中,直接 H型结构是最常用的滤波器结构,因为这种结构的二阶形式可 作为级连型和并联型结构中的基本节。 图 14二阶直接 II型 IIR滤波器 二阶直接 II型结构滤波器的差分方程为: d(n)=x(n)+ald(n一 1)+a2d(n2) y(n)=bod(n)+bld(n一 1)+b2d(n 式中, d(n), d(n一 1), d(n2)对应于图中具有不同延迟的中间节点值。 在利用 1MS320vc5402实现IIR程序中要注意的事项同实现 FIR的基本相同。 15 IIR 数字滤波的软件调试 图 15 利用 DSP 的 IIR 数字滤波效果图( 1) 图 16 利用 DSP 的 IIR 数字滤波效果图( 2) 在效果图中,上面 波形为 DSP实验箱产生的滤波前的效果图,下面波形为进行 IIR滤波后的效果图。 从两图的比较可以看出,所设计的 IIR滤波器收到了较好的效果,完成了设计要求。 在编写及调试的过程中主要遇到以下问题: ( 1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。 16 ( 2)编写程序需要对数据段、代码段、堆栈段进行设置。 要编写相应的 .cmd(链接命令文件)文档对其进行合理化的分配空间。 ( 3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。 六 结束语 通 过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题: 首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。 其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。 最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。 以上是我做论文的一些心得体会,这些对我以后的学习会有 很大的帮助。 由于本人的时间和能力有限, 本次的开发系统还存在一些不足之处,整个系统还需要进一步完善。 文中也难免有不足之处,恳请老师批评指正。 同时,对评审设计的老师表示衷心的感谢。 参考文献 [1]潘松,黄继业,王国栋 . 现代 DSP 技术 [M]. 西安电子科技大学出版社 . 2020. 5. [2]王潞钢,陈林康,曾岳南,许贤昶 . DSP C2020 程序员高手进阶 [M]. 机械工业出版社 . . [3]赵红怡 . DSP 技术与应用实例 [M]. 电子工业出版社 . . [4]胡庆钟,李小刚,吴钰淳 . TMS320C55X DSP 原理、应用和设计 [M]. 机械工业出版社 . . [5]丁玉美,高西全 . 数字信号处理 [M]. 西安电子科技大学出版社 . . [6]刘顺兰,吴杰,高西全 . 数字信号处理 [M]. 西安电子科技大学出版社 . . [7]楼顺天,刘小东,李博菡 . 基于 MATLAB 的系统分析与设计 — 信号处理 [M]. 西安电子科技大学出版社 . . 17 [8]清源科技 . TMS320C54X DSP 应用程序设计教程 [M]. 机械工业出版社 . . [9]陈学平 . Protel [M]2020. 人民邮电出版社 . . [10]戴明桢,周建江. TMS320C54XDSP 结构、原理及应用 [M].北京:北京航空航天大学出版社, 2020 年 3月 4 附实验程序 IIR 数字滤波器源文件 : .title .mmregs .def _start .global _main DX .usect DX,3 DY .usect DY,3 DB .usect DB,3 DA .usect DA,3 PA0 .set 0。 800BH PA1 .set 1。 800CH .data table: .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。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。