0.引言
現場總線技術和智能化儀表技術是目前自動與控制行業(yè)發(fā)展最快的兩大技術。在現場總線技術中,CAN總線是發(fā)展較為迅速的一種協(xié)議標準,已經被廣泛應用于自動化領域。本文介紹的是一種基于CAN總線的智能變送系統(tǒng)??刂破骶钟蚓W(ControllerAreaNetwork,CAN)是德國Bosch公司在 20世紀80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發(fā)的一種數據通信協(xié)議。CAN總線能有效地支持分布式控制或實時控制的串行通信網絡。通信介質可以是雙絞線、同軸電纜和光導纖維。
1 系統(tǒng)網絡構成
為滿足該控制系統(tǒng)既要集中管理又要分散控制的要求,基于CAN總線的電流、電壓變送系統(tǒng)采用總線式網絡拓撲結構,結構簡單且成本低。其網絡組成方式如圖1所示。
圖1. CAN總線的電流/電壓變送系統(tǒng)總體結構。
現場CAN智能變送節(jié)點以微控制器為核心,配有CAN通信接口,其主要功能是采集各現場設備的實時數據,并通過CAN總線將采集的數據交送給監(jiān)控站,供監(jiān)控站獲得采集數據的基本信息,從而進行數據分析。監(jiān)控站(PC機)通過插槽中的CAN2PC總線適配卡實現與CAN智能測控節(jié)點的通信。在該系統(tǒng)結構中,并沒有采用多主結構方式,而是采用了一主多從的網絡架構。該方式在一定程度上減輕了網絡的負荷。
2 CAN智能變送節(jié)點的硬件設計
CAN智能變送節(jié)點具有現場數據采集、控制以及與CAN總線通信功能。該節(jié)點以Microchip公司生產的具有較高性價比的8bit增強型帶CAN控制器的Flash單片機PIC18F258為核心。該內置CAN模塊兼容于ISO的CAN性能測試要求,位速率最大為1Mb/s,執(zhí)行CAN2.0B協(xié)議規(guī)范。變送器節(jié)點主要由信號調理單元、A/D采集模塊、單片機控制器和CAN總線通信模塊4部分組成。該智能變送節(jié)點面向的檢測對象主要是工業(yè)上使用的標準電流信號(420mA/020mA/010mA)和電壓信號(05V/010V/±5V/±10V)。首先,電流、電壓信號通過多路開關選擇相應通道,進入信號調理環(huán)節(jié),將信號轉換成ADC可以接受同時又能有效利用ADC輸入范圍的電壓信號。調理后的信號經過A/D轉換,實現對原模擬信號的數字轉換。并通過單片機I/O口存儲到其內部相應RAM區(qū),對數據進行相應的軟件濾波設計。當上位機發(fā)出命令,要求下位機回送采集數據時,下位機利用CAN總線接口單元將采集數據等基本信息發(fā)送到CAN總線上。圖2為系統(tǒng)結構的總體框圖。
圖2 系統(tǒng)結構框圖。
2.1 檢測電路設計
由于該系統(tǒng)對于電壓、電流檢測所要求的精度較高,在系統(tǒng)設計時并沒有采用PIC18F258內置的10bitADC,而是采用美國Maxim公司生產的逐次逼近型16bit模數轉換器MAX1166作為外置ADC.該芯片片內除集成了逐次逼近型ADC所必須的逐次逼近寄存器SAR、高精度比較器和控制邏輯外,還集成了時鐘、4.096V精密參考源和接口電路。MAX1166的數據總線為8bit,故與目前廣泛使用的8bit微處理器連接非常方便。在該系統(tǒng)設計中,如何實現多種電壓、電流信號檢測方案的設計是重點之一。
2.1.1 電流檢測原理
被檢測電流經過電流檢測芯片MAX472內置采樣電阻RSENSE轉換為電壓信號,MAX951進行信號運算,將其轉換為符合ADC模擬電壓輸入范圍的信號(05V)。圖3為420mA電流的檢測原理圖。
圖3 420mA電流檢測原理。
MAX472輸出電流為IOUT=ILOADRSENSE/RG1(1)
由此得輸出電壓為UOUT=ILOADROUTRSENSE/RG1(2)
式中RSENSE——檢測電阻ILOAD——檢測電流RG1——增益電阻ROUT——OUT腳輸出電阻由于電流檢測電路是把輸入的小信號電流轉換為適合 A/D轉換的電壓信號。故UOUT的范圍已經被確定為ADC可允許輸入的最大電壓范圍。將UOUT代入式(2),依據UOUT輸出范圍和RSENSE、 ILOAD及RG值,可得ROUT值。420mA電流經過MAX472被轉換為1.256.25V.MAX951對該信號進行了相應的減法運算,從而得到 05V.對于020mA/010mA可通過類似方法得到ROUT阻值,從而得到相應UOUT.2.1.2電壓檢測原理。電壓信號的處理主要是采用電阻分壓的方法。通過對輸入端子進行不同的輸入,使得經過分壓后的電壓達到ADC要求的輸入范圍,從而滿足不同電壓范圍輸入的要求。電壓檢測原理如圖4所示。根據 UO電壓推算INA、INB、INC輸入范圍,它們所對應的INA、INB、INC輸入方法如表1所示。
圖4電壓檢測原理。
表1電壓輸入對應表。注:本系統(tǒng)設計中Uref=5V.
2.2 CAN總線通信硬件電路設計
CAN控制器采用單片機的內置CAN控制器,其接口電路使用CAN收發(fā)器PCA82C250、電源隔離模塊和高速光電隔離器6N137,并采用保護電路。 PCA82C250是Philips公司生產的CAN收發(fā)器,是CAN控制器和物理總線間的接口,用來提高總線驅動和通信抗干擾能力。其差分接收器共模抑制比寬,抗電磁干擾。它與ISO11898標準兼容,速度高達1Mb/s,抗汽車環(huán)境下的瞬間干擾。它內部有總線保護電路和限流電路,并具有電流待機工作方式和降低射頻干擾的斜率控制。采用PCA82C250可以最多連接110個節(jié)點,并且未上電的節(jié)點對總線無影響。
信號在傳輸線上遠距離傳送時,如果遇到阻抗不連續(xù)的情況時,就會出現反射現象使信號扭曲,通常在傳輸線的末端接上120Ω的終端電阻來消除反射。為了保證信號質量,PCA82C250與CAN總線的接口部分采用了一定的安全和抗干擾措施。PCA82C250的內部CANH和CANL引腳各自通過一個5Ω的電阻與CAN總線相連,該電阻可以起到一定的限流的作用,使引腳免受過電流的沖擊;總線與地各自并聯一個30pF的小電容,具有一定的防電磁輻射和抗高頻干擾的功能;在總線和地之間分別反接一個IN4148反向保護二極管,起過壓保護作用。[!--empirenews.page--]
3 CAN智能變送節(jié)點的軟件設計
3.1 主程序系統(tǒng)初始化
主要包括I/O口、CAN控制器、中斷以及用戶標志數據的初始化。該過程主要對PIC18F258的基本資源進行配置定義,將復用的PORTA資源配置為通用數字I/O口,并通過設置其輸入輸出特性,保證MAX1166的輸入、輸出以及控制信號引腳都得以正確配置,開啟相應的中斷源,配置CAN接口,用戶標志數據賦初值,初始化過程結束。通過設置模擬信號輸入的相應數據通道后,單片機上電即開始進行電流、電壓信號的檢測。上位機一旦發(fā)送命令請求下位機回送采集數據等相關信息后,下位機馬上產生中斷,回送一幀數據信息。監(jiān)控流程圖如圖5所示。
圖5系統(tǒng)監(jiān)控流程圖。
3.2 A/D轉換模塊軟件設計
A/D轉換是通過MAX1166實現的。MAX1166的一次轉換過程可分為轉換準備、模數轉換和轉換結果輸出3個階段。PIC18F258通過I/O口時序模擬MAX1166的控制信號,從而使MAX1166正常工作。MAX1166具體控制過程如圖6所示。
圖6 ADC轉換流程圖。
3.3CAN總線通信模塊軟件設計
該系統(tǒng)設計中,變送器節(jié)點以中斷方式接收上位機所發(fā)送命令,回答被放在中斷服務程序中進行,數據傳輸方式采用CAN總線。當上位機發(fā)送命令要求下位機回送數據信息時,下位機立即進入中斷服務程序(該接收中斷被定義為高優(yōu)先級中斷),發(fā)送采集數據等基本信息。圖7為CAN總線發(fā)送的流程圖。
圖7 CAN總線發(fā)送流程圖。
4上位機通信界面
上位機采用周立功公司的PCI5121適配卡與變送器節(jié)點進行通信。測試軟件采用ZLG2CANTest,通過正確設置波特率、數據通道、幀格式、幀類型以及ID,可以實現上、下位機的通信。通信界面如圖8所示。
圖8 上位機通信界面。
5 結束語
本文所設計的智能變送系統(tǒng)實現了通用電流、電壓的檢測功能,采用CAN總線通信方式。系統(tǒng)結構簡單,安裝維護方便。數據采集精度基本達到預期指標,控制精度較高。該系統(tǒng)通過硬件抗干擾措施和軟件濾波,有望進一步提高各項性能指標。