• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 醫療電子 > 設計應用 > 基于SOPC技術的醫用呼吸機主控系統設計

    基于SOPC技術的醫用呼吸機主控系統設計

    作者:安鵬 清華大學工程物理系(北京100084) 時間:2008-06-17 來源:電子產品世界 收藏
      與PC機通訊的接口

      系統與PC通訊有兩個接口,JTAG接口和UART接口。JTAG接口用來對進行配置及程序下載;UART接口則作為命令控制接口,對完成的程序進行系統的調試。這兩個組件在 Builder內均有提供,可直接使用。JTAG接口無需過多配置,外部硬件連接完成后,在內部添加組件即可使用,對JTAG端口的操作由Quartus軟件內部完成。

      UART接口與PC機通過RS-232協議進行通訊,可以改變其波特率、奇偶校驗位、停止位、傳輸的數據位以及其他可選的RTS-CTS流控制信號等。實際應用中波特率使用115200,8位數據位,1位停止位,帶奇偶校驗位,流控制則設為none。外部硬件連接使用MAX3232作為電平轉換芯片。

      存儲及配置單元

      使用AS配置模式,配置芯片為EPCS4。EPCS4芯片中的存儲區可分為兩個區:配置存儲區用來保存FPGA配置的數據,通用存儲區用來存放系統啟動代碼以及程序數據。除了 Builder提供的EPCS組件外, IDE中的Flash Programmer實用程序可把數據固化到EPCS芯片中。

      FPGA芯片內部開出一塊4K大小的RAM,作為程序運行時的緩存區。

      定時器

       Builder提供的定時器是一個32位的間隔定時器,與我們常見到的單片機內部的定時器模塊類似,有遞增計數模式和遞減計數模式,在計數器為0時可生成中斷,也可令周期脈沖發生器輸出一個脈沖。對periodl和periodh寄存器進行寫操作可設定定時器的周期。系統中使用定時器模塊計時,用來判斷命令執行時間的長短,按鍵時長等功能,開中斷后可實現長按鍵開關機或Shift鍵功能。

      A/D采樣

      A/D采樣主要是為了檢測面罩壓力并反饋,根據反饋值對壓力進行再調節。壓力檢測后壓力信號通過Maxim公司的A/D芯片MAX197進行采樣。

      與PWM組件類似,SOPC Builder也沒有提供相應的A/D組件IP核,需自行定制,定制過程與PWM組件相同。

    系統軟件設計

      系統的工作流程如圖3所示。

    本文引用地址:http://www.czjhyjcfj.com/article/84329.htm


    圖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技術的嵌入式軟核處理器設計和電機驅動的實現上,與傳統的基于單片機的方案相比,只占用了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


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 集安市| 临夏县| 溧阳市| 宁化县| 长乐市| 徐水县| 濮阳县| 姜堰市| 赞皇县| 罗田县| 恩平市| 饶平县| 临桂县| 望谟县| 丰都县| 咸丰县| 连江县| 赤峰市| 台南市| 济源市| 库伦旗| 玉树县| 晋城| 邵阳县| 同心县| 兴化市| 安仁县| 永仁县| 阿拉善右旗| 大埔区| 上林县| 汕头市| 南漳县| 舞钢市| 若尔盖县| 北碚区| 桓台县| 磴口县| 紫金县| 镇宁| 浙江省|