《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > C8051F021在遠(yuǎn)程診斷與急救支援系統(tǒng)中的應(yīng)用

C8051F021在遠(yuǎn)程診斷與急救支援系統(tǒng)中的應(yīng)用

2008-08-25
作者:王 芳 陳亞光

??? 摘?要:? 介紹了一種基于C8051F021單片機(jī)的多生理參數(shù)" title="生理參數(shù)">生理參數(shù)采集裝置。該裝置作為遠(yuǎn)程診斷與急救支援系統(tǒng)的一部分,能動態(tài)地獲取患者的生理參數(shù),并通過無線方式傳送給遠(yuǎn)端的會診中心,使現(xiàn)場的醫(yī)護(hù)人員能夠及時得到遠(yuǎn)程會診中心的專家指導(dǎo),為遠(yuǎn)程醫(yī)療提供基本的醫(yī)學(xué)信息。
??? 關(guān)鍵詞:? C8051F021?? UART?? A/D轉(zhuǎn)換?? 無線傳輸

?

??? 隨著多媒體技術(shù)、計算機(jī)網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,遠(yuǎn)程醫(yī)療成為目前國際上發(fā)展十分迅速的跨學(xué)科高新科技。遠(yuǎn)程診斷與急救支援系統(tǒng)是遠(yuǎn)程醫(yī)療的一個重要分支,依靠這個系統(tǒng),可以將急救現(xiàn)場患者的各種生命信息傳送給遠(yuǎn)端的醫(yī)生,及時得到醫(yī)療指導(dǎo)或診治。這對患者獲得高水平的醫(yī)療服務(wù)及緊急情況時的急救支援,具有重要意義[1]。
??? 系統(tǒng)中患者生理參數(shù)的獲取和傳輸是一個重要組成部分,為此,筆者設(shè)計了以美國CYGNAL公司的SOC芯片C8051F021為中央控制單元的多生理參數(shù)的采集與無線傳輸" title="無線傳輸">無線傳輸裝置。該裝置由生理參數(shù)采集部分和實時無線數(shù)字傳輸?shù)娜藱C(jī)接口組成。這兩部分做成一個小巧的裝置,病人可以方便地攜帶在身上,連續(xù)動態(tài)地監(jiān)測病人的體溫、血壓、血氧" title="血氧">血氧、脈搏、心電" title="心電">心電等生理參數(shù),并將這些參數(shù)以無線方式發(fā)送到與網(wǎng)絡(luò)相連的計算機(jī)上,經(jīng)處理后傳送到遠(yuǎn)端的會診中心。利用該遠(yuǎn)程診斷與急救支援系統(tǒng),會診中心的專家可以了解病人的狀況,及時指導(dǎo)現(xiàn)場的救護(hù)人員對患者實施恰當(dāng)?shù)木茸o(hù)措施。
1 硬件設(shè)計
??? 基于C8051F021的多生理參數(shù)采集裝置包括心電模塊、血壓模塊、血氧模塊、體溫模塊和無線數(shù)據(jù)傳輸模塊五部分,各部分的協(xié)調(diào)工作和數(shù)據(jù)的無線傳輸由主微控制器" title="微控制器">微控制器C8051F021管理。主微控制器是該系統(tǒng)的核心,完成體溫和心電參數(shù)的檢測,負(fù)責(zé)控制其它模塊并與之進(jìn)行數(shù)據(jù)交換,同時還控制生理參數(shù)的無線傳輸。因此,對其運(yùn)行速度和接口功能都有較高的要求。
??? C8051F021以其速度快、性能高等特點(diǎn),能確保心電信號檢測與處理的實時性要求。另外,其豐富的端口資源能滿足各模塊結(jié)構(gòu)設(shè)計中所需的多種串行通信接口的需要。其中體溫模塊通過單線接口與微控制器雙向通信;血壓模塊通過高速串行通信方式將采集的參數(shù)傳送給C8051F021;血氧模塊則通過UART將檢測的參數(shù)結(jié)果傳送給微控制器;無線傳輸模塊也是通過微控制器的串口傳送數(shù)據(jù)。C8051F021內(nèi)部自帶的A/D轉(zhuǎn)換、D/A轉(zhuǎn)換和串行口為系統(tǒng)設(shè)計省去了很多外圍電路,大大減小了體積。其框架圖如圖1所示。

