随着嵌入式系统在工控领域的应用,大容量的数据存储是需要解决的一个问题。常见的解决方案包括Flash存储芯片、SD卡和U盘。综合比较而言,SD卡是个不错的选择。SD卡具有存储容量大(大于128GB)、方便携带及支持SPI通信的特点。今天这篇文章,我们就来聊聊SD卡的那些事。
SD卡的全名为“Secure Digital Memory Card”,中文翻译为“安全数字存储卡”。S它是一种基于半导体闪存工艺的存储卡,被广泛用于便携式设备(比如:数码相机、手机、PAD等),目前在工控嵌入式领域的使用也比较广泛。
SD卡最早由日本松下(Panasonnic)、东芝(Toshiba)和美国闪迪(SanDisk)公司于1999年共同开发,它的体积和一张邮票差不多,重量只有两克左右,却有惊人的存储容量。下面这张图,是闪迪公司的SD卡(32G)的正面图:
SD卡从外形上区分包括普通SD卡和微型SD卡(Micro SD,也称为TF卡)。微型SD卡(TF卡)在体积上要小一些,并且没有写保护的开关。通过卡的适配器,可以把微型SD卡转成普通SD卡来使用。下面这张图是闪迪(SanDisk)公司生产的微型SD卡:
从卡的存储容量来区分,SD卡可分为:SD、SDHC和SDXC三种,其存储容量的范围见下面的表格:
在SD卡的外部,可以看到明显的容量范围的标识,如下面这张图:
卡片中未封闭圆圈中的数字表示卡的最小读取速度的等级,“2”表示最小为“2 MB/s”,“10”表示最小为“10 MB/s”。当然,高速读取的速度会比这个快,比如上图中的128G SDXC卡,其最高读取速度可达80 MB/s。下面这张表格,列出了SD卡所有速度等级与最小速度的关系:
SD卡支持两种通信模式:SD模式和SPI模式,默认为SD模式,可以实现高速读写。一般使用单片机来操作都是使用SPI模式。进入SPI模式的方法是在SD卡收到复位命令(CMD0)时,将片选信号(CS)置成低电平。但是在发送复位命令之前,要发送大于74个时钟的脉冲数据,以便SD卡内部的供电电压上升及时钟的同步。SD卡有9个针脚,在SD模式下和SPI模式下其定义是不同的,这个我们在后续文章会详细介绍。
总之,SD卡具有大容量、易携带及支持SPI通信的特点,是嵌入式存储的一个非常不错的选择。
欢迎扫描下面的二维码关注我们的微信公众号。
发表评论