新聞中心

EEPW首頁(yè) > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 遠(yuǎn)程家庭心電監(jiān)護(hù)終端

遠(yuǎn)程家庭心電監(jiān)護(hù)終端

作者:高嵩 王鐵流 賽景波 北京工業(yè)大學(xué)電子信息與控制工程學(xué)院(100022) , 王者思 西北工業(yè)大學(xué)軟件與微軟學(xué)院(710072) 時(shí)間:2008-08-15 來(lái)源:電子產(chǎn)品世界 收藏

  嵌入式Web服務(wù)器模塊

本文引用地址:http://butianyuan.cn/article/87010.htm

  考慮本系統(tǒng)定位于家庭使用,且系統(tǒng)需要連續(xù)長(zhǎng)時(shí)間工作,又由于系統(tǒng)需要良好的人機(jī)交互環(huán)境、存儲(chǔ)大量數(shù)據(jù)以及支持網(wǎng)絡(luò)通信,所以要求處理器具有功耗低、成本低、豐富的接口和支持操作系統(tǒng)。本設(shè)計(jì)選用處理器A,A主要面向手持設(shè)備以及高性?xún)r(jià)比、低功耗的應(yīng)用上。其CPU內(nèi)核采用的是ARM公司的16/32位20T RISC處理器。20T實(shí)現(xiàn)了MMU、AMBA總線(xiàn)和Harvard高速緩存體系結(jié)構(gòu),該結(jié)構(gòu)具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache。A集成的片上功能主要包括:1.8V/2.0V內(nèi)核供電,3.3V存儲(chǔ)器供電,3.3V外部I/O供電;外部存儲(chǔ)器控制器;LCD控制器提供1通道LCD專(zhuān)用DMA; 8通道10位ADC接口,轉(zhuǎn)換速率最大為500KSPS(Kilo Sample Per Second,千采樣點(diǎn)每秒);117位通用I/O口和24通道外部中斷源;電源控制模式包括正常、慢速、空閑和掉電4種模式;支持NAND Flash的啟動(dòng)裝載。

  對(duì)心電信號(hào)采樣精度的考慮主要出于對(duì)ST段異常分析處理的要求,ST段電平變化約為0.05mV,因此采樣精度至少為0.025mV。當(dāng)采用10位A/D轉(zhuǎn)換器工作在正極性、滿(mǎn)刻度電壓為2.5V時(shí),可分辨的最小輸入電壓為2.5mV,而信號(hào)調(diào)理電路放大倍數(shù)為1000倍,則輸入端的最小分辨率約為0.0025mV,故S3C2410A具有的10位A/D的精度完全滿(mǎn)足系統(tǒng)需求。

  為了使用戶(hù)能夠直觀的觀察心電和便于控制設(shè)備,設(shè)計(jì)采用東華公司的TFT彩屏YL-LCD35套件用于人機(jī)交互界面。為滿(mǎn)足移植操作系統(tǒng)以及存儲(chǔ)心電信號(hào)、網(wǎng)頁(yè)等數(shù)據(jù)的要求,系統(tǒng)外擴(kuò)了64M的NAND Flash(使用一片K9F1208UOB)和64M的SDRAM(使用兩片HY57V561620)。為滿(mǎn)足終端聯(lián)網(wǎng)的需求,選用CS8900A用于設(shè)計(jì)網(wǎng)絡(luò)適配器,CS8900A是一個(gè)真正的單芯片、全雙工的以太網(wǎng)解決方案產(chǎn)品,更方便的是在內(nèi)核中提供有CS8900A適配器的驅(qū)動(dòng)程序。

  電源部分

  為增加安全性、降低功耗、節(jié)省成本,設(shè)計(jì)采用9V堿性電池供電,通過(guò)電源轉(zhuǎn)換芯片AS1117-3.3將9V轉(zhuǎn)換為3.3V可供給放大器芯片和S3C2410使用。

軟件設(shè)計(jì)

  軟件設(shè)計(jì)主要包括的移植,嵌入式Web Server-Boa的移植,CGI(通用網(wǎng)關(guān)接口)程序的設(shè)計(jì),功能程序的設(shè)計(jì)。


