新聞中心

對TTCAN的分析

作者: 時間:2008-06-26 來源:網(wǎng)絡 收藏

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

(2) 在惡劣環(huán)境下誤幀太多

  參考文獻[3]中, 用實驗方法得到CAN在惡劣環(huán)境下的誤碼率為2.6× 10-7。據(jù)文章作者認為,這是較為保守的估計,實際情況要好些。為了考察這個數(shù)據(jù)的有效性,我與該文作者進行了溝通,得到更為詳細的資料,見參考文獻[4]。根據(jù)這些資料,可以認為這個數(shù)據(jù)是一個與汽車現(xiàn)場接近的數(shù)據(jù),不能算作保守。其主要理由有:

 ?、?實驗的原始想法是只測來源于CAN電纜干擾的誤碼,所以把CAN發(fā)送和接收節(jié)點放在屏蔽箱內(nèi),用二條電纜傳送信號,一條在箱內(nèi),一條在箱外,通過比較從二條電纜收到的數(shù)據(jù)流,計算出誤碼率。但是將手機放在不帶屏蔽、不作雙絞的通信線上進行另外的實驗時,卻沒有任何出錯,說明來自空間的干擾影響很小。而實際惡劣環(huán)境下現(xiàn)場被測試設備的電源與干擾源的電源并不獨立。與此對比,認為出錯是通過電源傳導的,這與原始設想不同。
 ?、?實驗的惡劣環(huán)境是指電焊機工作時的干擾,并無具體的數(shù)量指標,無法與汽車的電源傳導干擾相比較(ISO7637)。實際上可能不如汽車電源干擾大。
 ?、?在電源傳導干擾下,造成誤碼計數(shù)的情形較復雜。它與可能的故障位置、CAN收發(fā)節(jié)點狀態(tài)有關(guān)。誤碼有多算也有少算的情形。
 ?、?電焊機是人工操作,通信實驗中干擾源只在部分時間存在,計算誤碼率的通信總量多算了。

  在此推定下,如假設的總線利用率為60%,通信速率為500 kbps,按照2.6×10-7的誤碼率,那么在1小時內(nèi)會有280.8個誤碼(500k×3 600×60%×2.6×10-7=280.8),約12.8秒1次。由于禁止出錯自動重發(fā),因此會大量丟幀。而對CAN來說,只要在12.8 s內(nèi)重發(fā)成功,就不會丟幀。TTCAN要回避這個問題,就要求更完善的抗干擾措施,這意味著成本的提高。

(3) 由預留Error Frame幀引起的開銷大

  TTCAN沒有禁止Error Frame,由于錯誤可能出現(xiàn)在任何時間,就可能發(fā)生在幀的最后處,每一個Slot都要預留Error Frame的時間,否則它會阻礙下一個Slot內(nèi)消息的發(fā)送,這是很大的開銷,使TTCAN遠達不到設想的100%的總線利用率。假定最小的數(shù)據(jù)幀為1B數(shù)據(jù),長為65位,而Error Frame為20位,那么這項開銷達到23.5%。

(4) Slot用途不同造成時間利用率低由

  于TTCAN規(guī)定調(diào)度好的Cycle中的Slot劃分是一樣的,但可能的用途不同。不同的Cycle同一Slot里可能安排了長短不一的消息,此時對短幀來說,留下的時間就浪費了。

(5) 事件消息被阻塞的延遲可能性增大

  在TTCAN中,由于調(diào)度結(jié)果造成幾個連續(xù)的Slot都是獨占窗,此時事件消息要等待的時間很長,必須有特別的設計加以處理。

(6) 網(wǎng)絡內(nèi)的時間同步要求較高

  用軟件來實現(xiàn)時就得留出時間以容許主從節(jié)點間的同步誤差,這就又減少了帶寬。如用Level 2的硬件實現(xiàn),就不可能馬上使成本低到與CAN一樣。實際上,置TTCAN于一種新的與CAN無關(guān)的總線的地位,要與其他總線作全面的比較,TTCAN就沒有其他總線好了。

(7) 丟幀處理兩難

  TTCAN在傳送出錯的情況下,不對本幀進行自動重發(fā)。在應用上要有所考慮?;蛘哂帽葘嶋H需要更多的發(fā)送,丟掉就算了的策略,這也會浪費帶寬;或者由應用層在仲裁窗組織重發(fā),但這相當復雜。如用冗余的第2條總線,意味著成本的加倍。

(8) 仲裁窗的要求較難實現(xiàn)

  在仲裁窗判斷事件消息能否發(fā)完,然后控制事件消息的發(fā)送是不容易實現(xiàn)的。用軟件來實時處理來不及,又沒有現(xiàn)成的硬件。

  另外,在對付CAN系統(tǒng)中Babbling idiot出錯方面,TTCAN沒有改進。

4 小結(jié)

  工業(yè)應用中可靠性是第一位的要求,出錯自動重發(fā)是CAN最有價值的部分;而TTCAN禁止出錯重發(fā),使它的抗干擾能力大打折扣,在應用上造成困難。在許多時間觸發(fā)協(xié)議中糾錯的方法都復雜得多,如TTP/C和FlexRay用2個通道傳送同樣的消息,只要不是2個通道同時出錯,消息就能送達,但是其代價是成本比單通道增加1倍。TTCAN也能構(gòu)造2個通道,也會面臨同樣的代價問題;而且2個通道同時出錯仍是有概率的,要重發(fā)又有時限等新的問題。因此在抗干擾方面,TTCAN沒有給出性價比合適的解決方案。現(xiàn)在CAN每年都有數(shù)億的節(jié)點產(chǎn)量,這說明用戶對它的可靠性的認同,而這種可靠性完全來源于CAN在數(shù)據(jù)鏈路層實現(xiàn)的出錯自動重發(fā)功能——干擾是客觀存在的,自動糾錯使用戶根本感覺不到有錯。比較所有的現(xiàn)場總線,糾錯的方法要比CAN復雜得多,應用就不方便,性價比下降。盡管FlexRay的拓撲結(jié)構(gòu)很多,有星型、總線型等,但設想用于替代CAN的只用1個通道的用法,可能會面臨TTCAN同樣的干擾丟幀問題;解決出錯重發(fā)的高層軟件并不成熟,也沒有標準化,因此目前不會構(gòu)成對CAN的威脅。

  TTCAN與CAN的不兼容,使它在經(jīng)濟上不能充分利用CAN的資源,所以它也不是CAN的好的升級方案。

作者: 重慶工業(yè)自動化儀表研究所 楊福宇


參考文獻

[1] Tindell K W, Burns A. Guaranteeing message latencies on Controller Area Network (CAN)[C]. In Proceedings of 1st International CAN Conference, pp. 111, September 1994.
[2] Fuhler T,et al. Time Triggered Communication on CAN[C]. Robert Bosch GmbH, Proceedings 7th International CAN Conference, Amsterdam, Holland, 2000.
[3] Ferreira J,Oliveira A,Fonseca P,et al. An experiment to assess bit error rate in CAN[C]. RTN 2004 3rd Int. Workshop on RealTime Networks sattelite held in conjunction with the 16th Euromicro Intl Conference on RealTime Systems, June 2004.
[4] Ferreira J. PhDjjcf_Charpter_4.pdf
[5] 楊福宇. 的局限[J]. 電子設計應用,2006(11):32, 34.

電焊機相關(guān)文章:電焊機原理

上一頁 1 2 下一頁

關(guān)鍵詞: TTCAN CAN總線

評論


相關(guān)推薦

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

關(guān)閉