TMS320C55xDSP并行处理技术分析与应用(精)

合集下载

TMS320C55xDSP原理及其应用第二版课程设计

TMS320C55xDSP原理及其应用第二版课程设计

TMS320C55xDSP原理及其应用第二版课程设计引言TMS320C55xDSP是一款高度集成的数字信号处理器,广泛应用于各种数字信号处理领域,如通信、计算机视觉、音频处理等。

为了更好地掌握其原理和应用,我们在本课程中进行了详细的讲解和实际操作。

本文将介绍TMS320C55xDSP的原理及其应用的第二版课程设计。

课程概述本课程旨在深入了解TMS320C55xDSP的原理、特性、应用及其软件开发环境,通过实际案例,帮助学生掌握TMS320C55xDSP的开发方法。

本课程主要内容包括: - TMS320C55xDSP体系结构和指令集; -TMS320C55xDSP开发环境的搭建; - TMS320C55xDSP应用开发实例; -TMS320C55xDSP与外部设备的接口; - TMS320C55xDSP实现数字信号处理的基本方法; - TMS320C55xDSP常见问题解答。

课程设计本次课程设计分为两个部分,第一部分是软件编程,第二部分是硬件设计。

软件编程在软件编程中,我们使用Code Composer Studio软件进行TMS320C55xDSP的开发实例。

主要编写以下程序: - TMS320C55xDSP基本操作:包括输入输出、运算、延时等; - TMS320C55xDSP数字信号处理实例:包括滤波、FFT及卷积等; - TMS320C55xDSP与外部设备的接口:包括使用ADC采集信号、使用DAC输出信号等。

硬件设计在硬件设计中,我们使用TMS320C55xDSP开发板进行操作。

主要设计以下硬件:- TMS320C55xDSP与外部设备的连接:包括ADC、DAC、LED等; - TMS320C55xDSP实现功能电路的设计:包括音频处理电路、图像处理电路等。

课程目标通过本课程的学习,我们可以实现以下目标: - 掌握TMS320C55xDSP的体系结构和指令集; - 掌握TMS320C55xDSP的开发环境的搭建; - 掌握TMS320C55xDSP的应用开发实例; - 掌握TMS320C55xDSP与外部设备的接口; -掌握TMS320C55xDSP实现数字信号处理的基本方法; - 解决TMS320C55xDSP应用开发过程中出现的常见问题;总结本课程详细介绍了TMS320C55xDSP的原理及其应用的第二版课程设计,通过软件编程和硬件设计,帮助学生深入了解TMS320C55xDSP的应用开发,为学生今后从事数字信号处理方面提供了一定的帮助。

TMS320C55X dsp原理及应用 汪春梅 第2章

TMS320C55X dsp原理及应用 汪春梅 第2章

数据地址产生电路

能够接收来自I单元的立即数和来自A单元的寄存器 产生读取数据空间的地址
算术逻辑电路 寄存器组构成


A单元包括的寄存器类型
数据页寄存器 指针 循环缓冲寄存器 临时寄存器

数据计算单元(D)

由移位器、算术逻辑电路、乘法累加器和寄存器 组构成
指令流水线

C55x的指令流水线包括两个阶段:

C3引脚完成两个功能:


C4引脚完成两个功能:


EMIF对存储器空间CE0的片选(EMIF. CE0) 通用IO9(GPIO9)
EMIF对存储器空间CE1的片选(EMIF. CE1) 通用IO10(GPIO10) EMIF对存储器空间CE2的片选(EMIF. CE2) HPI的控制输入0(HPI.HCNTL0)

C9引脚完成两个功能:


C10引脚完成三个功能:


C11引脚完成两个功能:


C12引脚完成两个功能:
EMIF对SDRAM的写使能(EMIF. SDWE) HPI数据选通信号1(HPI. HDS1)


C13引脚完成两个功能:
作为SDRAM的A10地址线(EMIF. SDA10) 通用IO13(GPIO13)


C14引脚完成两个功能:
为SDRAM提供存储器时钟(EMIF. CLKMEM) HPI数据选通信号2(HPI. HDS2)


中断引脚和复位引脚

中断引脚INT[4:0]作为低电平有效的外部中断输入引脚,由中断使能 寄存器(IER)和中断模式位来屏蔽和区分优先次序 RESET引脚低电平有效。有效时,DSP将终止任务的执行并使程序指 针指向FF8000h;变为高电平无效时,DSP从程序存储器FF8000h的位 置开始执行 GPIO[7:6,4:0]共7个输入/输出线可以单独配置成输入或输出引脚 XF引脚—外部标志

TMS320C55xDSP原理及其应用第二版教学设计

TMS320C55xDSP原理及其应用第二版教学设计

TMS320C55x DSP原理及其应用第二版教学设计一、引言TMS320C55x是德州仪器(TI)公司推出的一种DSP(数字信号处理器)芯片,常用于音频、图像、视频等信号处理领域。

本教学设计对TMS320C55x芯片的原理及应用进行了详细介绍,并提供了相关实验。

二、教学目标1.了解TMS320C55x芯片的结构和工作原理;2.掌握TMS320C55x的编程方法和工具;3.熟悉TMS320C55x的应用实例,具备对信号处理问题进行分析和解决能力。

