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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(dsp实验报告Word文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

dsp实验报告Word文档格式.docx

1、sine.c),选择Save4创建其他源程序(如.cmd)可重复上述步骤。(二)创建工程文件打开CCS,点击Project-New,创建一个新工程,其中工程名及路径可任意指定。在Project中填入工程名,Location中输入工程路径,点击完成。点击addfilestoproject,添加工程所需文件。在弹出的对话框中的下拉菜单中分别选择.c点击打开,添加源程序sine.c5.同样的方法可以添加文件sine.cmd、rts.lib到工程中(三)工程编译与调试1Buildall,对工程进行编译,如正确则生成out若是修改程序,可以使用命令,进行编译连接,它只对修改部分做编译连接工作。可节省编译

2、与连接的时间。编译通过,生成.out文件。2loadprogram,在弹出的对话框中载入debug文件夹下的.out可执行文件。3debugGoMain回到C程序的入口4使用F5快捷键,运行程序,在Stdout观察窗中查看程序运行结果,并记录。五、实验结果 图1相关源程序 图2HelloWorld主程序与输出图3幅值可变正弦波界面六、心得体会:要认真听老师讲课,这样才会做实验,如果不认真听课,做实验的时候就做不好。要注意培养动手能力。如果程序有错误,在调试的时候要有耐心。实验二 数字 I/O 实验一 实验目的1. 熟悉 CCS 的开发环境;2. 掌握 DSP 扩展数字 I/O 口的方法;3.

3、了解 SEED-DEC6713 的硬件系统交通灯实现程序;二 实验准备(一) DSP 系统中数字 I/O 的实现:DSP 系统中一般只有少量的数字 I/O 资源,而一些控制中经常需要大量的数字量的输入与输出。因而,在外部扩展 I/O 资源是非常有必要的。在扩展 I/O 资源时一般占用 DSP 的 I/O 空间。其实现方法一般有两种:其一为采用锁存器像 74LS273、74lS373之类的集成电路;另一种是采用 CPLD 在其内部做锁存逻辑,我们采用的是后者。SEED-DEC6713 模板提供标准化的存储器扩展总线,以方便用户扩展其专用的电路。SEED-DEC6713 的存储器扩展总线,包含 4

4、 个存储空间,每个存储空间有 20-位地址线、32-位数据线。SEED-DEC6713 的这 4 个存储空间被映射到C6713 的和空间中,具体的映射关系如下表所示:扩展总线SBENEMIFEA21:19字节地址xxxB0xA000 00000xA03F FFFF1100B0xB020 00000xB027 FFFFx101B0xB028 00000xB02F FFFF110B0xB030 00000xB037 FFFF111B0xB038 00000xB03F FFFF 、空间被配置为 32-位存储器时的逻辑地址实验箱 I/O 板映射到 SEED-DEC6713 模板的 EDSP_CE3 空

5、间,接口方式为 16-位。所以将 DSP C6713 EMIF CE3#空间配置为 16-位异步接口模式,地址映射关系如下:实验箱 I/O 板对应的起始地址为:0xB01C0000(字地址);SEED-DEC6713 控制 MBOARD 上 CPLD 板的偏移地址为:0xB01C000A;向此地址写 1,使能控制功能。TRAFFIC LED 的偏移地址为:0x00000002;即 TRAFFIC LED 的地址为:0xB01C0002;(二) SEED-DTK6713 系统中数字 IO 所占的资源如下:1 交通灯控制口地址为:0x6000000(I/O 空间);其说明如下:D11D10D09D

6、08D07D06D05D04D03D02D01D00SRSYSGWREGEYWYERWGNRNYNGWG:方向西的绿灯控制位;WY:方向西的黄灯控制位;WR:方向西的红灯控制位;SG:方向南的绿灯控制位;SY:方向南的黄灯控制位;SR:方向南的红灯控制位;EG:方向东的绿灯控制位;EY:方向东的黄灯控制位;ER:方向东的红灯控制位;NG:方向北的绿灯控制位;NY:方向北的黄灯控制位;NR:方向北的红灯控制位;当以上各位置“1”时,点亮各控制位所代表的交通灯状态的 LED 灯。2 LED 控制口地址为:0xB01C0004(IO 空间):D7D6D5D4D3D2D1D0OUT7OUT6OUT5O

