基于單片機(jī)和FAT16的SD卡讀寫(xiě)系統(tǒng)設(shè)計(jì)
3.3.2 SD卡的初始化
SD卡的初始化流程如圖7所示。SD卡上電延時(shí)74個(gè)時(shí)鐘周期后,單片機(jī)向SD卡發(fā)送復(fù)位命令CMDO,使SD卡進(jìn)入SPI模式。之后循環(huán)發(fā)送激活SD卡指令CMD1,直到接收到SD卡響應(yīng)的第0位為0。
3.3.3 SD卡數(shù)據(jù)塊的讀寫(xiě)
完成SD卡的初始化后,就可以對(duì)SD卡進(jìn)行讀寫(xiě)操作。讀寫(xiě)操作都是通過(guò)指令來(lái)完成的:?jiǎn)螇K寫(xiě)命令CMD24,多塊寫(xiě)命令CMD25;單塊讀命令 CMD17,多塊讀命令CMD18。單塊讀寫(xiě)時(shí),數(shù)據(jù)塊的長(zhǎng)度為512字節(jié),多塊讀寫(xiě)時(shí)SD卡收到1個(gè)停止命令CMD12后停止讀寫(xiě)。圖8、圖9分別是單塊讀、寫(xiě)SD卡的軟件流程。
3.4 FAT16文件讀寫(xiě)
按照FAT16文件系統(tǒng)的文件組織規(guī)范,編寫(xiě)讀文件函數(shù)和寫(xiě)文件函數(shù)。FAT16文件讀寫(xiě)的軟件流程如圖10所示。
結(jié) 語(yǔ)
通過(guò)串口將本系統(tǒng)連接到PC進(jìn)行測(cè)試,結(jié)果表明本系統(tǒng)完成了對(duì)FAT16文件系統(tǒng)下文件的讀寫(xiě)。當(dāng)采用11.059 2 MHz晶振時(shí),讀寫(xiě)速度和質(zhì)量都令人滿意。本系統(tǒng)采用51架構(gòu)的AT89S52單片機(jī),實(shí)現(xiàn)了基于FAT16文件系統(tǒng)的讀寫(xiě)SD卡設(shè)計(jì),整套系統(tǒng)成本較低,在嵌入式數(shù)據(jù)記錄和存儲(chǔ)中有廣泛應(yīng)用前景。
pos機(jī)相關(guān)文章:pos機(jī)原理
評(píng)論