用S3C2410實現(xiàn)三導(dǎo)聯(lián)遠程心電監(jiān)護系統(tǒng)
摘 要 主要介紹一種基于S3C2410平臺的三導(dǎo)聯(lián)遠程心電監(jiān)護系統(tǒng)。該系統(tǒng)能夠不受時間、空間的限制對心臟病患者進行實時監(jiān)護,從而方便患者與醫(yī)護人員隨時進行溝通。經(jīng)過臨床測試受到醫(yī)療界專家和心臟病患者的高度評價。
關(guān)鍵詞 ARM,S3C2410,心電監(jiān)護,無線傳輸
1 引 言
隨著人們生活水平的提高、生活節(jié)奏的加快,心血管疾病的發(fā)病率迅速上升,已成為威脅人類身體健康的主要因素之一。而心電圖則是治療此類疾病的主要依據(jù),具有診斷可靠,方法簡便,對病人無損害的優(yōu)點,在現(xiàn)代醫(yī)學(xué)中,變得越來越重要。常規(guī)心電圖是病人在靜臥情況下由心電圖儀記錄的心電活動,歷時僅為幾s~1 m,只能獲取少量有關(guān)心臟狀態(tài)的信息,所以在有限時間內(nèi)即使發(fā)生心率失常,被發(fā)現(xiàn)的概率也是很低的。因此有必要通過相應(yīng)的監(jiān)護裝置對患者進行長時間的實時監(jiān)護,記錄患者的心電數(shù)據(jù)。又由于心臟病的發(fā)生具有突發(fā)性的特點,患者不可能長時間地靜臥在醫(yī)院,但又需實時得到醫(yī)護人員的監(jiān)護,所以研發(fā)相應(yīng)的便攜式無線心電監(jiān)護產(chǎn)品就顯得更加重要。
目前雖說國內(nèi)已有成型的無線心電監(jiān)護產(chǎn)品,但其采用的方案大都是“采集器+發(fā)送器(PDA或手機)”,這必然導(dǎo)致其價格昂貴,且PDA或手機的其他功能對于絕大部分患者完全沒有必要,所以到目前為止國內(nèi)實用的無線心電監(jiān)護產(chǎn)品領(lǐng)域還是空白。本文所述的遠程心電監(jiān)護系統(tǒng)是在醫(yī)院的提案基礎(chǔ)之上,進行充分調(diào)研之后設(shè)計的總體方案,主要實現(xiàn)如下功能:
- 三導(dǎo)聯(lián)心電信號采集;
- 無線傳輸緊急情況下40 s的心電數(shù)據(jù)及診斷結(jié)果;
- 24小時心電圖連續(xù)記錄;
- 通過高速USB上傳心電數(shù)據(jù)至PC機;
- 緊急呼叫。
2 系統(tǒng)總體設(shè)計
作為便攜式手持遠程移動終端,在設(shè)計時應(yīng)充分考慮其體積小,功耗低,存儲容量大和處理速度高的要求,因此在CPU的選擇上十分慎重。經(jīng)過資料收集和反復(fù)比較,最終選擇了Samsung公司推出的基于ARM920T內(nèi)核的S3C2410處理器,該處理器資料豐富,性價比高。
采用RISC架構(gòu)的ARM微處理器一般具有如下特點:
- 體積小,功耗低,成本低,性能高;
- 支持Thumb(16位)/ARM(32位)雙指令集;
- 大量使用寄存器,使指令執(zhí)行速度更快;
- 尋址方式靈活簡單,執(zhí)行效率高;
- 指令長度固定。
可以看出基于ARM的嵌入式處理器是便攜式手持終端的最佳選擇,所以在設(shè)計系統(tǒng)方案時首先定位在該系列處理器上。S3C2410處理器基于ARM920T處理器核,采用0.18 μm制造工藝的32位微控制器,采用五級流水線和哈佛結(jié)構(gòu),最高運行頻率為203 MHz。該處理器具有:獨立的16 KB指令Cache和16KB數(shù)據(jù)Cache、MMU、支持TFT的LCD控制器、NAND閃存控制器、3路UART、4路帶PWM的Timer、豐富的I/O口、8路10位ADC、Touch Screen接口、IICBUS接口,以及2個USB主機和1個USB設(shè)備等豐富的外圍設(shè)備。
S3C2410提供了一套較完整的通用外圍設(shè)備,且使整個系統(tǒng)的功耗最低,從而免去了添加、配置附加外圍接口的麻煩,有效地縮小了線路板的面積,這也正是本系統(tǒng)選擇該處理器的重要原因。
系統(tǒng)的整體結(jié)構(gòu)如圖1所示,以S3C2410為核心,外擴了8 MB的NOR FLASH、64 MB的NAND FLASH以及16 MB的SDRAM等存儲芯片,通過GPIO口擴展了鍵盤、LCD和蜂鳴器等人機接口單元,對外提供USB和UART等通信接口,同時連接了Siemens公司的MC35模塊,以實現(xiàn)無線傳輸和緊急呼叫功能。從系統(tǒng)的總體功能結(jié)構(gòu)來看,可將系統(tǒng)劃分為5個模塊:電源模塊、心電數(shù)據(jù)采集模塊、數(shù)據(jù)無線傳輸模塊、圖形用戶界面模塊、數(shù)據(jù)存儲管理模塊。
圖1 系統(tǒng)總體結(jié)構(gòu)
2.1 電源模塊
系統(tǒng)采用單節(jié)1700 mAh鋰離子可充電電池供電,但隨著電量的釋放,電壓也在不斷降低,變化范圍為4.2~2.75 V。而本系統(tǒng)中分別需要一個4.3 V的MC35工作電壓、一個3.3 V的I/O電壓、一個1.8 V的CPU核電壓和一個1.8 V的CPU職守電壓。為了滿足系統(tǒng)的要求,電源電路中必須同時具備升壓穩(wěn)壓器和低壓差線性穩(wěn)壓器。為了解決該問題系統(tǒng)采用1個開關(guān)型升壓DCDC穩(wěn)壓器、1個3.3 V極低壓差線性穩(wěn)壓器和2個帶有Shutdown引腳的1.8 V低壓差線性穩(wěn)壓器來組成供電系統(tǒng),供電方案如圖2所示。
圖2 電源模塊方案
2.2 心電數(shù)據(jù)采集
由于心電圖信號的檢測是屬于強噪聲背景下的超低頻(0.5~100 Hz)微弱(0.1~5 mV)信號檢測,具有微弱性、穩(wěn)定性、低頻特性和隨機性等特點,故要求前置級應(yīng)滿足高輸入阻抗、高共模抑制比(CMRR)、低噪聲、低漂移和高安全性。微弱的心電信號受到來自人體內(nèi)外的多種干擾,其特征被淹沒在復(fù)雜的信號之中,為了使其特征突出,就有必要對其進行預(yù)處理。系統(tǒng)采用的心電信號采集原理如圖3所示。其中前置級采用差動放大電路,其放大倍數(shù)為22.4倍;后級放大電路的放大倍數(shù)為37倍,則總放大倍數(shù)為828.8倍。
圖3 心電信號采集原理
由于心電信號為低頻信號,因此在模擬電路上,設(shè)計截止頻率為100 Hz的一階低通濾波器來濾除高頻干擾,采用二階VCVS帶阻濾波器來濾除50 Hz工頻干擾。在數(shù)字處理上,為了抑制對心電信號影響較大的工頻干擾和基線漂移,采用2 048點FFT對輸入的一幀心電數(shù)據(jù)進行時域—頻域的變換,然后去除0.5 Hz以下的低頻和50 Hz的工頻;同時為了抑制高頻噪聲和50 Hz倍頻造成的干擾,又濾除了100 Hz以上的頻率,然后再進行IFFT將此組數(shù)據(jù)變換回時域。
2.3 數(shù)據(jù)無線傳輸模塊
本系統(tǒng)為遠程移動終端,涉及數(shù)據(jù)的無線傳輸,為實現(xiàn)此功能采用了Siemens公司的MC35模塊,并移植了TCPIP協(xié)議棧和PPP協(xié)議,以完成心電數(shù)據(jù)的發(fā)送和診斷結(jié)果的接收。MC35是Siemens公司推出的第一款支持GPRS的GSM/GPRS模塊,它體積小,易于集成到便攜式手持終端中,支持VOICE、DATA、FAX以及SMS等業(yè)務(wù)。處理器S3C2410通過異步串行通信接口與MC35相連,并通過AT命令對該模塊進行控制和數(shù)據(jù)傳輸。
在發(fā)送數(shù)據(jù)時,首先,應(yīng)用層將采集到的心電數(shù)據(jù)提交給TCPIP協(xié)議棧;然后,TCPIP協(xié)議棧根據(jù)目的地址和端口將該心電數(shù)據(jù)封裝成完整的IP數(shù)據(jù)報,再提交至PPP層;最后,該IP數(shù)據(jù)報經(jīng)PPP層封裝之后,通過串口逐字節(jié)地提交至MC35并發(fā)送。在接收數(shù)據(jù)時,MC35首先將接收的數(shù)據(jù)逐字節(jié)地提交至PPP層;經(jīng)PPP層將分散的各字節(jié)重組成一幀完整的IP數(shù)據(jù)報之后,再提交至TCPIP層進行詳細(xì)的處理,具體流程如圖4所示。
在開機初始化時要完成MC35的啟動并登錄移動夢網(wǎng)網(wǎng)關(guān),建立與服務(wù)提供商的連接。一般在發(fā)送指令之前先要發(fā)送一條測試指令,以檢測MC35的當(dāng)前狀態(tài),該指令的格式為“AT
”;在入網(wǎng)網(wǎng)關(guān)及流量控制等參數(shù)通過AT指令設(shè)置完成之后,便可通過服務(wù)編碼99開始呼叫與服務(wù)提供商建立連接,指令格式為ATDT*99***1#
。若在該指令執(zhí)行之后給定的時間內(nèi)返回CONNECT信息,則表明與服務(wù)提供商的連接建立成功;否則,表明撥號失敗,無線傳輸功能無法正常啟動。MC35成功登錄移動夢網(wǎng)網(wǎng)關(guān)之后,將自動從命令模式切換到數(shù)據(jù)通信模式,且串口通信方式由原來的查詢式變?yōu)橹袛喾绞?。此時由系統(tǒng)主動發(fā)送一幀PPP請求信息,服務(wù)提供商接到該請求信息后主動發(fā)出詢問幀,協(xié)商相關(guān)參數(shù)的設(shè)置。待服務(wù)參數(shù)及用戶身份驗證成功之后,服務(wù)提供商為系統(tǒng)分配一獨立IP,至此便可認(rèn)為GPRS成功上線。
圖4 GPRS無線數(shù)據(jù)傳輸流程
GPRS成功上線后可以認(rèn)為MC35主要處在兩種工作狀態(tài):數(shù)據(jù)傳輸狀態(tài)和空閑狀態(tài)。在數(shù)據(jù)傳輸狀態(tài),MC35的峰值電流可達400 mA;在空閑狀態(tài)一般為15 mA。另外,在空閑狀態(tài)MC35還支持多種休眠模式??紤]到系統(tǒng)的功耗問題,啟用了MC35的休眠功能。系統(tǒng)采用了MC35的休眠模式七。在該休眠模式下,電流一般為3 mA左右;MC35無論從串口還是從服務(wù)提供商接收到數(shù)據(jù),都會立刻將MC35設(shè)置為正常模式,待數(shù)據(jù)傳輸結(jié)束之后自動進入休眠模式。該休眠模式的設(shè)置可以通過指令“AT+CFUN=7
”來完成,且該指令必須在GPRS上線之后執(zhí)行。這樣在空閑狀態(tài)下即可自動將MC35設(shè)置為休眠模式,將電流值從15 mA降到3 mA。在休眠指令執(zhí)行前涉及MC35的狀態(tài)切換,因為在執(zhí)行該指令前MC35處在數(shù)據(jù)通信模式,所以要通過指令“+++”將其切換到命令模式之后再執(zhí)行該休眠指令。在休眠指令執(zhí)行之后還需通過指令“ATO
”將MC35切換到數(shù)據(jù)通信模式;否則MC35會把將要發(fā)送的數(shù)據(jù)也當(dāng)作指令來處理。
2.4 圖形用戶界面
系統(tǒng)采用深圳蓬遠公司生產(chǎn)的低功耗、128×64點陣液晶模塊MOBI2006來圖形化顯示系統(tǒng)信息。MOBI2006支持并行和串行兩種數(shù)據(jù)通信方式,工作電壓為3.3 V。在本系統(tǒng)應(yīng)用中,使用S3C2410的I/O口模擬LCD的控制時序來實現(xiàn)對液晶的控制。
在具體實現(xiàn)相關(guān)信息的顯示時采用了Framebuffer技術(shù)。首先預(yù)分配一塊緩沖區(qū)并聲明為二維數(shù)組,數(shù)組的一維長度和二維長度分別與液晶的寬和高相對應(yīng),這樣數(shù)組的每個元素都代表液晶中的一個點。在系統(tǒng)運行中若要刷新液晶顯示,則首先要更新Framebuffer緩沖區(qū),再從Framebuffer更新液晶顯示。MOBI2006列向基于點尋址;橫向基于頁尋址,每一頁由8個點組成?;谝壕У奶攸c,如果不采用Framebuffer技術(shù),刷新屏幕中的一小塊,則會導(dǎo)致整個屏幕的變動,給上層應(yīng)用的開發(fā)帶來很大困難。因此,雖說采用Framebuffer技術(shù)將占用一部分內(nèi)存和刷新時間,但會為后續(xù)的開發(fā)帶來很大方便:在上層具體應(yīng)用中不再受頁尋址的限制,在上層開發(fā)者看來列向、橫向均為點尋址,可以方便靈活地操縱液晶。另外,為了保證Framebuffer與液晶的同步,采用基于事件的方法刷新液晶屏并且是局部刷新,這樣既節(jié)省了液晶的刷新時間又減小了屏幕的抖動。
例如,應(yīng)用層要顯示一張圖片,只須給出圖片的顯示位置,即對應(yīng)于二維數(shù)組的行列值、圖片的寬和高,以及相應(yīng)的點陣數(shù)據(jù)。首先將圖片的點陣數(shù)據(jù)刷新到Framebuffer緩沖區(qū),然后再根據(jù)顯示位置確定液晶的刷新區(qū)域,其中緩沖的列值對應(yīng)于液晶的列值,而行值要轉(zhuǎn)換為液晶的頁面值,可通過如下公式轉(zhuǎn)換:
Page_start=row/8
Page_end=(row+high-1)/8
其中:Page_start和Page_end分別對應(yīng)于液晶的起始、終止頁面值;row對應(yīng)于圖片顯示位置的橫坐標(biāo);high對應(yīng)于圖片的高度。計算出相應(yīng)的頁面值之后便可通過如下過程刷新液晶的指定區(qū)域,完成預(yù)期圖片的顯示。
for(page=p_s;page<=p_e;page++)
{
fc=column;
for(lc=l_c_b;lc>l_c_e;lc--) //2
{
GUI_Lcd_SetALL((u8_t)page,(u8_t)lc);
for(f_bit=7;f_bit>=0;f_bit--)
{
if(!(Frame_Buffer[page*LCD_PAGE+f_bit][fc]))
GUI_Lcd_SendData(0);
else
GUI_Lcd_SendData(1);
}
Delay(10);
fc++;
}
}
2.5 數(shù)據(jù)存儲管理
在S3C2410 的BANK0中擴展了1片4M×16位的NOR FLASH;在BANK6中擴展了一片8M×16位的SDRAM,并且利用S3C2410的NAND FLASH控制器擴展了一片64M×8位的NAND FLASH。NOR FLASH主要用來存儲程序代碼;NAND FLASH主要用來存儲采集的心電數(shù)據(jù)以及部分程序代碼。S3C2410支持從NOR和NAND兩種方式啟動,可以通過配置S3C2410的OM[1:0]來選擇CPU的啟動方式。
系統(tǒng)可以實現(xiàn)全天24小時無間斷心電數(shù)據(jù)采集,這樣必將產(chǎn)生大量數(shù)據(jù)。為了將大量心電數(shù)據(jù)傳輸?shù)絇C機中供醫(yī)護人員分析、診斷,系統(tǒng)采用了通用的USB端口。S3C2410內(nèi)部集成了USB Device控制器,因此只須設(shè)計簡單的外圍電路,即可實現(xiàn)此功能。該USB Device控制器完全兼容USB1.1協(xié)議規(guī)范,集成了USB傳輸器,支持控制傳輸、中斷傳輸和批量傳輸;5個具有FIFO的端點,為批量傳輸?shù)亩它c提供DMA接口并且支持掛起和遠程喚醒功能。
3 結(jié)束語
本系統(tǒng)具有很強的實用性,可以對心臟病患者進行實時監(jiān)護。由于本系統(tǒng)具有無線傳輸功能,因而患者可以不受時間和空間的限制使用本系統(tǒng),無論在家中還是在野外都能對心臟進行實時監(jiān)護。系統(tǒng)的24小時無間斷心電圖記錄功能,足以捕捉突發(fā)性的異常心電數(shù)據(jù),為醫(yī)護人員提供有力的診斷依據(jù)。本系統(tǒng)研制成功后受到醫(yī)療界專家的高度評價,在臨床測試過程中也受到患者和醫(yī)護人員的一致好評。