FPGA SD SPI初始化 讀步驟和寫步驟

2022-08-31 11:18:05 字數 783 閱讀 9197

一、sd卡初始化步驟

1、上電後延時至少74clock,等待sd卡內部操作完成。

2、片選cs低電平選中sd卡。

3、傳送cmd0( ),需要返回0x01,進入idle狀態。

4、為了區別sd卡是2.0還是1.0,或者是mmc卡,這裡根據協議向上相容的,首先傳送只有sd2.0才有的命令cmd8( cmd8= ),

如果cmd8返回無錯誤,則初步判斷為2.0卡,進一步傳送命令迴圈傳送cmd55 (8'h77, 8'h00, 8'h00, 8'h00, 8'h00, 8'hff)+ acmd41 ( ),直到返回0x00,確定是sd2.0卡。

5、如果cmd8返回錯誤則判斷為1.0卡或者mmc卡,迴圈傳送cmd55 + acmd41,返回無錯誤,則為sd1.0卡,到此sd1.0卡初始化成功,如果在一定的迴圈次數下,返回為錯誤,則進一步傳送cmd1進行初始化,

如果返回無錯誤,則確定是mmc卡,如果在一定的次數下,返回無錯誤,則不能識別該卡,初始化結束。

6、cs拉高。

二、sd卡讀步驟

1、傳送cmd17( )(單塊)或cmd18(多塊)讀命令,返回0x00。

2、接受資料開始令牌0xfe(或者0xfc) + 正式資料512bytes + crc校驗2bytes預設正式傳輸的資料長度是512bytes,可用cmd16設定塊長度。

三、sd卡寫步驟

1、傳送cmd24( )(單塊)或者cmd25(多塊)寫命令,返回0x00。

2、傳送資料開始令牌0xfe(或者 0xfc) + 正式資料512bytes + crc校驗2bytes。

SystemC 初始化步驟

環境 vc toolkit 2003 systemc 2.0.1 為了找出systemc定義了哪些全域性變數 靜態變數,我在crt src crt0dat.c的 void initterm pvfv pfbegin,pvfv pfend 函式中設下斷點,at line 598 if pfbegin ...

SystemC 初始化步驟

環境 vc toolkit 2003 systemc 2.0.1 為了找出systemc定義了哪些全域性變數 靜態變數,我在crt src crt0dat.c的 void initterm pvfv pfbegin,pvfv pfend 函式中設下斷點,at line 598 if pfbegin ...

lu 初始化設定步驟

yum webmin 編輯 etc fstab wget tar zxvf zijidelu install.tar.gz 2.修改 mysql版本 修改lun install config.sh裡面的版本號 在zijidelu install目錄下,優先權最高 不要使用rpm快速安裝。cd zij...