便攜式遠(yuǎn)程心電監(jiān)護(hù)儀的原理與設(shè)計(jì)實(shí)例
HHCE(Home Health Care Engineering)這門學(xué)科正隨著人類對健康的重視和遠(yuǎn)程醫(yī)療的發(fā)展而逐漸走進(jìn)人們的生活。它提倡的是一種“在家就醫(yī),自我保健,遠(yuǎn)程診斷”的理念,把高科技與醫(yī)療結(jié)合起來。HHCE的出現(xiàn)符合21世紀(jì)社會(huì)老齡化、醫(yī)療費(fèi)用日益高漲以及人們生活健康質(zhì)量高要求的趨勢,同時(shí)可實(shí)現(xiàn)醫(yī)療資源共享,提高邊遠(yuǎn)地區(qū)的醫(yī)療水平,因此具有特別旺盛的生命力。HHCE系統(tǒng)提供一種對于家庭、社區(qū)醫(yī)療、出診醫(yī)生有效便捷的醫(yī)療監(jiān)測解決方案,具有心電信號(hào)監(jiān)測功能的監(jiān)測器是HHCE系統(tǒng)的重要組成部分。就國內(nèi)而言,該類產(chǎn)品的研究也屬于剛起步階段,遠(yuǎn)程網(wǎng)絡(luò)也只是簡單的完成數(shù)據(jù)庫醫(yī)療數(shù)據(jù)的存儲(chǔ)和傳輸,還沒有真 正完成將網(wǎng)絡(luò)與醫(yī)療器械相結(jié)合。在國際方面,世界各國在此的研究均投入大量資金,但依然主要是使用價(jià)格昂貴的儀器完成醫(yī)療數(shù)據(jù)采集,然后依托PC/internet網(wǎng)絡(luò)完成數(shù)據(jù)采集以及網(wǎng)絡(luò)診斷[1]。
本文引用地址:http://2s4d.com/article/87267.htmSOPC(System On Programmable Chip)即可編程片上系統(tǒng),是隨著現(xiàn)代計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)、EDA(Electronic Design Automation)技術(shù)和大規(guī)模集成電路技術(shù)高度的發(fā)展而出現(xiàn)的,是一種基于FPGA解決方案的SOC。本設(shè)計(jì)采用了SOPC技術(shù),以Altera公司的NiosII軟核處理器作為CPU,并移植了當(dāng)今主流的uclinux操作系統(tǒng)。使該系統(tǒng)具有高穩(wěn)定性、便攜式、功能可升級擴(kuò)展、面向用戶、遠(yuǎn)程控制等特點(diǎn)。
1 系統(tǒng)介紹
便攜式遠(yuǎn)程心電監(jiān)護(hù)儀主要由心電信號(hào)的前端采集與調(diào)理模塊、心電信號(hào)處理與存儲(chǔ)模塊、數(shù)據(jù)顯示模塊和遠(yuǎn)程傳輸控制模塊等四個(gè)關(guān)鍵模塊組成,系統(tǒng)功能結(jié)構(gòu)如圖1所示。
該監(jiān)測系統(tǒng)的硬件平臺(tái)采用Altera公司CycloneII 2C35 FPGA芯片,采用SOPC(片上可編程系統(tǒng))技術(shù)將NiosII軟核處理器、存儲(chǔ)器、功能接口和擴(kuò)展I/O口等集成在一塊FPGA芯片上,外圍擴(kuò)展心電數(shù)據(jù)采集板、網(wǎng)絡(luò)、LCD屏、觸摸屏/鍵盤、SD存儲(chǔ)卡等硬件來實(shí)現(xiàn)系統(tǒng)的硬件架構(gòu),且?guī)в锌蓴U(kuò)展的I/O接口,便于以后系統(tǒng)功能升級與擴(kuò)展。
圖1 系統(tǒng)功能框圖
2 系統(tǒng)關(guān)鍵模塊的設(shè)計(jì)
2.1 NiosII嵌入式軟核處理器簡介
NiosII系列嵌入式處理器是Altera公司推出的軟核處理器。用戶可以獲得超過200 DMIPS的性能,而只需花費(fèi)不到35美分的FPGA邏輯資源。NiosII支持MicroC/OS-II、uClinux等多種實(shí)時(shí)操作系統(tǒng),支持輕量級TCP/IP協(xié)議棧,允許用戶增加自定義指令和自定義硬件加速單元,無縫移植自定義外設(shè)和接口邏輯,在性能提升的同時(shí),方便了用戶的設(shè)計(jì)。
NiosII處理器采用Avalon交換式總線,該總線是Altera開發(fā)的一種專用的內(nèi)部連線技術(shù)。Avalon交換式總線由SOPC Builder 自動(dòng)生成,是一種用于系統(tǒng)處理器、內(nèi)部模塊以及外設(shè)之間的內(nèi)聯(lián)總線。Avalon交換式總線使用最少的邏輯資源來支持?jǐn)?shù)據(jù)總線的復(fù)用、地址譯碼、等待周期的產(chǎn)生、外設(shè)的地址對齊、中斷優(yōu)先級的指定以及高級的交換式總線傳輸[2]。
2.2 心電信號(hào)采集調(diào)理模塊設(shè)計(jì)
對ECG信號(hào)采集采用模塊化的設(shè)計(jì)方式,主要由前端的導(dǎo)聯(lián)傳感器、信號(hào)濾波放大調(diào)理電路和A/D采樣電路組成。人體心電信號(hào)的主要頻率范圍為0.05~100Hz ,幅度約為0~4mV, 信號(hào)十分微弱。同時(shí)心電信號(hào)中通?;祀s有其它生物電信號(hào),加之體外以50Hz工頻干擾為主的電磁場干擾,使得心電噪聲背景較強(qiáng),測量條件比較復(fù)雜。因此器件的選擇顯的非常重要,要求器件誤差要很小,且工作性能穩(wěn)定。綜合考慮,本設(shè)計(jì)心電信號(hào)采集調(diào)理模塊大部分元器件選用村田制作所的電子元器件。
為了不失真地檢測出有臨床價(jià)值的心電信號(hào),信號(hào)濾波與放大調(diào)理部分主要由一下幾個(gè)電路組成:前置放大電路、高低通濾波電路、陷波電路與A/D轉(zhuǎn)換電路,電路原理圖如下圖2所示:
圖2 心電信號(hào)濾波放大調(diào)理電路原理圖
首先心電導(dǎo)聯(lián)采集過來的微弱心電信號(hào)通過前置放大電路進(jìn)行放大,此部分包括右腿驅(qū)動(dòng)以抑制共模干擾、屏蔽線驅(qū)動(dòng)以消除引線干擾,增益設(shè)成10倍左右。設(shè)計(jì)前置放大電路主要采用美國模擬器件公司生產(chǎn)的醫(yī)用放大器AD620與村田制作所的電阻與電容。AD620由傳統(tǒng)的三運(yùn)算放大器發(fā)展而成,為同相并聯(lián)差動(dòng)放大器的集成。其具有電源范圍寬(±2.3~±18V) ,設(shè)計(jì)體積小,功耗低(最大供電電流僅1.3mA) 的特點(diǎn),因而適用于低電壓、低功耗的應(yīng)用場合。此外還具有有較高的共模抑制比,溫度穩(wěn)定性好,放大頻帶寬,噪聲系數(shù)小等優(yōu)點(diǎn)。同時(shí)該部分還選用了村田制作所的誤差范圍在0.1%的ERJM1系列精密電阻和容量范圍在0.3pF~100uF的GRM系列電容。放大后的信號(hào)經(jīng)濾波、50Hz陷波處理后再進(jìn)行二次放大,后級增益設(shè)成100倍左右。其中高(低)通濾波電路電阻選用村田的精密電阻,電容選用低ESL系列電容,其范圍和精度滿足濾波要求。陷波電路電阻選用ERJM1系列精密電阻,電容采用LLL系列低ESL寬幅型電容。由于ECG信號(hào)幅度最大就幾mV,而A/D轉(zhuǎn)換中輸入信號(hào)的幅度要求在1V以上,所以總增益設(shè)成1000倍左右。其中,濾波采用壓控電壓源二階高(低)通濾波電路,用于消除0.05Hz~100Hz頻帶以外的肌電等干擾信號(hào),工頻中的其余高次諧波也可被濾除掉。同時(shí),采用有源雙T帶阻濾波電路進(jìn)一步抑制50Hz工頻干擾。
A/D采樣芯片采用TI公司的8位串行芯片TLC549,該芯片采用SPI接口,僅用三條線即可實(shí)現(xiàn)采集控制和數(shù)據(jù)傳輸;具有4MHz的片內(nèi)系統(tǒng)時(shí)鐘和軟、硬件控制電路,轉(zhuǎn)換時(shí)間小于17μs,采樣速率達(dá)40KSPS;采用差分基準(zhǔn)電壓技術(shù)這個(gè)特性,TLC549可能測量到的最小量值達(dá)1000mv/256,也就是說0—1V信號(hào)不經(jīng)放大也可以得到8位的分辨率。
2.3 數(shù)據(jù)采集控制器設(shè)計(jì)
為了得到經(jīng)過前端TLC549芯片轉(zhuǎn)換的心電信號(hào),必須設(shè)計(jì)一個(gè)數(shù)據(jù)采集控制器,實(shí)現(xiàn)對AD芯片的控制與數(shù)字化心電數(shù)據(jù)的獲取。該控制器根據(jù)TLC549芯片的工作時(shí)序[3]與后端數(shù)據(jù)處理的需要,采用verilog HDL自行設(shè)計(jì)。該控制器具有多路采集的特點(diǎn)。
在自TLC549的I/O CLOCK端輸入8個(gè)外部時(shí)鐘信號(hào)期間需要完成以下工作:讀入前次A/D轉(zhuǎn)換結(jié)果;對本次轉(zhuǎn)換的輸入模擬信號(hào)采樣并保持;啟動(dòng)本次A/D轉(zhuǎn)換。則一路采集時(shí)間為:0.5us×(3+8×2+1)=10us,而芯片轉(zhuǎn)換時(shí)間小于17us,則整個(gè)過程時(shí)間花費(fèi)為27us。為了有效的利用該控制器,在一路A/D轉(zhuǎn)換期間,同時(shí)進(jìn)行另外一路A/D采樣,這樣就可以在40us時(shí)間內(nèi)完成對四路信號(hào)的采集,大大提高了工作效率。同時(shí),設(shè)計(jì)中還加入了一個(gè)FSM信號(hào)來控制采樣時(shí)間,從而適應(yīng)不同頻率信號(hào)的采樣頻率。以下是AD芯片的時(shí)序仿真圖:
圖3 仿真時(shí)序圖
Din 為采集數(shù)據(jù)的串行輸入,時(shí)鐘由系統(tǒng)時(shí)鐘通過分頻系數(shù)得到。設(shè)計(jì)中,設(shè)置了fsm作為采樣控制時(shí)鐘,這樣可以根據(jù)需要來調(diào)整采樣速率。由于進(jìn)行一次AD采樣的時(shí)間很短,無論采用查詢還是中斷直接讀取都是不現(xiàn)實(shí)的,這就需要利用緩沖設(shè)計(jì),通過把N次轉(zhuǎn)換的數(shù)據(jù)暫存在緩沖存儲(chǔ)器中來降低中斷次數(shù)。為了取得連續(xù)和正確的采集數(shù)據(jù),實(shí)現(xiàn)無縫緩沖,鑒于FPGA設(shè)計(jì)的靈活性,本設(shè)計(jì)采用了雙緩沖存儲(chǔ)的乒乓操作結(jié)構(gòu)。本設(shè)計(jì)通過將AD采樣時(shí)序控制器交替存儲(chǔ)在兩個(gè)512Byte的雙口RAM(DPRAM)中實(shí)現(xiàn)數(shù)據(jù)的緩存,當(dāng)其中一個(gè)DPRAM1存儲(chǔ)滿后即轉(zhuǎn)為存儲(chǔ)到另一個(gè)DPRAM2中并產(chǎn)生一次中斷,這樣在控制器寫數(shù)據(jù)到DPRAM2中時(shí)系統(tǒng)將有非常充足的時(shí)間將DPRAM1中的數(shù)據(jù)取出。
2.4 顯示模塊設(shè)計(jì)
為了能夠直觀的顯示出采集的心電波形,需要顯示設(shè)備的支持。本設(shè)計(jì)采用的LCD面板是TFT 320*240 LCD。該LCD模塊沒有顯示控制器,因此需要設(shè)計(jì)顯示控制器IP核來驅(qū)動(dòng)LCD面板。本設(shè)計(jì)實(shí)現(xiàn)的顯示控制器IP核采用Verilog HDL設(shè)計(jì),支持多種顏色模式,包括18bpp、16bpp、8bpp和自定義模式。圖像存儲(chǔ)器lcd_fifo是采用片內(nèi)FIFO,可以根據(jù)需要進(jìn)行調(diào)整。256色的顏色查找表采用片內(nèi)RAM來存儲(chǔ)。圖像信息能夠通過Avalon總線主端口寫入的突發(fā)塊傳輸方式進(jìn)行傳輸,利用DMA從內(nèi)存中自動(dòng)讀取,在SDRAM圖像存儲(chǔ)器image_ram與片上圖像數(shù)據(jù)緩存器lcd_fifo之間建立了一條專用DMA通道,該控制器結(jié)構(gòu)如下圖4:
圖4 LCD控制器IP核結(jié)構(gòu)框圖
該LCD控制器IP核主要由四個(gè)模塊組成:接口模塊、內(nèi)存模塊、顏色轉(zhuǎn)換模塊和時(shí)序模塊。
接口模塊:主要是NiosII處理器對LCD控制器進(jìn)行控制及狀態(tài)讀取。接口模塊主要是以寄存器方式存在的,其中寄存器有:控制寄存器、狀態(tài)寄存器、DMA地址寄存器和中斷寄存器。
內(nèi)存模塊:是Avalon總線的主接口部分,在系統(tǒng)啟動(dòng)之后,利用DMA傳輸模式,通過Avalon總線主端口寫入的突發(fā)塊傳輸方式,完成圖像數(shù)據(jù)存儲(chǔ)器image_ram中的圖像數(shù)據(jù)到片上圖像數(shù)據(jù)緩存器lcd_fifo的獨(dú)立讀取。采用DAM傳輸方式是為了把NiosII軟核處理器從頻繁地進(jìn)行數(shù)據(jù)讀取操作的工作中解脫出來,這樣可以大大提高系統(tǒng)的工作效率。
顏色轉(zhuǎn)換模塊:將讀取后的數(shù)據(jù)根據(jù)4種顏色模式不同進(jìn)行數(shù)據(jù)讀取的轉(zhuǎn)換,其中8bpp和自定義模式由于顏色不足,需要接入顏色查詢表處理。自定義模式可以手動(dòng)對調(diào)色板的地址進(jìn)行預(yù)設(shè)來定義輸出的顏色。
時(shí)序模塊:嚴(yán)格按照LCD的時(shí)序編寫,其中LCD時(shí)鐘為5M。通過控制數(shù)據(jù)使能信號(hào)啟動(dòng)lcd_fifo數(shù)據(jù)輸出,逐行掃描顯示。同時(shí),設(shè)計(jì)該模塊時(shí),在數(shù)據(jù)有效信號(hào)(DE)有效前,須檢查lcd_fifo中是否存有數(shù)據(jù),以確定是否進(jìn)行數(shù)據(jù)讀取和傳輸;須進(jìn)行調(diào)色板模式設(shè)置,在幀傳輸過程中需要進(jìn)行模式鎖定,以免出現(xiàn)傳輸錯(cuò)誤;須根據(jù)不同bpp模式,確定不同的讀取時(shí)間段,18bpp每次都讀取,16bpp間隔1次讀取,8bpp間隔4次讀取。
評論