串行FLASHSSF1101在单片机上

时间:2022-04-19 02:56:14

SSF1101是存储容量为4Mbit的SPI串行接口FLASH存储器,其IC卡封装形式可作为单片机系统的大容量数据存储卡。文中介绍了该器件的主要特性和工作原理,并以IC卡封装形式为例,给出了其与单片机的接口电路及相应的读写程序。

关键词:串行FLASH 单片机 IC卡

1 概述

对于野外移动工作或不便与上位机通信的单片机数据采集系统,使用一个大容量、可插拔、便于更换和携带的智能卡来存储采集到的数据,是一个较好的数据存储方案。SSF1101是上海新茂半导体有限公司生产的4Mbit串行接口可编程闪速存储器,该器件采用SPI串口模式与单片机或微机通信,无需任何元件。利用该器件提供的IC卡封装形式,可非常方便地和单片机系统进行接口以构成大容量的数据存储装置。同时,该芯片具有封装尺寸小、集成度高、电压低、存储容量大、接口方式简单等优点,在商业和工业领域具有广泛的应用前景。

2 性能特点

SSF1101是一个4Mbit的串行FLASH存储器,具有4根器件识别脚,可在一个系统中最多能扩展16片,其总存储容量可达8M字节,该器件的性能特点如下:

SPI串行数据接口符合SPI标准;

器件内具有4M Bit 闪速存储器,512页,每页1024字节;

内置4位器件地址译码电路,可直接并联扩展存储容量,最多可连接16片;

带有双1k字节的数据缓冲器,可在编程期间写入或读取数据,且读取/写入地址自动递增;

高速页面编程,典型时间为20ms;

高速页面到数据缓冲器的传输典型时间为100μs;

页面擦除典型时间为10ms;

器件擦除典型时间为2s;

内置擦除/编程时序逻辑;

可硬件写保护;

时钟频率最高达10MHz;

采用单5V电源工作,并有低电压2.7~3.5V可供选择;

低功耗,休眠电流典型值为18μA;

与CMOS电平和TTL输入/输出电平兼容;

工作温度很宽(商用);

内置上电复位电路;

在数据缓冲器和主Flash之间进行传送或比较时,可对未用的数据缓冲器和状态寄存器进行操作。

SSF1101采用32脚TSOP封装和IC卡封装两种形式,其TSOP封装外形及引脚排列如图1(a)所示,IC卡的触点配置如图1(b)所示。器件的引脚功能说明见表1所列。

表1 SSF110引脚说明

序 号引脚名I/O

描 述

1RDY/BUSYO闲/忙指示,此脚为低时表示器件忙,不能闪存进行操作2RSTI复位,低有效3WPI写保护,高有效。此信号有效时不能对闪存进行写擦除操作6VccI电源7,8GNDI地4,5,9,10ID0~ID3I芯片地址A0~A3,只有命令中的Device ID和ID0~ID3引脚电平一致时,命令才会被器件接受11TMI测试引脚,正常使用时接地12CSI片选,低有效,命令输入后应重新置为高电平13SCKI串行输入数据时钟14SII数据输入,命令和数据都由此脚串行输入15SOO/Z串行数据输出,三态16~32NCZ空脚

3 工作原理

SSF1101具有4194304位主存储单元,分成512页面、每页面1024个字节。此外SSF1101还包含有2个SRAM缓冲器,每个缓冲器有1024个字节,当主存储器内的1页正被编程时,缓冲器照样能接收输入数据。SSF1101使用SPI串口访问它的数据,因而硬件设计十分方便,系统可靠性很强,并可把开关噪声降到最低。该芯片在编程期间,不需要高电压,而编程电压仍为电源电压。 图2所示是SSF1101存储器的内部结构框图。

SSF1101通过简单的SPI串行口进行数据存取,器件的操作由主机发出的指令控制,一个有效指令包括一字节4位操作码、4位器件地址以及目的缓冲器或主储器地址位置。当CS为0时,主机向器件SCK端发送时钟信号,以引导操作码和地址从SI端写入到器件中。所有指令地址和数据都是先送高位。SSF1101的操作命令如表2所列。表中的X可取任意值,它对器件操作没有影响。

表2 SSF1101操作命令表

操 作命 令器件地址页面地址缓冲区地址读缓冲区11110ddddXXXXXXXXXXXXBA11-BA0读缓冲区21111ddddXXXXXXXXXXXXBA11-BA0写缓冲区10110ddddXXXXXXXXXXXXBA11-BA0写缓冲区20111ddddXXXXXXXXXXXXBA11-BA0使用内建擦除周期的从缓冲区1到闪存传送1010ddddPA11-PA0XXXXXXXXXXXX使用内建擦除周期的从缓冲区2到闪存传送1011ddddPA11-PA0XXXXXXXXXXXX不使用内建擦除周期的从缓冲区1到闪存传0010ddddPA11-PA0XXXXXXXXXXXX不使用内建擦除周期的从缓冲2到内存传送0011ddddPA11-PA10XXXXXXXXXXXX闪存到缓冲区1的传送1100ddddPA11-PA0XXXXXXXXXXXX闪存到缓冲区2的传送1101ddddPA11-PA0XXXXXXXXXXXX比较闪存页面和缓冲区10100ddddPA11-PA0BA11-BA0比较闪存页面和缓冲区20101ddddPA11-PA0BA11-BA0闪存直接读0001ddddPA11-PA0BA11-BA0状态寄存器读0000ddddXXXXXXXXXXXXXXXXXXXXXXXX片擦除1001ddddXXXXXXXXXXXXXXXXXXXXXXXX

3.1 状态寄存器(SR)

SSF1101具有一个8bit的状态寄存器,可用于指示器件的工作状态。该寄存器可通过“状态寄存器读”命令读出寄存器中的内容。寄存器内容及定义如下:

BF: 忙标志,为1时,表示器件忙,无法执行对闪存的操作命令;

CF:比较标志,为1时,表示缓冲区中的内容和指定的被比较的闪存页面不一致;

WPF:写保护标志,为1表示器件处于硬件写保护状态;

Bit2~Bit0:容量指示位,为全1表示闪存容量为4Mbit;

Res:保留位,暂为01;

当器件正确上电复位后,SR为 00001111B。

3.2 命令操作说明

(1)缓冲区传送

缓冲区传送分为三种,首先通过闪存到缓冲区的传送命令可把指定闪存页面中的内容拷贝到缓冲区1或缓冲区2中,传送到缓冲区1的命令码为:1100dddd PA11-PA0 XXXXXXXXXXX

上一篇:用PIC单片机实现的IC卡读写器 下一篇:20位单片音频数模转换器PCM63P