积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 存储器 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
FLASH存储器的在系统编程及其在DSP系统中的应用
 
作者:黑龙江省哈尔滨工业大学电气工程系公茂忠 刘汉   来源:电子技术应用    点击数:203   更新时间:2008-6-2
您可以添加到网摘 让更多人关注此文章:

    

    摘要:ATMEL公司生产的串行Flash AT45系列存储器的容量已达到了16Mb,常用于数据存储系统。文中以AT45D041为例,详细介绍了该系列Flash存储器的命令集以及串行SPI接口的应用方法,并给出了相应的模式时序。


    关键词:SPI Flash Buffer 中断 AT45D041


现在,数字信号处理器(DSP)正越来越多地应用到各种场合。而FLASH存储器已成为DSP系统的一个基本配置,主要用于存放用户程序代码。目前FLASH存储器正在从单纯的EPROM的替换件演变为许多电路系统中的不可缺少的组成部分。


将用户程序代码装入FLASH存储器的方法有三种。一种方法是要求供应商在存储器发货前将数据写入,但无法满足产品开发阶段用户修改程序的要求。另一种方法是用户使用编程器自己编程。但由于芯片制造工艺的提高,芯片集成度越来越高,FLASH存储器正在向小型化、贴片式发展,从而使表面贴装或PLCC封装的FLASH存储器难以利用编程器编程。第三种方法是将存储器安装到用户电路板上进行编程。这包括现在普通采用的在系统编程(In System Programming,ISP)。这种编程方式是通过系统的微处理器实现对FLASH存储器的编程,不需要其它编程设备和附加编程电源,具有灵活、方便的优点,因此广泛应用在DSP系统中。本文结合TMS320C3X系列DSP的上电引导表的产生及烧写方法分析FLASH存储器的在系统编程技术。


1 FLASH存储器的系统编程技术


1.1 AMF400B FLASH存储器简介


AMF400B是AMD公司生产的FLASH存储器,这种FLASH存储器编程简单,下面以此为例对FLASH存储器的编程进行介绍。


AMF400B的主要特点有:仅需5V单电源供电可使内部产生高电压进行编程和擦除操作;完全支持JEDEC单电源FLASH存储器标准;支持在系统编程,用户只需向其命令寄存器写入标准的微处理器指令,具体编程、擦除操作便由内部电路实现;主系统可以通过查询特定的管脚或数据线监控编程、擦除操作是否完成;可以对某一扇区进行操作,而不影响其它部分的数据;有硬件数据保护功能,以防止误操作。


1.2 编程命令


虽然用户仅需向FLASH存储器的特定寄存器写入地址和数据命令,就可对FLASH存储器编程,但是如果写入的地址和数据错误或写入的顺序不正确,就会导致FLASH存储器复位。下面介绍几个最常用的编程命令。


读数据命令:该命令不需要特定的时序,在电路上电或内部编程擦除操作结束后,自动进入读数据状态。只需给出要读取的地址,即可读出该地址的内部。


复位命令:该命令使存储器复位,并进入读数据状态。向任何一个地址写入数据0xF0就能使FLASH存储器复位。在进行编程、擦除和自动选择命令模式之前,都应先复位。此外,在编程或擦除等正常操作中若出现错误,也应写复位命令退出。


自动选择命令:该命令可以使主系统读取存储器生产厂家、设备代码以及是否被保护等信息。


编程命令:该命令是一个4总线周期指令。以两个解锁周期开始,紧接着一个编程建立命令,最后是要编程的地址和数据。写完该地址和数据后,内置编程算法自动启动,进行FLASH存储器编程。编程算法完成后,进入读取数据状态。编程时序如表1所示。

表1 编程时序


















周  期1,2(解锁)3(建立)4(用户数据)
地  址0x555,0x2AA0x555编程地址
数  据0xAA,0x550xA0编程数据

表2 擦除时序





















