基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的設(shè)計(jì)_第1頁(yè)
基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的設(shè)計(jì)_第2頁(yè)
基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的設(shè)計(jì)_第3頁(yè)
基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的設(shè)計(jì)_第4頁(yè)
基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于多功能單片學(xué)習(xí)機(jī)的基于多功能單片學(xué)習(xí)機(jī)的 NANDNAND FLASHFLASH 驅(qū)動(dòng)的設(shè)驅(qū)動(dòng)的設(shè)計(jì)計(jì)The design of NAND FLASH driver based on a Multifunction SCM learning machine總計(jì) 畢業(yè)設(shè)計(jì)(論文) 30 頁(yè) 表 格 3 個(gè) 插 圖 15 幅 I摘摘 要要基于多功能單片學(xué)習(xí)機(jī)的 NAND FLASH 驅(qū)動(dòng)包括兩部分:多功能單片學(xué)習(xí)機(jī)和 NAND FLASH 存儲(chǔ)器。本論文首先介紹了多功能單片學(xué)習(xí)機(jī)的軟/硬件設(shè)計(jì),該學(xué)習(xí)機(jī)利用自動(dòng)程序切換電路,使得同一片單片機(jī)既可以運(yùn)行系統(tǒng)程序,又可以運(yùn)行用戶程序,實(shí)現(xiàn)程序代碼的

2、在線下載。學(xué)習(xí)機(jī)外部擴(kuò)展了大量的硬件資源,豐富的系統(tǒng)硬件資源構(gòu)成了各種實(shí)際應(yīng)用電路,通過(guò)萬(wàn)能擴(kuò)展接口可以很方便地仿真外部應(yīng)用電路和擴(kuò)展用戶應(yīng)用電路。然后,著重介紹了 NAND FLASH 擴(kuò)展板的軟/硬件設(shè)計(jì),通過(guò)多功能單片學(xué)習(xí)機(jī)實(shí)現(xiàn)對(duì) NAND FLASH 的讀、寫時(shí)序。關(guān)鍵字:關(guān)鍵字:多功能單片學(xué)習(xí)機(jī) 自動(dòng)切換電路 NAND FLASH IIAbstractBased NAND FLASH multi-functional single-chip learning machine drive consists of two parts: a multi-functional single-

3、chip learning machine and NAND Flash memory. This paper introduces the hardware / software design, multi-functional single-chip learning machine with automatic switch circuit, so with a microcontroller can either run the system program, you can run the user program, the online download of the progra

4、m code. external learning machine expanse a lot of hardware resources, hardware system resources poses practical application circuit, through the universal expansion interface can easily simulate the external application circuit and extend the user application circuit. Then focuses on the the NAND F

5、LASH expansion board hardware / software design, achieved through a multi-functional single-chip learning machine NAND FLASH read and write timing.Key word: Multifunction SCM learning machine;automatic switch circuit ;NAND FLASH; III目錄目錄摘摘 要要.IABSTRACT.II第一章第一章 緒論緒論.11.1 國(guó)內(nèi)外研究概況.11.2 本課題的主要目標(biāo)和工作.11.

6、3 全文結(jié)構(gòu).2第二章第二章 多功能單片學(xué)習(xí)機(jī)多功能單片學(xué)習(xí)機(jī).72.1 多功能單片學(xué)習(xí)機(jī)的硬件設(shè)計(jì).72.1.1 單片機(jī) AT89S52 電路.82.1.2 數(shù)碼顯示電路.112.1.3 外部存儲(chǔ)器電路.142.1.4 外部存儲(chǔ)器的保護(hù)電路.172.1.5 鍵盤輸入電路.172.1.6 自動(dòng)程序切換電路.182.1.7 RS232 通信電路 .192.1.8 電源電路.192.2 多功能單片學(xué)習(xí)機(jī)的軟件設(shè)計(jì).202.3 本章小結(jié).20第三章第三章 NAND FLASH 擴(kuò)展板的設(shè)計(jì)擴(kuò)展板的設(shè)計(jì) .223.1 NAND FLASH 擴(kuò)展板硬件電路設(shè)計(jì).223.1.1 NAND FLASH 接口

7、電路.223.1.2 控制器的工作原理.243.2 NAND FLASH 驅(qū)動(dòng).253.2.1 NAND FLASH 的工作原理.263.2.2 NAND FLASH 的讀操作.263.2.3 NAND FLASH 的編程.273.2.4 NAND FLASH 的擦除.293.3 本章小結(jié).30第四章第四章 NAND 擴(kuò)擴(kuò)展板的調(diào)試展板的調(diào)試.314.1 硬件仿真注意事項(xiàng).314.2 編程中遇到的問(wèn)題.314.2 本章小結(jié).32第五章第五章 全文總結(jié)全文總結(jié).33參考文獻(xiàn)參考文獻(xiàn).34致謝致謝.35南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)1第一章 緒論1.1 國(guó)內(nèi)外研究概況國(guó)內(nèi)外研究概況新世紀(jì)嵌入式系

8、統(tǒng)迅速,主要表現(xiàn)在市場(chǎng)發(fā)展、通信、消費(fèi)電子產(chǎn)品和多媒體應(yīng)用。在這些嵌入式系統(tǒng)中,存儲(chǔ)設(shè)備的性能是決定整體系統(tǒng)性能的核心環(huán)節(jié)之一。相對(duì)于體積大、抗震性能差的硬盤等傳統(tǒng)存儲(chǔ)介質(zhì),F(xiàn)lash 存儲(chǔ)器具有容量大、速度快、成本低、性能佳等很多優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲(chǔ),因此在嵌入式系統(tǒng)中的應(yīng)用也越來(lái)越多,如在移動(dòng)電話、PDA、數(shù)碼相機(jī)、體積小巧的 U 盤、MP3 播放器等多媒體消費(fèi)類電子產(chǎn)品,正在迅速取代 NOR FLASH。NOR 和NAND 是現(xiàn)在市場(chǎng)上兩種主要的非易失閃存技術(shù)。Intel 于1988 年首先開(kāi)發(fā)出NOR flash 技術(shù),徹底改變了原先由EPROM 和EEPROM 一統(tǒng)天下的局面。

