基于CAN總線的多路電源智能智能監(jiān)控系統(tǒng)
3 智能節(jié)點(diǎn)的硬件設(shè)計(jì)
智能節(jié)點(diǎn)硬件框圖見圖2。由于智能節(jié)點(diǎn)在同一時(shí)間可能要進(jìn)行很多動(dòng)作,如數(shù)據(jù)的采集,與上位機(jī)的通信,界面的顯示等,為了保證數(shù)據(jù)的正確采集和可靠傳輸,本系統(tǒng)采用雙MCU結(jié)構(gòu),從MCU負(fù)責(zé)數(shù)據(jù)的采集、保存和報(bào)警功能。而主MCU負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā),現(xiàn)場(chǎng)的界面顯示等功能。主、從MCU都采用AT89C55。其內(nèi)部具有20K的EPROM,并且自帶看門狗電路,簡(jiǎn)化了電路連接,提高了系統(tǒng)的抗干擾性。它具有雙DPTR結(jié)構(gòu),從而使片外尋址的編程更加靈活和簡(jiǎn)化。
ADC8016是逐次比較式16路8位A/D轉(zhuǎn)換器。它包含有一個(gè)8位A/D轉(zhuǎn)換器和16路的單端模擬信號(hào)多路轉(zhuǎn)換開關(guān)。在一個(gè)智能節(jié)點(diǎn)中需要4塊ADC8016對(duì)64路的數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
由于電壓、電流和溫度信號(hào)是通過分流器變換成電壓量之后才進(jìn)行采集的。由于分流器變換出來的電壓量是毫伏級(jí)的,而ADC8016的輸入范圍是0~5V,所以由分流器變換出來的電壓量要通過信號(hào)放大電路之后才進(jìn)入AD轉(zhuǎn)換器。信號(hào)放大電路由兩級(jí)的運(yùn)算放大器構(gòu)成,從而提高了系統(tǒng)的精度。
為了提高系統(tǒng)的抗干擾能力,在數(shù)據(jù)采集芯片ADC0816和AT87C55之間加入光耦隔離。要注意的是,這里要采用快速光耦,因?yàn)槿绻捎霉怦畹拈_關(guān)速度太慢,由ADC出來的數(shù)據(jù)是傳送不到采集MCU那邊的。因此我們采用了快速光耦6N137。而現(xiàn)場(chǎng)報(bào)警的功能是通過蜂鳴器來實(shí)現(xiàn)。
主、從MCU之間的數(shù)據(jù)、信息的傳遞是通過雙口RAM(CY7C007)來實(shí)現(xiàn)的。從MCU采集到的數(shù)據(jù)儲(chǔ)存到雙口RAM中,主MCU在適當(dāng)時(shí)候從雙口RAM中取出數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行發(fā)送。為了保證采集的數(shù)據(jù)不因下位機(jī)掉電或其他故障而丟失,主MCU在數(shù)據(jù)發(fā)送之前,先把數(shù)據(jù)存放在掉電非易失存儲(chǔ)器里。在CY7C007中地址最高的兩個(gè)字節(jié)7FFE、7FFF和兩邊的INTL、INTR引腳可作為左右兩邊的控制信號(hào)來用。當(dāng)左邊向7FFE寫數(shù)據(jù)時(shí),右邊的INTR引腳會(huì)變低,當(dāng)右邊向7FFE讀數(shù)據(jù)時(shí),INTR引腳復(fù)位,而INTR引腳是低電平有效的。對(duì)7FFF做類似的操作時(shí),INTL引腳也會(huì)有同樣的功能。而本系統(tǒng)中,就是根據(jù)CY7C007這一特點(diǎn),把CY7C007的INTR引腳連到主MCU的INT0引腳。當(dāng)從MCU檢測(cè)到有故障時(shí),就向雙口RAM的7FFE寫數(shù)據(jù),從而向主MCU發(fā)出報(bào)警信號(hào),讓MCU馬上進(jìn)入中斷,進(jìn)行相應(yīng)的處理。
評(píng)論