日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]大容量NAND Flash TC58DVG02A1FT00在嵌入式系統(tǒng)中的應用

   摘要:隨著嵌入式系統(tǒng)產(chǎn)品的發(fā)展,對存儲設備的要求也日益增強。文章以東芝的NAND E2PROM器件TC58DVG02A1F00為例,闡述了NAND Flash的基本結構和使用方法,對比了NAND和NOR Flash的異同,介紹了容量NAND Flash在嵌入式系統(tǒng)中的應用方法,以及如何在Linux操作系統(tǒng)中加入對NAND Flash的支持。

    關鍵詞:嵌入式 NAND Flash Linux 內(nèi)核 TC58DVG02A1F00

1 NAND和NOR flash

目前市場上的flash從結構上大體可以分為AND、NAND、NOR和DiNOR等幾種。其中NOR和DiNOR的特點為相對電壓低、隨機讀取快、功耗低、穩(wěn)定性高,而NAND和AND的特點為容量大、回寫速度快、芯片面積小。現(xiàn)在,NOR和NAND FLASH的應用最為廣泛,在CompactFlash、Secure Digital、PC Cards、MMC存儲卡以及USB閃盤存儲器市場都占用較大的份額。

NOR的特點是可在芯片內(nèi)執(zhí)行(XIP,eXecute In Place),這樣應該程序可以直接在flash內(nèi)存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,但寫入和探險速度較低。而NAND結構能提供極高的單元密度,并且寫入和擦除的速度也很快,是高數(shù)據(jù)存儲密度的最佳選擇。這兩種結構性能上的異同步如下:

*NOR的讀速度比NAND稍快一些。

*NAND的寫入速度比NOR快很多。

*NAND的擦除速度遠比NOR快。

*NAND的擦除單元更小,相應的擦除電路也更加簡單。

*NAND閃存中每個塊的最大擦寫次數(shù)量否萬次,而NOR的擦寫次數(shù)是十萬次。

此外,NAND的實際應用方式要比NOR復雜得多。NOR可以直接使用,并在上面直接運行代碼。而NAND需要I/O接口,因此使用時需要驅動程序。不過當今流行的操作系統(tǒng)對NAND Flash都有支持,如風河(擁有VxWorks系統(tǒng))、微軟(擁有WinCE系統(tǒng))等公司都采用了TrueFFS驅動,此外,Linux內(nèi)核也提供了對NAND Flash的支持。

2 大容量存儲器TC58DCG02A1FT00

2.1 引腳排列和功能

TC58DVG02A 1FT00是Toshiba公司生產(chǎn)的1Gbit(128M×8Bit)CMOS NAND E2PROM,它的工作電壓為3.3V,內(nèi)部存儲結構為528 bytes×32pages×8192blocks。而大小為528字節(jié),塊大小為(16k+512)字節(jié)。其管腳排列如圖1所示。各主要引腳如下:

I/O1~I/O8:8個I/O口;

CE:片選信號,低電平有效;

WE:寫使能信號,低電平有效;

RE:讀使能信號,低電平有效;

CLE:命令使能信號;

ALE:地址使能信號;

WP:寫保護信號,低電平有效;

RY/BY:高電平時為READY信號,低電平時為BUSY信號。

2.2 與ARM處理器的連接

當前嵌入式領域的主流處理器當屬ARM。圖2是以ARM7處理器為例給出的NAND Flash與ARM處理器的一般連接方法。如前所述,與NOR Flash不同,NAND Flash需要驅動程序才能正常工作。

圖中PB4,PB5,PB6是ARM處理器的GPIO口,可用來控制NAND Flash的片選信號。CS1是處理器的片選信號,低電平有效。IORD、IOWR分別是處理器的讀、寫信號,低電平有效。寫保護信號在本電路中沒有連接。

2.3 具體操作

地址輸入,命令輸入以及數(shù)據(jù)的輸入輸出,都是通過NAND Flash的CLE、ALE、CE、WE、RE引腳控制的。具體方式如表1所列。

表1 邏輯表

  CLE ALE CE WE RE
命令輸入 1 0 0 時鐘上升沿 1
數(shù)據(jù)輸入 0 0 0 時鐘上升沿 1
地址輸入 0 1 0 時鐘上升沿 1
串行數(shù)據(jù)輸出 0 0 0 1 時鐘下降沿
待機狀態(tài) X X 1 X X

NAND Flash芯片的各種工作模式,如讀、復位、編程等,都是通過命令字來進行 控制的。部分命令如表2所列。

表2 命令表

  第一周期(Hex) 第二周期(Hex)
串行數(shù)據(jù)輸入 80
讀模式1 00
讀模式2 01
讀模式3 50
復位 FF
自動編程(真) 10
自動編程(假) 11
自動塊刪除 60 D0
狀態(tài)讀取1 70
狀態(tài)讀取2 71
ID讀取1 90
ID讀取2 91

串行數(shù)據(jù)輸入的命令80表示向芯片的IO8、IO7、IO6、IO5、IO4、IO3、IO2、IO1口發(fā)送0x80,此時除IO8為1外,其余IO口均為低電平。

2.4 時序分析及驅動程序

