DSP技术与应用实验指导(txt+pdf+epub+mobi电子书下载)


发布时间:2021-02-19 19:01:49

点击下载

作者:段丽娜主编

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

DSP技术与应用实验指导

DSP技术与应用实验指导试读:

前言

德州仪器TI公司的DSP芯片在市场上占主导地位,目前TI主推的有3种系列的DSP,分别是 DSP2000 系列、DSP5000 系列和 DSP6000 系列。它们的应用各不相同,DSP2000系列芯片用于电动机控制、家用电器和变频电源控制等,DSP5000系列芯片用于手机、便携式媒体播放器和数码相机等,DSP6000系列用于无线机站、视频流、视频会议和视频安全防护等。

DSP 实验开发系统是 DSP2000 和 DSP5000 二合一的实验系统,实验系统包含了DSP5000类实验和DSP2000类实验。

DSP5000类实验主要介绍了TI的TMS320VC54X系列DSP的技术和应用实例,关于DSP的原理学习请参考相关教材。DSP2000类实验主要介绍TI的TMS320LF240X系列的DSP的资源应用实验。

本实验指导书主要介绍DSP5000类应用实验,基础实验;DSP2000类的应用实验,实现TMS320LF2407A的基本资源应用实验,另外还添加了一些电动机控制实验,控制对象有直流电动机和交流电动机。

用户除了完成实验指导书上规定的实验外,还可以根据指导书中提供的原理图和源代码来完成自己的项目开发和电子设计。

编者在编写本书过程中得到了华中科技大学武昌分校徐盛林教授的大力支持和帮助,此外也得到了李川香教授、雷丹、陈强、李静、吴雯、何为老师的帮助,也感谢人民邮电出版社为选题、立项、编审所作出的贡献。

由于编者水平有限,书中不妥和疏漏之处在所难免,恳请广大读者批评指正!编者

第一部分 C5000/2000 DSP实验箱介绍

第一章 开发系统使用说明

本章主要对开发系统选用的DSP芯片及开发系统的硬件使用方法进行介绍,使用户对本产品有一个具体深入的了解。

1.1 DSP芯片简介

本产品选用的是TI公司的TMS320C54X系列的DSP芯片,TMS320C5X是TI公司的第五代产品,是继TMS320C1X和TMS320C2X之后的第三代16位定点DSP处理器。TMS320C5X的性能达到20~50 MIPS,在典型应用中能耗降至2.35 mA/MIPS。它的核心中央处理器(CPU)以TMS320C25的核心CPU为基础,增强型结构大幅度地提高了整体性能。

TMS320C5X工作速度是TMS320C25的2倍以上,对于TMS320C1X和TMS320C2X具有源代码向下兼容特性。这种兼容性保留了过去开发的软件,便于系统升级到更高性能的 DSP系统。TMS320C5X系列有TMS320C50/C51/C52/C53/C54等多种产品,它们的主要区别是片内RAM、ROM等资源的多少。其中,TMS320C54X具有以下优点。

• 改进的哈佛结构。围绕1 组程序总线、3 组数据总线和4 组地址总线建立的哈佛结构,使得性能和多功能性都得以提高。

• 具有高度并行性和专用硬件逻辑的CPU 设计,使芯片性能大大提高。

• 高度专业化指令集,更适用于快捷算法的实现和高级语言编程的优化。

• 模块化结构的设计,使派生器件得到了更快的发展。

• 最新的IC 制造工艺,提高了芯片性能,降低了功耗。

• 最新的静态设计技术使得芯片具有更低的功耗和更强的辐射能力。这些使得C54X 特别适用于远程通信实时嵌入式应用的需要。

1.2 TMS320C54X的主要特性

• 多总线结构,3 组16 bit 数据总线和1 组程序总线。

• 40 bit 算术逻辑单元(ALU),包括一个40 bit 桶形移位器和两个独立的40 bit 累加器。

• 17 bit×17 bit 并行乘法器,连接一个40 bit 的专用加法器,可用来进行非流水单周期乘/加(MAC)运算。

