99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于C8051F020的SD卡主控制器設(shè)計,SD card controller

454398 ? 2018-09-20 19:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于C8051F020的SD卡主控制器設(shè)計,SD card controller

關(guān)鍵字:基于C8051F020的SD卡主控制器設(shè)計

1 引言
飛機飛行狀況監(jiān)測及數(shù)據(jù)采集儀.用于采集飛機試飛時的各種飛行數(shù)據(jù),要求大量的存儲容量。在飛機回到地面后,需要方便地將采集數(shù)據(jù)傳輸?shù)酵ㄓ糜嬎銠C上,以便作進一步的數(shù)據(jù)處理和分析。為了把采集的數(shù)據(jù)從采集系統(tǒng)傳輸?shù)酵ㄓ糜嬎銠C內(nèi).在過去,是將數(shù)據(jù)存儲部分設(shè)計為可分離的一個存儲板,數(shù)據(jù)存儲板上設(shè)計有CPU和串口。將數(shù)據(jù)存儲板從數(shù)據(jù)采集系統(tǒng)上取下來,通過串口與通用計算機通信,將數(shù)據(jù)傳輸?shù)酵ㄓ糜嬎銠C內(nèi)??梢钥闯?。這種方法有幾個缺點:第一,操作麻煩,每次都要將存儲板從采集系統(tǒng)取下來,然后再裝上;第二,經(jīng)常插拔存儲板降低整個采集系統(tǒng)的可靠性:第三,讀取數(shù)據(jù)的通用計算機需要安裝專用程序。此程序是專門開發(fā)用于通用計算機與數(shù)據(jù)存儲板之間的串口通信程序,增加了使用復(fù)雜性。SD/MMC卡是一種容量大(最大可達4GB)、性價比高、體積小、訪問接口簡單的存儲卡,而且通過USB讀卡器,可以很方便地將卡中文件拷貝到通用計算機中。目前,SD卡已大量用于數(shù)碼相機、MP3、手機與大容量存儲設(shè)備中。在本次飛行狀況監(jiān)測及數(shù)據(jù)采集儀的設(shè)計中,采集數(shù)據(jù)的存儲采用了SD卡。

2 硬件功能原理與設(shè)計
SD卡的外形和接口如圖1所示。根據(jù)SD卡與主控制器的通信協(xié)議不同,SD卡對外提供兩種訪問模式:SD模式和SPI模式。所用通信模式不同,SD卡引腳的功能也不同,具體引腳功能如表1所示。在具體通信過程中,主機只能選擇其中一種通信模式。通信模式的選擇對于主控制器來說是透明的,卡會自動檢測復(fù)位命令的通信協(xié)議模式,而且通信模式一旦選定,系統(tǒng)在通電情況下不能改變。SD模式下,主控制器使用SD總線訪問SD卡。可通常的單片機沒有硬件SD總線,盡管可以借助通用口線用軟件仿真,但訪問速度較低,還要大量占用CPU時間,而單片機多具有SPI總線,本文就利用SPI總線實現(xiàn)對SD卡的訪問。下面主要介紹SPI總線方式。
?
?
注:S--電源;I--輸入;O--推挽輸出;PP--推挽I/O。
在SPI總線模式下.CS為主控制器向卡發(fā)送的片選信號,SCLK為主控制器向卡發(fā)送的時鐘信號。DI(DataIn)為主控制器向卡發(fā)送的單向數(shù)據(jù)信號,DO(DataOut)為卡向主控制器發(fā)送的單向數(shù)據(jù)信號。SD卡的內(nèi)部結(jié)構(gòu)如圖2所示,SD卡內(nèi)部除了具有大量存儲單元外。還具有卡接口控制器、寄存器以及SD和SPI兩種模式的對外接口等。外部主控制器訪問卡的外部信號線并不與存儲器單元直接相連,而是通過卡的接口控制器與存儲器單元接口相連。這樣主控制器并不直接訪問存儲器,而是通過卡的接口控制器來訪問存儲器??▋?nèi)存儲單元的讀,擦,寫由卡接口控制器根據(jù)主控制器的命令自動處理完成,而主控制器無須知道卡內(nèi)是如何操作、管理存儲單元的,這將大大減輕主控制器對存儲器操作的負擔(dān)。SD卡內(nèi)部有6個信息寄存器,用來設(shè)置和保存操作卡的關(guān)鍵信息,有兩個狀態(tài)寄存器,用來記錄操作卡的當(dāng)前狀態(tài)。
?
采集儀的主控制器采用了C8051F020單片機。C8051F系列單片機與8051在指令上完全兼容,性能遠遠高于標(biāo)準(zhǔn)的8051單片機,片內(nèi)除了具有8052的全部外設(shè)外.又擴展了豐富的外設(shè),是一種名副其實的SOC (System On Chip)單片機。C8051F020能夠滿足數(shù)據(jù)采集功能外,還能很容易地實現(xiàn)SD卡的訪問。與SD卡系統(tǒng)相關(guān)的特性如下:

  • 單片機內(nèi)部采用流水線結(jié)構(gòu)。指令運行速度高.指令運行速度比一般的80C51系列單片機提高了大約10倍. 可達25MIPS指令運行速度,滿足高速操作SD卡的功能要求。
  • 具有SPI 硬件接口??膳cSD卡的SPI 總線很好接口。
  • 具有8個8位I/O端口。除滿足數(shù)據(jù)采集需要外。有足夠的口線用于單片機與SD卡的連接。而且.這些口線可通過軟件進行配置,獲得不同的功能,其中SPI 接口,就是通過配置相關(guān)寄存器而獲得的。
  • 具有可擴展的中斷系統(tǒng)。支持22個中斷源.2個優(yōu)先級,其中就包括SPI接口產(chǎn)生的中斷。
  • 片內(nèi)存儲器包括64KB的Flash、和4KB的XRAM。不需要擴展存儲器.就可以滿足文件系統(tǒng)的建立和訪問SD 卡的需要。
  • 3.3V的工作電壓,與SD卡工作電壓兼容。
  • 時鐘系統(tǒng)更加完善.可以使用內(nèi)部時鐘.也可以使用外部時鐘。通過編程可以切換。
  • 可實現(xiàn)通過JTAG接口的在系統(tǒng)調(diào)試。方便系統(tǒng)的開發(fā)。

