日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
NAND Flash芯片K9F1208在uPSD3234A上的應用
NAND Flash芯片K9F1208在uPSD3234A上的應用
 更新時間:2008-8-18 9:45:49  點擊數:15
【字體: 字體顏色

    5.2 軟件部分

    本設計的驅動程序包括基本的操作函數和Flash操作API函數;镜牟僮骱瘮蛋ㄝ斎朊钪、輸入地址值、輸入數據值、讀取數據值和讀取狀態(tài)等函數。由于K9F1208是無地址的,故先定義一個外部存儲器的空地址來對它進行空寫和空讀。定義的語句為:

    xdata unsigned char rK9Fl208DATA _at_0x5000000;

    根據硬件連接圖,基本API函數的程序為:

    (1) 輸入命令值函數

     

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

    (2) 輸入地址值函數

    

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

    (3) 輸入數據值函數

    

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

    (4) 讀取數據值函數

    

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

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

    

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

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

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

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

    

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

   

    圖7是寫入K9F1208某一扇區(qū)或一頁的數據流程圖。首先向K9F1208發(fā)送頁編程的命令字0x80,使得K9F1208的命令寄存器接收到命令字;然后取得要寫入扇區(qū)的地址,連續(xù)向K9F1208發(fā)送4個地址數據,發(fā)送完后讀取K9F1208的R/B引腳的狀態(tài),直到K9F1208不忙(表示地址數據已接收完畢);K9F1208準備從數據總線接收一個扇區(qū)的數據,此時向K9F1208的數據總線發(fā)送一個扇區(qū)的數據,讓K9F1208接收數據,并存到相應的頁或扇區(qū)中;待發(fā)送的數據結束后,向K9F1208發(fā)送0x10 命令,使得K9F1208結束頁編程的操作;最后向K9F1208發(fā)送查詢狀態(tài)的命令字0x70,K9F1208接收到命令字后,就會向數據總線發(fā)送一個字節(jié)的數據,這時讀取K9F1208的數據總線,若收到字節(jié)0x00,則表示操作成功,若收到字節(jié)0x01,則表示操作失敗。

    結 語

    本文介紹了Samsung公司K9F1208芯片特點,并在此基礎上設計了基于uPSD3234A的驅動設計。該方法對其他相關SoC中實現NAND Flash的控制方法設計有直接的參考意義,可廣泛應用于需要大存儲容量的低端設備中。 
 
    (來源:單片機與嵌入式系統(tǒng)應用)

  • 上一篇: 基于T6963CFG的LCD在嵌入式系統(tǒng)中的應用
  • 下一篇: DSP在衛(wèi)星測控多波束系統(tǒng)中的應用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1