当前位置:首页 > 工业控制 > 电子设计自动化
[导读] SD存储卡接口定义了两种通信模式,SD模式和SPI模式。分析了SD传输协议后,给出了一种SD模式设备接口的设计方案。该设计能够自动解析主机发送的命令并响应,与Flash控制器相连后可以对Flash进行读写操作。为了解决数

 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模式的总线拓扑结构

3 整体设计架构

本设计的一端为SD存储卡标准接口,与读卡器连接。为了使接口有通用性,另一端与Flash控制器连接,从而达到与不同型号Flash连接的目的。本设计是连接读卡器和Flash控制器的一个中间模块。能够对读卡器发送的命令进行解析并响应,通过Flash控制器对Flash进行读写操作。整体设计方案如图2所示。

图2 设计方案

4 结构设计

根据SD接口功能,将其进行详细的划分,由以下几个部分组成:命令收发模块,数据收发模块,状态控制模块和校验模块。SD模块结构如图3所示。

4.1 命令收发模块

该模块的结构如图4所示。命令接收与响应发送都是在命令线CMD上传输的,所以该端口为一个三态门,由输出使能信号En控制是否输出。命令接收时,首先检测命令起始位,检测到起始位后计数器开始工作。当接收完一个完整命令,发出接收完成信号End,分别得到移位寄存器中对应的命令索引,命令参数,命令校验。命令接收过程中,同时将数据传给CRC7校验模块,用于生成校验数据。响应发送时,模块根据状态控制模块给出的响应类型产生对应的响应内容,当接收到发送使能信号Start后,给出发送使能信号En,并将响应的内容通过移位寄存器发送出去。响应内容发送完成后给出响应完成信号Rsp_over。

图3 模块结构

图4 命令接收与响应模块

4.2 数据收发模块

该模块的结构如图5所示。数据线也是双向的。Width信号指明当前数据传输模式为标准总线模式或宽总线模式。Size信号指示每个数据块包含的字节数。该模块包含两个数据缓冲,接收缓冲RxFIFO和发送缓冲TrFIFO,数据缓冲位宽16比特,深度为256,这是因为数据块最大为512字节。数据接收状态时,首先检测数据起始位,检测到起始位后计数器开始工作。接收Size个字节的数据后,接收CRC16校验位,最后完成数据块接收,发出接收完成信号End。数据接收过程中,每接收16位数据给出写入信号Wr,将数据写入RxFIFO。如果RxFIFO满,给出Busy信号,主机进入数据发送等待。数据发送状态时,接收控制器收到Start信号后,开始发出Rd信号读取TrFIFO数据,并将数据传给移位寄存器,使能数据输出控制信号Out_en,移位寄存器根据数据传输模式将数据输出。

图5 数据收发模块

4.3 状态控制模块

根据接收模块传送的命令编号产生与之对应的命令响应类型,进一步解析接收模块传送的命令参数。工作过程共有9个状态,状态间的转移关系如图6所示。接收到CMD0命令后都会从其它状态进入到空闲状态。

图6 状态转移

4.4 校验模块

CRC7负责校验命令收发模块中的命令和响应;CRC16负责校验数据收发模块中的数据。

5 验证与测试

开发测试平台使用的是Altera的CycloneII系列FPGA开发板。开发板上有一个SD接口。测试平台的实物如图7所示。开发板可以通过一个PCB板SD接口与电脑SD接口连接,利用电脑对设计进行验证。

图7 测试平台

在硬件调试过程中,采用内嵌式逻辑分析仪(SignalTapII)来采集相应的数据波形。图8是采集到的识别SD卡命令与响应波形图。从图中可以看出,该设计可以正确响应主机命令,完成识别过程。

图9中虚线所圈是将设计下载到FPGA开发板,与电脑相连接后被识别为SD存储卡标记,可以看出该设计可以被电脑正确识别。

6 结束语

本文实现了一种SD存储卡接口SD模式IP核的设计与实现。该设计能够对主机命令进行自动解析和回复,与Flash控制器连接后可以直接对Flash进行读写操作。对该设计进行FPGA功能验证,能够被电脑识别为SD接口,从而说明的设计的正确性和实用性。利用SYNOPSYS公司的EDA工具对该模块进行综合,并进行时序和面积的优化,在SMIC0。18μm工艺下最大工作频率为100MHz,整个设计综合后为0.6万门。

图8 通信过程

图9 电脑识别

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在数字化浪潮席卷全球的今天,FPGA技术正成为驱动创新的核心引擎。2025年8月21日,深圳将迎来一场聚焦FPGA技术与产业应用的盛会——2025安路科技FPGA技术沙龙。本次沙龙以“定制未来 共建生态”为主题,汇聚行业...

关键字: FPGA 核心板 开发板

在现代电子系统中,现场可编程门阵列(FPGA)凭借其开发时间短、成本效益高以及灵活的现场重配置与升级等诸多优点,被广泛应用于各种产品领域。从通信设备到工业控制,从汽车电子到航空航天,FPGA 的身影无处不在。为了充分发挥...

关键字: 可编程门阵列 FPGA 数字电源

2025年8月4日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售Altera®的Agilex™ 3 FPGA C系列开发套件。此开...

关键字: FPGA 边缘计算 嵌入式应用

内窥镜泛指经自然腔道或人工孔道进入体内,并对体内器官或结构进行直接观察和对疾病进行诊断的医疗设备,一般由光学镜头、冷光源、光导纤维、图像传感器以及机械装置等构成。文章介绍了一款基于两片图像传感器和FPGA组成的微型3D内...

关键字: 微创 3D内窥镜 OV6946 FPGA

运用单片机和FPGA芯片作为主控制器件 , 单片机接收从PC机上传过来的显示内容和显示控制命令 , 通过命令解释和数据转换 , 生成LED显示屏所需要的数据信号和同步的控制信号— 数据、时钟、行同步和面同步 。FPGA芯...

关键字: 单片机 FPGA LED显示屏

在异构计算系统中,ARM与FPGA的协同工作已成为高性能计算的关键架构。本文基于FSPI(Fast Serial Peripheral Interface)四线模式,在150MHz时钟频率下实现10.5MB/s的可靠数据...

关键字: ARM FPGA FSPI

在全球FPGA市场被Xilinx(AMD)与Intel垄断的格局下,国产FPGA厂商高云半导体通过构建自主IP核生态与智能时序约束引擎,走出差异化高端化路径。本文深入解析高云半导体FPGA工具链的两大核心技术——全栈IP...

关键字: FPGA 高云半导体

2025年6月12日,由安路科技主办的2025 FPGA技术沙龙在南京正式召开,深圳市米尔电子有限公司(简称:米尔电子)作为国产FPGA的代表企业出席此次活动。米尔电子发表演讲,并展出米尔基于安路飞龙派的核心板和解决方案...

关键字: FPGA 核心板 开发板

高 I/O、低功耗及先进的安全功能,适用于成本敏感型边缘应用

关键字: FPGA I/O 机器视觉

本文讨论如何为特定应用选择合适的温度传感器。我们将介绍不同类型的温度传感器及其优缺点。最后,我们将探讨远程和本地检测技术的最新进展如何推动科技进步,从而创造出更多更先进的温度传感器。

关键字: 温度传感器 CPU FPGA
关闭