DSP实验报告-深圳大学-自动化

发布时间:2012-12-14 17:33:40   来源:文档文库   
字号:

课程名称: DSP系统设计

实验项目名称 DSP系统设计实验

学院 机电与控制工程学院

专业 自动化

指导教师 杜建铭

报告人1 . 学号:。 班级: 3

报告人2 . 学号 班级: 3

报告人3 . 学号 班级: 3

实验时间:

实验报告提交时间:

教务处制

实验一、CCS入门试验

1、实验目的

1. 熟悉 CCS 集成开发环境,掌握工程的生成方法;

2. 熟悉 SEED-DEC2812 实验环境;

3. 掌握 CCS 集成开发环境的调试方法。

二、实验仪器

1TMS320系列 SEED-DTK 教学试验箱 24

2. 台式 PC 24

三、实验内容

1仿真器驱动的安装和配置

2. DSP 源文件的建立;

3. DSP 程序工程文件的建立;

4. 学习使用 CCS 集成开发工具的调试工具。

四、实验准备:

1. DSP 仿真器与计算机连接好;

2. DSP 仿真器的JTAG 插头与 SEED-DEC2812 单元的J1 相连接;

3. , 后,打 SEED-DTK2812 的电源 SEED-DTK_MBoard 单元的5V3.3V15V15V 的电源指示灯及SEED-DEC2812 的电源指示灯 D2 是否均亮;若有不亮,请断开电源,检查电源。

五、实验步骤

(一)创建源文件

1.进入 CCS 环境。

2.打开 CCS 选择 File New Source File 命令

3.编写源代码并保存

4.保存源程序名为 math.c,选择 File Save

5.创建其他源程序(如.cmd)可重复上述步骤。

(二)创建工程文件

1.打开 CCS,点击 Project-->New,创建一个新工程,其中工程名及路径可任意指定弹出对话框:

2. Project 中填入工程名,Location 中输入工程路径;其余按照默认选项,点击完成即可完成工程创建;

3.点击 Project 选择 add files to project,添加工程所需文件;

4.在弹出的对话框中的下拉菜单中分别选择.c 点击打开,即可添加源程序math.c 添加到工程中;

5.同样的方法可以添加文件 math.cmdrts.lib 到工程中;在下面窗口中可以看到math.cmath.cmdrts.lib 文件已经加到工程文件中

6.添加头文件。点击Project 选择 Build Options ,在弹出的对话框中选取Complier选栏的Processor选项,在Include Search Path 中填入 .h 的路径,点击确定。如果没有指定头文件路径,在编译时会显示“无法打开头文件” 的错误信息。

7右键点击 Math.pjt 在弹出的选项中选取 Scan All File Dependencies ,源程序所包含的头文件被自动加到工程浏览窗中的 Include 文件夹中。

(三)设置编译与连接选项

1.点击 Project 选择 Build Opitions

2.在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;

3.在弹出的对话框中选择连接的参数设置,设置输出文件名(可执行文件与空间分配文件),堆栈的大小以及初始化的方式。

(四)工程编译与调试

1.点击 Project Build all,对工程进行编译,如正确则生成 out 文件;若是修改程序,可以使用 Project Build 命令,进行编译连接,它只对修改部分做编译连接工作。可节省编译与连接的时间。编译通过,生成.out 文件;

2.点击 File load program,在弹出的对话框中载入 debug 文件夹下的.out 可执行文件;

3.装载完毕。

4.点击 Debug Go Main 回到 C 程序的入口;

5.打开 File Workspace Save to Workspace 保存调试环境,以便下次调试时不需要重新进行设置。只要 File Workspace Load Workspace 即可恢复当前设置。

六、实验现象

下面是对环境的调试

配置软件仿真,选择 F2812 Device Smulator,单击 Import

配置硬件仿真,选择 F2812 XDS510 Emulator,单击 Import。点击 Close 关闭。

七、实验心得

问题总结: USB 仿真器的 USB 插头插入 PC 机的 USB 插槽中。只有当驱动程序已安装且计算机已成功识别,并且在设备管理器中会显示 SEED-XDSusb2.0 Emulator。才算成功安装,方可进行下一步操作,否则实验不能进行下去。出现各种错误提示。

心得体会:这是ccs的入门实验,只要在于熟悉ccs的配置与建立,只有熟悉并能够正确地使用这两个步骤,才能继续调试跟分析接下来的各种实验。因为每次做实验都必须先经过这两个步骤,所以需要格外细心。

实验二、 交通灯

2、实验目的

1.掌握 DSP 扩展数字 I/O 口的方法;

2.了解 SEED-DEC2812 的硬件系统。


二、实验仪器

TMS320系列 SEED-DTK 教学试验箱 电脑

SEED-DEC2812 模板直接采用F2812 片上的 2 通道 SCI 作为异步收发器UART
三、实验内容