C8051F系列單片機的SPI串行接口的主要特點如下:全雙工,三線同步傳輸,即在發(fā)送的同時也能接受;可以工作在主機方式或從機方式;主機最大數(shù)據(jù)傳輸速率(位/秒)是系統(tǒng)時鐘頻率的1/2.因而最高可達10Mb/s;SPI位傳輸速率可通過編程選擇;發(fā)送結(jié)束設(shè)置中斷標(biāo)志.發(fā)送期間不占用CPU時間;串行時鐘極性與相位可編程改變;具有寫沖突保護和總線競爭保護。
對于C8051F020的SPI系統(tǒng).首先通過設(shè)置I/O端口功能選擇開關(guān)控制寄存器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接口了。而設(shè)置和控制SPI接口性能的特殊功能寄存器有SPI0CFG、SPI0CKR、SPI0CN、SPI0DAT。SPI0CFG是SPI的配置寄存器,用于配置SPI的工作方式。并反映通信過程中的數(shù)據(jù)發(fā)送狀態(tài)。SPI0CN是SPI控制寄存器.用于控制SPI的工作.并反映通信過程中的一些錯誤標(biāo)志。SPI0CKR是SPI的時鐘速率寄存器.用于選擇SCK輸出的頻率。SPI0DAT是SPI的數(shù)據(jù)寄存器,用于發(fā)送和接受SPI數(shù)據(jù)。
主控制器C8051F020與SD卡座的電路連接圖如圖3所示。除了SPI接口的連接外,還有三根控制線,P0.4_SD_INSERT就是I/O端口P0.4,用于檢測SD卡在卡座上是否插好。完全插入時該引腳為低電平,否則為高電平。P0.5_SD_WP就是I/O端口P0.5,用于檢測SD卡當(dāng)前是否設(shè)置寫保護.寫保護時該引腳為高電平,否則為低電平。P0.6_SD_POWER就是I/O端口P0.6,用于SD卡的供電控制,該引腳輸出低電平時。給卡供電。否則斷電。這是為了在SD卡進入不確定狀態(tài)時,可以通過對卡重新上電復(fù)位而無需拔出卡。
?