• 比较、选择和存储单元(CSSU)用于Viterbi运算器的加/比较/选择。

• 指数编码器在一个周期里计算一个40 bit 累加器的指数值。

• 两个地址发生器中有8 个辅助寄存器和两个辅助寄存器算术单元(ARAUs)。

• 数据总线具有总线保持特性。

• C548 具有扩展寻址方式,最大可寻址扩展空间为8 M×16 bit。

• 可访问的存储器空间最大可为196 K×16 bit(64 K程序存储器,64 K数据存储器和64 K I/O存储器)。

• 支持单指令循环和块循环。

• 存储块移动指令提供了更好的程序和数据管理。

• 支持32 bit 长操作数指令,支持两个或3 个操作数读指令,支持并行存储和并行装入的算术指令,支持条件存储指令及中断快速返回指令。

• 软件可编程等待状态发生器和可编程的存储单元转换。

• 连接内部振荡器或外部时钟源的锁相环(PLL)发生器。

• 支持8 bit或16 bit 传送的全双工串口(C541、LC541、LC545 和LC546)。

• 时分多用(TDM)串口(C542、LC542、LC543、LC548)。

• 缓冲串口(BSP)(C542、LC542、LC543、LC545、LC546和LC548)。

• 8 bit 并行主机接口(HPI)(C542、LC542、LC545和LC548)。

• 1个16 bit 定时器。

• 外部输入/输出(XIO)关闭控制,禁止外部数据总线、地址总线和控制总线。

• 片内基于扫描的仿真逻辑,JTAG 边界扫描逻辑(IEEE 1149.1)。

• 单周期定点指令执行时间可达15 ns。

1.3 TMS320C54X的结构

1.3.1 结构概述

TMS320C54X是16bit定点DSP,采用改进的哈佛结构。C54X有1组程序总线和3组数据总线,高度并行性的算术逻辑单元(ALU),专用硬件逻辑,片内存储器,片内外设和高度专业化的指令集,使该芯片速度更高,操作更灵活。

程序和数据空间分开允许同时对程序指令和数据进行访问,提供了很高的并行度。可以在一个周期里完成两个读和一个写操作。因此,并行存储指令和专用指令可以在这种结构里得到充分利用。另外,数据可以在数据空间和程序空间之间传送。并行性支持一系列算术、逻辑和位处理运算,它们都能在一个机器周期里完成。另外,C54X具有管理中断、循环运算和功能调用的控制结构。

1.3.2 总线结构

C54X的结构是围绕8 组主要的16 bit总线(4 组程序/数据总线,4 组地址总线)建立的。

• 程序总线(PB)传送从程序存储器来的指令码和立即数。

• 3 组数据总线(CB、DB和EB)连接各种元器件,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB和DB总线传送从数据存储器读出的操作数。EB总线传送写入到存储器中的数据。

• 4 组地址总线(PAB、CAB、DAB 和EAB)传送指令所需要的地址。

1.4 中央处理单元

C54X/LC54X芯片的中央处理单元(CPU)包括以下内容。

• 1个40 bit 的算术逻辑单元(ALU)。

• 两个40 bit 的累加器(ACCA和ACCB)。

• 1 个桶形移位器。

• 17 bit×17 bit 并行乘法器。

• 40 bit 加法器。

• 比较、选择和存储单元(CSSU)。

• 指数编码器。

• 各种CPU 寄存器(CPU 寄存器是存储器映射的,能快速恢复和保存)。

1.4.1 算术逻辑单元

C54X/LC54X使用40 bit的算术逻辑单元(ALU)和两个40 bit的累加器(ACCA和ACCB)来完成二进制补码的算术运算。同时,ALU也能完成布尔运算。

1.4.2 累加器

累加器ACCA和ACCB存放从ALU或乘法器/加法器单元输出的数据,累加器也能输出到ALU或乘法器/加法器中。累加器可分为3个部分。

• 保护位(32~39)。

• 高位字(16~31)。

• 低位字(0~15)。

