天堂网www中文天堂在线/色操在线/成人精品视频一区二区三区/欧美特黄一片aa大片免费看

  • 超大容量存儲器K9F2G08U0M及其在管道通徑儀中的應用(1)———超大容量存儲器K9F2G08U0M及其在管道通徑儀中的應用(1)

    摘 要: 新型超大容量Flash存儲器K9F2G08U0M的基本組織結構,給出了存儲器與C8051F020單片機外部存儲器接口(EMIF)的硬件連接方式以及存儲器的主要操作流程和部分C語言代碼。

    關鍵詞: K9F2G08U0M 外部存儲器接口 管道通徑儀

        閃存(Flash Memory)是一種可以進行電擦寫并且掉電后信息不丟失(非易失,Non-Volatile)的存儲器,具有功耗低、擦寫速度快等特點,被廣泛應用于外部存儲領域。
        管道運輸作為當前油氣資源的主要輸送手段,其運行安全性受到越來越多的重視。由于不同的要求使得鋪設的管道直徑不盡相同,并且管道在長期運行過程中也會存在各種變形,這對管道缺陷檢測器的運行有相當大的影響,容易造成卡死等后果。通徑儀就是鑒于此研制的記錄管徑變動情況的儀器。一般情況下,通徑儀連續運行幾百公里,相應記錄的數據將達到上百兆字節。32MB、64MB的閃存已經不能滿足需求。因此選用了Samsung公司開發的K9F2G08U0M,其單片容量高達264MB,可滿足工程需求。
    本文將介紹該存儲器的主要性能及其在管道通徑儀中的應用。
    1 K9F2G08U0M存儲器簡介
        從接口角度看,雖然K9F2G08U0M的容量和尋址范圍遠遠超過常見單片機的容量和尋址范圍,但由于芯片上的寫控制器能自動控制所有編程和擦除功能,提供必要的重復脈沖、內部確認和數據空間,而且只通過I/O接口接收單片機的命令和數據而不需要地址線,因此實際操作起來非常方便。另外芯片是通過“與非”單元結構增大容量,所以沒有因此而削弱自身性能;芯片具有獨立的1頁大小的數據存儲器和緩存存儲器,因此可以在0.2ms內完成2112B的頁編程操作,在 2ms內完成128KB的塊擦除操作,同時數據區內的數據能以30ns/B的速度讀出。
       整個存儲區被分為2 048個相互獨立的塊,可從邏輯上和物理上對塊的組織結構分類。
    圖1為塊的邏輯結構,每個塊分為64頁,每頁為2 112B(2 048B+額外存儲區的64B)。芯片通過頁地址和頁內字節地址訪問每一個字節。通常頁地址稱為行地址,而頁內字節地址稱為列地址,即264MB=2048塊×64頁/塊×2112字節/頁=217行×2112列。因此,行地址需要3個字節,列地址2個字節,輸入順序如表1所示。

     

     

    從物理結構上看,該芯片為“與非”結構存儲器,每個塊由兩個“與非”結構串組成,每個“與非”結構串包含 16 896個“與非”結構,每個“與非”結構由32個基本單元(每個基本單元為1位)組成,這32個基本單元分別位于不同的頁內,由此得到每個塊的物理結構,如圖2所示。

     

     
    2 硬件連接設計
       管道通徑儀的結構框圖如圖3所示。管道檢測時MCU采集參數并存儲在Flash中,檢測完畢后通過USB接口傳輸至上位機進行數據分析。

     

     

        如前所述,對K9F2G08U0M的操作可以通過只向I/O接口發送數據(包括命令碼、行列地址碼等)來實現,因此最直接的方式是使用單片機的一個端口作為與芯片的數據接口,并以單片機的GPIO引腳連接CE、ALE、CLE以及,編程時按照手冊中的時序圖控制這些引腳。但是由于每次操作這些引腳都需要大量的控制線電平轉換,使程序十分繁冗。
    由于C8051F020提供了外部存儲器接口(EMIF),而接口時序由EMIF硬件產生,使其對片外擴展的器件操作像對內存單元的尋址一樣簡便快捷。下面采用這種硬件連接方式,對K9F2G08U0M的主要操作進行介紹。電路如圖4所示,C8051F020只畫出了EMIF接口部分,選用非復用方式,以 IO7~0作為數據線,CE、ALE、CLE作為地址線。由于通徑儀中需要隨時寫入數據,因此寫保護端接高電平。
    采用外部存儲器接口對器件編程時,最重要的是保證總線時序與器件時序一致。C8051F020的EMIF接口時序能夠以系統時鐘周期為單位編程,因此允許連接具有不同建立時間和保持時間要求以及不同/WR、/RD選通脈沖寬度的器件。

     

     

       單片機EMIF在非復用方式,一次片外XRAM 操作的最小執行時間為5 個SysClk 周期(用于或 脈沖的1 個SysClk+4個額外SysClk)。若單片機系統采用20MHz晶振,一次MOVX操作的最小執行時間為250ns,而K9F2G08U0M交流參數中最小建立保持時間的上界為100ns,則即使采用EMI0TC最小的時序參數也不需要在程序中額外加入延時指令。
    3 軟件設計
    本系統采用C語言編程,提高了開發速度并降低了維護難度。下面分別介紹存儲器的主要操作。
    3.1 按頁讀
    K9F2G08U0M中有一個2112B即1頁大小的數據寄存器,這就決定了存儲器的讀操作是以1頁為基本單元進行的。如圖5所示,寫入30H后,行地址所指定的頁中的數據將在25?滋s內傳輸到數據寄存器中,然后在脈沖的作用下,不但可以從指定的列地址開始連續讀到該頁末尾,也可以按照流程圖中的虛線部分輸入隨機讀指令碼,任意讀取該頁中的內容,并且不受次數限制。

     

     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航