SD卡、TF卡、MMC卡以及eMMC芯片的介绍

本文深入解析了SD卡、TF卡、MMC卡和eMMC四种存储卡的技术特性,包括它们的尺寸、工作电压、数据传输速率、兼容性以及特殊功能,如SD卡的数据安全性和eMMC的集成控制器。

一、SD卡

    1、简介

        SD卡为Secure Digital Memory Card, 即安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。

    2、外观及引脚定义


    3、特性

        两个可选的通信协议:SD模式和SPI模式

        可变时钟频率:0-25MHz

        通信电压范围:2.0-3.6V

        工作电压范围:2.0-3.6V

        低电压消耗:自动断电及自动睡醒,智能电源管理

        数据寿命:10万次编程/擦除

        尺寸:24mm宽×32mm长×1.44mm厚

        正向兼容MMC卡

        卡片带电插拔保护

        具备写保护开关

        SD卡运行在25MHz的时钟频率上,数据带宽是4位,因此最大传输速率是12.5MB/s(12.5兆字节每秒)。


二、TF卡
    1、简介
        TF卡即T-Flash又称MicroSD,是极细小的快闪存储器卡,采用SanDisk最新NAND MLC技术及控制器技术。

    2、外观及引脚定义
       
    3、特性
        尺寸:15mm宽×11mm长×1mm厚。

        TF卡插入适配器(adapter)可以转换成SD卡。


三、MMC卡
    1、简介
        MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧,容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。MMC是一个接口协定(一种卡式),能符合这接口的内存器都可称作mmc储存体(mmc卡)。

    2、外观及引脚定义

        MMC卡共有七个触电(引脚),分为两种操作模式,分别为MMC模式与SPI模式。

    3、特性
        尺寸:(24mm*32mm*1.4mm)
        操作电压:2.7V ~ 3.6V

        MMC卡时钟频率是20MHz,比SD卡少两个触电,只有1位数据带宽,所以最大传输速率为2.5MB/s。


四、eMMC
    1、简介
         eMMC (Embedded Multi Media Card) 为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC的一个明显优势是在封装中集成了一个控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。这些特点对于希望通过缩小光刻尺寸和降低成本的NAND供应商来说,同样的重要。
        eMMC = NAND flash + 控制器 + 标准封装接口

    2、引脚定义

    以下是通过TFSD数据写入到Zynq的eMMC中的一般方法: ### 1. 准备工作 - **硬件方面**:需要有Zynq开发板,确保开发板支持eMMC接口和SD接口。准备一张SD、一张TF,以及相应的读器。 - **软件方面**:准备好适合Zynq的操作系统镜像文件(如果需要写入系统),以及用于数据传输和操作的工具,如U-Boot等。 ### 2. 从SD复制数据到TF - 将SD插入读器,连接到计算机。 - 根据SD中的数据类型和操作系统,选择合适的复制方法。如果是文件系统数据,可以直接在计算机上进行复制操作。例如,在Linux系统中,可以使用`dd`命令来复制整个SD的内容到TF: ```bash sudo dd if=/dev/sdX of=/dev/sdY bs=4M status=progress ``` 其中,`/dev/sdX`是SD的设备名,`/dev/sdY`是TF的设备名。 ### 3. 将TF插入Zynq开发板 - 关闭Zynq开发板电源,将TF插入开发板的SD接口(通常开发板的SD接口可以兼容TF)。 - 打开开发板电源,进入U-Boot环境。可以通过串口终端连接到开发板,在开机过程中按下相应的按键(通常是空格键)进入U-Boot命令行。 ### 4. 在U-Boot中进行数据写入操作 - **识别TFeMMC设备**:在U-Boot命令行中,使用`mmc list`命令查看系统识别到的存储设备,确定TFeMMC的设备编号。例如,`mmc 0`可能是TF,`mmc 1`可能是eMMC。 - **读取TF数据到内存**:使用`fatload`命令将TF中的数据加载到内存中。例如,将TF中的一个文件加载到内存地址`0x10000000`: ```plaintext fatload mmc 0:1 0x10000000 filename.img ``` 其中,`mmc 0:1`表示TF的第一个分区,`0x10000000`是内存地址,`filename.img`是要加载的文件名。 - **将内存中的数据写入eMMC**:使用`mmc write`命令将内存中的数据写入eMMC。例如,将内存地址`0x10000000`开始的`0x100000`字节数据写入eMMC的起始扇区: ```plaintext mmc write 0x10000000 0 0x100 ``` 其中,`0x10000000`是内存地址,`0`是eMMC的起始扇区,`0x100`是要写入的扇区数量。 ### 5. 验证数据写入 - 可以使用`mmc read`命令将eMMC中的数据读取到内存中,然后与TF中的原始数据进行比较,确保数据写入正确。 - 重启开发板,检查系统是否能够正常启动(如果写入的是操作系统镜像),或者检查eMMC中的数据是否可以正常访问。 ### 注意事项 - 在使用`dd`命令复制数据时,要确保设备名正确,否则可能会导致数据丢失。 - 在U-Boot中进行数据操作时,要注意内存地址和扇区数量的设置,避免数据覆盖和错误写入。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值