AVR32的便攜式無(wú)線(xiàn)醫療點(diǎn)滴監控系統
2.1.3 無(wú)線(xiàn)通信模塊nRF24L01[3]
無(wú)線(xiàn)通信部分采用單片射頻收發(fā)芯片,其工作頻段為世界通用的ISM頻段(2.4~2.5 GHz),是一款真正的GFSK單收發(fā)芯片。內置鏈路層,具有自動(dòng)應答及自動(dòng)重發(fā)功能,支持地址及CRC檢驗功能。它具有極低的電流消耗,掉電和待機模式下電流消耗更低;數據傳輸速率最高可達2 Mbps,內置標準的SPI接口可與MCU進(jìn)行數據傳輸,速率最高可達8 Mbps;可工作在125個(gè)可選頻道,在接收模式下,可同時(shí)接收工作在同一頻道的6個(gè)數據通道的數據,相互通信的收發(fā)器的數據通道設置為同一個(gè)地址?! ?P style="MARGIN-TOP: 24px">通過(guò)對nRF24L01內部寄存器的讀/寫(xiě)來(lái)控制其工作狀態(tài)的轉換及數據的收發(fā),當收發(fā)器數據接收/發(fā)送完成或者出現異常時(shí),IRQ引腳產(chǎn)生中斷信號,低電平有效,對STATUS寄存器相應位寫(xiě)“1”,清除中斷標志。無(wú)線(xiàn)通信模塊硬件連接如圖3所示。
2.2 終端監控裝置硬件設計
終端監控裝置采用ATmega128單片機,主要接收控制端發(fā)送的命令數據,并將采集的數據進(jìn)行處理發(fā)送給控制端,完成病人呼叫、液面監測、對點(diǎn)滴速度的檢測與控制,以及聲音報警等功能。
2.2.1 點(diǎn)滴速度控制模塊
點(diǎn)滴速度控制電路采用專(zhuān)用的步進(jìn)電機控制芯片L297、雙全橋步進(jìn)電機驅動(dòng)芯片L298。L297內部的PWM斬波器電路在開(kāi)關(guān)模式下可產(chǎn)生PWM波,控制電機繞組中的電流,從而控制電機的精確轉動(dòng);它產(chǎn)生的4相控制信號可用于控制兩相雙極性和四相單極性步進(jìn)電機。L298內含HBridge高電壓、大電流雙全橋式驅動(dòng)器,4路驅動(dòng)電路可驅動(dòng)46 V、2 A以下的兩相或四相步進(jìn)電機,可實(shí)現步進(jìn)電機的正反轉。通過(guò)精確控制電機的正反轉來(lái)控制點(diǎn)滴裝置的流速夾滾軸的滑動(dòng),以達到控制點(diǎn)滴滴落速度的目的。硬件連接圖如圖4所示。
圖3 無(wú)線(xiàn)模塊硬件圖
圖4 點(diǎn)滴速度控制電路圖
2.2.2 點(diǎn)滴速度和液位檢測模塊
利用紅外對管發(fā)射方法測量點(diǎn)滴速度。點(diǎn)滴檢測電路包括紅外發(fā)射、接收、脈沖整形3部分,硬件原理圖如圖5所示。ST1150是單光速直射式紅外光電傳感器,光縫寬度為1.5 mm,光軸中心為2.5 mm,紅外檢測面積較小。當無(wú)液滴通過(guò)時(shí),接收管(ST1150內部的三極管)導通,Vin為低電平;當有液滴通過(guò)時(shí),接收管截止,Vin處產(chǎn)生高電平脈沖,經(jīng)過(guò)斯密特觸發(fā)器整形后在Vout處產(chǎn)生一串規則的方波脈沖,并送至ATmega128進(jìn)行處理。
圖5 點(diǎn)滴速度檢測電路
液位檢測則采用反射式紅外傳感器,電路檢測原理電路和點(diǎn)滴速度檢測電路類(lèi)似。ST198是采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成的反射式光電傳感器,采用非接觸檢測方式,檢測距離為2~10 mm時(shí)可用。當液位低于設定值時(shí),接收管接收到的是電平信號,經(jīng)過(guò)反相器倒相后送至單片機,觸發(fā)中斷。當紅外對射管為ST1150時(shí)用于點(diǎn)滴速度檢測,為ST198時(shí)用于液位檢測。
3 系統軟件結構
(1) 數據幀結構
定義一個(gè)通信數據幀結構來(lái)管理控制端與設備間的通信,通過(guò)對數據幀的解析,主/從設備可以高效率地完成數據處理。按照通信傳輸的先后順序,數據幀的格式為:命令(1字節)+設備ID(1字節)+事件類(lèi)型(1字節)+數據域長(cháng)度(1字節)+數據域(n字節)+校驗和(2字節)。
(2) μC/OSII的移植
μC/OSII是一種開(kāi)源、結構可裁剪的可剝奪實(shí)時(shí)內核的RTOS,其大部分代碼都是C語(yǔ)言,可移植性較強,已在多種系列的CPU上進(jìn)行了移植。AVR Studio 5內部集成了Software Framework軟件包,包含Atmel MCU接口驅動(dòng)函數,在A(yíng)VR Studio 5環(huán)境下,移植μC/OSII到AT32UC3A0512 MCU上,需要在Micrium官方移植實(shí)例中進(jìn)行以下修改:
① 修改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)
評論