DSP实验指导书(2)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP原理及应用
实验指导书
电气与电子工程学院
实验六QDMA 读写实验
一、实验目的:
1.了解QDMA原理;
2.熟悉QDMA的接口的配置;
3.掌握QDMA的操作.
二、实验内容:
1.DSP 初始化;
2.QDMA 配置;
三、实验背景知识:
QDMA 控制器可以在没有CPU参与的情况下完成存储器影射空间中的数据传输. 这些数据的传输可以是在片内存储器、片内外设或是外部器件之间,而且是在CPU操作后台进行的.
QDMA 控制器的主要特点:
1.后台操作:DMA 控制器可以独立于CPU工作.
2.高吞吐率:可以以CPU时钟的速度进行数据吞吐.
3.6个通道:DMA 控制器可以控制6 个独立通道的传输.
4.辅助通道:该通道允许主机口向CPU的存储器空间进行请求.辅助通道与其他通道间的优先级可以设置.
5.通道分割〔即Split-channel〕操作:利用单个通道就可以与一个外设间同时进行数据的读取和写入,与存在两个DMA 通道的效果一样.
6.多帧〔Multiframe〕传输:传送的每个数据块可以含有多个数据帧.
7.优先级可编程:每一个通道对于CPU的优先级是可编程确定的.
8.可编程的地址产生方式:每个通道的源地址寄存器和目标地址寄存器对于每次读和写传输都是可配置的.地址可以是常量、递增、递减,或是设定地址索引值.
9.自动初始化:每传送完一块数据,DMA 通道会自动重新为下一个数据块的传送做好准备.
10.事件同步:读、写和帧操作都可以由指定的事件触发.
11.中断反馈:当一帧或一块数据传送完毕,或是出现错误情况时,每一个通道都可以向CPU发送中断.
四、实验要求:
通过本实验,了解QDMA接口的配置及应用.
五、实验程序功能与结构说明:
➢QDMA 实验包含文件
本次实验我们使用Test2011里面的0502的QDMA工程文件.
1.main.c:实验的主程序,包含了系统初始化,系统时钟设置,QDMA通道CACHE 以及定时器设置,运行DMA 转移函数等;
2.C6x.c:对SEED-DEC6713 各项资源操作的函数集,主要包含系统初始化函
数,对CPLD 的各个控制函数.
3.vecs.asm:包含定时器中断的中断向量表.
4.linkd:声明了系统的存储器配置与程序各段的连接关系.
➢程序流程图
六、实验准备:
1.将DSP 仿真器与计算机连接好;
2.将DSP 仿真器的JTAG插头与SEED-DEC6713 单元的J2 相连接;
3.打开SEED-DEC6713 的电源.观察SEED-DTK_MBoard单元的+5V,+3.3V,+15V, -15V 的电源指示灯以及SEED_DEC6713的电源指示灯D1、D3 是否均亮;若有不亮的,请断开电源,检查电源.
七、实验步骤:
1.打开CCS,进入CCS 的操作环境.
2.装入QDMA.pjt 工程文件.
3.打开main.c 程序,运行并下载程序.
4. 设置断点,打开0x20000和0x21000开始的存储空间,运行程序.
5.观察相关存储单元值的变化,验证QDMA相关原理.
大家可以通过设置不同QDMA_S_OPT寄存器的值来观察其他的数据搬移效果
实验七定时器控制实验
一、实验目的:
1.了解TMS320VC6713 的定时器;
2.熟悉定时器各寄存器的配置;
3.掌握TMS320VC6713 的中断结构和对中断的处理流程;
4.学会C 语言中断程序设计,以及运用中断程序控制程序流程
二、实验内容:
1.系统初始化;
2.定时器中断初始化;
三、实验背景知识:
TMS320C6713 片内集成了2 个32BIT 的通用TIMER,TIMER的原理框如下图.
这些时钟有两种信号模式,可以用内部或外部时钟源做为时钟计数.这些时钟有两个PIN 脚:输入和输出PIN脚,可以用做时钟输入和时钟输出;也可以用做GPIO.
在SEED-DEC6713 中,2 个TIMER配置为:
z TIMER0 配置为外部扩展空间或内部使用;
z TIMER1 配置为外部扩展空间或内部使用;
本实验采用的定时器是TIMER1.
四、实验要求:
通过本实验,熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用.
五、实验程序功能与结构说明:
➢LED实验包含文件
1.DEC6713_Timer.c:实验的主程序,包含了系统初始化,定时器中断初始化,定时器中断程序等.
2.DEC6713.c:对SEED-DEC6713 各项资源操作的函数集,主要包含系统初始化函数,对CPLD 的各个控制函数.
3.vecs.asm: 包含定时器中断的中断向量表.
4.SEED_DEC6713d: 声明了系统的存储器配置与程序各段的连接关系.
5.DEC6713.gel:系统初始化程序
➢程序流程图
Main 程序流程图
定时器中断流程图
六、实验准备:
首先将光盘下03. Examples of Program \ 04. SEED_DTK-EPD实验程序目录下的3.2.7 Timer的文件夹拷贝到D:盘根目录下.
1.将DSP 仿真器与计算机连接好;
2.将DSP 仿真器的JTAG插头与SEED-DEC6713 单元的J2 相连接;
3.打开SEED-DTK6713 的电源.观察SEED-DTK_MBoard 单元的+5V,+3.3V,+15V,-15V 的电源指示灯以及SEED_DEC6713 的电源指示灯D1、D3 是否均亮;若有不亮的,请断开电源,检查电源.
七、实验步骤:
1.打开CCS,进入CCS 的操作环境.
2.装入time.pjt 工程文件, 添加DEC6713.gel 文件.
3.装载time.out 文件,进行调试.
4.打开DEC6713_Timer.c,在程序的第163行"TimerEventHandler<>;"处设置断点.
5.运行程序,程序会停在断点处,表明已进入定时器中断.此时观察CCS 下方的"Stdout"窗口,会看到"Count:1".继续运行程序,程序每次都会停在断点处,连续进入中断60次后,退出主程序.如下图所示:
提示:实验者可根据自己的需要改变周期寄存器的值,从而控制每次进中断的时间.
实验八PLL锁相环实验
一、实验目的:
1.了解TMS320VC6713 的PLL锁相环;
2.熟悉锁相环各寄存器的配置;
3.掌握锁相环初始化的过程操作
二、实验内容:
1.系统初始化
2.锁相环初始化
3.改变锁相环的相关寄存器的值观察实验结果的变化情况
三、实验背景知识:
1.锁相环由锁相环乘法器<PLLM>、分频器<OSCDIV1、D0、D1、D2、D3>和复位控制
器等部分组成,可通过软件进行配置,见图8-1.锁相环的输入参考时钟为来自CLKIN引脚的外部晶体振荡器的输入信号<CLKMODE0 = 1>,通过使用可配置的乘法器和分频器,在DSP内部,锁相环可灵活方便地修改输入的时钟信号,最后生成的时钟被传送到DSP内核、外围设备和其它的DSP内部模块
2.锁相环模式<PLLEN=1>,当系统要使用分频器D0和乘法器的时候,进行此初始化过
程.
•在PLLCSR寄存器中,设置PLLEN=0<禁用模式>
•等待最慢的PLLOUT信号或者参考时钟源<CLKIN>四个周期
•在PLLCSR寄存器中,设置PLLRST=1<PLL被复位>
•如果有必要,对PLLDIV0和PLLM编程
•如果有必要,对PLLDIV1-n编程,必须执行此操作来使分频器更新比例系数
•等待锁相环正确地复位
•在PLLCSR寄存器中,设置PLLRST=0,使锁相环退出复位状态
•等待锁相环锁定
•在PLLCSR寄存器中,设置PLLEN=1来使能锁相环模式
四、实验要求:
通过本实验,熟悉锁相环的结构和功能及初始化过程中相关寄存器的配置,掌握锁相环的应用.
五、实验程序功能与结构说明:
实验中通过软件对锁相环和锁相环控制寄存器进行初始化,通过对锁相环和其相关寄存器的正确配置,产生DSP各个模块或者外围设备所需要的时钟信号.
六、实验准备:
1.将DSP 仿真器与计算机连接好;
2.将DSP 仿真器的JTAG插头与SEED-DEC6713 单元的J2 相连接;
3.打开SEED-DTK6713 的电源.观察SEED-DTK_MBoard 单元的+5V,+3.3V,+15V,-15V 的电源指示灯以及SEED_DEC6713 的电源指示灯D1、D3 是否均亮;若有不亮的,请断开电源,检查电源.
七、实验步骤::
1.打开CCS,进入CCS操作环境
2.打开Test2001文件里面的SpeedUSB.pjt工程文件
3.编译、下载main.c文件
4.结合上节定时器实验,修改相关寄存器,观察输出的快慢变化。