TMS320C6201/6701DSP处理器与FLASH存储器的接口设计_第1页
TMS320C6201/6701DSP处理器与FLASH存储器的接口设计_第2页
TMS320C6201/6701DSP处理器与FLASH存储器的接口设计_第3页
TMS320C6201/6701DSP处理器与FLASH存储器的接口设计_第4页
TMS320C6201/6701DSP处理器与FLASH存储器的接口设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、TMS320C62016701DSP处理器与FLASH存储器的接口设计DSP是针对实时数字信号处理而设计的数字信号处理器,由于它具有计算速度快、体积小、功耗低的突出优点,非常适合应用于嵌入式实时系统。自世界上第一片通用D5P芯片TMS320C10于1982年在美国T1公司产生以来,DSP处理器便显示出强盛的生命力。短短二十多年,世界上许多公司便开发出各种规格的DSP处理器,并使它们在通信、自动控制、雷达、气象、导航、机器人等许多嵌入式实时领域得到了广泛应用。20世纪90年代后期美国TI公司推出的面向通讯领域的新一代32位的TMS320C6000系列DSP芯片(简称C6000)是目前世界上最先进

2、的DSP处理器,其中C62XX和C64XX为通用32位定点系列DSP处理器,C67XX为通用32位浮点系列DSP处理器,其指令速度分别高达9604800MIPS和600MFLOPS1GFLOPS,可与早期的巨型计算机速度相媲美,且单芯片功耗小于15W、采用BGA封装(小型球栅阵列)、体积也很小(最大35mm35mm35mm)。因此,这些DSP处理器将在许多科技领域发挥重要作用。FLASH存储器是新型的可电擦除的非易失性只读存储器,属于EEPROM器件,与其它的ROM器件相比,其存储容量大、体积小、功耗低,特别是其具有在系统可编程擦写而不需要编程器擦写的特点,使它迅速成为存储程序代码和重要数据的

3、非易失性存储器,成为嵌入式系统必不可少的重要器件。DSP与FLASH存储器的接口设计是嵌入式系统设计的一项重要技术,本文以基于三个C6201C6701DSP芯片开发成功的嵌入式并行图像处理实时系统为例,介绍这一设计技术。1C6201C6701新一代DSP处理器 11C6201C6701的特点及外部存储器接口EMIF C6201为通用32位定点DSP处理器,C6701为通用32位浮点DSP处理器,它们采用并行度很高的处理器结沟,从而具有许多突出的特点: DSP核采用改进的超长指令字(VLIW)体系结构和多流水线技术,具有8个可并行执行的功能单元,其中6个为ALU,两个为乘法器,并分成相同功能的两

4、组,在没有指令相关情况下,最高可同时执行8条并行指令;具有32个32位通用寄存器,并分成两组,每组16个,大大加快了计算速度; 片上集成了大容量的高速程序存储器和数据存储措,最高可以200Mbits的速度访问,并采用改进的多总线多存储体的哈佛结构。程序存储器为64K字节、256位宽每个指令周期可读取8个指令字,还可灵活设置为高速CACHE使用;数据存储器采用双存储块,每个存储块又采用多个存储体,可灵活支持81632位数据读写。C6701还可支持64位访问,每个时钟可访问双32位故据C6701还可访问双64位IEEE双精度浮点数据;片上集成了32位外部存储器接口EMIF,并且分成4个时序可编程的

5、空间(CE0、CEl、CE2、CE3),可直接支持各种规格SDRAM(除CEl空间外)、SBSRAM、SRAM、ROM、FLASH、FIFO存储器。同时,CEl空间还可直接支持816位宽的异步存储器读访问,EMIF接口信号如图1所示;片上集成了4个主DMA控制器和一个辅助DMA控制器:片上集成了两个32位多功能定时器;片上集成了两个多通道通用串行通讯口;片上集成了16位宿主机HPI端口,与EMIF端口一起。可支持构成并行多处理器系统;片上集成的锁相循环PLL电路,具有4倍频外部时钟的功能,从而在外部可采用较低的时钟电路,而在片内可高频(120MHz、150MHz、167MHz、200MHz)地

