CAN(Devicenet,CANOpen)總線(xiàn)與光纖轉(zhuǎn)換
摘要:本文討論了基于CAN的現(xiàn)場(chǎng)總線(xiàn)如何使用光纖介質(zhì),及在使用光纖介質(zhì)時(shí)存在的技術(shù)問(wèn)題,以及解決這些問(wèn)題的方法.在本文中主要說(shuō)明了基于CAN的現(xiàn)場(chǎng)總線(xiàn)的速率與傳輸距離的關(guān)系,并提出了如何解決了高速率時(shí)長(zhǎng)距離傳輸?shù)募夹g(shù)瓶頸。
控制器局域網(wǎng)(CAN)為串行通訊協(xié)議,能有效地支持具有很?chē)軓V,從高速的網(wǎng)絡(luò)到低價(jià)位的多路接線(xiàn)都可以使用 CAN。但CAN總線(xiàn)的通信距離不僅受物理層(傳達(dá)室輸介質(zhì)及物理特性)的約速,同時(shí)也受總線(xiàn)協(xié)議的約速,下面是常用的通信速率與傳輸距離的關(guān)系(摘自<<現(xiàn)場(chǎng)總線(xiàn)及其應(yīng)用技術(shù)>>):
位速率(Kbps) 1000 500 250 125 100 50 20 10
---------------------------------------------------------------------------------------------------------
最大距離(米) 40 130 270 530 620 1300 3300 6700
由上面可知,如果采用光纖介質(zhì),總線(xiàn)的傳輸距離也同時(shí)受上述條件的限制,那么,現(xiàn)在市場(chǎng)上有的CAN總線(xiàn)到光纖纖的介質(zhì)轉(zhuǎn)換器宣稱(chēng)自已能使CAN總線(xiàn)傳輸10KM,或20KM等等,實(shí)際上都是不完全的,且不說(shuō)其實(shí)現(xiàn)的基理如何,單從傳輸距離上講,其條件是必須使用總線(xiàn)速率低于10Kbps.
下面是CAN2.0標(biāo)準(zhǔn)中的一些描述,說(shuō)明了產(chǎn)生這些約速的原因:
仲裁(Arbitration):
只要總線(xiàn)空閑,任何單元都可以開(kāi)始發(fā)送報(bào)文。如果 2 個(gè)或 2 個(gè)以上的單元同時(shí)開(kāi)始傳送報(bào)文,那么就會(huì)有總線(xiàn)訪(fǎng)問(wèn)沖突。通過(guò)使用識(shí)別符的位形式仲裁可以解決這個(gè)沖突。仲裁的機(jī)制確保信息和時(shí)間均不會(huì)損失。當(dāng)具有相同識(shí)別符的數(shù)據(jù)幀和遠(yuǎn)程幀同時(shí)初始化時(shí),數(shù)據(jù)幀優(yōu)先于遠(yuǎn)程幀。仲裁期間,每一個(gè)發(fā)送器都對(duì)發(fā)送位的電平與被監(jiān)控的總線(xiàn)電平進(jìn)行比較。如果電平相同,則這個(gè)單元可以繼續(xù)發(fā)送。如果發(fā)送的是一“隱性”電平而監(jiān)控視到一“顯性”電 ,那么該單元就失去了仲裁,必須退出發(fā)送狀態(tài)。
安全性(Safety):
為了獲得最安全的數(shù)據(jù)發(fā)送,CAN 的每一個(gè)節(jié)點(diǎn)均采取了強(qiáng)有力的措施以進(jìn)行錯(cuò)誤檢測(cè)、錯(cuò)誤標(biāo)定及誤自檢。
錯(cuò)誤檢測(cè)(Error Detection):
為了檢測(cè)錯(cuò)誤,必須采取以下措施:
- 監(jiān)視(發(fā)送器對(duì)發(fā)送位的電平與被監(jiān)控的總線(xiàn)電平進(jìn)行比較)
- 循環(huán)冗余檢查
- 位填充
- 報(bào)文格式檢查
錯(cuò)誤檢測(cè)的執(zhí)行(Performance of Error Detection):
錯(cuò)誤檢測(cè)的機(jī)制要具有以下的屬性:
- 檢測(cè)到所有的全局錯(cuò)誤
- 檢測(cè)到發(fā)送器所有的局部錯(cuò)誤
- 可以檢測(cè)到一報(bào)文里多達(dá)5個(gè)任意分布的錯(cuò)誤
- 檢測(cè)到一報(bào)文里長(zhǎng)度低于 15(位)的突發(fā)性錯(cuò)誤
- 檢測(cè)到一報(bào)文里任一奇數(shù)個(gè)的錯(cuò)誤
–11
對(duì)于沒(méi)有被檢測(cè)到的錯(cuò)誤報(bào)文,其殘余的錯(cuò)誤可能性概率低于:報(bào)文錯(cuò)誤率* 4.7 * 10 。
錯(cuò)誤標(biāo)定和恢復(fù)時(shí)間(Error Sinalling and Recovery Time):
任何檢測(cè)到錯(cuò)誤的節(jié)點(diǎn)會(huì)標(biāo)志出已損壞的報(bào)文。此報(bào)文會(huì)失效并將自動(dòng)地開(kāi)始重新傳送。如果不再出新錯(cuò)誤的話(huà),從檢測(cè)到錯(cuò)誤到下一報(bào)文的傳送開(kāi)始為止,恢復(fù)時(shí)間最多為 29 個(gè)位的時(shí)間。
應(yīng)答(Acknowledgment):
所有的接收器檢查報(bào)文的連貫性。對(duì)于連貫的報(bào)文,接收器應(yīng)答;對(duì)于不連貫的報(bào)文,接收器作出標(biāo)志。
由于CAN總線(xiàn)的協(xié)議特點(diǎn)同時(shí)也是CAN總線(xiàn)的主要優(yōu)點(diǎn)是總線(xiàn)仲裁與傳輸?shù)陌踩?應(yīng)答及錯(cuò)誤處理來(lái)保證),總線(xiàn)的仲裁與應(yīng)答機(jī)制對(duì)時(shí)間的要求決定了總線(xiàn)的傳輸距離同速率的關(guān)系.
基于上面的陳述,如果使用光纖傳輸CAN總線(xiàn),那必須解決總線(xiàn)的這些基本問(wèn)題:
1.如何在光纖中實(shí)現(xiàn)CAN協(xié)議的仲裁機(jī)制,光信號(hào)在光纖中只能單向傳輸(波分復(fù)用系統(tǒng)在一根光纖中雙向傳輸,但對(duì)于有效業(yè)務(wù)數(shù)據(jù)仍是單向的),而雙絞線(xiàn)的CAN信號(hào)是不分方向的,這種不分方向同時(shí)是一個(gè)穩(wěn)態(tài)的電平信號(hào)是實(shí)現(xiàn)仲裁的基礎(chǔ),那么如果光纖系統(tǒng)中能實(shí)現(xiàn)CAN總線(xiàn)仲裁機(jī)制,必須實(shí)現(xiàn)光纖中雙向信息無(wú)延時(shí)的雙向同步傳輸,這是當(dāng)前的信號(hào)流自動(dòng)方向識(shí)別無(wú)法做到的,因?yàn)樵谥俨眠^(guò)程中就不應(yīng)當(dāng)有信號(hào)的方向,而應(yīng)是雙向同時(shí)才可以。
2.如何在高速的CAN總線(xiàn)中使用光纖(如果僅在低速網(wǎng)絡(luò)中使用光纖,必要性明顯就小了很多),
對(duì)于這兩個(gè)問(wèn)題,下面是一種已有的解決方案:
勾股通信公司的CAN系列產(chǎn)品采用網(wǎng)橋的方式,完全實(shí)現(xiàn)了標(biāo)準(zhǔn)的CAN協(xié)議,并可以實(shí)現(xiàn)了光纖傳輸
勾股通信公司的CAN產(chǎn)品的光線(xiàn)路系統(tǒng)是一個(gè)大容量傳輸系統(tǒng),在本系統(tǒng)的光路上可以傳輸320K幀/秒的有效業(yè)務(wù)。并且在光纖傳輸?shù)闹虚g節(jié)點(diǎn)達(dá)到極小的延時(shí),可以確保光傳輸系統(tǒng)對(duì)CAN總線(xiàn)數(shù)據(jù)的實(shí)時(shí)性提供保證;同時(shí),高速的光傳輸系統(tǒng)可以實(shí)現(xiàn)CAN總線(xiàn)的突發(fā)數(shù)據(jù)傳輸:對(duì)于CAN總線(xiàn)系統(tǒng),速率越高,單位時(shí)間內(nèi)可傳送的數(shù)據(jù)幀數(shù)據(jù)越多,在125Kbps時(shí),CAN總線(xiàn)上可以傳輸約1K幀/秒;在500Kbps時(shí),CAN總線(xiàn)上可以傳輸約4K幀/秒;由此可知,本系統(tǒng)的光線(xiàn)路容量在總線(xiàn)速率500Kbps時(shí)可以容許有80個(gè)節(jié)點(diǎn)瞬間同時(shí)發(fā)數(shù)據(jù)而不會(huì)丟失(同時(shí)還因?yàn)镹S26系列產(chǎn)品的每個(gè)節(jié)點(diǎn)有128幀的發(fā)送緩沖區(qū),可以確保突發(fā)數(shù)據(jù)的存貯);在總線(xiàn)速率125Kbps時(shí)可以容許有320個(gè)節(jié)點(diǎn)瞬間同時(shí)發(fā)數(shù)據(jù)而不會(huì)丟失。如此大的節(jié)點(diǎn)數(shù)據(jù),幾乎可以達(dá)到所有用戶(hù)的要求。
對(duì)于CAN出現(xiàn)的突發(fā)數(shù)據(jù)流,本系統(tǒng)可以保證幾乎不會(huì)在光路上丟失,如果存在連續(xù)長(zhǎng)時(shí)間的大流量數(shù)據(jù)(相當(dāng)于總線(xiàn)太忙,應(yīng)當(dāng)優(yōu)化方案設(shè)計(jì)),NS26系列產(chǎn)品的發(fā)送器將會(huì)產(chǎn)生發(fā)送緩沖器溢出,為提高傳輸?shù)目煽啃裕鞠到y(tǒng)采用專(zhuān)有技術(shù)---基于幀的負(fù)壓流量控制算法(FRR)---來(lái)提高系統(tǒng)傳輸?shù)目煽啃?。?dāng)總線(xiàn)的有持續(xù)的大流量數(shù)據(jù)時(shí),本系統(tǒng)會(huì)根據(jù)流量統(tǒng)計(jì)大小適當(dāng)丟棄優(yōu)先級(jí)較低的傳輸幀,以確保對(duì)高優(yōu)先級(jí)數(shù)據(jù)的可靠性傳輸。
由上面可知,采用現(xiàn)有的橋式中繼的原理實(shí)現(xiàn)光纖轉(zhuǎn)換是一個(gè)很好解決應(yīng)用中這一問(wèn)題的方法.
提交
勾股通信:可任意定制的IP核-CAN控制器(軟件產(chǎn)品)
勾股通信:協(xié)議型CAN總線(xiàn)橋式光纖中繼器
勾股通信:協(xié)議型CANOpen總線(xiàn)橋式光纖中繼器
勾股通信:協(xié)議型DeviceNet總線(xiàn)橋式光纖中繼器
勾股通信 NS28x6 協(xié)議型CANOpen總線(xiàn)橋式中繼器