便攜式、低功耗體電信號采集存儲系統研究論文
摘要:介紹目前市場上最常見的幾種非易失低功耗靜態存儲介質,詳細說明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命令的執行過程。
?、僮x取CF卡狀態寄存器,檢測并等待當前CF卡是否空閑,若空閑,向下執行。
?、谔顚懙刂芳拇嫫鲏K。地址寄存器塊包括扇區數寄存器、扇區號寄存器、柱面號寄存器(低和高字節)、驅動器選擇/磁頭寄存器,選擇訪問的扇區地址。
?、蹖懨罴拇嫫?,將讀扇區命令寫入命令寄存器(20h或21h)。
?、茏x取CF卡狀態寄存器,檢測并等待CF卡的數據請求。有數據請求表示命令已被接收并處理,若長時間沒有數據請求,需要進行超時處理。
⑤讀數據寄存器。由于數據寄存器端口為16位,因此,讀一個扇區512
字節的數據僅需要連續執行256次訪問數據寄存器的操作。要注意的是,在CF卡中存儲的數據是低字節在前,高字節在后。在數據寄存器中,會產生高低字節顛倒的問題。
?、迿z測執行結果。在執行命令后,需要查看狀態寄存器的D0位。若D0位為0,則表示命令執行成功,否則表示出錯。其相應的錯誤信息在錯誤寄存器中可以查出。
本文來源:http://www.nvnqwx.com/shiyongwen/2304328.htm