信息工程系实验中心数字信号处理器实验(DSP实验)实验一常用指令实验一、实验目的1.了解DSP开发系统的组成和结构;2.熟悉DSP开发系统的连接;3.熟悉DSP的开发界面;4.熟悉C54X系列的寻址系统;5.熟悉常用C54X系列常用指令的用法。二、实验设备计算机,CCS2.0版以上软件,DSP仿真器,DSPCPU挂箱。三、实验原理外部标志输出(软件可控信号)XF可用于在多处理器结构中相互通信,也可作通用输出脚。本实验中XF引脚先接到CPLD,然后把XF再通过CPLD输出给LED灯。XF为低时LED亮,XF为高时LED灭。四、实验步骤与内容1.系统连接进行DSP实验之前,先必须连接好仿真器、DSPCPU挂箱及计算机,连接方法如下所示:2.上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接正常后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP开发系统与计算机连接有问题。3.运行CCS程序待计算机启动成功后,DSPCPU挂箱220V电源置“ON”,DSPCPU挂箱上电,启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。注:如在此出现问题,可能是系统没有正常复位或连接错误,应重新检查系统硬件并复位;也可能是软件安装或设置有问题,应尝试调整软件系统设置,具体仿真器和仿真4.修改样例程序,尝试DSP其他的指令。5.样例程序实验操作说明下面以exp01_xf的操作过程说明CCS的工程建立连接编译的方法:(其他实验的操作过程和实验一相同)1)把”exp01_xf目录拷贝到”C:\ti5x\myprojects”目录下,去掉其只读属性.2)删除除了”.asm、.cmd”后缀外的其它所有文件和文件夹3)打开CCS的“Project\new”菜单4)按下图建立工程”exp01_xf”5)打开”addfilestoproject”菜单,把”exp01_xf”目录下的.asm、.cmd文件添加到exp01_xf的工程中。6)点击“rebuldall”按钮,编译连接工程。7)如果有如下的警告“warning:entrypointsymbol_c_int00undefined”打开“project\buildoptions”菜单的linker选项,把”autoinitmode”选项设置为“noautoinitialzation”,再重新编译连接工程。8)在”file\loadprogram”菜单,并加载“exp01_xf.out”;加载完毕,单击“Run”运行程序;实验结果:可见“CPLD单元”的指示灯D3以一定频率闪烁;单击“Halt”暂停程序运行,则指示灯D3停止闪烁,如再单击“Run”,则指示灯D3又开始闪烁;五、程序框图其中初始化包括SP及PMST寄存器值的设定延时子程序为一嵌套循环主程序流程图六,思考题1,XF直接驱动LED和XF通过CPLD驱动LED的区别?2,怎样判断5416内部的PLL已经切换到分频模式?实验二数据存储实验一、实验目的1、掌握TMS320C54的程序空间的分配;2、掌握TMS320C54的数据空间的分配;3、熟悉操作TMS320C54数据空间的指令。二、实验设备计算机,CCS2.0版软件,DSP仿真器,DSPCPU挂箱。三、实验原理C54x的存贮空间分为三个部分,分别是程序空间,数据空间和输入输出(I/O)空间。程序空间的大小为1M字,数据和输入输出空间大小都是64K字。对于程序空间和数据空间,有些地址段已经被系统内部定义,我们不能使用。下图描述了VC5402的存贮空间的分配。存贮空间的配置有两种模式,一种是微处理器方式(MP),另一种是微计算机方式,而这两种方式主要影响程序空间的分配。如果是微处理器模式,那么程序地址空间FF80~FFFF是外部的,也就是我们可以配置的,这也很好理解,因为所谓微处理器也就是仅把该芯片当成是一个处理器,仅完成任务的处理。而如果是微计算机模式,那么程序地址空间FF80~FFFF是被系统占用了的,用于存放系统中断向量表,同时F000~FEFF地址空间也被系统使用,这段地址里面包含了引导程序。由此可以看出,微计算机方式就是把该DSP看成了独立的一个系统,要自己能够单独工作起来,因此需要引导程序。数据空间分成了6个部分,如上图所示。其中00~5F是存贮器映射空间。这段地址空间的值和DSP内部寄存器的值是一致的,访问这个地址空间就等于访问DSP内部的相对应寄存器。而这段空间是在DSP的片上RAM内。60~7F是一个散空间,相当于系统给自己保留了一个空间用于特殊之用。比如说,在系统引导的时候,引导程序往往把程序执行的入口地址先放到这个空间的某个位置,等引导玩以后,系统再从这个地址里面取出程序的入口地址,然后跳转到相应地址开始执行程序。80~3FFF是DSP的片上RAM所映射的地址空间,如果我们程序的代码比较小时,可以不用外扩RAM。4000~EFFF,这段空间是外部寻址空间。假如程序比较大,片上RAM放不下下的时候,可以外扩一个RAM,然后将程序放在这段空间里执行。F000~FEFF,这段空间可以是外部,也可以是片上ROM,主要受CPU的控制寄存器DROM位的控制。关于CPU各控制寄存器的意义,在下一节会详细介绍。FF00~FFFF,可以是外部也可以是保留不能使用。主要受DROM位影响。输入输出(I/O)空间的64K字全部是外部的。另外,C54x的程序空间采用了分页机制。每64K字为一页。因此程序空间1M字可以划分为16页。如下图所示。另外要注意,在操作数寻址过程中,数据空间也采用了分页地址,而数据空间的分页方法是每128字分为一页,每页是连续的,因此数据空间分为512页。对于输入输出空间没有任何分页机制,直接访问。四、实验步骤与内容1.连接好DSP开发系统,运行CCS软件;2.在CCS的Memory窗口中查找C54各个区段的数据存储器地址,在可以改变的数据地址随意改变其中内容;3.在CCS中装载实验示范程序,单步执行程序,观察程序中写入和读出的数据存储地址的变化;4.结合其他寻址方式一起使用。5.样例程序实验操作说明启动CCS2.0,并加载“NORMAL\EXP02_MEM\DEBUG\exp02.out”;用“View”下拉菜单中的“Memory”查看内存单元;输入要查看的内存单元地址,本实验要查看0x1000H~0x100FH单元的数值变化,输入地址0x1000H;查看0x1000H~0x100FH单元的初始值,单击“Run”运行程序,也可以“单步”运行程序;单击“Halt”暂停程序运行;查看0x1000H~0x100FH单元内数值的变化;关闭各窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“NORMAL\EXP02_MEM\Exp02.pjt”,双击“Source”,可查看源程序。五、实验说明:本实验程序将对0x1000开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X1008开始的8个地址空间。在CCS中可以观察DATA存储器空间地址0X1000~0X100F值的变化。六、思考题54X访问内部RAM和访问外部RAM的区别?实验三键盘接口及七段数码管显示实验一、实验目的1.了解串行口8位LED数码管及64键键盘智能控制芯片HD7279A的基本原理;2.学习用TMS320C54XDSP芯片控制芯片HD7279A键盘和LED的基本方法和步骤;二、实验设备计算机,CCS2.0版软件,DSP仿真器,DSPCPU挂箱。三、实验原理HD7279A是比高公司生产的单片具有串行接口、可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时可连接多达64键的键盘矩阵,一片即可完成LED显示及键盘接口的全部功能。HD7279A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。HD7279A和微处理器之间采用串行接口,其接口和外围电路比较简单,且占用端口线少,加之它具有较高的性能价格比,因此,在微型控制器、智能仪表、控制面板和家用电器等领域获得了日益广泛的应用。HD7279A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。HD7279A的主要特点如下:①有串行接口,无需外围元件便可直接驱动LED;②独立控制译码/不译码、消隐和闪烁等属性;③(循环)左移/(循环)右移指令;④段寻址指令,可方便地用来控制独立的LED显示管;⑤盘控制器内含去抖动电路。引脚图:引脚说明:1~2、VDD:正电源;3、NC:无连接,必须悬空;4、VSS:接地;5、NC:无连接,必须悬空;6、CS:片选输入端,此引脚为低电平时,可向芯片发送指令及读取键盘数据;7、CLK:同步时钟输入端,向芯片发送数据及读取键盘数据时,此引脚电平上升沿表示数据有效;8、DATA:串行数据输入/输出端,当芯片接收指令时,此引脚为输入端;当读取键盘数据时,此引脚在‘读’指令最后一个时钟的下降沿变为输出端;9、KEY:按键有效输出端,平时为高电平,当检测到有效按键时,此引脚变为低电平;10~16:SG~SA:段g~段a驱动输出;17、DP:小数点驱动输出;18~25、DIG0~DIG7:数字0~数字7驱动输出;26、CLKO:振荡输出端;27、RC:RC振荡器连接端,其中电阻的典型值为1.5kΩ,电容的典型值为15pF;28、RESET:复位端。HD7279A与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY为按键信号输出端,该端在无键按下时为高电平;而在有键按下时变为低电平,并一直保持到按键释放为止。串行接口时序图:纯指令:带数据指令:读键盘指令:健值表如下:典型电路:资源分配:--写0005H,DIR7279='1',7279的数据给D0--读0005H,DIR7279='0',数据给7279--上电复位,DIR7279='0',数据给7279--写0006H,CS7279='0'--读0006H,CS7279='1'--上电复位,CS7279='1'--写0007H,CLK7279='1'--读0007H,CLK7279='0'--上电复位,CLK7279='0'--写0008H,D7279='0'--读0008H,D7279='1'--上电复位,D7279='1'DSP接口电路:四、实验步骤和内容1、正确完成计算机、DSP仿真器和DSPCPU挂箱的连接后,系统上电;2、跳线设置:跳线“J100”用短接块短接(使能外部中断0)。3.启动CCS2.0,用Project/Open打开NORMAL\exp06_7279目录下的“exp9.pjt”工程文件;双击“exp9.pjt”及“Source”可查看各源程序;并加载“DEBUG”目录下的“exp9.out”;4.单击“Run”运行程序,然后观察实验的结果。五、实验结果可以看到LED全部点亮后,LED1和LED2显示出0123456789等字符,并逐渐左移,直到“F”出现后,LED全部变暗。此时按键,便可从LED1和LED2上显示出123456789等按键对应的键值,每个键对应一个数,当按下一键时LED就会显示出相对应的数,且向左移动一位。在本实验程序中,中断选用的是外部中断0,由CPLD程序译码,每按一次键,就可以产生一个外部中断。主程序流程图中断程序流程图实验四数字图像处理一、实验目的1、了解数字图像处理的基本原理;2、学习灰度图像二值化处理技术。3、学习灰度图像反色处理技术;二、实验设备计算机,CCS2.0版软件,DSP仿真器,DSPCPU挂箱。三、实验原理图像是对客观存在的物体的一种相似性的生动