?


1.1 C8051F021簡介
??? C8051F021是美國CYGNAL公司推出的混合信號系統(tǒng)芯片,是高度集成的片上系統(tǒng)。它嵌入了一款高速、低功耗、高性能的8位微處理器,最突出的特點(diǎn)是高速指令處理能力[2、3]。C8051F021采用CIP-51微控制器內(nèi)核,與MCS-51指令完全兼容。CIP-51采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比,指令執(zhí)行速度有很大的提高。CIP-51在最大系統(tǒng)時鐘頻率25MHz工作時,其峰值速度可達(dá)25MIPS。
??? C8051F021除了具有標(biāo)準(zhǔn)8051的數(shù)字外設(shè)部件之外,內(nèi)部還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設(shè)及功能部件。片內(nèi)集成了多通道12位和8位A/D轉(zhuǎn)換器以及一個雙12位D/A轉(zhuǎn)換器,兩個增強(qiáng)型UART串口,便于模擬量和數(shù)字量的采集、控制和通信傳輸。該單片機(jī)還集成有4KB內(nèi)部數(shù)據(jù)RAM和64KB Flash以及外部64KB數(shù)據(jù)存儲器接口(可編程為復(fù)用方式和非復(fù)用方式)、總線接口、電壓比較器、溫度傳感器等部件,比常規(guī)51單片機(jī)有更多的定時計數(shù)器、中斷、數(shù)字I/O接口。片內(nèi)還配置了標(biāo)準(zhǔn)的JTAG接口(IEEE1149.1)。在上位機(jī)軟件的支持下,通過串行的JTAG接口可直接對安裝在最終應(yīng)用系統(tǒng)上的單片機(jī)進(jìn)行非侵入式、不占用片內(nèi)資源、全速在線系統(tǒng)的調(diào)試,無需另配編程器及仿真器,是目前功能最強(qiáng)大、性能價格比最好的單片機(jī)之一[4]。
1.2 各模塊與微控制器通信的實現(xiàn)
1.2.1 測溫部分

