DSP原理及应用:TMS320DM6437架构、指令、功能模块、程序设计及案例分析
上QQ阅读APP看书,第一时间看更新

1.4 TMS320C6x(6000)概述

1.4.1 TMS320C6x简介

TMS320C6x DSP是TMS320系列的重要组成部分,其中,TMS320C62x/C64x处理器为定点DSP,TMS320C67x处理器为浮点DSP。TMS320C62x、TMS320C64x及TMS320C67x间代码兼容,且均采用高性能、支持超长指令字(VLIW)的VelociTI处理器结构,使得其成为多通道、多功能应用的理想选择。结合开发工具和评估工具,通过增强指令的并行性,VelociTI结构为嵌入式DSP应用提供了较快的开发时间和较高的处理性能。

同时,TMS320C6x DSP最高可达到8000MIPS(百万条指令每秒)的运算速度,并且具有完整的开发工具集,为高性能DSP程序开发提供了成本有效的解决方案。

1.4.2 TMS320C6x结构

TMS320C6x DSP中包含程序存储器和多种大小不同的数据存储器,其中程序存储器被用作程序缓存。除串口和主机接口等出现在特定的器件中,直接存储器访问(DMA)控制器、节电逻辑(Power-down Logic)和外部存储器接口(EMIF)等外设也是TMS320C6x DSP的基本组成单元。下面以TMS320C64x DSP和TMS320C64x+DSP为例介绍C6x的基本结构组成,图1-7所示为TMS320C64x DSP的结构框图,图1-8所示为TMS320C64x+DSP的结构框图,TMS320C64x+是TMS320C64x新增功能和扩展指令集的增强型。

图1-7 TMS320C64x DSP结构框图

图1-8 TMS320C64x+DSP结构框图

1. TMS320C64x及TMS320C64x+CPU结构

(1)TMS320C64x CPU包括:

①程序取指单元;

②指令调度单元,先进的指令封装;

③指令译码单元;

④2条数据通路(每一条包含4个功能单元);

⑤64个32位寄存器;

⑥控制寄存器;

⑦控制逻辑;

⑧测试、仿真和中断逻辑。

(2)TMS320C64x+CPU包括:

①程序取指单元;

②16/32位指令调度单元,先进的指令封装;

③指令译码单元;

④2条数据通路(每一条包含4个功能单元);

⑤64个32位寄存器;

⑥控制寄存器;

⑦控制逻辑;

⑧测试、仿真和中断逻辑;

⑨用于内部存储器间传输的内部DMA(IDMA)。

其中,程序取指、指令调度和指令译码单元能够在每个CPU时钟周期内传送高达8条32位指令到功能单元中。在2个数据通路(A和B)中,每个数据通路都会发生指令的处理,且都包含4个功能单元(.L、.S、.M和.D)和32个32位通用寄存器。控制寄存器提供配置和控制各种处理器操作的方法。

2. 内部存储器

TMS320C64x和TMS320C64x+DSP均拥有一个32位的、可按字节寻址的地址空间,内部(片上)存储器采用数据和程序空间分开的方式组织。当使用片外存储时,这些空间通过外部存储器接口(EMIF)统一成单一的存储空间。TMS320C64x DSP通过2个64位的内部端口来访问内部数据存储器,通过一个单一的内部端口来访问内部程序存储器,并完成一条256位宽的取指操作。而TMS320C64x+DSP通过一个256位的只读端口来访问内部程序存储器,通过2个256位的端口(读/写)来访问内部数据存储器。

3. 存储和外设

对于TMS320C6x系列DSP,多种存储和外设选项可以获得:

(1)大的片上RAM(可达7M bits)。

(2)程序缓存。

(3)2级缓存。

(4)32位外部存储器接口(EMIF)支持SDRAM、SBSRAM、SRAM和其他异步存储器,以满足宽范围的外部存储需要和实现最大的系统性能。

(5)增强的直接存储器访问(EDMA)控制器,可不受CPU干预,完成存储器映射地址范围内的数据传输;同时,EDMA有16个可编程通道和一个RAM空间,为将来的数据传输保留了多个配置。

(6)以太网介质访问控制器(EMAC)和物理层(PHY)设备管理数据输入/输出模块接口,通过一个自定义接口来实现数据的有效传输和接收。

(7)主机接口(HPI)是一个并行端口,其通过主处理器可直接访问CPU存储空间。主机设备作为接口控制器运行,增加了访问的易用性。主机设备也可直接访问存储器映射的外设。通过EDMA控制器提供了与CPU存储空间的连接。

(8)I2C模块,通过I2C串行总线为C64x/C64x+DSP和I2C兼容设备提供了连接接口。

(9)多通道音频串行口(McASP)作为通用音频串行口的优化来满足多通道音频应用需要,其可灵活确定以无缝连接到音频模/数转换器(ADC)、数/模转换器(DAC)、编译码器、数字音频接口接收器(DIR)和S/PDIF传输物理层单元。

(10)多通道缓存串行口(McBSP),基于TMS320C2000和TMS320C5000上的标准串行口,此外,其还可借助EDMA控制器自动在存储器中缓冲串行样本。它还具有兼容T1、E1、SCSA和MVIP网络标准的多通道功能。

(11)外围设备互连(PCI)端口支持,通过集成PCI主/从主线接口使得C64x/C64x+DSP可连接到PCI主机。

(12)两个32位通用定时器可实现定时、计数、生成脉冲、CPU中断、发送同步事件到DMA/EDMA控制器的功能。

