ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:975.16KB ,
资源ID:13782696      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13782696.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式电力参数测量系统实验指导书学生用161013.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

嵌入式电力参数测量系统实验指导书学生用161013.docx

1、嵌入式电力参数测量系统实验指导书学生用161013嵌入式电力参数测量系统实验指导书哈尔滨工业大学电气工程系2012年10月实验1 仿真软件的使用1.1 构造 DSP 开发软件环境1、安装CCS 软件(此文档假定用户将CCS 安装在默认目录C: CCStudio_v3.3 中,同时 也建议用户按照默认安装目录安装)(1) 将实验箱附带的教学光盘插入计算机光盘驱动器。(2) 打开教学光盘的根目录中有“ccs3.3”目录,用鼠标右键单击文件夹中“Setup.exe”, 进入安装程序。建议您安装时使用默认路径“ C:CCStudio_v3.3”。(3) 选择“Code Composer Studio”

2、,按照安装提示进行安装,并重新启动计算机。(4) 安装完毕,桌面上出现两个新的图标,如下图。1.2 设置 CCS1、设置CCS 工作在软件仿真环境CCS 可以工作在纯软件仿真环境中,就是由软件在PC 机内存中构造一个虚拟的DSP 环境,可以调试、运行程序。但一般软件无法构造DSP 中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。(1)单击桌面上图标:进入CCS 设置窗口。(2)在出现的窗口中按标号顺序进行如下设置:图 1.1 删除掉原有的驱动设置(3)在出现的窗口中按标号顺序进行如下设置:图 1.2 选择软件仿真F2812

3、芯片驱动此时CCS 已经被设置成Simulator 方式(软件仿真TMS320F2812 器件的方式),如果一直使用这一方式就不需要重新进行以上设置操作了。2、设置CCS 通过ICETEK-5100USB 仿真器连接ICETEKF2812-A 硬件环境进行软件调试和开发。(1) 单击桌面上图标:进入 CCS 设置窗口。(2) 在出现的窗口中按标号顺序进行如下设置:图 1.3 删除掉原有的驱动设置(3)在出现的窗口中按标号顺序进行如下设置:图 1.4 选择硬件仿真F2812 芯片驱动(4) 接着在下面的窗口中按标号顺序进行如下选择:图 1.5 设置gel 文件(5) 在出现的窗口按标号顺序进行如

4、下设置:图 1.6 加入gel 文件(6) 在出现的窗口按标号顺序进行如下设置:图 1.7 退出ccs 设置界面(7)在出现的窗口中按标号顺序进行如下设置:图 1.8 保存退出以上设置完成后,CCS 已经被设置成Emulator 的方式(用仿真器连接硬件板卡的方式),并且指定通过ICETEK-5100USB 仿真器连接ICETEKF2812-A 评估板。如果您需要一直使用这一方式就不需要重新进行以上设置操作了1.3 Code Composer Studio 入门一、实验目的1、掌握Code Composer Studio 3.3 的安装和配置步骤过程。2、了解DSP 开发系统和计算机与目标系统

5、的连接方法。3、了解Code Composer Studio 3.3 软件的操作环境和基本功能,了解TMS320C28xx 软件开发过程。(1)学习创建工程和管理工程的方法。(2)了解基本的编译和调试功能。(3)学习使用观察窗口。(4)了解图形功能的使用。*Code Composer Studio 3.3 主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C 语言程序编译连接生成COFF (公共目标文件)格式的可执行文件,并能将程序下载到目标DSP 上运行调试。*用户系统的软件部分可以由CCS 建立的工程文件进行管理,工程一般包含以下几种文件:-源程序文

6、件:C 语言或汇编语言文件(*.ASM 或*.C)-头文件(*.H)-命令文件(*.CMD)-库文件(*.LIB,*.OBJ)二、实验步骤1、实验准备由于本实验采用软仿真模式,不需硬件设备。2、设置Code Composer Studio 3.3 在软仿真(Simulator)方式下运行3、启动Code Composer Studio 3.3成功地启动了 CCS 后会出现如下窗口:注:下面窗口是打开了所有 CCS 软件功能后显示的。图 1.9 CCS 软件界面介绍实际上打开的 CCS 界面没有上图所示的那么多内容。原始的刚打开的 CCS 界面包含如下图的基本元素:图 1.10 初始CCS界面图

7、中的其他部分都是在工作中根据需要打开的。而且图像和图形显示窗口打开时,还要做一些相关的参数设置才能正常使用,具体的设置方法我们留到后面实验中应用时再详细说明。4、创建工程(1) 创建新的工程文件(2) 选择菜单“Project”的“New”项。图1.11 创建工程文件如下图,按编号顺序操作建立 volume.pjt 工程文件:Location 选项可选择任意目录。图 1.12 新建工程展开主窗口左侧工程管理窗口中“Projects”下新建立的“volume.pjt”,其各项均为空。(2)在工程文件中添加程序文件:选择菜单“Project”的“Add Files to Project”项;在“A

