《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 便攜式心電圖采集與控制系統(tǒng)設(shè)計(jì)方案

便攜式心電圖采集與控制系統(tǒng)設(shè)計(jì)方案

2017-07-16

  本系統(tǒng)設(shè)計(jì)在硬件上由基于ARM7TDMI-S內(nèi)核的微控制器LPC2478,、重復(fù)可擦寫低功耗U盤、點(diǎn)陣LCD顯示器模塊等組成心電動(dòng)態(tài)采集存儲(chǔ)儀;軟件上則使用嵌入式實(shí)時(shí)操作系統(tǒng)mC/OSⅡ作為系統(tǒng)控制平臺(tái),,提高了系統(tǒng)的可靠性,。本系統(tǒng)可連續(xù)記錄受檢者24~48小時(shí)的心電圖變化,檢查期間由受檢者隨身攜帶而不影響其日常生活與工作,,可長時(shí)間作動(dòng)態(tài)連續(xù)監(jiān)測記錄,,大容量的U盤和USB2.0協(xié)議的出現(xiàn),使得數(shù)據(jù)的傳輸越來越方便和迅捷,,這為便攜式手持移動(dòng)存儲(chǔ)心電圖設(shè)備提供了條件,。該系統(tǒng)原理圖如圖1所示。

50b8c10c4df43-thumb.jpg

  系統(tǒng)實(shí)現(xiàn)

  系統(tǒng)主要模塊框圖如圖2所示,。由于電極采集到的心電信號(hào)屬于強(qiáng)噪聲背景下的超低頻(0.5~100Hz)微弱信號(hào)(0.1~5mV),,所以需要前置放大部分將微弱的心電信號(hào)高保真放大,并通過低通濾波,、高通濾波及50 Hz陷波濾除干擾,,才可以送往LPC2478的A/D 轉(zhuǎn)換器AIN0進(jìn)行A/D轉(zhuǎn)換。

  前置放大部分電路由輸入跟隨,、儀用放大器,、右腿浮地驅(qū)動(dòng)組成,輸入跟隨器為提高輸入阻抗,、獲取更多的心電信號(hào),,采用高精度運(yùn)算放大器OPA427,接收來自左,、右手的心電信號(hào)經(jīng)調(diào)整后送往儀用放大器,,由高精度儀用放大器進(jìn)行一級(jí)倒相放大后的信號(hào)送到低通濾波器,原始心電信號(hào)中的共模噪聲經(jīng)過一級(jí)放大后返回人體,,使其相互疊加,,從而可以減小人體共模干擾的絕對值,,提高信噪比。

  低通及高通濾波部分,,由于心電信號(hào)屬于低頻信號(hào),,為了去掉高頻的干擾,還須通過低通濾波,。低通濾波器截止頻率為110Hz,,放大器的溫漂、皮膚電阻的變化,、呼吸和人體運(yùn)動(dòng)都會(huì)造成心電信號(hào)出現(xiàn)所謂的“基線漂移”現(xiàn)象,,也即輸出端的心電信號(hào)會(huì)在某條水平線上緩慢地上下移動(dòng)。從頻譜上說,,這些影響都可以歸結(jié)為一個(gè)低頻噪聲干擾,,于是使用高通濾波器濾除這部分干擾。在主放大器部分,,通過調(diào)整電位器的阻值 RP1來設(shè)置整個(gè)心電放大電路的總增益,。主放大器采用低功耗低噪聲的運(yùn)算放大器TLC225。50Hz頻率陷波部分主要用來濾除以差模信號(hào)方式進(jìn)入電路的工頻干擾,。電平提升部分用來把雙極性信號(hào)轉(zhuǎn)化為單極性信號(hào),,以便可直接送入AIN0。

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

  硬件平臺(tái)

  負(fù)壓產(chǎn)生電路

  由于心電圖原始數(shù)據(jù)處理中數(shù)據(jù)放大和濾波電路中OPA4277,、AD620和TLC2254芯片需要用到負(fù)壓,,故此在電路中加入負(fù)壓產(chǎn)生電路,主要應(yīng)用電壓轉(zhuǎn)換芯片MC34063通過起振產(chǎn)生-12V的負(fù)壓,,之后再進(jìn)行分壓得到芯片要求的-5V電壓,。

  信號(hào)前置放大電路

  前置放大電路的組成和電路圖如圖3所示。前置放大電路由輸入跟隨器,、儀用放大器和右腿浮地驅(qū)動(dòng)等三部分組成,。