9、緊接著,1989 年,東芝公司發(fā)表了NAND flash 結(jié)構(gòu),強(qiáng)調(diào)降低每比特的成本,更高的性能,并且象磁盤一樣可以通過(guò)接口輕松升級(jí)。相“flash 存儲(chǔ)器”經(jīng)??梢耘c相“NOR 存儲(chǔ)器”互換使用。但是經(jīng)過(guò)了十多年之后,仍然有相當(dāng)多的硬件工程師也搞不清楚NAND 閃存技術(shù)相對(duì)于NOR 技術(shù)的優(yōu)越之處,因?yàn)榇蠖鄶?shù)情況下閃存只是用來(lái)存儲(chǔ)少量的代碼,這時(shí)NOR 閃存更適合一些。而NAND 則是高數(shù)據(jù)存儲(chǔ)密度的理想解決方案。Nand-flash內(nèi)存是flash內(nèi)存的一種,其內(nèi)部采用非線性宏單元模式,為固態(tài)大容量?jī)?nèi)存的實(shí)現(xiàn)提供了廉價(jià)有效的解決方案。Nand-flash存儲(chǔ)器具有容量較大,改寫速度快等優(yōu)點(diǎn)

10、,適用于大量數(shù)據(jù)的存儲(chǔ),NAND閃存是一種比硬盤驅(qū)動(dòng)器更好的存儲(chǔ)方案,這在不超過(guò)4GB的低容量應(yīng)用中表現(xiàn)得猶為明顯。隨著人們持續(xù)追求功耗更低、重量更輕和性能更佳的產(chǎn)品,NAND正被證明極具吸引力。1 1.2 本課題的主要目標(biāo)和工作本課題的主要目標(biāo)和工作本設(shè)計(jì)通過(guò)對(duì)“基于多功能單片學(xué)習(xí)機(jī)的 NAND FLASH 驅(qū)動(dòng)“的設(shè)計(jì),可熟悉多功能單片學(xué)習(xí)機(jī)的軟/硬件設(shè)計(jì),NAND FALSH 的基本工作原理及編程,熟悉硬件開(kāi)發(fā)的基本流程,熟悉常用元器件的使用,熟悉單片機(jī)的硬件開(kāi)發(fā),常見(jiàn)接口電路設(shè)計(jì),如 NAND FLASH 擴(kuò)展電路、鍵盤輸入電路,數(shù)碼管顯示電路,外部存儲(chǔ)器電路、外部存儲(chǔ)器的保護(hù)第一章

11、緒論2電路、自動(dòng)切換程序電路、電源電路等。完成的電路板可以實(shí)現(xiàn)對(duì) NAND FLASH 正確讀,寫操作,測(cè)試寫入數(shù)據(jù)不少于 1KBYTE。1.3 全文結(jié)構(gòu)全文結(jié)構(gòu)第一章介紹課題背景,國(guó)內(nèi)外研究概況及課題的主要目標(biāo)與工作。第二章著重介紹了多功能單片學(xué)習(xí)機(jī)的硬件設(shè)計(jì)和軟件設(shè)計(jì),其中硬件設(shè)計(jì)包括單片機(jī) AT89S52 電路,數(shù)碼顯示電路,外部存儲(chǔ)器電路,外部存儲(chǔ)器的保護(hù)電路,鍵盤輸入電路,程序自動(dòng)切換電路和電源電路等;軟件設(shè)計(jì)包括上位機(jī) PC 軟件和下位機(jī)軟件。第三章是詳細(xì)地分析了 NAND 擴(kuò)展板的設(shè)計(jì)。NAND 擴(kuò)展板的設(shè)計(jì)主要從 NAND 擴(kuò)展板硬件電路設(shè)計(jì)和驅(qū)動(dòng)兩方面闡述。第四章介紹了 NA

12、ND 擴(kuò)展板的調(diào)試,對(duì)硬件設(shè)計(jì)和編程中遇到的問(wèn)題進(jìn)行了分析。南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)7第二章 多功能單片學(xué)習(xí)機(jī)多功能單片學(xué)習(xí)機(jī)利用自動(dòng)程序切換電路,使得同一片單片機(jī)既可以運(yùn)行系統(tǒng)程序,又可以運(yùn)行用戶程序,實(shí)現(xiàn)程序代碼的在線下載。系統(tǒng)提供三種編程接口:系統(tǒng)小鍵盤編程接口、紅外遙控器編程接口和微機(jī)編程接口,旨在提高使用者編程學(xué)習(xí)的靈活性。單片機(jī)外部擴(kuò)展了大量的硬件資源:鍵盤、數(shù)碼顯示器、紅外遙控接收器、蜂鳴器、RS232 通信接口、RS485 通信接口、電源中斷接口以及一個(gè)萬(wàn)能擴(kuò)展接口。豐富的系統(tǒng)硬件資源構(gòu)成了各種實(shí)際應(yīng)用電路,通過(guò)萬(wàn)能擴(kuò)展接口可以很方便地仿真外部應(yīng)用電路和擴(kuò)展用戶應(yīng)用電路

13、。圖2-1為多功能單片學(xué)習(xí)機(jī)。圖2-1 多功能單片學(xué)習(xí)機(jī)2.1 多功能單片學(xué)習(xí)機(jī)的硬件設(shè)計(jì)多功能單片學(xué)習(xí)機(jī)的硬件設(shè)計(jì)學(xué)習(xí)機(jī)系統(tǒng)結(jié)構(gòu)框圖如圖2-2所示。主要由供電電路、電源電壓檢測(cè)電路、電源中斷電路、鍵盤電路、紅外遙控電路、數(shù)碼顯示電路、揚(yáng)聲器電路、存儲(chǔ)器電路、存儲(chǔ)器寫保護(hù)電路、程序自動(dòng)切換電路、RS232 及RS485 通信接口電路、單片機(jī)電路等組成。第二章 多功能單片學(xué)習(xí)機(jī)8圖2-2 學(xué)習(xí)機(jī)系統(tǒng)結(jié)構(gòu)框圖2.1.1 單片機(jī) AT89S52 電路AT89S52 是一種低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。使用 Atmel 公司高密度非易失性存儲(chǔ)器

