新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于NAND Flash的大容量立體封裝芯片在嵌入式系統中的應用

        基于NAND Flash的大容量立體封裝芯片在嵌入式系統中的應用

        ——
        作者:葉振榮 王烈洋 時間:2013-11-27 來源:電子產品世界 收藏

          軟件設計

        本文引用地址:http://www.104case.com/article/192739.htm

          根據前面的介紹,通過圖3的硬件連接方式,可以實現對芯片的讀寫,擦除等控制操作,已可以滿足各種場合的應用,S698-mil處理器是通過GPIO來操作控制VDNF64G08的,所以需要對底層操作需要比較了解,下面簡單介紹一些常用操作的實現。

          S698-mil芯片GPIO0對應的地址為0x2000 0000 – 0x27ff ffff,因為VDNF64G08芯片位寬是8bit的,所以需要把的GPIO位寬也定義成8bit,根據前面的硬件連接可以知道地址低3位對應到VDNF64G08芯片的片選信號,add[4]對應到CLE,add[5]對應到ALE,為了方便編程,這里做以下宏定義 :
          #define NF_ADDREG(CE) (*(volatile unsigned char *) (0x20000010 + CE))
          #define NF_CMDREG(CE) (*(volatile unsigned char *) (0x20000008 + CE))
          #define NF_DATAREG(CE) (*(volatile unsigned char *) (0x20000000 + CE))

          讀芯片ID

          根據芯片指令表,可以知道讀ID芯片只需要寫入命令0x90,然后在寫入地址0x0即可,詳細操作可以根據以下時序圖進行:
          int readID(unsigned char CE,unsigned IDlength)
          {
          unsigned char ID[],i;
          NF_CMDREG(CE) = 0x90;
          NF_ADDREG(CE) = 0x0;
          delayed(1);
          for(i = 0;i < IDlength;i++)
          {
          ID[i] = NF_DATAREG(CE);
          }
          i = i - 1;
          printf("CHIP CE d% ID:0x%x",ID[0]);
          while(i){
          printf("-%x",ID[IDlength - i]);
          i --;
          }
          printf("nr");
          }

          芯片壞塊查詢

          由于 的工藝不能保證 的Memory Array在其生命周期中保持性能的可靠,因此,在 的生產中及使用過程中會產生壞塊。為了檢測數據的可靠性,在應用NAND 的系統中一般都會采用一定的壞區管理策略,而管理壞區的前提是能比較可靠的進行壞區檢測。檢測流程如圖4所示。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        存儲器相關文章:存儲器原理


        上拉電阻相關文章:上拉電阻原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 长寿区| 黑水县| 余姚市| 平顶山市| 新竹市| 永福县| 民丰县| 衡阳县| 镇远县| 同仁县| 清苑县| 延庆县| 寻乌县| 枞阳县| 萍乡市| 陈巴尔虎旗| 镇安县| 西和县| 金川县| 建瓯市| 襄汾县| 维西| 班戈县| 广宁县| 莱州市| 沽源县| 浠水县| 塔城市| 增城市| 金昌市| 汤原县| 云南省| 莲花县| 高州市| 乃东县| 墨玉县| 伊宁县| 治多县| 高台县| 丰镇市| 鹤岗市|