常州大學信息科學與工程學院 陳江燁
華北石化公司機動設備處 喬悅峰
新型大容量閃存與單片機的接口設計
常州大學信息科學與工程學院 陳江燁
華北石化公司機動設備處 喬悅峰
介紹了大容量存儲器AT45DB041B的特點,給出了用AVR單片機對AT45DB041B進行讀寫操作的程序。
AT45DB041B;單片機;大容量;存儲器;串行
AT45DB041B是ATMEL公司的新型FLASH芯片。該芯片具有容量大、讀寫速度快、外圍電路少等諸多優(yōu)點,更為重要的是該芯片可最低工作在2.5V,工作電流僅為4mA,因此在移動通信、便攜等場合得到了廣泛的應用。由于采用了串行接口,大大減少了引腳數(shù)量,同時也提高了系統(tǒng)可靠性,降低了開關噪聲,縮小了封裝體積??梢詰糜谏虡I(yè)、工業(yè)等需要高密度、低引腳數(shù)、低電壓與低功耗的應用場合。
AT45DB041B中的數(shù)據(jù)按頁存放,主存共2048頁,每頁264字節(jié),總容量為528K字節(jié)(約4M比特)。存放在主存中的數(shù)據(jù)掉電不丟失。除了主存以外,AT45DB041B還有兩個容量為264字節(jié)的數(shù)據(jù)緩存。
表1 引腳功能描述
表2 狀態(tài)寄存器格式
AT45DB041B引腳見圖1,引腳功能描述見表1。
存放在主存儲器中的數(shù)據(jù)掉電不丟失。除了主存儲器以外,AT45DB041B還有兩個容量為264字節(jié)的數(shù)據(jù)緩存。緩存可以用作主存與外部進行數(shù)據(jù)交換時的緩沖區(qū)域,也可以暫存一些臨時數(shù)據(jù)。緩存讀寫方便迅速,但掉電數(shù)據(jù)會丟失。AT45DB041B數(shù)據(jù)讀寫采用串行方式,讀寫速度快,并且兼容CMOS和TTL輸入和輸出。
圖1 AT45DB041B 引腳圖
根據(jù)數(shù)據(jù)手冊可以編寫單片機對AT45DB041B的讀寫程序,下面僅介紹數(shù)據(jù)讀取中的連續(xù)陣列讀過程:
圖2 讀取數(shù)據(jù)流程圖
圖3 寫入數(shù)據(jù)流程圖
在提供了主存儲器陣列的開始地址后,在時鐘信號的作用下連續(xù)讀命令可以從芯片中以數(shù)據(jù)流方式進行數(shù)據(jù)讀取,而無需額外的地址信息或控制信號。芯片內(nèi)部的地址計數(shù)器會在每一個時鐘周期后自動增加,因而可以在不用寫入新的地址的情況下繼續(xù)讀取下一個字節(jié)。要進行一次連續(xù)讀操作,操作碼E8H必須要寫入芯片中,隨后是3個字節(jié)的地址(24位)與4個無關字節(jié)(32位)。24個地址位中,開始的4位是保留位,接下來的的11位(PA10-PA0)來用表示將要讀取的數(shù)據(jù)在主存儲器中的頁地址,再接下來的9位(BA8-BA0)用來表示字節(jié)在頁中的地址。無關字節(jié)在讀操作初始化時是必需的,在無關字節(jié)后,SCK引腳上的時鐘信號使數(shù)據(jù)從SO引腳輸出。
狀態(tài)寄存器是一個重要寄存器,其格式見表2。讀狀態(tài)寄存器的值可以用來確定設備的忙閑狀態(tài),忙閑狀態(tài)通過寄存器的第7位指示,如果第7位為1,則設備位于空閑狀態(tài)并可接收下一條指令。如果為0,則表示設備忙,需要等待。圖2、圖3分別是讀出數(shù)據(jù)和寫入數(shù)據(jù)的流程圖。
下面給出用AVR單片機ATmega88對AT45DB041B操作的有關程序。
根據(jù)AT45DB041B的操作時序,完成了其與單片機之間的通信,并在筆者設計的裝置中得到了成功的應用,運行穩(wěn)定可靠。AT45DB041B的突出特點是電路簡單、價格低、存儲容量大,占用系統(tǒng)資源少,適宜在大容量數(shù)據(jù)采集系統(tǒng)中應用。
[1]Atmel Corporation.AVR 8-bit Microcontroller Data Sheet:Atmega88.pdf,2006.
[2]Atmel Corporation.Serial DATAFLASH Product Databook.
[3]Atmel Corporation.Serial DATAFLASH Application Note.
陳江燁(1977—),女,碩士,常州大學信息科學與工程學院講師。