保护位用来为计算机的前部留空(head margin),防止在迭代运算中产生溢出。AG、BG、AH、BH、AL、BL 都是存储器映射寄存器,由特定的指令将其内容存放到数据存储器中,以及从存储器中读出或写入32 bit 累加器。同时,任何一个累加器都可以用来作为暂存器使用。

1.4.3 桶形移位器

C54X的桶形移位器有一个与累加器或数据存储器(CB、DB)相连接的40 bit 输入和一个与ALU 或数据存储器(EB)相连接的40 bit 输出。桶形移位器能把输入的数据进行0~31的左移或者0~16的右移。这种移位能力使处理器能完成数字定标、位提取、扩展算术和溢出保护等操作。

1.4.4 乘法器/加法器单元

乘法器/加法器与一个40 bit的累加器在一个指令周期内完成17 bit×17 bit的二进制补码运算。乘法器有两个输入:一个是从暂存器T数据存储器操作数或一个累加器中选择,另一个是从程序存储、数据存储器、一个累加器或立即数中选择。快速的片内乘法器使C54X能有效完成卷积、相关和滤波等运算。

1.4.5 比较、选择和存储单元

比较、选择和存储单元(CSSU)完成累加器的高位字和低位字之间的最大值比较,即选择累加器中的较大字并存储在数据存储器中,不改变状态寄存器ST0中测试/控制位和传送寄存器(TRN)的值。

1.4.6 指数编码器

指数编码器是用于支持单周期指令EXP的专用硬件。

1.4.7 CPU状态和控制寄存器

C54X有3个状态和控制寄存器,分别为:状态寄存器ST0、ST1和处理方式状态寄存器(PMST)。ST0和ST1包括了各种条件和方式的状态,PMST包括了存储器配置状态和控制信息。

1.5 中央存储器组织

C54X存储器由3个独立可选择的空间组成:程序、数据和I/O空间。所有的C54X芯片都包括随机存储器(RAM)和只读存储器(ROM)。RAM又分为两种:双访问RAM(DARAM)和单访问RAM(SARAM)。C54X还有映射到数据存储空间的26个CPU寄存器和外设寄存器。

1.5.1 片内ROM

C541有28 K×16 bit片内ROM。如果C541的处理方式状态寄存器中的数据ROM(DROM)位被置位,那么其中8 K 的ROM 可以映射到程序和数据空间。这就允许一条指令使用存储在ROM 中的数据作为操作数。C545/C546 都是48 K×16 bit 片内可屏蔽ROM。如果它们各自的处理器方式状态寄存器中DROM位被置位,那么其中16 K的ROM可以映射到程序和数据空间。C542/C543/C548都有2 K×16 的片内ROM。

在标准的C54X片内ROM中有一个引导程序,它可以把用户代码调入到程序存储器的任何一个位置。如果MP/MC在硬件复位时为低电平,执行从单元FF80H开始。这个单元存有转移到引导程序开始处的转移指令。

1.5.2 片内双访问RAM

C541有5K×16bit 片内双访问RAM(DARAM,1K为一块),C542 和C543 分别有10K×16bit的DARAM(2K为一块),C545和C546 有6K×16bit的DARAM(2K为一块),C548有8K×16bit的DARAM(2K为一块)。每块都能在一个机器周期里被访问两次。这种存储器往往优先存储数据值,也可以用来存储程序。复位时,DARAM映射到数据存储空间。DARAM也可以通过设置PMST中的OVLY位映射到程序/数据空间。

1.5.3 片内单访问RAM

片内单访问RAM(SARAM)由几块组成,每块在一个机器周期里只能访问一次(读或写)。SARAM也是优先存储数据,也可以映射到程序空间来存储程序代码。C54X具有一个可屏蔽存储器的保护选项,用来保护片内存储器的内容。当选定这项时,所有外部产生的指令都不能访问片内存储空间。

1.5.4 存储器映射寄存器

数据存储空间包含了CPU和片内外设的存储器映射寄存器。这些寄存器位于数据存储空间的第0页,以简化对它们的访问,如表1.1所示。表1.1 C54X系列DSP存储器映射寄存器续表

