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