前言 嵌入式项目中,比较常见的存储扩展方案是使用TF/SD卡或者EMMC或者RAW NAND,各种方案都有其优缺点,而SD NAND相对于上述方案具备很多优势,是目前嵌入式项目中存储扩展方案的一个非常不错的选择,正好一个项目在选择NAND存储方案, 恰巧论坛中联系到雷龙公司申请到了两片SD NAND,所以就进行一下测试评估。 SD NAND是什么? 为什么选择SD NAND? 其与TF/SD卡,EMMC,RAW NAND比有什么优势, 我们可以从深圳市雷龙发展有限公司的官网找到答案http://www.longsto.com/news/。 该公司SD NAND 二代产品介绍可以参考如下地址http://longsto.com/product/list-39.html,有1Gb,4Gb,32Gb,64Gb的容量可选,我这里申请到的是两片32Gb的芯片和测试板. 焊接后如下: 测试过程 申请样品时官方提供了野火版的STM32测试程序,但是手里只有精英STM32F103开发板 V2开发板, 稍微改以下即可使用。 使用工程SDIO模式SD测试例程\\SDIO-HAL库代码\\36-SDIO—SD卡读写测试\\Project\\Fire_F103VE.uvprojx 修改下芯片型号 修改下编译器,我这里使用的是新版本的MDK所以是AC6 选择下对应的仿真器 User\\key\\bsp_key.h中修改下按键,按照开发板原理图改为PE3 #define KEY1_PIN GPIO_PIN_3 #define KEY1_GPIO_PORT GPIOE #define KEY1_GPIO_CLK_ENABLE __HAL_RCC_GPIOE_CLK_ENABLE 由于AC6只能使用UTF-8编码,而原来的文件使用GB2312编码,所以需要修改下main.c的编码,用VSCODE打开main.c Save with Encodeing选择UTF8,这样就改为UTF-8格式了。 编译下载按Key1按键, 串口打印测试结果如下 实际上CS SD NAND是完全兼容SD/TF卡的,所以直接使用精英STM32F103开发板 V2开发板的SD卡测试程序也是可以的 使用工程 【正点原子】精英STM32F103开发板 V2-资料盘(A盘)\\4,程序源码\\2,标准例程-HAL库版本.zip\\2,标准例程-HAL库版本\\实验34 SD卡实验 编译下载运行,可以看到串口打印如下 以上测试可以看出,用SD卡的程序完全可以不做任何修改应用于CS SD NAND, 软件可以无缝切换。 总结: CS创世SD NAND相对于TF卡的优势 焊接在PCB稳定,LGA-8封装容易焊接 尺寸小 结构更容易做到防水 内置SLC 擦写寿命长 一致性好 SD NAND与eMMC比具备以下优劣 尺寸小 方便焊接 容量可选多,适合实际应用 PIN脚少 功耗低 擦写寿命长 性能稳定 使用SLC/MLC CS创世 SD NAND相对于Raw NAND具有以下优势 免驱动使用 性能更稳定。 尺寸更小。 SD NAND可选容量更多 SD NAND的读写速度更快 在使用上程序完全兼容TF/SD卡,原来的程序无需任何修改即可使用,无缝切换. 而SD NAND又相对于其他方案具备上述诸多优势,所以是一个非常不错的选择. 综上,还在使用TF卡吗,是时候考虑用SD NAND替换了。