8、dd Files to Project”对话框中选择文件目录为 C:ICETEKF2812DSP281x_examplesLab0101-UseCCS,改变文件类型为“C Source Files(*.c;*.ccc)”,选择显示出来的文件“volum.c”;重复上述各步骤,添加C:ICETEKF2812DSP281x_examplesLab0101-UseCCSvolume.cmd 文件到volum 工程中;添加C: CCStudio_v3.3c2000cgtoolslib rts2800_ml.lib。(3)编译连接工程:选择菜单“Project”的“Rebuild All”项,或单击工具

9、条中的按钮;注意编译过程中CCS 主窗口下部“Build”提示窗中显示编译信息, 最后将给出错误和警告的统计数。5、编辑修改工程中的文件(1)查看工程文件展开 CCS 主窗口左侧工程管理窗中的工程各分支,可以看到“volume.pjt”工程中包含“volume.h”、“rts2800.lib”、“volume.c”和“volume.cmd”文件,其中第一个为程序在编译时根据程序中的“include”语句自动加入的。(2)查看源文件*双击工程管理窗中的“volume.c”文件,可以查看程序内容。可以看到,用标准C语言编制的程序,大致分成几个功能块:-头文件。描述标准库程序的调用规则和用户自定义数

10、据、函数头、数据类型等。具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。比如:如果程序中使用了printf 函数,它是个标准C 提供的输入/输出库函数,选中“printf”关键字,按Shift+F1 会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程序中需要增加一条语句:#include “stdio.h”。-工作变量定义。定义全局变量。-子程序调用规则。这部分描述用户编制的子程序的调用规则。也可以写到用户自己编制的.h 文件中去。-主程序。即main()函数。它可分为两部分:变量定义和初始化部分、主循环部分。主循环部分完成程序的主要功能。-用户

11、自定义函数。这个程序是一个音频信号采集、处理输出的程序。程序的主循环中调用自定义的函数read_signals 来获得音频数据并存入输入缓存inp_buffer 数组;再调用自定义函数write_buffer 来处理音频数据并存入输出缓存;output_signals 将输出缓冲区的数据送输出设备;最后调用标准C 的显示信息的函数printf 显示进度提示信息。整个系统可以完成将输入的音频数据扩大volume 倍后再输出的功能。read_signal 子程序中首先应有从外接AD 设备获得音频数据的程序设计,但此例中由于未采用实际AD 设备,就未写相应控制程序。此例打算用读文件的方式获得数据,模

12、拟代替实际的AD 输入信号数据。write_buffer 子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。output_signals 函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。*双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。*volume.cmd 文件定义程序所放置的位置,此例中描述了F2812的存储器资源,指定了程序和数据在内存中的位置。比如:它首先将可用存储器分为八个部分,每个区给定起始地址和长度(区域地址空间不允许重

13、叠);然后指定经编译器编译后产生的各模块放到哪个区。这些区域需要根据硬件的具体情况来确定。(3)编辑修改源文件及编译程序打开“volume.c”,找到“main()”主函数,将语句“input=inp_buffer;”最后的分号去掉,这样程序中就出现了一个语法错误;重新编译连接工程,可以发现编译信息窗口出现发现错误的提示;双击红色错误提示,CCS 自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS 自动保存。(4)修改工程文件的设置图 1.13 修改工程文件通过以上设置操作,重新编译后,程序中的用户堆栈的尺寸被设置成 1024 个字

14、。6、基本调试功能(1)下载程序:执行File􀃆Load Program ,在随后打开的对话框中选择刚刚建立的C:.Debugvolume.out 文件。(2)设置软件调试断点:在项目浏览窗口中,双击volume.c 激活这个文件,移动光标到main()行上,单击鼠标右键选择Toggle Breakpoint 或按F9 设置断点(另外,双击此行左边的灰色控制条也可以设置或删除断点标记)。(3)利用断点调试程序:选Debug􀃆Run 或按F5 运行程序,程序会自动停在main()函数上。按 F10 执行到write_buffer()函数。再按 F11,程序将转

15、到write_buffer 函数中运行。此时,为了返回主函数,按 shift-F11 完成write_buffer 函数的执行。再次执行到 write_buffer 一行,按F10 执行程序,对比与F11 执行的不同。提示:在执行C 语言的程序时,为了快速的运行到主函数调试自己的代码,可以使用Debug􀃆Go main 命令,上述实验中的使用的是较为繁琐的一种方法。7、使用观察窗口(1)执行View􀃆Watch Window 打开观察窗口。(2)在volume.c 中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“Quick Watch”,CCS

