Board logo

标题: SD存储卡接口SD模式的FPGA实现 [打印本页]

作者: 520503    时间: 2014-7-14 18:21     标题: SD存储卡接口SD模式的FPGA实现

关键字:SD存储卡   SD模式   Flash控制器   数据缓存   FPGA  
SD存储卡接口定义了两种通信模式,SD模式和SPI模式。分析了SD传输协议后,给出了一种SD模式设备接口的设计方案。该设计能够自动解析主机发送的命令并响应,与Flash控制器相连后可以对Flash进行读写操作。为了解决数据存取的时序问题,使用了数据缓存技术。FPGA验证表明,该接口能够被电脑识别为SD卡,达到了设计目标。
1 引言

SD卡(Secure Digital Card)是“安全数码存储卡”的简称,于1999年8月由美国SanDisk公司、日本东芝和松下公司共同开发研制成功。随着数码产品的广泛使用,目前SD卡已经成为消费数码产品设备中最广泛的一种存储卡。在手机中,大量的安全增值业务设计就是通过SD接口实现的。SD物理层规范定义了两种可选择的通信协议:SD模式和SPI模式。

本文在研究了SD物理层规范的基础上,实现SD设备接口SD模式的前端设计,并进行了FPGA原型验证。

2 SD存储卡接口SD模式介绍的书写规则

SD卡与控制器之间通过以下9线连接:时钟CLK、命令CMD、数据D0~D3、电源VDD和两根地线VSS。其总线拓扑结构如图1所示。命令和响应在CMD线上传输,数据在D0(标准总线模式)或D0~D3(宽总线模式)线上传输。

SD卡的所有命令都是6字节长度。一个命令总是以起始位(0)开始,后跟传输方向位(1),接下是6位命令索引,然后是32位命令参数,CRC7校验位,结束位(1)。SD的响应分为R1、R1b、R2、R3、R6、R7六种,其中R1、R1b、R3、R6、R7为6字节长度。R2为17字节长度,用于读取SD卡的CID/CSD寄存器内容。一个响应总是以起始位(0)开始,后跟一个传输方向位(0)。除了R3响应类型,所有的响应都有CRC保护。以一个结束位(1)结束。SD数据传输以块为单位,每个块总是由数据起始位(0)、数据位、CRC16校验位和数据结束位(1)组成。



图1 SD卡SD模式的总线拓扑结构






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0