首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年8月19日星期一
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
SST28SF040与高速数字处理器的接口设计及编程技巧

The Design of Interface and Program for DSP and SST28SF040

武汉高压研究所华电公司 张蓬鹤
湖南大学电气与信息工程学院 邵 霞


摘 要:基于TI公司的高速数字信号处理器芯片,详细描述SST公司推出的28SF040闪存芯片的 性能特点、引脚功能,同时给出用其扩展DSP芯片的数据存储器空间的硬件设计电路及相应的软件编程方法。

DSP具有先进的并行处理结构,特别适合于信号处理,已经越来越多的应用于工业控制领域和各类仪器仪表的开发设计。TMS320F206是TI公司生产的16位定点DSP,它有1条程序总线和3条数据总线,采用了改进的哈佛结构,内含高度并行的32位算术逻辑单元、16 16位并行硬件乘法器、片内存储器、片内外设,并配备了高度专业化的指令集,而且功耗相当低,特别适合于信号处理。由于闪存能在不脱离系统的情况下修改其存储单元中的内容,且断电后仍能保持存储的片内信息,故在DSP处理器中的应用愈来愈广泛。本文即结合DSP处理器的特点,详细介绍SST公司的SuperFlashEEPROM的硬件电路设计方法及编程技巧。

SST28SF040是SST公司(Silicon Storage Technology)推出的高速可编程闪存。它具有512K 8的存储结构;芯片擦除及写入的时间快,整片擦除只需20秒,段擦除只需2毫秒,字编程写入时间仅为35微秒;可靠性高,能够重复写100,000次,数据可以保存100年不丢失;低功耗,在激活状态下仅需15mA的电流(5V工作电压),备用状态时仅需5uA的电流;具有32脚的PLCC/TSOP封装和PDIP封装SOI封装,在多功能的精密测试仪中具有广阔的前途。


引脚及功能

引脚分配情况如图1所示

图1 SST28SF040的32pin_PLCC封装引脚分配图(略)


引脚功能

(1)A18-A8:行地址输入引脚。行地址决定每个段的地址。

(2)A7-A0:列地址输入引脚。用列地址来选择在每个段内的具体地址。

(3)DQ7-DQ0:数据输入/输出引脚。

(4)CE:使能信号输入端,低电平有效。

(5)OE:输出使能信号,低电平有效。

(6)WE:写使能信号,控制芯片的写入。

(7)VDD:工作电源,接5V。

(8)VSS:工作地。


操作命令序列概要介绍

SST28SF040操作指令序列的具体情况如表1所示

表1 SST28SF040操作指令序列表(略)

在表1中,PA为要写入数据信息的存储器地址,PD为要在地址PA处写入的数据信息。


操作命令及时序详解

字节编程命令

编程命令要以一个建立命令来开始,一旦建立命令被执行,则在下一个WE信号脉冲到来时,就执行编程命令,该命令仅占用2个总线操作周期。采用WE信号控制的编程命令的时序图如图2所示。

图2 用WE信号控制的编程命令时序图(略)

复位命令

复位命令使存储器复位,且进入读数据状态。向任何一个的地址写入FFH就能使存储器复位,该命令占有1个总线操作周期。

擦除命令

擦除命令包括段擦除命令和整片擦除。段擦除命令将擦除整个段内的所有字节(一个段包含256个字节),需要用一个建立命令和一个执行命令来初始化,占有2总线周期的操作。整片擦除命令同段擦除命令基本相似。

读命令

当CE、OE信号为低电平,WE信号为高电平时,芯片就进入读状态,并不需要特定的操作命令代码,只需给出要读取的地址,即可迅速读出该地址的内容。

读ID号命令

当向器件写控制字90H时,读地址0000H将输出厂家编号“BFH”;读地址0001H将输出器件编号04H。任何一个有效的命令都将终止这种操作。


应用举例

硬件接口

利用闪存在线可编程的特点,笔者在开发基于DSP的信号处理板时,在存储采样数据时用了一片SST28SF040,并利用这套硬件系统和仿真软件直接对SST28SF040进行了在线编程,具体的硬件接口电路图如图3所示。

图3 SST28SF040与DSP系统的硬件接口示意图(略)

在该系统中采用TMS320F206作为中央信号处理器,用74LS245实现对超过64K的存储器地址空间进行选择。

软件程序

TMS320F206的用户可以用汇编语言或C语言进行源程序的编写,而C语言开发出的系统易于维护,可靠性高,可移植性好,故下面介绍用C语言编写的SST28SF04的开发程序。这里仅给出段擦除和字节编程程序,对于整片擦除的程序可以参看段擦除程序。

ioportunsigned intport1823; #defineioadr0port1823
ioportunsigned intport1820; #defineioadr1port1820
ioportunsigned intport1822; #defineioadr2port1822
ioportunsigned intport0418; #defineioadr3port0418
ioportunsigned intport041b; #defineioadr4port041b
ioportunsigned intport0419; #defineioadr5port0419
ioportunsigned intport040a; #defineioadr6port040a
ioportunsigned intport041a; #defineioadr7port041a
ioportunsigned intporta000; #defineRegCsporta000
void FlashSDP()/*存储器软件数据保护程序*/
{ioadr0=0; ioadr1=0; ioadr2=0;
ioadr3=0; ioadr4=0; ioadr5=0;ioadr6=0;
} /*共需7个总线操作周期*/
void UnFlashSDP() /*存储器软件数据不保护程序*/
{ ioadr0=0; ioadr1=0; ioadr2=0;
ioadr3=0; ioadr4=0; ioadr5=0;ioadr7=0;
} /*共需7个总线操作周期*/
int EraseFlashSector(int Cs,unsigned int *Adr)
{ int m; /*开始段擦除程序*/
for(m=0;m<3;m++)
{*Adr=0xffff;
UnFlashSDP();
RegCs=Cs; *Adr=0x20; *Adr=0xd0;
}
FlashSDP(); *Adr=0xffff;
} /*段擦除程序结束*/
int WrFlashByte(int *DataIn,int Cs,int *AdrIn,int Len)
{inti; int b; int *Data,*Adr; /*写入字节编程程序开始*/
Data=DataIn;Adr=AdrIn; *Adr=0xffff;
UnFlashSDP(); RegCs=Cs;
for(i=0;i<Len;i++,Adr++,Data++)
{ if(*Data==0xffff)continue;
*Adr=0x1010; *Adr=*Data;
}
FlashSDP();
*(int *)0xffff=0xffff; RegCs=Cs;
}/*写入字编程程序结束*/


结束语

本文详细论述了SST28SF040的引脚功能、操作命令和使用方法,这些同样可以作为单片机、微处理器及PC机等其他应用系统对于闪存编程的直接参考。笔者在GKNDC-H型高压开关特性精密测量仪中就使用了SST28SF040,并取得了很好的存储效果。

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com