1. 程式人生 > >雜記:Atmel sama5d3 High Speed MultiMedia Card Interface (HSMCI)

雜記:Atmel sama5d3 High Speed MultiMedia Card Interface (HSMCI)

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用來標識傳輸是否完成。