TMS320LF2407_DSP_流水灯的课程设计
- 格式:doc
- 大小:619.51 KB
- 文档页数:20
2407流水灯课程设计一、课程目标知识目标:1. 让学生理解流水灯的工作原理,掌握基础电子元件的功能和连接方式。
2. 学会使用编程软件,编写简单的流水灯控制程序。
3. 了解电路图的阅读方法,能分析并绘制简单的流水灯电路图。
技能目标:1. 培养学生动手操作能力,能够独立完成流水灯电路的搭建。
2. 培养学生编程思维,提高问题解决能力,能通过编程实现流水灯的不同效果。
3. 提高学生的团队协作能力,学会在小组内分工合作,共同完成项目任务。
情感态度价值观目标:1. 培养学生对电子科技的兴趣,激发创新意识。
2. 培养学生严谨的科学态度,注重实践操作与理论知识的结合。
3. 增强学生的环保意识,关注电子产品对环境的影响,培养社会责任感。
本课程针对2407年级学生的特点,结合电子技术基础知识,设计具有实用性和趣味性的流水灯项目。
通过课程学习,使学生能够掌握相关电子元件的应用、电路图的阅读、编程控制等技术,培养实际操作能力和团队协作能力,同时提高学生对电子科技的兴趣和环保意识。
课程目标具体、可衡量,便于教学设计和评估。
二、教学内容1. 电子元件基础知识:介绍常用电子元件(如电阻、电容、二极管、三极管等)的功能、符号及使用方法,结合课本第2章内容。
2. 流水灯工作原理:分析流水灯的工作原理,讲解电路图的阅读方法,参考课本第3章相关内容。
3. 编程控制:学习C语言基础,使用编程软件(如Arduino IDE)编写流水灯控制程序,结合课本第4章编程知识。
4. 电路搭建:教授学生如何搭建流水灯电路,包括电路板的焊接、元件的连接等,参考课本第5章实践操作内容。
5. 项目实践:分组进行流水灯项目实践,每组设计并实现一种流水灯效果,锻炼学生的动手能力和团队协作能力。
6. 知识拓展:介绍流水灯在现实生活中的应用,探讨电子产品的环保问题,引导学生关注社会热点。
教学内容根据课程目标进行选择和组织,确保科学性和系统性。
教学大纲明确,包括电子元件、电路图、编程控制、电路搭建等模块,与课本章节内容紧密结合。
利用DSP实现的步进电机控制器的设计数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
TMS320LF2407是TI公司主推的一种高性能、低价格DSP处理器,其处理速度达到30 MIPS,片内处理集成RAM、Flash及定时器外,还集成了A/D转换器、PWM控制器及CAN总线控制器等模块,特别适合于电机、电源变换等实时要求高的控制系统。
但是通常设计DSP程序的方法是,在DSP的集成开发环境CCS中用C语言设计,需要花费大量的时间用来编写和输入程序代码。
在Matlab中用图形化的方式设计DSP的程序,能够缩短产品的开发时间。
本文所介绍的是一种基于TMS320LF2407实现的步进电机控制系统的设计。
1 系统硬件构成整个系统分为五个部分组成:DSP中央控制器TMS320LF2407,步进电机及驱动,光电编码器,键盘及液晶显示部分,以及整个系统的外围电源电路及看门狗复位电路组成,。
在这个系统设计中,由键盘设定给定转速(位置),通过中央控制器TMS320LF2407来产生PWM脉冲信号来控制步进电机的转速(位置),可以采用光电编码器对步进电机的转速(位置)进行采样检测实现闭环控制,也可以采用开环控制无需转速(位置)信号,以上过程中的多个变量、参数可以在液晶显示屏上得到直观地反映。
整个硬件结构简单直观,中央控制器TMS320LF2407还剩余丰富的I/O及中断资源,在此设计基础上具有一定的扩展空间。
DSP原理及应用实验指导书实验一:熟悉CCS,编写一个以C语言为基础的DSP程序一、实验目的1.认识TMS320LF2407 DSP实验开发系统的硬件结构。
2.了解TMS320LF2407 DSP应用程序的开发调试流程。
3.学习使用CCS3.3调试TMS320LF2407 DSP程序。
4.学习用标准C语言编制程序:了解常用的C语言程序设计方法和组成部分。
二、实验设备PC兼容机一台,操作系统为Windows2000(或Windows98,Windows XP,以下默认为Windows2000),CCS3.3编译软件,TMS320LF2407 DSP实验开发板和仿真器。
三、实验原理1.标准C语言程序:CCS支持使用标准C语言开发DSP应用程序。
当使用标准C语言编制程序时,其源文件名的后缀应为.C(如:volume.c)。
CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP的可执行代码。
最后生成的是COFF格式的可下载到DSP 中运行的文件,其文件名后缀为.out。
由于使用C语言编制程序,其中调用的标准C的库函数由专门的库提供,在编译链接时编译系统还负责构建C运行环境。
所以用户工程中需要注明使用C 的支持库。
2.命令文件的作用:命令文件(文件后缀为.cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配信息。
通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。
命令文件也为链接程序提供了DSP外扩存储器的描述。
在程序中使用CMD文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可使用的。
3.内存映射(map)文件的作用:一般的,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM 中,为了更精确的使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP代码的确切信息。
基于TMS320LF2407按键计数器设计一.说明在控制电路中,通常需要以按键来控制程序执行流程或是输入数据。
在图4.1中,4个按键K1~K4分别对应TMS320LF2407芯片的引脚IOPF3~IOPF4作为I/O端口的输入,8只发光二极管LED1~I LED8通过SW-DIP8拨码开关和74HC273锁存器芯片分别对应TMS320LF2407芯片的引脚IOPF0~IOPF7作为I/O端口的输出。
本设计仅使用一条I/O引脚,借助软件查询方法点亮8只发光二极管。
本设计中的K1键对应的TMS320LF2407输入I/O引脚为IOPF3,当按下K1键,则将所对应的端口F数据和方向控制寄存器(PFDATDIR)的第3位为(IOPF3引脚)0,同时点亮发光二极管。
二.内容1.设计并调试用于TMS320LF2407芯片的计数程序,要求由按键K1作输入并对其进行计数,计数的结果由LED7~LED0发光二极管以二进制方式显示。
2.对程序稍作改动,用K4按键完成上述功能。
三.硬件电路图4.1 TMS320LF2407与键盘、LED接口电路四.参考程序清单通过编程,设计一个按键计数器,要求刚接通电源时,8只发光二极管都不亮,表示计数器的初始值为0,即二进制数的00000000B;当按下K1键时,计数器的值加1,发光二极管LED0点亮,表示二进制数的00000001B,然后松开按键;再次按下K1键时,计数器的值又加1,发光二极管LED1点亮,表示二进制数的00000010B,然后再松开按键;依次类推。
直到按动了255次按键时,发光二极管LED7~LED0会全部点亮,其后的一次K1键按下时将使计数器回0,就这样循环往复。
C语言程序(1)所需的复位和中断向量定义文件“vectors.asm”同于前。
在这以后的所有例程中,如果没有特别说明,vectors.asm都是相同的。
(2 主程序源程序代码:#include "register.h"int m=0x0001;initial({asm(" setc SXM";asm(" clrc OVM";asm(" clrc CNF";*SCSR1=0x81FE;*WDCR=0x0E8;*IMR=0x0000;*IFR=0x0FFFF;*MCRA=*MCRA&0x0FF;*PFDATDIR=*PFDATDIR|0x0400;*PBDATDIR=*PBDATDIR|0x0FF00;*PFDATDIR=*PFDATDIR|0x0404;*PFDATDIR=*PFDATDIR&0xFFFB;}void inline disable({asm(" setc INTM";}int keyscan({int k,j;k=*PFDATDIR&0x0008;if(k==0x0008k=0;elsek=1;if(k==1{for(j=30000;j>0;j--j=j;k=*PFDATDIR&0x0008;if(k==0x0008k=0;elsek=1;}return(k;}int keyserve({int k;k=*PFDATDIR&0x0008;if(k==0x0000*PBDATDIR=(*PBDATDIR&0xFF00+m++; else*PBDATDIR=*PBDATDIR;*PFDATDIR=*PFDATDIR|0x0404;*PFDATDIR=*PFDATDIR&0xFFFB;}main({disable(;initial(;while(1{int i;i=0;i=keyscan(;if(i==1keyserve(;}}void interrupt nothing({return;}汇编程序;键盘与发光二极管配合使用程序st0_temp .usect ".b20",1 ;60st1_temp .usect ".b20",1 ;61context .usect ".b20",7 ;62-68STACK .usect ".stack",40IOSFT_REG .usect ".data0",1 ;显示数据移位寄存器IO_COUNT .usect ".data0",1 ;延时计数寄存器IO_DATA .usect ".data0",1 ;I/O临时数据缓冲区LEDXS .usect ".data0",1 ;LED显示的数据LEDFLAG .usect ".data0",1 ;LED显示标志寄存器K1FLAG .usect ".data0",1 ;K1 标志寄存器KEYDATA .usect ".data0",1 ;读得键盘值存放寄存器DP_USER .set 5.include "F2407REGS.H" ;引用头部文件.def _c_int0; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(1)建立中断向量表.sect ".vectors" ;定义主向量段RSVECT B _c_int0 ;PM 0 Reset Vector 1INT1 B PHANTOM ;PM 2 Int level 1 4INT2 B GISR2 ;PM 4 Int level 2 5INT3 B PHANTOM ;PM 6 Int level 3 6INT4 B PHANTOM ;PM 8 Int level 4 7INT5 B PHANTOM ;PM A Int level 5 8INT6 B PHANTOM ;PM C Int level 6 9RESERVED B PHANTOM ;PM E (Analysis Int 10SW_INT8 B PHANTOM ;PM 10 User S/W int —SW_INT9 B PHANTOM ; PM 12 User S/W int -SW_INT10 B PHANTOM ; PM 14 User S/W int -SW_INT11 B PHANTOM ; PM 16 User S/W int -SW_INT12 B PHANTOM ; PM 18 User S/W int -SW_INT13 B PHANTOM ; PM 1A User S/W int -SW_INT14 B PHANTOM ; PM 1C User S/W int -SW_INT15 B PHANTOM ; PM 1E User S/W int -SW_INT16 B PHANTOM ; PM 20 User S/W int -TRAP B PHANTOM ; PM 22 Trap vector -NMI B PHANTOM ; PM 24 Non maskable Int3EMU_TRAP B PHANTOM ; PM 26 Emulator Trap2SW_INT20 B PHANTOM ; PM 28 User S/W int -SW_INT21 B PHANTOM ; PM 2A User S/W int -SW_INT22 B PHANTOM ; PM 2C User S/W int -SW_INT23 B PHANTOM ; PM 2E User S/W int -SW_INT24 B PHANTOM ; PM 30 User S/W int -SW_INT25 B PHANTOM ; PM 32 User S/W int -SW_INT26 B PHANTOM ; PM 34 User S/W int -SW_INT27 B PHANTOM ; PM 36 User S/W int -SW_INT28 B PHANTOM ; PM 38 User S/W int -SW_INT29 B PHANTOM ; PM 3A User S/W int -SW_INT30 B PHANTOM ; PM 3C User S/W int -SW_INT31 B PHANTOM ;PM 3E User S/W int —;中断子向量入口定义pvecs.sect ".pvecs" ;定义子向量段PVECTORS B PHANTOM ;保留向量地址偏移量-0000h B PHANTOM ;保留向量地址偏移量-0001hB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-05B PHANTOM ; SCI_RX_ISR; 保留向量地址偏移量B PHANTOM ; SCI_TX_ISR ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-0AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-10B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-15B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-1AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-20B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-25B PHANTOM ; 保留向量地址偏移量-0026hB T1GP_ISR ; 保留向量地址偏移量-0027h T1PINT中断B PHANTOM ; 保留向量地址偏移量-0028hB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; pvector addr offset 0x02f - T3PINTB PHANTOM ; 保留向量地址偏移量-30B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-35B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-3AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-3FB PHANTOM ; CANMBX_ISR ; 保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-0041h; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(2)主程序.text_c_int0CALL SYSINIT ;调系统初始化程序CALL KEYLEDINIT ;调键盘和LED初始化程序LDP #DP_USER ;指向0280h~0300h区SPLK #01H,IOSFT_REG ;寄存器和标志初始化SPLK #00H,IO_COUNTSPLK #001H,IO_DATASPLK #001H,LEDXSSPLK #00H,LEDFLAG ;LEDFLAG.0=1表示 K1,K2,K3 按下;LEDFLAG.0=0表示 K4 按下SPLK #01H,K1FLAGCLRC INTM ;开总中断LOOP: CALL KEY ;调键盘程序,即扫描键盘LDP #DP_USERBIT LEDFLAG,15BCND LEDBD1,TCLACL IO_COUNTSUB #03E8HBCND WAIT,LEQ ;判10 s延时到否LEDBD1: SPLK #00H,IO_COUNTLDP #DP_PF2LACL PFDATDIROR #0404H ;IOPF2=1SACL PFDATDIR ;开74HC273片选信号LDP #DP_USERLACL LEDXSOR #0FF00H ;IOPB口为输出方式LDP #DP_PF2SACL PBDATDIR ;送要显示的数据到IOPB口LACL PFDATDIRAND #0FFFBH ;IOPF2=0SACL PFDATDIR ;关74HC273片选信号LDP #DP_USERBIT LEDFLAG,15BCND LEDBD2,TCLACL LEDXSSFLSACL LEDXSLACL IOSFT_REGSFLSACL IOSFT_REGBIT IOSFT_REG,BIT8 ;判是否循环完一次BCND LOOP1,TCB WAITLOOP1: LDP #DP_USERSPLK #01H,IOSFT_REG ;赋初值LEDBD2: LACL IO_DATASACL LEDXSWAIT: NOPB LOOP; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(3)系统初始化程序SYSINIT:SETC INTMCLRC SXMCLRC OVMCLRC CNF ;B0区被配置为数据空间LDP #0E0H ;指向7000h~7080h区SPLK #81FEH,SCSR1 ;时钟4倍频,CLKIN=6 M,CLKOUT=24 MSPLK #0E8H,WDCR ;不使能WDTLDP #0SPLK #02H,IMR ;使能中断优先级INT2SPLK #0FFFFh,IFR ;清中断标志LDP #DP_EVA ;指向7400h~7480h区SPLK #80H,EVAIMRA ;使能T1PINT 中断SPLK #0FFFFh,EVAIFRA ;清EVA中断标志SPLK #0,GPTCONASPLK #0EA6H,T1PR ;使定时器每10 ms产生一次中断SPLK #0,T1CNTSPLK #0164CH,T1CON ;设置通用定时器1RET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(4)键盘和发光二极管初始化程序KEYLEDINIT:LDP #DP_PF2LACL MCRCAND #083FFH ;IOPF2,IOPF[3~6] 配置为一般的I/O口SACL MCRCLACL MCRAAND #000FFH ;IOPB[0~7] 配置为一般的I/O口SACL MCRALACL PFDATDIROR #0400H ;IOPF2为输出方式AND #08787H ;IOPF[3~6] 为输入方式SACL PFDATDIRLACL PBDATDIROR #0FF00H ;IOPB[0~7] 为输出方式SACL PBDATDIRRET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;(5)键盘程序KEY:CALL READKEY ;调读键程序LACL KEYDATABCND KEYRET,EQ ;ACC=0?CALL KEYDELAY材料:玉米粒50克, 胡萝卜30克, 生菜30克, 鸡蛋3个,面粉100克椒粉各少许;做法:1. 先将鸡蛋打散成蛋液,加入少许胡椒粉拌匀,胡萝卜洗净切沥干切碎,葱切花;2. 将胡萝卜粒和玉米粒放入沸水中煮熟后沥干待用;3. 面粉中加入适量的盐,再倒入鸡蛋液,加入适量的水搅拌成4. 放入沥干的胡萝卜粒和玉米粒、生菜、葱花,再加入少许芝;再一次读键值LACL KEYDATABCND KEYRET,EQLDP #DP_USER ;判断按键情况BIT KEYDATA,15BCND KEYRET,NTCCALL K1 ; "+"键按下B KEYRETKEYRET: LACL KEYDATAAND #0FFF0H ;清读取的键值寄存器SACL KEYDATARET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(6)读键子程序READKEY:LDP #DP_PF2LACL PFDATDIR ;取出键值PFDATDIR.3~PFDATDIR.6RPT #2SFR ;右移3位OR #0FFF0H ;屏蔽高4位(用到4个键)CMPLLDP #DP_USERSACL KEYDATA ;存放键值RET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(7)用软件延时30mS消抖动KEYDELAY:LACC #6000KEYD1: SUB #1RPT #80NOPBCND KEYD1,NEQRET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(8)键子程序K1: ;"+"键子程序READK1: CALL KEYDELAYCALL READKEYLDP #DP_USER ;判断按键 K1 是否松开BIT KEYDATA,15BCND READK1,TCSPLK #01,LEDFLAG ;关闭LED左移标志,即LED对同一个数不刷新LACL IO_DATAADD #1SACL IO_DATARET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(9)中断程序GISR2: ;优先级INT2中断人口; 保护现场LDP #0 ; 保存机器上下文SST #0, st0_temp ; 使用自动寻址DP-0SST #1, st1_temp ; 保存状态寄存器到B2 DARAM.SACL context ; 保存ACC的低16位SACH context+1 ; 保存ACC的高16位SAR AR1,context+2SAR AR2,context+3SAR AR3,context+4SAR AR4,context+5SAR AR5,context+6LDP #0E0HLACC PIVR,1 ;读取外设中断向量寄存器(PIVR),并左移一位ADD #PVECTORS ;加上外设中断入口地址BACC ;跳到相应的中断服务子程序T1GP_ISR: ;通用定时器1中断入口LDP #DP_USERLACL IO_COUNTADD #1SACL IO_COUNT;恢复现场LDP #DP_EVASPLK #0FFFFH,EVAIFRALDP #0LAR AR5,context+6LAR AR4,context+5LAR AR3,context+4LAR AR2,context+3LAR AR1,context+2LACC context+1,16ADDS contextLST #1, st1_tempLST #0, st0_tempCLRC INTM ;开总中断,因为一进中断就自动关闭总中断RET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(10)假中断程序PHANTOMKICK_DOG ;复位看门狗RET END。
实验指导书数字信号处理DSP 320LF2407实验指导书武汉理工大学华夏学院信息工程系2014年9月目录第一章实验系统介绍 (1)第二章调试软件安装说明 (29)第三章硬件安装说明 (36)第四章 2407常规实验指导 (39)实验一CCS使用及输出实验 (39)实验二I/O实验 (44)实验三定时器实验 (47)实验四LCD实验 (50)实验五RS232串口通讯实验 (52)实验六PWM波形产生实验 (55)实验七CAN总线通讯实验 (59)实验八A/D转换实验 (61)第一章实验系统介绍一、系统概述DSP CPU挂箱主要用于插接不同的CPU模块,可以扩展DSP CPU模块,挂箱的CPU和扩展模块基于Techv总线设计,目前支持的CPU模块有:TMS320VC5402、TMS320VC5409、TMS320VC5410、TMS320VC5416、TMS320LF2407、TMS320F2812、TMS320VC5509、TMS320VC6726等。
挂箱上除CPU模块外,还有基本试验电路及系统扩展电路,可单独完成大部分的基本实验、算法实验。
通过电子创新设计平台的扩展总线接口,可以扩展机、电、声、光等不同领域的扩展模块,完成数据采集、图象处理、通讯、网络、控制等扩展实验。
二、硬件组成该挂箱的硬件资源主要包括:●CPU板接口(Techv总线)●一组Techv总线接口●一组电机控制接口●语音单元●开关量输入输出单元●液晶显示单元●键盘单元●信号扩展单元●CPLD模块单元●模拟信号源●EL-NC2100 电子创新设计平台扩展总线接口●直流电源单元1、CPU板接口(Techv总线)Techv总线接口是和TI 公司DSK兼容的信号扩展接口,可连接我公司各种Techv 总线的CPU板和扩展板如:图像处理、高速AD、DA、USB/以太网等扩展板,也可以连接TI公司的标准DSK扩展信号板,扩展到CPU的IO空间和数据空间。
一、设计要求要求设计的最小系统包括TMS320LF2407A基本电路、电源电路、扩展RAM、指示灯等部分,需要用protel软件完成原理图和PCB的设计,并编写验证程序,在实验箱上进行调试。
二、设计原理及框图对于DSP2407,加上电源、复位和晶振,就构成了DSP最小系统。
为使这一最小系统能工作在开发状态下,应配以锁相环、JTAG接口、扩展片外程序存储器、FLASH烧写、指示灯、引脚扩展以及对其他引脚的处理等电路。
DSP2407最小系统框图如下图所示:三、主要芯片说明3.1 TMS320LF2407ATMS320LF2407A的常用资源见下表:3.2 TPS7333QTPS7333Q是TI公司生产的一款电压转换芯片,能将5V电压转换成3.3V,其特点如下:1.TPS7333Q克服了常规LDO稳压器的弊端,它具有非常低的静态电流,即使对于变化较大的负载,静态电流可以保持稳定2.具有关断特性3.具有输入和输出电容的选择3.3 CY7C1021选用的RAM型号为CY7C1021,64k*16位大小。
其高速转换时间:8、10、12、15ns,CMOS低功耗管理,TTL可共存界面,由3.3V供电,完全静态管理:无时钟或刷新要求,三种输出状态,高位、低位数据控制3.4 MAX811MAX811是一款四管脚微处理器复位芯片,用于监控微控制器和其他逻辑系统的电源电压,带有手动复位输入低电平复位芯片,支持手动复位功能,当MR引脚持续存在180ms的低电平,芯片的复位输出即会产生复位信号。
3.5 74HC0874HC08是4-2输入与门,相当于四个两输入与门。
其逻辑图如下:引脚图为四、设计过程4.1 电源电路电源电路的选择是系统设计的一个重要的部分,设计好坏对系统的影响最大。
这里使用TI公司的TPS7333Q来设计电源供电电路。
电源插孔J1 标识为内正外负,5V 稳压直流电源输入。
FUSE 为自恢复保险;7333 电源转换芯片作为5V 转3.3V 的高性能稳压芯片。
DSP课程设计之流水灯一、教学目标本课程的目标是让学生了解和掌握数字信号处理器(DSP)的基本原理和应用,通过实例学习DSP的实际应用,培养学生的实际动手能力和创新能力。
在知识目标方面,学生需要掌握DSP的基本结构、工作原理和编程方法;在技能目标方面,学生需要能够运用DSP进行流水灯的设计和实现;在情感态度价值观目标方面,学生需要培养对DSP技术的兴趣和热情,认识DSP技术在现代社会中的重要性。
二、教学内容本课程的教学内容主要包括DSP的基本原理、DSP的应用实例和DSP的编程方法。
首先,我们会介绍DSP的基本结构和工作原理,让学生了解DSP的基本功能和应用领域。
然后,通过流水灯的设计和实现,让学生掌握DSP的应用实例,了解DSP在实际应用中的工作过程。
最后,我们会教授DSP的编程方法,让学生能够自己编写DSP程序,实现简单的应用。
三、教学方法为了实现教学目标,我们将采用多种教学方法,包括讲授法、实验法和讨论法。
首先,通过讲授法,我们向学生传授DSP的基本原理和编程方法;然后,通过实验法,我们让学生亲手设计和实现DSP的应用实例,培养学生的实际动手能力;最后,通过讨论法,我们鼓励学生提出问题、分享经验和思考,激发学生的创新思维。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备多种教学资源,包括教材、实验设备和多媒体资料。
教材将提供DSP的基本原理和编程方法的理论知识;实验设备将支持学生进行实际的DSP设计和实现;多媒体资料将提供丰富的视觉和听觉信息,帮助学生更好地理解和掌握DSP的知识。
五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用多种评估方式。
平时表现将占课程总评的30%,包括课堂参与度、提问回答等;作业将占课程总评的30%,包括编程练习、报告等;考试将占课程总评的40%,包括期末考试和期中考试。
我们将根据学生的表现和作业质量,公正地评定学生的成绩,并提供反馈,帮助他们改进。
TM S320LF2407 DSP结构、原理及应用实验指导书郑群英编著重庆大学――美国德州仪器公司数字信号处理解决方案实验室2003年8月实验一TMS320LF2407 DSP实验开发系统及CC软件应用一.实验说明在本书的程序设计实例中,是以DSP微控制器TMS320LF24x芯片作为设计对象,以TMS320LF2407芯片构成的实验开发系统作为目标系统;用XDS510硬件仿真器通过JTAG 接口与开发调试主机联接,来建立程序的联机调试环境。
Windows版的Code Composer(简称CC)是一个功能强大的高级语言交互式调试器,它具有较多的菜单命令,对于经常用到的调试操作提供了相应的工具按钮。
CC的功能非常丰富,不可能对其所有功能全面介绍,本着从简单实用角度出发,本次实验将以一个程序例子,说明如何使用CC’C2000来开发简单的汇编程序、编译并使用仿真器运行这一程序。
同学们也可以根据自己的应用问题,尝试创建新的项目、新的工作组和新的源文件。
二.实验目的1.认识TMS320LF2407 DSP实验开发系统的硬件结构。
2.了解TMS320LF2407 DSP应用程序的开发调试流程。
3.学习使用CC’C2000调试TMS320LF2407 DSP程序。
三.实验内容1.预习附录四、五中的相关内容2.CC’C2000使用操作练习四.实验操作练习下面将引导同学们利用CC’C2000建立一个简单的项目,并且进行一些基本的调试,以帮助同学们尽快地熟悉集成开发环境CC’C2000典型的使用方法。
1.实验设备链接在联机调试时,需要将调试主机PC、XDP硬件仿真器及待调试的目标系统按如下方法进行链接:•用JTAG排线电缆两端链接的仿真头分别插入实验板上的J2插座引脚和仿真器;•用并口电缆将PC主机并行口与仿真器相连;•将稳压电源的输出调为+5V分别引入P10插座引脚的1、2和3、4中;•将+5VDC/1.5A电源原边接220V交流电压,副边链接仿真器外接电源插孔(针对XDSPP仿真器)。
TMS320LF2407 DSP结构、原理及应用实验指导书重庆大学――美国德州仪器公司数字信号处理解决方案实验室2003年8月前言美国TI公司推出的DSP微控制器TMS320LF2407芯片具有低成本、低功耗、高性能的处理能力,是电机数字化控制的升级产品,体现了单芯片微控制器工业的新趋势。
随着数字信号处理这一新学科的飞速发展及教学的需要,特编写了此实验指导书。
DSP理论和技术是目前电子技术和IT领域中的一门基本工程理论与核心技术,它既有较为完整的理论体系,又以最快的速度形成自己的产业。
实际上,数字信号处理是紧紧围绕着理论、实现及应用三方面迅速发展起来的,它以众多的学科为理论基础,其成果又渗透到众多学科,成为理论与实践并重、在高新技术领域中占有重要地位的新兴学科。
DSP器件的出现,为数字电路方法实现工程系统提供了坚实的技术基础。
在数字信号处理的工程领域中,工程实际更关心的是DSP应用技术,所以,检验数字信号处理理论和技术的基本工程标准,就是能否在工程实际中应用先进的理论,将理论变成一种实际应用技术。
作为工程应用技术,其理论意义体现在应用中。
如果不能在工程实际中应用,再好的理论也是没有用的。
因此,对于学生来说,DSP技术的学习,必须以应用为目标,必须在相应的理论基础之上,应用DSP技术。
为此,本实验指导书通过提供一些基本实验帮助学生迅速学会如何应用DSP 技术和方法,从而达到学习DSP应用开发技术的目的。
本书结合编者的开发应用试验,选用TI公司的DSP微控制器TMS320LF2407芯片为实验对象,以Code Composer Studio (CCS)-TMS320集成调试环境、XDS510硬件仿真器以及自制2047实验装置作为该芯片的开发硬件和软件工作平台和工具,为数字信号处理器的开发创建了较好的软、硬件的工作环境,在帮助学生熟悉DSP微控制器TMS320LF2407芯片应用与开发的基本技能和汇编程序调试技巧的基础上,更为方便地应用所学知识并在控制应用系统的产品设计的开发得到充分的展示,以求学生在未来能够顺利地投入到开发产品的工作中,并能够通过各种渠道,如公司产品技术手册和网上查询,以获得最新器件、最佳技术来为设计自己的产品系统服务。
TMS320LF2407 DSP 流水灯学院:中南大学软件学院专业:软件+电气工程及自动化姓名:林爽学号:序言1.1 DSP芯片的特点DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。
DS P芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:⑴在一个指令周期内可完成一次乘法和一次加法。
⑵程序和数据空间分开,可以同时访问指令和数据。
⑶片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。
⑷具有低开销或无开销循环及跳转的硬件支持。
⑸快速的中断处理和硬件I/O支持。
⑹具有在单周期内操作的多个硬件地址产生器。
⑺可以并行执行多个操作。
⑻支持流水线操作,使取指、译码和执行等操作可以重叠执行。
⑼与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
1.2 DSP芯片的分类DSP芯片可以按照下列三种方式进行分类。
1.按基础特性分这是根据DSP芯片的工作时钟和指令类型来分类的。
如果在某时钟频率范围内的任何时钟频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称为静态DSP芯片。
例如,日本OKI 电气公司的DSP芯片、TI公司的TMS320C2XX系列芯片属于这一类如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。
例如,美国T I公司的TMS320C54X就属于这一类。
2.按数据格式分这是根据DSP芯片工作的数据格式来分类的。
数据以定点格式工作的D SP芯片称为定点DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&T公司的DSP16/16 A,Motolora公司的MC56000等。
以浮点格式工作的称为浮点DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&T公司的D SP32/32C,Motolora公司的MC96002等。
不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如TMS320C3X,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN 公司的ZR35325等。
3.按用途分按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。
通用型D SP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。
专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。
1.3 DSP芯片的应用数字信号处理(DSP)芯片是一种特别适合于进行数字信号处理运算的微处理器可实时快速地实现各种数字信号处理算法。
自20世纪80年代初诞生以来已广泛应用于通信、电子、航空航天、军事及家电产品成为一种十分重要的电子产品的核心部件。
DSP芯片得到了飞速的发展。
DSP芯片的高速发展,一方面得益于集成电路技术的发展,另一方面也得益于巨大的市场。
在近20年时间里,DSP 芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
目前,DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。
DSP芯片的应用主要有:(1) 信号处理——如数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积、模式匹配、加窗、波形产生等;(2) 通信——如调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可视电话等;(3) 语音——如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音存储等;(4) 图形/图像——如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等;(5) 军事——如保密通信、雷达处理、声纳处理、导航、导弹制导等;(6) 仪器仪表——如频谱分析、函数发生、锁相环、地震处理等;(7) 自动控制——如引擎控制、声控、自动驾驶、机器人控制、磁盘控制等;(8) 医疗——如助听、超声设备、诊断工具、病人监护等;(9) 家用电器——如高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。
随着DSP芯片性能价格比的不断提高,可以预见DSP芯片将会在更多的领域内得到更为广泛的应用。
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的算法需要利用计算机或专用处理设备如DSP和专用集成电路(ASIC)等。
数字信号处理的研究方向应该更加广泛、更加深入.特别是对于谱分析的本质研究,对于非平稳和非高斯随机信号的研究,对于多维信号处理的研究等,都具有广阔前景。
数字信号处理技术发展很快、应用很广、成果很多。
多数科学和工程中遇到的是模拟信号。
以前都是研究模拟信号处理的理论和实现。
模拟信号处理缺点:难以做到高精度,受环境影响较大,可靠性差,且不灵活等。
数字系统的优点:体积小、功耗低、精度高、可靠性高、灵活性大、易于大规模集成、可进行二维与多维处理。
随着大规模集成电路以及数字计算机的飞速发展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们所需要的信号形式。
数字信号处理是将信号以数字方式表示并处理的理论和技术。
数字信号处理与模拟信号处理是信号处理的子集。
数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。
数字信号处理是20世纪60年代,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。
它的重要性日益在各个领域的应用中表现出来。
其主要标志是两项重大进展,即快速傅里叶变换(FFT)算法的提出和数字滤波器设计方法的完善。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。
例如:滤波、检测、变换、增强、估计、识别、参数提取、频谱分析等。
第一章、整体设计原理一、原理通过对DSP结构、原理及应用的学习。
在初步了解DSP结构和原理的基础上,进行简单的应用实验,掌握DSP的基本应用。
通过熟悉DSP模板的内部结构以及CCS软件,掌握DSP2407的汇编语言编程和调试方法,了解DSP的指令和I/O端口的寄存器的配置,并结合DSP实验模板对DSP进行编程控制数字输入/输出端口点亮LED显示管。
实验的具体要求如下:实现LED显示管的循环显示:先第1个LED亮,然后是第2个LED亮,第3个LED 显示管亮。
第4个灯亮。
如此循环显示。
二、基本理论指导实验的基本理论是DSP的数字I/O端口以及其寄存器的配置。
通过对这些理论的掌握和运用,达到了解和熟悉一般DSP数字I/O的知识。
(1)数字I/O端口TMS320LF2407系列有多达41个通用、双向的数字I/O(GPIO)引脚,其中大多数是基本功能和一般I/O复用引脚,TMS320LF2407系列的大多数都可以用来实现其他功能。
数字I/O端口模块采用了一种灵活的方法,以控制专用I/O和复用I/O引脚的功能,所有I/O 和复用引脚的功能可以通过9个16位控制寄存器来设置,这些寄存器可以分为两类:●I/O口复用控制寄存器(MCRx):用来控制选择I/O引脚作为基本功能或一般I/O引脚功能。
●数据和方向控制寄存器(PxDATDIR):当I/O引脚作为一般I/O引脚功能时,用数据和方向控制寄存器可控制数据和I/O引脚的数据方向,这些寄存器直接和I/O引脚相连。
(2)数字I/O端口寄存器图1给出了TMS320LF2407系列I/O端口复用引脚配置简图,从图上可以看出一些寄存器单元的配置对应于实际I/O引脚的内部结构之间的联系。
图1 复用引脚配置图表1中所列的是数字I/O模块可用的寄存器单元,和其他240xA外设一样,这些寄存器被存储器映射到数据空间,地址从7090h到709Fh。
寄存器单元中保留的位所是无效的,读时为0,写对它无影响。
表1 数字数字I/O模块控制寄存器地址下面介绍I/O口复用输出控制寄存器。
下面描述了I/O口复用控制寄存器A(MCRA)I/O口复用控制寄存器B(MCRB),I/O口复用控制寄存器C(MCRC),其中表2是I/O口复用控制寄存器A(MCRA)的配置,对寄存器的每个位的值做了详细的描述;表3是I/O口复用控制寄存器B(MCRB)的配置,对寄存器的每个位的值做了详细的描述。
表4是I/O口复用控制寄存器C(MCRC)的配置,对寄存器的每个位的值做了详细的描述。
●I/O口复用控制寄存器A(MCRA)—地址7090h注:R=可读,W=可写,_0=复位后的值表2 I/O口复用控制寄存器A(MCRA)的配置●I/O口复用控制寄存器B(MCRB——地址7092h)注:R=可读,W=可写,_0=复位后的值表3 I/O口复用控制寄存器B(MCRB)的配置I/O口复用控制寄存器C(MCRC——地址7094h)注:R=可读,W=可写,_0=复位后的值表4 I/O口复用控制寄存器C(MCRC)的配置以下介绍DSP的I/O口数据和方向寄存器。
TMS320LF2407系列总共有6个数据和方向控制寄存器(PxDATADIR),当I/O口用作一般I/O引脚功能时,用数据和方向控制寄存器,可控制数据和到双向I/O引脚的数据方向。
这些寄存器直接和双向I/O引脚相连。
当I/O用作基本功能时,这些寄存器的设置对相应的引脚无影响。
●端口A数据和方向控制寄存器A(PADATADIR)—地址7098h注:_+复位后的值和相应引脚的状态有关,R=可读,W=可写,_0=复位后的值●端口B数据和方向控制寄存器(PBDATDIR)——地址709Ah注:_+复位后的值和相应引脚的状态有关,R=可读,W=可写,_0=复位后的值●端口C数据和方向控制键寄存器(PCDATDIR)——地址709Ch注:_+复位后的值和相应引脚的状态有关,R=可读,W=可写,_0=复位后的值●端口D数据和方向控制键寄存器(PDDATDIR)——地址709Eh注:_+复位后的值和相应引脚的状态有关,R=可读,W=可写,_0=复位后的值●端口E数据和方向控制键寄存器(PEDATDIR)——地址7094h注:_+复位后的值和相应引脚的状态有关,R=可读,W=可写,_0=复位后的值●端口F数据和方向控制键寄存器(PFDATDIR)——地址7096h注:_+复位后的值和相应引脚的状态有关,R=可读,W=可写,_0=复位后的值二、硬件电路1.原理图及说明电源及LED显示电路根据TMS320LF2407的数字I/O口复用寄存器和数据、方向寄存器,可应用到LED显示管的点亮上。