RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CS創(chuàng)世SD NAND的存儲(chǔ)芯片應(yīng)用方案

深圳市雷龍發(fā)展有限公司 ? 2023-11-15 18:09 ? 次閱讀

前言:

很感謝深圳雷龍發(fā)展有限公司為博主提供的兩片SD NAND的存儲(chǔ)芯片,在這里博主記錄一下自己的使用過程以及部分設(shè)計(jì)。

深入了解該產(chǎn)品

拿到這個(gè)產(chǎn)品之后,我大致了解了下兩款芯片的性能。CSNP4GCR01-AMW是一種基于NAND閃存和SD控制器的4Gb密度嵌入式存儲(chǔ);而CSNP32GCR01-AOW是一種基于NAND閃存和SD控制器的32Gb密度嵌入式存儲(chǔ)。與原始NAND相比其具有嵌入式壞塊管理和更強(qiáng)的嵌入式ECC。即使在異常斷電,它仍然可以安全地保存數(shù)據(jù)。作為一個(gè)存儲(chǔ)芯片,它確實(shí)做到了小巧,LGA-8的封裝對(duì)比我之前用到過的TF卡,只占到了其面積的三分之一,這樣對(duì)于一些嵌入式的設(shè)計(jì)就方便了很多。

image.php?url=YD_cnt_100_01S74cotZJkP

雷龍官方還很貼心的提供了樣品的測(cè)試板,在這款測(cè)試板上,我焊接了4GB的CSNP4GCR01-AMW上去,并且跑了一下分,對(duì)于一款小的存儲(chǔ)芯片而言,實(shí)在難得。

image.php?url=YD_cnt_100_01S74cwNmGXa

(上圖為測(cè)試板焊接圖)

博主日前在設(shè)計(jì)基于H616與NB-IOT的嵌入式智能儲(chǔ)物柜的時(shí)候考慮過存儲(chǔ)方面的問題,當(dāng)時(shí)在SD NAND和EMMC與TF卡中徘徊,以下是幾個(gè)存儲(chǔ)類型的對(duì)比。

image.php?url=YD_cnt_100_01S74ct8xcnT

image.php?url=YD_cnt_100_01S74cuFWRNL

經(jīng)過多方對(duì)比,本著不需要頻繁更換的原則,同時(shí)也為了更好的防水和成本考慮,最終決定使用雷龍公司的SD NAND 作為設(shè)計(jì)樣品的存儲(chǔ)部分。

此外,SD NAND還具有不用寫驅(qū)動(dòng)程序自帶壞塊管理的NAND FLASH(貼片式TF卡),不標(biāo)準(zhǔn)的SDIO接口,也同時(shí)兼容SPI/SD接口,10萬(wàn)次的SLC晶圓擦寫壽命,通過一萬(wàn)次的隨機(jī)掉電測(cè)試耐高低溫,經(jīng)過跑分測(cè)得,速度級(jí)別Class10。標(biāo)準(zhǔn)的SD2.0協(xié)議,普通的SD卡可以直接驅(qū)動(dòng),支持TF卡啟動(dòng)的SOC都可以用SD NAND,而且雷龍官方還貼心的提供了STM32參考例程和原廠技術(shù)支持,這對(duì)于剛上手的小白而言,十分友好。

設(shè)計(jì)理念:

使用H616作為主控CPU并搭配NB-IOT來(lái)向申請(qǐng)下來(lái)的云端傳輸數(shù)據(jù),當(dāng)WIFI正常時(shí),儲(chǔ)物數(shù)據(jù)每擱兩小時(shí)向云端傳輸一次,當(dāng)有人取出物品時(shí)再次向云端發(fā)送一次數(shù)據(jù)(不保留在SD NAND中);一旦系統(tǒng)檢測(cè)到WIFI出現(xiàn)問題,儲(chǔ)物數(shù)據(jù)轉(zhuǎn)而存儲(chǔ)到SD NAND中,取物時(shí)輸入的物品ID和取出時(shí)間一并放入SD NAND中(我也是看中了SD NAND與原始NAND相比其具有嵌入式壞塊管理和更強(qiáng)的嵌入式ECC。即使在異常斷電,它仍然可以安全地保存數(shù)據(jù)這一點(diǎn))。

部分SD NAND的參考設(shè)計(jì)

根據(jù)官方數(shù)據(jù)手冊(cè)提供的SD NAND參考設(shè)計(jì),只占用8個(gè)GPIO,對(duì)于H616來(lái)說,確實(shí)很友好

image.php?url=YD_cnt_100_01S74csjjIkc

這里為了不泄露他人的勞動(dòng)成果,我也就不粘PCB設(shè)計(jì)了。

image.php?url=YD_cnt_100_01S74cvEChCC

采用H616驅(qū)動(dòng)SD NAND的示例代碼

