基于Wi—Fi的醫(yī)學(xué)信號(hào)采集系統(tǒng)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:介紹了基于Wi-Fi的超低功率芯片GS1011在生物信號(hào)采集與傳輸系統(tǒng)中的應(yīng)用。GS1011通過外部接口與TI公司高精度、低功耗、低噪聲的16通道(多路復(fù)用的)24位模/數(shù)轉(zhuǎn)換器ADS1258相結(jié)合,實(shí)現(xiàn)了一個(gè)體積小、接入方便、功耗低的生物信號(hào)采集與傳輸系統(tǒng),并通過仿真實(shí)驗(yàn)驗(yàn)證。
關(guān)鍵詞:GS1011;Wi—Fi;ADS1258;生物信號(hào)采集與傳輸
引言
生物信號(hào)的采集分析系統(tǒng)為我們發(fā)現(xiàn)、了解生物信號(hào)提供了一種可能。它可以將難以感知的微弱信號(hào)顯示出來并對(duì)信號(hào)特征進(jìn)行分析,使得醫(yī)生對(duì)病人的診斷更加準(zhǔn)確,更能有針對(duì)性地提出診療辦法。然而人體的生物信號(hào)多屬于強(qiáng)噪聲背景下的低頻弱信號(hào),如腦電信號(hào)的頻帶在0.5~100Hz之間,肌電信號(hào)的頻帶為10~2 000 Hz,這使得生物信號(hào)的采集與處理具有較高的難度。
針對(duì)以上問題,采用Gain Span公司超低功耗的無線芯片GS1011與TI公司推出的高精度、低功耗、低噪聲的16通道(多路復(fù)用的)24位模/數(shù)轉(zhuǎn)換器ADS1258結(jié)合的方法,既可以提高生物信號(hào)的采集精度,又可以運(yùn)用成熟的Wi—Fi無線傳輸技術(shù)提高傳輸速率和傳輸距離。
1 系統(tǒng)總體概述
圖1為系統(tǒng)構(gòu)架圖。由圖1可知,該系統(tǒng)是便攜可穿戴式的,生物體將該裝置佩戴在身上,獲取所需生物信號(hào)并對(duì)其進(jìn)行信號(hào)放大、高精度采樣,以及處理等,最后通過無線傳輸與附近局域網(wǎng)內(nèi)的無線AP實(shí)現(xiàn)通信,將采集到的生物信號(hào)通過無線AP傳給局域網(wǎng)服務(wù)器以便醫(yī)護(hù)人員分析診斷。
2 系統(tǒng)組成與工作
2.1 硬件組成
系統(tǒng)總體框架如圖2所示。
本設(shè)計(jì)采用的是Gain Span公司的超低功耗的無線芯片GS1011,雖然現(xiàn)在傳統(tǒng)的Wi—Fi傳輸系統(tǒng)非常多,但是能夠?qū)崿F(xiàn)超低功耗傳輸?shù)膮s寥寥無幾。GS1011采用兩個(gè)32位ARM7處理器,并集成了射頻發(fā)射器、片上Flash和片上SRAM,支持IEEE802.11射頻通信、MAC層和物理層協(xié)議,以及應(yīng)用程序進(jìn)程。GS1011的芯片結(jié)構(gòu)如圖3所示。
GS1011芯片中包括兩個(gè)32位ARM7處理器,其中一個(gè)為WLAN MAC處理器(WLAN CPU),負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的Wi—Fi收發(fā);另外一個(gè)ARM7 CPU為應(yīng)用處理器(Application CPU),主要用于用戶應(yīng)用程序的運(yùn)行。GS1011芯片內(nèi)嵌的Flash和SRAM用于保存程序和數(shù)據(jù);JTAG口用于對(duì)芯片進(jìn)行編程和調(diào)試;ADC、I2C總線、GPIO等接口用于接收來自傳感器網(wǎng)絡(luò)節(jié)點(diǎn)采集到的數(shù)據(jù)信息,以及實(shí)現(xiàn)外圍系統(tǒng)擴(kuò)展、RF開關(guān)和功率控制等功能。
ADS1258是TI公司推出的一款高精度、低功耗、低噪聲的16通道(多路復(fù)用的)24位模/數(shù)轉(zhuǎn)換器。該器件的固定通道采樣速率為125 ks /s,自動(dòng)通道掃描采樣速率為23.7 ks/s,適用于設(shè)備與系統(tǒng)監(jiān)控、醫(yī)療儀器、航空電子、儀表與工業(yè)過程控制等應(yīng)用領(lǐng)域。
ADS1258內(nèi)部結(jié)構(gòu)如圖4所示。該器件主要由16路模擬輸入轉(zhuǎn)換器、可編程數(shù)字濾波器、時(shí)鐘發(fā)生器、通用輸入/輸出端口和SPI串行接口等組成。16路模擬輸入通道可配置為8路差分輸入或者16路單端輸入形式??删幊虜?shù)字濾波器??墒褂脩粼谵D(zhuǎn)換精度和數(shù)據(jù)速率之間進(jìn)行優(yōu)化選擇。時(shí)鐘發(fā)生器產(chǎn)生模/數(shù)轉(zhuǎn)換基準(zhǔn)時(shí)鐘。SPI接口用于ADS1258與外部處理器之間進(jìn)行串行通信。
ADS1258內(nèi)部電路可分為模擬和數(shù)字兩大部分,模擬部分可采用單極性電源(5 V)或者雙極性電源(±2.5 V)供電,數(shù)字部分電源電壓為2.7~5.25 V。當(dāng)模擬部分采用單極性供電時(shí),其輸入模擬信號(hào)的電壓范圍為0~5.25 V;當(dāng)模擬部分采用雙極性供電時(shí),其允許輸入信號(hào)的范圍為-2.5~2.5 V,是真正的雙極性輸入。
ADS1258有固定通道輸人和自動(dòng)通道掃描輸入兩種工作模式。模/數(shù)轉(zhuǎn)換時(shí),既可使用片內(nèi)參考電壓,也可外加高精度參考電壓源。轉(zhuǎn)換時(shí)鐘既可由片內(nèi)時(shí)鐘發(fā)生器提供,也可由片外時(shí)鐘電路或者時(shí)鐘源提供。ADS1258的串行接口與SPI兼容,便于與外部處理器進(jìn)行通信。同時(shí),ADS1258內(nèi)部的監(jiān)控電路簡(jiǎn)化了對(duì)芯片供電電壓、工作溫度及參考電壓的檢測(cè),通過讀取系統(tǒng)參數(shù)寄存器即可獲取這些信息。
ADS1258片內(nèi)有10個(gè)獨(dú)立寄存器,其中9個(gè)可供用戶使用,通過對(duì)這些寄存器進(jìn)行設(shè)置來控制其工作過程,其主要寄存器如表1所列。
表1中,CONFIGO、CONFIG1是結(jié)構(gòu)寄存器,用來設(shè)置工作模式、輸入方式、轉(zhuǎn)換數(shù)據(jù)的輸出格式、開關(guān)切換時(shí)延、轉(zhuǎn)換速率等。CONFIG0寄存器中,SPIRST位用于設(shè)置SCLK引腳空閑256個(gè)或4 096個(gè)時(shí)鐘周期時(shí),SPI接口復(fù)位;MUXMOD位選擇ADS1258工作于固定通道模式還是自動(dòng)掃描模式;BYPAS位選擇待轉(zhuǎn)換的電壓信號(hào)通過芯片轉(zhuǎn)換器輸出的內(nèi)部直連,還是外部緩沖方式送到ADC模塊;CLKENB位、CHOP位與STAT位,分別用于確定時(shí)鐘信號(hào)輸出、濾波器斬波功能與狀態(tài)字節(jié)輸出是否使能。
CONFIG1寄存器中,IDLMOD位用于選擇芯片空閑時(shí)處于等待模式還是休眠模式;DLY2~DLY0位的不同組合用于選擇切換到新通道后,轉(zhuǎn)換開始前的延遲周期數(shù);DRATE1~DRATE0位的不同組合可以選擇4種采樣轉(zhuǎn)換率。
MUXSCH寄存器用于固定通道模式下ADC模塊正負(fù)端口輸入通道的選擇。MUXDIF寄存器、MUXSG0寄存器與MUXSG1寄存器,用于自動(dòng)掃描模式下差分輸入通道和單端輸入通道的選擇。
另外,SYSRED寄存器用于確定器件增益、基準(zhǔn)參考電壓、芯片溫度、供電電壓及零位漂移電壓等參數(shù)是否加入被測(cè)序列;GPIOC寄存器選擇8位通用輸入/輸出引腳GPIO7~GPIO0用作輸出還是輸入;而GPIOD寄存器則反映了當(dāng)前引腳的狀態(tài)值;ID寄存器中存儲(chǔ)廠家設(shè)定的芯片信息,只可讀。
硬件連接原理圖如圖5所示,GS1011通過SPI接口與ADS1258進(jìn)行通信。利用GS1011的通用輸入/輸出引腳GPIOB0為ADS1258提供復(fù)位信號(hào),借助于GS1011的SPISTEA引腳提供模/數(shù)轉(zhuǎn)換啟動(dòng)信號(hào),兩者之間采用3線制(時(shí)鐘信號(hào)線、數(shù)據(jù)輸入線與數(shù)據(jù)輸出線)SPI通信方式,ADS1258丁作于SPI通信從模式下,且始終處于被選中狀態(tài)。
ADS1258的模/數(shù)轉(zhuǎn)換過程如下:控制引腳START上的正脈沖啟動(dòng)一次模/數(shù)轉(zhuǎn)換,當(dāng)該次轉(zhuǎn)換結(jié)束時(shí),數(shù)據(jù)準(zhǔn)備好引腳輸出低電平信號(hào),提示可以提取采樣數(shù)據(jù),同時(shí)自動(dòng)將多路轉(zhuǎn)換器的采集通道切換到下一個(gè)輸入電壓端口,等待新一輪模/數(shù)轉(zhuǎn)換的啟動(dòng)。本系統(tǒng)中,將數(shù)據(jù)準(zhǔn)備好的信號(hào)作為GS1011的一個(gè)外部中斷源,可通過外部中斷服務(wù)程序來讀取轉(zhuǎn)換結(jié)果。
ADS1258在SCLK引腳的上升沿從DIN引腳輸入數(shù)據(jù),在SCLK引腳的下降沿從DOUT引腳輸出數(shù)據(jù),但無論輸入還是輸出數(shù)據(jù),總是先從最高位MSB開始??刂茀?shù)可通過寫寄存器命令一次性順序?qū)懭?,其命令的第一個(gè)字節(jié)格式為:0111xxxxb。其中,前3位“011”表示該條指令為寫寄存器命令;左數(shù)第4位為“1”時(shí)表示該條指令對(duì)多個(gè)寄存器進(jìn)行寫操作;“xxxx”代表被寫的第一個(gè)寄存器的芯片內(nèi)部地址。
2.2 系統(tǒng)工作
在系統(tǒng)中,監(jiān)護(hù)病人的監(jiān)測(cè)數(shù)據(jù)傳到監(jiān)護(hù)基站,并由基站裝置將數(shù)據(jù)傳輸至所連接的PC,醫(yī)生或護(hù)士可以通過PC獲得病人的生理數(shù)據(jù),對(duì)監(jiān)護(hù)病人作出及時(shí)處理。系統(tǒng)主要由監(jiān)護(hù)基站、路由節(jié)點(diǎn)和無線節(jié)點(diǎn)組成。系統(tǒng)中的生物信號(hào)采集包括人體生理信號(hào),如體溫、血壓、脈搏、心電等,通過傳感器采集。接著再通過模/數(shù)轉(zhuǎn)換器把人體生理參數(shù)的模擬信號(hào)轉(zhuǎn)化為待處理的數(shù)字信號(hào)。當(dāng)醫(yī)生和護(hù)士離崗時(shí),相關(guān)數(shù)據(jù)信息通過Wi—Fi無線方式傳輸發(fā)送到手持PDA上,醫(yī)生和護(hù)士能及時(shí)掌控患者的詳細(xì)數(shù)據(jù)信息。
系統(tǒng)采集各種信息,并進(jìn)行處理,再以無線方式傳送給用戶終端。而Wi—Fi技術(shù)保障設(shè)備之間可以自由直接地進(jìn)行通信,也可以在基站或者訪問點(diǎn)的協(xié)調(diào)下進(jìn)行通安裝在企業(yè)和家庭中的網(wǎng)絡(luò)進(jìn)行無縫連接,而且還具有更好的安全性和系統(tǒng)的可擴(kuò)展性。系統(tǒng)連接步驟如下:
①用病人身上佩帶的檢測(cè)儀獲取病人的生物信號(hào),并將數(shù)據(jù)傳給處理器進(jìn)行處理。
②驅(qū)動(dòng)Wi—Fi模塊,使其能夠通過無線接入點(diǎn)(Access Point,AP)聯(lián)入局域網(wǎng),然后將數(shù)據(jù)交給Wi—Fi模塊傳入局域網(wǎng)。此部分是關(guān)鍵性的一步,在系統(tǒng)中Wi—Fi是負(fù)責(zé)數(shù)據(jù)傳輸?shù)哪K,要實(shí)現(xiàn)實(shí)時(shí)的傳輸,必須首先驅(qū)動(dòng)Wi-Fi模塊,使其能掃描到AP的信息,并且順利加入AP所在的局域網(wǎng)內(nèi)。
③通過Wi-Fi模塊與局域網(wǎng)中的服務(wù)器建立好socket通信模式,將得到的心電數(shù)據(jù)上傳至服務(wù)器,最后在服務(wù)器端解析,得到所需要的生物信息。
3 系統(tǒng)軟件設(shè)計(jì)
3. 1 軟件平臺(tái)
該系統(tǒng)的軟件設(shè)計(jì)是基于GreenHills公司開發(fā)的uVelOsity實(shí)時(shí)操作系統(tǒng),在MULTI集成開發(fā)環(huán)境下完成。同時(shí),利用Gain Span公司提供的GS1011芯片功能接口軟件庫,完成本系統(tǒng)中的相關(guān)應(yīng)用設(shè)計(jì)。
實(shí)時(shí)操作系統(tǒng)uVelOsity運(yùn)行于應(yīng)用處理器之上,介于底層驅(qū)動(dòng)和上層應(yīng)用之間,用于實(shí)現(xiàn)任務(wù)調(diào)度、進(jìn)程管理、定時(shí)器中斷和內(nèi)存管理等功能。
3.2 GS1011應(yīng)用程序設(shè)計(jì)
GS1011的應(yīng)用程序主要包括4個(gè)部分:加入WLAN、與ADS1258的通信、數(shù)據(jù)處理和發(fā)送、功耗管理。
GS1011與AP連接需3個(gè)步驟:掃描、連接、認(rèn)證。GS1011首先向周圍發(fā)送一個(gè)搜索數(shù)據(jù)包,如果周圍存在AP,那么收到搜索數(shù)據(jù)包的AP就會(huì)發(fā)出一個(gè)應(yīng)答包。收到由AP發(fā)來的應(yīng)答包之后,GS1011會(huì)發(fā)出一個(gè)連接請(qǐng)求包與該AP進(jìn)行連接,收到連接請(qǐng)求包之后,AP也會(huì)發(fā)出一個(gè)應(yīng)答包。最后,GS1011與AP之間根據(jù)已設(shè)定好的協(xié)議進(jìn)行認(rèn)證,通過之后即完成了加入WLAN的過程。
GS1011通過SPI接口讀寫ADS1258上的寄存器,對(duì)ADS1258進(jìn)行控制。GS1011的SPI接口信號(hào)有4個(gè):片選信號(hào)mspi_csn、時(shí)鐘信號(hào)mspi_clk、數(shù)據(jù)輸入信號(hào)mspi_din、數(shù)據(jù)輸出信號(hào)mspi_dout。由于在該系統(tǒng)中,ADS1258無法控制何時(shí)開始傳輸,只能工作在從模式下。
通過SPI接口進(jìn)行通信時(shí),必須保持片選信號(hào)mspi_csn為低電平。引腳用于表明轉(zhuǎn)換是否完成,引腳為低時(shí),表明轉(zhuǎn)換已經(jīng)完成,可以直接通過通道讀取數(shù)據(jù)。在mspi_clk的下降沿,系統(tǒng)通過mspi_din向ADS1258發(fā)送數(shù)據(jù);在mspi_clk的上升沿,通過mspi_dout從ADS1258讀取數(shù)據(jù)。
當(dāng)采集到的數(shù)據(jù)達(dá)到一定數(shù)量時(shí),GS1011將存儲(chǔ)器中的數(shù)據(jù)讀到內(nèi)存中進(jìn)行相應(yīng)的處理后,通過TCP或UDP協(xié)議將數(shù)據(jù)發(fā)送到AP,當(dāng)數(shù)據(jù)發(fā)送完畢,且GS1011沒有收到任何命令時(shí),功耗管理線程就會(huì)啟動(dòng),進(jìn)入低功耗模式。
4 實(shí)驗(yàn)結(jié)果
在服務(wù)器端與客戶端都設(shè)置好了之后,就可以進(jìn)行信號(hào)的采集與傳輸了。圖6所示為對(duì)某實(shí)驗(yàn)對(duì)象的心電信號(hào)經(jīng)解壓后在服務(wù)器端顯示的圖形。
該系統(tǒng)的生物信號(hào)采集與傳輸速率最大能到11 Mbps,完全能滿足各種生物信號(hào)文件傳輸要求。在AP為中心的50 m內(nèi),信號(hào)都能滿足實(shí)時(shí)傳輸速率要求。對(duì)于AP的切換,在模塊的自動(dòng)聯(lián)網(wǎng)下,重新掃描網(wǎng)絡(luò)大概在300 ms內(nèi),連接認(rèn)證在100 ms內(nèi),整個(gè)過程花費(fèi)不到0.5 ms。若我們?cè)诿總€(gè)AP所在的網(wǎng)內(nèi)都設(shè)置好服務(wù)器,所得到的生物數(shù)據(jù)不會(huì)有很大的誤差。
結(jié)語
本文在分析生物信號(hào)采集系統(tǒng)國內(nèi)外研究現(xiàn)狀的基輸系統(tǒng)。該系統(tǒng)配合Wi—Fi無線網(wǎng)絡(luò)以及上位機(jī)操作軟件,大大提升了便利性和可擴(kuò)展性。后期研究重點(diǎn)將解決數(shù)據(jù)信息在無線網(wǎng)絡(luò)傳遞中的安全問題,以及偏向上位機(jī)編程(如C++等),在應(yīng)用層上豐富和完善系統(tǒng)。