chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解讀NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

電子工程師 ? 來源:單片機及嵌入式系統(tǒng)應(yīng)用 ? 作者:劉芳 趙振華 ? 2021-06-03 18:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以Samsung NAND Flash器件K9F1208為例,對比NAND Flash和NOR Flash的異同;介紹大容量NAND Flash在uPSD3234A增強型單片機系統(tǒng)中的應(yīng)用,完成了硬件接口設(shè)計和軟件設(shè)計,并給出硬件連接圖和部分程序代碼

1 NAND FlaSh和NOR Flash

閃存(Flash Memory)由于其具有非易失性、電可擦除性、可重復(fù)編程以及高密度、低功耗等特點,被廣泛地應(yīng)用于手機、MP3、數(shù)碼相機、筆記本電腦等數(shù)據(jù)存儲設(shè)備中。NAND Flash和NOR Flash是目前市場上兩種主要的非易失閃存芯片。與NOR Flash相比,NAND Flash在容量、功耗、使用壽命等方面的優(yōu)勢使其成為高數(shù)據(jù)存儲密度的理想解決方案。NOR Flash的傳輸效率很高,但寫入和擦除速度較低;而NAND Flash以容量大、寫速度快、芯片面積小、單元密度高、擦除速度快、成本低等特點,在非易失性類存儲設(shè)備中顯現(xiàn)出強勁的市場競爭力。

結(jié)構(gòu):NOR Flash為并行,NAND Flash為串行。

總線:NOR Flash為分離的地址線和數(shù)據(jù)線,而NANDFlash為復(fù)用的。

尺寸:典型的NAND Flash尺寸為NOR Flash尺寸的1/8。

壞塊:NAND器件中的壞塊是隨機分布的,需要對介質(zhì)進行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。

位交換:NAND Flash中發(fā)生的次數(shù)要比NOR Flash多,建議使用NAND閃存時,同時使用EDC/ECC算法。

使用方法:NOR Flash是可在芯片內(nèi)執(zhí)行(XIP,eXecute In Place),應(yīng)用程序可以直接在FIash閃存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中;而NAND Flash則需I/O接口,因此使用時需要寫入驅(qū)動程序。

通過以上的分析和比較,NAND Flash更適合于大容量數(shù)據(jù)存儲的嵌入式系統(tǒng)。本設(shè)計選用Samsung公司生產(chǎn)的NAND Flash存儲器芯片K9F1208作為存儲介質(zhì),并應(yīng)用在基于uPSD3234A增強型8051單片機嵌入式系統(tǒng)中。

2 uPSD3234A簡介

uPSD3234A是由意法半導(dǎo)體公司生產(chǎn)的一款基于8052內(nèi)核的增強型Flash單片機,其結(jié)構(gòu)如圖1所示。該單片機包含1個帶8032微控制器的Flash PSD、2塊Flash存儲器、SRAM、通用I/O口可編程邏輯、管理監(jiān)控功能,并可實現(xiàn)USBI2C、ADCDAC和PWM功能。其中,片內(nèi)8032微控制器,帶有2個標(biāo)準(zhǔn)異步通信口、3個16位定時/計數(shù)器、1個外部中斷以及JTAG ISP接口(用于在系統(tǒng)編程),一般應(yīng)用于手持設(shè)備、家用電器等領(lǐng)域中。

3 K9F1208介紹

K9F1208是Samsung公司生產(chǎn)的512 Mb(64M×8位)NAND Flash存儲器。該存儲器的工作電壓為2.7~3.6 V,內(nèi)部存儲結(jié)構(gòu)為528字節(jié)×32頁×4 096塊,頁大小為528字節(jié),塊大小為(16 KB+512字節(jié));可實現(xiàn)程序自動擦寫、頁程序、塊擦除、智能的讀/寫和擦除操作,一次可以讀/寫或者擦除4頁或者塊的內(nèi)容,內(nèi)部有命令寄存器

如圖2所示,該器件按功能可以劃分為:存儲陣列、輸入/輸出緩沖、命令寄存器、地址譯碼寄存器和控制邏輯產(chǎn)生。其中,命令寄存器用來確定外部設(shè)備對存儲器進行操作的類型;地址譯碼寄存器用于保存被訪問的地址并產(chǎn)生相應(yīng)的譯碼選通信號。主設(shè)備通過8位I/O端口分時復(fù)用訪問器件命令、地址和數(shù)據(jù)寄存器,完成對芯片內(nèi)存儲器的訪問。

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

