应用DES5402PPU实验箱实现FIR滤波器Word下载.docx

上传人:b****5 文档编号:15809454 上传时间:2022-11-16 格式:DOCX 页数:28 大小:267.86KB
下载 相关 举报
应用DES5402PPU实验箱实现FIR滤波器Word下载.docx_第1页
第1页 / 共28页
应用DES5402PPU实验箱实现FIR滤波器Word下载.docx_第2页
第2页 / 共28页
应用DES5402PPU实验箱实现FIR滤波器Word下载.docx_第3页
第3页 / 共28页
应用DES5402PPU实验箱实现FIR滤波器Word下载.docx_第4页
第4页 / 共28页
应用DES5402PPU实验箱实现FIR滤波器Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

应用DES5402PPU实验箱实现FIR滤波器Word下载.docx

《应用DES5402PPU实验箱实现FIR滤波器Word下载.docx》由会员分享,可在线阅读,更多相关《应用DES5402PPU实验箱实现FIR滤波器Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

应用DES5402PPU实验箱实现FIR滤波器Word下载.docx

片内存储器

16K

需要状态位设置才有效

0x8000-0xffff

外部EPROM

32K

JP5短接

0x18000-0x1ffff

外部SRAM

0x28000-0x2ffff

‘VC5402数据空间

0x0-0x5f

存储器映射寄存器

系统保留

JP5,JP4和IO空间的D1比特位共同确定

‘VC5402的I/O空间分配

0x8000

IO控制字

D0:

直流电机电源控制。

D1:

哪块存储器EPROM还时SRAM占用数据空间0x8000。

D2:

DSP向MCU发中断。

D3、D4:

通用外部扩展总线的数字IO。

0x9000

MCU与DSP并行通信口

0x0a000

PC机RS-232串口控制地址

8个控制寄存器

0x0b000

MCU与DSP串行通讯口

0x0c000

交通灯(LED)控制口

16个比特位对应16个LED

0x0d000

通用扩展总线

0x0e000

直流电机控制口

D0比特有效

0x0f000

步进电机控制口

D0,D1,D2,D3有效

2.FIR滤波器的基本原理和结构

数字滤波器是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。

一个线性位移不变的输出序列y[n]和输入序列x[n]之间的关系,应满足常系数线性差分方程:

y[n]=

n≥0

X[n]为输入序列,y[n]为输出序列,

为滤波器系数,N为滤波器的阶数。

若所有的

均为0,则得到FIR滤波器的差分方程为:

对上式进行Z变换,整理后得到FIR滤波器的传递函数为:

H(z)=

=

 

图:

直接型FIR滤波器的结构图

由上面的公式可知道,FIR滤波算法实际上是一种乘法累加运算,它不断的从输入端读入样本值,经延时后做乘法累加,输出滤波结果。

FIR滤波器的设计方法主要有窗函数法和频率采样法。

本设计中用的是窗函数法设计。

时域

[n]应是一个关于远点n=0对称的无限长序列,截断后的h[n]还应进行右移以形成一个因果的FIR滤波器,即在n<

0时,h[n]=0。

为了保证h[n]的线性相位,还应使h[n]关于中心点对称或反对称。

3.IR滤波器的的DSP实现

FIR滤波器的输出表达式为

不断地对输入样本进行n-1延时后,再进行乘法累加。

C54x通过两种方法实现FIR滤波器的延迟线:

(1)线性缓冲区法(又称延迟线法)

实现N阶FIR滤波器,需要在数据存储器中开辟一个N单元的缓冲区(滑窗),用来存放最新的N个输入样本。

DSP每计算一个输出值,都需要读取N个样本并进行N次乘法和累加;

每当读取一个样本后,将此样本向后移动,读完最后一个样本后,最老的样本被推出缓冲区,输入最新样本存入缓冲区的顶部。

优点:

线性缓冲区法具有存储器中新老数据位置直观明了

图:

N=8的线性缓冲区

顶部为低地址单元,存放最新样本,底部为高地址单元,存放最老样本;

AR1被用作间接寻址的数据缓冲区的辅助寄存器,指向最老样本单元。

AR2被用作间接寻址的系数区的辅助寄存器。

(2)循环缓冲区法

实现N阶FIR滤波器时,需要在数据存储器中开辟一个称为滑窗为N个单元的缓冲区,用来存放最新的N个输入样本。

每当输入新的样本时,以新样本改写滑窗中最老的数据,而滑窗的其他数据不需要移动。

不用移动数据,不需要在一个机器周期中要求进行一次读和一次写的数据存储器,因此,可将循环缓冲区定位在数据存储器的任何位置,而不像线性缓冲区要求定位在DARAM中那样。

缺点:

在循环缓冲区新老数据不很直接明了。

N=8的循环缓冲区

8级循环缓冲区的结构,顶部为低地址单元,底部为高地址单元;

指针ARx指向最新样本单元。

4.模拟信号接口电路(TLC320AC01)的使用

TLC320AC01也是TI公司生产的一款集成有A/D和D/A的芯片,通过串口与DSP或其他设备通信。

AC01的最高采样频率为25kHz,其数据精度为16位,采用单一5V电源供电。

