




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯基于ARM的嵌入式多參數(shù)監(jiān)護(hù)儀設(shè)計(jì)與實(shí)現(xiàn)-設(shè)計(jì)應(yīng)用1引言
多參數(shù)監(jiān)護(hù)儀廣泛應(yīng)用于ICU、CCU、病房、手術(shù)室等。目前我國也有自主知識(shí)產(chǎn)權(quán)的產(chǎn)品,如邁瑞、金科威、金腦人等,但與GE、飛利浦世界先進(jìn)產(chǎn)品比較,在監(jiān)測和計(jì)算、可靠性、實(shí)時(shí)性、穩(wěn)定性、信號(hào)變異的處理分析、遠(yuǎn)程傳輸?shù)确矫娑驾^落后[1]。嵌入式系統(tǒng)把計(jì)算機(jī)直接嵌入到應(yīng)用系統(tǒng)之中,它融合了通信技術(shù)和半導(dǎo)體微電子技術(shù),是信息技術(shù)IT的終產(chǎn)品[2]。因此將嵌入式系統(tǒng),網(wǎng)絡(luò)等技術(shù)應(yīng)用于醫(yī)用監(jiān)護(hù)儀領(lǐng)域,能使多參數(shù)監(jiān)護(hù)儀順應(yīng)現(xiàn)代醫(yī)用監(jiān)護(hù)儀市場縮小體積,提高數(shù)據(jù)處理能力,遠(yuǎn)程醫(yī)療等方面的要求。
本文介紹一種基于ARM的實(shí)時(shí)監(jiān)護(hù)系統(tǒng),它將32位RISC結(jié)構(gòu)的ARM內(nèi)核處理器與實(shí)時(shí)多任務(wù)嵌入式系統(tǒng)相結(jié)合,并通過嵌入式TCP/IP協(xié)議棧為平臺(tái)添加網(wǎng)絡(luò)傳輸功能,構(gòu)建一個(gè)新型的多參數(shù)監(jiān)護(hù)儀系統(tǒng)。
2系統(tǒng)硬件設(shè)計(jì)
醫(yī)用監(jiān)護(hù)儀具有以下幾個(gè)方面功能:測量功能、分析功能、報(bào)警功能、打印功能、網(wǎng)絡(luò)通信功能等。六參數(shù)模塊通過導(dǎo)聯(lián)端、光手指、袖帶獲得人體的心電、無創(chuàng)血壓、血氧、脈率、呼吸、體溫六參數(shù)信號(hào),通過串口通信方式與以ARM7為內(nèi)核的嵌入式處理器相連,數(shù)據(jù)從串口送到ARM7中央處理器,通過多任務(wù)調(diào)度,進(jìn)行實(shí)時(shí)數(shù)據(jù)處理,并在LCD上實(shí)時(shí)顯示各種信號(hào)的圖形和數(shù)值,還可以由外部鍵盤控制,進(jìn)行存儲(chǔ)和網(wǎng)絡(luò)發(fā)送,并對(duì)各種檢測信號(hào)設(shè)置報(bào)警線,對(duì)超出報(bào)警范圍的檢測情況進(jìn)行報(bào)警。硬件結(jié)構(gòu)圖1所示。
圖1多參數(shù)監(jiān)護(hù)儀硬件結(jié)構(gòu)圖
3開發(fā)系統(tǒng)軟件設(shè)計(jì)
3.1軟件開發(fā)總體介紹
利用PC機(jī)運(yùn)行的HitoolforARM開發(fā)環(huán)境下調(diào)試程序:首先運(yùn)行系統(tǒng)、Memory及I/O端口的初始化程序,隨后進(jìn)入主程序,采用外部中斷方式,判斷是否有鍵輸入,若有則調(diào)用鍵盤控制子程序進(jìn)行識(shí)別所按下的鍵,根據(jù)鍵盤的控制執(zhí)行相應(yīng)的任務(wù);若無就調(diào)用串口讀入程序,采集心電、血氧、血壓等數(shù)據(jù),并判別所采集數(shù)據(jù)的類型,存入不同地址的SDRAM中,并依次分類進(jìn)行處理,處理完畢,判斷是否超越各自的報(bào)警限,若是則調(diào)用報(bào)警程序和顯示程序,若否則直接調(diào)用顯示程序;這樣,各種數(shù)據(jù)就實(shí)時(shí)地采集進(jìn)來,并在LCD上顯示測試數(shù)值和心電、呼吸波形。其中測試數(shù)值按每分鐘存儲(chǔ),心電、呼吸波形按鍵存儲(chǔ),按翻頁鍵可以調(diào)出相應(yīng)的存儲(chǔ)波形并進(jìn)行顯示;根據(jù)打印和網(wǎng)絡(luò)命令進(jìn)行打印和網(wǎng)絡(luò)命令處理等。程序主要用C語言編寫。
3.2串口的處理
硬件接口采用標(biāo)準(zhǔn)RS-232C異步串行接口,選用發(fā)送(TXD)、接收(RXD)和地線的三線方式,其它的握手信號(hào)直接懸空。要實(shí)現(xiàn)六參數(shù)模塊與S3C44BO之間的串口通信,必須使兩者采用相同的數(shù)據(jù)傳輸方式,它們通信的數(shù)據(jù)格式如下;波特率為9600bps,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位。
另外,在I/O端口初始化程序中,定義Uart_Init函數(shù),對(duì)串行口各寄存器進(jìn)行初始化,配置參數(shù)時(shí)鐘和波特率等。在設(shè)計(jì)中主要進(jìn)行以下串行口寄存器設(shè)置:
UART線性控制寄存器ULCON1=0x3;
UART控制寄存器UCON1=0x245;
UART先進(jìn)先出控制寄存器UFCON1=0x1;
UART波特率寄存器UBRDTV,根據(jù)公式計(jì)算出。
在串口讀入程序中,采用了中斷方式,來實(shí)現(xiàn)雙向數(shù)據(jù)傳輸,達(dá)到實(shí)時(shí)控制的目的。串口程序數(shù)據(jù)接收過程為:調(diào)用Uart_Getch()函數(shù)讀入N個(gè)字符,以數(shù)組的方式放置在SDRAM中,然后進(jìn)行數(shù)據(jù)處理。在lib.C程序中部分源代碼如下:
charUart_Getch()
{…
while(!(rUTRSTAT10x1));//Receivedataready
returnrURXH1;
…}
3.3LCD顯示
當(dāng)有新數(shù)據(jù)需要顯示時(shí),LCD顯示模塊將新的采樣數(shù)據(jù)寫入LCD顯示存儲(chǔ)器中,S3C44BO芯片所支持的LCD控制器在不需要CPU介入的情況下,通過專用DMA自動(dòng)地將需要顯示的數(shù)據(jù)從顯示存儲(chǔ)器傳送到LCD顯示器中。LCD顯示器不斷地接收數(shù)據(jù),就在LCD上顯示監(jiān)測內(nèi)容。
3.3.1LCD初始化
定義Lcd_MonoInit()函數(shù),在LCD的三個(gè)控制寄存器中,設(shè)置LCD掃描寬度等與硬件時(shí)序有關(guān)的量:如:使用160×240的黑白單色顯示屏,4-bit單掃描等。在LCD的三個(gè)緩沖初始地址寄存器中,主要配置了幀緩沖寄存器BUFFER的起始地址等。
以上各寄存器基本的配置的源程序如下:
voidLcd_MonoInit(void)//初始化LCD屏幕
{//160×2401bit/1pixelLCD
#defineMVAL_USED0
rLCDCON1=(0)(15)(MVAL_USED7)(0x3
8)(0x310)(CLKVAL_MONO12);
//disable,4B_SNGL_SCAN,WDLY=8clk,WLH=8clk
rLCDCON2=(LINEVAL)(HOZVAL10)(1021);
//LINEBLANK=10(withoutanycalculation)
rLCDSADDR1=(0x027)(((U32)frameBuffer122)
21)M5D((U32)frameBuffer11);
//monochrome,LCDBANK,LCDBASEU
rLCDSADDR2=M5D((((U32)frameBuffer1+(SCR_XSIZE*LCD_
YSIZE/8))1))(MVAL21)(129);
rLCDSADDR3=(LCD_XSIZE/16)((SCR_XSIZE-LCD_XSIZE)/
16)9);
}
3.3.2打開LCD
1)在內(nèi)核中開辟內(nèi)存空間用于顯示內(nèi)存
可在顯示模塊中加入:#defineframeBuffer10xC400000
2)定義幀緩沖器長度,并對(duì)其賦初值設(shè)置一個(gè)行列與LCD
高寬相對(duì)應(yīng)的數(shù)組pbuffer,pbuffer用于存放發(fā)送至顯示屏的每幀像點(diǎn)數(shù)據(jù),像點(diǎn)數(shù)據(jù)的多少取決于顯示屏的大小;pbuffer="BitsPerPixe"*lLines*/8=160*240/8=4800(字節(jié))。
由于pbuffer被定義為U32,即32位(八個(gè)四位)指針,每一個(gè)元素對(duì)應(yīng)LCD顯示屏上的一個(gè)像素點(diǎn),顯示方式采用4-bit單掃描,所以應(yīng)當(dāng)循環(huán)4800(字節(jié))/4=1200次,實(shí)際上對(duì)應(yīng)的單元數(shù)為整個(gè)160×240的屏幕范圍。
for(i="0",i1200;i++)
#(pBuffer[i])=0x0;
3)數(shù)據(jù)處理
LCD的數(shù)據(jù)處理主要對(duì)要顯示的數(shù)據(jù)進(jìn)行處理(4bit到32bit的轉(zhuǎn)換)。
temp_data=(Buf[i*4+3]24)+(Buf[i*4+2]16)+(Buf[*i4+1]8)+(Buf[*i4]);
3.3.3清屏
清屏對(duì)顯存的每個(gè)單元置零,使屏幕顯示清除。以下為清屏的部分源程序:
Voidclrscreen(void)
{int;i
unsignedint*pbuffer;
pbuffer=(U32*)frameBuffer1;
for(i="0";i1200;i++)
{
pbuffer[i]=0;
}
}
3.3.4編制LCD顯示函數(shù)并向LCD設(shè)備寫入數(shù)據(jù)
定義displayLcd()函數(shù)為LCD顯示函數(shù),用于往顯存中寫數(shù)據(jù),經(jīng)過pbuffer送至LCD顯示器,并讓它循環(huán)顯示在LCD顯示屏上。要在LCD上顯示ASCII字符,首先把每個(gè)字符轉(zhuǎn)成一個(gè)16*16bit的數(shù)組,組成字庫(本次實(shí)現(xiàn)中使用),然后,選擇要顯示的字符,從字庫中提取字符,經(jīng)函數(shù)調(diào)用后,將要顯示的字符送至LCD顯示器,這樣,就在LCD上顯示出ASCII字符。
部分源程序如下:
voiddisplayLCD(void)//LCD顯示函數(shù)
{
unsignedint*pbuffer,temp_data;
int;i
pbuffer=(U32*)frameBuffer1;
for(i="0";i1200;i++)
{
temp_data=(Buf[i*4+3]24)+(Buf[i*4+2]
16)+(Buf[*i4+1]8)+(Buf[*i4];
//進(jìn)行4bit到32bit的數(shù)據(jù)轉(zhuǎn)換處理
pbuffer[i]=~temp_data;
Delay(10);
}
}
在添加所用的頭文件的同時(shí),增加對(duì)LCD_Init()函數(shù)、dis-playLCD()等函數(shù)的調(diào)用。
4網(wǎng)絡(luò)命令處理
在硬件設(shè)計(jì)上采用以太網(wǎng)口,軟件上通過實(shí)現(xiàn)瘦TCP/IP網(wǎng)絡(luò)通信協(xié)議,針對(duì)嵌入式系統(tǒng)特點(diǎn)對(duì)傳統(tǒng)的TCP/IP協(xié)議棧進(jìn)行裁減[4],讓嵌入式多參數(shù)監(jiān)護(hù)儀支持輕量級(jí)TCP/IP協(xié)議棧而直接連入Internet。在設(shè)計(jì)將無實(shí)時(shí)要求和費(fèi)時(shí)的TCP/IP協(xié)議簇的處理放在主程序順序循環(huán)中。網(wǎng)絡(luò)程序結(jié)構(gòu)采取順序執(zhí)行和硬件中斷相配合的方式,這種硬件中斷是外部時(shí)鐘中斷,中斷級(jí)別要比非向量模式的FIQ中斷級(jí)別低,在系統(tǒng)空閑時(shí)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)交互;對(duì)網(wǎng)絡(luò)接口控制芯片采用查詢方式,即在其他中斷任務(wù)的執(zhí)行間隙處理瘦TCP/IP協(xié)議簇,以犧牲響應(yīng)速度來換取系統(tǒng)可靠性。
考慮到嵌入式醫(yī)用監(jiān)護(hù)儀在窄寬帶不可靠環(huán)境下實(shí)現(xiàn)實(shí)時(shí)監(jiān)測的要求,決定在網(wǎng)絡(luò)通信協(xié)議的傳輸層中,選用UDP(用戶數(shù)據(jù)報(bào)協(xié)議)。
5結(jié)束語
介紹一種基于ARM的嵌入式多參數(shù)監(jiān)護(hù)儀的設(shè)計(jì)與實(shí)現(xiàn),并應(yīng)用于實(shí)際測量,為嵌入式系統(tǒng)在醫(yī)用監(jiān)護(hù)中的應(yīng)用提供了一個(gè)很有意義的新思路和切實(shí)可行的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年喀什b2貨運(yùn)資格證多少道題
- 勞動(dòng)合同范本手寫
- 單位洗車合同范本
- 六險(xiǎn)一金 合同范本
- 個(gè)人建筑倉庫合同范本
- 勞務(wù)中介勞務(wù)合同范本
- 東城食堂承包合同范本
- 住宿酒店前臺(tái)合同范本
- 出售二手房貸款合同范本
- 臨沂工廠轉(zhuǎn)讓合同范本
- 遼寧省撫順市順城區(qū)2023-2024學(xué)年下學(xué)期八年級(jí)物理期中考試題
- 銀行零星裝飾維修 投標(biāo)方案(技術(shù)方案)
- 鎖骨骨折個(gè)案護(hù)理
- 農(nóng)民專業(yè)合作社財(cái)務(wù)報(bào)表(三張報(bào)表)
- 資助政策調(diào)查研究報(bào)告
- 跨學(xué)科學(xué)習(xí):一種基于學(xué)科的設(shè)計(jì)、實(shí)施與評(píng)價(jià)
- 殯葬禮儀服務(wù)整體服務(wù)方案
- 廣東中考英語考綱1600詞匯表及300詞組表(整理打印版)
- 學(xué)校安全班主任培訓(xùn)
- 小班數(shù)學(xué)活動(dòng)《寶寶送物品》課件
- 《電焊工培訓(xùn)》課件
評(píng)論
0/150
提交評(píng)論