《DSP芯片原理及应用》实验指导书.docx
- 文档编号:28634142
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:28
- 大小:85.60KB
《DSP芯片原理及应用》实验指导书.docx
《《DSP芯片原理及应用》实验指导书.docx》由会员分享,可在线阅读,更多相关《《DSP芯片原理及应用》实验指导书.docx(28页珍藏版)》请在冰豆网上搜索。
《DSP芯片原理及应用》实验指导书
《DSP芯片原理及应用》
实验指导书
唐山学院信息工程系
DSP实验室
2008年9月
前言
一.DSP原理及应用实验的任务
数字信号处理实验是数字信号处理理论课程的一部分,它的任务是:
1.通过实验进一步了解和掌握数字信号处理的基本理论及算法、数字信号处理的分析方法和设计方法。
2.学习和掌握数字信号处理的仿真和实现技术。
3.提高应用计算机的能力及水平。
二.实验设备
DSP原理及应用实验所使用的设备由计算机、CPU板、语音单元、开关量输入输出单元、液晶显示单元、键盘单元、信号扩展单元、CPLD模块单元、模拟信号源、直流电源单元等组成。
其中计算机是CCS软件的运行环境,是程序编辑和调试的重要工具。
语音单元是语音输入和输出模块,主要完成语音信号的采集和回放。
开关量输入输出单元可以对DSP输入或输出开关量。
液晶显示单元可以对运行结果进行文字和图形的显示。
模拟信号源可以产生频率和幅度可调的正弦波、方波、三角波。
直流电源单元可以提供3.3V、+5V、-12V和+12V的直流电源。
装有CCS软件计算机与整个实验系统共同构成整个的DSP软、硬件开发环境。
所有的DSP芯片硬件的实验都是在这套实验装置上完成的。
三.对参加实验学生的要求
1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的。
2.按实验指导书要求进行程序设计。
3.在实验中注意观察,记录有关数据和图像,并由指导教师复查后才能结束实验。
4.实验后应断电,整理实验台,恢复到实验前的情况。
5.认真写实验报告,按规定格式做出图表、曲线、并分析实验结果。
字迹要清楚,画曲线要用坐标纸,结论要明确。
爱护实验设备,遵守实验室纪律。
第一章DSP原理及应用实验
实验一常用指令实验
一.实验目的
1.了解DSP开发系统的组成和结构;
2.熟悉DSP开发系统的连接;
3.熟悉DSP的开发界面,熟悉CCS的用户界面,学会CCS环境下程序编写、调试、编译、装载,学习如何使用观察窗口。
4.熟悉C54X系列的寻址系统;
5.熟悉常用C54X系列常用指令的用法。
二.实验设备
计算机,CCS2.0版以上软件,DSP仿真器,DSPCPU挂箱。
三.实验原理
外部标志输出(软件可控信号)XF可用于在多处理器结构中相互通信,也可作通用输出脚。
本实验中XF引脚先接到CPLD,然后把XF再通过CPLD输出给LED灯。
XF为低时LED亮,XF为高时LED灭。
DSP
XF
CPLD
LED
四.实验步骤与内容
1.系统连接
进行DSP实验之前,先必须连接好仿真器、DSPCPU挂箱及计算机,连接方法如下所示:
2.上电复位
在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP开发系统与计算机连接有问题。
3.运行CCS程序
待计算机启动成功后,DSPCPU挂箱220V电源置“ON”,DSPCPU挂箱上电,启动CCS。
成功运行程序后,首先应熟悉CCS的用户界面,然后学会CCS环境下程序编写、调试、编译、装载,学习如何使用观察窗口等。
4.修改样例程序,尝试DSP其他的指令。
5.样例程序实验操作说明
下面以exp01_xf的操作过程说明CCS的工程建立连接编译的方法:
(1)把”exp01_xf目录拷贝到”C:
\ti5x\myprojects”目录下,去掉其只读属性.
(2)删除除了”.asm、.cmd”后缀外的其它所有文件和文件夹;
(3)打开CCS的“Project\new”菜单;
(4)建立工程”exp01_xf”;
(5)打开”addfilestoproject”菜单,把”exp01_xf”目录下的.asm、.cmd文件添加到exp01_xf的工程中。
(6)点击“rebuldall”按钮,编译连接工程。
(7)在”file\loadprogram”菜单,并加载“exp01_xf.out”;加载完毕,单击“Run”运行程序;观察实验结果。
五.思考题及实验报告要求
1.思考题
(1)XF直接驱动LED和XF通过CPLD驱动LED的区别?
(2)修改程序,改变闪烁频率。
2.实验报告要求
(1)给出自行设计的程序清单、程序流程图。
(2)总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。
实验二数据存储实验
一.实验目的
1.掌握TMS320C54的程序空间的分配;
2.掌握TMS320C54的数据空间的分配;
3.熟悉操作TMS320C54数据空间的指令。
二.实验设备
计算机,CCS2.0版软件,DSP仿真器,DSPCPU挂箱。
三.实验原理
C54x的存贮空间分为三个部分,分别是程序空间,数据空间和输入输出(I/O)空间。
程序空间的大小为1M字,数据和输入输出空间大小都是64K字。
存贮空间的配置有两种模式,一种是微处理器方式(MP),另一种是微计算机方式,而这两种方式主要影响程序空间的分配。
微处理器模式,程序地址空间FF80~FFFF是外部的,也就是我们可以配置的。
微计算机模式,程序地址空间FF80~FFFF是被系统占用了的,用于存放系统中断向量表,同时F000~FEFF地址空间也被系统使用,这段地址里面包含了引导程序。
由此可以看出,微计算机方式就是把该DSP看成了独立的一个系统,要自己能够单独工作起来,因此需要引导程序。
数据空间分成了6个部分。
其中00~5F是存贮器映射空间。
这段地址空间的值和DSP内部寄存器的值是一致的,访问这个地址空间就等于访问DSP内部的相对应寄存器。
而这段空间是在DSP的片上RAM内。
60~7F是一个散空间,相当于系统给自己保留了一个空间用于特殊之用。
80~3FFF是DSP的片上RAM所映射的地址空间,如果我们程序的代码比较小时,可以不用外扩RAM。
4000~EFFF,这段空间是外部寻址空间。
假如程序比较大,片上RAM放不下下的时候,可以外扩一个RAM,然后将程序放在这段空间里执行。
F000~FEFF,这段空间可以是外部,也可以是片上ROM,主要受CPU的控制寄存器DROM位的控制。
FF00~FFFF,可以是外部也可以是保留不能使用。
主要受DROM位影响。
输入输出(I/O)空间的64K字全部是外部的。
另外,C54x的程序空间采用了分页机制。
每64K字为一页。
因此程序空间1M字可以划分为16页。
四.实验步骤与内容
1.连接好DSP开发系统,运行CCS软件;
2.在CCS的Memory窗口中查找C54各个区段的数据存储器地址,在可以改变的数据地址随意改变其中内容;
3.在CCS中装载实验示范程序,单步执行程序,观察程序中写入和读出的数据存储地址的变化;
4.结合其他寻址方式一起使用。
5.样例程序实验操作说明
(1)启动CCS2.0,并加载“NORMAL\EXP02_MEM\DEBUG\”;
(2)用“View”下拉菜单中的“Memory”查看内存单元;
(3)输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH单元的数值变化,输入地址0x1000H;查看0x1000H~0x100FH单元的初始值,单击“Run”运行程序,也可以“单步”运行程序;
(4)单击“Halt”暂停程序运行;查看0x1000H~0x100FH单元内数值的变化;
(5)关闭各窗口,本实验完毕。
6.源程序查看:
用下拉菜单中Project/Open,打开“NORMAL\EXP02_MEM\”,双击“Source”,可查看源程序。
五.实验说明:
本实验程序将对0x1000开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X1008开始的8个地址空间。
在CCS中可以观察DATA存储器空间地址0X1000~0X100F值的变化。
六.思考题及实验报告要求
1.思考题
54X访问内部RAM和访问外部RAM的区别?
2.实验报告要求
(1)给出自行设计的程序清单、程序流程图。
(2)总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。
实验三I/O实验
一.实验目的
1.了解I/O口的扩展;掌握I/O口的操作方法;
2.熟悉PORTR,PORTW指令的用途;
3.了解数字量与模拟量的区别和联系。
二.实验设备
计算机,CCS2.0版软件,DSP仿真器,DSPCPU挂箱。
三.实验原理
8位的数字量输入(由八拨码开关产生)当拨码开关打到靠近LED时为低,相反为高,通过74LS244缓冲连接到DSP的数据总线的低8位。
8位的数字量输出(通过八个LED灯显示)当对应LED点亮时说明输出为低,熄灭时为高,通过74LS273缓冲连接到DSP的数据总线的低8位。
四.实验步骤与内容
1.运行CCS软件,编写、调试下载自己编写程序,分别调整数字输入单元的开关K1~K4,观察LED7~LED10亮灭的变化,以及输入和输出状态是否一致。
2.样例程序实验操作说明
启动CCS2.0,并加载“normal\exp03_io\debug\”;单击“Run”运行程序;
任意调整K1~K4开关,可以观察到对应LED7~LED10灯“亮”或“灭”;单击“Halt”,
暂停持续运行,开关将对灯失去控制;
五.实验说明
实验中采用简单的一一映射关系来对I/O口进行验证,在本实验中,提供的IO空间分配如下:
CPU的I/O空间:
地址0x0004按键input(X)8,通过74LS244扩展
CPU的I/O空间:
地址0x0004灯output(X)8,通过74LS273扩展
六.思考题及实验报告要求
1.思考题
(1)XF直接驱动LED和XF通过CPLD驱动LED的区别?
(2)怎样判断5402内部的PLL已经切换到分频模式?
2.实验报告要求
(1)给出自行设计的程序清单、程序流程图。
(2)总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。
实验四定时器实验
一.实验目的
1.熟悉C54x的定时器;
2.掌握C54x定时器的控制方法;
3.学会使用定时器中断方式控制程序流程。
二.实验设备
计算机,CCS2.0版软件,DSP硬件仿真器,DSPCPU挂箱。
三.实验原理
54x片上定时器只有一个输出引脚TOUT。
每次片上定时器到零后,该脚就产生一个输出负脉冲,脉冲的宽度是CLKOUT输出的一个周期。
这个脚可用于外部计数器的时钟输入。
片上定时器对应了三个寄存器,分别是定时寄存器(TIM),定时周期寄存器(PRD)和定时器控制寄存器(TCR)。
它们在存贮空间的映射地址如下图所示:
定时器的时钟输入是CPU的工作时钟,也就是CLKOUT。
一旦定时器开始工作,TIM就装入PRD里面的值,然后在CPU时钟的触发下减一,直到减到零,然后TOUT引脚输出一个宽度等于CLKOUT时钟周期的脉冲,接下来,根据TCR的设置,TIM可能继续从PRD里面装入一个值,然后又开始减一计数。
从图可以看出,CPU时钟和TSS反位进行与操作才进入时钟输入端,所以TSS必须为零,CPU时钟才能正常进入。
PSC和TIM的功能一样,而TDDR和PRD的功能一样。
使用TRB
可以对定时器复位,导致数值重新装入。
最后,定时器输出一个中断,一个进入DSP内部,所以大家可以在IFR寄存器里面找到TIMER的中断标志位,另一个从TOUT引脚出来。
初始化定时器的步骤如下:
第一:
向TCR的TSS位写入1,停止定时器工作。
第二:
向PRD内写入想要的值。
第三:
向TCR中的TDDR位写入想要的分频系数,再打开定时器,即向TCR的TSS位写入0。
在本系统中,如果设置时钟频率为20MHZ,令PRD=0x4e1f,这样得到每1/1000秒中断一次,通过累计1000次,就能定时1秒钟。
四.实验步骤和内容
1.运行CCS软件,编写程序程序,装载并运行;
2.定时器实验通过数字量输入输出单元的LED7~LED10来显示;可观察到LED灯(LED7~LED10)以一定的间隔时间不停摆动;
五.思考题及实验报告要求
1.思考题
(1)54X定时器在嵌入式系统可以做什么使用?
(2)TOUT引脚在嵌入式系统可以做什么使用?
2.实验报告要求
(1)给出自行设计的程序清单、程序流程图。
(2)总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。
实验五外部中断实验
一.实验目的
1.掌握中断技术,学会对外部中断的处理方法;
2.掌握中断对程序流程的控制,理解DSP对中断的响应时序。
二.实验设备
计算机,CCS2.0版软件,DSP仿真器,DSPCPU挂箱
三.实验原理
中断在C54x中有内部中断源和外部中断源,内部中断源包括一些片上外设产生的中断和软件产生的中断。
外部中断源包括经由外部中断引脚产生的中断。
在C54x中,中断有两种分类方法,第一种是按照是否可屏蔽,第二种是按照中断产生方式。
按照是否可屏蔽分类,分为可屏蔽和不可屏蔽。
所谓屏蔽是指DSP可以接受这个中断,但是却不作任何反映,也就是说对应的中断服务指令被屏蔽了,从而得不到执行,这种中断就叫做可屏蔽中断,相反的,如果一个中断只要产生,那么就必须有中断服务指令相应,这种中断叫做不可屏蔽中断。
按照中断产生的方式可以分为软件中断和硬件中断。
软件中断是指由指令产生的中断,硬件
中断是指由外部中断源产生或者片上外设产生。
硬件中断中,用户可以自定义仅有NMI,INT[0:
3],其它的硬件中断都已经指定给了DSP的片上外设,比如编号为19的中断,TINT0/SINT3,它是片上定时器中断或者软件中断,当片上定时器0到点后,就会产生一个中断,相应就会执行这个地址里面的东西。
而在系统初始化时,IPTR的值刚好映射到了程序空间FF80处。
在处理中断时,系统使用了两个主要的寄存器,中断标志寄存器(IFR),中断屏蔽寄存器(IMR)。
对于非可屏蔽中断和复位信号,系统直接相应,没有什么判断处理,也就不设计这两个寄存器。
图5-1IFR寄存器的的各位描述
这个寄存器的每一位对应一个中断,相应的中断发生后,这个位就会被置位。
显然,这里面没有NMI和RESET对应的标志位。
图5-2IMR寄存器的各位位描述
IMR的值完全由程序员控制,假如想屏蔽掉某个中断,那么就需要对IMR的相应中断位置位。
在这个阶段,系统回检查如下条件。
第一:
检查所有同时发生的中断的优先级,高优先级首先得到相应。
第二:
检查ST1中的中断模式位(INTM),如果该位为1,所有中断全部被屏蔽。
INTM是一种快速屏蔽所有可屏蔽中断的方法。
第三:
检查IMR中相应中断的屏蔽位,如果置位,则不能得到执行。
如果以上三条检查都通过,那么系统进入中断服务程序。
具体内容如下。
第一:
把程序计数器(PC)压栈。
第二:
把相应中断向量的地址装入程序计数器(PC)。
第三:
从中断向量地址中取到跳转指令,把IACK信号置低,同时对相应中断的IFR位清零,执行跳转指令。
IACK变低的时候,在紧接着的CLKOUT时钟上升沿,A6~A2表明了中断向量的编号,因此,可以通过IACK和A6~A2对中断进行检测,但必须将地址可见模式位(AVIS)置位。
第四:
执行中断服务指令直到一个返回语句。
第五:
正常返回,把栈里的内容弹出重新装入PC。
第六:
继续执行正常指令。
C54XDSP的中断为低电平沿触发。
键盘模块单元的按键产生低电平脉冲,输出给VC54X的INT0引脚,每按一次,产生一个低电平脉冲,用来控制DSPCPU挂箱上LED灯的亮灭。
四.实验步骤和内容
实验前准备:
用短接线连接跳线“J100”,使DSP产生的中断给键盘模块单元的按键,对应的中断是外
部中断0。
1.低电平单脉冲触发DSP中断INT0;该中断由键盘模块单元的按键产生。
按一次,产生一个中断。
2.运行CCS软件,调入样例程序,装载并运行;
3.每按一次键盘模块单元的按键,LED7~LED10灯亮灭变化一次;
4.填写实验报告。
5.样例程序实验操作说明
(1)启动CCS2.0,并加载“NORMAL\EXP05_int\DEBUG\”;
(2)单击“Run”运行程序,反复按开关“单脉冲输出”,观察LED7~LED10灯亮灭变化;
(3)单击“Halt”暂停程序运行,反复按键盘模块单元的按键,LED7~LED10灯亮灭不变化;
(4)关闭所有窗口,本实验完毕。
(5)源程序查看:
用下拉菜单中Project/Open,打开“NORMAL\EXP05_int\”,双击“Source”,可查看各源程序。
五.思考题及实验报告要求
1.思考题
(1)54软件中断和硬件中断的区别?
各自的应用场合?
2.实验报告要求
(1)给出自行设计的程序清单、程序流程图及中断程序流程图。
(2)总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。
实验六语音采集回放
一.实验目的
1.熟悉ADC/DAC的性能及TLV320AIC23的接口和使用;
2.熟悉McBSP多通道缓冲串口配置为SPI模式的通信的应用;
3.掌握一个完整的语音输入、输出通道的设计;
4.了解语音信号的采集、回放及滤波处理。
二.实验设备
计算机,CCS2.0版软件,DSPCPU挂箱、DSP仿真器、音频对录线、音频信号源。
三.实验原理
TLV320AIC23(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINEIN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。
AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。
与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。
由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3……)、录音机等数字音频领域。
图6-1TLV320AIC23与5402的接口原理图:
四.实验步骤与内容
1.采集回放实验
(1)利用自备的音频信号源,或把计算机当成音源,从DSPCPU挂箱的“语音单元”的音频接口“麦克输入”输入音频信号,进行AD采集。
(2)语音信号采集;
(3)输出音频信号,(可以用示波器观察或用耳机听)实现语音信号的回放;
(4)具体的硬件接口连线参见样例程序实验操作说明;
(5)运行CCS软件,加载示范程序,运行程序,扬声器有声音输出;
(6)写实验报告。
(7)样例程序实验操作说明
①实验前准备
“语音接口”模块小板的拨码开关设置:
(缺省设置已设置好,不需用户设置)
拨码开关SW1、SW2:
语音接口板信号选择,使用语音接口单元时全部置为ON,不使用语音接口单元时全部置为OFF。
语音2号孔接口:
(最大允许输入电压范围0~+3.3V,超出此范围,易引起器件损坏)
2号孔接口名称
备注
ROUT
右声道信号输出端子
LOUT
左声道信号输出端子
IN1
左声道信号输入端子
IN2
右声道信号输入端子
语音扩展板拨码开关的设置:
SW1拨码开关:
状态
备注
1
ON,MODE=1SPI模式、用SPI模式配置AIC23
2
OFF
3
ON
4
ON
SW2拨码开关:
状态
备注
1
ON
2
ON
3
ON
4
空脚,OFF
底板拨码开关的设置:
用音频对录线,连接DSPCPU挂箱的“语音单元”的音频接口“麦克输入”接口和外部音源输入接口;连接耳机和“耳机输出”接口。
②启动CCS2.0,打开“exp08_audio\”工程文件;双击“”及
“Source”可查看各源程序;并加载“exp08_audio\debug\”中的;打开音频源,输出音频,单击“Run”运行程序,或按F5运行程序;通过耳机,可听到连续音频信号。
在
“i=0”处设置断点:
在View→Graph→Time/Frequency打开一个图形观察窗口,以观察程序采集到的左右声道的声音波形,设置观察窗口参数,起始地址为readaudio1和readaudio2,长度为256,16位整型;该实验完成模拟音频信号的数字化采集、A/D及D/A转换和回放。
单击“Halt”暂停程序运行,选择“Close”关闭“”工程文件,关闭各程序显示窗口。
2.重低音处理实验
启动CCS2.0;打开“\super_bass\super_bass”文件夹中的“”工
程文件;双击“”及“source”可查看各源程序;并加载“”下载文件;
打开音频源,输入音频信号,建议输入随程序附带的“东邪西毒”MP3,单击“Run”运
行程序,或按F5运行程序;
程序中对左声道的输入信号做了“低音滤波”,右声道不做处理直接输出,调节左右声道
调节旋钮,比较“低音滤波”声音和原始输入声音的区别,在mode=1时,小号声音被滤掉,主要输出为鼓的低音mode=2时,与mode=0时比较,低音有明显加强。
在View→Graph→Time/Frequency打开一个图形观察窗口,以观察程序采集到的左声道的原
始声音波形和滤波后的波形,设置观察窗口参数,起始地址为in和out,长度为256,16位整型;
实验说明:
程序中mode的说明
Amode=0时,直通;输入与输出相同;
Bmode=1时,低音滤波,输出为输入信号的低音部分
Cmode=2时,对输入信号做低音加重处理,请注意与mode=0时输出结果比较
建议采用耳机监听处理结果。
由于程序主要完成低音加重处理,建议选用低音丰富的乐曲或歌曲作为音源进行处理。
实验时,输入及输出音量应视情况做适当调整,以避免溢出。
五.思考题及实验报告要求
1.思考题
(1)McBSP多通道缓冲串口工作方式如何进行配置?
2.实验报告要求
(1)给出程序流程图。
(2)总结实验过程中调试所遇到的问题和解决方法,写出编程调试的经验和体会。
实验七语音信号的FFT分析
一.实验目的
1.加深对DFT算法原理和基本性质的理解;
2.熟悉FFT算法原理和FFT子程序的应用;
3.学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二.实验设备
计算机,CCS2.0版软件,DSPCPU挂箱,DSP仿真器,音频线,音源。
三.基本原理
1.离散傅立叶变换DFT的定义:
将时域的采样变换成频域的周期性离散函数,频域的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。
2.FFT是DFT的一种快速算法,将DFT的N2步运算减少为(N/2)log2N步,极大的提高了运算的速度。
3.旋转因子的变化规律。
4.蝶形运算规律。
5.基2时域抽取法FFT算法。
四.实验前准备:
1.利用自备的音频信号源,或把计算机当成音源,从DSPCPU挂箱的“语音单元”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP芯片原理及应用 DSP 芯片 原理 应用 实验 指导书