基于CAN總線分布式網(wǎng)架健康狀態(tài)監(jiān)測系統(tǒng)
相對于傳統(tǒng)的485總線來講,控制器局域網(wǎng)CAN(Controller Area Network)作為現(xiàn)場總線的一種,以其分時多主、非破壞性總線仲裁和自動檢錯重發(fā)等靈活、可靠的通信技術(shù)解決了485總線現(xiàn)場調(diào)試困難、開發(fā)周期長等問題[1]。尤其在較為艱苦的安裝環(huán)境中,其高效的現(xiàn)場調(diào)試性能顯得尤為實用。作為一種分散式、數(shù)字化、雙向多點、具有高速率高可靠性特點的通信系統(tǒng),CAN可以構(gòu)建靈活的多主通訊機制,也可以建立主從式結(jié)構(gòu),而且這兩種方式下的硬件物理聯(lián)接完全相同。其自動進行數(shù)據(jù)編碼、CRC冗余校驗、出錯自動重發(fā)的功能保證了數(shù)據(jù)的準確率,某一節(jié)點嚴重出錯時能自動脫離總線保證了系統(tǒng)的穩(wěn)定性,且其具有極強的帶負載能力,可驅(qū)動多達110個節(jié)點,可滿足本系統(tǒng)高速、精確、多負載的要求。
1 采集卡硬件電路的設(shè)計
1.1 CAN總線分布式系統(tǒng)結(jié)構(gòu)設(shè)計
系統(tǒng)結(jié)構(gòu)如圖1所示。本系統(tǒng)由上位監(jiān)控PC機、CAN總線適配卡和控制單元三部分組成。上位監(jiān)控PCs機采用IBM-PC兼容機,主要負責(zé)對系統(tǒng)數(shù)據(jù)的接收與管理、控制命令的發(fā)送以及各控制單元動態(tài)參數(shù)和設(shè)備狀態(tài)的實時顯示;CAN總線適配卡可以使PC機方便地連接到CAN總線上;控制單元以單片機為核心,主要負責(zé)對現(xiàn)場的環(huán)境參數(shù)和設(shè)備狀態(tài)進行監(jiān)測,對采集來的數(shù)據(jù)進行打包處理并將處理過的數(shù)字信號通過CAN通信控制器SJA1000送入CAN總線。
1.2 控制單元模塊設(shè)計及關(guān)鍵問題的解決
控制單元的主要功能是將現(xiàn)場采集的模擬信號轉(zhuǎn)換成數(shù)字信號,通過CPU處理后再由CAN總線控制器打包送上CAN總線以便上位機接收處理;接收上位機控制信號,實現(xiàn)現(xiàn)場控制的具體操作。具體需要解決的問題為:①CAN模塊設(shè)計;②A/D模塊設(shè)計。
1.2.1 CAN模塊設(shè)計
控制單元以8位單片機AT89C51為核心,選用器件SJA1000作為CAN控制器,并選用芯片82C250和6N137作為CAN控制器接口和光耦隔離。硬件電路如圖2所示。
系統(tǒng)采用的CAN總線通信控制器SJA1000是PHILIPS公司生產(chǎn)的一種獨立式CAN器件,其原理框圖如圖3所示。它與CAN2.OB相兼容[1],同時支持11位(BasicCAN模式)和29位(PeliCAN模式)識別碼。
圖2中AT89C51單片機的ALE、WR、RD端分別控制SJA1000的ALE/AS、WR、RD端,地址和數(shù)據(jù)線ADO~AD7由P0口分時復(fù)用實現(xiàn)。SJA1000的中斷請求信號INT在中斷允許且有中斷發(fā)生時,由高電來此跳變到低電平,所以INT和AT89C51的INT0直接相連。片選信號CS由GAL譯碼電路控制,當CS接到低電平時,SJA1000被選中,CPU可對SJA1000進行讀/寫操作。為了增強控制節(jié)點的抗干擾能力,防止線路間串擾,SJA1000通過光耦6N137與82C250相連,從而使總線上各個CAN節(jié)點之間實現(xiàn)隔離,以保護CAN控制器正常工作。82C250是CAN總線收發(fā)器,是CAN控制器SJA1000正常工作與CAN總線的接口器件,對CAN總線以差分方式發(fā)送。其引腳RS用于選擇82C250的工作模式(高速、斜率控制或等待)。RS腳接地,82C250工作于高速方式,RS腳串接一個電阻R后再接地,若82C250處于CAN總線的網(wǎng)絡(luò)終端,總線接口部分必須加一個120Ω的匹配電阻,以保護82C250免受過流的沖擊。
1.2.2 A/D模塊設(shè)計
A/D芯片選用12位高速采集芯片AD574。在本設(shè)計中,A/D模塊的功能是將外部模擬信號通過AD574轉(zhuǎn)換成數(shù)字信號后并行輸入到AT89C51,然后AT89C51將其打包,并行輸出至CAN總線通信控制器SJA1000,經(jīng)總線收發(fā)器至CAN總線。其監(jiān)控電路采用DS1232,它具有電源監(jiān)控、手動復(fù)位和看門狗功能,還能同時輸出高低電平的兩路復(fù)位信號,分別輸出至AT89C51和SJA1000的復(fù)位端,以滿足本次設(shè)計的要求。
評論