基於FPGA的SD卡驅動設計


  最近調試了SD卡,遇到了一些小問題,記錄一下,分享一下。

1.    SD卡 卡槽旁邊的一個小開關

  我們平時見過的SD卡都是小的SD卡,可以放在手機上的。現在大多數的開發板上也是小的SD卡的卡槽,插入后,正好可以使用。但是如果想要用PC向里存儲一定的東西,還是需要一個讀卡器。讀卡器有USB型的,同時也有一個大大的SD卡卡槽,就是擴展成為一個大的SD卡。大的SD卡在筆記本上有專門的插槽(筆者的有)。但是在SD卡卡槽的一側有一個小的開關,這個小的開關是一個寫保護開關。一般情況下,以金屬接觸點向上為正方向。向上推,是可讀寫。向下推是,是只讀。這個在某些U盤上也有。

  如果PC寫不進去,說是被寫保護。先不要懷疑SD卡(U盤)壞了,首先考慮這個硬件寫保護。

  原理是:這個開關是一個機械性的開關,如果里面兩個金屬觸點接觸,就可以寫。否則,不能寫。

 

2.     SD卡的區分

  SD,SDHC,SDXC這三個都是SD卡,以容量區分。在進行地址讀寫,有一定的區別。

  SD卡,按照字節地址去寫(一般情況)。SDHC,SDXC卡,按照扇區地址進行讀寫(一般情況)。按照扇區還是字節地址和驅動協議也有一定的關系。

  一個扇區的大小為512字節。

 

3.    SD讀取不對的問題

  我們可以用控制器進行讀寫SD卡,地址就是按照自己的設計就可以。

  很多時候,我們需要用PC將一些數據放入到SD卡,然后通過控制器進行讀取。讀取時,需要知道數據存儲的地址。利用winhex軟件可以查到數據存放的地址。我們用控制器進行讀寫SD卡,利用winhex軟件查到的地址,有時讀出來的數據不正確。

  經過不斷的查找資料,發現利用winhxe軟件查詢數據存放地址時,可以有兩個地址:物理地址和邏輯地址。winhex軟件直接顯示的邏輯地址。

  控制器直接進行SD卡讀寫時,是按照物理地址進行讀寫的。所以需要利用winhex中的物理地址。

  winhex顯示物理地址一般在winhex軟件的右下側。

 

  希望對遇到同樣問題的學習者有用,有什么不對的地方,懇請大佬們指出。

 

  奮斗的小孩郝旭帥:18500739518(QQ、微信)。  交流群:173560979

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM