新聞中心

        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不再難懂)

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


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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绵阳市| 鲁山县| 淳化县| 萨迦县| 南京市| 阿拉善右旗| 西贡区| 三台县| 白朗县| 湄潭县| 冕宁县| 微山县| 阿拉善盟| 宜宾市| 霍邱县| 九寨沟县| 乌兰察布市| 蒲城县| 阳高县| 镇江市| 西畴县| 长治市| 汨罗市| 崇左市| 大兴区| 历史| 齐河县| 郧西县| 汨罗市| 彝良县| 广西| 乌苏市| 酒泉市| 东源县| 延津县| 花莲市| 嘉黎县| 连云港市| 巴彦淖尔市| 武邑县| 长寿区|