嵌入式技术论坛
直播中

杜喜喜

8年用户 1588经验值
私信 关注
[经验]

如何对M487SDIO的SDH进行测试呢

1.功能模块硬件介绍
1) 介绍SDIO协议、时序
SD卡可以在SD总线模式或SPI总线模式下运行,通常可以使用SDIO总线或者SPI对SD进行驱动;
micro SD的引脚发布如下图所示;

协议
SD协议中,由于命令数据线和数据线是分开的,因此我们需要关注,命令的传输格式,以及数据的传输格式;
命令传输
命令以48位数据包的形式通过双向CMD引脚进行传输。
这些命令包包括命令索引、变量和CRC位。该命令始终通过主机发送,最终由SD卡接收。
回传的响应数据包也为48位。
每个命令的恒定长度为6个字节。
第一个字节是命令编号和数字64的加法。
例如:
对于CMD0:命令编号0 + 64 = 64 = 0x40(十六进制)。
对于CMD1:十六进制命令号1 + 64 = 65 = 0x41。
随后是一组四个字节,称为参数。这些参数通常包含数据的地址或块的长度。
最后一个字节是CRC(循环冗余校验)字节。可以关闭。

数据传输
在数据传输期间,传输的基本单位称为块,通常为512字节,并通过所有4个或1个数据引脚进行传输。同样,在每次块传输之后,将发送16位CRC数据。

2) 介绍M487SDIO
M487的SD主机提供访问SD/SDHC卡的接口,该接口提供1位和4位数据总线模式。SD控制器可以产生所有类型48位的指令到SD卡,并且从SD卡获取所有类型的响应。而且会计算CRC7确认响应的正确性。SD控制器包含2个状态机,指令/响应部分和数据部分。SD控制器提供多数据块传输功能 (改变 BLKLEN 来改变数据块长度)。程序可以用这个功能来加速数据传输。
3) 管脚连接

2.外设性能指标测试
写数据测试,因为有文件系统,会有额外开销,甚至会有擦除操作,测试写操作不够严谨,我测试,最快写速度大约是1.5Mbyte/s。
读数据测试,还是因为有文件系统,但是额外开销可以忽略,读速度大约是4Mbyte/s。
3.心得体会
使用M487的SDH确实很方便。移植简单。这次测试主要是4位总线模式。1位总线模式没有测试。在实际应用中可能1位用的比较多,节省管脚。后续补上。

原作者:QJEK_4753

更多回帖

发帖
×
20
完善资料,
赚取积分