秦皇島市康泰醫(yī)學(xué)系統(tǒng)有限公司 劉晨亮 師麗菊
心血管疾病是一種較為普遍的疾病,隨著生活節(jié)奏的加快,生活水平和健康意識(shí)的提高,人們需要隨時(shí)對(duì)心臟進(jìn)行健康監(jiān)護(hù)并且能在比較危急的情況下進(jìn)行及時(shí)的診治;目前主要的監(jiān)測方式有以下幾種:
手持式片斷記錄心電計(jì):其優(yōu)點(diǎn)是可以隨身攜帶,對(duì)使用地點(diǎn)要求不高,可以隨時(shí)隨地使用,缺點(diǎn)是不能連續(xù)記錄心電圖,對(duì)于隱性的心電疾病不能很好的發(fā)現(xiàn)。
動(dòng)態(tài)心電圖機(jī):該設(shè)備優(yōu)點(diǎn)是能夠同步12導(dǎo)聯(lián)采集心電圖,具有PC端強(qiáng)大的分析系統(tǒng),能夠用于醫(yī)生進(jìn)行詳細(xì)的醫(yī)學(xué)診斷,缺點(diǎn)是導(dǎo)聯(lián)連接復(fù)雜,必須到醫(yī)院才能佩戴,不能實(shí)時(shí)上傳數(shù)據(jù),屬于事后分析系統(tǒng)。
常規(guī)監(jiān)護(hù)儀監(jiān)測:該種設(shè)備價(jià)格昂貴,只能在醫(yī)院進(jìn)行監(jiān)測治療,監(jiān)測成本極高,一般用于重癥監(jiān)護(hù),不適合用于普通心電疾病監(jiān)護(hù)。
綜上可以看出,目前的心電監(jiān)護(hù)方法各有優(yōu)缺點(diǎn),不能滿足即能實(shí)時(shí)監(jiān)測,又能便宜實(shí)惠的大眾化醫(yī)療需求,因此本文設(shè)計(jì)了一款基本上能滿足大眾化的心電采集終端,使得心電監(jiān)測、治療能夠平民化、社區(qū)化。下面對(duì)該終端進(jìn)行詳細(xì)敘述。
該設(shè)備是作為一套遠(yuǎn)程醫(yī)療系統(tǒng)的一個(gè)終端設(shè)備設(shè)計(jì)的。整個(gè)遠(yuǎn)程醫(yī)療系統(tǒng)分為兩個(gè)大部分:用戶部分和遠(yuǎn)程診斷部分,而用戶部分又分為數(shù)據(jù)采集終端和數(shù)據(jù)上傳終端。整個(gè)系統(tǒng)運(yùn)行過程如下:首先數(shù)據(jù)采集終端把數(shù)據(jù)通過無線發(fā)給數(shù)據(jù)上傳終端,數(shù)據(jù)上傳終端可以是連入互聯(lián)網(wǎng)的電腦、手機(jī)、專用路由器、網(wǎng)絡(luò)監(jiān)護(hù)儀等設(shè)備。然后上傳終端設(shè)備把接收到的數(shù)據(jù)進(jìn)行分析處理,把有價(jià)值的數(shù)據(jù)通過互聯(lián)網(wǎng)發(fā)送到遠(yuǎn)程健康管理中心,中心的數(shù)據(jù)服務(wù)器再把數(shù)據(jù)分類,分發(fā)給對(duì)應(yīng)的專家和醫(yī)務(wù)人員,由他們進(jìn)行分析診斷,最后中心通過電話和互聯(lián)網(wǎng)把診斷結(jié)果反饋給用戶,并提示用戶進(jìn)行相關(guān)的治療。
該系統(tǒng)涉及到了嵌入式系統(tǒng)、無線數(shù)據(jù)傳輸、互聯(lián)網(wǎng)、用戶和醫(yī)生之間的交互、管理中心的數(shù)據(jù)處理,可以說是物聯(lián)網(wǎng)的一個(gè)最典型應(yīng)用。
該系統(tǒng)的采集終端不僅有心電終端,還有血氧、血壓、血糖、體溫、呼吸等等各種人體重要的生理參數(shù)采集終端,本文限于篇幅,只詳細(xì)敘述其中的心電采集終端。
圖1 硬件框架圖
本設(shè)備采用胸帶方式的可重復(fù)使用導(dǎo)電橡膠電極,這樣設(shè)計(jì)可以讓家庭用戶輕松方便的自己穿戴,不需要額外的醫(yī)師幫助;橡膠電極是柔性設(shè)計(jì),能夠隨形緊貼皮膚,即舒適,采集效果還好;橡膠材質(zhì)符合CE的生物兼容性要求,不會(huì)有副作用。
終端主機(jī)直接卡扣到胸帶上,由于主機(jī)很小,很輕,佩戴起來基本感覺不到,這樣還省去了連接導(dǎo)聯(lián)線的麻煩,增加可靠性,減少干擾。主機(jī)上人機(jī)接口只有一個(gè)按鍵和一個(gè)指示燈,操作簡單明了,即使老人和兒童也能很容易操作。
采用1OOOmAH鋰聚合物電池,能夠提供大于24小時(shí)的全天候心電監(jiān)測。本終端設(shè)備還支持TF卡存儲(chǔ)功能,在某些不需要實(shí)時(shí)檢測的情況下,可以將數(shù)據(jù)記錄到TF卡上,供后續(xù)分析診斷用。
硬件部分框圖如圖1所示,心電模擬放大部分主要由兩種放大器INA333和OPA2 348組成;數(shù)字部分主要由CC43OF5137無線單片機(jī)和TF卡構(gòu)成;外圍電路還有時(shí)鐘電路、電源電路等。
該終端檢測的心電信號(hào)幅值在±5mV之間,頻率在O.O5~75Hz之間。心電信號(hào)經(jīng)電極轉(zhuǎn)換成電壓信號(hào),先要進(jìn)行電壓放大。電壓放大器由兩級(jí)組成,前級(jí)采用負(fù)反饋差動(dòng)放大電路,消除共模干擾信號(hào),后級(jí)采用線性放大器,把心電信號(hào)放大到ADC的輸入范圍內(nèi)。兩級(jí)之間采用一階高通濾波器濾掉O.O5Hz以下的無用信號(hào)。對(duì)用工頻干擾和肌電干擾,則通過數(shù)據(jù)上傳終端的數(shù)字濾波器濾除掉。
系統(tǒng)中,采用TI公司的微功耗儀表放大器INA333芯片作為心電信號(hào)的前級(jí)放大器,放大倍數(shù)為1O倍。后級(jí)采用低壓微功耗運(yùn)放OPA2348做線性放大,放大倍數(shù)為2O倍。心電信號(hào)的最高峰峰值為1OmV,經(jīng)過兩級(jí)共2OO倍的放大為2.OV。ADC的輸入范圍為O~3V,有1V左右的余量,會(huì)具有較好的動(dòng)態(tài)范圍。同時(shí),心電信號(hào)的頻率在O.O5~75Hz之間,在保證波形不失真的情況下盡可能降低采樣率,以降低能耗,在此選取采樣率fs=2OOHz,既能保證醫(yī)師和軟件的分析要求,也能使數(shù)據(jù)量和耗電量在可接受范圍內(nèi)。
采用TF卡作為存儲(chǔ)器具有接口簡單、容量大、體積小,功耗低、電腦可以直接讀寫等特點(diǎn),和單片機(jī)采用SPI接口通訊。文件系統(tǒng)采用FAT16格式,將心電數(shù)據(jù)存成獨(dú)立的文件,如果按照常見的2GB容量的卡計(jì)算,存儲(chǔ)單導(dǎo)心電數(shù)據(jù)時(shí)間長度達(dá)到:2GB÷(12Bit×2OOHz÷8Bit/Byte)=1988.4小時(shí),遠(yuǎn)遠(yuǎn)大于系統(tǒng)要求的24小時(shí)。
電源采用鋰聚合物電池,這種電池由于采用軟性材料包裝,在發(fā)生故障時(shí)一般只是鼓起,而不像鋰離子電池那樣會(huì)爆炸,安全性比較高。另外在結(jié)構(gòu)設(shè)計(jì)上,使電池在主機(jī)的外側(cè),而不是緊挨皮膚的一側(cè),這樣即使發(fā)生故障,由于隔著主機(jī),對(duì)人體的傷害減到最小。
基于功能、價(jià)格、功耗以及心電終端設(shè)計(jì)的實(shí)際需要等幾個(gè)方面的考慮,本系統(tǒng)選用具有12位ADC的超低功耗微處理器CC43OF5137作為系統(tǒng)的控制核心,該單片機(jī)是TI公司將業(yè)界領(lǐng)先的超低功耗MSP43O MCU與1GHz以下的高性能CC11O1 RF收發(fā)器進(jìn)行了完美結(jié)合,可實(shí)現(xiàn)高達(dá)2O MIPS的性能。利用它作心電信號(hào)的采集與處理,不僅極大地簡化了系統(tǒng)硬件電路,還大大提高了系統(tǒng)的性價(jià)比。
CC43OF5137的資源相當(dāng)豐富,本文重點(diǎn)介紹一下心電終端主要用到的資源。CC43OF5137包含了32KB Flash和4KB RAM,其中特別是高達(dá)4KB的RAM對(duì)于TF卡操作來說非常有用。由于TF卡最小操作數(shù)據(jù)單位為512字節(jié),因此必須要有大的RAM做后盾。為了使系統(tǒng)運(yùn)行效率更高,采集和存儲(chǔ)任務(wù)互不影響,本設(shè)備在內(nèi)存中開了2個(gè)1KB的緩沖區(qū),當(dāng)ADC采樣來的數(shù)據(jù)存入其中一個(gè)緩沖區(qū)的時(shí)候,程序則將另外一個(gè)緩沖區(qū)的數(shù)據(jù)寫入TF卡或通過無線端口發(fā)走,當(dāng)ADC的緩沖區(qū)寫滿后就把這兩個(gè)緩沖區(qū)的功能交換一下,由于寫卡或無線發(fā)送的速度大于ADC采樣速度,這兩個(gè)緩沖區(qū)交替使用使得系統(tǒng)效率大大提高。除去兩個(gè)緩沖區(qū)占用的2KB內(nèi)存,系統(tǒng)還剩下2KB內(nèi)存,足夠其他任務(wù)的使用。
CC43O單片機(jī)最大的特點(diǎn)就是具有一個(gè)CC11O1 RF收發(fā)器,這也是本設(shè)備選用CC43OF5137單片機(jī)做主控的主要原因。CC11O1擁有卓越的數(shù)據(jù)包處理能力。發(fā)送時(shí),只需簡單設(shè)置寄存器,當(dāng)用戶往CC11O1內(nèi)的TXFIFO寫入數(shù)據(jù)后,器件自動(dòng)在數(shù)據(jù)包內(nèi)增加前導(dǎo)字節(jié)(長度可控),同步信息,CRC16校驗(yàn),并根據(jù)寄存器設(shè)置將FIFO內(nèi)寫入的頭兩個(gè)字節(jié)數(shù)據(jù)標(biāo)志為長度信息(此功能可選)和地址信息(可選)。接收狀態(tài)下,器件自動(dòng)偵測前導(dǎo)碼,同步碼,地址信息和計(jì)算并比較CRC16。此外,CC11O1還支持變長數(shù)據(jù)包格式和交織功能。這些原本需要復(fù)雜算法和巨大運(yùn)算量和存儲(chǔ)空間的功能由硬件支持,MCU的編程難度大大降低,其負(fù)荷也大為減輕。CC11O1的寄存器眾多,包括狀態(tài)寄存器將近8O個(gè),若手動(dòng)配置容易出錯(cuò),因此TI公司提供了SmartRF Studio射頻仿真軟件。由于CC43OF5137將43O內(nèi)核和CC11O1內(nèi)核集成到一顆芯片上,在整機(jī)功耗、PCB布線方面具有很強(qiáng)的優(yōu)勢。
CC43OF5137自帶高速12位逐次逼近型ADC12,該ADC12具有內(nèi)部參考電壓、采樣保持和自動(dòng)掃描功能,有6個(gè)外通道4個(gè)內(nèi)通道,高速的采樣速率,多種采樣方式,因而完全能夠滿足要求。
TF卡接口采用USCI模塊的SPI模式驅(qū)動(dòng),由于TF卡本身也具有SPI操作模式,所以在單片機(jī)和TF卡通訊時(shí)效率也是很高的,完全滿足ECG的存儲(chǔ)需要。CC43OF5137內(nèi)部有一個(gè)RTC專用計(jì)數(shù)器,可用于系統(tǒng)的實(shí)時(shí)時(shí)鐘計(jì)時(shí),也用于給文件系統(tǒng)提供時(shí)基,省去了外掛RTC芯片的麻煩。實(shí)時(shí)時(shí)鐘的校時(shí)通過無線通信實(shí)現(xiàn),在本終端和上位機(jī)通信時(shí)自動(dòng)同步時(shí)鐘,免去手動(dòng)設(shè)置操作,用戶使用起來更加方便。
綜上所述,可見CC43OF5137的資源非常適合用于心電終端,其內(nèi)部的各個(gè)資源大部分都能使用起來,既能滿足需求,也沒有太多浪費(fèi),功耗和體積也比較有優(yōu)勢,能得到較好的性價(jià)比。
整個(gè)軟件系統(tǒng)采用常規(guī)的大循環(huán)結(jié)構(gòu),通過事件觸發(fā)對(duì)應(yīng)任務(wù)的執(zhí)行。經(jīng)過實(shí)踐檢驗(yàn),對(duì)于這種微型資源、簡單任務(wù)的單片機(jī)系統(tǒng),“裸奔”方式比用嵌入式實(shí)時(shí)系統(tǒng)比如uCOS的效率要高。軟件分為以下幾個(gè)部分:
主程序首先是對(duì)單片機(jī)及各個(gè)外設(shè)進(jìn)行初始化,包括初始化時(shí)鐘系統(tǒng),設(shè)置看門狗,配置ADC、定時(shí)器、無線模塊、IO口等的參數(shù),將TF卡設(shè)置為SPI模式,將系統(tǒng)的各個(gè)變量和標(biāo)志設(shè)為初始值。執(zhí)行完這些任務(wù)后CPU進(jìn)入一個(gè)大循環(huán)狀態(tài),在這個(gè)大循環(huán)里面不停地判斷各個(gè)事件標(biāo)志是否置位,如果有事件出現(xiàn)就跳入相應(yīng)的函數(shù)處理,處理完后再返回主循環(huán)。如果連續(xù)循環(huán)2次未發(fā)生觸發(fā)事件,則CPU進(jìn)入睡眠模式。此時(shí)各外設(shè)正常工作,通過中斷程序管理。遇到需要處理的事件,由中斷程序設(shè)置事件標(biāo)志,喚醒CPU,調(diào)用相關(guān)函數(shù)處理事件,處理完成后繼續(xù)進(jìn)入睡眠狀態(tài)??梢娙绱嘶谑录|發(fā)的調(diào)度程序,既能及時(shí)響應(yīng)處理任務(wù),又能極大的降低系統(tǒng)耗電量,延長電池使用時(shí)間。軟件的各部分模塊化處理,各部分獨(dú)立性較強(qiáng),以后維護(hù)程序和刪減任務(wù)比較方便。
ADC的啟動(dòng)采用定時(shí)器觸發(fā)方式,將定時(shí)器設(shè)為2OOHz的中斷頻率,用于觸發(fā)ADC采樣。ADC配置為序列通道單次轉(zhuǎn)換模式,每次轉(zhuǎn)換2個(gè)通道,分別是ECG信號(hào)和電池電量信號(hào)。ADC完成每次的模數(shù)轉(zhuǎn)換后產(chǎn)生ADC中斷,中斷程序?qū)㈦姵仉娏繑?shù)據(jù)存到電量緩存,將心電數(shù)據(jù)存到1KB的心電數(shù)據(jù)緩存,如果心電緩存存滿,就交換心電緩存和TF卡緩存的指針,并置位TF卡存儲(chǔ)標(biāo)志位,喚醒CPU,最后退出中斷程序。如果心電緩沖區(qū)沒寫滿,就直接退出中斷程序。
TF卡內(nèi)的數(shù)據(jù)需要接到電腦上回放,為了能夠讓電腦的操作系統(tǒng)識(shí)別,TF卡存儲(chǔ)的數(shù)據(jù)需要用文件系統(tǒng)支持,在這里我選用FatFs文件系統(tǒng)程序模塊。FatFs Module是一種完全免費(fèi)開源的FAT文件系統(tǒng)模塊,專門為小型的嵌入式系統(tǒng)而設(shè)計(jì)。它完全用標(biāo)準(zhǔn)C語言編寫,所以具有良好的硬件平臺(tái)獨(dú)立性,可以移植到MSP43O、8O51、PIC、AVR、SH、Z8O、H8、ARM等系列單片機(jī)上而只需做簡單的修改。它支持FATl2、FATl6和FAT32,支持多個(gè)存儲(chǔ)媒介;有獨(dú)立的緩沖區(qū),可以對(duì)多個(gè)文件進(jìn)行讀/寫,并特別對(duì)8位單片機(jī)和16位單片機(jī)做了優(yōu)化。由于網(wǎng)上有現(xiàn)成的在MSP43O單片機(jī)上移植好的FatFs文件系統(tǒng),本文不對(duì)移植過程贅述,重點(diǎn)詳述存儲(chǔ)的文件結(jié)構(gòu)。
由于TF卡的最小操作單位為一個(gè)扇區(qū),即512字節(jié),因此本設(shè)備存儲(chǔ)的文件結(jié)構(gòu)也以一個(gè)扇區(qū)為基本操作數(shù)據(jù)塊,這樣方便單片機(jī)的存儲(chǔ)和讀取。文件的每個(gè)扇區(qū)數(shù)據(jù)結(jié)構(gòu)都一樣,前4個(gè)字節(jié)采用大端格式存儲(chǔ)扇區(qū)在文件中的編號(hào),接下來一個(gè)字節(jié)備用,等以后擴(kuò)展功能需要,還剩下5O7個(gè)字節(jié),其中每3個(gè)字節(jié)為一個(gè)小結(jié)構(gòu),5O7字節(jié)可以分為169個(gè)小結(jié)構(gòu),每個(gè)小結(jié)構(gòu)由2個(gè)采樣點(diǎn)數(shù)據(jù)組成,每個(gè)采樣點(diǎn)是12位,兩個(gè)采樣點(diǎn)數(shù)據(jù)正好占用3字節(jié)。由上可知由于每個(gè)扇區(qū)的結(jié)構(gòu)都是完全獨(dú)立的,而且有自己的獨(dú)立編號(hào),如果TF卡出現(xiàn)壞塊,可以明確的知道心電數(shù)據(jù)哪些部分是無效的,而且有用數(shù)據(jù)和無效數(shù)據(jù)不會(huì)互相干擾,整個(gè)文件的可靠性比較高。
TF卡的存儲(chǔ)程序作為單獨(dú)的一個(gè)函數(shù),由TF卡存儲(chǔ)標(biāo)志位觸發(fā)并被主循環(huán)程序調(diào)用,存儲(chǔ)標(biāo)志置位后,該函數(shù)將1KB的緩存數(shù)據(jù)存入TF卡,并清除標(biāo)志位,等待下一次的觸發(fā)。
CC43OF5137的RF模塊完全采用了CC11O1芯片的設(shè)計(jì),除了少許不同外,基本上一樣,官方提供完整的接口驅(qū)動(dòng)程序,操作起來非常方便,因此本文不再贅述。下面介紹無線通信的協(xié)議。
該終端無線部分功能比較簡單,只需要上電后根據(jù)設(shè)置選擇數(shù)據(jù)通過無線發(fā)送或存儲(chǔ)SD卡,發(fā)送數(shù)據(jù)采用5個(gè)字節(jié),每個(gè)字節(jié)的最高位作為數(shù)據(jù)包的標(biāo)志,其中包頭的最高位永遠(yuǎn)為1,其余4字節(jié)的最高位永遠(yuǎn)為O,各字節(jié)定義如下:
字節(jié)O:最高位(第7位)為1,剩下7位循環(huán)加一,大于127時(shí)歸零,用于判斷數(shù)據(jù)包是否連續(xù)
字節(jié)1:最高位(第7位)為O,剩下7位表示心電數(shù)據(jù)12位數(shù)左移7位后高位
字節(jié)2:最高位(第7位)為O,剩下7位表示心電數(shù)據(jù)低7位
字節(jié)3:最高位(第7位)為O,剩下7位表示心率數(shù)據(jù)12位數(shù)左移7位后高位
字節(jié)4:最高位(第7位)為O,剩下7位表示心率數(shù)據(jù)低7位
數(shù)據(jù)打包代碼:
數(shù)據(jù)打包完成后直接送到發(fā)送FIFO,通過無線發(fā)出去??紤]到實(shí)際使用時(shí)收發(fā)端在同一個(gè)房間內(nèi),收發(fā)距離比較近,丟包率會(huì)很低,而且心電數(shù)據(jù)屬于連續(xù)的數(shù)據(jù)流,偶爾丟一兩個(gè)數(shù)據(jù)包對(duì)整體波形影響不是很大,因此此處未作額外校驗(yàn)。
接收數(shù)據(jù)用來校準(zhǔn)時(shí)間,在無線模塊不發(fā)送的時(shí)間里,該終端設(shè)置為接收模式,等待主機(jī)發(fā)送時(shí)間的校準(zhǔn)數(shù)據(jù),數(shù)據(jù)格式如下:
字節(jié)O:最高位(第7位)為1,剩下7位表示年的增量,范圍為O-99,以2OOO年為基準(zhǔn)
字節(jié)1:最高位(第7位)為O,剩下7位表示月,范圍為1-12
字節(jié)2:最高位(第7位)為O,剩下7位表示日,范圍為1-31
字節(jié)3:最高位(第7位)為O,剩下7位表示時(shí),范圍為O-23
字節(jié)4:最高位(第7位)為O,剩下7位表示分,范圍為O-59
該終端接收到有效數(shù)據(jù)包后按照新的時(shí)間設(shè)置本機(jī)實(shí)時(shí)時(shí)鐘。為了防止偶爾丟包,上位機(jī)在發(fā)送時(shí)間校準(zhǔn)數(shù)據(jù)包時(shí),多發(fā)送幾次,這樣就比較可靠了。
通過上面的介紹,可以看出整個(gè)軟件系統(tǒng)運(yùn)行過程是通過定時(shí)器觸發(fā)各個(gè)硬件模塊去執(zhí)行對(duì)應(yīng)的任務(wù),然后產(chǎn)生中斷,由中斷程序?qū)a(chǎn)生的數(shù)據(jù)存到緩存,執(zhí)行比較快速的對(duì)實(shí)時(shí)性要求較高的任務(wù)。當(dāng)緩存積累到一定的程度就會(huì)標(biāo)記標(biāo)志位,主程序不停地檢測各個(gè)標(biāo)志位,遇到置位的標(biāo)志位就進(jìn)行處理,用來解決比較耗時(shí),對(duì)實(shí)時(shí)性要求不高的任務(wù),這樣快慢搭配,可以充分利用系統(tǒng)資源,降低功耗。
該終端目前已經(jīng)完成原型機(jī)制作,通過實(shí)際測試,各項(xiàng)指標(biāo)能夠達(dá)到設(shè)計(jì)要求。該機(jī)作為遠(yuǎn)程醫(yī)療系統(tǒng)的一個(gè)組成部分,能夠滿足家庭、社區(qū)對(duì)單道心電圖、心率的遠(yuǎn)程測量需求,方便用戶的醫(yī)療需要,有效減少患者的出行費(fèi)用和時(shí)間。我們?cè)诖嘶A(chǔ)上還設(shè)計(jì)了多通道心電檢測終端,并集成了藍(lán)牙、wifi、3G等多種無線連接方式,能夠滿足不同用戶的各種需求,使整個(gè)遠(yuǎn)程醫(yī)療系統(tǒng)的適應(yīng)能力更強(qiáng)更廣,也使物聯(lián)網(wǎng)的多樣化發(fā)展邁出了嶄新的一步。
[1]胡大可.MSP430系列FLASH型超低功耗16位單片機(jī)[M].北京航空航天大學(xué)出版社,2001.
[2]MSP430系列軟件用戶指南[S].利爾達(dá)(中國)電子有限公司.
[3]張石,張新宇,鮑喜榮,張平,孫萍.遠(yuǎn)程移動(dòng)心電監(jiān)測系統(tǒng)的研究與開發(fā)[J].控制工程,2006(02).
[4]張唯真.生物醫(yī)學(xué)電子學(xué)[M].清華大學(xué)出版社,1990,10(第一版).