超大容量存儲(chǔ)器K9F2G08U0M及其在管道通徑儀中的應(yīng)用
從物理結(jié)構(gòu)上看,該芯片為“與非”結(jié)構(gòu)存儲(chǔ)器,每個(gè)塊由兩個(gè)“與非”結(jié)構(gòu)串組成,每個(gè)“與非”結(jié)構(gòu)串包含 16 896個(gè)“與非”結(jié)構(gòu),每個(gè)“與非”結(jié)構(gòu)由32個(gè)基本單元(每個(gè)基本單元為1位)組成,這32個(gè)基本單元分別位于不同的頁(yè)內(nèi),由此得到每個(gè)塊的物理結(jié)構(gòu),如圖2所示。本文引用地址:http://m.butianyuan.cn/article/173477.htm
2 硬件連接設(shè)計(jì)
管道通徑儀的結(jié)構(gòu)框圖如圖3所示。管道檢測(cè)時(shí)MCU采集參數(shù)并存儲(chǔ)在Flash中,檢測(cè)完畢后通過(guò)USB接口傳輸至上位機(jī)進(jìn)行數(shù)據(jù)分析。
如前所述,對(duì)K9F2G08U0M的操作可以通過(guò)只向I/O接口發(fā)送數(shù)據(jù)(包括命令碼、行列地址碼等)來(lái)實(shí)現(xiàn),因此最直接的方式是使用單片機(jī)的一個(gè)端口作為與芯片的數(shù)據(jù)接口,并以單片機(jī)的GPIO引腳連接CE、ALE、CLE以及,編程時(shí)按照手冊(cè)中的時(shí)序圖控制這些引腳。但是由于每次操作這些引腳都需要大量的控制線電平轉(zhuǎn)換,使程序十分繁冗。
由于C8051F020提供了外部存儲(chǔ)器接口(EMIF),而接口時(shí)序由EMIF硬件產(chǎn)生,使其對(duì)片外擴(kuò)展的器件操作像對(duì)內(nèi)存單元的尋址一樣簡(jiǎn)便快捷。下面采用這種硬件連接方式,對(duì)K9F2G08U0M的主要操作進(jìn)行介紹。電路如圖4所示,C8051F020只畫(huà)出了EMIF接口部分,選用非復(fù)用方式,以 IO7~0作為數(shù)據(jù)線,CE、ALE、CLE作為地址線。由于通徑儀中需要隨時(shí)寫(xiě)入數(shù)據(jù),因此寫(xiě)保護(hù)端接高電平。
采用外部存儲(chǔ)器接口對(duì)器件編程時(shí),最重要的是保證總線時(shí)序與器件時(shí)序一致。C8051F020的EMIF接口時(shí)序能夠以系統(tǒng)時(shí)鐘周期為單位編程,因此允許連接具有不同建立時(shí)間和保持時(shí)間要求以及不同/WR、/RD選通脈沖寬度的器件。
單片機(jī)EMIF在非復(fù)用方式,一次片外XRAM 操作的最小執(zhí)行時(shí)間為5 個(gè)SysClk 周期(用于或 脈沖的1 個(gè)SysClk+4個(gè)額外SysClk)。若單片機(jī)系統(tǒng)采用20MHz晶振,一次MOVX操作的最小執(zhí)行時(shí)間為250ns,而K9F2G08U0M交流參數(shù)中最小建立保持時(shí)間的上界為100ns,則即使采用EMI0TC最小的時(shí)序參數(shù)也不需要在程序中額外加入延時(shí)指令。
3 軟件設(shè)計(jì)
本系統(tǒng)采用C語(yǔ)言編程,提高了開(kāi)發(fā)速度并降低了維護(hù)難度。下面分別介紹存儲(chǔ)器的主要操作。
3.1 按頁(yè)讀
K9F2G08U0M中有一個(gè)2112B即1頁(yè)大小的數(shù)據(jù)寄存器,這就決定了存儲(chǔ)器的讀操作是以1頁(yè)為基本單元進(jìn)行的。如圖5所示,寫(xiě)入30H后,行地址所指定的頁(yè)中的數(shù)據(jù)將在25?滋s內(nèi)傳輸?shù)綌?shù)據(jù)寄存器中,然后在脈沖的作用下,不但可以從指定的列地址開(kāi)始連續(xù)讀到該頁(yè)末尾,也可以按照流程圖中的虛線部分輸入隨機(jī)讀指令碼,任意讀取該頁(yè)中的內(nèi)容,并且不受次數(shù)限制。
評(píng)論