周  期1,2(解锁)3(建立)4,5(解锁)6(擦除)
地  址0x555,0x2AA0x5550x0x555,0x2AA0x555
数  据0xAA,0x550x800xAA,0x550x10

擦除命令:该命令有片擦除和扇区擦除两种。两种擦除命令基本相似,片擦除指令用得较多,这里仅介绍擦除指令。片擦除命令是一个6总线周期的操作,也以两个解锁周期开始,接着一个建立周期,再接着两个解锁周期,最后是擦除周期。该擦除命令启动内部擦除算法,自动完成擦除操作。其时序如表2所示。


由于只有擦除命令能使“0”变为“1”,而编程指令不能使“0”写为“1”,所以用户在进行FLASH存储器烧写时,应先擦除,再进行编程。


1.3 FLASH存储器操作的检查机制


对采用在系统编程的FLASH存储器,整个烧写过程都由用户控制,用户必须了解FLASH存储器的各状态位,以便知道编程或擦除是否完成。


FLASH内部提供了几个供用户读取的状态位。其中常用的有:数据线的DQ2(跳变位)、DQ5(超时标志位)、DQ6(跳变位)、DQ7(数据查询位)和管脚RY/BY#。


有三种方法可以判断某种操作是否进行完。一种是判断管脚RY/BY#的状态。在编程、擦除或擦除悬挂操作过程中,RY/BY#管脚为“0”;操作完成后变为“1”。另一种是用DQ7t DQ5判断。DQ7位在编程或擦除过程中输出的是写入该位数据的反码,而当操作完成时,该位输出变为写入该位的数据,因此查询此位可以判断操作进程。但还要读取DQ5的状态,若为“1”,操作超时,应再读一次DQ7的状态,若DQ7输出仍不是写入的数据,则操作失败,应将FLASH复位。其流程如图1所示。还有一种是检测跳变位。在对FLASH存储器进行编程或擦除时,对任何地址进行连续的读会引起DQ6不断跳变,而一旦操作结束就停止跳变。其流程如图2所示。


1.4 FLASH存储器的操作程序


采用前面的命令字和操作进程检测方法,用户就可以用DSP编程语言编写FLASH存储器操作程序了。下面给出擦除和编程子程序的部分代码。


/*Sample codes for erase and program*/


cerase: PUSH DP


PUSH R0


… /*擦除命令*/


chkc: LDI AR0,R0 NOP /检查擦除是否完成*/


NOP


XOR*AR0,R0


BNZ chkc


POP R0


POP DP


RETS


sprg:PUSH DP


PUSH R0


… /*编程命令*/


chkp:LDI *-AR2(1),R0 /*检查编程是否完成*/


NOP /*检查编程是否完成*/


NOP


XOR *-AR2(1),R0


BNZ chkp


POP R0


POP DP


RETS


[1] [2]  下一页



相关文章
· S3C2410X在无线宽带通信网中的应用[32]
· 基于TMS320DM270的长途客运车无线视频监控系统的设计[14]
· TMS320VC5502图像传输系统的USB接口扩展[22]
· 基于CMOS图像传感器的嵌入式图像采集与格式转化[36]
· 基于FPGA的FFT处理器设计[19]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
各种冲值卡批发销售!独家特价!
特价销售GPS车载导航系统!
数字电视批发销售!你想不到的价格!
品牌相机批发销售!你想不到的价格!
品牌手机批发销售!你想不到的价格!
笔记本电脑批发销售!你想不到的价格!
那一年我做了鸭子2
那一年我做了鸭子1
等你十年(下)
等你十年(上)
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
新店开业,部分开发板&元器件特...
[原创]VB编程RS232串口...
红外摄像机控制故障分析与处理方...
红外防水摄像机在智能视频监控中...
步进电机不用驱动芯片能驱动吗?...
我要选一块双串口,带AD的单片...
[分享]运放和功放的区别是什么...
4×4矩阵式键盘的课程设计...
做过高速信号滤波的高手帮忙...
做视频信号放大器,各位有什么好...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网