中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 存储设计 >>电子行业新闻正文

AT29LV256在DSP并行引导装载模式中的应用

时间:2008/1/10 9:39:00  作者:  来源:IC72  浏览人数:983
 
 

      摘要:介绍了ATMEL公司低电压AT29LV系列存储器的结构、特点及性能。同时结合TI公司DSP芯片TMS320VC5402的并行装载方式,给出了AT29LV256在实际应用中的硬件原理图和在线编程注意事项。最后以亮灯程序为例,给出了AT29LV256在线编程的关键程序。

      关键词:

      Flash存储器是一种高密度、非易失的电可擦写存储器。它具有功耗低、容量大、速度快等特点,而且单位存储比特的价格比传统的eProM要低,因而大量应用于数字信号处理系统中。Flash 可分为并行Flash和串行Flash。串行Flash与外围芯片连接简单,可节约印制板空间,但存储量相对较小且成本高。同时串行通信速度较慢,编程也比较复杂。并行Flash芯片则具有存储量大、速度快、使用方便等优点。aTMel公司生产的aT29lV系列低电压存储器就是一种并行、高性能、可支持3V在线编程的Flash存储器。对Flash编程除了可以采用专用的硬件编程器把程序代码烧写到Flash中外,还可利用DsP的开发系统通过软件编程来实现同样的功能。

      TMs320VC5402(以下简称C5402)是美国德州仪器公司(TI)推出的一款性价比极高的定点数字信号处理器(DsP)。该芯片内置4k×16BIT片内屏蔽式roM(F000-FFFF),且在4kB roM资源里包含了BooTloaDer程序。C5402的BooTloaDer在系统加电时会把外部源程序传送到内部存储器或内部程序空间。它允许程序放在外部较慢的存储器或微处理器中,并将其调到高速的DraM存储器中运行,从而大大减小了对C5402内部掩膜的需要,降低了电路的设计成本。

      本文在笔者实际使用经验的基础上,详细介绍了aT29lV256在C5402并行引导装载模式下的软件编程技术,给出了并行装载的数据流和系统的硬件设计,最后以亮灯程序为例给出了对aT29lV256编程时的具体步骤及方法。

      1 aT29lV256编程技术

      aT29lV256是aTMel公司生产的容量为32k×8BIT、可支持3V在系统编程的Flash存储器。aT29lV256将存储空间分成512个独立的扇区,每个扇区有64个字节,其中a6~a14用来选择扇区地址,a0~a5选择字节地址。每个扇区的编程操作最长需要20Ms,而其读操作与一般的sraM相同,时间为70ns 。aT29lV256在编程之前,片内对应扇区会自动擦除,因而不需要额外的擦除命令。同时芯片还提供了六个软件控制字以用于完成对整片的擦除,其整片擦除命令见表1所列。

      表1 AT29LV256全片擦除命令

次  序 1st 2nd 3rd 4th 5th 6th
地  址 5555H 2AAAH 5555H 5555H 2AAAH 5555H
命令字 5555h AAh 2AAAh 55h 5555h 90h

      aT29lV256的编程操作是以扇区为单位进行的。它内部有64字节的数据缓冲器。如果写入缓冲器的字节数不足64字节,则编程时自动将未写入的字节擦除为FFh。一旦某一扇区中的字节被装入,这些字节将同时在内部编程时间进行编程,此时若有数据装入,则会产生不确定的数据。每一个新装载的数据若要被编程,必须有we由高到低的跳变,这一跳变需要在150μs内完成,如果超过150μs,器件会自动进入扇区内部编程方式。为了防止意外的编程操作,aT29lV256提供有软件保护编程功能,在对Flash 的每个扇区进行编程时,必须先将3个命令字正确地写入到对应的地址单元,然后才能向片内编写程序。在对每一个扇区编程之前,都要执行相同的三字节指令序列,采用软件保护编程的具体流程如图1所示。

IC72新闻中心

      通过aT29lV256提供的软硬件操作可识别芯片的系列号和型号。当按图2顺序写入控制字后,即可读到产品识别码1F和器件识别码BC。器件识别完成后,若需开始编写程序,则应退出器件识别,并延时20Ms,为了减小编程的等待时间,aT29lV256提价有下列两种检测编程周期是否结束的方式:

IC72新闻中心

      (1) 循环检测方式。该方式首先读出写入本扇区最后一个单元的内容,若其I/o7位是写入该单元真实值的反码,则表明编程周期没有结束;若为实际值,则表明编程结束。

      (2) 检测I/o6方式。该方式在扇区编程期间将连续读出任意单元地址的内容,若I/o6在连续读出时状态不一样,说明编程没有结束,若相同,则表明编程周期已经结束。

      2 C5402的自引导装载模式

      C5402上电后,通常首先检查MP/MC引脚的状态:如果为高电平,说明DsP处于微处理器工作模式,此时便可从外部程序存储器0FF80h地址处开始执行用户程序;若为低电平,说明DsP被设置为微计算机模式,此时则从片内roM的0FF80h地址开始执行程序。另外,在C5402的0FF80h地址处存放着一条跳转至0F800h处执行DsP自行引导装载(BooTloaDer)程序的指令。

      当C5402执行BooTloaDer程序时,将会按hPI引导装载模式→串行eeProM引导装载模式→并行引导装载模式→标准串行口引导装载模式→I/o口引导装载模式的顺序循环检测,以决定执行哪种启动模式。

      C5402的并行引导装载模式是将程序代码数据从外界eeProM或Flash的相应DsP数据寻址区中加载到片内DaraM或系统的扩展存储器sraM内。由于C5402的数据区寻址范围最大为64k 字 ,因此在不自行编写BooTloaDer程序的情况下,并行引导装载模式最大只能装载32k字的程序或数据。当程序数据大于32k时可将自己编写的并行装载内核程序通过片内装载程序传送到片内DraM中,然后再运行转载内核程序以将大于32k字的程序数据送到片外sraM中。

      若采用并行装载模式对程序进行加载,则应根据并行装载的格式来配置Flash的程序数据存储空间。可先在DsP对应的数据空间FFFeh和FFFFh地址内写入要存放程序的地址,然后根据并行装载的数据流将标识控制字、各个寄存器的初始化值、装载后的起始运行地址、程序段的大小和装载地址依次写入Flash的存放程序地址中,最后再写入所编写的程序,表2所列是Flash中的并行引导源程序数据流。其程序段的大小以及起始运行地址可根据系统仿真时生成的.MaP文件来确定。

      表2 Flash中的并行引导源程序数据流

