博文谷

位置:首頁 > 實用範文 > 論文

便攜式、低功耗體電信號採集存儲系統研究論文

論文2.07W

摘要:介紹目前市場上最常見的幾種非易失低功耗靜態存儲介質,詳細說明Compact Flash Card軟、硬件接口;提出基於Compact Flash Card和TI公司的C24x、C28x系列DSP搭建體電信號採集的硬件平臺的一種可行的低功耗、便攜式實時體電信號採集存儲系統的可行方案,說明其硬件連接和相關的程序實例。

便攜式、低功耗體電信號採集存儲系統研究論文

關鍵詞:數據採集與存儲 便攜式 Compact Flash Card TMS320LF2407

引言

目前比較常見的臨牀體電信號採集及處理儀器是功能完備的微機系統,雖然能較快地分析和處理監測到的體電信號,但往往只能被固定在病房裏使用,在移動的情況下則顯得笨重和不便。體電信號採集往往需要長時間地採集、記錄海量數據,並進行進一步的信號處理和分析,以便臨牀病情的檢測和監護。目前,臨牀體電儀器主要還是採用紙張、磁帶及普通硬盤來存儲體電信號。存儲載體的體積和功耗的限制是臨牀醫療儀器功耗、便攜式發展的瓶頸。便攜的醫療設備能夠極大地方便病人的使用、監護並降低醫療費用。近幾年,隨着Flash Memory非易失存儲技術的發展以及處理器(如單片機和DSP)性能的不斷提高,使信號採集存儲系統的耗電量和體積不斷減少,滿足便攜式的要求。

經過實際調研和性能比較,TI公司的C2000系列DSP芯片具有諸多優點,包括定點處理器C24X和C28X。C24X系列爲16位定點處理器,運算速度爲20~40MIPS,可用於低速數據採集;TMS320C28X DSP系列爲32位定點處理器,運算速度高達400MIPS,可用於高速數據採集。C2000系列採用高性能的靜態CMOS技術,3.3V電壓供電,內核電壓爲1.8V,片內程序空間集成Flash,可以將系統控制程序直接燒入DSP芯片內部而不用外擴Flash存儲芯片,減少系統的功耗和體積。C24X系列DSP內置2×8通道10位數據轉換(ADC),轉換時間約爲500ns;C28X系列DSP內置2×8通道12位數模轉換(ADC),轉換時間爲80ns。ADC的精度和速度幾乎可以滿足各種體電信號採集,因此係統須使用獨立A/D轉換芯片,進一步減少系統的功耗和體積。

Compact Flash Card(以下簡稱CF卡)是市場上最常見的基於Flash存儲芯片的低功耗移動存儲器,能與DSP芯片直接連接而用接口轉換芯片。由於CF卡的高速價比、大容量和系統的易實現性,首選作爲信號採集的存儲載體。

下面以CF卡和DSP TMS320LF2407硬件平臺爲例,具體介紹這種可行的低功耗、便攜式體電信號採集存儲系統的搭建和軟、硬件接口的實現,並給出程序實例。

1 各類基於Flash的閃存卡簡介

近幾年來,靜態存儲技術進步,誕生陳舊基於Flash存儲器非易失大容量多種類型閃爍存儲卡。PC(PCMCIA)、CF(CompactFlash)、SD(SecureDigital)、MMC(MultMedia)、SM(SmartMedia)、MS(Memory Stick)以及基於USB接口的閃存是如今流行的7大卡系,具有大容量和低功耗等優點。移動存儲器被廣泛應用於各種數碼產品中,如婁碼相機、媒體播放器和PDA等,同時也爲低功耗、便攜式體電信號的採集存儲系統提供了理想的存儲介質。表1爲這7種流行卡系的簡介與比較。

表1 7種流行卡系統比較

卡 系誕生時間/年體 積接 口目前最大容量PC卡199285.6mm×54.0mm×3.3mm類型I);

85.6mm×54.0mm×5.0mm類型II);

85.6mm×54.0mm×10.5mm類型III)68針5GBCF卡199443mm×36mm×3.3mm50針2~3GBSM卡199545mm×37mm×0.76mm22128MBMMC卡199732mm×24mm×1.4mm7針128MBSD卡199932mm×24mm×2.1mm7針128MBMS卡199750mm×21.5mm×0.28mm10針128MB基於USB接口的閃存盤1999型號不同,體積各異USB接口1GB

經過詳細的調研和性能比較,綜合各種移動存儲卡的性價比、最大容量和易實現性,筆者最終選擇CF卡作爲便攜式體電信號採集存儲系統的存量載體。CF卡容量大,最大容量可達2GB以上,完全滿足長時間體電信號採集海量數據的要求;性價比高,同樣容量的卡價格是其它卡系的一半;易於系統的實現,CF卡提供了完整的ATA功能,而且透過TrueIDE工作模式相容IDE接口;耗電量低,支援在低電壓(3.3V)下工作,實際工作電流爲30~50mA,睡眠時僅爲600μA;數據吞吐量高,5V工作時吞吐量爲20MB/s,3.3V工作時爲6.6MB/s;可靠性高,平均無故障工作時間100萬小時。