4 K9F1208讀/寫和擦除操作的實現(xiàn)

對于K9F1208的操作主要有頁讀取和頁編程操作。圖3是NAND Flash的標(biāo)準(zhǔn)頁讀取時序圖。具體的頁讀取操作如下:發(fā)命令階段,在片選信號CE有效的情況下,首先命令允許信號CLE有效,此時寫入信號WE有效,芯片準(zhǔn)備好信號R/B置高,表示準(zhǔn)備好;同時向I/O口發(fā)送讀操作命令(0x00或0x01),表示是讀操作。

發(fā)地址階段,此時片選有效,地址允許信號ALE有效,寫入信號WE保持有效,連續(xù)發(fā)送4個地址字;K9F1208的地址寄存器接收到地址值后,R/B信號將維持“忙”一段時間,此后R/B變?yōu)闇?zhǔn)備好狀態(tài)。最后是數(shù)據(jù)輸出階段,每次讀有效信號置低有效時,將會輸出一組數(shù)據(jù)。如此往復(fù)直到所有數(shù)據(jù)輸出完畢。

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

圖4是NAND FLash的標(biāo)準(zhǔn)頁編程時序圖。具體的頁編程操作如下:發(fā)命令階段,向I/O口發(fā)送頁編程操作第一個命令字(0x80),表示是頁編程操作。發(fā)地址階段,連續(xù)發(fā)送4個地址字,K9F1208的地址寄存器接收到地址值后,等待接收數(shù)據(jù);當(dāng)數(shù)據(jù)總線發(fā)送數(shù)據(jù)后,K9F1208連續(xù)接收數(shù)據(jù),直到接收到頁編程的第二個命令字(0x10),即結(jié)束等待接收數(shù)據(jù)的狀態(tài);

R/B信號將維持“忙”一段時間,此后R/B變?yōu)闇?zhǔn)備好狀態(tài)。最后總線上發(fā)出讀狀態(tài)命令字(0x70),則K9F1208的命令寄存器接收并響應(yīng)該命令,向I/O口發(fā)送表示操作成功的狀態(tài)數(shù)據(jù)(0x00)或表示操作失敗的狀態(tài)數(shù)據(jù)(0X01)。

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

5 uPSD3234A與K9F1208的連接

5.1 硬件部分

uPSD3234A的數(shù)據(jù)總線DATA0~7直接連接到K9F1208的數(shù)據(jù)線上。K9F1208的讀/寫信號是直接通過uPSD3234A的讀/寫信號驅(qū)動的,K9F1208的ALE地址允許信號、CLE命令允許信號、片選使能信號分別由uPSD3234A的P43、P44、P45來控制,而K9F1208的R/B狀態(tài)輸出信號由uPSD3234A的P46來讀取。硬件連接如圖5所示。根據(jù)該硬件連接的情況,在驅(qū)動過程中,可以在uPSD3234A中定義一個無效地址,通過對該無效地址進行讀寫來控制WR和RD信號。

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

5.2 軟件部分

本設(shè)計的驅(qū)動程序包括基本的操作函數(shù)和Flash操作API函數(shù)。基本的操作函數(shù)包括輸入命令值、輸入地址值、輸入數(shù)據(jù)值、讀取數(shù)據(jù)值和讀取狀態(tài)等函數(shù)。由于K9F1208是無地址的,故先定義一個外部存儲器的空地址來對它進行空寫和空讀。定義的語句為:

xdata unsigned char rK9Fl208DATA _at_0x5000000;

根據(jù)硬件連接圖,基本API函數(shù)的程序為:

(1) 輸入命令值函數(shù)

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

程序說明:賦予P4_5為0,使得CE信號成低電平,從而片選K9F1208有效;賦予P4_4為1,使得CLE信號成高電平,從而使K9F1208的命令允許信號有效;賦予P4_3為0,使得ALE信號成低電平,從而使K9F1208的地址允許信號無效;最后對rK9F1208DATA進行空寫命令字,使得WE信號成低電平,K9F1208的命令寄存器從數(shù)據(jù)總線接收到命令字,并執(zhí)行相應(yīng)的操作。

