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