DSP处理器与FLASH存储器的接口技术
MBM29LV800BA是FUJITSU公司生产的1M×8/512K×l6位的FLASH存储器,其管脚信号如图2所示。/BYTE为×8或×16工作方式配置管脚(/BYTE接低时为×8方式,地址线为[A-1,A0,…A18]共20根,数据线为DQ[0:7],数据线高8位不用;/BYTE接高时为×16方式,地址线为A[0:18]共19根,A-1,不用,数据线为DQ[0:15]);RY/*BY为表示FLASH就绪或忙的管脚(它是集电极开路引脚,多个RY/*BY管脚可通过上拉电阻直接线与连接)。
MBM29LV800BA具有许多特点,主要如下
单电源3.0V读、编程写入、擦除;
与JEDEC标准的命令集和引脚分布兼容;
增加了快速编程写人命令,写入仅需两个总线周期;
具有至少100 000次的编程写入/擦写寿命;
灵活的扇区结构支持整片内容擦除、任一扇区内容擦除、相连续的多扇区内容并行擦除;
具有嵌入式编程写入算法,可自动写入和验证写入地址的数据;
具有嵌入式擦除算法,可自动预编程和擦除整个芯片或任一扇区的内容;
具有数据查寻位和切换位,可以通过软件查寻方法检测编程写入/擦除操作的状态;
具有RY/*BY管脚,可以通过硬件方法检测编程写入/擦除操作的状态;
自动休眠功能,当地址保持稳定时,自动转入低功耗模式;
具有低电压禁止写入功能;
具有擦除暂停/擦除恢复功能,
2.2 MBM29LV800BA的主要命令及嵌入式算法
MBM29LV800BA的编程写入及擦除命令如表2所示。其中,X为十六进制数字的任意值,RA为被读数据的FLASH地址,RD为从FLASH地址RA读出的数据,PA为写编程命令字的FLASH地址,PD为编程命令宇,SA为被擦除内容的扇区地址。 MBM29LV800BA具有嵌入式编程写入和擦除算法机构,当向FLASH写入数据内容或擦除其扇区内容时,需要根据相应的算法编程才能完成。其编程擦除算法流程为:首先写编程擦除命令序列;然后运行数据测试算法以确定擦除操作完成;其编程写入算法流程为:程序开始,首先验证写入扇区是否为空,不空则运行擦除算法;然后运行编程写入算法,写编程写入命令序列,再运行数据测试算法或查询RY/*BY管脚信号以确定该次操作完成。地址增1继续上述过程,否则结束操作;数据测试算法主要是测试DQ7和DQ5位的数据变化,以确定泫次操作是进行中、完成、还是失败。
3 C6201/6701与FLASH的接口设计
基于C6000系列DSP处理器的嵌入式系统往往采用地址映射方式为MAPl的ROM引导方式。这种方式是把开发成功的敝入式可执行程序烧写在CEl空间(从0~01400000地址开始的ROM存储器)中,并根据引导方式设置相应的引导模式管脚BOOTMODE[4:0]。这样,当嵌入式系统上电工作时,从复位信号的上升沿开始,辅助DMA把执行程序从引导ROM中移至片上程序存储船中,然后在片上程序存储器开始执行程序。这种方式呵充分发挥C6000系列DSP的并行结构特点,具有最好的执行性能。当引导ROM器件采用FLASH存储器MBM29LV800BA时,C6201/C6701与FLASH存储器以8位方式连接的接口设计如图3所示。FLASH的地址线[A-1,A0,…A18]与DSP的EMIF接口地址线[EA2,EA 3+…,EA21]直接相连;FLASH的低8位数据线DQ[0:7]与EMIF接口数据线[ED0,…,ED7]直接相连,高8位数据线DQ[8:15]不连接;读写使能信号可直接相连;EMIF接口的片选信号/CEl与字节使能信号/BE0相与后与FLASH的片选信号相连;FLASH的方式信号/BYTE接地;由于EMIF接口的ARDY信号为低时,DSP自动插入等待时钟周期,因此,FLASH的就绪或忙RY/*BY信号经上拉电阻直接与ARDY信号相连,这种设计使FLASH的编程写操作可不运行数据测试算法,大大简化了程序设计;C6201/C6701与FLASH以16位或32位方式相连咱6接口设计与8位方式类似。
4 引导程序开发实现过程
C6000系列DSP的引导程序开发实现不能一步完成,它需要一系列的实现步骤:首先,在硬件设计的同时,可在C6000系列DSP的集成开发环境CCS中,用C语言和汇编语言编写应用程序USAGE.C,通过编译、连接查找、修正原程序中的错误,生成COFF格式的可执行文件USAGE.OUT;其次,当硬件设计成功时,利用仿真器加载软件程序USAGE.OUT到硬件系统中调试验证软件程序,直至程序无错误;然后,编写、加载链接指令文件Link.crud,重新编译、链接软件程序生成BOOT.OUT文件,再利用TI公司提供的HEX转换工具包中的转换程序和FLASH存储器宽度,把该BOOT.OUT文件转换为相应的BOOT.HEX文件,由于转换工具包中没有提供相应的转换程序把BOOT.OUT文件直接转换为FLASH认可的二进制文件,因此还需要编写转换程序把BOOT.HEX文件再转换为BOOT.BIN二进制文件;最后,在CCS中编写FLASH写入程序,编译、链接生成
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 基于S3C44B0X+μcLinux的嵌入式以太网设计(07-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)
- DSP和Flash接口技术的实现(08-15)
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)