摘 要: 系統(tǒng)基于高集成度、低功耗的MSP430F1611單片機(jī),,利用SPI總線與SD卡通信,。在單片機(jī)RAM較小的情況下,平衡SD卡存儲(chǔ)速度,、所需RAM以及系統(tǒng)功耗,,設(shè)計(jì)優(yōu)化的FAT16文件系統(tǒng),實(shí)現(xiàn)對(duì)SD卡的數(shù)據(jù)寫入,。將該設(shè)計(jì)應(yīng)用于便攜式心電監(jiān)護(hù)儀上,,完全滿足48 h 256 Hz心電采樣時(shí)間和頻率的要求,實(shí)現(xiàn)了對(duì)心電數(shù)據(jù)的實(shí)時(shí)保存,。
關(guān)鍵詞: 低功耗,;SD卡;文件系統(tǒng),;MSP430F1611,;心電
?
心電監(jiān)護(hù)儀是診斷心血管疾病的重要儀器之一。通常的心電監(jiān)護(hù)儀多為對(duì)短程心電信號(hào)的分析,但許多心血管疾病都是偶發(fā)的,,所以隨著監(jiān)護(hù)時(shí)間的延長(zhǎng),,疾病的發(fā)現(xiàn)率將大大提高[1]。該監(jiān)護(hù)儀使用MSP430F1611單片機(jī)和SD卡建立文件系統(tǒng)來(lái)存儲(chǔ)心電信號(hào),,可以方便地實(shí)現(xiàn)大容量的心電信號(hào)存儲(chǔ)和讀取,。
圖1是便攜式心電監(jiān)護(hù)儀的原理框圖,儀器需要滿足以下要求:(1)使用2節(jié)5號(hào)電池,,總?cè)萘坎淮笥?000mAh,;(2)待機(jī)電流小于0.4mA,待機(jī)時(shí)間大于4000h,;(3)連續(xù)工作電流小于60 mA,連續(xù)工作48h以上,。
?
由于心電采集和顯示要求較高的處理能力和運(yùn)行性能,,占據(jù)了大量的RAM和功耗,因而在單片機(jī)RAM較小的情況下,,為了滿足以上要求,,必須研究SD卡存儲(chǔ)速度、所需RAM以及功耗的關(guān)系,。
1 SD卡存儲(chǔ)模塊的功耗分析
通常,,在完成一個(gè)任務(wù)時(shí),儀器所需的能量E可以表示為:
Vk,、Ik分別為電池在第k個(gè)時(shí)間段內(nèi)的電壓和輸出電流,,可以得到電路在一定時(shí)間 T內(nèi)的平均電流消耗(假設(shè) V不變):
圖2是監(jiān)護(hù)儀進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí)的電流消耗簡(jiǎn)圖,系統(tǒng)在t1段進(jìn)入待機(jī)狀態(tài),,等待采集數(shù)據(jù)滿,進(jìn)行一次記錄,,I1主要由微處理器(MPU)待機(jī)模式的功耗所決定;t2段為MPU在SD卡的FAT表中查找下一操作簇和下一操作扇區(qū),;在t3段,,MPU把數(shù)據(jù)通過(guò)SPI總線發(fā)送到SD卡進(jìn)行存儲(chǔ),并查詢SD卡是否存儲(chǔ)完畢,, t3相對(duì)來(lái)說(shuō)是固定的,。t2、I2與文件系統(tǒng)設(shè)計(jì)有關(guān),,同時(shí),,t2的改變也會(huì)影響到t1。
對(duì)于SD卡來(lái)說(shuō),,完成一定量的數(shù)據(jù)操作所需功耗一定,,但在SD卡工作的同時(shí),DC-DC和MPU也在工作,t2越長(zhǎng),,這些器件所消耗的能量也越多,,SD卡存儲(chǔ)速度與功耗之間不會(huì)是簡(jiǎn)單的線性關(guān)系。因此,,設(shè)計(jì)最優(yōu)化的文件系統(tǒng),、縮小FAT尋址時(shí)間,可以在完成任務(wù)的基礎(chǔ)上,,使功耗達(dá)到最優(yōu),。
2 SD卡模塊的硬件組成
SD卡數(shù)據(jù)存儲(chǔ)系統(tǒng)主要由電源、微處理器和SD卡接口電路組成,。
(1)電源模塊,。系統(tǒng)采用了兩套供電模式: MSP430采用電池直接供電,而接口電路則不需要一直工作,。因此選用了TI公司的升/降壓DC-DC芯片TPS61070,,將輸入電壓升高到一定電壓,再使用SIPEX公司的SPX3819-3.3把電壓穩(wěn)定在3.3 V,。它具有外接元件簡(jiǎn)單,,轉(zhuǎn)換效率高,帶關(guān)斷功能等特點(diǎn),,原理圖見(jiàn)圖3,。
(2)微處理器??捎糜诘凸南到y(tǒng)的微處理器有多種,,表1中對(duì)比了3款典型低功耗微處理器的功能和性能??梢?jiàn),,MSP430F1611具有較好的低功耗性能,可以在1.8~3.6 V電壓下工作,,能更好地適應(yīng)電池直接供電的電壓范圍,。MSP430F1611有活動(dòng)模式(AM)和5種低功耗模式(LPM0、LPM1,、LPM2,、LPM3和LPM4),實(shí)現(xiàn)低功耗操作的靈活性,;集成12位DAC,。因此,以MSP430為核心設(shè)計(jì)的采集控制電路,,可以滿足高性能和低功耗要求[2],。
(3)接口電路,。SD卡有9個(gè)引腳,支持兩種串行數(shù)據(jù)傳輸協(xié)議,,即SD(Multimedia Card)模式和SPI(Serial Peripheral Interface)模式[3],。在SPI模式中,通過(guò)4條信號(hào)線完成數(shù)據(jù)的傳輸,。這4條信號(hào)線分別是時(shí)鐘SDCLK,、數(shù)據(jù)輸入SDDI、數(shù)據(jù)輸出SDDO和片選SDCS,。MSP430通過(guò)P5.4口輸出SDEN控制三極管的關(guān)斷,,在儀器待機(jī)時(shí)切斷接口電路的供電,降低系統(tǒng)功耗,。MSP430與SD卡的接口電路如圖4所示,。
3 FAT16文件系統(tǒng)的設(shè)計(jì)
文件系統(tǒng)是應(yīng)用程序和存儲(chǔ)介質(zhì)之間的一種協(xié)議,其主要功能是對(duì)文件進(jìn)行管理,。FAT16文件系統(tǒng)的結(jié)構(gòu)包含分區(qū)引導(dǎo)扇區(qū)(DBR),、 文件分配表(FAT)、 文件目錄表(FDT)以及數(shù)據(jù)區(qū)(DATA)四個(gè)部分[4],,如圖5所示。
引導(dǎo)扇區(qū)位于物理結(jié)構(gòu)的第一扇區(qū),,大小為512 B,,包括一個(gè)引導(dǎo)程序和BPB(BIOS Parameter Block)參數(shù)塊。BPB參數(shù)塊記錄本分區(qū)的起始扇區(qū),、結(jié)束扇區(qū),、文件存儲(chǔ)格式、介質(zhì)描述符,、根目錄項(xiàng)數(shù),、FAT個(gè)數(shù)、保留扇區(qū)數(shù),、分配單元的大小等重要參數(shù),。根據(jù)保留扇區(qū)的數(shù)目可知FAT表的位置(分區(qū)起始扇區(qū)數(shù)+保留扇區(qū)數(shù))。根據(jù)FAT的個(gè)數(shù)以及每個(gè)FAT表占用的扇區(qū)數(shù),,即可算出FDT的位置(FAT表位置+FAT表個(gè)數(shù)×FAT表所占扇區(qū)數(shù)),。FDT中保存著目錄項(xiàng),目錄項(xiàng)中的文件首簇號(hào)就是讀寫文件的入口[5],。
根據(jù)以上分析,,針對(duì)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)可以簡(jiǎn)化文件系統(tǒng)的設(shè)計(jì),僅實(shí)現(xiàn)對(duì)文件的寫操作,,而把文件創(chuàng)建,、文件刪除等其他操作交給上位機(jī)完成。
每采集到一個(gè)扇區(qū)大小(512 B)的數(shù)據(jù),,便進(jìn)行一次寫操作,。寫操作的具體流程如圖6。
從圖6可以看出,,在未操作到簇尾時(shí),,對(duì)扇區(qū)的操作是不進(jìn)行FAT尋址操作的,這與普通的FAT16每次尋址相比,,大大簡(jiǎn)化了操作流程,,加快了操作速度。在操作到簇尾時(shí),,設(shè)計(jì)使用一定大小的RAM來(lái)預(yù)讀取一個(gè)扇區(qū)或幾個(gè)扇區(qū)的FAT表,,從而可以直接從RAM中尋找下一操作簇號(hào)。這樣設(shè)計(jì)的優(yōu)點(diǎn)為:如果文件在物理上是連續(xù)存儲(chǔ)的,,則它的FAT表也是連續(xù)的,,這樣大多數(shù)情況下主機(jī)便可直接從RAM中獲取下次操作簇號(hào),從而極大地減少了主機(jī)與SD卡通信的次數(shù)(一個(gè)扇區(qū)的FAT表便可記錄下256個(gè)簇號(hào)),,加快了每次操作的速度,,也減少了不必要的功耗。
4 速度及功耗測(cè)試
設(shè)定系統(tǒng)待機(jī)狀態(tài)時(shí),,MSP430工作于LPM3(RTC服務(wù)開(kāi)啟,,主頻:32 kHz),系統(tǒng)任務(wù)處理狀態(tài)時(shí)工作于活動(dòng)模式(主頻:8 MHz),。
表2為按照設(shè)計(jì)流程(即每簇尋址),、在使用不同大小RAM的情況下系統(tǒng)功耗的實(shí)際測(cè)試結(jié)果。測(cè)試條件為:電源電壓VBAT=2.787 V,,溫度25 ℃,,測(cè)試記錄20 M心電數(shù)據(jù)(三通道心電信號(hào)采集,采樣率256 Hz),。通過(guò)測(cè)試20次求平均值,,計(jì)算得出最終數(shù)據(jù)。
?
平均電流隨RAM大小變化的情況如圖7,。從圖中可以看出,,隨著RAM的增大,平均電流逐漸減小,,功耗隨之降低,。而且從圖中不難發(fā)現(xiàn):不使用RAM(0B)和使用RAM的平均電流相差很大,但RAM大小從512 B增加到2 KB的過(guò)程中,,平均電流并未顯著減小,。又由于單片機(jī)的RAM都較小(MSP430F1611的RAM只有10KB),,在整個(gè)系統(tǒng)中,心電采集處理模塊對(duì)RAM的使用量較大,。綜合以上分析,,最終選擇使用RAM的大小為512B。
????? 表3列出了在使用512 B RAM的情況下,,不同尋址方式對(duì)功耗的影響,。測(cè)試條件為:電源電壓VBAT=2.787 V,溫度25 ℃,,測(cè)試記錄20 M心電數(shù)據(jù)(三通道心電信號(hào)采集,,采樣率256 Hz)。通過(guò)測(cè)試20次求平均值,,計(jì)算得出最終數(shù)據(jù),。從表3中可以看出每簇尋址的平均電流遠(yuǎn)小于其他兩種尋址方式,可以極大地降低存儲(chǔ)模塊的功耗,。
????? 在設(shè)計(jì)中,,主要采取了兩種方式實(shí)現(xiàn)低功耗:(1)采用高集成度、低功耗的MSP430F1611為核心微處理器,,該器件具有多種低功耗的休眠模式,;(2)FAT文件系統(tǒng)的設(shè)計(jì)優(yōu)化,具體設(shè)計(jì)中針對(duì)不同RAM大小和不同的尋址方式,,經(jīng)過(guò)測(cè)試,、計(jì)算和對(duì)比,選擇了合適的軟硬件組合,,得出最優(yōu)結(jié)果。這將數(shù)據(jù)存儲(chǔ)模塊的功耗大大降低,,簡(jiǎn)化了便攜式心電監(jiān)護(hù)儀其他部分的功耗設(shè)計(jì),。
參考文獻(xiàn)
[1] 段勇.基于MSP430單片機(jī)的SD卡讀寫[J].生物醫(yī)學(xué)工程研究,2007,,26(4):347-350.
[2] 周樂(lè)川.基于MSP430F1611的自容式葉綠素儀的采集控制電路的低功耗設(shè)計(jì)[J].電子器件,,2008,31(3):864-867.
[3] 聶虹.SPI模式下MMC卡的讀寫機(jī)制[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,,2007(7):45-47.
[4] 李宏佳.基于ARM和SD卡的嵌入式文件系統(tǒng)研究與設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,,2007(7):101-103.
[5] 海深.嵌入式文件系統(tǒng)的實(shí)現(xiàn)及性能改進(jìn).合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)[J],2008,,30(3):265-267.