1 引言
虛擬醫(yī)學儀器充分利用計算機豐富的軟硬件資源,,僅增設少量專用軟,、硬件模塊,便可實現(xiàn)傳統(tǒng)儀器的全部功能及一些傳統(tǒng)儀器無法實現(xiàn)的功能,,同時縮短了研發(fā)周期。本系統(tǒng)由兩部分組成:以C8051F320單片機為核心的數(shù)據(jù)采集裝置和以PC機為平臺的分析處理系統(tǒng),。設計中充分考慮數(shù)據(jù)采集裝置體積小,、功耗低、操作快捷的要求,,因此全部采用SMT封裝的元器件,。PC監(jiān)護終端通過USB接口接收數(shù)據(jù),傳輸速率高,;采用圖形編程語言LabVIEW編寫顯示,、存儲、分析處理等功能程序,。該系統(tǒng)可實時監(jiān)護并提供心動周期,,心率等參數(shù),,也可進行數(shù)據(jù)的存儲回放,為心血管疾病的診斷提供依據(jù),。系統(tǒng)的軟件開發(fā)和硬件與上位機軟件的集成測試表明,,系統(tǒng)運行穩(wěn)定可靠,取得了預期效果,。
2 系統(tǒng)硬件設計
該系統(tǒng)由C8051F320數(shù)據(jù)采集模塊和PC機兩部分組成,,如圖1所示。
數(shù)據(jù)采集模塊主要由心電采集電路和基于C8051F320單片機的DAQ接口卡構成,,如圖2所示,。
該模塊通過C8051F320片上A/D轉(zhuǎn)換器采集經(jīng)預處理的心電信號,再將其由USB總線傳輸至PC機顯示,。PC機部分主要是軟件設計,,包括通過C8051F320單片機片上USB主機API函數(shù)和LabVIEW軟件編寫數(shù)據(jù)采集圖形用戶界面;實現(xiàn)接收,、顯示和處理由數(shù)據(jù)采集模塊通過USB接口發(fā)送采集數(shù)據(jù)的程序,。LabVIEW應用程序和C8051F320應用程序均采用Silicon Laboratories公司的USB Xpress開發(fā)套件的API和驅(qū)動程序?qū)崿F(xiàn)對底層USB器件的讀寫操作。
心電信號屬于微弱信號,,體表心電信號的幅值范圍為1~10 mV,。在測量心電信號時存在很強的干擾,包括測量電極與人體之間構成的化學半電池所產(chǎn)生的直流極化電壓,,以共模電壓形式存在的50 Hz工頻干擾.人體的運動,、呼吸引起的基線漂移,肌肉收縮引起的肌電干擾等,。采用遙測HOLTER三導聯(lián)線和一次性心電電極與人體接觸,,能很好地減小運動和呼吸引起的肌電干擾。前端放大器采用具有極高共模抑制比(CMRR)的儀用AD620放大器,,放大倍數(shù)約為50倍,;并采用0.05~100 Hz的帶通濾波器和50 Hz的陷波電路,抑制信號的基線漂移,、高頻噪聲及工頻干擾,。為了充分利用A/D轉(zhuǎn)換的精度,在轉(zhuǎn)換前先將信號放大到A/D轉(zhuǎn)換電路參考電壓的70%左右,,考慮到信號中會附加直流成分,,需在A/D轉(zhuǎn)換電路前增加電平調(diào)節(jié)電路。個體心電幅度的差異要求電路中設計程控放大電路,,又為了便于心電信號的標定和考慮到實際器件放大倍數(shù)與理論值的偏差,,在程控放大電路前設置一個手動可調(diào)的放大電路(1~10倍)。
綜上分析,,心電采集與程控放大部分應包括:AD620前端放大,、0.05~100 Hz的帶通濾波,、50 Hz陷波、手動放大,、程控放大和電平提升等電路,。其中程控放大功能利用CD4051電子開關的數(shù)字選通實現(xiàn),具有1~50倍的調(diào)節(jié)范圍,。
為減少系統(tǒng)功耗,,應采用低功耗、集成度高的器件,。該系統(tǒng)選用C8051F320單片機作為數(shù)據(jù)采集卡的核心部件,。該器件是完全集成的混合信號系統(tǒng)級器件,具有與8051兼容的高速CIP-51內(nèi)核,,與MCS-51指令集完全兼容,,片內(nèi)集成了數(shù)據(jù)采集和控制系統(tǒng)常用的模擬、數(shù)字外設及USB接口等其他功能部件,。外部電路簡單,,易于實現(xiàn),如圖3所示,。
心電電極將得到的信號經(jīng)濾波和可變增益放大器放大后送至C8051F320單片機,,單片機將得到的模擬心電信號實時轉(zhuǎn)換為數(shù)字信號,采集到的數(shù)據(jù)通過USB接口傳給PC機,,進一步分析處理信號數(shù)據(jù),。
3 系統(tǒng)軟件設計
3.1 C8051F320單片機程序設計
C8051F320單片機程序包括:(1)A/D轉(zhuǎn)換程序和程控放大控制程序;(2)基于USB器件的通信程序,,接收從USB主機發(fā)送的用戶指令并將采集的數(shù)據(jù)發(fā)送給USB主機,。
3.1.1 A/D轉(zhuǎn)換程序
衡量A/D轉(zhuǎn)換性能主要有兩個指標:采樣分辨率(A/D轉(zhuǎn)換器位數(shù))和A/D轉(zhuǎn)換速度。設置A/D轉(zhuǎn)換器的采樣率為2 000 Hz,,并采用定時器TIME2溢出中斷觸發(fā)轉(zhuǎn)換,,每次轉(zhuǎn)換結束后1O位結果數(shù)據(jù)字被鎖存到A/D轉(zhuǎn)換器的數(shù)據(jù)寄存器中,供USB通訊子程序數(shù)據(jù)調(diào)用,,圖4為A/D轉(zhuǎn)換流程,。A/D轉(zhuǎn)換程序較簡單,可通過設置C8051F320片上定時器確定A/D轉(zhuǎn)換器的采樣周期,,由定時器的溢出周期性啟動A/D轉(zhuǎn)換器來采樣被測數(shù)據(jù)。USB設置為塊狀傳輸模式與PC機進行數(shù)據(jù)通信,。將每64個數(shù)據(jù)打成一個數(shù)據(jù)包,。以充分利用硬件資源并提高數(shù)據(jù)傳輸效率。
3.1.2 基于USB器件的通信程序
整個程序流程以USB通信為主線,,如圖5所示,。圖中所涉及的USB_Clock_Start(),、USB_Int()等函數(shù)均是SiliconLab公司專為C8051F320單片機USB功能開發(fā)的USB端API函數(shù)。通過在C8051F320上層應用程序中直接調(diào)用這些函數(shù)可方便快捷地訪問USB底層硬件,。
3.2 PC機LabVIEW程序設計
PC機LabVIEW程序設計主要完成用戶圖形界面和基于USB主機通信程序兩大功能,,從而實現(xiàn)人機交互,將用戶輸入的指令和采集模塊采集的數(shù)據(jù)通過USB總線在PC機和C8051F320之間傳遞,。
3.2.1 LabVIEW程序面板設計
開發(fā)USB設備驅(qū)動程序的工具使用USB Xpress Devel-opment Kit,,主要有:SI_Open()函數(shù);SI_Close()函數(shù),;SI_Read函數(shù),;SI_Write()函數(shù);SI_GetNumDevices()函數(shù),;SI_CheckRX Queue()函數(shù),。用戶從設備讀取數(shù)據(jù)將調(diào)用一個應用程序接口API。SI_GetNumDevices(),、SI_GetProductString()等函數(shù)均是Silicon Lab公司專為C8051F320單片機USB功能開發(fā)的USB主機端API函數(shù),。LabVIEW提供調(diào)用鏈接庫函數(shù)Call Librarv Function,本設計利用Silicon Lab公司的SiUSBXp.dll動態(tài)鏈接庫來實現(xiàn)對USB底層硬件的訪問,。
通過調(diào)用SLGetNumDevices()甬數(shù)完成設備的通信初始化,,生成函數(shù)返回驅(qū)動的設備號;該設備號用來在調(diào)用SI GetProductString()函數(shù)時生成設備描述字符串,。要讀取一個設備,,首先必須通過調(diào)用SI_GetNumDevices()函數(shù)生成的索引(設備號)來調(diào)用SI_Open()函數(shù)。SI_Open()函數(shù)將返回設備的句柄,,該句柄將在隨后的所有進程中被用到,。利用 SI_Write()和SI_Read()函數(shù)就可實現(xiàn)數(shù)據(jù)的輸入和輸出。當完成數(shù)據(jù)的輸入和輸出操作后,,可通過調(diào)用SI_Close()關閉設備,。圖6為I/O接口驅(qū)動程序框圖。
3.2.2 LabVIEW程序設計用戶圖形界面(前面板)設計
動態(tài)心電監(jiān)護系統(tǒng)應用程序部分可實現(xiàn)心電信號的接收,、實時顯示,、存儲及回放功能;并可提供心動周期,、心率等參數(shù),,為心率變異性分析和心血管疾病的診斷提供依據(jù)。心電監(jiān)護系統(tǒng)顯示界面如圖7所示,。
4 結論
該設計不僅可實現(xiàn)傳統(tǒng)測量儀器的全部功能,,還能將實驗數(shù)據(jù)存盤以進行反復觀察分析?;谔摂M儀器的心電監(jiān)護系統(tǒng)使用靈活方便,、測試功能豐富,、成本低廉。用戶可根據(jù)實際需要,,通過修改軟件改變其功能和升級,,實現(xiàn)一機多用。實驗結果表明:該系統(tǒng)具有較強的抑制基線漂移能力,、低功耗,、操作簡單。采用USB接口實時傳輸心電數(shù)據(jù),,并將心電數(shù)據(jù)采集模塊設計為計算機外設,,高速快捷。由于全部采用SMT封裝,,數(shù)據(jù)采集模塊尺寸僅為60 mmx60 mm,,方便實用。因此,,該設計是一款實用的,、低成本的、動態(tài)心電監(jiān)護系統(tǒng),。