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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM和CPLD的溫度控制器的設(shè)計

          基于ARM和CPLD的溫度控制器的設(shè)計

          作者: 時間:2011-06-21 來源:網(wǎng)絡(luò) 收藏

          1 引言
          隨著計算機(jī)技術(shù)的飛速發(fā)展,在日常生活和生產(chǎn)中,人們要求更精確測量和控制溫度等模擬物理量,不僅滿足工業(yè)現(xiàn)場實時監(jiān)控,上位PC機(jī)遙觀、遙測和遙控等,而且要求連-接互聯(lián)網(wǎng),以實現(xiàn)遠(yuǎn)程監(jiān)控和訪問數(shù)字化、智能化的傳感器功能。
          這里提出一種以微控制器為核心,結(jié)合技術(shù)的溫度控制系統(tǒng)。該系統(tǒng)將溫度傳感器采集的信息A/D轉(zhuǎn)換后傳輸至微處理器處理,其處理數(shù)據(jù)再經(jīng)網(wǎng)絡(luò)接121遠(yuǎn)程傳輸?;蛲ㄟ^RS232串行接口與上位機(jī)PC機(jī)通信實現(xiàn)分布式溫度監(jiān)控系統(tǒng)。

          2 系統(tǒng)硬件設(shè)計
          該系統(tǒng)設(shè)計主要是針對工業(yè)控制領(lǐng)域現(xiàn)場儀器儀表開發(fā)的,其硬件設(shè)計框圖如圖1所示,該框圖包括微處理器、電源、監(jiān)控復(fù)位、存儲器擴(kuò)展(RAM、Flash和EEPROM)、人機(jī)交換接口(LED)、網(wǎng)絡(luò)通信、溫度檢測電路、A/D轉(zhuǎn)換、 D/A轉(zhuǎn)換輸出、RS232通信和控制電路(外圍設(shè)備的譯碼、配置,實現(xiàn)系統(tǒng)的硬件軟件化)等模塊。


          溫度傳感器測量外部溫度信息,在的控制下,把A/D轉(zhuǎn)換后的數(shù)字信號送入微處理器中進(jìn)行處理,同時通過LCD顯示處理信息,由網(wǎng)絡(luò)接121 遠(yuǎn)程監(jiān)控。當(dāng)然,現(xiàn)場也可由鍵盤實時人工干預(yù)。經(jīng)ARM微處理器處理的數(shù)據(jù)通過RS232串口傳送到上位機(jī)進(jìn)行顯示存儲。當(dāng)然,工作過程中若出現(xiàn)錯誤,會產(chǎn)生聲光報警等。同時,鍵盤還可現(xiàn)場干預(yù)設(shè)置,處理故障等。

          這里ARM微處理器選用ATMEL公司32位的AT91M40800。AT91M40800除具有ARM7TDMI內(nèi)核外,其內(nèi)部還集成有許多外圍設(shè)備,大量內(nèi)部寄存器可快速完成中斷處理。由于AT91M40800微處理器通過可編程的EBI與片外存儲器相連,使其具有較快的訪問速度;同時它還具有8個優(yōu)先級向量中斷控制器與外部數(shù)據(jù)控制器連接,進(jìn)而提高中斷響應(yīng)速度。因此,AT91M40800微處理器非常適用于工業(yè)實時控制領(lǐng)域,是嵌入式工業(yè)控制器中處理器的最佳選擇。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: ARM CPLD 溫度控制器

          評論


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