新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > LPCXpresso LPC1114 SSP多扇區讀寫SD卡

        LPCXpresso LPC1114 SSP多扇區讀寫SD卡

        作者: 時間:2016-11-10 來源:網絡 收藏
        為了更加清楚的說明多扇區與單扇區讀寫的不同,單獨開一貼進行詳細的說明。

        本文引用地址:http://www.104case.com/article/201611/317370.htm

        在FatFs文件系統時,發現為了提高SD卡的讀寫速度,需要一個多扇區讀寫的函數。當然很多人都會第一反應為,用循環調用單扇區讀寫函數不就能實現嗎?如:

        uint8 i;

        for (i=0; i < count; i++)

        {

        MMCWriteSingleBlock(); // 單扇區寫

        MMCReadSingleBolck(); // 單扇區讀

        }

        事實上的確可以這樣實現,但是,如果是按照這樣的方式實現就沒有多扇區讀寫的優勢了。速度是沒有任何提升的。于是我們查閱SD卡技術可以得到如下時序:

        先看看SD卡的單扇區與多扇區的讀寫時序,可以發現,其時序基本一直。只是多扇區讀函數在讀取完成后需要發送一個停止命令。實現函數如下:

        查看時序,再對于一下函數非常容易理解,本人就不再細說了。其實SD卡寫的函數也是一樣的,先看看如下時序:

        同樣我們發現單扇區寫和多扇區寫的時序基本一致,只是多扇區寫函數多了一個“send stop transmission token ”。即停止令牌,函數如下:

        對比以上時序和函數非常容易理解,不在敘述。

        經過以上時序和函數的實現我們知道,多扇區的讀寫函數比用單扇區讀寫函數循環執行效率高很多,當然函數里邊的一些代碼進行適當的修改將會進一步提高執行效率,在此就不多說,有編程經驗的網友都知道怎么更改。

        再看看主函數的實現:

        實驗結果如下:

        IMG_3424.JPG(40.69 KB)
        2010-5-23 08:10

        IMG_3427.JPG(45.85 KB)
        2010-5-23 08:10



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 龙井市| 金乡县| 白朗县| 从化市| 诏安县| 湛江市| 彭阳县| 井冈山市| 维西| 夏河县| 拉萨市| 石楼县| 西贡区| 渭南市| 红安县| 休宁县| 昌图县| 大名县| 中卫市| 蕲春县| 巨鹿县| 佛山市| 阿鲁科尔沁旗| 江永县| 定襄县| 金堂县| 洮南市| 岑巩县| 手游| 桐乡市| 安乡县| 革吉县| 连山| 南宫市| 桐庐县| 洛宁县| 永丰县| 汉川市| 丹江口市| 喜德县| 凤山市|