2 CF卡的物理和硬件接口特性

CF卡可以工作在PC卡ATA I/O模式、PC卡ATA存儲模式和實IDE模式三種模式下,實IDE模式與IDE接口完全歉。CF卡遵從ATA協議,屬於塊存儲設備,存儲單元是透過磁頭(head)、柱面(cylinder,也稱磁道)和扇區(sector)組織起來的;在物理尋址(CHS)方式下,每一組H/C/S參數唯一確定存儲卡中的一個扇區,通常一個扇區擁有512字節的數據空間。一個驅動數格式化後的容量爲磁頭數×柱面數×扇區數×512字節。在物理尋址模式下,扇區(S)是最低的地址單位,其次是磁頭(H),最後的柱面(C)爲最高尋址單位。此外,還有邏輯尋址方式(LBA)。在這種尋址方式下,CF卡按照以連續序列的邏輯扇區編號進行尋址,主機不必知道CF卡的物理幾何結構。使用28個數據位來表示邏輯扇區的地址,可以尋址2 28個扇區,理論上可以尋址136GB的容量。下面給出物理尋址方式與邏輯尋址方式的對應關係。設NS爲每磁道扇區數,NH爲磁頭數,C、H、S分別表示磁盤的柱面、磁頭和扇區編號,LBA表示邏輯扇區號,div爲整除計算,mod爲求餘計算,則:LBA=NH×NS×C+NC×H+S-1;C=(LBA div NS)div NH;H=(LBA div NS)mod NH;S=(LBA mod NS)+1。

