华东交通大学基于TMS320LF2407_DSP_流水灯的课程设计

合集下载

2407流水灯课程设计

2407流水灯课程设计

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实现的步进电机控制器的设计

利用DSP实现的步进电机控制器的设计

利用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及中断资源,在此设计基础上具有一定的扩展空间。

TMS320LF2407_DSP_流水灯的课程设计

TMS320LF2407_DSP_流水灯的课程设计

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等。

DSP2407实验指导书

DSP2407实验指导书

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代码的确切信息。

DSP课程设计

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实验指导书-物联网

DSP 320LF2407实验指导书-物联网

实验指导书数字信号处理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空间和数据空间。

DSP课程设计TMS320LF2407A最小系统设计

一、设计要求要求设计的最小系统包括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设计和实现;多媒体资料将提供丰富的视觉和听觉信息,帮助学生更好地理解和掌握DSP的知识。

五、教学评估为了全面、客观地评估学生的学习成果,本课程将采用多种评估方式。

平时表现将占课程总评的30%,包括课堂参与度、提问回答等;作业将占课程总评的30%,包括编程练习、报告等;考试将占课程总评的40%,包括期末考试和期中考试。

我们将根据学生的表现和作业质量,公正地评定学生的成绩,并提供反馈,帮助他们改进。

流水灯课程设计报告

摘要流水彩灯控制器在我门日常生活中有重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。

本次设计的流水彩灯控制器是其中较简单的,但这是进行复杂设计的基础。

本次课程设计要设计一个流水彩灯控制器〔用8只发光二极管显示,至少三种工作方式〕。

首先要分析设计要求,从要实现至少三种工作方式入手推导出要使用的芯片。

可通过八位右移寄存器74LS164实现八个彩灯的向右移动,从它的右移输入端控制来实现它的流水彩灯的变化。

要控制流水彩灯的变化,可通过一个八位拨码开关,八选一数据选择器74LS151,模十六加法计数器74LS161来实现。

时钟信号由一个555产生,产生周期可由一个滑动变阻器控制。

而彩灯的变化可由拨码开关自行选择。

经实验验证,所设计的流水彩灯控制器能完成题目要求。

关键词 : 时钟脉冲;分频;移位寄存器;数据选择器;拨码开关;目录摘要 (1)1设计课题与要求 (3)1.1设计方案选择 (3)2 系统模块组成 (4)2.1系统组成框图 (4)2.2各模块的组成与功能分析 (4)3 单元电路设计与计算 (5)3.1时钟脉冲产生电路 (5)3.2单种码产生电路 (7)3.3拨码开关控制电路 (8)3.4输出电路设计 (10)4 整机电路设计 (12)整机电路工作原理 (10)5 组装调试 (13)5.1仿真过程 (15)6 总结 (15)结论 (16)参考文献 (16)附录1 流水彩灯控制器原理总图 (17)附录2 PCB总图 (17)附录 2 元器清单 (18)1 设计课题及要求〔一〕题目:流水彩灯控制器〔二〕基本要求:1、用8只发光二极管显示。

2、至少三种工作方式。

1.1 方案选择利用数字芯片实现。

用555做时钟信号,用模十六加法计数器74LS161的输出端的最高位Q3,模十六加法计数器74LS161的输出端的Q1Q2Q3接到八选一的数据选择器74LS151的选择控制端。

74LS151的八个输入端都接到八位拨码开关,由拨码开关和控制端控制输出端,输出端接到移位寄存器74LS164的输入端。

plc课程设计流水灯

plc课程设计流水灯一、课程目标知识目标:1. 让学生理解PLC(可编程逻辑控制器)的基本原理和结构,掌握PLC在工业控制中的应用。

2. 使学生掌握流水灯的编程方法,了解定时器、计数器等基本逻辑元件的使用。

3. 帮助学生了解PLC编程中的输入输出接口及相关电气元件的连接方式。

技能目标:1. 培养学生运用PLC进行简单控制系统设计、编程和调试的能力。

