《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SoPC和Nios II處理器的醫用呼吸機主控系統設計
基于SoPC和Nios II處理器的醫用呼吸機主控系統設計
摘要: 現有的呼吸機產品,其主控系統大多基于單片機來實現,對于功能強一些的產品就需要使用高端單片機,這樣使得系統的成本比較高,而且外圍的接口模塊較多,結構復雜。使用SoPC(可編程片上系統)技術設計主控系統,可充分利用IP核的強大功能,精簡外設數量,與此同時只占用了很小部分的資源,大大提高了系統的性價比。
關鍵詞: SoPC NIOS II Altera
Abstract:
Key words :

 

         以Altera公司FPGA芯片為平臺,利用SoPC技術和Nios II處理器設計并實現了醫用呼吸機的主控系統。
 
  呼吸機是可以代替人的呼吸功能或輔助人的呼吸功能的儀器。它適用于呼吸衰竭、甚至停止呼吸的病人做人工呼吸之用。它能幫助病人糾正缺氧和排出二氧化碳,是挽救某些危重病人生命的重要工具。
 
  現有的呼吸機產品,其主控系統大多基于單片機來實現,對于功能強一些的產品就需要使用高端單片機,這樣使得系統的成本比較高,而且外圍的接口模塊較多,結構復雜。使用SoPC(可編程片上系統)技術設計主控系統,可充分利用IP核的強大功能,精簡外設數量,與此同時只占用了很小部分的資源,大大提高了系統的性價比。
 
  本文利用SoPC技術設計了持續氣道正壓通氣呼吸機的主控系統,使用了Altera公司的Nios II軟核處理器以及一些通用的IP核,筆者基于Avalon總線規范定制了組件,將控制邏輯全部集成至單片FPGA內。
 
  醫用呼吸機
 
  正壓呼吸機是利用增加氣道內壓力的方法將空氣送入肺內,肺內的壓力增大使肺腔擴張。當壓力失去后,由于肺腔組織的彈性,將肺恢復到原來的形狀,而使經過交換的一部分空氣呼出體外。目前,大部分呼吸機都是利用這種增加氣道內壓力的方法給病人送氣的。
 
  呼吸機所需的氣壓采用直流電機來提供,直流電機的控制信號為PWM信號,根據PWM信號的占空比和周期來控制電機的轉速。外部接口提供按鍵來接受命令,設定各種參數。提示信息、狀態信息、參數信息通過字符型LCD顯示。為了便于對系統進行測試,使用UART為命令控制接口,對系統進行直接控制,該接口在成品后即被隱去。
 
  系統結構
 
  以SOPC技術為核心的呼吸機主控系統框圖如圖1所示。
 
 
圖1  呼吸機系統硬件結構框圖
 
  主控系統的核心FPGA采用Altera公司Cyclone系列的EP1C6T144C8。CPU即為Nios II軟核處理器,對整個系統進行統一管理。折線框內為主控板,除下載、調試用的PC機外,對直流電機及主控板需單獨供電。直流電機工作后將氣流送至面罩內,電機根據端的信號來調節氣流的大小。在面罩內裝有壓力檢測模塊,通過A/D轉換返回至主控板,用來對氣流進行回饋調節。面罩供患者使用。
 
  直流電機控制
 
  系統使用PWM信號對直流電機進行控制。在SOPC Builder提供的標準IP核中是沒有PWM組件的,需要自行定制,PWM組件的輸出信號是方波,方波的周期及占空比可調。PWM任務邏輯結構示于圖2。
 
 
圖2  PWM任務邏輯結構
 
  PWM組件的任務邏輯有:
 
     PWM任務邏輯由一個輸入時鐘、一個輸出信號、一個允許位、一個32位計數器和一個32位的比較器組成; 
    時鐘驅動32位計數器,建立輸出信號的周期; 
    比較器用來對32位比較器的當前值和占空比值進行比較,決定所輸出的信號; 
    若當前值小于或等于占空比值,則輸出邏輯信號為0,否則為1。
  PWM組件的寄存器文件:
 
clock_divde 在PWM的一個周期中的時鐘周期數; 
duty_cycle PWM輸出為低電平的時鐘周期數; 
enable  PWM輸出的允許/禁止。0到1的上升沿使能PWM組件。
  將PWM定義寄存器的頭文件和驅動程序封裝有:
 
  altera_avalon_pwm_init();    //PWM模塊初始化,包括周期設置
 
  altera_avalon_pwm_enable();     //PWM模塊使能
 
  altera_avalon_p wm_disable();  //PWM模塊禁止
 
  altera_avalon_ pwm_change_duty _cycle();  //PWM模塊占空比調整
 
  對于直流電機來說,PWM占空比需要達到一定量才能使電機工作,低于閾值(PWM_DUTY_THRESHOLD)的PWM信號不能驅動電機,這部分能量會轉化為熱量損害電機,所以,設定PWM值的時候需要注意將值設在閾值以上,在altera_avalon_pwm_change_duty_cycle()中對所設定的值進行判斷,如果值低于PWM_DUTY_THRESHOLD則調整為PWM_DUTY_THRESHOLD+1。
 
  以上的設計全部完成后,在SOPC Builder內將其封裝成為SOPC組件。