三、教学内容1. TMS320C55x芯片的原理•TMS320C55x芯片的概述•TMS320C55x芯片的结构和特点•TMS320C55x的工作模式2. TMS320C55x芯片的编程方法和工具•TMS320C55x的编程语言和编译环境•TMS320C55x的程序调试和仿真工具•TMS320C55x的应用示例3. TMS320C55x芯片的应用•声音处理应用•视频处理应用•图像处理应用4. 实验•实验1:TMS320C55x芯片编写“Hello World”程序•实验2:TMS320C55x芯片编写场景模拟程序•实验3:TMS320C55x芯片音频处理应用实验四、教学方法•理论讲解结合实例演示;•系统讲授理论知识,并按照实验内容要求进行编程示范;•每个实验均需学生独立完成并提交报告,教师进行评分。

五、教学时长和安排本教学设计为课内教学,总共需要16个学时。

•前8个学时:讲解TMS320C55x芯片的原理和编程方法;•后8个学时:学生进行实验和编程,并提交报告。

六、教学评估•学生实验报告,占总分的50%;•期末考试,占总分的50%。

七、教学资料准备•TMS320C55x芯片的编程手册;•TMS320C55x芯片应用手册;•TMS320C55x芯片仿真软件;•TMS320C55x芯片编程工具。

八、结语TMS320C55x芯片作为一种DSP芯片,其应用领域广泛,是数字信号处理的一项重要技术。

第2章 TMS320C55X系列DSP

第2章  TMS320C55X系列DSP
C55X灵活的指令Cache(高速缓冲存储器)也可以对不同类 型的代码做优化配置。改善Cache的访问率,就意味着减少片 外的访问,从而减少系统的功耗。
14
(3) 外设和片上存储器阵列的自动低功率机制。C55X的核 处理器会自动地管理片上外设和存储器阵列的功耗。这种资源 的管理完全是自动的,对用户透明。而且,这种功耗的降低, 并不影响处理器的性能。当某个片上的存储器阵列没有被使用 时,它们就自动地切换到低功率模式。当一个访问的要求到达 时,该阵列就恢复到正常的工作状态,完成存储器的访问,无 须应用程序的干预。如果没有进一步的访问,该阵列又回到低 功率状态。该处理器对片上外设也提供类似的控制。当外设没 有激活,以及CPU不需要其关注时,就进入低功率状态。外设 响应处理器的要求,退出低功率状态,也不需要程序的干预。 这种功率管理也可以在软件的外设IDLE(闲置)域控制下进行。
13
(2) 将存储器的访问减到最少。存储器的访问,无论是片 内的还是片外的,都是功率消耗的主要部分。将存储器的访问 减到最少,无疑是降低每个任务功耗所必需的。在C55X里, 指令的提取是32 bit(C54X里是16 bit)。此外,可变长度指令集 意味着,每个32 bit指令的提取可以提出一个以上的长度可变 的指令,按照所需要的信息来决定指令的长度,从而改善代码 的密度。这种指令集的设计和处理器结构的结合,就可以保证 在达到最高性能的同时,使功耗降到最小。
C55X继承了C54X的发展趋势,低功耗、低成本,在有限 的功率条件下,保持最好的性能。其工作在0.9 V下,待机功 耗低至0.12 mW,性能高达600 MIPS,并且具有业界目前最低 的待机功耗,极大地延长了电池的寿命,对数字通信等便携式 应用所提出的挑战,提供了有效的解决方案。其软件也与所有 C5000 DSP兼容。与120 MHz的C54X相比,300 MHz的C55X性 能大约提高了5倍,而功耗则降为C54X的1/6。

TMS320C55X dsp原理及应用 汪春梅第7章

TMS320C55X dsp原理及应用 汪春梅第7章

一、并行外部存储器(EMIF)加载
8位异步存储器加载连接关系
16位异步存储器加载连接关系
32位异步存储器加载连接关系
二、标准串口加载
McBSP0载入数据时序图(16位) 标准串行加载方式硬件连接
IO4在标准串口下载模式下产生延迟信号
三、串行外设接口(SPI)加载
SPI加载方式硬件连接
SPI加载方式时序关系图
根据MAX1246 的时序图可知: DSP的McBSP发送串口应该工作在:单帧传输,每帧一个字,每个字 长度8位。故应将0x0000送给XCR1_0寄存器。
MOV
#0x0004 , PORT(#XCR2_0)
MOV
#0x0020 ,PORT( #RCR1_0 )
MOV #0x0025 , PORT( #RCR2_0 )
第七章 TMS320C55X硬件设计实例


DSP最小系统设计 A/D与D/A设计 C55x在语音系统中的应用 手写系统的实现 C55x在软件无线电中的应用
7.1 DSP最小系统设计

7.1.1 C55x的电源设计
TPS54110并联上电顺序控制
TPS54110 DC-DC转换电路

L3:
中断服务子程序进行数据存储:
SEND: NOP NOP here: b here
; 此处循环等待 McBSP的串口接收12bits ; A/D采样值到来(RRDY=1;) ,进而引发串口接收中断 ; RINT,再次进入终端服务子程序_RINT_Isr1。
.end
7.2.2 高速并行A/D设计
RPT #0x200 nop MOV
#0x0241 , PORT(#SPCR2_0) ;启动发送器

