- 相關(guān)推薦
基于Small RTOS51的腸營養(yǎng)液輸液系統(tǒng)
來源:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 作者:北京航空航天大學(xué) 陳杰峰 王自強(qiáng)摘要:介紹一種基于Small RTOS51嵌入式操作系統(tǒng)的醫(yī)療儀器——智能型腸營養(yǎng)液輸液泵。首先介紹系統(tǒng)的功能及硬件組成,然后重點(diǎn)介紹如何利用Small RTOS51來設(shè)計(jì)系統(tǒng)軟件。最后,給出應(yīng)用Small RTOS51嵌入式操作系統(tǒng)制造的智能型腸營養(yǎng)液輸液泵的試驗(yàn)數(shù)據(jù)。 關(guān)鍵詞:Small RTOS51實(shí)時(shí)操作系統(tǒng) 腸營養(yǎng)液泵 嵌入式操作系統(tǒng)引言隨著各種電子系統(tǒng)在各個(gè)領(lǐng)域中應(yīng)用的不斷深入,對電子系統(tǒng)本身的要求也越來越高,尤其對于控制系統(tǒng)軟件設(shè)計(jì)的可靠性、實(shí)時(shí)響應(yīng)等各個(gè)方面的性能有了更嚴(yán)格的要求。單片機(jī)的程序設(shè)計(jì)不再是前后臺(tái)的運(yùn)行模式,而是采用多任務(wù)實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)思想。由于使用嵌入式操作系統(tǒng),可以將具體應(yīng)用分解成多個(gè)任務(wù),簡化了應(yīng)用系統(tǒng)軟件的設(shè)計(jì),使控制系統(tǒng)的實(shí)時(shí)性得到保證,使其達(dá)到理想狀態(tài)。良好的多任務(wù)設(shè)計(jì),還有助于提高系統(tǒng)的穩(wěn)定性和可靠性。目前,國內(nèi)應(yīng)用最多的是以51系列單片機(jī)為主的8位單片機(jī)。在51系列單片機(jī)系統(tǒng)中,可以進(jìn)行移植的嵌入式操作系統(tǒng)為數(shù)不多。其中,Keil自帶的RTX51沒有源代碼,使用起來很不方便;uC/OSII雖然有源代碼,也有移植成的例子,但是,它對于51系列單片機(jī)系統(tǒng)的資源占用過大,需要外擴(kuò)RAM,而且要保證每個(gè)函數(shù)的可重入性,使用起來比較勉強(qiáng)。Small RTOS51是專門為小RAM系統(tǒng)設(shè)計(jì)的占先式內(nèi)核,占用資源少、實(shí)時(shí)性好,應(yīng)用在本系統(tǒng)上非常合適。1 系統(tǒng)功能及硬件描述1.1 系統(tǒng)的功能描述對于處于昏迷狀態(tài)或食道進(jìn)行手術(shù)的病人,需要一種按時(shí)、按量對病人進(jìn)行腸營養(yǎng)液輸入的智能型腸營養(yǎng)液輸液泵,以達(dá)到維持病人生命的目的。本文介紹的智能型腸營養(yǎng)輸液泵(以下簡稱營養(yǎng)泵)主要實(shí)現(xiàn)以下功能:*根據(jù)要求,可以設(shè)定輸入營養(yǎng)液的總量、流速、溫度等參數(shù),并且在運(yùn)行過程中可以任意修改;*根據(jù)指令,自動(dòng)檢測和控制營養(yǎng)液的流量和流速,并將數(shù)據(jù)反饋給主程序;*根據(jù)設(shè)定營養(yǎng)液的溫度,自動(dòng)檢測和控制營養(yǎng)液的溫度,并將溫度數(shù)據(jù)反饋給主程序;*在出現(xiàn)營養(yǎng)液的溫度、流量和流速異常時(shí),發(fā)出聲、光報(bào)警信號(hào);*使用LCD顯示各種數(shù)據(jù),隨時(shí)查看已經(jīng)輸入營養(yǎng)液的數(shù)量、溫度、流量和流速;*營養(yǎng)泵主要由220VAC供電,同時(shí)備有應(yīng)急充電電池,一次充電可以連續(xù)運(yùn)行12小時(shí)以上,以備醫(yī)院緊急停時(shí)使用。1.2 系統(tǒng)的硬件描述本營養(yǎng)泵的電路原理框圖如圖1所示。
系統(tǒng)的主控CPU采用Philips公司的89C51RD2,實(shí)現(xiàn)系統(tǒng)的多任務(wù)控制;LCD采用北京青云的LCM12232B液晶模塊,顯示液體的控制參數(shù);控制溫度的DAC采用TI公司的TLC5615,使?fàn)I養(yǎng)液溫度誤差達(dá)到0.1℃以內(nèi);電池容量和溫度的反饋值均為模擬電壓,采用A/D,轉(zhuǎn)換后,送入CPU;A/D轉(zhuǎn)換器使用的是TI公司的TLC1543;應(yīng)急電池充電電路,采用Linear公司的LTC4006,充電電壓為12.6V,電池容量為4000mAh;營養(yǎng)液流量反饋,采用紅外線對管,直接由CPU記數(shù);營養(yǎng)泵電機(jī)使用直流電動(dòng)機(jī),采用控制電機(jī)運(yùn)行和停止時(shí)間的方法對轉(zhuǎn)速進(jìn)行閉環(huán)控制,以達(dá)到控制液體流量的目的。2 Small RTOS51簡介Small RTOS51是一個(gè)專門為51系列單片機(jī)設(shè)計(jì)的嵌入式實(shí)時(shí)操作內(nèi)核,使用Keil編譯器可以直接使用其代碼,它有如下特點(diǎn)。①公開源代碼。只要遵循許可協(xié)議,任何人可以免費(fèi)獲得源泉代碼,便于用戶的二次開發(fā)。②可移植性。用戶可以把與CPU有關(guān)的控制指令壓縮到最小,把大部分精力放在CPU的控制程序上。可以使用ANSI C編寫應(yīng)用程序,不僅簡化了編程手段,而且便于程序移植。③可固化性。Small RTOS51為嵌入式系統(tǒng)設(shè)計(jì),可以嵌入到產(chǎn)品中,成為產(chǎn)品的一部分。④占先式運(yùn)行。Small RTOS51可以管理16個(gè)用戶任務(wù),每個(gè)任務(wù)可以設(shè)置不同的優(yōu)先級(jí)。Small RTOS51總是運(yùn)行優(yōu)先級(jí)最高的任務(wù)。⑤中斷管理。采用中斷管理方式,當(dāng)有更高級(jí)的中斷申請時(shí),將目前正在執(zhí)行的任務(wù)掛起。如果優(yōu)先級(jí)更高的任務(wù)被中斷喚醒,則高優(yōu)先級(jí)的任務(wù)在中斷嵌套結(jié)束后立刻執(zhí)行。中斷嵌套層數(shù)可達(dá)255層。如果需要,還可以禁止中斷的嵌套管理。⑥RAM需求小。SmallRTOS51為小RAM的系統(tǒng)設(shè)計(jì),因而對RAM的需求只有幾百字節(jié),相應(yīng)的系統(tǒng)服務(wù)也少。3 系統(tǒng)的軟件實(shí)現(xiàn)按照系統(tǒng)所要實(shí)現(xiàn)的功能,將整個(gè)系統(tǒng)劃分為幾個(gè)并行的任務(wù),占先式操作內(nèi)核對任務(wù)的調(diào)度是按照任務(wù)優(yōu)先權(quán)的高低進(jìn)行。本文中,將系統(tǒng)劃分為9個(gè)任務(wù),按其優(yōu)先級(jí)從高到低的順序排列依次是:報(bào)警任務(wù)、溫控任務(wù)、按鍵輸入任務(wù)、主控制任務(wù)、電機(jī)運(yùn)行任務(wù)、流量控制任務(wù)、記時(shí)任務(wù)、液晶顯示任務(wù)和電池電量檢測任務(wù)。系統(tǒng)上電以后進(jìn)入主程序,首先對系統(tǒng)進(jìn)行自檢并任務(wù),啟動(dòng)9個(gè)程,此時(shí)系統(tǒng)的運(yùn)行就由Small RTOS51來接管。3.1 報(bào)警任務(wù)由于本文所述的營養(yǎng)泵,主要應(yīng)用在危重病人的看護(hù)中,所以將報(bào)警任務(wù)在放在最重要的位置。報(bào)警程序由一個(gè)全局變量setbaojing來控制,其不斷檢測溫控程序、流量控制程序和電池電量檢測程序的輸出值。當(dāng)上述程序出現(xiàn)故障報(bào)警信號(hào)時(shí),setbaojing為1,報(bào)警程序立即使蜂鳴器和報(bào)警燈工作,并在液晶屏幕上顯示出現(xiàn)故障的名稱,直到有人來清除故障后,才可以正常運(yùn)行。3.2 溫控任務(wù)由于人體對于溫度的變化非常敏感,而腸營養(yǎng)液是直接輸入到人的小腸當(dāng)中,所以系統(tǒng)對溫度的要求非常高,為此,本系統(tǒng)將溫控任務(wù)放在第二位。先將設(shè)定的溫度參數(shù)輸入給CPU,經(jīng)過PI計(jì)算,發(fā)出數(shù)字信號(hào),再用TLC5615轉(zhuǎn)換成模擬量,控制加溫電路給營養(yǎng)液加溫。營養(yǎng)液的實(shí)際溫度,由溫度反饋電路轉(zhuǎn)換成電壓信號(hào),再通過A/D轉(zhuǎn)換成數(shù)字信號(hào)反饋給CPU,由CPU進(jìn)行閉環(huán)控制。3.3 控制輸入任務(wù)按鍵是實(shí)現(xiàn)人機(jī)交互的重要設(shè)備,要求實(shí)時(shí)性較高。從系統(tǒng)軟件的設(shè)計(jì)角度,不僅要讀出按鍵的狀態(tài),還需要具有對按鍵的抖動(dòng)、連擊、串鍵等特殊情況進(jìn)行處理。系統(tǒng)按鍵輸入任務(wù)流程如圖2所示,本任務(wù)使用消息隊(duì)列指令KeyReadBuf[16],向主控制程序發(fā)送按鍵的相關(guān)信息。3.4 主控制任務(wù)主控制任務(wù)應(yīng)用SmallRTOS51提供的系統(tǒng)函數(shù)OSQPend(KeyTemp,KeyRead Buf,0)來查錄按鍵輸入任務(wù)提供的信息,一旦發(fā)覺Key
【基于Small RTOS51的腸營養(yǎng)液輸液系統(tǒng)】相關(guān)文章:
基于web的異地并行設(shè)計(jì)與制造系統(tǒng)研究06-02
基于PLC的斷路器型式試驗(yàn)系統(tǒng)設(shè)計(jì)03-10
基于J2EE的遠(yuǎn)動(dòng)系統(tǒng)Web實(shí)時(shí)曲線的研究05-11
基于電話網(wǎng)絡(luò)的熱網(wǎng)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)05-11
探討基于多種通信方式并存的配網(wǎng)自動(dòng)化通信系統(tǒng)06-01
分析基于三維掃描的特種設(shè)備管理系統(tǒng)設(shè)計(jì)論文05-26
基于價(jià)值工程的重慶生態(tài)旅游資源系統(tǒng)性研究論文04-23
試析基于勝任素質(zhì)的薪酬模式構(gòu)建01-03
基于戰(zhàn)略治理的企業(yè)環(huán)境風(fēng)險(xiǎn)研究08-28
基于軟交換的固網(wǎng)智能化05-11