ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:107.01KB ,
资源ID:885427      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/885427.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模电资料库sd卡驱动工作原理分析完整版.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

模电资料库sd卡驱动工作原理分析完整版.docx

1、模电资料库sd卡驱动工作原理分析完整版sd卡工作原理分析侯会明2005-11-22一 CPU相关,ssio的连接和设置1 硬件初始化,ssio的相关配置1) 端口功能选择寄存器GPCTL地址:0xB7000000功能描述:这个寄存器配置各组GPIO的管教原始功能或者第二功能;CPU可以对这个寄存器进行读/写访问;复位后的默认值是0x0000。1514131211109876543210GPCTL-*At reset000000000000000这里对这个寄存器有两处操作1 首先将此寄存器和0x0008与,来操作GPPMB;GPCTL3(bit3)位控制管脚PIOB4和PIOB1:0的功能,设置

2、如下:GPCTL3 = “0” (原始功能)GPCTL3 = “1” (第二功能)FunctionIn/OutFunctionIn/OutPIOB0In/OutDREQ0InputPIOB1In/OutDREQCLR0OutputPIOB4In/OutTCOUT0Output2 然后将此寄存器和0x0100或,来操作GPPME。GPCTL9(bit9)位控制管脚的功能,它的第二功能是ssioGPCTL9 = “0” (原始功能)GPCTL9 = “1” (第二功能)FunctionIn/OutFunctionIn/OutPIOE3In/OutSDAIn/OutPIOE4In/OutSCLOut

3、put2) 端口模式寄存器GPPMA,GPPMB,GPPMC,GPPMD,GPPME地址:0xB7A010080xB7A01088功能描述:这些寄存器指定相应管脚的I/O流向(PIOA7:0, PIOB7:0,PIOC7:0, PIOD7:0 and PIOE9:0);CPU可以对这个寄存器进行读/写访问;复位后的默认值是0x0000。GPPMA7:0/GPPMB7:0/ GPPMC7:0/GPPMD7:0 (bits 0 to 7)/GPPME9:0 (bits 0 to 9):,这些位置0时表示input;置1时表示output。15109876543210GPPM*-*-*-*-GPPM

4、A7:0/GPPMB7:0/GPPMC7:0/GPPMD7:0/GPPME9:0,GPPME uses bit9 & bit8. For other GPPMx, bit9 & bit8 are “-*”.At reset0000000000 这里对寄存器GPPMB和0x0002,将PIOB2作为输出,作用是CPLD的片选。对寄存器GPPME先后进行了三步操作:1 首先将寄存器和0x0001或将PIOE0作为输出,该管脚输出时钟clock。2 再次将寄存器和0xfffd与将PIOE1作为输入,该管脚为SDI,即SD卡的输入。3 最后将寄存器和0x0004或将PIOE4作为输出,该管脚为SDO,

5、即SD卡的输出。3) 同步SIO控制寄存器SSIOCON地址:0xB7B01010功能描述:SSIOCON寄存器用来控制收发操作。这个寄存器可以通过程序来进行读或者写。如果SSIOCON寄存器被修改,那么变化会在收发操作结束后生效。如果SSIOCON在传送过程中被修改,那么当前的操作将不能正确的执行。76543210SSIOCON-*-*SLMSBSFTSLV-*-*SFTCLK 1:0At reset00000000注意:-*是保留位,这些位总是被写0,如果这些位被写1,正常操作无法被保证。位说明:1 SFTCLK 1:0 (bit 1 to bit 0)这两位选择同步时钟,操作必须在主模式

6、(master mode)下,从模式(slave mode)被禁止。bit1:0 = 00 时,1/8 HCLK;bit1:0 = 01 时,1/16 HCLKbit1:0 = 1x 时,1/32 HCLK2 SFTSLV (bit 4)这位用来选择主从模式bit4 = 0 时,Master modebit4 = 1 时,Slave mode3 SLMSB (bit 5)这位用来选择在收发数据过程中最低有效位在前(LSB first)还最高有效位在前(MSB first)bit5 = 0 时, LSB firstbit5 = 1 时, MSB first这里将其存器设置成0x22,选择了主模式