2. 提高学生实际操作PLC设备,解决实际问题的动手能力。

3. 培养学生团队协作、沟通表达的能力,能就PLC控制系统进行有效讨论和分析。

情感态度价值观目标:1. 激发学生对自动化技术的兴趣,培养探索精神,提高创新意识。

2. 培养学生严谨、认真、负责的学习态度,养成良好的学习习惯。

3. 引导学生关注工业自动化发展,认识PLC技术在现代工业生产中的重要性。

课程性质:本课程为实践性较强的课程,以理论教学为基础,注重培养学生的实际操作能力和创新能力。

学生特点:学生具备一定的电工电子基础知识,对PLC技术有一定了解,对实际操作和动手实践有较高的兴趣。

教学要求:结合学生特点,课程设计应注重理论与实践相结合,强调实际操作和团队协作,使学生在实践中掌握PLC编程和应用。

同时,注重培养学生的创新能力和解决问题的能力,提高学生的综合素质。

通过本课程的学习,使学生达到上述设定的知识、技能和情感态度价值观目标。

二、教学内容1. 理论教学:a. PLC基本原理与结构介绍:包括PLC的组成、工作原理、性能指标等。

b. PLC编程基础:介绍PLC编程语言(梯形图、指令表等),编程规则及技巧。

c. 流水灯控制原理:分析流水灯控制系统的设计方法,讲解定时器、计数器等逻辑元件的应用。

2. 实践教学:a. PLC设备认识与操作:让学生熟悉PLC设备,学会基本操作和编程软件的使用。

b. 流水灯控制系统设计:指导学生进行流水灯控制系统的设计,包括电气原理图绘制、PLC程序编写、调试与优化。

c. 实际操作与故障排除:培养学生动手能力,让学生在实际操作过程中学会分析问题、解决问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录一、概述 (1)1.1 DSP介绍 (1)1.2 DSP的应用 (1)1.3问题描述 (2)二、整体设计原理 (2)2.1原理 (2)2.2基本理论 (2)三、DSP2407 (7)3.1 DSP2407简介 (7)3.2 DSP2407事件管理器模块 (8)3.2.1事件管理器的引脚说明 (8)3.2.2 EV中断 (8)3.2.3定时器 (9)3.2.4比较单元 (9)四、硬件电路说明 (9)4.1供电电路 (9)4.2复位电路 (10)4.3时钟电路 (11)4.4 DSP引脚扩展接口 (11)4.6 SCI串口通讯电路 (12)4.7 CAN通讯接口电路 (12)4.8 数码管控制电路 (13)4.9 AD电路 (13)4.10 DA电路 (14)4.11 PWM电机控制电路 (15)4.12 步进电机接口 (15)4.13液晶扩展电路(1602和12864接口) (16)4.14 外部中断控制电路 (16)五、软件设计 (17)5.1程序所用的DSP的程序空间和寄存器 (17)5.2程序流程框图 (18)5.3.程序重要部分的说明 (19)5.4.源程序 (20)六、实验结果 (22)6.1 实验结果 (22)七、心得体会 (22)八、参考文献 (22)基于DSP2407的流水灯的实现一、概述1.1 DSP介绍数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。

20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。

数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。

在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。

德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。

