ImageVerifierCode 换一换
格式:DOC , 页数:18 ,大小:633.50KB ,
资源ID:7816419      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(sd卡(驱动)工作原理分析.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

sd卡(驱动)工作原理分析.doc

1、sd卡工作原理分析 skyge2002@ 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

2、 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卡

3、操作函数 15 四 sd卡的配置信息和相关结构体 16 1卡识别寄存器——CID(card identification register ) 16 2卡特性寄存器——CSD(card specific data register) 17 一 CPU相关,ssio的连接和设置 1 硬件初始化,ssio的相关配置 1) 端口功能选择寄存器——GPCTL 地址:0xB7000000 功能描述:这个寄存器配置各组GPIO的管教原始功能或者第二功能;CPU可以对这个寄存器进行读/写访问;复位后的默认值是0x0000。 15 14 13 12 11 10 9

4、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 PIO

5、B[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

6、 2) 端口模式寄存器——GPPMA,GPPMB,GPPMC,GPPMD,GPPME 地址: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。

7、 15~10 9 8 7 6 5 4 3 2 1 0 GPPM* -*-*-*- 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先后进行了三

8、步操作: ① 首先将寄存器和0x0001或 将PIOE[0]作为输出,该管脚输出时钟clock。 ② 再次将寄存器和0xfffd与 将PIOE[1]作为输入,该管脚为SDI,即SD卡的输入。 ③ 最后将寄存器和0x0004或 将PIOE[4]作为输出,该管脚为SDO,即SD卡的输出。 3) 同步SIO控制寄存器——SSIOCON 地址:0xB7B01010 功能描述:SSIOCON寄存器用来控制收发操作。这个寄存器可以通过程序来进行读或者写。如果SSIOCON寄存器被修改,那么变化会在收发操作结束后生效。如果SSIOCON在传送过程中被修改,那么当前的操作将不能正确的执行

9、 7 6 5 4 3 2 1 0 SSIOCON -* -* SLMSB SFTSLV -* -* SFTCLK [1:0] At reset 0 0 0 0 0 0 0 0 注意:-*是保留位,这些位总是被写0,如果这些位被写1,正常操作无法被保证。 位说明: ① SFTCLK [1:0] (bit 1 to bit 0) 这两位选择同步时钟,操作必须在主模式(master mode)下,从模式(slave mode)被禁止。 bit[1:0]] = 00 时,1/8 HCLK; bit[1:0]] = 01 时,1

10、/16 HCLK bit[1:0]] = 1x 时,1/32 HCLK ② SFTSLV (bit 4) 这位用来选择主从模式 bit[4] = 0 时,Master mode bit[4] = 1 时,Slave mode ③ SLMSB (bit 5) 这位用来选择在收发数据过程中最低有效位在前(LSB first)还最高有效位在前(MSB first) bit[5] = 0 时, LSB first bit[5] = 1 时, MSB first 这里将其存器设置成0x22,选择了主模式Master|最高有效位在前MSB|1/32HCLK。 4) 同步SIO状

11、态寄存器——SSIOST 地址:0xB7B01004 功能描述:SSIOST寄存器指示同步SIO的操作状态,通过程序可以读写OERR和BUSY。寄存器的SFTCT[2:0]位是只读的,写这些位无效,当写这些位是,将写0。 . 7 6 5 4 3 2 1 0 SSIOST SFTCT [2:0] -* -* -* OERR BUSY At reset 0 0 0 0 0 0 0 0 注意:-*位是保留位,总是向这些位写0,如果写1,正常德操作将无法保证。 位说明: ① BUSY (bit 0) 这位指示数据正在被收发,这位在数

12、据收发时自动置1,操作完成时自动清0。当置1时,意味着数据正在被传送,在传送的过程中写0,可能会终止收发操作并且重新初始化SSIO。如果在空闲时写0,操作是无效的。 当bit[0] = 0,Transmit-receive idle 当bit[0] = 1,Transmit-receive in progress ② OERR (bit 1) 这位指示overrun错误是否发生。如果当前接收的数据没有被读,CPU该位置1。一旦被置1,这位不会清0,即使在下一个接受操作中没有overrun错误发生。因此有必要在程序中清0,写0该位被清0,但写1也被置1。 当bit[1] = 0, No

