當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]K9K2G08U0M是三星公司的大容量閃存芯片,它的單片容量高達(dá)256MB。文中介紹了K9K2G08U0M的特性和使用方法,重點(diǎn)說(shuō)明了與TI的TMS320F2812的硬件接口和軟件編程。

摘要: K9K2G08U0M是三星公司的大容量閃存芯片,它的單片容量高達(dá)256MB。文中介紹了K9K2G08U0M的特性和使用方法,重點(diǎn)說(shuō)明了與TI的TMS320F2812的硬件接口和軟件編程。
關(guān)鍵詞:接口; 閃存; TMS320F2812 

在有些智能儀器中,需要實(shí)時(shí)存儲(chǔ)大量的采樣數(shù)據(jù),以提供歷史數(shù)據(jù)查詢。這需要采用大容量、低功耗、可以快速重復(fù)擦寫(xiě)的非易失性存儲(chǔ)器,因此選擇閃存作為數(shù)據(jù)存儲(chǔ)介質(zhì), 即使系統(tǒng)掉電,而所采集到的數(shù)據(jù)仍能長(zhǎng)時(shí)間的保持,不丟失。

在本文的設(shè)計(jì)中采用的是TI的TMS320F2812和三星的閃存K9K2G08U0M。K9K2G080M是三星公司的大容量閃存芯片,它的單片容量高達(dá)256MB,屬于NAND FLASH結(jié)構(gòu)。傳統(tǒng)存儲(chǔ)器結(jié)構(gòu)及引腳信號(hào)定義方式難以解決存儲(chǔ)容量增加的矛盾,即存儲(chǔ)容量的增加使得系統(tǒng)的連線復(fù)雜并且可靠性降低。NAND FLASH存儲(chǔ)器將數(shù)據(jù)線與地址線復(fù)用為8 條I/O線, 另外還分別提供了命令控制信號(hào)線, 命令、地址和數(shù)據(jù)信息均通過(guò)8 條I/O 線傳輸,因此, NAND FLASH存儲(chǔ)器不會(huì)因?yàn)榇鎯?chǔ)容量的增加而增加引腳數(shù)目,從而極大方便了系統(tǒng)設(shè)計(jì)和產(chǎn)品升級(jí),升級(jí)到更大容量而無(wú)需更改外部連接。因此,本文討論的NAND FLASH存儲(chǔ)器在單片機(jī)應(yīng)用系統(tǒng)中的硬件連接和軟件編程方法具有較大的參考價(jià)值。

1 K9K2G08U0M 簡(jiǎn)介

電源電壓為2.7 -3.6V,讀速度為80ns;

具有指令/地址/ 數(shù)據(jù)復(fù)用的I/ O 口;

NAND FLASH 的存儲(chǔ)結(jié)構(gòu)以頁(yè)面為單位,能使芯片的讀取速度更快。由2048個(gè)大小相同的存儲(chǔ)塊組成,每個(gè)塊由64頁(yè)組成,每頁(yè)2K字節(jié)和64個(gè)空閑字節(jié);

1.2 K9K2G08U0M的引腳說(shuō)明

圖1 為引腳功能圖,各引腳的功能如下:

圖1 K9K2G08U0M引腳描述

I/ O0~I(xiàn)/ O7 : 三態(tài),輸入命令、地址和數(shù)據(jù)以及讀操作時(shí)輸出數(shù)據(jù)。當(dāng)芯片沒(méi)有被選中或不能輸出時(shí), I/ O 口處于高阻態(tài)。

CLE: 命令鎖存使能。為高電平時(shí),命令通過(guò)I/O 口線在WE 信號(hào)的上升沿被鎖入命令寄存器。

ALE: 地址鎖存端,在WE 上升沿且ALE 為高電平時(shí),地址鎖存。

CE: 片選端, 用于控制芯片的選擇。當(dāng)芯片忙時(shí), CE 為高電平而被忽略, 此時(shí)芯片不能回到備用狀態(tài)。

RE: 讀使能端。在RE的下降沿,輸出數(shù)據(jù)有效, 并且它還可以對(duì)內(nèi)部數(shù)據(jù)地址進(jìn)行累加。

WE: 寫(xiě)使能端,通過(guò)該端口可以在WE 脈沖的上升沿將指令、地址和數(shù)據(jù)進(jìn)行鎖存。

WP: 寫(xiě)保護(hù)端,在電源電壓變化期間,在WP 為低電平時(shí),可產(chǎn)生寫(xiě)/ 擦除保護(hù)。

R/ B : 就緒/ 忙輸出, R/ B 的輸出能夠顯示芯片的狀態(tài)。R/ B 處于低電平時(shí),表示有編程、擦除或隨機(jī)讀操作正在進(jìn)行。操作完成后, R/ B 會(huì)自動(dòng)返回高電平。

