TMS320DM642 DSP原理与应用实践pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:TMS320DM642 DSP原理与应用实践pdf/doc/txt格式电子书下载
推荐语:
作者:许永辉、
出版社:电子工业出版社
出版时间:2012-04-01
书籍编号:30466875
ISBN:9787121167133
正文语种:中文
字数:123820
版次:1
所属分类:教材教辅-大学
版权信息
书名:TMS320DM642 DSP原理与应用实践
作者:许永辉 等
ISBN:9787121167133
版权所有 · 侵权必究
前言
以高速数字信号处理器(DSP)为基础的实时数字信号处理技术近年来发展迅速,已广泛应用于通信系统、语音与图像处理、高速控制等多种领域。TI公司的TMS320C6000系列DSP是目前最先进、性价比最优的DSP之一。由于C6000系列包含C62x/C67x/C64x等多个系列,芯片种类繁多,很多希望学习C6000系列的初学者感到入门困难。
作者在科研工作中,涉及高速视频采集、图像压缩/解压缩、视频图像处理等领域的课题,使用过C62x/C67x/C64x系列的多款DSP芯片,具有较丰富的使用经验。作者希望结合实际工程开发经验,针对有代表性的DSP产品,结合高速DSP的工作原理和技术特点,编写以实践应用为目标的教程,提高研发人员的技术水平及实践技能,使研发人员在学习结束之后具备高速信号处理系统设计的能力。
TMS320DM642是C6000系列中获得广泛应用的一款芯片,其处理器功能强大,结构富有代表性,芯片软/硬件资源丰富。DM642与其他C64x系列DSP具有类似的结构,读者可以举一反三,快速了解C64x系列DSP的工作原理,很容易学习其他C6000系列DSP的使用方法。本书结合工程开发实例,深入分析了DM642的结构、中断系统、外设接口、工作原理和使用方法等,最后提供了一个图像编/解码系统的设计方案、原理图和程序代码。
本书分为13章。第1章概述了DSP的特点和技术指标,介绍了TI公司不同系列DSP产品的硬件结构和资源类型,为读者的选型提供必备的参考;第2章介绍了DM642的结构,包括CPU结构、存储空间映射和片内外设;第3章介绍了DM642的中断资源、中断性能及其控制方法;第4~11章介绍了DM642的主要片内外设;第12章介绍了DM642的软件编程,包括CCS简介、C6000基本程序结构、C程序的优化方法和CSL库函数,通过这部分内容的学习,读者可以编写一个完整的DM642程序;第13章介绍了系统设计方面的内容,包括板级设计、高速数字电路设计和一个图像编解码系统的设计实例,读者学习这些内容后,可以具备独立设计一个基于DM642的高速数字系统的能力。
本书由许永辉主编,杨京礼和林连雷参与编写,曹然、钱科威、宋升金、李孟成、曾蓉、张集慧和闫芳参与了资料的收集和整理工作,对此表示感谢。本书的出版得到张毅刚教授的大力支持,在此向张老师表示感谢。由于时间仓促和作者学识水平有限,书中难免存在错误或不妥之处,恳请广大读者批评指正。
作者
第1章 概述
1.1 DSP概述
数字信号处理器(Digital Signal Processor,DSP)芯片,是一种专门用于数字信号处理的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。
1.1.1 DSP的发展历程
在DSP出现以前,数字信号处理只能依靠通用的微处理器(MPU)来完成,但MPU的处理速度无法满足高速、实时的要求。随着集成电路技术的发展,20世纪70年代末出现了专门的可编程数字信号处理器,简称DSP。第一代DSP以AMD2900、NEC7720和TMS320C10为代表,其中TI公司的TMS320C10第一次使用了哈佛总线结构和硬件乘法器。
自1980年以来,DSP芯片得到了突飞猛进的发展,DSP芯片的应用越来越广泛。从运算速度来看,MAC(一次乘法和一次加法)时间已经从20世纪80年代初的400ns(如TMS32010)降低到10ns以下(如TMS320C54x、TMS320C62x/67x等),处理能力提高了几十倍。DSP芯片内部关键的乘法器部件从1980年的占模片区(die area)的40%左右下降到5%以下,片内RAM数量增加一个数量级以上。从制造工艺来看,1980年采用4μm 的 N沟道MOS(NMOS)工艺,而现在则普遍采用亚微米(Micron)CMOS工艺。DSP芯片的引脚数量从1980年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加,如外部存储器的扩展和处理器间的通信等。此外,DSP芯片的发展使DSP系统的成本、体积、重量和功耗都有很大程度的下降。
最成功的DSP 芯片当数TI公司的TMS系列产品。1982年TI成功推出了第一代DSP芯片TMS32010及其系列产品TMS32011、TMS32C10/C14/C15/C16/C17等。这一代DSP芯片采用微米工艺NMOS技术制作,虽然功耗和尺寸较大,但比MPU的运算速度快了几十倍,因而在语音合成和编/解码器中得到广泛应用。20世纪80年代中期,TI公司推出了第二代基于CMOS工艺的DSP芯片TMS32020、TMS320C25/C26/C28,其存储容量和运算速度成倍提高,为语音处理、图像硬件处理技术的发展奠定了基础。20世纪80年代后期,TI公司推出了第三代DSP芯片TMS32C3x,研发人员可对第三代DSP芯片进行高级语言编程,从而可降低研发工作的难度,提高研发效率。20世纪90年代,TI公司相继推出了第四代DSP芯片TMS32C4x,第五代DSP芯片TMS32C5x/C54x和集多个DSP核于一体的高性能DSP芯片TMS32C8x,第六代DSP芯片TMS32C62x/C67x/C64x,以及最新的DSP芯片TMS32C55x/Omap、达芬奇系列,这些DSP芯片系统集成度高,速度快,功耗小,目前在无线通信、计算机及其周边设备、数码产品上应用广泛。
1.1.2 DSP芯片的分类
DSP芯片可以按照下列三种方式进行分类。
(1)按基础特性分
这是根据DSP芯片的工作时钟和指令类型来分类的。如果在某时钟频率范围内的任何时钟频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称为静态DSP芯片。例如,日本OKI 电气公司的DSP芯片、TI公司的TMS320C2xx系列芯片属于这一类。
如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码及引脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。例如,美国TI公司的TMS320C54X就属于这一类。
(2)按数据格式分
这是根据DSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP芯片称为定点DSP芯片,如TI公司的TMS320C1x/C2x、TMS320C2XX/C5x、TMS320C54x/C62xx系列,ADI公司的ADSP21xx系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮点格式工作的称为浮点DSP芯片,如TI公司的TMS320C3x/C4x/C8x,ADI公司的ADSP21xxx系列,AT&T公司的DSP32/32C,Motolora公司的MC96002等。
不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如TMS320C3x,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、Fujitsu公司的MB86232和Zoran公司的ZR35325等。
(3)按用途分
按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。
1.1.3 DSP芯片特点
1.功能特点
数字信号处理任务通常需要完成大量的实时计算,如在DSP中常用的FIR滤波和FFT算法。数字信号处理中的数据操作具有高度重复的特点,特别是乘加和操作Y=A×B+C在滤波、卷积和FFT等常见DSP算法中用得最多。DSP在很大程度上就是针对上述运算特点设计的。与通用微处理器器比,DSP在寻址和计算能力等方面进行了扩充和增强。在相同的时钟频率和芯片集成度下,DSP完成FFT算法的速度比通用微处理器要快2~3个数量级(如对于1024点的FFT算法,时钟频率相同、集成度相仿的IBM PC/AT-386和1MS320C30,运算时间分别为0.3秒和1.5毫秒,速度相差200倍)。
2.结构特点
DSP结构特点在很大程度上体现了对DSP算法的需求。
(1)算术单元
① 硬件乘法器
由于DSP的功能特点,乘法操作是DSP的一个主要任务。而在通用微处理器内通过微程序实现的乘法操作往往需费100多个时钟周期,非常费时,因此在DSP内都设有硬件乘法器来完成乘法操作,以提高乘法速度。硬件乘法器是DSP区别于通用微处理器的一个重要标志。
② 多功能单元
为进一步提高速度,可以在CPU内设置多个并行操作的功能单元(ALU、乘法器和地址产生器等)。如C6000的CPU内部有8个功能单元,包括2个乘法器和6个ALU。这8个功能单元最多可以在1个周期内同时执行8条32位指令。由于多功能单元的并行操作使DSP在相同时间内能够完成更多的操作,因而提高了程序的执行速度。
针对乘加和运算,多数DSP的乘法器和ALU都支持在1个周期内同时完成一次乘法和1次加法操作。另外很多定点DSP还支持在不附加操作时间的前提下对操作数或操作结果的任意位移位。
另外,由于DSP的算法特点和数据流特点,还可以使现代DSP采用指令比较整齐划一的精简指令集(RISC)。这有利于DSP结构的简化和成本的降低。
(2)总线结构
通用微处理器是为计算机设计的。基于成本上的考虑,传统的微处理器通常采用冯·诺依曼总线结构:统一的程序和数据空间,共享的程序和数据总线。由于总线的限制,微处理器执行指令时,取指和存取操作数必须共享内部总线,因而程序指令只能串行执行。
对于面向数据密集型算法的DSP而言,采用冯·诺依曼总线结构将使系统性能受到很大限制,因此DSP采用了具有独立程序总线和数据总线的哈佛总线结构,这样DSP就能够同时取指和取操作数。而且很多DSP甚至有两套或两套以上的内部数据总线,这种总线结构称为修正的哈佛结构。对于乘法或加法等运算,1条指令要从存储器中取2个操作数,多套数据总线就使得两个操作数可以同时取得,提高了程序效率。
C6000系列DSP采用的就是修正的哈佛总线结构,一套256位的程序总线、两套32位数据总线和一套32位的DMA专用总线。灵活的总线结构使得数据瓶颈对系统性能的限制大大缓解。
(3)专用寻址单元
DSP面向的是数据密集型应用,伴随着频繁的数据访问,数据地址的计算时间也线性增长。如果不在地址计算上进行特殊考虑,有时计算地址的时间比实际的算术操作时间还长。例如,8086做一次加法需要3个周期,但是计算一次地址却需要5~12个周期。因此,DSP通常都有支持地址计算的算术单元——地址产生器。地址产生器与ALU并行工作,因此地址的计算不再额外占用CPU时间。由于有些算法通常需要一次从存储器中取两个操作数,DSP内的地址产生器一般也有两个。
DSP的地址产生器一般都支持间接寻址,而且有些DSP还能够支持位反寻址(用于FFT算法)和循环寻址,如C6000就支持循环寻址。
(4)片内存储器
由于DSP面向的是数据密集型应用,因此存储器访问速度对处理器的性能影响很大。现代微处理器内部一般都集成有高速缓存(cache),但是片内一般不设存储程序的ROM和存储数据的RAM。这是因为通用微处理器的程序一般都很大,片内存储器不会给处理器性能带来明显改善。而DSP算法的特点是需要大量的简单计算,相应地其程序比较短小。存放在DSP片内可以减少指令的传输时间,并有效缓解芯片外部总线接口的压力。除了片内程序存储器外,DSP内一般集成有数据RAM,用于存放参数和数据。片内数据存储器不存在外部存储器的总线竞争问题和访问速度不匹配问题,因此访问速度快,可以缓解DSP的数据瓶颈,充分利用DSP强大的处理能力。C6000系列DSP内部集成有lM~16M位的程序RAM和数据RAM。对有些片种,这些存储器还可以配置为程序cache或数据cache来使用。
(5)流水处理
除了多功能单元外,流水技术是提高DSP程序执行效率的另一个主要手段。流水技术使两个或更多不同的操作可以重叠执行。在处理器内,每条指令的执行分为取指、解码、执行等若干个阶段,每个阶段称为一级流水。流水处理使若干条指令的不同执行阶段可以并行执行,因而能够提高程序执行速度。理想情况下,一条k段流水能在k+(n-1)个周期内处理n条指令。其中前k个周期用于完成第一条指令的执行,其余n-l条指令的执行需要n-1个周期。而在非流水处理器上执行n条指令则需要nk个周期。当指令条数n较大时,流水线的填充和排空时间可以忽略不计,可以认为每个周期内执行的最大指令个数为k,即流水线在理想情况下效率为l。但是由于程序中存在数据相关、程序分支、中断以及一些其他因素,这种理想情况很难达到。
1.1.4 性能指标
DSP的综合能力指标除了与芯片的处理能力直接相关外,还与DSP片内、片外数据传输能力有关。DSP的数据处理能力通常用DSP的处理速度来衡量;数据传输能力用内部总线和外部总线的配置,以及总线或I/O口的数据吞吐率来衡量。以下是衡量DSP处理性能的一些常用指标。
MFLOPS:即每秒执行百万次浮点操作。其中浮点操作包括浮点乘法、加法、减法和存储等操作。MFLOPS是表征浮点DSP芯片处理器的重要指标。用户选择DSP芯片时要注意,厂家提供的通常是峰值指标,因此系统设计时要留一定的裕量。TMS320C67xx可以达到1000 MFLOPS的峰值性能。
MOPS:即每秒执行百万次操作。这里的操作除了包括CPU的操作外,还包括地址计算、DMA访问、数据传输和I/O操作等。MOPS可以对DSP的综合性能进行描述,200MHz时钟的TMS320C6201的峰值性能可以达到2400MOPS。
MIPS:即每秒百万条指令。MIPS按公式 S=J/(Ti×10-6)计算,其中Ti为指令周期(单位为 ns),J 为每周期并行指令数。300MHz 时钟的 TMS320C6203 的峰值能力可以达到2400MIPS。
MBPS:即每秒百万位。MBPS用于衡量DSP的数据传输能力,通常指某个总线或I/O口的带宽,是对总线或I/O口数据吞吐率的度量。对于TMS320C62xx系列外部总线接口,如果总线时钟选择200MHz,则总线吞吐率为800MB/s(32位数据总线),即6400MBPS。
随着DSP结构的多样化和复杂化,这些指标越来越不能反映DSP的综合性能,不同厂商的指标甚至不具可比性。对于一些常用的DSP算法,如N点FFT的处理时间和N点FIR的处理时间等,在进行系统设计时可以参考DSP厂商提供的基准,但要想得到具体参数下的精确指标,则必须通过软件仿真器和软件评估模块等开发工具在DSP上进行试验。
1.2 TI公司DSP芯片
TI公司于1982年推出TMS320系列DSP芯片的第一代处理器TMS320C10。经过十几年的发展,TI公司又相继发展了TMS320C2000、TMS320C5000和TMS320C6000三个系列的DSP产品。现今,TI公司的TMS320系列已成为DSP市场中的主流产品,约占市场份额的48%,是世界最大的DSP芯片供应商。
1.2.1 TMS320C2000系列
TMS320C2000系列DSP一般应用于控制领域,可以替代老的C1x和C2x型号的DSP。现在TMS320C2000系列DSP的应用主要集中在以下方面。
(1)C20x。C20x是16位定点DSP芯片,速度为20~40MIPS(Million Instructions Per Second,每秒执行百万次指令),片内RAM比较少,如C204片内只有512字节的DARAM。有些型号的C20x DSP芯片中带有闪速存储器(Flash Memory),如F206就带有32K×16位的闪速存储器。C20x的主要应用范围为数字电话、数码相机,自动售货机等。
(2)C24x。C24x是16位定点DSP,速度为20MIPS,一般用于数字马达控制、工业自动化、电力交换系统、变频设备、空调等。为了在有限的空间里提高数字控制设备的性能,T1公司最近推出了TMS320LF2401A、TMS320LF2403A、TMS320LC2402A三款新型C24xx DSP。这三款新型C24xx DSP降低了消费类和业界的原始设备生产商(OEM)的系统成本,进一步实现了系统的小型化、智能化,使产品设计更趋完善。
TI公司的TMS320LF2401A DSP是将速度为40MIPS的DSP内核、闪速存储器以及外设集成到器件中,其封装尺寸不超过一个隐形眼镜片的大小,主要用于对实时性有严格要求的场合,而TMS320LF2401A DSP高度的系统集成和较小的封装体积,有助于OEM快速地将产品推向市场。
TI公司的TMS320LF2403A、TMS320LC2402A主要针对有更大RAM需求的应用。TMS320LF2403A DSP控制器内部集成了16K×l6位闪速存储器、1K×l6位RAM、8通道的10位ADC、事件管理器。具有CAN2.0B协议的CAN总线控制器、SPI总线接口及21个GPI/O被全部封装到一只有64个引脚的10mm×10mm芯片中。TMS320LC2402A DSP是与TMS320LF2403A DSP处理器引脚兼容的处理器,其内部集成了能替代闪速存储器的6K×l6位ROM存储器,生产成本较低。
最近TI将新一代C28x DSP内核引进TMS320C2000家族。C28x内核是目前数字控制应用领域性能最好的DSP内核。C28x内核提供高达400MIPS的计算带宽以处理大量而繁杂的实时控制算法,如随机RAM和功率因数的校正。新型的C28x也是业界编码效率最高的DSP内核,并与目前使用的C2000家族具有完全兼容的代码。
C2000系列DSP的发展如图1-1所示。
图1-1 C2000 DSP产品系列
1.2.2 TMS320C5000系列
TMS320C5000系列是16位定点、速度为40~200MIPS、可编程、低功耗和高性能的DSP。主要用于有线或无线通信、IP(Internet Protocol,互联网协议)电话、便携式信息系统、手机、助听器等。
目前,TMS320C5000 系列中有3种有代表性的常用芯片。第一种是 TMS320C5402,速度为100MIPS,片内存储空间较小,RAM为16K×l6位、ROM为4K×16位。主要用于无线Modem(调制解调器)、新一代PDA(Personal Digital Assistant,个人数字助理)、网络电话和数字电话系统以及消费类电子产品。TMS320C5402每片的目标价格在5美元以下,属廉价型的 DSP。第二种常用芯片是 TMS320C5420,它拥有两个 DSP 内核,速度可达到200MIPS,200K×l6位片内RAM,功耗为0.32mA/MIPS,200MIPS全速工作时不超过120mW,为业内功耗较低的DSP。TMS320C5420是当今集成度较高的定点DSP,适合于多通道基站、服务器、Modem和电话系统等要求高性能、低功耗、小尺寸的场合。第三种是TMS320C5416,它是TI公司0.15μm器件中的第一款DSP芯片,有128K×l6位片内RAM,速度为160MIPS,有3个多通道缓冲串行口(MCBSP),能够直接与T1或E1线路连接,不需要外部逻辑电路,主要用于ⅤoIP(Ⅴoice over IP)、通信服务器、PBX(专用小型变换机)和计算机电话系统等。
为满足对性能、尺寸、价格和功耗有严格要求的设备,TI公司设计了一种属于TMS320CC5000系列的DSP产品,即TMS320C5500TMDSP(以下简称TMS320C55xx)。TMS320C55xx与TMSC320C54xx代码兼容,且MIPS功耗只有0.05mW,是目前市场上TMS320C54xx产品功耗的0.4倍。TMS320C55xx有强大的电源管理功能,能进一步增强省电功能,可使网络音频播放器用两节AA电池工作200个小时以上(相当于目前播放器工作时间的10倍)。
TMS320C55xx系列的代表产品有TMS320C5509和TMS320C5502。TMS320C5509 DSP芯片主要用于网络媒体娱乐终端、个人医疗、图像识别、保密技术、数码相机、个人摄像机等设备。TMS320C5509 DSP芯片是目前集成度较高的通用型DSP,能提供完备的系统解决方案,具有96K×l6位的单口SRAM、32K×16位的双口SRAM、32K×l6位的ROM和6通道的DMA(直接存储器存储)。此外,TMS320C5509 DSP芯片还含有USB 1.0接口、用于全双工通信的3个多通道缓冲串行接口(MCBSP)、Watchdog定时器、32kHz晶振输入和单电源的实时时钟、片上10位ADC、连接微控制器的I2C总线接口,以及用于芯片内的编解码器、增强型16位主机接口、两个16位定时器等。TMS320C5509 DSP支持流行的存储方式,包括对记忆棒、多媒体卡和SD(Secure Digital)卡的支持。因此,TMS320C5509 DSP可以广泛地支持DSP系统板上的外围器件,包括用于直接连接PC或其他USB主机设备的USB 1.0端口,并能遵循大多数流行的可移动存储标准及多媒体文件格式。
TMS320C5502 DSP芯片作为TI公司的TMS320C5000 DSP系列平台上新型的性价比较佳的产品,每秒执行的指令高达4亿条,可满足当今个人设备对价格和性能的要求。TMS320C5502 DSP芯片有32K×16位的片上双口RAM、一个主机接口、通用外围设备(如3个多通道缓冲串行接口)、一个硬件UART、I2C总线接口和76个专用GPI/O口,提供传输速率为400兆字节/秒的32位外部存储接口,并支持低价SDRAM外设。
C5000系列DSP的发展如图1-2所示。
1.2.3 TMS320C6000系列
TMS320C6000系列DSP是TI公司于1997年2月推向市场的高性能DSP,具有性价比高、功耗低等优点。TMS320C6000系列中又分为定点DSP和浮点DSP两类。
(1)TMS320C62xx。该系列是TMS320C6000系列中的32位定点DSP,内部集成了多个功能单元,可同时执行8条指令,运算速度为1200~2400MIPS。其主要特点如下。
图1-2 C5000 DSP产品系列
① 运行速度快。指令周期为5ns,运算能力为1600MIPS。
② 内部结构不同于一般DSP芯片。内部同时集成了2个乘法器和6个算术运算单元,且它们之间是高度正交的,使得在一个指令周期内最大能支持8条32bit的指令。
③ 指令集不同。为充分发挥其内部集成的各执行单元的独立运行能力,TI公司使用了Ⅴeloci Tl超长指令字(ⅤLIW)结构。它在一条指令中组合了几个执行单元,结合其独特的内部结构,可在一个时钟周期内并行执行几个指令。
④ 大容量的片内存储器和大范围的寻址能力。片内集成了512K字程序存储器和512K字数据存储器,并拥有32bit的外部存储器界面。
⑤ 智能外设。内部集成了4个DMA接口,2个多通道缓存串口,2个32位计时器。
⑥ 低廉的使用成本。在个无线基站的应用中,每片TMS320C62x能同时完成30路的语音编解码,每路成本为3美元,而以前的DSP系列最大只能完成5路,每路的成本为7美元。
这种芯片适合于无线基站、无线PDA、组合Modem、GPS导航等需要大运算能力的应用场合。
(2)TMS320C67xx。该系列是TMS320C6000系列中的32位浮点DSP,内部同样集成了多个功能单元,可同时执行8条指令,其运算速度为1GFLOPS(Floating Point namber Operations Per Second,每秒所执行的浮点运算次数)。该系列除了具有TMS320C62xx系列的特点外,其主要特点还有以下几点。
① 运行速度快。指令
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询