DSP实验报告书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一数字IO应用实验
—、实验目的
1. 了解DSP开发系统的组成和结构
2. 在实验设备上完成I/O硬件连接,编写I/O实验程序并运行验证。
3. 内存观察工具的使用
二、实验设备
计算机,CCS3.1版本软件,DSP仿真器,教学实验箱
三、实验原理
本实验程序由二部分组成:1.由外部中断1产生中断信号
2.键值读取程序:该部分有两种方法进行键值的判断。
方法1:利用内存观察工具进行观察
方法2:利用LED1-LED8的亮灭对应显示键值。
a)外部中断1的应用参照实验五;
b)内存观察键值:程序中定义了三个变量“W”“row”和“col”。“W”代表是CPLD
中键盘的扫描数值,“row”和“col”分别代表键盘的行和列,由行和列可以判定按键的位置。上述三个变量可以在观察窗口中观察的。
c)利用LED灯显示键值原理,参看实验一。具体的LED灯显示值以查表的形式读出,
请参看“e300_codec.h”库文件。
本实验的CPLD地址译码说明:
基地址:0x0000,当底板片选CS0为低时,分配有效。
CPU的IO空间:基地址+0x0200 LED灯output 8位
外部中断用XINT1:由CPLD分配,中断信号由键盘按键产生。
中断下降沿触发。
KEY_DAT_REG(R):基地址+0x0004;
四、实验步骤和内容
1.2407CPU板JUMP1的1和2脚短接,拨码开关S1的第一位置ON,其余置OFF;
2.E300板上的开关SW4的第一位置ON,其余OFF;SW3的第四位置ON其余的SW
置OFF
3.运行Code Composer Studio (CCS)(ccs3.1需要“DEBUG→Connect”)
4.打开系统项目文件\e300.test\ normal \ 05_key interface \ E300_keyled.pjt;
5.编译全部文件并装载“\Debug\ keyled.out”文件
6.单击“Debug\Go Main”跳到主程序的开始;
7.指定位置设置断点;
8.View--〉Watch Window打开变量观察窗口;
9. 将变量“w”“row”和“col”添加到观察窗口中,改变变量观察窗口的显示方式为HEX显示。
10.点击“Debug--〉Animate”全速运行,然后点击E300板上键盘按键,观察窗口中变量变化,同时LED1-LED8灯也相应变化,指示键值。(注意程序中KEY_E和KEY_F 分别代表键盘上的“*”和“#”键值。
十六进制数代表的意义为:高4位为按键的行值,低4位为按键的列值。
注意:“w”中的低八位表示
11.关闭所有窗口,本实验完毕.
五、实验程序框图
六、实验结论
本实验程序采用外部中断的方法来判断键盘是否被按下,除了这种方法外,还可以根据键盘按下标志位“KEY_FLAG”,利用查询方式来编写程序.“KEY_FLAG”是CPLD 内部状态寄存器中的一个只读位.如下表:
CPLD内部状态寄存器(只读):
CPLD_ST_REG(R): 基地址+0x002
D7 D6 D5 D4 D3 D2 D1 D0
KEY_FLAG LCD_ndef LCD_OUT
实验二定时器应用实验
一、实验目的
1、熟悉LF2407的定时器;
2、掌握LF2407的定时器的控制方法;
3、学会使用CPU定时器中断方式控制程序流程。
二、实验设备
计算机,CCS 3.1版软件,DSP教学实验箱,F2407CPU板。
三、实验原理说明
本实验是采用CPU定时器来定时使LED亮灭的。LF2407的通用定时器功能强大,除了做通用定时使用外,还可以配合事件管理器模块产生PWM波形。可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断。
在本系统中,时钟频率为40MHz,设置相应寄存器,使得到每1/1000秒中断一次,通过累计1000次中断,就能产生1秒钟的定时。
样例实验的程序框图如下:
四、实验步骤和内容
1、F2407CPU板的JUMP1的1和2脚短接,拨码开关S1的第一位置ON;其余置OFF。
2、E300底板的开关SW4的第1位置ON,其余位置OFF。其余开关设置为OFF。
3、运行CCS软件,调入样例程序,装载并运行;(进入CCS界面后需要点“Debug--Connect”)
4、用“Project//Open”系统项目文件 \e300.test\ normal\ 03_timer \ timer.pjt;
5、编译全部文件并装载“..\ debug\timer.out”;
6、单击“Debug \ RUN”运行,可观察到灯LED1~LED8的闪烁变化。
7、单击“Debug \ Halt”,暂停程序运行,LED灯停止闪烁;单击“RUN”,LED灯又开始闪烁变化
8、结束实验程序
五、小结与体会
通过本次实验,让我对DSP这门课程在应用软件上有了基本的操作知识,以及通过对定时器控制C语言编程的编写,已经基本掌握了定时器的基本原理以及中断基本原理,并能够很好的进行设计,达到对软硬件结合使用。
实验三 AD转换实验
—、实验目的
1.熟悉CPU内部AD转换的基本原理。
2.掌握TMS320LF2407A的内部ADC功能模块的指标和常用方法。
二、实验设备
计算机,CCS3.1版本软件,DSP教学实验箱,2407CPU板,信号线,示波器
三、实验原理
TMS320LF2407ADSP自带16路10位单极性ADC转换器,内置一个采样保持器。快速转换时间运行在375ns。16个通道可配置为两个独立的8通道模块以便为事件管理器A和B服务。两个独立的8通道模块可以级联组成一个16通道模块。虽然有多个输入通道和两个序列器,但是ADC模块只有一个转换器。
下图给出了LF2407的ADC模块框图。
两个8通道模块具有一对系列转换和自动序列化的能力,通过模拟多路复用器,每个模块都可以选择可用的8个通道中的任何一个通道。在级联模式下,自动序列发生器可作为一个单一的16通道序列发生器。在每个序列发生器上,一旦转换结束,已选择的通道值就保存在各个通道的结果寄存器ADCRESULT中。
自动序列化允许系统对同一通道转换多次,允许用户执行过采样算法。这较传统的单一采样转换结果增加了更多的解决方案。
输入模拟电压的数字值为:
数字值=1024×(输入模拟电压值)/3
多触发源启动序列转换(SOC)包括:
●S/W:软件直接启动;
●EVA/B:事件管理器A/B(EVA/B内有多个事件源);
●Ext:外部引脚(ADCSOC)。
本实验是用DSP自带的ADC转换器采集信号源的信号。并将采集到的信号储存到指定的内存区域。