新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN現(xiàn)場總線傳輸距離問題的兩種解決方案

CAN現(xiàn)場總線傳輸距離問題的兩種解決方案

作者: 時(shí)間:2016-12-13 來源:網(wǎng)絡(luò) 收藏
本文簡單介紹了CAN現(xiàn)場總線的來源、現(xiàn)狀及存在的問題;針對CAN現(xiàn)場總線傳輸距離存在的問題提出了兩個(gè)解決方案,并進(jìn)行了實(shí)驗(yàn)和比較,試驗(yàn)結(jié)果證明本文的方法提高了傳輸距離的可靠性。

1、CAN總線簡介

本文引用地址:http://butianyuan.cn/article/201612/329366.htm

  1.1CAN總線發(fā)展概況

  CAN網(wǎng)絡(luò)原本是德國Bosch公司為歐洲汽車市場所開發(fā)的,希望此項(xiàng)技術(shù)取代原本昂貴的汽車配線。CAN網(wǎng)絡(luò)具有反映可靠度高的特性,使用于實(shí)時(shí)處理的場合,例如汽車防鎖死系統(tǒng)、安全氣囊等。今天此項(xiàng)通訊協(xié)議已得到廣泛應(yīng)用,其特色不僅在汽車工業(yè),在工業(yè)控制的其他領(lǐng)域也發(fā)揮了其強(qiáng)大的能力。CAN 總線在國內(nèi)發(fā)展已經(jīng)二三十年了,很多關(guān)于CAN的產(chǎn)品也已經(jīng)開發(fā)和廣泛使用,如:變電廠、機(jī)場、污水處理廠等。

  1.2CAN總線存在的問題

  盡管CAN總線有很多優(yōu)點(diǎn),但是下面兩點(diǎn)卻制約著其發(fā)展,即:CAN總線的瓶頸問題。

 ?。?)傳輸距離最大只能達(dá)到10Km,而且并不是真正的可靠傳輸;

 ?。?)節(jié)點(diǎn)數(shù)量最多只能有110個(gè)。

  下面將針對CAN總線瓶頸問題(1)做詳細(xì)的討論。

2、針對CAN總線傳輸距離問題提出的方案

  2.1CAN總線結(jié)構(gòu)

  CAN總線系統(tǒng)一般連接結(jié)構(gòu)如圖(以芯片82C250為例)所示,R=120Ω。(注:圖中僅畫出了一個(gè)智能設(shè)備,實(shí)際中可以最多達(dá)110個(gè))


圖1CAN總線系統(tǒng)結(jié)構(gòu)示意圖

  CAN總線一般都是利用在環(huán)境比較惡劣,控制室與現(xiàn)場比較遠(yuǎn)的場合??偩€距離達(dá)到8Km以上時(shí),其單向線路電阻將達(dá)到100Ω,而兩端的終端電阻為120Ω(不考慮智能設(shè)備本身電阻,認(rèn)為其電阻為無限大)。其等效電路為圖2:


圖2CAN總線電路等效圖

  

  對于CAN接收器而言能夠識別的電壓要大于0.8V,一般為0.9V以上。

  2.2針對傳輸距離問題所作的嘗試方案

  從上面的電路圖以及數(shù)據(jù)分析可以看出:在距離偏遠(yuǎn)時(shí),總線線電壓已經(jīng)處于臨界識別狀態(tài),其數(shù)據(jù)很難正常接收(已經(jīng)沒有可靠性可言)。為此我們嘗試采用以下幾個(gè)方案進(jìn)行了實(shí)驗(yàn)。

  2.2.1在線路中直接加兩個(gè)發(fā)送芯片

  該方案就是在總線線路中直接加入兩個(gè)發(fā)送芯片(采用82C250為例)[3],并把發(fā)送芯片的管腳TXD和RXD對連。其連接電路如下:


圖3發(fā)送芯片連接電路圖

  整個(gè)電路看似很正常,把左邊的數(shù)據(jù)傳輸?shù)接疫?,右邊的?shù)據(jù)傳輸?shù)阶筮?,?shí)際上此電路是無法使用的。此電路接入總線后,只要在總線上有一個(gè)顯性電平出現(xiàn),那么整個(gè)電路將永遠(yuǎn)呈現(xiàn)顯性電平。原因在于每個(gè)期間都有延遲(雖然是僅僅幾個(gè)ns延遲),假設(shè)從電路左邊收到一個(gè)顯性電平,經(jīng)過左右兩個(gè)82C250 芯片延遲Tns后傳輸?shù)接疫匔AN總線,另外82C250芯片本身具有同時(shí)發(fā)送、接收功能,那么右邊的82C250芯片同時(shí)把右邊CAN總線的顯性電平又傳送到左邊,這樣就形成了一個(gè)回路,使得總線永遠(yuǎn)處于顯性狀態(tài)。

  2.2.2加入邏輯控制電路進(jìn)行隔離

  從上面可以看出,在發(fā)送數(shù)據(jù)時(shí)應(yīng)該防止數(shù)據(jù)重傳形成回路。為此我們做了如下規(guī)定:在有顯性電平時(shí)只能夠有一個(gè)方向傳輸(哪個(gè)方向先來顯性電平開通哪個(gè)方向,同時(shí)到來則選擇任一個(gè)方向開通);發(fā)送端顯性電平結(jié)束后,所有方向都停止T1時(shí)間(Tns

  利用CPLD很容易實(shí)現(xiàn)上面的規(guī)定邏輯。利用此方案把該電路先連接在總線10Km處,并在10Km不遠(yuǎn)處連接一個(gè)接收設(shè)備,實(shí)驗(yàn)?zāi)軌蚪邮照#⑶移浣邮斩丝偩€電壓差為1.32V,是單連設(shè)備接收電壓差的1.55倍。

  2.2.3線路中間加入CAN卡中轉(zhuǎn)實(shí)現(xiàn)遠(yuǎn)距離數(shù)據(jù)傳輸(中繼器

  在距離達(dá)到10Km時(shí),其接收數(shù)據(jù)不正常的原因是由于總線電壓差值較小的緣故。為此,有的采用升壓和降壓電路是不現(xiàn)實(shí)的,因?yàn)槊總€(gè)接收器都得加入一個(gè)調(diào)理電路,造價(jià)很明顯就上去了。另外,即使升壓了,由于CAN總線按照仲裁發(fā)送決定了總要遇到方案二中提到的由于延遲總線形成閉合回路的問題。

  為了達(dá)到遠(yuǎn)距離傳輸,可以在中間加入中繼器,相當(dāng)于把總線距離縮短了一倍。中繼器的結(jié)構(gòu)如下:

 
圖4中繼器結(jié)構(gòu)示意圖

  選擇使用兩個(gè)8031單片機(jī)目的在于能夠及時(shí)處理CAN總線上的數(shù)據(jù),使得設(shè)計(jì)也變得比較簡單,不需考慮CAN總線兩邊的數(shù)據(jù)發(fā)送沖突。只要每個(gè)單片機(jī)有1K的緩存就可以。

  具體實(shí)現(xiàn)思路:單片機(jī)接收CAN總線數(shù)據(jù),把數(shù)據(jù)進(jìn)行緩存,在空閑階段把數(shù)據(jù)傳輸?shù)搅硪粋€(gè)單片機(jī)(兩者之間通過SPI協(xié)議實(shí)現(xiàn)通信),同時(shí)把從另一個(gè)單片機(jī)傳輸來的數(shù)據(jù)發(fā)送出去。

  在實(shí)際的工程中我們是利用此方案實(shí)現(xiàn)遠(yuǎn)距離傳輸?shù)?,主要原因是可以滿足數(shù)據(jù)傳輸?shù)目煽啃裕么朔桨傅碾娐肺覀冞M(jìn)行過節(jié)點(diǎn)數(shù)達(dá)到100的測試,其性能正常、可靠,能夠滿足實(shí)際的需要。

3、總結(jié)

  本文的創(chuàng)新點(diǎn)提出了解決CAN現(xiàn)場總線傳輸遠(yuǎn)距離問題的可實(shí)施方案,第一個(gè)(加入邏輯電路)比較簡單,而且不用考慮數(shù)據(jù)存儲,僅僅是一個(gè)硬件實(shí)現(xiàn);而第二種(中繼器)要考慮數(shù)據(jù)存儲、判斷何時(shí)發(fā)送等情況,相對比較復(fù)雜,但可靠性要好些。兩個(gè)方案在承受負(fù)載方面能力差不多。

  CAN現(xiàn)場總線技術(shù)作為一種新型的總線技術(shù)由于其具有良好的故障隔離能力、網(wǎng)絡(luò)的實(shí)時(shí)響應(yīng)能力以及CAN具有良好地傳輸防錯(cuò)設(shè)計(jì)等,使其已經(jīng)成為現(xiàn)在最有前途的總線之一。



關(guān)鍵詞: CAN現(xiàn)場總線傳輸距

評論


技術(shù)專區(qū)

關(guān)閉