位置:51电子网 » 技术资料 » 接口电路

F1aSh存储器在TMS320C3X系统中的应用

发布时间:2008/5/28 0:00:00 访问次数:771

在对电力系统断路器的状态监测过程中,需要对故障数据进行保存,以便于查看;而在故障期间难免会出现停机的现象,因此,如何在断电的状态下保存数据,就成为一个关键问题。对于故障出现的监测装置必须满足两个基本的特性--实时性和快速性。这两种特性都需要以快速处理大量的数据信息为基础,所以我们采用数据信号处理dsp来满足这方面的要求。现在,闪存(flash memory)已经成为dsp系统的一个基本的配置。 这里flash存储器主要用来存放用户程序代码。一般来说,将用户需要的程序代码装入f1ash存储器有三种方法:一种是在存储器出厂前将数据写入;一种是用户使用编程器自己编程;最后一种是将存储器安装在用户电路板后进行编程。随着芯片制造工艺的提高,芯片的集成度也越来越高,使flash存储器正在向小型化、贴片式方向发展。本文结合tms320c3x系列的dsp上电引导表产生方法,讨论amd公司生产的am29f040闪存在系统中的编程方法。

1 flash存储器am29f040

am29f040是amd公司生产的flash存储器,主要作用是固化程序和保存历史数据,也就是开机后执行闪存的程序,并在程序执行的过程中实时地保存或修改其内部的数据单元。 下面首先介绍am29f040的特点和操作。 am29f040是采用5 v单电源供电的可编程只读存储器,是一种电可擦除与重新编程的器件。该器件由8个独立的64 k字节块组成,访问速度为55~150 ns。片内的状态机控制编程和擦除器件、嵌入式字节编程与区段/芯片擦除功能是全自动的。内部结构框图如图1所示。


