基于-DSP的流水灯系统设计.doc

上传人:夺命阿水 文档编号:22920 上传时间:2022-07-16 格式:DOC 页数:19 大小:893.78KB
返回 下载 相关 举报
基于-DSP的流水灯系统设计.doc_第1页
第1页 / 共19页
基于-DSP的流水灯系统设计.doc_第2页
第2页 / 共19页
基于-DSP的流水灯系统设计.doc_第3页
第3页 / 共19页
基于-DSP的流水灯系统设计.doc_第4页
第4页 / 共19页
基于-DSP的流水灯系统设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于-DSP的流水灯系统设计.doc》由会员分享,可在线阅读,更多相关《基于-DSP的流水灯系统设计.doc(19页珍藏版)》请在课桌文档上搜索。

1、题目:基于DSP的流水灯系统设计课程设计(论文)任务书学号学生专业(班级)题目基于DSP的流水灯系统设计设计技术参数1. 使用TMS320VC5416作为CPU;2. 具有简单的键盘输入可控制功能;3.具有存放程序的外部FLASH芯片;4外部输入电压+5V电源;5.设计JTAG接口方便测试以及调试;6.设计8为数码管显示电路,实现8个流水灯正向反向依次闪烁,时间间隔为0.5s设计要求1. 画出最小DSP系统电路图以及控制电路图(电源、存储、JTAG、复位等),使用Protell或者Visio 画出硬件设计电路图或者框图;2. 给出系统设计软件流程图以及程序;3. 掌握运用CCS软件实现软件调试

2、以及烧写。工作量注:可填写说明书(论文)的字数要求或要完成的图纸数量。1. 不少于3000字;2. 页数不少于8页;3. 给出所有电路图结构图。工作计划1. 选择DSP芯片;2. 硬件设计与调试;3. 软件编程与调试;4. 系统集成;5. 系统调试与性能测试;参考资料1 赵红怡. DSP 技术与应用实例.电子工业,2003.6. 2 X雄伟. DSP 集成开发与应用实例. 电子工业,2002.6 3 X雄伟. DSP 芯片原理的开发与应用. 电子工业, 2000.2 4 戴逸民. 基于 DSP 的现代电子系统设计. 电子工业, 2002.12 5 钮心忻, 杨义先. 软件无线电技术与应用. 邮

3、电, 2000.9 6 杨小牛,楼义才,徐建良. 软件无线电原理与应用. 电子工业, 2001.1 7 X红,吴冠. TMS320C54x DSP应用系统设计. 航空航天大学,2002.5 指导教师签字系主任签字目录摘要1第一章TMS320VC5416芯片21.1 TMS320VC5416芯片特点21.中央处理单元22.存储器33.数据寻址34.程序存储器寻址35.中断36.流水线37.运算速度38.低功耗方式49.片上的外设410.JTAG扫描逻辑电路41.2 TMS320VC5416的指令集41.算术指令42.逻辑指令53.程序控制指令54.读取和存储指令5第二章硬件设计62.1 整体框图

4、62.2 电源电路62.3 存储电路72.4 时钟电路72.5 复位电路82.6 JTAG电路82.7 键盘电路92.8 显示模块9第三章软件设计101.1设计流程101.2软件设计步骤103.2.1 进入CCS103.2.2 新建一个项目103.2.3 新建一个源文件113.2.4 在项目中添加源文件113.2.5 程序代码111.初始化程序112.主函数程序:123.向量文件134.MEMORY程序153.2.6对项目进行编译和153.2.7装载可执行文件163.2.8运行程序并查看结果:16设计心得及体会17摘要DSP(Digital Signal Processing)也就是我们常说的

