線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1700
推到 Plurk!
推到 Facebook!

SD卡寫入操作一問

缺席
95310035
一般會員


發表:5
回覆:5
積分:2
註冊:2008-02-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-31 14:41:14 IP:59.105.xxx.xxx 訂閱
我是用SPI寫的
目前初始化等動作都OK
讀也可以
寫入一個BLOCK也沒問題

但是我現在要在傳送寫入區塊的時候採用512Byte不連續的方式
因為我的資料來源是SPI上的另一個裝置(姑且稱他為A裝置)
而控制器沒有足夠的Buffer(512byte)
因此我得採用以SPI向A裝置讀取一個Byte然後傳給SD卡的方式來傳送Data Block
流程就會變成:
(1)送寫入命令含位址給SD->檢查直到命令回應正確
(2)傳送START TOKEN (0XFE)給SD卡
(3)拉高SD CS->由A裝置讀取一個Byte的資料->拉低SD CS->將資料由SPI送出
(4)反覆以上步驟直到512的BYTE都傳送完畢,檢查資料回應
想請問對SD有研究的前輩們這樣可行嗎?
可以在寫入動作中拉高SD CS讓SPI去做別的事情然後再將SD CS拉回來繼續寫入的動作嗎?
還是說對於一個寫入(甚至讀取)動作而言,從送命令、接收回應、送資料到接收資料回應的過程中必須一氣呵成,不能途中將SD卡Disable掉?

因為在下目前已經完成一氣呵成的寫操作
但是要嘗試以中途釋放的方式寫入的話寫入資料會錯誤
甚至有時候會讀不到資料寫入回應XXX00101而變成0XFF
因此懷疑是否是途中曾經Disable SD卡的問題

有請各位前輩位在下解惑
到底能不能在一個操作過程中釋放匯流排
系統時間:2024-05-13 0:19:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!