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

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

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

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

1 NAND和NOR flash

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

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

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

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

*NAND的擦除速度遠(yuǎn)比NOR快。

*NAND的擦除單元更小,相應(yīng)的擦除電路也更加簡(jiǎn)單。

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

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

2 大容量存儲(chǔ)器TC58DCG02A1FT00

2.1 引腳排列和功能

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

I/O1~I/O8:8個(gè)I/O口;

CE:片選信號(hào),低電平有效;

WE:寫使能信號(hào),低電平有效;

RE:讀使能信號(hào),低電平有效;

CLE:命令使能信號(hào);

ALE:地址使能信號(hào);

WP:寫保護(hù)信號(hào),低電平有效;

RY/BY:高電平時(shí)為READY信號(hào),低電平時(shí)為BUSY信號(hào)。

2.2 與ARM處理器的連接

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

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

2.3 具體操作

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

表1 邏輯表

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

NAND Flash芯片的各種工作模式,如讀、復(fù)位、編程等,都是通過(guò)命令字來(lái)進(jìn)行 控制的。部分命令如表2所列。

表2 命令表

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

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

2.4 時(shí)序分析及驅(qū)動(dòng)程序

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

這段時(shí)序的偽代碼如下:

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ā)送命令結(jié)束

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

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

{

WE=0;

CE=0;

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

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

CE=1;

}

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

CE=0;

WE=1;

ALE=0;

Delay(2ms);

While(BUSY)

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

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

}

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

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

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

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

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

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

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

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

(2)修改相應(yīng)的Makefile文件,以便編譯內(nèi)核時(shí)能加入該設(shè)備的驅(qū)動(dòng)程序。

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

此行語(yǔ)句的意思是如果選擇了該設(shè)備,編譯內(nèi)核時(shí)加入toshiba.o(假設(shè)驅(qū)動(dòng)程序是toshiba.o),反之不編譯進(jìn)內(nèi)核。

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

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

關(guān)鍵字: 光通信 MCU Flash

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

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

在嵌入式系統(tǒng)中,F(xiàn)lash存儲(chǔ)器因其非易失性、高密度和低成本特性,成為代碼存儲(chǔ)和關(guān)鍵數(shù)據(jù)保存的核心組件。然而,MCU驅(qū)動(dòng)Flash讀寫時(shí),開發(fā)者常因?qū)τ布匦岳斫獠蛔慊虿僮髁鞒淌韬?,陷入性能下降、?shù)據(jù)損壞甚至硬件損壞的陷...

關(guān)鍵字: MCU驅(qū)動(dòng) Flash

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

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

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

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機(jī)器學(xué)習(xí)

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

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