a0~a18:地址线。其中a8~a18提供存储区地址, 行地址确定所在扇区;a0~a7选定某扇区的一 个字节,扇区容量是256字节。dq0-dq7:数据输入/输出。在读周期输出数据; 在写周期接收数据。写过程中写入的数据被内 部锁存。ce:输入,芯片使能, 低电平时选中该器件。oe:输入,输出使能, 低电平时打开数据输出缓冲 区,允许读操作we:输入,写使能,低电平时允许写操作。vcc为5v电源。vss为地。 工作方式有读方式、待机方式、输出禁止及算法选择。 例如,对于写操作的编程命令,如表1所列。 其中:ra为被读出的存储单元地址; pa为被编程的存储单元地址; rd为所选地址单元被读出的数据; pd为所选地址单元被编程的数据。 除编程地址、区段地址和读地址之外的所有总线周期地址,地址引脚a18、a17、a16、a15为高或低。 下面以命令表的编程命令为例,简要介绍字节编程。表1所列命令是一个4总线周期指令。首先,在地址5555h写入数据0aah,地址2aaah写入数据055h,再在地址5555h写入数据aoh,最后是编程的地址和数据。 对于芯片擦除功能,自动地提供编程和电擦除之前,校验所有存储单元所需的电压和时序,然后自动擦除并校验单元界限。利用数据轮询(data-polling)特性,可以监视自动芯片擦除操作期间器件的状态,以检验操作是否完成。 程序如下:int chip-erase (){*(int*)0x00005555=0xaaaaaaaa; /*写芯片擦除命令部分*/*(int*)0x00002aaa=0x55555555;*(int*)0x00005555=0x80808080;*(int)0x00005555=0xaaaaaaaa:*(int*)0x00002aaa=0x55555555;*(int*)0x00005555=0x10101010;while((*(int)0x00005555&0x80808080)!=0x80808080) /*数据轮询*/ 对于区段擦除暂停,在区段擦除期间擦除暂停有效,数据值为boh,不管地址值。区段擦除恢复,仅在擦除暂停之后擦除有效,数据值为30h,不管地址值。下面是简要的程序代码:int sector- erase(sectadd) int * sectadd;{ *(int*)0x00005555=0xaaaaaaaa; /*写区段擦除命令部分*/ *(int*)0x00002aaa=0x55555555; *(int*)0x00005555=0x80808080; *(int*)0x00005555=0xaaaaaaaa; *(int*)0x00002aaa=0x55555555; *sectadd=0x30303030; 对于数据保护,此特性禁止在1-8个区段的任何组合进行编程和擦除操作。执行编程和擦除被保护区段的命令时,不改变区段内的数据。数据轮询位和跳转位工作在2~100μs,然后返回到有效数据。在地址引脚a9和控制引脚e,使用11.5~12.5 v高电压vid’且在控制引脚e上使用vil将使此特性起作用。其具体操作为:当w为vih’e为vil且地址引脚g为vid时,区段保护方式被激活,地址引脚a18、a17、a16用来选择被保护的区段。一旦地址稳定,w处于脉冲低电平,操作开始于w的下降沿。


2 在tms320c3x中的应用

tms320c3x支持32位或16位宽度的程序外部存储器。由于am29f040的数据宽度是8位,而从ram单元中取出的数据宽度为32位,所以还要采用移位的方法写入am29f040。 引导表的格式主要由下面几部分组成:首先,是包括引导表数据宽度和其它数据总线寄存器值的头文件。接着,是coff文件中各个段的数据,其中每个段都包含一个该段的文件头来说明该段的代码长度和地址。最后是结束段。 这里,采用coff格式生成引导表比较麻烦。ti公司提供了一个很有用的转换工具hex30,只须编写一个命令文件,就可使用这个转化工具自动生成引导表。f1ash存储器烧写流程如图2所示。

采用ti公司的tms320c32的dsp,

在对电力系统断路器的状态监测过程中,需要对故障数据进行保存,以便于查看;而在故障期间难免会出现停机的现象,因此,如何在断电的状态下保存数据,就成为一个关键问题。对于故障出现的监测装置必须满足两个基本的特性--实时性和快速性。这两种特性都需要以快速处理大量的数据信息为基础,所以我们采用数据信号处理dsp来满足这方面的要求。现在,闪存(flash memory)已经成为dsp系统的一个基本的配置。 这里flash存储器主要用来存放用户程序代码。一般来说,将用户需要的程序代码装入f1ash存储器有三种方法:一种是在存储器出厂前将数据写入;一种是用户使用编程器自己编程;最后一种是将存储器安装在用户电路板后进行编程。随着芯片制造工艺的提高,芯片的集成度也越来越高,使flash存储器正在向小型化、贴片式方向发展。本文结合tms320c3x系列的dsp上电引导表产生方法,讨论amd公司生产的am29f040闪存在系统中的编程方法。

1 flash存储器am29f040

am29f040是amd公司生产的flash存储器,主要作用是固化程序和保存历史数据,也就是开机后执行闪存的程序,并在程序执行的过程中实时地保存或修改其内部的数据单元。 下面首先介绍am29f040的特点和操作。 am29f040是采用5 v单电源供电的可编程只读存储器,是一种电可擦除与重新编程的器件。该器件由8个独立的64 k字节块组成,访问速度为55~150 ns。片内的状态机控制编程和擦除器件、嵌入式字节编程与区段/芯片擦除功能是全自动的。内部结构框图如图1所示。


a0~a18:地址线。其中a8~a18提供存储区地址, 行地址确定所在扇区;a0~a7选定某扇区的一 个字节,扇区容量是256字节。dq0-dq7:数据输入/输出。在读周期输出数据; 在写周期接收数据。写过程中写入的数据被内 部锁存。ce:输入,芯片使能, 低电平时选中该器件。oe:输入,输出使能, 低电平时打开数据输出缓冲 区,允许读操作we:输入,写使能,低电平时允许写操作。vcc为5v电源。vss为地。 工作方式有读方式、待机方式、输出禁止及算法选择。 例如,对于写操作的编程命令,如表1所列。 其中:ra为被读出的存储单元地址; pa为被编程的存储单元地址; rd为所选地址单元被读出的数据; pd为所选地址单元被编程的数据。 除编程地址、区段地址和读地址之外的所有总线周期地址,地址引脚a18、a17、a16、a15为高或低。 下面以命令表的编程命令为例,简要介绍字节编程。表1所列命令是一个4总线周期指令。首先,在地址5555h写入数据0aah,地址2aaah写入数据055h,再在地址5555h写入数据aoh,最后是编程的地址和数据。 对于芯片擦除功能,自动地提供编程和电擦除之前,校验所有存储单元所需的电压和时序,然后自动擦除并校验单元界限。利用数据轮询(data-polling)特性,可以监视自动芯片擦除操作期间器件的状态,以检验操作是否完成。 程序如下:int chip-erase (){*(int*)0x00005555=0xaaaaaaaa; /*写芯片擦除命令部分*/*(int*)0x00002aaa=0x55555555;*(int*)0x00005555=0x80808080;*(int)0x00005555=0xaaaaaaaa:*(int*)0x00002aaa=0x55555555;*(int*)0x00005555=0x10101010;while((*(int)0x00005555&0x80808080)!=0x80808080) /*数据轮询*/ 对于区段擦除暂停,在区段擦除期间擦除暂停有效,数据值为boh,不管地址值。区段擦除恢复,仅在擦除暂停之后擦除有效,数据值为30h,不管地址值。下面是简要的程序代码:int sector- erase(sectadd) int * sectadd;{ *(int*)0x00005555=0xaaaaaaaa; /*写区段擦除命令部分*/ *(int*)0x00002aaa=0x55555555; *(int*)0x00005555=0x80808080; *(int*)0x00005555=0xaaaaaaaa; *(int*)0x00002aaa=0x55555555; *sectadd=0x30303030; 对于数据保护,此特性禁止在1-8个区段的任何组合进行编程和擦除操作。执行编程和擦除被保护区段的命令时,不改变区段内的数据。数据轮询位和跳转位工作在2~100μs,然后返回到有效数据。在地址引脚a9和控制引脚e,使用11.5~12.5 v高电压vid’且在控制引脚e上使用vil将使此特性起作用。其具体操作为:当w为vih’e为vil且地址引脚g为vid时,区段保护方式被激活,地址引脚a18、a17、a16用来选择被保护的区段。一旦地址稳定,w处于脉冲低电平,操作开始于w的下降沿。


2 在tms320c3x中的应用

tms320c3x支持32位或16位宽度的程序外部存储器。由于am29f040的数据宽度是8位,而从ram单元中取出的数据宽度为32位,所以还要采用移位的方法写入am29f040。 引导表的格式主要由下面几部分组成:首先,是包括引导表数据宽度和其它数据总线寄存器值的头文件。接着,是coff文件中各个段的数据,其中每个段都包含一个该段的文件头来说明该段的代码长度和地址。最后是结束段。 这里,采用coff格式生成引导表比较麻烦。ti公司提供了一个很有用的转换工具hex30,只须编写一个命令文件,就可使用这个转化工具自动生成引导表。f1ash存储器烧写流程如图2所示。

采用ti公司的tms320c32的dsp,

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!