基于ARM9處理器的家用遠(yuǎn)程醫(yī)療監(jiān)護終端結(jié)構(gòu)功能及應(yīng)用
遠(yuǎn)程醫(yī)療是網(wǎng)絡(luò)科技與醫(yī)療技術(shù)相結(jié)合的產(chǎn)物,隨著我國經(jīng)濟的發(fā)展、科技的進(jìn)步以及進(jìn)入老齡化社會的需要,發(fā)展遠(yuǎn)程醫(yī)療已成為一種必然趨勢。遠(yuǎn)程醫(yī)療從使用對象上可分為:面向醫(yī)院的遠(yuǎn)程醫(yī)療系統(tǒng)和面向家庭的遠(yuǎn)程醫(yī)療系統(tǒng)。面向家庭的遠(yuǎn)程醫(yī)療系統(tǒng)的功能包括:遠(yuǎn)程“看醫(yī)生”、遠(yuǎn)程監(jiān)護、遠(yuǎn)程醫(yī)學(xué)信息查詢/咨詢等。
國外的遠(yuǎn)程家庭醫(yī)療更加注重遠(yuǎn)程“看醫(yī)生”,個人/ 患者在家中就可與醫(yī)生進(jìn)行實時語音、圖像信息交流,可實現(xiàn)在線檢測人體生理信號并給出診斷。這種系統(tǒng)是以視頻會議系統(tǒng)為核心,但目前還難以在我國普及,原因一是該系統(tǒng)的價格太貴,一般家庭承受不起;原因二是受到通信信道帶寬的限制,國外一般使用綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN),而我國現(xiàn)在普及到家庭的是普通電話系統(tǒng)(POTS),盡管通過這也可實現(xiàn)雙向視頻傳輸,但在圖像分辨率、每秒傳輸圖像楨數(shù)等方面,難以達(dá)到遠(yuǎn)程醫(yī)療的要求。作為遠(yuǎn)程醫(yī)療的重要內(nèi)容之一的遠(yuǎn)程監(jiān)護,其傳輸?shù)闹皇侨梭w生理信號,其所需的通信速度通過普通電話線就可以滿足。因此,考慮到我國互聯(lián)網(wǎng)用戶呈逐年增長趨勢,發(fā)展遠(yuǎn)程監(jiān)護更加符合我國國情。
系統(tǒng)結(jié)構(gòu)與功能
系統(tǒng)采用B/S(Browser/Server,瀏覽器/服務(wù)器)模式設(shè)計,使用該模式的最大好處是減少開發(fā)工作量、運行維護比較簡便。將B/S模式引入嵌入式網(wǎng)絡(luò)設(shè)計,改變了過去需要同時開發(fā)上位機和下位機軟硬件的做法,現(xiàn)在只需要在下位機(服務(wù)器端)的嵌入式設(shè)備中集成一個微型服務(wù)器,利用HTML(超文本標(biāo)記語言)設(shè)計網(wǎng)頁模塊,就可在上位機(瀏覽器端)使用IE等瀏覽器接收和解析此模板,從而為用戶提供一個視覺效果好、操作方便的工作界面。
首先基于ARM9處理器S3C2410A和嵌入式Linux操作系統(tǒng),設(shè)計出支持嵌入式Web Server的開發(fā)平臺,再通過移植嵌入式Web Server—boa,配合數(shù)據(jù)采集和處理等模塊,構(gòu)造一套適用于家庭的便攜式遠(yuǎn)程醫(yī)療監(jiān)護終端。在監(jiān)護終端,利用生物電引導(dǎo)電極采用標(biāo)準(zhǔn)三導(dǎo)聯(lián)方式將人體心電信號拾取出,經(jīng)導(dǎo)聯(lián)線傳輸?shù)叫盘栒{(diào)理模塊,經(jīng)該模塊的濾波、放大后得到初級的生物電信號,再經(jīng)由S3C2410自帶的ADC引腳送入Web服務(wù)器模塊,心電信號在此模塊中經(jīng)過各種運算分析后得到反映心臟特征的信號, LCD上實時的顯示心電波形和病人的個人信息,同時將心電信號存儲于片外Flash ROM中,終端通過以太網(wǎng)口接入以太網(wǎng),以實現(xiàn)與監(jiān)控中心的遠(yuǎn)程交互。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
硬件電路設(shè)計
信號調(diào)理電路模塊
心電信號的檢測是屬于強噪聲背景下的微弱信號檢測,信號具有微弱、低頻、高阻抗、不穩(wěn)定和隨機等特點。此信號的主要頻率范圍為0.05~100Hz, 幅值范圍為0.5~5mV。微弱的心電信號還受到多種干擾,其特征被淹沒在復(fù)雜的信號之中。又由于生物電引導(dǎo)電極在拾取人體電信號時與人體接觸會產(chǎn)生極化電壓。因此,為了滿足檢測要求,信號調(diào)理電路必須要較好的抑制各種干擾、不失真的放大心電信號。本設(shè)計中,信號調(diào)理電路模塊主要包括前端電路、信號放大電路和陷波電路。電路框圖如圖2。
圖2 信號調(diào)理電路框圖
前端電路
前端電路作為信號調(diào)理電路的第一級,其功能主要是為了抑制環(huán)境中的干擾噪聲、提高前置放大器的共模抑制能力。緩沖放大器一般采用電壓跟隨器實現(xiàn),其緩沖隔離作用減小了生物信號源對放大器的過高要求,提高了電路的輸入阻抗,減少心電信號衰減和匹配失真。使用屏蔽層驅(qū)動電路可以較好的去除導(dǎo)聯(lián)線屏蔽層分布電容的不等量衰減造成對放大器總CMRR(共模抑制比)的影響。由于人體本身可通過各種渠道從環(huán)境中拾取工頻50Hz交流電壓,在心電測量中形成交流共模干擾,這種干擾常在幾伏以上,采用右腿驅(qū)動電路后能夠使50Hz共模干擾電壓降到1%以下。電路圖如圖3。
圖3 前端電路[!--empirenews.page--]
信號放大電路
信號放大電路采用兩級放大,如圖4,差動放大U805為前置級,同相放大U809構(gòu)成第二級。根據(jù)心電信號檢測的特點,通常要求放大器具有高輸入阻抗、高共模抑制比、低噪聲、低漂移、非線性度小、合適的頻帶和動態(tài)范圍的性能。前置放大器的輸入電阻一般要求>2兆歐,輸入電阻越大,因電極接觸電阻不同而引起的波形失真越小,共模抑制比就越高。由于極化電壓的存在, 為防止前置放大器工作于飽和或截止區(qū),前置級的增益不能太高,實驗表明放大10倍左右效果較好。因此選用儀表放大器MAX4196,該芯片可采用單電源供電,其功耗最低達(dá)到8mA,共模抑制比為115dB,輸入偏移電壓為50mV,-3dB帶寬可達(dá)250kHz,輸入阻抗為1000MW,增益固定為10(V/V)。
圖4 兩極放大和濾波電路
前置放大器部分總的共模抑制比為:
其中:放大器閉環(huán)差模增益,Ac:共模增益,CMRRD:運放本身的值;CMRRR:外電路電阻匹配精度限定的CMRR,d:電阻精度。因此在電路中,要精確匹配外電路電阻R812=R813,以使共模輸出變得更小。
主放大器采用MAX4197(特性與MAX4196一樣),其增益固定為100(V/V)。信號調(diào)理電路的總放大倍數(shù)為1000倍。在圖4中,電容C805具有去除極化電壓功能,并與電阻R820構(gòu)成高通濾波電路,用于抑制直流漂移和放大器通帶外的低頻噪聲。
陷波電路
工頻干擾是心電信號的主要干擾,雖然前端電路和前置放大器已對共模干擾具有較強的抑制作用,但有部分工頻于擾是以差模信號進(jìn)入電路的,且頻率處于心電信號頻帶之內(nèi),加上電極和輸入回路不穩(wěn)定等因數(shù),前級電路輸出的心電信號仍然存在較強的工頻干擾,因此必須將其濾除。本設(shè)計采用的是無限增益多路反饋型二階陷波器,電路如圖5。
圖5 陷波電路
嵌入式Web服務(wù)器模塊
考慮本系統(tǒng)定位于家庭使用,且系統(tǒng)需要連續(xù)長時間工作,又由于系統(tǒng)需要良好的人機交互環(huán)境、存儲大量數(shù)據(jù)以及支持網(wǎng)絡(luò)通信,所以要求處理器具有功耗低、成本低、豐富的接口和支持操作系統(tǒng)。本設(shè)計選用ARM9處理器S3C2410A,S3C2410A主要面向手持設(shè)備以及高性價比、低功耗的應(yīng)用上。其CPU內(nèi)核采用的是ARM公司的16/32位ARM920T RISC處理器。ARM920T實現(xiàn)了MMU、AMBA總線和Harvard高速緩存體系結(jié)構(gòu),該結(jié)構(gòu)具有獨立的16KB指令Cache和16KB數(shù)據(jù)Cache。S3C2410A集成的片上功能主要包括:1.8V/2.0V內(nèi)核供電,3.3V存儲器供電,3.3V外部I/O供電;外部存儲器控制器;LCD控制器提供1通道LCD專用DMA; 8通道10位ADC接口,轉(zhuǎn)換速率最大為500KSPS(Kilo Sample Per Second,千采樣點每秒);117位通用I/O口和24通道外部中斷源;電源控制模式包括正常、慢速、空閑和掉電4種模式;支持NAND Flash的啟動裝載。
對心電信號采樣精度的考慮主要出于對ST段異常分析處理的要求,ST段電平變化約為0.05mV,因此采樣精度至少為0.025mV。當(dāng)采用10位A/D轉(zhuǎn)換器工作在正極性、滿刻度電壓為2.5V時,可分辨的最小輸入電壓為2.5mV,而信號調(diào)理電路放大倍數(shù)為1000倍,則輸入端的最小分辨率約為0.0025mV,故S3C2410A具有的10位A/D的精度完全滿足系統(tǒng)需求。
為了使用戶能夠直觀的觀察心電和便于控制設(shè)備,設(shè)計采用東華公司的TFT彩屏YL-LCD35套件用于人機交互界面。為滿足移植操作系統(tǒng)以及存儲心電信號、網(wǎng)頁等數(shù)據(jù)的要求,系統(tǒng)外擴了64M的NAND Flash(使用一片K9F1208UOB)和64M的SDRAM(使用兩片HY57V561620)。為滿足終端聯(lián)網(wǎng)的需求,選用CS8900A用于設(shè)計網(wǎng)絡(luò)適配器,CS8900A是一個真正的單芯片、全雙工的以太網(wǎng)解決方案產(chǎn)品,更方便的是在Linux內(nèi)核中提供有CS8900A適配器的驅(qū)動程序。
電源部分
為增加安全性、降低功耗、節(jié)省成本,設(shè)計采用9V堿性電池供電,通過電源轉(zhuǎn)換芯片AS1117-3.3將9V轉(zhuǎn)換為3.3V可供給放大器芯片和S3C2410使用。[!--empirenews.page--]
軟件設(shè)計
軟件設(shè)計主要包括Linux的移植,嵌入式Web Server-Boa的移植,CGI(通用網(wǎng)關(guān)接口)程序的設(shè)計,功能程序的設(shè)計。
圖6 系統(tǒng)軟件框圖
Linux的移植
本設(shè)計采用linux-2.4.18內(nèi)核。正確進(jìn)行Linux移植的前提是具備一個與Linux配套、易于使用的BootLoader,它能夠正確完成硬件系統(tǒng)的初始化和Linux的引導(dǎo)。本系統(tǒng)中采用vivi,它是由韓國MIZI公司提供的一款針對S3C2410芯片的BootLoader。
Linux內(nèi)核的目錄/arch中包含了所有與硬件體系結(jié)構(gòu)相關(guān)的內(nèi)核移植代碼,目錄/arch中的每個子目錄代表了一種Linux支持的處理器。移植Linux到S3C2410平臺主要是修改/arch/arm目錄及其子目錄下相關(guān)的makefile文件和配置文件。例如:修改內(nèi)核根目錄下的Makefile文件,指明要移植的硬件平臺為ARM:ARCH:=arm,指明使用的交叉編譯器CROSS_COMPILE=/opt/host/armv41/bin/armv41-unknown-linux-;修改arm/arm目錄下的config.in文件,配置S3C2410的相關(guān)信息;為初始化處理器,還需在arch/arm/boot/compressed目錄下添加head-s3c2410.s文件。內(nèi)核修改完成后,用命令make menuconfig配置Linux,再用make zImage命令編譯內(nèi)核,編譯通過后則在目錄arch/arm/boot下生成zImage內(nèi)核文件,還需利用工具軟件MKCRAMFS制作cramfs文件系統(tǒng)。最后,在minicom終端的vivi命令行下利用load命令將內(nèi)核和文件系統(tǒng)下載到目標(biāo)系統(tǒng),至此移植完成。
Boa的移植和CGI程序設(shè)計
由于嵌入式設(shè)備資源有限,并且不需要同時響應(yīng)多用戶請求,因此一般使用一些專門的Web服務(wù)器用于嵌入式應(yīng)用設(shè)計。Boa是單任務(wù)web服務(wù)器,源代碼開放,性能高,支持CGI,能為CGI程序fork出一個進(jìn)程來執(zhí)行,其設(shè)計目標(biāo)是速度和安全,可執(zhí)行代碼只有約60KB。移植Boa的過程如下:從sourceforge.net上下載 boa-0.94.13,在其解壓目錄下生成并修改makefile文件,然后運行make得到可執(zhí)行程序,利用命令armv4l-unknown-linux-strip將調(diào)試信息剝?nèi)?,然后修改Boa的配置文件boa.conf,使其能支持CGI程序的運行。最后將生成的可執(zhí)行程序Boa掛載到目標(biāo)系統(tǒng),若能成功訪問靜態(tài)HTML網(wǎng)頁和運行測試用的CGI程序,則表明配置成功。
通用網(wǎng)關(guān)接口CGI可將Web服務(wù)器連接到外部應(yīng)用程序,它主要完成兩件事情:一是收集從Web瀏覽器發(fā)送給Web服務(wù)器的信息,并將這些信息提供給外部程序利用;二是對提出請求的Web瀏覽器發(fā)送程序的輸出。CGI具有平臺獨立性、語言獨立性和層次感等優(yōu)點。利用CGI程序則可以實時執(zhí)行并輸出動態(tài)信息,且其占用資源少。CGI程序的執(zhí)行過程為:瀏覽器將表單數(shù)據(jù)以POST方法提交給Web服務(wù)器,服務(wù)器根據(jù)收到的數(shù)據(jù)設(shè)置環(huán)境變量,并新開一子進(jìn)程來執(zhí)行CGI程序,CGI程序從環(huán)境變量中讀取所需要的數(shù)據(jù),通過調(diào)用用戶自定義的外部功能函數(shù)完成數(shù)據(jù)處理后,再讀取相應(yīng)的HTML模板文件,根據(jù)注釋標(biāo)記將對應(yīng)的數(shù)據(jù)填充到HTML文件中,生成新的HTML頁面經(jīng)Web服務(wù)器返回給瀏覽器。
為快速開發(fā)符合應(yīng)用要求的CGI程序,在設(shè)計時添加了CGIC庫和gd庫。CGIC是一個功能強大的支持CGI開發(fā)的開放源碼的標(biāo)準(zhǔn)C庫。Thomas Boutell編寫的gd庫是標(biāo)準(zhǔn)的C語言庫,具有基本的繪圖等功能。為實現(xiàn)在網(wǎng)頁上動態(tài)顯示心電波形,將每次采集的數(shù)據(jù)經(jīng)過功能程序處理后存儲的同時送給CGI程序,利用gd庫提供的函數(shù)來創(chuàng)建圖像。通過在網(wǎng)頁模塊上設(shè)定刷新時間(使用HTML語言的META標(biāo)記),從而實現(xiàn)在網(wǎng)頁上心電波形的動態(tài)顯示。
主程序設(shè)計
主程序首先完成對系統(tǒng)的初始化,然后阻塞監(jiān)聽網(wǎng)絡(luò)接口是否有連接請求,一旦客戶端發(fā)出連接請求,則在服務(wù)器端產(chǎn)生中斷;讀取網(wǎng)絡(luò)數(shù)據(jù),然后對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行解析,這一步主要是解析HTTP協(xié)議,需要判斷連接請求是否符合服務(wù)器規(guī)定的請求格式,判斷是連接請求的請求方法,判斷請求的文件是否存在服務(wù)器上,判斷認(rèn)證信息是否正確等等;在處理A/D采集的數(shù)據(jù)這一過程中,首先要將采集后的心電信號進(jìn)行濾波處理,主要是抑制心電信號中的50Hz工頻干擾,再完成濾波后,將數(shù)據(jù)送到本地的LCD上顯示,同時將當(dāng)前的數(shù)據(jù)以網(wǎng)頁數(shù)據(jù)的格式發(fā)送到網(wǎng)口。
結(jié)語
本系統(tǒng)的設(shè)計定位于家庭醫(yī)療監(jiān)護,通過在用于生理特征信息監(jiān)測的嵌入式系統(tǒng)中集成Web服務(wù)器實現(xiàn)Internet的接入,從而實現(xiàn)用于遠(yuǎn)程家庭醫(yī)療的監(jiān)護系統(tǒng)。其意義在于:設(shè)計出一套價格低且易于推廣的遠(yuǎn)程家庭醫(yī)療監(jiān)護系統(tǒng),改變目前我國家庭醫(yī)療監(jiān)護落后的狀況;有效提高中老年人群心血管等慢性疾病的監(jiān)護水平,有利于提高中老年人群突發(fā)疾病患者的整體救治率;為醫(yī)療機構(gòu)提供大量有價值的我國中老年人群疾病的原始數(shù)據(jù)進(jìn)行科研工作。