基于SOPC技術(shù)的醫用呼吸機主控系統設計
摘要: 以Altera公司FPGA芯片為平臺,利用SOPC技術(shù)和Nios II處理器設計并實(shí)現了醫用呼吸機的主控系統。
關(guān)鍵詞: 呼吸機;SOPC;Nios II軟核處理器;壓力補償
呼吸機是可以代替人的呼吸功能或輔助人的呼吸功能的儀器。它適用于呼吸衰竭、甚至停止呼吸的病人做人工呼吸之用。它能幫助病人糾正缺氧和排出二氧化碳,是挽救某些危重病人生命的重要工具。
現有的呼吸機產(chǎn)品,其主控系統大多基于單片機來(lái)實(shí)現,對于功能強一些的產(chǎn)品就需要使用高端單片機,這樣使得系統的成本比較高,而且外圍的接口模塊較多,結構復雜。使用SOPC(可編程片上系統)技術(shù)設計主控系統,可充分利用IP核的強大功能,精簡(jiǎn)外設數量,與此同時(shí)只占用了很小部分的資源,大大提高了系統的性?xún)r(jià)比。
本文利用SOPC技術(shù)設計了持續氣道正壓通氣呼吸機的主控系統,使用了Altera公司的Nios II軟核處理器以及一些通用的IP核,筆者基于A(yíng)valon總線(xiàn)規范定制了組件,將控制邏輯全部集成至單片FPGA內。
醫用呼吸機
正壓呼吸機是利用增加氣道內壓力的方法將空氣送入肺內,肺內的壓力增大使肺腔擴張。當壓力失去后,由于肺腔組織的彈性,將肺恢復到原來(lái)的形狀,而使經(jīng)過(guò)交換的一部分空氣呼出體外。目前,大部分呼吸機都是利用這種增加氣道內壓力的方法給病人送氣的。
呼吸機所需的氣壓采用直流電機來(lái)提供,直流電機的控制信號為PWM信號,根據PWM信號的占空比和周期來(lái)控制電機的轉速。外部接口提供按鍵來(lái)接受命令,設定各種參數。提示信息、狀態(tài)信息、參數信息通過(guò)字符型LCD顯示。為了便于對系統進(jìn)行測試,使用UART為命令控制接口,對系統進(jìn)行直接控制,該接口在成品后即被隱去。
系統結構
以SOPC技術(shù)為核心的呼吸機主控系統框圖如圖1所示。
圖1 呼吸機系統硬件結構框圖
主控系統的核心FPGA采用Altera公司Cyclone系列的EP1C6T144C8。CPU即為Nios II軟核處理器,對整個(gè)系統進(jìn)行統一管理。折線(xiàn)框內為主控板,除下載、調試用的PC機外,對直流電機及主控板需單獨供電。直流電機工作后將氣流送至面罩內,電機根據端的信號來(lái)調節氣流的大小。在面罩內裝有壓力檢測模塊,通過(guò)A/D轉換返回至主控板,用來(lái)對氣流進(jìn)行回饋調節。面罩供患者使用。
直流電機控制
系統使用PWM信號對直流電機進(jìn)行控制。在SOPC Builder提供的標準IP核中是沒(méi)有PWM組件的,需要自行定制,PWM組件的輸出信號是方波,方波的周期及占空比可調。PWM任務(wù)邏輯結構示于圖2。
圖2 PWM任務(wù)邏輯結構
PWM組件的任務(wù)邏輯有:
●PWM任務(wù)邏輯由一個(gè)輸入時(shí)鐘、一個(gè)輸出信號、一個(gè)允許位、一個(gè)32位計數器和一個(gè)32位的比較器組成;
●時(shí)鐘驅動(dòng)32位計數器,建立輸出信號的周期;
●比較器用來(lái)對32位比較器的當前值和占空比值進(jìn)行比較,決定所輸出的信號;
●若當前值小于或等于占空比值,則輸出邏輯信號為0,否則為1。
PWM組件的寄存器文件:
●clock_divde 在PWM的一個(gè)周期中的時(shí)鐘周期數;
●duty_cycle PWM輸出為低電平的時(shí)鐘周期數;
●enable PWM輸出的允許/禁止。0到1的上升沿使能PWM組件。
將PWM定義寄存器的頭文件和驅動(dòng)程序封裝有:
altera_avalon_pwm_init(); //PWM模塊初始化,包括周期設置
altera_avalon_pwm_enable(); //PWM模塊使能
altera_avalon_p wm_disable(); //PWM模塊禁止
altera_avalon_ pwm_change_duty _cycle(); //PWM模塊占空比調整
對于直流電機來(lái)說(shuō),PWM占空比需要達到一定量才能使電機工作,低于閾值(PWM_DUTY_THRESHOLD)的PWM信號不能驅動(dòng)電機,這部分能量會(huì )轉化為熱量損害電機,所以,設定PWM值的時(shí)候需要注意將值設在閾值以上,在altera_avalon_pwm_change_duty_cycle()中對所設定的值進(jìn)行判斷,如果值低于PWM_DUTY_THRESHOLD則調整為PWM_DUTY_THRESHOLD+1。
以上的設計全部完成后,在SOPC Builder內將其封裝成為SOPC組件。
輸出及指示模塊
系統需要輸入設置、控制以及顯示提示,這部分功能包括有按鍵輸入、LED指示燈輸出、蜂鳴器輸出、液晶輸出等。
按鍵輸入是用戶(hù)與系統交互的重要接口,鍵盤(pán)板上共設有4個(gè)按鍵,一個(gè)為“On/Off”鍵,一個(gè)為“Set”鍵,一個(gè)為“Up”鍵,一個(gè)為“Down”鍵。“On/Off”功能鍵用于系統開(kāi)機、關(guān)機;“Set”功能鍵用于LCD中參數設置時(shí)確定;“Up”和“Down”功能鍵用于改變當前選項的內容。
按鍵輸出模塊在Nios II內使用SOPC Builder提供的PIO模塊搭建,由于要實(shí)時(shí)響應按鍵內容,需要開(kāi)中斷,對按鍵的上升沿進(jìn)行捕捉,當有中斷到來(lái)時(shí),進(jìn)入中斷寄存器判斷中斷的來(lái)源和類(lèi)型,根據現在的模式信息決定系統的動(dòng)作。
LED顯示及蜂鳴器輸出也使用PIO模塊搭建,為使得電流充裕采用共陽(yáng)極接法。
LCD顯示使用的是1602的通用液晶模塊,在SOPC Builder內提供有相應的IP核。液晶為16×2的形式,可顯示英文字母及數字,字庫在液晶模塊內部含有。
評論