湘潭大学
DSP技术及应用实验报告
学院 | 自动化与电子信息学院 |
专业班级 | 21级电子信息工程二班 |
学号 | 202105570429 |
学生姓名 | 邓兆 |
指导教师 | 郭李 |
完成日期 | 2024/5/16 |
《DSP技术及应用》实验报告一
课程名称DSP技术及应用 实验名称CCS的安装与CCS操作界面的熟悉 页数 4专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月27日
- 实验目的
1.学会安装与设置Code Composer Studio。
2.熟悉CCS软件的操作界面。
- 实验原理
详细内容见实验步骤
- 实验仪器和材料
CCS安装光盘(本次安装程序在D:\DSP\ccs2.0ForC5000)
装有Windows 98以上操作系统的PC机
- 实验内容及步骤
1-构造DSP开发软件环境
1.安装CCS软件(此文档假定用户将CCS安装在默认目录C:\中,同时也建议用户按照默认安装目录安装):
(1)将实验箱附带的教学光盘插入计算机光盘驱动器。
(2)打开教学光盘的“CCS5.x”目录。
(3)双击其中的“ccssetup5.x.0.00090.exe”,进入安装程序。注意:安装之前需关闭所有杀毒软件和防火墙安装路径和CCS软件存放路径要有中文
(4)选择安装路径,建议使用默认路径
(5)选择安装模式为用户自定义
(6)选择支持的芯片,这里我们可以使用默认选项(7)选择要安装的组件,默认选项即可
(7)选择要安装的组件,默认选项即可
(8)选择支持的仿真器类型,一般默认选择
(9)等待安装结束
2.安装DSP通用仿真器驱动
使用USB电缆(一头A型USB,一头miniUSB)连接计算器和ICETE-XDS100v2+仿真器
此时计算机显示正在自动安装设备驱动,等安装完毕,打开设备管理器,在通用串行总线控制器中可以看到TI XDS100 Channel A和TI XDS100 ChannelB这2个设备,表示仿真器已成功驱动。
3.安装实验程序
双击.ICETEK-DM6437AF-S60A教学实验箱安装资料v3.0.exe默认安装实验程序到C:NCETEK目录下。
2-启动和设置CCS
1.启动CCS
(1)双击桌面上图标打开CCS5:
(2)第一次打开CCS5时,会提示选择一个工作区,设置完毕后,点击OK:
(3)进入CCS5界面:
(4)第一次进入CCS时,会提示设置License(授权许可),我们这里使用XDS100v2仿真器,可以使用免费的授权,选择“FREELICENSE”,点击Finish完成,此时可以看到CCS左下角显示“Licensed”。
注:若软件没有自动弹出License设置界面,可以点击菜单Help>Code Composer StudioLicensing Information打开License设置界面。
至此,我们已经进入到了CCS5开发环境了。
(5)下一步我们就可以进行仿真调试了。在CCS5下进行仿真之前,我们需要设置一个目标
配置文件(Target Configuration File),该文件一般是以".ccxml"为后缀。该文件的配置是由使用者目前要调试的硬件平台来决定的,即用户使用的仿真器型号和芯片型号。下面2节会详细介绍该文件的配置方法。
2.建立软件仿真(Simulator)配置文件
CCS5可以工作在纯软件仿真环境中,就是由软件在PC机内存中构造一个虚拟的DSP环境,可以调试、运行程序。但一般软件无法构造DSP中的外设,所以软件仿真通常用于调试纯软件的算法和进行效率分析等。
在使用软件仿真方式工作时,无需连接板卡和仿真器等硬件。下面是建立软件仿真(Simulator)的配置文件的方法:
(1)点击菜单View->Target Configurations调出仿真配置界面:
(2)在出现的Target Configurations窗口中,右键单击User Defined,选择New TargetConfiguration,新建一个目标配置文件
此时会弹出一个New Target Configuration窗口,我们设置一下配置文件的名称,点击Finish,新建完成。
此时CCS显示出我们刚才新建的配置文件的设置界面:
(3)接下来我们配置一下软件仿真和以及目标芯片的型号。
在Connection一栏,我们点击下拉箭头,选择TI Instruments Simulator,在Board or Device一栏,我们输入6437,此时会过滤出带相应关键字的选项,选择DM6437 Device Cycle Accurate Simulator,点击右侧的Save保存设置。
在Target Configurations窗口中,我们点开User Defined,可以看到我们配置的文件:DM6437-Simulator .ccxml。至此,配置文件设置完成。
(4)测试配置文件:
在DM6437-Simulator.ccxml文件上右键,选择Launch Selected Configuretion,此时即进入调试状态,CCS显示出Debug窗口,即可以下载程序进行软件仿真调试了。
(5)调试完毕,点击红色按钮即可退出调试状态。
3.建立使用ICETEK-XDS100v2+仿真器连接ICETEK-DM6437-AF板的硬件仿真(Emulator)配置文件
硬件仿真需要2个准备工作,一是连接仿真器和目标板硬件,二是建立相应的配置文件
连接硬件:
(1)按照第二部分、第一章、二、ICETEK-DSP教学实验箱的硬件连接连接实验箱。
(2)检查ICETEK-xds100v2+仿真器的黑色JTAG插头是否正确连接到ICETEK-DM6437-AF板的J1插头上。注:仿真器的插头中有一个孔加入了封针,与J1插头上的缺针位置应重合,保证不会插错。
(3)检查其他连线是否符合实验要求。
(4)打开实验箱上电源开关(位于实验箱底板左上角),注意开关边上红色指示灯点亮。打开J13电源开关,核心板上指示灯D1和D2点亮,底板上D5点亮。如果打开了ICETEK-CTR的电源开关,ICETEK-CTR板上指示灯D1点亮。如果打开了信号源电源开关,相应开关边的指示灯点亮。
(5)用实验箱附带的miniUSB信号线连接ICETEK-XDS100v2+仿真器和PC机后面的USB插座,注意ICETEK-XDS100v2+仿真器上指示灯Power和Run灯点亮。
(6)打开设备管理器,确保仿真器被正确驱动起来
(7)启动CCS并新建一个目标配置
(8)在Connection一栏,我们点击下拉箭头,选择TI Instruments XDS100v2 USB Emulator,在Board or Device一栏,我们输入DM6437,此时会过滤出带相应关键字的选项,选择TMS320DM6437,点击右侧的Save保存设置。
此时在Target Configurations窗口中,我们点开User Defined,可以看到我们配置的文件:ICETEK-DM6437-AE.ccxml
(9)设置gel文件:
点击左下侧的Advanced选项卡,鼠标单击
点击initialization script一栏后方的Browse,选择
C:UCETEKVUCETEK-DM6437-AF V3.0\commom\geN目录下的ICETEK-DM6437-AF v1.gel文件,然后保存即可:
(10) 测试配置文件:
在ICETEK-DM6437-AF.ccxml右键选择Launch Selected Configuretion,此时CCS开始载入Debug界面:
(11)连接6437:
(12)此时即进入调试状态,CCS显示出Debug窗口,可以下载程序进行硬件仿真调试了
(13)调试完毕,点击即可退出调试状态。
- 实验注意事项
1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
3.菜单栏只有在程序编译成功后才会出现。
4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入
- 实验现象及结果分析
通过上述操作,我们熟悉了CCS的安装和基本应用功能。
- 实验中的问题及处理
这次实验主要是了解了CCS的安装流程以及部分功能的使用,对CCS开发环境有一个整体的认知,为后面的实验打下坚实的基础。
《DSP技术及应用》实验报告二
课程名称DSP技术及应用 实验名称CCS的操作 页数 4专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月27日
- 实验目的
1.掌握Code Composer Studio v5的安装和配置步骤过程。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio v5软件的操作环境和基本功能,了解TMS320DM6437软件开发过程。
(1)学习创建工程和管理工程的方法。
(2)了解基本的编译和调试功能。
(3)学习使用观察窗口。
(4)了解图形功能的使用。
- 实验原理
1.开发TMS3206437应用系统一般需要以下几个调试工具来完成:
-软件集成开发环境(Code Composer Studio v5):完成系统的软件开发,进行软件和硬件仿真调试。它也是硬件调试的辅助手段。
-开发系统(ICETEK-XDS100v2+):实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
-评估模块(ICETEK-DM6437-AF等):提供软件运行和调试的平台和用户系统开发的参照。
2.Code Composer Studio v5主要完成系统的软件开发和调试。它提供一整套的程序编制、维护、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
3.用户系统的软件部分可以由CCS建立的工程文件进行管理,工程一般包含以下几种文件:-源程序文件:C语言或汇编语言文件(C或.ASM)
-头文件(*,H)
-命令文件(*.CMD)
-库文件(.LIB,.OBJ)
- 实验仪器和材料
1.PC兼容机一台;操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。
3.USB连接电缆一条。
- 实验内容及步骤
1.实验准备
(1)连接实验箱:
(2)准备进行软件仿真。
2.创建工程:
(1)创建新的工程文件:选择菜单“View”的“Project Explorer”项,打开工程查看界面
在Project Explorer窗口的空白地方右键选择New>CCS Project:
在弹出的窗口中设置工程名称,以及工程的设备类型,这里我们新建工程volume,Device型号为TMS320DM6437,点击Finish完成创建:
(2)在工程文件中添加程序文件:
当我们创建完工程后,在Project Explorer窗口可以查看该工程的各个文件(若ProjectExplorer窗口被隐藏,则可以用菜单的View>Project Explorer调出):
这里双击某个窗口的标题可以使该窗口最大化,此时如要查看别的窗口,可以再次双击标题。例如双击main.c之后:
再次双击main.c即可回到刚才的界面。这里工程中的main.c和DM6437.cmd文件我们不需要,在main.c文件上右键选择Delete删除此文件。
在工程上右键选择Add Files…
在弹出的窗口中找到CMICETEKNCETEK-DM6437-AFV3.0VLab0101-UseCCS目录:
按住“Ctrl”键,选择UseCCS.c、UseCCS.cmd、UseCCS.h和Sine.dat文件。然后点击打开按钮
3.在弹出的窗口中选择文件导入的方式:
Copy files:刚才选中的3个文件会被拷贝到workspace的刚才新建的工程文件夹中,
即C:ICETEKNCETEK-DM6437volume目录下。
Link to files:则文件不会被拷贝,以链接的形式把刚才的3个文件加入到工程中。此时这3个文件还在原始的位置,即C:ICETEK\ICETEK-DM6437-AF V3.0Lab0101-UseCCS目录下。
这里我们先选择Copy files,点击OK完成。
此时我们可以查看下CNICETEKNCETEK-DM6437volume目录,会发现文件已经被复制过来了:
上述仅仅添加了工程的各个文件,但我们要进行仿真调试的话,还需要一个目标配置文件(Target Configuration File)。
在Target Configurations窗口中,找到我们已配置好的文件DM6437-Simulator.ccxml,点击右键>Link File To Project>yloume.
4 进入仿真调试:
点击菜单栏下方图标,CCS开始自动编译,连接和下载程序。最终的界面大致如下:
我们可以看到,新增了一个Debug窗口,ccs自动打开UseCCS.c,并且跳转到main函数。
5.编辑修改工程中的文件:
(1)查看工程文件:
点击菜单的View->Project Explorer调出工程查看窗口,展开工程各分支,可以看到“volume”工程中包含的各个文件。可分为四类文件:
.c源文件
.cmd文件
.h头文件
.cexml目标配置文件
(2)查看源文件:
*双击工程管理窗中的“volume.c”文件,可以查看程序内容。可以看到,用标准C语言编制的程序,大致分成几个功能块:
-头文件。描述标准库程序的调用规则和用户自定义数据、函数头、数据类型等。具体包含哪一个头文件,需要根据程序中使用了哪些函数或数据而定。比如:如果程序中使用了printf函数,它是个标准C提供的输入/输出库函数,选中“printf”关键字,按Shift+F1会启动关于此关键字的帮助,在帮助信息中可发现其头函数为stdio.h,那么在此部分程序中需要增加一条语句:#include“stdio.h”。
-工作变量定义。定义全局变量。
-子程序调用规则。这部分描述用户编制的子程序的调用规则。也可以写到用户自己编制的h文件中去。
-主程序。即main()函数。它可分为两部分:变量定义和初始化部分、主循环部分。主循环部分完成程序的主要功能。
-用户自定义函数。
这个程序是一个音频信号采集、处理输出的程序。程序的主循环中调用自定义的函数readsignals来获得音频数据并存入输入缓存inpbuffer数组;再调用自定义函数
writebuffer来处理音频数据并存入输出缓存;outputsignals将输出缓冲区的数据送输出设备;最后调用标准C的显示信息的函数printf显示进度提示信息。整个系统可以完成将输入的音频数据扩大volume倍后再输出的功能。
read_signals子程序中首先应有从外接AD设备获得音频数据的程序设计,但此例中由于未采用实际AD设备,就未写相应控制程序。此例打算用读文件的方式获得数据,模拟代替实际的AD输入信号数据。
write_buffer子程序中首先将输入缓冲区的数据进行放大处理,即乘以系数volume,然后放入输出缓冲区。
output_signals函数完成将处理后的设备输出的功能,由于此例未具体操作硬件输出设备,所以函数中未写具体操作语句。
*双击工程管理窗中的“volume.h”文件,打开此文件显示,可以看到其中有主程序中要用到的一些宏定义如“BUF_SIZE”等。
*volume.cmd文件定义程序所放置的位置,此例中描述了ICETEK-VC6748-A评估板的存储器资源,指定了程序和数据在内存中的位置。
比如:它首先将ICETEK-VC6748-A评估板的可用存储器分为五个部分,每个区给定起始地址和长度(区域地址空间不允许重叠);然后指定经编译器编译后产生的各模块放到哪个区。这些区域需要根据评估板硬件的具体情况来确定。
(3)编辑修改源文件及编译程序:
打开“volume.c”,找到“main()”主函数,将语句“input=&inp_buffer[0];”最后的分号去掉,这样程序中就出现了一个语法错误;在工程上点击右键->Build Project重新编译连接工程,可以发现编译信息窗口出现发现错误的提示,工程中出现错误的文件会出现
红色的“x” ;双击打开出错的文件,可以看到该文件的最右侧有红色小方块的标示,单击红色×处,CCS自动转到程序中出错的地方;将语句修改正确(将语句末尾的分号加上);重新编译;注意,重新编译时修改过的文件被CCS自动保存。
重新编译工程时,CCS会提示"程序重新编译过,是否重新下载?"
我们点Yes,则ccs会把最新编译出的文件下载到DSP中。
(4)查看和修改工程文件的设置:
在工程上右键>Properties,打开工程属性设置窗口。
可以看到,在Build一项中,分为C6000 Compiler(编译器)和C6000Linker(链接器),我们点中C6000 Linker下的Basic Options,则在右边可以设置程序的堆栈大小。
6.基本调试功能:
(1)下载程序:执行Run->Load->Load Program,在随后打开的对话框中选择刚刚建立的
C:UCETEKNICETEK-DM6437-AF V3.0\volumeDebuglvolume.out文件,手动下载刚才编译生成的最终文件volume.out。
(2)设置软件调试断点:在项目浏览窗口中,双击volume.c激活这个文件,移动光标到while(TRUE)行上,在行号前双击鼠标左键即在此处设置了一个断点。
(3)利用断点调试程序:选择Run->Resume或按F8或点击Debug窗口中的 运行程序,程序会自动停在while(TRUE)上。
①按F6单步执行到write_buffer()函数。
②再按F5,程序将转到write_buffer函数中运行。
③此时,为了返回主函数,按F7完成write_buffer函数的执行。
7.使用观察窗口:
(1)在volume.c中,用鼠标双击一个变量(比如num),再单击鼠标右键,选择“Add WatchExpressions”,在弹出的窗口中点击ok,CCS将打开Watch窗口并显示选中的变量。
(2)在观察窗口中双击变量,则可以在这个窗口中改变变量的值。
(3)把str变量加到观察窗口中,点击变量左边的D(观察窗口可以展开结构变量,并且显示结构变量的每个元素的值。
(4)把str变量加到观察窗口中;执行程序进入write_buffer函数,此时num变量超出了作用范围,可以看到num变量无法查看了:
8.文件输入/输出
下面介绍如何从PC机上加载数据到DSP上。用于利用已知的数据流测试算法。在完成下面的操作以前,先介绍Code Composer Studio的断点,断点允许用户在指定位置提取/注入数据。断点可以设置在程序的任何位置,当程序运行到断点时,相关的事件将会被触发,当事件结束后,程序会继续执行。在这一节里,断点触发的事件是:从PC机存储的数据文件中的一段数据加载到DSP的缓冲区中。
(1)在真实的系统中,readsignals函数用于读取A/D模块的数据并放到DSP缓冲区中。在这里,代替A/D模块完成这个工作的是断点。当执行到函数readsignals时,断点完成这个工作。
①在程序行read_signals(input);上单击鼠标右键选择“Breakpoint(Code composerStudio)->Breakpoint”,设置软件断点。点击CCS菜单的View>Breakpoints,调出断点观察窗口,
可以看到我们刚才设置的断点:
②在Breakpoint窗口中,右键点击刚才设置的断点,选择Breakpoint porperties:
做如下设置:
此时,已经配置好了断点和与之关联的事件.进一步的结果在下面实验中显示。
10.图形功能简介:
下面我们使用CCS的图形功能检验上一节的结果。首先进行下面设置操作:
点击菜单Tools->Graph->Single Time:
在弹出的图形窗口做如下设置:
11.点击Debug窗口的运行程序,然后程序会停在程序40行。
12. 退出CCS,关闭实验设备。
- 实验注意事项
1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
3.菜单栏只有在程序编译成功后才会出现。
4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入
- 实验现象及结果分析
通过对工程文件“volume”的编译、执行后得到结果的图形显示如下:
- 实验中的问题及处理
一开始对CCS软件的操作不熟练,会忘记link设备,而导致编译持续出现错误,但在反复的尝试中逐渐找到方法。
《DSP技术及应用》实验报告三
课程名称DSP技术及应用 实验名称编写一个以C语言为基础的DSP程序 页数 4专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月27日
一、实验目的
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的支持库。
另外,由于TMS320VC6748DSP的存储器区域较大,程序中如果要使用大于64K的数据空间,需要设置C工程使用大模式、连接大模式库。
2.命令文件的作用:
命令文件(文件名后缀为.cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配信息。通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。命令文件也为链接程序提供了DSP外扩存储器的描述。在程序中使用CMD文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可用的。
3.内存映射(map)文件的作用:
一般地,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM中。为了更精确地使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP代码的确切信息。当需要更改程序和数据的大小和位置时,就要适当修改cmd文件和源程序,再重新生成map文件来观察结果。另外,通过观察map文件,可以掌握DSP存储器的使用和利用情况,以便进行存储器方面的优化工作。
三、实验仪器和材料
1.PC兼容机一台;操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。
3.USB连接电缆一条。
四、实验内容及步骤
1.实验准备:
(1)连接实验箱
(2)准备进行软件仿真。
2.建立新的工程文件:
(1)启动Code Composer Studio v5
(2)用View菜单调出工程窗口,右键新建一个工程并进行以下设置:建立CProgram.pjt。
3.设置工程文件:
4.编辑输入源程序:
(1)C语言程序:
-在刚才新建的工程上右键New>Source File先新建源程序窗口:
做如下设置:
-双击打开工程中刚才新建的文件,输入源程序:
main()
{
int x,y,z;
x=1;y=2;
while(1)
{
Z=x+y;
}
}
(2)连接命令文件:
-如同第(1)步操作,建立空的源程序窗口:
5.用菜单的View->Target Configurations选项打开目标配置窗口,找到我们前面做实验的目标配置文件DM6437-Simulator.ccxmll,右键->Link File To Project,链接此配置文件至我们刚才新建的工程中。
6.编译源文件、下载可执行程序:
点击图标,ccs会自动连接,编译和下载程序。并且自动打开main函数所在的文件,程序指向main函数。
6.打开观察窗口:
开启CPU寄存器观察窗口:单击菜单View>Registers。
7.观察程序运行结果:
(1)按F6单步运行1次,选择菜单View>Memory Browser,在地址栏输入&x,单击“GO”完成设置;“Memory”窗口中x的当前取值显示在第1个地址之后。
(3)将变量x、y、z分别加入观察窗口:
在源程序中双击变量名,再单击鼠标右键,选择“Add to Watch Expression”。这时,这3个变量还未作初始化。
(4)按F6单步运行1次,在观察窗中观察到变量x、y被赋值。变化的值被显示成黄色。同时在“Memory”窗口中也能观察到x和y值的改变,改变后的值会显示红色。
(5)再单步运行(F6),可观察到z的值被计算出来。观察窗口中变量x、y在“Value”栏中的取值并修改成其他取值,单步运行后观察结果。
(6)选择菜单Run->Restart,返回程序起点。
(7)重新单步运行程序,观察在CPU寄存器窗口中,各寄存器使用情况,观察哪个寄存器参与了运算。
8.对照观察map文件和cmd文件的内容:
(1)展开工程的Debug项,选择CProgram.map文件,双击打开。
(2)打开CProgram.cmd文件。
(3)程序的入口地址:map文件中“ENTRYPOINTSYMBOL”中说明了程序入口地址(einit00)。
(4)内存使用情况:
-map文件中“MEMORY CONFIGURATION”标明了程序占用L2RAM的使用情况,共占用00001460个存储单元。(程序运行后,其大小可能会发生变化,以当前生成的map文件中的存储空间为准)。
-观察map文件中的“SECTIONALLOCATION MAP”段,可以看出CProgram.obj的入口地址为0x10801320 ,这也是main函数的入口地址。
9.退出CCS。
五、实验注意事项
1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
3.菜单栏只有在程序编译成功后才会出现。
4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入
六、实验现象及结果分析
通过实验可以发现,修改cmd文件可以安排程序和数据在DSP内存资源中的分配和位置;map文件中描述了程序和数据所占用的实际尺寸和地址。
C语言编制的程序,在经过编译器编译后,需要连接若干C标准程序辅助运行。以下是运行流程:
1.程序入口为cint00,执行标准C库中的程序,负责初始化C环境、申请堆栈、初始化有初始值的变量等。
2.程序最终转到用户编制的主函数运行。
3.程序在主函数中的无限循环中持续运行。
七、实验中的问题及处理
无
《DSP技术及应用》实验报告四
课程名称DSP技术及应用 实验名称编写一个以C语言为基础的DSP程序 页数 4专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月27日
- 实验目的
1.在了解纯C语言程序工程和汇编语言程序工程结构的基础上,学习在C工程中加入汇编编程的混合编程方法。
2.了解混合编程的注意事项。
3.理解混合编程的必要性和在什么情况下要采用混合编程。
- 实验原理
1.使用C语言开发应用程序的优缺点:
*优点:
-易于开发和维护。由于用C语言书写接近自然语言,其可读性强、利于理解,在编制、修改、实现算法方面比用汇编语言开发容易。-可移植性强。
-不容易发生流水线冲突。编译器能提供完善的解决流水线冲突的结果。-有大量现存的算法可利用。-适用于人机界面的开发。
*缺点:
-代码量大。
-程序效率较低。
-优化代码存在一定困难。
综上所述,我们一般用C语言设计应用程序的总体框架、解决人机接口和对速度效率要求不太高的复杂算法。
2.使用汇编语言开发应用程序的优缺点:
*优点:
-更能发挥系统特点。由于汇编语言掌控系统硬件的能力强于C语言,设计出来的程序更加贴近硬件特性,往往能将硬件效能发挥到极致。
-代码精练,效率高。用汇编语言设计的程序,代码短、不容易产生冗余。.代码量小:
*缺点:
-可读性差。不利于复杂算法的开发和实现。-可移植性差,
-容易产生流水线冲突。由于排除冲突需要靠人来辅助完成,这要求编程人员有较为丰富的开发经验和对硬件工作机制的深刻理解。
3.如何混合编程:
(1)混合工程:在工程中可以同时包含C语言程序和汇编语言程序,无需更改编译选项。一般地,我们使用C程序为主,加入汇编语言程序模块。
(2)使用模块技术:在应用程序中划分出比较清晰的模块,不同模块可采用不同语言设计。强调效率和速度的模块采用汇编设计。尽量少用汇编语言设计程序。
(3)如何找出需要用汇编程序设计的模块:
-用C语言完成设计后,运用CCS的软件仿真功能,充分测试程序,找到程序运行中的瓶颈(速度方面的和空间方面的)。-再使用分块仿真技术尽可能缩小模块。
-找到的模块单独写成子程序,存入独立的文件中。
-由于CCS编译器能产生C语言程序到汇编程序的中间文件,观察需要优化的模块的汇编结果,进行人工优化。
-最后运用人工优化后形成的汇编程序模块,代替原来需要优化的C语言模块,进行编译。
-程序中可使用内嵌汇编。比如:asm(“MOVT1,*SP(#1)”);编译器可直接使用内嵌的汇编语句生成最终代码。但需要语句中双引号中为合法的汇编语句,比如要以空格开头等等。
4.何时使用混合编程技术:
-当程序中需要操作与硬件密切相关的设备,而用C语言较难实现时。比如:在中断程序设计时需要设置中断向量表,向量表中空间有时用C语言语句有困难,且向量表要在内存中精确定位,这时可将设置中断向量表的部分用汇编语言代替。
-当需要绕开C编译器的规定,进行特殊操作时。比如:C语言规定,程序不能访问程序代码区,而系统功能需要进行类似访问时可采用限制较小的汇编语言程序设计。-当需要提高模块的效率(包括空间上和时间上两方面的),而C语言程序无法达到要求时。
5.使用混合编程时的注意事项:
-在汇编程序中使用其他C语言模块中定义的变量或函数名称时,需要在引用的名称前加一下划线。如:C中定义的变量为x,在汇编中引用时要用_x。
-汇编语言写的子程序需要符合C语言的调用规则,尤其是在默认的辅助寄存器使用上和栈的使用上要求兼容。
-在汇编语言模块中,需要编程者自己消除流水线冲突。-在使用内嵌汇编技术时,需要考虑以下内容:
要非常小心地处理,以免破坏C语言操作环境。编译器在遇到内嵌汇编语句时,不会对其中的汇编语句进行分析处理。
避免从内嵌汇编语句跳转到C语言模块中,那将极容易造成奇存器使用上的混乱,从而产生难以预料的结果。
不要在内嵌汇编语句中改变C语言模块中变量的值,但可以安全地读取它们的值。.在汇编程序中不要使用内嵌汇编。
6.实验程序解释:
实验程序提供了一个使用C与汇编程序混合编程的实例,是一个用汇编语言模块优化自己编制的应用程序的实例。
首先用户拿到的是一个纯用C语言开发的工程,再根据假设需要将其中一个模块改造成用汇编语言模块优化的模块。通过实验过程,用户可充分了解混合编程可以采取的步骤和方法.
- 实验仪器和材料
1.PC兼容机一台;操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。
3.USB连接电缆一条。
- 实验内容及步骤
1.实验准备:
(1)连接实验箱
(2)准备进行软件仿真
2.打开工程、浏览程序内容、编译生成和下载可执行代码:
(1)打开工程:选择菜单Fle->Import,在打开的窗口中展开Code Composer Studio,选择Existing CCS Eclipse Projects,点击Next:
点击Select search-directory后方的Browse,选择C:MCETEKMCETEK-DM6437-AFV3.0VLab0104-CASM目录,此时ccs会自动搜索到工程,并显示在Discovered Projects中,勾上“Copy Projects into workspace”然后点击Finish完成。
(2)展开工程管理窗口中CASM工程,双击Source下的CProgram.c项,打开CProgram.c源程序窗口。可以看到,程序完成了一个简单的运算,它先开设了三个全局变量x、y、z,然后分别给x和y赋初值,再在循环中计算x+y,结果赋值给z。
(3)点击图标,ccs会自动连接,编译和下载程序。
(4)运行程序,观察结果:在程序中有“在此加软件断点”注释的语句上加软件断点;将变量z加入变量观察窗口;点击Debug窗口中的一运行程序到断点,观察变量z的结果值。
3.修改程序:
(1)修改算法部分为单独的子程序:我们假设在循环中进行的运算是需要用汇编语言程序模块优化的部分。首先将“z=x+y;”语句修改成
z=add(x,y);
在程序头上,变量定义之前加上一行“int add(int a,int b);”,在程序末尾,添加如下子程序。
int add(int a,int b)
{
return(a+b);
}
如此,将算法搬移到一个C语言的子程序模块中实现。
修改完成后,在工程上右键>Build Project,CCS编译完成后会提示是否重新下载生成的out文件,这里我们点击Yes。
运行程序观察结果。
(2)将子程序移入add.c:
在工程上新建一个新的c源文件,命名为add.c,将main函数后的子程序复制到窗口中:注释main函数后面的子程序(在子程序前一行加“/”,在子程序结尾行后加“/”):将新窗口中的内容保存为文件add.c。
(3)打开工程的属性设置(工程上右键>Properties),进行如下设置:
(4)重新编译工程(工程上右键>Build Project)
(5)将工程中的add.c换成add.asm:
在工程管理窗口中用鼠标右键单击add.c,选择“Exclude from Build”,此时编译工程时不会编译addc文件,addc文件在工程中显示为灰色。用鼠标右键单击CASM.pjt,选择“AddFiles…”,选择
C:MCETEKMCETEK-DM6437-AFV3.0NLab0104-CASM\Debugladdasm。
分
(6)点击图标,ccs会自动连接,编译和下载程序。由于add.asm是CCS编译器从
add.c编译得来的,下面要做的就是手工调整add.asm中的汇编代码,从而实现优化处理。
4.退出CCS,关闭实验设备电源。
- 实验注意事项
使用混合程序编程,在可以完全实现原来算法的同时,可以优化关键的算法模块。
- 实验现象及结果分析
观察SP与PC
我们可以通过观察PC和SP的变化,来判断程序是在执行C程序还是汇编程序,PC变化时在运行C程序,SP变化时在运行汇编程序。
- 实验中的问题及处理
无
《DSP技术及应用》实验报告五
课程名称DSP技术及应用 实验名称模数/数模转换实验及串口USB通信实验 页数 4专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月28日
- 实验目的
1.掌握A/D转换的基本过程;
2.熟悉ICETEK-DM6437-AF板上使用的TLV0832技术指标和操作方法。
1.了解ICETEK-DM6437-AF评估板上扩展USB转串口串行通信的原理和方法。
2.学会对串行通信芯片的配置编程。
3.学习设计异步通信程序。
- 实验原理
1.模数转换工作过程
模数转换模块接到启动转换信号后,开始转换第一个通道的数据;经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存:转换结束。
2.模数转换的程序控制
模数转换相对于计算机来说是一个较为缓慢的过程。一般采用中断方式启动转换或保存结果,这样在CPU忙于其他工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如何与模数转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结果。
- USB转串口即实现计算机USB接口到DM6437串口之间的转换,驱动电路主要完成将输出的0-3.3V电平转换成USB电平的工作,转换电平的工作由CP2102-GM芯片完成。连接方法请参看原理图(第三章、二.9.J15,USB转串口)。
在ICETEK-DM6437-AF的BSL(板级支持库)中,提供了一系列操作串口的功能函数接口,我们利用此接口可以设计程序实现串口通讯。
- 实验仪器和材料
1.PC兼容机一台;操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。
3.USB连接电缆两条。
- 实验内容及步骤
1.实验准备:
(1)连接实验箱
(2)准备进行硬件仿真。
(3)准备信号源进行AD输入。
①取出2根实验箱附带的信号线(如右图,两端均为单声道语音插头)。②用1根信号线连接实验箱左侧信号源的波形输出A端口和“A/D输入”模块的“ADC-Ch.A”插座注意插头要插牢、到底。这样,信号源波形输出A的输出波形即可送到ICETEK-DM6437-AF板的AD输入通道0。
用另外1根信号线连接实验箱左侧信号源的波形输出B端口和“A/D输入”模块的“ADC-Ch.B”插座注意插头要插牢、到底。这样,信号源波形输出B的输出波形即可送到ICETEK-DM6437-AF板的AD输入通道1。
③设置波形输出A:
-向内侧按波形频率选择旋钮,直到标有正弦波的指示灯点亮。
-上下调节波形频率选择旋钮,直到标有100-1KHz的指示灯点亮。
-调节幅值调整旋钮,将波形输出A的幅值调到最大。
④设置波形输出B:
-向内侧按波形频率选择旋钮,直到标有正弦波的指示灯点亮。
-上下调节波形频率选择旋钮,直到标有100-1KHz的指示灯点亮。
调节幅值调整旋钮,将波形输出B的幅值调到最大。
2.启动Code Composer Studio v5
3.打开工程文件:工程目录:C:UCETEKNICETEK-DM6437-AF V3.0\Lab0307-USB
4.点击图标,ccs会自动连接,编译和下载程序。
5.打开观察窗口:
-选择菜单Tools>Graph->Dual Time…进行如下设置:
-选择菜单Tools>Graph>Single Time…进行如下设置:
6.运行程序:-点击按钮运行程序-在观察窗口中点击连续刷新按钮',然后点击图形复位按钮。观察CCS中的图形显示。用示波器探头测试相应测试点(实验箱底板J4,J5)的波形,观察是否与屏幕上得到的波形一致。 观察mix窗口两波混叠后的效果。
-适当改变信号源的四个调节旋钮的位置,观察图形窗口中的显示。注意:输入信号的频率不能大于(采样频率)/2,否则会引起混叠失真,而无法观察到波形,如果有兴趣,可以试着做一下,观察采样失真后的图形。
7.退出CCS
- 实验注意事项
- CCS5.3在建立新工程之前都需要建立配置文件ccxml,
- 2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
- 3.菜单栏只有在程序编译成功后才会出现。
- 4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入
5.实验六模数转换实验过程中,需要播放音频,实验箱的音频播放音量很小,
- 实验现象及结果分析
根据自己通过耳麦所输入的自己的语音信号,可以听取到DA端输出的与自己所输入的信号完全一致。
实验结果分析:
DSK实验板上有两块CODEC芯片,一块与DAA口相联,另一块与音频模块相联。5402有两个McBSP口,在DSK板上的缺省设置为McBSP0的信号源为DAA,McBSP1的信号源为音频模块。如果想更改缺省设置必须写相应的CPLD寄存器,具体情况请参考《数字信号处理器开发实践》4.2.3节。本实验中使用了音频模块作为输入输出端口,因此实验中使用的是相应的CODEC及McBSP1口。
- 实验中的问题及处理
无
《DSP技术及应用》实验报告六
课程名称DSP技术及应用 实验名称有限冲激响应滤波器算法实验 页数 2专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月28日
- 实验目的
1.掌握用窗函数法设计FIR数字滤波器的原理和方法。
2.熟悉线性相位FIR数字滤波器特性。
3.了解各种窗函数对滤波器特性的影响。
- 实验原理
1.有限冲激响应数字滤波器的基础理论(请参考相关书籍)。
2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。
3.数字滤波器系数的确定方法。
4.根据要求设计低通FIR滤波器。
要求:通带边缘频率10kHz,阻带边缘频率22kHz,阻带衰减75dB,采样频率50kHz。设计:
-过渡带宽度=阻带边缘频率-通带边缘频率=22-10=12kHz
-采样频率:
fl=通带边缘频率+(过渡带宽度)/2=10000+12000/2=16kHz
Q1=2 π fl/fs=0.64 π
-理想低通滤波器脉冲响应:
h1[n]=sin(nQ1)/n/π=sin(0.64πn)/n/π-根据要求,选择布莱克曼窗,窗函数长度为:
N=5.98fs/过渡带宽度=5.98*50/12=24.9
-选择N=25,窗函数为:
w[n]=0.42+0.5cos(2πn/24)+0.8cos(4πn/24)-滤波器脉冲响应为:
h[n]=h1[n]w[n]
n|≤12
h[n}=0
|n|>12
-根据上面计算,各式计算出h[n],然后将脉冲响应值移位为因果序列。
-完成的滤波器的差分方程为:
y[n]=-0.001x[n-2]-0.002x[n-3]-0.002x[n-4]+0.01x[n-5]
-0.009x[n-6]-0.018x[n-7]-0.049x[n-8]-0.02x[n-9]
+0.11x[n-10]+0.28x[n-11]+0.64x[n-12]
+0.28x[n-13}-0.11x[n-14]-0.02x[n-15]
+0.049x[n-16]-0.018x[n-17]-0.009x[n-18]+0.01x[n-19]
-0.002x[n-20]-0.002x[n-21]+0.001x[n-22]
5.程序流程图:
- 实验仪器和材料
1.PC兼容机一台;操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。
3.USB连接电缆一条。
- 实验内容及步骤
1.实验准备:
-准备进行软件仿真。
-启动CCS
2.打开工程,浏览程序:工程目录为
C:ICETEKIICETEK-DM6437-AFV3.0Lab0401_FIR
3.点击图标,ces会自动连接,编译和下载程序。
4.打开观察窗口。*选择菜单Tools>Graph->Dual Time,进行如下设置:
*选择菜单Tools->Graph->Single Time,进行如下设置:
*选择菜单Tools>Graph->FFT Magnitude,新建2个观察窗口,分别进行如下设置:
5.设置断点:在有注释“break point”的语句设置软件断点。使用菜单的View->Break points打开断点观察窗口,在刚才设置的断点上右键>Break point properties调出断点的属性设置界面,设置Action为Refresh All windows。则程序每次运行到断点,所有的观察窗口值都会被刷新。
6.运行并观察结果:
(1)按F8键运行程序。
(2)观察窗口中时域图形;观察滤波效果。
(3)观察窗口中频域图形;理解滤波效果。
7.退出CCS。
- 实验注意事项
1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
3.菜单栏只有在程序编译成功后才会出现。
4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入
- 实验现象及结果分析
经过滤波后图形如下
- 实验中的问题及处理
《DSP技术及应用》实验报告七
课程名称DSP技术及应用 实验名称DM6437实验箱的视频采集实验 页数 2专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月28日
- 实验目的
1.深入了解VPBE的配置使用方法;
2.了解VPFE的配置使用的基本步骤和方法;
3.学习配置DM6437的视频前后端的程序设计和采集显示实时图象的程序架构。
- 实验原理
TMS320DM6437作为一款多媒体处理器,具有及其强大的视频输入输出端口,并且在控制方面又着重提高了其配置和使用的简易性。DM6437的视频前端需要接入数字视频信号,所以ICETEK-DM6437-AF系统采用了一款视频AD器件将模拟视频信号转换成数字的,相关电路请参看原理图。
- 实验仪器和材料
1.PC兼容机一台;操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。如无实验箱则配备ICETEK-XDS100v2+仿真器和ICETEK-DM6437-AF,+5V电源一只。
3.USB连接电缆一条,视频电缆,PAL制TV显示器,PAL制摄像头。
- 实验内容及步骤
1.实验准备:
(1)连接实验箱
(2)准备进行硬件仿真
(3)用视频电缆连接TV显示器视频输入插座到ICETEK-DM6437-AF板插座J12;
(4)用视频电缆连接摄像头视频输出插座到ICETEK-DM6437-AF板插座J11;
2.启动Code Composer Studio v5
3.打开工程文件:打开工程:CMCETEKUCETEK-DM6437-AFV3.0NLab0601_VideoLoopback
4.点击图标,ccs会自动连接,编译和下载程序。
5.运行程序观察结果。
-运行程序,观察TV显示器的显示输出。
6.结束程序运行,退出CCS
- 实验注意事项
1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
3.菜单栏只有在程序编译成功后才会出现。
4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入
- 实验现象及结果分析
摄像头实时采集视频图象并将之转换成模拟视频信号,通过视频电缆,模拟视频信号被送给TVP5146视频AD转换芯片,转成的数字视频信号通过ICETEK-DM6437-AF板上的硬件连线传送输入TMS320DM6437的VPFE,本实验的应用程序接收到一幅完整的视频帧后,将它传送给VPBE,VPBE将此数字视频信号编码输出,ICETEK-DM6437-AF系统的视频输出接口电路,将此视频信号转换成模拟信号输出,通过视频电缆,这个信号最终送给电视显示器显示出来。
- 实验中的问题及处理
在编译文件时,文件会产生out文件,若在编译时没有把原来工程中的out文件拖出,就会印象实验的进程。
《DSP技术及应用》实验报告八
课程名称DSP技术及应用 实验名称DM6437实验箱的数字图像处理实验 页数 2专业 电子信息工程 班级21级电子信息工程二班 同组者姓名 付小宝 周化雨 郑智博 学号202105570429 姓名 邓兆 实验日期4月28日
- 实验目的
1.熟悉视频显示程序的运行过程、控制过程,搞清数据处理、传输途径。
2.了解图像提取灰度的算法和用途,学习设计程序实现图像的灰度变换的方法。
3.熟悉视频显示程序的运行过程、控制过程,搞清数据处理、传输途径。
4.了解取反的算法和用途,学习设计程序实现图像的取反运算。
- 实验原理
1.图像灰度变换
YCbCr色彩系统:我们平常用到的图像一般是用RB色彩系统来的,但是用RGB三基色来表示彩色的确很直观,但是如果把这种方法用作图像传输则绝不是一个好的方法。第一个缺点是与黑白图像不兼容,把RGB三基色转换为灰度的方法是:灰度=R0.3+G0.59+B*0.11,这个转换过程显然是比较复杂的。对于电视机而言,就意味着必须解码出RGB信号才有可能得到黑白图像,而黑白电视机没有解码功能,所以不能实现兼容。第二个缺点是占用太多带宽,用RGB三基色表示图像,每个分量的带宽是均等的,都约等于亮度信号的带宽,所以对于每个分量,都要用较大的带宽来描述。第三个缺点是抗干扰能力差。由于G分量占有亮度值的59%,所以当G受到干扰的时候,像素的亮度值会受到很大的影响,而人眼对亮度值的变化是十分敏感的,所以图像主观质量会明显下降。基于这些原因,在视频信号传输中采用的是YUV合成的方法。Y代表亮度信息,U代表蓝色色差(就是蓝色信号与亮度信号之间的差值,Cb),V代表红色色差(Cr)。我们来看看使用这种表示方法的优点。第一个优点是与黑白图像兼容。假定一个像素是用YUV表示的,我们只要忽略UV分量,取出Y分量,就可以得到像素的亮度值,从而把彩色图像转换为黑白图像。这样很容易实现彩色电视信号与黑白电视信号的兼容。
第二个优点是节省带宽。说这个问题的时候要先说说大面积着色原理。实验发现,人眼对亮度信息是敏感的,主要通过亮度差别来分辨物体形状的细节,而对彩色信息是不敏感的,人眼区分不出物体颜色上的细小的变化,或者说人眼不容易觉察出来图像的色彩的细节部分的变化。因此,可以对亮度信号用较高的采样频率采样,而对色度信号用较低的采样频率采样(或者用较低的量化深度),比如几个相邻的像素的亮度值不同,但是却可以使用一个相同的色度值。这就是大面积着色原理。基于这个原理,在电视信号传输中,U或V信号的带宽远小于V信号的带宽,这样就节约了带宽。换个方式来说,比如在计算机中,用RGB方式描述一个像素需要R、G、B共3个字节。而用YUV方式描述,则对于每2个像素,Y用2个字节,U取相同的值,用一个字节,V取相同的值,用一个字节,平均每个像素2个字节。或者每个像素Y用一个字节,U用半个字节,V用半个字节,共2个字节。第三个优点是抗干扰能力强。由于亮度信号是单独表示的,所以如果色差信号受到干扰,不会影响到亮度,主观感觉噪声不会明显增加。
电视信号正是采用了YCbCr彩色系统进行传输,由于Y占用的带宽与Cb和Cr加起来所占用的相同,所以在表示图像时,对于各象素的亮度信息是最丰富的,而对于彩色信息则降低分辨率表示。我国采用的PAL制电视信号也是使用YCbCr彩色系统。ICETEK-IDK-M所支持的输入设备也是输出标准PAL制式信号的摄像头。
在处理灰度时,只要将色差工信号去掉,即可。
2.程序设计
在视频显示的循环中,程序首先将视频数据从输入缓冲区直接读到输出缓冲。
如果需要进行图像处理,可以首先将视频数据从输入缓冲读入自己开设的图像处理缓冲区,再在图像处理缓冲上进行处理,处理后的数据再输出到输出缓冲区。
图像取反处理。
将图像按像素按位进行求反,取得类似照相底片效果。求反处理的图像与原始图“黑白颠倒”,可以看清原始图中灰黑区域的情况。求反的图像一般用于数字图像的初步处理。
- 实验仪器和材料
1.PC兼容机一台:操作系统为WindowsXP或者以上版本。
2.ICETEK-DM6437AF-S60A实验箱一台。如无实验箱则配备ICETEK-XDS100v2+仿真器和ICETEK-DM6437-AF,+5V电源一只。
3.USB连接电缆一条,视频电缆,PAL制TV显示器,PAL制摄像头。
- 实验内容及步骤
1.实验准备:
(1)连接实验箱。
(2)准备进行硬件仿真。
(3)用视频电缆连接TV显示器视频输入插座到ICETEK-DM6437-AF板插座J12;
(4)用视频电缆连接摄像头视频输出插座到ICETEK-IM6437-AF板插座J11;(参见实验6.1)
2.启动Code Composer Studio v5
3.打开工程文件:
打开工程:CMCETEKVCETEK-DM6437-AF V3.0NLab0602_VideoGray
4.点击图标,ccs会自动连接,编译和下载程序。
5.运行程序。
6.启动转换:
-打开GEL控制:
在Debug窗口中Tesas Instrunents XIS1002 s Enulator-0/C?ex mm上右键,选择Open Gel Files View,在弹出的Gel Fles窗口中右键>Remove移除现有的gel,然后,再点击右键>LadGel,找到C:IICETEKNCETEK-DM6437-AFV3.0NLab0602VideoGray gray.gel
-选择菜单Scripts->Gray->ChangeOneFrame
-在“Function:ChangeOneFrame”窗口中输入1,等待大约几秒时间后显示处理结果。
再次输入0,然后单击“Execute”按钮,图象将重新变成当前活动视频。
7.结束程序运行,退出CCS。
- 实验注意事项
1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
2.window的方法是点击菜单栏的View- >Registers, Memory Browser,
3.菜单栏只有在程序编译成功后才会出现。
4.CCS中有些文件导入,查找文件夹,双击文件无法导入,可以直接复制文件路径来导入1.CCS5.3在建立新工程之前都需要建立配置文件ccxml,
- 实验现象及结果分析
- 输入1时程序将抓取到的视频逐个像素点,变成灰度图,然后送显示,从而形成没有色差信号的灰度图像。
2、输入0时图象将重新变成当前活动视频
- 实验中的问题及处理
无