14、技術(shù)制造,與工業(yè) 80C51 產(chǎn)品指令和引腳完全兼容。片上 Flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程 Flash,使得 AT89S52 在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。AT89S52 的主要性能:與 MCS-51 單片機(jī)產(chǎn)品兼容;8K 字節(jié)在系統(tǒng)可編程 Flash 存儲(chǔ)器;32 個(gè)可編程 I/O 口線;三個(gè) 16 位定時(shí)器/計(jì)數(shù)器;全雙工 UART 串行通道;六個(gè)中斷源;掉電后中斷可喚醒和看門狗定時(shí)器等。P0 口:P0 口是一個(gè) 8 位漏極開(kāi)路的雙向 I/O 口。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè) TTL邏 輯電平。對(duì)

15、 P0 端口寫“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0 口也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0 不具有內(nèi)部上拉電阻。 在 flash 編程時(shí),P0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p1 輸出緩沖器能驅(qū)動(dòng) 4 個(gè) TTL 邏輯電平。對(duì) P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)9口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 此外,P1.0 和 P

16、1.1 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器 2 的觸發(fā)輸入(P1.1/T2EX)。 在 flash 編程和校驗(yàn)時(shí),P1 口接收低 8 位地址字節(jié)。 引腳號(hào)第二功能: P1.0 T2(定時(shí)器/計(jì)數(shù)器 T2 的外部計(jì)數(shù)輸入),時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器 T2 的捕捉/重載觸發(fā)信號(hào)和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè) TTL 邏輯電平。對(duì) P2 端口寫“1”時(shí),內(nèi)

17、部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問(wèn)外部程序存儲(chǔ)器或用 16 位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 MOVX DPTR) 時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用 8 位地址(如 MOVX RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口輸出 P2 鎖存器的內(nèi)容。 在 flash 編程和校驗(yàn)時(shí),P2 口也接收高 8 位地址字節(jié)和一些控制信號(hào)。 P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p3 輸出緩沖器能驅(qū)動(dòng) 4 個(gè) TTL 邏輯電平。對(duì) P3 端口

18、寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3 口亦作為 AT89S52 特殊功能(第二功能)使用,如下表所示。 在 flash 編程和校驗(yàn)時(shí),P3 口也接收一些控制信號(hào)。 端口引腳 第二功能:P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)P3.2 INTO(外中斷 0) P3.3 INT1(外中斷 1)P3.4 TO(定時(shí)/計(jì)數(shù)器 0) P3.5 T1(定時(shí)/計(jì)數(shù)器 1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3 口還接收一些用于 FL

19、ASH 閃存編程和程序校驗(yàn)的控制信號(hào)。第二章 多功能單片學(xué)習(xí)機(jī)10RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的 1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ALE 脈沖。對(duì) FLASH 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的 8EH 單元的 D0 位置位,可禁止 ALE

20、操作。該位置位后,只有一條 MOVX 和 MOVC 指令才能將 ALE 激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ALE 禁止位無(wú)效。EA/VPP:外部訪問(wèn)允許,欲使 CPU 僅訪問(wèn)外部程序存儲(chǔ)器(地址 0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位 LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA 端狀態(tài)。如 EA 端為高電平(接 Vcc 端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V 的編程允許電源 Vpp,當(dāng)然這必須是該器件是使用 12V編程電壓 Vpp。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的

21、讀選通信號(hào),當(dāng) AT89S52 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 PSEN 有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次 PSEN 信號(hào)。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)11E A/V P31X 119X 218R ES ET9R D17W R16IN T 012IN T 113T 014T 115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P

22、2223P2324P2425P2526P2627P2728PSE N29A LE /P30T XD11R XD10U 1D 0D 1D 2D 3D 4D 5D 6D 7A 8A 9A 10C 415 PC 515 PJT12 M HZR ED IA EC 1910 UR 174.7KR STR STE APSE N38 A38 B38 CK SCK SBK SAK SIR DW RV CCA 11A 12R XDT XDT XDR XD1234J1IN T 0IO T 0IO T 1P2.5G NDE AP2.6P2.7圖 2-3 AT89S52 單片機(jī)電路圖 2-3 為設(shè)計(jì)中采用的單片機(jī) A

23、T89S52 的原理圖,其中 P0.0-P0.7 是控制數(shù)碼管顯示端口,P1.0-P1.2 是 8 位數(shù)碼管的片選信號(hào)端口。P2.0-P2.7 是控制 PR2 端口。2.1.2 數(shù)碼顯示電路1.段式數(shù)碼管的原理常用的段式數(shù)碼管有七段式和八段式,八段比七段多了一個(gè)小數(shù)點(diǎn),其他的基本相同。所謂的幾段就是指數(shù)碼管里有相應(yīng)的幾個(gè)小 LED 發(fā)光二極管,通過(guò)控制不同的 LED 的亮滅來(lái)顯示出不同的字形(見(jiàn)圖 2-4(a)) 。從各發(fā)光二極管的電極連接方式又可以分為共陽(yáng)極和共陰極兩種類型。共陰極則是所有的二極管的陰極連接在一起,而陽(yáng)極是分離的(見(jiàn)圖 2-4(b)) ;而共陽(yáng)極就是所有二極管的陽(yáng)極是公共相連

24、,而陰極則是分離的(見(jiàn)圖 2-4(c)) 。學(xué)習(xí)機(jī)采用的是八段共陰極數(shù)碼管。數(shù)碼管與發(fā)光二極管的工作原理相同,共陽(yáng)極時(shí),所有正端接電源正極,當(dāng)負(fù)端有低電平時(shí),該段有電流流過(guò),發(fā)光管亮,當(dāng)負(fù)端為高電平時(shí),該段無(wú)電流流過(guò),發(fā)光管不亮。要顯示什么數(shù)字,就使對(duì)應(yīng)的段為低電平(見(jiàn)表 2-1) 。共陰極與共陽(yáng)極的電平變化狀態(tài)相反。當(dāng)每個(gè)段的驅(qū)動(dòng)電流為 220mA,第二章 多功能單片學(xué)習(xí)機(jī)12電流越大,發(fā)光越亮。圖 2-4 數(shù)碼管內(nèi)部結(jié)構(gòu)圖常用的七段式數(shù)碼管的硬件驅(qū)動(dòng)設(shè)計(jì)方法有:靜態(tài)驅(qū)動(dòng)與動(dòng)態(tài)驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)即指每個(gè)數(shù)碼管的數(shù)據(jù)線都有一個(gè)單獨(dú)的數(shù)據(jù)鎖存器,數(shù)據(jù)鎖存器輸入的數(shù)據(jù)由使能端控制,當(dāng)使能端為高電平時(shí),

25、數(shù)據(jù)線上的數(shù)據(jù)(要顯示的七段碼)進(jìn)入顯示器,使能端與地址譯碼器的輸出相連,要顯示那位,則選通那位的地址,在軟件設(shè)計(jì)上不要求程序循環(huán),也不存在顯示數(shù)字發(fā)生閃爍。但是這樣會(huì)占用很多口線。動(dòng)態(tài)顯示是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來(lái),就沒(méi)有必要每一位數(shù)碼管配一個(gè)鎖存器,從而節(jié)省了口線,地簡(jiǎn)化了硬件電路。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。學(xué)習(xí)機(jī)采用的是動(dòng)態(tài)掃描。動(dòng)態(tài)掃描驅(qū)動(dòng)數(shù)碼管的優(yōu)點(diǎn):當(dāng)顯示位數(shù)較多時(shí),采用動(dòng)態(tài)顯示方式比較節(jié)省 I/O 口,硬件電路也較靜態(tài)顯示簡(jiǎn)單

26、;缺點(diǎn):其穩(wěn)定度不如靜態(tài)顯示方式。而且在顯示位數(shù)較多時(shí) CPU 要輪番掃描,占用 CPU 較多的時(shí)間??偟膩?lái)說(shuō),無(wú)論是動(dòng)態(tài)還是靜態(tài)顯示,其顯示更新的速率不能太快,如數(shù)據(jù)不停變化,太快則無(wú)法看清楚顯示的內(nèi)容,在軟件設(shè)計(jì)是必須注意的。另外,在同等條件下動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在適當(dāng)提高驅(qū)動(dòng)電流,例如使用限流電阻,就應(yīng)略小于靜態(tài)顯示電路中的,或者使用緩沖驅(qū)動(dòng)芯片。表 2-1 顯示的數(shù)字和七段碼各位的對(duì)應(yīng)關(guān)系表顯示值0123456789七段共陰3FH06H5BH4FH66H6DH7DH07H7FH6FH七段共陽(yáng)C0HF9HA4HB0H99H92H82HF8H80H90H2數(shù)碼顯示電路分析