13、 overrun error 当bit[1] = 1 ,Overrun error ③ SFTCT[2:0] (bit 7 to bit 5) 这个位指示3位移位计数器的当收发时的计数值。当没有数据收发时计数器被设置成000(二进制)。每次收发数据时有移位,计数器增1。当收发操作结束时或者BUSY位在接收数据过程中写0时,寄存器返回000。 这里这个寄存器被写0x00清除状态。 5) 同步SSIO测试控制寄存器——SSIOTSCON 地址:0xB7B01014 功能描述:SSIOTSCON是一个可以设计简单的同步SIO内部测试的寄存器,寄存器可以有程序读写。在普通操作中,设置

14、SSIOTSCON为0x00,收发数据时不覆盖此寄存器的内容。 7 6 5 4 3 2 1 0 SSIOTSCON LBTST -* -* -* -* -* -* -* At reset 0 0 0 0 0 0 0 0 注意:-*位是保留位,这些位总是写0,如果写1,正常的操作无法保证。 位说明: LBTST (bit 7) 这个位使能循环回侧函数,当循环回侧函数使能时,发送信号作为接收信号被读回。 当bit[7] = 0, Loop back test function disabled (normal mode)

15、当bit[7] = 1, Loop back test function enabled (test mode) 这里这个寄存器被写0x80,循环回侧函数使能,进行虚拟发送数据0xff并接收。 6) 同步SIO收发缓冲寄存器——SSIOBUF 地址:0xB7B01000 功能描述:SSIOBUF寄存器在收发操作过程中保存收发的数据,寄存器可以通过程序读/写。当写时,寄存器作为发送缓冲区;读时,寄存器作为接收缓冲区。当接收SSIOBUF的内容时,数据保存直到下次接收操作完成。转换并行发送数据为串行数据和转换串行接收数据为并行数据时SSIOREG寄存器被配置成移位寄存器。在发送操作中,发送

16、数据写到SSIOBUF中,SSIOBUF中的数据自动传送给SSIOREG。在接收操作中,当接收完最后一位时,SSIOREG数据传送给SSIOBUF。寄存器SSIOREG不能在程序中读/写。 7) 同步SIO中断申请寄存器——SSIOINT 地址:0xB7B01008 功能描述:SSIOINT寄存器设定一个同步SIO中断请求,可以通过程序读写寄存器,向一位写1来清除该位。 7 6 5 4 3 2 1 0 SSIOINT -* -* -* -* -* TREMP RXCMP TXCMP At reset 0 0 0 0 0 0

17、 0 0 注意:-*作为保留位,这些位总是写0,如果这些位被写1,正常德操作无法保证 位说明: ① TXCMP (bit 0) 当发送完成时这位被设置。 当bit[0] = 0, Transmission not complete 当bit[1] = 1, Transmission complete ② RXCMP (bit 1) 当接收完成时这位被设置。 当bit[1] = 0, Reception not complete 当bit[1] = 1, Reception complete ③ TREMP (bit 2) 当收发缓冲区寄存器的数据被传送到移位寄存器

18、并且收发缓冲区为空时这位被置位。 当bit[2] = 0, Transmit data not transferred 当bit[2] = 1, Transmit data transferred 这里将此寄存器写入0x07,将3个标志位置1,清除中断作为初始状态。 8) 同步SIO中断使能寄存器——SSIOINTEN 地址:0xB7B0100C 功能描述:SSIOINTEN寄存器可以使能同步SIO中断,可以通过程序读写寄存器。 7 6 5 4 3 2 1 0 SSIOINTEN -* -* -* -* -* TREMP RXCMP T

19、XCMP At reset 0 0 0 0 0 0 0 0 注意:-*是保留位,总是对这些位写0,如果写1,正常操作无法保证。 位说明: ① TXCMPEN (bit 0) 这位使能发送完成时的中断请求。 当bit[0] = 0, Transmit complete interrupt request masked 当bit[0] = 1, Transmit complete interrupt request enabled ② RXCMPEN (bit 1) 这位使能接受完成时的中断请求。 当bit[1] = 0, Receive complete

20、interrupt request masked 当bit[1] = 1, Receive complete interrupt request enabled ③ TREMPEN (bit 2) 这位使能收发缓冲区为空时的中断请求。 当bit[2] = 0, Transmit-receive buffer empty interrupt request masked 当bit[2] = 1, Transmit-receive buffer empty interrupt request enabled 这里将此寄存器写入0x00,禁止所有中断。 2 CPLD片选 先读

