關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > C8051F020在SD卡主控制器設計中的應用

C8051F020在SD卡主控制器設計中的應用

作者: 時間:2011-06-24 來源:網絡 收藏

  3.3V的工作電壓,與卡工作電壓兼容。

  時鐘系統(tǒng)更加完善,可以使用內部時鐘,也可以使用外部時鐘。

  可實現通過JTAG接口的在系統(tǒng)調試。

  C8051F系列單片機的SPI串行接口的主要特點如下:全雙工,三線同步傳輸,即在發(fā)送的同時也能接受;可以工作在主機方式或從機方式;主機最大數據傳輸速率(位/秒)是系統(tǒng)時鐘頻率的1/2.因而最高可達10Mb/s;SPI位傳輸速率可通過編程選擇;發(fā)送結束設置中斷標志。發(fā)送期間不占用CPU時間;串行時鐘極性與相位可編程改變;具有寫沖突保護和總線競爭保護。

  對于的SPI系統(tǒng)。首先通過設置I/O端口功能選擇開關控制寄存器XBR0、XBR1、XBR2.將I/O端口P0.0、P0.1、P0.2、P0.3配置成SPI功能引腳SCK、MISO、MOSI和NSS。此時I/0端口P0.0、P0.1、P0.2、P0.3就組合成SPI接口了。SPI0CFG是SPI的配置寄存器,用于配置SPI的工作方式。并反映通信過程中的數據發(fā)送狀態(tài)。并反映通信過程中的一些錯誤標志,SPI0CKR是SPI的時鐘速率寄存器,用于選擇SCK輸出的頻率。

  主卡座的電路連接圖如圖3所示。除了SPI接口的連接外,還有三根控制線,P0.4__INSERT就是I/O端口P0.4,用于檢測SD卡在卡座上是否插好。完全插入時該引腳為低電平,否則為高電平。P0.5_SD_WP就是I/O端口P0.5,用于檢測SD卡當前是否設置寫保護。寫保護時該引腳為高電平,否則為低電平。P0.6_SD_POWER就是I/O端口P0.6,用于SD卡的供電控制,這是為了在SD卡進入不確定狀態(tài)時,可以通過對卡重新上電復位而無需拔出卡。

  3 軟件

  硬件抽象層包括訪問SD卡的硬件環(huán)境配置、SPI接口實現通訊的基本函數以及SPI中斷的處理。硬件環(huán)境配置包括硬件初始化、以及內存變量初始化等。SPI接口實現通訊的基本函數,包括主向SD卡發(fā)送一字節(jié)和從SD卡讀取一字節(jié)的基本函數,這是所有SPI通訊的基礎。SPI中斷處理是SPI接口產生中斷時。中斷服務程序被自動調用,在中斷服務程序中,讀取SPI控制寄存器。這里存放著產生中斷的各種狀態(tài)標志,根據不同的狀態(tài)標志,調用不同的函數處理。

  命令層,就是調用硬件抽象層的基本發(fā)送接收字節(jié)函數,實現SD卡所有SPI協議規(guī)定的命令。根據SD卡協議,訪問SD卡的不同功能,由不同的命令實現。這些命令分成0—9個不同的類別。每種類別包括幾個具體的命令,對于SPI協議,每個命令都由主機主動發(fā)送。高位在前低位在后,SD卡收到命令后。根據不同的命令做出不同的響應。主機發(fā)送的命令長度總是6個字節(jié)。命令的格式如表2所示,Command表示命令號,占用6位,Parameter表示命令參數,長度為4字節(jié),不同的命令對應不同的命令參數值。SD卡的響應有4種格式,分別為R1、R1B、R2和R3格式。

  表2 SPI模式命令格式

  字節(jié)6 字節(jié)2~5 字節(jié)1

  0 1 Command Parameter(高位在前) CRC 1

  層函數提供客戶程序訪問SD卡的高級接口函數。使客戶不需要知道SD卡的內部結構和命令內容、不需要知道SPI的接口協議等基本內容,客戶程序只需要簡單地調用接口函數了解SD卡的當前狀態(tài)、讀取自己需要的內容或寫入自己的內容。層程序是在命令層基礎上的更高抽象,調用命令層函數實現

  4 結論

  本文將SD卡存儲方式運用到飛機飛行數據采集系統(tǒng),簡化了采集系統(tǒng)的,減小了系統(tǒng)尺寸,提高了系統(tǒng)的可靠性,使采集數據的讀出變得簡單易行。由于原有數據采集系統(tǒng),采用8051單片機作主,本次選用與8051完全兼容的高性能單片機。既繼承了原有采集系統(tǒng)的設計,又滿足了訪問SD卡的功能要求,加快了整個系統(tǒng)的設計進程。


風力發(fā)電機相關文章:風力發(fā)電機原理

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