27、南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)13(1)芯片的介紹74HC138 是常用的 3-8 線譯碼器, 即具有 3 個(gè)輸入端( 管腳 1,2,3) 與 8 個(gè)輸出端( 管腳 15,14、13, 12, 11,10,9,7) ,作用為完成 3 位二進(jìn)制數(shù)據(jù)到 8 位片選的譯碼。也就是說(shuō),3 個(gè)輸入端對(duì)應(yīng) 8 個(gè)二進(jìn)制數(shù)據(jù)(000,001,010,011,100,101,110,111) ,對(duì)于每個(gè)輸入的數(shù)據(jù),輸出端相應(yīng)位輸出低電平,其他 7 位輸出高電平。74HC138 具有2 個(gè)低電平使能端(管腳 4,5)與 1 個(gè)高電平使能端(管腳 6), 當(dāng)?shù)碗娖绞鼓芏私拥碗娖角腋唠娖绞鼓芏私痈唠娖綍r(shí) 74HC

28、138 才能正常工作,否則 8 個(gè)輸出端全部輸出高電平。74HC138 的真值表如表 2.2 所示:H 代表高電平,L 代表低電平,X 代表不定的狀態(tài)。表2-2 74HC138的真值表 74HC273是8 D觸發(fā)器,內(nèi)部包含8個(gè)D觸發(fā)器,它們使用公共的時(shí)鐘脈沖和異步清零信號(hào),觸發(fā)方式為邊沿觸發(fā)。74HC273真值表如表2.3所示, 其中H表示高電平, L表示低電平,表示任意輸入, 表示上升沿觸發(fā)。表2-3 74HC273的真值表(2)電路原理圖 2-5 為數(shù)碼顯示電路,顯示電路中采用了 8 只數(shù)碼管,連接方式為八段共陰極數(shù)第二章 多功能單片學(xué)習(xí)機(jī)14碼管,顯示方案為動(dòng)態(tài)掃描。從圖 2-5 中可

29、以看出驅(qū)動(dòng)數(shù)碼管總共用了 6 個(gè)單片機(jī) I/O口,其中三個(gè) I/O 口通過(guò)一片 74HC138 控制 74HC273 鎖存器的時(shí)鐘 CLK 來(lái)實(shí)現(xiàn)對(duì)數(shù)碼管中的各段驅(qū)動(dòng),另三個(gè) I/0 口通過(guò)控制另一片 74HC138 來(lái)實(shí)現(xiàn)對(duì) 8 個(gè)數(shù)碼管中的公共端驅(qū)動(dòng);三極管 Q1Q8 工作在開(kāi)關(guān)狀態(tài);2.1.3 外部存儲(chǔ)器電路62256 是 32 K8 的高集成度的隨機(jī)存取存儲(chǔ)器,有 28 個(gè)引腳,采用單一+5V 電源供電,雙列直插式結(jié)構(gòu)。它們的內(nèi)部結(jié)構(gòu)與 6264 類似,也是由存儲(chǔ)器陣列、行列地址譯碼器以及數(shù)據(jù)輸入輸出控制邏輯組成。引腳功能和外部特性與 6264 基本相同,區(qū)別僅在于由于容量大,第 26

30、 引腳為 A13 第 1 引腳為 A14。62256 是 32K 的低功能靜態(tài) RAM 存儲(chǔ)器。用 P0 和 P2 來(lái)拓展外部 ram(就是用 P0 和P2 與 62256 對(duì)應(yīng)的管教相連接),假設(shè) P2.7 接 WR,P2.6 接 RD,P2.5 接 CS,那么久可以確定外部 RAM 的一個(gè)地址,想往外部 RAM 的一個(gè)地址寫一個(gè)字節(jié)時(shí),地址可以定為 XBYTE 0*8000,其中 WR,CS 為低,RD 為高,那就是(也就是 P2.7 和 P3.6 輸出了低電平,而P3.7 輸出了高電平,目的當(dāng)然是要選通 62256 并且向 62256 寫入數(shù)據(jù)),其它位的可以根據(jù)情況自己定(也就是其它位

31、 ushism 不打緊,關(guān)鍵就是控制 wr,cs,rd 的那幾個(gè)位要符合選通,讀,寫的規(guī)定就可以了),現(xiàn)在我們向 62256 中寫個(gè) 26 進(jìn)去就可以使用這天語(yǔ)句:XBYTE 0*8000= 26MCS-51 單片機(jī)系統(tǒng)拓展時(shí),一般使用 P0 口作為地址低 8 位(與數(shù)據(jù)口分時(shí)復(fù)用),而 P2 口作為地址高 8 位,它共有 16 跟地址總線,尋址空間為 64KB。62256 引腳功能A0 A14 地址總線D0 /D7 輸入、輸出口CS 端口選擇WE 輸入使能OE 輸出使能VCC 電源使能VSS 接地南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)15A7B6C4D2E1F9G10DP5C13C28M 1A7B

