摘 要: 系統(tǒng)基于高集成度、低功耗的MSP430F1611單片機(jī),利用SPI總線(xiàn)與SD卡通信。在單片機(jī)RAM較小的情況下,平衡SD卡存儲(chǔ)速度、所需RAM以及系統(tǒng)功耗,設(shè)計(jì)優(yōu)化的FAT16文件系統(tǒng),實(shí)現(xiàn)對(duì)SD卡的數(shù)據(jù)寫(xiě)入。將該設(shè)計(jì)應(yīng)用于便攜式心電監(jiān)護(hù)儀上,完全滿(mǎn)足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ù)儀的原理框圖,儀器需要滿(mǎn)足以下要求:(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較小的情況下,為了滿(mǎn)足以上要求,必須研究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ù)滿(mǎn),進(jìn)行一次記錄,I1主要由微處理器(MPU)待機(jī)模式的功耗所決定;t2段為MPU在SD卡的FAT表中查找下一操作簇和下一操作扇區(qū);在t3段,MPU把數(shù)據(jù)通過(guò)SPI總線(xiàn)發(fā)送到SD卡進(jìn)行存儲(chǔ),并查詢(xún)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)單的線(xià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)微處理器。可用于低功耗系統(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ì)的采集控制電路,可以滿(mǎn)足高性能和低功耗要求[2]。
(3)接口電路。SD卡有9個(gè)引腳,支持兩種串行數(shù)據(jù)傳輸協(xié)議,即SD(Multimedia Card)模式和SPI(Serial Peripheral Interface)模式[3]。在SPI模式中,通過(guò)4條信號(hào)線(xiàn)完成數(shù)據(jù)的傳輸。這4條信號(hào)線(xiàn)分別是時(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)就是讀寫(xiě)文件的入口[5]。
根據(jù)以上分析,針對(duì)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)可以簡(jiǎn)化文件系統(tǒng)的設(shè)計(jì),僅實(shí)現(xiàn)對(duì)文件的寫(xiě)操作,而把文件創(chuàng)建、文件刪除等其他操作交給上位機(jī)完成。
每采集到一個(gè)扇區(qū)大?。?12 B)的數(shù)據(jù),便進(jìn)行一次寫(xiě)操作。寫(xiě)操作的具體流程如圖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卡讀寫(xiě)[J].生物醫(yī)學(xué)工程研究,2007,26(4):347-350.
[2] 周樂(lè)川.基于MSP430F1611的自容式葉綠素儀的采集控制電路的低功耗設(shè)計(jì)[J].電子器件,2008,31(3):864-867.
[3] 聶虹.SPI模式下MMC卡的讀寫(xiě)機(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.