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