下面是關(guān)于H616驅(qū)動(dòng)SD NAND的示例代碼,這里記錄一下自己當(dāng)初的學(xué)習(xí)過程(注:這個(gè)代碼不能直接拿過來(lái)就用,而是要根據(jù)自己的需求修改)

  1. #include
  2. #include
  3. #include
  4. #include
  5. #include "h616_sdio.h"
  6. // 定義SDIO引腳
  7. #define SDIO_CMD_PIN 0
  8. #define SDIO_CLK_PIN 1
  9. #define SDIO_D0_PIN 2
  10. #define SDIO_D1_PIN 3
  11. #define SDIO_D2_PIN 4
  12. #define SDIO_D3_PIN 5
  13. // 定義NAND芯片命令
  14. #define CMD_READ 0x00
  15. #define CMD_WRITE 0x80
  16. #define CMD_ERASE 0x60
  17. #define CMD_STATUS 0x70
  18. #define CMD_RESET 0xff
  19. // 定義NAND芯片狀態(tài)
  20. #define STATUS_READY 0x40
  21. #define STATUS_ERROR 0x01
  22. // 初始化SDIO控制器
  23. void sdio_init()
  24. {
  25. // 設(shè)置SDIO引腳模式和速率
  26. h616_sdio_set_pin_mode(SDIO_CMD_PIN, H616_SDIO_PIN_MODE_SDIO);
  27. h616_sdio_set_pin_mode(SDIO_CLK_PIN, H616_SDIO_PIN_MODE_SDIO);
  28. h616_sdio_set_pin_mode(SDIO_D0_PIN, H616_SDIO_PIN_MODE_SDIO);
  29. h616_sdio_set_pin_mode(SDIO_D1_PIN, H616_SDIO_PIN_MODE_SDIO);
  30. h616_sdio_set_pin_mode(SDIO_D2_PIN, H616_SDIO_PIN_MODE_SDIO);
  31. h616_sdio_set_pin_mode(SDIO_D3_PIN, H616_SDIO_PIN_MODE_SDIO);
  32. h616_sdio_set_clock(H616_SDIO_CLOCK_FREQ_25MHZ);
  33. // 初始化SDIO控制器
  34. h616_sdio_init();
  35. }
  36. // 發(fā)送NAND芯片命令
  37. void nand_send_cmd(uint8_t cmd)
  38. {
  39. // 設(shè)置SDIO控制器傳輸模式和命令碼
  40. h616_sdio_set_transfer_mode(H616_SDIO_TRANSFER_MODE_WRITE);
  41. h616_sdio_set_command_code(cmd);
  42. // 發(fā)送命令
  43. h616_sdio_send_command();
  44. }
  45. // 發(fā)送NAND芯片地址
  46. void nand_send_addr(uint32_t addr)
  47. {
  48. // 設(shè)置SDIO控制器傳輸模式和地址
  49. h616_sdio_set_transfer_mode(H616_SDIO_TRANSFER_MODE_WRITE);
  50. h616_sdio_set_address(addr);
  51. // 發(fā)送地址
  52. h616_sdio_send_address();
  53. }
  54. // 讀取NAND芯片數(shù)據(jù)
  55. void nand_read_data(uint8_t *data, uint32_t size)
  56. {
  57. // 設(shè)置SDIO控制器傳輸模式
  58. h616_sdio_set_transfer_mode(H616_SDIO_TRANSFER_MODE_READ);
  59. // 讀取數(shù)據(jù)
  60. h616_sdio_read_data(data, size);
  61. }
  62. // 寫入NAND芯片數(shù)據(jù)
  63. void nand_write_data(const uint8_t *data, uint32_t size)
  64. {
  65. // 設(shè)置SDIO控制器傳輸模式
  66. h616_sdio_set_transfer_mode(H616_SDIO_TRANSFER_MODE_WRITE);
  67. // 寫入數(shù)據(jù)
  68. h616_sdio_write_data(data, size);
  69. }
  70. // 讀取NAND芯片狀態(tài)
  71. uint8_t nand_read_status()
  72. {
  73. uint8_t status;
  74. // 發(fā)送讀取狀態(tài)命令
  75. nand_send_cmd(CMD_STATUS);
  76. // 讀取狀態(tài)
  77. nand_read_data(&status, 1);
  78. return status;
  79. }
  80. // 等待NAND芯片準(zhǔn)備就緒
  81. void nand_wait_ready()
  82. {
  83. uint8_t status;
  84. // 循環(huán)讀取狀態(tài),直到NAND芯片準(zhǔn)備就緒
  85. do {
  86. status = nand_read_status();
  87. } while ((status & STATUS_READY) == 0);
  88. }
  89. // 讀取NAND芯片數(shù)據(jù)
  90. void nand_read(uint32_t page, uint32_t column, uint8_t *data, uint32_t size)
  91. {
  92. // 發(fā)送讀取命令和地址
  93. nand_send_cmd(CMD_READ);
  94. nand_send_addr(column | (page << 8));
  95. // 等待NAND芯片準(zhǔn)備就緒
  96. nand_wait_ready();
  97. // 讀取數(shù)據(jù)
  98. nand_read_data(data, size);
  99. }
  100. // 寫入NAND芯片數(shù)據(jù)
  101. void nand_write(uint32_t page, uint32_t column, const uint8_t *data, uint32_t size)
  102. {
  103. // 發(fā)送寫入命令和地址
  104. nand_send_cmd(CMD_WRITE);
  105. nand_send_addr(column | (page << 8));
  106. // 寫入數(shù)據(jù)
  107. nand_write_data(data, size);
  108. // 等待NAND芯片準(zhǔn)備就緒
  109. nand_wait_ready();
  110. }
  111. // 擦除NAND芯片塊
  112. void nand_erase(uint32_t block)
  113. {
  114. // 發(fā)送擦除命令和地址
  115. nand_send_cmd(CMD_ERASE);
  116. nand_send_addr(block << 8);
  117. // 等待NAND芯片準(zhǔn)備就緒
  118. nand_wait_ready();
  119. }
  120. // 復(fù)位NAND芯片
  121. void nand_reset()
  122. {
  123. // 發(fā)送復(fù)位命令
  124. nand_send_cmd(CMD_RESET);
  125. // 等待NAND芯片準(zhǔn)備就緒
  126. nand_wait_ready();
  127. }
  128. // 示例程序入口
  129. int main()
  130. {
  131. uint8_t data[2048];
  132. memset(data, 0x5a, sizeof(data));
  133. // 初始化SDIO控制器
  134. sdio_init();
  135. // 復(fù)位NAND芯片
  136. nand_reset();
  137. // 擦除第0塊
  138. nand_erase(0);
  139. // 寫入第0頁(yè)
  140. nand_write(0, 0, data, sizeof(data));
  141. // 讀取第0頁(yè)
  142. nand_read(0, 0, data, sizeof(data));
  143. return 0;
  144. }
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    455

    文章

    50714

    瀏覽量

    423131
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4296

    瀏覽量

    85798
  • 內(nèi)存卡
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    14752
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【半導(dǎo)體存儲(chǔ)】關(guān)于NAND Flash的一些小知識(shí)

      前言   作為一名電子專業(yè)的學(xué)生,半導(dǎo)體存儲(chǔ)顯然是繞不過去的一個(gè)坎,今天聊一聊關(guān)于Nand Flash的一些小知識(shí)。   這里十分感謝深圳雷龍發(fā)展有限公司為博主提供的兩片CS創(chuàng)世
    發(fā)表于 12-17 17:34

    關(guān)于SD NAND 的概述

    。   雷龍科技旗下的CS創(chuàng)世品牌自2016年成立以來(lái),一直專注于采用國(guó)際先進(jìn)的芯片設(shè)計(jì)和技術(shù),結(jié)合本地化的生產(chǎn)和制造優(yōu)勢(shì),為客戶提供高品質(zhì)的產(chǎn)品和服務(wù)。在眾多產(chǎn)品中,CS
    發(fā)表于 12-06 11:22

    如何格式化貼片式SD卡/貼片式TF卡(SD NAND)#電路知識(shí) #pcb設(shè)計(jì) #芯片 #存儲(chǔ)芯片 #嵌入式

    存儲(chǔ)芯片
    深圳市雷龍發(fā)展有限公司
    發(fā)布于 :2024年11月19日 15:13:14

    一文帶你了解什么是SD NAND存儲(chǔ)芯片

    的市場(chǎng)份額,有著不可取代的地位。   隨著芯片的發(fā)展存儲(chǔ)芯片的趨勢(shì)也開始不甘落后,有著越來(lái)越多的新型的芯片問世,這里就要提起SD NAND
    發(fā)表于 11-13 15:20

    一文帶你了解什么是SD NAND存儲(chǔ)芯片

    的市場(chǎng)份額,有著不可取代的地位。 隨著芯片的發(fā)展存儲(chǔ)芯片的趨勢(shì)也開始不甘落后,有著越來(lái)越多的新型的芯片問世,這里就要提起SD NAND
    的頭像 發(fā)表于 11-13 15:17 ?892次閱讀
    一文帶你了解什么是<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存儲(chǔ)芯片</b>

    ESP32應(yīng)用教程—SD NAND如何記錄飛控LOG#SDNAND #硬件 #存儲(chǔ)芯片

    存儲(chǔ)芯片
    深圳市雷龍發(fā)展有限公司
    發(fā)布于 :2024年10月09日 16:51:51

    SD NAND在智能眼鏡上的怎么應(yīng)用

    隨著智能時(shí)代的到來(lái),智能眼鏡的產(chǎn)品不斷的更新迭代,越來(lái)越接近我們大眾的生活,翻譯、音頻、視頻、導(dǎo)航等功能也日益完善。同時(shí)也越來(lái)越考驗(yàn)存儲(chǔ)芯片的容量和存儲(chǔ)芯片的大小。 SD NAND是一
    的頭像 發(fā)表于 09-14 09:55 ?337次閱讀
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>在智能眼鏡上的怎么應(yīng)用

    SD NAND測(cè)試套件:提升存儲(chǔ)芯片驗(yàn)證效率

    SD NAND轉(zhuǎn)接板和燒錄座是一種專為工程師設(shè)計(jì)的輔助工具,它能夠?qū)⒉煌叽绲?b class='flag-5'>SD NAND芯片轉(zhuǎn)換為通用TF接口封裝,從而方便地進(jìn)行性能測(cè)
    的頭像 發(fā)表于 08-13 09:44 ?360次閱讀
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>測(cè)試套件:提升<b class='flag-5'>存儲(chǔ)芯片</b>驗(yàn)證效率

    CS創(chuàng)世 SD NANDSD NAND芯片的測(cè)評(píng)與使用(基于卷積神經(jīng)網(wǎng)絡(luò)的數(shù)字識(shí)別)

    時(shí)常會(huì)影響系統(tǒng)的穩(wěn)定性,因此一個(gè)可以反復(fù)擦拭的穩(wěn)定存儲(chǔ)芯片顯得十分重要。 通過將測(cè)試板和芯片進(jìn)行簡(jiǎn)單的焊接,我們可以像使用SD卡一樣對(duì)SD NAND
    發(fā)表于 07-24 18:24

    Flash閃存簡(jiǎn)介及“SD NAND Flash”產(chǎn)品測(cè)試#存儲(chǔ)芯片 #sd卡? #NAND #TF卡

    存儲(chǔ)芯片
    深圳市雷龍發(fā)展有限公司
    發(fā)布于 :2024年06月26日 18:11:03

    CS 創(chuàng)世SD NAND FLASH 存儲(chǔ)芯片,比TF卡更小巧輕便易用的大容量存儲(chǔ),TF卡替代方案

    /6196382.html   下圖是大小比對(duì),可以看到 創(chuàng)世SD NAND的尺寸非常小,而且是一種可以表貼的存儲(chǔ)芯片。 []()   SD
    發(fā)表于 01-24 18:30

    CS 創(chuàng)世SD NAND FLASH 存儲(chǔ)芯片,比TF卡更小巧輕便易用的大容量存儲(chǔ),TF卡替代方案

    文章目錄介紹創(chuàng)世SD卡引腳與NORFlash存儲(chǔ)比較介紹SDNANDFLASH(SecureDigitalNANDFlash)是一種安全數(shù)字NAND閃存技術(shù),通常用于
    的頭像 發(fā)表于 01-24 18:29 ?789次閱讀
    <b class='flag-5'>CS</b> <b class='flag-5'>創(chuàng)世</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> FLASH <b class='flag-5'>存儲(chǔ)芯片</b>,比TF卡更小巧輕便易用的大容量<b class='flag-5'>存儲(chǔ)</b>,TF卡替代<b class='flag-5'>方案</b>

    什么是SD NAND存儲(chǔ)芯片? SD NAND與TF卡的區(qū)別

    什么是SD NAND?它俗稱貼片式T卡,貼片式TF卡,貼片式SD卡,貼片式內(nèi)存卡,貼片式閃存卡,貼片式卡...等等。雖然SD NAND 和T
    的頭像 發(fā)表于 01-06 14:35 ?1772次閱讀
    什么是<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存儲(chǔ)芯片</b>? <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>與TF卡的區(qū)別

    什么是SD NAND存儲(chǔ)芯片?

    前言   大家好,我們一般在STM32項(xiàng)目開發(fā)中或者在其他嵌入式開發(fā)中,經(jīng)常會(huì)用到存儲(chǔ)芯片存儲(chǔ)數(shù)據(jù)。今天我和大家來(lái)介紹一款存儲(chǔ)芯片,我這里采用(雷龍) CS
    發(fā)表于 01-05 17:54

    什么是SD NAND存儲(chǔ)芯片?

    前言大家好,我們一般在STM32項(xiàng)目開發(fā)中或者在其他嵌入式開發(fā)中,經(jīng)常會(huì)用到存儲(chǔ)芯片存儲(chǔ)數(shù)據(jù)。今天我和大家來(lái)介紹一款存儲(chǔ)芯片,我這里采用(雷龍)CS
    的頭像 發(fā)表于 01-05 17:53 ?1283次閱讀
    什么是<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>存儲(chǔ)芯片</b>?
    RM新时代网站-首页