第七章 TMS320C55x DSP应用实例

第七章 TMS320C55x DSP应用实例

2、程序流程图
开始
用不同参数调 用构造图像的 函数产生图像
调用直方图统 计子程序统计
直方图
直方图统计 子程序
初始化直方图统 计数组(赋0 值)
统计图像中各种像素 (取值0-255)的个数
计算各种像素个数占全 部图像像素的百分比
循环
直方图统计结束
第七章 TMS320C55x DSP应用实例
3、 实验步骤:
二、数字图像的锐化(LAPLACE 算子) 1、实验原理
图像锐化处理的目的是使模糊的图像变得更加清晰。图像的 模糊实质是图像受到平均或积分运算造成的,因此可以对图像进 行逆运算如微分运算来使图像清晰化锐化有两种方法:微分法, 高通滤波器。
第七章 TMS320C55x DSP应用实例
2、程序流程图
开始
设置 。
(5)设置断点:在有注释“break point”的语句设置软件断点。 (6)运行并观察结果 :观察窗口中时域和频域图形。 (7)退出CCS 。
第七章 TMS320C55x DSP应用实例
4、实验结果
通过观察频域和时域图,程序计算出了测试波形的功率谱, 与CCS计算的FFT结果相近。
第七章 TMS320C55x DSP应用实例
④输入数据 起始地址
⑤输入数据 个数
⑥修改数据 类型
第七章 TMS320C55x DSP应用实例
三、基础实例:编写一个以C语言为基础的DSP程序
1、程序设计要求
数值运算
开设三个整型 变量x,y,z
赋初值: x=1,y=2x,y,z
计算x+y
输出结果到z
循环
第七章 TMS320C55x DSP应用实例
(1)实验准备:设置软件仿真模式,启动CCS。 (2)打开工程文件。 (3)编译并下载程序。 (4)设置断点:在有注释“break point”的语句设置软件断点. (4)打开观察窗口:选择菜单View->Graph->Image,选择菜单View->Graph>Time/Frequency设置相应参数。 (5)运行程序观察结果 :观察图像和直方图统计结果 。 (6)退出CCS 。

TMS320C55X dsp原理及应用 汪春梅新的第2章

TMS320C55X dsp原理及应用 汪春梅新的第2章
第二章 补充专题一 TMS320C55x的CPU寄存器

一、累加器AC0~AC3 二、变换寄存器 三、T寄存器 四、用于寻址数据地址空间和I/O空间的寄存器 五、程序流寄存器 六、中断管理寄存器 七、循环控制寄存器 八、状态寄存器
TMS320C55x的CPU寄存器

一、累加器AC0~AC3
思考题:什么是堆栈指针SP(stack pointer)? 答:
思考题:堆栈的生成方向如何? 答:堆栈的生成方向是: The stacks grow from high addresses to low addresses. 即:CPU在每推入一个值到数据堆栈以前,减小SP的值;从数据堆 栈弹出一个值以后,增加SP的值。在堆栈操作中,SPH的值不变。
DPH
XDP的高段部分
四、用于寻址数据地址空间和I/O空间的寄存器

5. 数据页寄存器( XDP/DP)
(1)在DP直接寻址模式下,XDP指定一个23位地址。
数据页寄存器的功用:
(2) 在k16绝对寻址模式下,DPH和一个16-bit的立即 数构成一个23位的地址。 直接寻址和绝对寻址模式见教材40页。
数,因此用于MAC指令时,优点更加突出。
CDP间接寻址模式和系数间接寻址模式见教材46页,表 3-4、3-5。 例子指令: MOV Smem, Cmem;
MOV *AR3, *CDP; The content addressed by AR3 is copied in the location addressed by the coefficient data pointer register (CDP).
XSP
03H
SPH
2002H

TMS320C55x DSP原理及应用_lec3寻址方式

TMS320C55x DSP原理及应用_lec3寻址方式

直接寻址模式
直接寻址 DP SP 助记符指令操作数 寻址对象
@Daddr 数据存储器 mmap(@Daddr) MMR *SP(offset) 数据存储器中的堆栈 AC0–AC3, AR0–AR7, T0–T3中的1位或连续两位 I/O
Register @bitoffset bit PDP port(@Poffset)
(1) AR Indirect Addressing
(1) AR Indirect Addressing *(ARn+T0B)寻址举例:设AR0=000b,T0=100b, 则8次寻址分别对应的地址序号为0、4、2、6、1 、5、3、7,这是反向进位加法的结果-比特倒序 +
原序 0 1 2 3 4 5 6 7 原址 000 001 010 011 100 101 110 111 倒序后地址 000 100 010 110 001 101 011 111 序号 0 4 2 6 1 5 3 7
第三讲 C55寻址方式
1.寻址方式概述 2.绝对寻址方式(Absolute Addressing Modes) 3.直接寻址方式(Direct Addressing Modes) 4.间接寻址方式(Indirect Addressing Modes) 参考文献
TMS320C55x DSP CPU Reference Guide TMS320C55x DSP Mnemonic Instruction Set Reference Guide
间接寻址模式
间接寻址 描述 AR 该模式使用AR0~AR7 中的任一个寄存器访问数据。 CPU 使用辅助寄存器产生地址的方式取决于访问数据 的来源:数据空间、存储器映射寄存器、I/O 空间或 是独立的寄存器位 该模式与单AR 间接寻址相似,只是借助两个辅助寄存 器,可以同时访问两个数据 该模式使用系数数据指针(CDP)访问数据。CPU 使 用CDP 产生地址的方式取决于访问数据的来源:数据 空间、存储器映射寄存器、I/O 空间或是独立的寄存 器位 该模式与CDP 间接寻址方式相似,它可以在访问数据 空间某区块的数据的同时,借助双AR 间接寻址访问别 的区块的两个数据

