SD卡工作原理分析..doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SD卡工作原理分析.

sd卡工作原理分析 侯会明 2005-11-22 一 CPU相关,ssio的连接和设置 2 1 硬件初始化,ssio的相关配置 2 1) 端口功能选择寄存器——GPCTL 2 2) 端口模式寄存器——GPPMA,GPPMB,GPPMC,GPPMD,GPPME 2 3) 同步SIO控制寄存器——SSIOCON 3 4) 同步SIO状态寄存器——SSIOST 3 5) 同步SSIO测试控制寄存器——SSIOTSCON 4 6) 同步SIO收发缓冲寄存器——SSIOBUF 5 7) 同步SIO中断申请寄存器——SSIOINT 5 8) 同步SIO中断使能寄存器——SSIOINTEN 5 2 CPLD片选 6 3 第三步,ssio收发字符相关 6 二 数据包的封装与命令协议相关 6 1 sd卡指令数据包 6 2 sd卡命令索引表 7 3 命令回应repond 10 1) R1模式 10 2) R2模式 11 3) R3模式 11 三 命令的控制与实现 12 1程序中调用的sd卡命令 12 1) 命令响应函数——UCS_DRSD_niCommandRespond 12 2) sd卡驱动程序初始化——UCS_DRSD_giSdIdentify 13 3) 读sd卡操作函数 15 4) 写sd卡操作函数 15 四 sd卡的配置信息和相关结构体 16 1卡识别寄存器——CID(card identification register ) 16 2卡特性寄存器——CSD(card specific data register) 17 一 CPU相关,ssio的连接和设置 1 硬件初始化,ssio的相关配置 端口功能选择寄存器——GPCTL 地址:0xB7000000 功能描述:这个寄存器配置各组GPIO的管脚原始功能或者第二功能;CPU可以对这个寄存器进行读/写访问;复位后的默认值是0x0000。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 GPCTL -* At reset 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 这里对这个寄存器有两处操作 首先将此寄存器和~0x0008与,来操作GPPMB; GPCTL3(bit3)位控制管脚PIOB[4]和PIOB[1:0]的功能,设置如下: GPCTL3 = “0” (原始功能) GPCTL3 = “1” (第二功能) Function In/Out Function In/Out PIOB[0] In/Out DREQ0 Input PIOB[1] In/Out DREQCLR0 Output PIOB[4] In/Out TCOUT0 Output 然后将此寄存器和0x0100或,来操作GPPME。 GPCTL9(bit9)位控制管脚的功能,它的第二功能是ssio GPCTL9 = “0” (原始功能) GPCTL9 = “1” (第二功能) Function In/Out Function In/Out PIOE[3] In/Out SDA In/Out PIOE[4] In/Out SCL Output 0xB7A01008~0xB7A01088 功能描述:这些寄存器指定相应管脚的I/O流向(PIOA[7:0], PIOB[7:0],PIOC[7:0], PIOD[7:0] and PIOE[9:0]);CPU可以对这个寄存器进行读/写访问;复位后的默认值是0x0000。 GPPMA[7:0]/GPPMB[7:0]/ GPPMC[7:0]/GPPMD[7:0] (bits 0 to 7)/GPPME[9:0] (bits 0 to 9):,这些位置0时表示input;置1时表示output。GPPMA[7:0]/GPPMB[7:0]/GPPMC[7:0]/ GPPMD[7:0]/GPPME[9:0], GPPME uses bit9 bit8. For other GPPMx, bit9 bit8 are “-*”. At reset 0 0 0 0 0 0 0 0 0 0 这里对寄存器GPPMB和0x0002,将PIOB[2]作为输出,作用是CPLD的片选。 对寄存器GPPME先后进行了三步操作: 首先将寄存器和0x0001或 将PIOE[0]作为输出,该管脚输出时钟clock。 再次将寄存器和0xfffd与 将PIOE[1]作为输入,该管脚为SDI,即SD卡的输入。 最后将寄存器和0x0004或 将PIOE[4]作为输出,该管脚为SDO,即SD卡的输出。 同步SIO控制寄存器——SSIOCON 地址:0xB7B01010

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档