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