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