《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > MSP430F149嵌入式系統中FLASHK9F1G08U0M的應用
MSP430F149嵌入式系統中FLASHK9F1G08U0M的應用
摘要: NANDFlash是采用NAND結構技術的非易失存儲器,具有ROM存儲器的特點。NANDFLASH存儲器將數據線與地址線復用為8條線,另外還分別提供了命令控制信號線,因此,NANDFLASH存儲器不會因為存儲容量的增加而增加引腳數目。從而極大方便了系統設計和產品升級。
關鍵詞: NAND Flash 存儲器 MSP430
Abstract:
Key words :

NAND Flash是采用NAND結構技術的非易失存儲器,具有ROM存儲器的特點。NAND FLASH 存儲器將數據線與地址線復用為8條線,另外還分別提供了命令控制信號線,因此,NAND FLASH 存儲器不會因為存儲容量的增加而增加引腳數目。從而極大方便了系統設計和產品升級。

1 元件介紹

1.1 MSP430芯片

MSP430系列單片機是TI公司推出的16位RISC系列單片機,該系列是一組超低功耗微控制器,供電電壓范圍為1.8V—3.6V。考慮到本系統有微體積、低功耗的要求,在此選用MSP430F149,它具有60KB Flash Memory、2kb RAM、有8個通道采樣率為200K的12位A/D轉換器、硬件乘法器、2個帶有大量捕獲/比較寄存器的16位定時器、看門狗等,為系統的進一步開發擴展提供了良好的基礎,特別適用于較復雜的系統開發。

1.2 NAND Flash

NAND結構Flash是Sumsung公司隆重推出并著力開發的新一代數據存儲器件,在此選用芯片K9F1G08U0M,電源電壓2.7V—3.6V,與MSP430F149一致,功耗低,容量可達128M×8Bit,按頁進行讀寫,按塊擦除,通過I/O口分時復用作為命令引腳/地址引腳/數據引腳。有很高的可靠性。

2 硬件設計

本系統中,K9F1G08U0M的數據輸入輸出口與單片機的P6端口相連。片選信號與單片機的P2.4相連, CLE(命令鎖存控制端)、ALE(地址鎖存控制端)、WE(寫操作控制端)、RE(讀操作控制端)分別通過控制單片機P3.3、P2.3、P2.6、P2.5引腳的電平,決定對FLASH

進行控制字操作、地址操作、寫操作還是讀操作。在此不使用寫保護功能,所以WP接高電平。FLASH與單片機的部分連接組成電路如圖1所示。

 

MSP430F149與K9F1G08U0M的連接

 

圖1 MSP430F149與K9F1G08U0M的連接

3 軟件設計

MSP430的開發軟件較多,本文采用IAR公司的集成開發環境—IAR Embedded workbench 嵌入式工作臺,利用C430(MSP430系列的C語言)編寫調試。單片機對FLASH的操作主要有寫、讀、擦除。

3.1 寫操作

向FLASH內部寫數據是基于頁的,K9F1G08U0M的命令字、地址和數據都是通過并行口線I/O0—I/O7在控制信號的作用下分時操作。地址A0—A10,A11—A26通過I/O0—I/O7分4次送入。同時K9F1G08U0M芯片提供了一根狀態指示信號線,當該信號為低電平時,表示FLASH可能正處于擦除、編程或讀操作的忙狀態;而當其為高電平時,則表示為準備好狀態,此時可以對芯片進行各種操作。本系統須寫入126M數據寫操作流程圖如圖2。

3.2 讀操作

讀操作有串行頁讀、連續行讀、隨機讀3種類型。在此選用串行頁讀取。首先將讀操作控制字00h輸入,再寫入地址,寫入控制字30h,待 信號變高后,將本頁數據依次讀出。隨后再改變頁地址讀出其它頁內數據。操作流程圖如圖3。

 

圖2 寫操作流程圖

 

讀FLASH數據程序流程圖

 

圖3 讀FLASH數據程序流程圖

3.3 擦除操作

