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