TMS320C6747MMCSD控制器

      从host和SD卡通信的角度,一个MMC\SD控制器需要提供命令及命令参数的发送,响应的接收;数据的发送和接收;控制,时钟设置,状态等功能。

      TMS320C6747浮点DSP提供MMC/SD模块与外部SD卡进行接口。

具有以下特点:

1、  支持MMC/SD硬件接口;

2、  支持MMC/SD及SDIO协议;

3、  可编程时钟频率;

4、  512bit读写FIFO;

5、  支持EDMA传输;

6、  支持单块读写及多块读写。

      MMC/SD控制器介于CPU,EDMA和SD卡之间。

 

接口

      MMC/SD控制器通过MMC/SD协议实现host和SD卡的通信。控制器总线支持多卡,通过卡识别过程依次识别各个卡。

 

 

寄存器

       MMCCTL:MMCSD控制寄存器。用来配置MMC控制器,包括复位使能控制器,设置数据收发宽度,边缘触发,读写的大小端格式。

       MMCCMD:命令寄存器。发送命令索引,同时也含有要求哪种response以及一些触发信息。

       MMCRSP7-MMCRSP0:应答寄存器。当response为长响应时,应答为136bits长度,MMCRSP0-MMCRSP7每个存储16bits,其存储127-0bits,MMCIDX存储135-128bits;当response为短响应时,应答为48bits,MMCRSP67存储39-8bits,MMCRSP5存储7-0bitsCRC内容。

       MMCDXR与MMCDRR:数据发送与接收寄存器。发送数据时,向MMCDXR写入数据;接收数据时,从MMCDRR读取数据。

       MMCCLK:时钟控制寄存器。用来设置时钟的分频值,为SD卡提供操作时钟。

       MMCST0:MMCSD状态寄存器。表征了操作后的命令完成,数据读写是否完成,响应是否超时,循环冗余校验等状态标志。

       MMCFIFOCTL:MMCSD模块FIFO控制器。可以复位FIFO,设置FIFO的大小等。

还有超时设置,中断控制等寄存器。

 

数据流

       CPU/EDMA通过寄存器发送(DXR)接收(DRR)数据,FIFO用来做收发数据的缓存空间。FIFO大小可定义为256bits或512bits。发送数据时,CPU/EDMA向DXR写入数据,DXR中数据并不立即发送,而是存储到FIFO中,当FIFO数据被填满后再向MMC/SD发送。接收数据时,MMC/SD通过DRR传输到FIFO,CPU/EDMA再通过DRR将FIFO中的数据读出。

      数据手册中详细描述如下图:

 

posted on 2013-10-24 09:31  追星之子  阅读(520)  评论(0编辑  收藏  举报