1.DSP 的初始化;

2.TMS320C2812 的扩展数字 I/O 口使用;

3.交通灯实现程序。

四、程序流程图

五、实验步骤

1.打开 CCS,进入 CCS 的操作环境;

2.装入 IO.pjt 工程文件,添加 2812.gel 文件,开始进行调试;

3.打开 IO.c 文件,到第 25 行,修改 TESTCOMMAND 的宏定义;

TESTCOMMAND 是交通灯操作控制选项。可以为 12345 5

数。1 为自动运行;2 为夜间模式;3 为交通灯东西通;4 为交通灯南北通;5为禁行。

4.装载程序 IO.out

5.运行,观察。在程序运行过程中,可直接在 Watch Window 里修改 TestCommand的值,即将每一种运行方式所对应宏定义的值直接赋值给 TestCommand,即可改变运行方式。

6.重新到第 3步开始尝试其他情况或者退出实验。

六、实验现象

1)到第 25 行,修改 TESTCOMMAND 的宏定义;

SEED-DTK_MBoard 单元的 Traffic Lamp 处将显示结果;

2将运行方式改为夜间模式,将TestCommand 赋值为 0xAA16即可。如下图所示

(3)交通灯效果如下图所示:

七、实验心得

问题总结:DSP 系统中一般只有少量的数字 I/O 资源,而一些控制中经常需要大量的数字量的输入与输出。因而,在外部扩展 I/O 资源是非常有必要的。这里采用 CPLD 在其内部做锁存逻辑来实现。

心得体会:在实验过程中学会了本实验使用 CPLD 在其内部做锁存逻辑来实现DSP 外部 I/O扩展,掌握 DSP 扩展数字 I/O 口的方法。在实验中修改 TESTCOMMAND 的宏定义来实验交通灯更多的功能。

同时也了解了 SEED-DEC2812 的硬件系统。

实验三、片上存储器实验——SRAM 读写实验

一、实验目的

1.熟悉 SEED-DEC2812 的实验环境;

2. SRAM 存储空间的分配。


二、实验仪器

TMS320系列 SEED-DTK 教学试验箱 电脑

TMS320F2812 片内的1个带采样保持电路的 12BIT A/D 转换模块


三、实验内容

1.DSP 的初始化;

2.DARAM 上写数据;

3.检查并读取 SRAM 上的数据。

四、程序流程图

五、实验步骤

1.打开 CCS,进入 CCS 的操作环境。

2.装入 sram.pjt 工程文件,添加 2812.gel 文件。

3.装载 sram.out 文件,进行调试。

4. sram.c 程序的第 34 "Errcount = 0;"与第42;" for(;;)"处设置断点。

5.运行程序,程序会停在断点处,观察 SourData[i]的值。

6.继续运行程序,观察结果。

六、实验现象

sram.c 程序的第 34 "Errcount = 0;"与第42;" for(;;)"处设置断点。如下图所示:

程序会停在断点处,观察 SourData[i]的值:

7、实验心得

总结:TMSF20F2812 片内包括 5 SARAMM0M1L0L1 H0 段。L0L1 H0 段大小总和为 16K×16 位的 SARAM,分为 34K+4K+8K),分别是 L04K),L1(4K)H08K)。每块可以单独使用,都可以映射到程序区和数据区。

心得:通过本实验我们了解 DSP 的空间分配及其使用方法。进一步熟悉了 SEED-DEC2812 的实验环境;并加深了解 SRAM 存储空间的分配。

实验 四、片上外设——AD 采集实验

一、实验目的

1.了解 TMS320F2812 片上外设 AD

2.熟悉片上 AD 的使用;

3.利用片上 AD 进行数据采集。

二、实验仪器

TMS320系列 SEED-DTK 教学试验箱 电脑

TMS320F2812 片内的1个带采样保持电路的 12BIT A/D 转换模块

3、实验内容

1.初始化系统;

2.初始化片上 AD,进行通道的选则(注:本实验SEED-DEC2812 AD 接口使用了ADCINA6通道)

3.AD 数据采集

①模拟量输入范围:0.0V~3.0V

②转换率:在 25MHz ADC 时钟下为 80ns

