1、广西科技大学课程设计说明书 DSP技术及其应用 Guangxi University of Science and Technology 课程设计说明书 实验课程: DSP 技术原理与应用 实验内容: 基于DSPTMS320X2812的流水灯设计 院 (系): 计算机学院 专 业:
2、 通信工程 班 级: 102班 学生姓名: 乐兴乐 学 号: 201000402060 指导教师: 袁浩浩 2013年 7 月 4日 9 目录 一、 设计任务 ………………………………………………………………
3、…………2 二、 实验目的 …………………………………………………………………………2 三、 设计内容…………………………………………………………………………2 四、 实验原理…………………………………………………………………………5 五、 程序设计…………………………………………………………………………6 1、流程图 2、程序源代码 六、实验总结………………………………………………………………………11 一、 设计任务 基于DSPTMS320X2
4、812芯片,设计一个流水灯实验,并且熟悉ccs编译环境,掌握流水程序的编译与调试。 二、 设计目的 1、熟悉DSP2812的结构和使用,,掌握DSP系统调试的一般步骤和方法。 2、 编写程序实现流水灯,并调试。 3、 掌握DSP开发环境CCS的使用和一般的编程技巧。, 三、整体系统框图: 按键电路 TMS320X2812 复位电路 LED灯电路 电源电路 JTAG接口电路 时钟电路 1.电源电路 DSP 系统一般都采用多电源系统 ,电源及复位电路的设 计对 于系 统性 能有重 要
5、影 响 。TM S320F2812 是一个较低功耗芯片 ,核电压为 1.8V , IO 电压3.3V .本文采用TI 公司的TPS767D318 电源芯片.该芯片属于线性降压型 DC/ DC 变换芯片 ,可 以 由5V电 源 同 时 产 生 两 种 不 同 的 电 ( 3.3V 1.8V 或2.5V ) , 其 最 大 输 出 电 流 为1000mA , 可以同时满足一片 DSP 芯片和少量外围电路的供电需。片自带电源监控及复位管功能 ,可以方便地实现电源及复位电路设计 。除了可以稳定输出3.3V电压外,同时具有复位功能;TPS767D318复位脚与DSP复位脚相连接,当电源电路出现波动时
6、其复位脚可以输出200ms的复位信号,保证DSP芯片复位. 2. 时钟电路 利用DSPs 芯片内部提供的晶振电路,在DSPs芯片的X1 和X2/ CL KIN 之间连接一晶体可启动振荡器。此处,可以连接一个10MHz 的晶振 3. 复位电路 4. JTAG接口设计 JTAG是基于IEEE 1149. 1 标准的一种边界扫描测试方式。TI 公司为其大多数的DSPs 产品都提供了J TAG端口支持,5402 也不例外。结合配套的仿真软件,可访问DSPs 的所有资源,包括片内寄存器及所有的存储器,从而提供了一个实时的硬件仿真与调试环境,便于开发人员进行系统软
7、件调试。除上述电路接口外,要使系统板正常地工作,还必须配置跳线和接插座等部分。其中:电源模块接出一个插座,以便于外部电压输入;音频编解码部分需安装话筒和扬声器;USB 芯片要连接到USB 接口插件,以实现与主机的交互。实用起见,所有这些插件均设置在电路板边界部分。最后,对于系统中一些难以事先决定的设置引脚附近,放置上位/ 下拉电阻,为以后的电路更改或扩展提供方便。 四. 实验原理 数字I/O端口: I/O端口寄存器: 五、程序设计 程序流程图: 开始 初始化 键盘扫 描程序
8、 S0==0 s4==0 循环 右移 左移 S0==0 s4==0 详细代码: /*****************头文件********************/ #include "DSP281x_Device.h" #include "System.h" /****************端口宏定义*****************/ #define S1 GpioDataRegs.GPEDAT.bit.GPIOE2 #define S2 GpioDataR
9、egs.GPBDAT.bit.GPIOB8 #define S3 GpioDataRegs.GPBDAT.bit.GPIOB9 #define S4 GpioDataRegs.GPBDAT.bit.GPIOB10 /****************常量宏定义*****************/ /***************全局变量定义****************/ unsigned int temp; /****************函数声明*******************/ void Init_LED(void); void Sc
10、an_Key(void); //扫描键盘 void Manage_Key1(void); //按键1处理程序 void Manage_Key2(void); //按键2处理程序 void Manage_Key3(void); //按键3处理程序 void Manage_Key4(void); //按键4处理程序 void main(void) { InitSysCtrl(); // 系统初始化子程序,在DSP28_sysctrl.c中 Init_LED(); GpioDataRegs.GPBSET.all |=0x00FF; temp=0x0001;
11、 GpioDataRegs.GPBCLEAR.all |=temp; while(1) { if((S1==0)|(S4==0))//扫描是否按键按下 Scan_Key(); } } void Scan_Key(void) { unsigned int i; for(i=0;i<10000;i++); //键盘消抖动 if(S1==0) Manage_Key1(); else if(S4==0) Manage_Key4(); while((S1==0)|
12、S4==0)); } void Manage_Key1(void) //左移 { if(temp!=0x0080) { GpioDataRegs.GPBSET.all |=temp; temp<<=1; GpioDataRegs.GPBCLEAR.all |=temp; } } void Manage_Key2(void) { } void Manage_Key3(void) { } void Manage_Key4(void)//右移 { if(temp!=0x0001) { GpioDataR
13、egs.GPBSET.all |=temp; temp>>=1; GpioDataRegs.GPBCLEAR.all |=temp; } } void Init_LED(void) { EALLOW; GpioMuxRegs.GPBDIR.all |=0x00FF; EDIS; } 六、总结 通过本次的课程设计,我初步学会了用DSPTMS320X2812芯片,设计一个流水灯,并掌握了流水灯的工作原理。熟悉了DSPTMS320X2812的结构,并且学会了如何去编写一个流水灯实验。要学会DSPTMS320X2812的开发,还需要更多的努力!
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818