DSP技术大作业文档格式.docx

上传人:b****5 文档编号:20428008 上传时间:2023-01-22 格式:DOCX 页数:14 大小:921.60KB
下载 相关 举报
DSP技术大作业文档格式.docx_第1页
第1页 / 共14页
DSP技术大作业文档格式.docx_第2页
第2页 / 共14页
DSP技术大作业文档格式.docx_第3页
第3页 / 共14页
DSP技术大作业文档格式.docx_第4页
第4页 / 共14页
DSP技术大作业文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

DSP技术大作业文档格式.docx

《DSP技术大作业文档格式.docx》由会员分享,可在线阅读,更多相关《DSP技术大作业文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

DSP技术大作业文档格式.docx

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

(6)具有在单周期内操作的多个硬件地址产生器;

(7)可以并行执行多个操作;

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。

当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

1.2、DSP的发展

世界上第一个单片DSP芯片是1978年AMI公司宣布的S2811,1979年美国Iintel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。

这两种芯片内部都没有现代DSP芯片所必须的单周期芯片。

1980年,日本NEC公司推出的μPD7720是第一个具有乘法器的商用DSP 

芯片。

第一个采用CMOS工艺生产浮点DSP芯片的是日本的Hitachi 

公司,它于1982年推出了浮点DSP芯片。

1983年,日本的Fujitsu公司推出的MB8764,其指令周期为120ns 

,且具有双内部总线,从而处理的吞吐量发生了一个大的飞跃。

而第一个高性能的浮点DSP芯片应是AT&

T公司于1984年推出的DSP32。

在这么多的DSP芯片种类中,最成功的是美国德克萨斯仪器公司(Texas 

Instruments,简称TI)的一系列产品。

TI公司在1982年成功推出启迪一代DSP芯片TMS32010及其系列产品TMS32011、TMS32C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS32C30/C31/C32,第四代DSP芯片TMS32C40/C44,第五代DSP芯片TMS32C50/C51/C52/C53以及集多个DSP于一体的高性能DSP芯片TMS32C80/C82等。

自1980年以来,DSP芯片得到了突飞猛进的发展,DSP芯片的应用越来越广泛。

从运算速度来看,MAC(一次乘法和一次加法)时间已经从80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),处理能力提高了10多倍。

DSP芯片内部关键的乘法器部件从1980年的占模区的40左右下降到5以下,片内RAM增加一个数量级以上。

从制造工艺来看,1980年采用4μ的N沟道MOS工艺,而现在则普遍采用亚微米CMOS工艺。

DSP芯片的引脚数量从1980年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加。

此外,DSP芯片的发展,是DSP系统的成本、体积、重量和功耗都有很大程度的下降。

第2部分硬件结构及硬件系统

TMS320C54x(简称’C54x)是TI公司为实现低功耗、高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适应于远程通信等实时嵌入式应用的需要,现已广泛地应用于无线电通信系统中。

TMS320C54x的硬件结构主要分为以下几块:

2.1cpu

(1)采用先进的多总线结构,通过1组程序总线、3组数据总线和4组地址总线来实现。

(2)40位算术逻辑运算单元ALU,包括1个40位桶形移位寄存器和2个独立的40位累加器。

(3)17×

17位并行乘法器,与40位专用加法器相连,可用于进行非流水线的单周期乘法-累加运算。

(4)比较、选择、存储单元(CSSU),用于加法、比较、选择运算。

(5)指数编码器,是一个支持单周期指令EXP的专用硬件,可以在单个周期内计算40位累加器中数值的指数。

(6)双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU)。

2.2存储器

(1)可访问的最大存储空间为192K×

16位,即64K字的程序存储器、64K字的数据存储器以及64K字的I/O空间。

(2)片内ROM,可配置为程序存储器和数据存储器。

(3)片内RAM有两种类型,即双寻址RAM(DARAM)和单寻址RAM(SARAM)。

2.3片内外设

(1)软件可编程等待状态发生器。

(2)可编程分区切换逻辑电路。

(3)带有内部振荡器或用外部时钟源的片内锁相环时钟发生器。

(4)支持全双工操作的串行口,可进行8位或16位串行通信。

(5)片内的串行口根据型号不同可分为4种:

单通道同步串行口(SP)、带缓冲器单通道同步串行口(BSP)、并行带缓冲器多通道同步串行口(McBSP)、时分多通道带缓冲器串行口(TMD)。

处理器不同串行口配置也不尽相同。

(6)可与主机直接连接的8位或16位并行主机接口(HPI)。

(7)16位可编程定时器。

(8)6通道直接存储器访问(DMA)控制器。

(9)外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。

(10)数据总线具有总线保持特性。

TMS320C54xDSP的内部硬件结构如下图所示

第3部分指令系统

’C54x指令系统有两种分类方法:

1、按指令的功能分类

2、按指令所要求的周期分类

其中按指令的功能可将’C54x指令系统分为4大类,下面分别对这4大类指令系统做简单介绍。