32、6C4D2E1F9G10DP5C13C28M 2A7B6C4D2E1F9G10DP5C13C28M 3A7B6C4D2E1F9G10DP5C13C28M 4A7B6C4D2E1F9G10DP5C13C28M 5A7B6C4D2E1F9G10DP5C13C28M 6A7B6C4D2E1F9G10DP5C13C28M 7A7B6C4D2E1F9G10DP5C13C28M 8S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1S2S3S4S5S6S7S1

33、S2S3S4S5S6S7A1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U374HC13838A38B38CD0D1D2D3D4D5D6D7VCCS8S8S8S8S8S8S8S8S8Q19012Q29012Q39012Q49012Q59012Q69012Q79012Q89012D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819C LK11C LR1U574HC273VCC456U6B1011U9E1213U9FW RDISPA1B2C3E14E25E36Y015Y114Y213Y312Y41

34、1Y510Y69Y77U1374HC138GNDVCCP2.5P2.6P2.7DISP圖 2-5 數(shù)碼管顯示電路第二章 多功能單片學(xué)習(xí)機(jī)16D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U274HC373D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7A8A9A10AEEAR WRA010A19A28A37A46A55A64A73A825A924A1021A1123A122C S120C S226W E27OE22D011D112D213D315D416D517D618D719U8VCCA11A12

35、R OER CS111213U6D123U6A56U9C456U11B8910U11C111213U11DR AM CR DW R1234J8R 282KVCCR 232KVCCR CSR OER WRA0A1A2A3A4A5A6A7A141A122A73A64A55A46A37A28A19A010D011D112D213VSS14D315D416D517D618D719C S20A1021OE22A1123A924A825A1326W E27VCC28U1262256VCCGNDA1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U1374HC138GN

36、DVCCP2.5P2.6P2.7123U14A74HC08456U14B74HC088910U14C74HC08R AM C32KSR AM C S111213U14D74HC08PSENR D32KSR AM OEW RAW RAW R32KSR AM C S32KSR AM OEA0A1A2A3A4A5A6A7A8A9A10A11A12P2.5P2.6D0D1D2D3D4D5D6D7123456789PR1123456789PR2VCCVCCD0D1D2D3D4D5D6D7A8A9A10A11A12P2.5P2.6P2.78910U6C123U11APSENPOW C HK圖 2-6 外部

37、存儲(chǔ)器電路南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)172.1.4 外部存儲(chǔ)器的保護(hù)電路存儲(chǔ)器寫保護(hù)電路在系統(tǒng)上電、掉電、電源電壓低以及切換系統(tǒng)程序和用戶程序時(shí)禁止存儲(chǔ)器寫操作,保護(hù)用戶代碼。由圖 2-7 所示。R30 和 Q15 檢測(cè)單片機(jī)復(fù)位信號(hào),R25、R26、Q14、R*組成電源檢測(cè)電路。D11R25R26Q1412U9A34U9B8910U11CR27VCCR30Q15RSTR*PROTECTRAMWR 圖 2-7 存儲(chǔ)器寫保護(hù)電路原理圖2.1.5 鍵盤輸入電路 圖 2-8 為鍵盤輸入電路,鍵盤電路使用一片 74HC138 擴(kuò)展 8 個(gè)按鍵。A1B2C3E 14E 25E 36Y 015Y 1

38、14Y 213Y 312Y 411Y 510Y 69Y 77U 474H C138K SAK SBK SCK 2K 7K 5K 8K 9K 3K 4K 6K SIV CC圖 2-8 為鍵盤輸入電路控制信號(hào) KSA、KSB、KSC 通過(guò) 74L138 輸出 Y0Y7 信號(hào),然后在由 K2K9 按鍵控制,最后決定 KSI 信號(hào)是否導(dǎo)通。例如:若控制信號(hào) KSA、KSB、KSC 為 011,則 Y3為低電平,如果 K6 按鍵按下,結(jié)果 KSI 導(dǎo)通。第二章 多功能單片學(xué)習(xí)機(jī)182.1.6 自動(dòng)程序切換電路如圖 2-9 所示的程序自動(dòng)切換電路是系統(tǒng)的關(guān)鍵部分,其作用是自動(dòng)切換系統(tǒng)程序和用戶程序,在切換

39、程序的同時(shí)給單片機(jī)一個(gè)復(fù)位信號(hào),使得切換程序后單片機(jī)都從0000 地址開(kāi)始執(zhí)行程序。學(xué)習(xí)機(jī)系統(tǒng)程序在單片機(jī)片內(nèi),用戶程序在片外,通過(guò)自動(dòng)邏輯控制電路切換系統(tǒng)程序和用戶程序。邏輯控制電路可以是純數(shù)字邏輯電路或微電腦控制電路,其關(guān)鍵是必須在切換程序的時(shí)候給單片機(jī)復(fù)位信號(hào),并且自動(dòng)切換單片機(jī)的讀、寫、外部程序存儲(chǔ)器的選通信號(hào)。其實(shí)現(xiàn)原理如下:(1)復(fù)位信號(hào)的產(chǎn)生 若開(kāi)始時(shí) EA 為高電平,此時(shí)運(yùn)行系統(tǒng)程序,若要切換到用戶程序,則將 K1 閉合,EA 為低電平,C21 放電,Q13 截止,C20 通過(guò) Q12 的 BE 極和 R16 充電,Q12 導(dǎo)通,產(chǎn)生復(fù)位高電平脈沖,若再要切換到系統(tǒng)程序,則將

