《dsp综合实验》PPT课件.ppt_第1页
《dsp综合实验》PPT课件.ppt_第2页
《dsp综合实验》PPT课件.ppt_第3页
《dsp综合实验》PPT课件.ppt_第4页
《dsp综合实验》PPT课件.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现代电子学综合实验 -DSP实验,王正勇 ,TMS320C5402核心版,该板实现了一个最小系统,可以单独运行。 板上主要资源包括: 一个TMS320C5402 型号的DSP 芯片; 一个LV64L16 64K X 16BIT SRAM ; 一个CPLD可编程芯片,本模块主要负责实验系统中的总线控制工作 。,DPS+CPLD开发板和EDA5.1底板构成的完整DSP开发 系统图,DSP_JTAG接口:DSP与仿真器的连接接口 CPLD_JTAG接口:对CPLD进行配置和下载程序的接口 J6 、J7:通过该接口与EDA主板连接,从而可使用底板上的外设.,EPM240T100C5,61LV6416,

2、EPM240T100C5,DSP_JTAG,VC5402,J7,J6,PLD_JTAG,跳线端子,DSP_JTAG :DSP与仿真器的连接接口 CPLD_JTAG :对CPLD进行配置和下载程序的接口 通过跳线器J2切换MP/MC工作方式,当跳线器连接时工作在微计算机方式,当跳线器断开时工作在MP方式 J6 J7:通过该接口与EDA主板连接,从而可使用底板上的外设.,如果MP/MC=0,程序从片内ROM开始执行, 否则,从片外程序存储器开始执行。,数码管,led,液晶显示,电源开关,5V电源输入,时钟源,51单 片机,VGA接口,232接口,4*4键盘,TLC549,实验箱布局图,核心板,模式

3、 显示,PS2,USB,电平开关,核心板插口,TMS320C5402简介, 数字信号处理(Digital signal processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪80年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速发展,已经在信号处理、通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到广泛应用. DSP既是Digital Signal Processing的缩写,也是Digital Sjgnal Processor的缩写,二者的英文简写相同,但含义不同. Digital Sjgnal Process

4、ing广指数字信号处理的理论和方法,即数字信号处理技术。, Digital Sjgnal Processor(DSP)指用于进行数字信号处理的可编程微处理器,强调运算处理的实时性,因此除了具备普通微处理器所强调的高速运算和控制功能外,主要针对实时数字信号处理,在处理器结构、指令系统和数据流程上做了较大的改动。,DSP系统的构成,DSP系统具有数字处理的全部优点: (1)接口方便。 (2)编程方便。可使设计人员在开发过程中灵活方便地对软件进行修改和升级。 (3)稳定性好。受环境温度及噪声的影响较小,可靠性高。 (4)精度高。 (5)可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统

5、基本不受影响,因此数字系统便于测试、调试和大规模生产。 (6)集成方便。有高度的规范性,便于大规模集成。 当然,数字信号处理也存在一定的缺点。例如,对于简单的信号处理任务,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。,TMS320C54x的总体结构及工作原理,TMS320c54x(简称c54x)是TI公司为实现低功耗、高速实时信号处理而专门设计的16位定点数字信号处理器,己在通信、计算机网络、仪器仪表等领域得到了广泛应用。 TMs320C54x系列DSP

6、芯片种类很多,但结构基本相同,主要由中央处理器、内部总线控制、特殊功能寄存器、数据存储器RAM、程序存储器ROM、两个通用I/O引脚(BIO和XF) 、串行口、主机通信接口HPI、定时器、中断系统(硬件中断和软件中断)等部分组成。,TMS320VC5402引脚,图: TMS320VC5402的引脚 1,返回首页,图: TMS320VC5402的引脚2,表: TMS320VC5402引脚说明1,表: TMS320VC5402引脚说明2,表: TMS320VC5402引脚说明3,表: TMS320VC5402引脚说明4,表: TMS320VC5402引脚说明5,表: TMS320VC5402引脚说

7、明6,表: TMS320VC5402引脚说明7,返回本节,表: TMS320VC5402引脚说明8,图3 处理器方式状态寄存器PMST的位结构,表2: 状态寄存器PMST,表3: 时钟方式寄存器CLKMD,表4:软件等待状态寄存器SWWSR,表5:分区转换控制寄存器,表7:定时器控制寄存器TCR,定时器控制寄存器TCR功能,DSP的USB仿真器(TDS510)驱动软件安装,1. 将DSP的USB仿真器(TDS510)连接到DSP模块上的JTAG接口和PC机(连接无误后才上电),桌面出现找到新的硬件界面:,2.点击“从列表或指定位置安装”,出现以下画面,并在浏览中选择驱动软件目录:,3.然后点击

8、下一步,出现:,4.点击完成,屏摹右下方出现“新硬件已安装并可以使用了。”,表示dsp仿真器驱动软件安装完毕。,CCS中的软件或硬件仿真的设置,1.点击桌面的”setup ccs”软件,并在File菜单下选择import;,2.在出现的import configuration对话框中,选择器件及软件或硬件仿真设备,然后点击”import”,在”my system”下出现相应的软件或硬件仿真设备.,软件仿真设备设置步骤:,硬件仿真设备设置步骤:,仿真设备设置完毕,启动CCS: 点击”setup ccs”中”file”菜单下的”exit”启动ccs,出现如下界面:,接着点击open菜单,若选择”c

9、5402device simulator/cpu”即为软件仿真,选择”c5402dsk via tds510usb 2.0 emulator/cpu”即为硬件仿真.,CCS的使用,一、新建工程文件 启动CCS,在主菜单中单击“Project”,会有“new”和“open”选项,创建新工程使用“new”选项。程序会提问新建工程的名字以及保存位置,指定后单击“确定”即可。,新建工程窗口,CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,能够加速开发进程,提高工作效率。,可使用两种方式向工程添加源文件、CMD 和库文件。 (1) 添加源文件 第一个方法

10、:在主菜单中单击“Project”,选择“Add Files to Project”命令,在弹出的添加文件对话框中找到文件,单击“打开”按钮即可。 第二个方法:在工程名上单击鼠标右键,选择“Add Files”命令。在弹出的添加文件的对话框中,找到指定类型的文件。单击“打开”按钮。,2 向工程添加各类型文件,添加文件,(2) 添加必需的内存定位文件“*.cmd”: 使用上述任一方式,向工程里添加“hello.cmd”,注意在添加文件对话框的“文件类型”下拉列表中要选择“Link Command File(*.cmd)”,该文件定义了各代码段和数据段在存储器中的位置。,3) 添加库文件: 若工程