tms320c55xdsp课后答案

tms320c55xdsp课后答案

第一章:1.简述典型实时数字信号处理系统组成部分。

答:包括:抗混叠滤波器、模数转换器ADC、数字信号处理器、数模转换器DAC和抗镜像滤波器。

2.简述X86处理器完成实时数字信号处理的优缺点。

答:利用X86处理器完成实时数字信号处理。

特点是处理器选择范围宽,主板及外设资源丰富,有多种操作系统可供选择,开发、调试较为方便:缺点是数字信号处理能力不强,硬件组成较为复杂,系统体积、重量较大,功耗较高,抗环境影响能力较弱。

3.简述数字信号处理器的主要特点。

答:(1)存储器的采用哈佛或者改进的哈佛结构;(2)内部采用了多级流水;(3)具有硬件乘法累加单元;(4)可以实现零开销循环;(5)采用了特殊的寻址方式;(6)高效的特殊指令;(7)具有丰富的片内外设。

4.给出存储器的两种主要结构,并分析其区别。

答:存储器结构分为两大类:冯诺依曼结构的哈弗结构。

冯诺依曼结构的特点是只有一个存储器空间、一套地址总线:指令、数据都存放在这个存储器空间中,统一分配地址,所以处理器必须分时访问程序和数据空间。

哈佛结构程序存储器空间个数据存储器空间分开,具有多套地址、数据总线,哈佛结构是并行体系结构,程序和数据存于不同的存储空间,每个存储器空间独立编址、独立访问。

5.简述选择数字信号处理器所需要考虑的因素。

答:应考虑运算速度、算法格式和数据宽度、存储器类型、功耗和开发工具。

6.给出数字信号处理器的运算速度指标,并给出其具体含义。

答:常见的运算速度指标有如下几种:(1)指令周期:执行一条指令所需的最短时间,数值等于主频的倒数;指令周期通常以ns 为单位。

例如,运行在200MHZ的TMS320vc5510的指令周期为5ns。

(2)MIPS:每秒百万条指令数。

(3)MOPS:每秒百万次操作数。

(4)MFLOPS:每秒百万次浮点操作数。

(5)BOPS:每秒十亿次操作数。

(6)MAC时间:一次乘法累加操作花费的时间。

大部分DSP芯片可在一个周期内完成MAC 操作;(7)FFT执行时间:完成N点FFT所需的时间。

TMS320C55Xdsp原理及应用汪春梅第8章

TMS320C55Xdsp原理及应用汪春梅第8章
TMS320C55X DSP原理及 应用汪春梅第8章
首次介绍TI TMS320C55X数字信号处理器(DSP),探索其结构、指令集,以 及在各个应用领域中的广泛应用。了解DSP的特点、性能评价指标,以及开 发环境和经典案例。
TI TMS320C55X DSP概述
深入了解TI TMS320C55X DSP的基本概念、核心架构和关键特性。探索TMS320C55X DSP在数字信 号处理领域中的重要作用和应用。
功耗
了解TMS320C55X DSP的功 耗特性,为设计低功耗系统提 供支用情况,为系统资 源的合理分配提供指导。
TMS320C55X DSP开发环境
了解TMS320C55X DSP的开发环境和工具链,以及如何进行程序开发、调试 和优化。
TMS320C55X DSP的结构与指令集
1
架构
介绍TMS320C55X DSP的整体结构,
指令集
2
包括数据和指令存储器、算术逻辑单 元和控制单元。
详细解析TMS320C55X DSP的指令
集,包括数据操作、运算、控制和存
储器访问指令。
3
协处理器
探讨TMS320C55X DSP的协处理器 架构,以及其在高性能信号处理中的 应用。
TMS320C55X DSP应用领域
通信
了解TMS320C55X DSP在无线通信、语音 编解码和网络处理等领域的广泛应用。
工业自动化
了解TMS320C55X DSP在工业控制、机器 人控制和物联网设备中的应用实例。
图像与视频处理
探索TMS320C55X DSP在图像处理、视频 编码和解码以及电视信号处理方面的应用。
医疗设备
探索TMS320C55X DSP在医疗成像、信号 监测和生物传感器等医疗设备中的应用案例。

C55x系列DSP详解

C55x系列DSP详解


