一種基于AVR單片機(jī)的便攜式無線醫(yī)療點(diǎn)滴監(jiān)控系統(tǒng)
3 系統(tǒng)軟件結(jié)構(gòu)
本文引用地址:http://www.ex-cimer.com/article/262821.htm(1) 數(shù)據(jù)幀結(jié)構(gòu)
定義一個(gè)通信數(shù)據(jù)幀結(jié)構(gòu)來管理控制端與設(shè)備間的通信,通過對(duì)數(shù)據(jù)幀的解析,主/從設(shè)備可以高效率地完成數(shù)據(jù)處理。按照通信傳輸?shù)南群箜樞?,?shù)據(jù)幀的格式為:命令(1字節(jié))+設(shè)備ID(1字節(jié))+事件類型(1字節(jié))+數(shù)據(jù)域長度(1字節(jié))+數(shù)據(jù)域(n字節(jié))+校驗(yàn)和(2字節(jié))。
(2) μC/OSII的移植
μC/OSII是一種開源、結(jié)構(gòu)可裁剪的可剝奪實(shí)時(shí)內(nèi)核的RTOS,其大部分代碼都是C語言,可移植性較強(qiáng),已在多種系列的CPU上進(jìn)行了移植。AVR Studio 5內(nèi)部集成了Software Framework軟件包,包含Atmel MCU接口驅(qū)動(dòng)函數(shù),在AVR Studio 5環(huán)境下,移植μC/OSII到AT32UC3A0512 MCU上,需要在Micrium官方移植實(shí)例中進(jìn)行以下修改:
?、?修改exception.S文件中的內(nèi)容,修改如下:
_handle_Supervisor_Call:
lddpcpc,__OSCtxSw
__OSCtxSw:。
longOSCtxSw
?、?修改cpu.h內(nèi)容如下:
#define CPU_CRITICAL_ENTER()
{cpu_sr = CPU_SR_Save();}
#define CPU_CRITICAL_EXIT()
{CPU_SR_Restore(cpu_sr);}
#define CPU_SR_Save()cpu_irq_save()
#define CPU_SR_Restore(cpu_sr)
cpu_irq_restore(cpu_sr)
#define CPU_IntDis()Enable_global_interrupt()
#define CPU_IntEn()Disable_global_interrupt()
#define CPU_ExceptDis()Disable_global_exception()
#define CPU_ExceptEn()Enable_global_exception()
#define CPU_Reset()Reset_CPU()
圖6 主控制端的軟件結(jié)構(gòu)圖
(3) 控制器部分軟件設(shè)計(jì)
在μC/OSII系統(tǒng)下的軟件結(jié)構(gòu)如圖6所示。
主控制端主要通過LCD界面來完成用戶的操作,5個(gè)觸摸鍵為界面操作按鍵,數(shù)字鍵盤用軟件實(shí)現(xiàn)。通過數(shù)字鍵盤輸入要查詢的病房號(hào),確認(rèn)后即可查詢到該病房中點(diǎn)滴的速度、余量等狀態(tài)。
界面菜單的切換關(guān)系通過定義一個(gè)結(jié)構(gòu)體來實(shí)現(xiàn),結(jié)構(gòu)體定義為:
typedef struct MenuItem{
U8 MenuNum;//當(dāng)層菜單項(xiàng)目數(shù)
U8 *DispStr; //顯示字符串
struct MenuItem *ChildrenMenus;//子菜單節(jié)點(diǎn)
struct MenuItem *ParentMenus; //父菜單節(jié)點(diǎn)
} Menu;
(4) 終端監(jiān)控部分軟件設(shè)計(jì)
終端接收到控制端發(fā)來的命令數(shù)據(jù)包,解析出命令,實(shí)施相應(yīng)的處理,并將數(shù)據(jù)處理后打包發(fā)送給控制端。終端控制部分的軟件流程如圖7所示。
圖7 終端主程序
結(jié)語
基于AVR32MCU和μC/OSII的嵌入式系統(tǒng),利用無線通信方式實(shí)現(xiàn)遠(yuǎn)程在線監(jiān)控,無線網(wǎng)絡(luò)的組建增強(qiáng)了系統(tǒng)的可移動(dòng)性。本文提出的一種基于AVR32的便攜式點(diǎn)滴監(jiān)控系統(tǒng)的設(shè)計(jì),將醫(yī)療點(diǎn)滴監(jiān)控裝置小型化,近距離范圍內(nèi)系統(tǒng)穩(wěn)定。由于資源有限,關(guān)于遠(yuǎn)距離控制的網(wǎng)絡(luò)組建還在進(jìn)一步探索。
評(píng)論