11、是基于C 语言编写的,还需添加运行时的支持库文件(RunTimeSupport Library). 如果基于汇编的就不需要)。使用上述任何一种方式,向工程添加“rts.lib”文件,该文件存放在CCS 的安装目录c5400cgtoolslib”下。注意在添加文件对话框的“文件类型”下拉列表中要选择“Object Library Files(*.o*,*.l*)”。,(5)添加gel文件 在工程视图中选中GEL files文件夹,单击鼠标右键,在弹出的菜单中选择Load GEL选项,载入gel文件.,(4) 添加头文件 在工程名“hello1.pjt ”上单击鼠标右键,选择“Scan AllDe

12、pendencies”,这样hello.c 文件所包含的头文件“hello.h”将出现在工程浏览窗中的“include”文件夹中。头文件实际不用人工添加,在Build 工程时,CCS 本身就会自动完成扫描。,二、建造和运行程序 建造(Building)指编译、汇编、链接三个独立步骤按顺序联合运行。 (1)建造: 在主菜单中单击“Project”,选择“Rebuild All”,或者单击工具条图标,CCS 将重新对工程中所有文件进行编译、汇编、链接,并同步在底部窗口中显示编译连接信息。连接 完毕,CCS 生成一个“.out”文件,默认存放在目录“hello2”下的“debug”目录中。 (2)

13、建造完毕后,再装载程序: 在主菜单中单击“File”,选择“Load Program”,在弹出对话框中,找到目录“hello2”下的“debug”目录,选择“hello.out”,并打开。,CCS 装载完毕该文件到目标DSP 以后,会自动弹出“Dissassembly”窗口,显示构成源代码的反汇编指令。同时,CCS 还会在底部弹出“stdout”栏,用于显示程序在运 行时的输出信息。 (3) 点击工具栏按钮或选择 DebugRun。,单步和全速运行: 在主菜单中单击“Debug”,选择“Go Main”,让程序从主函数开始运行。程序会停在main()处,并会有一个黄色的箭头标记当前要执行的C