下面以表2中的讀模式1為例分析該芯片的工作時序。由圖3可知,CLE信號有效時通過IO口向命令寄存器發(fā)送命令00H。此時NAND Flash處于寫狀態(tài),因此WE有鏟,RE無效。發(fā)送命令后,接著發(fā)送要讀的地址,該操作將占用WE的1、2、3、4個周期。注意,此時發(fā)送的是地址信息,因此CLE為低,而ALE為高電平。當信息發(fā)送完畢后,不能立刻讀取數(shù)據(jù),因為芯片此時處于BUSY(忙)狀態(tài),需要等待2~20ms。之后,才能開始真正的數(shù)據(jù)讀取。此時WE為高電平而處于無效狀態(tài),同時CE片選信號也始終為低以表明選中該芯片。

這段時序的偽代碼如下:

Read_func(cmd,addr)

{

RE=1;

ALE=0;

CLE=1;

WE=0;

CE=0;

Send_cmd(cmd);//發(fā)送命令,由參數(shù)決定,這里為00

WE=1; //上升沿取走命令

    CE=1;

CLE=0; //發(fā)送命令結束

ALE=1; //開始發(fā)送地址

For(i=0;i<4;i++)

{

WE=0;

CE=0;

Send_add(addr);//發(fā)送地址

WE=1; /上升沿取走地址

CE=1;

}

//所有數(shù)據(jù)發(fā)送結束,等待讀取數(shù)據(jù)

CE=0;

WE=1;

ALE=0;

Delay(2ms);

While(BUSY)

Wait;//如果還忙則繼續(xù)等待

Read_data(buf);//開始讀取數(shù)據(jù)

}

3 Linux系統(tǒng)對NAND Flash的支持

Linux操作系統(tǒng)雖然已經(jīng)支持NAND Flash,但要使用NAND Flash設備,還必須先對內(nèi)核進行設置方法如下:

(1)在/usr/src/(內(nèi)核路徑名)目錄中輸入make menuconfig命令,再打開主菜單,進入Memory Technology Devices(MTD)選項,選中MTD支持。

(2)進入NAND Flash Device Drivers選項,NAND設備進行配置。不過此時對NAND的支持僅限于Linux內(nèi)核自帶的驅勸程序,沒有包含本文介紹的Toshiba芯片,為此需要對Linux內(nèi)核進行修改,方法如下:

(1)修改內(nèi)核代碼的drivers.in文件,添加下面一行:

dep-tristate 'Toshiba NAND Device Support'CONFIG-MTD-TOSHIBA $CONFIG-MTD

其中CONFIG-MTD-TOSHIBA是該設備的名稱,將在Makefile文件中用到。

$CONFIG-MTD的意思是只有選有$CONFIG-MTD時,該菜單才會出現(xiàn),即依賴于$CONFIG-MTD選項。宋,Toshiba的NAND設備將被加入Linux系統(tǒng)內(nèi)核菜單中。

(2)修改相應的Makefile文件,以便編譯內(nèi)核時能加入該設備的驅動程序。

obj-$(CONFIG-MTD-TOSHIBA)+=toshiba.o

此行語句的意思是如果選擇了該設備,編譯內(nèi)核時加入toshiba.o(假設驅動程序是toshiba.o),反之不編譯進內(nèi)核。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

中國北京(2025年9月10日)—— 業(yè)界領先的半導體器件供應商兆易創(chuàng)新GigaDevice(股票代碼 603986)亮相于深圳國際會展中心舉辦的第26屆中國國際光電博覽會(展位號:12C12),全面展示GD25 SPI...

關鍵字: 光通信 MCU Flash

在工業(yè)物聯(lián)網(wǎng)設備部署中,Modbus通信故障是導致系統(tǒng)停機的首要原因之一。據(jù)統(tǒng)計,超過60%的現(xiàn)場問題源于通信配置錯誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開發(fā)視角,系統(tǒng)闡述Modbus通信調試的方法論,結合實際案例解析如何高...

關鍵字: 嵌入式系統(tǒng) Modbus通信

在嵌入式系統(tǒng)中,F(xiàn)lash存儲器因其非易失性、高密度和低成本特性,成為代碼存儲和關鍵數(shù)據(jù)保存的核心組件。然而,MCU驅動Flash讀寫時,開發(fā)者常因對硬件特性理解不足或操作流程疏忽,陷入性能下降、數(shù)據(jù)損壞甚至硬件損壞的陷...

關鍵字: MCU驅動 Flash

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實踐...

關鍵字: 單片機 看門狗 嵌入式系統(tǒng)

人工智能(AI)和機器學習(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學習、進行推理并隨著時間的推移提高性能的關鍵技術。這些技術通常用于大型數(shù)據(jù)中心和功能強大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術的需求也在不斷增...

關鍵字: 嵌入式系統(tǒng) 人工智能 機器學習

Zephyr開源項目由Linux基金會維護,是一個針對資源受限的嵌入式設備優(yōu)化的小型、可縮放、多體系結構實時操作系統(tǒng)(RTOS)。近年來,Zephyr RTOS在嵌入式開發(fā)中的采用度逐步增加,支持的開發(fā)板和傳感器不斷增加...

關鍵字: 嵌入式系統(tǒng) 軟件開發(fā) 實時操作系統(tǒng) Zephyr項目
關閉