21、入地址0xf800000e中的值 如果选中片选,向地址0xf8000002写0,拉低电平; 如果为选中片选,向地址0xf8000002写1,拉高电平。 3 第三步,ssio收发字符相关 ① 首先读取SSIOINT中的内容,SSIOINT在这里是状态寄存器,中断已经屏蔽,因此与中断无关。然后与3个宏定义比较 SSIOCON_TXCMPEN 0x01 /* transmit complete */ SSIOCON_RXCMP 0x02 /* receive complete */ SSIOCON_TREMP = 0x04 /* transmit empty */

22、 3个宏分别表示SSIOINT的后3位置1,比较结果哪位置1证明此时操作已经完成,但由于屏蔽了中断,不产生中断。 ② 其次将3个宏定义的值相应的写入SSIOINT。 ③ 最后根据操作要求向SSIOBUF写数据或者读出SSIOBUF中的数据。 二 数据包的封装与命令协议相关 1 sd卡指令数据包 sd卡的指令被封装成48位的数据包,每次传送这48位的数据包。数据包的内容包括起始位、结束位、传输位、命令索引、传输参数和7位CRC校验码。其具体格式分布如下图 Bit 位置 47 46 [45:40] [39:08] [07:01] 00 Bit 宽度 1 1

23、 6 32 7 1 值 “0” “1” x x x “1” 说明 Start bit Transmission bit Command index Argument CRC7 End bit 其中的命令索引位是[45:40],里面可以封装各种命令,具体的命令表将在下面给出。不同的命令会对应不同的回应(respond),回应有三种(R1,R2,R3)格式,在命令表中的选项会给出。 2 sd卡命令索引表 CMD 简略语 指令说明 SPI 模式 自变量 回应 0 GO_IDLE_STATE 这是使card初始化到Idle状态的指令.CS

24、信号设在Low的状态时,接到本指令后,card 将转换到SPI模式. None R1 1 SEND_OP_COND 接到本指令后,card将做R3回应(含有OCR 数据).根据OCR值,可以得知card能工作电压范围.OCR数据最高值位的1bit是用来确认card内部处理是否结束(Ready/Busy轮询). None R1 2 ALL_SEND_CID 接到本指令后, 处于Ready状态的card将传送CID数据.在MMC模式下,数据被送到CMD信号,在CID数据的每1bit传送后,CMD信号状态将与该card内部状态相比较,如果不一致,將中止数据传送,card返回到Re

25、ady状态.如果相一致,该card 将认为已被选中,然后转换到Identification 状态. 3 SET_RELATIVE_ADDR 本指令会为已转换到Identification状态的card分配一个相对card地址(RCA).当RCA分配后,card将转换到Stand-by 状态,对以后的CMD2和CMD3不回应. 4 NOP 这是用来设定DSR(DriveState寄存器)的指令,但是本car不支持DSR. 7 SELECT/DESELECT_CARD 本指令是用来选择一张card,让它在Stand-by状态和Transfer状态之间转换的

26、指令.如果给card设定已分配到的RCA地址,card将从Stand-by状态转换到Transfer状态,并将回应以后的读取指令及其他指令.如果给card设定RCA以外的地址,card将转换到Stand-by状态。当RCA=0000h时,card将无条件地转换到Stand-by状态. 9 SEND_CSD 接到本指令后,将传送CSD数据. None R1 10 SEND_CID 接到本指令后,将传送CID数据. None R1 11 READ_DAT_UNTIL_STOP 接到本指令后,将从设定的地址传送P2ROM数据,直到接到指令CMD12为止.

27、12 STOP _TRANSMISSION 本指令强行终止CMD11和CMD18的处理 None R1 13 SEND_STATUS 接到本指令后, 将传送状态寄存器的信息. None R2 15 GO_INACTIVE _STATE 接到本指令后,将转换到休止(inactive)状态. 16 SET_BLOCKLEN 本指令用来设定Block长度.对象是以后的指令CMD17和CMD18. 31:00] block length R1 17 READ_SINGLE _BLOCK 接到本指令后,将从自变量设定的地址传送1个block 长度的