14、语言代码,若单步执行,用F10,若全速执行,用F5(RUN) 。,断点运行 1.断点设置:将光标移到欲设断点位置处,按F9;断点取消也是F9. 2.按F5.,如果同时看到C 语言代码和对应编译生成的汇编代码,在主菜单中单击“View”,选择“Mixed Source/ASM”,此时会有一个绿色箭头标记当前要执行的汇编代码,多种观察窗口帮助调试: (1) 查看寄存器:选择View 菜单中的CPU Registers 命令。 (2) 查看数据: 选择View 菜单中的Memory 命令,弹出设置窗口,按实际需要指定其中的参数,如起始地址等,就可以观察到数据单元中的值,该值可以以多种格式表示。 (3

15、) 查看程序中变量的当前值: 可以在程序中用光标选中变量名,在鼠标右键菜单中选择Add to Watch Window 命令就可以把该变量添加到Watch 窗口。随着程序的运行,可以在Watch 窗口看到该变量的值的变化。,选择ViewGraphTime/Frequency。 在弹出的Graph Property Dialog对话窗 中, 将 Graph Title,Start Address, Acquisition Buffer Size,Display Data Size,DSP Data Type,Autoscale和 Maximum Y-value 的属性改变为需要 的属性。,(4)

16、 显示图形: 如果要观察的变量太多,例如要观察一个数组的值,那么可以用一种更直观的方法,就是把数据用图形的方式表现出来。,在TMS320VC5402中,定时器通过控制定时器相关寄存器,该定时器可以被停止、重新启动、复位或禁止。 与该定时器有关的寄存器有定时计数寄存器(TIM)、定时周期寄存器(PRD)以及定时器控制寄存器(TCR)。,定时计数寄存器TIM:该寄存器是一个存储器映射的寄存器。该寄存器中保存了定时器当前的计数值,并且该寄存器的值会在预分频器中的计数器递减至0的时候递减1。当TIM寄存器中的至递减至0的时候,定时器复位,TIM重新加载PRD寄存器中的值,开始下一轮计数,与此同时,当该

17、寄存器中的值递减至0的时候,产生定时器中断。,定时周期寄存器PRD:该寄存器是一个存储器映射的寄存器。该寄存器用于控制定时器的周期。,定时器控制寄存器TCR: 该寄存器是一个存储器映射的寄存器。该寄存器主要用于控制定时器的启动、停止、复位以及初始化定时器的预分频器等操作。该寄存器的具体内容如下表所示。,TDDR:定时器的4位预分频器,TDDR的值为015。 TSS:定时器启动/停止位。1可停止定时器计数;0可启动定时器。 TRB:向该位写入1可复位定时器。 PSC:预分频器的递减计数器。该计数器会在CLKOUT的作用下递减,当递减至0的时候,TIM的值便会递减1,同时PSC会重新加载TDDR的

18、预分频值。 Free:该位用来配置定时器是否工作在Soft制定的工作方式。当该位为0时,选定Soft位所指定的工作模式;当该位为1时,定时器将会正常运行,而不会采取Soft位所指定的工作模式。 Soft:该位用来配置定时器在遇到程序中断时的工作方式。当该位为0时,遇到中断定时器会立即停止运行;当该位为1时,定时器将会正常运行,遇到中断定时器会在递减到0后停止运行。,根据以上讲述,可以得到DSP中定时器的定时中断周期为: T = CLKOUT(TDDR+1) (PRD+1) CLKOUT为时钟周期,要对定时器正确配置和操作,可以通过以下步骤来实现: 1)首先将TCR寄存器中的TSS位置1来停止定