(2) 輸入地址值函數(shù)

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

程序說明:賦予P4_5為0,使得CE信號成低電平,從而片選K9F1208有效;賦予P4_4為0,使得CLE信號成低電平,從而使K9F1208的命令允許信號無效;賦予P4_3為1,使得ALE信號成高電平,從而K9F1208的地址允許信號有效;最后對rK9F1208DATA進行空寫地址字,使得WE的信號成低電平,K9F1208從數(shù)據(jù)總線接收到地址字,并鎖存到地址鎖存器中。

(3) 輸入數(shù)據(jù)值函數(shù)

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

程序說明:賦予P4_5為0,使得CE信號成低電平,從而片選K9F1208有效;賦予P4_4為0,使得CLE信號成低電平,從而使K9F1208的命令允許信號無效;賦予P4_3為0,使得ALE信號成低電平,從而使K9F1208的地址允許信號無效;最后對rK9F1208DATA進行空寫數(shù)據(jù),使得WE的信號成低電平,K9F1208從數(shù)據(jù)總線接收到數(shù)據(jù),并根據(jù)命令寄存器和地址鎖存器來處理接收到的數(shù)據(jù)。

(4) 讀取數(shù)據(jù)值函數(shù)

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

程序說明:賦予P4_5為0,使得CE信號成低電平,從而片選K9F1208有效;賦予P4_4為0,使得CLE信號成低電平,從而K9F1208的命令允許信號無效;賦予P4_3為0,使得ALE信號成低電平,從而使K9F1208的地址允許信號無效;最后對rK9F1208DATA進行空讀數(shù)據(jù),使得RE的信號成低電平,K9F1208會根據(jù)命令寄存器和地址鎖存器來向數(shù)據(jù)總線發(fā)送相應(yīng)的數(shù)據(jù)。

(5) 讀取狀態(tài)函數(shù)

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

程序說明:只是讀取P4_6的狀態(tài),以判斷K9F1208是否“忙”。如果P4_6為高電平,則表示K9F1208不忙,返回高電平;如果P4_6為低電平,則表示K9F1208“忙”,返回高電平。

為了合理地操作K9F1208,還添加了不選中K9F1208的函數(shù),以便在頁讀取和頁編程操作后,使K9F1208不工作。程序只是讓P4_5、P4_4、P4_3為低電平,從而使得K9F1208的片選信號、命令允許信號、地址允許信號無效。宏定義語句如下:

#define flash_inactive( ){P4_5=0;P4_4=0;P4_3=0;)

Flash操作API函數(shù)包括復(fù)位K9F1208、驗證K9F1208的ID號、擦除K9F1208某一扇區(qū)、湊取K9F1208某一扇區(qū)數(shù)據(jù)和寫入K9F1208某一扇區(qū)數(shù)據(jù)等函數(shù)。因為篇幅關(guān)系,只介紹頁讀取和頁編程函數(shù)。

圖6是讀取K9F1208某一扇區(qū)或某一頁的數(shù)據(jù)流程圖。首先,開始向K9F1208發(fā)送頁讀取命令字0x00,使得K9F1208的命令寄存器接收到命令字;然后取得要讀取扇區(qū)的地址,連續(xù)向K9F1208發(fā)送4個地址數(shù)據(jù),發(fā)送完后讀取K9F1208的R/B引腳的狀態(tài),直到K9F1208不忙(表示地址數(shù)據(jù)已接收完畢);K9F1208開始讀取該地址所指的扇區(qū),并向數(shù)據(jù)總線發(fā)送一個扇區(qū)的數(shù)據(jù),此時讀取K9F1208的數(shù)據(jù)總線,直到整頁結(jié)束。

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

圖7是寫入K9F1208某一扇區(qū)或一頁的數(shù)據(jù)流程圖。首先向K9F1208發(fā)送頁編程的命令字0x80,使得K9F1208的命令寄存器接收到命令字;然后取得要寫入扇區(qū)的地址,連續(xù)向K9F1208發(fā)送4個地址數(shù)據(jù),發(fā)送完后讀取K9F1208的R/B引腳的狀態(tài),直到K9F1208不忙(表示地址數(shù)據(jù)已接收完畢);

