1、引言
多功能監(jiān)護(hù)儀是一種常用的臨床醫(yī)療器械,他可以把病人的心電(ecg)、呼吸(resp)、血氧飽和度(spo2)、血壓(bp)等參數(shù)顯示出來(lái),通過(guò)24小時(shí)對(duì)病人各種生理參數(shù)的監(jiān)測(cè)及分析。
在某一生理機(jī)能參數(shù)超出規(guī)定數(shù)值時(shí)便發(fā)出警報(bào),提醒醫(yī)護(hù)人員及病人家屬進(jìn)行搶救的一種監(jiān)護(hù)系統(tǒng),是醫(yī)護(hù)人員診斷、治療及搶救的重要器械。
傳統(tǒng)的監(jiān)護(hù)儀一般通過(guò)串口與主監(jiān)護(hù)室相連,布線不方便而且僅局限于手術(shù)過(guò)程和icu病房的監(jiān)護(hù),限制了其使用價(jià)值,不能滿足所有臨床科室的使用。本文設(shè)計(jì)了一套無(wú)線通訊系統(tǒng),通過(guò)星型網(wǎng)絡(luò)和一個(gè)無(wú)線網(wǎng)關(guān)把一個(gè)房間內(nèi)的監(jiān)護(hù)儀的信號(hào)送入公司的局域網(wǎng),使監(jiān)護(hù)儀擺脫了電纜的限制,實(shí)現(xiàn)了醫(yī)療監(jiān)護(hù)系統(tǒng)的網(wǎng)絡(luò)化,同時(shí)通過(guò)內(nèi)置的電池,可以放在任何臨床病人需要的場(chǎng)合。
2、系統(tǒng)描述
本系統(tǒng)不需要改動(dòng)原監(jiān)護(hù)儀的任何軟件,zui大限度地保護(hù)原有的設(shè)計(jì)投入。本系統(tǒng)只是在監(jiān)護(hù)儀與醫(yī)院的局域網(wǎng)之間通過(guò)無(wú)線網(wǎng)絡(luò),建立起上行與下行的兩個(gè)虛擬通道,實(shí)現(xiàn)數(shù)據(jù)的透明傳輸。該系統(tǒng)的無(wú)線頻率選擇在2.4ghz的ism頻段,由1臺(tái)主機(jī)與6臺(tái)分機(jī)構(gòu)成。由于原來(lái)設(shè)計(jì)的串口通訊速度一般為19200b/s,在6臺(tái)分機(jī)同時(shí)需要傳輸數(shù)據(jù)的情況下,主機(jī)的速度會(huì)達(dá)到19200*6b/s,再加上協(xié)議的開(kāi)銷(xiāo),因此對(duì)主機(jī)的處理能力和無(wú)線傳輸?shù)乃俣忍岢隽撕芨叩囊?,同時(shí)還要處理與局域網(wǎng)連接的tcp/ip協(xié)議,一般的8位單片機(jī)達(dá)不到設(shè)計(jì)要求。本設(shè)計(jì)采用了st的str912fw44作為主機(jī)的控制器,而從機(jī)由于只負(fù)責(zé)數(shù)據(jù)的收發(fā),采用了相對(duì)簡(jiǎn)單的8位機(jī)atmega8作為控制器,無(wú)線芯片采用nrf的nrf24l01,2mb/s無(wú)線數(shù)據(jù)鏈路,可以確保系統(tǒng)對(duì)速度的要求。另外,nrf24l01集成了自動(dòng)發(fā)送和接收數(shù)據(jù)包、發(fā)送和應(yīng)答信號(hào)、檢測(cè)和重發(fā)丟失數(shù)據(jù)包、存儲(chǔ)沒(méi)有收到應(yīng)答信號(hào)的數(shù)據(jù)包等功能,所以可以自動(dòng)重發(fā)丟失的數(shù)據(jù)包,從而確保用戶終端的可靠性。詳細(xì)的系統(tǒng)框圖如圖1所示。
3、硬件設(shè)計(jì)
本系統(tǒng)中的主機(jī),采用了st公司的str912fw44。str912fw44是starm9單片工業(yè)級(jí)微控制器str91x系列之一,基于arm966e-s內(nèi)核,片內(nèi)自帶flash,usb,can,spi,以太網(wǎng)等外設(shè)。具有緊密耦合的512kb的flash存儲(chǔ)器,以及96kb的sram,由于本系統(tǒng)不涉及到復(fù)雜的應(yīng)用程序,所以不需要外擴(kuò)存儲(chǔ)器。str912fw44內(nèi)部已經(jīng)包括了以太網(wǎng)的mac和mii接口,在他與已太網(wǎng)相連時(shí),僅需要添加一個(gè)以太網(wǎng)的物理層芯片(phy)rtl8201bl。
str912fw44具有一個(gè)可以工作在主從模式下的spi接口,通過(guò)該接口與nrf24l011進(jìn)行數(shù)據(jù)交換,在本應(yīng)用中,spi工作于主模式下。射頻部分采用nrf的nrf24l01芯片,nrf24l01具有高達(dá)2mb/s的傳輸速度,縮短了數(shù)據(jù)在空中的延遲時(shí)間,對(duì)于多從模式下的數(shù)據(jù)傳輸,可以減少數(shù)據(jù)碰撞的機(jī)會(huì)。詳細(xì)的主機(jī)硬件框圖如圖2所示。
對(duì)于本設(shè)計(jì)的射頻部分,希望傳送盡可能遠(yuǎn)的距離,由于nrf24l01的輸出功率只有幾dbm,不符合要求,因此外加了siga的pa2423l做功率放大。采用-個(gè)射頻模擬開(kāi)關(guān)upg2214來(lái)切換nrf24l01的工作狀態(tài),即發(fā)射狀態(tài)或接收狀態(tài),使發(fā)射功率可以達(dá)到20dbm,在空曠地,傳輸距離可以超過(guò)500m。
對(duì)于從機(jī),采用了相對(duì)簡(jiǎn)單的設(shè)計(jì)??刂破鳛閍tmel公司的avr系列中的一款:atmega8,射頻部分與主機(jī)相同,同樣通過(guò)spi接口與atmega8交換數(shù)據(jù)。一方面,atmega8接收從uart傳過(guò)來(lái)的數(shù)據(jù),打包后通過(guò)射頻部分發(fā)射出去,同時(shí),通過(guò)spi接口接收從nrf24l01傳來(lái)的數(shù)據(jù),去除協(xié)議部分,然后交給uart。
由于本系統(tǒng)中包括混合的電路系統(tǒng),對(duì)pcb的設(shè)計(jì)提出了很高的要求,本設(shè)計(jì)使用普通的fr4板材,要注意以下幾點(diǎn):
(1)將pcb分成獨(dú)立的模擬部分和數(shù)字部分。
(2)合適的零件布局,注意電源的濾波。
(3)布線的時(shí)候盡量減少環(huán)路的面積,以降低感應(yīng)噪聲。
(4)電源線與地線要盡量粗,除了可以減小壓降外,更重要的是可以降低耦合噪聲。
4、軟件設(shè)計(jì)
本設(shè)計(jì)對(duì)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性具有很高的要求,必須仔細(xì)計(jì)算與調(diào)整協(xié)議的時(shí)間開(kāi)銷(xiāo)和數(shù)據(jù)包的大小。鑒于nrf24l01內(nèi)部已經(jīng)具有了簡(jiǎn)單的數(shù)據(jù)鏈路層和32bfifo,并且包括crc校驗(yàn)和出錯(cuò)重傳機(jī)制,故可以在此基礎(chǔ)上設(shè)計(jì)數(shù)據(jù)鏈路層。
本系統(tǒng)設(shè)計(jì)為1臺(tái)主機(jī),6臺(tái)從機(jī),采用簡(jiǎn)單的輪詢機(jī)制。首先主機(jī)根據(jù)不同的從機(jī)地址,向其中的一臺(tái)從機(jī)發(fā)出數(shù)據(jù)請(qǐng)求,在一段確定的時(shí)間之內(nèi),如果沒(méi)有得到回傳的數(shù)據(jù),就可以判斷為超時(shí)。如果得到的數(shù)據(jù)有錯(cuò)誤,nrf24l01會(huì)自動(dòng)啟動(dòng)錯(cuò)誤重傳機(jī)制。由于經(jīng)過(guò)了crc校驗(yàn),可以確認(rèn)上層得到的數(shù)據(jù)就是正確的數(shù)據(jù)。在數(shù)據(jù)鏈路層,由于上行(數(shù)據(jù)由從機(jī)到主機(jī))和下行(數(shù)據(jù)由主機(jī)到從機(jī))的數(shù)據(jù)量不同,上行的數(shù)據(jù)量較大,是主要的數(shù)據(jù)通道,下行的數(shù)據(jù)量很小,只有一些控制信號(hào),所以上行的數(shù)據(jù)包采用32b/包,而下行的數(shù)據(jù)包采用8b/包。按照從機(jī)的uart接收的數(shù)據(jù)速率為19200b/s,每秒的數(shù)據(jù)量約為19200/8b,即2400b/s。按照32b/包計(jì)算,每秒需要傳輸2400/32包,即75包。從機(jī)使用的控制器只負(fù)責(zé)存儲(chǔ)與轉(zhuǎn)發(fā),atmega8具有1000b的sram,可以開(kāi)辟出320b,即10個(gè)數(shù)據(jù)包的上行緩沖區(qū),在每個(gè)輪詢周期,每臺(tái)從機(jī)傳送320b的數(shù)據(jù)。所以把輪詢廚期設(shè)為10ms,在每個(gè)輪詢周期內(nèi),主機(jī)分別與6臺(tái)從機(jī)交換一次數(shù)據(jù),每秒可以有大于10個(gè)輪詢周期,射頻部分收發(fā)狀態(tài)的切換時(shí)間,只有幾個(gè)μs,可以忽略??鄢齭pi通訊中協(xié)議的開(kāi)銷(xiāo),每秒上行通道可以傳送大于3200b的數(shù)據(jù),這個(gè)速度超過(guò)從機(jī)從uart接收數(shù)據(jù)的速度,可以保證不丟數(shù)據(jù)。至于下行數(shù)據(jù)鏈路,由于數(shù)據(jù)量很小,可以忽略不計(jì)。
5、本設(shè)計(jì)的亮點(diǎn)
為什么不用藍(lán)牙:藍(lán)牙具有完善的協(xié)議層,可以保證不同手持設(shè)備之間數(shù)據(jù)的自由交換,但藍(lán)牙為了確?;Q性而形成的協(xié)議包結(jié)構(gòu)相當(dāng)復(fù)雜,這不僅導(dǎo)致了其硬件的復(fù)雜性,也大幅度增加了處理量和同步處理需求,導(dǎo)致電池消耗迅速增加。
為什么不用wifi:不可否認(rèn)wifi具有更好的通用性、更快的數(shù)據(jù)速率,但同樣對(duì)接口的硬件具有相當(dāng)高的性能要求,無(wú)法與普通的單片機(jī)相連。如果采用更高性能的處理器,會(huì)增加硬件的復(fù)雜度和軟件的成本,同時(shí)wifi的高功耗也不適合使用電池供電的多功能監(jiān)護(hù)儀。
為什么不使用zigbee:zigbee也是一種近距離低速率數(shù)據(jù)交換的可選設(shè)計(jì),但zigbee的傳輸速率只有250k/s,不能滿足本系統(tǒng)的需求。zigbee協(xié)議復(fù)雜、開(kāi)發(fā)難度大、周期長(zhǎng),這進(jìn)一步限制了中小廠商的使用。
6、結(jié)語(yǔ)
本嵌入式系統(tǒng)的設(shè)計(jì)應(yīng)該以系統(tǒng)本身的需求為中心,而不能把一個(gè)系統(tǒng)的設(shè)計(jì)生搬硬套到另外,一個(gè)系統(tǒng)上。另外一個(gè)的嵌入式系統(tǒng)還要兼顧硬件、軟件、功耗、應(yīng)用環(huán)境等各種因素。