19、时。 2) 初始化定时器周期PRD。 3) 重新加载TCR寄存器(初始化定时器的预分频器 TDDR,TSS=0;TRB=1),启动定时器。 4)将IFR寄存器中的TINT位置1,清楚尚未处理完的定时器中断, 5) 将IMR寄存器中的TINT位置1 ,开定时器中断。 6)将ST1寄存器中的INTM清零,全局中断使能。,asm( STM #0000h,CLKMD ); while(*CLKMD /MP/MC = 0, IPTR = 001,ovly=0,asm( stm #0802h, BSCR ); asm( STM #0h,IMR ); asm( STM #0010h,TCR ); /关定时器

20、 asm( STM #0186ah,PRD );/1ms asm( STM #0C2fh,TCR ); /TCR=最后四位 asm( STM #0008h,IFR ); asm( ORM #0008h,*(IMR) );/*开时间中断*/ asm( ORM #0100h,*(IMR) );/*开INT3中断*/ asm( SSBX XF ); asm( RSBX INTM ); /*开中断*/,vectors.asm中存放的是中断入口地址,如果程序中涉及到中断,就需要在vectors.asm中相应的地址放置跳转指令,跳转到相应的中断服务子程序便可。,*.cmd命令文件: (1)在命令文件中两个

21、十分有用的伪指令MEMORY和SECTIONS: 指定实际应用中的存储器结构和进行地址的映射。 (2)Memory: 用来指定目标存储器结构,Memory下可以通过PAGE选项配置地址空间,链接器把每一页都当作一个独立的存储空间。 通常情况下,PAGE0代表程序存储器用来存放程序,PAGE1代表数据存储器,用来存放数据。 (3) 由编译器生成的可重定位的代码和数据块叫做“SECTIONS”(段),SECTIONS用来控制段的构成与地址分配。对于不同的系统配置,“SECTION”的分配方式也不相同,链接器通过“SECTIONS”来控制地址的分配,所以“SECTIONS”的分配就成了配置.cmd文

22、件的重要环节。,72,存储器TMS320VC5402寻址空间,存储器:DARAM(双寻址数据存储器), SARAM(单寻址数据存储器),ROM(程序存储器) 数据存储器总是安排到数据存储空间,但也可设置成 程序存储空间; 程序存储器总是安排到程序存储空间,但也可设置成 数据存储空间; MP/MC=0,片内ROM配置到程序空间; MP/MC=1,片内ROM不配置到程序空间; OVLY =1,片内RAM配置到程序和数据空间; OVLY =0,片内RAM只配置到数据空间;,以下是对“SECTIONS”的定义及分配的详细介(1).text包括所有的可执行代码和常数,必须放在程序页; (2) .cini

23、t包括初始化的变量和常量表,要求放在程序页; .pinit它包括全局构造器(C+),可放在程序页; (3) .const它包括字符串、声明、以及被明确初始化过的全局和静态变量,要求放在低地址的数据页; (4) .switch它包括为转换声明设置的表格,可以放在程序页也可以放在低地址的数据页。,MEMORY PAGE 0: EPROG: origin = 0 x1400, len = 0 x7c00 VECT: origin = 0 xff80, len = 0 x80 PAGE 1: USERREGS: origin = 0 x60, len = 0 x1c BIOSREGS: origin

24、= 0 x7c, len = 0 x4 IDATA: origin = 0 x80, len = 0 x1380 EDATA: origin = 0 x1400, len = 0 x8000 EDATA1: origin = 0 x9400, len = 0 x4c00 ,SECTIONS .vectors: VECT PAGE 0 .sysregs: BIOSREGS PAGE 1 .trcinit: EPROG PAGE 0 .gblinit: EPROG PAGE 0 frt: EPROG PAGE 0 .text: EPROG PAGE 0 .cinit: EPROG PAGE 0 .

25、pinit: EPROG PAGE 0 .sysinit: EPROG PAGE 0 .bss: IDATA PAGE 1 .far: IDATA PAGE 1 .const: IDATA PAGE 1 .switch: IDATA PAGE 1 .sysmem: IDATA PAGE 1 .stack: IDATA PAGE 1 ,.bss它为全局变量和静态变量保留空间。在程序开始运行时,C导入路径把数据从.cinit节复制出去然后存在.bss节中,要求放在低地址的数据页; .stack为C系统堆栈保留空间,这部分存储器为用来将声明传给函数及为局部变量留出空间,要求放在低地址的数据页;,.system动态存储器分配保留空间。这个空间用于malloc函数,如果不使用malloc函数,这个段的大小就是0,要求放在低地址的数据页;,79,JTAG口,JTAG是Joint test Action Group的简称,又称JTAG口,它是一符合IEEE Std 1149.1边界扫描逻辑标准的标准接口。它主要用于在硬件上对DSP进行实时在线仿真测试和DSP程序的下载,它提供对所连接设备的边界扫描,同时也可以用来测试引脚到引脚的连续性,以及进行DSP芯片的外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论