0?引言
??? 現場總線能同時滿足過程控制和制造業自動化的需求,成為工業數據總線領域最為活躍的技術之一。CAN(Controller Area Network,即控制器局域網)現場總線以其多主方式,報文自動過濾重發、極低的誤碼率和高通訊速率等特點,在各種低成本、高抗干擾的多機遠程監控系統中得到廣泛應用。
??? CAN總線屬于總線式帶同步位的串行通信網絡,由于采用了許多新技術以及獨特的設計,與一般的通信總線相比,CAN總線在遠距離數據通信上具有突出的可靠性、實時性和靈活性。CAN的直接通信距離最遠可達lOkm(通信速率5Kbps以下),通信速率最高可達lMbps(通信距離最長40m)。但在實際的遠程傳輸過程中,通信數據受許多因素的影響,致使傳輸的波形失真,達不到預期的效果。本文針對CAN總線遠程傳輸的可靠性進行了設計與分析。
1 遠程CAN總線傳輸可靠性的主要影響因素
??? (1)工作環境電磁干擾的影響。
??? (2)傳輸介質分布電容和電阻的影響。
??? (3)遠近端阻抗不匹配的影響。
??? (4)接收同步位端的相位變化和幅值變化的影響。
??? (5)傳送波特率位時鐘設計的影響。
??? (6)沒有發送和接收幀的節點之問高阻狀態性的漏電對CAN總線的影響。
??? (7)對總線短路和斷路監測處理的影響。
2 遠程CAN總線傳輸可靠性的設計方法
??? 系統運行在復雜的電磁空問里,有外界的各種電磁場變化,也有系統內部各個元器件之間的電磁干擾。尤其工作現場的電磁場環境是最容易干擾系統的可靠性。因此系統數據傳輸過程采用屏蔽雙絞線,它綜合了屏蔽線和雙絞線兩者的優點,是較理想的信號傳輸線,即可以抑制靜電干擾,也可以抑制電磁感應干擾,從而提高系統的可靠性。
??? 元器件是構成系統的基礎,選擇集成化程度高,抗干擾能力強,功耗又小的電子元器件尤為重要。選擇合適的MCU是CAN總線控制系統設計成功的關鍵。在綜合比較了當前業界流行的幾款MCU最終選擇了Silicon Laboratories公司的C8051F040這款8位單片機作為CAN總線控制系統的控制核心。
??? C8051F040(以下簡稱F040)單片機是完全集成的混合信號系統級芯片,具有與MCS一5l完全兼容的指令內核。由于采用了流水線處理技術,大大提高了指令執行效率。F040還采用了Flash ROM技術,集成了JTAG,實現了真正的在線編程和片上調試。它比SJAl000等片外CAN總線控制器具有更好的可靠性和集成度高的特點。F040的CAN控制器完全硬件化,解決了CPU與CAN,總線控制器之間的競爭矛盾。
??? 在主機CAN節點中,如圖1所示,選擇Silicon Laboratories公司的USB轉UART橋接芯片CP2101,內部自帶512B收發緩沖器,進一步從芯片本身上解決了數據沖突的問題。它還有300bps至921.6Kbps的波特率變化范圍,滿足高速通訊要求,外圍電路十分簡單;另外,CP2101還集成了5V轉3V電壓調節器,可以由USB總線來對整個主機節點供電,這樣整個電路就只需一根USB連線即可實現與PC機通訊,無需額外電源,即插即用,十分方便。
??? 圖1主機CAN節點的硬件連接圖(參見下頁)
??? ADuMl20l是ADI公司生產的隔離器,采用平面磁場專利隔離技術,取消了光電耦合器中的光電轉換過程。因此ADuMl201具有優于光電隔離器的優點:速度更高(最高速率達到25 Mbps)、功耗更低(最小工作電流為0.8mA)、性能更高、體積更小、價格更便宜、應用更靈活(多通道數字隔離器能在同一芯片內提供發送和接收通道)。選擇ADuMl201用來實現CAN控制器和CAN驅動器之問的電氣隔離,增強系統的穩定性,提高了系統的抗干擾能力。
??? 為了進一步提高系統的遠程通訊可靠性,選擇TI公司生產的芯片SN65HVD251作為CAN總線收發器。SN65HVD251能以高達1Mbps的速度提供到總線的差動傳輸功能,以及到CAN控制器的差動接收功能。具有差分收發能力、高抗電磁干擾、超小封裝、低功耗性能。與F040配合使用,可使外圍電路更加簡潔,如圖2所示。
??? CAN收發器SN65HVD251在CANH和CANL輸出引腳間并聯一個電阻,作為CAN總線的終端電阻,在本節點作CAN總線終端節點時,閉合跳線片JPl,使終端電阻工作。終端電阻值R6等于傳輸電纜的特性阻抗,一般取值120Ω在文獻中有詳細的討論,解決了遠近端阻抗不匹配的影響。SN65HVD25l的Rs引腳為斜率電阻輸入引腳,可以改變收發器工作的方式。在CANH和CANL上各自串聯電阻R2、R3限流,再通過一組上下拉電阻R4、R5,有效抑制反射波干擾,保持總線處于高阻態時,接收端收到的始終是“l”電平,這樣拉高信號的幅度,減少誤碼率。另外在CANH年NCANL之間并聯一對方向相反的瞬態二極管Dl、D2,可防雷擊,以及防止其他總線上的瞬變干擾。
3 整體系統設計
??? 依據以上器件組建一個可靠的CAN總線遠程控制系統網絡平臺。本系統由一個主機CAN節點通過USB接口與上位PC機相連,主節點采用總線方式與下面各個功能節點連接,如圖3所示,其中主機CAN節點主要用來發送遠程控制廣播命令,收集所有節點傳來的數據,并上傳給上位機軟件進行識別分類和統計,它實現了總線偵聽、網絡監控和上位機接口功能。而底層節點則控制系統中的底層設備,發送包含節點信息的8字節數據CAN總線報文,并偵聽主機節點的網絡廣播指令,調整節點功能。
??? 圖3 CAN總線控制系統多機測試平臺
4 實驗分析
4.1 不同公里數通訊結果分析
??? 將系統總線與模擬的1公里一5公里遠程網絡相連。為了更好分析CAN總線可靠性,使示波器更好的觀察報文波形。將示波器CHl兩端與距主節點0公里處相連,CH2兩端與距主節點5公里處相連,如圖4所示。這樣,可以觀察到相對主機CAN節點5公里通訊的近端(CHl)和遠端(CH2)的通訊報文波形。
??? CHl測試出來的波形位于上端,CH2測試的波形位于下端。CHl端標識為1的一段波形是主節點發出的報文,2是位于CH2端底層節點接收到的報文,4是底層節點發出的數據報文,3是主機CAN節點接收到的數據,稱1和2、3和4為一組報文。每幀數據的最后一位是應答位。每兩幀報文之間有時間間隙,其中一段是主機CAN節點和上位PC機處理數據的時間,另外一段是底層測量節點處理數據的時間。
??? 經過觀察,近端發送的1報文經過5公里距離到遠端接收到的2報文的幅值發生了衰減;同樣近端收到的3報文也在遠端4報文的幅值基礎上發生衰減。分別測試1公里到4公里通訊的波形圖,可以發現通訊距離越長,幅值衰減得越多。
?? 在其他條件不變的情況下,分別對1公里一5公里做實驗,發現遠程通訊距離的變化會對報文傳輸速率有影響但很小,將得出的數據制表如表1
?
??? 由表1可見,1公里處傳輸速率最大,每秒傳輸13.2972I幀,即0.0752秒傳輸一幀數據,所謂一幀實際一次發送,一次接收,對于CAN總線實際是2幀。隨著傳輸距離的增大,傳輸速率稍有減小的趨勢,說明遠程傳輸有一定的網絡時延, 但是在低波特率下影響不大。
4.2 相同公里數不同測試點通訊結果
??? 接下來以通訊5公里距離為例,觀察將CHl兩端連接到0公里處的測試點,CH2兩端連接到1公里、2公里、3公里、4公里、5公里處的測試點,可以看到報文波形幅值發生了相應的變化。經過1公里的衰減,同一組報文幅值降低了約O.2V;2公里距離的通訊會造成同一組報文幅值上發生約0.4V的變化;同理3公里、4公里、5公里傳輸同一組報文分別發生了0.6V、0.8V和lV的幅值衰減。因此可以得出結論:同一組報文每經過l公里距離通訊,報文信號的幅值即發生0.2V的衰減。
4.3 CAN收發器SN65FIVD251工作電壓的影響
??? 在實驗的過程中,觀察到SN65HVD251工作電壓VCC端的大小對于傳輸距離的影響很大,經過大量的實驗,得出1-5公里距離成功通訊的VCC臨界電壓值(精確到O.1V),所謂臨界電壓值是在確定距離內能正常傳送數據的最小值。如表2所示。
??? 從表中可以得出,保證l公里成功通訊的前提是VCC端電壓大于等于3.6V。VCC端電壓越高,可以通訊的距離越遠,在1-5公里實驗中,每增加1公里,VCC端電壓相應提高了約0.3V。最高VCC不能高過SN65HVD251的最高工作電壓7V。
??? 遠程通訊距離對于報文信號的幅值有比較大的影響,每公里約衰減O.2V;同時CAN收發器SN65HVD251的輸入電壓對于遠程通訊距離有一定的影響,確保在電壓正常范圍內的高電壓輸入可以提高系統的遠程通訊距離。電源電壓每提高0.3V可延長1公里,而增加1公里損耗0.2V,余下的0.1V由驅動芯片內部所消耗了。
5 CAN總線遠程控制網絡的性能總結
??? CAN總線傳輸距離在驅動芯片工作電壓和傳送波特率確定之后,主要決定如下二個因素:(1) 發送端的應答位的隱性電壓和接收端把隱形變成顯性電平以后又傳送到發送端時的電平差值;(2)發送端發的應答位到接收端被確認后又發回到發送端時該位相位變化。前者電平差值為0.6V,后者不能滯后每位的時間的一半。0.6V電平差比RS485、RS422識別“l”和“0”差值100mv要大很多。這也就是說同樣傳送條件下,RS485比CAN總線傳送距離遠。同樣RS485、RS422因閾值過小,易受干擾。另外CAN總線其他性能優于RS485和RS422,如CRC硬化,可以多主通訊機構,以及多層已硬化的上層協議等。RS485的誤碼率10—7,CAN總線誤碼率可達2×10一ll。因此要提高遠程傳送可靠性可以采取如下方法:
??? (1)增加驅動芯片的工作電壓。
??? (2)降低發送的波特率,減少相位滯后的影響。
??? (3)使用更粗雙絞線,減小通訊導線電阻,從而減少傳送損耗。
??? (4)用兩個驅動芯片并聯驅動,減少驅動芯片的內阻,提高驅動電流,即減少0.1V內部損耗。
??? (5)選用分布電容較小的雙絞線,降低分布電容對同步位相位的影響。
??? 總體來說, 本文設計的CAN總線控制系統無論從可靠性,還是從其他性能指標上來分析,都達到了很好的效果。并且在拉西瓦水電站邊坡監測系統中承擔數據采集通訊的任務。
評論