《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > Linux設(shè)備驅(qū)動程序架構(gòu)分析之MMC/SD(一)

Linux設(shè)備驅(qū)動程序架構(gòu)分析之MMC/SD(一)

2015-04-29
作者:劉昊昱
關(guān)鍵詞: MMC SanDisk公司 西門子公司

內(nèi)核版本:3.10.1

MMC

MMC全稱MultiMedia Card,由西門子公司SanDisk公司1997年推出的多媒體記憶卡標(biāo)準(zhǔn)。MMC卡尺寸為32mm x24mm x 1.4mm,它將存貯單元和控制器一同做到了卡上,智能的控制器使得MMC保證兼容性和靈活性。

MMC卡具有MMC和SPI兩種工作模式,MMC模式是默認工作模式,具有MMC的全部特性。而SPI模式則是MMC協(xié)議的一個子集,主要用于低速系統(tǒng)。

SD

SD卡全稱Secure DigitalMemory Card,由松下、東芝和SanDisk公司于1999年8月共同開發(fā)的新一代記憶卡標(biāo)準(zhǔn),已完全兼容MMC標(biāo)準(zhǔn)。SD卡比MMC卡多了一個進行數(shù)據(jù)著作權(quán)保護的暗號認證功能,讀寫速度比MMC卡快4倍。

SD卡尺寸為32mm x 24mm x2.1mm,長寬和MMC卡一樣,只是比MMC卡厚了0.7mm,以容納更大容量的存貯單元。SD卡與MMC卡保持向上兼容,也就是說,MMC卡可以被新的設(shè)有SD卡插槽的設(shè)備存取,但是SD卡卻不可以被設(shè)有MMC插槽的設(shè)備存取。

SDIO

SDIO全稱Secure DigitalInput and Output Card,SDIO是在SD標(biāo)準(zhǔn)上定義了一種外設(shè)接口,它使用SD的I/O接口來連接外圍設(shè)備,并通過SD上的I/O數(shù)據(jù)接口與這些外圍設(shè)備傳輸數(shù)據(jù)?,F(xiàn) 在已經(jīng)有很多手持設(shè)備支持SDIO功能,而且許多SDIO外設(shè)也被開發(fā)出來,目前常見的SDIO外設(shè)有:WIFI Card、GPS Card、 Bluetooth Card等等。

eMMC

eMMC全稱Embedded MultiMediaCard,是MMC協(xié)會所制定的內(nèi)嵌式存儲器標(biāo)準(zhǔn)規(guī)格,主要應(yīng)用于智能手機和移動嵌入式產(chǎn)品等。eMMC是一種嵌入式非易失性存儲系 統(tǒng),由閃存和閃存控制器兩部分組成,它的一個明顯優(yōu)勢是在封裝中集成了一個閃存控制器,它采用JEDEC標(biāo)準(zhǔn)BGA封裝,并采用統(tǒng)一閃存接口管理閃存。

eMMC結(jié)構(gòu)由一個嵌入式存儲解決方案組成,帶有MMC接口、快閃存儲設(shè)備及主控制器,所有這些由一個小型BGA封裝。由于采用標(biāo)準(zhǔn)封裝,eMMC也很容易升級,并不用改變硬件結(jié)構(gòu)。

eMMC的這種將Nand Flash芯片和控制芯片封裝在一起的設(shè)計概念,就是為了簡化產(chǎn)品內(nèi)存儲器的使用,客戶只需要采購eMMC芯片放進產(chǎn)品中,不需要處理其它復(fù)雜的Nand Flash兼容性和管理問題,減少研發(fā)成本和研發(fā)周期。

下面我們以Mini2440為例,分析其SDI驅(qū)動程序。

Mini2440 MMC/SD硬件接口電路原理圖如下:

20131219131948890.png

從Mini2440原理圖可以看出,Mini2440 SDI使用的GPE7-GPE10作為4根數(shù)據(jù)信號線,使用GPE6作為命令信號線,使用GPE5作為時鐘信號線。另外,使用GPG8的外部中斷功能來作SD卡的插撥檢測,使用GPH8來判斷SD卡是否有寫保護。

一、SDI設(shè)備的注冊

先來看device注冊過程,在arch/arm/mach-s3c24xx/mach-mini2440.c文件中,有如下內(nèi)容:

捕獲.PNG

這里定義了Mini2440所有的platform device,這里,我們要關(guān)注的是s3c_device_sdi,它是Mini2440的SDI控制器。

s3c_device_sdi定義在arch/arm/plat-samsung/devs.c文件中:

捕獲.PNG

回憶一下platform_device定義在include/linux/platform_device.h文件中:

捕獲.PNG

其中,s3c_sdi_resource定義在arch/arm/plat-samsung/devs.c文件中:

捕獲.PNG

struct resource定義在include/linux/ioport.h文件中:

捕獲.PNG

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。