任何FLASH器件的寫入操作都必須在空的或已擦除的單元內進行,因此在進行下一次存儲數據之前都必須對FLASH進行擦除操作。

擦除操作基于塊,K9F1G08U0M內有1024塊,塊地址的輸入需要兩個周期,塊操作的地址只有A18—A27有效,A12—A17備忽略。在地址后被送入的塊擦除命令(D0h)啟動塊擦除操作,待 信號變高后,送入命令字70h,讀出I/O0的值來判斷數據擦除是否成功。圖4為塊擦除流程圖。

 

 擦除FLASH程序流程圖

圖4 擦除FLASH程序流程圖

程序設計 #e#4 程序設計

在此給出寫操作部分程序,讀操作和擦除操作均可參考文中流程圖來編程,值得注意的是其它具體寫地址操作應仔細閱讀

K9F1G08U0M芯片資料。

#include

#define CLE BIT3

#define ALE BIT3

#define WE BIT6

#define CE BIT4

#define RE BIT5

#define RB BIT7

void ReadFlash(); //讀FLASH子程序

void WriteFlash(); //寫FLASH子程序

void inituart(void); //初始化異步串行通信

void Write10h(); //寫控制字10h子程序

void WriteCommand(); //寫命令字寫地址

void ClrFlash(); //擦除FLASH子程序

unsigned int k,i,a

void main ()

{

WDTCTL = WDTPW + WDTHOLD;

BCSCTL1 &= ~XT2OFF;

do

{

IFG1 &= ~OFIFG;

for (iq0=0x05; iq0>0; iq0--);

} //檢驗晶振是否起振

while ((IFG1 & OFIFG)!= 0);

BCSCTL2 = SELM_2 + SELS + DIVS0;

//SMCLK選擇2分頻后的4M

While(k<0xFC00) //頁數<64512時執行

{

WriteCommand(); //調用寫控制字寫地址子程序

While(i<2048) //字節數<2048時執行循環

{

WriteFlash(); //調用寫數據子程序,

32個字節

i=i+32; //字節數+32

}

i=0; //一頁寫完后,字節數置0

Write10h(); //調用寫10h子程序

while(!(P2IN & RB)); //等待RB信號變高

k++; //頁數+1

}

k=0; //頁數置0

LPM4; //全部寫完后,MSP430進入低功耗模式4

5 結束語

實驗表明: 整個系統簡單可靠、功能完善、運行穩定,具有實用價值。本文完成了對FLASH的寫操作、讀操作及擦除操作,達到了系統的微體積和低功耗特性。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产欧美一区二区三区免费| 天天干夜夜操视频| 久久综合亚洲色hezyo国产| 欧美色欧美亚洲高清在线视频| 公洗澡时强要了| 老熟女高潮一区二区三区| 国产午夜一区二区在线观看| 免费福利在线视频| 国产精品国产香蕉在线观看网| 97色精品视频在线观看| 天天做天天爱天天综合网2021| 一级做a爰毛片| 成人免费视频网| 久99久热只有精品国产女同| 日韩一区二区三区北条麻妃| 九九精品99久久久香蕉| 欧美xxx高清| 亚洲国产成人久久一区www| 欧美激情一区二区三区在线| 亚洲精品中文字幕无码AV| 狠狠躁夜夜人人爽天96| 免费国产污网站在线观看| 精品午夜福利1000在线观看| 四虎影院永久在线| 色94色欧美sute亚洲线| 国产一区二区三区精品久久呦| 香港国产特级一级毛片| 国产在线精品二区韩国演艺界| 99自拍视频在线观看| 国产日韩欧美高清| 日本高清xxxxx| 国产精品99久久不卡| 男女一进一出猛进式抽搐视频| 国产精品午夜无码av体验区| 2021国产精品自产拍在线观看| 国产韩国精品一区二区三区 | 啊轻点灬大ji巴太粗太长了情侣 | 亚洲欧美另类日韩| 欧美综合区自拍亚洲综合天堂| 亚洲第一网站男人都懂| 正在播放宾馆露脸对白视频|