摘要:VDRF256M16是珠海歐比特公司自主研發(fā)的一種高速、大容量的NOR FLASH,可利用其對大容量數據進行高速緩存。文中介紹了該芯片的結構和原理,并同時給出了一個系統中大容量、高速數據傳輸要求的設計方案。
關鍵詞:VDRF256M16,數據緩存,數據采集
Principal and Application of High-Speed Large Capacity SRAM VDRF256M16
Zhan Lianyang, Ye Zhenrong, Wang Lieyang, Huang Xiaohu, Li Guang
Abstract:VDRF256M16 produced by ZHUHAI ORBITA CONTROL ENGINEERING CO., LTD. is a high-speed and large capacity of TTL static random access memory(SRAM), and is applied to process high-speed cache for large capacity of data. This paper introduces the instruction and principle, and at the same time provide a design program of satisfying transmission request for large capacity and high-speed data for system.
Key words: VDRF256M16, data buffer, data collection
1 引言
NOR FLASH 是很常見的一種存儲芯片,數據掉電不會丟失。NOR FLASH 支持Execute On Chip,即程序可以直接在FLASH 片內執(zhí)行。這點和NAND FLASH 不一樣。因此,在嵌入是系統中,NOR FLAS H 很適合作為啟動程序的存儲介質。NOR FLAS H 的讀取和RAM很類似,但不可以直接進行寫操作。對NOR FLAS H 的寫操作需要遵循特定的命令序列,最終由芯片內部的控制單元完成寫操作。所以,NOR FLASH一般是作為用于程序的存儲與運行的工具。
NOR的特點是芯片內執(zhí)行(XIP, Execute In Place),這樣應用程序可以直接在FLASH閃存內運行,不必再把代碼讀到系統RAM中。NOR FLASH的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。
2 NAND FLASH與NOR FLASH的性能比較
FLASH閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進行擦寫和再編程。任何FLASH器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執(zhí)行擦除。NAND FLASH器件執(zhí)行擦除操作是十分簡單的,而NOR FLASH則要求在進行擦除前先要將目標塊內所有的位都寫為0。
由于擦除NOR FLASH器件時是以64~128KB的塊進行的,執(zhí)行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND FLASH器件是以8~32KB的塊進行的,執(zhí)行相同的操作最多只需要4ms。
執(zhí)行擦除時塊尺寸的不同進一步拉大了NOR FLASH和NADN FLASH之間的性能差距,統計表明,對于給定的一套寫入操作(尤其是更新小文件時更多的擦除操作必須在基于NOR FLASH的單元中進行。
NAND FLASH的單元尺寸幾乎是NOR FLASH器件的一半,由于生產過程更為簡單,NAND FLASH結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。
NOR FLASH占據了容量為1~16MB閃存市場的大部分,而NAND FLASH只是用在8~128MB的產品當中,這也說明NOR主要應用在代碼存儲介質中,NAND FLASH適合于數據存儲,NAND FLASH在Compact Flash、Secure Digital、PC Cards和MMC存儲卡市場上所占份額最大
3 VDRF256M16芯片
3.1 芯片介紹
VDRF256M16是一款高集成度的靜態(tài)隨機存取存儲器,其總含有256M bits。由于此芯片里面包含4個片選,每個片選含有1個Block,具體的內部結構見圖1。這種結構不但大大的擴充了存儲器的容量和數據位寬,而且還可以在應用時大量節(jié)省了PCB板的使用空間。從圖1可以看出,每個片選控制了每一Block的寫保護信號#WP,另外芯片中的每一個Block的其他控制端口、地址線和數據線都是共用的。圖2為VDRF256M16中的任一Block的結構框圖,它主要由控制邏輯、存儲整列等組成。下面為VD RF256M16的主要特性。
· 總容量:256Mbit;
· 數據寬度:16位;
·工作電壓3.3V +/- 0.3V;
·每個DIE(共4個DIE)含:-8個8KB的扇區(qū)、127個64KB的扇區(qū);
·扇區(qū)的硬件鎖防止被擦除、編程;
·存取時間最高達90ns;
·高擦除/編程速度:
-字編程8us(典型值);
-扇區(qū)擦除500ms(典型值);
-芯片擦除64s/DIE(典型值);
·解鎖旁路模式;
·擦除暫停/繼續(xù)模式;
·支持JEDEC通用FLASH接口協議(CFI);
·寫保護功能,允許不管扇區(qū)保護狀態(tài)對兩BOOT扇區(qū)進行寫保護;
·加速功能促進加快芯片編程時間;
·最小100000次的擦除、編程;
圖1 VDRF256M16芯片內部的結構圖
圖2 VDRF256M16內部Block的結構框圖
3.2 VDRF256M16的引腳說明
VDRF256M16芯片采用的是SOP封裝工藝,整塊芯片表面鍍金,這樣可以大幅度增強了芯片的抗干擾和抗輻射的能力,有利于該芯片能應用于航空航天等惡劣的環(huán)境。
VDRF256M16芯片各引腳分布見下圖3所示,各引腳的功能說明如下:
VCC:+3.3V電源輸入端。濾波的旁路電容應盡可能靠近電源引腳, 并直接連接到地;
VSS:接地引腳;
A[21..0]:地址同步輸入端;
#WE:此端為低時寫入,為高時寫無效,數據有效發(fā)生在相應地址有效之后的兩個周期;
# OE:輸出使能, 數據讀取時需置為低,寫時置為低;
#WP/ACC[3..0]:最外的兩個8KB的BOOT扇區(qū)保護狀態(tài)。當電平為VIL時,此兩扇區(qū)受保護,不能進行擦除、編程操作;當電平為VIH時,取決于扇區(qū)保護狀態(tài),如此兩扇區(qū)是受保護的則不能進行操作,如未受保護則可進行擦除、編程操作;當電平為VHH時,將進入解鎖旁路模式進入加速編程狀態(tài)。此管腳不能懸空;
#CE[3..0]:低電平有效時選中該片,可通過兩個片選信號選擇四個Block,但兩個片選信號不能同時選中;
#BYTE:字節(jié)/字模式選擇。低電平為字節(jié)模式,DQ0~DQ7為數據端口,DQ8~DQ14為高阻狀態(tài),DQ15做LSB地址輸入;高電平為字模式,DQ0~DQ15為數據端口;
RY/#BY:準備/忙碌狀態(tài)輸出。低電平為忙碌狀態(tài);高電平為準備狀態(tài);
D[15..0]:數據輸入/輸出腳。
圖3 VDRF256M16引腳分布圖
3.3 芯片操作
VDRF256M16的軟件操作可以分成兩類: 普通讀操作和命令操作。普通讀操作非常簡單, 與RAM的讀操作類似, 當#OE和#CE信號同時為低電平時, 即可從芯片讀出數據。芯片的命令操作包括芯片的識別、字節(jié)編程、扇區(qū)擦除以及整片擦除等。這些操作分別由各自的軟件操作命令序列來完成, 如表1所列。其中, BA為待編程字節(jié)的地址,Data為字節(jié)編程數據, SAX為待擦除扇區(qū)的地址。命令中的地址只有低15位有效, 高4位可任意設置為/ 00或/ 10。VDRF256M16的軟件操作命令序列實際上是由一個或多個總線寫操作組成的。以VDRF256M16的扇區(qū)擦除為例, 其操作過程包括3個步驟: 第1步, 開啟擦除方式,用表1中給出的第1至第5周期的總線寫操作來實現; 第2步, 裝載扇區(qū)擦除命令( 30H) 和待擦除扇區(qū)的地址, 用其對應的第6周期的總線寫操作來實現; 第3步, 進行內部擦除。內部擦除時間最長為500ms。
表1 軟件操作命令序列表
總線寫操作時,OE必須保持為高電平, CE和WE應為低電平。地址和數據的鎖存由CE和WE兩個信號的邊沿進行控制。它們當中后出現的下降沿將鎖存地址, 先出現的上升沿將鎖存數據。
4 VDRF256M16芯片的應用
以VDRF256M16為核心,配合適當的控制信號,不但可以對存儲器進行各種讀寫操作,而且還可以進行進一步的容量拓展。下面以該芯片在系統中的應用為例,介紹VDRF256M16在系統中的的硬件設計及各信號之間的時序關系。
4.1 系統的工作原理
硬件設計就是搭建合適的接口電路, 將VDRF256M16連接到微處理器的系統總線上。根據VDRF256M16和微處理器的結構特性, 我們發(fā)現VDRF256M16的數據線、讀、寫等信號線可以很容易地連接到微處理器的系統總線上。
圖4 硬件電路原理圖
微處理器接到指令,需將數據或程序存放至NOR FLASH時,微處理器首先會發(fā)送擦除指令將芯片進行擦除,具體的流程見圖5。然后將數據或程序利用寫指令寫到FLASH中。當需要調取數據或程序指令的時候,需要從FLASH中調取程序,那就需要發(fā)送讀指令到FLASH中,具體的流程見圖6。
圖5 擦除指令流程圖 圖6 讀指令流程
4.2 控制時序
由于該設計的數據速度快,容量大,因此時序的配合很重要,這種配合不僅僅指單個Block中各信號與時鐘的配合,同時也應考慮Block與Block之間的各信號之間的配合。當數據輸入時地址和數據應在保持穩(wěn)定;而數據輸出時,地址也應保持穩(wěn)定,這樣才能保證數據傳輸的可靠性及連續(xù)性。圖5(讀時序)和圖6(寫時序)為單片Block的控制時序圖。從圖中可以看出:無論在讀或寫數據時,地址總線信號和控制信號在發(fā)送一段時間后,數據信號才能發(fā)送或者讀取。所以在使用時,必須注意時序上的延時。
圖7 單片Block的寫時序圖
圖8 單片Block的讀時序圖
圖8 單片Block的擦除時序圖
5 結束語
本文所介紹的VDRF256M16是一款高速度、存儲容量大的16位NOR FLASH存儲器,總容量達到了256M,存儲周期最大可達到90ns。16位的數據總線寬度能更好和更快速的采集和緩存數據。在實際的應用中,可作為高速緩存。但在使用的過程中需要注意寫入和讀取數據的延時問題。另外,本芯片能在相當大的應用范圍中使用,具有很好的通用性,在需要高速大容量數據存儲的場合的工程中比其他類型的存儲器更有應用價值。
參考文獻:
[1] 珠海歐比特控制工程股份有限公司. VDRF256M16使用說明書[Z]. 2013.
[2] 李念強、魏長智、潘建軍、張羽. 數據采集技術及系統設計[M]. 機械工業(yè)出版社. 2009.
[3] 劉小林、范育兵、羅春暉. 基于FPGA的多通道數據采集系統設計[J]. 電子科技, 2009(07), 42-44.