PEEDI的下载速度达400KBps,时钟速率为5kHz至33MHz,电压为1.2V至5V。该仿真器的内置闪存编程器可使用750个器件,它采用前面板控制的MMC/SC存储器卡存储9个图片,还可作为闪存编程和调试的telnet服务器。此外,PEEDI可跟踪与TCP/IP端口连接的RS-232端口,以及ARM的调试通讯通道。它还可以在上电时自动初始化处理器,RS-232端口可启动处理器复位。
Actel公司宣布推出低成本的器件编程器和启动工具套件,支持其新推出以Flash为基础的ProASIC3和ProASIC3E现场可编程门阵列 (FPGA) 系列。
新的便携式FlashPro3编程器与高速USB 2.0规格兼容,可为新器件提供低成本和全速的编程功能。Actel崭新的ProASIC3启动工具套件能让设计者检验、设计和编程非挥发性ProASIC3/E器件,亦即业界最低成本的FPGA方案。FlashPro3编程器和ProASIC3启动套件专为支持单芯片ProASIC3/E器件而设计,可充分发挥该器件独特的结构特性。利用这些工具,工程人员可以采用AES加密检验安全的系统内可编程性 (ISP)。
Actel 反熔丝产品和工具市务总监Saloni Howard-Sarin称:“Actel第三代以Flash为基础的ProASIC3/E器件拥有全线低成本的硬件支持工具包,能让客户轻易地开始为其成本敏感的应用进行设计。全新的FlashPro3编程器与USB 2.0保持兼容,使到客户可在少于30秒内完成对ProASIC3方案的编程,而低成本的ProASIC3启动套件则让用户快速实现这一新型非挥发性FPGA所提供的独特优势,包括ISP和优化的安全特性。”
1 引言
闪速存储器(Flash Memory)以其集成度高、成本低、使用方便等许多优点,广泛应用于通讯设备、办公设备、家用电器、医疗设备等领域。利用其保存信息的非易失性和在线更新数据参数的特性,可将其作为具有一定灵活性的只读存储器(ROM)使用。
现在的数字电路应用系统设计中,经常遇到大容量的数据存储问题。Flash由于容量大、存储速度快、体积小、功耗低等诸多优点,而成为应用系统中数据存储器件的首选。由于在研制实时信号处理系统时,需要一块大容量的Flash来存储坐标变换的数据作查找表,因此面临一个如何对Flash进行编程,将数据写入Flash的问题。由于我们选用的Flash芯片为SST39SF010/020,是最新生产的型号,需要自己开发编程器来满足设计需要,达到既经济又实用的目的。这一型号的Flash采用的是标准的5V电压供电,器件在命令控制下自己产生内部的擦除电压Vpp,从而完成数据的写入和芯片的擦除等各种功能。而FPGA这种大规模的可编程器件十分适合逻辑电路的设计,能方便地控制和产生 Flash编程操作中的各种控制命令,实现编程器的功能。
2 Flash的性能参数和操作时序
以最新的Flash芯片型号SST39SF010/020为例,容量为1/2Mbit(×8)。
它的主要性能有:
● 单一的5.0V电压读写操作;
● 高可靠性,超过100年的数据保持能力;
● 快速擦除和字节编程功能
——扇区擦除时间典型值只需7ms;
——片擦除时间典型值只需15ms;
——字节编程需时间典型值只需20微秒;
——片重写时间需3ms(SST39SF010)
● 片内部产生Vpp编程电压,实现自动读写时序;
● I/O兼容TTL;
各引脚功能:
Ams~A0:地址输入 ——提供存储器地址;
DQ7~DQ0:数据输入/输出 ——在读时序时输
出数据,在写时序时接收输入的数据;
CE#:片选使能——当CE#为低电平有效;
OE#:输出使能——选通输出缓存器;
WE#:写使能——控制写时序;
VDD:接5V电源|稳压器;
VSS:接地。
在对Flash进行编程操作前,必须保证存储单元为空。如果不为空,就必须先对Flash芯片进行擦除操作。由于Flash采用了模块分区的阵列结构,使得各个存储模块既可以整个芯片一齐被擦除,还可以使各个存储模块被独立的分别擦除。只需在地址和数据端写入不同的操作命令即可实现不同的擦除操作。
SST39SF010的编程操作分三步骤:第一步是连续载入三字节命令的软件数据保护操作,第二步是写入字节地址和字节数据,在编程操作过程中,地址是在CE#或WE#的下降沿时有效,而数据则是在CE#或WE#的上升沿时有效;第三步是芯片内部的编程操作,该操作在CE#或WE#的第四个上升沿有效,随后该内部编程操作在30微秒内即可完成。这部分的时序如图所示。
Flash的编程操作是自动字节操作,编程时要特别注意编程时间参数和使用的命令集。编程和擦除时钟周期的定时参数如表所示。
3 FPGA实现Flash编程器的设计
Flash编程器的关键是要保证Flash地址和数据信号在时序上的严格要求,由SST39SF010的编程和擦除周期时序参数得知,它的地址或数据信号的建立和保持时间的最小时钟周期仅为30ns。为此,我们采用了40MHz的晶振作为FPGA的驱动时钟,它的最小时钟周期为25ns,完全可满足最小的时间周期要求。