2812实验箱实验指导书精.docx
- 文档编号:8114045
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:55
- 大小:1.37MB
2812实验箱实验指导书精.docx
《2812实验箱实验指导书精.docx》由会员分享,可在线阅读,更多相关《2812实验箱实验指导书精.docx(55页珍藏版)》请在冰豆网上搜索。
2812实验箱实验指导书精
DSP(TMS320F2812技术实验指导用书
合肥工业大学
电气与自动化工程学院
DSP实验室
目录
前言(3
第一部分实验设备软、硬件说明及安装(4
第二部分实验(9
实验1CODECOMPOSER使用教程(9
实验2编写一个以C语言为基础的DSP程序(17
实验3编写一个以汇编语言(ASM为基础的DSP程序(23
实验4编写一个汇编和C混合的DSP程序(28
实验5拨码开关与数字I/O口实验(32
实验6SPI接口与EEPROM存储器读写实验(34
实验7液晶显示器控制显示(39
实验8键盘输入与数码管显示(43
实验9DSP的定时器实验(46
实验10存储器实验(52
实验11AD模数转换实验(56
实验12温度测量实验(59
实验13PWM输出实验(61
实验14频率测量实验(63
实验15有限冲击响应滤波器(FIR滤波实验(67
实验16快速傅立叶变换(FFT频谱分析实验(74
实验17SCI串行接口实验(81
实验18CAN接口通讯自检测实验(84
实验19MCBSP与数模转换实验(88
实验20直流电机调速实验(90
实验21步进电机调速实验(94
实验22USB通信模块实验(98
参考文献(105
前言
电气与自动化工程学院为本科生和研究生开设了DSP原理及应用课程、DSP技术及其应用综合实验。
根据我们学院所设置专业的特点,选择TI公司C2000系列DSP芯片作为主要学习内容,该课程的实践性很强,即实验是该课程的主要内容。
我们针对TI公司C2000系列DSP芯片的工作原理、体系结构、指令系统和应用开发了一套实验平台――TMS320F2812实验箱,该实验箱内容丰富,易于扩展,特别适合综合实验。
为了方便实验教学,我们编写了实验箱的实验指导书。
本实验指导书共分为两部分。
第一部分分是实验设备软、硬件说明及安装。
第二部分介绍在TMS320F2812的实验箱平台上进行的22个实验。
在电气与自动化工程学院DSP实验室的建设中,得到了美国TI公司大学计划的捐赠;得到合肥工业大学实验室自制设备项目的资助;学院领导给予了很大的重视和支持,DSP实验室的研究生们也做了大量的工作。
在此一并表示感谢。
本实验指导书针对DSP实验室研制的DSP(TMS320F2812实验箱,由实验室的老师和研究生编写,全书由徐科军教授审阅。
陈佳臻编写了实验11、12和17;姜鹏编写了实验14;单开编写了实验10和22;周全编写了实验6、9和18;张然编写了实验15和16;其余11个实验由王海欣编写。
在实验指导书的编写过程中,参考了一些公司的资料和专家的书籍。
由于编者水平有限,书中肯定存在不妥之处,敬请批评指正。
编者
2009年5月10日
第一部分实验设备软、硬件说明及安装
一.开发环境
开发TMS320C28xx应用系统一般需要以下设备和软件调试工具:
1.PC机一台,安装Windows2000或WindowsXP操作系统及常用软件。
2.TMS320C2812实验箱。
3.DSP仿真器一台及相关连线。
如:
ICETEK-5100USB仿真器。
4.TI的DSP开发集成环境CodeComposerStudio。
如:
CCS3.3for’C2000。
5.仿真器驱动程序(见配套光盘。
6.实验程序及文档。
二.实验箱的硬件连接
将电源线的一端插入实验箱外侧箱壁上的电源插孔中。
确认实验箱面板上电源总开关处于“关”的位置,连接电源线的另一端至220V交流供电插座上,保证稳固连接。
三.构造DSP开发软件环境
1.安装CCS软件(此文档假定将CCS安装在默认目录C:
\CCStudio_v3.3中,建议使用默认安装目录。
(1插入实验箱附带的教学光盘打开教学光盘的“CCS开发软件”目录。
(2双击“Setup.exe”,进入安装程序。
使用默认路径”C:
\CCStudio_v3.3”。
(3选择“CodeComposerStudio”,按照安装提示进行安装,并重新启动计算机。
(4安装完毕,桌面上出现两个新的图标。
2.安装DSP仿真器需要安装两部分:
(1仿真器的Windows驱动程序(并口无需,usb口要安装;
(2仿真器在CCS环境中的驱动程序。
3.安装实验程序
将实验箱对应的“2812projects”目录中的子目录复制到C:
\CCStudio_v3.3\MyProjects上,并将目录中所有文件(包含子目录中的文件的只读属性去除。
4.安装初始化仿真器程序
安装ICETEK-5100USB2.0仿真器
四.设置CCS
1.设置CCS工作在软件仿真环境
CCS可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。
但一般软件无法构造DSP中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。
在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。
(1单击桌面上图标:
进入CCS设置窗口。
(2在出现的窗口中按标号顺序进行如下设置:
图1-1ccs设置驱动界面
接着在下面出现的窗口中选择“否(N”。
此时CCS已经被设置成Simulator方式(软件仿真TMS320F2812器件的方式,如果一直使用这一方式就不需要重新进行以下设置操作了。
2.设置CCS通过ICETEK-5100USB仿真器连接2812硬件环境进行软件调试和开发。
(1单击桌面上图标:
进入CCS设置窗口。
(2在出现的窗口中按标号顺序进行如下设置:
图1-2import设置界面
(3接着在下面的窗口中按标号顺序进行如下选择:
图1-3设置gel文件(4在出现的窗口按标号顺序进行如下设置
图1-4加入gel文件(5在出现的窗口按标号顺序进行如下设置:
图1-5退出CCS界面设置
以上设置完成后,CCS已经被设置成Emulator的方式(用仿真器连接硬件板卡的方式,并且指定通过ICETEK-5100USB仿真器连接F2812实验箱。
五.启动CCS
1.启动Simulator方式(确认已按照上面说明设置为软仿真方式了。
双击桌面上图标:
2.启动Emulator方式
(1首先将实验箱电源关闭。
连接实验箱的外接电源线。
(2检查ICETEK-5100USB仿真器的黑色JTAG插头是否正确连接到F2812板的插头上。
注:
仿真器的插头中有一个孔加入了封针,保证不会插错。
(3检查是否已经用电源连接线连接了F2812板上的插座。
(4检查其他连线是否符合实验要求。
(5用实验箱附带的USB信号线连接ICETEK-5100USB仿真器和PC机后面的USB插座,注意ICETEK-5100USB仿真器上指示灯Power和Run灯点亮。
(6打开实验箱上电源开关。
(7双击桌面上仿真器初始化图标:
如果出现下面提示窗口,表示初始化成
功,
图1-6仿真器复位
按一下空格键进入下一步操作。
如果窗口中没有出现“按任意键继续…”,请关闭窗口,关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第(5步重试。
如果窗口中出现“Theadapterreturnedanerror.”,并提示“按任意键继续…”,表示初始化失败,请关闭窗口重试两三次,如果仍然不能初始化则关闭实验箱电源,再将USB电缆从仿真器上拔出,返回第(5步重试。
(8双击桌面上图标:
启动CCS3.3。
(9如果进入CCS提示错误,先选“Abort”,然后用“初始化ICETEK-5100
USB2.0仿真器”初始化仿真器,如提示出错,可多做几次。
如仍然出错,拔掉仿真器上USB接头,连接USB接头,再做“初始化ICETEK-5100USB2.0仿真器”。
(10如果遇到反复不能连接或复位仿真器、进入CCS报错,请打开Windows的“任务管理器”,在“进程”卡片上的“映像名称”栏中查找是否有“cc_app.exe”,将它结束再试。
六.退出CCS
选择File菜单File->Exit,退出CCS。
第二部分实验
实验1CodeComposer使用教程
一.实验目的
1.掌握CodeComposerStudio3.3的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解CodeComposerStudio3.3软件的操作环境和基本功能,了解TMS320C28xx软件开发过程。
(1学习创建工程和管理工程的方法。
(2了解基本的编译和调试功能。
(3学习使用观察窗口。
(4了解图形功能的使用。
二.实验原理
1、开发TMS320F2xxx应用系统一般需要以下几个调试工具来完成:
-软件集成开发环境(CodeComposerStudio3.3:
完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助手段。
-开发系统(ICETEK5100USB:
实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
-开发模块(F2812实验板:
提供软件运行和调试的平台和用户系统开发的参照。
2、CodeComposerStudio3.3主要完成系统的软件开发和调试。
它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件格式的可执行文件,并能将程序下载到目标DSP上运行调试。
3、用户系统的软件部分可以由CCS建立的工程文件进行管理,一般包含以下几种文件:
-源程序文件:
C语言或汇编语言文件(*.ASM或*.C
-头文件(*.H
-命令文件(*.CMD
-库文件(*.LIB
三.实验设备
1.PC兼容机一台。
2.DSP2812实验箱一台。
3.USB连接电缆一条。
四.实验内容与步骤
1.启动CodeComposerStudio3.3,成功地启动了CCS后会出现如下窗口(图1-1。
选择菜单Debug→Connect。
图1-1CCS软件界面
2.创建工程
(1创建新的工程文件:
选择菜单“Project”的“New…”项,如图1-2所示
图1-2创建工程文件
如下图1-3,按编号顺序操作建立volume.pjt工程文件。
注:
工程所在目录(步骤②可以自己选择,这里目录可设置为:
C:
\CCStudio_v3.3\MyProjects\volume。
图1-3新建工程
展开主窗口左侧工程管理窗口中“Projects”下新建立的“volume.pjt”,其各项均为空。
(2在工程文件中添加程序文件:
选择菜单“Project”的“AddFilestoProject…”项;在“AddFilestoProject对话框中选择文件目录为C:
\CCStudio_v3.3\MyProjects\volume,改变文件类型为“CSourceFiles(*.c;*.ccc”,选择显示出来的文件“volum.c”;重复上述各步骤,添加C:
\CCStudio_v3.3\MyProjects\volume目录下的DSP281x_Headers_nonBIOS.cmd和F2812_EzDSP_RAM_lnk.cmd文件到volum工程中;添加C:
\ti\c2000\cgtools\lib\rts2800_ml.lib。
(3编译连接工程:
选择菜单“Project”的“RebuildAll”项,或单击工具条中的按钮;注意编译过
程中CCS主窗口下部“Build”提示窗中显示编译信息,最后将给出错误和警告的统计数。
3.编辑修改工程中的文件
(1查看工程文件
展开CCS主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含“volume.h”、“rts2800.lib”、“volume.c”和“DSP281x_Headers_nonBIOS.cmd”“F2812_EzDSP_RAM_lnk.cmd”文件,其中头文件(*.h为程序在编译时根据程序中的“include”语句自动加入的。
(2查看源文件
*双击工程管理窗中的“volume.c”文件,可以查看程序内容。
可以看到,用标准C语言编制的程序,大致分成几个功能块:
-头文件。
描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。
具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。
比如:
如果程序中使用了printf函数,它是个标准C提供的输入/输出库函数,选中“printf”关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程序中需要增加一条语句:
#include“stdio.h”。
-工作变量定义。
定义全局变量。
-子程序调用规则。
这部分描述用户编制的子程序的调用规则。
也可以写到用户自己编制的.h文件中去。
-主程序。
即main(函数。
它可分为两部分:
变量定义和初始化部分、主循环部分。
主循环部分完成程序的主要功能。
-用户自定义函数。
这个程序是一个音频信号采集、处理输出的程序。
程序的主循环中调用自定义的函数read_signals来获得音频数据并存入输入缓存inp_buffer数组;再调用自定义函数write_buffer来处理音频数据并存入输出缓存;output_signals将输出缓冲区的数据送输出设备;最后调用标准C的显示信息的函数printf显示进度提示信息。
整个系统可以完成将输入的音频数据扩大volume倍后再输出的功能。
read_signal子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由
于未采用实际AD设备,就未写相应控制程序。
此例打算用读文件的方式获得数据,模拟代替实际的AD输入信号数据。
write_buffer子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。
output_signals函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。
*双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。
*volume.cmd文件定义程序所放置的位置,此例中描述了存储器资源,指定了程序和数据在内存中的位置。
(3编辑修改源文件及编译程序
打开“volume.c”,找到“main(”主函数,将语句“input=inp_buffer;”最后的分号去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错误的提示;双击红色错误提示,CCS自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上;重新编译;注意:
重新编译时修改过的文件被CCS自动保存。
(4修改工程文件的设置,如图1-4所示。
图1-4修改工程文件
通过以上设置操作,重新编译后,程序中的用户堆栈的尺寸被设置成1024个字。
4.基本调试功能
(1下载程序:
执行FileLoadProgram,在随后打开的对话框中选择刚建立的文件:
C:
\CCStudio_v3.3\MyProjects\volume\Debug\volume.out
(2设置软件调试断点:
在项目浏览窗口中,双击volume.c激活这个文件,移动光标到main(行上,单击鼠标右键选择ToggleBreakpoint或按F9设置断点(另外,双击此行左边的灰色控制条也可以设置或删除断点标记。
(3利用断点调试程序:
选择DebugRun或按F5运行程序,程序会自动停在main(函数上。
①按F10执行到write_buffer(函数。
②再按F8,程序将转到write_buffer函数中运行。
③此时,为了返回主函数,按shift-F7完成write_buffer函数的执行。
④再次执行到write_buffer一行,按F10执行程序,对比与F8执行的不同。
5.使用观察窗口
(1执行ViewWatchWindow打开观察窗口。
(2在volume.c中,用鼠标双击一个变量(比如num,再单击鼠标右键,选择“QuickWatch”,CCS将打开QuickWatch窗口并显示选中的变量。
(3在volume.c中,选中变量num,单击鼠标右键,选择“AddtoWatchWindow”,CCS将把变量添加到观察窗口并显示选中的变量值。
(4在观察窗口中双击变量,则弹出修改变量窗口。
此时,可以在这个窗口中改变变量的值。
(5把str变量加到观察窗口中,点击变量左边的”+”,观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。
(6把str变量加到观察窗口中;执行程序进入write_buffer函数,此时num变量超出了作用范围,可以利用CallStack窗口察看在其他函数中的变量:
①选择菜单ViewCallStack打开堆栈窗口。
②双击堆栈窗口的main(选项,此时可以察看num变量的值。
6.文件输入/输出
CodeComposerStudio的Probe断点允许用户在指定位置提取/注入数据。
Probe断点可以设置在程序的任何位置,.当程序运行到Probe断点时,与Probe断点相关的事件将会被触发,当事件结束后,程序会继续执行。
Probe断点触发的事件是:
从PC机存储的数据文件中的一段数据加载到DSP的缓冲区中。
(1在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。
在这里,代替A/D模块完成这个工作的是Probe断点。
当执行到函数read_signals时,软件断点完成这个工作。
在程序行read_signals(input;上单击鼠标右键选择“ToggleSoftwareBreakpoint”,设置软件断点。
(2执行图1-5的操作。
此时,已经配置好了Probe断点和与之关联的事件。
进一步的结果在下面实验中显示。
注:
数据文件所在路径:
C:
\CCStudio_v3.3\MyProjects\volume\sine2.dat。
图1-5设置fileio文件
7.图形功能简介
下面我们使用CCS的图形功能检验上一节的结果。
首先进行下面设置操作(如图1-6所示:
图1-6设置图形显示功能
-在弹出的图形窗口中单击鼠标右键,选择“ClearDisplay”。
-按F12运行程序,观察input窗口的内容。
8.选择菜单File→workspace→saveworkspacsAs…,输入文件名SY.wks。
9.退出CCS。
五.预习要求
1.熟悉DSP系统的软硬件安装连接方法。
2.要求熟悉CodeComposerStudio
3.3的操作环境和基本功能。
六.注意事项
在执行C语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用Debug->Gomain命令,本实验中的使用的是较为繁琐的一种方法。
七.思考题
通过对工程文件“volume”的编译、执行,得到的结果是什么图形?
八.实验报告要求
1.硬软件的安装及创建查看文件的掌握与体会。
2.基本调试功能的掌握与心得。
实验2编写一个以C语言为基础的DSP程序
一.实验目的
1.学习用标准C语言编制程序;了解常用的C语言程序设计方法和组成部分。
2.学习编制连接命令文件,并用来控制代码的连接。
3.学会建立和改变map文件,以及利用它观察DSP内存使用情况的方法。
4.熟悉使用软件仿真方式调试程序。
二.实验原理
1.标准C语言程序
CCS支持使用标准C语言开发DSP应用程序。
当使用标准C语言编制的程序时,其源程序文件名的后缀应为.c(如:
volume.c。
CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP的可执行代码。
最后生成的是coff格式的可下载到DSP中运行的文件,其文件名后缀为.out。
由于使用C语言编制程序,其中调用的标准C的库函数由专门的库提供,在编译连接时编译系统还负责构建C运行环境。
所以用户工程中需要注明使用C的支持库。
2.命令文件的作用
命令文件(文件名后缀为cmd为链接程序提供程序和数据在具体DSP硬件中的位置分配信息。
通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。
命令文件也为链接程序提供了DSP外扩存储器的描述。
在程序中使用CMD文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是要说明的存储区必须是存在的和可用的。
3.内存映射(map文件的作用
一般地,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM中。
为了更精确地使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP代码的确切信息。
当需要更改程序和数据的大小和位置时,就要适当修改cmd文件和源程序,再重新生成map文件来观察结果。
另外,通过观察map文件,可以掌握DSP存储器的使用和利用情况,以便进行存储器方面的优化工作。
4.程序设计流程(图2-1
图2-1程序设计流程
三.实验设备
计算机,C2000DSP实验箱
四.实验内容与步骤
1.建立新的工程文件
(1双击桌面上图标,启动CodeComposerStudio3.3。
选择菜单Debug→Connect。
(2在C:
\CCStudio_v3.3\MyProjects\CProgram文件夹中建立工程CProgram.pjt
设置步骤如图2-2。
注:
工程所在目录(步骤③可以自己选择,这里目录可设置为:
C:
\CCStudio_v3.3\MyProjects\CProgram。
图2-2建立CProgram.pjt
2.编辑输入源程序
(1C语言程序
-先新建源程序窗口,如图2-3所示:
图2-3建立新的源程序
-输入源程序:
intx,y,z;
main(
{x=1;
y=2;
while(1
{z=x+y;
}
}
-保存源程序为CProgram.c:
-将源程序加入工程CProgram.pjt,如图2-4所示。
图2-4源程序加入工程
(2连接命令文件
-如同第(1步操作,建立新程序窗口。
-输入连接命令文件内容:
-lrts2800_ml.lib
-stack400h
-heap100
MEMORY
{
PAGE0:
/*Forthisexample,H0issplitbetweenPAGE0andPAGE1*//*BEGINisusedforthe"boottoHO"bootloadermode*//*RESETisloadedwiththeresetvectoronlyif*//*thebootisfromXINTFZone7.Otherwiseresetvector*//*isfetchedfrombootROM.See.resetsectionbelow*/RAMM0:
origin=0x000000,length=0x0004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2812 实验 指导书