您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

TMS320C6000 DSP自动引导的方法和编程实现

时间:2007-1-20栏目:电子通信论文

摘要:TI高速信号处理器TMS320C5X和TMS320C6X需要从外部的存储器(ROM或FLASH)中引导应用程序这是开发中的重点和难点之一,关系到系统的可靠性和处理速度。以TMS320C6000 DSP为例,介绍了应用程序的三种引导方式;以实际工程为背景详细叙述了从ROM中引导程序的实现方法,并钟对其中重要的命令文件和用户引导程序,给出了相应的示例文件和程序。

    关键词:TMS320C6000 DSP CMD 引导

1 TMS320C6000 DSP硬件结构概述

TMS320C6000是TI公司生产的TMS320系列产品中新一代高性能的DSP芯片,适用于高速数字信号处理。TMS320C6000主要由三个部分组成:CPU内核、外设和存储器。CPU中8个功能单元可以并行工作,这些功能单元被分成类似的两组,每组由4个基本功能单元组成。CPU有两组寄存器,每组寄存器由16个32位寄存器组成。由于在运行期间不做硬件数据相关性检查,所以程序运行时可以同时执行8条指令,极大地提高了芯片处理速度,这使得该系列的芯片在电子测量、测控、图像、雷达、声纳和软件无线电等领域得到了广泛的应用。
(范文先生网www.fwsir.com收集整理)
2 加电后DSP的运行过程

系统加电后,RESET信号为低,芯片复位。在RESET信号上升沿处,锁存BOOTMODE[4:0]信号,借以决定芯片的存储器映射方式、地址0处的存储器类型以及复位后芯片的自举模式,复位结束后,芯片从存储器的0地址开始执行指令。

TMS320C6000器件可以设置成三种自举方式,其加载过程分别叙述如下:

(1)不加载。CPU直接从存储器的0地址处开始执行指令。如果系统中使用的是SDRAM,那么CPU会先挂起,直到SDRAM的初始化完成。TMS320C621X/C671X不具有这类方式。

(2)ROM加载。位于外部空间的ROM中的程序首先通过DMA/EDMA搬入地址0处。尽管加载过程是在芯片外部被复位信号释放以后才开始的,但是当芯片仍处于内部复位保持时,就开始了上述的传输过程了。用户可以指定外部ROM的存储宽度,EMIF会自动将相邻的8bit/16bit数据合并成32bit。ROM中的程序必须以little endian的格式存储。用DMA/EDMA进行的这一加载过程是一个单帧的数据块传输。传输过程完成之后,CPU退出复位状态,开始执行地址0处的指令。对于不同的芯片,这一过程略有不同,整个过程如图1所示。

对于TMS320C620X/C670X,DMA使用默认的ROM时序从CE1空间中拷贝64KB数据到地址0处。

对于TMS320C621X/C671X/C64X,EDMA使用默认的ROM时序从CE1空间(C64X从EMIFB CE1空间)拷贝1KB数据到地址0处。

(3)主机(HPI)引导。CPU停留在保持状态,其余硬件部分均保持正常状态。在这期间,外部主机通过主机口初始化CPU的存储空间。主机完成所有的初始化工作后,将主机口控制寄存器中的DSPINT位设置为1,结束引导过程。此时CPU退出复位状态,开始执行地址0处的指令。在主机引导过程中,主机可以对DSP所有的存储空间进行读和写。

此外,用户应选择存储器的映射方式(当有多种映射方式可供选择时)和首地址为0存储空间的类型。TMS320C6201/C6701芯片有专门的BOOTMODE管脚决定芯片的各种设置。TMS320C6202则通过将扩展总线上的XD[4:0]直接映射为BOOTMODE40确定芯片的设置,这些管脚可通过电阻上拉或下拉设置引导方式和存储器映射方式。TMS320C6211/C6711仅有一种存储器映射方式,引导方式只需要两位进行设置,主机口的HD[4:3}映射为BOOTMODE[4:0]同样是利用电阻上拉或下拉设置引导方式实现的。

图2 代码生成流程图

3 ROM引导模式实现

在许多基于TMS320C6000 DSP的应用程序的开发中,程序代码或数据表总是保存在ROM、 FLASH或其它非易失存储器中,以保证掉电时代码仍在。但这些存储器的速度很慢,对速度性能要求很严格的代码就需要运行到其它快速存储器中,如片内RAM或片外静态RAM。这就需要在运行前将代码从ROM存储器中装载到RAM中,这是开发人员遇到的难点之一。从ROM引导的应用程序的开发过程分以下几个步骤:

[1] [2] [3] [4] 下一页

下页更精彩:1 2 3 4 下一页

★相关文章: