SD/MMC卡写多块操作详解及擦除命令介绍

需积分: 45 28 下载量 19 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"LPC178x/177x功能部件——基础篇,包括E2PROM存储器和外部存储器控制器(EMC)的介绍,以及SD/MMC卡的写多块操作和擦除操作的描述" 在嵌入式系统中,对存储设备的操作是至关重要的。LPC178x/177x系列微控制器是NXP公司推出的一款高效能的Cortex-M3核心芯片,具有丰富的外设接口,支持多种存储设备的控制。本文将深入探讨其E2PROM存储器和外部存储器控制器(EMC),同时也会讲解SD/MMC卡的多块写操作和擦除操作。 5.16 E2PROM存储器 E2PROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,可以在系统中进行读、写和擦除操作。在LPC178x/177x中,E2PROM主要用于存储配置信息或用户数据。它具备以下特性: - 高度可编程性:可以反复擦除和编程。 - 数据保留能力:即使在断电后也能保持存储的信息。 - 快速访问:提供了快速的读取速度。 寄存器描述部分详细列出了用于控制E2PROM操作的相关寄存器,如E2PROM控制寄存器、地址寄存器等。E2PROM操作涉及到编程、读取和擦除指令的执行,这些操作需要遵循特定的时序和电压条件以确保数据的正确存储。 5.17 外部存储器控制器(EMC) EMC是LPC178x/177x微控制器中的一个重要组件,负责与各种类型的外部存储设备(如SRAM、DRAM、闪存等)通信。EMC提供了多种时序配置,以适应不同类型的存储器设备。其特性包括: - 支持多种存储器类型:如静态RAM、动态RAM、Nor Flash等。 - 高速访问:能够处理高速数据传输需求。 - 灵活的时序控制:允许微调存储器访问时间以优化性能。 8.8.5 SD/MMC卡的擦除操作 对于可写的SD/MMC卡,通常支持块擦除功能,以确保数据安全和高效的操作。擦除操作包括以下步骤: 1. 使用CMD32(对于SD卡)或CMD35(对于MMC卡)设置擦除的起始块地址。 2. 接着,使用CMD33(SD卡)或CMD36(MMC卡)设定擦除的终止地址。 3. 发送CMD38命令开始擦除操作,卡会按照指定的范围进行擦除。 写多块操作是SD/MMC卡写操作的一种,主要通过CMD25命令启动。在这一过程中,需要不断循环调用写数据块、查询卡状态和发送数据前准备的函数,直到所有数据块发送完毕。如果需要提前停止发送,需发送CMD12命令通知卡停止接收数据。在数据写入完成后,使用CMD7撤销对卡的选择,结束传输状态。 SD_WriteMultiBlock()函数与SD_WriteBlock()函数类似,但处理的是连续的数据块,适合大量数据的批量写入。了解并掌握这些操作对开发基于LPC178x/177x的嵌入式系统至关重要,因为它们直接影响到系统的存储效率和数据安全性。