28、数据.(block长度由指令CMD16设定). [31:00] data address R1 18 READ_MULTIPLE _BLOCK 接到本指令后,将从自变量设定的地址连续传送block长度的数据,直到接到指令CMD12为止.(block长度由指令CMD16设定). [31:00] data address R1 23 SET_BLOCK _COUNT 本指令是给紧跟的指令CMD18设定要传送的block 数量. [31:16]set to 0 [15:00]number of block R1 24 WRITE_BLOCK 接到本指

29、令后,将写1个block 长度的数据到自变量设定的地址.(block长度由指令CMD16设定). [31:0] data address R1 25 WRITE_MULTIPLE_ BLOCK 接到本指令后,将连续写block长度的数据到自变量设定的地址,直到接到指令CMD12为止.(block长度由指令CMD16设定). [31:0] data address R1 58 READ_OCR 接到本指令后,Card将传送OCR数据. None R3 59 CRC_ON_OFF 本指令是用来设定CRC 选项为ON或OFF.在SPI模式下,CRC的初始值

30、设定为OFF.[CRC选项[bit=1]表示CRC ON;[CRC选项[bit=0]表示CRC OFF. [31:01] stuff bits [00:00] CRC option R1 3 命令回应repond 1) R1模式 对象指令 CMD0 : GO_IDLE_STATE CMD1 : SEND_OP_COND CMD9 : SEND_CSD CMD10:SEND_CID CMD12:STOP_TRANSMISSION CMD16:SET_BLOCKLEN CMD17:READ_SINGLE_BLOCK CMD18:READ_MULTIPLE_

31、BLOCK CMD23:SET_BLOCK_COUNT CMD59:CRC_ON_OFF 7 6 5 4 3 2 1 0 0 0 0 in idle state illegal command communication CRC error address error parameter error 2) R2模式 对象指令 CMD13:SEND_STATUS 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0

32、 0 0 0 0 0 0 0 out of range communication CRC error in idle state illegal command address error parameter error 3) R3模式 对象指令 CMD58:READ_OCR 39 38 37 36 35 34 33 32 0 0 0 0 OCR communication CRC error in idle state illegal comma

33、nd address error parameter error 三 命令的控制与实现 1程序中调用的sd卡命令 在程序中的sd的命令发送响应主要通过函数UCS_DRSD_niCommandRespond来实现。其他函数通过调用这个函数完成对sd卡的操作,这里主要有3个函数:sd卡驱动程序初始化、读sd卡操作和写sd卡操作函数,下面分别对这些函数具体分析: 1) 命令响应函数——UCS_DRSD_niCommandRespond UCS_DRSD_niCommandRespond (W iCmd,UW uiArg,UB *pucRsp) 参数分别表示:

34、icmd—命令号 uiArg—命令参数 pucRsp—命令响应的存储地址 本函数分别涉及到了命令的处理 CMD9、CMD10:接收sd卡的CSD和CID信息。 CMD17、CMD24:读写单个block数据,CMD18、CMD25:读写多个block数据。 CMD58:读取sd卡OCR信息。 2) sd卡驱动程序初始化——UCS_DRSD_giSdIdentify 在mainTask中最开始调用,进行sd卡驱动的上电初始化。 次函数调用上面的函数实现命令的设置,顺序进行了如下设置: CMD1:设置sd卡的工作电压 UCS_DRSD_niCommandRespo

35、nd(CMD1,UCS_DRSD_OCR_VAL,ucRsp_a) CMD59:使能CRC校验 UCS_DRSD_niCommandRespond(CMD59,1,ucRsp_a) CMD9:读取sd卡的CSD信息 UCS_DRSD_niCommandRespond(CMD9, 0, ucRsp_a) CMD10:读取sd卡的CID信息 UCS_DRSD_niCommandRespond(CMD10, 0, ucRsp_a CMD16:设置sd读写块的大小,设置值为512个字节 UCS_DRSD_niCommandRespond(CMD16,UCS_DRSD_ATASECTOR

36、SIZE,ucRsp_a) 3) 读sd卡操作函数 本函数主要处理了CMD17的读单个block操作,流程如下 通过调用DataIn函数来读取512字节的数据,DataIn函数的是这样实现的,接收512个字节的数据和2个字节的16位CRC校验码。 4) 写sd卡操作函数 本函数主要处理了CMD24,写单个block操作,流程如下: 函数调用DataOut函数,其机制与DataIn相似。 四 sd卡的配置信息和相关结构体 sd卡驱动程序共定义了4个结构体: UCS_DRSD_SDTInfo_st——sd卡任务信息 UCS_DRSD_SD_BASICINFO_s

