首页 理论教育 Flash扩展应用实例优化

Flash扩展应用实例优化

时间:2026-01-23 理论教育 姚姚 版权反馈
【摘要】:TMS320DM642片内不带Flash或EEPROM,系统掉电后,TMS320DM642存储器中的数据和程序将全部丢失,因此,TMS320DM642外部通常需要扩展Flash存储器,用于存储程序和重要的数据。Flash存储器也是通过TMS320DM642的EMIFA进行扩展,并由DSP或FPGA器件产生Flash芯片所需要的控制逻辑。本节以AMD公司的AM29LV160B为例介绍Flash扩展。设计分析读Flash不需要写关键字,仅需要注意源地址、目标地址和数据长度的定义。

TMS320DM642片内不带Flash或EEPROM,系统掉电后,TMS320DM642存储器中的数据和程序将全部丢失,因此,TMS320DM642外部通常需要扩展Flash存储器,用于存储程序和重要的数据。Flash存储器也是通过TMS320DM642的EMIFA进行扩展,并由DSP或FPGA器件产生Flash芯片所需要的控制逻辑。

1.硬件电路设计

Flash(闪速存储器)是近些年发展起来的新型非易失性存储器,它具有掉电数据不丢失、快速数据存取、电可擦除、容量大、在线可编程序、价格低廉,以及足够多的擦写次数和较高的可靠性等诸多优点。本节以AMD公司的AM29LV160B为例介绍Flash扩展。

AM29LV160B芯片具有以下特点:

1)可以配置成2M×8bit或1M×16bit存储方式。

2)电源电压3.3V,存储速度快,最快可达70ns。

3)低功耗,擦写次数最少可达一百万次,数据可保存20年。

4)灵活的扇区工艺,支持全部擦除功能,支持扇区保护功能。

AM29LV160B与TMS320DM642的接口电路如图3-15所示。

图示

图3-15 AM29LV160B与TMS320DM642的接口电路

由于TMS320DM642只支持8bit的ROM加载,所以必须把BYTE#接地,使AM29LV160B配置成2M×8bit模式,DQ15是该模式下的最低地址。同时,把RY/BY#接入一个指示灯,以显示AM29LV160B的擦除或烧写。

图示系统上电复位后,TMS320DM642的EDMA控制器从EMIF的CE1空间复制1KB的程序,放到零地址的内部存储器中;当EDMA传输完成后,CPU退出复位状态,开始执行零地址处的指令。

2.Flash擦除与读取程序

Flash的使用必须遵循规定的操作流程,写Flash之前要进行擦除操作。擦除分为两种模式,即芯片擦除和扇区擦除。对于8bitAM29LV160B的芯片擦除,需要按照如下步骤进行:

1)向0xAAA地址中写入数据0xAA。(https://www.xing528.com)

2)向0x555地址中写入数据0x55。

3)向0xAAA地址中写入数据0x80。

4)向0xAAA地址中写入数据0xAA。

5)向0x555地址中写入数据0x55。

6)向0xAAA地址中写入数据0x10。

【例3-2】 TMS320DM642扩展Flash电路原理图如图3-15所示,编写对Flash芯片进行芯片擦除的程序。

设计分析

按照芯片Datasheet的说明,分6步向相应的地址中写入对应的数据,即可完成芯片擦除的工作。程序代码

图示

【例3-3】 TMS320DM642扩展Flash电路原理图如图3-15所示,编写程序将Flash芯片中的一段长度为length的数据从源数据区中读出。

设计分析

读Flash不需要写关键字,仅需要注意源地址、目标地址和数据长度的定义。

程序代码

定义读Flash的函数READ_flash(),程序如下:

图示

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