亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于嵌入式系統(tǒng)通用SD卡讀寫器的研究

        2014-04-29 00:00:00尉斗南
        數(shù)字化用戶 2014年6期

        【摘 要】隨著電子技術(shù)的不斷發(fā)展,嵌入式系統(tǒng)越來越多的在控制類、消費(fèi)類、通訊類等電子產(chǎn)品廣泛應(yīng)用,嵌入式技術(shù)越來越和人們的生活緊密結(jié)合。作為嵌入式系統(tǒng)的核心部分,MCU的更新迭代速度也在摩爾定律下逐漸加快。同時(shí)SD卡作為嵌入式系統(tǒng)中重要的存儲(chǔ)器件,使用范圍也越發(fā)廣泛。但是針對不同型號的單片機(jī)編寫與SD卡的底層驅(qū)動(dòng)是一件必須但卻繁瑣的工作。因此,本文提出通過一種外圍設(shè)備,使得嵌入式系統(tǒng)連接SD卡工作時(shí),能實(shí)現(xiàn)即插即用,從而省去重復(fù)開發(fā)底層驅(qū)動(dòng)的工作。

        【關(guān)鍵詞】SD卡 嵌入式 數(shù)據(jù)讀取

        嵌入式系統(tǒng)技術(shù)具有非常廣闊的應(yīng)用前景,與此同時(shí)對于嵌入式環(huán)境的信息處理需要存儲(chǔ)大量的數(shù)據(jù),配合適當(dāng)?shù)拇鎯?chǔ)設(shè)備顯得十分的迫切,而利用SD卡進(jìn)行嵌入式的數(shù)據(jù)儲(chǔ)存已經(jīng)成為一種趨勢。

        但是隨著嵌入式領(lǐng)域的快速發(fā)展,每天都會(huì)有很多新型的芯片研制出來,但是如果要對每一種芯片都讓它能利用SD卡進(jìn)行存儲(chǔ),勢必要對每款芯片單獨(dú)開發(fā)其SD讀寫驅(qū)動(dòng),這實(shí)際上是一種資源的浪費(fèi)和重復(fù)工作。

        為了解決這個(gè)問題,本文提出了一種能集合多種芯片的軟硬件平臺(tái),使得新型芯片不用再去單獨(dú)開發(fā)驅(qū)動(dòng),只要連接該平臺(tái)將其作為一個(gè)中轉(zhuǎn)器,就能實(shí)現(xiàn)一些主流的功能,比如SD卡的讀寫,USB串口的利用等等。本文的主要工作是在研究SD卡協(xié)議的基礎(chǔ)上,基于該平臺(tái)利用SPI接口實(shí)現(xiàn)對SD卡的支持。

        一、 硬件設(shè)計(jì)

        (一)SD卡電氣特性。SD卡主要包括,9針的電氣接口,8個(gè)寄存器,一個(gè)SD卡控制芯片和儲(chǔ)存介質(zhì)。一般標(biāo)準(zhǔn)SD卡容量最高為2G,高速卡的容量一般為2G到32G。 SD工作電壓一般為2.6V-3.3V。 普通模式下時(shí)鐘頻率的范圍為0-25MHz,最高的傳輸速率為12.5MB/sec(四數(shù)據(jù)線傳輸模式),高速模式下時(shí)鐘頻率范圍為0-50MHz,最高的傳輸速率為25MB/sec。

        SD卡有兩個(gè)可選的通訊協(xié)議:SD模式和SPI模式。SD模式是SD卡標(biāo)準(zhǔn)的讀寫方式,很多常用單片機(jī)沒有集成SD卡控制器接口,同時(shí)在SD卡數(shù)據(jù)讀寫時(shí)間要求不是很嚴(yán)格的情況下,選用SPI模式可以說是一種最佳的解決方案。因?yàn)樵赟PI模式下,通過四條線就可以完成所有的數(shù)據(jù)交換,并且目前常用的單片機(jī)都集成有現(xiàn)成的SPI接口電路,雖然采用SPI模式速度沒有優(yōu)勢,但對SD卡進(jìn)行讀寫操作可大大簡化硬件電路的設(shè)計(jì)。

        (二)SD卡通信模式。本文基于SD卡的SPI通信模式,因此所有的電路設(shè)計(jì)都是圍繞該協(xié)議進(jìn)行設(shè)計(jì)。物理層的SPI是指高速同步串行口。是一種標(biāo)準(zhǔn)的四線同步雙向串行總線。它具有高速的,全雙工,同步的通信的特點(diǎn),并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管

        腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便。這種模式通常需要至少4根線,事實(shí)上3根也可以,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCLK(時(shí)鐘),CS(片選)。

        (三)嵌入式系統(tǒng)MCU。在嵌入式硬件設(shè)計(jì)中,一旦確定了系統(tǒng)功能,首先要做的就是主控芯片的選型。在考慮到滿足性能,價(jià)格和功耗的基礎(chǔ)上,同時(shí)結(jié)合本文的研究對象,所以所選芯片應(yīng)具備SPI模塊的MCU,二是所選MCU要具有較快的運(yùn)算速度。因此這里初步選用核心芯片為STM32。

        二、系統(tǒng)設(shè)計(jì)

        本文研究初衷是使各種芯片通過該平臺(tái)直接對SD卡進(jìn)行操作,具體方式是通過在上位機(jī)編寫程序,通過下載直接將SD驅(qū)動(dòng)下載到該應(yīng)用平臺(tái)中,此后不同的單片機(jī)只需通過連接該平臺(tái)就可以實(shí)現(xiàn)SD卡的讀寫操作。設(shè)計(jì)原理以及目的如圖3所示。

        圖3 系統(tǒng)原理

        對于SD卡的操作主要是應(yīng)用到平臺(tái)的底層接口庫——interface庫,該庫定義了底層的大部分操作,該庫調(diào)定義了很多結(jié)構(gòu),比如GPIO,SPI,IIC等,用戶在編寫應(yīng)用或是驅(qū)動(dòng)時(shí),可以直接調(diào)用。

        如:

        struct interface_spi_t

        {

        RESULT (*init)(uint8_t index);

        RESULT (*fini)(uint8_t index);

        RESULT (*config)(uint8_t index, uint16_t kHz, uint8_t cpol, uint8_t cpha,

        uint8_t first_bit);

        RESULT (*io)(uint8_t index, uint8_t *out, uint8_t *in, uint16_t bytelen);

        };

        以上為SPI的結(jié)構(gòu)示例,第一行是初始化;第二行是完成;第三行是設(shè)置參數(shù)分別是端口號,SPI速率,CPOL,CPHA,從高位開始還是低位開始;第四行是輸入輸出設(shè)置,參數(shù)分別為端口號,輸出引腳,輸入引腳,數(shù)據(jù)長度)

        在調(diào)用接口庫時(shí)要先調(diào)用DAL層和MAL層,DAL層是驅(qū)動(dòng)抽象層,因此所有的驅(qū)動(dòng)都要先在該層編寫。MAL層是儲(chǔ)存器抽象層,所以例如SD卡,TF卡,DataFlash等,都需要調(diào)用該層。通過調(diào)用該層實(shí)現(xiàn)SD卡與MCU的掛載和通信。

        配置好MAL層與SPI接口后。可以正式開始對SD卡的操作。第一步是對SD卡進(jìn)行初始化。由于SD卡具有多樣性,因?yàn)榘姹静煌瑫?huì)有操作上的差異,同時(shí)因?yàn)橛蠸D,MMC,SDHC等一系列卡,如果操作不當(dāng),不僅得不到想要的數(shù)據(jù)回復(fù),很可能會(huì)因電壓不適用導(dǎo)致卡不能工作。所以在做SD卡的初始化時(shí),需要同時(shí)針對不同類型的卡做必要的判斷,根據(jù)不同卡的類型再做初始化操作。

        在發(fā)送CMD0初始化SD卡時(shí),一定要先對SD卡上電74個(gè)時(shí)鐘,這個(gè)部分很重要。它的原理可以是因?yàn)镾D卡的工作電壓是2.7V-3.3V,但并不是SD卡接通電源就能有3.3V的電壓,在發(fā)送命令之前SD卡一直處于不工作狀態(tài)電壓低于2.7V,所以74個(gè)時(shí)鐘周期的上電,才能保持SD卡能達(dá)到其要求的工作電壓。

        三、 測試結(jié)果與分析

        通過利用帶有SD插槽的測試板與平臺(tái)相連接,通過邏輯分析儀展示的波形圖,可以將器件連接到上位機(jī)后逐步按流程測試SD初始化和讀寫步驟。實(shí)驗(yàn)硬件連接如圖1。

        圖1 測試硬件連接圖

        命令CMD0測試

        按照流程,首先應(yīng)該對發(fā)送CMD0命令做測試,正確的應(yīng)答應(yīng)該為1.VC中的數(shù)據(jù)回復(fù)波形圖如圖4.4

        圖2 CMD0數(shù)據(jù)波形圖

        在圖2中,第一行為使能,可以看到已經(jīng)拉低,第二行為時(shí)鐘,第三行為MOSI,可以看到發(fā)給SD卡的CMD為0x40,argument為0,CRC為0x95,后面的高電平為一個(gè)字節(jié)的dummy values.第四行為得到的回復(fù),忽略第一個(gè)字節(jié)后讀出數(shù)據(jù)為0001.正確應(yīng)答。

        命令CMD8測試

        得到CMD0正確應(yīng)答后,要檢測電壓兼容性來判斷是V1還是V2版本,應(yīng)此發(fā)送CMD8.VC中返回?cái)?shù)據(jù)如圖3,波形圖如圖8.

        圖3 CMD8數(shù)據(jù)返回值

        可以看到程序執(zhí)行語句所停處可以看出判斷該卡位SD的V2版本卡。其中resp_r1為發(fā)送CMD8的應(yīng)答,可以看到為正確的應(yīng)答1,同時(shí)發(fā)送CMD8后從數(shù)組resp_r3to7的16位數(shù)據(jù)也為正確應(yīng)答0x01AA。因此可以得出結(jié)論,該卡為SD第二版本卡,同時(shí)使用現(xiàn)在的電壓范圍。

        由圖4波形圖可以看出,MOSI的發(fā)送命令為0x48, argument為0,CRC為0x87,由MISO的波形可以看出,得到正確的回復(fù)1.

        圖4 CMD8數(shù)據(jù)波形圖

        命令A(yù)CMD41測試

        再判斷為V2版本的SD卡后,要發(fā)送ACMD41命令來確定現(xiàn)在電壓范圍。在發(fā)送ACMD41之前發(fā)先發(fā)送CMD55.發(fā)送CMD55的波形圖如圖5.

        圖5 CMD55數(shù)據(jù)波形圖

        由該波形圖可以看出,MISO得到的數(shù)據(jù)為1,應(yīng)答時(shí)正確的。此后的ACMD41的應(yīng)答應(yīng)該為0。

        經(jīng)過測試和分析已經(jīng)可以通過該平臺(tái)實(shí)現(xiàn)SD卡的初始化和讀寫功能。但因?yàn)閷?shí)驗(yàn)環(huán)境的限制,該平臺(tái)目前之支持幾種MCU。但按目前的測試結(jié)果,該平臺(tái)應(yīng)當(dāng)可以用于現(xiàn)有的大部分的MCU。

        四、結(jié)束語

        本文提出的新型的利用USB轉(zhuǎn)接線的SD卡的設(shè)計(jì)可以很好的解決嵌入式設(shè)備在多種MCU環(huán)境中的數(shù)據(jù)存儲(chǔ)問題,極大的簡化了開發(fā)的成本,提高了工作效率。本文提出的該方法可以做為需要大容量存儲(chǔ)的嵌入式開發(fā)環(huán)境提供有價(jià)值的參考。

        參考文獻(xiàn):

        [1]SD Group and SD Card Association. SD Specifications-Physical Layer Simplified Specification(Version 2.00)[M],2006.

        [2]程克非.嵌入式系統(tǒng)設(shè)計(jì)[M].北京,機(jī)械工業(yè)出版, 2010.

        [3]陳衛(wèi)東.嵌入式系統(tǒng)中的數(shù)據(jù)存儲(chǔ)與交換[M]. 北京:北京郵電大學(xué),2005.

        朋友的丰满人妻中文字幕| 日韩精品一区二区三区四区视频| 青青草精品在线免费观看| 久久777国产线看观看精品| 人妻丰满熟妇av无码区不卡| 可以免费在线看黄的网站| 精品女同一区二区三区不卡| 女同同志熟女人妻二区| 人妻体体内射精一区二区| 国产呦精品系列在线播放| 国产91精品丝袜美腿在线| 日本一区二区三区亚洲| 人人妻人人爽人人澡欧美一区| 色婷婷六月天| 日韩在线精品视频免费| 99久久精品费精品国产一区二| 55夜色66夜色国产精品视频| 麻豆国产av尤物网站尤物| 免费黄网站一区二区三区| 国产一二三四2021精字窝| 日本高清aⅴ毛片免费| 国产精品视频一区二区三区,| 白白色发布在线观看视频| 亚洲国产成人av在线观看 | 亚洲AV一二三四区四色婷婷| 97激情在线视频五月天视频| 尹人香蕉久久99天天拍| 丰满少妇被猛烈进入| 亚洲香蕉毛片久久网站老妇人| 可以直接在线看国产在线片网址| 夫妇交换性三中文字幕| 无码专区中文字幕DVD| 久久夜色精品国产亚洲av老牛| 精品人妻系列无码人妻漫画 | 97成人精品| 日本在线观看一区二区三区视频 | 亚洲高清中文字幕视频| 亚洲成av人片一区二区| 国产亚洲精品综合一区| 国产亚洲av综合人人澡精品| 国产md视频一区二区三区|