基于增强型SPI接口的大容量Flash扩展实现

1 引言

随着信息时代的到来,各种信息的集成和交互越来越频繁。运动控制系统中需要处理和存储的信息量也与日俱增,大部分运动控制系统的核心器件mcu自身已经集成了较大容量的存储器(与以前mcu相比),但仅仅依靠mcu自身的存储器一般很难满足系统对大容量存储的要求,因此必须找到高效的方法实现对系统存储容量的扩展。

spi是一个高效、数据位数可编程设置的高速输入/输出串行接口,几乎所有mcu生产厂商都提供对spi接口的支持,目前高速spi接口的时钟频率已达到60mhz甚至更高,spi接口一般只用4根连接线即可完成所有的数据通讯和控制操作,因此不占用mcu的数据总线和地址总线,极大的节约了系统的硬件资源,是一种经济实用的扩展系统存储容量的方法。

本文利用32位dsp-tms320f2812自身的增强型spi接口,结合性价比高的串行接口flash,高效地实现了对系统存储容量的扩展。

2 系统总体介绍

flash扩展实现的硬件系统是具有ethernet接口的基于dsp和cpld的运动控制板,系统总体结构如图1所示,核心器件是ti公司推出的32位定点dsp-tms320f2812和altera公司推出的maxii系列cpld-epm1270g。主要完成系统输入信号的检测、处理,各种控制算法以及和各种接口(ethernet接口和rs232接口)的通讯,运动控制系统的部分控制程序、大量的初始化数据和系统的配置信息都存在大容量的串行接口flash m25p80中,通过dsp增强型spi接口实现与核心处理器dsp的高速通信。

3 flash扩展的硬件设计

3.1 tms320f2812的增强型spi接口特性

(1)可编程的125种不同的波特率。

(2)可编程的1-16位有效数据长度。

(3)支持4种时钟模式,不带相位延时的下降沿模式、带相位延迟的下降沿模式、不带相位延时的上升沿模式和带相位延时的上升沿模式。

(4)可持续操作的特性:16级发送和接收fifo;可编程的中断优先级和延时发送控制功能。

时钟模式应根据具体应用中与mcu接口器件的操作时序决定,选取原则是保证在器件进行读写操作过程中,所要求的clk时钟沿到来时所操作的数据必须已经在相应的引脚上,例如,当接口器件(本系统中是flash)在上升沿接收数据,在下降沿发送数据时,mcu应该选择不带相位延时的下降沿方式。

增强型spi接口具有16位16级深度的发送和接收fifo,这为高速连续操作提供了可能,在发送和接收时可以最多进行32个字节的连续操作,从而极大的提高了通讯效率。

可编程的中断优先级和可编程的延时发送控制功能,增加了spi接口的灵活性,使用户可以自由配置中断,并根据外部器件的特性灵活控制spi接口的操作时序,既保证了接口操作的高速性也满足了不同接口器件操作时序的要求。

3.2 串行接口flash m25p80

m25p80是意法半导体公司推出的8m大容量串行接口flash器件,采用2.7v-3.6v单电源供电,兼容标准的spi接口,器件在上升沿接收数据,在下降沿发送数据,接口时钟最高为40mhz,支持最大256bytes的快速页面编程操作、快速的块擦除(512kbit)操作和快速的整体擦除(8mhz)操作;具有操作暂停和硬件写保护功能。

spi扩展模块硬件原理图如图2所示。

spisomi:spi从模式输出/主模式输入引脚,与flash的串行数据输出引脚q相连。

spisimo:spi从模式输入/主模式输出引脚,与flash的串行数据输入d引脚相连。

spiste:spi从模式发送使能引脚,与flash的片选引脚s相连。

spiclk:spi串行时钟引脚;与flash的时钟输入引脚c相连。

ram_wp信号由dsp的i/o口输出,控制外部flash的写保护功能,当ram_wp为高电平时,使能flash的硬件写保护功能,flash内部扇区受保护,不能进行写操作,系统中对flash的操作不会发生暂停,因此m25p80的hold信号直接接高电平,不进行中断暂停操作。

3.3 m25p80的指令操作

m25p80支持的操作指令共有12条,所有指令都是8位,操作步骤如下:先选中器件(片选信号拉低),然后输入8位操作指令字节,紧接着输入地址字节(0-3byte,必要时还要加入哑读字节),把片选信号拉高(有些指令不要求),m25p80即可以启动内部控制逻辑,自行完成相应的操作。以下以最常用的页面快速编程指令为例进行具体说明(其他指令与该指令操作相似,可以相互参考)。

页面编程指令时序图如图3所示,进行页面编程操作首先应将内部状态寄存器的写允许位(wren)置1,然后将片选信号拉低选中器件,输入pp指令字节02h,紧接着输入三个字节的地址数据,然后输入要编程的数据,所有数据都输入后将片选信号拉高,m25p80随即启动内部逻辑完成编程操作。

  • 基于增强型SPI接口的大容量Flash扩展实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计