1.1.2 数字信号处理的实现方法
(1) 在通用计算机上用软件(如C、MATLAN)实现。
(2) 在通用计算机系统中加上专用的加速处理机实现。
(3) 用通用的单片机(如MCS-51、96系列等)实现。
(4) 用通用的可编程DSP芯片实现。
(5) 用专用的DSP芯片实现。
(6) 用基于通用DSP核的ASIC芯片(FPGA/CPLD)实现
1.2.1 DSP芯片的特点
1.采用改进的哈佛结构
2.采用多总线结构
3.采用流水线技术
4. 配有专用的硬件乘法-累加器
5. 具有特殊的DSP指令
6.快速的指令周期
7.运算精度高
8.外设丰富,硬件配置强
9.支持多处理器结构
10.省电管理和低功耗
1.3.1 DSP系统的构成
一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等组成。
1.3.2 DSP系统的特点
(1)接口方便
(2)编程方便
(3)稳定性好
(4)精度高
(5)可重复性好
(6)集成方便
1.3.4 DSP芯片的选择
1.DSP芯片的运算速度2.DSP芯片的价格3.DSP芯片的硬件资源4.DSP芯片的运算精度5.DSP芯片的开发工具6.DSP芯片的功耗7.其它因素
(7) DSP系统设计分为以下几个阶段:
①明确设计任务,确定设计目标;
②算法模拟,确定性能指标;
③选择DSP芯片;
④设计实时的DSP应用系统;
⑤硬件和软件调试;
⑥系统集成和测试。
中央处理单元(CPU)
CPU是DSP器件的核心部件,它的性能直接关系到DSP器件的性能。
对所有的TMS320C54x器件来说,中央处理单元(CPU)是通用的。CPU的基本组成如下:
(1) 40位算术逻辑运算单元(ALU);
(2) 2个40位累加器;
(3) 一个40位的桶形移位寄存器;
(4) 乘法器/加法器单元(MAC);
(5) 比较、选择和存储单元(CSSU);
(6) 指数编码器;
(7) CPU状态和控制寄存器;
(8) 两个地址发生器。
2.2.1 CPU状态和控制寄存器
TMS320C54x有3个状态和控制寄存器;
(1) 状态寄存器0(ST0)
(2) 状态寄存器1(ST1)
(3) 处理器工作方式状态寄存器(PMST)。
ST0和ST1中包含各种工作条件和工作方式的状态;PMST中包含存储器的设置状态及其它控制信息。由于这些寄存器都是存储器映像寄存器,所以都可以快速地存放到数据存储器,或者由数据存储器对它们加载,或者用于程序或者中断服务程序保存和恢复处理器的状态。
本章小结
掌握TMS320C54x的总体结构及工作原理,是学习DSP的基础。本章重点讲述了以下几点:
1) TMS320C54x的总体结构,TMS320VC5402的管脚功能。
(2) TMS320C54x片内有8组16位总线,分别是1组程序总线、3组数据总线和4组地址总线,同时,还有1组双向总线用于寻址片内外围电路。
(3) 对所有的TMS320C54x器件来说,中央处理单元(CPU)是通用的。
(4) TMS320C54x采用并行结构设计,使其能在一条指令周期内,高速地完成多项算术运算。TMS320C54x有3个状态和控制寄存器(ST0、ST1、PMST)。
(5) 存储器分为数据存储器和程序存储器。TMS320C54x各种型号片内存储容量大小不等,可以扩展程序存储器空间。
(6) 数据地址发生器为存取数据存储器的信息操作产生地址。TMS320C54x DSP 的不同,片内的ROM组成容量不同。
3.6 串行外设接口SPI
’C54x为用户提供了丰富的同步串行口,可与双向串口器件实现高效的串行通信。
’C54x的串行口有四种类型:
标准同步串口SPI
缓冲同步串口BSP
多路缓冲串口McBSP
时分多路同步串口TMD
1.SPI的结构
1) 数据接收寄存器DRR
16位的存储器映像数据接收寄存器,用来保存来自RSR寄存器并将要写到数据总线的输入数据。复位时,DRR被清除
(2) 数据发送寄存器DXR
16位的存储器映像数据发送寄存器,用来保存来自数据总线并将要加载到XSR的外部串行数据。复位时,DXR被清除。
3) 数据接收移位寄存器RSR
16位的数据接收移位寄存器,用来保存来自串行数据接收(DR)引脚的输入数据,并控制数据到DRR的传输。
4) 数据发送移位寄存器XSR
16位数据发送移位寄存器,用来控制来自DXR的外部数据的传输,并保存将要发送到串行数据发送引脚的数据。
(5) 串行接口控制寄存器SPC
16位的存储器映像串行接口控制寄存器,用来保存串行接口的模式控制和状态位。(6) 控制电路
用于控制串行口协调工作,分为:
装载控制电路:完成接收和发送数据的装载;
位/字控制计数器:完成位/字传输控制。
3. SPI的操作
可管理访问串行口的缓冲器的方法有两种:
?查询法:查询串行口控制寄存器SPC。
?中断法:开放串行口中断。
3.7.1 中断系统概述
中断可以由硬件触发或者软件触发,中断信号使TMS320C54x系列的DSP暂停正在执行的程序,并进入中断服务程序(ISP)。
本章小结
(1) TMS320C54x通过I/O空间提供通用I/O口。两根I/O端口线分别是跳转控制输入引脚和外部标志输出引脚XF。
(2) 定时器由定时寄存器TIM、定时周期寄存器PRD和定时控制寄存器TCR及相应的逻辑控制电路组成。
(3) 时钟发生器为TMS320C54x DSP提供时钟信号,其内部由振荡器和锁相环PLL电路组成。TMS320C54x的时钟发生器要求硬件有一个参考时钟输入,其实际工作时钟频率可以用
软件编程或外部硬件电路在给定外部时钟频率的基础上进行调试控制
(4) 主机接口HPI是TMS320C54x系列定点芯片内部具有的一种接口部件,主要用于DSP 与其他总线或CPU进行通信。HPI接口通过HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据锁存器(HPID)和HPI内存块实现与主机通信。
(5)串行通信接口SCI为DSP内部的可编程异步串行通信模块,可以实现半双工或双工通信及多机之间通信。SCI结构主要包括:接收器、发送器、波特率发生器及一些控制和状态寄存器。发送器和接收器均是双缓冲的,并且都有自己独立的使能位和中断位,因此,SIC模块可以工作于全双工通信模式。
(6) TMS320C54x的串行口有4种类型:标准同步串口SPI、缓冲同步串口BSP、多路缓冲串口McBSP和时分多路同步串口TMD。标准串行外设接口SPI是一个可编程高速同步串行片内接口,为DSP提供了一个高速同步串行总线,实现与带有SPI接口芯片的连接。(7) TMS320C54x系统中断是由硬件或软件驱动的中断信号,使CPU中断当前程序,去执行中断服务程序。
LD #0FFh, A ;将立即数0FF传送至A
’C54x有7种基本的数据寻址方式:
立即寻址
绝对寻址由指令提供一个操作数
累加器寻址由指令提供一个操作数地址
直接寻址以累加器的内容为地址访问程序空间某单元
间接寻址寻址地址为DP或SP的值加上指令提供的偏移量
存储器映像利用辅助寄存器访问存储器
寄存器寻址用来改变映像寄存器,但不影响DP或SP的值
堆栈寻址:用来管理系统堆栈中的操作
’C54x共有8条指令可以进行MMR寻址:
LDM MMR,dst ;将MMR加载到累加器
MVDM dmad,MMR ;数据存储器向MMR传送数据
MVMD MMR,dmad ;MMR向指定地址传送数据
MVMM MMRx,MMRy ;MMRx向MMRy传送数据
POPM MMR ;将数据从栈顶弹至MMR
PSHM MMR ;将MMR数据压入堆栈
STLM src,MMR ;累加器低位存入MMR
STM #lk,MMR ;长立即数lk存入MMR
4.2.7 堆栈寻址
堆栈:当发生中断或子程序调用时,用来自动保存PC内容以及保护现场或传送参数。
’C54x的堆栈是向低地址生长,并由16位堆栈指针SP管理。SP总是指向栈顶
堆栈寻址:利用SP指针,按照先进后出的原则进行寻址。
当进栈操作时,SP先减小,然后数据进入堆栈;
当出栈操作时,数据先出栈,然后SP增加。
采用堆栈寻址的指令:
PSHD Smem ;将Smem中的数据压入堆栈
PSHM MMR ;将MMR中的数据压入堆栈
POPD Smem ;将数据从栈顶弹至Smem中
POPM MMR ;将数据从栈顶弹至MMR中
4.4.1 算术运算指令
算术运算指令是实现数学计算的重要指令集合。
’C54x的算术指令具有运算功能强、指令丰富等特点。包括
加法指令(ADD)
减法指令(SUB)
乘法指令(MPY)
乘法-累加指令(MAC)
乘法-减法指令(MAS)
双字运算指令(DADD)
专用指令
4.3.4 程序控制指令
’C54x的程序控制指令共有31条,可分为7类:
●分支转移指令(B,BC)
●子程序调用指令(CALL)
●返回指令(RET)
●中断指令(INTR,TRAP)
●重复指令(RPT)
●堆栈操作指令(FRAME,POP)
●其它程序控制指令(IDLE,NOP)
本章小结
TMS320C54x指令系统的数据寻址方式分为7种,各有不同的特点和应用场合。选择合理的寻址方式可以获得编程的灵活性和高效性。①立即寻址,操作数在指令中,因而运行较慢,需要较多的存储空间。它用于对寄存器的初始化。②绝对寻址,可以寻址任一数据存储器中的操作数,运行较慢,需要较多的存储空间。它用于对寻址速度要求不高的场合。③累加器寻址,把累加器内容作为地址指向程序存储器单元。它用于在程序存储器和数据存储器之间传送数据。④直接寻址,指令中包含数据存储器的低7位和DP或SP结合形成16位数据存储器地址。它寻址速度快,用于对寻址速度要求高的场合。⑤间接寻址,利用辅助寄存器内容作为地址指针访问存储器,可寻址64千字×16位字数据存储空间中任何一个单元。它用于按固定步长寻址的场合。⑥存储器映像寄存器(MMR)寻址,是基地址为零的直接寻址,寻址速度快。它用于直接用MMR快速访问数据存储器的0页。
⑦堆栈寻址,用于中断或子程序调用时,将数据保存或从堆栈中弹出。
可编程DSP芯片开发需要一套完整的软、硬件开发工具。通常可分成代码生成工具和代码调试工具两大类。代码生成工具是指将高级语言或汇编语言编写的DSP程序转换成可执行的DSP芯片目标代码的工具程序,主要包括汇编器、链接器和C编译器以及一些辅助工具程序等。代码调试工具包括C/汇编语言源码调试器、仿真器等。
CCS是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格
界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。本章对CCS开发软件的使用作了详细地介绍。
本章分别对C54x DSP应用系统的软件设计与调试和硬件设计与调试作了详细介绍。