6、进行计算;片上集成了符合IEEE标准的JTAG在系统仿真接口,大大方便了硬件调试;具有一个复位中断,一个非屏蔽中断,4个边沿触发的可编程的可屏蔽中断;双电源供电,内核电源为18V,外围设备电源为33V,功耗低于15W;采用352BGA小型球栅阵列封装,体积很小;具有丰富的适合数字运算处理的指令集,并且所有的指令为条件转移指令。C6201C6701高度的并行结构特点、高速的时钟频率使其具有高达1600MIPS和400MMAC的运算能力,比通常使用的DSP计算速度快十几倍,甚至几十倍,再加上其具有并行执行、多功能、多任务的能力和丰富的指令集以及体积小、功耗低、易于使用的特点,使它非常适合在嵌入式实

7、时系统中应用;同时TI公司开发了高效的C编译器和多功能的集成开发系统CODECOMPOSERSTUDIO(简称CCS)以及高性能的仿真器,大大简化程序代码的编写与调试。12C620I06701的引导工作方式在加电后,C6201C6701可采用直接从零地址(只能为外部存储器)开始执行程序的不引导方式工作;也可采用辅助DMA先自动从宿主机HPI端口或外部CEl空间(81632位ROM)加载64K字节程序至零地址(片上存站器或外部存储器),然后再从零地址开始执行程序的引导方式工作。C6201C6701的这些工作方式由上电复位时5个引导方式管脚BOOTMODE4:0的信号电平决定,这些电平信号还决定地

8、址映射方式是采用某种类型、速度的外部存储器为零地址的MAPO方式,还是采用片上程序存储器为零地址D6MAPl方式。这种结构特点大大增加了系统设计的灵活性。在引导工作方式中,当零地址为片上程序存储器时,程序直接从高速256位宽的片上程宇存储器并行执行,能充分发挥DSP的高速性能;而其它工作方式中,程序是从外部慢速32位宽的存储器开始出行执行。因此,基于C6000的嵌入式系统一般采用引导三片上程序存储器执行的工作方式,如表1所示。2FLASH存储器MBM29LV800BA21MBM29LV800BA介绍MBM29LV800BA是FUJITSU公司生产的1M8512Kl6位的FLASH存储器,其管脚

9、信号如图2所示。BYTE为8或16工作方式配置管脚(BYTE接低时为8方式,地址线为A-1,A0,A18共20根,数据线为DQ0:7,数据线高8位不用;BYTE接高时为16方式,地址线为A0:18共19根,A-1,不用,数据线为DQ0:15);RY*BY为表示FLASH就绪或忙的管脚(它是集电极开路引脚,多个RY*BY管脚可通过上拉电阻直接线与连接)。MBM29LV800BA具有许多特点,主要如下单电源30V读、编程写入、擦除;与JEDEC标准的命令集和引脚分布兼容;增加了快速编程写人命令,写入仅需两个总线周期;具有至少100000次的编程写入擦写寿命;灵活的扇区结构支持整片内容擦除、任一扇区

10、内容擦除、相连续的多扇区内容并行擦除;具有嵌入式编程写入算法,可自动写入和验证写入地址的数据;具有嵌入式擦除算法,可自动预编程和擦除整个芯片或任一扇区的内容;具有数据查寻位和切换位,可以通过软件查寻方法检测编程写入擦除操作的状态;具有RY*BY管脚,可以通过硬件方法检测编程写入擦除操作的状态;自动休眠功能,当地址保持稳定时,自动转入低功耗模式;具有低电压禁止写入功能;具有擦除暂停擦除恢复功能,22MBM29LV800BA的主要命令及嵌入式算法MBM29LV800BA的编程写入及擦除命令如表2所示。其中,X为十六进制数字的任意值,RA为被读数据的FLASH地址,RD为从FLASH地址RA读出的数

