標籤:
MMC存貯卡可以分為MMC和SPI兩種工作模式,MMC模式是標準的預設模式,具有MMC的全部特性。而SPI模式則是MMC存貯卡可選的第二種模式,這個模式是MMC協議的一個子集,主要用於只需要小數量的卡(通常是1個)和低資料轉送率(和MMC協議相比)的系統,這個模式可以把設計花費減到最小,但效能就不如MMC。
淺談SD/MMC卡的SD模式和SPI模式SD/MMC卡的讀寫入模式分兩種。一種是利用SD匯流排來進行資料轉送,這裡稱為SD模式;另外一種是利用SPI匯流排來進行資料轉送,這裡稱之為SPI模式。
最初接觸SD/MMC卡時,Hanny一直覺得很奇怪,為什麼SD/MMC卡要提供兩種模式進行訪問呢?比較完這兩種模式的區別,分析其運用場合,就會明白答案了。
SD卡主要工作於4BIT SD模式下(MMC可能工作在8BIT SD模式下)。其讀寫最高時鐘可達50MHz,因此,市面上的卡的讀取速度能到達20MB/s以上,已經算極限了。SD模式也是SD卡的主要工作模式。
而SPI模式只有1BIT的頻寬,而且時鐘最高只能到25MHz,因此讀取速度通常低於3MB/s。但是SPI模式對硬體要求較低,一般廣泛用於MP3等對讀卡速度要求不高的低端場合。
Hanny當時還有一個疑問:SD模式不是也同樣支援1BIT模式嗎?為什麼不直接用SD的1BIT模式呢?
後來才明白:1、SPI匯流排是一個通用匯流排,大部份晶片都用硬體模組;2、SPI模式支援不帶CRC校正的傳輸方式,可以降低硬體要求;3、SD的CMD線與DATA線之間有可能同時產生資料,對沒有SD硬體模組的主機支援起來難度較高。
SD(Secure Digital)與 MMC(Multimedia Card)
SD 是一種 flash memory card 的標準,也就是一般常見的 SD 記憶卡,而 MMC 則是較早的一種記憶卡標準,目前已經被 SD 標準所取代。在維基百科上有相當詳細的 SD/MMC 規格說明:[http://zh.wikipedia.org/wiki/Secure_Digital]。
SDIO(Secure Digital I/O)
SDIO 是目前我們比較關心的技術,SDIO 故名思義,就是 SD 的 I/O 介面(interface)的意思,不過這樣解釋可能還有點抽像。更具體的說明,SD 本來是記憶卡的標準,但是現在也可以把 SD 拿來插上一些外圍介面使用,這樣的技術便是 SDIO。
所以 SDIO 本身是一種相當單純的技術,透過 SD 的 I/O 接腳來串連外部外圍,並且透過 SD 上的 I/O 資料接位與這些外圍傳輸資料,而且 SD 協會會員也推出很完整的 SDIO stack 驅動程式,使得 SDIO 外圍(我們稱為 SDIO 卡)的開發與應用變得相當熱門。
現在已經有非常多的手機或是手持裝置都支援 SDIO 的功能(SD 標準原本就是針對 mobile device 而制定),而且許多 SDIO 外圍也都被開發出來,讓手機外接外圍更加容易,並且開發上更有彈性(不需要內建外圍)。目前常見的 SDIO 外圍(SDIO 卡)有:
Wi-Fi card(無線網路卡)
CMOS sensor card(照相模組)
GPS card
GSM/GPRS modem card
Bluetooth card
Radio/TV card(很好玩)
SD/SDIO
的傳輸模式
SD 傳輸模式有以下 3 種:
SPI mode(required)
1-bit mode
4-bit mode
SD
的 MMC Mode
SD 也能讀取 MMC 記憶體,雖然 MMC 標準上提到,MMC 記憶體不見得要支援 SPI mode(但是一定要支援 1-bit mode),但是市面上能看到的 MMC 卡其實都有支援 SPI mode。因此,我們可以把 SD 設定成 SPI mode 的傳輸方式來讀取 MMC 記憶卡。
SD 的 MMC Mode 就是用來讀取 MMC 卡的一種傳輸模式。不過,SD 的 MMC Mode 雖然也是使用 SPI mode,但其物理特性仍是有差異的:
MMC 的 SPI mode 最大傳輸速率為 20 Mbit/s;
SD 的 SPI mode 最大傳輸速率為 25 Mbit/s。
eMMC的MMC模式與SPI模式