SD卡驱动开发随笔(1) - Professionaler(自由人)的专栏 - CSDNBlog

来源:百度文库 编辑:神马文学网 时间:2024/10/01 22:00:49
现就把自己所得所想做个清理。
按照SD卡的协议的描述可分为2种总线的接口
1.  SD BUS
物理层定义:(具体连接图不在贴出)下面大致介绍下一些数据线的定义
D0-D3    数据传送
CMD     进行CMD 和Respons
CLK      大家最熟悉的HOST时钟信号线了
VDD VSS  电源和地
2.  SPI BUS 一般用SPI协议的接口来做
物理层定义:
CLK       HOST时钟信号线了
DATAIN    HOST-àSD Card数据信号线
DATAOUT  SD Card àHOST数据信号线
除了以上述数据线外SPI BUS多了CS片选(注意:如果是以SPI方式来写SD卡驱动要注意这点)
通常SD  MMC卡内部会有一些Register
一般有下面几种
1.  CID  卡的识别号
2.  RCA  卡的相对地址
3.  DSR  可选寄存器
4.  CSD  描述操作该卡的规则(时序规则)。包括,数据读/写时间,工作电流,扇区大小,文件系统格式,卡所使用的命令集,写保护等信息。通过该寄存器可以获取卡的容量,访问方式。
5.  SCR  卡的配置寄存器
6.  OCR  卡运行条件寄存器 描述卡的工作电压范围 ,它还还包含一个上电状态标记位用于描述是否完成卡上电过程 (驱动对卡在作初试化动作的时候特别要注意这点)
因为我本人是用SD BUS 方式来驱动SD卡所以主要将过程做简单介绍。
首先谈下SD协议定义的一些游戏规则:
SD总线的访问状态有3态
1 COMMOND::启动操作的会话,由Host从CMD连线传送到卡类设备
2 Response:响应CMD的会话,由卡类设备由CMD连线传送至Host
3 Data:在Host与卡设备间传送数据的双向数据流,物理链路为Data0-Data3
注意:每一个完整的操作都需要一个CMD来启动,根据不同的CMD 有相应的Data和Response.
SD可以一主对多从,也可以P2P 所以大家弄清楚P2P的规律,其他的多卡广播也自然明了
按照协议的描述对于P2P的情形是否有数据传输来分4类
1.无响应的广播命令-(BC)
2.响应型的广播命令-(BCR)
3.无数据传输的点对点命令(AC)
4.带数据传输的点对点命令(ADTC)
这些会话都有一定的时序。
SD卡驱动开发随笔(1) - Professionaler(自由人)的专栏 - CSDNBlog SD卡驱动开发随笔(1) - Professionaler(自由人)的专栏 - CSDNBlog1 Drupal专业开发指南 第1章 Drupal工作原理(1) - g089h515r806的专栏 - CSDNBlog Drupal专业开发指南 第1章 Drupal工作原理(2)对请求提供服务 - g089h515r806的专栏 - CSDNBlog Drupal专业开发指南 第1章 Drupal工作原理(2)对请求提供服务 - g089h515r806的专栏 - CSDNBlog 什么才是软件开发的葵花宝典? - Matthew的专栏 - CSDNBlog Window Mobile视频会议程序的开发 - enginetanmary的专栏 - CSDNBlog Window Mobile视频会议程序的开发 - enginetanmary的专栏 - CSDNBlog 2007年web开发技术预言 - Lanneret_Lv的专栏 - CSDNBlog 关于搜索引擎及其开发 - xwjbs的专栏 - CSDNBlog liferay开发环境配置说明 - wahaha629的专栏 - CSDNBlog wince驱动开发 - mindengxue的专栏 - CSDN博客 ICE介绍(1) - abetman的专栏 - CSDNBlog 如何看待项目开发过程中基于度量结果的绩效考评 - 森林木的专栏(fasiondog) - CSDNBlog 当下10大最热门的网站开发技术 - tzsmin的专栏 - CSDNBlog 基于WEB应用开发的java程序员必备工具 - 辛佳雨的专栏 - CSDNBlog 手机网络应用客户端软件开发实践简介 - zjsjava的专栏 - CSDNBlog 软件工程文档模板----二、项目开发计划 - lihuaidong521的专栏 - CSDNBlog C armman的专栏 - CSDNBlog I386的体系结构(上) - CSDN_document的专栏 - CSDNBlog EJB3,我们究竟得到了什么 (1) - 信华的专栏 - CSDNBlog ant 彻底了解(zt) - yu_shi_bin的专栏 - CSDNBlog linux面试题参考答案(转) - caojunling的专栏 - CSDNBlog 散列表(哈希表)工作原理 - ilibaba的专栏 - CSDNBlog