以下对一些寄存器做简单的介绍。

• 辅助寄存器(AR0~AR7)。

8 个16 bit 的辅助寄存器(AR0~AR7)能被 CALU 访问,也能被辅助寄存器算术单元(ARAUs)修改。它们最主要的功能是产生16 bit的数据空间。

• 暂存器(TREG)。

TREG为乘法指令和乘/累加指令存放一个乘数,它能为带有移位操作的指令,如ADD、LD和SUB存放一个动态的(执行时间可编程)移位计数,也能为BITT指令存放一个动态地址。EXP指令把计算出的指数值存入TREG,而NORM指令将TREG的值归一化。

• 过渡寄存器(TRN)。

TRN是一个16 bit的寄存器,用来为得到新的度量值存放中间结果,以完成Viterbi算法。CMPS(比较、选择和存储)指令在累加器高位字和低位字进行比较的基础上修改TRN的内容。

• 堆栈指针寄存器(SP)。

SP 是存放栈顶地址的 16 bit 寄存器。SP 总是指向压入堆栈的最后一个数据。中断、陷阱、调用、返回和PUSHD、PUSHM、POPD以及POPM等指令都要进行堆栈处理。

• 循环缓冲大小寄存器(BK)。

由ARAUs用来在循环寻址中确定数据块的大小。

• 块循环寄存器(BRC、RSA、REA)。

块循环计数器(BRC)在块循环时确定一块代码所需循环的次数。块循环开始地址(RSA)是需要循环的程序块的开始地址。块循环尾地址(REA)是循环程序块的结束地址。

• 中断寄存器(IMR、IFR)。

中断屏蔽寄存器(IMR)在需要的时候独立地屏蔽特定的中断。中断标志寄存器(IFR)用来指明各个中断的目前状态。

1.6 C54X芯片外部设备

所有的C54X都有相同的CPU,但它们的CPU对应了不同的片内外设。C54X芯片有以下片内外设:通用I/O引脚(BIO和XF)、软件可编程等待状态发生器、可编程的块切换逻辑、主机接口(HPI)、硬件定时器、时钟发生器和串口。

1.6.1 通用I/O引脚

每一种C54X芯片都有两个通用I/O引脚——BIO和XF。BIO是用来监测外部设备状态的输入引脚。在对时间要求很严格的循环不能被外设中断所打断的时候,可以用BIO脚来代替中断与外设相连,根据BIO输入的状态来执行一个转移。XF用于发信号给外部设备,通过软件进行控制。

1.6.2 软件可编程等待状态发生器

软件可编程等待状态发生器都可以把外部总线周期扩展到7个机器周期,以适应较慢的片外存储器和I/O设备。它不需要任何外部硬件,只由软件完成。

1.6.3 可编程块切换逻辑

可编程块切换逻辑在访问越过存储器块边界,或从程序存储器跨越到数据存储器时,能自动插入一个周期。这个额外的周期允许存储器器件在其他器件开始驱动总线之前释放总线,以防止总线竞争。

1.6.4 主机接口

主机接口(HPI)是一个8bit的并口,提供C54X与主处理机的接口,如表1.2所示。C54X和主处理机都可以访问C54X的片内存储器,并且通过它进行信息交换。表1.2 C54X系列DSP主机接口

1.6.5 硬件定时器

C54X有一个带有4bit预定标器(PSC)的16bit的定时电路。这个定时计数器在每个时钟周期中减1,每当计数器减至0时就会产生一个定时中断。可以通过设置特定的状态位来使定时器停止、恢复运行、复位或停止。

1.6.6 时钟发生器

时钟发生器由一个内部振荡器和一个锁相环电路组成。它可以通过内部的晶振或外部的时钟源驱动。锁相环电路能使时钟源乘上一个特定的系数,以得到一个内部CPU时钟。

1.6.7 串口

各种C54X芯片配有不同的串口,分为3种类型:同步串口、缓冲串口和时分多用(TDM)串口,如表1.3所示。表1.3 C54X系列DSP串口

• 同步串口。

