国产农村一国产农村无码毛片,国产又粗又大又硬一区二区,亚洲无码av在线免费,中文字幕av一区中文字幕天堂

  • 超大容量存儲(chǔ)器K9F2G08U0M及其在管道通徑儀中的應(yīng)用(2)———超大容量存儲(chǔ)器K9F2G08U0M及其在管道通徑儀中的應(yīng)用(2)

    下面是按頁(yè)讀操作函數(shù)的C語(yǔ)言代碼。
    sbit RdyorBsy=P0^0;
    unsigned ch ar xdata * data pK9F;
    void PageRead(unsigned int ColAdd,unsigned long
    RowAdd,unsigned int len)
    {
    unsigned int i=0;
    unsigned ch ar ColTemp,RowTemp;
    ColTemp=(unsigned ch ar)(ColAdd>>8);
    RowTemp=(unsigned ch ar)(RowAdd>>16);
    ColTemp &=0x0F;
    RowTemp &=0x01;

    pK9F=0x8002;
     * pK9F=0x00;
    pK9F=0x8001;
     * pK9F=(unsigned ch ar)(ColAdd);
     * pK9F=ColTemp;
     * pK9F=(unsigned cha r)(RowAdd);
     * pK9F=(unsigned ch ar)(RowAdd>>8);
     * pK9F=RowTemp;
     pK9F=0x8002;
     * pK9F=0x30;

    while(RdyorBsy);
    while(!RdyorBsy);
    pK9F=0x8000;
    for(i=0;i
      OutputData[i]= * pK9F;
    }
    3.2 頁(yè)編程
    向器件寫入數(shù)據(jù)時(shí)先將數(shù)據(jù)寫入數(shù)據(jù)寄存器中,器件寫入操作是基于頁(yè)進(jìn)行的,同時(shí)允許在一個(gè)頁(yè)編程周期內(nèi)對(duì)一頁(yè)內(nèi)的連續(xù)部分編程。若不進(jìn)行擦除,則對(duì)同一頁(yè)的連續(xù)部分編程不能超過(guò)4次。
    器件支持在1頁(yè)范圍內(nèi)的隨機(jī)數(shù)據(jù)輸入,由隨機(jī)輸入命令碼85H啟動(dòng),如圖6中虛線框內(nèi)部分所示,在1頁(yè)范圍內(nèi)可以啟動(dòng)任意多次隨機(jī)輸入操作。數(shù)據(jù)輸入完畢后,寫入頁(yè)編程確認(rèn)命令10H,將數(shù)據(jù)寄存器中的內(nèi)容寫入存儲(chǔ)區(qū)。寫入完成后,需要讀狀態(tài)寄存器(通過(guò)寫入70H實(shí)現(xiàn))判斷操作是否成功。若未能成功寫入,應(yīng)將當(dāng)前塊聲明為壞塊,并進(jìn)行塊數(shù)據(jù)替換操作,以保證整個(gè)系統(tǒng)的可靠性。
    此外應(yīng)注意,同一塊內(nèi)頁(yè)編程時(shí)必須從地址最低的頁(yè)開始向高地址的頁(yè)依次編程,頁(yè)地址隨機(jī)的頁(yè)編程是被禁止的。
    下面是頁(yè)編程子函數(shù)的C語(yǔ)言代碼。

     

    unsigned ch ar PageWrite(unsigned int ColAdd,unsigned long
    RowAdd)
    {
    unsigned int data i=0;
    unsigned ch ar data Status=0;
    unsigned c har data ColTemp,RowTemp;

     

    ColTemp=(unsigned ch ar)(ColAdd>>8);
    RowTemp=(unsigned c har)(RowAdd>>16);
    ColTemp &=0x0F;
    RowTemp &=0x01;

    pK9F=0x8002;
     * pK9F=0x80;
    pK9F=0x8001;
     * pK9F=(unsigned cha r)(ColAdd);
     * pK9F=ColTemp;
     * pK9F=(unsigned ch ar)(RowAdd);
     * pK9F=(unsigned ch ar)(RowAdd>>8);
     * pK9F=RowTemp;
    pK9F=0x8000;
    for(i=0;i<2112;i++)
      * pK9F=InputData[i];
    pK9F=0x8002;
      * pK9F=0x10;

    while(RdyorBsy);
    while(!RdyorBsy);

    pK9F=0x8002;
     * pK9F=0x70;
    pK9F=0x8000;
    Status=* pK9F;
    Status &=0x01;
    return (Status);
    }
    3.3 塊擦除
    擦除操作以塊為單位進(jìn)行,由于器件分為2 048塊,因此輸入的地址碼中只有A18~A2的11位有效,其余位將被忽略。通過(guò)輸入確認(rèn)命令碼來(lái)啟動(dòng)擦除以防止誤操作。塊擦除流程如圖7所示。同頁(yè)編程操作類似,擦除完畢后也應(yīng)該讀狀態(tài)寄存器并處理返回結(jié)果。

     

     


    3.4 頁(yè)復(fù)制
        頁(yè)復(fù)制操作用來(lái)快速有效地實(shí)現(xiàn)頁(yè)間數(shù)據(jù)移動(dòng),這是由于省去了比較費(fèi)時(shí)的與片外設(shè)備之間的讀寫操作。這一特性的優(yōu)勢(shì)在塊替換操作用于頁(yè)間數(shù)據(jù)復(fù)制時(shí)體現(xiàn)尤為明顯。其實(shí)該操作是按頁(yè)讀與頁(yè)編程操作的復(fù)合,頁(yè)復(fù)制讀命令35H將頁(yè)中數(shù)據(jù)移至數(shù)據(jù)寄存器中,而頁(yè)復(fù)制寫命令85H將數(shù)據(jù)復(fù)制到目標(biāo)頁(yè)中。頁(yè)復(fù)制流程圖如圖8所示。

     

     


    該操作也可以將原始頁(yè)中的數(shù)據(jù)修改后寫入目標(biāo)頁(yè),如流程圖8中虛線框內(nèi)部分。
    需要注意的是,頁(yè)復(fù)制操作只能在奇數(shù)頁(yè)之間或偶數(shù)頁(yè)之間進(jìn)行,奇偶頁(yè)之間的數(shù)據(jù)移動(dòng)將被禁止。
    3.5 緩存區(qū)編程
    芯片中除1頁(yè)大小的數(shù)據(jù)寄存器外,還有一個(gè)1頁(yè)大小的緩沖寄存器。該緩沖寄存器可以在數(shù)據(jù)寄存器參與頁(yè)編程的同時(shí)接收外部數(shù)據(jù),等待數(shù)據(jù)寄存器空閑時(shí)將數(shù)據(jù)轉(zhuǎn)移其中,然后繼續(xù)接收數(shù)據(jù)。因此,采用緩存區(qū)編程操作在連續(xù)寫入多頁(yè)數(shù)據(jù)時(shí)將會(huì)大大提高效率。
    緩存區(qū)編程流程如圖9所示。當(dāng)?shù)谝唤M數(shù)據(jù)寫入緩沖寄存器時(shí),寫入緩存命令15H,將數(shù)據(jù)傳遞給數(shù)據(jù)寄存器并啟動(dòng)頁(yè)編程,然后使緩沖寄存器空閑,準(zhǔn)備接收下一組數(shù)據(jù)。在這個(gè)過(guò)程中芯片將處于忙狀態(tài),若內(nèi)部編程操作未完成,忙狀態(tài)持續(xù)的時(shí)間將被延長(zhǎng)。

     


        需要注意的是,該操作只能在同一塊內(nèi)進(jìn)行,因此在多塊數(shù)據(jù)寫入時(shí)需要注意每塊的最后一頁(yè)。若系統(tǒng)僅僅通過(guò)芯片的Ready/Busy引腳監(jiān)測(cè)編程進(jìn)度,則最后一頁(yè)的寫入操作應(yīng)該由頁(yè)編程命令10H啟動(dòng)。另外也可以通過(guò)讀狀態(tài)寄存器中的I/O 5位來(lái)判斷。
        K9F2G08U0M 是一種新型的超大容量Flash存儲(chǔ)器,以其非易失、功耗低、操作簡(jiǎn)單而在單片嵌入式系統(tǒng)中得到廣泛應(yīng)用。本文在管道通徑儀的開發(fā)過(guò)程中,根據(jù)對(duì)外部存儲(chǔ)器接口的深入理解,將存儲(chǔ)器芯片的兩個(gè)控制線ALE和CLE用作地址線,使得對(duì)存儲(chǔ)器的操作更簡(jiǎn)捷高效。文中的程序已經(jīng)過(guò)實(shí)際驗(yàn)證,限于篇幅,只給出按頁(yè)讀和頁(yè)編程部分的代碼。

     
     
    網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點(diǎn)導(dǎo)航