




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共2頁摘要3??ǎ⊿ecureDigitalMemoryCard)中文翻譯為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機、個人數(shù)碼助理(PDA)和多媒體播放器等。本實訓(xùn)的作品是利用基于ARMCotex-M3內(nèi)核的嵌入式處理器STM32自帶的SDIO硬件接口來驅(qū)動SD卡,并結(jié)合文件系統(tǒng)FATFSR0.07C來完成一個基于嵌入式ARM的SD卡讀寫的作品,現(xiàn)實向SD卡寫入一個txt文件,并讀取SD卡的文件目標(biāo)并通過串口打印到PC機顯示。關(guān)鍵詞:嵌入式;ARM;STM32;SD卡;文件系統(tǒng)AbstractS
2、DCard(SecureDigitalMemoryCard)ChinesetranslationforSecureDigitalCard,itisakindofbasedonsemiconductorflashMemoryofanewgenerationofMemorydevice,itiswidelyusedinportabledevices,suchasDigitalcameras,personalDigitalassistant(PDA)andmultimediaplayer,etc.ThistrainingworkisbasedonARMCotex-M3kernelembeddedpr
3、ocessorSTM32ownSDIOhardwareinterfacetodrivetheSDcard,andcombinedwiththefilesystemFATFSR0.07CtocompleteabasedonembeddedARMoftheSDcard,speaking,readingandwritingwork,realitytoSDcardtoaTXTfile,andreadSDcardfilegoalsandthroughtheserialportprinttoPCdisplay.Keywords:embedded;ARM;STM32;SDCard;Filesystem桂林電
4、子科技大學(xué)實訓(xùn)(論文)報告用紙第1頁共1頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第1頁共1頁目錄TOC o 1-5 h z HYPERLINK l bookmark0 o Current Document 前言1 HYPERLINK l bookmark2 o Current Document ARM應(yīng)用背景1 HYPERLINK l bookmark4 o Current Document 研究內(nèi)容2 HYPERLINK l bookmark6 o Current Document 研究成果3 HYPERLINK l bookmark8 o Current Document STM32處理器概
5、述3 HYPERLINK l bookmark10 o Current Document STM32簡介3 HYPERLINK l bookmark12 o Current Document STM32F103VET6的參數(shù)4 HYPERLINK l bookmark16 o Current Document 內(nèi)部資源6 HYPERLINK l bookmark18 o Current Document CORTEX-M3內(nèi)核簡介6 HYPERLINK l bookmark20 o Current Document STM32SDIO簡介7SDIO簡介7SDIO功能特性8 HYPERLINK
6、l bookmark28 o Current Document SDIO的原理及實現(xiàn)方法8 HYPERLINK l bookmark30 o Current Document 3.1原理9 HYPERLINK l bookmark36 o Current Document SDIO適配器10 HYPERLINK l bookmark38 o Current Document SDIO卡識別過程11 HYPERLINK l bookmark50 o Current Document SDIO寫數(shù)據(jù)塊12 HYPERLINK l bookmark52 o Current Document SDIO
7、讀數(shù)據(jù)塊13 HYPERLINK l bookmark56 o Current Document FATFS文件系統(tǒng)13 HYPERLINK l bookmark58 o Current Document FATFS文件系統(tǒng)簡介13 HYPERLINK l bookmark60 o Current Document FATFS文件系統(tǒng)移植144.2.1移植前工作14開始移植14 HYPERLINK l bookmark62 o Current Document 測試及結(jié)果15 HYPERLINK l bookmark64 o Current Document 5.1JTAG仿真器介紹16 HY
8、PERLINK l bookmark84 o Current Document 現(xiàn)象及結(jié)果16 HYPERLINK l bookmark86 o Current Document 結(jié)論18致謝19 HYPERLINK l bookmark88 o Current Document 參考文獻20桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁1前言ARM應(yīng)用背景如今,學(xué)習(xí)一種處理器的就有許多ARM內(nèi)核的處理器可供使用,現(xiàn)在社會已步入嵌入式學(xué)習(xí)階段。在嵌入式領(lǐng)域,8位處理器已經(jīng)不再勝任一些復(fù)雜的應(yīng)用,比如GUI,TCP/IP,F(xiàn)ILESYSTEM
9、等,而ARM芯片憑借強大的處理能力和極低的功耗,非常適合這些場合?,F(xiàn)在越來越多的產(chǎn)品在選型的時候考慮到使用ARM處理器,ARM的應(yīng)用是相當(dāng)?shù)膹V泛。ARM的嵌入式控制應(yīng)用如:汽車、電子設(shè)備、保安設(shè)備、大容量存儲器、調(diào)制解調(diào)器、打印機等。一個典型的ARM嵌入式工業(yè)控制系統(tǒng)的功能模塊如圖1-1所示。LCD鍵盤主機EPRAI/O圖1-1ARM嵌入式工業(yè)控制系統(tǒng)的功能模塊目前已有超過85%的無線通信設(shè)備采用了ARM技術(shù),ARM以其高性能和低成本,在該領(lǐng)域的地位日益鞏固。ARM在此方面的應(yīng)用如:手提式計算機、移動電話、PDA等。隨著寬帶技術(shù)的推廣,采用ARM技術(shù)的ADSL芯片正逐步獲得競爭優(yōu)勢。此外,AR
10、M在語音及視頻處理上進行了優(yōu)化,并獲得廣泛支持。ARM技術(shù)在目前流行的數(shù)字音頻播放器、數(shù)字機頂盒、游戲機、數(shù)碼相機、數(shù)字式電視機、GPS、機頂盒中得到廣泛采用。現(xiàn)在流行的數(shù)碼相機和打印機中絕大部分采用ARM技術(shù),手機中的32位SIM智能卡也采用了ARM技術(shù)。如圖1-2所示是基于ARM技術(shù)的數(shù)碼相機的功能模塊9tab.aa/r控制電ADCCCD*_arm處理器路和編碼電主機LCD圖1-2基于ArM技術(shù)的數(shù)碼相控的功能模塊1.2研究內(nèi)容本設(shè)計旨在加深對ARM的學(xué)習(xí),鞏固大學(xué)四年所學(xué)專業(yè)知識,提升動手能力和思考問題解決問題的能力。本設(shè)計選擇意法半導(dǎo)體的STM32F103系列處理器,通過自制STM32
11、開發(fā)板的過程,和對STM32F103C8T6芯片的研究學(xué)習(xí),掌握其各種外設(shè)功能。STM32F103VET6具有一個SDIO接口。SD/SDIO/MMC主機接口可以支持MMC卡系統(tǒng)規(guī)范4.2版中的3個不同的數(shù)據(jù)總線模式:1位(默認(rèn))、4位和8位。在8位模式下,該接口可以使數(shù)據(jù)傳輸速率達到48MHz,該接口兼容SD存儲卡規(guī)范2.0版。SDIO存儲卡規(guī)范2.0版支持兩種數(shù)據(jù)總線模式:1位(默認(rèn))和4位。目前的芯片版本只能一次支持一個SD/SDIO/MMC4.2版的卡,但可以同時支持多個MMC4.1版或之前版本的卡。除了SD/SDIO/MMC,這個接口完全與CE-ATA數(shù)字協(xié)議版本1.1兼容。本實訓(xùn)的
12、作品是利用基于ARMCotex-M3內(nèi)核的嵌入式處理器STM32自帶的SDIO硬件接口來驅(qū)動SD卡,并結(jié)合文件系統(tǒng)FATFSR0.07C來完成一個基于嵌入式ARM的SD卡讀寫的作品,現(xiàn)實向SD卡寫入一個txt文件,并讀取SD卡的文件目標(biāo)并通過串口打印到PC機顯示。本文第一章講述了該論文寫作背景,主要闡述了ARM應(yīng)用范疇,以及該論文研究的內(nèi)容;第二章講述了該研究課題使用的核心芯片STM32F103VET6的各項參數(shù);第三章著重介紹了SDIO的原理及實現(xiàn)方法;第四章著重介紹了FAT文件系統(tǒng)的原理;第五章介紹了測試方法和結(jié)果。研究成果給硬件系統(tǒng)供電(5V),插上JLINK,插上串口線(兩頭都是母的交
13、叉線),插上MicroSD卡,打開超級終端,配置超級終端為1152008-N-1,將編譯好的程序下載到硬件平臺,即可看到超級終端打印出如下信息:圖1-3顯示結(jié)果圖2STM32處理器概述STM32簡介STM32F103xx增強型系列使用高性能的ARM/Cortex-M3/32位的RISC內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲器(高達128K字節(jié)的閃存和20K字節(jié)的SRAM),豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設(shè)。所有型號的器件都包含2個12位的ADC、3個通用16位定時器和一個PWM定時器,還包含標(biāo)準(zhǔn)和先進的通信接口:多達2個I2C和SPI、3個USART、一個USB和一個CAN。
14、STM32F103xx增強型系列工作于-40C至+105C的溫度范圍,供電電壓2.0V至3.6V,一系列的省電模式保證低功耗應(yīng)用的要求。完整的STM32F103xx增強型系列產(chǎn)品包括從36腳至100腳的五種不同封裝形式;根據(jù)不同的封裝形式,器件中的外設(shè)配置不盡相同。下面給出了該系列產(chǎn)品中所有外設(shè)的基本介紹。這些豐富的外設(shè)配置,使得STM32F103xx增強型微控制器適合于多種應(yīng)用場合:電機驅(qū)動和應(yīng)用控制;醫(yī)療和手持設(shè)備;PC外設(shè)和GPS平臺;工業(yè)應(yīng)用:可編程控制器、變頻器、打印機和掃描儀;警報系統(tǒng),視頻對講,和暖氣通風(fēng)空調(diào)系統(tǒng);STM32F103VET6的參數(shù)STM32F103VET6芯片的參
15、數(shù)如表2-1PEG匚VBATLPC13-TAMPER-RTC匚PC14-OSC32IN匚VSSAEVREF-EVREF+匚VDDA匸PAO-WKUP匚VDD_5匚OSCINCOSCOLFTLNAST匚表2-1器件功能和配置(STM32F103xx增強型)外設(shè)ST)l32F10mSW32F1O3CXSnS2F103KxSW32F103VX閃存(K字節(jié))32643264128326412564128RMKK字節(jié))1020102020102020定時雅通用23233233高級1111通信SPI12122122I2C12122122USART23233233USB11111111CAN11111111
16、通用I/O端口263251SO吃位同步ADC2通道2皿通道216通道CPU頻率72MHz工作電壓2.0至生6V工作溫度-40+85C/-40至4-105C封裝VFQFPN3&LQFP48LQFP64LjQFPI.00,BGA1.00芯片引腳圖如圖2-2:VDD_2VSS_2NCPA13PA12PA11PA10PA9PA8PCSPC8PC?peePD15PD14PD13PD12PD11PD10PD9PD8PB15PB14PB13PB12圖2-2STM32F103xx增強型LQPFP100管腳圖桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第6頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第6頁共24頁2.
17、2內(nèi)部資源STM32有豐富的內(nèi)部資源,如下所示:RealViewMDK(MiertocontrollerDevelopmentKit)基于ARM微控制器的專業(yè)嵌入式開發(fā)工具;內(nèi)置閃存存儲器;內(nèi)置SRAM;嵌套的向量式中斷控制器(NVIC);外部中斷/事件控制器(EXTI);時鐘和啟動;自舉模式;DMA;RTC(實時時鐘)和后備寄存器;窗口看門狗;I2C總線;通用同步/異步接受發(fā)送器(USART);串行外設(shè)接口(SPI);控制器區(qū)域網(wǎng)絡(luò)(CAN);通用串行總線(USB);通用輸入輸出接口(GPIO);ADC(模擬/數(shù)字轉(zhuǎn)換器);溫度傳感器;串行線JTAG調(diào)試口(SWJ-DP)。Cortex-M3
18、內(nèi)核簡介Cortex-M3內(nèi)核包含一個適用于傳統(tǒng)Thumb和新型Thumb-2指令的譯碼器、一個支持硬件乘法和硬件除法的先進ALU、控制邏輯和用于連接處理器其他部件的接口。Cortex-M3處理器是首款基于ARMv7-M架構(gòu)的ARM處理器。中央Cortex-M3內(nèi)核使用3級流水線哈佛架構(gòu),運用分支預(yù)測、單周期乘法和硬件除桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁法功能實現(xiàn)了出色的效率(1.25DMIPS/MHz)。Cortex-M3處理器是一個32位處理器,帶有32位寬的數(shù)據(jù)路徑、寄存器庫和基于傳統(tǒng)ARM7處理器的系統(tǒng)只支持訪問對齊的數(shù)
19、據(jù),沿著對齊的字邊界即可對數(shù)據(jù)進行訪問和存儲。Cortex-M3處理器采用非對齊數(shù)據(jù)訪問方式,使非對齊數(shù)據(jù)可以在單核訪問中進行傳輸。Cortex-M3處理器是專為那些對成本和功耗非常敏感但同時對性能要求又相當(dāng)高的應(yīng)用而設(shè)計的。憑借縮小的內(nèi)核尺寸和出色的中斷延遲性能、集成的系統(tǒng)部件、靈活的配置、簡單的高級編程和強大的軟件系統(tǒng),Cortex-M3處理器將成為從復(fù)雜的芯片系統(tǒng)到低端微控制器等各種系統(tǒng)的理想解決方案。表2-3為Cortex-M3處理器與ARM7作比較。表2-3Cortex-M3與ARM7相比較比較項目ARM7Cortex-M3架構(gòu)ARMv4T(馮諾依曼)指令和數(shù)據(jù)總線共用,會出現(xiàn)瓶頸A
20、RMv7-M(皓佛)指令和數(shù)據(jù)總線分開,無瓶頸指令集32位ARM指令+16位Tlnuiib指令兩套指令之間需要進行狀態(tài)切換Tluunb/Thiunb-2指令集16位和32位指令可直接混寫,無需狀態(tài)切換流水線3級流水線若出現(xiàn)轉(zhuǎn)移則需要刷新流水線,損失慘重3級流水線+分支預(yù)測出現(xiàn)轉(zhuǎn)移時流水線無需刷新,幾乎無損失性能0.95DNnPS/MHz(ARM模式)1.25DMIPS/MHZ功耗0.28mWZMHz0.19mW/MHz低功耗模式無內(nèi)置睡眠模式面積0.62nmi2(僅內(nèi)核)0.86nmi2(內(nèi)核+外設(shè)中斷普通中斷IRQ和快速中斷HQ太少,大量外設(shè)不得不復(fù)用中斷不可屏蔽中斷NMI+1240個物理中
21、斷每個外設(shè)都可以獨占一個中斷,效率高中斷延遲2442個時鐘周期,緩慢12個時鐘周期,最快只需6個中斷壓橈軟件手工壓橈,代碼長且效率低硬件自動壓楊,無需代碼且效率高存儲器保護無8段存儲器保護單元MPU)內(nèi)核寄存器寄存器分為多組,結(jié)構(gòu)復(fù)雜,占核面積多寄存器不分組SP除外),結(jié)構(gòu)簡單工作模式7種工作模式,比較復(fù)雜只有線程模式和處理模式兩種,簡單乘除法指令多周期乘法指令,無除法指令單周期乘法指令,212周期除法指令位操作無訪問外設(shè)寄存器需分“讀-改-寫”3步走先進的Bit-band位操作技術(shù)可直接訪間外設(shè)寄存器的某個位系統(tǒng)節(jié)拍定時無內(nèi)置系統(tǒng)節(jié)拍定時器,有利于操作系統(tǒng)移植STM32SDIO簡介2.4.1
22、SDIO簡介STM32F103VET6具有一個SDIO接口。SD/SDIO/MMC主機接口可以支持MMC卡系統(tǒng)規(guī)范4.2版中的3個不同的數(shù)據(jù)總線模式:1位(默認(rèn))、4位和8位。在8位模式下,該接口可以使數(shù)據(jù)傳輸速率達到48MHz,該接口兼容SD存儲卡規(guī)范2.0版。SDIO存儲卡規(guī)范2.0版支持兩種數(shù)據(jù)總線模式:1位(默認(rèn))和4位。目前的芯片版本只能一次支持一個SD/SDIO/MMC4.2版的卡,但可以同時支持多個MMC4.1版或之前版本的卡。除了SD/SDIO/MMC,這個接口完全與CE-ATA數(shù)字協(xié)議版本1.1兼容。SDIO功能特性(1)主要功能SD/SDIOMMC卡主機模塊(SDIO)在A
23、HB外設(shè)總線和多媒體卡(MMC)、SD存儲卡、SDIO卡和CE-ATA設(shè)備間提供了操作接口。多媒體卡系統(tǒng)規(guī)格書由MMCA技術(shù)委員會發(fā)布,可以在多媒體卡協(xié)會的網(wǎng)站上()獲得。CE-ATA系統(tǒng)規(guī)格書可以在CE-ATA工作組的網(wǎng)站上()獲得。SDIO的主要功能如下:與多媒體卡系統(tǒng)規(guī)格書版本4.2全兼容。支持三種不同的數(shù)據(jù)總線模式:1位(默認(rèn))、4位和8位。與較早的多媒體卡系統(tǒng)規(guī)格版本全兼容(向前兼容)。與SD存儲卡規(guī)格版本2.0全兼容。與SDI/O卡規(guī)格版本2.0全兼容:支持良種不同的數(shù)據(jù)總線模式:1位(默認(rèn))和4位。完全支持CE-ATA功能(與CE-ATA數(shù)字協(xié)議版本1.1全兼容)。8位總線模式下
24、數(shù)據(jù)傳輸速率可達48MHz。數(shù)據(jù)和命令輸出使能信號,用于控制外部雙向驅(qū)動器。(2)SDIO總線拓?fù)淇偩€上的通信是通過傳送命令和數(shù)據(jù)實現(xiàn)。在多媒體卡/SD/SDI/O總線上的基本操作是命令/響應(yīng)結(jié)構(gòu),這樣的總線操作在命令或總線機制下實現(xiàn)信息交換;另外,某些操作還具有數(shù)據(jù)令牌。在SD/SDIO存儲器卡上傳送的數(shù)據(jù)是以數(shù)據(jù)塊的形式傳輸;在MMC上傳送的數(shù)據(jù)是以數(shù)據(jù)塊或數(shù)據(jù)流的形式傳輸;在CE-ATA設(shè)備上傳送的數(shù)據(jù)也是以數(shù)據(jù)塊的形式傳輸。3SDIO的原理及實現(xiàn)方法3.1原理SDIO包含2個部分:SDIO適配器模塊:實現(xiàn)所有MMC/SD/SDI/O卡的相關(guān)功能,如時鐘的產(chǎn)生、命令和數(shù)據(jù)的傳送。AHB總
25、線接口:操作SDIO適配器模塊中的寄存器,并產(chǎn)生中斷和DMA請求信號。圖3-1SDIO框圖復(fù)位后默認(rèn)情況下SDIO_D0用于數(shù)據(jù)傳輸。初始化后主機可以改變數(shù)據(jù)總線的寬度。如果一個多媒體卡接到了總線上,則SDIO_DO、SDIO_D3:0或SDIO_D7:0可以用于數(shù)據(jù)傳輸。MMC版本V3.31和之前版本的協(xié)議只支持1位數(shù)據(jù)線,所以只能用SDIO_D0。如果一個SD或SDI/O卡接到了總線上,可以通過主機配置數(shù)據(jù)傳輸使用SDIO_DO或SDIO_D3:0。所有的數(shù)據(jù)線都工作在推挽模式。SDIO_CMD有兩種操作模式:用于初始化時的開路模式(僅用于MMC版本V3.31或之前版本)用于命令傳輸?shù)耐仆?/p>
26、模式(SD/SDI/O卡和MMCV4.2在初始化時也使用推挽驅(qū)動)SDIO_CK是卡的時鐘:每個時鐘周期在命令和數(shù)據(jù)線上傳輸1位命令或數(shù)據(jù)。對于多媒體卡V3.31協(xié)議,時鐘頻率可以在0MHz至20MHz間變化;對于多媒體卡V4.0/4.2協(xié)議,時鐘頻率可以在0MHz至48MHz間變化;對于SD或SDI/O卡,時鐘頻率可以在0MHz至25MHz間變化。SDIO使用兩個時鐘信號:桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁SDIO適配器時鐘(SDIOCLK=HCLK)AHB總線時鐘(HCLK/2)下表適用于多媒體卡/SD/SDI/O卡總線:表
27、3-1SDIO引腳定義引腳方向說明SDIO_CK輸出寥媒休卡於DfSDIO卡時鐘.這足從主機至卡的時鐘銭SDIO_CMD雙向箔媒體卡fSDSDIO卡命令。這是雙向的命令/響應(yīng)信號線SDIO_D7:0雙向務(wù)媒體卡怡D/SDIO卡數(shù)這些昱雙向的數(shù)擁總線SDIO適配器下圖是簡化的SDIO適配器框圖:圖3-2SDIO適配器命令通道狀態(tài)機(CPSM)當(dāng)寫入命令寄存器并設(shè)置了使能位,開始發(fā)送命令。命令發(fā)送完成時,命令通道狀態(tài)機(CPSM)設(shè)置狀態(tài)標(biāo)志并在不需要響應(yīng)時進入空閑狀態(tài)(見下圖)。當(dāng)收到響應(yīng)后,接收到的CRC碼將會與內(nèi)部產(chǎn)生的CRC碼比較,然后設(shè)置相應(yīng)的狀態(tài)標(biāo)志。當(dāng)進入等待(Wait)狀態(tài)時,命令
28、定時器開始運行;當(dāng)CPSM進入接收(Receive)狀態(tài)之前,產(chǎn)生了超時,則設(shè)置超時標(biāo)志并進入空閑(Idle)狀態(tài)。命令格式命令:命令是用于開始一項操作。主機向一個指定的卡或所有的卡發(fā)出帶地址的命令或廣播命令(廣播命令只適合于MMCV3.31或之前的版本)。命令在CMD線上串行傳送。所有命令的長度固定為48位,下表給出了多媒體卡、SD存儲卡和SDIO卡上一般的命令格式。CE-ATA命令是MMCV4.2命令的擴充,所以具有相同的格式。命令通道操作于半雙工模式,這樣命令和響應(yīng)可以分別發(fā)送和接收。如果CPSM不處在發(fā)送狀態(tài),SDIO_CMD輸出處于高阻狀態(tài)。SDIO_CMD上的數(shù)據(jù)與SDIO_CK的
29、上升沿同步。3.3SDIO卡識別過程多媒體卡和SD卡的卡識別過程是有區(qū)別的;對于多媒體卡,卡識別過程以時鐘頻率Fod開始,所有SDIO_CMD輸出為開路驅(qū)動,允許在這個過程中的卡的并行連接,識別過程如下:1.總線被激活SDIO卡主機廣播發(fā)送SEND_0P_C0ND(CMD1)命令,并接收操作條件得到的響應(yīng)是所有卡的操作條件寄存器內(nèi)容的“線與”不兼容的卡會被置于非激活狀態(tài)SDIO卡主機廣播發(fā)送ALL_SEND_CID(CMD2)至所有激活的卡所有激活的卡同時串行地發(fā)送他們的CID號,那些檢測到輸出的CID位與命令線上的數(shù)據(jù)不相符的卡必須停止發(fā)送,并等待下一個識別周期。最終只有一個卡能夠成功地傳送
30、完整的CID至SDIO卡主機并進入識別狀態(tài)。SDIO卡主機發(fā)送SET_RELATIVE_ADDR(CMD3)命令至這個卡,這個新的地址被稱為相對卡地址(RCA),它比CID短,用于對卡尋址。至此,這個卡轉(zhuǎn)入待機狀態(tài),并不再響應(yīng)新的識別過程,同時它的輸出驅(qū)動從開路轉(zhuǎn)變?yōu)橥仆炷J?。SDIO卡主機重復(fù)上述步驟5至7,直到收到超時條件。對于SD卡而言,卡識別過程以時鐘頻率Fod開始,所有SDIO_CMD輸出為推挽驅(qū)動而不是開路驅(qū)動,識別過程如下:總線被激活SDIO卡主機廣播發(fā)送SEND_APP_0P_C0ND(ACMD41)命令得到的響應(yīng)是所有卡的操作條件寄存器的內(nèi)容不兼容的卡會被置于非激活狀態(tài)SDI
31、O卡主機廣播發(fā)送ALL_SEND_CID(CMD2)至所有激活的卡所有激活的卡發(fā)送回他們唯一卡識別號(CID)并進入識別狀態(tài)。SDIO卡主機發(fā)送SET_RELATIVE_ADDR(CMD3)命令和一個地址到一個激活的卡,這個新的地址被稱為相對卡地址(RCA),它比CID短,用于對卡尋址。至此,這個卡轉(zhuǎn)入待機狀態(tài)。SDIO卡主機可以再次發(fā)送該命令更改RCA,卡的RCA將是最后一次的賦值。SDIO卡主機對所有激活的卡重復(fù)上述步驟5至7。對于SDI/O卡而言,卡識別過程如下:桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁1.總線被激活SDIO卡主
32、機發(fā)送I0_SEND_0P_C0ND(CMD5)命令得到的響應(yīng)是卡的操作條件寄存器的內(nèi)容不兼容的卡會被置于非激活狀態(tài)SDIO卡主機發(fā)送SET_RELATIVE_ADDR(CMD3)命令和一個地址到一個激活的卡,這個新的地址被稱為相對卡地址(RCA),它比CID短,用于對卡尋址。至此,這個卡轉(zhuǎn)入待機狀態(tài)。SDIO卡主機可以再次發(fā)送該命令更改RCA,卡的RCA將是最后一次的賦值。3.4SDIO寫數(shù)據(jù)塊執(zhí)行寫數(shù)據(jù)塊命令(CMD24-27)時,主機把一個或多個數(shù)據(jù)塊從主機傳送到卡中,同時在每個數(shù)據(jù)塊的末尾傳送一個CRC碼。一個支持寫數(shù)據(jù)塊命令的卡應(yīng)該始終能夠接收由WRITE_BL_LEN定義的數(shù)據(jù)塊。
33、如果CRC校驗錯誤,卡通過SDIO_D信號線指示錯誤,傳送的數(shù)據(jù)被丟棄而不被寫入,所有后續(xù)(在多塊寫模式下)傳送的數(shù)據(jù)塊將被忽略。如果主機傳送部分?jǐn)?shù)據(jù),而累計的數(shù)據(jù)長度未與數(shù)據(jù)塊對齊,當(dāng)不允許塊錯位(未設(shè)置CSD的參數(shù)WRITE_BLK_MISALIGN),卡將在第一個錯位的塊之前檢測到塊錯位錯誤(設(shè)置狀態(tài)寄存器中的ADDRESS_ERROR錯誤位)。當(dāng)主機試圖寫一個寫保護區(qū)域時,寫操作也會被中止,此時卡會設(shè)置WP_VIOLATION位。設(shè)置CID和CSD寄存器不需要事先設(shè)置塊長度,傳送的數(shù)據(jù)也是通過CRC保護的。如果CSD或CID寄存器的部分是存儲在ROM中,則這個不能更改的部分必須與接收緩
34、沖區(qū)的對應(yīng)部分相一致,如果有不一致之處,卡將報告一個錯誤同時不修改任何寄存器的內(nèi)容。有些卡需要長的甚至不可預(yù)計的時間完成寫一個數(shù)據(jù)塊,在接收一個數(shù)據(jù)塊并完成CRC檢驗后,卡開始寫操作,如果它的寫緩沖區(qū)已經(jīng)滿并且不能再從新的WRITE_BLOCK命令接受新的數(shù)據(jù)時,它會把SDIO_D信號線拉低。主機可以在任何時候使用SEND_STATUS(CMD13查詢卡的狀態(tài),卡將返回當(dāng)前狀態(tài)。READY_FOR_DATA狀態(tài)位指示卡是否可以接受新的數(shù)據(jù)或?qū)懖僮魇欠襁€在進行。主機可以使用CMD7(選擇另一個卡)不選中某個卡,而把這個卡置于斷開狀態(tài),這樣可以釋放SDIO_D信號線而不中斷未完成的寫操作;當(dāng)重新選
35、擇了一個卡,如果寫操作仍然在進行并且寫緩沖區(qū)仍不能使用,它會重新通過拉低SDIO_D信號線指示忙的狀態(tài)。SDIO讀數(shù)據(jù)塊在讀數(shù)據(jù)塊模式下,數(shù)據(jù)傳輸?shù)幕締卧菙?shù)據(jù)塊,它的大小在CSD中(READ_BL_LEN)定義。如果設(shè)置了READ_BL_PARTIAL,同樣可以傳送較小的數(shù)據(jù)塊,較小數(shù)據(jù)塊是指開始和結(jié)束地址完全包含在一個物理塊中,READ_BL_LEN定義了物理塊的大小。為保證數(shù)據(jù)傳輸?shù)恼_,每個數(shù)據(jù)塊后都有一個CRC校驗碼。CMD17(READ_SINGLE_BL0CK)啟動一次讀數(shù)據(jù)塊操作,在傳輸結(jié)束后卡返回到發(fā)送狀態(tài)。CMD18(READ_MULTIPLE_BL0CK)啟動一次連續(xù)多
36、個數(shù)據(jù)塊的讀操作。主機可以在多數(shù)據(jù)塊讀操作的任何時候中止操作,而不管操作的類型。發(fā)送停止傳輸命令即可中止操作。如果在多數(shù)據(jù)塊讀操作中(任一種類型)卡檢測到錯誤(例如:越界、地址錯位或內(nèi)部錯誤),它將停止數(shù)據(jù)傳輸并仍處于數(shù)據(jù)狀態(tài);此時主機必須發(fā)送停止傳輸命令中止操作。在停止傳輸命令的響應(yīng)中報告讀錯誤。如果主機發(fā)送停止傳輸命令時,卡已經(jīng)傳輸完一個確定數(shù)目的多個數(shù)據(jù)塊操作中的最后一個數(shù)據(jù)塊,因為此時卡已經(jīng)不在數(shù)據(jù)狀態(tài),主機會得到一個非法命令的響應(yīng)。如果主機傳輸部分?jǐn)?shù)據(jù)塊,而累計的數(shù)據(jù)長度不能與物理塊對齊同時不允許塊錯位,卡會在出現(xiàn)第一個未對齊的塊時檢測出一個塊對齊錯誤,并在狀態(tài)寄存器中設(shè)置ADDRE
37、SS_ERROR錯誤標(biāo)志。4FatFS文件系統(tǒng)FatFS文件系統(tǒng)簡介FAFFS是面向小型嵌入式系統(tǒng)的一種通用的FAT文件系統(tǒng)。FATFS完全是由AISIC語言編寫并且完全獨立于底層的I/0介質(zhì)。因此它可以很容易地不加修改地移植到其他的處理器當(dāng)中,如8051、PIC、AVR、SH、Z80、H8、ARM等。FATFS支持FAT12、FAT16FAT32等格式,所以我們利用前面寫好的SDIO驅(qū)動,把FATFS文件系統(tǒng)代碼移植到工程之中,就可以利用文件系統(tǒng)的各種函數(shù),對已格式化的SD卡進行讀寫文件了。4.2FatFS文件系統(tǒng)移植移植前工作在移植FATFS文件系統(tǒng)之前,我們先要到FAT的官網(wǎng)獲取源碼,版
38、本為R0.07C。解壓之后可看到里面有doc和src這兩個文件夾。doc文件夾里面是一些使用文檔,src里面是文件系統(tǒng)的源碼。圖4-1FATFS源碼4.2.2開始移植首先我們要獲取一個完全沒有修改過的文件系統(tǒng)源碼,然后在10-MicroSD卡這個文件夾下的實驗代碼下移植,這個實驗代碼實現(xiàn)的是卡的底層的塊操作。注意,我們在移植這個文件系統(tǒng)的過程中會盡量保持文件系統(tǒng)源碼的純凈,盡量做到在修改最少量的源碼的情況下移植成功。FATFS模塊在移植的時候,我們一般只需要修改2個文件,即ffconf.h和diskio.c。FATFS模塊的所有配置項都是存放在ffconf.h里面,我們可以通過配置里面的一些選
39、項,來滿足自己的需求。接下來我們介紹幾個重要的配置選項。1)_FS_TINY。這個選項在R0.07版本中開始出現(xiàn),之前的版本都是以獨立的C文件出現(xiàn)(FATFS和TinyFATFS),有了這個選項之后,兩者整合在一起了,使用起來更方便。我們使用FATFS,所以把這個選項定義為0即可。2)_FS_READONLY。這個用來配置是不是只讀,本章我們需要讀寫都用,所以這里設(shè)置為0即可。桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁3)_USE_STRFUNC。這個用來設(shè)置是否支持字符串類操作,比如f_putc,f_puts等,本章我們需要用到,故設(shè)
40、置這里為1。4)_USE_MKFS。這個用來定時是否使能格式化,本章需要用到,所以設(shè)置這里為1。5)_USE_FASTSEEK。這個用來使能快速定位,我們設(shè)置為1,使能快速定位。6)_CODE_PAGE。這個用于設(shè)置語言類型,包括很多選項(見FATFS官網(wǎng)說明),我們這里設(shè)置為936,即簡體中文(GBK碼,需要c936.c文件支持,該文件在option文件夾)。7)_USE_LFN。該選項用于設(shè)置是否支持長文件名(還需要_CODE_PAGE支持),取值范圍為03。0,表示不支持長文件名,13是支持長文件名,但是存儲地方不一樣,我們選擇使用3,通過ff_memalloc函數(shù)來動態(tài)分配長文件名的存
41、儲區(qū)域。8)VOLUMES。用于設(shè)置FATFS支持的邏輯設(shè)備數(shù)目,我們設(shè)置為2,即支持2個設(shè)備。9)_MAX_SS。扇區(qū)緩沖的最大值,一般設(shè)置為512。下面我們來講講FATFS的移植,F(xiàn)ATFS的移植主要分為3步:數(shù)據(jù)類型:在integer.h里面去定義好數(shù)據(jù)的類型。這里需要了解你用的編譯器的數(shù)據(jù)類型,并根據(jù)編譯器定義好數(shù)據(jù)類型。配置:通過ffconf.h配置FATFS的相關(guān)功能,以滿足你的需要。函數(shù)編寫:打開diskio.c,進行底層驅(qū)動編寫,一般需要編寫6個接口函數(shù)。通過以上三步,我們即可完成對FATFS的移植。第一步,我們使用的是MDK3.80a編譯器,器數(shù)據(jù)類型和integer.h里面
42、定義的一致,所以此步,我們不需要做任何改動。第二步,關(guān)于ffconf.h里面的相關(guān)配置,我們在前面已經(jīng)有介紹(之前介紹的9個配置),我們將對應(yīng)配置修改為我們介紹時候的值即可,其他的配置用默認(rèn)配置。第三步,因為FATFS模塊完全與磁盤I/O層分開,因此需要下面的函數(shù)來實現(xiàn)底層物理磁盤的讀寫與獲取當(dāng)前時間。底層磁盤I/O模塊并不是FATFS的一部分,并且必須由用戶提供。5測試及結(jié)果JTAG仿真器介紹J-Link是支持仿真ARM內(nèi)核芯片的JTAG仿真器。配合IAREWARM,ADS,KEIL,WINARM,RealView等集成開發(fā)環(huán)境支持所有ARM7/ARM9內(nèi)核芯片的仿真,通過RDI接口和各集成
43、開發(fā)環(huán)境無縫連接,操作方便、連接方便、簡單易學(xué),是學(xué)習(xí)開發(fā)ARM最好最實用的開發(fā)工具。DQ電子推出的J-LinkV7仿真器采用原版固件,參照原版原理圖,經(jīng)過DQ團隊的長時間精工制作,板型合理,元件布局美觀大方,走線嚴(yán)謹(jǐn)精致,并且每一個產(chǎn)品都經(jīng)過功能和老化測試,功能完全與原版一致,支持在線升級。J-LinkARM主要特點:IAREWARM集成開發(fā)環(huán)境無縫連接的JTAG仿真器。支持所有ARM7/ARM9內(nèi)核的芯片,以及cortexM3,包括Thumb模式。支持ADS,IAR,KEIL,WINARM,REALVIEW等幾乎所有的開發(fā)環(huán)境。下載速度高達ARM7:600kB/s,ARM9:550kB/s
44、,通過DCC最高可達800kB/s*最高JTAG速度12MHz。目標(biāo)板電壓范圍1.2V3.3V。自動速度識別功能。監(jiān)測所有JTAG信號和目標(biāo)板電壓。完全即插即用。使用USB電源(可接通J12跳線給目標(biāo)板供電,出廠時未接通)。帶USB連接線和20芯JTAG連接排線。支持多JTAG器件串行連接。標(biāo)準(zhǔn)20芯JTAG仿真插頭。帶J-LinkTCP/IPserver,允許通過TCP/IP網(wǎng)絡(luò)使用J-Link支持的內(nèi)核:ARM7TDMI(Rev1);ARM7TDMI(Rev3);ARM7TDMI-S(Rev4);ARM720T;CORTEXM3?,F(xiàn)象及結(jié)果給硬件系統(tǒng)供電(5V),插上JLINK,插上串口線
45、(兩頭都是母的交叉線),插上MicroSD卡,打開超級終端,配置超級終端為1152008-N-1,將編譯好的程序下載到硬件平臺,即可看到超級終端打印出如下信息:圖5-1測試效果圖6結(jié)論很多單片機系統(tǒng)都需要大容量存儲設(shè)備,以存儲數(shù)據(jù)。目前常用的有u盤,F(xiàn)LASH芯片,SD卡等。他們各有優(yōu)點,綜合比較,最適合單片機系統(tǒng)的莫過于SD卡了,它不僅容量可以做到很大(32Gb以上),而且支持SPI接口,方便移動,并且有幾種體積的尺寸可供選擇(標(biāo)準(zhǔn)的SD卡尺寸,以及TF卡尺寸等),能滿足不同應(yīng)用的要求。本實訓(xùn)的作品是利用基于ARMCotex-M3內(nèi)核的嵌入式處理器STM32自帶的SDIO硬件接口來驅(qū)動SD卡
46、,并結(jié)合文件系統(tǒng)FATFSR0.07C來完成一個基于嵌入式ARM的SD卡讀寫的作品,現(xiàn)實向SD卡寫入一個txt文件,并讀取SD卡的文件目標(biāo)并通過串口打印到PC機顯示。通過本實訓(xùn),我更加掌握了嵌入式ARMSTM32的外圍應(yīng)用設(shè)計以及SD卡的驅(qū)動和文件系統(tǒng)的使用方法。致謝本實訓(xùn)從最初的選題到系統(tǒng)設(shè)計、程序編寫直到論文的撰寫過程中都得到了孫安青老師的悉心指導(dǎo)與指正,您細(xì)心教導(dǎo)和熱心關(guān)懷使得我能夠順利完成本次實訓(xùn)任務(wù)。孫老師熱心的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,也使我受益匪淺,終生難忘。同時要感謝我們班各位同學(xué),你們細(xì)心地給我分析該設(shè)計的設(shè)計流程,耐心地講解程序運行過程,并給設(shè)計的不足提出很好的建議和方針,
47、是你們的幫助,讓我對本設(shè)計理解更透徹,在此表示衷心地感謝.大學(xué)里我并不孤獨,在老師和同學(xué)們陪伴下,我度過了愉快的四年,在此衷心感謝大家桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第20頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第20頁共24頁參考文獻康華光電子技術(shù)基礎(chǔ)模擬部分第四版M.北京:高等教育出版社,1999.6.閻石數(shù)字電子技術(shù)基礎(chǔ)第四版M.北京:高等教育出版社,1999.6.王福瑞等.單片微機測控系統(tǒng)設(shè)計大全M.北京航空航天大學(xué)出版社,1998(331337).寧改娣,楊拴科.DSP控制器原理及應(yīng)用M.科學(xué)出版社,2002.周立功等.ARM嵌入式系統(tǒng)基礎(chǔ)教程M.北京:北京航空航天大學(xué)出版
48、社,2005.1.周立功等.ARM嵌入式系統(tǒng)實驗教程M.北京:北京航空航天大學(xué)出版社,2005.1.唐清善.ProtelDXP高級實例教程M.中國水利水電出版社,2004.4.羅浩等.一種新的基于ARM的數(shù)據(jù)采集系統(tǒng)設(shè)計J.信陽師范學(xué)院學(xué)報(自然科學(xué)版),2006.4.秦偉等基于ARM處理器的數(shù)據(jù)采集系統(tǒng)的設(shè)計J.自動化技術(shù)與應(yīng)用.2006年第1期.杜春雷.ARM體系結(jié)構(gòu)與編程清華大學(xué)出版社,2003.李寧.ARM開發(fā)工具RealViewMDK使用入門M.北京航空航天大學(xué)出版社,2008.李寧.基于MDK的STM32處理器開發(fā)應(yīng)用M.北京航空航天大學(xué)出版社,2008.劉黎明等.單片機與嵌入式系
49、統(tǒng)應(yīng)用J.英文刊名MICROCONTROLLER&EMBEDDEDSYSTEM.2002(7).趙葵銀,王輝,吳俊.電壓空間矢量控制的三相PWM整流器的研究J上海第二工業(yè)大學(xué)學(xué)報,2003(2):43-50.MalinowskiMariusz.JasinskiMarek,KazmierkowskiMarianP.SimpleDirectPowerControlofThree-PhasePWMRectifierUsingSpace-VectorModulationJ.IEEETransactionsonIndustrial,Electronics,2004,51(2):447-454.桂林電子科
50、技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁桂林電子科技大學(xué)實訓(xùn)(論文)報告用紙第 頁共24頁1.電源部分:附錄一硬件原理圖2.STM32處理器部分:MCU心川就|廣rCt-nftr陀IJjCfrfcST3.SD卡部分:PCP-SDIO-Dl宀丨FA:iZ.i::-paKE?t7iw沁mi4.串口通信部分:PAMM爐U&AJtnCTS/ADCliiINC/nMSCHlnKQCH1ETR/mAETRPAiADCU*iN4PAS.ariraaccwroltvadcu_1HsPMHPl廠MISiynKSlBKIHAfJCllNbTIKaCHliTIMlHILISPAAUSAR:lCK/nMICHITD(
51、ZnMlRTR.IJSBrAliJTMSSiMJKlpAHTrcx.swajcPAiAJTDMHJY&M1&3MSPBOfADCi:NVTIMJCH3OIM&CHIXIMICH2NPBI.jCjCirN*T7M3_CH4.TIMfCHJKCTMl-CHiWFRiBoarfrBkjnMyntACsr*9usexxmck/hmzchxshjsckpB*.wmisT5PuMscyriMiaiLSpiiaaoPRS.ttCISMRWUM7J8L4S3SD/TBiJCHMHIM0&3fikccFsa.nauCKiABAAfitxPWJUCrsn*.FSM?NAnV.*m4nCMblBAR7iRXPWXTMCH4.SDK)DS12CISTMkCANTXFBitrtJcftxtoqaoPBIl42C28CWVltSJTrRXTMTCHFBiispnNSMa:smr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩鋼板產(chǎn)品知識培訓(xùn)課件
- 活動效果跟蹤記錄表格(事件類)
- 建筑工地施工安全管理與預(yù)案
- 電子廢物回收與處理協(xié)議
- 物業(yè)管理服務(wù)具體協(xié)議
- 數(shù)據(jù)管理中心辦公場所表格(特定公司情境)
- 麻疹的防治知識培訓(xùn)課件
- 酒店防汛知識培訓(xùn)課件
- 小學(xué)低年級繪本故事解讀
- 新能源充電站運營與管理手冊
- 2025年旅行與旅游的未來:擁抱可持續(xù)與包容性增長報告(英文版)-世界經(jīng)濟論壇
- 學(xué)校跟移動公司合作協(xié)議
- 茶館項目創(chuàng)業(yè)計劃書
- 化工生產(chǎn)中的智能優(yōu)化
- 《西方經(jīng)濟學(xué)》(上冊)課程教案
- 移動政企部年終總結(jié)
- 施工合同協(xié)議書樣本
- 醫(yī)學(xué)綜合題庫(含答案)
- 工會一函兩書模板
- 四年級語文下冊第六單元【集體備課】(教材解讀+教學(xué)設(shè)計)
- 2024版義務(wù)教育小學(xué)科學(xué)課程標(biāo)準(zhǔn)
評論
0/150
提交評論