輸出及指示模塊
 
  系統需要輸入設置、控制以及顯示提示,這部分功能包括有按鍵輸入、LED指示燈輸出、蜂鳴器輸出、液晶輸出等。
 
  按鍵輸入是用戶與系統交互的重要接口,鍵盤板上共設有4個按鍵,一個為“On/Off”鍵,一個為“Set”鍵,一個為“Up”鍵,一個為“Down”鍵。“On/Off”功能鍵用于系統開機、關機;“Set”功能鍵用于LCD中參數設置時確定;“Up”和“Down”功能鍵用于改變當前選項的內容。
 
 
  按鍵輸出模塊在Nios II內使用SOPC Builder提供的PIO模塊搭建,由于要實時響應按鍵內容,需要開中斷,對按鍵的上升沿進行捕捉,當有中斷到來時,進入中斷寄存器判斷中斷的來源和類型,根據現在的模式信息決定系統的動作。
 
  LED顯示及蜂鳴器輸出也使用PIO模塊搭建,為使得電流充裕采用共陽極接法。
 
  LCD顯示使用的是1602的通用液晶模塊,在SOPC Builder內提供有相應的IP核。液晶為16×2的形式,可顯示英文字母及數字,字庫在液晶模塊內部含有。
 
  與PC機通訊的接口
 
  系統與PC通訊有兩個接口,JTAG接口和UART接口。JTAG接口用來對FPGA進行配置及程序下載;UART接口則作為命令控制接口,對完成的程序進行系統的調試。這兩個組件在SOPC Builder內均有提供,可直接使用。JTAG接口無需過多配置,外部硬件連接完成后,在內部添加組件即可使用,對JTAG端口的操作由Quartus軟件內部完成。
 
  UART接口與PC機通過RS-232協議進行通訊,可以改變其波特率、奇偶校驗位、停止位、傳輸的數據位以及其他可選的RTS-CTS流控制信號等。實際應用中波特率使用115200,8位數據位,1位停止位,帶奇偶校驗位,流控制則設為none。外部硬件連接使用MAX3232作為電平轉換芯片。
 
  存儲及配置單元
 
  FPGA使用AS配置模式,配置芯片為EPCS4。EPCS4芯片中的存儲區可分為兩個區:FPGA配置存儲區用來保存FPGA配置的數據,通用存儲區用來存放系統啟動代碼以及程序數據。除了SOPC Builder提供的EPCS組件外,Nios II IDE中的Flash Programmer實用程序可把數據固化到EPCS芯片中。
 
  FPGA芯片內部開出一塊4K大小的RAM,作為程序運行時的緩存區。
 
  定時器
 
  SOPC Builder提供的定時器是一個32位的間隔定時器,與我們常見到的單片機內部的定時器模塊類似,有遞增計數模式和遞減計數模式,在計數器為0時可生成中斷,也可令周期脈沖發生器輸出一個脈沖。對periodl和periodh寄存器進行寫操作可設定定時器的周期。系統中使用定時器模塊計時,用來判斷命令執行時間的長短,按鍵時長等功能,開中斷后可實現長按鍵開關機或Shift鍵功能。
 
  A/D采樣
 
  A/D采樣主要是為了檢測面罩壓力并反饋,根據反饋值對壓力進行再調節。壓力檢測后壓力信號通過Maxim公司的A/D芯片MAX197進行采樣。
 
  與PWM組件類似,SOPC Builder也沒有提供相應的A/D組件IP核,需自行定制,定制過程與PWM組件相同。 
 
  系統軟件設計
 
  系統的工作流程如圖3所示。
 
 