5、数字信号处理,它是利用计算机或专用处理设备,以数字形式对信号进行采集,变换,滤波,估值,增强,压缩,识别等处理,以得到符合人们需要的信号形式。DSP的主要应用有数字化移动,数据调制解调器,磁盘/光盘控制器需求,图形图像处理需求,汽车电子系统等。DSP在航空航天方面,主要用于雷达和声纳信号处理;在通信方面,主要用于移动,IP,ADSL和HFC的信号传输;在控制方面,主要用于电机控制,光驱和因公安驱动器;在电子娱乐方面,主要用于高清晰电视,机顶盒,家庭影院,DVD等应用;还有数字相机,网络相机等等。可以说没有DSP就没有对互联网的访问,也没有多媒体,也没有无线通信。随着科学技术的发展,将会出现更多

6、的DSP新应用领域。本设计使用TMS320VC5416作为CPU,进行基于DSP的流水灯系统设计,要求:1.具有简单的键盘输入可控制功能;2.具有存放程序的外部FLASH芯片;3.外部输入电压+5V电源;4.设计JTAG接口方便测试以及调试;5.设计8为数码管显示电路,实现8个流水灯正向反向依次闪烁,时间间隔为0.5s关键词: DSP;TMS320VC5416;流水灯;最小系统;JTAG接口第一章 TMS320VC5416芯片1.1 TMS320VC5416芯片特点本设计用到的芯片是IT公司的TMS320VC5416,其引脚封装图如下所示:TMS320VC5416是为实现低功耗,高性能而专门设

7、计的定点DSP芯片,它主要应用于无线系统中。TMS320VC5416基本特点:1.中央处理单元先进的多总线结构,有一条程序总线(PB),三条数据总线(CB,DB和EB)和四条地址总线(PAB,CAB,DAB和EAB);1个40位的算术逻辑单元(ALU),1个40位的桶形移位器和2个独立的40位累加器A和B;1个17x17的乘法器和两个40位加法器,乘法器可以耦合到加法器以完成单周期的MAC指令;内部集成了维特比加速器以及与它相关的比较,选择和存储单元(CSSU);指数编码器用来在单周期内计算40位累加器值的指数;2个地址产生器,其中包括8个辅助寄存器和2个辅助寄存器运算单元。2.存储器192K

8、x16-bit可寻址存储空间,其中包括64K字程序空间,64K字数据空间和64K字I/O空间,对于548,549,5402和5410还可以外部扩展程序空间3.数据寻址5416提供了7种数据寻址方式:立即数寻址;绝对寻址;累加器寻址;直接寻址;间接寻址;存储器映射寄存器寻址;堆栈寻址;4.程序存储器寻址使用程序计数器(PC)寻址,但是,对于一些指令需要用到绝对寻址。5.中断5416支持软件中断(如INTR,TRAP,RESET)和硬件中断,中断可分为可屏蔽中断(如TINT,INT0等)和不可屏蔽中断(如RESET和NMI),其中RESET的优先级最高,不可屏蔽中断的优先级高于可屏蔽中断的优先级,

9、硬件中断的优先级则高于软件中断的优先级。6.流水线5416有6级流水线:预取指,取指,解码,访问,读取和执行。7.运算速度指令周期为25/20/15/12.5/10ns,运算能力为40/50/66/80/100MIPS(百万条指令/秒)。8.低功耗方式TMS320VC5416可以在3.3V或2.7V电压下工作,三个低功耗方式(IDLE1,IDLE2和IDLE3)可以节省DSP的功耗,所以它特别适合于无线移动设备。9.片上的外设可软件编程的等待状态发生器,使得与速度较慢的设备通讯更加方便;片上的锁相环时钟发生器可以对外部始终信号进行倍频或分频,从而得到自己所需要的时钟频率,当分频时还可节省系统的

10、功耗;可以禁止对外部数据总线,地址总线以及控制信号的控制;可以软件编程的定时器;10.JTAG扫描逻辑电路符合国际IEEE 1149.1标准的边界扫描逻辑接口,即JTAG扫描逻辑电路,用于仿真和测试,可以实现在线仿真。1.2 TMS320VC5416的指令集5416的指令可以分为四个大类:算术指令,逻辑指令,程序控制指令,读取和存储指令1.算术指令包括了加法指令(ADD.),减法指令(SUB.),乘法指令(MPY.),乘加指令(MAC.)和乘减指令(MAS.),32位操作数指令(DADD,DSUB.)和一些专用指令(ABDST,FIRS,SQDST.)。其中大部分指令都只需要一个指令周期,只有