(13)节电逻辑可减小时钟来降低功耗。电路逻辑从一个状态跳转到另一个状态时,大多数CMOS逻辑的运行功率会发生浪费,因此,通过阻止一部分或全部的芯片逻辑跳转,在不损失数据和操作情境的情况下,可以极大地节约功率。

(14)第3代移动通信中,高码率的信道译码需要译码Turbo-encoded数据,而声音和低码率数据信道译码需要译码卷积编码数据,因此,在C6000 DSP中设计了Turbo-decoder Coprocessor(TCP)和Viterbi-decoder Coprocessor(VCP)来完成IS2000和3GPP无线标准中对应的译码操作。

(15)用于异步传输模式(ATM)的通用测试和操作物理层(PHY)接口(UTOPIA)作为ATM控制器(ATMC)的从设备,可接入ATM主控制器。

1.4.3 TMS320C6x特点

TMS320C6x DSP每个指令周期最高可执行8条32位指令,以TMS320C64x为例,其处理单元由64个32位通用寄存器和8个功能单元组成,这8个功能单元包含2个乘法器和6个算术逻辑单元(ALU)。

TMS320C6x系列DSP拥有完整的优化开发工具集,其包括一个高效的C编译器、一个用于简化汇编语言程序设计及调度的汇编优化器和一个基于Windows操作系统的源码执行特性可视化的调试器界面。此外,它还拥有一套兼容TI XDS510和XDS560仿真器接口的硬件评估板,其符合IEEE 1149.1-1990标准、IEEE标准测试接入端口和边界扫描架构。

TMS320C6x系列DSP的主要特点如下:

(1)拥有先进超长指令字(VLIW)的CPU,其由8个功能单元组成,包括2个乘法器和6个算术逻辑单元(ALU)。

①每个指令周期可执行高达8条指令,是其他典型DSP性能的10倍;

②在快速的开发时间内,可开发出高效的类似于精简指令集(RISC)的代码。

(2)指令封装(Instruction Packing)。

①使代码大小等效为8条指令进行串行或并行执行;

②减少代码大小、程序取指(Program Fetches)和功耗。

(3)大多数指令的条件执行。

①减少高代价的分支指令;

②增加高持续性能的并行性。

(4)独立功能单元高效的代码执行。

①在DSP基准套件行业最有效的C编译器;

②行业第一个用于快速开发和改进并行性的汇编优化器。

(5)支持8/16/32位数据,为多元化应用提供高效的存储支持。

(6)为语音编码器和其他计算密集型应用提供40位运算选择加额外的精度。

(7)饱和度(Saturation)和归一化(Normalization)为关键的算术运算提供了支持。

(8)字段操作(Field Manipulation)和指令提取、设置、清除及位计算支持控制和数据操作应用中常见的运算。

此外,TMS320C64x和TMS320C64x+系列DSP还包括以下特点:

(1)一个时钟周期内每个乘法器可执行2个16×16位或4个8×8位的乘法运算。

(2)支持四路8位或双16位指令集随数据流扩展。

(3)支持非对齐32位(字)和64位(双字)存储访问。

(4)添加了特殊的通信专用指令来解决常见的纠错码操作。

(5)位计算和旋转硬件(Rotate Hardware)扩展支持位算法。

除了上述TMS320C64x DSP的特点,TMS320C64x+DSP还包括以下特点。

(1)简洁指令:为减少代码的大小,常见的指令(如AND、ADD、LD和MPY)拥有了16位的版本。

(2)保护模式操作:具有优先程序执行的两级系统来支持更高容量的操作系统和系统特性,如存储保护。

(3)支持错误检测和程序重定向,以提供稳健的(Robust)的代码执行。

(4)硬件支持模(Modulo)循环操作,来减少代码的大小。

(5)每个乘法器可执行32×32位乘法运算。

(6)支持复杂乘法的附加指令,在每个时钟周期可允许高达8个16位乘/加/减运算。

VelociTI结构使得TMS320C6x DSP成为第一个现成的使用先进超长指令字(VLIW)的DSP器件,其可通过增加指令的并行性来获得较高的性能。传统的VLIW结构由多个并行运行的执行单元组成,在单个时钟周期内可执行多条指令。并行性是提高计算性能的关键,它使得这些DSP器件超过了传统超标量设计的性能。VelociTI是一个高度灵活的结构,对于如何及何时取指、执行和存储很少限制。该结构的灵活性成为突破TMS320C6000优化编译器效率水平的关键。VelociTI的特点如下。

(1)指令封装(Instruction Packing):减少代码大小。

(2)有条件地执行所有指令:代码灵活。

(3)可变宽度指令:数据类型灵活。

(4)全流水线分支:零开销分支操作。

1.4.4 TMS320C6x的应用

TMS320C6x DSP给系统架构师提供了无限的可能,以使他们的产品变得独特。高性能、易使用和可接受的价格使得TMS320C6x成为多通道、多功能数字信号应用平台的理想选择。其主要应用如下:

①混合调制解调器;

②无线局域环路基站;

③波束基站;

④远程访问服务器(RAS);

⑤数字用户线(DSL)系统;

⑥电缆调制解调器;

⑦多通道电话系统;

⑧虚拟现实3D图形;

⑨语音识别;

⑩音频信号处理;

⑪雷达信号处理;

⑫大气层空间建模;

⑬有限元分析;

⑭图像处理(如指纹识别、超声和核磁共振成像MRI)。

同时,TMS320C6000也是其他一些令人兴奋的新应用的理想选择,如:

①个性化家庭安全与面部和手/指纹识别;

②具有全球定位系统(GPS)导航的先进巡航控制和避免事故;

③远程医疗诊断。