圖3  呼吸機工作流程
 
  工作狀態
 
  設置狀態:只能在系統斷電后,重新上電時進入。除此之外,系統在任何情況下都無法進入設置狀態。并且從設置狀態只能返回到關機狀態。“Up”,“Down”鍵改變選項,“Set”鍵進入設置或確認設置,“On/Off”取消設置或退出當前這層設置界面,當已退到最初設置界面時,再按“On/Off”為關機;
 
  關機狀態:液晶顯示“Off”,且只響應開機鍵和命令;
 
  待機狀態:液晶顯示治療壓力的延時;
 
  治療狀態:響應“On/Off”鍵, “Up”鍵和“Down”鍵。其中,“On/Off”鍵用于“啟動/停止”治療;“Up”和“Down”用于以0.5厘米水柱的壓力為步長調整當前工作壓力。
 
  對這四種狀態的切換都基于不同時段不同按鍵的組合,設計時考慮到治療操作的簡便性,把大多數操作都放到設置狀態內進行,治療時只需要根據實際情況略作調節即可。
 
  壓力反饋
 
  對于呼吸機這種直接面對病患的醫療器械,安全性是非常重要的,另外,對所加壓力的精度要求也比較高,就算是5%的壓力變化對于一個病人的呼吸系統來說也是不小的壓力。在電機有輸出有波動的時候,加一級反饋來對壓力進行補償輸出,可以防止突然間的誤動作以及供電電壓波動帶來的壓力精度偏移。
 
  將A/D采樣的結果與預先設定的值進行比較,如果低于設定值,則對輸出值進行相應的提升;如果高于設定值,則減少輸出值。對壓力輸出的調節要逐步進行,根據實驗結果設定步長PWM_T_STEP,每次變化只增減PWM_T_STEP的值,這樣不會使得氣流忽大忽小,讓患者的呼吸系統感到不適。
 
