引言
智能化和便攜式是現代電子產品的發展趨勢,醫療電子的智能化使得醫務人員的操作變得更方便。醫務人員可隨身攜帶手持式監控儀對各病房點滴實時監控,及時了解相關情況;如遇突發情況如點滴低于設定警戒值,終端監控裝置可產生中斷信號,主控制端則可優先進行相應的處理。本設計實現了一種以AT32UC3A0512[1]單片機為主控制器的便攜式遠程無線點滴監控系統,可及時了解點滴狀態,提高醫療點滴設備安全性。
1 系統原理介紹
本系統主要包括兩個部分:手持式控制端和終端監控裝置。手持式控制端主要實現信息輸入和查詢界面的操作,通過輸入待查詢的病房號及點滴速度值,以數據包形式發送給相應的病房監控終端,實時顯示終端傳送來的點滴狀態數據信息。終端監控裝置主要負責點滴狀態的數據采集和處理(點滴流速與點滴液位等),以及將處理好的數據通過無線通信方式發送給主控制端;對于點滴液位低于設定值、病人呼叫等緊急事件,按照中斷模式處理,發出報警提示,并將事件類型以數據包形式發送至主控制端。系統的結構框圖如圖1所示。
圖1 系統結構框圖
2 系統硬件設計
2.1 控制端部分硬件設計
手持式控制端采用Atmel公司的32位RISC處理器AT32UC3A0512為主控制器[1]。它的功耗低,吞吐量高,內部具有512K Flash和64K的SRAM,CPU工作頻率最高可達66 MHz;在3.3 V電壓下,工作電流約40 mA,待機電流則僅為30 μA。內部高度集成的硬件資源可簡化外圍電路的設計,如內部Flash、USB、ADC、EBI和以太網等外設接口可供設計者使用。
2.1.1 觸摸按鍵模塊
采用Quantum Research Group公司的電容式觸摸按鍵模塊IC QT1801,[2]具有功耗低,外圍電路簡單,可同時支持8個觸摸按鍵輸入等特點。經過內部濾波整形后,在對應的按鍵口輸出邏輯電平,根據外圍電阻值的不同選擇可以設置IC QT1801的各種模式。 工作模式的設置如下:在全模式(Full Option Mode)下,需在引腳SNSx(x=0,1,…,7)接1 MΩ電阻;在精簡模式下,需在引腳SNS6K和SNS7之間串接一個1 MΩ電阻。按鍵輸出值模式有2種:Oneperkey和Binary Code。當有按鍵觸摸時在24引腳(DETECT)產生觸摸中斷信號,高電平有效。其中,CS1~CS5為觸摸按鍵輸入,其接口電路如圖2所示。
圖2 觸摸按鍵模塊電路圖
2.1.2 LCD顯示模塊
顯示部分采用EDT公司的LCD顯示模塊ET024006DHU,該LCD模塊內部集成了圖形控制驅動器HX8347A,MCU可通過兩種接口方式對其內部寄存器進行讀/寫操作來控制LCD的顯示,分別是并行接口模式和SPI接口模式。并行接口模式下可選擇8/16位數據和16/18位RGB數據,串行SPI接口模式下可將8/16位數據和16/18位RGB數據直接寫入內部寄存器。
2.1.3 無線通信模塊nRF24L01[3]
無線通信部分采用單片射頻收發芯片,其工作頻段為世界通用的ISM頻段(2.4~2.5 GHz),是一款真正的GFSK單收發芯片。內置鏈路層,具有自動應答及自動重發功能,支持地址及CRC檢驗功能。它具有極低的電流消耗,掉電和待機模式下電流消耗更低;數據傳輸速率最高可達2 Mbps,內置標準的SPI接口可與MCU進行數據傳輸,速率最高可達8 Mbps;可工作在125個可選頻道,在接收模式下,可同時接收工作在同一頻道的6個數據通道的數據,相互通信的收發器的數據通道設置為同一個地址。
通過對nRF24L01內部寄存器的讀/寫來控制其工作狀態的轉換及數據的收發,當收發器數據接收/發送完成或者出現異常時,IRQ引腳產生中斷信號,低電平有效,對STATUS寄存器相應位寫“1”,清除中斷標志。無線通信模塊硬件連接如圖3所示。
2.2 終端監控裝置硬件設計
終端監控裝置采用ATmega128單片機,主要接收控制端發送的命令數據,并將采集的數據進行處理發送給控制端,完成病人呼叫、液面監測、對點滴速度的檢測與控制,以及聲音報警等功能。
2.2.1 點滴速度控制模塊
點滴速度控制電路采用專用的步進電機控制芯片L297、雙全橋步進電機驅動芯片L298。L297內部的PWM斬波器電路在開關模式下可產生PWM波,控制電機繞組中的電流,從而控制電機的精確轉動;它產生的4相控制信號可用于控制兩相雙極性和四相單極性步進電機。L298內含HBridge高電壓、大電流雙全橋式驅動器,4路驅動電路可驅動46 V、2 A以下的兩相或四相步進電機,可實現步進電機的正反轉。通過精確控制電機的正反轉來控制點滴裝置的流速夾滾軸的滑動,以達到控制點滴滴落速度的目的。硬件連接圖如圖4所示。
圖3 無線模塊硬件圖
圖4 點滴速度控制電路圖
2.2.2 點滴速度和液位檢測模塊
利用紅外對管發射方法測量點滴速度。點滴檢測電路包括紅外發射、接收、脈沖整形3部分,硬件原理圖如圖5所示。ST1150是單光速直射式紅外光電傳感器,光縫寬度為1.5 mm,光軸中心為2.5 mm,紅外檢測面積較小。當無液滴通過時,接收管(ST1150內部的三極管)導通,Vin為低電平;當有液滴通過時,接收管截止,Vin處產生高電平脈沖,經過斯密特觸發器整形后在Vout處產生一串規則的方波脈沖,并送至ATmega128進行處理。
圖5 點滴速度檢測電路
液位檢測則采用反射式紅外傳感器,電路檢測原理電路和點滴速度檢測電路類似。ST198是采用高發射功率紅外光電二極管和高靈敏度光電晶體管組成的反射式光電傳感器,采用非接觸檢測方式,檢測距離為2~10 mm時可用。當液位低于設定值時,接收管接收到的是電平信號,經過反相器倒相后送至單片機,觸發中斷。當紅外對射管為ST1150時用于點滴速度檢測,為ST198時用于液位檢測。
3 系統軟件結構
(1) 數據幀結構
定義一個通信數據幀結構來管理控制端與設備間的通信,通過對數據幀的解析,主/從設備可以高效率地完成數據處理。按照通信傳輸的先后順序,數據幀的格式為:命令(1字節)+設備ID(1字節)+事件類型(1字節)+數據域長度(1字節)+數據域(n字節)+校驗和(2字節)。
(2) μC/OSII的移植
μC/OSII是一種開源、結構可裁剪的可剝奪實時內核的RTOS,其大部分代碼都是C語言,可移植性較強,已在多種系列的CPU上進行了移植。AVR Studio 5內部集成了Software Framework軟件包,包含Atmel MCU接口驅動函數,在AVR Studio 5環境下,移植μC/OSII到AT32UC3A0512 MCU上,需要在Micrium官方移植實例中進行以下修改:
① 修改exception.S文件中的內容,修改如下:
_handle_Supervisor_Call:
lddpcpc,__OSCtxSw
__OSCtxSw:。
longOSCtxSw
② 修改cpu.h內容如下:
#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 主控制端的軟件結構圖
(3) 控制器部分軟件設計
在μC/OSII系統下的軟件結構如圖6所示。
主控制端主要通過LCD界面來完成用戶的操作,5個觸摸鍵為界面操作按鍵,數字鍵盤用軟件實現。通過數字鍵盤輸入要查詢的病房號,確認后即可查詢到該病房中點滴的速度、余量等狀態。
界面菜單的切換關系通過定義一個結構體來實現,結構體定義為:
typedef struct MenuItem{
U8 MenuNum;//當層菜單項目數
U8 *DispStr; //顯示字符串
struct MenuItem *ChildrenMenus;//子菜單節點
struct MenuItem *ParentMenus; //父菜單節點
} Menu;
(4) 終端監控部分軟件設計
終端接收到控制端發來的命令數據包,解析出命令,實施相應的處理,并將數據處理后打包發送給控制端。終端控制部分的軟件流程如圖7所示。
圖7 終端主程序
結語
基于AVR32MCU和μC/OSII的嵌入式系統,利用無線通信方式實現遠程在線監控,無線網絡的組建增強了系統的可移動性。本文提出的一種基于AVR32的便攜式點滴監控系統的設計,將醫療點滴監控裝置小型化,近距離范圍內系統穩定。由于資源有限,關于遠距離控制的網絡組建還在進一步探索。
評論
查看更多