??? 采用DS18B20溫度傳感器構(gòu)成測溫系統(tǒng)。DS18B20是美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,它可把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供微控制器處理。DS18B20數(shù)字溫度計能提供9位溫度讀數(shù),通過單線接口與C8051F021的I/O口P1.0進(jìn)行雙向通信。讀寫及溫度變換的功率來自于數(shù)據(jù)線而不需額外的電源。
1.2.2 心電部分
??? 心電信號經(jīng)過前置放大和第二級放大后送入C8051F021自帶的A/D轉(zhuǎn)換器進(jìn)行采樣。
??? C8051F021片內(nèi)集成了兩個多通道ADC子系統(tǒng)(每個子系統(tǒng)包括一個可編程增益放大器和一個模擬多路選擇器)。選用ADC0將心電信號進(jìn)行A/D轉(zhuǎn)換。ADC0子系統(tǒng)包括:一個9通道的可配置模擬多路開關(guān)(AMUX0)、一個可編程增益放大器(PGA0)和一個100ksps的12位分辨率的逐次逼進(jìn)寄存器型ADC,ADC中還集成了跟蹤保持電路和可編程窗口檢測器。所有這些特性完全由CIP-51通過特殊功能寄存器控制。心電信號采樣的設(shè)置如下:(1)置AMUX0配置寄器AMX0CF=0x00;使AIN0~AIN7為獨(dú)立的單端輸入。(2)置AMUX0通道選擇寄存器AMX0SL=0x00;選擇AIN0為ADC0的模擬輸入,即采集的心電信號從AIN0模擬通道輸入C8051F021。(3)置ADC0配置寄存器ADC0CF=0x48;使ACD0采樣/保持放大器獲取輸入的模擬信號的周期數(shù)為1/10個系統(tǒng)時鐘,內(nèi)部放大器增益為1。(4)置ADC0控制寄存器ADC0CN.0=0;使ADC0H和ADC0L寄存器數(shù)據(jù)右對齊;ADC0CN.7=1;ADC處于活動狀態(tài),并準(zhǔn)備轉(zhuǎn)換數(shù)據(jù)。(5)置EIE2.1=1;ADC0轉(zhuǎn)換中斷允許。
??? 完成ADC0相應(yīng)的寄存器設(shè)置后,采用定時器3設(shè)置心電采樣時間間隔,心電的采樣頻率設(shè)為360Hz。當(dāng)定時器3溢出中斷時,啟動ADC0開始轉(zhuǎn)換。通過ADC0控制寄存器ADC0CN.5,判斷轉(zhuǎn)換是否結(jié)束。轉(zhuǎn)換結(jié)束后,采樣結(jié)果自動存放在ADC0H的低4位和ADC0L中。讀取這12位心電數(shù)據(jù)并通過自適應(yīng)算法抑制心電信號中的基線漂移,獲得穩(wěn)定的心電信號。
1.2.3? 血壓模塊
??? 血壓模塊與微控制器之間采用高速串行的通信方式,血壓模塊的工作狀態(tài)、測量結(jié)果通過兩個功能引腳輸出,供微控制器處理。這兩個功能引腳連接到C8051F021的兩個I/O口,其中輸出的串行時鐘線連到I/O口P1.2,輸出的串行數(shù)據(jù)線連到I/O口P1.3。若在一個時鐘周期內(nèi)數(shù)據(jù)線上出現(xiàn)一個電壓由高到低的跳變,則開始接收數(shù)據(jù)。
??? 輸出的數(shù)據(jù)格式如圖2所示。開始處的電壓跳變?nèi)鐖D3所示。開始表示在此后的16個時鐘信號內(nèi)將傳送16位的數(shù)據(jù),其高4位的數(shù)據(jù)表示數(shù)據(jù)類型,不同的編碼表示不同的數(shù)據(jù),如舒張壓、收縮壓和心率分別有各自的代碼,如表1所示;而低12位數(shù)據(jù)則表示具體的數(shù)值,對應(yīng)前面的數(shù)據(jù)類型可以得到收縮壓、舒張壓和心率的數(shù)據(jù)。

?

?

?


1.2.4? 血氧模塊
??? 血氧模塊通過RS232串行接口傳輸測量結(jié)果,本系統(tǒng)選用C8051F021的UART1與血氧模塊進(jìn)行數(shù)據(jù)交換,而將UART0分配給無線收發(fā)模塊。
??? 首先,主微控制器C8051F021通過設(shè)置優(yōu)先交叉開關(guān)譯碼器XBR0、XBR1和XBR2的值完成數(shù)字資源的動態(tài)分配。優(yōu)先權(quán)交叉開關(guān)譯碼器可以按優(yōu)先權(quán)順序?qū)0~P3口的引腳分配給器件上的數(shù)字外設(shè)(UART、SMBus、PCA、定時器等)。
??? 其次,要實現(xiàn)C8051F021與血氧模塊的通信,需完成以下寄存器的配置:(1)初始化交叉開關(guān)配置寄存器XBR2,初始值為0x44;分別使能交叉開關(guān)和UART1;(2)初始化端口0輸出方式寄存器P0MDOUT,初始值為0x05;將P0.2和P0.3分別分配給TX1和RX1;(3)完成 UART1工作模式和波特率的設(shè)置。
??? 血氧模塊的串口工作在模式1、波特率為9600bps,采用定時器2完成UART1對應(yīng)波特率的設(shè)置。
1.2.5? 生理參數(shù)的傳輸
??? 為了方便患者攜帶和醫(yī)生使用,選用無線收發(fā)芯片nRF401完成生理參數(shù)的無線傳輸。單片收發(fā)芯片nRF401片內(nèi)集成了高頻發(fā)射、高頻接收、PLL合成、FSK調(diào)制、FSK解調(diào)以及多頻道切換等功能模塊。它工作在ISM國際公用頻段,最大能以20kbps的速度進(jìn)行無線數(shù)據(jù)傳輸[5]。微控制器只需對nRF401進(jìn)行簡單的控制就可以通過串口完成數(shù)據(jù)的收發(fā),nRF401與C8051F021構(gòu)成的無線通信系統(tǒng)如圖4所示。