40、K1 打開(kāi),EA 為高電平,C21 通過(guò) Q13 的 BE 極充電,Q13 導(dǎo)通,C20 通過(guò) Q13 的 CE 極放電,由于 Q13 導(dǎo)通后集電極為低電平,所以 Q12 也導(dǎo)通,同樣產(chǎn)生復(fù)位脈沖。達(dá)到復(fù)位的目的。C21R19R16C19R17K1R20RSTR18EAVCCVCCQ12Q13C20111213U6D123U6A56U9C123U11A456U11B8910U11C111213U11DRAMCS1PSENRDWRRAMCSRAMRDR21D10RAMWRPROTECT圖 2-9 自動(dòng)程序切換電路原理圖(2)邏輯切換電路 若開(kāi)始時(shí) EA 為高電平,此時(shí)運(yùn)行系統(tǒng)程序,外部程序存儲(chǔ)器

41、選通信號(hào) PSEN 不能通過(guò) U11A 而無(wú)效,讀信號(hào) RD 可通過(guò) U11D,由于 U11A 輸出為高電平,所以 RD 信號(hào)通過(guò) U11D 后又可以通過(guò) U6A,實(shí)現(xiàn)對(duì)外部存儲(chǔ)器的讀操作;寫信號(hào) WR 可通過(guò)U11B,WR 和保護(hù)電路相或后實(shí)現(xiàn)對(duì)外部存儲(chǔ)器的寫操作。若 EA 為低電平,此時(shí)運(yùn)行用戶程序,PSEN 有效,讀寫信號(hào)無(wú)效,即外部存儲(chǔ)器為程序存儲(chǔ)器,不能進(jìn)行寫操作。需要注意南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)19的是在切換程序時(shí),必須啟動(dòng)一個(gè)存儲(chǔ)器寫保護(hù)電路,以防止此期間外存儲(chǔ)器被意外寫數(shù)據(jù)。從而破壞了用戶程序。此外,在系統(tǒng)上電及掉電時(shí),也需要對(duì)外存儲(chǔ)器寫保護(hù)。在電源電壓不足時(shí),為安全起

42、見(jiàn),也應(yīng)該對(duì)外存儲(chǔ)器寫保護(hù)。2.1.7 RS232 通信電路如圖 2-10 所示,Q1、Q2 相互連接,完成信號(hào)電平的反相,D2、C1、C2 連接組成電源電路,D1 連接 Q2 的基腳,是 Q2 的保護(hù)二極管,D4 連接單片機(jī) RXD,是單片機(jī) RXD 引腳的保護(hù)二極管。RS232 通信接口電路為程序下載接口。圖 2-10 RS232 通信電路2.1.8 電源電路如圖 2-11 所示,電源輸入電路有兩個(gè)輸入端,一個(gè)為直流 9-12V 輸入,可接受變壓器輸入;另一個(gè)為直流 5V 輸入,可以用 4 節(jié)干電池供電。電壓檢測(cè)電路在電源電壓不足時(shí)會(huì)給單片機(jī)一個(gè)中斷信號(hào),同時(shí)禁止存儲(chǔ)器寫操作。第二章 多功

43、能單片學(xué)習(xí)機(jī)2012J3D 84007C 10C 11PJ1R 15510D 9V in1GND2+5V3U 10V CCD 11R 25100KR 2618KQ 14901312J712U 9A34U 9BR 27510C 6470UIN T 0V CCC 12C 13C 14C 16C 15C 22345C 18R *POW C HK圖 2-11 電源電路2.2 多功能單片學(xué)習(xí)機(jī)的軟件設(shè)計(jì)多功能單片學(xué)習(xí)機(jī)的軟件設(shè)計(jì)學(xué)習(xí)機(jī)軟件由兩部分組成: 上位機(jī)PC 軟件和下位機(jī)軟件。PC 機(jī)軟件在Windows 環(huán)境下用Visual Basic 軟件編寫,完成程序下載及程序切換控制,包括文件操作部分、通

44、信測(cè)試部分、通信協(xié)議處理部分、錯(cuò)誤處理等輔助功能。下位機(jī)軟件可以分為系統(tǒng)軟件和應(yīng)用軟件兩類,系統(tǒng)軟件放置于系統(tǒng)單片機(jī)內(nèi),應(yīng)用軟件(也即用戶程序)是無(wú)限增加的。比如AD/DA 實(shí)驗(yàn)程序、液晶顯示器實(shí)驗(yàn)程序、USB 驅(qū)動(dòng)實(shí)驗(yàn)程序、網(wǎng)絡(luò)實(shí)驗(yàn)程序、編程器擴(kuò)展應(yīng)用程序、解碼器、示波器等。學(xué)習(xí)機(jī)能夠完成各種實(shí)驗(yàn),這是由于其使用了執(zhí)行外部程序加上擴(kuò)展板的靈活結(jié)構(gòu)。下位機(jī)系統(tǒng)軟件的主要功能有:與上位機(jī)聯(lián)合下載程序;單機(jī)獨(dú)立工作,使用系統(tǒng)鍵盤或紅外遙控器修改/ 查看程序代碼,適合處理代碼量少的情況; 具有頻率計(jì)功能和脈寬測(cè)量功能;具有編程器功能。2.3 本章小結(jié)本章小結(jié)本章中詳細(xì)地介紹了多功能單片學(xué)習(xí)機(jī)的硬件設(shè)

45、計(jì),其中硬件設(shè)計(jì)包括單片機(jī)南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)21AT89S52 電路,數(shù)碼顯示電路,外部存儲(chǔ)器電路,外部存儲(chǔ)器的保護(hù)電路,鍵盤輸入電路,程序自動(dòng)切換電路和電源電路等;然后,簡(jiǎn)要地介紹軟件設(shè)計(jì),軟件設(shè)計(jì)包括上位機(jī) PC 軟件和下位機(jī)軟件。第三章 NAND FLASH 擴(kuò)展板的設(shè)計(jì)22第三章 NAND FLASH 擴(kuò)展板的設(shè)計(jì)基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)包括兩部分:NAND FLASH控制器和NAND FLASH存儲(chǔ)器。要訪問(wèn)NAND FLASH中的數(shù)據(jù), 必須通過(guò)NAND FLASH控制器發(fā)送命令才能完成。所以,NAND FLASH相當(dāng)于多功能單片學(xué)習(xí)機(jī)的一個(gè)外設(shè)

46、?;诙喙δ軉纹瑢W(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的總體方案設(shè)計(jì)如圖3.1所示,電路主要由多功能學(xué)習(xí)機(jī)中的單片機(jī)電路,鍵盤電路,數(shù)碼管顯示電路,擴(kuò)展外部RAM電路以及擴(kuò)展板NAND FLASH組成,其中NAND FLASH可選K9F2808U0B(16M X 8 BIT)、K9F1208U0B(64M X 8 BIT)。單單單單單單單單AT89S52單單單單單74HC373SRAM 622568*1 單單NAND FLASHA0-A7A8-A15D0-D774HC138圖3-1 基于多功能單片學(xué)習(xí)機(jī)的NAND FLASH驅(qū)動(dòng)的總體方案3.1 NAND FLASH 擴(kuò)展板硬件電路設(shè)計(jì)擴(kuò)展板硬件電路

47、設(shè)計(jì)3.1.1 NAND FLASH 接口電路K9F1208U0B 是由 131072 行(頁(yè))*528 列構(gòu)成。它的編程和讀操作是以頁(yè)為基礎(chǔ)執(zhí)行,而擦除操作是以塊為基礎(chǔ)執(zhí)行。在讀頁(yè)和頁(yè)操作時(shí),連到存儲(chǔ)器的 528 字節(jié)的數(shù)據(jù)寄存器在 I/O 緩沖與存儲(chǔ)器之間傳遞數(shù)據(jù)。3.6V 電源通過(guò) 5V電源連接兩個(gè)可調(diào)電阻,從而獲取 3.6V 的電壓。NAND FLASH 接口電路如圖 3-2 所示。南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)23K9F1208U0B 芯片有 4 個(gè) plane,每個(gè) plane 有 1024 個(gè) Block,每個(gè) Block有 32Page,每個(gè) Page 有 528Byte。1

48、 Page=528 Byte1 Block=528 Byte *32 Pages=(16K+512)Byte1Device=528Bytes*32Pages*4096 Blocks=512Mbit+16Mbit=64MByte+2MByte合計(jì):K9F1208U0B 有 4 個(gè) Plane、4096 個(gè) Block、32*4096=131072 個(gè)Page。圖 3-2 NAND FLASH 接口電路I/O0 I/O7-data inputs/outputs 通過(guò)這 8 個(gè) I/O 引腳,可以輸入命令,地址和數(shù)據(jù),也可以在讀操作時(shí)輸出數(shù)據(jù)。CLE-command latch enable CLE

49、 輸入控制了發(fā)送到命令寄存器的命令。CLE 為高電平時(shí)激活,在 WE 的上升沿,命令通過(guò) I/O 端口被鎖存到命令寄存器中,結(jié)合 datasheet 的相關(guān)時(shí)序圖來(lái)理解更為深刻。ALE-address latch enable ALE 輸入控制了地址發(fā)送到內(nèi)部地址寄存器中,在 WE 的上升沿和 ALE 為高電平時(shí),地址被鎖存到地址寄存器中。CE-chip enable CE 是設(shè)備選擇控制引腳。 WE-write enable 寫使能,在 WE 的上升沿,命令,地址和數(shù)據(jù)被鎖存。WP -write protect 寫保護(hù),當(dāng)此引腳為低電平激活,也即內(nèi)部高壓第三章 NAND FLASH 擴(kuò)展板的

50、設(shè)計(jì)24發(fā)生器復(fù)位。R/B-ready/busy output 就緒/忙輸出引腳,通過(guò)這個(gè)引腳可以知道設(shè)備操作的狀態(tài)。低電平時(shí),表示編程或擦除或隨機(jī)讀操作在進(jìn)行,并且根據(jù)完成情況來(lái)返回高狀態(tài)3.1.2 控制器的工作原理圖 3-3 學(xué)習(xí)機(jī)引出的插座多功能學(xué)習(xí)機(jī)作為NAND FLASH的控制器,要訪問(wèn)NAND Flash 中的數(shù)據(jù),必須通過(guò) NAND Flash 控制器發(fā)送命令才能完成。NAND Flash 控制器在其專用寄存器區(qū)( SFR)地址空間中映射有屬于自己的特殊功能寄存器, 就是通過(guò)將 NAND Flash 芯片的內(nèi)設(shè)命令寫到其特殊功能寄存器中, 從而實(shí)現(xiàn)對(duì) NAND Flash 芯片讀

51、、檢驗(yàn)和編程控制。特殊功能寄存器有: NFCONF、NFCMD、NFADDR、NFDATA、NF STAT 、NFECC。圖 3-3 為多功能學(xué)習(xí)機(jī)引出的插座。南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)253.2 NAND FLASH 驅(qū)動(dòng)驅(qū)動(dòng) 開(kāi) 始數(shù)據(jù)初始化數(shù)碼管掃描是否有鍵輸入Y數(shù)據(jù)寫入鍵嗎Y向 NAND 芯片存儲(chǔ)數(shù)據(jù)校驗(yàn)數(shù)據(jù)是否正確寫入LED 顯示操作結(jié)果N擦除鍵嗎NN擦除 NANDYNAND 接口初始化圖 3-3 NAND FLASH 驅(qū)動(dòng)的主程序流程圖NAND FLASH 驅(qū)動(dòng)的主程序流程圖如圖 3-3 所示。開(kāi)始需要使數(shù)據(jù)初始化,然后使 NAND 接口初始化,再經(jīng)數(shù)碼管掃描后看是否有鍵輸入

52、,若無(wú)則返回到數(shù)碼管掃描,若有,則向 NAND 芯片存儲(chǔ)數(shù)據(jù);再校檢是否正確寫入,然后通過(guò)LED 顯示操作結(jié)果,最后回到數(shù)碼管掃描;如果沒(méi)有數(shù)據(jù)寫入,則判斷是否要有擦除鍵按下,若無(wú),則回到數(shù)碼管掃描,如若擦除鍵按下,則擦除 NAND 回到數(shù)碼管掃描。第三章 NAND FLASH 擴(kuò)展板的設(shè)計(jì)263.2.1 NAND FLASH 的工作原理NAND FLASH的數(shù)據(jù)是以bit的方式保存在memory cell,一般來(lái)說(shuō),一個(gè)cell 中只能存儲(chǔ)一個(gè)bit。這些cell 以8個(gè)或者16個(gè)為單位,連成bit line,形成所謂byte(x8)/word(x16),這就是NAND FLASHDevic