7、Master|最高有效位在前MSB|1/32HCLK。4) 同步SIO状态寄存器SSIOST地址:0xB7B01004功能描述:SSIOST寄存器指示同步SIO的操作状态,通过程序可以读写OERR和BUSY。寄存器的SFTCT2:0位是只读的,写这些位无效,当写这些位是,将写0。.76543210SSIOSTSFTCT 2:0-*-*-*OERRBUSYAt reset00000000注意:-*位是保留位,总是向这些位写0,如果写1,正常德操作将无法保证。位说明:1 BUSY (bit 0)这位指示数据正在被收发,这位在数据收发时自动置1,操作完成时自动清0。当置1时,意味着数据正在被传送,在

8、传送的过程中写0,可能会终止收发操作并且重新初始化SSIO。如果在空闲时写0,操作是无效的。当bit0 = 0,Transmit-receive idle当bit0 = 1,Transmit-receive in progress2 OERR (bit 1)这位指示overrun错误是否发生。如果当前接收的数据没有被读,CPU该位置1。一旦被置1,这位不会清0,即使在下一个接受操作中没有overrun错误发生。因此有必要在程序中清0,写0该位被清0,但写1也被置1。当bit1 = 0, No overrun error当bit1 = 1 ,Overrun error3 SFTCT2:0 (bi

9、t 7 to bit 5)这个位指示3位移位计数器的当收发时的计数值。当没有数据收发时计数器被设置成000(二进制)。每次收发数据时有移位,计数器增1。当收发操作结束时或者BUSY位在接收数据过程中写0时,寄存器返回000。这里这个寄存器被写0x00清除状态。5) 同步SSIO测试控制寄存器SSIOTSCON地址:0xB7B01014功能描述:SSIOTSCON是一个可以设计简单的同步SIO内部测试的寄存器,寄存器可以有程序读写。在普通操作中,设置SSIOTSCON为0x00,收发数据时不覆盖此寄存器的内容。76543210SSIOTSCONLBTST-*-*-*-*-*-*-*At rese

10、t00000000注意:-*位是保留位,这些位总是写0,如果写1,正常的操作无法保证。位说明:LBTST (bit 7)这个位使能循环回侧函数,当循环回侧函数使能时,发送信号作为接收信号被读回。当bit7 = 0, Loop back test function disabled (normal mode)当bit7 = 1, Loop back test function enabled (test mode)这里这个寄存器被写0x80,循环回侧函数使能,进行虚拟发送数据0xff并接收。6) 同步SIO收发缓冲寄存器SSIOBUF地址:0xB7B01000功能描述:SSIOBUF寄存器在收发

11、操作过程中保存收发的数据,寄存器可以通过程序读/写。当写时,寄存器作为发送缓冲区;读时,寄存器作为接收缓冲区。当接收SSIOBUF的内容时,数据保存直到下次接收操作完成。转换并行发送数据为串行数据和转换串行接收数据为并行数据时SSIOREG寄存器被配置成移位寄存器。在发送操作中,发送数据写到SSIOBUF中,SSIOBUF中的数据自动传送给SSIOREG。在接收操作中,当接收完最后一位时,SSIOREG数据传送给SSIOBUF。寄存器SSIOREG不能在程序中读/写。7) 同步SIO中断申请寄存器SSIOINT地址:0xB7B01008功能描述:SSIOINT寄存器设定一个同步SIO中断请求,

12、可以通过程序读写寄存器,向一位写1来清除该位。76543210SSIOINT-*-*-*-*-*TREMPRXCMPTXCMPAt reset00000000注意:-*作为保留位,这些位总是写0,如果这些位被写1,正常德操作无法保证位说明:1 TXCMP (bit 0)当发送完成时这位被设置。当bit0 = 0, Transmission not complete当bit1 = 1, Transmission complete2 RXCMP (bit 1)当接收完成时这位被设置。当bit1 = 0, Reception not complete当bit1 = 1, Reception comp

13、lete3 TREMP (bit 2)当收发缓冲区寄存器的数据被传送到移位寄存器并且收发缓冲区为空时这位被置位。当bit2 = 0, Transmit data not transferred当bit2 = 1, Transmit data transferred这里将此寄存器写入0x07,将3个标志位置1,清除中断作为初始状态。8) 同步SIO中断使能寄存器SSIOINTEN地址:0xB7B0100C功能描述:SSIOINTEN寄存器可以使能同步SIO中断,可以通过程序读写寄存器。76543210SSIOINTEN-*-*-*-*-*TREMPRXCMPTXCMPAt reset00000000注意:-*是保留位,总是对这些位写0,如果写1,正常操作无法保证。位说明:1 TXCMPEN (bit 0)这位使能发送完成时的中断请求。当bit0 = 0, Transmit complete interrupt request m

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1