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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 分時多任務(wù)礦用膠帶機綜保系統(tǒng)主站設(shè)計

          分時多任務(wù)礦用膠帶機綜保系統(tǒng)主站設(shè)計

          作者:李輝 時間:2012-12-18 來源:電子產(chǎn)品世界 收藏

            摘要:傳統(tǒng)的煤礦綜保系統(tǒng)主站通常采用單任務(wù)機制,靈活性差,利用率不高,限制了主站的性能。本文將分時多任務(wù)機制應(yīng)用在綜保系統(tǒng)的主站設(shè)計中,將主站所要實現(xiàn)的功能劃分為若干個任務(wù),為各任務(wù)分配時間片,提高了主站的工作效率,同時使系統(tǒng)具有很強的實時性。

          本文引用地址:http://www.ex-cimer.com/article/140196.htm

            引言

            隨著煤礦開采技術(shù)的提高,對系統(tǒng)的功能要求也越來越高,8位單任務(wù)的設(shè)計方法已不能滿足生產(chǎn)實踐的要求。16位甚至32位處理器已越來越多地應(yīng)用于領(lǐng)域,這些處理器資源豐富,可以通過移植操作系統(tǒng)實現(xiàn)多任務(wù)控制,從而有效地利用處理器。高檔處理雖然性能強但價格高,且開發(fā)難度大,而8位存儲空間有限,不適合移植操作系統(tǒng),因此本文將分時多任務(wù)的思想應(yīng)用于8位單片機中,用時間片的方法分配各任務(wù)的運行時間,并且在每個任務(wù)的內(nèi)部實現(xiàn)任務(wù)的調(diào)度,減少了額外的資源占用。該方法程序簡單明了便于擴展,同時提高了系統(tǒng)的利用率,擴大了單片機的應(yīng)用領(lǐng)域。

            系統(tǒng)總體結(jié)構(gòu)

            目前礦用綜保系統(tǒng)采用主站和分站結(jié)合的系統(tǒng)結(jié)構(gòu),主站放置于膠帶機的機頭,采集煤位、溫度、速度和煙霧信號,分站沿皮帶每隔20~40米布置一個,主要用于采集跑偏和急停信號并通過485總線發(fā)送給主站。圖1為目前常用的膠帶機綜保結(jié)構(gòu)。

            主站作為整個系統(tǒng)的核心,主要有以下幾個功能:(1)采集布置在機頭處的若干傳感器信號;(2)接收處理各分站的數(shù)據(jù);(3)歷史數(shù)據(jù)的存儲功能和實時數(shù)據(jù)顯示。因此主站性能的好壞將影響到系統(tǒng)的可靠性?! ?/p>

            主站硬件設(shè)計

            本文設(shè)計的主站采用Mega128作為主控制器,根據(jù)功能輔以DS1302、AT24C256等芯片實現(xiàn)相應(yīng)的功能。

            Mega128基本工作電路

            Mega128是一款8位低功耗CMOS微處理器,功能強大,I/O口多,便于日后升級系統(tǒng)。圖2為Mega128基本工作電路。設(shè)計中采用MAX706作為復(fù)位芯片,另外還提供了有源和石英兩種晶振方式。



          評論


          相關(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); })();