11、据,PA为写编程命令字的FLASH地址,PD为编程命令宇,SA为被擦除内容的扇区地址。MBM29LV800BA具有嵌入式编程写入和擦除算法机构,当向FLASH写入数据内容或擦除其扇区内容时,需要根据相应的算法编程才能完成。其编程擦除算法流程为:首先写编程擦除命令序列;然后运行数据测试算法以确定擦除操作完成;其编程写入算法流程为:程序开始,首先验证写入扇区是否为空,不空则运行擦除算法;然后运行编程写入算法,写编程写入命令序列,再运行数据测试算法或查询RY*BY管脚信号以确定该次操作完成。地址增1继续上述过程,否则结束操作;数据测试算法主要是测试DQ7和DQ5位的数据变化,以确定泫次操作是进行中、

12、完成、还是失败。3C62016701与FLASH的接口设计基于C6000系列DSP处理器的嵌入式系统往往采用地址映射方式为MAPl的ROM引导方式。这种方式是把开发成功的敝入式可执行程序烧写在CEl空间(从001400000地址开始的ROM存储器)中,并根据引导方式设置相应的引导模式管脚BOOTMODE4:0。这样,当嵌入式系统上电工作时,从复位信号的上升沿开始,辅助DMA把执行程序从引导ROM中移至片上程序存储船中,然后在片上程序存储器开始执行程序。这种方式呵充分发挥C6000系列DSP的并行结构特点,具有最好的执行性能。当引导ROM器件采用FLASH存储器MBM29LV800BA时,C62

13、01C6701与FLASH存储器以8位方式连接的接口设计如图3所示。FLASH的地址线A-1,A0,A18与DSP的EMIF接口地址线EA2,EA3+,EA21直接相连;FLASH的低8位数据线DQ0:7与EMIF接口数据线ED0,ED7直接相连,高8位数据线DQ8:15不连接;读写使能信号可直接相连;EMIF接口的片选信号CEl与字节使能信号BE0相与后与FLASH的片选信号相连;FLASH的方式信号BYTE接地;由于EMIF接口的ARDY信号为低时,DSP自动插入等待时钟周期,因此,FLASH的就绪或忙RY*BY信号经上拉电阻直接与ARDY信号相连,这种设计使FLASH的编程写操作可不运行

14、数据测试算法,大大简化了程序设计;C6201C6701与FLASH以16位或32位方式相连咱6接口设计与8位方式类似。4引导程序开发实现过程C6000系列DSP的引导程序开发实现不能一步完成,它需要一系列的实现步骤:首先,在硬件设计的同时,可在C6000系列DSP的集成开发环境CCS中,用C语言和汇编语言编写应用程序USAGEC,通过编译、连接查找、修正原程序中的错误,生成COFF格式的可执行文件USAGEOUT;其次,当硬件设计成功时,利用仿真器加载软件程序USAGEOUT到硬件系统中调试验证软件程序,直至程序无错误;然后,编写、加载链接指令文件Linkcrud,重新编译、链接软件程序生成B

15、OOTOUT文件,再利用TI公司提供的HEX转换工具包中的转换程序和FLASH存储器宽度,把该BOOTOUT文件转换为相应的BOOTHEX文件,由于转换工具包中没有提供相应的转换程序把BOOTOUT文件直接转换为FLASH认可的二进制文件,因此还需要编写转换程序把BOOTHEX文件再转换为BOOTBIN二进制文件;最后,在CCS中编写FLASH写入程序,编译、链接生成可执行文件,并通过JTAG端口加载运行,把得到的引导程序BOOTBIN作为数据文件写入引导FLASH存储器中。需注意的是程序写入FLASH存储器时,需要把CEl空间寄存器设计为32位宽度存储器接口方式。L-c-lrts6201.l

16、ib或rts7601.libMEMORYVECS:0=00000000h1=00000200hPMEM:0=00000200h1=0000FE00hDMEM:0=80000000h1=00010000hCElVECS:0=01400000h1=00000200hCElPMEM:0=01400200h1=0000FE00hCElinit:0=01410000h1=00010000hSECTIONSvector:load=CElVECS,run=VECStext:load=CElPMEM,rnn=PMEMcinit:load=CElinit,run=DMEMconst:load=CElinit,run=DMEMdata:load:CElinit,run=DMEMcioDMEMfarDMEMstackDMEMbssDMEMsvsme

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论