引言 消化道的動(dòng)力功能是消化系統重要的生理功能,消化道的動(dòng)力活動(dòng)是消化和吸收的基礎。近年來(lái),由于社會(huì )競爭激烈、生活節奏加快、飲食結構變化以及人們心理、精神等因素,胃腸動(dòng)力障礙性疾病(DGIM)發(fā)病率呈上升趨勢。2006年,功能性胃腸病(FGDs)的羅馬III標準的問(wèn)世,加深了人們對消化道動(dòng)力的認識。FGDs需要排除炎癥、感染、腫瘤及其他結構異常等器質(zhì)性病變,并根據癥狀作出診斷。同樣,作為FGDs中的一種,DGIM也不能用器質(zhì)性疾病機理解釋癥狀。因此,消化道動(dòng)力檢測作為消化道疾病其他檢查方法的補充,對于研究和診斷胃腸動(dòng)力障礙性疾病,有較高的臨床意義。 本系統由下位機與上位機組成。下位機負責采集數據,并將其發(fā)送給上位機;上位機主要完成數據的顯示、分析等工作。上位機軟件采用LabVIEW 開(kāi)發(fā)。 LabVIEW作為圖形化編程環(huán)境的引領(lǐng)者,不僅直觀(guān)易學(xué)、開(kāi)發(fā)功能強,而且程序的可重用性高,儀器驅動(dòng)功能強大,能與第三方軟件輕松連接。使用 LabVIEW進(jìn)行軟件開(kāi)發(fā),可以充分利用計算機強大的數據處理和傳輸能力及LabVIEW提供的大量擴展功能庫和軟件工具包,大大豐富和增強了儀器的功能。 1 系統原理 本系統采用腔內壓力記錄法中的毛細管液壓灌注法進(jìn)行食管動(dòng)力檢測。四通道測壓導管內注滿(mǎn)蒸餾水后插入食管中,測壓導管側孔處的食管壓力通過(guò)無(wú)伸縮性的水柱傳至壓力傳感器的敏感膜片上,可測得食管4個(gè)不同位置的壓力信號。該信號經(jīng)放大調理后,接到下位機的模擬量輸入口。由下位機的模數轉換模塊轉換為數字量,通過(guò)USB接口傳送給上位機。由上位機軟件設定灌注壓力,通過(guò)USB接口傳送給下位機,下位機輸出脈寬調制輸出信號控制檢測儀中的電機。系統原理框圖如圖 1所示。 ![]() 2 下位機設計 下位機主要由凌陽(yáng)公司16位單片機SPCE061A和Philips公司的USB接口芯片 PDIU/SBDl2(簡(jiǎn)稱(chēng)D12)組成。SPCE06lA擁有 32位可編程的多功能I/O端口和2個(gè)16位定時(shí)器/計數器,內部集成了7通道10位電壓模數轉換器,兼具低電壓復位/監測功能。SPCE061A的模擬量輸入口IOA[O~3]接檢測儀4路壓力信號,脈寬調制輸出口IO138接檢測儀的電機,SPCE061A與D12的連接如圖2所示。 ![]() 主程序流程如圖3所示。系統初始化包括:系統時(shí)鐘設置、D12初始化、D12芯片的軟連接和模擬輸入通道初始化。定時(shí)器TimeA的時(shí)鐘源A選擇4 096 Hz,定時(shí)100 ms后,打開(kāi)IRQl_TMA中斷。中斷發(fā)生后,中斷服務(wù)子程序調用D12命令層中的寫(xiě)緩沖區函數,將函數Get_AD()讀取的4路A/D轉換值寫(xiě)入 USB端點(diǎn)2。其中,函數Get_AD()先讀取模擬輸入通道0的A/D轉換值26次,忽略最大與最小的5個(gè)值后取平均值;再依次讀取下一路模擬輸入通道的A/D轉換值。 ![]() 3 上位機軟件系統的設計 采用LabVIEW8.2專(zhuān)業(yè)版開(kāi)發(fā)軟件,后臺數據庫采用ACC2ESS 2003。采用模塊化設計方法將軟件系統分為數據庫操作模塊、數據采集與顯示模塊以及數據分析模塊。 3.1 數據庫操作模塊的設計 使用ACCESS 2003創(chuàng )建數據庫文件patient.mdb,經(jīng)過(guò)數據庫需求分析,建立如下6個(gè)數據表:系統信息表、用戶(hù)信息表、患者信息表、患者波形數據表、常用語(yǔ)詞庫表和解釋與評議詞庫表。 LabVIEW訪(fǎng)問(wèn)上述的數據庫文件,需要安裝數據庫互聯(lián)工具包。數據庫互聯(lián)工具包通過(guò)使用ADO技術(shù)與數據庫建立連接。ADO是通過(guò)Mi- crosoft OLE DB與數據庫通信的;贠LE DB的通信是通過(guò)一個(gè)類(lèi)似于數據庫驅動(dòng)程序的Provider實(shí)現的。使用ADO將允許與任何提供了OLE DB Provider或者ODBC Driver的數據庫建立連接。ODBC(Open DataBaseConnectivity)是一種傳統的通用的允許與數據庫建立連接的API。如果一個(gè)數據庫具有ODBC驅動(dòng),則可以通過(guò)使用 “Microsoft OLE DB Provider for ODBC”(實(shí)現了從0LE DB到ODBC的轉換功能)與數據庫連接。 創(chuàng )建Microsoft Data Link文件并對UDL文件進(jìn)行相應設置后,即可利用LabVIEW的數據庫互聯(lián)工具包中的函數實(shí)現對Access數據庫的訪(fǎng)問(wèn)。 數據庫操作模塊包括以下幾個(gè)部分: ①用戶(hù)及密碼管理部分,負責軟件用戶(hù)的登陸及密碼的管理,包括用戶(hù)及密碼的添加、修改及刪除。 ②常用語(yǔ)詞庫管理部分,是為了方便醫生在撰寫(xiě)病人病例時(shí)輸入常用的病例詞匯的部分。醫生可以根據自己的需要添加和編輯常用的病例詞匯。 ③解釋與評議詞庫管理部分,是為了方便醫生撰寫(xiě)檢查報告時(shí)輸入解釋與評議詞匯的部分。醫生可以根據自己的需要添加和編輯常用的解釋與評議詞匯。 ④病人數據庫管理部分,負責病人數據庫的管理,包括病人信息的瀏覽、修改、刪除以及病人各個(gè)時(shí)期檢查波形的查看。 病人數據庫管理部分用于顯示病人信息的程序,如圖4所示。這段代碼分為3個(gè)線(xiàn)程。線(xiàn)程1具體實(shí)現的步驟如下: ①獲得UDL文件的相對路徑,再用DB Tools Open COnnection函數打開(kāi)與這個(gè)數據庫的連接。 ②使用DB Tools Execute Query函數,利用SQL語(yǔ)句select * from PatientTable來(lái)執行SQL查詢(xún),用以選擇患者信息表中的任何記錄。 ③使用DB Tools Fetch Recordset Data函數,將記錄以二維數據庫變量數組的形式輸出。 ④通過(guò)For循環(huán)中的Database Variant To Data函數,將二維數據庫變量數組轉換成字符串格式顯示在多列列表框中。 線(xiàn)程2用于顯示選項卡2中的所有控件(包括多列列表框),線(xiàn)程3用于插入新的菜單。 ![]() 3.2 數據采集與顯示模塊的設計 數據采集與顯示模塊是醫生操作檢測儀的平臺,主要完成食管壓力數據的讀取和顯示、圖標的標記以及數據的保存。 每100 ms下位機將食管壓力數據寫(xiě)到USB端點(diǎn)2上。要正確讀取USB接口的數據,涉及對USB設備的驅動(dòng)。在LabVIEW環(huán)境下,可以采用傳統的開(kāi)發(fā)USB 驅動(dòng)程序方法對D12芯片進(jìn)行驅動(dòng),如先用windowsDDK開(kāi)發(fā)USB驅動(dòng)程序,然后用Visual C++編寫(xiě)DLL,最后在LabVIEW中調用DLL來(lái)操作USB設備。這里介紹一種在LabVIEW環(huán)境下使用VISA進(jìn)行快速開(kāi)發(fā)USB驅動(dòng)程序的方法。 ![]() NI-VISA是一個(gè)用來(lái)與各種儀器總線(xiàn)進(jìn)行通信的高級應用編程接口(API),且支持USB通信。使用VISA的驅動(dòng)程序開(kāi)發(fā)向導為USB設備創(chuàng )建并安裝INF文檔,只需在相應欄內輸入設備的供應商ID(0X0471)、產(chǎn)品ID(0X0666)、制造商名稱(chēng)(Philips Semiconductors)和型號名稱(chēng)(PDILISBD12)。本設計中D12的VISA儀器描述符為 USB0::0x0471::0x0666::NI-VISA-O::RAw,在測量與自動(dòng)化瀏覽器中可找到設備及其資源名稱(chēng),并可使用VI-SA Interactive Control測試通信情況。 LabVIEW中使用VISA中的函數與USB設備進(jìn)行通信。圖5為從USB設備端點(diǎn)2中讀取指定字節數的程序代碼。具體實(shí)現過(guò)程如下: ①在前面板的“VISA資源名稱(chēng)控件”中輸入VISA資源名稱(chēng)字符串(即上述的VISA儀器描述符),用來(lái)指定要連接的USB設備。 ②用VISAOPEN函數打開(kāi)VISA資源名稱(chēng)控件所指定的設備。 ③用USB Raw的屬性節點(diǎn)USB Settings:Bulk-InPipe,將端點(diǎn)2設置為批量輸入端點(diǎn)。 ④用VISARead函數從USB端點(diǎn)2中讀取16字節的數據。 用波形圖表控件顯示讀取的USB端點(diǎn)數據,即可實(shí)現食管壓力數據的顯示。 在采集過(guò)程中,應根據需要在波形圖表上設置基線(xiàn)和標記圖標。例如,當確定測壓導管所有通道均插入胃中,應點(diǎn)擊工具欄相應圖標設置胃基線(xiàn);當確定導管處于食管下括約肌中時(shí),應點(diǎn)擊工具欄相應圖標進(jìn)行標記。這些圖標都會(huì )標記在波形圖表上,以便今后的計算和分析。采集過(guò)程中,還應將食管壓力數據以及圖標標記的時(shí)間和種類(lèi)分別保存到二進(jìn)制文件中,最后將文件作為oLE對象保存到數據庫中。 3.3 數據分析模塊的設計 數據分析模塊主要負責分析患者食管壓力數據,并完成對患者壓力數據的輔助診斷。 首先需要將數據采集過(guò)程中進(jìn)行過(guò)標記操作的食管壓力數據波形圖繪制出來(lái)。由于要顯示波形圖以及各種直線(xiàn)、圖像、文字,波形圖控件已不能實(shí)現這些功能,故使用圖片控件進(jìn)行顯示的工作?墒褂美L制波形圖函數將保存在數據庫中相應的食管壓力數據繪制在圖片中。利用讀取BMP文件函數、還原像素圖函數和繪制還原像素圖函數,可以在圖片控件對應區域繪制正確的標志圖像。 對圖像進(jìn)行操作時(shí)還需進(jìn)行防閃爍的處理。通常情況下,在圖片中重新繪制圖形或拖動(dòng)滾動(dòng)條時(shí),LabVIEW將通過(guò)擦除對象的內容并重繪新數據的方式來(lái)更新某個(gè)對象,但這樣會(huì )導致可覺(jué)察的閃爍。通過(guò)設置圖片控件快捷菜單中的平滑更新屬性,LabVIEW會(huì )自動(dòng)利用幕后緩沖區來(lái)最大限度地抑制擦除和重繪所引起的閃爍。食管壓力數據的波形圖繪制完后,根據在數據采集時(shí)所作的標記選擇相應的區域,系統會(huì )自動(dòng)計算各種功能參數,如LES靜息壓、殘余壓、松弛率以及吞咽時(shí)食管的收縮壓力。 分析結果會(huì )以報告的形式反饋給醫生,并且會(huì )被重新保存到數據庫中。最后,分析結果以報表形式輸出。 4 食管壓力檢查結果分析 上位機軟件系統會(huì )自動(dòng)測量食管不同部位在靜息狀態(tài)與吞咽時(shí)的壓力,并實(shí)時(shí)顯示給醫生。對歷史數據樣本進(jìn)行分析時(shí),根據波形與采集時(shí)的標記,從彈出的快捷菜單中選擇對應的菜單項,然后選擇波形區域,系統會(huì )自動(dòng)計算各種食管壓力參數,以方便醫生進(jìn)行診斷。 4.1 食管下括約肌壓力及松弛功能檢測 四通道測壓導管經(jīng)鼻腔插入胃腔,用緩慢定點(diǎn)牽拉法,當壓力曲線(xiàn)隨呼吸波幅度明顯增加,如壓力持續升高超過(guò)胃基線(xiàn)2 mmHg以上時(shí),說(shuō)明測壓通道已進(jìn)入LES;同時(shí)點(diǎn)擊工具欄圖標,以在壓力波形的相應通道上進(jìn)行LES標記。選擇區域后可測得LES靜息壓,如圖6所示。 ![]() 導管進(jìn)入LES高壓區時(shí)壓力波形出現高峰,當導管位于LES腹段時(shí),作吸氣試驗可看到吸氣時(shí)壓力升高。繼續牽拉導管直至吸氣時(shí)壓力突然下降,此下降點(diǎn)即為壓力反轉點(diǎn)(PIP),表明導管已進(jìn)入LES胸段。 每隔20~30 s囑受檢者做數次濕咽,以檢測吞咽后的LES松弛功能,同時(shí)在相應的通道上打上濕咽(殘余壓)圖標。選擇區域后可測得LES松弛壓,如圖7所示。 ![]() 4.2 食管體部壓力測定 繼續緩慢向外牽拉測壓導管,使四通道導管都離開(kāi)LES進(jìn)入食道體部。每隔20~30 s囑患者濕咽數次,同時(shí)在第一通道上標記濕咽圖標。濕咽時(shí),食道會(huì )發(fā)生收縮,壓力波形上會(huì )升高。選擇區域后可測得食管蠕動(dòng)波幅,如圖8所示。 ![]() 4.3 食管上括約肌(UES)檢測 繼續緩慢向外牽拉測壓導管,當壓力波形出現一個(gè)增高的平臺時(shí),表明導管進(jìn)入食管上括約肌,同時(shí)應在壓力波形上標記UES圖標。平臺頂部至食管基線(xiàn)的壓力差即為UES壓力。囑受檢者干咽,壓力平臺會(huì )突然下降又上升,下降的最低點(diǎn)至食管基線(xiàn)的壓力差即為UES松弛壓。 結語(yǔ) 利用LabVIEW強大的儀器驅動(dòng)功能,快速、高效地開(kāi)發(fā)了USB驅動(dòng)程序。利用LabVIEW的工具包實(shí)現了與ACCESS數據庫的輕松連接。通過(guò)對人體食管壓力數據樣本進(jìn)行分析,得到了可供輔助診斷的壓力參數,滿(mǎn)足了實(shí)際的醫用需求。 參考文獻 1. 陳雅慧.蘭忠平.惠起源 胃腸動(dòng)力障礙性疾病實(shí)驗研究現狀 [期刊論文] -延安大學(xué)學(xué)報(醫學(xué)科學(xué)版)2007(2) 2. 張萬(wàn)岱 功能性胃腸病羅馬標準的簡(jiǎn)介和解讀 [期刊論文] -世界華人消化雜志2008(2) 3. 楊樂(lè )平 LabVIEW 高級程序設計 2003 4. 王朔.李剛 USB 接口器件PDIUSBD12的接口應用設計 [期刊論文] -單片機與嵌入式系統應用2002(1) 5. National Instruments Corporation Database Connectivity Toolset User Manual 2007 6. National Instruments Corporation 使用NI-VISA控制USB設備 2007 7. 余志榮.楊莉 基于NI-VISA與LabVIEW的USB接口應用設計 [期刊論文] -單片機與嵌入式系統應用2007(1) 8. 厲有名 現代食管病學(xué) 1999 9. 編者注:"壓力"的法定計量單位為"Pa",1mmHg=133.322Pa 作者:合肥工業(yè) 大學(xué) 戴祥亭 來(lái)源:?jiǎn)纹瑱C與嵌入式系統應用 2009(5) |