7、UT4OUT3OUT2OUT1OUT0向控制位 OUT7:0写入“1”时,点亮相应位置的 LED 灯。注:8 个 LED 灯是位于 SEED-CPLD 板上的,其控制线是通过 DTK_IO 单元模块转接的,然后经 SEED-CPLD 单元模块驱动后再点亮 LED 灯的。三 实验程序功能与结构说明1. 在数字 IO 调试程序中,主要包含以下文件:1) IO.c:这是实验的主程序,包含了系统初始化,并完成控制交通灯按照所选择的不同模式输出显示,以及 LED 灯按照可输入的 8 位二进制数显示结果。2) DEC6713.C:对 SEED-DEC6713 各项资源操作的函数集,主要包含系统初始化函数,

8、对 CPLD 的各个控制函数。3) DEC6713_DTK.c:主要包含对 IO 口操作的各函数。4) Vec.asm:包含定时器中断的中断向量表5) SEED_DEC6713.cmd:声明了系统的存储器配置与程序各段的连接关系。6) DEC6713.gel:系统初始化程序四实验步骤本次实验程序的文件夹为光盘下 03. Examples of program04. SEED_DTK-EPD 实验程序目录下的 3.3.1 IO 的文件夹拷贝到 C:CCS studio_V2.2。1. 将 DSP 仿真器与计算机连接好;2. 将 DSP 仿真器的 JTAG 插头与 SEED-DEC6713 单元的

9、 J2 相连接;3. 启动计算机,当计算机启动后,打开 SEED-DTK6713 的电源。观察 SEED-DTK-IO 单元的5V,3.3V,15V,15V 的电源指示灯以及 SEED_DEC6713 的电源指示灯 D1、D3 是否均亮;若有不亮的,请断开电源,检查电源。4. 打开 CCS,进入 CCS 的操作环境5. 装入 IO.pjt 工程文件,添加 DEC6713.gel 文件开始进行调试6. 打开 IO.c 文件,到第 29 行,修改 TestCommand 的宏定义。TestCommand 是交通灯操作控制选项。可以为 1、2、3、4、5 这 5 个数。1 为自动运行(南北通行一段时

10、间后,自动变为东西通行,依次循环);2 为夜间模式(各方向都为黄灯);3 为交通灯东西通;4 为交通灯南北通;5 为禁行(各方向都为红灯)。在编写程序的过程中要用到函数 void DEC6713_DTK_rset(Int16 regnum, Uint16 regval),此函数在 DEC6713_DTK.c 中有定义,主要功能是对不同的 IO 地址写入相应的数值,从而达到控制交通灯和 LED 灯亮或灭的目的,第一个参数为地址偏移量,第二个参数为控制字。另外 IO.c 文件中给出了函数 void delay(int period),通过调用此函数可以延迟一定的时间。7. 装载程序 IO.out8

11、. 运行,观察。在程序运行过程中,可直接在 Watch Window 里修改 TestCommand 的值,即将每一种运行方式所对应宏定义的值直接赋值给 TestCommand,即可改变运行方式。例如在程序运行过程中,若想将运行方式改为夜间模式,就请将 TestCommand 赋值为 2(0 小 AA16)。如下图所示:9. 重新到第 6)步开始尝试其他情况或者退出实验。五实验结果与反思当输入不同的数字,对应的运行状态与相应的灯状态一致。实验已经给出了主干程序,根据流程图,补充类似的状态下不同灯对应的IO接口,应该提前准备,理解程序,同时注意与老师和同学的交流,发现自己的不足。实验三 定时器实

12、验1. 了解 TMS320VC6713 的定时器。2. 熟悉定时器各寄存器的配置。3. 掌握 TMS320VC6713 的中断结构和对中断的处理流程。4. 学会 C 语言中断程序设计,以及运用中断程序控制程序流程。二 实验要求1. DSP 的初始设置;DSP 中断向量表的建立;定时中断的编写;2. 熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用。三 实验背景知识:(一) 通用 TIMER 简介TMS320C6713 片内集成了 2 个 32BIT 的通用 TIMER,TIMER 的原理框见理论知识的介绍和相应教材的内容。这些时钟有两种信号模式,可以用内部或外部时钟源做为时钟计数。这些

13、时钟有两个 PIN 脚:输入和输出 PIN 脚,可以用做时钟输入和时钟输出;也可以用做 GPIO。在 SEED-DEC6713 中,2 个 TIMER 配置为:l TIMER0 配置为外部扩展空间或内部使用;l TIMER1 配置为外部扩展空间或内部使用;本实验采用的定时器是 TIMER1。(二) CMD 文件简介cmd 文件用于 DSP 代码的定位。由 3 部分组成:1) 输入输出定义:.obj 文件:链接器要链接的目标文件。.lib 文件:链接器要链接的库文件。.map 文件:链接器生成的交叉索引文件。.out 文件:链接器生成的可执行代码;链接器选项 。2) MEMORY 命令:描述系统

