流水灯的实现的课程设计基于DSP2407的流水灯的实现.docx
- 文档编号:27963824
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:23
- 大小:1.12MB
流水灯的实现的课程设计基于DSP2407的流水灯的实现.docx
《流水灯的实现的课程设计基于DSP2407的流水灯的实现.docx》由会员分享,可在线阅读,更多相关《流水灯的实现的课程设计基于DSP2407的流水灯的实现.docx(23页珍藏版)》请在冰豆网上搜索。
流水灯的实现的课程设计基于DSP2407的流水灯的实现
基于DSP2407的流水灯的实现
一.概述
1.1DSP介绍
数字信号处理(DigitalSignalProcessing,简称DSP)是一门涉及许多学科
而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术
的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通
过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列
表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应
用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
DSP(digitalsignalprocessor)是一种独特的微处理器,是以数字信号
来处理大量信息的器件。
其工作原理是接收模拟信号,转换为0或l的数字信
号。
再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解
译回模拟数据或实际环境格式。
它不仅具有可编程性,而且其实时运行速度可
达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界
中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道
的两大特色。
根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:
在一个指令周期内可完成一次乘法和一次加法。
程序和数据空间分开,可以同时访问指令和数据。
片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。
具有低开销或无开销循环及跳转的硬件支持。
快速的中断处理和硬件I/O支持。
具有在单周期内操作的多个硬件地址产生器。
可以并行执行多个操作。
支持流水线操作,使取指、译码和执行等操作可以重叠执行。
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
1.2DSP芯片的应用
数字信号处理(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)算法的提出和数字滤波器设计方法的完善。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。
例如:
滤波、检测、变换、增强、估计、识别、参数提取、频谱分析等。
二.DSP2407
2.1DSP2407简介
2407开发板分为TI2000-011DSP2407增强型、DSP2407+CPLD开发板、SHX-DSP2407A开发板。
引DSP2407+CPLD开发板套件是一套基TMS320LF2407A+EPM240的DSP+CPLD的学习开发平台,充分发挥DSP2407和ALTERAMAXII的灵活性和功能强大,用户手册详实易懂,大量源码轻松上手(分DSP和CPLD两部分),我们为用户提供一个完整的IP核通过CPLD进行系统资源分配,用户可以根据需要进行裁剪或追加功能。
由于我们的外设都是通过CPLD连接与DSP连接进行电平转换、隔离和总线。
仲裁等先进技术,所以使用极为方便灵活、简洁、并且运行及其稳定。
这种结构可以充分利用了CPLD的灵活性和功能强大的IP核进行功能更强的系统应用。
是初学者和从事开发的科研工作者学习2407和CPLD的首选之品。
本开发板供初学者学习使用,也可作为系统板嵌入到用户的产品供用户进行二次开发以便缩短产品开发周期。
SHX-DSP2407A开发板是DSP2407系列产品中的重要一员。
它的最大优点是直观简单明了,极为适于初学者。
此棋板采用统一的系统结构、模块结构和机械结构,以多种典型DSP处理器构成的DSP基本系统、标准总线和相同物理尺寸的DSP嵌入式控制模板,将2407的功能发挥的淋漓尽致,为学习者提供了强大、有效的学习平台。
用户手册详实易懂,大量源码轻松上手(分DSP和CPLD两部分),我们为用户提供一个完整的IP核通过CPLD进行系统资源分配,用户可以根据需要进行裁剪或追加功能。
2.2DSP2407事件管理器模块
2.2.1事件管理器的引脚说明
2.2.2EV中断
事件管理器中断总共分三组,每组均分别配一个CPU申断(INT2,3和4)。
因
为每组中断均有多个中断源,所以CPU中断请求通过外设中断扩展控制器(PIE)
模块来处理。
中断请求有以下几个响应阶段:
(1)中断源。
如果外设中断发生,EVxIFRA、EVxIFRB、或EVxIFRC(x=A或
B)相应标志位被置l。
(2)中断使能。
事件管理器中断可以分别由寄存器EVxIMRA、EVxIMRB或
EVxIMRC(x=A或B)来使能或禁止。
(3)PIE请求。
如果中断标志位和中断屏蔽位被置l,那么外设会向PIE模块
发送一个外设中断请求。
(4)CPU响应。
CPU接收到中断后,IFR响应的位被置l,并相应中断。
CPU响
应中断后,中断响应被软件控制。
(5)PIE响应。
PIE使用中断向量更新PIVR寄存器。
中断软件。
中断软件有两级响应,包括GISR和SISR。
2.2.3定时器
每个时间管理模块有两个通用定时器(GP),每个定时器有四种可选操作模式:
(1)停止/保持模式
此模式操作停止并保持其当前状态,定时器的计数器,比较输出和预定计数器多保持不变
(2)连续递增计数模式
此模式GP将按照已定标的输入时钟计数,直到定时器计数器的值和周期存储器的值匹配为止。
(3)定向增/减技术模式
此模式,定时器将根据TDIRA/B引脚的输入,对定时器的时钟进行递增和递减计数。
(4)连续增/减技术模式
此模式与定向的增/减模式一样,但是在本模式下,引脚TDIRA/B的状态对计数的方向没有影响。
2.2.4比较单元
三、基本理论
指导实验的基本理论是DSP的数字I/O端口以及其寄存器的配置。
通过对这些理论的掌握和运用,达到了解和熟悉一般DSP数字I/O的知识。
3.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引脚相连。
3.2数字I/O端口寄存器
图1给出了TMS320LF2407系列I/O端口复用引脚配置简图,从图上可以看出一些寄存器单元的配置对应于实际I/O引脚的内部结构之间的联系。
图1复用引脚配置图
表1中所列的是数字I/O模块可用的寄存器单元,和其他240xA外设一样,这些寄存器被存储器映射到数据空间,地址从7090h到709Fh。
寄存器单元中保留的位所是无效的,读时为0,写对它无影响。
表1数字数字I/O模块控制寄存器地址
地址
存储寄存器
说明
7090h
MCRA
I/O复用控制寄存器A
7092h
MCRB
I/O复用控制寄存器B
7094h
MCRC
I/O复用控制寄存器C
7098h
PADATDIR
I/O端口A数据和方向寄存器
709Ah
PBDATDIR
I/O端口B数据和方向寄存器
709Ch
PCDATDIR
I/O端口C数据和方向寄存器
709Eh
PDDATAIR
I/O端口D数据和方向寄存器
7095h
PEDATAIR
I/O端口E数据和方向寄存器
7096h
PEDATDIR
I/O端口F数据和方向寄存器
下面介绍I/O口复用输出控制寄存器。
下面描述了I/O口复用控制寄存器A(MCRA)I/O口复用控制寄存器B(MCRB),I/O口复用控制寄存器C(MCRC),其中表2是I/O口复用控制寄存器A(MCRA)的配置,对寄存器的每个位的值做了详细的描述。
●I/O口复用控制寄存器A(MCRA)—地址7090h
注:
R=可读,W=可写,_0=复位后的值
表2I/O口复用控制寄存器A(MCRA)的配置
四、硬件电路说明
4.1供电电路
2407开发板既可使用独立的5V/1A开关电源供电,也可使用USB线直接供电,使用方便。
电路部分的1117输出所接的100UF/16V的电容不能省略,这样更好的保证电压稳定。
4.2复位电路
2407开发板上使用专门的复位芯片SP708R,保证DSP芯片可靠复位,并提供手动复位按钮,方便用户调试
4.3时钟电路
00IC2407用20M外部晶体给DSP提供时钟,并使能2407A片上PLL电路。
由PLL控制寄存器控制,可由软件动态的修改。
TMS320LF2407的CPU最高可工作在40M的主频下,也即是对20M输入频率进行2倍频。
4.4LED和按键电路
开发板上有4个LED发光管和一个自由按键
4.5DSP引脚扩展接口
4.6SCI串口通讯电路
DSP内置SCI通讯模块,采用接口芯片是MAX232,可以使用一根直连串口线直接和PC通讯。
4.7CAN通讯接口电路
开发板中CAN总线收发器采用的是PCA82C250。
它将CANTX和CANRX转化成CANH和CANL在CAN总线上传输。
4.8数码管控制电路
使用DSP的SPI接口(IO方式)控制数码管。
4.9AD电路
DSP内置16通道10位ADC。
在00IC2407板上通过运放隔离只扩展了2通道,分别位于通道0和通道8,DSP能接收的ADC输入电压为0――3.3V,在2407板上没有单独采用基准源。
直接使用系统的3.3V。
板上所引的2路AD输入电压范围为0――3.3V,在输入DSP之前,已经采用电压跟随器增加了阻抗。
4.10步进电机接口
开发板上提供的5V的步进电机接口,标准6芯,兼容市场上的5芯接口。
4.11DA电路
板上外扩的DA转换器为TI公司的TLC5620,该芯片为串行接口的4路8位DA转换器,2407通过SPI口与其接口,由于TLC5620的工作频率是1M,所有SPI的工作频率也设定在1M,由于TLC5620的4路DA输出已经加了跟随器,所以本开发板上没有另外加。
4.12PWM电机控制电路
PWM电机控制实验针对微型直流电机。
两路带死区的PWM信号从DSP引脚上直接产生。
电机驱动采用的是4个NPN的三极管,可控制正反转。
五、流水灯程序设计要求
1.熟悉DSP2407DSK开发板结构和使用。
掌握DSP开发环境CCS的使用和一般编程技巧。
掌握DSP开发板系统调试的一般步骤及方法。
2.DSP2407具有42个I/O端口,这些端口可以作为输入,也可作为输出,同时DSP2407具有4个定时器分别位于EVA和EVB中,掌握定时器和中断的使用。
六、实验程序
6.1程序主要文件:
(1).vectors.asm:
包含了LF2407中断向量表文件
(2).led.c:
这是实验的主程序,包含了系统的初始化及对片外扩展的高32K数据
控件的操作
(3).2407CMD.cmd:
声明了系统的存贮器配置与程序各段的连接关系
6.2向量表程序:
.ref
.ref
.sect
RSVECT
INT1
INT2
INT3
INT4
INT5
INT6
6.3源程序编辑
源程序输完之后(如图1.5所示),应该用菜单命令“File>Save”(文件>保存)及时保存到D:
\tic2xx\myprojects\work\sy1asm路径及文件名下。
对于较长的源程序,如果一次不能输入完毕而需要中途退出,也应该及时保存,以便在下一次能继续前次的工作。
在长程序文件的输入过程中,不时地进行存储是一种好习惯,也可避免因电源意外掉电而造成前功尽弃。
6.4编译
6.5源程序:
nothing;直接返回的中断服务程序符号
__tint0;复位向量符号
".vectors"
Bcint0;PM0复位向量l
Bnothing;PM2中断优先级14
Bnothing;PM4中断优先级25
Bnothing;PM6中断优先级36
Bnothing;PM8中断优先级47
B_nothing;PMA中断优先级58
Bnothing;PMC中断优先级69
6.4man.c程序
#include"2407c.h"
#include
#defineuintunsignedint
unsignedchardata[4]={0x01,0x02,0x04,0x08};
uintindex;
voiddisable()
{asm("setcINTM");}
voidenable()
{asm("clrcINTM");
}
voidinitial()
{
asm("setcSXM");//抑制符号位扩展
asm("clrcOVM");//累加器中结果正常溢出
asm("clrcCNF");//B0被配置为数据存储空间
asm("setcINTM");//禁止所有中断
*SCSR1=0x0E04;//CLKIN=15M,CLKOUT=2*CLKIN=30M
*WDCR=0x00E8;//不使能看门狗,因为SCSR2中的
//WDOVERRIDE
//即WD保护位复位后的缺省值为1,故可以用软件禁止看门狗
*IMR=0x0002;//INT2中断
*IFR=0x0FFFF;//清除全部中断标志,"写1清0"
*MCRA=0X0000;
index=0;
}
voidtimerlint()
{
*EVAIMRA=*EVAIMRA|0X0780;//允许定时器1周期中断
*EVAIFRA=*EVAIFRA&0X0780;//清除定时器1周期中断标志
*T1CON=0X1602;//timer为连续增记数模式,
*T1PR=0X0F00E;//
*T1CMPR=0x00FF;
*T1CNT=0X00;
}
voidinterruptT1INT()
{
intflag;
flag=*EVAIFRA&0x0080;//读取中断标志
if(flag!
=0)
{
outport(3,data[index]);
*T1CNT=0x00;
*EVAIFRA=*EVAIFRA&0x0080;
index+=1;
if(index==4)
index=0;
}
enable();return;
}
voidinterruptnothing()
{enable();
return;
}
main()
{
disable();
initial();
timerlint();
enable();
*T1CON=*T1CON|0x0040;
while
(1){;}
}
七、实验结果
实验实现了程序控制DSP2407的中断和计数器功能,四个灯实现了从D5
循环闪亮。
八、总结
DSP作为嵌入式处理器家族的一大类,其结构特点决定了它尤其适合做数字信号处理的应用,而学好数字信号处理对日后的信息处理的深入学习和应用有着重要意义,因而学好DSP技术也就有着深远的意义。
通过此次课程设计我学习了一个实际的电子系统的完整的设计流程,掌握了PCB设计软件AltiumDesigner的使用方法,并熟悉了CCS工程的建立和基于TMS320VC5416的DSP程序的编写。
在此次课程设计中我也遇到了很多问题,首先是绘制PCB版图时的布局和布线问题,这是一个需要经验和技巧的问题,尤其是Flash器件与DSP的连线较多而DSP的所有数据线和地址线分布又较为分散,所以也就多画了几遍,争取精益求精还是能够画好的。
还有创建CCS工程后cmd文件和中断向量表的详细配置,这两个文件的修改需要清楚DSP的结构以及存储器映射情况,通过阅读几本参考书和其他一些资料,自己已经基本明白了他们的作用和配置方法。
还有就是程序的调试,DSP的结构比单片机要复杂的多,相应的寄存器也就较多,而很多情况下编写DSP程序都需要操作和配置寄存器,这既要求对冯诺依曼体系结构的处理器的共性有一定了解,同时也要针对DSP的特点来进行,编程前需对各个硬件模块之间的内在联系进行整体考虑,这样可以训练自己的系统思维。
当然这些问题都有一定的难度,但是想办法解决它们的过程也就是学习和进步的过程。
在课程设计的这段时间,我获益匪浅。
不但进一步掌握了DSP的基础知识及MATLAB的基本操作,还使我了解了信号的产生、采样及频谱分析的方法。
我进一步了解到凡事都需要耐心,细心仔细是成功的保证。
虽然在做的过程中遇到了一些问题,但是我都通过自己的努力解决了它们,证明了自己的能力。
这次课程设计对我的综合能力有了很大的提高,对我以后的工作,实践都有很大的帮助。
通过本次课设不但让我又学到了一些知识,而且也提高了我的综合能力。
使我在各个方面都得到了锻炼,以后有这样的机会一定会更加的很好利用,它不仅可以提高学习的针对性而且可以很好的锻炼动手能力以及自己的逻辑设计能力和处理问题的能力,希望在以后这方面的能力会很好的加强;感谢陈老师的认真指导和耐心解答过程中的疑问。
九、参考文献
[1]刘和平,邓力,江渝,郑群英.DSP原理及电机控制应用一基于TMS320LF240x系列.
北京:
北京航空航天大学出版社,2006.
[2]戴明帧周建江《TMS320C2407XDSP结构、原理及应用》(第二版)
北京航空航天大学出版社2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流水 实现 课程设计 基于 DSP2407