《dsp实验》由会员分享,可在线阅读,更多相关《dsp实验(18页珍藏版)》请在金锄头文库上搜索。
1、 DSP原理与应用实验报告姓 名 : 专 业 : 班 级 : 学 号 : 成 绩 : 2013年5月13日DSP原理与应用实验报告 一、实验题目数字IO应用实验二、实验目的1. 了解TMS320LF2407A DSP 的数字I/O 控制模块的使用方法;2. 学习使用I/O 管脚控制外围设备;3. 学会用程序驱动简单外围设备。三、实验设备 计算机,教学实验箱四、实验原理1. TMS320LF2407A DSP 的数字I/O 控制模块介绍数字输入/输出模块是集成在TMS320LF2407A 片内的外设之一,它主要对芯片的通用、双向的数字I/O(GPIO)引脚进行控制。这些I/O 引脚大多数是基本功
2、能和一般I/O 复用的引脚,数字I/O 模块采用了一种灵活的方法,以控制专用I/O 和复用I/O 引脚的功能,所有I/O 和复用引脚的功能可通过9 个16 位控制寄存器来设置,这些寄存器可分为两类:I/O 口复用控制寄存器(MCRx):用于控制选择I/O 口作为基本功能方式或一般I/O 引脚功能;数据和方向控制寄存器(PxDATDIR):当I/O 口用作一般I/O 引脚功能时,用数据和方向控制寄存器可控制数据和到双向I/O 引脚的数据方向,这些寄存器直接和双向I/O 引脚相连。具体控制寄存器的访问地址、定义请参见有关资料。2. ICETEK-LF2407-A 板引出的I/O 管脚及使用方法IC
3、ETEK-LF2407-A 板使用了一些I/O 管脚对DSP 进行控制。例如:跳线JP6 连接DSP 上MP/MC 管脚,在DSP 复位时,DSP 可读回这一管脚的设置,当管脚接高电平时,DSP 采用微处理器(MP)方式工作,否则设置成微控制器(MC)方式。ICETEK-LF2407-A 板在扩展插头上将未使用的I/O 引脚接出,提供给用户连接使用。其定义见ICETEK-LF2407-A 板说明。这些管脚支持0-3.3V 逻辑电平操作,用户在进行相应设置后可以在I/O 管脚上进行输入或输出操作,使用时须注意根据引脚本身的负载能力驱动相关设备。3. ICETEK-LF2407-EDU 实验箱及控
4、制模块使用的I/O 管脚ICETEK-LF2407-EDU 实验箱将引脚ADCIN00-ADCIN03 连接到了实验箱底板上“A/D 输入”的四个插座上。ICETEK-LF2407-EDU 实验箱控制模块使用如下引脚:PWM12/IOPE6-指示灯PWM11/IOPE5 和TDIRB/IOPF4步进电机CANTX/IOPC6蜂鸣器五、实验步骤和内容实验程序通过相关寄存器设置,使用PWM12/IOPE6 作为输出,控制实验箱控制模块上指示灯J5 进行有规律地闪烁。具体步骤如下:1.实验准备(1)连接设备: 关闭计算机和实验箱电源; 检查ICETEK-LF2407-A 板上JP6 的位置,应连接在
5、1-2 位置(靠近DSP芯片端),即设置DSP 工作在MP 方式;如使用PP 型仿真器则用附带的并口连线连接计算机并口和仿真器相应接口;关闭实验箱上的三个开关。(2) 开启设备: 打开计算机电源; 打开实验箱电源开关,打开ICETEK-LF2407-A 板上电源开关,注意板上指示灯DS1、DS2 和DS3 亮;打开控制模块电源开关; 如使用USB 型仿真器用附带的USB 电缆连接计算机和仿真器相应接口,注意仿真器上两个指示灯均亮。(3) 启动Code Composer Studio3.3 (4)打开工程文件打开菜单“Project”的“Open”项;选择E:ICETEKLF2407ALF240
6、7目录中的“IOPin.pjt”2. 浏览程序在项目浏览器中,双击led.c,激活led.c 文件,浏览该文件的内容,理解各语句作用。打开led.cmd,浏览并理解各语句作用。3. 编译工程单击“Project”菜单,“Rebuild all”项,编译工程中的文件,生成IOPin.out 文件。4. 下载程序单击“File”菜单,“Load program”项,选择D:2407EDULabLab6-IOPin 目录中的IOPin.out 文件,通过仿真器将其下载到2407A DSP 上。5. 运行程序观察结果单击“Debug”菜单,“Run”项,运行程序。观察实验箱控制模块上指示灯J5 闪烁情
7、况。单击“Debug”菜单,“Halt”项,停止程序运行。6. 修改程序重新运行适当改变程序中“Delay(256);”语句中的延时参数,重复步骤3-5,使指示灯约1 秒闪烁一次。六、实验结果实验程序可控制指示灯闪烁。通过DSP 的通用I/O 引脚可以输出状态,从而直接控制外围设备。七、 问题与思考* 如果需要控制较大电流驱动的设备或控制电平大于3.3V 的设备应如何设计?答:这就需要设计一个驱动器了,可以使用专用的驱动芯片进行设计,也可以使用三极管,达林顿管进行设计等等。* 如果需要精确控制指示灯闪烁的时间,有什么方法?答:使用DSP的时间管理器模块中的通用定时器功能,实现精确控制指示灯的亮
8、灭,从而达到精确控制指示灯闪烁的目的。DSP原理与应用实验报告 一、实验题目定时器应用实验二、实验目的1、熟悉LF2407的定时器;2、掌握LF2407的定时器的控制方法;3、学会使用CPU定时器中断方式控制程序流程。三、实验设备计算机,DSP教学实验箱。四、实验原理说明1. 通用定时器介绍及其控制方法.事件管理器模块(EV)TMS320LF2407A DSP 片内包括两个事件管理模块EVA 和EVB,每个事件管理器模块包括通用定时器(GP)、比较单元以及正交编码脉冲电路。每个事件管理模块都包含两个通用定时器,用以完成计数、同步、定时启动ADC、定时中断等功能。.通用定时器(GP)* 每个通用
9、定时器包括:- 一个16 位的定时器增/减计数的计数器TxCNT,可读写;- 一个16 位的定时器比较寄存器(双缓冲,带影子寄存器)TxCMPR,可读写;- 一个16 位的定时器周期寄存器(双缓冲,带影子寄存器)TxPR,可读写;- 一个16 位的定时器控制寄存器TxCON,可读写;- 可选择的内部或外部输入时钟;- 用于内部或外部时钟输入的可编程的预定标器(Prescaler);- 控制和中断逻辑,用于4 个可屏蔽中断下溢、溢出、定时器比较和周期中断;- 可选择方向的输入引脚TDIRx,用于双向计数方式时选择向上或向下计数。* 通用定时器之间可以彼此独立工作或相互同步工作,完成复杂的任务。*
10、 通用定时器在中断标志寄存器EVAIFRA,EVAIFRB,EVBIFRA 和EVBIFRB中有12 个中断标志位。每个通用定时器可根据以下事件产生4 个中断:- 上溢TxOFINF(x=1,2,3 或4);- 下溢TxUFINF(x=1,2,3 或4);- 比较匹配-TxCINT(x=1,2,3 或4);- 周期匹配-TxPINT(x=1,2,3 或4)。* 每个通用定时器有4 种可选择的操作模式:-停止/保持模式;-连续增计数模式;-定向增/减计数模式;-连续增/减计数模式。相应的定时器控制寄存器TxCON 中的位的形式决定了通用定时器的计数模式。2. TMS320LF240x 中断结构利
11、用CPU 支持的6 个可屏蔽中断,采用集中化的中断扩展设计来满足大量的外设中断需求。LF240x 内核提供一个不可屏蔽的中断NMI 和6 个按优先级获得服务的可屏蔽中断INT1 至INT6。而这6 个中断级的每一个都可被很多外设中断请求共享。通过中断请求系统中的一个两级中断来扩展系统可响应的中断个数。为了让CPU 能区分引起中断的事件,在每个外设中断请求有效时都会产生一个唯一的外设中断向量,保存于外设中断向量寄存器(PIVR)中。实际上有两个中断向量表,CPU 的向量表用于得到一级通用中断服务子程序(GISR);外设向量表指定外设中断子程序(SISR)。GISR 程序根据PIVR 中的外设中断
12、向量取值决定执行哪个SISR。3. 中断响应过程外设事件要引起CPU 中断,必须保证:外设事件的中断使能为被使能,CPU 内核级的6 个可屏蔽中断中,相应中断也被使能。在外设事件发生时,首先将其在外设中断控制器中的标志位置1,从而引起CPU内核的INT1INT6 中的一个产生中断。中断服务过程中,其他可屏蔽中断将会自动被屏蔽,直到中断返回。在软件中,当设置好相应中断标志后,开中断,进入等待中断发生的状态;外设(如定时器)中断发生时,首先跳转到相应中断高级的服务程序中(如:定时器1会引起INT2 中断),在相应GISR 子程序中,取出PIVR 的值,根据其值再转向相应的SISR;SISR 程序在
13、进行服务操作之后,应将本外设的中断标志位清除以便能继续中断,然后返回。4. 中断程序设计用C 语言设计中断服务程序需要用intterupt 关键字修饰定义的中断服务函数,例如:void interrupt gptime1(void);中断服务函数应尽量短小,在中断服务函数中要注意对中断标志寄存器、中断屏蔽寄存器的设置,避免中断嵌套或中断丢失现象的发生。五、实验步骤和内容本实验设计的程序是在上一个实验基础上修改得来,由于上一实验控制指示灯闪烁的延时控制是用循环计算方法得到的,延时不精确也不均匀,采用中断方式可以实现指示灯的定时闪烁,时间更加准确。对于定时器的周期寄存器为计数40000 次产生1
14、个中断,由于DSP 工作在40MHz主频,正好是1ms 中断一次,所以在中断服务程序中计算中断500 次时改变指示灯状态,实现指示灯亮0.5 秒,再灭0.5 秒,即每秒闪烁1 次。具体步骤如下:1. 实验准备 .连接设备 关闭计算机和实验箱电源; 检查ICETEK-LF2407-A 板上JP6 的位置,应连接在1-2 位置(靠近DSP 芯片端),即设置DSP 工作在MP 方式;如使用PP 型仿真器则用附带的并口连线连接计算机并口和仿真器相应接口; 关闭实验箱上的三个开关。 开启设备: 打开计算机电源 打开实验箱电源开关,打开ICETEK-LF2407-A 板上电源开关,注意板上指示灯DS1 、
15、DS2 和DS3 亮;打开控制模块的电源开关; 如使用USB 型仿真器用附带的USB 电缆连接计算机和仿真器相应接口,注意仿真器上两个指示灯均亮。设置Code Composer Studio 为Emulator 方式。 启动Code Composer Studio2. 打开工程文件,浏览程序打开菜单“Project”的“Open”项;选择D:2407EDULabLab3-Timer 目录中的“Timer.pjt”。在项目浏览器中,双击led.c,激活led.c 文件,浏览该文件的内容,理解各语句作用。打开led.cmd,浏览并理解各语句作用,对照C 源程序学习中断向量表的写法。3. 编译工程单击“Project”菜单,“Rebuild all”项,编译工程中的文件,生成Timer.out文件。4. 下载程序单击“