同步串口是高速、全双工串口,提供与编码器、A/D转换器等串行设备之间的通信。如果一块C54X芯片中有多个同步串口,则它们是相同的但是独立的。每个同步串口都能工作到1/4机器周期频率(CLKOUT)。同步串口发送器和接收器是双向缓冲的,单独由可屏蔽的外部中断信号控制,数据可以bytes或字传送。

• 缓冲串口。

缓冲串口(BSP)是在同步串口的基础上增加了自动缓冲单元,并以整CLKOUT频率计时。它是全双工和双缓冲的,以提供灵活的数据串长度。自动缓冲单元支持高速传送并能降低服务开销。

• 时分多用串口。

时分多用(TDM)串口是一个允许数据时分多用的同步串口。它既能工作在同步方式下也能工作在TDM方式下,在多处理器中得到广泛应用。

1.7 外部总线接口

C54X能对64K的程序存储器、64K的数据存储器和64K的并行I/O口寻址。对外部存储器或I/O的访问通过外部总线进行。独立的空间选择信号DS、PS和IS允许进行物理上分开的空间选择。

接口的外部输入信号和软件产生的等待状态允许处理器与各种不同速度的存储器和 I/O设备相连。接口的保持模式使得外部设备能控制C54X的总线,这样外部设备就能访问程序、数据和I/O空间资源。

C54X的大部分指令都能访问外部存储器,但访问I/O需要使用特殊的指令,如PORTR和PORTW。

1.8 IEEE 1149.1标准扫描逻辑

IEEE 1149.1 标准扫描逻辑电路用于仿真和测试,它提供对所连设备的边界扫描。同时,它也能用来测试引脚的连续性,以及完成C54X 芯片的外围器件的操作测试。IEEE 1149.1 标准扫描逻辑与能访问片内所有资源的内部扫描电路相连。因此,C54X能使用IEEE 1149.1 标准串行扫描引脚和专用仿真引脚来完成在线仿真。

1.9 TMS320C54X引脚和信号说明

TMS320C54X基本采用薄的塑料或陶瓷四方扁平封装(TQFP),如图1.1所示。下面给出C54X的引脚说明及对应的信号说明,如表1.4所示。表1.4中的I是输入,O是输出,Z是高阻态,S是电源。图1.1 TMS320C54X引脚图表1.4 C54X系列DSP引脚信号说明续表续表续表

1.10 实验开发系统使用说明

DSP系统板框图如图1.2所示。

本系统一共包含12个模块,包括TMS320VC5402插板模块、DSP仿真机模块、电源模块、信号源模块、LCD 液晶显示模块、A/D&D/A 模块、单片机模块、逻辑输入模块、逻辑控制模块、语音模块、外部存储器模块和面包板模块。

硬件结构说明如下。

1.TMS320VC5402插板(如图1.2所示)图1.2 TMS320VC5402插板

TMS320VC5402插板插在主板上,从该插板上引出数据总线、地址总线、主机接口(HPI接口)、同步缓冲串口等引脚。

数据、地址总线插座说明如图1.3所示。图1.3 排线插座引脚图

ZY13DSP12BC2中排线插座都是10脚,将排线插座的开口边面向自己,左起为1脚,从下至上,从左往右引脚数依次增加,如图1.3所示。

TMS320VC5402插板块引脚说明如表1.5所示。表1.5 TMS320VC5402系统模块引出脚说明

CLKMD1、CLKMD2、CLKMD3 为时钟模式引脚,通过设置这些引脚可以改变TMS320VC5402内部时钟。

按键K1(如图1.4所示)从左往右依次连接DSP引脚:MP/MC、CLKMD3、CLKMD2、CLKMD1。向上拨为“1”,向下拨为“0”,不同的组合产生的倍频效果如表1.6所示。图1.4 按键K1表1.6 硬件PLL时钟配置方式

2.DSP仿真机

实验开发系统内置EPP仿真机,只需要一根并口线将PC机并口和开发系统的P1口连接起来,就可以实现DSP仿真。

3.电源模块(如图1.5所示)图1.5 电源模块