3 軟件設(shè)計
軟件設(shè)計思想是,為了程序的可移植性和易用性。將程序分為三個層次。第一個層次是硬件抽象層。第二層是實現(xiàn)訪問SD卡的命令層,第三層是應(yīng)用層,提供給用戶或文件系統(tǒng)的接口函數(shù)。
硬件抽象層包括訪問SD卡的硬件環(huán)境配置、SPI接口實現(xiàn)通訊的基本函數(shù)以及SPI中斷的處理。硬件環(huán)境配置包括硬件初始化、以及內(nèi)存變量初始化等。如將C8051F020的I/O端口配置為SPI接口的相關(guān)設(shè)置、C8051F020的SPI接口性能的設(shè)置、SD卡的上電與斷開、SD卡插入是否到位檢測、SD卡內(nèi)部寄存器特定參數(shù)設(shè)置等等。又如C8051F020的SPI接口性能的設(shè)置,包括主/從工作方式設(shè)置、SPI通訊頻率設(shè)置等等,這些內(nèi)容都與硬件有關(guān)。SPI接口實現(xiàn)通訊的基本函數(shù),包括主控制器向SD卡發(fā)送一字節(jié)和從SD卡讀取一字節(jié)的基本函數(shù),這是所有SPI通訊的基礎(chǔ)。SPI中斷處理是SPI接口產(chǎn)生中斷時.中斷服務(wù)程序被自動調(diào)用,在中斷服務(wù)程序中,讀取SPI控制寄存器。這里存放著產(chǎn)生中斷的各種狀態(tài)標(biāo)志,根據(jù)不同的狀態(tài)標(biāo)志,調(diào)用不同的函數(shù)處理。
命令層,就是調(diào)用硬件抽象層的基本發(fā)送接收字節(jié)函數(shù),實現(xiàn)SD卡所有SPI協(xié)議規(guī)定的命令.完成對SD卡的訪問。根據(jù)SD卡協(xié)議,訪問SD卡的不同功能,由不同的命令實現(xiàn)。這些命令分成0—9個不同的類別.每種類別包括幾個具體的命令,對于SPI協(xié)議,每個命令都由主機主動發(fā)送。高位在前低位在后,SD卡收到命令后.根據(jù)不同的命令做出不同的響應(yīng)。主機發(fā)送的命令長度總是6個字節(jié).命令的格式如表2所示。Command表示命令號,占用6位,Parameter表示命令參數(shù),長度為4字節(jié),不同的命令對應(yīng)不同的命令參數(shù)值。SD卡的響應(yīng)有4種格式,分別為R1、R1B、R2和R3格式。主機發(fā)送命令并讀取響應(yīng)形成一個完整的命令實現(xiàn)過程。

  1. <menuitem id="mc4rh"></menuitem>

    <sup id="mc4rh"></sup>
    表2 SPI模式命令格式
    聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
    收藏 人收藏
    加入交流群
    微信小助手二維碼

    掃碼添加小助手

    加入工程師交流群

      評論

      相關(guān)推薦
      熱點推薦

      【STM32系統(tǒng)】基于STM32設(shè)計的SD數(shù)據(jù)讀取與上位機顯示系統(tǒng)(SDIO接口驅(qū)動、雷龍貼片SD

      _bilibili   基于STM32設(shè)計的SD數(shù)據(jù)讀取與上位機顯示系統(tǒng)   簡介:本研究的主要目的是基于STM32F103微控制器,設(shè)計一個能夠讀取
      發(fā)表于 05-09 16:11

      Nand flash 和SDSD NAND)存儲扇區(qū)分配表異同

      系統(tǒng)、固態(tài)硬盤等,其訪問通常是通過特定的控制器和驅(qū)動程序進行底層操作,對存儲扇區(qū)分配表的訪問和管理較為直接和底層化。 SDSD NAND)則廣泛應(yīng)用于移動設(shè)備、相機等,通過
      發(fā)表于 03-13 10:45

      EE-335:SD與Blackfin處理的接口

      電子發(fā)燒友網(wǎng)站提供《EE-335:SD與Blackfin處理的接口.pdf》資料免費下載
      發(fā)表于 01-06 14:15 ?0次下載
      EE-335:<b class='flag-5'>SD</b><b class='flag-5'>卡</b>與Blackfin處理<b class='flag-5'>器</b>的接口

      【正點原子STM32H7R3開發(fā)套件試用體驗】SD、音樂播放

      【正點原子STM32H7R3開發(fā)套件試用體驗】SD、音樂播放 本文介紹了單片機開發(fā)過程中常用的 SD 的讀寫相關(guān)功能,以及使用正點原子
      發(fā)表于 01-01 15:33

      STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

      STM32F407微控制器單元(MCU)與SD NAND的結(jié)合提供了強大的存儲解決方案。然而,不斷電初始化失效問題可能會導(dǎo)致系統(tǒng)穩(wěn)定性和數(shù)據(jù)完整性受損。我們將STM32F407與
      的頭像 發(fā)表于 12-11 10:51 ?943次閱讀
      STM32<b class='flag-5'>F</b>407 MCU使用<b class='flag-5'>SD</b> NAND?不斷電初始化失效解決方案

      SD NAND 概述

      SD NAND是一種小型、可表面貼裝的存儲解決方案,適用于各種嵌入式系統(tǒng)和便攜式設(shè)備。SD NAND技術(shù)是近年來在存儲領(lǐng)域內(nèi)的一項創(chuàng)新,它結(jié)合了傳統(tǒng)SD/TF的功能與NAND閃存的持
      的頭像 發(fā)表于 12-06 11:21 ?714次閱讀

      C8051F020的SPI接口通信,用示波器看SPI輸出的時序沒問題,但沒有數(shù)據(jù)從DAC1282返回,為什么?

      專家好,我已按照datasheet得原理制作PCB版,調(diào)試過程中遇到兩個問題: 1、用C8051F020的SPI接口通信,用示波器看SPI輸出的時序沒問題,但沒有數(shù)據(jù)從DAC1282返回,且輸出
      發(fā)表于 12-05 07:14

      工業(yè)級SD:穩(wěn)健發(fā)展,未來可期

      SD,自1999年由松下、東芝和SanDisk聯(lián)合推出以來,已經(jīng)走過了二十余年的發(fā)展歷程。從最初的2GB容量、150KB/s的傳輸速度,到如今動輒數(shù)百GB容量、數(shù)GB/s的傳輸速度,SD
      的頭像 發(fā)表于 11-07 10:16 ?791次閱讀
      工業(yè)級<b class='flag-5'>SD</b><b class='flag-5'>卡</b>:穩(wěn)健發(fā)展,未來可期

      SD/MMC與TMS320F28xxx DSC的接口

      電子發(fā)燒友網(wǎng)站提供《SD/MMC與TMS320F28xxx DSC的接口.pdf》資料免費下載
      發(fā)表于 10-15 09:44 ?0次下載
      <b class='flag-5'>SD</b>/MMC<b class='flag-5'>卡</b>與TMS320<b class='flag-5'>F</b>28xxx DSC的接口

      瀚海微SD NAND之SD 協(xié)議(36)SPI模式

      簡介 SPI模式由基于flash的SD存儲提供的輔助通信協(xié)議組成。 這種模式是SD存儲協(xié)議的一個子集,設(shè)計用于與SPI通道通信,通常在摩托羅拉(以及最近一些其他供應(yīng)商)的微
      的頭像 發(fā)表于 10-08 10:13 ?681次閱讀
      瀚海微<b class='flag-5'>SD</b> NAND之<b class='flag-5'>SD</b> 協(xié)議(36)SPI模式

      這樣設(shè)計SD/TF的PCB更高效、更可靠!

      SD 是一種基于半導(dǎo)體快閃存儲的新一代高速存儲設(shè)備,它是目前應(yīng)用最廣泛的數(shù)字存儲之一。SD
      的頭像 發(fā)表于 09-03 17:05 ?1472次閱讀
      這樣設(shè)計<b class='flag-5'>SD</b>/TF<b class='flag-5'>卡</b>的PCB更高效、更可靠!

      這樣設(shè)計SD/TF的PCB更高效、更可靠!

      SD是一種基于半導(dǎo)體快閃存儲的新一代高速存儲設(shè)備,它是目前應(yīng)用最廣泛的數(shù)字存儲之一。SD
      發(fā)表于 09-03 17:01

      樹莓派4b支持多大的sd

      派4B支持的SD類型 樹莓派4B支持的SD類型主要有以下幾種: 1.1 SD(Secure
      的頭像 發(fā)表于 08-30 17:02 ?2478次閱讀

      如何選擇高品質(zhì)SD存儲

      SD(Secure Digital Memory Card)是一種廣泛使用的存儲器件,因其快速的數(shù)據(jù)傳輸速度、可熱插拔的特性以及較大的存儲容量,廣泛應(yīng)用于各種場景,例如在便攜式設(shè)備如智能手機、平板
      的頭像 發(fā)表于 08-22 16:12 ?777次閱讀
      如何選擇高品質(zhì)<b class='flag-5'>SD</b>存儲<b class='flag-5'>卡</b>

      訪問SD問題

      在對SD初始化完成后,像讀取SD內(nèi)數(shù)據(jù),訪問扇區(qū)的話,這個參數(shù)是物理扇區(qū)號,還是邏輯扇區(qū)號?
      發(fā)表于 07-29 22:09