基于USB2.0的高性能移動(dòng)存儲(chǔ)設(shè)備的設(shè)計(jì)
1.引言
本文引用地址:http://www.ex-cimer.com/article/202560.htm閃存盤(FLASH MEMORY)是USB接口的一種典型應(yīng)用,1999年朗科研發(fā)出全球第一款USB閃存盤,成功啟動(dòng)了全球閃存盤行業(yè)。由于閃存是一種基于半導(dǎo)體的存儲(chǔ)器,信息在斷電后可以保存,并且還具有低功耗、速度快、可擦寫性、高可靠性、低成本等特點(diǎn),是高數(shù)據(jù)存儲(chǔ)密度的最佳選擇,在外部存儲(chǔ)領(lǐng)域、嵌入式系統(tǒng)、工控行業(yè)和信息家電業(yè)得到廣泛使用,如手機(jī)、數(shù)碼相機(jī)、MP3等。市場(chǎng)上的FLASH有多種技術(shù)來實(shí)現(xiàn),其中最常用的有NAND(與非)和NOR(異或)兩種。
武漢電離層觀象臺(tái)的高頻多普勒與到達(dá)角探測(cè)分析系統(tǒng)在投入實(shí)際觀測(cè)后,獲得了一些很重要的觀測(cè)數(shù)據(jù)[1],該系統(tǒng)的數(shù)據(jù)采集單元采用閃存作為數(shù)據(jù)移動(dòng)存儲(chǔ)設(shè)備,實(shí)現(xiàn)與計(jì)算機(jī)的信息交互,完成數(shù)據(jù)的分析與處理。本文所討論的NAND FLASH存儲(chǔ)器與USB2.0控制器的硬件連接和軟件編程方法,在研究開發(fā)USB移動(dòng)存儲(chǔ)器使其更穩(wěn)定安全地工作,具有重要的價(jià)值。本文首先介紹移動(dòng)存儲(chǔ)設(shè)備的硬件設(shè)計(jì)部分,重點(diǎn)討論了該移動(dòng)存儲(chǔ)設(shè)備的硬件接口設(shè)計(jì),繼而給出固件程序的編程方法。其中設(shè)備固件的編寫是本設(shè)計(jì)的重點(diǎn)。
2.硬件實(shí)現(xiàn)
本移動(dòng)存儲(chǔ)設(shè)備的USB2.0控制器采用ATMEL公司的AT89C5131芯片,數(shù)據(jù)存儲(chǔ)介質(zhì)采用SAMSUNG公司的NAND FLASH 芯片K9K2G08U0A。
2.1 AT89C5131芯片特點(diǎn)
AT89C5131是ATMEL公司生產(chǎn)的基于80C52內(nèi)核的高性能內(nèi)置全速USB控制器的8位單CPU微處理芯片[2],直接與MCS-51系列兼容,其內(nèi)部集成了32KB的Flash存儲(chǔ)器,可用于IN- System Programming;內(nèi)置4KB EEPROM,其中的1KB用于用戶數(shù)據(jù)的存儲(chǔ),具有1個(gè)控制端口和6個(gè)普通可編程端口,并且支持控制傳送、同步傳送、中斷傳送和批量傳送四種傳輸方式。該芯片的優(yōu)點(diǎn)是采用開發(fā)者熟悉的結(jié)構(gòu)和指令集,處理能力強(qiáng),構(gòu)成系統(tǒng)的電路簡(jiǎn)單,調(diào)試方便。
2.2 K9K2G08U0A芯片特點(diǎn)
K9K2G08U0A存儲(chǔ)器芯片的總?cè)萘繛?256M +8192k)bit*8bit,分為2048扇區(qū),每扇區(qū)又分為64頁(yè),每頁(yè)除了2k字節(jié)的主存儲(chǔ)區(qū)外,還包括64字節(jié)的備用[3]。它以200μs/ 頁(yè)完成2112個(gè)字節(jié)的編程操作;還可以在2ms內(nèi)完成128k字節(jié)的擦除操作;同時(shí)隨機(jī)讀數(shù)時(shí)間是25μs;數(shù)據(jù)線與地址線復(fù)用為I/O0-I/O7共 8根線;另外還分別提供了命令控制信號(hào)線;數(shù)據(jù)保存時(shí)間超過10年。NAND FLASH存儲(chǔ)器不會(huì)因?yàn)榇鎯?chǔ)容量的增加而增加引腳數(shù)目,從而極大方便了系統(tǒng)設(shè)計(jì)和產(chǎn)品升級(jí),但芯片的連接方法與編程訪問同傳統(tǒng)存儲(chǔ)器相比仍有較大差異。
2.3 硬件原理圖
該系統(tǒng)的硬件部分由內(nèi)置USB控制器的單片機(jī)AT89C5131,SAMSUNG公司的NAND FLASH 芯片K9K2G08U0A組成,硬件原理圖如圖1所示。必須寫入相應(yīng)的命令才能順利執(zhí)行閃存的各種操作,由于數(shù)據(jù)線與地址線復(fù)用為8根線,因此地址、命令以及數(shù)據(jù)的輸入/輸出需要通過命令鎖存信號(hào)(CLE)和地址鎖存信號(hào)(ALE)共同控制從而分時(shí)復(fù)用。
I/O[7:0]:數(shù)據(jù)輸入/輸出端口,該信號(hào)與AT89C5131芯片的P0[7:0]連接。
評(píng)論