首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
TMS320VC5416并行自举的巧妙实现 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:51:13 点击数:[] ![]() |
|||||
[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 关键词:DSP TMS320VC5416 FLASH SST39VF200 并行自举 随着信息技术的飞速发展,数字信号处理器(DSP)得到了广泛的应用。现今的高速DSP内存不再基于FLASH结构,而是采用存取速度更快的RAM结构。DSP掉电后其内部RAM中的程序和数据将全部丢失,所以在脱离仿真器的环境中,DSP芯片每次上电后必须自举,将外部存储区的执行代码通过某种方式搬移到内部存储区,并自动执行。目前应用非常广泛的是TI公司的5000系列DSP,常用的自举方式有并行自举、串行自举、主机接口(HPI)自举和I/O自举。HPI自举需要有一个主机(如单片机)进行干预,虽然可以通过这个主机对DSP内部工作情况进行监控,但电路复杂、成本高;串口自举代码加载速度慢;I/O自举仅占用一个端口地址,代码加哉速度快,但一般的外部存储器都需要接口芯片来满足DSP的自举时序,故电路复杂,成本高;并行自举加载速度快,虽然需要占用DSP数据区的部分地址,但无需增加其它接口芯片,电路简单。因此在TI公司的5000系列DSP中,并行自举得到了广泛的应用。 将可执行代码烧录到外部存储器,传统的做法是通过编程器完成。先利用CCS软件中的hex500.exe文件将要写入的*.out文件转换成编程器能够识别的*.hex文件格式,再用编程器将转换后的*.hex文件烧录到外部EEROM中。然后,随着芯片制造工艺的不断提高,芯片集成度越来越高,存储器正向小型化、贴片式的方向发展,很多贴片封装的存储器很难用编程器编程,更不可能频繁插拔。与传统的EEROM相比,FLASH存储器具有支持在线擦写且擦写次数多、速度快、功耗低、容量大、价格低廉等优点。目前在很多FLASH芯片采用3.3V单电源供电,与DSP连接时无需采用电平转换芯片,因此电路连接简单。在系统编程,利用系统本身的DSP直接对外挂的FLASH存储器编程,节省了编程器的费用和开发时间、使得DSP执行代码可以在线更新。 这里,在可执行代码的FLASH烧录方面,不再采用hex500.exe文件对*.out文件进行转换,而是妙巧妙地采用“两次下载法”,利用DSP对FLASH的写操作将可执行代码直接写到外挂FLASH中去。 本文以一片TMS320VC5416外挂一片SST69VF200 FLASH存储器为例,介绍如何通过DSP对FLASH在系统编程,以实现DSP并行自举的具体方法,并给出了DSP的C程序部分源码。 1 DSP和FLASH构成的自举系统 DSP在自举过程中,是将外部的存储区当作数据存储区来访问的。因此在设计时,虽然FLASH内部存储的是代码,但对于DSP而言依然是数据。由于TMS320VC5416的数据总线是16位的,所以选用16位总线接口的FLASH存储器。数据区中的0x0000~0x7FFF对应为DSP内存的RAM区,所以DSP要对外部的FLASH操作只能访问0x8000~0xFFF的32K字存储区。 DSP自举系统的基本连接如图1所示。自举系统中的选用的FLASH为SST公司的SS39VF200,该FLASH存储器为128K字容量,16位总线接口。为了简化起见,图中没有对FLASH进行分页处理,仅仅是把它当成外部数据存储区来处理。由于SS39VF200的读信号OE和写信号WE是分开的,且写信号的优先级高于读信号,而DSP的读写共用一个引脚,所以将DSP的读写信号与FLASH的写信号相连接,而将其读信号OE直接接地,FLASH的片选信号CE直接与DSP的数据区选择信号OE相连接,这表明将FLASH作为DSP的数据存储区进行访问。如上所述,DSP只能访问外部数据区的0x8000~0xFFF区域的数据,因此对于39VF200而言,可以将最高位地址A16直接接地。对于上述电路连接方法,39VF200存储器从0x0000开始的32K的空间是无法访问的。 2 TMS320VC5416对SST39VF200的在系统编程 2.1 SS39VF200芯片介绍 SST39VF200的操作不像一般的RAM和ROM,除了读数据的过程一样外,其它的操作都不相同,必须按照一定的顺序来执行。 2.2 TMS320VC5416对SST39VF200的编程操作 通常,在对FLASH进行编程之前,必须将FLASH中待写的区域进行擦除,然后才能进行编程操作。需要注意的是,每次对FLASH发出操作命令后,必须等到FLASH完成本次操作才能发送下一个操作命令。判断FLASH执行命令完毕的方式有两种,一是利用数据位D7判断,如果FLASH尚未完成操作,则读该位总是为低,完成操作后该位变成高;二是利用数据位D6判断,如果FLASH尚未完成操作,则相邻两次读到的D6位的值不同。当两次读到的D6位的值都是一样的,表明FLASH完成了本次操作。 下面以数据位D6判断操作完成与否,说明TMS320VC5416对SST39VF200写操作的具体过程,其它操作过程与该过程基本相同。 Void Word_Program(uint * Ad,uint DQ) //Ad为编程地址,DQ为编程数据 { uint *Ad_Temp,Temp1,Temp2; //定义临时地址指针和数据变量 Ad_Temp=(uint *)(0x55555); //第一个写周期 *Ad_Temp=0x5555; //给地址0x5555,写数据0x00AA Ad_Temp=(uin Tags: |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |