引言
現(xiàn)場(chǎng)總線是指以工廠內(nèi)的測(cè)量和控制機(jī)器間的數(shù)字通訊為主的網(wǎng)絡(luò),也稱現(xiàn)場(chǎng)網(wǎng)絡(luò)。也就是將傳感器、各種操作終端和控制器間的通訊及控制器之間的通訊進(jìn)行特化的網(wǎng)絡(luò)。原來這些機(jī)器間的主體配線是ON/OFF、接點(diǎn)信號(hào)和模擬信號(hào),通過通訊的數(shù)字化,使時(shí)間分割、多重化、多點(diǎn)化成為可能,從而實(shí)現(xiàn)高性能化、高可靠化、保養(yǎng)簡(jiǎn)便化、節(jié)省配線(配線的共享)。CAN(Controller Area Network,即控制器局域網(wǎng))現(xiàn)場(chǎng)總線以其多主方式,報(bào)文自動(dòng)過濾重發(fā)、極低的誤碼率和高通訊速率等特點(diǎn),在各種低成本、高抗干擾的多機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)中得到廣泛應(yīng)用。CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡(jiǎn)稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國(guó)BOSCH公司開發(fā)了的,并最終成為國(guó)際標(biāo)準(zhǔn)(ISO118?8)。是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。 在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計(jì)算機(jī)控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標(biāo)準(zhǔn)總線,并且擁有以CAN為底層協(xié)議專為大型貨車和重工機(jī)械車輛設(shè)計(jì)的J1939協(xié)議。近年來,其所具有的高可靠性和良好的錯(cuò)誤檢測(cè)能力受到重視,被廣泛應(yīng)用于汽車計(jì)算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動(dòng)大的工業(yè)環(huán)境。
CAN總線屬于總線式帶同步位的串行通信網(wǎng)絡(luò),由于采用了許多新技術(shù)以及獨(dú)特的設(shè)計(jì),與一般的通信總線相比,CAN總線在遠(yuǎn)距離數(shù)據(jù)通信上具有突出的可靠性、實(shí)時(shí)性和靈活性。CAN的直接通信距離最遠(yuǎn)可達(dá)lOkm(通信速率5Kbps以下),通信速率最高可達(dá)lMbps(通信距離最長(zhǎng)40m)。CAN總線通過CAN收發(fā)器接口芯片82C250的兩個(gè)輸出端CANH和CANL與物理總線相連,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài),CANL端只能是低電平或懸浮狀態(tài)。這就保證不會(huì)在出現(xiàn)在RS-485網(wǎng)絡(luò)中的現(xiàn)象,即當(dāng)系統(tǒng)有錯(cuò)誤,出現(xiàn)多節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),導(dǎo)致總線呈現(xiàn)短路,從而損壞某些節(jié)點(diǎn)的現(xiàn)象。而且CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響,從而保證不會(huì)出現(xiàn)象在網(wǎng)絡(luò)中,因個(gè)別節(jié)點(diǎn)出現(xiàn)問題,使得總線處于“死鎖”狀態(tài)。而且,CAN具有的完善的通信協(xié)議可由CAN控制器芯片及其接口芯片來實(shí)現(xiàn),從而大大降低系統(tǒng)開發(fā)難度,縮短了開發(fā)周期,這些是僅有電氣協(xié)議的RS-485所無(wú)法比擬的。
1 遠(yuǎn)程CAN總線傳輸可靠性的主要影響因素
(1)工作環(huán)境電磁干擾的影響。
(3)遠(yuǎn)近端阻抗不匹配的影響。
(4)接收同步位端的相位變化和幅值變化的影響。
(5)傳送波特率位時(shí)鐘設(shè)計(jì)的影響。
(6)沒有發(fā)送和接收幀的節(jié)點(diǎn)之問高阻狀態(tài)性的漏電對(duì)CAN總線的影響。
(7)對(duì)總線短路和斷路監(jiān)測(cè)處理的影響。
2 遠(yuǎn)程CAN總線傳輸可靠性的設(shè)計(jì)方法
系統(tǒng)運(yùn)行在復(fù)雜的電磁空問里,有外界的各種電磁場(chǎng)變化,也有系統(tǒng)內(nèi)部各個(gè)元器件之間的電磁干擾。尤其工作現(xiàn)場(chǎng)的電磁場(chǎng)環(huán)境是最容易干擾系統(tǒng)的可靠性。CAN總線是德國(guó)BOSCH公司從80年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。通信速率可達(dá)1MBPS。
元器件是構(gòu)成系統(tǒng)的基礎(chǔ),選擇集成化程度高,抗干擾能力強(qiáng),功耗又小的電子元器件尤為重要。選擇合適的MCU是CAN總線控制系統(tǒng)設(shè)計(jì)成功的關(guān)鍵。在綜合比較了當(dāng)前業(yè)界流行的幾款MCU最終選擇了Silicon Laboratories公司的C8051F040這款8位單片機(jī)作為CAN總線控制系統(tǒng)的控制核心。
C8051F040(以下簡(jiǎn)稱F040)單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有與MCS一5l完全兼容的指令內(nèi)核。由于采用了流水線處理技術(shù),大大提高了指令執(zhí)行效率。F040還采用了Flash ROM技術(shù),集成了JTAG,實(shí)現(xiàn)了真正的在線編程和片上調(diào)試。它比SJAl000等片外CAN總線控制器具有更好的可靠性和集成度高的特點(diǎn)。F040的CAN控制器完全硬件化,解決了CPU與CAN,總線控制器之間的競(jìng)爭(zhēng)矛盾。
在主機(jī)CAN節(jié)點(diǎn)中,如圖1所示,選擇Silicon Laboratories公司的USB轉(zhuǎn)UART橋接芯片CP2101,內(nèi)部自帶512B收發(fā)緩沖器,進(jìn)一步從芯片本身上解決了數(shù)據(jù)沖突的問題。它還有300bps至921.6Kbps的波特率變化范圍,滿足高速通訊要求,外圍電路十分簡(jiǎn)單;另外,CP2101還集成了5V轉(zhuǎn)3V電壓調(diào)節(jié)器,可以由USB總線來對(duì)整個(gè)主機(jī)節(jié)點(diǎn)供電,USB總線為通用串行總線,USB接口位于PS/2接口和串并口之間,允許外設(shè)在開機(jī)狀態(tài)下熱插拔,最多可串接下來127個(gè)外設(shè),傳輸速率可達(dá)480MB/S,P它可以向低壓設(shè)備提供5伏電源,同時(shí)可以減少PC機(jī)I/O接口數(shù)量。通用串行總線USB(universal serial bus)是由Intel、 Compaq、Digital、IBM、Microsoft、NEC、Northern Telecom等7家世界著名的計(jì)算機(jī)和通信公司共同推出的一種新型接口標(biāo)準(zhǔn)。它基于通用連接技術(shù),實(shí)現(xiàn)外設(shè)的簡(jiǎn)單快速連接,達(dá)到方便用戶、降低成本、擴(kuò)展PC連接外設(shè)范圍的目的。它可以為外設(shè)提供電源,而不像普通的使用串、并口的設(shè)備需要單獨(dú)的供電系統(tǒng)。另外,快速是USB技術(shù)的突出特點(diǎn)之一,USB的最高傳輸率可達(dá)12Mbps比串口快100倍,比并口快近10倍,而且USB還能支持多媒體
圖1主機(jī)CAN節(jié)點(diǎn)的硬件連接圖
ADuMl20l是ADI公司生產(chǎn)的隔離器,采用平面磁場(chǎng)專利隔離技術(shù),取消了光電耦合器中的光電轉(zhuǎn)換過程。因此ADuMl201具有優(yōu)于光電隔離器的優(yōu)點(diǎn):速度更高(最高速率達(dá)到25 Mbps)、功耗更低(最小工作電流為0.8mA)、性能更高、體積更小、價(jià)格更便宜、應(yīng)用更靈活。選擇ADuMl201用來實(shí)現(xiàn)CAN控制器和CAN驅(qū)動(dòng)器之問的電氣隔離,增強(qiáng)系統(tǒng)的穩(wěn)定性,提高了系統(tǒng)的抗干擾能力。
為了進(jìn)一步提高系統(tǒng)的遠(yuǎn)程通訊可靠性,選擇TI公司生產(chǎn)的芯片SN65HVD251作為CAN總線收發(fā)器。SN65HVD251能以高達(dá)1Mbps的速度提供到總線的差動(dòng)傳輸功能,以及到CAN控制器的差動(dòng)接收功能。具有差分收發(fā)能力、高抗電磁干擾、超小封裝、低功耗性能。與F040配合使用,可使外圍電路更加簡(jiǎn)潔,如圖2所示。
CAN收發(fā)器SN65HVD251在CANH和CANL輸出引腳間并聯(lián)一個(gè)電阻,作為CAN總線的終端電阻,在本節(jié)點(diǎn)作CAN總線終端節(jié)點(diǎn)時(shí),閉合跳線片JPl,使終端電阻工作。終端電阻值R6等于傳輸電纜的特性阻抗,一般取值120Ω在文獻(xiàn)中有詳細(xì)的討論,解決了遠(yuǎn)近端阻抗不匹配的影響。SN65HVD25l的Rs引腳為斜率電阻輸入引腳,可以改變收發(fā)器工作的方式。在CANH和CANL上各自串聯(lián)電阻R2、R3限流,再通過一組上下拉電阻R4、R5,有效抑制反射波干擾,保持總線處于高阻態(tài)時(shí),接收端收到的始終是“l(fā)”電平,這樣拉高信號(hào)的幅度,減少誤碼率。
3 整體系統(tǒng)設(shè)計(jì)
依據(jù)以上器件組建一個(gè)可靠的CAN總線遠(yuǎn)程控制系統(tǒng)網(wǎng)絡(luò)平臺(tái)。本系統(tǒng)由一個(gè)主機(jī)CAN節(jié)點(diǎn)通過USB接口與上位PC機(jī)相連,主節(jié)點(diǎn)采用總線方式與下面各個(gè)功能節(jié)點(diǎn)連接,如圖3所示,其中主機(jī)CAN節(jié)點(diǎn)主要用來發(fā)送遠(yuǎn)程控制廣播命令,收集所有節(jié)點(diǎn)傳來的數(shù)據(jù),并上傳給上位機(jī)軟件進(jìn)行識(shí)別分類和統(tǒng)計(jì),它實(shí)現(xiàn)了總線偵聽、網(wǎng)絡(luò)監(jiān)控和上位機(jī)接口功能。而底層節(jié)點(diǎn)則控制系統(tǒng)中的底層設(shè)備,發(fā)送包含節(jié)點(diǎn)信息的8字節(jié)數(shù)據(jù)CAN總線報(bào)文,并偵聽主機(jī)節(jié)點(diǎn)的網(wǎng)絡(luò)廣播指令,調(diào)整節(jié)點(diǎn)功能。
圖3 CAN總線控制系統(tǒng)多機(jī)測(cè)試平臺(tái)
4 實(shí)驗(yàn)分析
4.1 不同公里數(shù)通訊結(jié)果分析
將系統(tǒng)總線與模擬的1公里一5公里遠(yuǎn)程網(wǎng)絡(luò)相連。為了更好分析CAN總線可靠性,使示波器更好的觀察報(bào)文波形。將示波器CHl兩端與距主節(jié)點(diǎn)0公里處相連,CH2兩端與距主節(jié)點(diǎn)5公里處相連,如圖4所示。這樣,可以觀察到相對(duì)主機(jī)CAN節(jié)點(diǎn)5公里通訊的近端(CHl)和遠(yuǎn)端(CH2)的通訊報(bào)文波形。
CHl測(cè)試出來的波形位于上端,CH2測(cè)試的波形位于下端。CHl端標(biāo)識(shí)為1的一段波形是主節(jié)點(diǎn)發(fā)出的報(bào)文,2是位于CH2端底層節(jié)點(diǎn)接收到的報(bào)文,4是底層節(jié)點(diǎn)發(fā)出的數(shù)據(jù)報(bào)文,3是主機(jī)CAN節(jié)點(diǎn)接收到的數(shù)據(jù),稱1和2、3和4為一組報(bào)文。每幀數(shù)據(jù)的最后一位是應(yīng)答位。每?jī)蓭瑘?bào)文之間有時(shí)間間隙,其中一段是主機(jī)CAN節(jié)點(diǎn)和上位PC機(jī)處理數(shù)據(jù)的時(shí)間,另外一段是底層測(cè)量節(jié)點(diǎn)處理數(shù)據(jù)的時(shí)間。
經(jīng)過觀察,近端發(fā)送的1報(bào)文經(jīng)過5公里距離到遠(yuǎn)端接收到的2報(bào)文的幅值發(fā)生了衰減;同樣近端收到的3報(bào)文也在遠(yuǎn)端4報(bào)文的幅值基礎(chǔ)上發(fā)生衰減。分別測(cè)試1公里到4公里通訊的波形圖,可以發(fā)現(xiàn)通訊距離越長(zhǎng),幅值衰減得越多。
在其他條件不變的情況下,分別對(duì)1公里一5公里做實(shí)驗(yàn),發(fā)現(xiàn)遠(yuǎn)程通訊距離的變化會(huì)對(duì)報(bào)文傳輸速率有影響但很小,將得出的數(shù)據(jù)制表如表1。
由表1可見,1公里處傳輸速率最大,每秒傳輸13.2972I幀,即0.0752秒傳輸一幀數(shù)據(jù),所謂一幀實(shí)際一次發(fā)送,一次接收,對(duì)于CAN總線實(shí)際是2幀。隨著傳輸距離的增大,傳輸速率稍有減小的趨勢(shì),說明遠(yuǎn)程傳輸有一定的網(wǎng)絡(luò)時(shí)延, 但是在低波特率下影響不大。
4.2 相同公里數(shù)不同測(cè)試點(diǎn)通訊結(jié)果
接下來以通訊5公里距離為例,觀察將CHl兩端連接到0公里處的測(cè)試點(diǎn),CH2兩端連接到1公里、2公里、3公里、4公里、5公里處的測(cè)試點(diǎn),可以看到報(bào)文波形幅值發(fā)生了相應(yīng)的變化。經(jīng)過1公里的衰減,同一組報(bào)文幅值降低了約O.2V;2公里距離的通訊會(huì)造成同一組報(bào)文幅值上發(fā)生約0.4V的變化;同理3公里、4公里、5公里傳輸同一組報(bào)文分別發(fā)生了0.6V、0.8V和lV的幅值衰減。
4.3 CAN收發(fā)器SN65FIVD251工作電壓的影響
在實(shí)驗(yàn)的過程中,觀察到SN65HVD251工作電壓VCC端的大小對(duì)于傳輸距離的影響很大,經(jīng)過大量的實(shí)驗(yàn),得出1-5公里距離成功通訊的VCC臨界電壓值(精確到O.1V),所謂臨界電壓值是在確定距離內(nèi)能正常傳送數(shù)據(jù)的最小值。如表2所示。
從表中可以得出,保證l公里成功通訊的前提是VCC端電壓大于等于3.6V。VCC端電壓越高,可以通訊的距離越遠(yuǎn),在1-5公里實(shí)驗(yàn)中,每增加1公里,VCC端電壓相應(yīng)提高了約0.3V。
遠(yuǎn)程通訊距離對(duì)于報(bào)文信號(hào)的幅值有比較大的影響,每公里約衰減O.2V;同時(shí)CAN收發(fā)器SN65HVD251的輸入電壓對(duì)于遠(yuǎn)程通訊距離有一定的影響,確保在電壓正常范圍內(nèi)的高電壓輸入可以提高系統(tǒng)的遠(yuǎn)程通訊距離。
5 CAN總線遠(yuǎn)程控制網(wǎng)絡(luò)的性能總結(jié)
CAN總線傳輸距離在驅(qū)動(dòng)芯片工作電壓和傳送波特率確定之后,主要決定如下二個(gè)因素:(1) 發(fā)送端的應(yīng)答位的隱性電壓和接收端把隱形變成顯性電平以后又傳送到發(fā)送端時(shí)的電平差值;(2)發(fā)送端發(fā)的應(yīng)答位到接收端被確認(rèn)后又發(fā)回到發(fā)送端時(shí)該位相位變化。前者電平差值為0.6V,后者不能滯后每位的時(shí)間的一半。0.6V電平差比RS485、RS422識(shí)別“l(fā)”和“0”差值100mv要大很多。這也就是說同樣傳送條件下,RS485比CAN總線傳送距離遠(yuǎn)。同樣RS485、RS422因閾值過小,易受干擾。另外CAN總線其他性能優(yōu)于RS485和RS422,因此要提高遠(yuǎn)程傳送可靠性可以采取如下方法:
(1)增加驅(qū)動(dòng)芯片的工作電壓。
(2)降低發(fā)送的波特率,減少相位滯后的影響。
(3)使用更粗雙絞線,減小通訊導(dǎo)線電阻,從而減少傳送損耗。
(4)用兩個(gè)驅(qū)動(dòng)芯片并聯(lián)驅(qū)動(dòng),減少驅(qū)動(dòng)芯片的內(nèi)阻,提高驅(qū)動(dòng)電流,即減少0.1V內(nèi)部損耗。
(5)選用分布電容較小的雙絞線,降低分布電容對(duì)同步位相位的影響。
總體來說, 本文設(shè)計(jì)的CAN總線控制系統(tǒng)無(wú)論從可靠性,還是從其他性能指標(biāo)上來分析,都達(dá)到了很好的效果。并且在拉西瓦水電站邊坡監(jiān)測(cè)系統(tǒng)中承擔(dān)數(shù)據(jù)采集通訊的任務(wù)。
-
芯片
+關(guān)注
關(guān)注
460文章
52520瀏覽量
440942 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3673瀏覽量
107962 -
CAN總線
+關(guān)注
關(guān)注
145文章
1987瀏覽量
132870 -
串行通信
+關(guān)注
關(guān)注
4文章
588瀏覽量
36190
發(fā)布評(píng)論請(qǐng)先 登錄
基于DSP的高低速CAN總線汽車控制系統(tǒng)設(shè)計(jì)
基于CAN總線的閥門智能控制網(wǎng)絡(luò)系統(tǒng)
CAN總線協(xié)議及概念
CAN總線
如何設(shè)計(jì)一種無(wú)線路燈遠(yuǎn)程控制系統(tǒng)?
如何去設(shè)計(jì)一種CAN總線遠(yuǎn)程控制系統(tǒng)網(wǎng)絡(luò)平臺(tái)?
基于CAN總線的嵌入式監(jiān)控系統(tǒng)中智能節(jié)點(diǎn)研究
基于IPv6的網(wǎng)絡(luò)家電遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
校園無(wú)線廣播系統(tǒng)的遠(yuǎn)程控制
基于IPv6的網(wǎng)絡(luò)家電遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
校園無(wú)線廣播智能遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

城市路燈遠(yuǎn)程控制系統(tǒng)解決方案

基于SJA1000的CAN網(wǎng)絡(luò)控制系統(tǒng)節(jié)點(diǎn)設(shè)計(jì)

智能遠(yuǎn)程控制校園無(wú)線廣播系統(tǒng)設(shè)計(jì)

汽車電子控制系統(tǒng)上的CAN總線通訊介紹

評(píng)論