DSPF2812拨码开关
报告
项目名称:DSP应用系统
题目:DSPF2812拨码开关专业班级:
学生姓名:
学号:
指导教师:
2014年6月4日
目录
一、项目设计原理 (1)
二、实验设备 (1)
三、实验步骤与内容 (1)
四、程序如下 (2)
五、总结 (5)
六、参考文献 (6)
一、项目设计目的
本学期我们主要学习了DSP硬件方面的一些基本原理,对于如何通过软件来控制DSP从而实现我们最终的需求,还不是很了解。在实验课上了解软件编程开发的基本流程,以及软硬件是如何共同协调工作从而实现最终的控制的。树立正确的设计思想提高分析问题与解决具体问题的能力。并通过此次项目设计熟练软件CCS的操作和使用,能够实现程序的编译、运行以及烧写。
二、实验设备
计算机,CCS3.1版本软件,DSP仿真器,E300实验箱,2812CPU板
三、实验步骤与内容
1、系统连接:
进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:
图1 系统连接图
图2 拨码开关扩展原理图
(1)、上电复位:
在硬件安装完成后,确认安装正确、各实验部件及电源连接正确后,接
通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否
则DSP开发系统与计算机连接有问题。
(2)、运行CCS程序:
先给实验箱上电,然后启动CCS,此时仿真器上的“绿色小灯”应点亮,
并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检
查CCS相关设置是否正确。
四、程序如下
;************************************************************** ;* 北京达盛科技有限公司
;* 研发部
;*
;* https://www.360docs.net/doc/f04969885.html,
;************************************************************
*/
/*----------------------- 文件信息
---------------------------- ;*
;* 文件名称 : Example_DSP281x_e300_switch.c
;* 适用平台 : DSP E300 实验箱;
;* CPU类型 : DSP TMS320F2812
;* 软件环境 : CCS3.1
;* 试验接线 : 1、F2812CPU板上:
;* JUMP1的1和2脚短接,
;* 拨码开关SW1的第二位置ON;
;* 2、E300底板的开关SW4的第2位置ON,其余置OFF。
;* SW5全部置ON;其余开关不做设置要求
;* 试验现象 : 设置好CCS的环境,打开本工程,编译、下载、运行。
;* 调整"数字输入输出单元"的开关K1~K8,
;* 观察LED1~LED8灯亮灭的变化。
;* 地址译码说明:基地址:0x2000,当底板片选CS1为低时,分配有效。
;* CPU的数据空间:基地址+0x2200 拨码开关
input 8位
;* CPU的数据空间:基地址+0x2200 LED灯
output 8位
*/
/*******************************头文件
****************************/
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
/****************************主程序
*******************************/
void main(void)
{
unsigned int temp;
temp = 0;
InitSysCtrl();//初始化PLL,WatchDog,使能外围时钟,该初始化文件在"DSP281x_SysCtrl.c"中
DINT;//关闭CPU中断
// Initialize PIE control registers to their default state.
// The default state is all PIE interrupts disabled and flags // are cleared.
InitPieCtrl();
IER = 0x0000;//关闭中断和清除所有中断标志
IFR = 0x0000;
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
InitPieVectTable();
for(;;)
{
asm(" nop ");
temp = *(int *)0x2200&0x00ff; //读入0x2200地址的开关量值并赋给temp
asm(" nop ");
* (int *)0x2200 = temp; //temp值输出0x2200地址的LED灯
asm(" nop ");
}
}
/************************结束************************/
五、总结
此次课程设计不仅检验所学的知识,也培养了我如何去把我一件事情,如何去做一件事情,又如何去完成一件事情。在设计过程中,与朋友的互相探讨,相互学习,会更好学号知识。课程设计是我们专业知识综合应用的实践训练,这是我们迈向社会,从事职业工作前一个必不可少的过程,以前学过单片机,感觉学这个DSP有点跟单片机相似,在DSP学习中对产生中断的条件、定时器设计、寄存器设计,还有看门狗应用,都有了较好的掌握。
六、参考文献
[1] 苏奎峰. TMS320X281xDSP原理及C语言编程.[M] 北京航空航天大学出版社.2008
[2] 清源科技.TMS320C28xDSP应用程序设计教程[M].机械工业出版
社,2004.1.
[3] 戴明桢.TMS320C54xDSP结构、原理及应用[M].北京航空航天大学出版社,2001.8.
[4] 徐科军,张翰,陈智渊。TMS320X281x DSP原理与应用.北京:北京航空航天大学出版社,2006
[5] 孙丽明.TMS320F2812原理及其c语言程序开发.北京:清华大学出版社,2008
[6] 苏奎峰、吕强. TMS320F2812原理与开发.[M] 电子工业出版社.2009
教师评语:
课程设计成绩:
指导教师:(签名)
日期:年月日