CF卡爲50針接口。其中重要的信號線16根數據線、11根地址線(在TureIDE模式下僅用3根地址線)、2根寄存器組選擇信號線(CS0、CS1)、數據的讀寫線(IORD、IOWR)、1根中斷信號請求線(INTRQ和1根復位線(RESET)。

3 CF卡的軟件接口和命令

CF內部控制器有多個寄存器,透過這些寄存器可以對CF卡內部的存儲空間進行控制和訪問。下面就實IDE模式下的寄存器組爲例進行說明。

在實IDE模式下,寄存器組透過寄存器組選擇信號線(CS0、CS1)和低三位地址線(A0、A1、A2)進行訪問,具體功能和地址分配如表2所列。

表2 CF卡實IDE模式下寄存器組具體功能和地址分配表

CS1CS0A2A1A0IORD=0IOWR=0位數/位10000數據寄存器數據寄存器1610001錯誤寄存器特徵寄存器810010扇區數寄存器扇區數寄存器810011扇區號寄存器扇區號寄存器810100柱面號寄存器(低字節)柱面號寄存器(低字節)810101柱面號寄存器(高字節)柱面號寄存器(高字節)810110驅動器選擇/磁頭寄存器驅動器選擇/磁頭寄存器810111狀態寄存器命令寄存器801110可選狀態寄存器設備控制寄存器801111驅動器地址寄存器保留8

CF-ATA的基本命令有30餘條,主要有數據的傳輸命令,包括扇區、緩衝區的讀寫等命令;CF卡的定義命令,包括磁道格式化、設定特徵參數等命令;電源管理命令,包括檢查電源管理模式、進入睡眠省電模式等命令;安全及權限的設定命令,包括CF卡安全密碼的設定、安全權限的鎖定與解鎖等命令。每執行一條命令都要向CF-ATA的寄存器組寫入參數和命令。下面以CF卡讀取一扇區數據爲例,說明CF-ATA命令的執行過程。

①讀取CF卡狀態寄存器,檢測並等待當前CF卡是否空閒,若空閒,向下執行。

②填寫地址寄存器塊。地址寄存器塊包括扇區數寄存器、扇區號寄存器、柱面號寄存器(低和高字節)、驅動器選擇/磁頭寄存器,選擇訪問的扇區地址。

③寫命令寄存器,將讀扇區命令寫入命令寄存器(20h或21h)。

④讀取CF卡狀態寄存器,檢測並等待CF卡的數據請求。有數據請求表示命令已被接收並處理,若長時間沒有數據請求,需要進行超時處理。

⑤讀數據寄存器。由於數據寄存器端口爲16位,因此,讀一個扇區512

字節的數據僅需要連續執行256次訪問數據寄存器的操作。要注意的是,在CF卡中存儲的數據是低字節在前,高字節在後。在數據寄存器中,會產生高低字節顛倒的問題。

⑥檢測執行結果。在執行命令後,需要檢視狀態寄存器的'D0位。若D0位爲0,則表示命令執行成功,否則表示出錯。其相應的錯誤資訊在錯誤寄存器中可以查出。

4 TMS320LF2407與CF卡的電路連接

TMS320LF2407是TI公司C24X系列中功能最完整、資源最豐富的控制芯片DSP,提供了多種接口的最優數字控制,有最高的代碼效率。C24X是其C2000系列新代16位定點處理器產生,內核CPU爲低功耗、高性能TMS320TM構架的增強設計;最優化控制多個外設;有2個事件管理模組,用於數據控制、電源轉換,產生多種波形PWM;同步16通道高性能10位ADC,轉換時間爲500ns;支援串行異步通信接口(SCI)、串行同步外設接口(SPI)、CAN總線2.0標準接口。TMS320LF2407總尋址範圍192K字,其中包括64K字程序空間,64K字數據空間,64K字I/O空間,片內程序空間集成32K字Flash,數據空間集成2.5K字RAM,包括544字DARAM(其中256字與程序空間共享),2K字SARAM。圖1給出了TMS320LF2401與CF卡的一種電路連接方框圖。CF卡佔用TMS320LF2407的I/O空間地址,不需要任何中間接口轉換芯片。

5 TI公司DSP彙編程序實例

考慮到TI公司的DSP各系列芯片彙編指令的相容性例於跨平臺移植和彙編語言代碼的高效性,下面給出基於連接框圖將CF卡中一扇區數據(512字節)讀到TMS320LF2407片內RAM中彙編程序。READ_A_SECT:

W_CF_RDY: ;檢測CF卡是否空閒

LDP #0h

IN CF_IN,CFCOM_STAT

;讀狀態寄存器

LALC CF_IN

AND #00FFh

XOR #0050h

BZ END_WAIT_RDY

B W_CF_RDY

END_WAIT_RDY:

SPLK #0000h,CF_OUT

OUT CF_OUT,CFERR_FEA

;寫特片寄存器

SPLK #0001h,CF_OUT

OUT CF_OUT,CFSET_COU

;寫扇區數寄存器

SAR AR3,CF_OUT

OUT CF_OUT,CFSEC_NO

;寫扇區號寄存器

SAR AR4,CF_OUT

OUT CF_OUT,CFCYL_LOW

;寫柱面號寄存器(低字節)

SAR AR5,CF_OUT

OUT CF_OUT,CFCYL_HIG

;寫柱面號寄存器(高字節)

SAR AR6,CF_OUT

OUT CF_OUT,CF_CDH

;寫驅動器選擇/磁頭寄存器

SPLK #0020h,CF_OUT

OUT CF_OUT,CFCOM_STAT

;寫命令寄存器

W_CF_DRQ:;檢測CF卡是否有數據請求

IN CF_IN,CFCOM_STAT

LACL CF_IN

AND #00FFh

XOR #0058h

BZ END_WAIT_DRQ

B W_CF_DRQ

END_WAIT_DRQ:

LAR AR2,#0FFh

;作256次循環讀取一扇區數據(512字節)

MAR *,AR1

INLOOP:IN *+,CFDATA,AR2

;循環讀取數據寄存器

BANZ INLOOP,*-,AR1

RET

程序說明:CFDATA爲數據寄存器端口地址;CFCOM_STAT爲狀態/命令寄存器端口地址;CFERR_FEA爲特徵寄存器端口地址;CFSEC_COU爲扇區數寄存器端口地址;CFSEC_NO爲扇區號寄存器端口地址;CFCYL_LOW爲柱面號寄存器(低字節)端口地址;CFCYL_HIG爲柱面號寄存器(高字節)端口地址;AR1、AR3~AR6輔助寄存器爲程序入口參數,其中AR1爲RAM數據緩衝區的起始地址;AR3~AR6爲CF卡各寄存器待賦的值;CF_IN和CF_OUT爲變量。程序中沒超時處理,在循環讀取數據的過程中,最好禁用時間較長的中斷。這是因爲CF卡在15ms內沒有接收到命令就會進入休眠(sleep),因此不論是讀還是寫扇區,在命令出後15ms內應將數據取出或填充上,否則會出錯。結語

採用TI公司的C24X、C28X系列DSP與CF卡搭建體電信號採集的硬件平臺,僅使用很少的外部邏輯。整個系統可以採用低電壓3.3V單一電壓供電,供電電路非常簡單。C24X、C28X系列DSP芯片對片內的各個模組獨立供電,工作時可以屏蔽掉沒有用到的模組,比如SCI、SPI、CAN總線接口等模組,減少系統的功耗。在系統軟件實現上,可以採用交替式雙快取機制,將採集到的數據先存入數據緩衝區中(1扇區佔512字節爲易)。當數據緩衝區寫滿時發出溢出中斷,對CF卡進行突發寫操作。寫操作完畢可以發送命令,使CF卡立即進入休眠狀態,將功耗降至最低。這樣在數據採集系統工作的大部分時間,CF卡處於休眠狀態,工作電流僅爲600μA。

筆者TMS320LF2407與CF卡搭建建硬平臺,進行16路體電信號採集,採集頻率爲150Hz,CF卡容量爲256MB。經實際測試,系統的功耗小於0.3W,使用3~4節乾電池或1~2手機鋰電池供電,可以連續工作10~20小時以上。該系統適於腦電、心電等體電信號的採集與存儲工作,具有低功耗、攜帶方便、長時間監護、性能價格比高等特點。