2 DSP與FLASH的硬件接口

TI的TMS320F2812采用統(tǒng)一尋址方式,擴(kuò)展的外部存儲(chǔ)器K9K2G08U0M既可以作為程序存儲(chǔ)器,也可以作為數(shù)據(jù)存儲(chǔ)器。具體接口如圖2所示。

                          圖2  DSP與閃存接口

TMS320F2812的外部存儲(chǔ)器接口包括:19位地址線,16位數(shù)據(jù)線,3個(gè)片選控制線及讀寫(xiě)控制線。這3個(gè)片選線映射到5個(gè)存儲(chǔ)區(qū)域,Zone0,Zone1,Zone2,Zone6和Zone7,其中Zone2的片選線是CS2,存儲(chǔ)區(qū)域是:0x080000-0x0FFFFF,512K*16位。當(dāng)對(duì)存儲(chǔ)區(qū)域Zone2訪問(wèn)時(shí),Zone2的片選線CS2低有效。

K9K2G08U0M 沒(méi)有地址線,命令、地址和數(shù)據(jù)信息均是通過(guò)閃存的I/O0-I/O7傳輸,另外,雖然K9K2G08U0M的容量達(dá)到了256MB,遠(yuǎn)遠(yuǎn)大于了TMS320F2812的存儲(chǔ)區(qū)域Zone2的容量1MB,但由于訪問(wèn)flash的地址是通過(guò)I/ O 口輸入,不需要通過(guò)地址線尋址,因此無(wú)需考慮采用頁(yè)面技術(shù)解決邏輯存儲(chǔ)空間與物理空間的映射問(wèn)題,大大簡(jiǎn)化了DSP與FLASH的硬件接口。

由于K9K2G08U0M本身具有功能管腳較少的優(yōu)點(diǎn),因此跟DSP的連接也相對(duì)簡(jiǎn)單。DSP和FLASH的工作電壓均是3.3V,因此兩者的引腳可以直接連接,不需要進(jìn)行電平轉(zhuǎn)換。K9K2G08U0M 的ALE、CLE分別由DSP 的A1 和A0 控制。DSP的低8位數(shù)據(jù)線直接與閃存的I/O0-I/O7 相連,實(shí)現(xiàn)命令、地址和數(shù)據(jù)的傳輸; DSP的通用I/O口IOA2 接R/B,監(jiān)測(cè)存儲(chǔ)器的工作狀態(tài),當(dāng)R/ B 處于低電平時(shí),表示有編程、擦除或隨機(jī)讀操作正在進(jìn)行;操作完成后, R/ B 會(huì)自動(dòng)返回高電平。DSP的W E 、R D 分別接FLASH的W E 、R E , 控制讀、寫(xiě)操作。CS2接閃存的片選線CE。

3 對(duì)FLASH操作的軟件設(shè)計(jì)

本系統(tǒng)的DSP 編程采用了C 語(yǔ)言,首先定義了三個(gè)變量FLASH_D,F(xiàn)LASH_A,F(xiàn)LASH_C作為數(shù)據(jù),地址和命令寄存器用來(lái)對(duì)FLASH讀寫(xiě)數(shù)據(jù),地址和命令。

#define FLASH_D 0x08fff0   #define FLASH_A 0x08fff2    #define FLASH_C 0x08fff1

因?yàn)镵9K2G08U0M 的ALE、CLE分別由DSP 的A1 和A0 控制,所以當(dāng)向命令寄存器FLASH_C寫(xiě)數(shù)據(jù)的時(shí)候,訪問(wèn)的是DSP的存儲(chǔ)區(qū)域Zone2, 此時(shí)Zone2的片選線低有效,F(xiàn)LASH被選中,地址線A0變高,而引腳CLE高電平有效,此時(shí)寫(xiě)到FLASH_C的數(shù)據(jù)(FLASH命令)通過(guò)I/O寫(xiě)到閃存。同理,向FLASH_A和FLASH_D寫(xiě)可分別實(shí)現(xiàn)向FLASH寫(xiě)地址和數(shù)據(jù)。這樣設(shè)計(jì)時(shí),通過(guò)簡(jiǎn)單的寫(xiě)三個(gè)存儲(chǔ)器即可分別實(shí)現(xiàn)命令,地址和數(shù)據(jù)鎖存,符合操作時(shí)序。