CEn CLKMEM
CS CLK
SSADS
EMIF
SSOE
SSWE
上拉
ADSC ADV OE
BWE
BW[d : a ] SA[N:0]
SBSRAM
BE[3 : 0] A[(N+2):2]
D[31:0] 上拉
D[31:0]
ADSP
图9-14 EMIF与SBSRAM芯片的连接
9.3.3 同步动态随机存取存储器 (SDRAM)

C55x外部存储器接口支持16位、32位宽,64M位
和128M位SDRAM

SDRAM可以工作在C55x时钟频率的1/2或C55x时 钟频率 表9-3列出不同SDRAM的引脚映射和寄存器配置表

表9-3 SDRAM的引脚映射和寄存器配置表
SDRAM容 量及排列方 式 使用 芯片 数量
配置位
SDACC SDSIZE SDWID 占用CE 空间
1.确定硬件整体方案

根据系统设计要求确定设计目标,统筹考虑硬件和软
件分工,在综合考虑系统的性能指标、算法需求、体 积、功耗、成本以及工期等因素的基础上,确定硬件 整体设计方案,并画出硬件系统整体框图
2.确定硬件模块具体实现方案

DSP芯片的选择

综合考虑运算速度、片上资源、价格、外设配置等

存储器扩展电路的设计
图9-12 使用内部振荡器
9.3 外部存储器扩展

通过外部存储器接口(EMIF),C55x可以做到与外部 存储器的无缝连接 C55x设置了4个片选信号CE0~CE3直接作为外部存储 器的选通信号


C55x的外部存储器接口除了对异步存储器的支持以外, 还提供了对同步突发静态存储器(SBSRAM)和同步动 态存储器(SDRAM)的支持

TMS320C55X dsp原理及应用 汪春梅新的第3章