50b8c10c525a5-thumb.jpg

  (1)輸入跟隨器:提高輸入阻抗,、獲取更多的心電信號(hào),,采用高精度運(yùn)算放大器OPA4277,具有超低失調(diào)電壓l0 V,,超低失調(diào)偏移±0.1V,,偏置電流最大為l nA。

  (2)儀用放大器:根據(jù)系統(tǒng)設(shè)計(jì)要求采用高精度儀用放大器AD620,,輸入失調(diào)最大為50mV,,輸入失調(diào)漂移為0.6mV/攝氏度,共模抑制比為120dB(G=10),。該放大器增益范圍為1~10000,,其放大增益關(guān)系式為:

  G=1+49.4k/Rg

  當(dāng)G=10時(shí),,Rg為5.489k,取近似值5.5k,。

  (3)右腿浮地驅(qū)動(dòng):把混雜在原始心電信號(hào)中的共模噪聲提取出來,,經(jīng)過一級(jí)反相放大后,再返回到人體,,相互疊加,,以減少人體共模干擾的絕對值,提高信噪比,,主要應(yīng)用高精度運(yùn)算放大器OPA4277,。

50b8c10c55363-thumb.jpg

  高通與低通濾波電路

  由于心電信號(hào)屬于低頻信號(hào),為了去掉高頻干擾,,還須通過低通濾波,。低通濾波器采用歸一化設(shè)計(jì)的四階低通濾波,截止頻率為100 Hz,,在頻率轉(zhuǎn)折處有足夠的陡度,,避免高頻信號(hào)的干擾??紤]到元件的誤差,,設(shè)定截止頻率為110Hz。低通和高通濾波電路如圖4所示,,放大器采用低功耗低噪聲的運(yùn)算放大器TLC2254,。每通道供電電流為35mA。

  主放,、50Hz工頻陷波和電平提升

  主放電路圖通過調(diào)整電位器的阻值PI來設(shè)置整個(gè)心電放大電路的總增益,。主放大器采用低功耗低噪聲的運(yùn)算放大器TLC2254。雖然前置放大電路對共模干擾具有較強(qiáng)的抑制作用,,但部分干擾是以差模信號(hào)方式進(jìn)入電路的,,且頻率處于心電信號(hào)的頻帶之內(nèi),加上其他各種不穩(wěn)定因素,,經(jīng)放大,、低通濾波、高通濾波和主放后,,輸出仍存在干擾,,必須專門濾除。

  經(jīng)過陷波器后的心電信號(hào)為雙極性,,系統(tǒng)中的MD芯片只能量化單極性信號(hào),,所以,通過TLC2254把雙極性信號(hào)轉(zhuǎn)化為單極性信號(hào),。

  LCD 模塊

  此系統(tǒng)采用MGLS12864 LCD模塊,,由于該液晶顯示器沒有內(nèi)部字符發(fā)生器,,所以在屏幕上顯示的任何字符、漢字均須事先建立點(diǎn)陣字模庫,,然后按圖形方式進(jìn)行顯示,。MGLS12864 模塊與LPC2478 連接,D0~D7 為數(shù)據(jù)/命令雙向總線,,CS 為片選信號(hào),,RES 為復(fù)位信號(hào),D/I 為數(shù)據(jù)/命令選擇信號(hào),,R/W 為讀寫命令信號(hào),,CE為控制允許信號(hào)。

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

  操作系統(tǒng)

  本系統(tǒng)對數(shù)據(jù)處理,、數(shù)據(jù)顯示及網(wǎng)絡(luò)傳輸需要很高的實(shí)時(shí)性,,一個(gè)可靠的RTOS是系統(tǒng)穩(wěn)定有效運(yùn)作的保證,所以我們將在LPC2478上移植mC/OS II實(shí)時(shí)操作系統(tǒng),,用以滿足系統(tǒng)對多線程,、硬實(shí)時(shí)的嚴(yán)格要求。

  mC/OS II是一個(gè)成熟穩(wěn)定的占先式實(shí)時(shí)內(nèi)核,,基于優(yōu)先級(jí)調(diào)度,,支持56個(gè)用戶任務(wù),提供信號(hào)量,、郵箱,、消息隊(duì)列等任務(wù)通信機(jī)制,能夠極大提高CPU的利用效率,。由于基于優(yōu)先級(jí)來執(zhí)行任務(wù),,如果其中一個(gè)任務(wù)跑飛,其它高優(yōu)先級(jí)則可以通過運(yùn)行系統(tǒng)的監(jiān)視程序?qū)ζ溥M(jìn)行修復(fù),,因此在高安全性場合具有廣泛的應(yīng)用,。且mC/OS II源碼開放,移植簡單,,在基于ARM的32位微處理器中有大量成功的案例,。在mC/OS II中,每個(gè)任務(wù)都是無限循環(huán)的,,處于5種狀態(tài)之一:休眠態(tài),、就緒態(tài),、運(yùn)行態(tài),、掛起態(tài)和中斷態(tài)。

  2.A/D轉(zhuǎn)換及轉(zhuǎn)存USB模塊:

  由前端心電信號(hào)放大模塊放大后的心電信號(hào)直接送給LPC2478芯片的P0.23引腳進(jìn)行A/D轉(zhuǎn)換,,經(jīng)轉(zhuǎn)換后的數(shù)據(jù)為無符號(hào)32位數(shù)據(jù)格式,,將其放入緩存數(shù)組中送給USB進(jìn)行存儲(chǔ),,并留待給LCD顯示輸出,具體實(shí)現(xiàn)過程為:

  首先,,需創(chuàng)建兩個(gè)數(shù)據(jù)緩存區(qū)“GcWritFileData[DATA_N]”及“GcReadFileData[DATA_N]”做為“寫文件緩沖區(qū)”及“讀文件緩沖區(qū)”,,初始化mC/OS II操作系統(tǒng),創(chuàng)建用于處理A/D轉(zhuǎn)換的任務(wù)Task0及用于LCD顯示的任務(wù)Task1,,啟動(dòng)多任務(wù)環(huán)境,,在Task0中首先進(jìn)行硬件平臺(tái)的初始化,設(shè)置P0.23為AIN0[0]功能,,作為A/D轉(zhuǎn)換的輸入引腳,,進(jìn)行ADC模塊設(shè)置,設(shè)置轉(zhuǎn)換時(shí)鐘等,,采用直接啟動(dòng)ADC轉(zhuǎn)換,,進(jìn)行轉(zhuǎn)換的參考電壓為精密恒壓源提供的2.5V電壓,最后轉(zhuǎn)換結(jié)果保存至“寫文件緩沖區(qū)”,。接著初始化USB HOST,,并創(chuàng)建文件系統(tǒng)任務(wù)“OSFileTask”,用“OSFileOpen”函數(shù)創(chuàng)建并打開一個(gè)命名為“ECD.dat”的文件,,通過“OSFileWrite”函數(shù)將“GcWritFileData” 寫文件緩沖區(qū)的數(shù)據(jù)寫入到U盤中,,并通過其返回值判斷寫文件是否成功,完成寫文件后再使用“OSFileRead”函數(shù)將“GcWritFileData” 寫文件緩沖區(qū)的數(shù)據(jù)讀寫到“GcReadFileData” 讀文件緩沖區(qū),,再通過寫,、讀文件緩沖區(qū)數(shù)據(jù)的比較來確定寫入文件數(shù)據(jù)是否正確,至此,,完成從A/D轉(zhuǎn)換接收數(shù)據(jù)及轉(zhuǎn)存至USB的過程,。程序流程圖如圖5所示。

  .


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。