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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于CAN總線的多路電源智能智能監(jiān)控系統(tǒng)

          基于CAN總線的多路電源智能智能監(jiān)控系統(tǒng)

          作者: 時間:2009-12-23 來源:網(wǎng)絡 收藏

          3 智能節(jié)點的硬件設計
          智能節(jié)點硬件框圖見圖2。由于智能節(jié)點在同一時間可能要進行很多動作,如數(shù)據(jù)的采集,與上位機的通信,界面的顯示等,為了保證數(shù)據(jù)的正確采集和可靠傳輸,本系統(tǒng)采用雙MCU結(jié)構(gòu),從MCU負責數(shù)據(jù)的采集、保存和報警功能。而主MCU負責數(shù)據(jù)的轉(zhuǎn)發(fā),現(xiàn)場的界面顯示等功能。主、從MCU都采用AT89C55。其內(nèi)部具有20K的EPROM,并且自帶看門狗電路,簡化了電路連接,提高了系統(tǒng)的抗干擾性。它具有雙DPTR結(jié)構(gòu),從而使片外尋址的編程更加靈活和簡化。
          ADC8016是逐次比較式16路8位A/D轉(zhuǎn)換器。它包含有一個8位A/D轉(zhuǎn)換器和16路的單端模擬信號多路轉(zhuǎn)換開關。在一個智能節(jié)點中需要4塊ADC8016對64路的數(shù)據(jù)進行轉(zhuǎn)換。
          由于電壓、電流和溫度信號是通過分流器變換成電壓量之后才進行采集的。由于分流器變換出來的電壓量是毫伏級的,而ADC8016的輸入范圍是0~5V,所以由分流器變換出來的電壓量要通過信號放大電路之后才進入AD轉(zhuǎn)換器。信號放大電路由兩級的運算放大器構(gòu)成,從而提高了系統(tǒng)的精度。
          為了提高系統(tǒng)的抗干擾能力,在數(shù)據(jù)采集芯片ADC0816和AT87C55之間加入光耦隔離。要注意的是,這里要采用快速光耦,因為如果采用光耦的開關速度太慢,由ADC出來的數(shù)據(jù)是傳送不到采集MCU那邊的。因此我們采用了快速光耦6N137。而現(xiàn)場報警的功能是通過蜂鳴器來實現(xiàn)。

          主、從MCU之間的數(shù)據(jù)、信息的傳遞是通過雙口RAM(CY7C007)來實現(xiàn)的。從MCU采集到的數(shù)據(jù)儲存到雙口RAM中,主MCU在適當時候從雙口RAM中取出數(shù)據(jù),并對數(shù)據(jù)進行發(fā)送。為了保證采集的數(shù)據(jù)不因下位機掉電或其他故障而丟失,主MCU在數(shù)據(jù)發(fā)送之前,先把數(shù)據(jù)存放在掉電非易失存儲器里。在CY7C007中地址最高的兩個字節(jié)7FFE、7FFF和兩邊的INTL、INTR引腳可作為左右兩邊的控制信號來用。當左邊向7FFE寫數(shù)據(jù)時,右邊的INTR引腳會變低,當右邊向7FFE讀數(shù)據(jù)時,INTR引腳復位,而INTR引腳是低電平有效的。對7FFF做類似的操作時,INTL引腳也會有同樣的功能。而本系統(tǒng)中,就是根據(jù)CY7C007這一特點,把CY7C007的INTR引腳連到主MCU的INT0引腳。當從MCU檢測到有故障時,就向雙口RAM的7FFE寫數(shù)據(jù),從而向主MCU發(fā)出報警信號,讓MCU馬上進入中斷,進行相應的處理。



          評論


          相關推薦

          推薦視頻

          更多>>

          技術專區(qū)

          關閉
          看屁屁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); })();