新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于STCl2C5A60S2單片機的SD卡讀寫

        基于STCl2C5A60S2單片機的SD卡讀寫

        作者: 時間:2010-04-23 來源:網絡 收藏

        4 軟件設計
        4.1 卡的初始化
        卡從上電到對卡進行正確的操作,往往都需要一個上電初始化的過程。SD卡上電后,主機必須先向SD卡發送74個時鐘周期,以完成SD卡的上電過程。通常SD卡上電后會自動進入SD總線模式,并在SD總線模式下向SD卡發送復位命令(CMD0)。因此,主機在對SD卡進行任何操作前,都必須先要拉低SD卡的片選信號CS(card select),以使SD卡進入SPI總線模式,然后再由主機向SD卡發送命令。SD卡可以響應主機發來的各種應答信號,同時向主機發送一個特殊的數據響應標志。若主機讀到的應答信號為01,即表明SD卡已進人SPI模式,此時,主機即可不斷地向SD卡發送命令字(CMDl)并讀取SD卡的應答信號,直到應答信號為00,表明SD卡已完成初始化過程,并準備好接受下一命令。此后,系統便可讀取SD卡的各寄存器,以進行等操作。SD卡初始化流程如圖3所示。下面是SD卡初始化的程序代碼:


        4.2 SD卡的
        SD卡的數據傳輸主要通過塊讀寫來實現。塊長度默認為512 KB。當RAM中已存放由模數轉換模塊傳來的512 KB數據時,便向SD卡寫入此塊數據。塊讀取時,可發送命令CMDl7,接收到的應答信號為0x00。這樣就可以直接接收數據了,接收到的數據的第1個字節為數據令牌0xfe,后面的為接收到的數據,當輸出口變為高電平時。表明讀取操作完成。SD卡的讀操作與寫操作相同,故此不再贅述。圖4所示是SD卡的讀寫軟件流程圖。其具體程序代碼如下:


        5 結束語
        該SD卡與的接口電路已在實際的試驗板上驗證成功,并已證明可以正確實現數據通訊,故可對SD卡上的文件進行各種操作。

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 龙海市| 天全县| 隆子县| 台中市| 中卫市| 枣阳市| 繁峙县| 同仁县| 渝中区| 阳泉市| 白玉县| 安达市| 饶平县| 白银市| 新晃| 营口市| 乡宁县| 青浦区| 镇江市| 磐石市| 永安市| 绥芬河市| 建昌县| 天祝| 大关县| 汕尾市| 宿迁市| 甘泉县| 义马市| 新竹县| 应城市| 喀喇| 鹤壁市| 麦盖提县| 大竹县| 阿克苏市| 上思县| 景泰县| 丹东市| 兰溪市| 嘉禾县|