新型便攜式心電監(jiān)測(cè)儀的軟硬件設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、緒論
心血管疾病是目前對(duì)人類危害最大的一種疾病,而心電圖是檢查、診斷和預(yù)防該類疾病的主要手段和依據(jù)。由于傳統(tǒng)的基于PC機(jī)平臺(tái)的心電監(jiān)護(hù)儀,價(jià)格昂貴,體積龐大,不便于移動(dòng)且主要集中在大醫(yī)院,而無(wú)法實(shí)時(shí)監(jiān)護(hù)患者的病情,給醫(yī)生和病人帶來(lái)了很大的不便。近年來(lái),隨著嵌入式和網(wǎng)絡(luò)通訊技術(shù)的飛速發(fā)展,我們研制出一種基于ARM7處理器的新型嵌入式心電監(jiān)護(hù)儀,它采用Samsung公司的一款A(yù)RM7TDMI核的RISC的32位高速處理器S3C44B0X,具有成本低、體積小、可靠性高、操作簡(jiǎn)單等優(yōu)點(diǎn),適用于個(gè)人、中小醫(yī)院和社區(qū)醫(yī)療單位,為家庭保?。℉HC)和遠(yuǎn)程醫(yī)療(Telemedicine)等新興的醫(yī)療途徑提供良好的幫助與支持。
二、系統(tǒng)的工作原理
圖一 新型嵌入式心電監(jiān)護(hù)儀的系統(tǒng)結(jié)構(gòu)框圖
心電信號(hào)通過(guò)專用電極從人的左右臂采集到后,送入信號(hào)調(diào)理電路,先經(jīng)過(guò)前置放大器初步放大,經(jīng)高通濾波濾除直流信號(hào)及低頻基線干擾后,由后級(jí)放大器放大,再經(jīng)濾波器進(jìn)一步濾除50HZ的工頻干擾,經(jīng)低通濾波器后得到符合要求的心電信號(hào),由模擬信號(hào)輸入端送入ADC,進(jìn)行高精度的A/D轉(zhuǎn)換。為了更好的抑制干擾信號(hào)和防止導(dǎo)聯(lián)松動(dòng)及脫落,我們?cè)陔娐分羞€引入了右腿驅(qū)動(dòng)電路和導(dǎo)聯(lián)脫落檢測(cè)電路。系統(tǒng)控制核心采用Samsung公司的S3C44BOX,液晶顯示屏(LCD)建立良好的人機(jī)交互界面,采集到的信號(hào)可以通過(guò)LCD實(shí)時(shí)顯示和回放,數(shù)據(jù)通過(guò)因特網(wǎng)基于TCP/ IP(傳輸控制協(xié)議、網(wǎng)際協(xié)議) 順序可靠地傳輸數(shù)據(jù)到心電監(jiān)護(hù)中心,為醫(yī)護(hù)人員及時(shí)準(zhǔn)確的診斷提供參考。嵌入式實(shí)時(shí)操作系統(tǒng)采用現(xiàn)在流行的uClinx,管理協(xié)調(diào)各模塊工作,為系統(tǒng)可靠的運(yùn)行提供保證。
三、系統(tǒng)硬件模塊設(shè)計(jì)
3.1、信號(hào)調(diào)理電路
信號(hào)調(diào)理電路主要包括:放大器、帶通濾波器、陷波器等。
圖二心電前置放大電路
人體心電信號(hào)屬于強(qiáng)噪聲背景下的低頻微弱信號(hào),一般只有0.05-5mV,頻譜范圍為:0.05-100HZ,心電信號(hào)正常輸出時(shí)其幅值約為1mV,而A/D轉(zhuǎn)換器的輸入電平要求到達(dá)1V左右,即心電放大倍數(shù)約為1000倍,由于肌電干擾可能造成前置放大器靜態(tài)工作點(diǎn)的偏移,甚至截至飽和,所以前置放大器的增益不能太大。我們選用AD620儀表放大器作為系統(tǒng)前置放大器,它具有低噪聲、低漂移、高共模抑制比、高輸入阻抗等特點(diǎn)。它的增益通過(guò)1腳和8腳的電阻Rg來(lái)調(diào)節(jié),可達(dá)1-100倍,計(jì)算公式為:G=49.4 /Rg+1。我設(shè)計(jì)初級(jí)放大倍數(shù)在七級(jí)左右,選用精度為0.01%,阻值為8.25 的精密線繞電阻,后級(jí)選用TL064將信號(hào)放大到A/D轉(zhuǎn)換器的輸入電平要求。
圖三 心電后級(jí)放大及濾波電路
為抑制直流漂移和放大器通帶外的低頻噪聲,設(shè)計(jì)一個(gè)RC高通濾波器;因心電信號(hào)的頻率在100HZ以下,為消除高頻信號(hào)和的工頻干擾,還設(shè)計(jì)了低通濾波和帶阻濾波器。
為防止導(dǎo)聯(lián)松動(dòng)和脫落,設(shè)計(jì)導(dǎo)聯(lián)檢測(cè)電路,電極脫落時(shí),比較器的輸出電平由正常的高電平變?yōu)榈碗娖?,產(chǎn)生報(bào)警信號(hào),提醒患者檢查導(dǎo)聯(lián)。右腿驅(qū)動(dòng)電路,人體共模電壓檢測(cè)出后,經(jīng)倒相放大反饋到人的右腿上,而沒(méi)有直接與放大器的地相聯(lián),這樣人體的位移電流不流到地,而是流到運(yùn)放的輸出端,對(duì)AD620減小了共模電壓的拾取。
3.2、嵌入式處理器及外圍電路
S3C44B0X是Samsung公司為手持設(shè)備和一般類型的應(yīng)用提供了高性價(jià)比和高性能的微處理器解決方案。CPU內(nèi)核采用ARM公司設(shè)計(jì)的16/32位ARMTDMI RISC處理器(66HZ),內(nèi)核工作電壓為2.5V,帶有8KB的高速緩存,外部存儲(chǔ)控制器8個(gè)bank,共256MB,8通道10位ADC和支持彩色/黑白顯示LCD控制器,具有普通、慢速、空閑和停止功耗控制模式,精簡(jiǎn)出色的全靜態(tài)設(shè)計(jì)適合于低成本和功耗敏感的設(shè)計(jì)。
3.2.1、A/D轉(zhuǎn)換
對(duì)心電信號(hào)的采用精度的考慮主要是出自于對(duì)ST段異常分析處理的要求,ST段電平變化為0.05mV已經(jīng)得到公認(rèn),因此采樣精度至少為0.025mV。根據(jù)美國(guó)心臟學(xué)會(huì)AHA標(biāo)準(zhǔn)和Nyquist采樣定律,當(dāng)信號(hào)采樣頻率等于或大于信號(hào)最高頻率的2倍時(shí),就可以從抽樣后的信號(hào)中不失真的還原出原信號(hào)。ECG頻率范圍為0.05-100HZ,我們?nèi)〔蓸宇l率為200HZ,即采樣周期為5ms.S3C44B0X內(nèi)部有一個(gè)逐次逼近型8路模擬信號(hào)輸入的10位ADC,輸入滿刻度電壓為2.5V,能分辨出來(lái)的輸入電壓變化的最小值為2.5V/210=2.5mV,心電采集放大倍數(shù)約為1000倍,輸入端的最小分辨率約為2.5mV/1000=0.0025mV,故完全滿足系統(tǒng)采用要求。
3.2.2、系統(tǒng)程序存儲(chǔ)器Flash ROM和SDRM擴(kuò)展
S3C44B0X自身不具有ROM,因此必須外接ROM器件來(lái)存儲(chǔ)掉電后仍需要保存的程序代碼和數(shù)據(jù)。我們采用了SST公司推出的容量為1MB×16的CMOS多用途Flash ROM,它具有可靠性好、功耗低、讀取速度快等優(yōu)點(diǎn)。系統(tǒng)復(fù)位后,首先從0X00000000地址處開(kāi)始執(zhí)行,系統(tǒng)啟動(dòng)代碼應(yīng)該以此地址開(kāi)始存放,所以Flash映射在處理器的Bank0區(qū)域內(nèi)。
采用Linksmart公司的一種容量為8MB的SDRM L43L16064作為系統(tǒng)程序的運(yùn)行空間、數(shù)據(jù)區(qū)和堆棧區(qū),供系統(tǒng)快速讀寫(xiě)。它的存儲(chǔ)方式為4Bank×1MB×16,采用多Bank和管道結(jié)構(gòu),具有自動(dòng)刷新、低功耗和掉電模式。其存儲(chǔ)空間映射在S3C44B0X的Bank6上,地址范圍為:0XC000000H-0XCFFFFFFH。
3.2.3、液晶顯示LCD和鍵盤(pán)模塊
為了使用戶能夠?qū)Σ杉降男碾娦盘?hào)有一個(gè)直觀的印象和進(jìn)行常識(shí)性的觀察,我們采用了EPSON公司的EG1147型FSTN單色液晶顯示模,對(duì)時(shí)間、波形、心電參數(shù)和系統(tǒng)菜單進(jìn)行顯示,同時(shí)配合按鍵進(jìn)行儀器控制和設(shè)定。它的顯示器點(diǎn)陣為240×320,采用EL背光源,自帶驅(qū)動(dòng)器,通過(guò)對(duì)S3C44B0X內(nèi)置LCD控制器編程,將定位在存儲(chǔ)器的顯示緩沖器內(nèi)的圖像數(shù)據(jù)傳送給外部LCD的驅(qū)動(dòng)器中,PC口和PD口作為L(zhǎng)CD驅(qū)動(dòng)接口,設(shè)置PC口工作在第三功能狀態(tài),PD口工作在第二功能狀態(tài)。
3.2.4、以太網(wǎng)模塊設(shè)計(jì)
S3C44B0X沒(méi)有集成網(wǎng)絡(luò)接口控制器NIC(Network Interface Controller),因此我們?yōu)橄到y(tǒng)擴(kuò)展了一個(gè)REALTECK公司的RTL8019AS控制器,它與NE2000兼容,軟件移植好,接口電路簡(jiǎn)單。RTL8019AS工作原理:驅(qū)動(dòng)程序把要發(fā)送的數(shù)據(jù)按照指定格式寫(xiě)入芯片并啟動(dòng)發(fā)送命令即可。反之,芯片從物理通道上收到信號(hào)會(huì)直接根據(jù)以太網(wǎng)協(xié)議把他們轉(zhuǎn)化成相應(yīng)格式的數(shù)據(jù),并發(fā)出中斷,請(qǐng)求CPU讀取數(shù)據(jù)。[!--empirenews.page--]
四、系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)主要包括嵌入式操作系統(tǒng)uClinux在S3C44B0X上的移植,心電數(shù)據(jù)的采集和存儲(chǔ),基于S3C44B0X的嵌入式GUI的實(shí)現(xiàn),網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)等。
4.1、嵌入式uClinux操作系統(tǒng)在S3C44B0X上的移植
uClinux是專門(mén)針對(duì)無(wú)MMU(Memory Management Unit 內(nèi)存管理單元)的處理器而設(shè)計(jì)的一種免費(fèi)開(kāi)放源代碼的操作系統(tǒng)。支持多任務(wù),采取模塊化設(shè)計(jì)。系統(tǒng)移植可分為bootloader和內(nèi)核的移植兩大部分。
Bootloader從本質(zhì)上講它不屬于系統(tǒng)內(nèi)核,在CPU上電啟動(dòng)后即開(kāi)始運(yùn)行,創(chuàng)立初始化環(huán)境和引導(dǎo)內(nèi)核。這部分代碼用匯編語(yǔ)言編寫(xiě),主要完成硬件初始化,對(duì)系統(tǒng)的存儲(chǔ)映射(memory map)進(jìn)行初始化設(shè)置等操作,同時(shí)改變PC值,使得CPU開(kāi)始從SDRM執(zhí)行操作系統(tǒng)的內(nèi)核。
內(nèi)核移植時(shí)首先RedHat Linux環(huán)境下下載源代碼文件包建立交叉編譯環(huán)境,接著進(jìn)入uClinux-dist文件夾進(jìn)行內(nèi)核配置,系統(tǒng)配置主要由三部分組成:Makefile、配置文件(config.in)和配置工具(在/script目錄下)。運(yùn)行make menuconfig命令,會(huì)現(xiàn)頂層菜單,選擇硬件系統(tǒng)、內(nèi)核版本和C庫(kù)的選擇,我們?cè)谶@里vendors選Samsung的S3C44B0X,內(nèi)核版本為L(zhǎng)inux-2.4-x,C庫(kù)選uClibc。接著要修改源代碼,對(duì)應(yīng)于各個(gè)硬件的子目錄中,例如在uClinux-dist/linux-2.4-x/drivers/修改或增加驅(qū)動(dòng)程序;保存設(shè)置退出后運(yùn)行再執(zhí)行make dep和make lib_only命令,生成C庫(kù);運(yùn)行make user_only生成應(yīng)用程序;接著運(yùn)行make romfs和make image,生成rom文件系統(tǒng),拷貝內(nèi)核文件到uClinux-dist/images中;最后運(yùn)行make,生成可供嵌入式系統(tǒng)運(yùn)行的內(nèi)核文件,這時(shí)可以在uClinux-dist/images中出現(xiàn)三個(gè)文件:含“rom”是壓縮內(nèi)核,含“ram”是直接運(yùn)行的內(nèi)核,romfs.img是uClinux的文件系統(tǒng)。“ram”和“rom”文件可以通過(guò)超級(jí)終端從PC串口下載到嵌入式系統(tǒng)的內(nèi)存中直接運(yùn)行,這時(shí)超級(jí)終端上也將顯示uClinux的啟動(dòng)信息。
4.2、基于S3C44B0X的嵌入式GUI的實(shí)現(xiàn)
屏幕驅(qū)動(dòng)的程序設(shè)計(jì)主要是PSD(Pointer to Screen Device)的結(jié)構(gòu)指針,指針?biāo)赶虻慕Y(jié)構(gòu)中記錄了有關(guān)的一切屬性,根據(jù)顯示屬性判斷選擇那個(gè)子函數(shù)來(lái)提供有關(guān)的顯示函數(shù)。圖形引擎調(diào)用PSD完成矩形,圓形等作圖函數(shù),這些函數(shù)調(diào)用底層的屏幕驅(qū)動(dòng)基本作圖函數(shù)來(lái)完成圖形顯示。
4.3、RTL8019AS驅(qū)動(dòng)程序在uClinux下的實(shí)現(xiàn)
在uClinux中,網(wǎng)絡(luò)接口被看作是一個(gè)發(fā)送和接收數(shù)據(jù)包的實(shí)體,用一個(gè)net_device的數(shù)據(jù)結(jié)構(gòu)表示,在數(shù)據(jù)結(jié)構(gòu)中定義對(duì)網(wǎng)絡(luò)接口的各種操作。程序我們是在uClinux網(wǎng)絡(luò)驅(qū)動(dòng)文件的基礎(chǔ)上修改而成,主要修改在/drivers/net下的兩個(gè)文件:ne.c和8390.c,包括芯片的初始化、收包、網(wǎng)絡(luò)注冊(cè)等大部分工作。內(nèi)核在初始化時(shí)會(huì)自動(dòng)調(diào)用函數(shù)ne_probe(),讀取RTL8019AS標(biāo)識(shí)寄存器,檢測(cè)設(shè)備是否存在以決定是否啟動(dòng)驅(qū)動(dòng)程序,配置和初始化硬件,然后初始化net_device結(jié)構(gòu)中的變量,再調(diào)用Rtl8019as_init()對(duì)RTL8019AS做寄存器的相關(guān)設(shè)置,最后根據(jù)starp的值來(lái)啟動(dòng)和關(guān)閉RTL8019AS。
五、結(jié)束語(yǔ)
針對(duì)心電信號(hào)ECG極其微弱和極易受到外界干擾的特點(diǎn),本文的創(chuàng)新點(diǎn)為采用具有低漂移、共模抑制比的儀表放大器AD620對(duì)信號(hào)進(jìn)行初級(jí)放大,并設(shè)計(jì)右腿驅(qū)動(dòng)電路以增強(qiáng)信號(hào)的抗干擾能力; LCD的引入給人直觀的印象和常識(shí)性的判斷;采集到的數(shù)據(jù)可通過(guò)以太網(wǎng)實(shí)時(shí)傳輸?shù)竭h(yuǎn)程數(shù)據(jù)中心,供專家分析和診斷;嵌入式uClinux的引入保證了系統(tǒng)穩(wěn)定、可靠的運(yùn)行;小型化的設(shè)計(jì),更有利于患者的攜帶。隨著心血管疾病的發(fā)病率不斷地逐年上升,這種便攜式心電監(jiān)護(hù)儀具有很高的應(yīng)用價(jià)值和良好的市場(chǎng)前景。
參考文獻(xiàn):
[1] 張華和衛(wèi)星徐棟君陳相朝基于S3C44B0X的便攜式心電監(jiān)測(cè)儀的研制 2006
[2] 楊崎劉大茂一種用于心電信號(hào)采集接口的調(diào)理方法福州大學(xué)學(xué)報(bào) 2003
[3] 唐鴻華,羅貴娥,呂揚(yáng)生. 基于S3C44B0X的智能儀表以太網(wǎng)接口設(shè)計(jì).電子質(zhì)量.2004.6
[4] 張州基于ARM7的便攜式心電監(jiān)護(hù)儀及心電分析的研究 廣東工業(yè)大學(xué) 2005
[5] 唐懷武基于ARM處理器的儀器網(wǎng)絡(luò)化應(yīng)用與研究浙江大學(xué) 2005
[6] ANALOG DEVICES INC. AD620 DATA SHEETS. 2005
[7] 毛德操 胡希明 Linux內(nèi)核源代碼情景分析 浙江大學(xué)出版社
[8] 吳旭移植uClinux到嵌入式系統(tǒng)的方法有線電視技術(shù) 2005.14
[9] 楊亮楊宜民陳波基于uClinux平臺(tái)的程序設(shè)計(jì)《微計(jì)算機(jī)信息》 2004