(1)算术运算指令

算术运算指令是实现数学计算的重要指令集合。

’C54x的算术指令具有运算功能强、指令丰富等特点。

包括:

加法指令(ADD)

减法指令(SUB)

乘法指令(MPY)

乘法-累加/减指令(MAC/MAS)

双字运算指令(DADD)

特殊用途指令

加法指令共有13条如下图所示:

减法指令也包括13条如下图所示

乘法指令

乘法指令共10条如下图所示

(2)逻辑运算指令

逻辑运算指令包括与指令(AND),或指令(OR),异或指令(XOR),移位指令(ROL)和测试指令(BITF)

与指令

与指令有5条如下图所示

或指令

或指令有5条如下图所示

(3)程序控制指令

程序控制指令包括分支指令(B,BC),调用指令(CALL),中断指令(INTR,TRAP),返回指令(RET),重复指令(RPT),堆栈操作指令(FRAME,POP),其它程序控制指令(IDLE,NOP)

分支指令

分支指令有6条如下图所示

调用指令

调用指令有6条如下图所示

(4) 

加载和存储指令 

加载和存储指令包括一般的加载和存储指令(LD,ST),条件存储指令(CMPS,SACCD),并行的读取和乘法指令(LD‖MAC),并行的读取和存储指令(LD‖ST),并行的存储和乘法指令(ST‖MAC),并行的读取和加减指令(LD‖ADD,LD‖SUB)以及其他读取类型和存储类指令(MVDD,PORTW,READA)

.加载指令 

加载指令共21条,见下图

存储指令

存储指令有14条如下所示

第4部分软件开发及CCS集成开发环境

CCS开发流程如下所示:

一、创建一个新工程

1、启动CCS集成开发环境。

2、从Project菜单中选择New命令。

3、ProjectName填volume1。

4、Location填1步创建的那个新文件夹。

5、ProjectType选择Executable(.out).

6、Target选择你的目标芯片比如TMS320C28XX,然后按“Finish”按钮完成创建一个新工程的任

务。

CCS将创建一个项目文件“volume1.pjt”,该文件保存项目设置,并引用项目中的其它文件。

二、在项目中添加文件

1、执行“Project-->

AddFilestoProject”命令,选择“volume.c”文件,单击“Open”按钮,这样就把文件加入到项目中了。

2、执行“Project-->

AddFilestoProject”命令,在打开的对话框中,文件类型选择汇编语言源文件类型即“(*.a*)”,选择“vectors.asm”和“load.asm”两个文件,单击“Open”按钮,这样就把这两个文件加入到项目中了。

3、执行“Project-->

AddFilestoProject”命令,在打开的对话框中,文件类型选择连接器命令文件类型即“(*.cmd,*.lcf)”,选择“volume.cmd”文件,单击“Open”按钮,这样就把这个文件加入到你的项目中了。

该文件包含内存布局的相关信息。

4、执行“Project-->

AddFilestoProject”命令,在打开的对话框中,首先导航到编译库文件

夹“(C:

\CCStudio_v3.3\c2000\cgtools\lib)”,文件类型选择目标文件和库文件类型即“(*.o*,*.l)”,选择和目标芯片相适应的TI实时支持库(run-timesupportlibrary)文件,对于模拟C28xx目标芯片可选择“rts2800_ml.lib”,单击“Open”按钮,这样就把这个文件加入到你的项目中了。

这个库文件

将为目标芯片提供实时支持。

5、鼠标右键单击“volume1.pjt”,在弹出的菜单中选择“ScanAllFileDependencies”命令,

再仔细观察,“Include”文件夹左边多了一个“+”号,单击“+”号展开“Include”文件夹,发现“volume.h”文件被自动添加到工程里面了。

所以说.h文件不必手动添加,CCS会自动发现并添加它们。

即使不经过第5步,在编译一遍工程以后CCS仍然会自动添加.h文件到工程中。

如果想从工程中移除某个文件,就在项目视图中右键单击该文件,在弹出菜单中选择“Removefrom

Project”命令即可。

该文件被从项目中移除,但并不从磁盘上删除。

在编译程序的过程中,CCS寻找文件时按照以下顺序在相应的目录中查找:

1、包含源文件的路径。

2、编译器或汇编器的“IncludeSearchPath”选项指定的路径(指定多个路径时按从左至右顺序)。

三、编译并运行程序

RebuildAll”命令,CCS开始编译程序,底部的信息窗口将显示编译信息。

2、默认情况下,编译结果生成的.out文件被保存到工程目录的“Debug”文件夹下。

3、执行“File-->

LoadProgram”命令,在弹出对话框内找到编译生成的Volume1.out文件,单

击“打开”按钮,CCS就会把这个文件加载到目标DSP芯片上,同时打开一个反汇编窗口,窗口上显示

了Volume1.out文件的汇编指令。