?


??? C8051F021的UART0的設(shè)置與UART1的設(shè)置相似,首先初始化交叉開關(guān)寄存器XBR0=0x04、XBR2=0x40;分別使能UART0和交叉開關(guān);再初始化特殊功能寄存器P0MDOUT=0x01; 將P0.0和P0.1分別分配給TX1和RX1;因為UART0有最高優(yōu)先權(quán),當(dāng)UART0EN設(shè)置為1時,P0.0和P0.1總是分配給TX1和RX1;最后完成UART0工作模式和波特率的設(shè)置。
??? 為了將采集到的生理參數(shù)發(fā)送給接收系統(tǒng),在發(fā)送數(shù)據(jù)之前,芯片首先上電工作(即PWR_UP=1),然后選擇數(shù)據(jù)傳輸通道。nRF401有兩個傳輸通道可供選擇:通道1(433.92MHz)和通道2(434.33MHz)。將TXEN引腳置為高電平(發(fā)送模式),nRF401就能通過微控制器的串口發(fā)送數(shù)據(jù)。
2 系統(tǒng)軟件的設(shè)計
??? 系統(tǒng)軟件主要完成以C8051F021為核心的生理參數(shù)的采集和無線發(fā)送。由于要處理多個不同的模塊,在實現(xiàn)過程中采用了巡回檢測的方法。在數(shù)據(jù)傳送過程中,設(shè)置了一個生理信息包協(xié)議,在采集系統(tǒng)和無線發(fā)送模塊之間,定義通信協(xié)議包如表2所示。串口對連續(xù)接收的2個字節(jié)的數(shù)據(jù)依據(jù)協(xié)議規(guī)則重新裝配。由于生理數(shù)據(jù)(心電、血壓、體溫等)一般不超過12位,采集系統(tǒng)將它們分別拆為低7位和高5位進(jìn)行傳輸。其中,高位的第一位為高位數(shù)據(jù)標(biāo)識,設(shè)為0;低8位的第一位為低位數(shù)據(jù)標(biāo)識,設(shè)為1。

?


??? 為了識別不同的生理參數(shù),對不同生理信號設(shè)置不同的信號標(biāo)識進(jìn)行相應(yīng)的幀編碼。對心電數(shù)據(jù)采用高8位的B6B5識別,其它的各類數(shù)據(jù)采用高8位的B6B5B4B3識別,各參數(shù)的具體識別方式如表3所示。編碼后的數(shù)據(jù)經(jīng)微控制器的UART0與nRF401實現(xiàn)無線發(fā)送。微控制器的UART0設(shè)置為工作模式1,波特率為9600bps。

?


??? 系統(tǒng)軟件采用模塊化編程方法,根據(jù)功能將該系統(tǒng)程序分為六個基本模塊:系統(tǒng)初始化模塊(包括C8051F021微控制器I/O口設(shè)置、寄存器及變量的定義)、體溫模塊、心電模塊、血壓模塊、血氧模塊和無線傳輸模塊。系統(tǒng)軟件的流程如圖5所示。

?


參考文獻(xiàn)
1 Phoebe S. The use of High Technology for HHC: issues and implications[J]. Medical Instrumentation, 1996;22(5): 222
2 李 剛,林 凌. 與8051兼容得高性能、高速單片機(jī)——C8051FXXX[M]. 北京:北京航空航天大學(xué)出版社,2002
3 潘琢金,施國君. C8051FXXX高速SOC單片機(jī)原理及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2002
4 C8051F02X Family Datasheet Revision 1.0 (9,2001) CYGNAL Integrated Products,Inc.2001
5 卜佑新,李建新,邵高平. 基于RF芯片nRF401的無線數(shù)傳模塊設(shè)計[J]. 世界電子元器件,2003;(4):62~63

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。