本实验开发系统配备1.8V、2.5V、3.3V、-5V、+5V、-12V、+12V 电源。S1 控制+5V,S1按下LE0点亮,S2同时控制+12V,-12V,S2按下LE1点亮。除信号源模块和语音处理实验以及A/D、D/A 实验需要+12V 和-12V 外,其他实验均不需要+12V 和-12V。

4.信号源模块(如图1.6所示)

KD1按下,+12V、-12V电源接入信号源电路。TTD1、TTD2、TTD3分别输出正弦波、方波和三角波。JD1、JD2 选择不同的频段,JD1 短接则输出最高频率可达1kHz;JD2 短接则输出最高频率可达10kHz。JD3短接,TTD2输出使能。JD4短接,TTD1输出使能。图1.6 信号源模块

WD2、WD3、WD4分别调节正弦波的幅度,负向失真,正向失真;WD5、WD6调节输出波形的占空比,输出频率;WD1调节方波的输出幅度。

信号源模块引脚输出说明如表1.7所示。表1.7 信号源模块引出脚说明

5.LCD液晶显示模块(如图1.7所示)图1.7 LCD液晶显示模块

PC28的1~8脚连接液晶显示屏的8位数据线,即LCD管脚7~14。PC27的1~3脚分别连接液晶显示屏的管脚4~6。

W1为对比度调节开关,如果发现亮度不够,可以调节此电位器。B0为下载接口,可以通过此接口对ADUC812下载程序。

6.A/D&D/A模块(如图1.8所示)图1.8 A/D&D/A模块

A/D转换和D/A转换是由ADUC812来完成的。ADUC812在单个芯片内包含了高性能的自校准多通道ADC(8路)、两个12位的DAC以及可编程的8位MCU(与8051兼容)。

片内有8 KB的闪速/电擦除程序存储器、64 KB 的闪速/电擦除数据存储器、256 bit 数据SRAM(支持可编程)以及与8051兼容的内核。

另外,MCU 支持的功能包括看门狗定时器、电源监视器以及ADC DMA 功能。为多处理器接口和I/O扩展提供了32条可编程的I/O2口线、与IC总线兼容的串行接口、SPI接口和标准UART接口。

MCU内核和模拟转换器二者均有正常、空闲以及掉电工作模式,它提供了适合于低功率应用的电源管理方案。该器件包括在工业温度范围内用3V和5V 电压工作的两种规格,有52脚、塑料四方扁平封装形式(PQTP)可供使用。

PC10连接A/D转换或D/A转换低8位数据线,PC11连接A/D转换或D/A转换高4位数据线。TP33、TP32、TP16、DA1、DA0分别连接ADUC812的19、18、13、10和9脚(如表1.8所示)。拨动K18对ADUC812进行控制,当LE2不亮时处于程序下载模式,当LE2点亮时处于程序运行状态,当这两种状态之间进行切换时,一定要在切换后按K21键对ADUC812进行复位。表1.8 A/D与D/A转换模块引出脚说明

7.单片机模块(如图1.9所示)图1.9 单片机模块

单片机模块引出脚说明如表1.9所示。表1.9 单片机模块引出脚说明

8.逻辑输入模块(如图1.10所示)

PC12的1~8脚分别连接开关K10~K17。开关K10~K17分别对应一组二进制数据的0~7位。当指示灯(L10~L17)点亮时对应的开关指向“1”,即高电平;当指示灯(L10~L17)不亮时,对应的开关指向“0”,即低电平。

9.逻辑控制模块(如图1.11所示)图1.10 逻辑输入模块图1.11 逻辑控制模块

逻辑控制模块引出脚说明如表1.10所示。表1.10 逻辑控制模块引出脚说明续表

使用内部仿真机时,FK1~FK9 跳线帽一定不能拔,使用外部仿真机时要将跳线帽拔掉。

10.语音模块(如图1.12所示)图1.12 语音模块

语音处理模块引出脚说明如表1.11所示。表1.11 语音处理模块引出脚说明

11.外部存储器模块(如图1.13所示)图1.13 外部存储器模块

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载