原创 S3c2410_SDIO_调试笔记<二>

2011-8-24 11:44 2130 13 13 分类: 消费电子

作者:下家山

(见Simplified SDIO Card Specification.pdf  35page)因为,CMD52响应后返回数据为8bit,所以要送三次。第一次:

                  rSDICARG == 0x00001200;

                  rSDICCON == 0x00000B74;

                  响应

                  rSDICSTA == 0x00000A34;

                  rSDIRSP0 == 0x00001000;

                                  解读0x00001200

  0            000            0           0      00  0000 0000 0001 001     0       0000 0000

R/W flag

Function Number

RAW flag

Stuff

Register Address

Stuff

Write data or stuff bits

 1              3              1             1          17             1             8

                                  解读0x00000B74(略)

                                  解读0x00000A34(略)

                                  解读0x00001000

                  0x00001000的低8位表示从地址0x09读出来的值为0x00;

第二次:

                  rSDICARG == 0x00001400;

                  rSDICCON == 0x00000B74;

                  响应

                  rSDICSTA == 0x00000A34;

                  rSDIRSP0 == 0x00001010;

                                  解读0x00001400

  0            000            0           0      00  0000 0000 0001 010     0       0000 0000

R/W flag

Function Number

RAW flag

Stuff

Register Address

Stuff

Write data or stuff bits

 1              3              1             1          17             1             8

               解读0x00000B74(略)  解读0x00000A34(略)解读0x00001010

                  0x00001010的低8位表示从地址0x0a读出来的值为0x10;

第三次:

                  rSDICARG == 0x00001600;

                  rSDICCON == 0x00000B74;

                  响应

                  rSDICSTA == 0x00000A34;

                  rSDIRSP0 == 0x00001000;

                                  解读0x00001600

  0            000            0           0      00  0000 0000 0001 011     0       0000 0000

R/W flag

Function Number

RAW flag

Stuff

Register Address

Stuff

Write data or stuff bits

 1              3              1             1          17             1             8

                                  解读0x00000B74(略)解读0x00000A34(略)

                                  解读0x00001000

        0x00001000的低8位表示从地址0x0b读出来的值为0x00;

   最后,可以得到FN0 CIS指针地址为0x001000。

3.4 读出ID

     同样,读出ID号也是通过CMD52来实现的。(见5.2  CMD52及响应剖析

          我们可以从SDIO 协议规范中看出CIS 的整个区域地址范围为0x00001000~0x00017fff。

      而,我刚才读出FN0 的CIS指针地址为0x001000,这证明是正确的。那么出厂时,这些CIS信息是如何存放在0x001000所在的区域的呢?以FN0为例,听我一一道来:

          在0x001000起始的区域,SDIO 协议规范是以一个或多个链(连起来的列表)被称为数据块或tuples(便士)来组织这些CIS信息的。    

 

arm

文章评论0条评论)

登录后参与讨论
我要评论
0
13
关闭 站长推荐上一条 /2 下一条