微处理器串行Flash接口设计

2012-04-29 23:58:01范建荣刘卫东
电脑知识与技术 2012年23期
关键词:北京航空航天大学存储器时序

范建荣 刘卫东

摘要:SPI总线是一个同步串行接口的数据总线,具有全双工、信号线少、协议简单、传输速度快等特点,是实现微处理器与Flash通信的理想选择。该文根据微处理器指令时序和串行Flash存储器SST25VF064C的操作和读写时序,设计了SPI接口,并利用软件控制实现了微处理器与SST25VF064C之间的通信。经ModelSim仿真得出了相应的仿真波形,根据仿真波形分析,所设计的SPI接口的功能是正确的。

关键词:SPI;总线接口;Flash;8位微处理器

中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)23-5725-05

The Connection Method of Microprocessor With Serial Flash

FAN Jiang-rong1, LIU Wei-dong1,2

(1.College of Information Science and Engineering, Ocean University of China, Qingdao 266100, China; 2.Hisense Electric Application Limited Company, Qingdao 266071, China)

Abstract: SPI bus is a data bus of synchronal and serial interface, which is characterized by full duplex communication, few signal lines, sim? ple protocol, high speed, etc. In this paper, according to the instruction timing of microprocessor and the reading and writing operation of the serial Flash memory SST25VF064C, SPI bus interface is designed, software is used to control the communication between the micro? processor and SST25VF064C. Analysis of corresponding simulating waveforms obtained by the ModelSim illustrate the design of the SPI interface is correct.

Key words: SPI ; bus interface; Flash; microprocessor

在目前所有的非易失性存储器(PROM、EPROM、EEPROM和Flash)中,Flash存储器几乎拥有现今讲究个性化的用户所需的所有特点,它具有掉电数据不丢失、快速数据存取、电可擦除、容量大、在线可编程、价格低廉以及足够多的擦除次数和较高的可靠性等诸多优点,因而已成为电子系统设计中的首选存储器。

在微处理器系统中使用Flash存储器,可以有效地将微处理器系统的灵活性和大容量存储的特性结合起来[1],用简单的设计完成复杂的任务。8位微处理器需要一种高效的数据总线来完成它与Flash之间的大量数据传送,SPI总线由于占用的接口总线少,通信效率高并且大部分处理器芯片都支持,因而通过它实现通信是一种理想的设计方案。目前的工作,多是针对于自带SPI接口的单片机与Flash的通信,还有一部分是针对不带SPI接口的微控制器,利用微控制器的I/O口结合软件模拟SPI时序实现了微控制器[2]与Flash之间的通信。基于这种情况,该文提出了微处理器串行Flash接口设计,利用微处理器的外部RAM结合软件控制来模拟SPI时序,实现Flash存储器和微处理器之间的通信。结果证明,这种方案使两者之间通信更简便迅捷。

1系统介绍

整个系统由8位微处理器[3-4]、SPI串行总线接口、外围设备Flash组成,8位微处理器发起Flash的读写指令及地址、SPI工作使能信号和时钟,因此在系统中起着核心控制作用。

SPI总线是一个同步串行接口的数据总线,它具有全双工、信号线少、协议简单等优点,由于串行总线的信号线比并行总线更少更简单,越来越多的系统放弃使用并行总线而采用串行总线。SPI总线最典型的应用就是主机与外围设备(如Flash、RAM、A/D转换器、LED显示器、实时时钟等)之间的通信。串行外围接口一共有4种操作模式,这些模式决定了利用时钟信号的哪个沿来控制数据传送,这些模式由CPU来设置[5]。SST25系列的Flash支持SPI模式0和3,该文中SPI采用模式0,在时钟信号的上升沿捕获数据,下降沿移出数据。SPI接口一般使用4条线:串行时钟线SCK、主机输入/从机输出数据线SI、主机输出/从机输入数据线SO和低电平有效的从机选择线SCS,其时序图如图1所示。

本系统中Flash采用的是SST25系列SST25VF064C串行Flash,该片具有与工业标准SPI接口兼容的外部引脚,工作电压为2.7-3.6v,它通过SCK、SO、SI、CE等四个管脚作为数据的读写,可以减少控制IO的数量。

2系统结构及设计

2.1结构框图

系统的结构框图如图2所示。

图6仿真波形图

从图中可以看到写指令执行完,把数据66H、55H写到Flash中,读指令执行完把数据66H、55H读到了CPU的寄存器中。综合以上分析,SPI的设计是正确的。

该文中的接口设计能够完成微处理器对Flash读写操作,说明该接口电路与软件设计是成功的。数据量和运算量的增大已成为各种微机控制系统面临的共同挑战,在不改变原有体系结构的基础上,采用大容量存储器,在当前是一种简便可行的办法。该文中的微处理器串行Flash接口设计,可用于扩展系统存储容量满足信息时代频繁的信息集成与交互,还可通过复制微处理器发送的数据到flash验证发送到外围器件的数据正确性,同时还对不带SPI接口的单片机读写flash Rom芯片提供一定的参考。

[1]刘文洲,王贤勇,任纪川,等.Flash存储器及其MCS-51系统中的应用[J].长春工程学院学报:自然科学版,2005(1):57-60.

[2]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008.

[3]何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1990.

[4]窦振中.单片机外围器件实用手册:存储器分册[M].北京:北京航空航天大学出版社,2000.

[5]何最红,张辉.TMS320C5402与单片机SPI串口通信的实现方法[J].国外电子测量技术,2005,24(2):4-6.

[6]赵杰,曹凡,冮殿亮,等.基于AMBA总线的SPI协议IP核的实现与验证[J].电子测量技术,2010,33(1):32-43.

猜你喜欢
北京航空航天大学存储器时序
基于时序Sentinel-2数据的马铃薯遥感识别研究
《北京航空航天大学学报》征稿简则
《北京航空航天大学学报》征稿简则
《北京航空航天大学学报》征稿简则
基于Sentinel-2时序NDVI的麦冬识别研究
《北京航空航天大学学报》征稿简则
静态随机存储器在轨自检算法
一种毫米波放大器时序直流电源的设计
电子制作(2016年15期)2017-01-15 13:39:08
存储器——安格尔(墨西哥)▲
环球时报(2014-06-18)2014-06-18 16:40:11
DPBUS时序及其设定方法
河南科技(2014年15期)2014-02-27 14:12:36