杂记:Atmel sama5d3 High Speed MultiMedia Card Interface (HSMCI)

来源:互联网 发布:windows10 mysql 启动 编辑:程序博客网 时间:2024/06/16 19:01
High Speed MultiMedia Card Interface (HSMCI)


HSMCI支持
MultiMedia Card (MMC) Specification V4.3,
the SD Memory Card Specification V2.0,
SDIO V2.0 specification
CE-ATA V1.1.


HSMCI包含命令寄存器,应答寄存器,数据寄存器,计时器,错误检测
他们能自动处理整个传输过程。
支持流传输,块传输,多块传输支持dma
最大速率 Master Clock divided by 2
一个槽支持30个高速多媒体卡,一个sd卡,一次只能选一个槽。
sd卡用的9个脚标准,时钟,命令,4个数据,3个电源
高速卡用的7脚标准,时钟,命令,数据,3电源,一个保留
sd卡几口也支持高速和普通区别在于初始化不同,以及总线拓扑结构
高速接口完全支持CE-ATA Revision 1.1,有专门的硬件支持它


特点:
MultiMedia Card (MMC) Specification V4.3,
the SD Memory Card Specification V2.0,
SDIO V2.0 specification
CE-ATA V1.1.
最大速率 Master Clock divided by 2
支持boot模式
高速模式
支持电源管理
支持一路复用
支持流传输,块传输,多块传输支持dma
内置fifo(from 16 to 256 bytes) with Large Memory Aperture Supporting Incremental Access
CE-ATA完成信号非能命令
写保护


引脚是复用的,需要配置


时钟需要配置Power Management Controller (PMC),


中断需要配置interrupt controller.
Instance ID
HSMCI0 21
HSMCI1 22
HSMCI2 23




High Speed MultiMedia Card
Pin Number Name Type(1) Description
HSMCI Pin Name(2)
(Slot z)
1 DAT[3]  I/O/PP Data MCDz3
2 CMD     I/O/PP/OD Command/response MCCDz
3 VSS1    S Supply voltage ground VSS
4 VDD     S Supply voltage VDD
5 CLK     I/O Clock MCCK
6 VSS2    S Supply voltage ground VSS
7 DAT[0]  I/O/PP Data 0 MCDz0
8 DAT[1]  I/O/PP Data 1 MCDz1
9 DAT[2]  I/O/PP Data 2 MCDz2
10 DAT[4] I/O/PP Data 4 MCDz4
11 DAT[5] I/O/PP Data 5 MCDz5
12 DAT[6] I/O/PP Data 6 MCDz6
13 DAT[7] I/O/PP Data 7 MCDz7


 SD Memory Card Bus Signals
Pin Number Name Type(1) Description
HSMCI Pin Name(2)
(Slot z)
1 CD/DAT[3]   I/O/PP Card detect/ Data line Bit 3 MCDz3
2 CMD     PP Command/response MCCDz
3 VSS1    S Supply voltage ground VSS
4 VDD     S Supply voltage VDD
5 CLK     I/O Clock MCCK
6 VSS2    S Supply voltage ground VSS
7 DAT[0]  I/O/PP Data line Bit 0 MCDz0
8 DAT[1]  I/O/PP Data line Bit 1 or Interrupt MCDz1
9 DAT[2]  I/O/PP Data line Bit 2 MCDz2


如果是sd卡模式,数据带宽通过HSMCI_SDCR的SDCBUS,1是4位,0是1位
高速模式,只有0号数据线被使用,其余的都没用到


高速模式
如下讯标:
命令,点播和广播,串行发送通过命令线
确认,从一个或者多个从机发送到主控器,串行发送通过命令线
数据,双向,通过数据线发送
CID是每个卡的标识,标定地址由主控器在初始化完成


流传输,没有stop命令,不会停
块传输,有crc校验
多块传输,需要stop命令,或者有前置数量


重启需要手动置位MCIEN bit in the HSMCI_CR


sd卡模式
SD/SDIO Card Register (HSMCI_SDCR)可配置卡槽和数据带宽
重启默认是单数据线,初始化后,可以配置


配置为块传输模式时,sdio可以多字节(1 to 512 bytes)或多块传输(1 to 511 blocks),
通过TRTYP field in the HSMCI Command Register (HSMCI_CMDR)配置模式
通过BCNT field in the HSMCI Block Register (HSMCI_BLKR)配置数量
块模式下BLKLEN设置成块大小,字节模式没用到


An SDIO Card can have multiple I/O or combined I/O and memory (called Combo Card).
需要设置SDIO Special Command field (IOSPCMD) in the HSMCI
从机给主机中断,用到dat1脚,要配置HSMCI Interrupt Enable Register


XFRDONE flag in the HSMCI_SR用来标识传输是否完成。
0 0