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