DSP实验指导
- 格式:doc
- 大小:1.60 MB
- 文档页数:23
实验一常用指令实验一、实验目的1、了解DSP开发系统的组成和结构;2、掌握DSP开发系统连接过程和DSP的开发界面;3,熟悉LF2407系列的寻址系统及常用LF2407系列指令的用法。
二、实验设备计算机,CCS 2.0版软件,DSP仿真器,EXP3实验箱。
三.实验步骤与内容开发TM S 320C2xxx应用系统一般需要以下几个调试工具来完成:(1)软件集成开发环境(CodeComposer):完成系统的软件开发,进行软件和硬件仿真调试。
它也是硬件调试的辅助乎段。
(2)开发系统:实现硬件仿真调试时与硬件系统的通信,控制和读取硬件系统的状态和数据。
(3)评估模块:提供软件运行和调试的平台和用户系统开发的参照。
(4) CodeComposer4.1卞要完成系统的软件开发和调试。
它提供一整套的程序编制、维打…、编译、调试环境,能将汇编语言和C语言程序编译连接生成COFF(公共目标文件)格式的可执行文件,并能将程序下载到目标DSP上运行调试。
(5)用户系统的软件部分可以由CodeComposer建立的工程文件进行管理,工程文件一般包含以下几种文件:源程序文件:C语言或汇编语言文件(*.ASM或*.C)头文件(*H)命令文件(*.CMD)库文件(*.LIB)中断向量交件(*.ASM)★启动CodeComposer双击桌面上“CC C2000 "启动Code Composer 4.1;可以看到显示出的C2XX CodeComposer窗口;★创建工程(1)创建新的工程文件:选择菜单“Project”的“New...”项;输入工程文件名字并保存;这时建立的是一个空的工程文件;.(2)在工程文件中添加程序文件:选择菜单“Project”的“Add Files to Project...”项;在“Add Files to Project”对话框中改变文件类型为“Asm Source Files(.a*;*.s*)",选择文件“*asm";重复上述各步骤,再添加以下文件到工程中;*.cmd, vector.asm.(3)编译连接工程:选择菜单“Project”的“Rebuild All”项;注意编译过程中CCS卞窗日下部的“Build"提示窗中显示编译信息,最后将给出错误和警告的统计数;编辑修改工程中的文件.(4)查看工程文件展开CCS卞窗日左侧工程管理窗中的工程各分支,可以看到“*.mak*工程中包含"*.asm","*.cmd"和"*.h;,其中“*.h”为程序在编译时根据程序中的“include"语句自动加入的;(5).查看源文件双击工程竹理窗中的“`'`as m”文件,可以查看程序内容;双击工程竹理窗中的“`'`.h”文件,打开此文件显示,可以看到其中有卞程序中要用到的一些寄存器等;" *.cmd”文件定义程序所放置的位置,此例中描述了LF2407的片内存储器资源,指定了程序和数据在内存中的位置;(6)基本调试功能:a)执行File-Load Program,在随后打开的对话框中选择刚刚建立的*.out文件;在项日浏览窗日中,双击`'`.rim激活这个文件,移动光标到start 行上,右击鼠标选择Toggle Breakpoint或按F9设置断点;b)使用观察窗口执行View令Watch window打开观察窗日;在`*asm中,选中任意一个变量,右击鼠标,选择”Quickwatch",CCS将打开quickwatch窗口并显示选中的变量;在`*asm中,选中任意一个变量,右击鼠标,选择”Add to watch window",CCS将把变量添加到观察窗日并显示选中的变量值;在观察窗日中双击变量,则弹出修改变量窗日,此时,可以在这个窗日中改变程序变量的值。
DSP实验实验操作指导
在实验操作之前,将仿真器在断电状态下与实验箱在断电状态下连接好,然后将USB 连线接到PC机,再给实验箱通电。
1、运行CCS 2(C200)
2、在FILES命令列装如GEL文件,文件路径为
….. :\SEED DTK APD\03.EXAMPALES OF PROGRAM\01.DSP\FOR SEED-DEC2407\01.DTK2407
做第几个实验,就装入第几个实验目录下的GEL文件,如第八个实验是数字滤波,就装入08. DTK_APD_FILTER目录下的GEL 文件.
3、在GEL 命令列将F2407 DEBUGGER设置为FLASH_DISABLE。
4、在PROJECT 命令列打开实验软件。
5、在PROJECT命令列ADD FILES TO PROJECT,添加库文件,选择C2400的CGTOOLS 中的LIB。
6、编译打开的实验软件。
7、在实验箱上选择所做的实验,CCS使用选择“是”,实验参数设置完成后不要在实验箱上运行实验等待实验程序从PC机装入。
8、在CCS下执行FILE命令列的LOAD PROGRAM。
9、在PC机上运行DEBUG命令列的RUN,实验箱上指示实验程序正在装载或装载成功。
10、在实验箱上运行实验,观察实验结果。
DSP实验指导书-图文数字信号处理E某PIV教学实验系统110实验五离散余弦变换(DCT)算法实验一、实验目的学习DCT算法的实现方法。
二、实验设备计算机,CCS2.0版软件,实验箱,DSP仿真器。
三、实验原理离散余弦变换与离散傅立叶变换紧密相关的,属于正弦类正交变换,由于其优良的去冗余性能及高效快速算法的可实现性,被广泛用于语音及图象的有损和无损压缩。
在开始实验之前,应了解以下基本原理。
1.语音或图象的压缩手段;2.DCT变换在数据压缩中的作用与应用。
四、实验步骤1.阅读本实验所提供的样例子程序;2.运行样例程序,分析结果;3.样例程序实验操作说明A.实验前准备1)正确完成计算机、DSP仿真器和实验箱连接后,开关K9拨到右边,即仿真器选择连接右边的CPU:CPU2;系统上电;2)“A/D转换单元”的拨码开关设置:JP3拨码开关:码位123456备注ON:将“模拟信号源”单元的信号输入到AD7822OFF:OFF:OFF:OFF:OFF:SW2拨码开关:SW21ON2ON3ON4备注码位ONAD7822的采样时钟为250KHZ,且中断给CPU2的中断2数字信号处理E某PIV教学实验系统111S23拨码开关:码位1、2B.实验启动CCS2.0,Project/Open打开“Algorithm”目录中“e某p05_cpu2”子目录下“E某p-DCT-AD.pjt”工程文件;双击“E某p-DCT-AD.pjt”及“Source”可查看各源程序;加载“E某p-DCT-AD.out”;在主程序中,在flag=0处设置断点;单击“Run”运备注OFF,不混频行程序,程序将运行至断点处停止;数字信号处理E某PIV教学实验系统112用View/Graph/Time/Frequency打开两个图形观察窗口;采用双踪观察在启始地址分别为某和y,长度为128的单元中数值的变化,数值类型为32位浮点型,这两个数组分别存放的是经A/D转换的输入信号和对该信号进行DCT变换的结果;再打开一个图形观察窗口,设置观察变量为z;变量z为输入信号的DCT变换及逆DCT变换的结果,长度128,32位浮点型,即输入信号的重构信号;调整各图形观察窗口,观察正变换与逆变换结果;单击“Animate”运行程序,调整各图形观察窗口,动态观察变换结果;改变输入信号的波形、频率、幅值,动态观察变换结果;数字信号处理E某PIV教学实验系统113单击“Halt”暂停程序运行,关闭窗口,实验结束;实验结果:在CCS2.0环境,同步观察输入信号及其DCT变换结果。
实验一 CCS基本操作重点:掌握CCS基本操作,工程的建立及调试方法。
难点:源程序调试方法。
(一)实验目的1.掌握Code Composer Studio2.2的安装和配置。
2.了解DSP开发系统和计算机与目标系统的连接方法。
3.了解Code Composer Studio 2.2软件的操作环境和基本功能,了解TMS320C2xxx软件开发过程。
⑴学习创建工程和管理工程的方法。
⑵了解基本的编译和调试功能。
⑶学习使用观察窗口。
⑷了解图形功能的使用。
(二)实验设备计算机、DSP硬件仿真器、SZ-DSP II实验开发平台(三)实验原理让学生了解怎样连接DSP仿真器、对CCS的仿真配置及怎样在CCS内新建工程并生成*.out文件。
(四)实验步骤1.连接实验设备2.启动Code Composer Studio双击桌面上“CCS C2000”,启动Code Composer Studio 2.2;可以看到显示出的C2XX Code Composer Studio窗口;3.创建工程(1)创建工程文件选择菜单“Project”的“New…”项;在Project对话框中输入“yima”作为项目文件名;在“Location”对话框中改变目录到D:\yima,并保存。
(2)往工程中加入文件选择project→Add Files to Project,选择38译码文件夹中的.asm,加入工程中。
重复上述各步骤,再添加.cmd文件到yima工程中4.浏览代码和Windows的资源管理器相似,只要打开+号展现下面的文件,然后双击文件的图标,在主窗口就会显示相应文件的原始代码。
5.编译/执行程序1)选择Project→Rebuild All或工具栏中的相应按钮。
2)编译成功后,选择File→Load Program。
选择你刚编译的可执行程序exp1.out。
3)选择Debug→Run,或工具栏中的相应图标。
6.程序调试的环境应用(1)跟踪/调试程序1)选择Debut→Restart,重新执行程序。
dsp实验指导书实验一I/O实验实验目的:熟悉SZ—DSPII实验平台的使用了解DSP对I/O口的访问方式熟悉简单的程序设计及指令运用实验设备:计算机;DSP硬件仿真器;DSP实验开发平台实验硬件设置:在做实验以前,需要接通该实验的硬件电路,本实验为:先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上发光二极管等输出指示设备;将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键7”拨上去,电击键盘中的RST键,MCU将对所有发光二极管进行检测,如果所有的发光二极管正常,则将“MCU/DSP选择挡”选中DSP,将功能键1到7都拨下来。
然后开始做实验,注意在做实验时开始按了RST硬件复位后,实验不要再按RST键,以免由于DSP复位而失败。
如果实验中硬件工作不正常,可按RST对整个系统硬件进行复位。
实验原理:本程序主要是实现将数据往一个I/O端口送,从而显示一种状态,来验证DSP对I/O口的访问。
该实验是由DSP直接编程,往发光二极管送数,运用PORTW指令,观察发光二极管的变化,从而完成基本的I/O实验。
D8-D15高八位数据DSPCPLD锁存8个指示灯指示灯的片选1002H硬件框图实验程序框图DSP送出不同的数据DSP初始化开始输出到1002H实验程序FG_ADDR.et1002HDATADELAY.macroec_tenthloop1STM#09h,AR6loop0STM#19999,AR7BANZ$,某AR7-BANZloop0,某AR6-BANZloop1,某AR5-.endm ;延时ec_tenth/10秒STMec_tenth-1,AR5reet:.et60h;doubleramdata.ect\B_c_int00NOPNOP.pace31某4某16.title\.global_c_int00.mmreg.te某tLD#0h,DPSTM#3000h,SPRSB某INTMSTM#07FFFh,SWWSR;工作在20MHz_c_int00:SSB某某F;某F=1ST#1007h,CLKMDRPT#0FFhNOPSTM#0ffffh,IFRORM#000h,IMRRSB某S某MST#8100H,DATA#10WRDENG:PORTWDATA,FG_ADDRDELAYNOPST#4200H,DATADATA,FG_ADDR#10PORTWDELAYST#2400H,DATAPORTWDELAYST#1800H,DATAPORTWDELAY#10ST#1800H,DATAPORTWDELAYDATA,FG_ADDR#10DATA,FG_ADDRDATA,FG_ADDR#10RPT#10NOPST#2400H,DATAPORTWDELAYRPT#10NOPST#4200H,DATAPORTWDELAYRPT#10NOPST#8100H,DATAPORTWDELAYRPT#10NOPSTM#00H,DATA;;;PORTWDELAYNOPST#100H,DATADATA,FG_ADDR#10PORTWDELAYST#200H,DATAPORTWDELAYST#400H,DATAPORTWDELAY#10DATA,FG_ADDRDATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10ST#800H,DATAPORTWDELAYRPT#10NOPST#1000H,DATAPORTWDELAY#10RPT#10NOPST#2000H,DATAPORTWDELAYRPT#10NOPST#4000H,DATAPORTWDELAYRPT#10NOPSTM#8000H,DATAPORTWDELAYRPT#10NOP;;;ST#8000H,DATAPORTWDELAYST#4000H,DATADATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDRDATA,FG_ADDR#10PORTWDELAYDATA,FG_ADDR#10ST#2000H,DATAPORTWDELAY#10ST#1000H,DATAPORTWDELAYRPT#10NOPST#800H,DATAPORTWDELAY#10RPT#10NOPST#400H,DATAPORTWDELAYRPT#10NOPST#200H,DATAPORTWDELAYRPT#10NOPSTM#100H,DATAPORTWDELAYRPT#10NOPST#8100H,DATADATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDR#10DATA,FG_ADDRDATA,FG_ADDR#10DATA,FG_ADDRBWRDENGaaanopbaaa.end思考题:有哪三种以上的寻址方式可以完成上述实验?并描述其原理。
DSP技术实验指导书陈军波刘海华编电子信息工程学院信号处理教研室2005年10月目 录第一部分DSP实验教学平台功能介绍 (3)☆结构简介: (3)☆数据流程图 (17)第二部分基础实验 (20)实验一CCS操作与DSP综合外设控制实验 (20)实验二DSP存储器及基本指令实验 (33)实验三快速傅里叶变换(FFT)实现 (38)实验四有限冲击响应滤波器(FIR)实现 (43)实验五无限冲击响应滤波器(IIR)实现 (51)实验六实时语音FIR滤波设计实验 (57)第三部分创新性实验 (60)实验一温度测量实验 (60)实验二YUV彩色图像处理之增强对比度 (62)实验三脉冲幅度相干(PAM)解调实验 (66)实验四MP3音频解码实验 (70)提示:请不要带电拔插仿真器和板卡!第一部分DSP实验教学平台功能介绍☆结构简介:一、主要功能模块:1、主CPU(SZ-5416D)模块:采用TI公司TMS320C5416DSP(以下简称5416)芯片,该模块上的资源有:4mbit flash、256k*16bit SRAM、2500 gate CPLD、电平转换芯片,模块上留有JTAG 插口,用户可以通过仿真器和CCS下载程序和进行实验;2、主CPU(SZ-2407E)模块:采用TI公司TMS320LF2407DSP(以下简称2407)芯片,该模块上的资源有:256k*16bit SRAM、2500 gate CPLD、电平转换芯片,模块上留有JTAG插口,用户可以通过仿真器和CCS下载程序和进行实验;以上两个模块可以通过5416的HPI接口实现双DSP的高速并行数据交换。
在实现对其他对象操作时,在平台的主板采用了CPLD(XC95216)来实现两DSP之间的软切换。
3、图象、语音模块(SZ-DSPFVV板):图象采用高速AD(TLC5510)和高速的DA(TLC5602),同时TLC5510和TLC5602又可做普通的AD、DA实验;语音模块采用专用语音处理芯片TLC320AD50C,最高采样率为22.05KHz,16位串行接口。
节 1.01 §1.2 使用方法1. 电源本实验箱内部自带变压器,使用时不需另配低压电源,可直接用普通三相插头接入220V电源。
接上电源后,由电源模块输出±12V,±5V,3.3V,分别送至实验箱的各个模块。
另外为方便单独使用,两个主控板上都设有独立的电源输入端口,可以接入5V的直流电源。
2. 仿真器接口在做实验时,需要一个DSP仿真器,把在计算机上编译并生成的执行代码下载到5509或2812芯片上。
仿真器有两端接口,其中一端与计算机的并行口或USB口相连,这取决于仿真器的类型;另一端与DSP芯片的JTAG 接口相连,这是一个14针的接口,在两块主控板上都可以找到。
仿真器连接好后才能对主控板上的DSP芯片进行读写控制。
4. 计算机的配置DSP实验中的代码编写,下载仿真和程序调试都必须在计算机上完成。
计算机上需要安装DSP集成开发环境软件CCS(使用2.2或3.1版本)。
计算机应具备最少32M内存,100M硬盘空间和奔腾处理器,显示器分辨率不能低于800*600。
另外,部分模块的实验还要求计算机配有标准的USB接口,DB9串行接口以及RJ-45网卡接口。
5. 其它配件包括USB连接线,串行口连接线,网线,排线等。
节 1.02 §2.1 基础实验一、实验目的1. 掌握CCS实验环境的使用;2. 掌握用C语言编写DSP程序的方法。
二、实验设备1. 一台装有CCS软件的计算机;2. DSP实验箱的TMS320F2812主控板;3. DSP硬件仿真器。
三、实验原理浮点数的表达和计算是进行数字信号处理的基本知识;产生正弦信号是数字信号处理中经常用到的运算;C语言是现代数字信号处理表达的基础语言和通用语言。
写实现程序时需要注意两点:(1)浮点数的范围及存储格式;(2)DSP的C语言与ANSI C语言的区别。
四、实验步骤1.打开CCS 并熟悉其界面;2.在CCS环境中打开本实验的工程(Example_base.pjt),编译并重建.out 输出文件,然后通过仿真器把执行代码下载到DSP芯片中;3.把X0 , Y0 和Z0添加到Watch窗口中作为观察对象(选中变量名,单击鼠标右键,在弹出菜单中选择“Add Watch Window”命令);4.选择view->graph->time/frequency…。
2407DSP 实验指导书实验一 CCS 的使用及输出实验一、 实验目的1、 了解DSP 开发系统的组成和结构;2、 熟悉DSP 开发系统的连接;3、 熟悉DSP 的开发界面;4、 熟悉LF2407系列的寻址系统;5、 熟悉常用LF2407系列指令的用法。
二、 实验设备计算机,CCS 2.0版软件,DSP 仿真器,DSP CPU 挂箱。
三、 实验步骤与内容1、 系统连接进行DSP 实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:2、 上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色指示灯”应点亮,否则DSP 开发系统与计算机连接有问题。
3、 运行CCS 程序待计算机启动成功后,实验箱220V 电源置“ON ”,实验箱上电,启动CCS ,此时仿真器上的“绿色指示灯”应点亮,并且CCS 正常启动,表明系统连接正常;否则仿真器的连接、JTAG 接口或CCS 相关设置存在问题,掉电,检查仿真器的连接、JTAG 接口连接,或检查CCS 相关设置是否正确。
注:如在此出现问题,可能是系统没有正常复位或连接错误,应重新检查系统硬件并复 位;也可能是软件安装或设置有问题,应尝试调整软件系统设置,具体仿真器和仿真软件CCS 的应用方法参见第三章。
●成功运行CCS 程序后,首先应熟悉CCS 的用户界面●学会CCS 环境下程序编写、调试、编译、装载,学习如何使用观察窗口等。
PCI/USB/EPP 接口 JTAG 接口 计 算 机 仿 真 器 实验箱 CPU 板4、创建工程环境CCS提供工程文件来管理应用程序,所有有关的应用程序的信息保存在工程文件中。
工程文件记录生成一个目标DSP程序和库程序需要的所有文件和运行库。
它也包含了为编译,汇编,链接目标代码而配置的开关参数。
在这部分,你将学习到如何创建工程文件,添加源程序文件和库文件到工程中,以及编辑源程序文件和编译连接生成目标代码。
DSP 实验指导书实验1 CCS和并口驱动仿真器的安装和设置1.1实验目的与实验设备一.实验目的●熟悉、掌握CCS软件的安装和环境设置,●熟悉、掌握并口驱动仿真器的安装和设置。
二.实验仪器实验室:DSP实验室设备:●DSP实验箱一台。
●计算机一台。
●CCS软件一套。
1.2 安装CCS我们将CCS和并口仿真器的驱动均安装在E:\ti下。
若同学们想将文件安装在其他目录下请自行修改。
在安装之前,请关闭所有的杀毒软件,因为这些杀毒软件可能会造成安装的失败。
1. 首先进入光盘的CCS2.0 For 5000目录,点击setup进入安装界面。
2.点击Install / Code Composer Studio(缩写为CCS)开始安装CCS。
3.点击“Next>”进入下一级界面系统提示您关闭所有杀毒软件,请关闭所有的杀毒软件后,再进入安装程序。
如果关闭了所有杀毒软件,点击“确定”进入下一级界面。
4.同意版权警告,点击“Yes”进入下一级界面。
5.继续点击“Next>”进入下一级界面。
6.该界面下我们要选择所有的安装文件,包括CCS2.0和PDF在线帮助文档后,点击“Next>”进入下一级界面。
7.该界面下,我们点击Browse选择我们将CCS安装再什么目录下。
CCS默认的安装目录为C:\ti,这里我们选择的目录文E:\ti。
点击“Next>”进入下一级界面。
8.该界面是告诉我们所有前面自定义的安装信息,点击“Next>”系统就开始自动安装CCS。
而后给出安装信息。
9. 点击“确定”进入下一级菜单。
10. 在该菜单下将Register和Read两条提示钩为空白。
点击“Finish”后就完成了所有CCS的安装。
1.3 并口驱动器的安装1. 首先进入光盘的并口仿真器驱动,点击电脑图形的Setup进入安装界面。
2. 点击“Next>”进入下一级界面。
3. 输入计算机名和公司名后,点击“Next>”进入下一级界面。
实验一 基本算术运算一﹑实验目的加、减、乘、除是数字信号处理中最基本的算术运算。
DSP 中提供了大量的指令来实现这些功能。
本实验学习使用定点DSP 实现16位定点加、减、乘、除运算的基本方法和编程技巧。
二﹑实验原理1﹑定点DSP 中数据表示方法C54X 是16位的定点DSP 。
一个16位的二进制数既可以表示一个整数,也可以表示一个小数。
当它表示一个整数时,其最低位(D0)表示02,D1位表示12,次高位(D14)表示142。
如果表示一个有符号数时,最高位(D15)为符号位,0表示正数,1表示负数。
例如,07FFFH 表示最大的正数32767(十进制),而0FFFFH 表示最大的负数-1(负数用2的补码方式显示)。
当需要表示小数时,小数点的位置始终在最高位后,而最高位(D15)表示符号位。
这样次高位(D14)表示12-,然后是22-,最低位(D0)表示152-。
所以04000H 表示小数0.5,01000H 表示小数125.023=-,而0001H 表示16位定点DSP 能表示的最小的小数(有符号)152-=0.000030517578125。
在后面的实验中,除非有特别说明,我们指的都是有符号数。
在C54X 中,将一个小数用16位定点格式来表示的方法是用152乘以该小数,然后取整。
从上面的分析可以看出,在DSP 中一个16进制的数可以表示不同的十进制数,或者是整数,或者是小数(如果表示小数,必定小于1),但仅仅是在做整数乘除或小数乘除时,系统对它们的处理才是有所区别的,而在加减运算时,系统都当成整数来处理。
2﹑实现16定点加法C54X 中提供了多条用于加法的指令,如ADD ,ADDC ,ADDM 和ADDS 。
其中ADDS 用于无符号数的加法运算,ADDC 用于带进位的加法运算(如32位扩展精度加法),而ADDM 专用于立即数的加法。
ADD 指令的寻址方式很多,其详细使用说明请参考《TMS320C54X 实用教程》。
第一章实验系统介绍一、系统概述EL-DSP-EXPII教学实验系统属于一种综合的教学实验系统,该系统采用双CPU 设计,实现了DSP 的多处理器协调工作。
两个DSP 通过HPI 口并行连接,CPU1可以通过HPI 主机接口访问CPU2的存储空间。
该系统采用模块化分离式结构,使用灵活方便用户二次开发。
客户可根据自己的需求选用不同类型的CPU 适配板,我公司所有CPU 适配板是完全兼容的,用户在不需要改变任何配置情况下,更换CPU 适配板即可作TI 公司的不同类型的DSP 的相关试验。
除此之外,在实验板上有丰富的外围扩展资源(数字、模拟信号发生器,数字量IO 扩展,语音CODEC 编解码、控制对象、人机接口等单元),可以完成DSP 基础实验、算法实验、控制对象实验和编解码通信试验。
EL-DSP-EXPII 教学实验系统功能框图二、硬件组成该实验系统其硬件资源主要包括:● CPU 单元● 数字量输入输出单元● 存储器及信号扩展单元● BOOTLOADER 单元● 语音模块● 液晶模块● CPLD 接口● A/D转换单元● D/A转换单元● 信号源单元● 温控单元● 步进电机● 直流电机● 键盘接口●电源模块1、 C PU 单元CPU 单元包括CPU1、CPU2两块可以更换的 CPU板,用户可根据需要选择不同种类的CPU 板。
板上除CPU 之外还包括以下单元: 1) CPU模式选择CPU 通常情况下可以根据用户需求工作在不同的模式下,主要用MP/MC ————的电平来决定。
当MP/MC ————为高电平时,DSP 工作在微处理器模式,当MP/MC —————为低电平时。
DSP 工作在为计算机方式。
在不同模式下存储器映射表有所不同。
详细信息请查阅相应的数据手册。
2)电源模块在CPU 板上由于TMS320VC54X 数字信号处理器内核采用3.3V 和1.8V 供电,因此需要将通用的5V 转换成3.3V 和1.8V 。
DSP实验指导书目录实验一正弦信号发生器 (1)实验二AM系统 (8)实验三DDS (16)实验四FSK调制系统 (25)实验五快速傅里叶变换 (32)实验六16阶FIR滤波器 (51)实验七IIR滤波器 (62)实验一正弦信号发生器一、实验仪器:PC机一台,JQ-SOPC-2C35实验箱一台及辅助软件(DSP Builder、Matlab/Simulink、Quartus II、Modelsim)。
二、实验目的:1. 初步了解JQ-NIOS-2C35实验箱的基本结构;2。
学习和熟悉基于DSP Builder开发数字信号处理实验的流程。
三、实验原理:正弦波是一种基本信号,任何复杂信号都可由许多频率、幅度各不相同的正弦波复合而成。
已知正弦波存在如下的关系:αsinαπ+sin(=2)由以上公式可知,正弦波存在周期性,本实验就是根据正弦波的这一特性进行正弦波发生。
在Altera DSP Builder库中,有一名为Increment Decrement的模块,根据参数设置的不同,Increment Decrement会不断从0计数到设定值,然后清0,接着又从0开始计数。
图3-1显示的是Increment Decrement的参数设置界面,以图中参数为例,number of bits设置为6,即从0开始计数到2^6,然后清0,接着又从0开始计数。
在LUT(Look Up Table)查找表模块中事先存入一个周期的正弦波的抽样值,利用Increment Decrement模块不断计数,根据计数值找到查找表的地址取出里面的值进行输出,因为Increment Decrement模块的输出具有周期性,则从LUT的输出也具有了周期性,这样,就产生了正弦波。
四、实验步骤:本实验的操作步骤如下:1.点击桌面上的Matlab图标,进入Matlab主界面,并将工作目录设为Matlab安装目录下的work文件夹,如图1所示:图1 Matlab启动界面2.点击菜单栏中的File->New->Model,新建一个模型,在Matlab命令窗口中输入simulink命令,调出simulink工具栏,如图2所示:图2 新建模型3.双击simulink工具栏中的Altera DSP Builder中的Arithmetic库,找到Increment Decrement模块,选中它并按住鼠标左键将其拖到新建的模型文件中,如图3所示:图3 添加模块4.双击模型文件中的Increment Decrement模块,打开模块参数对话框,将Bus Type设为Signed Integer,number of bits设为6,保持其他参数不变,点击【OK】按钮确认。
DSP实验指导书第一章软硬件仿真系统的安装与使用1.1硬件仿真器的安装与使用1.1.1 硬件仿真系统的安装第一步、取出实验平台,检查配件是否齐全(见实验平台内的装箱单)A. 关闭PC机电源,将专用25芯并口电缆插入并口中,注意插接要稳固。
B.安装好后,用专用25芯并口电缆的另一头连接仿真器。
C.启动PC机,驱动程序在仿真器随机光盘里。
第二步、不连接电源,将DSP(所配置如LF2407、VC5402、VC33等)板按照主板说明书插入实验箱上的插槽中(出厂时已插好)。
第三步、开启电源。
如安装成功:此时,实验平台上的+12V、-12V、+5V、-5V指示灯亮起。
1.1.2 硬件仿真器的使用硬件仿真器是数字信号处理系统开发的必备工具,它是采用边界扫描技术和DSP芯片通过JTAG口相连接。
实现了主机对DSP芯片的完全检测和控制。
可以通过JTAG和相应的软件的再现调试开发工作。
硬件仿真器的用法比较简单,只要将JTAG连接正确(出厂时已经连接好),DSP芯片能够正常工作并且软件调试环境配置正确即可以应用。
上面给出JTAG的定义;1.2开发系统软件安装配置和应用1.2.1开发系统软件安装1.2.1.1 Code Composer Studio软件安装系统要求要使用Code Composer Studio,你的操作平台必须满足以下的要求:● IBM PC(或兼容机)● Microsft Window98● 32M内存,100M硬盘空间,奔腾处理器,SVGA(800*600)1.2.1.2 Code Composer Studio 的安装完整的安装CCS软件包括以下两个步骤:(1)安装CCS到系统中。
将CCS安装光盘放入到光盘驱动器中,运行CCS安装程序setup.exe,将CCS安装在C盘根目录下。
安装完成后,在桌面会有“CCS C50001.20”和“setup CCS C50001.20”两个快捷方式图标。
分别对应CCS应用程序和CCS配置程序。
实验要求1.在进入实验室前,按要求仔细阅实验内容和相关的资料,并编写上机程序。
2.凡调试成功的程序必须由实验辅导教师检查认可后方可离开实验室。
3.实验报告要求:1)实验目的。
2)实验程序的功能。
3)实现各种功能的算法。
4)程序结构图。
5)思考题、对实验的改进意见和想法。
6)实验报告以书面形式提交。
7)每次实验报告下一次实验前交给老师。
实验一、CCS开发环境的使用【实验目的】1.熟悉Code Composer Studio开发环境2.熟悉DSP软件开发流程3.熟悉几种主要的调试方法4.熟悉在调试环境下观察指令执行结果的方法【实验原理及简要说明】CCS (Code Composer Studio)是TI公司为其TMS320系列DSP提供的一个高度集成的软件开发和调试环境,它将DSP工程项目管理、源代码的编辑、目标代码的生成、调试和分析都打包在一个环境中,使其可以基本涵盖软件开发的每一个环节。
CCS主要包括以下工具:1. C编译器、汇编优化器和连接器(代码生成工具)2.指令集仿真器(Simulator)3.实时的基础软件(DSP/BIOS)4.主机和目标机之间的实时数据交换(RTDX)5.实时分析和数据可视化利用CCS,用户可以方便地建立一个DSP的工程项目,并对相应的源文件进行管理或编辑修改。
所有源文件的编译、汇编和连接只需要一个按钮就可以一次完成,用户不必再通过输入冗长的命令行来完成这些操作。
经过上面的过程产生的目标代码可以在CCS的环境下通过硬件仿真工具,如XDS510等,下载到用户目标系统中进行调试和运行。
如果没有用户目标系统,还可以将目标代码装载到Simulator中运行。
Simulator利用计算机的资源模拟DSP的运行情况,可以帮助用户熟悉DSP的内部结构和指令,在有的情况下还可以对部分的程序功能进行非实时的验证。
在CCS中,用户可以利用其提供的数据可视化工具按照数据的自然格式来观察数据,如眼图、星座图、FFT瀑布图等,对于图像数据,CCS也提供了多种格式(如YUV格式或RGB格式等)来读取原始数据并加以显示,这些工具使得位于DSP存储器中的数据得以形象的表现,从而可以大大加速分析与测试的速度。
实验一“追灯”式电路控制实验一.实验要求1.设计并调试用于TMS320LF2407的“追灯”控制器,要求“灯”的花样和显示次数均由软件任意设定。
2.程序要求具有多种不同的灯亮花样,能实现发光二极管左移、右移即所谓“追灯”功能。
二.实验目的1.了解TMS320LF2407A DSP的数字I/O控制模块的使用方法;2.了解实验开发系统的基本I/O硬件电路的控制方法。
3.进一步熟悉设计并调试程序的基本方法。
三.实验设备计算机,DSP开发板,仿真器四.实验硬件电路图3.1 TMS320LF 2407与0LED接口电路五.实验步骤1.实验准备:程序所在目录:ex3_LED⑴连接设备:连接开发板和仿真器,用附带的USB电缆连接计算机和仿真器相应接口⑵开启设备:①打开仿真器供电电源;②打开CC2000,进行如下操作:1.打开工程文件:Project->Open,打开该目录中的工程文件。
2.编译工程:Project->Rebuild ALL,编译链接,生成IOPin.out文件3.下载程序:File->Load Program。
将IOPin.out文件通过仿真器将其下载到2407A DSP上。
4.运行程序观察结果Debug->RUN(快捷键F5)六. 实验现象(按照你设定程序所显示的现象写)可以看到的现象为:核心板上的LED 不断闪烁。
扩展板上的4 个LED 均处于熄灭状态。
现在将按键轻按一下,只有LED1 闪烁;按第二下,只有LED2 闪烁;按第三下,只有LED3 闪烁;按第四下,只有LED4 闪烁;按第五下,四个LED 循环依次闪烁。
若再按键,则如此反复循环。
七. 实验参考程序清单C程序I/O端口作为输出(追灯)unsigned int numled0=200,numkey=0,numled=0,numled_back=200;unsigned int t0=0,t0_back=0,test;unsigned int PB6_FLAG=0;void KeyLed(){if((numled!=numled_back)&&((numled%200)==0)){ numled_back=numled;if(numkey==1){ PBDATDIR=PBDA TDIR & 0xFFC7; //将其他的led灭掉if((PBDATDIR & 0x0004)==0x0004)PBDA TDIR=PBDA TDIR & 0xFFFB; //IOPB2=0;LED1灭elsePBDA TDIR=PBDA TDIR |0x0404; //IOPB2=1;LED1亮}if(numkey==2){ PBDATDIR=PBDA TDIR & 0xFFCB;if((PBDATDIR & 0x0008)==0x0008)PBDA TDIR=PBDA TDIR & 0xFFF7; //IOPB3=0;LED2灭elsePBDA TDIR=PBDA TDIR |0x0808; //IOPB3=1;LED2亮}if(numkey==3){ PBDATDIR=PBDA TDIR & 0xFFD3;if((PBDATDIR & 0x0010)==0x0010)PBDA TDIR=PBDA TDIR & 0xFFEF; //IOPB4=0;LED3灭elsePBDA TDIR=PBDA TDIR |0x1010; //IOPB4=1;LED3亮}if(numkey==4){ PBDATDIR=PBDA TDIR & 0xFFE3;if((PBDATDIR & 0x0020)==0x0020)PBDA TDIR=PBDA TDIR & 0xFFDF; //IOPB5=0;LED4灭elsePBDA TDIR=PBDA TDIR |0x2020; //IOPB5=1;LED4亮}if(numkey==5){if(numled==400) //200ms{PBDA TDIR=PBDA TDIR & 0xFFC3; //IOPB2,3,4,5=0;LED全灭}if(numled==600) //400ms{PBDA TDIR=PBDA TDIR & 0xFFC3; //IOPB2,3,4,5=0;LED全灭PBDA TDIR=PBDA TDIR | 0x0404; //IOPB2=1;LED1亮}if(numled==800) //600ms{PBDA TDIR=PBDA TDIR & 0xFFC3; //IOPB2,3,4,5=0;LED全灭PBDA TDIR=PBDA TDIR | 0x0808; //IOPB3=1;LED2亮}if(numled==1000) //800ms{PBDA TDIR=PBDA TDIR & 0xFFC3; //IOPB2,3,4,5=0;LED全灭PBDA TDIR=PBDA TDIR | 0x1010; //IOPB4=1;LED3亮}if(numled==1200) //1000ms{PBDA TDIR=PBDA TDIR & 0xFFC3; //IOPB2,3,4,5=0;LED全灭PBDA TDIR=PBDA TDIR | 0x2020; //IOPB5=1;LED4亮}if(numled==1400) //1200msPBDA TDIR=PBDA TDIR | 0x3c3c; //IOPB2,3,4,5=1;LED全亮}if(numled>=1400) numled=1;}}实验二步进电机控制实验一. 实验目的1、通过实验学习使用2407ADSP的扩展I/O端口控制外围设备信息的方法,掌握使用2407ADSP通用计时器的控制原理及中断服务程序的编程方法;2、了解步进电机的控制方法。
实验一:扩展RAM及FLASH读写实验一、实验目的1. 理解F28335在硬件上如何扩展RAM内存。
2. 理解F28335在扩展RAM存储器上的编程。
二、实验设备1.装有CCS5.2的计算机一台。
2.ZQ28335开发板、XDS100V2 USB仿真器、USB接口线及5V电源。
三、实验原理F28335的片上存储器和片外存储器采用统一编址方式。
当片内RAM存储器不够用时,可外接芯片扩展。
扩展存储器只能在0x00 4000~0x00 5000的XINF 区域0、0x10 0000~0x20 0000的XINF 区域6和0x20 0000~0x70 0000的XINF 区域7,如图1所示。
1.外扩RAM电路选用的RAM型号为IS61LV25616AL,256K×16bit大小。
这里使用A17~A0,共18根地址线,最大为256K;数据线为D15~D0。
片选信号CE接F28335的XZCS7引脚,写WE 由XWE提供,RD(OE,Output Enable)信号均XRD提供。
有硬件电路可知,外扩的RAM 地址范围为0x20 0000~0x23 FFFF。
由于没有使用A19~A18地址线,在仿真时,凡低18位地址相同的单元,读出的内容都是同一个单元内容,如0x240000~0x27FFFF,0x280000~0x2BFFFF和0x2C0000~0x2FFFFF上读出的内容与0x200000~0x23FFF的内容相同。
2.外扩FLASH电路FLASH存储器掉电后数据不会丢失,用于存放程序和需要保存的数据。
本实验板选用的FLASH型号为SST39VF800,512K×16bit大小。
这里使用A18~A0,共19根地址线,最大为512K;数据线为D15~D0。
片选信号CE接F28335的XZCS6引脚,写WE由XWE 提供,RD(OE,Output Enable)信号均XRD提供。
有硬件电路可知,外扩的FLASH地址范围为0x10 0000~0x17 FFFF。
读FLASH的方法与普通的存储器没有区别,但写数据到FLASH及擦除等操作,则需要特定的命令,如表1所示。
图1 F28335内存映射表1 SST39VF800型FLASH存储器命令表图3 F28335在区域6外接FLASH芯片(仅使用A18~A0,512K)例如:一个字到FLASH(Word Program),需要4个周期。
如将地址为DSPRamStart的随机存储器单元内容复制到FLASH的FlashStart单元,编程如下:*(FlashStart + 0x5555)= 0xAA;*(FlashStart + 0x2AAA)= 0x55;*(FlashStart + 0x5555) = 0xA0;*(FlashStart) = *(DSPRamStart);3.实验功能分析在《main_EXRAM.C》中,读写外部RAM与读写普通的存储器方法相同。
在《main_NOR_FLASH.C》中读FLASH与普通存储器没有区别,但写FLASH等操作需要发送相应的命名。
为叙述方便,将RAML7前半部分存储器简称为A,后半部分简称为B,FLASH 存储器简称为C,外部RAM存储器简称为D。
主函数的主要功能为(1)初始化外部接口为16位的总线接口(InitXintf());(2)A初始化为0~0x3FF(InitRam(0));(3)擦除C(ChipErase();execute_150ms);(4)将A数据复制到C(写FLASH)(FlashWrite(0,0,0x400));(5)将B清零(EraseRam(0x0));(6)将C数据复制到B(读FLASH)(FlashRead(0,0,0x400));0xF0000xF800图4 EXRAM及FLASH存储器分布简图四、源程序分析1.延迟函数原型:void delay_loop(Uint32 x)2.擦除整个FLASH数据函数原型:Uint16 ChipErase(void)// FLASH芯片地址接在ZONE6段,地址从0x100000开始// FlashStart=0x100000// 擦除整个FLASH,擦除后,每个单元均为0xFFFF// 函数返回0:擦除完成(EraseOK=0)// 函数返回1:擦除超时退出(TimeOutErr=1)// 函数返回3:擦除错误(EraseErr=3)3.将RAML7的数据写到FLASH函数原型:Uint16 FlashWrite(Uint32 RamStart, Uint32 RomStart, Uint16 Length) // FlashStart=0x100000// DSPRamStart =0x00F000// RAML7起始偏移地址:RamStart// FLASH起始偏移地址:RomStart// 复制数据个数:Length// 函数返回0:全部写到FLASH完成(WriteOK=0)// 函数返回1:擦除超时退出(TimeOutErr=1)// 函数返回2:写数据错误(V erifyErr=2)4.读FLASH的数据,复制到RAML7后半部分函数原型:void FlashRead(Uint32 RamStart, Uint32 RomStart, Uint16 Length)// FlashStart=0x100000// DSPRamStart2 =0x00F800// FLASH起始偏移地址:RomStart// RAML7起始偏移地址:RamStart// 复制数据个数:Length5.初始化RAML7前半部分寄存器函数原型:void InitRam(Uint16 Start)// DSPRamStart =0x00F000// 从RAML7前半部分的偏地址:start,单元数为0x400// 初始化值为0~0x3FF,单元个数为0x400。
6.擦除RAML7的后半部分数据函数原型:void EraseRam(Uint16 Start)// DSPRamStart2 =0x00F800// 从RAML7后半部分的偏地址:start,单元数为0x400// 初始化值:全0,单元个数为0x400。
7.擦除RAML7的后半部分数据函数原型:void RamRead(Uint16 Start)// 将RAML7的前半部分数据复制到RAML7的后半部分函数// DSPRamStart =0x00F000// DSPRamStart2 =0x00F800 (RAML7的后半部分)// 将RAML7的前半部分偏移地址为start,// 复制单元数为0x4008.《main_NOR_FLASH.C》中的主函数void main(void){InitSysCtrl();DINT;InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();InitXintf(); // 初始化16位数据的外设总线InitRam(0);ChipErase();execute_150ms;FlashWrite(0,0,0x400);EraseRam(0x0); // RAML7后半部分从0xF800开始FlashRead(0,0,0x400); // RAML7后半部分从0xF800开始}五、实验预习完成预习报告。
六、实验过程(一)新建实验项目1.点击CCS软件的Project菜单下的New CCS Project选项,如图5所示,新建一个名为“ZQ28335_ExRAMand_NOR_FLASH”的空项目,有关参数设置如图6所示。
点击Empty Project和Finish完成项目的新建。
图5 新建一个项目图6 项目参数设置2. 将参考项目文件夹中的00ic_EXRAM.c文件重命名为“main_EXRAM.c”后,复制到这个项目文件夹中。
00ic_NOR_FLASH.c文件重命名为“main_ NOR_FLASH.c”后,也复制到这个项目文件夹中。
并删除“main.c”文件。
将参考项目文件夹“DSP2833x_common”和“DSP2833x_headers”也复制到这个项目文件夹中,并禁用一些不需要的文件。
注:DSP2833x_common中已删去CMD文件夹。
DSP2833x_headers已删去CMD文件夹中的“DSP2833x_Headers_BIOS.cmd”。
4.右击项目名称,选择Properties(属性),如图7所示,点击Include Options选项,添加DSP2833x_common和DSP2833x_headers中的头文件和源文件途径。
如图4所示。
图7添加文件途径(二)扩展RAM实验1.禁用“main_ NOR_FLASH.c”文件,方法是:在“main_ NOR_FLASH.c”文件上右击选择下的选项。
如图8所示。
在随后出现的界面上,点击和按钮即可。
这时“main_ NOR_FLASH.c”文件不参与编译。
图8禁用文件选项2.点击,编译、下载程序,当程序运行到下图OK地方停止表示外部SRAM读写数据正常,否则停止在error处。
图9执行main_EXRAM停止位置3.此时点击View->Memory,打开内存观察窗口,输入外扩RAM起始地址0x20 0000,按回车键,即可看到从0x0000依次递增的数据。
图10执行main_EXRAM结果数据(三)扩展FLASH实验1.禁用“main_EXRAM.c”文件,方法是同禁用“main_ NOR_FLASH.c”文件相同。
2.激活“main_ NOR_FLASH.c”。
方法是:在“main_ NOR_FLASH.c”文件上右击选择下的选项。
在随后出现的界面上,去掉和左侧的两个小沟,点击OK即可。
3.点击,编译、下载程序,在InitRam(0)这一行设置一个断点,点击运行程序到此。
点击(单步执行),执行下面一行代码:InitRam(0);打开内存观察窗口,输入RAML7起始地址0xF000,按回车键,看数据是否从0x0000依次递增。
图11执行InitRam(0)结果数据4.点击,执行下面两行代码:ChipErase();execute_150ms;打开内存观察窗口,输入FLASH起始地址0x10 0000,按回车键,看FLASH擦除后的数据是否都是0xFFFF。
图12执行ChipErase()结果数据5.点击,执行下面一行代码:FlashWrite(0,0,0x400);打开内存观察窗口,输入FLASH起始地址0x10 0000,按回车键,看写到FLASH的数据是否从0x0000依次递增。