按鍵及顯示
 
  系統中對按鍵的要求比較多,除了正常的單次按鍵外,還有開關機時的長按鍵、進入設置狀態的組合鍵等。這些特殊功能的按鍵也是基于單次按鍵的基礎上進行的。
 
 
  長按鍵需要對按鍵的觸發的上升沿和下降沿都進行判斷,單次按鍵的下降沿中斷來到后,計數器開始計數,到上升沿中斷到來為止,如果計數大于某一閾值則認為該次按鍵為長按鍵。閾值的確定要根據系統的時鐘頻率以及所需要的延時長度。
 
  系統的顯示主要依靠LCD,16×2的液晶上只能顯示兩行菜單,但菜單的總條數遠大于兩條,為此,菜單數組的顯示和執行就需要兩套指針來實現,顯示時單行滾動顯示,以便于觀察。
 
  結語
 
  本文所述的醫用呼吸機主控系統,樣機已制出,現正進行性能測試,目前運行正常。整個系統的設計重點在定制基于SOPC技術的嵌入式Nios II軟核處理器設計和電機驅動的實現上,與傳統的基于單片機的方案相比,Nios II只占用了FPGA芯片內的一小部分資源,卻完成了包括單片機及相當數量外設的功能,這樣既簡化了電路板設計,減少外圍器件的配置,又有效地控制了系統軟硬件的復雜度,降低了成本,縮短開發周期,更便于對未來產品的升級換代。
 
  參考文獻:
 
  1.  李蘭英,Nios II嵌入式軟核——SOPC設計原理及應用,北京航空航天大學出版社,2006.11
 
  2.  Altera. NiosII Processor Reference Handbook [EB/OL].  (2006-05).http://www.altera.com
 
  3.  Altera. Altera Embedded Peripherals Handbook [EB/OL].  (2006-05).   http://www.altera.com
 
  4.  彭澄廉,挑戰SOC—基于Nios的SOPC設計與實踐,清華大學出版社,2004
 
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美日韩亚洲精品| 亚洲国产一区二区三区a毛片| 久久久久久夜精品精品免费| 亚洲一区日韩| 99热在这里有精品免费| 亚洲国产另类久久久精品极度| 午夜一区在线| 亚洲专区一二三| 亚洲婷婷综合色高清在线| 99精品久久久| 日韩写真视频在线观看| 亚洲国产精品一区二区第一页| 永久91嫩草亚洲精品人人| 狠狠色狠狠色综合日日五| 韩国女主播一区| 国产一区欧美| 国产在线麻豆精品观看| 国产一区二区| 国产综合久久久久久| 国产一级精品aaaaa看| 国产婷婷精品| 国户精品久久久久久久久久久不卡| 国产日韩欧美一区二区| 国产一区二区| 极品少妇一区二区| 在线观看一区视频| 亚洲日本va午夜在线电影| 亚洲激情成人网| 亚洲人成人一区二区在线观看 | 国产欧美日韩亚洲精品| 国产欧美在线播放| 国产一区二区三区在线观看免费视频| 国产午夜精品美女视频明星a级| 国产亚洲欧美日韩日本| 狠狠色香婷婷久久亚洲精品| 永久久久久久| 最新日韩av| 欧美中文在线字幕| 久久精品国产一区二区三| 亚洲国产成人在线| 欧美精品一区二区三区视频| 欧美夫妇交换俱乐部在线观看| 欧美激情aⅴ一区二区三区 | 欧美大秀在线观看| 欧美日韩精品一区二区天天拍小说| 欧美午夜视频| 国产色爱av资源综合区| 在线成人欧美| 999亚洲国产精| 性刺激综合网| 亚洲三级免费观看| 亚洲永久精品大片| 久久久www成人免费毛片麻豆| 免费人成网站在线观看欧美高清| 欧美日韩国产另类不卡| 国产嫩草影院久久久久| 亚洲成色777777女色窝| 一区二区三区www| 性做久久久久久久久| 亚洲日韩成人| 香蕉久久夜色精品国产使用方法| 麻豆9191精品国产| 欧美色播在线播放| 国产资源精品在线观看| 亚洲九九爱视频| 欧美一区二区三区免费观看视频| 亚洲精品视频一区二区三区| 午夜精品影院| 美女91精品| 国产精品你懂的在线欣赏| 精品电影在线观看| 中文av一区特黄| 亚洲电影欧美电影有声小说| 亚洲一区二区动漫| 女仆av观看一区| 国产精品视频免费一区| 亚洲国产婷婷香蕉久久久久久| 亚洲一级一区| 日韩一区二区免费高清| 欧美制服丝袜第一页| 欧美屁股在线| 好看不卡的中文字幕| 亚洲天堂黄色| 日韩视频免费观看高清完整版| 欧美一区二区三区成人| 欧美日韩国产大片| 亚洲第一毛片| 亚洲免费网址| 亚洲视频免费在线观看| 欧美大色视频| 国模私拍视频一区| 亚洲欧美成人一区二区三区| 亚洲五月六月| 欧美电影免费| 黄色欧美成人| 午夜视频久久久| 亚洲一区黄色| 欧美日韩一区二区免费视频| 在线观看欧美日本| 午夜精品美女自拍福到在线 | 国产视频观看一区| 亚洲色诱最新| 一区二区三区久久精品| 欧美高清成人| 激情综合中文娱乐网| 欧美一区二区三区免费在线看| 亚洲永久免费视频| 欧美日韩免费网站| 亚洲精品一区二区三区四区高清 | 亚洲国产欧美一区二区三区久久| 久久精品91久久久久久再现| 国产精品豆花视频| 99国产精品视频免费观看一公开| 亚洲美女毛片| 欧美成人高清视频| 在线日韩欧美| 亚洲激精日韩激精欧美精品| 久久综合九色综合欧美狠狠| 国产一区999| 欧美亚洲综合另类| 久久久999| 国内精品免费在线观看| 久久精品国产69国产精品亚洲| 久久精品国产精品亚洲| 国产欧美一区二区三区视频| 亚洲在线视频一区| 欧美一区二区性| 国产欧美日韩一区二区三区在线| 亚洲欧美另类国产| 久久精品亚洲一区二区| 国产精品网站在线| 午夜久久一区| 久久久久九九视频| 一区精品在线播放| 亚洲美女中出| 欧美日韩久久精品| 亚洲一区三区在线观看| 久久精品99久久香蕉国产色戒| 国产一区清纯| 亚洲激情一区二区| 欧美日韩免费观看一区二区三区| 99re8这里有精品热视频免费 | 国产精品美女久久久免费| 亚洲欧美日韩国产| 久久久欧美一区二区| 在线观看的日韩av| 99视频一区二区| 国产精品高清一区二区三区| 亚洲欧美日韩国产一区| 久久久中精品2020中文| 亚洲高清二区| 亚洲午夜视频在线| 国产午夜精品理论片a级大结局| 亚洲国产精品第一区二区三区| 欧美国产精品v| 99国产精品| 久久精品免视看| 亚洲福利免费| 亚洲午夜激情网页| 国产综合网站| 一区二区精品国产| 国产乱码精品一区二区三| 亚洲高清中文字幕| 欧美视频亚洲视频| 久久不见久久见免费视频1| 欧美成人精品激情在线观看| 一本色道久久99精品综合 | 日韩视频中文| 久久国产乱子精品免费女| 在线观看视频一区二区欧美日韩| 制服诱惑一区二区| 国产一区二区三区免费不卡 | 宅男噜噜噜66一区二区| 国产视频一区在线观看| 亚洲日韩成人| 国产精品尤物| 亚洲毛片一区二区| 国产精品亚洲综合一区在线观看| 91久久国产精品91久久性色| 欧美午夜宅男影院在线观看| 欧美一区日本一区韩国一区| 欧美激情视频一区二区三区免费| 亚洲一区精彩视频| 免费成人高清视频| 亚洲男人的天堂在线观看| 欧美成人久久| 亚洲欧美一区二区在线观看| 欧美国产第一页| 欧美一区二区大片| 欧美日韩视频在线一区二区观看视频 | 久久国产黑丝| 国产精品chinese| 91久久精品国产91性色| 国产精品视频精品| 一区二区三区精密机械公司 | 亚洲国产欧美日韩| 久久不见久久见免费视频1| 亚洲精品一级| 美女视频一区免费观看| 亚洲欧美亚洲|