数字信号处理EXPIV型教学实验系统实验四常规实验exp4常规.docx
《数字信号处理EXPIV型教学实验系统实验四常规实验exp4常规.docx》由会员分享,可在线阅读,更多相关《数字信号处理EXPIV型教学实验系统实验四常规实验exp4常规.docx(54页珍藏版)》请在冰豆网上搜索。
![数字信号处理EXPIV型教学实验系统实验四常规实验exp4常规.docx](https://file1.bdocx.com/fileroot1/2023-7/10/41900ba9-efb9-4943-ad18-38beaeafcc16/41900ba9-efb9-4943-ad18-38beaeafcc161.gif)
数字信号处理EXPIV型教学实验系统实验四常规实验exp4常规
第四章常规实验指导
实验一常用指令实验
一、实验目的
1、了解DSP开发系统的组成和结构;
2、熟悉DSP开发系统的连接;
3、熟悉CCS的开发界面;
4、熟悉C54X系列的寻址系统;
5、熟悉常用C54X系列指令的用法。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、实验步骤与内容
1、系统连接
进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:
2、上电复位
在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源,启动计算机,此时,仿真器上的“红色小灯”应点亮,否则DSP开发系统有问题。
3、运行CCS程序
待计算机启动成功后,实验箱后面220V输入电源开关置“ON”,实验箱上电,启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。
注:
如在此出现问题,可能是系统没有正常复位或连接错误,应重新检查系统硬件并复
位;也可能是软件安装或设置有问题,应尝试调整软件系统设置,具体仿真器和仿真
软件CCS的应用方法参见第三章。
●成功运行程序后,首先应熟悉CCS的用户界面
●学会CCS环境下程序编写、调试、编译、装载,学习如何使用观察窗口等。
4、修改样例程序,尝试DSP其他的指令。
注:
实验系统连接及CCS相关设置是以后所有实验的基础,在以下实验中这部分内容将不再复述。
5、填写实验报告。
6、样例程序实验操作说明
仿真口选择开关K9拨到右侧,即仿真器选择连接右边的CPU:
CPU2;
启动CCS2.0,在ProjectOpen菜单打开exp01_cpu2目录下面的工程文件“exp01.pjt”
注意:
实验程序所在的目录不能包含中文,目录不能过深,如果想重新编译程序,去掉所有文件的只读属性。
用下拉菜单中Project/Open,打开“exp01.pjt”,双击“Source”,可查看源程序
在FileLoadProgram菜单下加载exp01_cpu2\debug目录下的exp01.out文件:
加载完毕,单击“Run”运行程序;
实验结果:
可见指示灯D1定频率闪烁;单击“Halt”暂停程序运行,则指示灯停止闪烁,如再单击“Run”,则指示灯D1又开始闪烁;
注:
指示灯D1在CPLD单元的右上方
关闭所有窗口,本实验完毕。
+-
实验二数据存储实验
一、实验目的
1、掌握TMS320C54的程序空间的分配;
2、掌握TMS320C54的数据空间的分配;
3、熟悉操作TMS320C54数据空间的指令。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、实验系统相关资源介绍
本实验指导书是以TMS32OVC5402为例,介绍相关的内部和外部存储器资源。
对于其他类型的CPU请参考查阅相关的数据手册。
下面给出TMS32OVC5402的存储器分配表:
对于数据存储空间而言,映射表相对固定。
值得注意的是内部寄存器都映射到数据存储空间内。
因此在编程应用是这些特定的空间不能作其他用途。
对于程序存储空间而言,其映射表和CPU的工作模式有关。
当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在微计算机模式。
具体的存储器映射关系如上如所示。
存储器试验主要帮助用户了解存储器的操作和DSP的内部双总线结构。
并熟悉相关的指令代码和操作等。
四、实验步骤与内容
连接好DSP开发系统,开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;
1、运行CCS软件;
2、在CCS的Memory窗口中查找C5402各个区段的数据存储器地址,在可以改变的数据地址随意改变其中内容;
3、在CCS中装载实验示范程序,单步执行程序,观察程序中写入和读出的数据存储单元内容的变化;
4、联系其他寻址方式的使用。
5、样例程序实验操作说明
启动CCS2.0,在ProjectOpen菜单打开exp02_cpu2目录下面的工程文件“exp02.pjt”。
用下拉菜单中Project-->Open,打开“exp02_CPU2\exp02.pjt”,双击“Source”,可查看源程序。
在FileLoadProgram菜单下加载exp02_cpu2\debug目录下的exp02.out文件。
用“View”下拉菜单中的“Memory”查看内存单元;
输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH单元的数值变化,输入地址0x1000H;
查看0x1000H~0x100FH单元的初始值,单击“Run”运行程序,也可以“单步”运行程序;
单击“Halt”暂停程序运行;
查看0x1000H~0x100FH单元内数值的变化;
关闭各窗口,本实验完毕。
本实验说明:
本实验程序将对0x1000开始的8个地址空间,填写入0x55AA的数值,然后读出,并存储到0X1008开始的8个地址空间。
在CCS中可以观察DATA存储器空间地址
注:
本实验也可以在CPU1上运行
实验三I/O实验2
一、实验目的
1、了解I/O口的扩展;掌握I/O口的操作方法;
2、熟悉在C语言中访问IO口的方法
3、了解数字量与模拟量的区别和联系。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、实验步骤与内容
开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;启动CCS2.0,在ProjectOpen菜单打开exp03_cpu2目录下面的工程文件“exp03.pjt”。
用下拉菜单中Project-->Open,打开“exp03_cpu2\exp03.pjt”,双击“Source”,可查看源程序。
在FileLoadProgram菜单下加载exp03_cpu2\debug目录下的exp03.out文件。
运行程序,分别调整开关量输入单元的开关K1~K8,观察LED指示灯LED1~LED8亮灭的变化,以及开关量输入和输出状态是否一致。
1、样例程序实验操作说明
启动CCS2.0,打开exp03_cpu2目录下面的工程文件“exp03.pjt”并加载
“exp03_cpu2\debug\exp03.out”;
单击“Run”运行程序;
任意调整K1~K8开关,可以观察到对应LED1~LED8灯“亮”或“灭”;单击“Halt”,暂停持续运行,开关将对灯失去控制;
关闭所有窗口,本实验完毕。
四、实验说明
实验中采用简单的一一映射关系来对I/O口进行验证,目的是使实验者能够对I/O有一目了然的认识。
在本实验中,提供的IO空间分配如下:
CPU2的I/O空间:
0x8000拨码开关input8位
CPU2的I/O空间:
0x8001LED灯output8位
实验四定时器实验2
一、实验目的
1、熟悉C54的定时器;
2、掌握C54定时器的控制方法;
3、学会使用定时器中断方式控制程序流程。
二、实验设备
计算机,CCS2.0版软件,DSP硬件仿真器,实验箱。
三、实验步骤和内容
1、开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;启动CCS2.0,在ProjectOpen菜单打开exp04_cpu2目录下面的工程文件“exp04.pjt”。
用下拉菜单中Project-->Open,打开“exp04_cpu2\exp04.pjt”,双击“Source”,可查看源程序。
在FileLoadProgram菜单下加载exp04_cpu2\debug目录下的exp04.out文件。
2、运行程序,观察LED指示灯LED1~LED8的变化;
3、程序实验操作说明
启动CCS2.0,打开工程文件“exp04.pjt”。
加载exp04_cpu2\debug目录下的
exp04.out文件。
单击“Run”运行,可观察到LED灯(LED1~LED8)以一定的间隔时间不停摆动;
单击“Halt”,暂停程序运行,LED灯停止闪烁;单击“Run”,运行程序,LED灯又开始闪烁;
关闭所有窗口,本实验完毕。
四、实验说明
C54的定时器是一个20位的减法计数器,可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断,控制定时器中断频率的两个寄存器是定时周期寄存器PRD和定时减法寄存器TDDR,定时器的中断周期为:
CLKOUTX(TDDR+1)X(PRD+1)
在本系统中,如果设置时钟频率为10MHZ,令PRD=0x30D3,TDDR=15,这样得到每0.02秒中断一次,通过累计50次,就能实现1秒钟定时。
0.1usX(15+1)X(12499+1)X50=1S
实验五外部中断实验3
一、实验目的
1.掌握中断技术,学会对外部中断的处理方法;
2.掌握中断对程序流程的控制,理解DSP对中断的响应时序。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱
三、实验步骤和内容
1、低电平单脉冲触发DSP中断INT2;该中断由“单脉冲输出”按键产生。
按一次,产生一个中断。
2、拨码开关:
SW2
SW2
备注
1
2
3
4
码位
ON
ON
OFF
ON
单脉冲产生的中断给CPU2的中断INT2
3、关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;启动CCS2.0,在ProjectOpen菜单打开exp05_cpu2目录下面的工程文件“exp05.pjt”。
用下拉菜单中Project-->Open,打开“exp05_cpu2\exp05.pjt”,双击“Source”,可查看源程序。
在FileLoadProgram菜单下加载exp05_cpu2\debug目录下的exp05.out文件。
a)运行实验程序;
b)每按一次“单脉冲输出”按键LED1~LED8灯亮灭变化一次;
4、填写实验报告。
5、样例程序实验操作说明
启动CCS2.0,打开工程文件“exp05.pjt”。
加载exp05_cpu2\debug目录下的exp05.out文件。
单击“Run”运行程序,反复按开关“单脉冲输出”,观察LED1~LED8灯亮灭变化;
单击“Halt”暂停程序运行,反复按开关“单脉冲输出”,LED1~LED8灯亮灭不变化;
四、实验说明
54XDSP的INT2中断为低电平沿触发。
实验六A/D转换实验3
一、实验目的
1.熟悉A/D转换的基本原理;
2.掌握AD7822的技术指标和常用方法;
3.掌握并熟练使用DSP和AD7822BN的接口及其操作。
二、实验设备
计算机,CCS2.0软件,DSP仿真器,实验箱
三、实验步骤和内容
1、拨码开关设置:
JP3拨码开关:
码位
备注
1
ON:
将“模拟信号源”单元1的信号输入到AD7822
2
OFF:
3
OFF:
4
OFF:
5
OFF:
6
OFF:
SW2拨码开关:
SW2
备注
1
2
3
4
码位
ON
ON
ON
ON
AD7822的采样时钟为250KHZ,且中断给CPU2的中断2
2、运行CCS软件,加载示范程序;
3、观察采样结果;
4、填写实验报告。
5、样例程序实验操作说明
6、开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;启动CCS2.0,在ProjectOpen菜单打开exp06_cpu2目录下面的工程文件“exp06.pjt”。
用下拉菜单中Project-->Open,打开“exp06_cpu2\exp06.pjt”,双击“Source”,可查看源程序。
在FileLoadProgram菜单下加载exp06_cpu2\debug目录下的exp06.out文件。
在“7822_54.c”中如下图“i=0;”处,设置断点;
单击“Run”运行程序,程序运行到断点处停止;
7、用下拉菜单中的View/Graph的“Time/Frequency”打开一个图形观察窗口;
设置该图形观察窗口的参数,观察起始地址为”data_buff”,长度为256的存储器单元内的数据,该数据为输入信号经A/D转换之后的数据,数据类型为16位整型;
8、单击“Animate”运行程序,调节信号源1的频率、幅值、波形调节旋钮,在图形观察窗口观察A/D转换后的数据波形变化;
9、单击“Halt”暂停程序运行,用“View”的下拉菜单中“Memory”打开存储器数据观察窗口;设置该存储器数据观察窗口的参数,选择地址为data_buff,数据格式C格式16进制数;
10、单击“Animate”运行程序,调整存储器数据观察窗口,并在该窗口中观察数据变化,A/D转换后的数据存储在地址为data_buff单元开始的256个单元内,变化数据将变为红色;
11、单击“Halt”停止程序运行;
12、关闭“exp06.pjt”工程文件,关闭各窗口,本实验完毕。
四、实验说明
AD7822通过DSP的I/O口完成数据通讯。
采样数据存储在从数据data_buff[]中。
AD7822的时序:
实验七D/A转换实验4
一、验目的
1、熟悉D/A转换的基本原理;
2.掌握AD7303的技术指标和常用方法;
3.熟悉DSP的多通道缓冲串口配置为SPI的应用方法;
4.掌握并熟练使用DSP和AD7303的接口及其操作。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱,示波器。
三、实验步骤与内容
1.开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;
2.运行CCS软件,加载示范程序;
3.按F5运行程序,用示波器检测“D/A转换单元的的2号孔接口“输出1”输出一个正弦波;
4.填写实验报告。
5.样例程序实验操作说明
开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;启动CCS2.0,在ProjectOpen菜单打开exp07_cpu2目录下面的工程文件“exp07.pjt”。
用下拉菜单中Project-->Open,打开“exp07_cpu2\exp07.pjt”,双击“Source”,可查看源程序。
在FileLoadProgram菜单下加载exp07_cpu2\debug目录下的exp07.out文件。
6、单击“Run”运行程序一次,然后取消运行。
7、在ViewGraphTime/Frequency打开一个图形观察窗口,以观察程序产生的波形。
设置观察窗口参数,起始地址为data_buff,长度为256,16位整型;
产生的正弦波图形如下:
8、然后单击“Run”全速运行程序。
用示波器检测“D/A转换单元的的2号孔“输出1”输出一个正弦波;
关闭所有窗口,本实验完毕。
四、实验说明
本实验通过DSP产生一个正弦波,然后再将这个正弦波的数据,按一定周期通过D/A发送出去。
在2号孔接口“输出1”输出一个连续的正弦波,正弦波的频率和辐值可以通过程序设定。
AD7303是单极性8位串口DA,所以生成的正弦波数据要换算到AD7303的数据范围。
针对此程序的换算公式为:
DATA=(1+sinθ)*255/2,而且根据AD7303要求的数据格式,还要对换算后的数据作相应的变换才能最终通过SPI口发送给AD7303。
AD7303的接口时序:
实验八语音处理实验4
一、实验目的
1.熟悉TLV320AIC23的接口和使用;
2.熟悉McBSP多通道缓冲串口配置为SPI模式的通信的应用;
3.掌握一个完整的语音输入、输出通道的设计;
4.了解语音信号的采集、回放及滤波处理。
二、实验设备
计算机,CCS2.0版软件,实验箱、DSP仿真器、音频对录线、音频信号源。
三、实验步骤与内容
1.利用自备的音频信号源,或把计算机当成音源,从实验箱的“语音单元”的音频接口“麦克输入”输入音频信号,进行AD采集。
2.语音处理算法;
3.DA输出音频信号;(可以用示波器观察,也可以经过语音放大电路驱动板载扬声器)实现语音信号的回放;
4.具体的硬件接口连线参见样例程序实验操作说明;
5.开关K9拨到左边,即仿真器选择连接左边的CPU:
CPU1;运行CCS软件,加载示范程序,运行程序,扬声器有声音输出;
6.写实验报告。
7.样例程序实验操作说明
1)实验前准备
“语音接口”模块小板的拨码开关设置:
SW1拨码开关:
状态
备注
1
ON
2
OFF
3
ON
4
ON
SW2拨码开关:
状态
备注
1
ON
2
ON
3
ON
4
OFF
底板拨码开关的设置:
拨码开关S6:
状态
备注
1
ON,右声道开;
2
ON,左声道开;
用音频对录线,连接实验箱的“语音单元”的音频接口“麦克输入”接口和外部音源输入接口;
2)实验
实验A:
语音采集与回放实验
启动CCS2.0,打开“exp08_cpu1\useraudio01\”中的“useraudio01.pjt”工程文件;双击“useraudio01.pjt”及“Source”可查看各源程序;
并加载“exp08_cpu1\useraudio01\debug\”中的useraudio01.out;
打开音频源,输出音频,单击“Run”运行程序,或按F5运行程序;通过板载喇叭,可听到连续音频信号,调节“右声道调节”和“左声道调节”旋钮,输出音频信号大小变化。
在图示I=0处设置断点:
在ViewGraphTime/Frequency打开一个图形观察窗口,以观察程序采集到的左右声道的声音波形,设置观察窗口参数,起始地址为readaudio1和readaudio2,长度为256,16位整型;
采集到的声音波形如下:
实验说明:
该实验完成模拟音频信号的数字化采集、A/D及D/A转换和回放。
单击“Halt”暂停程序运行,选择“Close”关闭“useraudio01.pjt”工程文件,关闭各程序显示窗口;
实验B:
重低音处理实验
启动CCS2.0;打开“\super_bass\super_bass”文件夹中的“useraudio.pjt”工程文件;双击“useraudio.pjt”及“source”可查看各源程序;并加载“Suseraudio.out”下载文件;
打开音频源,输入音频信号,建议输入随程序附带的“东邪西毒”MP3,单击“Run”运行程序,或按F5运行程序;
程序中对左声道的输入信号做了“低音滤波”,右声道不做处理直接输出,调节左右声道调节旋钮,比较“低音滤波”声音和原始输入声音的区别,在mode=1时,小号声音被滤掉,主要输出为鼓的低音mode=2时,与mode=0时比较,低音有明显加强。
在图示J=0处设置断点:
在ViewGraphTime/Frequency打开一个图形观察窗口,以观察程序采集到的左声道的原始声音波形和滤波后的波形,设置观察窗口参数,起始地址为in和out,长度为256,16位整型;
采集到的声音波形如下:
实验说明:
程序中mode的说明
A、mode=0时,直通;输入与输出相同;
B、mode=1时,低音滤波,输出为输入信号的低音部分
C、mode=2时,对输入信号做低音加重处理,请注意与mode=0时输出结果比较
建议采用耳机或音箱监听处理结果。
原因:
实验箱自带喇叭的音频动态范围过窄。
由于程序主要完成低音加重处理,建议选用低音丰富的乐曲或歌曲作为音源进行处理。
实验时,输入及输出音量应视情况做适当调整,以避免溢出。
实验九键盘接口及七段数码管显示实验
一、实验目的
1.了解串行口8位LED数码管及64键键盘智能控制芯片HD7279A的基本原理;
2.学习用TMS320C54XDSP芯片控制芯片HD7279A键盘和LED的基本方法和步骤;
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、HD7279A芯片简介
该芯片是一片具有串行接口的,可同时驱动8位共阴式数码管或(64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示,键盘接口的全部功能。
HD7279A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。
此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。
HD7279A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。
四、实验步骤和内容
1.开关K9拨到右边,即仿真器选择连接右边的CPU:
CPU2;正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;
2.启动CCS2.0,用Project/Open打开exp09_cpu2/目录下的“exp09.pjt”工程文件;双击“exp09.pjt”及“source”可查看各源程序;并加载“debug”目录下的“exp09.out”;
3单击”run”运行程序或按F5运行程序,然后观察结果:
可以看到LED全部点亮(包括小数点)闪烁,然后LED13、LED14显示出
0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F,并逐渐左移,然后LED全部熄灭,此时按键盘上的按键,便可在最右边一位LED上显示出按键对应的键值,再次按下任意一键时,上一个显示的键值左移一位,新键值显示在最右端。
,同时LED1~LED8亮灭变化。
下面是键盘的键值表:
关闭所有窗口,本实验完毕。
五、实验说明
本实验帮助学习智能键盘、显示驱动芯片HD7279A的工作原理和使用方法;实验把DSP的MCBSP1配置成通用IO口来模拟串口实现和HD7279A的通信。
注:
HD7279的详细资料,请查看附带的PDF文档
实验十LCD实验
一、实验目的
1.了解LCD显示的基本原理;
2.学习用TMS320C54XDSP芯片控制LCD的基本方法和步骤;
3.加深对访问DSPIO空间的理解。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、LCD简介
液晶显示器(LCD)以其功耗低、体积小、外形美观、价格低廉等多种优势在仪器仪表产品中得到愈来愈多的应用。
LCD数据接口基本上分为串行接口和并行接口两种形式,本实验系统选用的是北京青云创新科公司生产的中文液晶显示模块,型号为LCM12864ZK_LCD,其字型ROM内含8192个16*16点中文字型和1