实验十一.docx
《实验十一.docx》由会员分享,可在线阅读,更多相关《实验十一.docx(26页珍藏版)》请在冰豆网上搜索。
实验十一
实验十一BOOTLOADER装载实验
一、实验目的
1.了解DSP54X芯片的BOOTLOADER功能;
2.对BOOTLOADER的操作流程能深入了解;
3.学习EEPROM的固化;
4.了解DSP上电复位的具体步骤。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱,烧录器。
三、基础知识
5402的BOOTLOADER功能是:
在上电后,将程序机器代码从外部设备上搬移到程序空间中来,可使存储在非易失存储器中的程序转移到高速内存中来,并可直接执行,实现程序功能。
BOOTLOADER提供各种装载方式,有并行、串行或HPI方式等,也可选择16BIT还是8BIT;不同方式的选择是通过中断、BIO、XF等信号来控制的。
系统复位时,如果MP/MC=0,BOOTLOADER程序将会执行。
程序复位后,DSP从FF80跳到了芯片内部的bootloader程序,并开始运行片内的程序。
下面是其初始化程序:
.sect"boot"
boot
ssbxintm;关掉所有中断
ld#0,dp
stm#0FFFFh,@ifr;clearIFRflag
orm#02b00h,@st1;xf=1,hm=0,intm=1,ovm=1,sxm=1
orm#020h,@pmst;ovly=1
stm#07fffh,swwsr;7waitstates
功能是:
使中断无效(intm=1),内部RAM映射到程序/数据区(OVLY=1),对程序和数据区均设置7个等待状态。
其内部的BOOT程序需要读取先设置好boot表,此表位于数据空间中0x8000--0xFFFFH(共32K);因为,在boot时,已经置DROM=0位,这样0x8000--0xFFFFH映射外部使用。
BOOT程序先读I/O空间的0xFFFFH单元中的值XXXX,并把XXXX作为数据空间中BOOT表的地址,然后判断XXXX单元值是否0x08AAH,或者0x10AAH。
本样例程序中,由于没有设计读I/0空间的0xFFFFH单元地址,BOOTLoader程序将会读DS空间的FFFF单元值。
设为YYYY,然后再看YYYY这个地址是不是0x10AAH(16位),因此,在写ROM的时候要向FFFF单元放一个XXXX值。
汇编原码main.asm,必须加-v548选项,hexconversionutility(HEX500.EXE),这样才能生成正确的bootloader所需要的
启动表的例子:
boot.out/inputfile
-a/ascIIformat
-mapapp1.mxp/mapfile
-e
-bootorgA000H
-oexample.hex
roms
{rom1:
org=01000hlen=04000hrowwidth=16
row2:
or=05000,len=04000rowwidth=8
files={app1.u2app1.u3}
sections
{.text:
boot
.databoot
.vectorsboot}
a格式:
^B$XXXX
XXXXXXXXXXXXXXXX...^C
第一行的$XXXX是地址
第二行是:
XX是数据
四、实验步骤
1、安装写好的EEPROM(实验一),短接CPU1板J4的1、2脚;
1、系统上电,复位CPU板,观察XF灯是否不停的闪动;
(如果没有闪动说明BOOTLOADER失败,需认真检查原因。
)
3、连接开发系统,运行CCS,阅读源程序,修改,并编译生成OUT文件;(必须
加-v548选项)
4、用HEX500.EXE工具生成可烧录的文件;(如example.hex)
5、用烧录器将该文件烧入ROM中;更换新的ROM,进行实验。
二、实验说明
实验详细说明参见EXP11实验说明.DOC文档。
附1BOOTLOADER判别流程
附2BOOTLOADER方式选择流程
实验十二二维图形生成
一、实验目的
1.了解DSP的图形处理功能;掌握CCS的图形观察功能;
2.学会简单的二维图形生成编程。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、实验步骤
样例程序实验操作说明
启动CCS2.0,用Project/Open打开“Graphmake.pjt”工程文件;
双击“Graphmake.pjt”及“Source”可查看各源程序;并加载“Graphmake.out”;
在“Graphmake.c”最后“i=0”处设置断点;
单击“Run”,程序运行到断点处停止;
用View/Graph/Time/Frequency打开一个图形观察窗口,以观察产生的一维信号波形;设置该图形观察窗口,观察变量x,长度40,浮点型数值;
用View/Graph/Image再打开一个图形观察窗口,以观察产生的二维信号波形;该二维图形是用一维信号波形以y轴为旋转轴旋转360度产生;按下图设置该图形观察窗口,观察变量y,为8181的二维数组;
调整图形窗口位置,单击“Animate”,观察各图形窗口变化;
单击“Halt”停止程序运行,关闭“Graphmake.pjt”工程文件,关闭各窗口,本实验结束。
四、实验说明
在二维数字信号处理及图象处理理论中,对二维数字信号或图象进行滤波处理时,二维滤波器的设计通常会采用窗口法设计非递归滤波器,设计时,可采用一维设计技术,并将其直接推广,虽然维数增加了,但由于不用对一维滤波器的设计方法作重大修改,从而使简化二维滤波器的设计。
在采用窗口法设计非递归滤波器的方法中,常见的有旋转法和笛卡尔生成法。
旋转法:
将一维滤波器的
以
轴为旋转轴,旋转360度,从而生成
,可表示为:
这种方法生成的窗口底面区是圆的;
笛卡尔生成法:
用两个一维窗口的笛卡尔(外)积来求得方形或矩形底面区的二维窗口,可表示为:
两种生成方法的窗口底面区可参见下图。
旋转生成法笛卡尔生成法
在计算机图形学中,也常采用旋转法来实现二维图形或曲面的生成,利用一维图形描述
,以
轴或
轴为旋转轴旋转360度生成二维图形
,也有以
中的某一点,沿不同轴进行旋转,从而可简化复杂二维图形或曲面的生成。
在本实验中,以cos或sin函数生成一维图形,并以
轴为旋转轴旋转360度,生成二维图形,用CCS的图形观察窗口观察。
实验十三信号混叠与数字滤波
一、实验目的
1.学习用DSP用户开发板产生信号混叠的方法和目的。
2.熟悉数字滤波的基本原理和实现方法。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱,示波器,短接块及导线若干。
三、基础理论
1.模拟滤波器原理;(巴特沃斯型、切比雪夫型滤波器)
2.数字滤波器的基础知识;
3.IIR滤波器的基本原理和设计方法。
(可参阅第五章相关内容)
四、实验步骤和内容
1.复习有关IIR数字滤波器的知识;
2.阅读本实验所提供的样例程序;
3.运行样例程序,用示波器观察“语音处理单元”中的2号孔接口“IN”脚(滤波前)和“OUT”(滤波后)两点的波形,并进行比较,分析结果,记录必要的参数;
4.填写实验报告。
5.样例程序实验操作说明
1)实验前准备
1、“语音处理单元”的拨码开关设置:
S1:
拨码开关
码位
备注
1
OFF:
交流量输入
2
OFF:
交流量输入
S2:
拨码开关:
码位
备注
1
OFF:
交流量输入
2
OFF:
扬声器关闭
3
ON:
帧同步脉冲接通
4
ON:
串口时钟接通
在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。
实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100Hz/1V左右;高频正弦波信号为6KHz/1V左右;
用导线连接“信号源单元”中2号孔接口OUT1和语音处理单元中的2号孔接口“IN”;
2)实验
实验A:
信号混叠实验
用示波器观测OUT1和OUT2输出的模拟信号波形;
将S3中的拨码开关2打到ON,用示波器观测OUT1输出的混叠信号波形。
实验B:
数字滤波实验
启动CCS2.0,用Project/Open打开exp13中的“ExpIIRokLP02rt.pjt”工程文件;双击“ExpIIRokLP02rt.pjt”及“Source”可查看各源程序;并加载“ExpIIRokLP02rt.out”;
单击“Run”运行程序,或按F5运行程序;
利用双踪示波器,一通道观察混叠信号波形(“语音处理单元”中2号孔接口的输出),另一通道观察滤波信号波形(“语单处理单元”中的2号孔“OUT”接口的输出);
实验结果:
在示波器上可以观察到100Hz左右低频正弦波信号被滤出;
实验说明:
该实验完成对高频和低频混叠信号的数字化低通滤波,混叠信号经A/D转换
后输入DSP系统,经IIR低通滤波后,进行D/A转换并输出。
本样例程序采用Butterworth型IIR低通滤波算法,低通滤波器性能参数为:
采样频率为16KHz,通带内最大允许衰减3dB,阻带内最小衰减大于30dB,
过度带宽度为3.2KHz;
通带上限频率:
800Hz;
阻带下限截止频率:
4KHz。
可通过修改“ExpIIRokLP02rt.c”中“nlpass”和“nlstop”参数来改变滤波性能。
单击“Halt”暂停运行,修改参数,“RebuildAll”、“Load”后,单击“Run”运行程序,可观察到不同的滤波结果。
算法特殊说明:
程序中参数“nlpass”和“nlstop”分别为通带上限频率参数和阻带下限
截止频率参数,采样频率对应为1;在设置时,“nlpass”“nlstop”两
参数均要小于0.5,且“nlpass”要比“nlstop”小0.2,否则,将不能满
足阻带的最大衰减大于30dB。
五、实验说明
高频正弦波和低频正弦波的混叠信号,送入TLV320AD50进行A/D变换,IIR低通滤波器滤波,经D/A输出低频正弦波信号。
实验十四数字图象处理实验
一、实验目的
1.了解数字图象处理的基本原理;
2.学习灰度图象反色处理技术;
3.学习灰度图象二值化处理技术。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、实验步骤
样例程序实验操作说明
首先,在PC机的D盘新建目录“tu”,并把“Lena64.bmp”拷贝到该目录下。
启动CCS2.0,用Project/Open打开“Gammacorrection.pjt”工程文件;双击“Gammacorrection.pjt”及“Source”可查看各源程序;并加载“Gammacorrection.out”;
在“Gammacorrection.c”中,在三个“i=0”处设置三个断点;
单击“Run”,程序运行到第一个断点处停止;
用View/Graph/Image打开一个图形观察窗口,以观察程序载入的“Lena64.bmp”图象,该图象应保存在“D:
\Tu”目录中;按下图设置该图形观察窗口,观察变量y,为6464的二维数组;
单击“Run”,程序运行到第二个断点处停止,这时可在图形观察窗口中,观察到原图象经反色处理后的结果图象;
单击“Run”,程序运行到第三个断点处停止,这时可在图形观察窗口中,观察到原图象经二值化处理后的结果图象,本程序中,二值化处理阈值设为128;
关闭各窗口,本实验结束。
实验十五DTMF(双音多频)信号的产生和检测
一、实验目的
1.了解DTMF信号的基本原理和用途;
2.学习DTMF信号产生和检测算法。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱,短接块,导线。
三、实验原理
1.概述
DTMF(Dual-ToneMultifrequency)通信技术中的一种信号传输方法,这里的tone代表一个固定频率的声音片断,而dual-tone则是由两个不同的tone产生的复频信号。
数字式电话的12个键分别代表了12种不同的复频组合,借助于对频率组合的侦测,计算机可分辨出所按的是哪一个键,从而达到与电话另一端的使用者互动控制的目的。
通过这种技术可以使计算机将控制命令从复杂的声音讯号中判别出来,从而使我们能够通过电话按键控制计算机的运作。
DTMF信号发生器将按键或数字信号转化成双音信号,DTMF信号检测器检测双音信号中的信息。
下图是一般双音多频电话的双音频率情况:
图1双音频电话键盘
2.DTMF信号的产生
正弦信号算法和频率控制
设有一系统:
其传输函数
没有零点,只有一对处在单位圆上的共扼极点,则单位冲击响应为恒幅度振荡,即产生了正弦信号。
式中:
,
,
;
经离散变换后得:
式中:
,
,
;
A为正弦波幅值,
为采样频率,
为正弦波频率。
图2正弦波振荡器原理图
对于DTMF所要产生的频率和采样频率为:
ROW频率:
697、770、852、941Hz
COLUMN频率:
1209、1336、1477、1633Hz
采样频率:
=8kHz
DTMF信号时序控制
根据AT&T技术规范:
(1)数字号码最大传输速度为每秒10个,即一个号码占100ms时间片。
(2)在100ms时间片内双音多频信号持续不少于45ms且不多于55ms的时间。
(3)一个数字按键有两个作业:
ToneTask和QuietTask。
工作流程
键中断将启动一个作业(StartTask)
执行QuietTask:
o插入双音信号间的间隔
o置ToneTask的计数大小
oUnpackNewDigit
执行ToneTask:
o按规定时间片输出双音信号
o置QuietTask的计数大
3.DTMF信号的检测
双音频率信息获取算法:
Goertzel算法
Goertzel算法用来从输入信号中提取出所需要信号,运算速度比DFT算法快。
对N点采样计算表达式为:
式中:
DTMF信号的判别方法:
∙信号强度大于THR-SIG
∙双音信号(行、列)功率差:
THR-TWIREV~THR-TWISTD
∙比邻近双音信号强度大THR-ROWREL,THR-COLREL
∙二次谐波强度小于THR-ROW2nd,THR-COL2nd
运算量与存储需求
表1产生DTM信号所需的运算速度和内存
表2检测DTM信号所需的运算速度和内存
四、实验步骤
1.熟悉DTMF的基本原理和规范;
2.阅读实验提供的程序;
3.运行样例程序,观察DTMF信号的产生和检测过程;
4.写实验报告。
5.样例程序实验操作说明
“语音处理单元”的拨码开关设置:
S1:
拨码开关
码位
备注
1
OFF:
交流量输入
2
OFF:
交流量输入
S2:
拨码开关:
码位
备注
1
OFF:
交流量输入
2
ON:
扬声器打开
3
ON:
帧同步脉冲接通
4
ON:
串口时钟接通
启动CCS2.0,用Project/Open打开“Dtmf.pjt”工程文件;双击“Dtmf.pjt”及“Source”可查看各源程序;并加载“Dtmf.out”;
在程序最后“i=0”处,设置断点;
单击“Run”运行程序,运行至断点处停止,并有拨号音;
分别用View/Graph/Time/Frequency打开三个图形观察窗口,以观察产生的行频、列频、双音频信号以及
信号;设置第一个图形观察窗口,观察起始地址分别为xr和xc,长度为102、32位浮点型的两组数据,分别为行频和列频的产生信号;
设置第二个图形观察窗口,观察起始地址为x,长度102、32位浮点型的一组数据,为双音频产生信号;
设置第三个图形观察窗口,观察起始地址为z,长度为8、32位浮点型的一组数据,为
的值;
打开程序变量观察窗口,观察以下变量的值;
“inkey”为输入键值,整型,范围0~15;“outkey”为运算后的输出键值,字符型,与实验中介绍的键盘各键值对应,“outkeycol”为输出键值的行位置,“outkeyrow”为列位置。
范围均为1~4;
单击“Animate”,观察各窗口图形、变量及拨号音变化;
在程序中,可以修改输入键值数组in的值,该数组长度为16,“RebuildAll”后、“加载”及“运行”,可观察不同的运行结果;
关闭工程文件,关闭各窗口,实验完毕。
五、实验说明
1、程序分两部分,前半部分为DTMF产生,后半部分为DTMF检测。
2、DTMF产生中用数组in设定键值,数组长度为16,范围0~15,可人工改写;
3、数组xr为产生的行频信号,长度为102,32位浮点型;
数组xc为产生的列频信号,长度为102,32位浮点型;
数组x为产生的双音频信号,长度102点,32位浮点型;
4、数组z为DTMF检测中能量模板
,以完成按键的行位置及列位置检测;
6、变量outkeycol及变量outkeyrow分别为按键行位置及列位置的检测结果,均为整
型变量;变量outkey为最终键值检测结果,键值与本实验中介绍的键盘键值对
应,为字符型变量。
子程序流程图
DTMF信号产生子程序流程图:
DTMF信号检测子程序流程图:
实验十六LCD实验
一、实验目的
1.了解LCD显示的基本原理;
2.学习用TMS320C54XDSP芯片控制LCD的基本方法和步骤;
3.加深对访问DSPIO空间的理解。
二、实验设备
计算机,CCS2.0版软件,DSP仿真器,实验箱。
三、LCD简介
液晶显示器(LCD)以其功耗低、体积小、外形美观、价格低廉等多种优势在仪器仪表产品中得到愈来愈多的应用。
LCD数据接口基本上分为串行接口和并行接口两种形式,本实验系统选用的是北京青云创新科公司生产的中文液晶显示模块,型号为LCM12864ZK_LCD,其字型ROM内含8192个16*16点中文字型和128个16*8半宽的字母符号字型;另外绘图显示画面提供一个64*256点的绘图区域GDRAM;而且内含CGRAM提供4组软件可编程的16*16点阵造字功能。
电源操作范围宽(2.7Vto5.5V);低功耗设计可满足产品的省电要求。
同时,与单片机等微控器的接口界面灵活(三种模式并行8位/4位串行3线/2线)。
中文液晶显示模块可实现汉字、ASCII码、点阵图形的同屏显示;广泛用于各种仪器、仪表家用电器和信息产品上作为显示器件。
本实验中,采用串行数据接口输入方式,把LCD映射到DSP芯片的IO空间,其IO地址为0x000F,TMS320C54xDSP芯片对该地址输出数据,实现对LCD的显示控制。
四、实验步骤和内容
1.在CPU上连接DSP开发系统,正确连接完毕后,系统上电;将“信号源处理单元的”拨码开关S3的拔码1置“ON”。
2.启动CCS2.0,用Project/Open打开“lcd.pjt”工程文件;双击“lcd.pjt”及“Source”可查看各源程序;并加载“lcd.out”;
3.单击“Run”运行程序;
4.可以在LCD上显示:
“北京精仪达盛公司欢迎您”等结果。