對(duì)FLASH的操作主要包括:按頁(yè)讀操作,頁(yè)編程,緩存編程,塊擦除,讀狀態(tài),復(fù)位等。FLASH芯片的讀寫(xiě)有其特點(diǎn),讀寫(xiě)操作都要以扇區(qū)為單位進(jìn)行,擦除操作是以塊為單位,由于對(duì)FLASH寫(xiě)數(shù)據(jù)時(shí),位數(shù)據(jù)只能由1變?yōu)?,因而對(duì)FLASH進(jìn)行寫(xiě)操作前必須把寫(xiě)單元所在塊擦除;因此寫(xiě)操作時(shí),所要擦除塊的數(shù)據(jù)必須事先保存,然后再對(duì)該塊進(jìn)行擦除,并把數(shù)據(jù)寫(xiě)到指定單元,最后把其余部分恢復(fù)過(guò)來(lái)。因此FLASH芯片的寫(xiě)操作比較復(fù)雜,需要開(kāi)辟一定的緩沖區(qū)對(duì)要擦除的塊進(jìn)行保存。                        

圖 4 頁(yè)編程流程

下面僅以頁(yè)編程為例簡(jiǎn)要介紹對(duì)FLASH的操作過(guò)程,頁(yè)編程時(shí)序如圖3,圖4為其流程框圖,函數(shù)為void page _ program();

頁(yè)編程時(shí),首先寫(xiě)頁(yè)編程命令80H,可將數(shù)據(jù)寫(xiě)入到FLASH緩沖區(qū), 然后順序輸入待編程存儲(chǔ)器的地址共5字節(jié),2字節(jié)Column Address 和3字節(jié)Row Address,以及待寫(xiě)入的數(shù)據(jù)。頁(yè)編程命令10H用于實(shí)現(xiàn)數(shù)據(jù)從緩沖區(qū)到FLASH的編程操作。待R/ B 變?yōu)楦吆?系統(tǒng)將讀狀態(tài)寄存器,以判斷寫(xiě)操作是否成功。寫(xiě)命令時(shí),CLE 要有效;寫(xiě)入地址時(shí),ALE 要有效;寫(xiě)入數(shù)據(jù)時(shí),CLE、ALE都必須無(wú)效。I/ O0~I(xiàn)/ O7 上的命令、地址、數(shù)據(jù)通常是在WE 的上升沿鎖存的。I/ O0等于0表示頁(yè)編程成功,否則頁(yè)編程錯(cuò)誤。

void page_program_flash()

{ unsigned char *Flash_E;

      unsigned char temp;

      unsigned int i;

      Flash_E=FLASH_C;  

      *Flash_E=0x80;

      Flash_E=FLASH_A;

      *Flash_E=coladdr1;

      *Flash_E=coladdr2;

      *Flash_E=rowaddr1;

      *Flash_E=rowaddr2;

      *Flash_E=rowaddr3;

      Flash_E=FLASH_D;

      for(i=0;i<2048;i++)

      {  *Flash_E=i; }

         Flash_E=FLASH_C;

         *Flash_E=0x10;

         flash_delay();

         do{ Flash_E=FLASH_C;

             *Flash_E=0x70;

             Flash_E=FLASH_D;

             temp=*Flash_E;

             temp=temp&0x41;

}while(temp!=0x40);

       }

}

4 結(jié)束語(yǔ)

本文詳細(xì)介紹了閃存K9K2G08U0M與DSP 的硬件接口技術(shù)和軟件編程。由于NAND FLASH具有的優(yōu)點(diǎn)使得硬件接口設(shè)計(jì)和軟件編程比較簡(jiǎn)單,升級(jí)也比較容易。NAND FLASH 具有非易失性、大容量、低成本等優(yōu)點(diǎn),在數(shù)碼相機(jī),MP3等數(shù)碼電子產(chǎn)品和智能儀器得到越來(lái)越廣泛的應(yīng)用。本文作者創(chuàng)新點(diǎn):直接用DSP地址線A0、A1分別控制FLASH的命令鎖存CLE和地址鎖存ALE,并在此基礎(chǔ)上定義了數(shù)據(jù),地址和命令寄存器用來(lái)對(duì)FLASH讀寫(xiě)數(shù)據(jù),地址和命令,這相當(dāng)于間接對(duì)CLE和ALE進(jìn)行操作,簡(jiǎn)化了軟件編程設(shè)計(jì)。

參考文獻(xiàn)

[1] 蘇奎峰. TMS320F2812原理與開(kāi)發(fā). 北京:電子工業(yè)出版社,2005.4

[2] SUMSUNG ELETRONICS. K9K2G08U0M / Flash Memory.

[3] 谷葆春 K9F56XXXOB系列FlashMemory的存儲(chǔ)組織與操作實(shí)現(xiàn).微計(jì)算機(jī)信息.2004年4期 115—117頁(yè)

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