《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > C8051F020在SD卡主控制器設計中的應用
C8051F020在SD卡主控制器設計中的應用
維庫
摘要: 本文將SD卡存儲方式運用到飛機飛行數據采集系統,簡化了采集系統的設計,減小了系統尺寸,提高了系統的可靠性,使采集數據的讀出變得簡單易行。由于原有數據采集系統,采用8051單片機作主控制器,本次設計選用與8051完全兼容的高性能單片機C8051F020。既繼承了原有采集系統的設計,又滿足了訪問SD卡的功能要求,加快了整個系統的設計進程。
Abstract:
Key words :

1 引言

  飛機飛行狀況監測及數據采集儀。用于采集飛機試飛時的各種飛行數據,要求大量的存儲容量。它具有功能強、性價比高、安裝和使用方便的特點。采集儀可以根據用戶的要求進行配置,對八路傳感器輸入信號進行調理、采樣及數據處理,將測量結果實時動態顯示,并通過其報警功能,實現設備故障預警。采集儀既可以單機獨立工作,也可以通過RS-485總線將多達16臺采集儀與計算機聯機組成在線監測系統。應用范圍包括各種不同類型的電機、風機、泵、齒輪箱、軋機、風力發電機、電站和離心機,以及各種機械設備常見故障的狀態監測等。

  2 硬件功能原理與設計

  SD卡的外形和接口如圖1所示。根據SD卡與主控制器的通信協議不同,SD卡對外提供兩種訪問模式:SD模式和SPI模式。所用通信模式不同,SD卡引腳的功能也不同,具體引腳功能如表1所示。在具體通信過程中,主機只能選擇其中一種通信模式。通信模式的選擇對于主控制器來說是透明的,卡會自動檢測復位命令的通信協議模式,而且通信模式一旦選定,系統在通電情況下不能改變。SD模式下,主控制器使用SD總線訪問SD卡。可通常的單片機沒有硬件SD總線,盡管可以借助通用口線用軟件仿真,但訪問速度較低,還要大量占用CPU時間,而單片機多具有SPI總線。

SD卡的形狀與接口

SD卡引腳定義

  注:S--電源;I--輸入;O--推挽輸出;PP--推挽I/O。

  在SPI總線模式下。CS為主控制器向卡發送的片選信號,SCLK為主控制器向卡發送的時鐘信號。DI(DataIn)為主控制器向卡發送的單向數據信號,DO(DataOut)為卡向主控制器發送的單向數據信號。SD卡的內部結構如圖2所示,還具有卡接口控制器、寄存器以及SD和SPI兩種模式的對外接口等。外部主控制器訪問卡的外部信號線并不與存儲器單元直接相連,而是通過卡的接口控制器與存儲器單元接口相連。卡內存儲單元的讀,擦,寫由卡接口控制器根據主控制器的命令自動處理完成,而主控制器無須知道卡內是如何操作、管理存儲單元的。SD卡內部有6個信息寄存器,用來設置和保存操作卡的關鍵信息,有兩個狀態寄存器,用來記錄操作卡的當前狀態。

  采集儀的主控制器采用了C8051F020單片機。C8051F020是完全集成的混合信號系統級MCU芯片。這個系列單片機與8051在指令上完全兼容,性能遠遠高于標準的8051單片機。又擴展了豐富的外設,是一種名副其實的SOC (System On Chip)單片機,與SD卡系統相關的特性如下:

SD卡內部結構

  單片機內部采用流水線結構。指令運行速度高。指令運行速度比一般的80C51系列單片機提高了大約10倍。

  具有SPI 硬件接口。可與SD卡的SPI 總線很好接口。

  具有8個8位I/O端口。除滿足數據采集需要外。有足夠的口線用于單片機與SD卡的連接。而且。這些口線可通過軟件進行配置,獲得不同的功能,其中SPI 接口,就是通過配置相關寄存器而獲得的。

  具有可擴展的中斷系統。支持22個中斷源。

  片內存儲器包括64KB的Flash、和4KB的XRAM。不需要擴展存儲器。就可以滿足文件系統的建立和訪問SD 卡的需要。

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

  時鐘系統更加完善,可以使用內部時鐘,也可以使用外部時鐘。

  可實現通過JTAG接口的在系統調試。

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

  對于C8051F020的SPI系統。首先通過設置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的工作方式。并反映通信過程中的數據發送狀態。并反映通信過程中的一些錯誤標志,SPI0CKR是SPI的時鐘速率寄存器,用于選擇SCK輸出的頻率。

  主控制器C8051F020與SD卡座的電路連接圖如圖3所示。除了SPI接口的連接外,還有三根控制線,P0.4_SD_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卡進入不確定狀態時,可以通過對卡重新上電復位而無需拔出卡。

  3 軟件設計

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

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

  表2 SPI模式命令格式

  字節6 字節2~5 字節1

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

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

  4 結論

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


 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 中文国产日韩欧美视频 | 欧美日本国产 | 欧美国产伦久久久久 | 国产成人精品高清在线 | 国产第2页 | 在线 中文字幕 日韩 欧美 | 亚洲欧美精品一区天堂久久 | 国产一级视频播放 | 久草一级片 | 欧美一级毛片免费大全 | 亚洲精品专区一区二区欧美 | www.日本免费 | 成人毛片免费观看视频在线 | 久久国产影视 | 国产精品亚洲精品不卡 | 国产精选在线视频 | 欧美日本一区视频免费 | 伊大人香蕉久久网 | 特别福利视频在线观看 | 国产黄色一级网站 | 亚洲aⅴ在线 | 亚洲欧美综合视频 | 国产手机在线精品 | 成年人午夜网站 | 婷婷国产成人久久精品激情 | 99久久精品国产9999高清 | 精品视频 久久久 | 欧洲亚洲一区二区三区 | 欧美aaa视频 | 国产精彩视频在线观看 | 欧美精品免费线视频观看视频 | 黄色视品 | 国产美女精品视频 | 萌白酱国产一区 | 精品久久一区 | 欧美级 | 老外一级毛片免费看 | 成人影院欧美大片免费看 | 日韩精品福利视频一区二区三区 | 国产欧美日韩精品a在线观看 | 久久精品一区二区免费看 |