圖6  系統(tǒng)軟件框圖

  的移植

  本設(shè)計(jì)采用linux-2.4.18內(nèi)核。正確進(jìn)行Linux移植的前提是具備一個(gè)與Linux配套、易于使用的BootLoader,它能夠正確完成硬件系統(tǒng)的初始化和Linux的引導(dǎo)。本系統(tǒng)中采用vivi,它是由韓國(guó)MIZI公司提供的一款針對(duì)S3C2410芯片的BootLoader。

  Linux內(nèi)核的目錄/arch中包含了所有與硬件體系結(jié)構(gòu)相關(guān)的內(nèi)核移植代碼,目錄/arch中的每個(gè)子目錄代表了一種Linux支持的處理器。移植Linux到S3C2410平臺(tái)主要是修改/arch/arm目錄及其子目錄下相關(guān)的makefile文件和配置文件。例如:修改內(nèi)核根目錄下的Makefile文件,指明要移植的硬件平臺(tái)為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)核,編譯通過(guò)后則在目錄arch/arm/boot下生成zImage內(nèi)核文件,還需利用工具軟件MKCRAMFS制作cramfs文件系統(tǒng)。最后,在minicom終端的vivi命令行下利用load命令將內(nèi)核和文件系統(tǒng)下載到目標(biāo)系統(tǒng),至此移植完成。

  Boa的移植和CGI程序設(shè)計(jì)

  由于嵌入式設(shè)備資源有限,并且不需要同時(shí)響應(yīng)多用戶(hù)請(qǐng)求,因此一般使用一些專(zhuān)門(mén)的Web服務(wù)器用于嵌入式應(yīng)用設(shè)計(jì)。Boa是單任務(wù)web服務(wù)器,源代碼開(kāi)放,性能高,支持CGI,能為CGI程序fork出一個(gè)進(jìn)程來(lái)執(zhí)行,其設(shè)計(jì)目標(biāo)是速度和安全,可執(zhí)行代碼只有約60KB。移植Boa的過(guò)程如下:從sourceforge.net上下載 boa-0.94.13,在其解壓目錄下生成并修改makefile文件,然后運(yùn)行make得到可執(zhí)行程序,利用命令armv4l-unknown-linux-strip將調(diào)試信息剝?nèi)?,然后修改Boa的配置文件boa.conf,使其能支持CGI程序的運(yùn)行。最后將生成的可執(zhí)行程序Boa掛載到目標(biāo)系統(tǒng),若能成功訪問(wèn)靜態(tài)HTML網(wǎng)頁(yè)和運(yùn)行測(cè)試用的CGI程序,則表明配置成功。

  通用網(wǎng)關(guān)接口CGI可將Web服務(wù)器連接到外部應(yīng)用程序,它主要完成兩件事情:一是收集從Web瀏覽器發(fā)送給Web服務(wù)器的信息,并將這些信息提供給外部程序利用;二是對(duì)提出請(qǐng)求的Web瀏覽器發(fā)送程序的輸出。CGI具有平臺(tái)獨(dú)立性、語(yǔ)言獨(dú)立性和層次感等優(yōu)點(diǎn)。利用CGI程序則可以實(shí)時(shí)執(zhí)行并輸出動(dòng)態(tài)信息,且其占用資源少。CGI程序的執(zhí)行過(guò)程為:瀏覽器將表單數(shù)據(jù)以POST方法提交給Web服務(wù)器,服務(wù)器根據(jù)收到的數(shù)據(jù)設(shè)置環(huán)境變量,并新開(kāi)一子進(jìn)程來(lái)執(zhí)行CGI程序,CGI程序從環(huán)境變量中讀取所需要的數(shù)據(jù),通過(guò)調(diào)用用戶(hù)自定義的外部功能函數(shù)完成數(shù)據(jù)處理后,再讀取相應(yīng)的HTML模板文件,根據(jù)注釋標(biāo)記將對(duì)應(yīng)的數(shù)據(jù)填充到HTML文件中,生成新的HTML頁(yè)面經(jīng)Web服務(wù)器返回給瀏覽器。

  為快速開(kāi)發(fā)符合應(yīng)用要求的CGI程序,在設(shè)計(jì)時(shí)添加了CGIC庫(kù)和gd庫(kù)。CGIC是一個(gè)功能強(qiáng)大的支持CGI開(kāi)發(fā)的開(kāi)放源碼的標(biāo)準(zhǔn)C庫(kù)。Thomas Boutell編寫(xiě)的gd庫(kù)是標(biāo)準(zhǔn)的C語(yǔ)言庫(kù),具有基本的繪圖等功能。為實(shí)現(xiàn)在網(wǎng)頁(yè)上動(dòng)態(tài)顯示心電波形,將每次采集的數(shù)據(jù)經(jīng)過(guò)功能程序處理后存儲(chǔ)的同時(shí)送給CGI程序,利用gd庫(kù)提供的函數(shù)來(lái)創(chuàng)建圖像。通過(guò)在網(wǎng)頁(yè)模塊上設(shè)定刷新時(shí)間(使用HTML語(yǔ)言的META標(biāo)記),從而實(shí)現(xiàn)在網(wǎng)頁(yè)上心電波形的動(dòng)態(tài)顯示。

  主程序設(shè)計(jì)

  主程序首先完成對(duì)系統(tǒng)的初始化,然后阻塞監(jiān)聽(tīng)網(wǎng)絡(luò)接口是否有連接請(qǐng)求,一旦客戶(hù)端發(fā)出連接請(qǐng)求,則在服務(wù)器端產(chǎn)生中斷;讀取網(wǎng)絡(luò)數(shù)據(jù),然后對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行解析,這一步主要是解析HTTP協(xié)議,需要判斷連接請(qǐng)求是否符合服務(wù)器規(guī)定的請(qǐng)求格式,判斷是連接請(qǐng)求的請(qǐng)求方法,判斷請(qǐng)求的文件是否存在服務(wù)器上,判斷認(rèn)證信息是否正確等等;在處理A/D采集的數(shù)據(jù)這一過(guò)程中,首先要將采集后的心電信號(hào)進(jìn)行濾波處理,主要是抑制心電信號(hào)中的50Hz工頻干擾,再完成濾波后,將數(shù)據(jù)送到本地的LCD上顯示,同時(shí)將當(dāng)前的數(shù)據(jù)以網(wǎng)頁(yè)數(shù)據(jù)的格式發(fā)送到網(wǎng)口。

