摘? 要: 介紹一種具有短信息無線通訊功能的低功耗嵌入式多參數監護儀,基于ARM7核的32位低功耗微處理器作為系統控制核心, 采用源碼公開的嵌入式操作系統μC/OS-II, 通過低功耗的16位單片機MSP430完成數據采集,可實現心電、血氧、血壓、體溫信號的實時監測。系統采用西門子MC35i無線傳輸模塊,實現生理參數以SMS方式無線傳輸,具有輕便節能、安全穩定等優點。
關鍵詞: ARM7;MC35i;SMS;MSP430;μC/OS-II
?
隨著社會的進步和生活水平的提高,人們對健康的要求越來越高,醫院開始轉變醫療模式,從以治療為主轉向以預防為主,以醫院為中心轉向以家庭為中心。在這種形勢下,生理監護儀器成為解決疾病預防的重要手段。近年來,無線傳輸技術被引入醫療健康領域,以提供“無時、無處不在”的便攜式健康服務。目前,移動通信網絡已覆蓋至縣鄉級,大中城市的覆蓋率幾乎達到100%。因此,基于移動通信GSM(Global System for Mobile Communication)的短信服務SMS(Short Message Service)與醫療設備相結合具有較強的使用優勢,病人只要在GSM網覆蓋的地方都可以得到監護,醫療過程可以被更好地跟蹤,醫學儀器得以更有效地利用[1]。
本系統通過在人體部位設置相應探頭,對生理參數信號(血氧、心電、血壓、體溫)進行實時采集、放大后轉換成數字信號,通過DSP進行濾波,去除噪聲信號,得到所需要的信號,然后根據這些信號計算出血壓、血氧、心率和血液粘稠度等參數[2],并通過MCU對參數實時顯示。同時,將采集到的數據通過無線通信模塊以短信的形式發送到醫院等監護中心。
1 系統介紹
作為一個便攜式儀器,要求使用安全、體積小巧、連接可靠、操作簡單且性能穩定。因此系統信號采集模塊以MSP430為核心完成信號的AD轉換和串口發送;數據處理模塊以S3C44BOX為核心完成對數據的處理以及LCD驅動;無線通信模塊則是以西門子MC35i為核心實現數據以短信形式傳輸。無線通信與嵌入式監護儀的結合是當前監護儀設計的一種拓展,也是監護儀發展的一個方向,因此,本文將重點介紹無線通信模塊的設計。
系統硬件部分總體框圖如圖1所示。
?
?
1.1 信號采集模塊
信號采集模塊主要由前端的心電、血氧和體溫傳感器、模擬放大濾波電路、AD轉換和串口發送單元組成。系統采用雙極性標準導聯采集人體的心電信號,利用光電式容積脈波傳感器在人體的手指上采集血氧參數以及脈搏波;血壓采集采用傳統的無創血壓采集方法——袖帶式,通過壓力傳感器轉換成電信號;采用高精度數字溫度傳感器DS18b20采集人體的體溫信息。系統采用TI公司的超低功耗16位單片機MSP430F149作為信號處理模塊的核心,使用其內部豐富的資源完成采集信號的AD轉換和與下位機的通信;采用MSP430F149內置的串口接收數據處理系統的指令,采集相應的生理信號并將其傳送到數據處理系統中。
1.2 信號處理模塊
信號處理模塊的主要功能是設置系統的工作狀態,接收、執行用戶指令來確定采集的生理信號,并對信號采集模塊傳輸來的信號進行軟件濾波,根據濾波后的波形數據采用合適的算法計算得到所需要的生理參數。系統通過對心電信號的處理,可以檢測并計算出心率;通過對脈搏波信號的特征檢測計算出血氧飽和度和血液粘稠度參數,根據采集到的體溫信號計算得到人體的體溫值。信號處理模塊的核心是ARM芯片S3C44BOX,完成波形數據的處理和計算、驅動LCD等功能[3]。
1.3 無線通信模塊
系統的無線通信模塊采用西門子公司的MC35i。S3C44BOX通過RS232接口與MC35i模塊連接,實現無線通信模塊與MPU之間的通信,通過AT(AT-command)指令控制MC35i的操作。
2 無線通信模塊的硬件實現
MC35i模塊支持語音通信,有GPRS、USSR和CSD三種數據傳輸方式以及SMS和FAX功能;模塊具有體積小、重量輕、功耗低等特點。MC35i的工作電壓為3.3V~4.8V,典型電壓為4.2V,最大工作電流為2A;模塊可以工作在EGSM900和GSM 1800兩個頻段;工作于EGSM900時功耗為2W,工作于GSM 1800時功耗為1W,利用AT指令進行控制[4]。
2.1 MC35i模塊的SIM卡接口
MC35i模塊是機卡分離的移動終端設備,要登陸到移動網絡上,還必須通過其SIM卡接口擴展外部SIM卡插槽。MC35i模塊的SIM卡接口符合ISO 7816-3 IC卡標準,共有6個引腳,各個引腳的作用和定義如下:
(1)CCRST:SIM卡復位,由基帶處理器提供。
(2)CCCLK:SIM卡時鐘,基帶處理器可以設置不同的時鐘頻率。
(3)CCIO:串行數據線,輸入和輸出。
(4)CCIN:檢測SIM卡插槽中是否有卡輸入到基帶處理器;如果SIM卡在操作過程中把SIM卡拔出,SIM卡接口將立即關閉。這個功能是為了防止SIM卡損壞,但應該避免在工作時插入或者拔出SIM卡。
(5)CCVCC:SIM卡供電電源。
(6)CCGND:獨立的SIM卡地。
2.2 MC35i的串行接口
MC35i的數據接口是一個串行異步通訊收發器,可以方便地與主控制器相連接。數據接口定義為8個數據位。MC35i的串行接口引腳作用及數據方向定義如下:
· TXD0:數據發送,輸入;
· RDX0:數據接收,輸出;
????· RTS0:接收就緒,輸入;
????· CTS0:發送請求,輸出;
????· DTR0:數據發送就緒,輸入;
????· DSR0:數據準備好發送,輸出;
????· DCD0:載波檢測,輸出;
????· RING0:振鈴輸出,輸出。
2.3 MC35i模塊的電源接口
????MC35i模塊內部電源功能由ASIC電路處理,它采用線性電壓穩壓器穩定GSM基帶的供電電壓,控制模塊的上電和掉電過程,并通過VDD引腳為外部應用提供穩壓后的2.9V電源。同時,基帶處理器周期性地發送信號給ASIC作為看門狗信號,保持對MC35i模塊各部分供電。一旦看門狗脈沖沒有正常送到,模塊將自動關機。MC35i模塊與主控制器、SIM卡、電源的引腳接口如圖2所示。
?
3 系統軟件實現
本系統采用嵌入式實時多任務軟件設計方法,在RTOS平臺上進行嵌入式模塊化應用軟件開發,以便于后期的系統升級及新功能模塊的加入。系統選用μC/OS-II作為系統的嵌入式RTOS,將其移植到系統基于ARM內核的S3C44B0X硬件平臺,應用μC/OS-II 的內核多任務管理機制,更好地完成系統的軟件編寫。系統采用基于μC/OS-II 的軟件設計方法,可以根據系統中各任務的優先級,利用信號量、消息等完成對系統資源的分配和調度,提高系統的可靠性和實時性[5]。
????軟件系統結構如圖3所示。
?
????系統主程序流程如圖4所示。
?
4 無線通信模塊的軟件實現
4.1 硬件模塊的驅動
硬件模塊的驅動是整個系統總體軟件架構的最底層,在本系統中,串口主要用來與MC35i通信模塊進行數據通信。在嵌入式系統中,串口通常采用查詢方式與中斷方式進行工作。查詢方式實現起來比較方便,其工作原理是CPU不斷查詢UART的狀態寄存器的某一位。本系統采用的就是查詢的工作方式。串口的查詢工作方式的驅動實現代碼分別為:采用函數Uart_SendByte向串口發送一個字節的整型數;采用函數Uart_SendString向串口送出一串字符;采用函數Uart_GetByte從串口接收一個字節;采用函數Uart_GetString從串口接收一串字符。
4.2 應用層通信的實現
模塊MC35i可以實現SMS短消息通信和GPRS無線通信。SMS短消息服務收費低廉,可隨時隨地獲取信息,還可以實現全國及國際漫游。利用GSM短信系統進行無線通信還具有雙向數據傳輸功能,性能穩定,為遠程數據傳送和監控設備的通信提供了一個強大的支持平臺。
短信收發目前有兩種模式:基于AT指令的文本模式(Text Mode)和PDU模式(Protocol Description Unit)。文本模式和PDU模式實質上是指短信息數據的編碼格式,編碼得到的字符串表面上由“0~9”、“A~F”這些字符組成。PDU編碼得到的字符串不僅包含可顯示的短信息本身,還包含很多其他信息,如短信服務中心號碼、目標號碼、回復號碼、編碼方式和服務中心時間戳等。PDU模式可采用的編碼方式有三種:7-bit編碼、8-bit編碼和UCS-2編碼。7-bit編碼只能發送ASCII字符;8-bit編碼通常用于傳送數據信息;UCS-2編碼用于發送Unicode字符,例如中文。文本模式實際上也是由PDU模式顯現的位串編碼,與PDU模式的主要區別在于文本模式僅支持7-bit編碼,只能發送純英文和數字信息。本系統選用PDU模式下的8-bit編碼方式進行數據編碼。下面介紹SMS短消息方式通信的實現過程。
4.2.1 MC35i模塊的初始化
MC35i模塊在短消息方式下的初始化過程大致為以下幾個步驟:
(1)發送ATZ
(2)發送ATE0
(3)發送AT+CREG
????(4)發送AT+CSMS=1/0
????(5)發送AT+CMGF=0
????(6)發送AT+CSCA=+86138*******
4.2.2 SMS短信傳輸數據的格式
????要實現SMS短信傳送數據,需要將數據分割并封裝成適合SMS短信數據長度的數據包。每條SMS短信傳送的數據長度有限,例如7-bit編碼最多160B,8-bit編碼最多140B。文件的字節數一般都遠大于這個數值,所以需要首先將數據封裝成適合SMS短信傳送大小的數據包。在本系統中,SMS短信的編碼方式選用8-bit編碼,每條短信140B,數據包的格式定義如表1。
?
(1)數據包序號:作為每個數據包次序的標識,在數據還原時按照次序依次讀取數據序號,從1開始,最大9 999。
??? (2)數據包總數:數據分割為數據包的總數量,接收方驗證數據包的總數,判斷是否有數據包丟失。
??? (3)校驗和:采用異或檢驗。SMS短信通信質量較為可靠,所以采用這種既簡單又相當準確的數據檢驗方法。在發送方,讀取數據后,計算一次數據的校驗值。在接收方,接收到數據后,也計算一次校驗值,與接收到的校驗值比較。
??? (4)數據負載:有效數據,讀取的是任意格式數據的二進制值。順序依次讀取數據的二進制值,每次131B,直到讀至數據結束。
4.2.3 短消息的發送和接收
??? 在對MC35i模塊成功進行初始化后,模塊開始進入工作狀態。如果系統此時需要發送短消息,則通過主控制器發送AT+CMGS=“***********”
短消息的收發流程如圖5所示。
?
嵌入式通信是進行遠程控制和嵌入式系統信息交互的重要手段,利用GSM網絡是嵌入式無線通信設計的一種重要方法。GSM網絡具有網絡能力強的特點,用戶無需另外組網,節省了昂貴的建網費和維護費,同時它對用戶數量沒有限制,與傳統的集群系統相比在無線網絡覆蓋方面具有非常突出的優勢。而GSM的SMS本身具備數據傳送功能,使得利用GSM短信息系統與嵌入式相結合在許多領域得到靈活應用。
?
參考文獻
[1] 李享元,吳修鴻,馬麟,等.基于SMS的血壓遠程監護系統的研究.Chinese Journal of Medical Instrumentation,2003.
[2] 王暉.醫用多參數監護儀的基本原理及使用.中國醫療器械信息,2006,(4).
[3] 馬忠梅.ARM嵌入式處理器結構與應用基礎.北京:北京航空航天大學出版社,2002.
[4] Siemens Company.SIEMENS MC35 Multiplexer User′s Guide.2005.
[5] LABROSSE J J.嵌入式實時操作系統μC/OS-Ⅱ,邵貝貝譯.北京:北京航空航天大學出版社,2003.