Flash編程器的FPGA實現(xiàn)
1 引言
本文引用地址:http://m.butianyuan.cn/article/150090.htm閃速存儲器(FLASH Memory)以其集成度高、成本低、使用方便等許多優(yōu)點,廣泛應用于通訊設(shè)備、辦公設(shè)備、家用電器、醫(yī)療設(shè)備等領(lǐng)域。利用其保存信息的非易失性和在線更新數(shù)據(jù)參數(shù)的特性,可將其作為具有一定靈活性的只讀存儲器(ROM)使用。
現(xiàn)在的數(shù)字電路應用系統(tǒng)設(shè)計中,經(jīng)常遇到大容量的數(shù)據(jù)存儲問題。Flash由于容量大、存儲速度快、體積小、功耗低等諸多優(yōu)點,而成為應用系統(tǒng)中數(shù)據(jù)存儲器件的首選。由于在研制實時信號處理系統(tǒng)時,需要一塊大容量的Flash來存儲坐標變換的數(shù)據(jù)作查找表,因此面臨一個如何對Flash進行編程,將數(shù)據(jù)寫入Flash的問題。由于我們選用的Flash芯片為SST39SF010/020,是最新生產(chǎn)的型號,需要自己開發(fā)編程器來滿足設(shè)計需要,達到既經(jīng)濟又實用的目的。這一型號的Flash采用的是標準的5V電壓供電,器件在命令控制下自己產(chǎn)生內(nèi)部的擦除電壓Vpp,從而完成數(shù)據(jù)的寫入和芯片的擦除等各種功能。而FPGA這種大規(guī)模的可編程器件十分適合邏輯電路的設(shè)計,能方便地控制和產(chǎn)生 Flash編程操作中的各種控制命令,實現(xiàn)編程器的功能。
2 Flash的性能參數(shù)和操作時序
以最新的Flash芯片型號SST39SF010/020為例,容量為1/2Mbit(×8)。 它的主要性能有:
● 單一的5.0V電壓讀寫操作;
● 高可靠性,超過100年的數(shù)據(jù)保持能力;
● 快速擦除和字節(jié)編程功能
——扇區(qū)擦除時間典型值只需7ms;
——片擦除時間典型值只需15ms;
——字節(jié)編程需時間典型值只需20微秒;
——片重寫時間需3ms(SST39SF010)
● 片內(nèi)部產(chǎn)生Vpp編程電壓,實現(xiàn)自動讀寫時序;
● I/O兼容TTL;
各引腳功能:
Ams~A0:地址輸入 ——提供存儲器地址;
DQ7~DQ0:數(shù)據(jù)輸入/輸出 ——在讀時序時輸出數(shù)據(jù),在寫時序時接收輸入的數(shù)據(jù);
CE#:片選使能——當CE#為低電平有效;
OE#:輸出使能——選通輸出緩存器;
WE#:寫使能——控制寫時序;
VDD:接5V電源;
VSS:接地。
在對Flash進行編程操作前,必須保證存儲單元為空。如果不為空,就必須先對Flash芯片進行擦除操作。由于Flash采用了模塊分區(qū)的陣列結(jié)構(gòu),使得各個存儲模塊既可以整個芯片一齊被擦除,還可以使各個存儲模塊被獨立的分別擦除。只需在地址和數(shù)據(jù)端寫入不同的操作命令即可實現(xiàn)不同的擦除操作。
SST39SF010的編程操作分三步驟:第一步是連續(xù)載入三字節(jié)命令的軟件數(shù)據(jù)保護操作,第二步是寫入字節(jié)地址和字節(jié)數(shù)據(jù),在編程操作過程中,地址是在CE#或WE#的下降沿時有效,而數(shù)據(jù)則是在CE#或WE#的上升沿時有效;第三步是芯片內(nèi)部的編程操作,該操作在CE#或WE#的第四個上升沿有效,隨后該內(nèi)部編程操作在30微秒內(nèi)即可完成。
FLASH的編程操作是自動字節(jié)操作,編程時要特別注意編程時間參數(shù)和使用的命令集。編程和擦除時鐘周期的定時參數(shù)如表所示。
評論