2011-08-31 21 views
0

我可以使用單引腳SPI正確讀/寫2GB金士頓Micro SD,但在使用WRITE_MULTIPLE_BLOCK命令寫入多個塊後,卡進入空閒模式。我知道這一點,因爲當我嘗試發送命令寫入更多數據時,卡片返回'處於空閒狀態'標誌。我創建了一項解決方案,在每次寫入後將卡從閒置中拉出,但這會嚴重降低帶寬。有誰知道爲什麼發生這種情況?從SHARC 21469空閒和速度問題寫入Micro SD。

此外,我已經獲得的最大SPI波特是1Mbs。當我將SPI clk設置爲> 1MHz時,這些命令無法正常工作。如果我發送波特率爲1Mbbs的命令,則以> 1Mbs發送數據,數據已損壞。是否有一個原因,我無法獲得第2頁上的SDCARD.org規範中列出的25MHz規格速度?

https://www.sdcard.org/developers/tech/sdio/sdio_spec/Simplified_SDIO_Card_Spec.pdf

回答

0

我的SPI數據速率小於1 Mbit/s的,當我試圖一次用錯了SPI時鐘的極性。仔細檢查一下,這也是一個可能的候選人,作爲你的「空閒」錯誤的來源。