DSP (digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。

其工作原理是接收模拟信号,转换为0或l的数字信号。

再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。

它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。

它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

DSP微处理器(芯片)一般具有如下主要特点:(1)在一个指令周期内可完成一玖乘法和一次加法;(2)程序和数据空间分开,可以同时访问指令和数据;(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;(4)具有低开销或无开销循环及跳转的硬件支持;(5)快速的中断处理和硬件1/0支持;(6)具有在单周期内操作的多个硬件地址产生器;(7)可以并行执行多个操作;(8)支持流水线操作,使取指、译码和执行等操作可以熏叠执行。

1.2 DSP的应用语音处理:语音编码、语音合成、语音识别、语音增强、语音邮件、语音储存等。

图像/图形:二维和三维图形处理、图像压缩与传输、图像识别、动画、机器人视觉、多媒体、电子地图、图像增强等。

军事、保密通信、雷达处理、声呐处理、导航、全球定位、跳频电台、搜索和反搜索等。

仪器仪表:频谱分析、函数发生、数据采集、地震处理等。

自动控制:控制、深空作业、自动驾驶、机器人控制、磁盘控制等。

医疗:助听、超声设备、诊断工具、病人监护、心电图等。

家用电器:数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游戏等。

生物医学信号处理举例:CT:计算机X射线断层摄影装置。

(其中发明头颅CT英国EMI公司的豪斯菲尔德获诺贝尔奖。

)CA T:计算机X射线空间重建装置。

出现全身扫描,心脏活动立体图形,脑肿瘤异物,人体躯干图像重建。

1.3问题描述输入输出端口(1/0)是DSP芯片内部电路与外部世界交换信息的通道。

输入端口负责从外界接收检测信号.键盘信号等各种开关量信弓;输出端口负责向外界输送有内部电路产生的处理结果.显示信息,控制命令.驱动信号。

使用中断和定时器延时循环程序,设计DSP的流水灯控制器,在事件管理器中应用EV中断。

二、整体设计原理2.1原理通过对DSP结构、原理及应用的学习。

在初步了解DSP结构和原理的基础上,进行简单的应用实验,掌握DSP的基本应用。

通过熟悉DSP模板的内部结构以及CCS软件,掌握DSP2407的汇编语言编程和调试方法,了解DSP的指令和I/O端口的寄存器的配置,并结合DSP实验模板对DSP进行编程控制数字输入/输出端口点亮LED显示管。

实验的具体要求如下:实现LED显示管的循环显示:先第1个LED亮,然后是第2个LED亮,第3个LED 显示管亮。

第4个灯亮。

如此循环显示。

2.2基本理论指导实验的基本理论是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口复用控制寄存器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=复位后的值三、DSP24073.1 DSP2407简介2407开发板分为TI 2000-011 DSP2407增强型、DSP2407+CPLD开发板、SHX-DSP2407A 开发板。

引DSP2407+CPLD开发板套件是一套基TMS320LF2407A+EPM240的DSP+CPLD 的学习开发平台,充分发挥DSP2407和ALTERA MAX II的灵活性和功能强大,用户手册详实易懂,大量源码轻松上手(分DSP和CPLD两部分),我们为用户提供一个完整的IP 核通过CPLD进行系统资源分配,用户可以根据需要进行裁剪或追加功能。

由于我们的外设都是通过CPLD连接与DSP连接进行电平转换、隔离和总线。

仲裁等先进技术,所以使用极为方便灵活、简洁、并且运行及其稳定。

这种结构可以充分利用了CPLD的灵活性和功能强大的IP核进行功能更强的系统应用。

是初学者和从事开发的科研工作者学习2407和CPLD的首选之品。

本开发板供初学者学习使用,也可作为系统板嵌入到用户的产品供用户进行二次开发以便缩短产品开发周期。

SHX-DSP2407A开发板是DSP 2407系列产品中的重要一员。

它的最大优点是直观简单明了,极为适于初学者。

此棋板采用统一的系统结构、模块结构和机械结构,以多种典型DSP处理器构成的DSP基本系统、标准总线和相同物理尺寸的DSP嵌入式控制模板,将2407的功能发挥的淋漓尽致,为学习者提供了强大、有效的学习平台。

用户手册详实易懂,大量源码轻松上手(分DSP和CPLD两部分),我们为用户提供一个完整的IP核通过CPLD进行系统资源分配,用户可以根据需要进行裁剪或追加功能。

3.2 DSP2407事件管理器模块3.2.1事件管理器的引脚说明3.2.2 EV中断事件管理器中断总共分三组,每组均分别配一个CPU申断(INT2,3和4)。

因为每组中断均有多个中断源,所以CPU中断请求通过外设中断扩展控制器(PIE)模块来处理。

中断请求有以下几个响应阶段:(1) 中断源。

相关文档
最新文档