16、将打开Quick Watch 窗口并显示选中的变量。(3)在volume.c 中,选中变量num,单击鼠标右键,选择“Add to Watch Window”,CCS 将把变量添加到观察窗口并显示选中的变量值。(4)在观察窗口中双击变量,则弹出修改变量窗口。此时,可以在这个窗口中改变变量的值。(5)把str 变量加到观察窗口中,点击变量左边的”+”,观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。8、文件输入/输出下面介绍如何从 PC 机上加载数据到DSP 上,用于利用已知的数据流测试算法。(1) 打开volume.c,找到Read_signals(input),F9设断点(2) D

17、ebug菜单Breakpoints,打开断点管理窗口(3)选中Read_signals(input)所在断点行,点右键菜单,选择Property window.,打开断点属性页(4)在Action列表框中,选择Read data from file,然后在下边的条目中选择文件名,如sine2.dat(5) Wrap Around项目打勾,显示为True,让文件读到结尾时反绕到文件开头(6)Start Address填写文件数据填充到内存的位置,可以填写input,也可以填写数组的地址(7) Length填写每次从文件中读出的数据长度,填写0x64,或者十进制数100(8) 点击该属性页上端的S

18、umbit change按钮,保存设置,如图1.14所示(9)此时,会出现一个类似播放器的窗口,可以显示和控制从文件读取数据的进度。图1.14 加载数据文件配置好Probe 断点和与之关联的事件后可以通过图形功能显示数据。9、图形功能简介为了更加直观地显示数据波形,可以使用Graph功能,如图1.15所示。(1)View菜单GraphTime/Freq.,打开图形属性对话框(2)缺省是单个图形的显示,Single Time,在起始地址处填写input,采集缓冲区长度填写100,整个图显示的长度200,即,一张图要两次读取文件才能显示完整。点击OK,显示出图形窗口,点击右键清显示。(3)选择 D

19、SP Data type 为 16位 signed integer (4)F5运行程序,可以看到随着上述播放器的进度,内存数据变化,刷新图形,sine2波形也会随之变化。(5)改变Single Time为Dual Time,在起始地址low处填写output,将输出波形显示在下端。(6)再次运行程序,可以看到输入、输出波形的同时显示图 1.15 设置图形显示功能10、退出CCS 。三、实验结果通过对工程文件“volume”的编译、执行后得到结果的图形显示如下:图 1.1.8 结果显示设计实验:(1)分析数据文件的格式,并完成y=100sint+10sin3t一周期32点数据文件的构造。(2)将

20、该数据文件导入CCS3.3中,并进行显示实验2 TMS320F2812 的C及汇编语言编程一、实验目的1、用标准C 及汇编语言编制相同功能的程序,并在DSP中进行调试。2、学习编制连接命令文件,并用来控制代码的连接。3、熟悉仿真软件CCS3.3的使用方法。4、对比C语言、汇编语言生成机器码的效率。二、实验原理1、 标准 C 语言程序CCS 支持使用标准C 语言开发DSP 应用程序。当使用标准C 语言编制的程序时,其源程序文件名的后缀应为.c(如:volume.c)。CCS 在编译标准C 语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP 的可执行代码。最后生成的是coff 格

21、式的可下载到DSP 中运行的文件,其文件名后缀为.out。由于使用 C 语言编制程序,其中调用的标准C 的库函数由专门的库提供,在编译连接时编译系统还负责构建C 运行环境。所以用户工程中需要注明使用C 的支持库。2、 命令文件的作用命令文件(文件名后缀为cmd)为链接程序提供程序和数据在具体DSP 硬件中的位置分配信息。通过编制命令文件,可以将某些特定的数据或程序按照设计人员的意图放置在DSP 所管理的内存中。命令文件也为链接程序提供了DSP 外扩存储器的描述。在程序中使用CMD 文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可用的

22、。3、 内存映射(map)文件的作用设计、开发的DSP 程序在调试好后,要固化到系统的ROM 中。为了更精确地使用ROM 空间,需要知道程序的大小和位置,通过建立目标程序的map 文件可以了解DSP 代码的确切信息。当需要更改程序和数据的大小和位置时,就要适当修改cmd 文件和源程序,再重新生成map 文件来观察结果。另外,通过观察map 文件,可以掌握DSP 存储器的使用和利用情况,以便进行存储器方面的优化工作。4、程序设计要求程序流程图:三、实验步骤1、实验准备设置软件仿真模式。2、建立新的工程文件(1)双击桌面上图标,启动 Code Composer Studio 3.3。(2)进行以下

23、设置:存储目录自己设定图 2.1 建立CProgram.pjt3、编辑输入源程序(1)C 语言程序编写-先新建源程序窗口:图 2.2 新建源文件-输入源程序:int x,y,z;main()x=1; y=2;while ( 1 )z=x+y;-保存源程序为CProgram.c: 图2.3 保存为c 文件(2)命令文件编写(cmd文件)-如同第(1)步操作,建立空的源程序窗口。-输入连接命令文件内容:-l rts2800.lib-stack 400h-heap 100MEMORYPAGE 0 : PROG(R) : origin = 0x3E8000, length = 0x10000PAGE

