SD卡CMD6的用法
来源:互联网 发布:运动软件方案 编辑:程序博客网 时间:2024/06/05 15:07
SD卡CMD6的用法
CMD6是SD卡用来扩展功能的一条重要命令。在SD协议1.00和2.00的版本是,该命令主要用于切换卡进入高速模式。而在3.00的协议中,该命令被赋予了更多的功能。
首先来说说功能模块的基本结构吧。SD卡协议中定义了6组功能,每组功能相当于是一组单框,我们可以根据自己不同的需要,来对每一组功能进行不同的选择。
这里以SD协议2.00版本为例,共定义了两种功能:Group1该组功能的名称叫AccessMode,主要就是用于速度上的选择了。默认选项为0x0,即25MHz的总线速度。我们可以将其选为0x1 High-Speed,即可进入到50MHz的总线速度模式了。Group2功能的名称叫Commandsystem,看样子是做一些命令上的扩展。怀疑可能会与加密卡有关,这里没有进行进一步的研究。
因此,简单的说,CMD6我们主要就是用于SD卡高速模式的切换了。下面说说该命令切换高速模式的用法。
CMD6命令共有查询模式和设置模式两种。查询模式主要用于查询是否支持该功能,而设置模式主要用于对该功能的设置。我们采取的流程是先查询,后设置。根据SPEC,因此,我们第一次发送的命令参数应该为:0x00, 0xff, 0xff, 0xf1。该命令的作用是查询AccessMode是否支持High-Speed。命令发送完毕,这里需要注意的是,CMD6并不是用命令总线,而是用数据总线来进行应答。在命令发送完毕时,我们会从数据总线上接收到64Byte的数据。根据SPEC,我们判断第17Byte的低4Bit(data_buf[16]&0x0f)是否等于1。是则继续,否则表示不支持高速模式。
确认SD卡支持高速模式后,我们第二次发送CMD6的参数为:0x80, 0xff, 0xff, 0xf1。该命令的作用是设置AccessMode为High-Speed。命令发送完毕,我们再一次查询接快收数据第17Byte的低4Bit (data_buf[16]&0x0f)是否等于1。如果是,则表明切换成功,接下来就可以调整SD主机模块的时钟和边沿控制了。
- SD卡CMD6的用法
- eMMC CMD6的作用和使用方法
- SD卡的接口
- sd卡的读写
- sd卡的操作
- sd卡的版本
- SD卡的数据传输
- SD卡的操作
- File的sd卡
- SD卡的使用
- SD卡的驱动
- sd卡的操作
- SD卡的读取
- 关于SD卡的
- SD卡的详细介绍
- SD卡写保护的原理
- SD 卡的基本操作
- SD卡的一些action
- YUV / RGB 格式及快速转换算法
- android 分享到新浪微博
- VS2010用IE单步调试ocx
- 《算法竞赛-训练指南》第二章-2.1_UVa 11538
- nginx源码学习资源
- SD卡CMD6的用法
- 一步一步学android之基本控件——CheckBox组件
- HDOJ 2066 一个人的旅行 (多次求单源最短路径)
- hdu-1518-Square
- 士兵杀敌(四)
- UDK 录制视频方法
- 防颈椎
- cocos2d 关于资源不同分辨解决机制
- Intent和PendingIntent的区别