4、在反汇编窗口中,单击汇编指令的助记符部分,按F1键即可打开关于该指令的帮助信息窗口,

对于不熟悉的汇编指令来说,这是一个很好的获取帮助信息的方法。

5、执行“Debug-->

GoMain”命令,程序开始执行并停止到main函数的位置,仔细观察可以发现

在源文件volume1.c和它的反汇编窗口里面都有一个有颜色的箭头指向main函数开始的位置。

6、执行“Debug-->

Run”命令,程序又继续执行,这时你应该在底部的Stdout窗口中发现main函

数发出的信息“volumeexamplestarted”。

7、执行“Debug-->

Halt”命令,程序停止运行。

8、“View-->

MixedSource/ASM”命令是个切换命令,可以决定是否让C源代码程序中混合显示

相应的汇编命令。

为了进行下一项内容,我们需要把该命令调整到不混合显示的状态。

第5部分DSP应用实例

<

DSP与单片机之间串行通信的设计与实现>

>

TI公司的定点通用数字信号处理器TMS320LF2407A以其强大的功能及优秀的性能价格比而得到了广泛的应用,为了采用单片机进行控制和信息交流,需要设计一个简单的接口,串行接口与并行接口相比,其最大的优点就是减少了使用DSP的引脚数目,降低了接口设计的复杂性。

同时充分利用DSP多功能串行接口和DMA搬移数据的能力,使DSP在处理串口通信时不会占用太多的处理时间,

节约了DSP的资源。

串行通信接口电路设计简单、容易实现,适合通信距离稍远、数据交换不多、传输速率要求不高的场合;

并行通信接口电路设计稍复杂,时序配合要求严格,但传输速率高,适合通信距离短、传输速率要求较高的场合。

本文要讨论的是单片机89C51与TMS320LF2407ADSP之间的通信,并提出了一种简单可行的串行通信方式。

设计复杂双CPU系统的关键是两者之间的接口与数据通信问题。

针对单片机89C51与TMS320LF2407A构成的双CPU系统,本文提出了一种简单可行的串行通信方式。

本文不仅介绍了两者之间的硬件连接示意图,而且完成了两者通信的初始化设置,并且给出了完整的串行通信的软件流程图。

硬件设计方面

89C51单品机有两个功能强打的全双工串行口可以同时接收和发送数据。

串行口主要由2个物理上独立的串行数据缓冲器SBUF.发送控制器。

接收控制器。

输入移位寄存器和输出控制门组成。

串行口是可以编程的接口,可以通过指令对SBUF的读写来区别是对发送缓冲器还是接收缓冲器的操作。

串行口的4种工作方式中,串行通信只使用方式1、2、3。

方式0主要用于扩展并行输入输出口。

下面只介绍方式1。

在方式1状态下,串行口为8位异步通信接口。

一帧信号为10位:

1位起始位(0),8位数据(低位在先)和1位停止位

(1)。

TXD为发送位,RXD为接收端。

波特率不变。

TMS320LF2407ADSP内部有串行外设接口SPI和异步串行接口SCI。

SPI总线是一种三线(即时钟、发送和接收)同步总线,硬件功能很强。

SCI是一个标准的通用异步接受/发送(UART)通信接口,支持DSP和其他使用标准NRZ(非归零)格式的异步外设之间的异步串行数字通信,数据的传送只需要两根线,在硬件电路方面更容易设计实现。

在本系统中,利用SCI实现单片机与DSP通信的原理示意图如下所示。

单片机与DSP通信的原理示意图

其中MAX232A是RS-232C双工发送器/接收器接口芯片。

该芯片与TTL/CMOS电平兼容,使用比较方便。

SCIRXD、SCITXD分别是TMS320LF2407ADSP的SCI接收数据引脚和发送数据引脚;

RXD、TXD分别是单片机89C51的串行口输入端和串行口输出端。

软件设计方面

要实现串行异步通信,收发双方必须进行初始化设置,规定好字符格式,波特率等。

单片机对串行口的初始化可通过将控制字写入串行口控制寄存器SCON和电源控制寄存器PCON进行。

把单片机设置成工作方式1,接收允许。

TMS320LF2407ADSP利用SCI与单片机89C51进行通信的软件流程下图所示

参考文献

[1]林立,张俊亮.单片机原理及应用-基于Proteus和KeilC[M].北京:

电子工业出版社,2012.

[2]贾志成,王宝珠.DSP技术原理及应用教程[M].北京:

北京航空航天大学出版社,2012.

[3]李拥军,杨龙,安吉宇. 

DSP原理及控制系统设计[M].北京:

清华大学出版社,2012.

[4](美)德州仪器著,彭启琮,张诗雅,常冉等编译. 

TIDSP集成化开发环境(CCS)使用手册[M].北京:

清华大学出版社,2005.

[5]丁玉美,高西全. 

数字信号处理器[M].西安:

西安电子科技大学出版社,2004.

期刊文章附于此

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

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1