結(jié)語(yǔ)

  本系統(tǒng)的設(shè)計(jì)定位于家庭醫(yī)療監(jiān)護(hù),通過(guò)在用于生理特征信息監(jiān)測(cè)的嵌入式系統(tǒng)中集成Web服務(wù)器實(shí)現(xiàn)Internet的接入,從而實(shí)現(xiàn)用于遠(yuǎn)程家庭醫(yī)療的監(jiān)護(hù)系統(tǒng)。其意義在于:設(shè)計(jì)出一套價(jià)格低且易于推廣的遠(yuǎn)程家庭醫(yī)療監(jiān)護(hù)系統(tǒng),改變目前我國(guó)家庭醫(yī)療監(jiān)護(hù)落后的狀況;有效提高中老年人群心血管等慢性疾病的監(jiān)護(hù)水平,有利于提高中老年人群突發(fā)疾病患者的整體救治率;為醫(yī)療機(jī)構(gòu)提供大量有價(jià)值的我國(guó)中老年人群疾病的原始數(shù)據(jù)進(jìn)行科研工作。

參考文獻(xiàn):

  1.姜永權(quán)、魏月、劉克巖,適合中國(guó)國(guó)情的遠(yuǎn)程家庭醫(yī)療系統(tǒng)研究,中國(guó)醫(yī)療器械雜志,2001年25卷第6期
  2.張唯真,生物醫(yī)學(xué)電子學(xué),清華大學(xué)出版社,1990
  3.徐英慧、馬忠梅、王磊、王琳,ARM9嵌入式系統(tǒng)設(shè)計(jì)—基于S3C2410與Linux,北京航空航天大學(xué)出版社,2007
  4.李駒光、鄭耿、江澤明,嵌入式Linux開(kāi)發(fā)詳解—基于EP93XX系列ARM,清華大學(xué)出版社,2006
  5.Kate Gregory(著),徐丹,唐程杰等(譯),CGI程序設(shè)計(jì)自學(xué)通,機(jī)械工業(yè)出版社,1998
  6.李亞鋒、歐文盛,ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)從入門(mén)到精通,清華大學(xué)出版社,2007

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