|
|
幾天老師讓我折騰一下SD卡SPI模式讀寫(xiě)(暫時(shí)無(wú)FAT文件系統(tǒng),F(xiàn)AT對(duì)我這個(gè)新手比較耗時(shí)),下個(gè)學(xué)期來(lái)研究下FAT文件系統(tǒng),到時(shí)候有機(jī)會(huì)也跟大家交流交流~
因?yàn)?1單片機(jī)無(wú)SPI總線接口,所以用軟件模擬SPI總線。重點(diǎn)和難點(diǎn)主要在于SD卡SPI模式的初始化,讀寫(xiě)SD卡。
哦對(duì)了,我用的是MMC卡,不過(guò)MMC卡是向上兼容的,所以SD卡手冊(cè)頁(yè)基本適用于MMC卡。
下面我把調(diào)試過(guò)程中遇到的一些問(wèn)題以及主要代碼,流程圖貼出來(lái)供交流,歡迎指點(diǎn)。
SD卡和單片機(jī)間的電平轉(zhuǎn)換我是用三極管9013做開(kāi)關(guān),不過(guò)我們需要一個(gè)5V(用于單片機(jī))和3.3V(用于SD卡)的電源哦~到網(wǎng)上搜下就有了,我就不多說(shuō)了。
發(fā)幾個(gè)比較主要的手冊(cè):
SD卡在單片機(jī)上的應(yīng)用.pdf
(530.72 KB, 下載次數(shù): 288)
2016-11-15 12:40 上傳
點(diǎn)擊文件名下載附件
FAT文件系統(tǒng)原理.pdf
(1.18 MB, 下載次數(shù): 189)
2016-11-15 12:09 上傳
點(diǎn)擊文件名下載附件
SD卡接口描述 .pdf
(1.54 MB, 下載次數(shù): 128)
2016-11-15 12:10 上傳
點(diǎn)擊文件名下載附件
SD卡使用手冊(cè).pdf
(1.12 MB, 下載次數(shù): 138)
2016-11-15 12:10 上傳
點(diǎn)擊文件名下載附件
SPI總線協(xié)議.pdf
(1.48 MB, 下載次數(shù): 130)
2016-11-15 12:10 上傳
點(diǎn)擊文件名下載附件
一些調(diào)試總結(jié):
1、寫(xiě)完代碼開(kāi)始硬件調(diào)試的時(shí)候,發(fā)現(xiàn)在keil上調(diào)試仿真的時(shí)候控制開(kāi)發(fā)板上的LED等閃爍是沒(méi)問(wèn)題的,可是下到單片機(jī)上調(diào)試卻發(fā)現(xiàn)很不符合邏輯,該閃的時(shí)候不閃,不該閃的時(shí)候閃個(gè)不停。后來(lái)發(fā)現(xiàn)原來(lái)是我定義一個(gè)緩沖區(qū)(用來(lái)接收從SD卡讀取的數(shù)據(jù))定義到data去了,改成xdata之后又行了。不過(guò)不明白為什么,有人知道嗎?
2、SD卡手冊(cè)中提示:After power up, the host starts the clock and sends the initializing sequence on the CMD line. This sequence is a contiguous stream of logical ‘1’s. The sequence length is the maximum of 1msec, 74 clocks or the supply-ramp-uptime; the additional 10 clocks (over the 64 clocks after what the card should be ready for communication) is provided to eliminate power-up synchronization problems.
即:在SD卡上電期間需要往SD卡發(fā)送連續(xù)的高電平‘1’
3、寫(xiě)完一個(gè)命令后延時(shí)8個(gè)時(shí)鐘,以確保和SD卡時(shí)鐘同步。
4、寫(xiě)完一個(gè)數(shù)據(jù)塊時(shí)返回的數(shù)據(jù)為 0X×××00101,調(diào)試過(guò)程中發(fā)現(xiàn)收到的數(shù)據(jù)是0xE5,但數(shù)據(jù)依然可以寫(xiě)進(jìn)去,搞了半天,還以為數(shù)據(jù)手冊(cè)有誤呢~(要有懷疑精神嘛^_^),其實(shí)0xE5也是沒(méi)錯(cuò)的。
……
先說(shuō)這幾點(diǎn)吧!調(diào)試過(guò)程中沒(méi)注意記下問(wèn)題,下次會(huì)注意點(diǎn)哈~如果有人也在做這個(gè)有不明白的一起交流,都是新手,怕啥?哈哈~
|
評(píng)分
-
查看全部評(píng)分
|