1、第一章 绪 论 1.1 本论文的背景 随着信息技术的飞速发展,数字信号处理技术已经发展成为一门关键的技术学科 , 而 DSP芯片的出现则为数字信号处理算法的实现提供了可能 , 这一方面促进了数字信号处理技术的进一步发展 ,也使数字信号处理的应用领域得到了极大的拓展。在近 20年里, DSP芯片已经在通信和家用电器等领域得到了广泛的应用。 1.1.1 数字信号处理器的发展状况 DSP(Digital Signal Processing)也称数字信号处理器,是一种具有特殊结构的微处理器,是建立在数字信号处理的各种理论和算法 基础上,专门完成各种实时数字信息处理的芯片。与单片机相比, DSP有着更适
2、合数字信号处理的优点。芯片内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,具有良好的并行特性,提供特殊的 DSP指令,可以快速地实现各种数字信号处理算法 1。 DSP发展历程大致分为三个阶段: 70年代理论先行, 80年代产品普及, 90年代突飞猛进。在 DSP出现之前数字信号处理主要依靠 MPU(微处理器 )来完成。但 MPU较低的处理速度无法满足高速实时的要求。因此,直到 70年代才提出了 DSP的理论和算法基础。随着大规 模集成电路技术的发展, 1982年世界上诞生了首枚通用可编程 DSP芯片 TI的 TMS32010。 DSP芯片的问世是个里程碑,它标志着
3、DSP应用系统由大型系统向小型化迈进了一大步。进入 80年代后期,随着数字信号处理技术应用范围的扩大,要求提高处理速度,到 1988年出现了浮点 DSP,同时提供了高级语言的编译器,使运算速度进一步提高,其应用范围逐步扩大到通信、计算机领域。 90年代相继出现了第四代和第五代 DSP器件。以 DSP作为主要元件,再加上外围设备和特定功能单元综合成的单一芯片,加速了 DSP解决方案的发展,同时产品 价格降低,运算速度和集成度大幅提高 2。 进入 21世纪,现在 DSP向着高速,高系统集成,高性能方向发展。当前的 DSP多数基于 RISC(精简指令集计算机 )结构,且进入了 VLSI(超大规模集成
4、电路 )阶段。如 TI公司的 TMS320C80代表了新一代芯片集成技术,它将 4个 32位的 DSP, 1个 32位 RISC主处理器, 1个传输控制器, 2个视频控制器和 50Kb SRAM集成在一个芯片上。这样的芯片通常称之为 MVP(多媒体视频处理器 )。它可支持各种图像规格和各种算法,功能相当强。而第六代 TMSC6000系列则是目前速度最 快,性能最高的 DSP芯片,该系列芯片的发展蓝图中有高至 5000MIPS, 3G FLOPS的处理性能。而按照 CMOS的发展趋势, DSP的运算速度提高到 1000MIPS是完全有可能的。 TI公司将常用的 DSP芯片归纳为三大系列,即 TM
5、S320C2000系列 (TMS320C2x C2xx),TMS320C5000系列 (TMS320C5x C54x 54xx C55x), TMS320C6000系列(TMS320C62x 67x)。其中 C54xx以其低廉的价格,低功耗和高性能等特点被广泛应用到通信和个人消费电子领域。而 以 C54xx系列内核为基础的新一代 DSP器件TMS320C5402不仅继承了上述优点,而且存储器被组织进三个独立的可选择的空间:程序存储空间、数据存储空间和 I/O空间。大小都是 64K,总共是 192K大小。包括随机存储器 (RAM)和只读存储器 (RAM)。其中, 5402所采用的 RAM是双存取
6、访问 RAM(DARAM)。片上双存取访问 RAM(DARAM)被组织在一些块上,因为每个 DARAM块能够在每个机器周期中被访问两次,结合并行的体系结构,使得 5402得以在一个指定的周期内完成四个并发的存储器操作:一个取指令操作 、两个数据读操作和一个数据写操作。 DARAM总是被映射到数据存储空间上,也可被映射进程序存储空间用于保存程序代码。 5402的 26个 CPU寄存器和片上外设寄存器被映射在数据存储空间 2。所以, TMS320C5402是 54系列芯片的典型代表,也是目前国内 DSP教材上介绍最多的芯片。 1.1.2 数字信号处理的实现方法 数字信号处理是围绕着数字信号处理的理
7、论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了其应用的发展。反过来,数字信号处理的应用又促进了其理论的提高。而数字信号处理的实现则是理论 和应用的桥梁。数字信号处理的实现方法一般有以下几种 1: 1、在通用的计算机 (如 PC机 )上用软件 (如 Fortran, C语言 )实现。 2、在通用的计算机系统中加上专用的加速片来实现。在此类系统中的加速片上带有智能芯片 DSP,加速片在计算机系统中充当处理器的角色,通用计算机仅充当没有实时要求的管理者角色,而不参与实时的数字信号处理。 DSP与通用计算机的数据交流及控制可以通过 PCI等扩展槽完成。 3、用通用的单片机 (如
8、MCS-51, 96系列等 )实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等。 4、 用专用 DSP芯片来实现。国际上已经推出了不少专用于 FFT、 FIR滤波、卷积、相关等算法的专用芯片,如, TDCl028可以实现 FIR滤波器和相关运算。Motorola公司的 DSP56200, Zoron公司的 ZR34881,也都属于专用型 DSP芯片。在专用的 DSP芯片中,其软件算法已经在芯片内部用硬件实现,无需进行编程。使用者给出输入数据,经过简单的组合即可在输出端得到结果。这一般用于对速度要求很高的场合。这种方案的缺点是灵活性差,并且开发工具还不完善。 5、用通用的可编程 DS
9、P芯片实现。同其它智能芯片相比,通 用 DSP有更适合于数字信号处理的优点。如采用改进的哈佛总线结构、内部有硬件乘法器、累加器、使用流水线结构、具有良好的并行特性、并设计有专门用于数字信号处理的指令系统等。目前市场上的 DSP芯片以美国德州仪器 (TI)的系列芯片为主流。 1.2 本论文目的及意义 DSP 最小系统是 DSP 应用系统的最核心部分,本课题设计基于TMS320VC5402 DSP 芯片 , 构建了 TMS320VC5402 DSP 最小系统,并通过 I/O口电路 测试了 DSP 最小系统 板 的可用性 , 为以后的学习提 供了最核心的电路模块 。 1.3 本论文的主要内容 本论文
10、的主要内容有: (1)基于 TMS320VC5402的结构和功能,结合 TMS320VC54X系列 DSP实验教学的内容和要求,对 DSP最小系统 进行总体设计。 (2)基于 TMS320VC5402的 DSP最小系统的设计,包括电源电路、 时钟和复位电路、 片外存储器 电路以及 JTAG仿真电路 的设计。 (3)在 CCS集成开发环境下,实现系统自举加载和 I/O口电路测试 实验。 第二章 系统总体设计 本章介绍了 TMS320VC5402 芯片的结构和功能,在此基础上对 DSP 最小 系统的 功能方框图进行了规划,并对整个系统的设计方法进行了介绍。 2.1 TMS320VC5402 简介
11、TMS320VC54X是为实现低功耗、高性能而设计的定点 DSP 芯片,主要应用在通信系统方面。该芯片的内部结构及指令系统都是全新设计的,它的主要特点是345: CPU 特点 : 先进的多总线结构。 40位算术逻辑运算单元 (ALU)。 17位 x 17 位并行乘法器与 40 位专用加法器相连。 比较、选择、存储单元 (CSSU)。 指数编码器可以在单个周期内计算 40 位累加器中数值的指数。 双地址生成器包括 8个辅助寄存器 和两个辅助寄存器算术运算单元 (ARAU)。 存储器 特点 : 64 K 字 程序 存储器、 64 K 字数据存储器以及 64 K 字 I/O 空间。 指令系统 特点
12、: 单指令重复和块指令重复操作。 块存储器传送指令。 32位长操作数指令。 同时读入两个或 3 个操作数的指令。 并行存储和并行加载的算术指令。 条件存储指令。 从中断快速返回指令。 在 片外围电路 特点 : 软件可编程等待状态发生器。 可编程分区转换逻辑电路。 带有内部振荡器。 外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。 数据总线具有总线保持 特性。 可编程定时 器。 电源 特点: 可用 IDLEl、 IDLE2 和 IDLE3 指令控制功耗,以工作在省电方式。 可以控制关断 CLKOUT 输出信号。 在片仿真接口 特点: 具有符合 IEEEll49.1 标准的在片仿真接口
13、 (JTAG)。 2.2 系统功能方框图 基于 TMS320VC5402 DSP 最小系统 的设计 ,此最小系统主要由时钟及复位电路、 电源电路、 JTAG 仿真 接口电路以及 片外 存储器 电路 等构成。系统框 图 如图2-1 所示 6。 图 2-1 TMS320VC5402 最小系统框图 2.3 系统的设计方法 本系统设计以模块 电路为基础,主要采用实验和仿真的设计方法对各模块电路硬件和软件展开设计。整个系统设计的大致步骤如图 2-2 所示。 软件部分的设计步骤为: (1)根据需要用汇编语言或 C语言编写程序。 (2)将程序转化成 DSP 汇编,并送到编译器进行编译,生成目标文件。 (3)
14、将目标文件送链接器进行链接,得到可执行文件。 (4)将可执行文件调入调试器进行调试,检查运行结果是否正确。如果正确继续,否则返回修改。 (5)进行代码转换,将代码写入 FLASH,并脱离仿真器运行程序,检查结果是否正确。 硬件部分设计步骤为: (1)设计硬件实 现方案,即根据性能指标、功能要求等确定最优硬件实现方案,并画出其硬件系统框图。 (2)进行器件选型,根据功能、成本和使用经验等要求确定系统中的主要器件,最重要的是根据需要选择系统中主要芯片型号。 (3)设计原理图,在原理图的设计时必须熟悉系统的工作原理和器件的使用方法,对于一些关键的环节有必要进行一定的实验或仿真,原理图设计的成功与否是
15、 DSP 系统能否正常工作的一个最重要因素。 图 2-2 实验开发系统的设计步骤 第三章 系统硬件设计 最小系统是使得 DSP 芯 片 TMS320VC5402 能够工作的最精简模块,它主要包括电源电路、复位电路、时钟电路 、片外 存储器接口电路 和 JTAG 仿真接口电路 。DSP 最小系统原理图见附录一。 3.1 电源电路 本系统中除了 DSP 以外其它器件工作电压为 3.3V,所以我们采用 5V 电源供电。 VC5402 所要的工作电压分别是 1.8V 内核电压 (CVDD)和 3.3V I/O 电压(DVDD),并且 DSP 对这两种电源加电次序也有要求,理想情况下两个电源同时加电,但
16、是一般场合很难做到,这时应先对 CVDD 加电,然后对 DVDD 上电。讲究供电次序的原因在于:如 果只有 CPU 内核获得供电,周边 I/O没有供电,对芯片是不会产生任何损害的,只是没有输入 /输出能力而已;如果反过来,周边 I/O 得到供电而 CPU 内核没有 供 电。那么芯片缓冲 /驱动部分的三极管在一个未知状态下工作,这是非常危险的 7。我们通过 TI 公司提供的 DSP 专用电源芯片TPS73HD318 来构建电源电路,实现 5V 向 3.3V和 1.8V的电压转换,同时也避免了上电次序的问题。 图 3-1 为根据 TPS73HD318 芯片性能设计实现双电压输出的电源电路方案,具体
17、分析如下 8: (1)TPS73HD318 芯片可以提供最 高 750mA 的电流,为了适应较大的电流输出场合,该芯片输入和输出的管脚都采用两个管脚,这样可以提高电流的通过率并有利于芯片散热。 (2)1.8V 稳压器输入部分为 1IN 两个管脚,输入 +5V 的 VCC,用 10pF 的电容对输入电源滤波;输出部分为 1OUT 两个管脚,以提供高稳定性的 1.8V 输出。 (3)3.3V 稳压器输入部分为 2IN 两个管脚,输入 +5V 的 VCC,用 10pF 的电容对输入电源滤波;输出部分为两个 20UT 管脚,以提供高稳定性的 3.3V 输出。 (4)系统的电源输入为 +5V,同时设计电
18、源指示灯 LED,用来指示电 源的通断。 图 3-1 电源电路 3.2 复位电路 C5402 的复位输入引脚 RS 为处理器提供了一种硬件初始化的方法,它是一种不可屏蔽的外部中断,可在任何时候对 C54x 进行复位。当系统上电后, RS 引脚应至少保持 5 个时钟周期稳定的低电平,以确保数据、地址和控制线的正确配置。复位后, CPU 从程序存储器的 FF80H 单元取指,并开始执行程序。 C5402 的复位分为软件复位和硬件复位,软件复位是通过执行指令实现芯片的复位,硬件复位是通过硬件电路实现芯片的复位,硬件复位有上电复位、手动复位和自动复位三种 9。 在 DSP 最小系统中采用手动复位方式。
19、 手动复位电路是通过上电或按钮两种方式对芯片进行复位,如图 3-2所示。当按钮闭合时,电容 C5 通过按钮和 R9 进行放电,使电容 C5 上的电压降为 0;当按钮断开时, 对 电容 C5 进行充电 ,从而实现手动复位。 图 3-2 手动复位电路 3.3 时钟电路 时钟电路用来为 C5402 芯片提供时钟信号,由一个内部振荡器和一个锁相环PLL 组成,可通过芯片内部的晶体振荡器或外部的时钟电路驱动。 C5402 时钟信号的产生有两种方法:使用外部时钟源、使用芯 片内部的振荡器。若使用外部时钟源,只要将外部时钟信号直接加到 DSP 芯片的 X2/CLKIN 引脚,而 X1 引脚悬空;若使用芯片内
20、部的振荡器,只要在芯片的 X1和 X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。本系统采用内部振荡器,在管脚 X1 和 X2/CLKOUT 之间连接一个 10MHz 晶体来启动内部振荡器,如图 3-3所示 10。 为了实现 DSP 系统实时处理信号的效果,希望系统频率越快越好。 C5402 最高可达 100MHz 工作频率,如果仍采用传统的 2分频或 4 分频的方式,势必要求外部频率很高,这里我们采用了更加灵 活的可编程 PLL(Programmable PhaseLocked Loop)方式。 C5402 内部具有一个可编程锁相环 (PLL),它可以配置为以下两种模式: (1)P
21、LL 模式,输入时钟乘以一个 l 31之间的常数 。 (2)DIV 模式,输入时钟除以 2 或 40。 PLL 有倍频的功能,其输出信号的频率是输入信号的频率乘上一个倍数,正是 PLL 把外部基准频率变成多种频率提供给不同的具体系统,以满足各种应用的需要。 PLL 受存储器映射的时钟模式寄存器 CLKMD 控制,复位后 CLKMD 的 值 根据DSP 芯片三根输入引脚 CLKMD1 CLKMD3 确定,从而确定 DSP 的工作时钟。本方案中,外接晶体频率为 10MHz, 为了得到倍频系数 10,需设置时钟模式寄存器CLKMD 的值为 9007h,引脚 CLKMDl CLKMD3 设计成 001
22、,则复位后 C5402 的工作频率是 10 1O=1OOMHz。 图 3-3 时钟电路 3.4 片外存储器 C5402 的存储空间可达 192K 16bits, 64K 程序空间, 64K 数据空间, 64KI/O空间。 C5402 片内具有 4K 16bits 的 ROM 和 16K 16bits 的 RAM。片内 ROM 和RAM 可以根 据 PMST 寄存器中的 DROM、 OVLY 来灵活设置,使其映像在程序空间和数据空间。程序空间和数据空间未被映像的部分和 64K 的 I/O 空间全部在片外,用片外存储器来补充。在实际的应用中,应该根据程序量的大小来选择作为片外空间的存储芯片的容量,
23、以免造成不必要的浪费,本文选择 IS61LV25616AL(256K 16bits)作为程序存储器的片外存储芯片 ,选择 SST39LF200A(128K 16bits)的 Flash 作为数据存储器的片外存储芯片,以实现自举加载,使 C5402 自成独立系统,图 3-4为硬件连接图 11。 图 3-4 外部存储器扩展 电路 图 IS61LV25616AL的工作电压为 3V 3.6V,可以直接与 TMS320C5402接口连接,而不必再使用电压接口芯片进行转接,使硬件电路更为简单。 SST39LF200A 是 SST公司生产的 Flash 存储器,其主要特点有: 3V 3.6V 单电源供电,可使内部产生高电压进行编程和擦除操作;支持 JEDEC 单电源 Flash 存储器标准;只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作由内部嵌入的算法实现,并且可以通过查询特定的引脚或数据线监控操 作是否完成;可以对任一扇区进行读、写或擦除操作,而不影响其它部分的数据 12。 访问存储空间时,当地址落在片内存储区域内,自动对这些区域进行访问;当地址落在片外区域,自动访问外部存储器。使用片内存储器有三个优点:高速执行 (不需要等待 ),低开销,低功耗,所以我们应尽量使用片内存储器。