DSP实验二 拨码开关实验
实验二 高频功率放大器
实验二高频功率放大器
一、实验目的
1、了解丙类功率放大器的基本工作原理,掌握丙类放大器的调谐特性以及
负载变化时的动态特性。
2、了解高频功率放大器丙类工作的物理过程以及当激励信号变化和电源电
压Vcc皿皿皿皿皿响。
3、比较甲类功率放大器与丙类功率放大器的特点、功率、效率。
二、实验内容
1、观察高频功率放大器丙类工作状态的现象,并分析其特点。
2、测试饼类功放的调谐特性。
3、测试丙类功放的负载特性。
4、观察电源电压变化对丙放工作状态的影响及激励信号变化、负载变化对
工作状态的影响。
三、实验基本原理
功率放大器一般分为甲类、乙类、甲乙类和丙类等工作方式,功率放大器通
常作为发射机末级功放,以获得较大的输出功率和较高的效率,并将大功率的输
出信号馈送到天线幅射出去。功率放大器实际是一个能量转换器,即把电源共给
的直流能量转化为交流能量,能量转换的能力即为放大器的效率。为了获得较大
的输出功率和效率,其工作状
态通常为
丙类工作
状态。
功率放
大器的
主要特
征是
三价钴胺工作在非线性状态。为了不失真地放大信号,它的负载必须是谐振回路。
集电极负载是一个高Q的LC并联震荡贿赂。直流供电电路为各级提供适当的工作状态和能源。由于基极未提供直流偏置电压,其工作状态为丙类工作状态。集电极电流为余弦脉冲状,但由于在集电极电路内采用的是并联谐振回路使回路谐振于基频,那么它对基频呈现很大的纯电阻阻抗,而对谐波的阻抗很小,可视为短路,因此并联谐振电路由于通过集电极电流所产生的电位降Vc也几乎只含有基频。这样,集电极电流的失真虽然很大,但由于下周六的这种滤波作用,仍然能得到正弦波形的输出。本实验单元模块电路如图2-1所示。该实验电路由两级功率放大器组成。其中VT1(3DG12入XQ1与C15组成甲类功率放大器,工作在线性放大状态,其中R2、R12、R13为静态偏置电阻。XQ2与CT2、C6组成的负载回路与VT3(3DG12)组成丙类放功率大器。甲类功放的输出信号作为丙放的输入信号(由短路块J5连通)。VR6为设计反馈电阻,调节VR6可改变丙放增益。与拨码开关相连的电阻为负载回路外接电阻,改变S5拨码开关的位置可改变并联在谐振回路两端的电阻值,即改变回路Q值。以改变放大电路的增益和通频带。当短路块J5置于开路位置时则丙放无输入信号,此时丙放功率管VT3截止,只有当甲放输出信号大于丙放管VT3be间的导通电压值时,VT3才导通工作。
DSP实验报告
姓名:班级:自动化15 学号:2015
实验一数据存储实验
一实验目的
1。掌握TMS320F2812程序空间的分配;
2。掌握TMS320F2812数据空间的分配;
3。能够熟练运用TMS320F2812数据空间的指令。
二实验步骤与内容
实验步骤
1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法
如下所示:
2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON;
其余OFF
3.E300底板的开关SW4的第2位置ON,其余位置OFF.其余开关设置为OFF.
4.上电复位
在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。
5.运行CCS程序
1)待计算机启动成功后,实验箱220V电源置“ON",实验箱上电
2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300
TechV-2812\normal ;
6.成功运行CCS5.5程序后,出现如下图所示界面:
7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择
“Open Project"命令打开该工程,如下图所示,可以双击才看左侧源文件;
8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击
按钮进入仿真模式,完全进入后如下图所示:
9.用“View"下拉菜单中的“Memory/Browser”查看内存单元,参数设置如
下图:注意:下面的参数设置都是以16进制。
DSP实验报告
实验一数字IO应用实验
—、实验目的
1. 了解DSP开发系统的组成和结构
2. 在实验设备上完成I/O硬件连接,编写I/O实验程序并运行验证。
3. 内存观察工具的使用
二、实验设备
计算机,CCS3.1版本软件,DSP仿真器,教学实验箱
三、实验原理
2.键值读取程序:该部分有两种方法进行键值的判断。
方法1:利用内存观察工具进行观察
方法2:利用LED1-LED8的亮灭对应显示键值。
a)外部中断1的应用参照实验五;
b)内存观察键值:程序中定义了三个变量“W”“row”和“col”。“W”代表是CPLD中键盘的扫描
数值,“row”和“col”分别代表键盘的行和列,由行和列可以判定按键的位置。上述三个变量可以在观察窗口中观察的。
c)利用LED灯显示键值原理,参看实验一。具体的LED灯显示值以查表的形式读出,请参看“”
库文件。
本实验的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
“DEBUG→Connect”)
4.打开系统项目文件 \e300.test\ normal \05_key interface \;
嵌入式实验
实验一、dip_switch 按键实验
一、实验目的
1.了解DIP_SWITCH 的用处。
2.了解C6748 连接的控制DIP_SWITCH 方法。
3.熟悉CCS 操作,学会使用工程,学习编译和下载、运行程序。
二、实验设备
1.PC 兼容机一台;操作系统为WindowsXP 或者以上版本。
2.ICETEK-C6748-AE 实验箱一台。如无实验箱则配备ICETEK-XDS100v2+仿真器和ICETEK–C6748-A,+5V 电源一只。
3.USB 连接电缆一条。
三、实验原理
ICETEK-C6748-AE 通过GPIO 来控制拨码开关的,通过对对应的GPIO 引脚的读,可以知道拨码开关的状态,再通过对GPIO 控制led 的显示,把拨码开关的状态显示出来。
2.实验程序流程图:
四、实验步骤
1.实验准备:
(1) 连接实验箱:
(2) 准备进行硬件仿真:
(3) 检查ICETEK- C6748-KB 板上跳线选择器U15 为0000。
2.启动Code Composer Studio v5
3.打开工程文件:
工程文件目录为:C:\ICETEK\ICETEK-C6748-AE\Lab0301-Led_dip
打开源程序LED.c 阅读程序,理解程序内容。
4.点击图标,ccs 会自动连接,编译和下载程序。
5.运行程序,观察结果。
6.退出CCS。
五、实验结果
[C674X_0] ------------------------------------------------------------
C6748-A LED and Dip Switch Test
DSP实验二 拨码开关实验
《DSP技术》课程实验报告
学生姓名:
所在班级:
指导教师:
记分及评价:
项目满分5分
得分
一、实验名称
拨码开关实验
二、实验目的
1.了解DSP开发系统的组成和结构
2.了解IO的基本编程方法
三、实验内容
1. 2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON。
2.E300板上的开关SW4的第二位置ON,其余OFF;SW5开关全部置ON;其余开关全部置OFF。
3.运行Code Composer Studio (CCS)(CCS3.3需要“DEBUG→Connect”)
4. 用“Project\open”打开系统项目文件
路径为“c:\DSP_examep\DSP281X_examples\e300_02_switch\Example_281x_switch.pjt”
双击该文件
5、输入主要程序。
6、编译程序并装载。
7.单击“Debug-Go
Main”跳到
主程序的
开始;
8. 单击“Debug\RUN”
运行程序。
需要判断是高电
平亮,还是低电平亮,可以使用中断调试。在运行状态,在需要设置断点的位置的右边,双击,就可以产生红点。表明设置了断点。
在view目录下,(如右边图所示:)打开watch window,(此项是用来检查和编辑变量或C表达式可以不同格式显示变量值,还可以显示数值、结构或指针等包含多个元素的变量),在本实验中观察temp变量的变化。
步骤:在debug目录下点run,在断点处,程序会停下来,可以观察temp变量的值。(也可按“F10”单步运行程序,观察temp变量的值。)
实验二 查表程序实现LED数字显示
实验二查表程序实现LED数字显示
一、实验要求
通过拨码开关表示16进制数0—F,利用LED数码管显示该数字。包括硬件电路和程序设计。
二、实验目的
理解8段LED数码管的显示原理和LED显示的转化方法,学习查表程序的设计。三、实验原理
图2-1 8段LED数码管显示原理和笔画分布
由电路图2-2可以看出,这里需要通过传送指令将P1口拨码开关的状态读入累加器A,利用查表指令转换为LED数码管的显示笔画代码,再传送到P2口驱动数码管。所谓显示代码就是根据该数字的笔画确定LED数码管中8个笔画段a—h中的哪些段点亮,如数字1要求点亮笔画b和c。我们可以根据数字与笔画的对应关系列出各数字的笔画代码真值表如表2-1所示,在每个数字需点亮的笔画处填入1,不需要点亮的位填入0,然后转换为16进制数就是该数字的显示代码。若采用共阳极LED,则由于是0点亮,显示代码也就不同,笔画真值表与表2-1相反。显然,若各笔画连接的口线不同,显示代码也不同。
图2-2 通过LED数码管显示数字电路图
表2-1 LED笔划显示真值表(共阴)
有了代码表,还需要通过查表程序将数字转换为显示代码。查表程序一般是将表格中数据顺序放置在程序存储器的某个区域中,形成一数据表。程序中需要查表时,将表格首地址送入数据指针DPTR,即使DPTR指向表格首地址,在A中放入待查表格项的序号,例如要显示2,利用“MOVC A,@A+DPTR”指令,即以(A+DPTR)为地址,将数据表中第2字节的表格项数据5BH取出放入A,从而实现查得2的显示代码5BH,然后送端口P2
dsp实验5:拨码开关控制实验
苏州职业大学实训报告
科目:DSP应用技术实训项目:拨码开关控制实验
一、实验目的:
1.了解ICETEK–F2812-A 评估板在TMS320F2812DSP 外部扩展存储空间上的扩展。
2.了解ICETEK–F2812-A 评估板上拨码开关扩展原理。
3.熟悉在C 语言中使用扩展的控制寄存器的方法。
二、实验设备:
计算机,ICETEK-F2812-A 实验箱(或ICETEK 仿真器+ICETEK–F2812-A 系统板+相关连
线及电源)。
三、实验原理:
1.TMS320F2812DSP 的存储器扩展接口
存储器扩展接口是 DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数
据线,可以扩展各类存储器和存储器、寄存器映射的外设。
-ICETEK–F2812-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下:
C0002-C0003h: D/A 转换控制寄存器
C0001h:板上 DIP 开关控制寄存器
C0000h:板上指示灯控制寄存器
-与ICETEK–F2812-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备:
108000-108004h:读-键盘扫描值,写-液晶控制寄存器
108002-108002h:液晶辅助控制寄存器
108003-108004h:液晶显示数据寄存器
2.拨码开关扩展原理
图 5.1指示灯扩展原理
3.实验程序流程图
四、实验步骤:
1.实验准备
关闭实验箱上扩展模块和信号源电源开关。
2.设置Code Composer Studio 3.3 在硬件仿真(Emulator)方式下运行
DSP2812-实验要求以及参考程序
实验一DSP数据存取实验
实验要求:
1、找到main函数入口地址
4、观察从地址0x80000到0x80007的存储内容
操作步骤:
1、打开Setup CCStudio v3.3 ,系统配置为F2812 Device Simultor
2、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\Memory.pjt
3、在main函数处设断点(F9),运行程序
4、打开反汇编窗口(View>Disassembly),观察入口地址
5、修改Memory.c中程序,完成存储区数据修改
6、编译通过,加载.out 文件
7、设置在变量定义处设置断点,点击运行(F5),单步运行(F11)
8、打开观察窗(View>Watch Window)观察自己所设变量在单步运行时变化
9、打开存储区窗口(View>Memory)观察地址为0x80000到0x80007的数据变化
实验二指示灯与拨码开关实验
实验要求:
1、熟悉板上指示灯控制寄存器、开关控制寄存器
2、指示灯点亮规则:
只闭合拨码开关1:全灭;
只闭合拨码开关2:全亮;
只闭合拨码开关3: 顺序依次点亮;
只闭合拨码开关4:反向顺序依次点亮;
开关的其它状态:全灭;
操作步骤:
1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_1
2、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\led.pjt
3、修改led.c,注意板上DIP开关控制寄存器地址为C0001h,板上指示灯控制寄存器地址为:C0000h。这两个寄存器都是低四位有效。
指示灯+拨码开关
3. 程序流程图
开始
初始化DSP时钟频率
初始化EMIF接口
正向顺序送控制字并延时
反向顺序送控制字并延时
SDRAM接口相关的EMIF寄存器 Page17-28
名称
EGCR EMI_RST CEx_1 SDC1 INIT EMI_BE SDPER SDCNT SDC2
地址
0x0800 0x0801 0x0803 0x080f 0x0812 0x0802 0x0810 0x0811 0x0813
四、实验步骤 1. 实验准备 连接实验设备;关闭实验箱上扩展模块和信号电源开关。 2. 设置Code Composer Studio v3.3在硬件仿真(emulator)方式下运行。 3. 启动Code Composer Studio v3.3 选择菜单 Debug→Reset CPU。 4. 编译、下载程序。 5. 运行程序,观察结果。 6. 退出CCS。
功能
全局控制寄存器 全局复位寄存器 片选空间控制寄存器1 SDRAM控制寄存器1 SDRAM初始化寄存器 总线错误状态寄存器 SDRAM周期寄存器 SDRAM计数寄存器 SDRAM控制寄存器2
复位值
xxxx xxxx 0010 xx00 xxxx xxxx xxxx xxxx x010 1111 1111 1111 1111 1001 0100 1000 xxxx xxxx xxxx xxxx xx00 0000 0000 0000 xxxx 0000 1000 0000 xxxx 0000 1000 0000 xxxx xx11 1111 1111
基于DSP实验系统的串口通信
课程设计报告
( 2014 -- 2015年度第二学期)
课程名称:DSP课程设计
题目:基于DSP实验系统的串口通信院系:电子与通信工程系
班级:电子
学号:
学生姓名:
指导教师:
设计周数: 2
成绩:
日期:2015 年7月16日
一、课程设计的目的与要求
1.设计方案:
通过TMS320C5509A的串口与电脑进行通信,利用串口调试助手发送数据,由DSP接收到,DSP读到收到数据进行下一步的让四位LED灯亮,实现数据的通信,并在lcd12864上显示发送的数据,还有显示拨码开关
的数值。
2.设计指标:
电脑只能发送0~15,因为读出数据的时候比较方便解码,比如发送4就可以直接给LED直接赋值,让第三个灯亮,也就是一般的二进制转换。
二、设计正文
1.设计思路(系统组成介绍)
串口模块:
TL16C550 是一个标准的串口接口芯片,它的控制寄存器基地址为0x400200,寄存器占用TMS320VC5509 的8 个地址单元。串口中断与TMS320VC5509 的INT0 连接。用户可以使用TMS320VC5509 的中断0 响应串口中断。
TL16C550 有11 个寄存器,这11 个寄存器是通过TMS320VC5509 的3 个地址线(A3~A1)和线路控制寄存器中的DLAB 位对它们进行寻址的。
板上加上16C550、Max232 和驱动电路。驱动电路主要完成将输出的0-3.3V 电平转换成异步串口的工作电平,转换电平的工作由MAX232 芯片完成,但由于它是5V 器件,所以它同DSP 间的信号线必须有电平转换,此板采用的是
DSP实验二拨码开关实验
实验二拨码开关实验
—、实验目的
二、实验设备
运算机,版本软件,DSP仿真器,E300实验箱,2812CPU板。
三、实验原理
8位的数字量输入(由拨码开关产生),当拨码打到靠近LED时为低。相反为高。通过74LS244(可读)缓冲连接到DSP的数据总线的低8位。CPU通过读指令读取到拨码开关产生的8位输出的数字量,然后CPU通过写指令把读出的8位数字量写入(0x2200)单元内,使连接到DSP的数据总线的低8位的74LS273的输出端产生高低信号,现在LED灯产生亮灭。当对应LED灯点亮时说明输出为低,熄灭时为高。
(器件74LS244和74LS273详细的介绍请参看数据手册)
数字量输入输出单元的资源分派如下:
基地址:2000h(当CS1为0时分派有效)
数字量分派空间为数据空间地址:基地
址+0x2200(低8位,只读)
拨码开关扩展工作原理
说明:74LS244片选号、74LS273
片选信号和74LS273复位信号由E300
上CPLD译码产生。
本实验利用DSP数据总线的低8
位。
实验任务一:
一、编写程序完成将拨码开关的信息读入DSP,然后再将该信息回写,操纵led灯。调整"数字输入输出单元"的开关K1~K8,观看LED1~LED8灯亮灭的转变。
2、本实验的程序流程框图如下:
3、输入要紧程序
#include "" 2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON。
2.E300板上的开关SW4的第二位置ON,其余OFF;SW5开关全数置ON;其余开关全数置OFF。
3.运行Code Composer Studio (CCS)(需要“DEBUG→Connect”)
EXPII介绍及实验介绍(DSP)
第一章实验系统介绍
一、系统概述
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原理及应用实验指导
DSP原理及应用实验 (198)
第一部分实验系统介绍 (198)
第二部分调试软件安装说明 (216)
第三部分硬件安装说明 (222)
第四部分5402常规实验 (225)
实验一常用指令实验 (225)
实验二数据存储实验 (229)
实验三I/O实验 (234)
实验四定时器实验 (236)
实验五A/D转换实验 (238)
实验六D/A转换实验 (243)
实验七语音处理实验 (247)
实验八键盘接口及七段数码管显示实验 (254)
实验九LCD实验 (256)
实验十快速傅立叶变换(FFT)算法实验 (258)
1
DSP原理及应用实验
第一部分实验系统介绍
一、系统概述
EL-DSP-EXP III 教学系统是一种综合的教学实验系统,采用模块化分离式结构,使用灵活,方便用户二次开发,其系统组成框图如图1-1所示。通过“E_LAB”和“TECH_V”扩展总线,可以扩展声、光、机、电等不同领域的控制对象。可根据需求选用不同类型的CPU适配板,且所有CPU适配板是完全兼容的,在不需要改变任何配置情况下,更换CPU 适配板即可做TI公司不同类型的DSP的相关实验。
图1-1 系统组成框图
二、硬件组成
该实验系统有丰富的硬件资源可以完成多种DSP基础实验、算法实验、控制对象实验和编解码通信实验。其硬件资源主要包括:
一组CPU板接口
2
●两组E_LAB接口
●一组TECH_V接口
●一组电机控制接口
●一组语音接口
●语音处理单元
●一组仿真器接口
●D/A转换单元
●数字量输入输出单元
●USB单元
●CPLD逻辑单元
●直流电源单元
●模拟信号源
数字电路实验
数字电路实验
实验⼀:数字实验箱的基本操作
⼀、实验⽬的
1、熟悉数字电路实验箱的结构、基本功能和使⽤⽅法。
2、理解数字电路及数字信号的特点。
3、掌握数字电路的基本搭建⽅法
4、熟悉数字电路实验的操作要求和规范。
⼆、实验设备与仪器
数字电路实验箱、数字式万⽤表。
三、实验原理
1、七段显⽰译码器——CC4511
引脚图如图1-1⽰。
V DD f g a b c d e
图1-1 七段显⽰译码器——CC4511
第8脚为负极,16脚为电源正极,A、B、C、D为BCD码输⼊端,a、b、c、d、e、f、g、h 为译码输出端,输出1有效,⽤于驱动共阴极LED数码管
2、七段数码显⽰器(共阴极)
结构图如下图所⽰。
四、实验内容及⽅法
1、熟悉数字实验箱的组成和各部分的基本作⽤。
2、将实验箱中的四组拨码开关的输出A i、B i、C i、D i分别接⾄CC4511的对应输⼊⼝,接上+5V电源,然后按功能表的要求揿动四个数码的增减键和操作三个开关,观测盘上的四位数与LED数码管显⽰的对应数字是否⼀致,以及译码显⽰是否正常,记⼊表4.10。
五、实验思考题
1.拨码开关的输出A i、B i、C i、D i的优先级别是怎么排列的,⽽CC4511的对应输⼊⼝A、
B、C、D的优先级别⼜是怎么样的。
六、总结
实验⼆、组合逻辑电路的设计与测试(1)
(利⽤⼩规模集成芯⽚)
⼀、实验⽬的
1、掌握组合逻辑电路的分析和设计⽅法。
2、学习并掌握⼩规模芯⽚(SSI)的基本测试⽅法及实现各种组合逻辑电路的⽅法。
3、学习⽤仪器检测故障,排除故障。
⼆、实验设备与仪器
实验二 数字量输入与数字量输出
内容二:拨码开关控制实验
【实验目的】 1. 了解ICETEK–F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩
展。 2.了解ICETEK–F28335-A 评估板上拨码开关扩展原理。 【实验设备】 计算机,ICETEK-F28335-A 实验箱。 【实验原理】 1. ICETEK–F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了 指示灯和DIP 开关等设备。具体扩展地址如下: 0x180001: 板上 DIP 开关控制寄存器 0x180000: 板上指示灯控制寄存器 2.拨码开关扩展原理
【实验要求】 1. 编写程序实现将0-F 和F-0 十六进制代码送到指示灯显示。 2. 编写程序实现小灯从左到右循环显示。
3. 编写程序实现小灯从右到左循环显示。 #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File #include "DSP2833x_Examples.h" // DSP2833x Examples Include File #define LED (*(unsigned short int *)0x180000) #define SRAM_Base_Adress 0x100000 void Delay(unsigned int nTime); void main(void) { long i; InitSysCtrl(); InitXintf16Gpio(); DINT; InitPieCtrl(); IER = 0x0000; IFR = 0x0000; for(;;) { for(i=0;i<=0xf;i++) { LED=i; Delay(612); } for(i=0xf;i>=0;i--) { LED=i; Delay(612); } } } void Delay(unsigned int nDelay) { int i,j,k=0; for(i=0;i<nDelay;i++) { for(j=0;j<1024;j++) { k++; } } } // 延时子程序
DSP技术实验指导书
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 板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
asm(" nop ");
* (int *)0x2200 = temp;
}
else * (int *)0x2200 =0x80;
asm(" nop ");
}
}
五、实验说明
1、实验中采用简单的一一映射关系来对数据地址进行验证,目的是使实验者能够对数据有一目了然的认识.
EALLOW;
for(i=0; i < 128; i++)
*Dest++ = *Source++;
EDIS;
// Enable the PIE Vector Table
PieCtrlRegs.PIECRTL.bit.ENPIE = 1;
变量pieVectTableInit在文件DSP281x_PieVect.c中。PieVectTable在DSP281x_PieVect.h中定义,在最后2行。他们的具体地址可以由md文件来确定。
—、实验目的
1.了解DSP开发系统的组成和结构
2.了解IO的基本编程方法
二、实验设备
计算机,CCS3.3版本软件,DSP仿真器,E300实验箱,2812CPU板。
三、实验原理
8位的数字量输入(由拨码开关产生),当拨码打到靠近LED时为低。相反为高。通过74LS244(可读)缓冲连接到DSP的数据总线的低8位。CPU通过读指令读取到拨码开关产生的8位输出的数字量,然后CPU通过写指令把读出的8位数字量写入(0x2200)单元内,使连接到DSP的数据总线的低8位的74LS273的输出端产生高低信号,此时LED灯产生亮灭。当对应LED灯点亮时说明输出为低,熄灭时为高。
/****************************主程序*******************************/
void main(void)
{
unsigned int temp;
temp = 0;
InitSysCtrl();//初始化PLL,WatchDog,使能外围时钟,该初始化文件在"DSP281x_SysCtrl.c"中
for(;;)
{
asm(" nop ");
temp = *(int *)0x2200&0x00ff; //读入0x2200地址的开关量值并赋给temp
asm(" nop ");
* (int *)0x2200 = temp; //temp值输出0x2200地址的LED灯
asm(" nop ");
}
}
其中InitPieVectTable()在文件DSP281x_PieVect.c中。
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
void main(void)
{
unsigned int temp;
9.任意拨动E300底板上的拨动开关,观察LED和拨动开关的对应情况。
(LED1-LED7分别对应DSP数据总线的D0-D7)
10.单击“Debug \ Halt”暂停持续运行,开关将对灯失去控制.
11.关闭所有窗口,本实验完毕.
实验任务二:
通过修改以上程序实现:当拔开关时,下一个灯亮。即:1号开关动作时,2号灯亮,2号开关动作时,3号灯亮,*****,等。在第8号开关动作时,第1号灯亮。
void InitPieVectTable(void)
{
int16i;
Uint32 *Source = (void *) &PieVectTableInit;
在这里取PieVectableInit的地址,
Uint32 *Dest = (void *) &PieVectTable;
在这里取PieVectTable的地址,他们都应该是全局变量。
3、实验中相关语句说明:
/*******************************头文件****************************/
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
void main(void)
{
unsigned int temp;
temp = 0;
DINT;
InitSysCtrl();
InitPieCtrl();
IER = 0x0000;
1.2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON。
2.E300板上的开关SW4的第二位置ON,其余OFF;SW5开关全部置ON;其余开关全部置OFF。
3.运行Code Composer Studio (CCS)(CCS3.3需要“DEBUG→Connect”)
4.用“Project\open”打开系统项目文件
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
void main(void)
{
unsigned int temp;
DINT;//关闭CPU中断
// Initialize PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags
// are cleared.
InitPieCtrl();
本实验使用DSP数据总线的低8位。
实验任务一:
1、编写程序完成将拨码开关的信息读入DSP,然后再将该信息回写,控制led灯。调整"数字输入输出单元"的开关K1~K8,观察LED1~LED8灯亮灭的变化。
2、本实验的程序流程框图如下:
3、输入主要程序
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
2、读入的地址和输出的地址用的同一个地址。为什么呢?
关键问题是:其拨码开关是通过74LS244和总线相连,灯是通过74LS273相连总线。读时将273设为无效,244有效,拨码开关的数据上总线。写时,244无效,273有效,将数据发送出,同时锁存。需要3根控制线。按时序操作。对于本试验箱来讲,DSP将控制信号发给CPLD,在对一个特定地址进行读写时(0x2200),CPLD内部通过编程,实现对读写信号的不同操作。在DSP读0x2200时,CPLD将244有效。当DSP写0x2200时,CPLD将244无效,同时273有效,同时开关锁存一次,同时保持锁存。
IFR = 0x0000;
InitPieVectTable();
for(;;)
{
asm(" nop ");
temp = *(int *)0x2200&0x00ff;
asm(" nop ");
* (int *)0x2200 = temp;
asm(" nop ");
}
}
四、实验步骤(步骤基本与实验一相同)
在view目录下,(如右边图所示:)打开watch window,(此项是用来检查和编辑变量或C表达式可以不同格式显示变量值,还可以显示数值、结构或指针等包含多个元素的变量),在本实验中观察temp变量的变化。
步骤:在debug目录下点run,在断点处,程序会停下来,可以观察temp变量的值。(也可按“F10”单步运行程序,观察temp变量的值。)
路径为“c:\DSP_examep\DSP281X_examples\e300_02_switch\Example_281x_switch.pjt”双击该文件
5、输入主要程序。
6、编译程序并装载。
7.单击“Debug-Go Main”跳到主程序的开始;
8.单击“Debug\RUN”运行程序。
需要判断是高电平亮,还是低电平亮,可以使用中断调试。在运行状态,在需要设置断点的位置的右边,双击,就可以产生红点。表明设置了断点。
IER = 0x0000;//关闭中断和清除所有中断标志
IFR = 0x0000;
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
InitPieVectTable();
temp = 0;
DINT;
InitSysCtrl();
InitPieCtrl();
IER = 0x0Leabharlann Baidu00;
IFR = 0x0000;
InitPieVectTable();
for(;;)
{
asm(" nop ");
temp = *(int *)0x2200&0x00ff;
if(temp!=0x01)
(器件74LS244和74LS273详细的介绍请参看数据手册)
数字量输入输出单元的资源分配如下:
基地址:2000h(当CS1为0时分配有效)
数字量分配空间为数据空间地址:基地址+0x2200(低8位,只读)
拨码开关扩展工作原理
说明:74LS244片选号、74LS273片选信号和74LS273复位信号由E300上CPLD译码产生。
{temp=(temp<<1)&0x00ff;
asm(" nop ");
* (int *)0x2200 = temp;
}
else * (int *)0x2200 =0x01;
asm(" nop ");
}
}
实验任务三:
通过修改以上程序实现:当拔开关时,上一个灯亮。即:1号开关动作时,8号灯亮,2号开关动作时,1号灯亮,*****,等。在第8号开关动作时,第7号灯亮。
temp = 0;
DINT;
InitSysCtrl();
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
for(;;)
{
asm(" nop ");
temp = *(int *)0x2200&0x00ff;
if(temp!=0x80)