K9F1208準(zhǔn)備從數(shù)據(jù)總線接收一個扇區(qū)的數(shù)據(jù),此時向K9F1208的數(shù)據(jù)總線發(fā)送一個扇區(qū)的數(shù)據(jù),讓K9F1208接收數(shù)據(jù),并存到相應(yīng)的頁或扇區(qū)中;待發(fā)送的數(shù)據(jù)結(jié)束后,向K9F1208發(fā)送0x10 命令,使得K9F1208結(jié)束頁編程的操作;最后向K9F1208發(fā)送查詢狀態(tài)的命令字0x70,K9F1208接收到命令字后,就會向數(shù)據(jù)總線發(fā)送一個字節(jié)的數(shù)據(jù),這時讀取K9F1208的數(shù)據(jù)總線,若收到字節(jié)0x00,則表示操作成功,若收到字節(jié)0x01,則表示操作失敗。

NAND Flash芯片K9F1208在uPSD3234A的應(yīng)用

結(jié) 語

本文介紹了Samsung公司K9F1208芯片特點,并在此基礎(chǔ)上設(shè)計了基于uPSD3234A的驅(qū)動設(shè)計。該方法對其他相關(guān)SoC中實現(xiàn)NAND Flash的控制方法設(shè)計有直接的參考意義,可廣泛應(yīng)用于需要大存儲容量的低端設(shè)備中。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    462

    文章

    53225

    瀏覽量

    454794
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    947

    瀏覽量

    43382
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4401

    瀏覽量

    66455
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    NAND Flash的基本原理和結(jié)構(gòu)

    NAND Flash是什么?NAND Flash(閃存)是一種非易失性存儲器技術(shù),主要用于數(shù)據(jù)存儲。與傳統(tǒng)的DRAM或SRAM不同,NAND
    的頭像 發(fā)表于 09-08 09:51 ?4878次閱讀
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>的基本原理和結(jié)構(gòu)

    東芯半導(dǎo)體:強化SLC NAND Flash技術(shù)優(yōu)勢,擁抱可穿戴、汽車等新機會

    NOR Flash等產(chǎn)品廣泛應(yīng)用于物聯(lián)網(wǎng)、汽車電子、可穿戴、安防監(jiān)控等領(lǐng)域。 ? 東芯聚焦利基型存儲,構(gòu)建了六大產(chǎn)品結(jié)構(gòu)。包括,SPI NAND Flash,可提供單顆粒芯片設(shè)計的串
    的頭像 發(fā)表于 09-04 15:38 ?4888次閱讀
    東芯半導(dǎo)體:強化SLC <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>技術(shù)優(yōu)勢,擁抱可穿戴、汽車等新機會

    什么是Flash閃存以及STM32使用NAND Flash

    和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進行,所以大多數(shù)情況下,進行寫入操作之前必須先執(zhí)行擦除。NAND器件執(zhí)行擦除操作是十分簡單的,而NOR則要求進行擦除前
    發(fā)表于 07-03 14:33

    兆易創(chuàng)新推出GD5F1GM9系列高速Q(mào)SPI NAND Flash

    中國北京(2025 年4 月15 日) —— 業(yè)界領(lǐng)先的半導(dǎo)體器件供應(yīng)商 兆易創(chuàng)新 GigaDevice (股票代碼 603986)宣布推出GD5F1GM9系列高速Q(mào)SPI NAND Flash
    發(fā)表于 04-22 10:23 ?1382次閱讀
     兆易創(chuàng)新推出GD5<b class='flag-5'>F1GM9</b>系列高速Q(mào)SPI <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>

    兆易創(chuàng)新推出GD5F1GM9系列高速Q(mào)SPI NAND Flash

    今日,兆易創(chuàng)新宣布推出GD5F1GM9系列高速Q(mào)SPI NAND Flash,該系列以其突破性的讀取速度和創(chuàng)新的壞塊管理(BBM)功能,可有效解決傳統(tǒng)SPI NAND
    的頭像 發(fā)表于 04-16 13:50 ?907次閱讀

    NAND Flash與SD NAND的存儲扇區(qū)架構(gòu)差異

    NAND Flash?和?SD卡(SD NAND)的存儲扇區(qū)分配表都是用于管理存儲設(shè)備中扇區(qū)的分配信息。它們記錄了哪些扇區(qū)已被使用、哪些是空閑的,以及文件或數(shù)據(jù)與扇區(qū)的對應(yīng)關(guān)系,以便實現(xiàn)數(shù)據(jù)的準(zhǔn)確讀寫和存儲空間的有效管理。
    的頭像 發(fā)表于 03-13 15:20 ?1414次閱讀
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>與SD <b class='flag-5'>NAND</b>的存儲扇區(qū)架構(gòu)差異

    Nand flash 和SD卡(SD NAND)存儲扇區(qū)分配表異同

    NAND Flash 和 SD卡(SD NAND)的存儲扇區(qū)分配表原理上有相似之處,但由于二者的結(jié)構(gòu)和應(yīng)用場景不同,也存在一些差異。以下是它們的異同點和用法介紹:相同點: 基本功
    發(fā)表于 03-13 10:45

    NAND Flash廠商2025年重啟減產(chǎn)策略

    根據(jù)知名研調(diào)機構(gòu)集邦(TrendForce)最新發(fā)布的研究報告,NAND Flash產(chǎn)業(yè)預(yù)計2025年將持續(xù)面臨需求疲弱與供給過剩的雙重嚴(yán)峻挑戰(zhàn)。這一趨勢迫使NAND
    的頭像 發(fā)表于 01-24 14:20 ?943次閱讀

    SD NAND、SPI NAND 和 Raw NAND 的定義與比較

    問題,再也不用為SD卡的接觸穩(wěn)定性操心!   SD nand 和 SD 卡、SPI Nor flash、 nand flash、eeprom一樣,都是嵌入式系統(tǒng)中常見的用來存儲數(shù)據(jù)所使
    發(fā)表于 01-15 18:15

    【半導(dǎo)體存儲】關(guān)于NAND Flash的一些小知識

    。   NOR Flash 讀取速度更快,具備可在芯片內(nèi)執(zhí)行程序(XIP)的特點,傳輸效率、穩(wěn)定性和可靠性方面更具優(yōu)勢,通常用于小容量數(shù)據(jù)存儲,適宜中等容量代碼存儲(通常在 1Mb~1Gb),
    發(fā)表于 12-17 17:34

    關(guān)于NAND Flash的一些小知識

    前言 作為一名電子專業(yè)的學(xué)生,半導(dǎo)體存儲顯然是繞不過去的一個坎,今天聊一聊關(guān)于Nand Flash的一些小知識。 這里十分感謝深圳雷龍發(fā)展有限公司為博主提供的兩片CS創(chuàng)世SD NAND的存儲
    的頭像 發(fā)表于 12-17 17:33 ?1250次閱讀

    關(guān)于SD NAND 的概述

    NAND Flash晶圓,擦寫次數(shù)可達5~10萬次,遠超其他類型的NAND閃存,并通過10k次隨機掉電和高低溫沖擊測試,證明了其極端環(huán)境
    發(fā)表于 12-06 11:22

    江波龍自研SLC NAND Flash出貨量破億

    江波龍存儲芯片設(shè)計領(lǐng)域取得了顯著成果,自研SLC NAND Flash累計出貨量已突破1億顆。公司充分發(fā)揮芯片設(shè)計能力,專注于SLC
    的頭像 發(fā)表于 11-20 16:27 ?1225次閱讀

    江波龍自研SLC NAND Flash累計出貨突破1億顆!

    江波龍充分發(fā)揮自身芯片設(shè)計能力,持續(xù)積極投入存儲芯片設(shè)計業(yè)務(wù),聚焦 SLC NAND Flash 等存儲芯片設(shè)計。 SLC
    發(fā)表于 11-14 17:42 ?474次閱讀
    江波龍自研SLC <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>累計出貨突破1億顆!

    一文帶你了解什么是SD NAND存儲芯片

    內(nèi)部集成度較高,記住NAND并不是存儲芯片的一種,而是芯片內(nèi)部使用存儲單元的結(jié)構(gòu)(統(tǒng)稱為NAND類存儲芯片)。   
    發(fā)表于 11-13 15:20