利用DSP-TMS320F2812增强型SPI接口实现系统存储容量的扩展

1、引言

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

S     PI   是一个高效、数据位数可编程设置的高速输入/输出串行     接口   ,几乎所有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接口和     RS   232接口)的通讯,运动控制系统的部分控制程序、大量的初始化数据和系统的配置信息都存在大容量的串行接口Flash M25P80中,通过DSP增强型SPI接口实现与核心处理器DSP的高速通信。

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

3、 Flash扩展的硬件设计

3.1 TMS320F2812的增强型SPI接口特性

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

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

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

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

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

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

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

3.2 串行接口Flash M25P80

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

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

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

SPISO     MI   :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随即启动内部逻辑完成编程操作。

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

4、 SPI模块软件编程

4.1 软件流程说明

SPI模块软件流程图如图4所示。

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表  利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

a、系统初始化:完成SPI接口引脚功能的选择、DSP外部接口时钟的定标、SPI接口时钟的使能。具体为:GPIO多路复用控制寄存器:GPFMUX中将相关引脚配置为SPI功能引脚,低速设备时钟定标寄存器L     OSP   CP中低速设备时钟的定标,外设时钟控制寄存器PCLKCR中SPI接口时钟使能,程序如下:

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

b、与SPI相关的中断初始化,使能外部中断向量表(PIEVECT寄存器),复位外部中断应答寄存器(PIEACK),清除外部中断标志寄存器(PIEIFR),置位PIE中断使能寄存器(PIEIER),清除全局中断屏蔽位(S  TI 寄存器的INTM位)。

c、SPI接口初始化:首先在SPI配置寄存器(SPICCR)中置位SPI软件复位位,使SPI进入复位模式,设置SPI接口的时钟极性(根据具体的Flash器件操作特性设置,在4种时钟模式中选择,本系统选择不带相位延时的下降沿方式)、选择有效数据位数、选择奇偶校验位;在SPI控制寄存器(SPICTL)中:使能接收中断和发送中断、选择SPI时钟相位、选择主或从模式;SPI波特率寄存器(SPIBRR)中设置SPI接口的通讯波特率。

d、SPI增强型特性配置:SPIFIFO发送寄存器(SPI     FFT   X)中复位SPI发送和接收通道、使能增强特性、复位FIFO指针、清除FIFO中断标志位、使能FIFIO中断、设置FIFO中断优先级,SPIFIFO接收寄存器(SPIFFRX),请参考SPIFFTX寄存器配置,两者基本相同,分别用于发送控制和接收控制,SPIFIFO控制寄存器(SPI     FFC   T);根据具体器件的操作时序要求配置FIFO发送延时。实现程序如下:
 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

 利用DSP_TMS320F2812增强型SPI接口实现系统存储容量的扩展_设计制作_测量仪表

5、 结束语

本文所述运动控制系统利用系统核心DSP自身的SPI接口,结合其高速性、可连续操作性和极大的灵活性,选用性价比高的大容量串行接口Flash,高效地实现对系统存储容量的扩展,适应了目前信息化发展趋势,满足了系统大容量存储空间的要求。

责任编辑:gt

67
51
0
4

相关资讯

  1. 1、《弹弹堂手游》猎杀标记压制火力是肉坦杀手4197
  2. 2、仙逆手游封测在即拿修仙门票抢封测大礼527
  3. 3、联赛今日开战《烈焰龙城》高颜值女会长与您相约1332
  4. 4、张靓颖代言《三国志2017》发布会现场直击3932
  5. 5、《模拟城市:我是市长》打造霓虹大楼让夜景更迷人2111
  6. 6、《放了那只猪》冬季新版本今日上线新增玩法介绍981
  7. 7、《新剑与魔法》五重福利全民狂欢备战双十二2507
  8. 8、国产TCG《阵面对决》新系列《燎原》火热发售3920
  9. 9、《疯狂原始人》传奇卡获得方法介绍全方位卡牌解析2375
  10. 10、《龙之谷手游》全新周末活动来袭变身英雄4882
全部评论(0)
我也有话说
0
收藏
点赞
顶部