53、e的位寬。這些Line會(huì)再組成Page,(NAND FLASH有多種結(jié)構(gòu),以三星K9F1208U0M為例,每頁(yè)528 Bytes (512byte(Main Area)+16byte(Spare Area),每32個(gè)page形成一個(gè)Block(32*528B)。具體一片flash上有多少個(gè)Block視需要所定。k9f1208U0B具有4096個(gè)block,故總?cè)萘繛?096*(32*528B)=66MB,但是其中的2MB是用來(lái)保存ECC校驗(yàn)碼等額外數(shù)據(jù)的,故實(shí)際中可使用的為64MB。NAND FLASH以頁(yè)為單位讀寫數(shù)據(jù),而以塊為單位擦除數(shù)據(jù)。按照這樣的組織方式可以形成三類地址:(1)Colu

54、mn Address:Starting Address of the Register: 列地址,地址的低8位(2)Page Address :頁(yè)地址(3)Block Address :塊地址。對(duì)于NAND FLASH來(lái)講,地址和命令只能在I/O7:0上傳遞,數(shù)據(jù)寬度是8位。擦除操作的最小單位是塊 ,NAND FLASH芯片每一位只能從1變?yōu)?,而不能從0變?yōu)?,所以在對(duì)其進(jìn)行寫入操作之前一定要將相應(yīng)塊擦除(擦除就是將相應(yīng)塊的位全部變?yōu)? ),NAND FLASH器件中存在壞塊,壞塊是隨機(jī)分布的,NAND FLASH控制器需要對(duì)介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。3.2.2 N

55、AND FLASH 的讀操作功能: 讀數(shù)據(jù)操作以頁(yè)為單位, 讀數(shù)據(jù)時(shí)首先寫入讀數(shù)據(jù)命令00H, 然后輸入要讀取頁(yè)的地址, 接著從數(shù)據(jù)寄存器中讀取數(shù)據(jù), 最后進(jìn)行ECC 校驗(yàn)。參數(shù)說(shuō)明: block, 塊號(hào); page, 頁(yè)號(hào); buffer, 指向?qū)⒁x取到內(nèi)存中的起始位置; 返回值1, 讀成功, 返回值0: 讀失敗。南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)27static int NF_ReadPage ( unsigned int block, unsigned int page,unsigned char * buffer) NF_RST ECC( ) ; / * 初始化ECC * /NF_nF

56、CE_L( ) ; / * 片選NAND Flash 芯片* /NF_CMD( 0 x00) ; / * 從A 區(qū)開(kāi)始讀* / * A0 A7( 列地址) * /NF_ADDR( 0) ;/ * A9A16( 頁(yè)地址) * /NF_ADDR( blockPage& 0 x ff) ;/ * A17A24, ( 頁(yè)地址) * /NF_ADDR( ( blo ckPag e 8) &0 x ff) ;/ * A25, ( 頁(yè)地址) * /NF_ADDR( ( blo ckPag e 16)&0 x ff) ;/ * 等待NAND Flash 處于再準(zhǔn)備狀態(tài)* /ReadPa

57、g e( ) ; / * 讀整個(gè)頁(yè), 512 字節(jié)* /ReadECC( ) ; / * 讀取ECC 碼* /ReadOOB( ) ; / * 讀取該頁(yè)的OOB 塊* / * 取消NAND Flash 選中* /NF_nFCE_H( ) ;/ * 校驗(yàn)ECC 碼, 并返回* /Return ( checkEcc( ) )3.2.3 NAND FLASH 的編程功能: 對(duì)頁(yè)進(jìn)行編程命令, 用于寫操作。命令代碼: 首先寫入00h( A 區(qū)) / 01h( B 區(qū)) / 05h( C區(qū)) , 表示寫入那個(gè)區(qū); 再寫入80h 開(kāi)始編程模式( 寫入模式) , 接下來(lái)寫入地址和數(shù)據(jù); 最后寫入10h 表示

58、編程結(jié)束。圖3.4 為寫程序流程圖。第三章 NAND FLASH 擴(kuò)展板的設(shè)計(jì)28參數(shù)說(shuō)明: block, 塊號(hào); page, 頁(yè)號(hào); buff er, 指向內(nèi)存中待寫入NAND Flash 中的數(shù)據(jù)起始位置; 返回值0, 寫錯(cuò)誤, 返回值1, 寫成功。圖3-4 寫程序流程st atic int NF_WritePage( unsigned int block, unsigned int page,unsigned char * buffer ) NF_RST ECC( ) ; / * 初始化ECC * /NF_nFCE_L( ) ; / * 片選NAND Flash 芯片* /NF_CMD(

59、 0 x0) ; / * 從A 區(qū)開(kāi)始寫* /NF_CMD( 0 x80) ; / * 寫第一條命令* / * A0 A7( 列地址) * /NF_ADDR( 0) ;/ * A9A16( 頁(yè)地址) * /NF_ADDR( blockPage& 0 x ff) ;/ * A17A24( 頁(yè)地址) * /NF_ADDR( ( blockPage 8) &0 xff) ;/ * A25( 頁(yè)地址) * /NF_ADDR( ( blockPage 16)&0 x ff) ;/ * 寫頁(yè)為512B 到NAND Flash 芯片* /南昌工程學(xué)院本科畢業(yè)(論文)設(shè)計(jì)29WRDAT

60、A( ) ;/ * OOB 一共16 字節(jié), 每一個(gè)字節(jié)存放什么由程序員自己定義, 在Byte0 Byte2 存ECC 檢驗(yàn)碼, Byte6 存放壞塊標(biāo)志* /WRDATA( ) ; / * 寫該頁(yè)的OOB 數(shù)據(jù)塊* /CMD( 0 x10) ; / * 結(jié)束寫命令* /WAITRB( ) ; / * 等待NAND Flash 處于準(zhǔn)備狀態(tài)* / * 發(fā)送讀狀態(tài)命令給NAND Flash * /CMD( 0 x70) ;if ( RDDAT A( )&0 x1) / * 如果寫有錯(cuò), 則標(biāo)示為壞塊, 取消NAND Flash 選中* /M arkBadBlock( block) ;return 0; else / * 正常退出, 取消NAND Flash 選中*

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論