前言

嵌入式项目中,比较常见的存储扩展方案是使用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

右下角点击 显示编码的地方->Reopen with Encodeing选择GB2312,然后再次点击编码的地方->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替换了。