14、实际的硬件资源。3) SECTIONS 命令:描述段如何定位。(三) vecs.asm 文件简介vecs.asm 是 DSP 的中断向量表文件。中断服务程序的地址(中断向量)要装载到存储器的合适区域。一般中断向量表文件是采用汇编语言编写;在文件中一般汇编指令.sect 来生成一个表。这个表包含中断向量的地址和跳转指令。因为中断读物的标志符在汇编语言模块外部使用,所以标志符用.ref 或.global。(四) GEL 文件简介GEL 文件的功能同 cmd 文件的功能基本相同,用于初始化 DSP。但它的功能比 cmd 文件的功能有所增强,GEL 在 CCS 下有一个菜单,可以根据 DSP 的对象不

15、同,设置不同的初始化程序 。以下面的例子介绍一下 GEL 文件的构成。例:#define DEC6713_CTL 0x90080000 #define DEC6713_INT 0x90080001 #define DEC6713_STA 0x90080002StartUp( ) ; 开始函数/定义 DEC6713_CTL 寄存器/定义 DEC6713_ INT 寄存器/定义 DEC6713_ STA 寄存器GEL_MapReset(); ; 存储空间复位GEL_MapAdd(0x0000,0,0x7fff,1,1); 定义程序空间 00007fff 可读写GEL_MapAdd(0x8000,0

16、,0x7000,1,1); 定义程序空间 8000f000 可读写GEL_MapAdd(0x0000,1,0x1000,1,1); 定义数据空间 0000f000 可读写GEL_MapAdd(0xffff,2,1,1,1); 定义 i/o 空间 0xffff 可读写GEL_MapOn(); 存储空间打开GEL_MemoryFill(0xffff,2,1,0x40); 在 i/o 空间添入数值 40h四 实验程序功能与结构说明1. 在 Timer 实验调试程序中,主要包含以下文件:1) DEC6713_Timer.c:这是实验的主程序,包含了系统初始化,定时器中断初始化,定时器中断程序等。2)

17、DEC6713.c:3) vecs.asm: 包含定时器中断的中断向量表。4) seed_dec6713.cmd:5) dec6713.gel:2. 程序流程图定时器中断程序流程图:cnt=cnt+1cnt TIMER_CNTYES关闭定时器 1打印“Done”NO打印“Count:”主程序流程图CSL 初始化系统时钟设置定时器中断初始化定时器各寄存器配置使能定时器中断使能定时器 1Cntuser0x00000000)manuals-HardwareDocumentation-spru190-Timersprd 为周期寄存器值,设置寄存器的计数周期cnt 为计数寄存器,设置当前的计数值TIME

18、R_start(hTimer)启动定时器TIMER_ start(temp_htimer)TIMER_pause(TIMER_Handle暂停定时器TIMER_pause(temp_htimer)TIMER_close(hTimer)关闭一个已打开的定时器设备TIMER_ close(temp_htimer)Void IRQ_setVecs(void *vectors)设定中断向量表基地址Vectors 指向中断向量表的指针IRQ该函数的调用程序中已经给出IRQ_setVecs(void*)0x800000000)Void IRQ_globalEnable()使能全部可屏蔽中断Void IRQ

19、_nmiEnable()使能 NMI 中断Void IRQ_map(Uint32 EventId,Int intnumber)EventId 为事件 ID为一个中断映射逻辑事件Intnumber 为中断号,本次实验为 14IRQ_map(IRQ_EVT_TINT0,12)Void IRQ_reset(Uint32 eventId)关闭及清除中断eventId 为事件 IDIRQ_reset(eventId)Void IRQ_enable(Uint32EventId)使用 IER 寄存器使能特定事件,IRQ_enable(IRQ_EVT_TINT0)以上表格中的函数更为详细的介绍在 ccs 软件中的 help 菜单中可以找到。具体使用为 help contents-Chip Support Library 或 者 help-user manuals-DSP Foundation Software-spru401注意:中断响应程序在函数 interrupt void c_int14(void) 中编写即可。6. 装载程序 Timer.out,进行调试。7. 打开 timer.c,在中断程序中“timer event handler ( );”设置断点。8. 运行程序,程序会停在断点处,表明已进入定时器中断。此时观察 CCS 下方的“Stdout”窗口,会看到“

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1