数据区地址(H) 内容(H) 含    义
8000  8001 08  AA 8位并行引导标志
8002  8003 88  06 SWWSR寄存器初值
8004  8005 00  00 BSCR寄存器初值
8006  8007 00  00 程序入口XPC
8008  8009 00  80 程序入口地址
800A  800B 00  0B 程序段长度
800C  800D 00  00 存放目标XPC
800E  800F 00  80 存放目标地址
8010  8011 F6  BD 程序代码1
…… …… ……
801F  801F FC  00 程序代码N
8020  8021 00  00 程序块结束标志
…… …… ……
FFFE  FFFF 80  00 程序存储首地址

      3 基于aT29lV256和DsP的硬件设计

      下面以aT29lV256与C5402组成的硬件系统为例对Flash在并行装载模式中的应用进行详细说明,其硬件系统原理框图如图3所示。因为aT29lV256为32k×8BIT存储器,因此不需要扩展外部sraM。本系统采用alTera公司的ePM3064来完成C5402与aT29lV256之间的逻辑转换,ePM3064内部的编程逻辑如图4所示。

I C72新闻中心

      当C5402上电复位装载时,由于BooTloaDer程序在初始化时,XF被设置为高电平,因此,C5402可以通过ePM3064总的逻辑,将aT29lV256 08000h—0FFFFh单元中的数据读到C5402对应于0000h—3FFFh寻址区的片内DaraM中。在系统进入并行引导装载模式后,C5402会从数据寻址为0FFFFh的单元(a15=1,选中Flash)中读取将要载入的程序存储区的首地址,然后从程序存储首地址处将标识控制字、各个寄存器的初始化值、装载后的起始运行地址、程序段的大小以及装载地址依次装载到片内DraM中。在ePM3064逻辑控制中使用XF是为了在BooTloaD之后释放Flash所占用的数据空间。当主处理程序的第一条语句为rsBX XF,也就是置XF引脚为低电平时,Ce将输出片选无效信号,从而可以让出数据空间。

      4系统软件设计

      该系统软件编程的核心在于按照并行装载数据流格式对Flash进行编程。下面以向aT29lV256烧写一个简单的亮灯程序为例来说明对Flash进行软件编程时应注意的问题和关键步骤。

      程序如下:

      .MMregs

      .DaTa

      kaIshI: .worD 08aah,7FFFh,8806h,0000h,0080h,000Bh,0000h,0080h ;并行装载数据流中的各数据参数

      .gloBal_C_InT00

      .TexT

      _C_InT00:   ;这里还应有必要的初始化

      sTM #100h,ar1

      sTM #0FFFeh,ar2 ;将8000入口地址写到FFFeh和FFFFh中

      sT #8000h,*ar1

      Call Prog0 ;开始烧写需要先写入命令字

      Call Prog1 ;将16位数据分成两个8位烧写到Flash中

      sTM #kaIshI,ar1 ;将并行数据流各参数写到8000h开始的单元

      sTM #8000h,ar2

      sTM #07h,BrC

      rPTB looPa

      Call Prog1

      looPa: noP

      sTM #qq,ar1 ;将亮灯程序数据接着并行参数烧写到Flash中

      sTM #0Bh,Br ;程序大小为0Bh

      rPTB looPB

      Call Prog1 ;因为总共烧写没超过64字节,因此不用执行命令字

      loooPB: noP;Prog0为软件保护模式下写控制字子程序,每编程64字节执行一次

      Prog0: sTM #0D555h,ar3

      sT #0aah,*ar3

      sTM #0aaaah,ar3

      sT #55h,*ar3

      sTM #0D555h,ar3

      sT #0a0h,*ar3

      reT; Prog1为16位数分成8位数据烧写子程序

      Prog1: lD *ar1,-8,a

      anD #0FFh,a

      sTl a,*ar2+

      lD *ar1+,a

      anD #0FFh,a

      sTl a,*ar2+

      reT;以下一小段为亮灯程序,通过设置XF引脚的高低电平可使灯闪烁!

      .seCT "Chengxu"

      qq: rsBx xF

      rPT #0FFFFh

      noP

      ssBx xF

      B qq

      reT

      .enD

      5 结束语

      本文介绍的基于aT29lV256编程技术的TMs320VC5402并行引导装载方案,可以在没有专用烧写器的情况下对Flash进行编程,从而实现了DsP的脱机独立运行。实践表明:该系统稳定可靠,具有较高的应用价值。

 
【相关文章】
·AT29LV256在DSP并行引导装载模式中的应用
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

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 0 1 2 3 4 5 6 7 8 9