37、t——sd卡物理信息 UCS_DRSD_SD_CID_st——sd卡CID信息 UCS_DRSD_SD_CSD_st——sd卡CSD信息 其中,物理信息、CID和CSD信息是从硬件上读取回来的,CID和CSD直接复制给程序中的结构体,物理信息basicinfo需要转换 它们是在mainTask的identify函数中调用的,CID和CSD通过命令CMD9和CMD10获取硬件信息后,直接复制。物理信息的结构体是将CSD信息中LBA(逻辑块地址)方式转换成CHS(柱面 磁头 扇区)方式后得到的。 1卡识别寄存器——CID(card identification register )

38、 CID-slice 名称 栏目 Bit宽度 值 OKI 原创 [127:120] Manufacture ID MID 8 0x41 OKI ID, 由MMCA 指定 [119:104] OEM/Application ID OID 16 0x0000 OK设备名 [103:56] Product name PNM 48 P2016 产品名 [55:48] Product revision PRV 8 0x10 产品修订版(version 1.0) [47:16] Product serial number PSN 32

39、0x00000001 产品编号 Default=1, user设定可 [15:8] Manufacturing data MDT 8 收到Code 文件的月份 OKI 收到客户Code 档案的日期,或是写入程序的日期 [7:1] 7-bit CRC checksum CRC7 7 CRC 检验和 [0:0] - - 1 1 固定是”1” 2卡特性寄存器——CSD(card specific data register) CSD-slice 名称 栏目 Bit 宽度 值 Type 备注 Bin. Hex. [1

40、27:126] CSD Structure CSD_STRUCTURE 2 10 0x2 R Version 3.1 [125:122] spec version SEPC_VERS 4 0011 0x3 R Version 3.1 [121:120] Reserved 2 X X R 不必理会 [119:112] datatime1 read access TAAC 8 00001000 0x08 R 1ns [111:104] datatime2 read access NSAC

41、 8 00000001 0x01 R 100cycles [103:96] max rate data transfer TRAN_SPEED 8 00101010 0x2A R 20Mb/s [95:84] card command class CCC 12 000000000111 0x007 R 支持Class0,1,2 [83:80] max read data block length READ_BL_LEN 4 1001 0x9 R 512 字节 79 partial blocks

42、 for read allowed READ_BL_PARTIAL 1 1 0x1 R 78 Reserved 1 X X R 不必理会 77 read block misalignment READ_BLK_MISALIGN 1 0 0x0 R 禁止跨越Block 76 DSR implemented DSR_IMP 1 0 0x0 R DSR: 不支持 [75:74] Reserved 2 X X R 不必理会 [73:62] device size C

43、CIZE 12 111111111110 0xFFE R [61:59] min. read current VDD_R_CURR_MIN 3 000 0x0 R 0.5mA [58:56] max. read current VDD_R_CURR_MAX 3 100 0x4 R 35mA [55:50] Reserved 6 X X R 不必理会 [49:47] device size multiplier C_SIZE_MULT 3 001 0x1 R [46

44、31] Reserved 16 X X R 不必理会 [30:29] manufacture default ECC DEFAULT_ECC 2 00 0x0 R ECC: 不支持 [28:26] Reserved 3 X X R 不必理会 [25:22] Max. write data block length WRITE_BL_LEN 4 1001 0x9 R [21:16] Reserved 6 X X R 不必理会 15 file format g

45、roup FILE_FORMAT_GRP 1 0 0x0 R 14 Copy flag (OTP) COPY 1 0 0x0 R Default=0 User 设定可 13 permanent protection write PERM_WRITE_ PROTECT 1 1 0x1 R 12 temporary protection write TMP_WRITE_ PROTECT 1 1 0x1 R [11:10] file format FILE_FORMAT 2 00 0x0 R Default=0 User 设定可 [9:8] ECC code ECC 2 00 0x0 R ECC: 不支持 [7:1] CRC CRC 7 CRC CRC R 0 Reserved 1 1 0x1 R 18

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服