11、个别指令需要2-3个指令周期。2.逻辑指令包括了与指令(AND.),或指令(OR .),异或指令(XOR.),移位指令(ROL.)和测试指令(BITF.)。根据操作数的不同,这些指令需要1-2个指令周期。3.程序控制指令包括了转移指令(B,BC.),调用指令(CALL.),中断指令(INTR,TRAP),返回指令(RET.),重复指令(RPT .),堆栈操作指令(FRAME,POPD.)和其它程序控制指令(IDLE, NOP.)。这些指令根据情况不同分别需要1-6个指令周期。4.读取和存储指令包括了读取指令(LD.),存储指令(ST.),条件存储指令(CMPS, SACCD.),并行的读取和乘

12、法指令(LD | MAC.),并行的读取和存储指令(ST | LD.),并行的存储和乘法指令(ST | MAC.),并行的读取和加减指令(LD | ADD,LD | SUB)以及其它读取类型和存储类型指令(MVDD,PORTW, READA.)。这些指令根据情况不同分别需要1-5个指令周期。第二章 硬件设计2.1整体框图2.2电源电路2.3存储电路2.4时钟电路2.5复位电路2.6JTAG电路2.7键盘电路2.8显示模块第三章 软件设计1.1 设计流程1.2 软件设计步骤3.2.1进入CCS用仿真机将计算机与ZY13DSP12BD实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS软

13、件。3.2.2新建一个项目点击 ProjectNew,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为 CCS 软件不能识别以中文命名的文件夹。3.2.3新建一个源文件点击FileNewSource File可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(main),保存类型选择*.ASM(如果源文件是 C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM为保存类型)。3.2.4在项目中添加源文件在新建立了一个源文件以后,要想使用CCS编译器对该源文件进行编译还需要将源文件添加到项目中去。

14、添加方法是在工程管理器中右键单击 LED.pjt,在弹出的菜单中选择Add Files,然后将刚才建立的main.asm文件添加到该项目中去。 3.2.5程序代码输入以下程序代码:1.初始化程序.mmregs.include c54.inc.def c54init.sect progsysc54init:STM #0x7208,SWWSR;0 111 001 000 001 000STM #0,SWCRSTM #0xF800,BSCR ;1111 1000 0000 0000STM #0,ST0STM #0x2b00,ST1;0010 1011 0000 0000STM #0x2fe4,PMS

15、T;0010 1111 1110 0100STM #0xFFFF,IFRSTM #0x0000,IMR;关闭所有中断STM #0,CLKMDclkcon:LDM CLKMD,AAND #0x01,ABC clkcon,ANEQSTM #0x43ff,CLKMD;0100 0011 1111 1111STM #0x0010,TCR1;timer1 stopSTM #0x0010,TCR;TSS=1 Timer stopSTM #12800,PRDSTM #0x0020,TCRRSBX INTMNOPNOPRET.end2.主函数程序:.mmregs.ref _c_int00.include c5

16、4.inc.ref c54init;数码管地址Digital0.set 0x0010Digital1.set 0x0011Digital2.set 0x0012Digital3.set 0x0013Digital4.set 0x0014Digital5.set 0x0015Digital6.set 0x0016Digital7.set 0x0017.dataDATA:.word 80FCH,8060H,80DAh,80F2h,8066H,80B6H,80BEH,80E0H;测试数据 .sect progsys .align 0x10_c_int00: STM #0x0f80,SP CALL c

17、54initLD #DATA ,DPLOOP:STM#DATA+7,AR1PORTW*AR1-,Digital7CALLDelayPORTW*AR1-,Digital6CALLDelayPORTW*AR1-,Digital5CALLDelayPORTW*AR1-,Digital4CALLDelayPORTW*AR1-,Digital3CALLDelayPORTW*AR1-,Digital2CALLDelayPORTW*AR1-,Digital1CALLDelayPORTW*AR1-,Digital0CALLDelayBLOOPDelay:STM #999,AR3;循环次数1000LOOP1:S

