- 5
- 0
- 约9.67千字
- 约 18页
- 2019-10-24 发布于山西
- 举报
SD /MMC HOST CONTROLER
SD中断检测时序
SD中断检测时序主要是配置好正常中断状态使能寄存器和正常中断信号使能寄存器相关的bit位。主要是卡插入状态使能(ENSTACARDNS),卡插入信号使能(ENSIGCARDNS),卡移除状态使能(ENSTACARDREM),卡移除信号使能(ENSIGCARDREM)
SD时钟提供时序
SD时钟提供按下面的操作进行:
A:发送一个SD命令
B:检测在4bit模式下SD卡产生的中断。
对于停止SD时钟的提供,只要设置SD时钟使能位为0,该寄存器位在时钟控制寄存器
时钟改变的函数逻辑
SD时钟的改变时通过sdhci_s3c_change_clock()函数来处理,其中主要对时钟控制寄存器和超时控制寄存器进行配置,最后通过sdhci_change_clock()函数来处理SD时钟设置,其中包括分频值的计算,以及时钟控制寄存器的配置等。
SD总线电压控制时序
改变总线宽度时序
1:设置卡中断状态使能位为0,屏蔽不正确的中断,当改变总线宽度时
2:如果是SD内存卡,执行第4部,如果是其他的卡,执行第3步
3:设置CCCR中的IENM为0,通过CMD52命令
4:改变SD卡的位模式。改变SD内存卡总线的宽度(ACMD6),SDIO卡的总线宽度设置通过CCCR设置
5:如果你想改变成4位传输模式,设置数据传输宽度(WIDE4)到Host Control 寄存器为1,其他方式下,设置为0.
6:如果是SD内存卡,结束操作,如果是其他卡,继续第7步
7:设置IENM(CCCR)位1,通过CMD52命令
8:设置卡中断状态使能位为1
数据线超时设置
为了检测数据线的超时错误,HOST Driver应该执行下面两个步骤
1:计算一个检测超时分频值,把值写超时控制寄存器
2:设置超时数据值到超时控制寄存器
SD 数据交换执行
这节主要描述产生时序和控制各种SD数据交换。SD数据交换被分为下面3中
1:数据传输不用数据线
2:数据传输用数据线仅表示忙信号
3:数据传输用数据线用作数据传输
第1和第2中方式传输被定义为数据传输控制没有数据传输,第3中被定义为实际的数据传输
SD 命令发送时序
采用下面的步骤来设置超时设置
1:检测当前状态寄存器的命令停止(CMD)。重复直到CMD为0。当CMD为1。HOST Driver不应该发送SD 命令
2:如果HOST 发送的是SD 命令忙信号,执行第3步。如果不是忙信号,执行第5步
3:如果HOST端发送一个停止命令,执行第5步,不是,则执行第4步
4:检测命令停止BIT。重复这步直到命令停止位为0
5:设置合适的值到Argument 寄存器
6:设置合适的值到命令寄存器
7:执行命令完成序列
命令发送时序的函数分析
HOST对卡的命令发送过程,最后都会调用sdhci_send_command()函数,此函数原型在drivers/mmc/host/sdhci.c中,函数的处理逻辑是按流程图中的处理过程,但其函数处理逻辑中还包括传输模式的设置(sdhci_set_transfer_mode()函数是用来设置HOST的传输模式),同时还包括数据操作的准备工作,处理函数是sdhci_prepare_data(),函数中实现了函数超时设置和DMA寄存器的相关配置,以及HOST CONTROL 寄存器的配置等。
命令完成序列
1:等待命令完成中断。如果命令中断发生,执行第2部
2:写1到命令完成BIT清除这位
3:读相应寄存器并且获得必要的信息
4:判断是否用数据传输完成中断,如果用了传输完成中断,执行第5步,否则执行第7步
5:等待传输完成中断。如果传输中断发生,执行第6步。
6:写1到传输完成BIT清除这位
7:检测相应的数据是否有错误。如果有错误,执行第8步,没有错,执行第9步
8:返回无错
9:返回状态有错
命令完成函数分析
当命令中断发生时,调用中断处理函数sdhci_cmd_irq,通过终端标志位的判断,最终会调用sdhci_finish_command()函数来响应命令完成逻辑的处理,此函数在drivers/mmc/host/sdhci.c中。sdhci_finish_data此函数获取相应后的数据,并作出出错处理。函数的处理逻辑是按照流程图的出路过程,但是增加了其他的处理过程,和实际的代码处理时不完全一致的。
数据传输控制
数据传输可以用DMA方式和非DMA方式。有3中数据块的数据传输方式
1:Single Block Transfer
块传输个数在传输前被HOST 端定义,传输块数量总是1
2:Mutiple Block Transfer
传输块数是1个或者多个
3:Infinite Block Transfer
这个在数
原创力文档

文档评论(0)