基于STM32F103XX微處理器的Micr0 SD卡讀寫
摘要:基于STM32F103XX微控制器的遠(yuǎn)程智能心臟檢測儀采用Micro SD作為存儲介質(zhì)保存特定的心電信號。所存Micro SD卡中的存儲數(shù)據(jù)要能夠在計算機(jī)上直接存取,需要存儲的數(shù)據(jù)以FAT32文件格式寫入Micro SD卡。研究了使用STM32F103XX微處理器,采用SPI模式與Micro SD接口,將數(shù)據(jù)寫入Micro SD的軟件方法及硬件設(shè)計。采用的FAT開源文件系統(tǒng)FATFS是專門為小型嵌入式系統(tǒng)而設(shè)計的,容易移值和使用,占用硬件資源相對較小而且功能強(qiáng)大。
關(guān)鍵詞:STM32F1103XX;Micro SD;SPI;FATFS
O 引言
由于遠(yuǎn)程智能心臟檢測儀器對采集到的心電信號是實時處理與存儲的。因此,本文在STM32F103XX微處理器的基礎(chǔ)上,采用Micro SD存儲卡實現(xiàn)了關(guān)鍵心電信號的存儲。
1 硬件電路設(shè)計
1.1 STM32F103xx微處理器簡介
STM32F103XX基于高性能32位RISC的ARMCortex-M3核,工作頻率為72 MHz。片上集成了高速存儲器,通過APB總線連接了豐富、增強(qiáng)的外設(shè)和I/O。所有的設(shè)備都提供標(biāo)準(zhǔn)的通信接口。
1.2 SPI協(xié)議
由于SPI(setial peripheralinterface)總線占用的接口線少,通信效率高,并且支持大部分處理器芯片,因而是一種理想的選擇。SPI是利用4根信號線進(jìn)行通信的串行接口協(xié)議,包括主/從兩種模式。4個接口信號為:串行數(shù)據(jù)輸入(MISO,主設(shè)備輸入、從設(shè)備輸出)、串行數(shù)據(jù)輸出(MOSI,主設(shè)備輸出、從設(shè)備輸入)、移位時鐘(SCK)、低電平有效的從設(shè)備使能信號(cs)。SPI最大的特點是由主設(shè)備時鐘信號的出現(xiàn)與否來確定主/從設(shè)備間的通信。一旦檢測到主設(shè)備的時鐘信號,數(shù)據(jù)開始傳輸。
1.3 Micro SD卡簡介
Micro SD卡的接口可以支持2種操作模式:SDIO模式和SPI模式。設(shè)計者可以選擇其中任一模式。SDIO模式允許4線的高速數(shù)據(jù)傳輸,傳輸速率高,但是大部分微控制器無此接口,使用軟件模擬協(xié)議復(fù)雜。SPI模式使用簡單通用的SPI通道接口,即可實現(xiàn)數(shù)據(jù)傳輸,目前大多數(shù)微控制器都提供SPI接口。SPI模式相對于SDIO模式的缺點是損失了傳輸速度,但目前微處理器的處理速度越來越高,利用SPI模式大多都能滿
足工程需要。
Micro SD卡要求用全雙工、8位的SPI操作。STM32F103XX微處理器和Micro SD卡之間只需要4根信號線就可以完成數(shù)據(jù)的讀/寫,當(dāng)CS片選信號線為低電平時,微處理器開始所有的總線傳輸。數(shù)據(jù)從微處理器的MOSI引腳同步輸入Micro SD卡的DI引腳,并由Micro SD卡的DO線同步輸入微處理器的MISO引腳,數(shù)據(jù)在CLK信號的上升沿同步輸入和輸出。在每個數(shù)據(jù)傳輸?shù)慕Y(jié)尾還必須提供8個額外的時鐘,以允許Micro SD卡完成任何未完結(jié)的操作。另外,使用SPI模式時,為了防止在無卡接入或卡驅(qū)動器呈高阻態(tài)時總線懸空,根據(jù)SD卡規(guī)范,這些信號需要在微處理器端用10~100 kΩ的上拉電阻,其硬件連接電路如圖1所示。
評論