18、TM#999, AR2;循环次数1000LOOP2:BANZLOOP2,*AR2-;如果AR2不等于0,AR2减1,再判断BANZLOOP1,*AR3-;如果AR1不等于0,AR1减1,跳转到LOOP1RET .end 3.向量文件* vectors.asm * Plug in the entry point at RESET in the interrupt vector table*.include c54.inc .sect .vectors .ref _c_int00 ; main progrom ;.ref timer0 ,hpisys,usb_read .align 0x80 ;

19、must be aligned on page boundaryRESET: ; reset vector B _c_int00 ; branch to main progromNOP NOPnmi: RETE ; enable interrupts and return from one NOP NOP NOP ;NMI ; software interruptssint17 .space 4*16sint18 .space 4*16sint19 .space 4*16sint20 .space 4*16sint21 .space 4*16sint22 .space 4*16sint23 .

20、space 4*16sint24 .space 4*16sint25 .space 4*16sint26 .space 4*16sint27 .space 4*16sint28 .space 4*16sint29 .space 4*16sint30 .space 4*16int0: RETE NOP NOP NOPint1: RETE NOP NOP NOPint2: RETE NOP NOP NOPtint: RETENOP NOPNOPrint0: RETE NOP NOP NOPxint0: RETE NOP NOP NOPDMAC0:RETENOPNOPNOPDMAC1:RETE;ti

21、nt1NOPNOPNOPint3: RETE NOP NOP NOPHPINT:RETENOPNOPNOPDMAC2: RETE;rint1NOP NOP NOP NOPxint1: RETE NOPNOPNOPDMAC4:RETENOPNOPNOPDMAC5:RETENOPNOPNOP .end4.MEMORY程序-m sensor.mapMEMORY PAGE 0: PROG: origin = 0x2000, len = 0x0f80/*8k-128 word*/ VECT: origin = 0x2f80, len = 0x80/*128word*/ PAGE 1: DRAM: ori

22、gin = 0x3000, len = 0xf80/*4k word*/SECTIONS .progsys: load = PROG PAGE 0 .vectors: load = VECT PAGE 0 .data : load = DRAMPAGE 1align 163.2.6对项目进行编译和点击 Projectpile File,在项目编译成功之后点击 ProjectBuild 选项对该项目进行,生成*.out 文件。 3.2.7装载可执行文件要让程序代码在 DSP 内部运行必需将生成的*.OUT 文件装载到 DSP 内部,装载方法是点击:File Load Programe 再选择生成

23、的 LED.out 文件就可以将程序装载到 DSP 的内部存储器中。 3.2.8运行程序并查看结果:点击 DebugRun 让程序在 DSP 内部运行。结果如下图:设计心得及体会为期两周的DSP课程设计结束了,在这次课程设计过程中,我学会了很多课本以外的东西,获得了许多难能可贵的经验。通过这次的课程设计,提高自己动手能力的同时也学到了很多有关方面的知识,对DSP有了更深入的理解,巩固了以前学到的知识,是自己更加充实。通过调试以上程序运行无误,完成了流水灯要求,使用DSP芯片设计流水灯;使用数码管显示;利用程序延时,接口转换实现流水灯。通过本次课程设计实现了用DSP芯片设计流水灯 , 学习到了很多关于DSP 的基础知识。并且更加深刻的巩固了课堂上所学的课本知识,DSP技术有了更进一步的认识和了解。掌握了DSP的基本实验方法,提高了工程设计和组织实验能力。通过这次课程设计,我学会了原理图的绘制,元件的生成与调用,学会了流程图的绘制,这些技术的掌握对以后的工作、学习都有很大的帮助。在这次课程设计中,通过自己查找相关资料,遇到问题积极解决,与同学积极讨论,最终完成了课程设计,我也体会到了成功的喜悦。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号