③转换结果=4095×(输入的模拟信号ADCLO÷3

④中断控制方式灵活,可以在每次转换结束或每隔一次转换结束触发中断;

四、程序流程图

程序说明:①SAMPLERATE 3 个选择 1231 表示采样率为 8k2 表示采样率为 44k3 表示采样率为 96k

"adconvover=0"131 "adconvover=1"为断点设置处

5、实验步骤

1.打开 CCS,进入 CCS 的操作环境。.装入 ad.pjt 工程文件。

2.修改完宏定义并进行编译、链接生成 AD.out 文件,装载程序 AD.out

可以修改宏定义 SAMPLERATE,选择不同采样率

3.设置断点

打开 AD.c 文件,到 115 "adconvover=0"131 "adconvover=1"设置断点。

4.设置实验箱信号源。

通过液晶屏和键盘,设置信号源:当液晶屏上出现"通讯自检不成功,请复位系统"时,按下"Enter"键,进入"信号发生器设置"。在"信号发生器设置"这一菜单下:"通道"设为"0""信号类型"可根据需要任意选择;"信号频率""信号振幅"可在屏幕下方"有效输入"限定的范围内任意输入,建议振幅设为 1000 左右,频率"设为 300 左右;"电压偏移"设为 1

"信号发生器开关"设为"开启"。此时便有信号输入到 ADCINA6 通道。

5.调试程序

①运行程序,可以观察收到的数据和显示的图像,数据保存在 Ad_data 数组中,图像显示的即为 Ad_data 数组。显示图像时请注意所显示数组的数据类型及长度。其中图像显示设置对话框中 Start adderss:起始地址;Acquisition BufferSize:输入数据个数;Display Data Size:显示数据个数(注意:显示个数要与程序中宏定义的采样个数一致);DSP Data Type:数据类型;

②可以修改信号源,继续执行,观察输入不同信号源的执行结果。

六、实验现象

修改宏定义

设置断点

设置实验箱信号源

注意:TMS320F2812 AD 输入范围在 03v,而 SEED-DTK_MBoard板的信号源默认输出为-1V1V,故选择 1V 的电压偏移

图像显示设置DSP Data Type:数据类型如下图:

修改不同信号源,继续执行,观察输入不同信号下实验得到的图形:

7、实验心得

问题总结:采样频率对采集到图像的影响,不同采样频率得到的图像区别不大,设置Display Data Size:显示数据个数要与程序中宏定义的采样个数一致,否则会有问题。在调试得到理想波形时总调试到有杂波,经过认真修改和按实验步骤一步步重新开始做才最终得到波形。

心得体会:在实验过程中理解1V 的电压偏移的设置,是由于实验中AD模拟量输入范围:0.0V~3.0V;在试验中学会了AD采集以及将采集到的数据显示并用图像显示出来,理解了模数转换的过程。同时要注意采样个数与实验设置的显示个数要一致。一般情况AD转换只需要设置各种寄存器的操作就可以,实验的过程关键在理解里面程序内容。

实验五、片上外设——SCI 数据传递实验

3、实验目的

1.了解 TMS320F2812 片上外设 SCI

2.熟悉片上 SCI 通道的使用;

3.利用片上 SCI 通道进行数据采集。
二、实验仪器

TMS320系列 SEED-DTK 教学试验箱 电脑

SEED-DEC2812 模板直接采用F2812 片上的 2 通道 SCI 作为异步收发器UART
三、实验内容

1.初始化系统;

2.初始化片上 SCI 通道;

SEED-DEC2812 采用 MAX3160 多协议收发器,使得异步串口接口电平可配置为 RS232/RS422/RS485 多种接口电平标准。在RS232 接口标准时,采用 4 线制(RXDTXDRTSCTS),其中RTSCTS UART 控制/状态寄存器实现。而在 RS422/RS485 接口标准时,采用 2 线制(RXDTXD)。

MAX3160CAP上的引脚RS485/RS232#用于选择工作在RS-422/RS-485还是RS-232。引脚 HDPLX 则用于控制是 RS-422 还是 RS-485,引脚 FAST 用于控制信号转换率

3.SCI 数据传递

UART_MODE 寄存器映射到'F2812 Zone1 0x00 4010 的存储单元,其定义如下:


四、程序流程图

注:PIE 中断矢量表初始化。

五、实验步骤

1.打开 CCS,进入 CCS 的操作环境。.装入 uart.pjt 工程文件。

2修改宏定义,然后编译、链接生成 uart.out 文件,装载程序 uart.out

打开 uart.c 文件,到第 16 行,可以修改宏定义 UART_INT0 代表使用查询模式接受数据,1 代表使用中断模式接受数据。

3.设置断点

根据UART_INT的宏定义设置断点;如果 UART_INT 设置为0,在 uart. c文件的第 82 "Send_Flag = 1;" 设置断点

如果 UART_INT 设置为 1,在 DSP28_DefaultIsr.c 文件的第 993 "Send_Flag =1;"设置断点(中断函数实现)。

4. 设置参数

运行 "串口调试助手"的软件,设置串口参数

5. 调试

"串口调试助手"的发送窗口中输入要发送的数据,运行程序,程序会等待外部中断。此时在发送区输入要发送的单个字符,点击手工发送。程序将在断点处继续运行程序,此时在接收窗口中可观察所发送的数据。
六、实验现象

修改此处UART_INT的宏定义选择模式

设置断点,发送数据,在断点处停止,继续运行课接受到数据。

七、实验心得

问题总结:通讯助手的波特率一定要设置为19200,因为程序设置了,如果不是波特率不为19200,将无法实现通讯传输。由于一开始实验时未设置好便无法传输,后改了设置便可。在串口一栏中设置对应连接到计算机上的串口。如下图:

心得体会:在实验过程中学会了本实验是使用SCI 异步收发器UART,设置UART_MODE 寄存器的位定义,可以通过修改初始化的宏定义来选择是查询模式还是中断模式。"Send_Flag =1;"设置断点决定是否发送,在断点处继续运行将可看到接送区接受到刚才自己发送的数据。学会了简单使用通讯发送接受数据,可将其应用于实际的无线通讯对数据采集记录。

实验六、步进电机控制实验

一、实验目的

1.了解步进电机驱动的原理;

2.了解步进电机的控制原理;

3.熟悉使用 PWM 控制步进电机的运行。


二、实验仪器

TMS320系列 SEED-DTK 教学试验箱 电脑

SEED-DEC2812 模板直接采用F2812 片上的 2 通道 SCI 作为异步收发器UART

SEED-DTK_MBoard

步进电机

3、实验内容

1.DSP 的初始化;

2.EV 初始化与配置

3.步进电机的驱动程序。

四、程序流程图

五、实验步骤

1.打开 CCS,进入 CCS 的操作环境。

2.装入 stepmotor.pjt 工程文件,添加 2812.gel 文件。

3.装载 stepmotor.out 文件。

4.运行程序,观察实验箱上电机的运行状态。

5.用户可通过修改定时器1的周期以及PWM的比较功能调整电机运行放向与状态。(DSP28_Ev.c 文件)。

6、实验现象

电机的运行状态如下图所示:

七、实验心得

总结:步进电机的控制接口为 EVA PWM1PWM2 PWM3PWM4 引脚。它们分别为步进电机四相的控制端。按一定的频率循环置高电平即可使可使步进电机转动。因此通过改变四个引脚,可以得到不同规则条件下的电机转动。

心得:通过这次实验,我们了解到步进电机驱动的原理跟了解步进电机的控制原理;主要是通过改变 EVA PWM1PWM2 PWM3PWM4 引脚的置高电平的频率来控制,因为同时也了解了如何通过改变EVA引脚的配置来控制电机的运转。并熟悉使用 PWM 控制步进电机的运行。

实验七、定时器控制实验

一、实验目的

1.熟悉如何编写 2812 的中断服务程序;

2.掌握长时间间隔的定时器的处理。

3.掌握片内外设的设置方法。


二、实验仪器

TMS320系列 SEED-DTK 教学试验箱 电脑

TMS320F2812
三、实验内容

1.系统初始化

2. DSP 的初始设置;

3. 定时中断的编写

四、程序流程图

五、实验步骤

1. 打开 CCS,进入 CCS 的操作环境。

2.装入 cputimer.pjt 工程文件,添加 2812.gel 文件。

3.装载 cpuTimer.out 文件,进行调试。

4. 2812-LED.c 程序的第 56"*LED3 = 0; "和第 62 "*LED3 = 1"处设置断点。

5.运行程序,程序停在第一个断点处,表明已进入定时器中断。观察指示灯 D1D3

6.继续运行程序,程序会停在第二个断点处。观察指示灯 D1D3

7.若取消断点,连续运行程序会看到 SEED_DEC2812 板卡上 D1 D3 交替闪烁。

8.实验者可根据自己的需要改变周期寄存器的值,从而控制每次进中断的时间。

6、实验现象

2812-LED.c 程序的第 56"*LED3 = 0; "和第 62 "*LED3 = 1"处设置断点。如下图所示

设置断点之后,程序会停在第二个断点处。观察指示灯 D1D3

七、实验心得

总结:TMS320F2812 片内有 3 32 位时钟。其中定时器 1 和定时器 2 预留给适时操作系统使用,只有 CPU 定时器 0 用户可以在应用程序中使用。这些时钟有一个 32 位计数器,当计数器到达 0 时,产生一个中断。其中,TIMER0 中断为 PIE 中断,TIMER1 中断直接连到 CPU INT13TIMER2 中断直接连到 CPU INT14。重置这些中断的参数可以实现不同的定时效果。

心得体会:通过本实验,我们熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用。懂得如何改变周期寄存器的值,从而控制每次进中断的时间。熟悉了如何编写 2812 的中断服务程序的步骤;并掌握了长时间间隔的定时器的处理以及片内外设的设置方法。

本文来源:https://www.2haoxitong.net/k/doc/127f05db80eb6294dd886c70.html

《DSP实验报告-深圳大学-自动化.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式