<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 醫(yī)療電子 > 設(shè)計(jì)應(yīng)用 > 基于SOPC的醫(yī)用呼吸機(jī)主控系統(tǒng)設(shè)計(jì)

          基于SOPC的醫(yī)用呼吸機(jī)主控系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-12-08 來(lái)源:網(wǎng)絡(luò) 收藏

          直流電機(jī)控制

          系統(tǒng)使用PWM信號(hào)對(duì)直流電機(jī)進(jìn)行控制。在 Builder提供的標(biāo)準(zhǔn)IP核中是沒(méi)有PWM組件的,需要自行定制,PWM組件的輸出信號(hào)是方波,方波的周期及占空比可調(diào)。PWM任務(wù)邏輯結(jié)構(gòu)示于圖2。

          1.jpg

          圖2 PWM任務(wù)邏輯結(jié)構(gòu)

          PWM組件的任務(wù)邏輯有:

          ●PWM任務(wù)邏輯由一個(gè)輸入時(shí)鐘、一個(gè)輸出信號(hào)、一個(gè)允許位、一個(gè)32位計(jì)數(shù)器和一個(gè)32位的比較器組成;

          ●時(shí)鐘驅(qū)動(dòng)32位計(jì)數(shù)器,建立輸出信號(hào)的周期;

          ●比較器用來(lái)對(duì)32位比較器的當(dāng)前值和占空比值進(jìn)行比較,決定所輸出的信號(hào);

          ●若當(dāng)前值小于或等于占空比值,則輸出邏輯信號(hào)為0,否則為1。

          PWM組件的寄存器文件:

          ●clock_divde 在PWM的一個(gè)周期中的時(shí)鐘周期數(shù);

          ●duty_cycle PWM輸出為低電平的時(shí)鐘周期數(shù);

          ●enable PWM輸出的允許/禁止。0到1的上升沿使能PWM組件。

          將PWM定義寄存器的頭文件和驅(qū)動(dòng)程序封裝有:

          altera_avalon_pwm_init(); //PWM模塊初始化,包括周期設(shè)置

          altera_avalon_pwm_enable(); //PWM模塊使能

          altera_avalon_p wm_disable(); //PWM模塊禁止

          altera_avalon_ pwm_change_duty _cycle(); //PWM模塊占空比調(diào)整

          對(duì)于直流電機(jī)來(lái)說(shuō),PWM占空比需要達(dá)到一定量才能使電機(jī)工作,低于閾值(PWM_DUTY_THRESHOLD)的PWM信號(hào)不能驅(qū)動(dòng)電機(jī),這部分能量會(huì)轉(zhuǎn)化為熱量損害電機(jī),所以,設(shè)定PWM值的時(shí)候需要注意將值設(shè)在閾值以上,在 altera_avalon_pwm_change_duty_cycle()中對(duì)所設(shè)定的值進(jìn)行判斷,如果值低于PWM_DUTY_THRESHOLD 則調(diào)整為PWM_DUTY_THRESHOLD+1。

          以上的設(shè)計(jì)全部完成后,在 Builder內(nèi)將其封裝成為組件。

          輸出及指示模塊

          系統(tǒng)需要輸入設(shè)置、控制以及顯示提示,這部分功能包括有按鍵輸入、LED指示燈輸出、蜂鳴器輸出、液晶輸出等。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();