C5402与AC01连接后,可以只使用一个缓冲通道串口来同时实现数据的采集和输出,从而节省了DSP的硬件开销。

因此,DSP与AC01的连接使用在信号处理中得到了广泛的应用。

实验系统DES5402PP使用AC01作为模拟信号接口,有两个AC01,分别工作于“主”、“从”模式。

利用“主AC01”产生方波信号,“从AC01”将该信号转换成滤波的数据信号并输入到DSP芯片。

AC01提供一个14bit的D/A和一个14bit的A/D通道。

AC01与VC5402通过串口0连接。

其中,DSP还可以通过读写AC01的寄存器,控制AC01的采样频率、增益、低通、高通滤波器的截止频率等参数。

VC5402与AC01的连接图

R0

一般为0

R3

相移控制

R6

控制操作模式

R1

采样频率

R4

模拟输入输出的增益控制

R7

控制从模式的串行通信

R2

低通滤波器的截止频率

R5

使能高通滤波器

R8

控制生成的帧同步脉冲数

表:

TLC320AC01的数据存储器功能

5.1KHz方波信号的产生

先在C5402的数据存储空间写入25个数据(13个03ffch,代表方波的高电平;

12个0c000h,代表方波的低电平),然后通过缓冲串口将数据发送到“主AC01”,利用“主AC01”的D/A通道产生一个1KHz的方波作为滤波器的输入信号。

由于串口发送中断将每0.04ms产生一次,所以将一个周期的方波信号分25次送出,这样经D/A变化后可得到1KHz的方波。

6.信号的输入输出

“主AC01”的D/A通道产生一个1KHz的方波从DES5402PP的信号输出通道输出,同时由于DES5402PP的信号输出通道与输入通道相连,即“主AC01”的输出作为“从AC01”的输入,“从AC01”的DOUT端口与DSP芯片的DR端相连。

7.串口初始化及中断服务程序

TMS320VC5402有两个McBSP。

本设计通过DSP的串口0传输数据:

产生缓冲串口发送中断时,中断服务程序进行数据发送,产生方波信号和完成对AC01的初始化;

产生缓冲串口接收中断时,中断服务程序进行数据接收,存储输入的数据,并设置新数据到达标志,调用FIR滤波程序,完成对输入数据的处理。

另外,在串口通讯中,因为数据时钟和帧同步信号都由AC01产生,所以C5402将使用外部时钟和帧同步信号。

8.定时器初始化及定时中断服务程序

使用定时器交替使“XF”输出高电平和低电平。

初始化时设定TDDR和PRD的值,为了获得更长的时间在中断程序中使用一个计数器(timer_count)。

则定时时间T=CLKOUT×

(TDDR+1)×

(PRD+1)×

timer_count,CLKOUT=100MHz

四.设计步骤与调试

1.CCS驱动程序的安装

目前,我们使用的DSP开发环境为TI公司的CCS(CodeComposerStudio)。

CCS软件在XDS510仿真器调试器的配合下工作,所以必须安装正确的硬件驱动程序,并配置仿真器,以便正常工作。

在CCS安装完成后,请参考下面的步骤,安装并配置驱动程序:

(1)当成功安装CCS后,再运行配套光盘中driver目录下的setupcc54x.exe,安装驱动程序。

在选择安装目录时请选择与CCS相同的目录。

安装成功后,在桌面上应该看到SDConfig的配置工具。

(2)使用并口电缆将DES5402PP-U与PC机连接好,并接通板上电源,这时二极管D2应该被点亮。

(3)启动SDConfig这个工具,配置使用的并口。

如图2-1所示:

图安装CCS驱动程序

(4)你可以使用Configuration下的PortsAvailable->

Printer选项测试你的PC机使用的并口类型。

建议将PC的并口设置为:

IO=0x378,EPP(EPP1.7或EPP1.9)!

(5)用鼠标左键单击左边的378选项(如果PC并口使用378端口),然后选择Emu。

在右边窗口选择硬件类型为XDS510PP,并选择合适的并口类型(EmulatorPort项):

如EPP。

在上图实例中,PC机并口使用标准并口,所以选择SPP8。

(6)选择菜单栏中的Emulator项下的Test,测试端口设置是否正确。

若正确,SDCconfig应该检测到1个JTAG设备。

如上图所示。

若没有成功,应该检测设置端口是否与PC的并口一致。

(7)保存设置后退出SDConfig工具。

启动CCS的setup程序,安装CCS的驱动程序。

先使用InstallaDeviceDriver将sdgo5xx驱动程序添加近来,然后将该驱动程序添加到系统中。

注意,驱动程序使用的IO地址为0x378!

图运行CCS的配置程序

(8)修改c5402.gel,以便CCS能访问DES5402PP-U的外部扩展程序和数据存储器。

你可以单独修改该GEL文件,也可以在进入CCS后,再选择“GELfiles”选项,并双击c5402.gel。

这时,你可以修改它的内容。

主要修改两个部分:

在Startup()函数中增加一个函数调用,以便在CCS启动时自动执行,参见下面:

/*TheStartup()functionisexecutedwhentheGELfileisloaded.*/

StartUp()

{

C5402_Init();

/*新增加部分*/

GEL_TextOut("

GelStartUpComplet

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1