24、0 : BOOT(R) : origin = 0x3FF000, length = 0xFC0PAGE 0 : RESET(R) : origin = 0x3FFFC0, length = 0x2PAGE 0 : VECTORS(R) : origin = 0x3FFFC2, length = 0x3EPAGE 1 : M0RAM(RW) : origin = 0x000000, length = 0x400PAGE 1 : M1RAM(RW) : origin = 0x000400, length = 0x400PAGE 1 : L0L1RAM(RW) : origin = 0x008000

25、, length = 0x2000PAGE 1 : H0RAM(RW) : origin = 0x3F8000, length = 0x2000SECTIONS/* 22-bit program sections */.reset : RESET, PAGE = 0vectors : VECTORS, PAGE = 0.pinit : PROG, PAGE = 0.cinit : PROG, PAGE = 0.text : PROG, PAGE = 0/* 16-Bit data sections */.const : L0L1RAM, PAGE = 1.bss : L0L1RAM, PAGE

26、 = 1.stack : M1RAM, PAGE = 1.sysmem : M0RAM, PAGE = 1/* 32-bit data sections */.ebss : H0RAM, PAGE = 1.econst : H0RAM, PAGE = 1.esysmem : H0RAM, PAGE = 1-如同第(1)步操作,将文件存为:CProgram.cmd(3) 将上述编译的源程序加入工程CProgram.pjt,具体操作参考实验1。(注意加入的是C源程序文件和cmd文件)4、编译源文件、下载可执行程序(1) 单击菜单“Project”、“Rebuild All”。如出现CCS 编译错误

27、fatal error: file C:CCStudio_v3.3MyProjectsMotorrts2800.lib has a Tag_Memory_Model attribute value of 1 that is different than one previously seen (2); combining incompatible files将project 下build option 中 advanced 下 large memory model 去掉即可(2) 执行File Load Program ,在随后打开的对话框中选择刚刚建立的debugCProgram.out 文

28、件。完成后,系统自动打开一个反汇编窗口“Disassembly”,并在其中指示程序的入口地址为“_c_int00”。5、打开观察窗口开启CPU 寄存器观察窗口:单击菜单View-Registers-CPU Registers(调试C语言程序也可不观察此项)。6、观察程序运行结果在“Disassembly”代表程序运行位置的绿色箭头指向程序的入口地址,程序将从此处开始执行。(1) 选择菜单中Debug-Go Main,CCS 自动打开CProgram.c,程序会停在用户主程序入口main 上,这从反汇编窗口和CProgram.c 窗口中的指示箭头位置可以看出。(2) 在内存观察窗口中观察变量的值

29、:选择“View”菜单中“Memory”项,在“Memroy Window Options”窗口中的“Adress”项中输入&x,单击“OK”完成设置;“Memory”窗口中x 的当前取值显示在第1 个地址的后。(3) 将变量x、y、z 分别加入观察窗口:在源程序中双击变量名,再单击鼠标右键,选择“Add to Watch Window”。这时,这3个变量还未作初始化。(4) 单步运行2 次,在观察窗中观察到变量x、y 被赋值。变化的值被显示成红色。同时在“Memory”窗口中也能观察到x 和y 值的改变。(5) 再单步运行,可观察到z 的值被计算出来。双击观察窗口中变量x、y 在“Value

30、”栏中的取值并修改成其他取值,单步运行后观察结果。(6) 双击观察窗口中变量x、y 在“Value”栏中的取值,并修改成0;选择菜单Debug-Restart,返回程序起点。(7) 重新单步运行程序,观察在CPU 寄存器窗口中,各寄存器使用情况,观察哪个寄存器参与了运算。7、内存映像文件(1) 选择菜单Project-Build Options,启动“Build Options”工程设置对话框。(2) 单击“Linker”属性页,在“Map Filename”项中观察生成的map 文件名和路径。(3) 单击“取消”退出。8、对照观察map 文件和cmd 文件的内容(1) 选择菜单File-Op

31、en,将找到C:Debug 目录,将文件类型改为“Memory Map Files”,选择CProgram.map 文件、打开。(2) 打开CProgram.cmd 文件。(3) 程序的入口地址:map 文件中“ENTRY POINT SYMBOL”中说明了程序入口地址(_c_int00)。(4) 内存使用情况:-map 文件中“MEMORY CONFIGURATION”标明了程序占用RAM 的使用情况,共占用93H 个存储单元。-观察map 文件中的“SECTION ALLOCATION MAP”段,可以看出CProgram.obj 的入口地址为0x3e801e,这也是main 函数的入口地址

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2