DSP 实验指导书4.docx
- 文档编号:8369051
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:25
- 大小:1.22MB
DSP 实验指导书4.docx
《DSP 实验指导书4.docx》由会员分享,可在线阅读,更多相关《DSP 实验指导书4.docx(25页珍藏版)》请在冰豆网上搜索。
DSP实验指导书4
DSP实验指导书
实验1CCS和并口驱动仿真器的安装和设置
1.1实验目的与实验设备
一.实验目的
●熟悉、掌握CCS软件的安装和环境设置,
●熟悉、掌握并口驱动仿真器的安装和设置。
二.实验仪器
实验室:
DSP实验室
设备:
●DSP实验箱一台。
●计算机一台。
●CCS软件一套。
1.2安装CCS
我们将CCS和并口仿真器的驱动均安装在E:
\ti下。
若同学们想将文件安装在其他目录下请自行修改。
在安装之前,请关闭所有的杀毒软件,因为这些杀毒软件可能会造成安装的失败。
1.首先进入光盘的CCS2.0For5000目录,点击setup进入安装界面。
2.点击Install/CodeComposerStudio(缩写为CCS)开始安装CCS。
3.点击“Next>”进入下一级界面
系统提示您关闭所有杀毒软件,请关闭所有的杀毒软件后,再进入安装程序。
如果关闭了所有杀毒软件,点击“确定”进入下一级界面。
4.同意版权警告,点击“Yes”进入下一级界面。
5.继续点击“Next>”进入下一级界面。
6.该界面下我们要选择所有的安装文件,包括CCS2.0和PDF在线帮助文档后,点击“Next>”进入下一级界面。
7.该界面下,我们点击Browse选择我们将CCS安装再什么目录下。
CCS默认的安装目录为C:
\ti,这里我们选择的目录文E:
\ti。
点击“Next>”进入下一级界面。
8.该界面是告诉我们所有前面自定义的安装信息,点击“Next>”系统就开始自动安装CCS。
而后给出安装信息。
9.点击“确定”进入下一级菜单。
10.在该菜单下将Register和Read两条提示钩为空白。
点击“Finish”后就完成了所有CCS的安装。
1.3并口驱动器的安装
1.首先进入光盘的并口仿真器驱动,点击电脑图形的Setup进入安装界面。
2.点击“Next>”进入下一级界面。
3.输入计算机名和公司名后,点击“Next>”进入下一级界面。
4.在该界面下点击“Browse”选择你要将并口驱动安装的目录,通常你的CCS安装在哪个盘的根目录下,你就应该将并口驱动安装在那个盘的根目录下。
比如我们将CCS安装再E:
\ti下,我们就把并口驱动安装在
E:
\composer中
而系统默认的目录为C:
\composer。
选择完毕后点击“Next>”进入下一级界面。
5.系统提示前面所有自定义设置后,后点击“Next>”系统自动安装完毕后进入下一级界面。
6.该界面提示是否安装NT(Windows2000)的驱动,如果你的系统是Windows2000就点击“是”,如果你的系统是Windows98就点击“否”。
我们这里的系统是Windows2000,所以点击“是”进入下一级界面。
一定要让系统提示你sdiont.sys文件安装成功,如果安装失败就不能正常下面的设置。
通常失败后,你进行以下后面的setupCCS2设置后,再重新安装并口驱动程序就会好。
如果还不行,就要打开光盘中的需要手动配置的并口仿真器驱动的Read54x进行手动配置。
不过通常都能安装成功。
点击“确定”进入下一级界面。
7.点击“Finish”安装完毕。
桌面上出现了两个图标,其中左边的为CCS2运行程序,右边的为CCS2驱动设置文件。
1.4并口仿真器在SetupC2中的配置方法
1.点击
SetupCCS2进入主配置界面。
2.关闭ImportConfigration界面,点击右边的InstallaDeviceDriver安装微芯力并口驱动。
3.在E:
\Composer的目录下选取sdgo5xx32.dll驱动文件,点击“打开”进入下一个界面。
4.点击“OK”我们就从系统中将驱动程序调入到CCS驱动配置文件中。
出现在中间的“AvailableBoard/SimulatorTypes”框中。
5.将sdgo5xx32文件从中间的AvailableBoard/SimulatorTypes框中拖入左边的“SystemConfiguration”框中,系统就会自动跳出BoardProperties对话框。
6.BoardName&DataFile栏目中没有什么要改动的,点击“Nexat>”进入下一个界面。
7.在BoardProperties对话框中将Value中的值改为你的并口中断接口,通常是378。
点击“Next”进入下一个界面。
8.在ProcessorConfigration对话框中点击“AddSingle”按钮为系统添加一个CPU,点击“Next>”进入下一个界面。
9.在StartupGELFile(s)对话框中给StartupGEL添加一个目录为E:
\ti\cc\gel\的c5409.gel文件:
单击“……”按钮,浏览到E:
\ti\cc\gel\的c5409.gel,单击“打开”按钮。
10.点击“Flinish”。
完成设置。
11.关闭CodeComposerStudioSetup时选择“是”存储对改变的设置。
而后打开实验箱电源、仿真器电源和CCS2.0就可以进入CCS开始实验。
实验2创建、运行工程
2.1实验目的与实验设备
一.实验目的
掌握创建工程文件、编译、运行工程文件和修正错误的方法。
二.实验仪器
实验室:
DSP实验室
设备:
●DSP实验箱一台。
●计算机一台。
●CCS软件一套。
2.2创建新的Project
1.点击
CCS2进入CCS管理器界面。
单击“OPEN”菜单,在下拉列表菜单中选择上述选择的CPU。
打开CCS程序进入CodeComposer界面。
(1)创建新的Project;
●选择“Project->NEW”,
在生成工程对话框中,在第一个框中输入自己工程的名字,在第二个框中选择自己工程的保存位置地址,其他不选,其输出文件默认在自己选择的地址下。
●单击“完成”按钮,生成自己的工程文件。
一个工程项目是由下列文件组成的:
一个或多个源文件(.C)。
一个或多个头文件(.h)。
一个或多个库文件(.LIB)。
一个存储器配置文件(.cmd文件)。
生成的文件有:
目标文件(.OBJ)和可执行文件(.OUT)。
(2)打开已有工程:
选择“Project->OPEN”。
2.3编写源程序代码
1.编写源程序代码
单击“File->New->SourceFile”开始创建编辑你的代码。
编码完成后请保存。
依次把程序中的hello.c,hello.h,hello.cmd先后粘贴至不同的新文件中。
然后取相应的文件名保存至指定的目录中。
2.添加文件到工程;
●选择“Project->AddFilestoProject”,选择hello.c然后单击打开。
●选择“Project->AddFilestoProject”,在文件类型框中选择连接器命令文件(*.cmd)。
选中hello.cmd然后单击打开。
此文件为内存的映射。
3.添加库文件
选择“Project->AddFilestoProject”,浏览编译器文件夹(E:
\ti\c5400\cgtools\lib)。
在文件类型框中选择库文件(*.lib),选中rts.lib然后单击“打开”按钮。
这个库文件为目标DSP提供了运行时的支持。
3.浏览所创建的工程;
在工程浏览器中单击“+”号扩展exam01.pjt工程,我们可以看到刚才添加的所有文件。
如附件中的程序A,程序B,程序C。
当FILEIO没有定义时,这只是一个使用标准函数puts()来显示helloworld!
信息的程序。
当你定义了FILEIO,这个程序获取一个字符串并存储到文件中。
然后再从文件中读出并显示它和长度用标准输出(output)。
2.4编译、运行程序和修正语法错误
2.4.1编译
选择“Project->Build”或单击“build”的工具栏按钮。
CCS重新编译,重新汇编,并且重新链接所有的文件。
处理过程的所有信息将会显示在窗口的底部的消息框中。
●出现一个编译错误的提示,单击“取消”。
滚动建立标签区,可以看到一个语法错误的提示。
●双击红色的语法错误描述区。
你可看到hello.c源文件被打开,并且光标停在行“puts("helloworld!
\n")/*故意的引用错误*/”上。
●修正光标上一行指令的语法错误(没有分号),你可注意到在编辑窗口的标题栏中出现一个星号(*),它表示源文件被修改。
文件存储后星号消失。
●选择“File->Save”或按Ctrl+S来存储hello.c。
●选择“Project->RebuildAll”或单击工具栏上的“RebuildAll”按钮。
无论什么时候工程选项设置被改变后读需要全部重建程序。
当编译无错误时,生成OUT文件。
2.4.2加载OUT文件
●选择“File->LoadProgram…”,选择刚刚建立的程序exam01.out,然后单击打开CCS自动装载程序到目标DSP,然后打开一个显示程序反汇编后的汇编指令的反汇编窗口。
单击一个汇编指令,按F1键CCS将搜索指令的帮助。
此为获取一个不熟悉的指令帮助的很好的方法。
2.4.3运行程序
●选择“Debug->Run”或单击“Run”工具栏按钮。
●单击“Halt”或按ShiftF5停止程序的运行。
2.4.4实验结果
在CCS的Stdout对话框中出现“洛阳理工学院电气自动化系欢迎你!
”字样。
附录程序说明
程序A:
hellow.c
*********************************************************************************************Hellow.C程序********************
**************************************************************************
inti;
charscanStr[BUFSIZE];
charfileStr[BUFSIZE];
size_tread#include
#include"hellow.h"
#defineBUFSIZE30
structPARMSstr=
{
2934,
9432,
213,
9432,
&str
};
/*
*========main========
*/
voidmain()
{
#ifdefFILEIO
Size;
FILE*fptr;
#endif
/*写字符串到stdout*/
puts("洛阳理工学院电气自动化系欢迎你!
!
\n")/*故意的引用错误*/
#ifdefFILEIO
/*清字符串*/
for(i=0;i scanStr[i]=0; fileStr[i]=0; } /*从stdin读入字符串*/ scanf("%s",scanStr); /*打开一个文件并且写字符到该文件*/ fptr=fopen("file.txt","w"); fprintf(fptr,"%s",scanStr); fclose(fptr); /*打开一个文件并且从该文件读字符*/ fptr=fopen("file.txt","r"); fseek(fptr,0L,SEEK_SET); readSize=fread(fileStr,sizeof(char),BUFSIZE,fptr); printf("Reada%dbytechararray: %s\n",readSize,fileStr); fclose(fptr); #endif } 程序B: hellow.h ***************************************************************************************************HELLOW.H程序***************** ******************************************************************************* structPARMS{ intBeta; intEchoPower; intErrorPower; intRatio; structPARMS*Link; }; 程序C: hellow.cmd *********************************************************************************************Hellow.CMD程序********************* ************************************************************************** MEMORY { PAGE0: PROG: origin=01000h,length=05000h PAGE1: SARAM: origin=0800h,length=01000h } SECTIONS { .text: {}>PROGPAGE0 .cinit: {}>PROGPAGE0 .switch: {}>PROGPAGE0 .const: {}>SARAMPAGE1 .data: {}>SARAMPAGE1 .bss: {}>SARAMPAGE1 .stack: {}>SARAMPAGE1 .sysmem: {}>SARAMPAGE1 } 实验3正弦波信号发生器实验 3.1实验目的与实验仪器 1.实验目的 了解产生信号的方法。 掌握在以DSP为核心的实时系统中产生信号的主要使用方法。 2.实验仪器 DSP仿真器、仿真软件(CCS)、计算机、实验箱、示波器 3.2实验内容和原理 本实验要求产生连续的周期信号,这些周期信号可以是方波、锯齿波、三角波、正弦波等各种波形,各种波形产生的原理基本相同。 本实验以产生连续的正弦波为例,如果需要产生其他波形,请同学们自行编写程序。 产生连续的波形的方法主要有两种: 第1种方法为查表法,即事先将需要输出的数据计算好,存储在DSP中,然后依次循环输出就可以了。 查表法的优点是速度快,可以产生频率较高的波形,而且不占用DSP的计算时间;缺点是需要占用DSP内部的存储空间。 总而言之查表法一种“用空间换时间”的方法。 在DSP参与的系统中,通常对时间要求特别严格,即实时性很高。 故而查表法是实时系统最为常用的方法。 第2种方法为计算法,即采用无限循环函数的计算方法依次计算出数据而后输出。 计算法的优点在于使用算法实现数值输出,不需要象查表法那样存储大量数据,节省数据空间;缺点为通常的算法实现都要用到泰勒公式等复杂的循环计算公式(如公式1cos函数泰勒展开公式),造成运算周期比较长,信号的实时性较差。 总而言之计算法是一种“用时间换空间”的算法。 一个角度为θ的正弦波或余弦波,可以展开为泰勒级数,取其前5项可近似得: 公式1cos函数泰勒展开公式 其中x为θ的弧度值。 本实验用泰勒级数展开法,计算-π~π的正弦值,计算点数N为256点(N=0: 255),经过取整处理后,产生一个正弦波,并通过D/A转换输出。 产生的正弦波信号频率f与N值和D/A转换频率fda有关,计算公式为: 3.3实验步骤 1.创建新的Project; ●选择“Project->NEW”, 在生成工程对话框中,在第一个框中输入自己工程的名字,在第二个框中选择自己工程的保存位置地址,其他不选,其输出文件默认在自己选择的地址下。 ●单击“完成”按钮。 生成自己的工程文件。 2.编写源程序代码 单击“File->New->SourceFile”开始创建编辑你的代码文件: c、cmd和asm文件。 编码完成后请保存。 选择“File->Save”或按Ctrl+S来存储“.c”等文件。 3.添加文件到工程; (1)添加主程序文件: 选择“Project->AddFilestoProject”,选择.c文件然后单击“打开”按钮。 (2)添加cmd文件: 选择“Project->AddFilestoProject”,在文件类型框中选择连接器命令文件(*.cmd)。 选中ad50.cmd然后单击“打开”,此文件为内存的映射。 (3)添加asm文件: 选择“Project->AddFilestoProject”,选择Da.asm文件,然后单击“打开”按钮。 4.添加库文件 选择“Project->AddFilestoProject”,浏览编译器文件夹(C: \ti\c5400\cgtools\lib)。 在文件类型框中选择库文件(*.lib),选中rts.lib然后单击“打开”按钮。 这个库文件为目标DSP提供了运行时的支持。 5.链接、编译程序 选择“Project->Build”或单击“build”的工具栏按钮。 CCS重新编译,重新汇编,并且重新链接所有的文件。 处理过程的所有信息将会显示在窗口的底部的消息框中。 选择“Project->RebuildAll”或单击工具栏上的“RebuildAll”按钮。 无论什么时候工程选项设置被改变后读需要全部重建程序。 当编译无错误时,在debug文件夹中生成OUT文件。 6.加载OUT文件 选择“File->LoadProgram…”,选择刚刚建立的程序“.out”文件,然后单击打开CCS自动装载程序到目标DSP,然后打开一个显示程序反汇编后的汇编指令的反汇编窗口。 7.运行程序 ●选择“Debug->Run”或单击“Run”工具栏按钮。 ●单击“Halt”或按ShiftF5停止程序的运行。 3.4实验结果 可以在示波器上看到连续正弦波产生。 改变程序的输出步长和输出幅度,示波器的步长和幅度跟随变化: 改变N值,(例如N=1023)重复上述步骤,对照示波器查看DA输出结果。 附录程序说明 1.主程序(.C文件) externvoidDa(void); /*********************************************************************** **MainFunctionProgram ***********************************************************************/ #include"math.h" #include"stdio.h" #defineN255 #definepi3.1415926 voidmain() { inti; doublex0,x1,x2,x3; doublex,r,xx,y[N+1]; int*py=(int*)0x3000; r=2*pi/N; for(i=0;i<=N;i++) { x=i*r-pi; xx=x*x; x0=1-xx/(8*9); x1=1-x0*xx/(6*7); x2=1-x1*xx/(4*5); x3=1-x2*xx/(2*3); y[i]=x*x3; } i=0; for(;;) { for(i=0;i<=N-1;i++) { *py=(int)(y[i]*125+125); Da(); } } } 2.CMD文件(ad50.cmd) /*********************************************************************** **FileName: AIC10EVM.cmdad50.cmd ************************************************************************ **ThisistheTMS320C54xxDSKlinkercommandandmemorymapping **file,whichconsistsofprogramsforLinking(optionshavebeen **definedthroughCode¨CComposer);andmapsDSPmemoryandits **sections. ** ***********************************************************************/ /*********************************************************************** **LinkFiles ***********************************************************************/ /*******BasicDSP&AIC10Management/SetupFiles*******/ /*********************************************************************** **MemoryMapandSectionDefinition ***********************************************************************/ MEMORY { PAGE0: /*programspace*/ VECS: origin=0x0080,length=0x007f/*128bytesvectortablespace*/ PROG: origin=0x0100,length=0x24ff/*8Kprogrammemoryspace*/ PAGE1: /*dataspace*/ SCRA: origin=0x0060,length=0x001f/*scratchpadmemspace*/ STCK: origin=0x2600,length=0x04
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 实验指导书4 实验 指导书