TMS320C55X dsp原理及应用 汪春梅新的第3章
23-bit 地址产生如下: 23-bit address = DPH:(DP + Doffset) = 00:(0000h + 0010h) = 00 0010h
二、SP直接寻址 SP直接寻址的23位地址构成:
最高7位地址由寄存器SPH确定; 低16位地址是SP值和指令里指定的7位偏移量之和。偏移量范围是
种寻址模式。
说明: (1) 偏移量bitoffset 是从所要位寻址的寄存器最低位开始,如果
bitoffset 是3,则正在寻址该寄存器的第 3 位。 (2) 该寻址方式只能访问以下的寄存器:AC0–AC3、AR0–AR7、
T0–T3。
指令实例: (1) 语法格式: BSET Baddr, src 指令语句: BSET @0, AC3
k16绝对寻址 其操作数为 *abs16(#k16),其中,k16为16位无符号常数。 将7位的寄存器DPH和k16级联形成一个23位的地址,用 于对数据空间的访问。该模式可以访问一个数据存储器 单元或者MMR。
绝 对 寻 址 模 式
k16
k16绝对寻址
其操作数为 *abs16(#k16),其中,k16为16位无符号常数。 将7位的寄存器DPH和k16级联形成一个23位的地址,用
Xmem and Ymem
指令语句里含有Xmem and Ymem时,该指令可以对数据存 储器同时作两次16bits的访问。写该指令语句时,用兼容
的寻址模式操作数来代替Xmem and Ymem 。
Cmem
指令语句里含有Cmem时,该指令可以访问数据存储器的 单字(16bits)。写该指令语句时,用一个兼容的寻址模式 操作数来代替Cmem。
指令寻址分析: 假设SPH=00h,SP=FF00h ; 操作数*SP(5), T2的寻址地址为:SPH:(SP + offset) = 00 FF05h; 指令执行结果:将数据空间中地址为00 FF05h单元内的数值加 载到T2寄存器中。

TMS320C55x DSP原理及应用_lec2CPU与存储空间

TMS320C55x DSP原理及应用_lec2CPU与存储空间

Data Space
When programs read from or write to memory or registers, the accesses are made to data space. The CPU uses word addresses, which are addresses assigned to individual 16-bit words. These addresses are 23 bits wide. The address buses are 24-bit buses, so the 23bit address is concatenated with a trailing 0. The instruction set handles the following data types: byte 8 bits, word 16 bits, long word 32 bits. Dedicated instruction syntaxes allow you to select high or low bytes of particular words.
I/O Space
I/O space is separate from data/program space and is available only for accessing registers of the peripherals on the DSP. The CPU uses the data-read address bus DAB for reads and data-write address bus EAB for writes. I/O space :word addressing. The 16-bit address is concatenated with leading 0s to form a 24-bit bus address.

TMS320C55xDSP应用系统设计

TMS320C55xDSP应用系统设计
针对数字信号处理的要求而设计,是数字信号 处理系统设计中采用的主流芯片。 优点:灵活、高速、便于嵌入式应用

DSP的含义

数字信号处理(Digital Signal Processing)
数字信号处理的理论和算法

数字信号处理器(Digital Signal Processor)
实现数字信号处理算法的微处理器芯片

1979年,美国Intel公司推出商用可编程器件DSP芯 片Intel2920

1980年,日本NEC公司推出μPD7720,第一片具 有乘法器的商用DSP芯片 1982年,TI公司成功推出其第一代DSP芯片 TMS32010及其系列产品TMS32011、 TMS320C10/C14 /C15/C16/C17
1.3 DSP芯片产品简介

TI公司的DSP芯片概况 其它公司的DSP芯片概况 TMS320C5000概况
1.3.1 TI公司的DSP芯片概况

经典产品

TMS320C1X、TMS320C25、TMS320C3X/4X、 TMS320C5 X、TMS320C8X TMS320C2000,用于数字化控制领域
Motorola公司的DSP5600、9600系列,AT&T公司的 DSP32等。

第三阶段,DSP的完善阶段(2000年以后)



信号处理能力更加完善,而且使系统开发更加方便、 程序编辑调试更加灵活、功耗进一步降低、成本不 断下降 各种通用外设集成到片上,大大地提高了数字信号 处理能力 DSP运算速度可达到单指令周期10ns左右,可在 Windows 下用C语言编程,使用方便灵活



1.2.4 DSP芯片的应用领域

DSP技术TMS320C55x的指令系统

DSP技术TMS320C55x的指令系统
绝对寻址模式: 通过在指令中指定一个常数地址完成寻址。
直接寻址模式: 使用地址偏移量寻址。
间接寻址模式: 使用指针完成寻址。
2013年8月9日
TMS320C55x DSP原理及应用
3
第3章
TMS320C55x的指令系统
3.1.1
绝对寻址模式
绝对寻址模式有三种,它们分别是:k16绝对寻址、k23 绝对寻址和I/O绝对寻址。 1.k16绝对寻址 使用该模式寻址的指令其操作数为*abs16(#k16),其 中k16是一个16位的无符号常数。寻址方法是将7位的寄存 器DPH(扩展数据页指针XDP的高位部分)和k16级联形 成一个23位的地址,用于对数据空间的访问。该模式可以 访问一个存储单元和一个存储映射寄存器。
111 1111
第511外设数据页:FF80h~FFFFh
2013年8月9日
TMS320C55x DSP原理及应用
15
第3章
TMS320C55x的指令系统
3.1.3
间接寻址模式
CPU支持的间接寻址模式有AR间接寻址、双AR间 接寻址、CDP间接寻址和系数间接寻址。利用这些模式 可以进行线性或循环寻址。 1.AR间接寻址模式 该模式通过一个辅助寄存器ARn(n=0,1,2,3,4, 5,6,或7)访问数据空间。而ST2-55的ARMS位决定了 AR间接寻址的操作类型: 当 ARMS=0,DSP模式:CPU提供DSP增强应用的高 效执行功能。 当ARMS=1,控制模式:针对控制系统的应用,CPU 能够优化代码的长度。 下面分别给出了AR间接寻址的DSP模式和控制模式。
当CPL=1,采用SP直接寻址模式
而寄存器位寻址和PDP直接寻址与CPL无关。
2013年8月9日

TMS320C55x DSP原理及应用_lec4指令系统(一)

TMS320C55x DSP原理及应用_lec4指令系统(一)

(5)原文增加一条 When both instructions in a parallel pair modify a status bit, the value of that status bit becomes undefined.
指令并行-资源冲突
当并行的两条指令使用C55x不支持的资源组合时,发生 资源冲突,C55X资源有 (1)操作器operator D Unit ALU D Unit Shift D Unit Swap A Unit Swap A Unit ALU P Unit 并行执行时,操作器只能被使用一次。 (2)地址产生单元Address Generation Units 2 Data Address (DA) Generation Units 1 Coefficient Address (CA) Generation Unit 1 Stack Address (SA) Generation Unit 并行执行时,所用地址产生单元不能超过上述数量
指令并行-类型
内置与用户自定义混合的并行方式 Built-in parallelism can be combined with userdefined parallelism 例如 MPYM T3=*AR3+, AC1, AC2 || MOV #5, AR1 The first instruction includes implied parallelism. The second instruction is paralleled by you.
指令并行-资源冲突
(3)总线 2 Data Read (DR) Buses 1 Coefficient Read (CR) Bus 2 Data Write (DW) Buses 1 ACB Bus – brings D-unit registers to A-unit and P-unit operators 1 KAB Bus – Constant Bus 1 KDB Bus – Constant Bus 所用总线不能超过给定数量
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

TMS320C55x DSP并行处理技术分析与应用TMS320C55x DSP并行处理技术分析与应用类别:单片机/DSPTMS320C55x DSP是一种高性能的数字信号处理器,其强大的并行处理能力能够进一步提高其运算能力。

本文介绍了C55xDSP的内核结构以及用户自定义并行指令时必须遵守如下3条并行处理基本规则,并介绍了6种典型的并行处理应用。

利用本文介绍的方法使用并行处理能力将有效提高程序执行效率,同时降低系统功耗。

德州仪器公司(TI)的TMS320C55x(简称C55x)DSP内核是在TMS320C54x(简称C54x)基础上开发出来的,并可以兼容C54x的源代码。

C55x 的内核电压降到了1V,功耗降到0.05mW/MIPS,是C54x的1/6。

C55x的运行时钟可以达到200MHz,是C54x的两倍,再加上C55x在C54x结构上作了相当大的扩展,程序执行时可以大量采用并行处理,这样使得C55x的实际运算能力可以达到300MIPS以上。

C55x DSP已越来越多地应用于各种手持便携终端当中。

以下我们将通过详细介绍C55x的CPU内核结构,讨论其并行处理技术的应用。

C55x DSP内核结构C55x DSP是一款采用改良型哈佛结构,高度模块化的数字信号处理器拥有比普通DSP更为丰富的硬件资源,能够有效提高运算能力。

其内核结构如图1所示,整个处理器内部分为5个大的功能单元:存储器缓冲单元(M单元)、指令缓冲单元(I单元)、程序控制单元(P单元)、地址生成单元(A单元)和数据计算单元(D单元),各个功能单元之间通过总线连接。

C55x DSP中有1条32位程序数据总线(P总线),1条24位程序地址总线(PA总线),5条16位的数据总线(B、C、D、E、F总线)和5条24位的数据地址总线(BA、CA、DA、EA、FA总线)。

这种高度模块化的多总线结构使得C55x DSP拥有超强的并行处理能力。

M单元主要管理数据区(包括I/O数据区)与中央处理器(CPU)之间的数据传送,使得高速CPU与外部相对低速的存储器之间在吞吐量上的瓶颈可以得到一定程度的缓解。

I单元从程序数据总线接收程序代码,并将其放入指令缓冲队列(IBQ)中,然后利用指令译码器将指令缓冲队列中的程序代码进行译码,最后再将译码后的指令送给P单元、A单元、D单元进行处理。

P单元主要是通过判断是否满足条件执行指令的条件来控制程序地址的产生,达到控制程序流程的目的。

程序控制单元中还含有程序控制寄存器、循环控制寄存器、中断寄存器和状态寄存器等硬件寄存器。

通过循环控制寄存器的设置,可以直接控制程序中的循环次数等,而不必像在普通DSP中一样在外部对循环条件进行判断,从而可以有效提高运行效率。

A单元的功能是产生读写数据空间的地址。

地址生成单元由数据地址产生电路(DAGEN)、16位的算术逻辑单元(ALU)和一组寄存器构成。

C55x DSP地址产生与其他功能模块分开,保证不会因为地址产生的原因使得单条指令需要在多个时钟周期内完成,提高了DSP的运行效率。

A单元中的寄存器包括数据页寄存器、辅助寄存器、堆栈指针寄存器、循环寻址寄存器和临时寄存器等。

D单元是C55x DSP中主要的数据执行部件,完成大部分数据的算术运算工作。

它由移位器、40位ALU、两个17位的乘累加器(MAC)和若干寄存器构成。

数据计算单元的两个乘累加器能够并行使用,可以有效提高DSP运行效率。

D单元中的寄存器包括累加器和两个用于维特比译码的专用指令寄存器。

并行处理基本准则如图1所示C55x DSP内核结构可知,整个处理器的地址及数据运算由P单元、A单元和D单元完成。

这三个单元相对独立,各自通过总线与数据区及程序区相连。

这种相互独立的模块化结构,在硬件特性上确保这三个单元在同一时钟周期内能够进行并行处理,完成各自不同的运算操作。

在C55x DSP指令集中有一些固定搭配的并行执行指令(主要是利用D 单元双MAC结构的并行指令),这些被固定使用的并行指令之间使用“::”符号连接。

除了这些固有的并行指令外,用户也可以根据CPU结构特征自行定义并行指令,并行的两条指令之间需使用“||”符号连接,以区分指令集中的并行指令。

用户自定义并行指令时,必须遵守如下3条并行处理基本规则:规则1:保证不产生硬件冲突,包括操作数、寄存器、总线及各运算模块的冲突。

在对C55x DSP的所有操作中,对P、A、D三个单元进行操作的指令类型有14类,这14类操作指令之间有很大一部分可以相互并行运行。

经过我们对C55x DSP硬件电路结构的分析,在只考虑硬件模块冲突的情况下,我们得出如图2所示的C55xDSP并行处理能力分析图。

图中将14类操作指令组成了一个14×14的矩阵,列出了每一类指令与其自身及其他13类指令并行执行的能力。

图中画有(符号的空格代表不能并行执行,相反没有任何符号的空格代表可以并行执行。

在考虑并行处理的硬件冲突时,还需要考虑总线资源的冲突。

总线资源的冲突通常发生在数据总线和常量总线,C55x DSP中含有5条数据总线和2条常量总线,各条总线与各运算模块的连接如图3所示。

数据总线中,C、D总线是读数据总线,通过这两条总线进行数据读取;E、F总线是写数据总线,通过这两条总线进行数据写操作;另外还有一条特殊的B总线,这条总线可以进行读或写操作,但是它只能被CDP寄存器使用,而其它辅助寄存器无法使用B总线。

两条常量总线分别是KA、KD总线。

KA常量总线用于产生地址数据。

P 单元的KA常量总线负责产生程序地址,例如跳转指令B #Routine2中,常量#Routine2就是通过KA常量总线被送到P单元的。

A单元的KA常量总线负责产生数据存储区地址,例如在指令Mov*SP(#7),Brc0中,偏移量#7就是通过KA 常量总线被送到A单元的。

KD总线用于传送参与运算的常量数据,例如指令ADD #123,AC0中,常量123就是通过KD总线传送的。

规则2:受指令缓冲队列(IBQ)的限制,并行语句的总长度不能超过6个字节。

I单元中的译码器只能将IBQ中的1~6个字节的程序进行译码。

如果一条并行语句的长度超过6个字节,则需要在两个时钟周期内对其进行两次译码。

因此必须将两条并行语句的总长度限制在6个字节。

规则3:当需要寻址两个及以上数据存储区数据时,必须使用双重AR 间接寻址方式。

采用双重AR间接寻址方式,可以通过使用2个不同的辅助寄存器(AR0~AR7)同时访问数据存储区中两个不同的数据。

在这种寻址方式下,我们可以通过两条不同的数据总线,在同一时钟周期内寻址两个不同数据,并将其输入不同的运算模块进行计算。

常用并行处理应用在编程实现过程中,对每一个并行处理都进行仔细分析将能达到事半功倍的效果。

下面是我们总结出的几种典型并行处理应用: 1. D单元双MAC 结构的并行处理在C55x DSP的D单元中采用了双MAC的结构,其结构如图4所示。

这里有3条数据总线(B、C、D数据总线)与两个MAC模块相连。

在同一时钟周期里,可以同时通过3条数据总线将三个不同地址的数据传入两个MAC模块中进行并行计算。

通常情况下,两个MAC模块的运算总共需要4个数据,而这里的总线数却只有3条,所以在并行使用双MAC结构时,两个MAC模块必须共用一组数据,而另外两组数据分别分配给两个MAC模块。

这使得双MAC结构的并行应用受到一定的限制。

C55x的双MAC结构比较典型的应用如不同数据的相同算法处理和同一数据的不同算法处理。

下面是对不同数据进行相同FIR滤波的实例: MAC *AR0+,*CDP+,AC0 ::MAC *AR1+,*CDP+,AC1 其中AR0和AR1寄存器分别指向输入的两组数据,CDP寄存器指向FIR 滤波器的抽头系数。

C55x DSP的指令集中还含有其它与双MAC模块并行处理的专用指令,在此就不再仔细分析。

2. 存储区数据装载指令与存储指令的并行A单元、P单元和D单元均可以对存储器中数据实现装载及存储。

数据的装载与存储使用的是不同总线,不会发生硬件冲突,易于实现并行处理。

以下是在D单元内实现两个数据装载与存储的实例: MOV AC0,*AR1 ||MOV *AR2,AC1此例是在D单元内对AC0进行存储并装载数据到AC1。

程序执行时,将数据通过D总线读入AC1寄存器,同时将AC0数据通过E总线写入存储器,这样就避免了硬件冲突,满足并行规则1。

两条指令总长度为4字节,小于IBQ6个字节的限制,满足了并行规则2。

两条指令均采用双重间接寻址,满足了并行规则3。

通过上机调试,这条并行指令确实能够正确编译并执行。

3. A 单元中ALU运算与D单元中ALU、MAC和移位运算的并行下面我们以一个实例来进行说明: ADD T0,AR1 ||MOV HI(AC0 MOV HI(AC0 ||ADD AC0,AC1这是一个D单元移位操作模块与D单元ALU模块的并行处理实例。

它在移位操作模块中完成寄存器AC0的移位,然后将移位后的值通过E总线存储到存储器中,同时在ALU模块中完成寄存器AC0与AC1的加法运算,然后将结果存放于AC1。

这两条指令不存在硬件冲突,满足并行规则1。

两条指令总长度为5个字节,小于IBQ6字节的限制,满足并行规则2。

这里只需使用一个存储器中的数据,不需满足并行规则3。

通过上机调试,这条并行指令能够正确编译并执行。

5. 程序控制操作与运算操作的并行P单元程序控制模块与其他的算术运算模块相对较独立,不易发生硬件冲突,便于进行并行处理。

下面是一个程序控制指令与算术运算指令的并行: ADD *AR2,AC0||RPTBLOCAL JUMP1 这是一个D单元ALU模块与P单元程序控制模块的并行实例。

它在D单元ALU中将D总线送来的数据与AC0相加并存入AC0,同时完成程序循环控制。

程序执行中不存在硬件模块和总线的冲突,满足并行规则1;两条指令总长度为5字节,满足并行规则2;此例只使用一个存储器中的数据,不需要满足并行规则3。

通过上机调试,这条并行指令能够正确编译并执行。

6. 使用常量对存储器进行初始化D单元拥有两条写总线(E、F总线),在通常情况下我们只使用了其中的一条写总线造成资源浪费。

假如我们需要对某块数据存储区清零,通常的做法如下: RPT #9 MOV #0,*AR1+这段程序对存储区数据逐一清零,每次只使用了D单元的E总线,总共需要10个时钟周期才能完成。

在这种情况下,如果我们充分利用E、F总线,将有效地降低这段程序的运算量。

具体实现如下: MOV #0,AC0 ||RPT #4 MOV AC0,DBL(*AR1+)这段程序与上一段的最大不同点在于,一个时钟周期内通过E、F总线将两个初始数据同时传送到指定的数据区,同时初始化两个字的存储空间。

相关文档
最新文档