閃速存儲器在圖像采集系統(tǒng)中的應用
關鍵詞:閃速存儲器 K9F1208UOM 圖像采集 圖像存儲
引言
圖像的保存和恢復是一個圖像采集系統(tǒng)所不可或缺的功能之一。保存圖像信息所用的介質(zhì)或設備有很多種,如常用的電影膠片、膠卷、硬盤、軟盤、光盤、各種靜態(tài)和動態(tài)RAM、ROM以及固態(tài)存儲器件等。其中,F(xiàn)lash ROM以其內(nèi)容掉電不消失、價格低廉、控制方法靈活、與微處理器接口方便等特點,越來越多地應用在圖像采集與存儲系統(tǒng)中,如常見的數(shù)碼像機。因此,研究Flash ROM在圖像采集記錄系統(tǒng)中的應用技術有著重要的意義。
1 閃速存儲器的分類和發(fā)展現(xiàn)狀
目前常見的圖像采集記錄系統(tǒng)如數(shù)碼像機、數(shù)碼攝像機中,通常采用半導體存儲器作為其記憶部分。半導體存儲器通??煞譃殡S機存儲器(RAM)和只讀存儲器(ROM_。RAM的內(nèi)容可以隨時刷新,訪問速度快,但是掉電后其存儲的信息會丟失;ROM則具有掉電不丟失數(shù)據(jù)的特性。通常ROM又可分為固定ROM、PROM、EPROM和EEPROM。
圖1 K9F1208UOM引腳定義
閃速存儲器(Flash ROM)屬于半導體存儲器的一種,屬于非易失性存儲器NVM(Non-Volatile Memory)。它采用類似于EPROM的單管疊柵結構的存儲單元揣怕,是新一代用電信號擦除的可編程ROM;它既吸收了EPROM結構簡單、編程可靠的優(yōu)點,又具有EPROM用隨道效應擦除的快捷特性,集成度可做得很高,因而在便攜式數(shù)據(jù)存儲和各種圖像采集記錄系統(tǒng)中得到了廣泛的應用。
全球閃速存儲器的主要供應商有AMD、Atmel、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、Sharp、Toshiba。由于各自技術架構的不同,分為幾大陣營,因此閃速存儲也按其采用技術的不同而分為幾大類:
*NOR技術――代表公司Intel,特點為擦除和寫入慢、隨機讀快;
*NAND技術――代表公司Samsung,特點為隨機讀寫慢、以頁為單位連續(xù)讀寫快;
*AND技術――代表公司Hitachi,特點為低功耗,價格高。
*由EEPROM派生的閃速存儲器。特點:介于NOR與EEPROM之間。
存儲器的發(fā)展具有容量更大、體積更小、價格更低的趨勢,這在閃速存儲器行業(yè)表現(xiàn)得淋漓盡致。隨著單導體制造工藝的展,主流閃速存儲器廠家采用0.18μm,甚至0.15μm的制造工藝。
借助于先進工藝的優(yōu)勢,閃速存儲器的容量可以變大:NOR技術將出現(xiàn)256Mb的器件,NAND和AND技術已經(jīng)有16Gb的器件。
芯片的封裝尺寸更?。簭淖畛鮀IP封裝,到PSOP、SSOP、TSOP封裝,再到BGA封裝,閃速存儲器已經(jīng)變得非常纖細小巧。
工作電壓更低:從最初12V的編程電壓,一步步下降到5V、3.3V、2.7V、1.8V單電壓供電;符合國際上低功耗的潮流,更促進了便攜式產(chǎn)品的發(fā)展。
位成本大幅度下降:采用NOR技術的Intel公司的28F128J3價格為25美元,NAND技術和AND技術的閃速存儲器已經(jīng)突破10MB 2美元的價位,性價比極高。
本文中討論的是采用NAND技術的K9F1208U0M。
圖2 AT90S8515和K9F1208UOM硬件接口原理
2 64M閃速存儲器K9F1208UOM簡介
K9F1208U0M是Samsung公司生產(chǎn)的采用NAND技術的大容量、高可靠Flash存儲器。該器件采用三星公司的CMOS浮置門技術和與非存儲結構,存儲容量為64M8位,除此之外還有2048K8位的空閑存儲區(qū)。該器件采用TSSOP48封裝,工作電壓2.7~3.6V。
K9F1208U0M對528字節(jié)一頁的寫操作所需時間典型值是200μs,而對16K字節(jié)一塊的擦除操作典型民僅需2ms。每一頁中的數(shù)據(jù)出速度也很快,平均每個字節(jié)只需50ns,已經(jīng)與一般的SRAM相當。8位I/O端口采用地址、數(shù)據(jù)和命令復用的方法。這樣既可減少引腳數(shù),還可使接口電路簡潔。片內(nèi)的寫控制器能自動執(zhí)行寫操作和擦除功能,包括必要的脈沖產(chǎn)生,內(nèi)部校驗等,完全不用外部微控制器考慮,簡化了器件的編程控制難度。
2.1 器件結構
K9F1208U0M的結構如圖1所示。由以下幾部分組成:
①地址譯碼器。它是一個二維的譯碼器,A0~A7為Y方向譯碼器,A9~A25為X方向譯碼器;而A8是由命令寄存器決定的,用于選擇Flash ROM存儲器的區(qū)號。
②存儲陣列。如圖1所示,由于地址A8的不同,可以把存儲陣列分為第一和第二兩部分;同時,它還有一個空閑區(qū),都可通過命令進行選擇。整個存儲陣列又可分為4096塊,每一塊分為32頁,一頁包含528字節(jié)。這528字節(jié)包含第一部分的256字節(jié)和第二部分的256字節(jié)以及空閑區(qū)的16字節(jié)。
③命令寄存器。命令寄存器把輸入的命令暫存起來,根據(jù)不同的命令和控制線執(zhí)行不同的操作。
④控制邏輯和高電壓產(chǎn)生器??刂七壿嫯a(chǎn)生各種控制信號,用于對內(nèi)部的存儲陣列緩存器等進行合理的控制。高電壓產(chǎn)生器可以產(chǎn)生用于對存儲陣列進行編程的高壓。
⑤I/O緩存、全局緩存及輸出驅(qū)動。用于對輸入及輸出進行必要的緩存,以符合時序的要求。輸出驅(qū)動加強帶載能力。
2.2 引腳說明
表1概要地說明了K9F1208U0M各個引腳的功能。
表1 K9F1208U 0 引腳定義
引 腳 | 功 能 |
I/O0~I/O | 數(shù)據(jù)輸入輸出端,芯片未選中為高阻態(tài) |
CLE | 命令鎖存使能 |
ALE | 地址鎖存使能 |
CE | 芯片選擇控制 |
RE | 數(shù)據(jù)輸出控制,有效時數(shù)據(jù)送到I/O總線上 |
WE | 寫I/O口控制,命令地址數(shù)據(jù)在上升沿鎖存 |
WP | 寫保護 |
R/B | 指示器件的狀態(tài),0為忙,1為閑。開漏輸出 |
Vcc | 電源端 |
Vss | 地 |
①命令鎖存使能(CLE),使輸入的命令發(fā)送到命令寄存器。當變?yōu)楦唠娖綍r,在WE上升沿命令通過I/O口鎖存到命令寄存器。
②地址鎖存使能(ALE),控制地址輸入到片內(nèi)的地址寄存器中,地址是在WE的上升沿被鎖存的。
③片選使能(CE),用于器件的選擇控制。在讀操作、CE變?yōu)楦唠娖綍r,器件返回到備用狀態(tài);然而,當器件在寫操作或擦除操作過程中保持忙狀態(tài)時,CE的變高將被忽略,不會返回到備用狀態(tài)。
④寫使能(WE),用于控制把命令、地址和數(shù)據(jù)在它的上升沿寫入到I/O端口;而在讀操作時必須保持高電平。
⑤讀使能(RE),控制把數(shù)據(jù)放到I/O總線上,在它的下降沿tREA時間后數(shù)據(jù)有效;同時使用內(nèi)部的列地址自動加1。
⑥I/O端口,用于命令、地址和數(shù)據(jù)的輸入及讀操作時的數(shù)據(jù)輸出。當芯片未選中時,I/O口為高阻態(tài)。
⑧準備/忙(R/B),反映當前器件的狀態(tài)。低電平時,表示寫操作或擦除操作以及隨機讀正進行中;當它變?yōu)楦唠娖綍r,表示這些操作已經(jīng)完成。它采用了開漏輸出結構,在芯片未選中時不會保持高阻態(tài)。
2.3 K9F1208U0M的接口控制方法
K9F1208U0M在應用時必須通過外部微控制器來控制其內(nèi)容的讀寫,圖2給出了K9F1208U0M與AT90S8515單片機接口的方法。
K9F1208U0M的數(shù)據(jù)總線與AT90S8515的數(shù)據(jù)口PA口相連,用單片機的地址高位引腳PC6作為K9F1208U0M的片選信號(CS);PC5接K9F1208U0M的命令數(shù)據(jù)選擇端(CMD/DATA),而PC4接K9F1208U0M的地址鎖存允許端(ALE)。因此,對K0F1208U0M的訪問就相當于訪問地址分別為0xaf00、0x9f00、0x8f00的三個端口,分別對應K9F1208U0M的命令端口、地址端口、數(shù)據(jù)端口。因此,對于單片機而言,對K9F1208U0M的命令、地址和數(shù)據(jù)操作可通過不同的端口進行,簡化了K9F1208U0M讀寫控制的難度。
2.4 讀寫操作流程
圖3所示為K9F1208U0M的寫時序流程。
由圖3可看出,進行寫操作時先要寫入命令字80H,通知K9F1208U0M要進行寫操作,然后順序?qū)懭肽康牡氐刂泛痛龑懭氲臄?shù)據(jù)。應該注意的是,地址只需寫入一次,便可以連續(xù)寫入多個字節(jié)數(shù)據(jù)。地址指針的調(diào)整是由K9F1208U0M內(nèi)部邏輯控制的,不用外部干預。寫入操作是以頁為單位(1~528字節(jié))進行的,即每次連續(xù)寫入能超過528個字節(jié)。這是由于K9F1208U0M的工作方式?jīng)Q定的:寫入的數(shù)據(jù)先保存至Flash內(nèi)部的頁寄存器(528字節(jié))中,然后再寫入存儲單元。數(shù)據(jù)寫完之后還要給K9F1208U0M發(fā)出1個寫操作指令10H,通知其將頁寄存器中的數(shù)據(jù)寫入存儲單元,隨后就應該對狀態(tài)引腳進行查詢。如果該引腳為低,表明此次寫操作結束。最后的步驟是數(shù)據(jù)校驗,如果采用了ECC校驗模式,則此步驟可以省略。
其它操作如讀操作、擦除操作等過程均與此類似,可參考相關的器件說明文檔。限于篇,這里不再多述。
2.5 注意事項
在以K9F1208U0M為數(shù)據(jù)存儲介質(zhì)的系統(tǒng)設計中,需要注意無效塊的問題。無效塊即包含一個和多個無效數(shù)據(jù)位的塊。由于結構方面的原因,一塊(32頁)中有一個無效位也會導致整個塊無效。因此,系統(tǒng)必須在寫入數(shù)據(jù)時避開無效塊。出廠時,每片K9F1208U0M的無效塊信息均保存在一個無效塊信息表中,可以根據(jù)該表中的原始無效塊信息識別無效塊的位置。在K9F1208U0M的使用過程中,應隨時對無效塊情況進行檢查和更新,以保證無效塊表內(nèi)容的準確性;同時,應該禁止任何試圖擦除無效塊信息表的操作。
3 閃速存儲器在圖像采集記錄系統(tǒng)中應用
圖4是一種采用閃速存儲器為圖像記錄介質(zhì)的數(shù)字圖像采集記錄系統(tǒng)的原理框圖。
在該系統(tǒng)中,通過光學鏡頭把像成在位于焦平面處的CMOS圖像傳感器(OV7620)的像面上。CMOS圖像傳感器對其進行空閑采用并數(shù)字化以后,直接輸出分辨率為512480的8位灰度數(shù)字圖像數(shù)據(jù)。由于K9F1208U0M的讀寫時序無法與CMOS圖像傳感器配合,因此,需要在兩者之間加一個靜態(tài)緩存。這里使用的是HM62815(5128位SRAM)。先把圖像數(shù)據(jù)保存在靜態(tài)緩存中,然后通過AVR單片機的控制,把圖像轉(zhuǎn)存到K9F1208U0M里。至于何時需要轉(zhuǎn)存,則由AVR單片機根據(jù)外部控制命令接口傳來的命令;同時,還要由CMOS圖像傳感器輸出的行場同步時序信號來決定。
圖像記錄保存的最終目的是要顯示出來,因此還需要把保存在閃速存儲器K9F1208U0M中的圖像數(shù)據(jù)讀出。本系統(tǒng)中K9F1208U0M的圖像數(shù)據(jù)是通過USB接口讀出的。采用了AVR系列的AT90S8515單片機作為USB接口控制器,負責對與上位機通信用的USB接口進行配置及管理,此外,其主要的工作還包括對靜態(tài)緩存、K9F1208U0M等進行讀寫控制。在上位機中采用Visual C++語言編寫相應的圖像數(shù)據(jù)采集軟件,就能夠?qū)崿F(xiàn)通過USB總線對K9F1208U0M中圖像數(shù)據(jù)的讀取、顯示及保存。
該圖像采集系統(tǒng)輸出的數(shù)字圖像分辨率為512480,而K9F1208U0M是64M8位的閃速存儲器;因此,最多可以存儲272張圖片,并且讀寫速度達到300kB/s,基本能夠滿足一般使用的要求。
4 結論
閃速存儲器是圖像采集記錄系統(tǒng)中的記憶部分,對它的希望就是讀寫速度快、容量大以及操作方便。通過對Samsung公司采用NAND技術的閃速存儲器K9F1208U0M進行的研究表明:K9F1208U0M器件與系統(tǒng)的接口十分簡單、操作靈活方便、器件從硬件到軟件均有多種保護、數(shù)據(jù)可靠性高、使用壽命長,為大容量固態(tài)圖像存儲器市場提供了最具成本效益的解決方案,因而在各種數(shù)字圖像采集和存儲應用領域具有廣闊的應用前景。
評論